Open schnommus opened 7 years ago
patch applied, thank you.
fantastic! cheers for the rapid response.
btw, more recent changes in qemu removed the dependency between nvic and gic.
time permitting I'll update my fork, so please check again when this happens, to be sure the basepri behaviour is correct.
Notice: the issue was fixed, but the ticked was not closed, to double check it after updating to the latest sources.
In the ARM architecture documentation for ARMv7m, it states that:
However, this behaviour is not reflected in this version of QEMU, resulting in incorrect behaviour of some RTOSs. I have verified this against real hardware for comparison.
The issue can be fixed in
hw/intc/arm_gic.c
:The previous behaviour was to not process any exception with priority greater than BASEPRI, whereas the correct behaviour should be to not process any exception with priority greater than or equal to BASEPRI.