summaryrefslogtreecommitdiffstats
path: root/target-arm/cpu.h
diff options
context:
space:
mode:
authorPeter Crosthwaite2015-06-19 15:17:44 +0200
committerPeter Maydell2015-06-19 15:17:44 +0200
commit6cb0b013a1fa421cdfb83257cd33f855cc90649a (patch)
treed7c505b89b116dd870147145cb094d4848d4c213 /target-arm/cpu.h
parenttarget-arm/helper.c: define MPUIR register (diff)
downloadqemu-6cb0b013a1fa421cdfb83257cd33f855cc90649a.tar.gz
qemu-6cb0b013a1fa421cdfb83257cd33f855cc90649a.tar.xz
qemu-6cb0b013a1fa421cdfb83257cd33f855cc90649a.zip
target-arm: Add registers for PMSAv7
Define the arm CP registers for PMSAv7 and their accessor functions. RGNR serves as a shared index that indexes into arrays storing the DRBAR, DRSR and DRACR registers. DRBAR and friends have to be VMSDd separately from the CP interface using a new PMSA specific VMSD subsection. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Message-id: 172cf135fbd8f5cea413c00e71cc1c3cac704744.1434501320.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/cpu.h')
-rw-r--r--target-arm/cpu.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index 2f59058e64..0c320ea2da 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -284,6 +284,9 @@ typedef struct CPUARMState {
};
uint64_t par_el[4];
};
+
+ uint32_t c6_rgnr;
+
uint32_t c9_insn; /* Cache lockdown registers. */
uint32_t c9_data;
uint64_t c9_pmcr; /* performance monitor control register */
@@ -482,6 +485,13 @@ typedef struct CPUARMState {
/* Internal CPU feature flags. */
uint64_t features;
+ /* PMSAv7 MPU */
+ struct {
+ uint32_t *drbar;
+ uint32_t *drsr;
+ uint32_t *dracr;
+ } pmsav7;
+
void *nvic;
const struct arm_boot_info *boot_info;
} CPUARMState;