We've got CONFIG_ARM_V7M, but it currently can't be disabled. Here are some patches that should allow to disable the switch (if the corresponding boards are disabled, too).
RFC -> v1: - Move the definitions into internals.h instead of cpu.h in the 1st patch - Instead of creating an ugly stubs file, simply make armv7m_nvic.c mandatory for linking. Thomas Huth (4): target/arm: Make cpu_register() and set_feature() available for other files target/arm: Move cortex-m related functions to new file v7m.c hw/arm: Move armv7m_nvic.c to hw/arm/ and always enable it for arm builds default-configs: Do not enforce CONFIG_ARM_V7M anymore default-configs/arm-softmmu.mak | 3 - hw/arm/Makefile.objs | 2 + hw/{intc => arm}/armv7m_nvic.c | 0 hw/arm/trace-events | 17 +++ hw/intc/Makefile.objs | 1 - hw/intc/trace-events | 17 --- target/arm/Makefile.objs | 1 + target/arm/cpu.c | 166 +-------------------------- target/arm/cpu64.c | 17 +-- target/arm/internals.h | 18 +++ target/arm/v7m.c | 193 ++++++++++++++++++++++++++++++++ 11 files changed, 234 insertions(+), 201 deletions(-) rename hw/{intc => arm}/armv7m_nvic.c (100%) create mode 100644 target/arm/v7m.c -- 2.18.1