target/ppc: restore powerpc_excp_booke doorbell interrupts
This partially reverts commit 9dc20cc37d
("target/ppc: Simplify
powerpc_excp_booke"), which removed DOORI and DOORCI interrupts.
Without this patch, a -cpu e5500 -smp 2 machine booting Linux
crashes with:
qemu: fatal: Invalid PowerPC exception 36. Aborting
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220924114436.1422786-1-npiggin@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
b0877575bd
commit
9364df267f
@ -1247,6 +1247,12 @@ static void powerpc_excp_booke(PowerPCCPU *cpu, int excp)
|
||||
case POWERPC_EXCP_SPEU: /* SPE/embedded floating-point unavailable/VPU */
|
||||
env->spr[SPR_BOOKE_ESR] = ESR_SPV;
|
||||
break;
|
||||
case POWERPC_EXCP_DOORI: /* Embedded doorbell interrupt */
|
||||
break;
|
||||
case POWERPC_EXCP_DOORCI: /* Embedded doorbell critical interrupt */
|
||||
srr0 = SPR_BOOKE_CSRR0;
|
||||
srr1 = SPR_BOOKE_CSRR1;
|
||||
break;
|
||||
case POWERPC_EXCP_RESET: /* System reset exception */
|
||||
if (FIELD_EX64(env->msr, MSR, POW)) {
|
||||
cpu_abort(cs, "Trying to deliver power-saving system reset "
|
||||
|
Loading…
Reference in New Issue
Block a user