diff options
author | Fabiano Rosas | 2022-01-28 13:15:04 +0100 |
---|---|---|
committer | Cédric Le Goater | 2022-01-28 13:15:04 +0100 |
commit | 2149e6518032e2209c7520bda6aa38b98850def6 (patch) | |
tree | 5b8e7d05b5d6bca0568f071ae081ffb54c7b40bf /target/ppc | |
parent | target/ppc: 405: Critical exceptions cleanup (diff) | |
download | qemu-2149e6518032e2209c7520bda6aa38b98850def6.tar.gz qemu-2149e6518032e2209c7520bda6aa38b98850def6.tar.xz qemu-2149e6518032e2209c7520bda6aa38b98850def6.zip |
target/ppc: 405: Machine check exception cleanup
powerpc_excp_40x applies only to the 405, so remove HV code and
references to BookE.
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20220118184448.852996-7-farosas@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'target/ppc')
-rw-r--r-- | target/ppc/excp_helper.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index aafc381eb0..3894d36685 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -457,34 +457,12 @@ static void powerpc_excp_40x(PowerPCCPU *cpu, int excp) cs->halted = 1; cpu_interrupt_exittb(cs); } - if (env->msr_mask & MSR_HVB) { - /* - * ISA specifies HV, but can be delivered to guest with HV - * clear (e.g., see FWNMI in PAPR). - */ - new_msr |= (target_ulong)MSR_HVB; - } /* machine check exceptions don't have ME set */ new_msr &= ~((target_ulong)1 << MSR_ME); - /* XXX: should also have something loaded in DAR / DSISR */ - switch (excp_model) { - case POWERPC_EXCP_40x: - srr0 = SPR_40x_SRR2; - srr1 = SPR_40x_SRR3; - break; - case POWERPC_EXCP_BOOKE: - /* FIXME: choose one or the other based on CPU type */ - srr0 = SPR_BOOKE_MCSRR0; - srr1 = SPR_BOOKE_MCSRR1; - - env->spr[SPR_BOOKE_CSRR0] = env->nip; - env->spr[SPR_BOOKE_CSRR1] = msr; - break; - default: - break; - } + srr0 = SPR_40x_SRR2; + srr1 = SPR_40x_SRR3; break; case POWERPC_EXCP_DSI: /* Data storage exception */ trace_ppc_excp_dsi(env->spr[SPR_DSISR], env->spr[SPR_DAR]); |