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.
This commit is contained in:
Toby Jaffey 2025-12-14 11:00:45 +00:00
parent be5dbbfa44
commit 5dc9acdf3d
8 changed files with 75 additions and 3 deletions

View file

@ -6,7 +6,8 @@ TESTS = \
meter \
extram \
badcode \
invalid_opcodes
invalid_opcodes \
minirv32_internal
RUNCMD = $(foreach TEST,${TESTS},make -C ${TEST} &&)
CLEANCMD = $(foreach TEST,${TESTS},make -C ${TEST} clean &&)
@ -14,7 +15,7 @@ CLEANCMD = $(foreach TEST,${TESTS},make -C ${TEST} clean &&)
ifeq (,$(shell which gcovr))
GCOVRCMD=echo Install gcovr for code coverage reports
else
GCOVRCMD=gcovr -r ../ --filter ".*uvm32.c"
GCOVRCMD=gcovr -r ../ --filter ".*uvm32.c" --filter ".*mini.*"
PERC=$(shell gcovr -r ../ --filter ".*uvm32.c" | grep uvm | awk '{print $$4}')
endif