target/arm: Expose M-profile register bank index definitions
The ARMv7M QDev container accesses the QDev SysTickState by its secure/non-secure bank index. In order to make the "hw/intc/armv7m_nvic.h" header target-agnostic in the next commit, first move the M-profile bank index definitions to "target/arm/cpu-qom.h". Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20240118200643.29037-16-philmd@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
3e283646e7
commit
22036ae577
@ -36,4 +36,19 @@ DECLARE_CLASS_CHECKERS(AArch64CPUClass, AARCH64_CPU,
|
||||
#define ARM_CPU_TYPE_SUFFIX "-" TYPE_ARM_CPU
|
||||
#define ARM_CPU_TYPE_NAME(name) (name ARM_CPU_TYPE_SUFFIX)
|
||||
|
||||
/* For M profile, some registers are banked secure vs non-secure;
|
||||
* these are represented as a 2-element array where the first element
|
||||
* is the non-secure copy and the second is the secure copy.
|
||||
* When the CPU does not have implement the security extension then
|
||||
* only the first element is used.
|
||||
* This means that the copy for the current security state can be
|
||||
* accessed via env->registerfield[env->v7m.secure] (whether the security
|
||||
* extension is implemented or not).
|
||||
*/
|
||||
enum {
|
||||
M_REG_NS = 0,
|
||||
M_REG_S = 1,
|
||||
M_REG_NUM_BANKS = 2,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -73,21 +73,6 @@
|
||||
#define ARMV7M_EXCP_PENDSV 14
|
||||
#define ARMV7M_EXCP_SYSTICK 15
|
||||
|
||||
/* For M profile, some registers are banked secure vs non-secure;
|
||||
* these are represented as a 2-element array where the first element
|
||||
* is the non-secure copy and the second is the secure copy.
|
||||
* When the CPU does not have implement the security extension then
|
||||
* only the first element is used.
|
||||
* This means that the copy for the current security state can be
|
||||
* accessed via env->registerfield[env->v7m.secure] (whether the security
|
||||
* extension is implemented or not).
|
||||
*/
|
||||
enum {
|
||||
M_REG_NS = 0,
|
||||
M_REG_S = 1,
|
||||
M_REG_NUM_BANKS = 2,
|
||||
};
|
||||
|
||||
/* ARM-specific interrupt pending bits. */
|
||||
#define CPU_INTERRUPT_FIQ CPU_INTERRUPT_TGT_EXT_1
|
||||
#define CPU_INTERRUPT_VIRQ CPU_INTERRUPT_TGT_EXT_2
|
||||
|
Loading…
Reference in New Issue
Block a user