aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2021-08-12 10:33:34 +0100
committerPeter Maydell <peter.maydell@linaro.org>2021-09-01 11:08:18 +0100
commit2089c0102d6c8f5abead691e045d5d73aef717c1 (patch)
tree5367054698d4ecd41e5c12da821da391ef0861e3 /include
parente36a25cb4759b9cfc122650a720e5a968b370a46 (diff)
downloadqemu-2089c0102d6c8f5abead691e045d5d73aef717c1.zip
qemu-2089c0102d6c8f5abead691e045d5d73aef717c1.tar.gz
qemu-2089c0102d6c8f5abead691e045d5d73aef717c1.tar.bz2
arm: Move system PPB container handling to armv7m
Instead of having the NVIC device provide a single sysbus memory region covering the whole of the "System PPB" space, which implements the default behaviour for unimplemented ranges and provides the NS alias window to the sysregs as well as the main sysreg MR, move this handling to the container armv7m device. The NVIC now provides a single memory region which just implements the system registers. This consolidates all the handling of "map various devices in the PPB" into the armv7m container where it belongs. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alexandre Iooss <erdnaxe@crans.org> Reviewed-by: Luc Michel <luc@lmichel.fr> Message-id: 20210812093356.1946-4-peter.maydell@linaro.org
Diffstat (limited to 'include')
-rw-r--r--include/hw/arm/armv7m.h4
-rw-r--r--include/hw/intc/armv7m_nvic.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/include/hw/arm/armv7m.h b/include/hw/arm/armv7m.h
index 360c35c..fe8b248 100644
--- a/include/hw/arm/armv7m.h
+++ b/include/hw/arm/armv7m.h
@@ -77,6 +77,10 @@ struct ARMv7MState {
* NS systick device if appropriate.
*/
MemoryRegion systick_ns_mem;
+ /* Ditto, for the sysregs region provided by the NVIC */
+ MemoryRegion sysreg_ns_mem;
+ /* MR providing default PPB behaviour */
+ MemoryRegion defaultmem;
/* Properties */
char *cpu_type;
diff --git a/include/hw/intc/armv7m_nvic.h b/include/hw/intc/armv7m_nvic.h
index 6a6a990..0180c7b 100644
--- a/include/hw/intc/armv7m_nvic.h
+++ b/include/hw/intc/armv7m_nvic.h
@@ -80,9 +80,6 @@ struct NVICState {
int vectpending_prio; /* group prio of the exeception in vectpending */
MemoryRegion sysregmem;
- MemoryRegion sysreg_ns_mem;
- MemoryRegion container;
- MemoryRegion defaultmem;
uint32_t num_irq;
qemu_irq excpout;