Toby Jaffey
a72737b228
Add uvm32_useBreak(uvmst, bool) function to enable ebreak handling.
...
This is used in host-gdbstub to enable the functionality.
This allows the stackoverflow test to continue working. Meter test modified to handle new evt type.
2026-04-16 10:51:08 +01:00
Toby Jaffey
49a94ca174
Add BLT test
2025-12-14 21:53:54 +00:00
Toby Jaffey
83276f98e4
Move shared.h
2025-12-14 21:41:01 +00:00
Toby Jaffey
93898a5baa
Rename
2025-12-14 21:38:24 +00:00
Toby Jaffey
6a4118e420
Add AUIPC test
2025-12-14 21:38:05 +00:00
Toby Jaffey
585a945b18
Report "true" code coverage by including mini-rv32ima.h
2025-12-14 18:46:34 +00:00
Toby Jaffey
a693fed59c
Show coverage report for all uvm32
2025-12-14 11:15:59 +00:00
Toby Jaffey
5dc9acdf3d
When a trap occurs in mini-rv32ima, always pass to the host rather than allowing running code to handle it. This would be important for a real OS, but the aim of uvm32 is embeddable logic - not full emulation.
...
As all traps are caught by host, begin testing mini-rv32ima internals by checking PC oob and PC alignment.
2025-12-14 11:00:45 +00:00
Toby Jaffey
079cf2c9bd
Add CI workflow to create a coverage badge via github pages
2025-12-14 03:08:59 +00:00
Toby Jaffey
a5305d64dc
Test that invalid lX opcodes trigger mini-rv32 internal core error
2025-12-14 01:21:42 +00:00
Toby Jaffey
fe51154698
Test for lb, lbu, lw, sb, sbu, sw explicitly
2025-12-14 00:58:35 +00:00
Toby Jaffey
2037f6e575
Test memory read outside of memory and extram regions.
2025-12-14 00:32:50 +00:00
Toby Jaffey
aae4eacfb8
Test getslice_fixed when a buffer is requests which exceeds memory
2025-12-13 23:29:45 +00:00
Toby Jaffey
a7b480fd11
Only use stackprotection when debugging
2025-12-13 23:26:32 +00:00
Toby Jaffey
6429d2cdaf
Add test for string reading off end of extram
2025-12-13 23:24:24 +00:00
Toby Jaffey
2039de73f2
Rename getbuf to getslice
2025-12-13 23:15:06 +00:00
Toby Jaffey
b083008d7b
Add test for reading slice in extram which is out of bounds
2025-12-13 23:10:49 +00:00
Toby Jaffey
18d787a7b9
Add test for extram becoming invalid while reading an "unterminated" buffer (slice)
2025-12-13 23:04:58 +00:00
Toby Jaffey
d1eace7b93
Improved warning message
2025-12-13 22:58:42 +00:00
Toby Jaffey
6434f0b0cb
Smoke test of getProgramCounter
2025-12-13 19:21:05 +00:00
Toby Jaffey
5667598427
Test uvm32_getMemory() in a tautological manner
2025-12-13 19:19:39 +00:00
Toby Jaffey
99c0925db5
Test for invalid uvm32_arg_t
2025-12-13 19:17:58 +00:00
Toby Jaffey
59ade881c3
uvm32_hasEnded() test
2025-12-13 19:15:06 +00:00
Toby Jaffey
0018bdd249
Add test of reading cstring syscall argument which never terminates before hitting end of ram
2025-12-13 19:12:24 +00:00
Toby Jaffey
b1b4cbf583
Fix bug where memory was being used instead of extram when reading cstring from extram
2025-12-13 18:46:28 +00:00
Toby Jaffey
d72955690f
Add test for extram being removed then invalid pointer being followed
2025-12-13 18:10:50 +00:00
Toby Jaffey
92913ab478
Add test for reading code which is too large
2025-12-13 18:02:43 +00:00
Toby Jaffey
2e1f4d3f93
Generate coverage report
2025-12-13 17:53:55 +00:00
Toby Jaffey
1e5555f66d
Unify all tests to use same common makefile includes
2025-12-13 17:27:24 +00:00
Toby Jaffey
8c97057809
Make extram uint8_t
2025-12-12 20:51:39 +00:00
Toby Jaffey
8158ac647c
Renaming and documentating header
2025-12-12 20:42:26 +00:00
Toby Jaffey
5bd6a32013
Move all app common files under apps/common
2025-12-12 15:45:17 +00:00
Toby Jaffey
74267d94df
Handle syscall cstring argument when pointing to extram
2025-12-12 14:45:25 +00:00
Toby Jaffey
3f21335fc3
Test that repeatedly stopping and starting results in executing exactly the same number of VM instructions
2025-12-11 13:16:46 +00:00
Toby Jaffey
978ddb52f0
Fix memory size in extram test
2025-12-11 11:16:46 +00:00
Toby Jaffey
7a1656ab10
Handle 8, 16 and 32 bit accesses to extram.
2025-12-11 10:33:45 +00:00
Toby Jaffey
63386f9a92
Missing header
2025-12-11 02:40:30 +00:00
Toby Jaffey
b55c2bc88a
Add system for memory mapping a block of memory from the host.
2025-12-11 02:36:46 +00:00
Toby Jaffey
ac1975a820
Test metering, prove that system can resume after a hang error with a range of meter sizes
2025-12-10 22:30:19 +00:00
Toby Jaffey
9d9e7542fc
Test parsing of syscall args, and responses to invalid behaviour
2025-12-10 22:29:33 +00:00
Toby Jaffey
46b6d1efba
Ensure make errors when a test fails
2025-12-10 19:27:39 +00:00
Toby Jaffey
30b7ff4791
custom syscall example
2025-12-10 18:52:01 +00:00
Toby Jaffey
508d41c8c5
Remove stackoverflow error, have one CORE_INTERNAL error for catastrophic crash
2025-12-10 18:42:34 +00:00
Toby Jaffey
da7f70c456
Initial test framework
...
Clean up makefiles
Everything buildable under docker (or natively)
2025-12-10 16:36:33 +00:00