|
|
5a383956c9
|
Improve exception dumps and general debug info, make the emulator capable of running the riscv ISA tests, and perform some general fixes i found while making it pass the tests for RV64I
|
2025-12-30 20:18:23 +01:00 |
|
|
|
9a9bef7dd7
|
Remove consts.rs and just use plain types
|
2025-12-28 12:01:39 +01:00 |
|
|
|
5c008bfc04
|
Add exception values (what will go in mtval/stval)
|
2025-12-27 21:33:39 +01:00 |
|
|
|
6a3920895b
|
Relicense to BSD 2-Clause to align better with the RISC-V community
|
2025-12-27 12:44:55 +01:00 |
|
|
|
67406a9c48
|
Fix some warnings
|
2025-12-27 11:55:19 +01:00 |
|
|
|
9f8e9ec380
|
Implement a GDB stub and fix another huge issue in S-type immediate decoding
|
2025-12-27 11:48:36 +01:00 |
|
|
|
34034dd5db
|
Make macros for R/I-type operations and use them to implement basically every single one i think
|
2025-12-26 18:14:32 +01:00 |
|
|
|
528b519ce9
|
(BIG CHANGE) memory handling has changed, MMIO is now a 2 level page table, misaligned access supported, addresses not internally split to page and offset immediately, all load/store instructions implemented. Might still have bugs
|
2025-12-26 14:20:27 +01:00 |
|
|
|
6d9efb7eb8
|
Small refactor in exception handling in core.rs
|
2025-12-24 16:14:54 +01:00 |
|
|
|
09d9064372
|
EXCEPTION SYSTEM (initial version - may change later)
|
2025-12-24 13:56:41 +01:00 |
|
|
|
43bae12ea0
|
Comment out the unused 'Pause' instruction result
|
2025-12-23 18:46:38 +01:00 |
|
|
|
1b409cd14e
|
Improve error messaging
|
2025-12-23 09:51:09 +01:00 |
|
|
|
7a22570a0f
|
Improve the debug messages when invalid instructions are found (again)
|
2025-12-22 22:46:45 +01:00 |
|
|
|
ae57cdc691
|
Improve the debug messages when invalid instructions are found
|
2025-12-22 19:57:33 +01:00 |
|
|
|
e00103375d
|
Fix page offset miscalculation in instruction fetch
|
2025-12-22 18:28:31 +01:00 |
|
|
|
7177633477
|
WHY WAS I USING S-TYPE IMMEDIATE IN LD (also add some more debugging info on an exception)
|
2025-12-22 18:00:15 +01:00 |
|
|
|
25c3b9f5e2
|
Make a dedicated function for advancing the PC by one instruction
|
2025-12-21 16:00:54 +01:00 |
|
|
|
ac9506a1a7
|
(BIG CHANGE) Switch instruction identification/execution to use a plain match tree, should improve performance by quite a bit
|
2025-12-21 12:07:12 +01:00 |
|
|
|
e2d521bbe7
|
Add license/copyright notices to top of each source file (where applicable)
|
2025-12-01 22:06:13 +01:00 |
|
|
|
6bd31e73fb
|
some debugging stuff and SECOND OPCODE!
|
2025-10-10 19:01:04 +02:00 |
|
|
|
361b36fbd1
|
Make sure unsupported/illegal instructions are caught
|
2025-10-07 20:16:27 +02:00 |
|
|
|
dbd022f9c9
|
Make fields and register access functions of Core accessible to the rest of the emulator
|
2025-10-07 20:12:09 +02:00 |
|
|
|
52952840aa
|
I guess its a working execution loop?
|
2025-10-04 14:07:42 +02:00 |
|
|
|
bb0007707c
|
Swap out execution status for instructions returning an InstructionResult
|
2025-10-03 13:28:02 +02:00 |
|
|
|
3163b43fa4
|
base core state & instruction decoder
|
2025-09-27 21:43:10 +02:00 |
|