On 27 January 2017 at 12:28, Alex Bennée <[email protected]> wrote: > > Peter Maydell <[email protected]> writes: > >> Add the structure fields, VMState fields, reset code and macros for >> the v7M system control registers CCR, CFSR, HFSR, DFSR, MMFAR and >> BFAR. >> >> Signed-off-by: Peter Maydell <[email protected]> >> --- >> target/arm/cpu.h | 54 >> ++++++++++++++++++++++++++++++++++++++++++++++++++++ >> target/arm/cpu.c | 7 +++++++ >> target/arm/machine.c | 10 ++++++++-- >> 3 files changed, 69 insertions(+), 2 deletions(-) >> >> diff --git a/target/arm/cpu.h b/target/arm/cpu.h >> index b2cc329..4b062d2 100644 >> --- a/target/arm/cpu.h >> +++ b/target/arm/cpu.h >> @@ -21,6 +21,7 @@ >> #define ARM_CPU_H >> >> #include "kvm-consts.h" >> +#include "hw/registerfields.h" >> >> #if defined(TARGET_AARCH64) >> /* AArch64 definitions */ >> @@ -405,6 +406,12 @@ typedef struct CPUARMState { >> uint32_t vecbase; >> uint32_t basepri; >> uint32_t control; >> + uint32_t ccr; /* Configuration and Control */ >> + uint32_t cfsr; /* Configurable Fault Status */ >> + uint32_t hfsr; /* HardFault Status */ >> + uint32_t dfsr; /* Debug Fault Status Register */ >> + uint32_t mmfar; /* MemManage Fault Address */ >> + uint32_t bfar; /* BusFault Address */ > > Given the CPUARMState needs to be accessed via env do we need to start > getting concerned about its size?
We only care that accesses to the front of it are within easy reach (specifically, accesses to fields via frequently used TCG globals); it doesn't matter if more things are added at the end. thanks -- PMM
