Patchwork [v2,3/5] target-ppc: exception model of 603e inherits from 603

login
register
mail settings
Submitter Thomas Monjalon
Date April 27, 2010, 3:31 p.m.
Message ID <85ae2646dc5239ed80cf37e5e31a72d448070efd.1272382040.git.thomas@monjalon.net>
Download mbox | patch
Permalink /patch/51089/
State New
Headers show

Comments

Thomas Monjalon - April 27, 2010, 3:31 p.m.
From: Thomas Monjalon <thomas@monjalon.net>

It appears in the code that the exception handling of 603e is the same as 603.
If there is addon like SRR1[KEY], it is handled without special case for it.
So it could be removed safely.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 target-ppc/cpu.h            |    2 --
 target-ppc/helper.c         |    3 ---
 target-ppc/translate_init.c |    5 +----
 3 files changed, 1 insertions(+), 9 deletions(-)

Patch

diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h
index 2ad4486..ba266cb 100644
--- a/target-ppc/cpu.h
+++ b/target-ppc/cpu.h
@@ -134,8 +134,6 @@  enum powerpc_excp_t {
     POWERPC_EXCP_602,
     /* PowerPC 603 exception model      */
     POWERPC_EXCP_603,
-    /* PowerPC 603e exception model     */
-    POWERPC_EXCP_603E,
     /* PowerPC G2 exception model       */
     POWERPC_EXCP_G2,
     /* PowerPC 604 exception model      */
diff --git a/target-ppc/helper.c b/target-ppc/helper.c
index a5479c4..3d843b5 100644
--- a/target-ppc/helper.c
+++ b/target-ppc/helper.c
@@ -2391,7 +2391,6 @@  static inline void powerpc_excp(CPUState *env, int excp_model, int excp)
         switch (excp_model) {
         case POWERPC_EXCP_602:
         case POWERPC_EXCP_603:
-        case POWERPC_EXCP_603E:
         case POWERPC_EXCP_G2:
             goto tlb_miss_tgpr;
         case POWERPC_EXCP_7x5:
@@ -2410,7 +2409,6 @@  static inline void powerpc_excp(CPUState *env, int excp_model, int excp)
         switch (excp_model) {
         case POWERPC_EXCP_602:
         case POWERPC_EXCP_603:
-        case POWERPC_EXCP_603E:
         case POWERPC_EXCP_G2:
             goto tlb_miss_tgpr;
         case POWERPC_EXCP_7x5:
@@ -2429,7 +2427,6 @@  static inline void powerpc_excp(CPUState *env, int excp_model, int excp)
         switch (excp_model) {
         case POWERPC_EXCP_602:
         case POWERPC_EXCP_603:
-        case POWERPC_EXCP_603E:
         case POWERPC_EXCP_G2:
         tlb_miss_tgpr:
             /* Swap temporary saved registers with GPRs */
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index f3e266d..c88762e 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -4519,7 +4519,7 @@  static void init_proc_603 (CPUPPCState *env)
                               PPC_SEGMENT | PPC_EXTERN)
 #define POWERPC_MSRM_603E    (0x000000000007FF73ULL)
 #define POWERPC_MMU_603E     (POWERPC_MMU_SOFT_6xx)
-//#define POWERPC_EXCP_603E    (POWERPC_EXCP_603E)
+#define POWERPC_EXCP_603E    (POWERPC_EXCP_603)
 #define POWERPC_INPUT_603E   (PPC_FLAGS_INPUT_6xx)
 #define POWERPC_BFDM_603E    (bfd_mach_ppc_ec603e)
 #define POWERPC_FLAG_603E    (POWERPC_FLAG_TGPR | POWERPC_FLAG_SE |           \
@@ -9589,9 +9589,6 @@  int cpu_ppc_register_internal (CPUPPCState *env, const ppc_def_t *def)
         case POWERPC_EXCP_603:
             excp_model = "PowerPC 603";
             break;
-        case POWERPC_EXCP_603E:
-            excp_model = "PowerPC 603e";
-            break;
         case POWERPC_EXCP_604:
             excp_model = "PowerPC 604";
             break;