[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/7] target/ppc: powerpc_excp: Group unimplemented excepti
From: |
David Gibson |
Subject: |
Re: [PATCH v2 3/7] target/ppc: powerpc_excp: Group unimplemented exceptions |
Date: |
Thu, 6 Jan 2022 16:26:55 +1100 |
On Wed, Jan 05, 2022 at 05:40:25PM -0300, Fabiano Rosas wrote:
> Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> target/ppc/excp_helper.c | 77 +++++-----------------------------------
> 1 file changed, 8 insertions(+), 69 deletions(-)
>
> diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
> index ce86b2ae37..fa41f8048d 100644
> --- a/target/ppc/excp_helper.c
> +++ b/target/ppc/excp_helper.c
> @@ -701,23 +701,6 @@ static void powerpc_excp(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_EFPDI: /* Embedded floating-point data interrupt
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "Embedded floating point data exception "
> - "is not implemented yet !\n");
> - env->spr[SPR_BOOKE_ESR] = ESR_SPV;
> - break;
> - case POWERPC_EXCP_EFPRI: /* Embedded floating-point round interrupt
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "Embedded floating point round exception "
> - "is not implemented yet !\n");
> - env->spr[SPR_BOOKE_ESR] = ESR_SPV;
> - break;
> - case POWERPC_EXCP_EPERFM: /* Embedded performance monitor interrupt
> */
> - /* XXX: TODO */
> - cpu_abort(cs,
> - "Performance counter exception is not implemented yet
> !\n");
> - break;
> case POWERPC_EXCP_DOORI: /* Embedded doorbell interrupt
> */
> break;
> case POWERPC_EXCP_DOORCI: /* Embedded doorbell critical interrupt
> */
> @@ -782,19 +765,6 @@ static void powerpc_excp(PowerPCCPU *cpu, int excp)
> case POWERPC_EXCP_PIT: /* Programmable interval timer interrupt
> */
> trace_ppc_excp_print("PIT");
> break;
> - case POWERPC_EXCP_IO: /* IO error exception
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "601 IO error exception is not implemented yet !\n");
> - break;
> - case POWERPC_EXCP_RUNM: /* Run mode exception
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "601 run mode exception is not implemented yet !\n");
> - break;
> - case POWERPC_EXCP_EMUL: /* Emulation trap exception
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "602 emulation trap exception "
> - "is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_IFTLB: /* Instruction fetch TLB error
> */
> case POWERPC_EXCP_DLTLB: /* Data load TLB miss
> */
> case POWERPC_EXCP_DSTLB: /* Data store TLB miss
> */
> @@ -821,56 +791,25 @@ static void powerpc_excp(PowerPCCPU *cpu, int excp)
> break;
> }
> break;
> + case POWERPC_EXCP_EFPDI: /* Embedded floating-point data interrupt
> */
> + case POWERPC_EXCP_EFPRI: /* Embedded floating-point round interrupt
> */
> + case POWERPC_EXCP_EPERFM: /* Embedded performance monitor interrupt
> */
> + case POWERPC_EXCP_IO: /* IO error exception
> */
> + case POWERPC_EXCP_RUNM: /* Run mode exception
> */
> + case POWERPC_EXCP_EMUL: /* Emulation trap exception
> */
> case POWERPC_EXCP_FPA: /* Floating-point assist exception
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "Floating point assist exception "
> - "is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_DABR: /* Data address breakpoint
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "DABR exception is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_IABR: /* Instruction address breakpoint
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "IABR exception is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_SMI: /* System management interrupt
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "SMI exception is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_THERM: /* Thermal interrupt
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "Thermal management exception "
> - "is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_PERFM: /* Embedded performance monitor interrupt
> */
> - /* XXX: TODO */
> - cpu_abort(cs,
> - "Performance counter exception is not implemented yet
> !\n");
> - break;
> case POWERPC_EXCP_VPUA: /* Vector assist exception
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "VPU assist exception is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_SOFTP: /* Soft patch exception
> */
> - /* XXX: TODO */
> - cpu_abort(cs,
> - "970 soft-patch exception is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_MAINT: /* Maintenance exception
> */
> - /* XXX: TODO */
> - cpu_abort(cs,
> - "970 maintenance exception is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_MEXTBR: /* Maskable external breakpoint
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "Maskable external exception "
> - "is not implemented yet !\n");
> - break;
> case POWERPC_EXCP_NMEXTBR: /* Non maskable external breakpoint
> */
> - /* XXX: TODO */
> - cpu_abort(cs, "Non maskable external exception "
> - "is not implemented yet !\n");
> + cpu_abort(cs, "%s exception not implemented\n",
> + powerpc_excp_name(excp));
> break;
> default:
> excp_invalid:
--
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
- [PATCH v2 0/7] target/ppc: powerpc_excp improvements (2/n), Fabiano Rosas, 2022/01/05
- [PATCH v2 1/7] target/ppc: powerpc_excp: Extract software TLB logging into a function, Fabiano Rosas, 2022/01/05
- [PATCH v2 2/7] target/ppc: powerpc_excp: Keep 60x soft MMU logs active, Fabiano Rosas, 2022/01/05
- [PATCH v2 3/7] target/ppc: powerpc_excp: Group unimplemented exceptions, Fabiano Rosas, 2022/01/05
- [PATCH v2 4/7] target/ppc: Add HV support to ppc_interrupts_little_endian, Fabiano Rosas, 2022/01/05
- [PATCH v2 6/7] target/ppc: Use ppc_interrupts_little_endian in powerpc_excp, Fabiano Rosas, 2022/01/05
- [PATCH v2 7/7] target/ppc: Introduce a wrapper for powerpc_excp, Fabiano Rosas, 2022/01/05
- [PATCH v2 5/7] target/ppc: Add MSR_ILE support to ppc_interrupts_little_endian, Fabiano Rosas, 2022/01/05