target-sh4: move features flag after CPU_COMMON
authorBobby Bingham <koorogi@koorogi.info>
Sun, 24 Nov 2013 20:03:05 +0000 (14:03 -0600)
committerAurelien Jarno <aurelien@aurel32.net>
Mon, 9 Dec 2013 15:41:23 +0000 (16:41 +0100)
Everything before CPU_COMMON in the structure is cleared as part of a
CPU reset. This included the features flag, which indicates whether SH4A
instructions are supported or not. As a result, a CPU reset downgraded
the CPU from an SH4A to an SH4.

Signed-off-by: Bobby Bingham <koorogi@koorogi.info>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-sh4/cpu.h

index 276d295..c181dda 100644 (file)
@@ -157,9 +157,6 @@ typedef struct CPUSH4State {
     /* float point status register */
     float_status fp_status;
 
-    /* The features that we should emulate. See sh_features above.  */
-    uint32_t features;
-
     /* Those belong to the specific unit (SH7750) but are handled here */
     uint32_t mmucr;            /* MMU control register */
     uint32_t pteh;             /* page table entry high register */
@@ -180,6 +177,9 @@ typedef struct CPUSH4State {
 
     int id;                    /* CPU model */
 
+    /* The features that we should emulate. See sh_features above.  */
+    uint32_t features;
+
     void *intc_handle;
     int in_sleep;              /* SR_BL ignored during sleep */
     memory_content *movcal_backup;