mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-23 15:15:38 +00:00
target-sparc: on UA2005 don't deliver Interrupt_level_n IRQs in hypervisor mode
As described in Chapter 5.7.6 of the UltraSPARC Architecture 2005, outstanding disrupting exceptions that are destined for privileged mode can only cause a trap when the virtual processor is in nonprivileged or privileged mode and PSTATE.ie = 1. At all other times, they are held pending. Backports commit 1a2aefae6627170fdee689b394a65f76080c068a from qemu
This commit is contained in:
parent
f486053ae0
commit
926247a35e
|
@ -736,8 +736,9 @@ static inline int cpu_interrupts_enabled(CPUSPARCState *env1)
|
|||
if (env1->psret != 0)
|
||||
return 1;
|
||||
#else
|
||||
if (env1->pstate & PS_IE)
|
||||
if ((env1->pstate & PS_IE) && !cpu_hypervisor_mode(env1)) {
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue