Message ID | 20220103220746.3916246-4-farosas@linux.ibm.com |
---|---|
State | Superseded |
Headers | show |
Series | target/ppc: powerpc_excp improvements (2/n) | expand |
On 1/3/22 23:07, Fabiano Rosas wrote: > (I'll alter this to use powerpc_excp_name once it is merged) Sure. Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> > --- > target/ppc/excp_helper.c | 76 ++++------------------------------------ > 1 file changed, 7 insertions(+), 69 deletions(-) > > diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c > index 4769abfb0c..160e06e3a3 100644 > --- a/target/ppc/excp_helper.c > +++ b/target/ppc/excp_helper.c > @@ -628,23 +628,6 @@ static inline 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 */ > @@ -709,19 +692,6 @@ static inline 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 */ > @@ -748,56 +718,24 @@ static inline 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, "Exception not implemented\n"); > break; > default: > excp_invalid: >
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 4769abfb0c..160e06e3a3 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -628,23 +628,6 @@ static inline 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 */ @@ -709,19 +692,6 @@ static inline 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 */ @@ -748,56 +718,24 @@ static inline 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, "Exception not implemented\n"); break; default: excp_invalid:
(I'll alter this to use powerpc_excp_name once it is merged) Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> --- target/ppc/excp_helper.c | 76 ++++------------------------------------ 1 file changed, 7 insertions(+), 69 deletions(-)