mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2026-10-28 14:04:39 +08:00
target/hexagon: check exception_index in has_work
Without this check, a halted thread that gets an NMI while its modectl E-bit is still set won't wake if no interrupt_request bits happen to be pending. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
This commit is contained in:
1 parent
d9c1429f7c
commit
30311dc0e5
1 file changed
+3
@@ -430,6 +430,9 @@ static bool hexagon_cpu_has_work(CPUState *cs)
|
||||
{
|
||||
CPUHexagonState *env = cpu_env(cs);
|
||||
|
||||
if (qatomic_read(&cs->exception_index) != HEX_EVENT_NONE) {
|
||||
return true;
|
||||
}
|
||||
return hexagon_thread_is_enabled(env) &&
|
||||
(cs->interrupt_request & (CPU_INTERRUPT_HARD | CPU_INTERRUPT_SWI
|
||||
| CPU_INTERRUPT_K0_UNLOCK | CPU_INTERRUPT_TLB_UNLOCK
|
||||
|
||||
Reference in new issue
Block a user