Commit Graph

311 Commits (master)
 

Author SHA1 Message Date
Anton Lydike e65775774a extended userspace RV32I with li, la and mv instruction 3 years ago
Anton Lydike e9c11e9a41 added correct instruction printing 3 years ago
Anton Lydike 0b34aea520
Merge pull request #1 from AntonLydike/kernel-mode
Adding limited privileged emulation using the `riscemu.priv` module
3 years ago
Anton Lydike 7ab3f8361d code cleanup to increase visibility 3 years ago
Anton Lydike d09b7a5cb1 overhaul of debugging info printing 3 years ago
Anton Lydike d0c5abe845 added a whole lot of debugging info for privileged emulation 3 years ago
Anton Lydike 3d4d36bfe4 moved dependency on pyelftools into scoped function where it's used to reduce the number of dependencies required overall 3 years ago
Anton Lydike 0c96a87dcb added RV32A extension, only missing LR.W and SC.W 3 years ago
Anton Lydike 3033eb9985 tranlsation from absolute addressed to symbol-relative names for debugging 3 years ago
Anton Lydike ca71e196c2 added verbose flag and improved verbose output 3 years ago
Anton Lydike f2d07f90b5 priv: added __main__ script to module which correctly configures the cpu depending on --kernel or --image options 3 years ago
Anton Lydike 0651eabe18 fixed how ecalls are represented and handled 3 years ago
Anton Lydike 684c858300 added support for IO modules 3 years ago
Anton Lydike df9e610d14 forgot to commit image loader code 3 years ago
Anton Lydike 1f03449694 added memory image support to priv emulator 3 years ago
Anton Lydike 4c352d8567 [MMU] caching last used code section 3 years ago
Anton Lydike e8685af328 [PrivMMU] cleaned up file formatting 3 years ago
Anton Lydike 3d07c97a52 [PrivCPU] improved step function performance by checking time every tenth cycle 3 years ago
Anton Lydike 60a2a8d546 [CSR] adding cache to mstatus register 3 years ago
Anton Lydike 6b4f38d030 [ElfLoader] added cache for already decoded instructions 3 years ago
Anton Lydike 05c17bc029 [PrivCPU] fixed debugger skipping over ebreak instructions 3 years ago
Anton Lydike baa1f24eb7 [CpuTraps] fixed formatting for mcause registers 3 years ago
Anton Lydike 777717ed2e [PrivRV32I] fixed csrrw instruction to correctly switch register contents 3 years ago
Anton Lydike c7b3693740 [Regsietrs] ensuring register values are 32bit 3 years ago
Anton Lydike cc598c0910 [PrivCPU] changed timer compare to lower equals to trigger exactly on time 3 years ago
Anton Lydike affaa60d22 [PrivCPU] adding performance counter 3 years ago
Anton Lydike 48ce44993b [CSR] Adding dump_mstatus method to csr 3 years ago
Anton Lydike 639f91b192 [decoder] removed sign extension for CSR type instructions 3 years ago
Anton Lydike c25b9f2343 [PrivCPU] implemented CPU interrupt handling context switch 3 years ago
Anton Lydike 4c7f3ffe67 [PrivCPU] fixed perf-counter not comparing against shifted time 3 years ago
Anton Lydike c2002cd46d [PrivCPU] fixed naming for csr mtimecmp callback function 3 years ago
Anton Lydike 5b2b12507d [PrivRV32I] added half od csrrs instruction (reading only) 3 years ago
Anton Lydike 052ad56310 [CSR] fixed call to enum value member 3 years ago
Anton Lydike d9e5d78f87 [Registers] removed info when writing to zero register 3 years ago
Anton Lydike 79d913baaf [decoder] fixed formatting in print_ins function 3 years ago
Anton Lydike 9278235e44 [decoder] fixed botched j immediate decoding 3 years ago
Anton Lydike 6351f1e84d [PrivRV32I] fixed bug with blt backwards jumps missing by one 3 years ago
Anton Lydike f14bd2b983 [PrivCPU, PrivRV32I] fixed bug where ebreaks where missed during debugging 4 years ago
Anton Lydike c1110b9ce3 [ElfLoader] better formatting for jump and load/store instructions 4 years ago
Anton Lydike 37910018b9 [PrivRV32I] finally correct parsing of load/store instruction args 4 years ago
Anton Lydike e4537f86d9 [PrivRV32I] implemented csrrwi instruction 4 years ago
Anton Lydike c770cc05cf [Priv Exceptions] added __str__ as __repr__ alias to CpuTrap to correctly format exceptions when printed 4 years ago
Anton Lydike 3e4920f5d9 [decoder] fixed bug when decoding add/sub instruction 4 years ago
Anton Lydike 849d5f4fc3 [decoder, ElfLoader] decoing an instruction now returns all args as int 4 years ago
Anton Lydike f9b0bac245 [Priv Exceptions] fixed constructor typo in TimerInterrupt 4 years ago
Anton Lydike 9424390b65 [decoder] Added mret, sret, uret, wfi instruction decoding support 4 years ago
Anton Lydike 198d14d5fb [Priv Exceptions] added __repr__ to CpuTrap class 4 years ago
Anton Lydike ca3b4099d4 [Priv] moved CSR constants to a separate file 4 years ago
Anton Lydike 79369889f4 [CSR] fixed method naming for _addr_to_name (now _name_to_addr) 4 years ago
Anton Lydike de261c4c43 [Priv] overhauled instruction architecture 4 years ago