|
|
21fb6cbc8b
|
Switch from std::mpsc channels to crossbeam
|
2026-01-02 12:44:50 +01:00 |
|
|
|
bbc9e0b9ff
|
2026! Updating LICENSE file now and individual file comments when those files are updated
|
2026-01-01 09:15:25 +01:00 |
|
|
|
7fcfc031ef
|
Stop rust-analyzer from complaining about the big endian host error
|
2025-12-31 13:19:04 +01:00 |
|
|
|
21a8479ce9
|
Make MMIO devices not have control of the address of exceptions
|
2025-12-31 13:16:32 +01:00 |
|
|
|
09fe12f516
|
Change some ordering in core.rs and deduplicate core command handling
|
2025-12-31 09:33:14 +01:00 |
|
|
|
0f0e844223
|
Finish RV64M
|
2025-12-30 20:53:57 +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
|
2025-12-30 20:18:23 +01:00 |
|
|
|
6a0e5e63c1
|
Implement DIV
|
2025-12-30 17:27:42 +01:00 |
|
|
|
e5c5312566
|
Implement MUL
|
2025-12-30 16:56:09 +01:00 |
|
|
|
9a9bef7dd7
|
Remove consts.rs and just use plain types
|
2025-12-28 12:01:39 +01:00 |
|
|
|
8024af6b13
|
Implement ECALL and EBREAK, the final RV64I instructions!
|
2025-12-27 21:47:22 +01:00 |
|
|
|
5c008bfc04
|
Add exception values (what will go in mtval/stval)
|
2025-12-27 21:33:39 +01:00 |
|
|
|
b5d36b7969
|
Initial FENCE implementation
|
2025-12-27 21:03:24 +01:00 |
|
|
|
970c1adcb0
|
Add checks to make sure that ram has a size that is a multiple of 8
|
2025-12-27 20:52:32 +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 |
|
|
|
a64fcaa3b5
|
Make execload respect the static ram start
|
2025-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
|
2025-12-26 18:14:32 +01:00 |
|
|
|
75e843f5f9
|
Make branches macros and implement all of them
|
2025-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
|
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 |
|
|
|
44394b3d19
|
Update README to mention ELF support
|
2025-12-24 14:11:29 +01:00 |
|
|
|
66c63ab63c
|
Add a default implementation for the memory device interface that just returns access faults
|
2025-12-24 14:06:16 +01:00 |
|
|
|
09d9064372
|
EXCEPTION SYSTEM (initial version - may change later)
|
2025-12-24 13:56:41 +01:00 |
|
|
|
3f789442c0
|
some linker script updates to work even more properly for newlib i think
|
2025-12-24 11:42:55 +01:00 |
|
|
|
96c2cbf7ae
|
remove unused imports in main.rs
|
2025-12-23 20:04:14 +01:00 |
|
|
|
8ed4845d58
|
ADD ELF SUPPORT
|
2025-12-23 19:56:42 +01:00 |
|
|
|
36faa1e39c
|
Add license headers to files missing them
|
2025-12-23 19:22:11 +01:00 |
|
|
|
43bae12ea0
|
Comment out the unused 'Pause' instruction result
|
2025-12-23 18:46:38 +01:00 |
|
|
|
0c6a540a85
|
Implement SRLI
|
2025-12-23 18:42:50 +01:00 |
|
|
|
23392a55df
|
Implement SH
|
2025-12-23 18:31:04 +01:00 |
|
|
|
f38114dbd7
|
Remove some debug messages i forgot
|
2025-12-23 11:01:28 +01:00 |
|
|
|
c6da147d50
|
Implement BLT
|
2025-12-23 09:51:53 +01:00 |
|
|
|
643a39c24a
|
Fix s-type immediate decoding
|
2025-12-23 09:51:32 +01:00 |
|
|
|
1b409cd14e
|
Improve error messaging
|
2025-12-23 09:51:09 +01:00 |
|
|
|
976bd688b0
|
Remove an unused import in main.rs
|
2025-12-23 08:57:43 +01:00 |
|
|
|
0ac363e203
|
Implement LW
|
2025-12-22 22:48:57 +01:00 |
|
|
|
7a22570a0f
|
Improve the debug messages when invalid instructions are found (again)
|
2025-12-22 22:46:45 +01:00 |
|
|
|
2b5eb96187
|
Implement BLTU
|
2025-12-22 21:17:38 +01:00 |
|
|
|
be1b1b9fe6
|
Implement LH
|
2025-12-22 21:15:24 +01:00 |
|
|
|
5cbaf2dc66
|
Implement BGEU
|
2025-12-22 20:08:16 +01:00 |
|
|
|
ae57cdc691
|
Improve the debug messages when invalid instructions are found
|
2025-12-22 19:57:33 +01:00 |
|
|
|
bac68d7118
|
Pull out memory access instructions from rvi.rs to their own file
|
2025-12-22 19:51:21 +01:00 |
|
|
|
8cce960b29
|
Implement SW
|
2025-12-22 19:44:37 +01:00 |
|
|
|
cb100e92ac
|
Implement SUB
|
2025-12-22 19:33:40 +01:00 |
|
|
|
d0d3775b88
|
Implement OR
|
2025-12-22 19:29:31 +01:00 |
|
|
|
1ddda6614a
|
Implement AND and improve formatting and ordering in rvi.rs
|
2025-12-22 19:25:19 +01:00 |
|
|
|
ff161a69e6
|
Implement ADD
|
2025-12-22 19:19:19 +01:00 |
|
|
|
e00103375d
|
Fix page offset miscalculation in instruction fetch
|
2025-12-22 18:28:31 +01:00 |
|