Commit Graph

151 Commits

Author SHA1 Message Date
504407c0d9 [CSR] adding callbacks to each csr block 2021-05-24 14:34:35 +02:00
Anton Lydike
db2b0b314b [PrivCPU, PrivRV32I] fix for relative jumps and branches 2021-05-24 10:08:53 +02:00
Anton Lydike
6bd5cd1598 [ElfLoader] better formatting for load and save instructions 2021-05-24 10:08:01 +02:00
Anton Lydike
ed6912a060 [ElfLoader] added bounds check to elf loader and casting binary data to bytearray 2021-05-24 10:07:21 +02:00
Anton Lydike
55be71dcc3 [CSR] added time and timeh csr codes 2021-05-24 10:05:34 +02:00
Anton Lydike
3a79bfdada [ElfLoader] also loading .sdata and .sbss sections now 2021-05-23 12:59:59 +02:00
Anton Lydike
3f11cd84ca [decoder] fixed error with decoding slli type instructions 2021-05-23 12:58:47 +02:00
Anton Lydike
f3959be843 [decoder] now returning instruction number as third return value 2021-05-23 10:44:27 +02:00
Anton Lydike
0475d8d384 [CPU] added instruction XLEN attribute to CPU class to support multiple instruction lengths 2021-05-23 10:42:04 +02:00
Anton Lydike
c9a136d595 [instructions] fixed error in auipc command 2021-05-22 21:05:14 +02:00
Anton Lydike
ee0aac30c4 [instructions] moved regs and mmu to properties to work with janky PrivCPU 2021-05-22 21:04:43 +02:00
Anton Lydike
1bdf2e6efe [mmu] fixed typo in docstring 2021-05-22 21:03:56 +02:00
Anton Lydike
c48a5efee3 [cpu] fixed formatting to include cpu class extensions 2021-05-22 21:03:37 +02:00
Anton Lydike
15da68995c [priv] module now able to load and execute elf binaries 2021-05-22 21:02:36 +02:00
Anton Lydike
a4735db388 Added a decoder module which can deocde some RV32I/M instructions
Some of them even correctly O.o
2021-05-22 21:01:03 +02:00
Anton Lydike
483a3f2416 Priv: [wip] implementing privileged architecture 2021-05-19 12:14:43 +02:00
Anton Lydike
a2e206eaee renamed CPU.__run -> CPU._run, it's now overwriteable by subclasses 2021-05-19 09:51:51 +02:00
Anton Lydike
fa22d76f13 Added libstring and documentation for the general library 2021-04-24 18:32:43 +02:00
Anton Lydike
6bb0ad3793 Added libstring and documentation for the general library 2021-04-24 18:32:35 +02:00
Anton Lydike
a645e6259a Added more debugger documentation 2021-04-24 18:26:31 +02:00
Anton Lydike
462639ade7 Added run_ins method to debugger to run an instruction 2021-04-24 18:24:42 +02:00
Anton Lydike
5d484f08cf Minor fixes like imports and edge-case handling 2021-04-24 18:24:11 +02:00
Anton Lydike
f45a37e705 Added MMU.get_bin_containing 2021-04-24 18:23:12 +02:00
Anton Lydike
ff5ba9a7ef made CPU.run_instruction public 2021-04-24 18:20:06 +02:00
Anton Lydike
da895f00cd added stack field to cpu 2021-04-24 18:19:37 +02:00
Anton Lydike
f646bf1f1d added readthedocs badge 2021-04-23 22:08:59 +02:00
Anton Lydike
6436f8930a fixed stack docs in README 2021-04-23 22:01:09 +02:00
Anton Lydike
d72f83d19c derp: wrong url to readthedocs in readme 2021-04-23 21:58:21 +02:00
Anton Lydike
db0b9c26c3 updated documentation style in .idea config 2021-04-23 21:33:40 +02:00
Anton Lydike
905c2adcf5 added docs links to README 2021-04-23 21:33:17 +02:00
Anton Lydike
f5f41f4e18 fixed errorneous license text in headers 2021-04-23 21:28:57 +02:00
Anton Lydike
a276638f57 fixed docs folder not included in readthedocs build [second try] 2021-04-23 21:22:26 +02:00
Anton Lydike
e8870420d3 fixed docs folder not included in readthedocs build 2021-04-23 21:19:25 +02:00
Anton Lydike
40559f00b4 Added instruction on how to build docs locally to README 2021-04-23 21:15:13 +02:00
Anton Lydike
0b6f8a05d8 Added markdown docs from docs folder to readthedocs output 2021-04-23 21:11:55 +02:00
Anton Lydike
242af5c7a3 implemented mmu.allocate_region and reworked how the stack works 2021-04-23 20:32:19 +02:00
Anton Lydike
bc8c061c6d removed stack pref pseudo-op in preperation for real stack impl 2021-04-23 19:53:06 +02:00
Anton Lydike
a52506a17f updated docs for new logging 2021-04-23 19:37:38 +02:00
Anton Lydike
2cd407aa79 added readthedocs link to readme 2021-04-23 19:21:13 +02:00
Anton Lydike
4ff9be4061 brainfart when configuring readthedocs theme 2021-04-23 19:14:49 +02:00
Anton Lydike
2810fb53a2 using correct readthedocs theme? 2021-04-23 19:13:34 +02:00
Anton Lydike
f5afd0a8be more readthedocs fixes? 2021-04-23 19:09:44 +02:00
Anton Lydike
317d106b9c lots of readthedocs debugging 2021-04-23 19:02:33 +02:00
Anton Lydike
0574766a81 lots more documentation cleanup 2021-04-23 18:44:42 +02:00
Anton Lydike
fdcb3a71be added readthedocs 2021-04-23 18:42:54 +02:00
Anton Lydike
819d57e3c8 preparations for sphinx documentation generation 2021-04-22 15:47:11 +02:00
Anton Lydike
6e6ce90e9a added lots more documentation and copyright notices 2021-04-22 14:29:10 +02:00
Anton Lydike
2a68f16e99 added lots of documentation in pydoc style 2021-04-22 13:57:13 +02:00
Anton Lydike
8c1714116e more info in readme to symbols and prgram startup 2021-04-22 13:03:49 +02:00
Anton Lydike
a1fe631844 improved debugging output on early exit and reformatted cpu file 2021-04-22 13:00:37 +02:00