Few cleanups while using link properties between CPU/NVIC: - Restrict code to sysemu|useremu or tcg - Simplify ID_PFR1 on useremu - Move NVIC helpersto "hw/intc/armv7m_nvic.h"
Something odd occurs when an ARM CPU is realized, the CPU reset handler is called, ending calling armv7m_nvic_neg_prio_requested() on an unrealized NVIC. I kludged by checking whether the NVIC is realized, but this rather looks like a code smell... Philippe Mathieu-Daudé (9): target/arm: Restrict v7-M MMU helpers to sysemu TCG target/arm: Constify ID_PFR1 on user emulation target/arm: Avoid resetting CPUARMState::eabi field target/arm: Restrict CPUARMState::arm_boot_info to sysemu target/arm: Restrict CPUARMState::gicv3state to sysemu target/arm: Restrict CPUARMState::nvic to sysemu and store as NVICState* target/arm: Declare CPU <-> NVIC helpers in 'hw/intc/armv7m_nvic.h' hw/intc/armv7m_nvic: Allow calling neg_prio_requested on unrealized NVIC hw/arm/armv7m: Pass CPU/NVIC using object_property_add_const_link() hw/arm/armv7m.c | 4 +- hw/intc/armv7m_nvic.c | 44 +++++------ include/hw/intc/armv7m_nvic.h | 128 ++++++++++++++++++++++++++++++- target/arm/cpu.c | 8 +- target/arm/cpu.h | 137 ++-------------------------------- target/arm/cpu_tcg.c | 3 + target/arm/helper.c | 14 +++- target/arm/m_helper.c | 9 ++- 8 files changed, 179 insertions(+), 168 deletions(-) -- 2.38.1