qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/9] target/ppc: powerpc_excp: Group unimplemented exceptions


From: Cédric Le Goater
Subject: Re: [PATCH 3/9] target/ppc: powerpc_excp: Group unimplemented exceptions
Date: Tue, 4 Jan 2022 10:39:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0

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:





reply via email to

[Prev in Thread] Current Thread [Next in Thread]