Commit Graph

249 Commits

Author SHA1 Message Date
Anton Lydike
761799c17a Parser: fixes #13 - implicit start of text section when parsing assembly
When an assembly file starts with instructions without explicitly
declaring any section beforehand, a .text section will be created
implicitly.
2022-04-08 20:54:40 +02:00
Anton Lydike
baf4485143 release of 2.0.1 2022-04-01 14:46:20 +02:00
Anton Lydike
4d2d65a10d fixed type annotations type in parsers 2022-04-01 13:30:55 +02:00
Anton Lydike
d18843a88b release of 2.0.0 2022-03-31 22:49:45 +02:00
Anton Lydike
4b77ce05a7
Merge pull request #5 from AntonLydike/assembly-parser-rework
- Completely revamped parsing of readable assembly
 - Completely revamped internal types
 - Added hard and correct 32 bit integer handling in registers
2022-03-31 22:47:55 +02:00
Anton Lydike
fe4b3efb6f fixes #10 - fixed how preconfigured memory is handled 2022-03-31 22:46:23 +02:00
Anton Lydike
663721b306 pre-release 2.0.0a4 2022-03-28 00:04:50 +02:00
Anton Lydike
4004c5ee6d squashing bugs related to Int32 wrapping and sign extension 2022-03-27 23:50:28 +02:00
Anton Lydike
c2b6385523 version 2.0.0a3 2022-03-27 22:10:20 +02:00
Anton Lydike
b7f1365155 ported syscalls to Int32 usage and removed unecessary prints 2022-03-27 22:00:22 +02:00
Anton Lydike
fa4a9b92f3 fixed imports in types/instruction_memory_section 2022-03-27 20:26:09 +02:00
Anton Lydike
57f827ba6a updated version to 2.0.0a2 2022-03-27 20:24:26 +02:00
Anton Lydike
61540dfcb7 [docs] improved documentation build 2022-03-27 20:23:10 +02:00
Anton Lydike
b5e20ed39b added docstrings to Int32 and UInt32 classes 2022-03-27 20:22:31 +02:00
Anton Lydike
4ca475da69 improved the MMU.translate_address function 2022-03-27 20:22:11 +02:00
Anton Lydike
cc3df91fd1 [restructured] moved more types and exceptions to riscemu.types 2022-03-27 19:11:10 +02:00
Anton Lydike
bc26ed3a02 [restructured] moved all simple type definitions into riscemu.types 2022-03-27 19:06:23 +02:00
Anton Lydike
254410e9cc [priv] fixed error in halt csr 2022-03-27 18:45:59 +02:00
Anton Lydike
26d0a165f7 [priv] added --slowdown flag to slow down emulated clock speed 2022-03-27 18:45:28 +02:00
Anton Lydike
cadccaef00 [priv] fixed printing for mret, sret and uret 2022-03-27 18:44:41 +02:00
Anton Lydike
71093fe72f Maor round of bugfixes and incremental improvements
- fixed errors in TextIO and IOModule
 - moved to Int32 and UInt32 based arithmetic
 - added a lot of end-to-end and other tests
2022-03-27 15:21:10 +02:00
Anton Lydike
cd5795bb74 fixed priv start code, added tests 2022-02-18 10:17:12 +01:00
Anton Lydike
4f1c73df9e various small bugfixes 2022-02-13 19:44:56 +01:00
Anton Lydike
881f4004ed fixed removed argparse line in riscemu.__init__.py 2022-02-13 19:43:44 +01:00
Anton Lydike
6fa3558f6c added interactive mode, fixed some bugs 2022-02-13 14:55:03 +01:00
Anton Lydike
3d2619c258 created a better output for reads/writes outside of known regions 2022-02-11 20:29:11 +01:00
Anton Lydike
185ae8b94e added config and better loading code to CPU base 2022-02-11 20:25:19 +01:00
Anton Lydike
2880a59dbb fixed ascii escape sequences and section address calculation 2022-02-11 18:53:26 +01:00
Anton Lydike
7904a4dae8 added verbosity control to user mode emulator 2022-02-11 18:31:23 +01:00
Anton Lydike
b396e0c5eb user mode emulator finally working again 2022-02-11 18:27:10 +01:00
Anton Lydike
5538034f8b started with base type overhaul 2022-02-11 13:32:02 +01:00
Anton Lydike
0488a9d6bc finished basic RISC-V parser 2022-01-18 21:08:07 +01:00
Anton Lydike
dc4dca6fea [wip] almost done with the rework of the parser and internal data structure representation of programs 2021-12-18 00:25:39 +01:00
Anton Lydike
84562de98f added tests for tokenizer 2021-12-14 07:33:17 +01:00
Anton Lydike
d5a4acef67 tokenizer reimplemented 2021-12-13 23:23:55 +01:00
Anton Lydike
52e189c226 fixed missing newline at the end of the file 2021-12-10 13:46:57 +01:00
Anton Lydike
b317974dcc made sure register values adhere to correct 32bit two's complement standard - fixes #4 2021-12-10 13:25:22 +01:00
Anton Lydike
a0259707b2 Released v1.0.0 to PyPi 2021-12-05 21:17:05 +01:00
Anton Lydike
e65775774a extended userspace RV32I with li, la and mv instruction 2021-12-05 16:45:06 +01:00
Anton Lydike
e9c11e9a41 added correct instruction printing 2021-11-16 08:02:27 +01:00
Anton Lydike
0b34aea520
Merge pull request #1 from AntonLydike/kernel-mode
Adding limited privileged emulation using the `riscemu.priv` module
2021-10-10 19:58:35 +02:00
Anton Lydike
7ab3f8361d code cleanup to increase visibility 2021-09-30 22:04:49 +02:00
Anton Lydike
d09b7a5cb1 overhaul of debugging info printing 2021-09-30 21:54:50 +02:00
Anton Lydike
d0c5abe845 added a whole lot of debugging info for privileged emulation 2021-09-30 20:58:44 +02:00
Anton Lydike
3d4d36bfe4 moved dependency on pyelftools into scoped function where it's used to reduce the number of dependencies required overall 2021-09-03 15:01:55 +02:00
Anton Lydike
0c96a87dcb added RV32A extension, only missing LR.W and SC.W 2021-09-03 14:59:34 +02:00
Anton Lydike
3033eb9985 tranlsation from absolute addressed to symbol-relative names for debugging 2021-08-30 20:10:22 +02:00
Anton Lydike
ca71e196c2 added verbose flag and improved verbose output 2021-08-30 19:40:13 +02:00
Anton Lydike
f2d07f90b5 priv: added __main__ script to module which correctly configures the cpu depending on --kernel or --image options 2021-08-30 15:40:13 +02:00
Anton Lydike
0651eabe18 fixed how ecalls are represented and handled 2021-08-30 15:09:31 +02:00