soc.git
4 years agoAdd many more operators to selectable_int
Michael Nolan [Wed, 1 Apr 2020 18:37:32 +0000 (14:37 -0400)]
Add many more operators to selectable_int

4 years agoselectable_int now in power ordering, add setitem
Michael Nolan [Wed, 1 Apr 2020 18:22:28 +0000 (14:22 -0400)]
selectable_int now in power ordering, add setitem

4 years agoAdd rudimentary int class with bit index
Michael Nolan [Wed, 1 Apr 2020 18:07:14 +0000 (14:07 -0400)]
Add rudimentary int class with bit index

This needs to be changed to have the PPC bit ordering

4 years agoadd bit of code ready for IntClass with an eq function
Luke Kenneth Casson Leighton [Wed, 1 Apr 2020 15:43:16 +0000 (16:43 +0100)]
add bit of code ready for IntClass with an eq function

4 years agomove demo code for lexer
Luke Kenneth Casson Leighton [Wed, 1 Apr 2020 15:30:31 +0000 (16:30 +0100)]
move demo code for lexer

4 years agosplit parser into separate module
Luke Kenneth Casson Leighton [Wed, 1 Apr 2020 15:27:23 +0000 (16:27 +0100)]
split parser into separate module

4 years agomove IndentLexer to separate module
Luke Kenneth Casson Leighton [Wed, 1 Apr 2020 15:24:18 +0000 (16:24 +0100)]
move IndentLexer to separate module

4 years agoFix bug in test_decoder_gas
Michael Nolan [Wed, 1 Apr 2020 14:52:36 +0000 (10:52 -0400)]
Fix bug in test_decoder_gas

4 years agoupdate README for install process
Luke Kenneth Casson Leighton [Wed, 1 Apr 2020 13:41:02 +0000 (14:41 +0100)]
update README for install process

4 years agoadd libreriscv as submodule
Luke Kenneth Casson Leighton [Wed, 1 Apr 2020 13:39:20 +0000 (14:39 +0100)]
add libreriscv as submodule

4 years agosemi-functional prototype which reads code-fragments and does "stuff"
Luke Kenneth Casson Leighton [Wed, 1 Apr 2020 13:35:17 +0000 (14:35 +0100)]
semi-functional prototype which reads code-fragments and does "stuff"

4 years agoadd .eggs to .gitignore
Jacob Lifshay [Wed, 1 Apr 2020 01:58:37 +0000 (18:58 -0700)]
add .eggs to .gitignore

4 years agoMinor cleanup
Michael Nolan [Tue, 31 Mar 2020 14:19:06 +0000 (10:19 -0400)]
Minor cleanup

4 years agoAdd more comments to helpers.py
Michael Nolan [Mon, 30 Mar 2020 23:57:14 +0000 (19:57 -0400)]
Add more comments to helpers.py

4 years agoidentify GPR read and add some helpers
Luke Kenneth Casson Leighton [Tue, 31 Mar 2020 15:30:37 +0000 (16:30 +0100)]
identify GPR read and add some helpers

4 years agoassume 32-to-64 bit zero-extension
Luke Kenneth Casson Leighton [Tue, 31 Mar 2020 15:29:00 +0000 (16:29 +0100)]
assume 32-to-64 bit zero-extension

4 years agosplit out sig set from sig setup
Luke Kenneth Casson Leighton [Tue, 31 Mar 2020 15:19:39 +0000 (16:19 +0100)]
split out sig set from sig setup

4 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Tue, 31 Mar 2020 13:04:52 +0000 (14:04 +0100)]
whitespace cleanup

4 years agoadd list of gprs which need to access GPR functions (code-rewrite)
Luke Kenneth Casson Leighton [Tue, 31 Mar 2020 13:03:37 +0000 (14:03 +0100)]
add list of gprs which need to access GPR functions (code-rewrite)

4 years agoadd sigdecoder
Luke Kenneth Casson Leighton [Tue, 31 Mar 2020 13:03:05 +0000 (14:03 +0100)]
add sigdecoder

4 years agoAdd tests for EXTS64, fix EXTS64
Michael Nolan [Mon, 30 Mar 2020 23:45:31 +0000 (19:45 -0400)]
Add tests for EXTS64, fix EXTS64

4 years agoAdd ROTL32 and ROTL64
Michael Nolan [Mon, 30 Mar 2020 23:35:45 +0000 (19:35 -0400)]
Add ROTL32 and ROTL64

4 years agoBegin adding helper functions for PPC pseudocode compiler
Michael Nolan [Mon, 30 Mar 2020 23:15:03 +0000 (19:15 -0400)]
Begin adding helper functions for PPC pseudocode compiler

4 years agoFix bug in GAS test where it would load and update the same register
Michael Nolan [Mon, 30 Mar 2020 17:04:19 +0000 (13:04 -0400)]
Fix bug in GAS test where it would load and update the same register

4 years agoFix tests broken by df295b5
Michael Nolan [Mon, 30 Mar 2020 17:03:59 +0000 (13:03 -0400)]
Fix tests broken by df295b5

4 years agoMinor cleanup
Michael Nolan [Mon, 30 Mar 2020 17:03:33 +0000 (13:03 -0400)]
Minor cleanup

4 years agobit of a mess, turn lexer and parser into classes
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 15:54:58 +0000 (16:54 +0100)]
bit of a mess, turn lexer and parser into classes

4 years agoadd signals for all fields, accessible by named tuples as fields
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 15:06:33 +0000 (16:06 +0100)]
add signals for all fields, accessible by named tuples as fields

4 years agoadd binary number support
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 14:50:23 +0000 (15:50 +0100)]
add binary number support

4 years agouse = rather than == for compare
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 12:13:44 +0000 (13:13 +0100)]
use = rather than == for compare

4 years agoWIP: Replace fields in power_decoder with signals of the same name
Michael Nolan [Mon, 30 Mar 2020 14:04:42 +0000 (10:04 -0400)]
WIP: Replace fields in power_decoder with signals of the same name

4 years agoadd break (leave) statement
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 12:10:54 +0000 (13:10 +0100)]
add break (leave) statement

4 years agosigh add in do while syntax
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 12:05:36 +0000 (13:05 +0100)]
sigh add in do while syntax

4 years agoadd support for for-loops
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 11:19:25 +0000 (12:19 +0100)]
add support for for-loops

4 years agoadd token-preprocessing step to make code look more like python
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 11:03:04 +0000 (12:03 +0100)]
add token-preprocessing step to make code look more like python

4 years agoget if/else comparisons working with python3
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 10:30:34 +0000 (11:30 +0100)]
get if/else comparisons working with python3

4 years agoadd concatenation of signals (by way of global function, "concat")
Luke Kenneth Casson Leighton [Mon, 30 Mar 2020 10:19:36 +0000 (11:19 +0100)]
add concatenation of signals (by way of global function, "concat")

4 years agoannoying. convert to python3
Luke Kenneth Casson Leighton [Sun, 29 Mar 2020 20:54:48 +0000 (21:54 +0100)]
annoying.  convert to python3

4 years agoUpdate proof_decoder2 to handle signed immediates
Michael Nolan [Sun, 29 Mar 2020 17:54:17 +0000 (13:54 -0400)]
Update proof_decoder2 to handle signed immediates

4 years agoFix issue 271, remove unneeded fields in power_fieldsn.py
Michael Nolan [Sun, 29 Mar 2020 17:50:51 +0000 (13:50 -0400)]
Fix issue 271, remove unneeded fields in power_fieldsn.py

4 years agoadd listmaker
Luke Kenneth Casson Leighton [Sun, 29 Mar 2020 13:43:41 +0000 (14:43 +0100)]
add listmaker

4 years agostart to convert to POWER decoder, add slice/subscript
Luke Kenneth Casson Leighton [Sun, 29 Mar 2020 12:20:57 +0000 (13:20 +0100)]
start to convert to POWER decoder, add slice/subscript

4 years agoadd while statement to GardenSnake. cute!
Luke Kenneth Casson Leighton [Sun, 29 Mar 2020 11:34:02 +0000 (12:34 +0100)]
add while statement to GardenSnake.  cute!

4 years agoadd support for ELSE statement, enable debug etc.
Luke Kenneth Casson Leighton [Sun, 29 Mar 2020 10:52:40 +0000 (11:52 +0100)]
add support for ELSE statement, enable debug etc.

4 years agoadd ply to dependencies
Luke Kenneth Casson Leighton [Sun, 29 Mar 2020 10:21:30 +0000 (11:21 +0100)]
add ply to dependencies

4 years agoadd first python-ply recovered working version of GardenSnake.py since 2006!
Luke Kenneth Casson Leighton [Sun, 29 Mar 2020 10:14:32 +0000 (11:14 +0100)]
add first python-ply recovered working version of GardenSnake.py since 2006!

4 years agoadd TODO for cry_in==CA
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 20:31:06 +0000 (20:31 +0000)]
add TODO for cry_in==CA

4 years agoadd TODO for cry_in==CA
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 20:30:51 +0000 (20:30 +0000)]
add TODO for cry_in==CA

4 years agofix 1-overflow
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 16:56:53 +0000 (16:56 +0000)]
fix 1-overflow

4 years agobrackets to be safe
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 16:54:54 +0000 (16:54 +0000)]
brackets to be safe

4 years agoAdd tests for subfic and neg
Michael Nolan [Thu, 26 Mar 2020 14:55:24 +0000 (10:55 -0400)]
Add tests for subfic and neg

4 years agoSub instruction working
Michael Nolan [Thu, 26 Mar 2020 14:41:17 +0000 (10:41 -0400)]
Sub instruction working

4 years agoadd newline to stop gnu-as whining
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 11:42:56 +0000 (11:42 +0000)]
add newline to stop gnu-as whining

4 years agoseeing spurious failures on gdb connection
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 11:35:55 +0000 (11:35 +0000)]
seeing spurious failures on gdb connection

4 years agomissed cd build
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 11:16:05 +0000 (11:16 +0000)]
missed cd build

4 years agoadd README describing build process for simulator (gdb ppc)
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 11:08:29 +0000 (11:08 +0000)]
add README describing build process for simulator (gdb ppc)

4 years agoadd pygdbmi to dependencies
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 11:03:28 +0000 (11:03 +0000)]
add pygdbmi to dependencies

4 years agowait for communication with closing program and close the stdin/out pipes
Luke Kenneth Casson Leighton [Thu, 26 Mar 2020 11:01:33 +0000 (11:01 +0000)]
wait for communication with closing program and close the stdin/out pipes

4 years agoDirectly compare simulator with qemu
Michael Nolan [Wed, 25 Mar 2020 22:38:18 +0000 (18:38 -0400)]
Directly compare simulator with qemu

I'm getting an error where it says some files are still open, but I
can't figure out what they are

4 years agoAssemble whole program instead of instruction by instruction
Michael Nolan [Wed, 25 Mar 2020 21:16:07 +0000 (17:16 -0400)]
Assemble whole program instead of instruction by instruction

4 years agoAdd rudimentary python qemu interface
Michael Nolan [Wed, 25 Mar 2020 20:44:17 +0000 (16:44 -0400)]
Add rudimentary python qemu interface

4 years agoAdd instructions for how to launch qemu
Michael Nolan [Wed, 25 Mar 2020 17:26:15 +0000 (13:26 -0400)]
Add instructions for how to launch qemu

4 years agoAdd qemu test directory
Michael Nolan [Wed, 25 Mar 2020 17:23:16 +0000 (13:23 -0400)]
Add qemu test directory

4 years agochange name of test function in addr_split
Luke Kenneth Casson Leighton [Tue, 24 Mar 2020 11:14:13 +0000 (11:14 +0000)]
change name of test function in addr_split

4 years agowhitespace
Luke Kenneth Casson Leighton [Tue, 24 Mar 2020 10:59:18 +0000 (10:59 +0000)]
whitespace

4 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Tue, 24 Mar 2020 10:57:56 +0000 (10:57 +0000)]
whitespace cleanup

4 years agoadd cross-references to bugreports and wiki
Luke Kenneth Casson Leighton [Tue, 24 Mar 2020 10:26:10 +0000 (10:26 +0000)]
add cross-references to bugreports and wiki

4 years agoadd routing of store data through splitters
Luke Kenneth Casson Leighton [Tue, 24 Mar 2020 10:24:02 +0000 (10:24 +0000)]
add routing of store data through splitters

4 years agomove ashift out to common area
Luke Kenneth Casson Leighton [Tue, 24 Mar 2020 10:13:24 +0000 (10:13 +0000)]
move ashift out to common area

4 years agoImplement load and store of bytes, halfwords, and words
Michael Nolan [Mon, 23 Mar 2020 20:01:10 +0000 (16:01 -0400)]
Implement load and store of bytes, halfwords, and words

4 years agoProperly sign extend immediates
Michael Nolan [Mon, 23 Mar 2020 18:40:22 +0000 (14:40 -0400)]
Properly sign extend immediates

4 years agoFix broken test
Michael Nolan [Mon, 23 Mar 2020 18:24:20 +0000 (14:24 -0400)]
Fix broken test

4 years agoAdd support for extended/indexed ld/st
Michael Nolan [Mon, 23 Mar 2020 15:46:36 +0000 (11:46 -0400)]
Add support for extended/indexed ld/st

4 years agohmm start adding st in (half done)
Luke Kenneth Casson Leighton [Mon, 23 Mar 2020 18:05:23 +0000 (18:05 +0000)]
hmm start adding st in (half done)

4 years agoAdd memory loads and stores to simulator
Michael Nolan [Mon, 23 Mar 2020 14:53:53 +0000 (10:53 -0400)]
Add memory loads and stores to simulator

4 years agoBegin adding backend simulator
Michael Nolan [Mon, 23 Mar 2020 14:21:44 +0000 (10:21 -0400)]
Begin adding backend simulator

4 years agoMove gnu assembler interface to separate file
Michael Nolan [Mon, 23 Mar 2020 13:41:35 +0000 (09:41 -0400)]
Move gnu assembler interface to separate file

4 years agosplit sim classes out into separate module
Luke Kenneth Casson Leighton [Mon, 23 Mar 2020 13:46:19 +0000 (13:46 +0000)]
split sim classes out into separate module

4 years agoadd twin partial address mapper class
Luke Kenneth Casson Leighton [Mon, 23 Mar 2020 10:05:22 +0000 (10:05 +0000)]
add twin partial address mapper class
designed to be used with LDSTSplitter which creates two addresses for
misaligned LD/STs across cache-lines

4 years agosort out unit test for address split
Luke Kenneth Casson Leighton [Mon, 23 Mar 2020 09:24:06 +0000 (09:24 +0000)]
sort out unit test for address split

4 years agoget AddrSplitter working for data len=8
Luke Kenneth Casson Leighton [Sun, 22 Mar 2020 14:38:37 +0000 (14:38 +0000)]
get AddrSplitter working for data len=8

4 years agoworking on simulation to test Address Splitter
Luke Kenneth Casson Leighton [Sun, 22 Mar 2020 13:56:46 +0000 (13:56 +0000)]
working on simulation to test Address Splitter

4 years agolink up output from ld1/ld2 and merge into request
Luke Kenneth Casson Leighton [Sun, 22 Mar 2020 12:34:01 +0000 (12:34 +0000)]
link up output from ld1/ld2 and merge into request

4 years agostart putting LDSTSplitter together
Luke Kenneth Casson Leighton [Sun, 22 Mar 2020 11:33:44 +0000 (11:33 +0000)]
start putting LDSTSplitter together

4 years agoset bigendian=1 in formal proofs of decoder (TODO: bigendian=0)
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 19:02:18 +0000 (19:02 +0000)]
set bigendian=1 in formal proofs of decoder (TODO: bigendian=0)

4 years agowhoops cut/paste error
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 18:58:39 +0000 (18:58 +0000)]
whoops cut/paste error

4 years agostart on address splitter, idea is to use Queues
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 18:55:33 +0000 (18:55 +0000)]
start on address splitter, idea is to use Queues

4 years agomention instruction fetch mapping section
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 12:12:00 +0000 (12:12 +0000)]
mention instruction fetch mapping section

4 years agoshorten variables, add comments
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 11:48:14 +0000 (11:48 +0000)]
shorten variables, add comments

4 years agoadd option to switch endianness on gnu as
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 11:46:11 +0000 (11:46 +0000)]
add option to switch endianness on gnu as

4 years agoadd big/little byte-reversing
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 11:08:29 +0000 (11:08 +0000)]
add big/little byte-reversing

4 years agoFix proof_decoder2
Michael Nolan [Fri, 20 Mar 2020 14:50:47 +0000 (10:50 -0400)]
Fix proof_decoder2

4 years agoDelete log messages in power_fields and power_fieldsn
Michael Nolan [Fri, 20 Mar 2020 14:41:18 +0000 (10:41 -0400)]
Delete log messages in power_fields and power_fieldsn

4 years agoMinor cleanup
Michael Nolan [Fri, 20 Mar 2020 14:40:54 +0000 (10:40 -0400)]
Minor cleanup

4 years agoAdd test for branch to lr/ctr
Michael Nolan [Fri, 20 Mar 2020 14:38:28 +0000 (10:38 -0400)]
Add test for branch to lr/ctr

4 years agoAdd tests for branch instructions
Michael Nolan [Fri, 20 Mar 2020 14:17:11 +0000 (10:17 -0400)]
Add tests for branch instructions

4 years agoAdd test for rotate/shift instructions
Michael Nolan [Fri, 20 Mar 2020 14:07:53 +0000 (10:07 -0400)]
Add test for rotate/shift instructions

4 years agoRemove unneeded condition register decoder
Michael Nolan [Fri, 20 Mar 2020 13:57:27 +0000 (09:57 -0400)]
Remove unneeded condition register decoder

4 years agoAdd test for cmp with register
Michael Nolan [Thu, 19 Mar 2020 19:21:43 +0000 (15:21 -0400)]
Add test for cmp with register

4 years agoAdd tests for load/store with immediate offset
Michael Nolan [Thu, 19 Mar 2020 18:48:31 +0000 (14:48 -0400)]
Add tests for load/store with immediate offset