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 | 8428cdb245099dcf03c32e1b66f530ada65a6e83 (patch) | |
tree | 396fa798d3f1562914b3dcb4512e0d4046e41c29 /target | |
parent | target/ppc: 405: External exception cleanup (diff) | |
download | qemu-8428cdb245099dcf03c32e1b66f530ada65a6e83.tar.gz qemu-8428cdb245099dcf03c32e1b66f530ada65a6e83.tar.xz qemu-8428cdb245099dcf03c32e1b66f530ada65a6e83.zip |
target/ppc: 405: System call exception cleanup
There's no sc 1.
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220118184448.852996-9-farosas@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'target')
-rw-r--r-- | target/ppc/excp_helper.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 069288a5c8..1f915f607d 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -398,7 +398,7 @@ static void powerpc_excp_40x(PowerPCCPU *cpu, int excp) CPUPPCState *env = &cpu->env; int excp_model = env->excp_model; target_ulong msr, new_msr, vector; - int srr0, srr1, lev = -1; + int srr0, srr1; if (excp <= POWERPC_EXCP_NONE || excp >= POWERPC_EXCP_NB) { cpu_abort(cs, "Invalid PowerPC exception %d. Aborting\n", excp); @@ -521,30 +521,13 @@ static void powerpc_excp_40x(PowerPCCPU *cpu, int excp) } break; case POWERPC_EXCP_SYSCALL: /* System call exception */ - lev = env->error_code; - - if ((lev == 1) && cpu->vhyp) { - dump_hcall(env); - } else { - dump_syscall(env); - } + dump_syscall(env); /* * We need to correct the NIP which in this case is supposed * to point to the next instruction */ env->nip += 4; - - /* "PAPR mode" built-in hypercall emulation */ - if ((lev == 1) && cpu->vhyp) { - PPCVirtualHypervisorClass *vhc = - PPC_VIRTUAL_HYPERVISOR_GET_CLASS(cpu->vhyp); - vhc->hypercall(cpu->vhyp, cpu); - return; - } - if (lev == 1) { - new_msr |= (target_ulong)MSR_HVB; - } break; case POWERPC_EXCP_FIT: /* Fixed-interval timer interrupt */ trace_ppc_excp_print("FIT"); |