diff options
author | Alistair Francis <alistair.francis@xilinx.com> | 2015-05-29 16:30:05 +1000 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@xilinx.com> | 2015-06-21 17:20:15 +1000 |
commit | 8bac22423e4c3b70082dd6c1b492ccf21f3b5a0c (patch) | |
tree | a2dba44421686bba491643d92b8cd5e7bb9a75f0 /target-microblaze/cpu.h | |
parent | 53432dc9ea37d3be4c8efc3023c2382e9da5334a (diff) | |
download | qemu-8bac22423e4c3b70082dd6c1b492ccf21f3b5a0c.tar.gz |
target-microblaze: Preserve the pvr registers during reset
Move the Microblaze PVR registers to the end of the CPUMBState
and preserve them during reset. This is similar to what the
QEMU ARM model does with some of it's registers.
This allows the Microblaze PVR registers to only be set once
at realise instead of constantly at reset.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Diffstat (limited to 'target-microblaze/cpu.h')
-rw-r--r-- | target-microblaze/cpu.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/target-microblaze/cpu.h b/target-microblaze/cpu.h index d73e1c7286..534e1cf6a5 100644 --- a/target-microblaze/cpu.h +++ b/target-microblaze/cpu.h @@ -260,16 +260,18 @@ struct CPUMBState { #define IFLAGS_TB_MASK (D_FLAG | IMM_FLAG | DRTI_FLAG | DRTE_FLAG | DRTB_FLAG) uint32_t iflags; - struct { - uint32_t regs[16]; - } pvr; - #if !defined(CONFIG_USER_ONLY) /* Unified MMU. */ struct microblaze_mmu mmu; #endif CPU_COMMON + + /* These fields are preserved on reset. */ + + struct { + uint32_t regs[16]; + } pvr; }; #include "cpu-qom.h" |