Toby Jaffey
39e7dddc5a
Quick and dirty sound for DOOM. Samplerate seems off, but it's just a demo.
2025-12-14 23:32:34 +00:00
Toby Jaffey
e524ea4815
Fix sticky keys in doom. host-sdl only reported the last key pressed, now uses a circular buffer.
2025-12-14 22:39:24 +00: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
f917ba38ff
Tighten up internal vs external functions, which lets optimiser do a better job, self.bin about 10% smaller.
2025-12-14 19:51:36 +00:00
Toby Jaffey
07bab3cca6
Rebuild precompiled bins
2025-12-14 19:37:00 +00:00
Toby Jaffey
9bda566997
Move internal static garbage into vmst.
...
Potentially, this could have ended up being non-zero when used by concurrent threads.
2025-12-14 19:34:58 +00:00
Toby Jaffey
1e7343d385
Map extram to same fuzz buffer
2025-12-14 19:28:15 +00:00
Toby Jaffey
28ce517710
Remove label
2025-12-14 18:56:41 +00:00
Toby Jaffey
585a945b18
Report "true" code coverage by including mini-rv32ima.h
2025-12-14 18:46:34 +00:00
Toby Jaffey
7d064dd11d
Fix indent
2025-12-14 18:36:18 +00:00
Toby Jaffey
e5fd17aff6
Fix issues with unaligned memory bus rd/wr. Improve fuzzing.
2025-12-14 18:35:00 +00:00
Toby Jaffey
5fb03b7d66
Remove RV32 breakpoints and interrupts, to save a tiny bit of code size.
CI / test (ubuntu-latest) (push) Waiting to run
2025-12-14 15:05:35 +00:00
Toby Jaffey
065d2c64aa
TinyGL example
2025-12-14 14:45:10 +00:00
Toby Jaffey
7313047fd1
Simple fuzzer
2025-12-14 12:34:53 +00:00
Toby Jaffey
0736381925
Slim down mini-rv32imaa by removing zicsr and atomics - which are unused.
2025-12-14 11:49:28 +00:00
Toby Jaffey
861c75d80e
Remove cycle counting and timers from mini-rv32ima
2025-12-14 11:19:23 +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
be5dbbfa44
Latest doom binary (since crt0.S changes)
2025-12-14 11:00:26 +00:00
Toby Jaffey
8d67bf2fc3
Latest maze binary
2025-12-14 10:59:59 +00:00
Toby Jaffey
a635846e69
Remove -fpeel-loops, now that real issue has been fixed.
2025-12-14 09:50:14 +00:00
Toby Jaffey
044d600b86
Merge branch 'main' of github.com:ringtailsoftware/uvm32
2025-12-14 09:42:31 +00:00
Toby Jaffey
7a39a69f3d
Move label
2025-12-14 09:42:03 +00:00
Toby Jaffey
14383da04d
Only deploy from main branch
2025-12-14 09:41:11 +00:00
Toby Jaffey
b7269c23b3
Merge pull request #2 from 1player/main
...
apps/maze: fix possible stack overflow
2025-12-14 09:37:50 +00:00
Stéphane Travostino
cdfae7d453
apps/maze: fix possible stack overflow
...
The original code this app is inspired from uses rand(), which returns
a number >= 0.
mulberry32() on the other hand can return a negative number, in which
case will overflow the accesses in the dirs array. Fix that by forcing
the result to be unsigned.
2025-12-14 10:15:04 +01:00
Toby Jaffey
2c5f1e33fe
Label
CI / test (ubuntu-latest) (push) Waiting to run
2025-12-14 03:26:41 +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
cfc1286874
Regenerate binaries, now default crt0 has changed
2025-12-14 01:36:47 +00:00
Toby Jaffey
6adbc53ad9
Remove impossible states
2025-12-14 01:34: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
179466eae4
Refactor
2025-12-14 00:18:06 +00:00
Toby Jaffey
173d5056a5
Completely remove UVM32_STACK_PROTECTION unless enabled (requires manually changing crt0.S), as this saves 16 bytes on every .bin
2025-12-14 00:09:32 +00:00
Toby Jaffey
c1399fbe86
Test coverage reports info
2025-12-13 23:31:43 +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
abc7a2c0ad
Merge branch 'main' into cov
CI / test (ubuntu-latest) (push) Waiting to run
2025-12-13 22:25:08 +00:00
Toby Jaffey
1c9e9296be
xxd -n (set variable name) doesn't exist on all systems, use shell utilities to build the headers
...
Fixes #1
2025-12-13 22:20:38 +00:00
Toby Jaffey
bf80e58bd5
Add CI badge
2025-12-13 22:03:50 +00:00
Toby Jaffey
608a009fa2
Try different path for coverage md, use buildkit
2025-12-13 21:39:08 +00:00