[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 08/14] target/ppc: 405: System call exception cleanup
From: |
David Gibson |
Subject: |
Re: [PATCH v2 08/14] target/ppc: 405: System call exception cleanup |
Date: |
Wed, 19 Jan 2022 17:09:21 +1100 |
On Tue, Jan 18, 2022 at 03:44:42PM -0300, Fabiano Rosas wrote:
> There's no sc 1.
No... but what exactly should and will happen if you attempt to
execute an "sc 1" on 40x. Will it be treated as an "sc 0", or will it
cause a 0x700? If it's a 0x700, better double check that that is
generated at translation time, if you're removing the check on level
here.
>
> Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
> ---
> target/ppc/excp_helper.c | 21 ++-------------------
> 1 file changed, 2 insertions(+), 19 deletions(-)
>
> diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
> index 8fae8aa0be..9a6f8365d6 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");
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- Re: [PATCH v2 02/14] target/ppc: 405: Add missing MSR_ME bit, (continued)
- [PATCH v2 01/14] target/ppc: 405: Rename MSR_POW to MSR_WE, Fabiano Rosas, 2022/01/18
- [PATCH v2 03/14] target/ppc: Introduce powerpc_excp_40x, Fabiano Rosas, 2022/01/18
- [PATCH v2 06/14] target/ppc: 405: Machine check exception cleanup, Fabiano Rosas, 2022/01/18
- [PATCH v2 08/14] target/ppc: 405: System call exception cleanup, Fabiano Rosas, 2022/01/18
- Re: [PATCH v2 08/14] target/ppc: 405: System call exception cleanup,
David Gibson <=
- Re: [PATCH v2 08/14] target/ppc: 405: System call exception cleanup, Richard Henderson, 2022/01/26
- [PATCH v2 05/14] target/ppc: 405: Critical exceptions cleanup, Fabiano Rosas, 2022/01/18
- [PATCH v2 14/14] target/ppc: 405: Watchdog timer exception cleanup, Fabiano Rosas, 2022/01/18
- [PATCH v2 10/14] target/ppc: 405: Debug exception cleanup, Fabiano Rosas, 2022/01/18