d3e8af85a6
Add the files and decode logic for RVA
taitep2026-01-12 17:25:02 +01:00
3451a8227c
Remove RamVersionClaim::reset as ive figured out it wont be needed
taitep2026-01-09 20:23:11 +01:00
d1b4cc7b56
Add some documentation in the cli help output
taitep2026-01-06 23:14:37 +01:00
9861187fa6
Implement the memory version system that will be necessary for LR/SC
taitep2026-01-06 21:50:47 +01:00
07e755340e
remove get_atomic_(d)word because its not used yet and the idea for how atomics will be done will have to be reworked
taitep2026-01-02 16:21:20 +01:00
ceb7f2f172
Apply some clippy-suggested fixes
taitep2026-01-02 12:55:42 +01:00
21fb6cbc8b
Switch from std::mpsc channels to crossbeam
taitep2026-01-02 12:44:50 +01:00
bbc9e0b9ff
2026! Updating LICENSE file now and individual file comments when those files are updated
taitep2026-01-01 09:15:25 +01:00
7fcfc031ef
Stop rust-analyzer from complaining about the big endian host error
taitep2025-12-31 13:19:04 +01:00
21a8479ce9
Make MMIO devices not have control of the address of exceptions
taitep2025-12-31 13:16:32 +01:00
09fe12f516
Change some ordering in core.rs and deduplicate core command handling
taitep2025-12-31 09:33:14 +01:00
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
taitep2025-12-30 20:18:23 +01:00
9f8e9ec380
Implement a GDB stub and fix another huge issue in S-type immediate decoding
taitep2025-12-27 11:48:36 +01:00
a64fcaa3b5
Make execload respect the static ram start
taitep2025-12-26 19:32:55 +01:00
34034dd5db
Make macros for R/I-type operations and use them to implement basically every single one i think
taitep2025-12-26 18:14:32 +01:00
75e843f5f9
Make branches macros and implement all of them
taitep2025-12-26 16:06:30 +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
taitep2025-12-26 14:20:27 +01:00
6d9efb7eb8
Small refactor in exception handling in core.rs
taitep2025-12-24 16:14:54 +01:00
44394b3d19
Update README to mention ELF support
taitep2025-12-24 14:11:29 +01:00
66c63ab63c
Add a default implementation for the memory device interface that just returns access faults
taitep2025-12-24 14:06:16 +01:00
09d9064372
EXCEPTION SYSTEM (initial version - may change later)
taitep2025-12-24 13:56:41 +01:00
3f789442c0
some linker script updates to work even more properly for newlib i think
taitep2025-12-24 11:42:55 +01:00
96c2cbf7ae
remove unused imports in main.rs
taitep2025-12-23 20:04:14 +01:00
c74b4a21d2
Add decode functions for immediate shifts (funct6 and imm_shamt), make decode functions not use references, add inline hints to decode functions
taitep2025-12-21 12:47:56 +01:00
23647ae966
Add JAL and change some of the formatting on previous instructions to be cleaner
taitep2025-12-21 12:20:30 +01:00
ac9506a1a7
(BIG CHANGE) Switch instruction identification/execution to use a plain match tree, should improve performance by quite a bit
taitep2025-12-21 12:07:12 +01:00
e2d521bbe7
Add license/copyright notices to top of each source file (where applicable)
taitep2025-12-01 22:06:13 +01:00