mirror of https://github.com/xemu-project/xemu.git
target/ppc: PMIs are level triggered
In Book-S / Power processors, the performance monitor interrupts are driven by the MMCR0[PMAO] bit, which is level triggered and not cleared by the interrupt. Others may have different performance monitor architecture, but none of those are implemented by QEMU. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
0324d236d2
commit
c5747965af
target/ppc
|
@ -2187,7 +2187,6 @@ static void p7_deliver_interrupt(CPUPPCState *env, int interrupt)
|
|||
powerpc_excp(cpu, POWERPC_EXCP_DECR);
|
||||
break;
|
||||
case PPC_INTERRUPT_PERFM:
|
||||
env->pending_interrupts &= ~PPC_INTERRUPT_PERFM;
|
||||
powerpc_excp(cpu, POWERPC_EXCP_PERFM);
|
||||
break;
|
||||
case 0:
|
||||
|
@ -2250,7 +2249,6 @@ static void p8_deliver_interrupt(CPUPPCState *env, int interrupt)
|
|||
powerpc_excp(cpu, POWERPC_EXCP_SDOOR_HV);
|
||||
break;
|
||||
case PPC_INTERRUPT_PERFM:
|
||||
env->pending_interrupts &= ~PPC_INTERRUPT_PERFM;
|
||||
powerpc_excp(cpu, POWERPC_EXCP_PERFM);
|
||||
break;
|
||||
case PPC_INTERRUPT_EBB: /* EBB exception */
|
||||
|
@ -2330,7 +2328,6 @@ static void p9_deliver_interrupt(CPUPPCState *env, int interrupt)
|
|||
powerpc_excp(cpu, POWERPC_EXCP_SDOOR_HV);
|
||||
break;
|
||||
case PPC_INTERRUPT_PERFM:
|
||||
env->pending_interrupts &= ~PPC_INTERRUPT_PERFM;
|
||||
powerpc_excp(cpu, POWERPC_EXCP_PERFM);
|
||||
break;
|
||||
case PPC_INTERRUPT_EBB: /* EBB exception */
|
||||
|
@ -2444,7 +2441,6 @@ static void ppc_deliver_interrupt(CPUPPCState *env, int interrupt)
|
|||
powerpc_excp(cpu, POWERPC_EXCP_SDOOR_HV);
|
||||
break;
|
||||
case PPC_INTERRUPT_PERFM:
|
||||
env->pending_interrupts &= ~PPC_INTERRUPT_PERFM;
|
||||
powerpc_excp(cpu, POWERPC_EXCP_PERFM);
|
||||
break;
|
||||
case PPC_INTERRUPT_THERM: /* Thermal interrupt */
|
||||
|
|
Loading…
Reference in New Issue