hw/arm_gic: Remove NVIC ifdefs from gic_state struct
Remove some NVIC ifdefs from the gic_state struct and itsstate save/load functions. This means there are some fieldsin it which are present for the NVIC but not used, but meansit always has the same layout and can be pulled out into a...
hw/arm_gic: Remove the special casing of NCPU for the NVIC
Drop the special casing of NCPU=1 for the NVIC. This slightlyincreases the amount of memory used by its state structure,but removes some ifdeffery and means we can safely move theGIC state into a common subclass structure....
hw/arm_gic: Move NVIC specific reset to armv7m_nvic_reset
Move the NVIC specific bits of reset to the NVIC's ownreset function, rather than using ifdefs in the commonarm_gic reset.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/armv7m_nvic: Use MemoryRegions for NVIC specific registers
Implement the NVIC specific register areas using a set ofoverlaid MemoryRegions in a container, rather than by havingthe arm_gic read/write functions use special purpose callbacks.
hw/arm_gic: Add qdev property for GIC revision
GIC behaviour can be different between revision 1 and2 of the architectural GIC specification; we also haveto handle the legacy 11MPCore GIC, which is differentagain in some places. Introduce a qdev property so we...
hw/arm_gic: Make CPU target registers RAZ/WI on uniprocessor
The GIC spec says that the CPU target registers should RAZ/WIfor uniprocessor implementations. Implement this, which alsoconveniently lets us drop an NVIC ifdef.
Annoyingly, the 11MPCore's GIC is the odd one out, since...
hw/arm_gic.c: Make NVIC interrupt numbering a runtime setting
Make the minor tweaks to interrupt numbering used by the NVICa runtime setting rather than a compile time one, so we candrop more NVIC ifdefs.
hw/arm_gic: Move CPU interface memory region setup into arm_gic_init
Remove more NVIC ifdefs by moving the code to setup the CPU interfacememory regions into the GIC specific arm_gic_init() function ratherthan the gic_init() function. Rename the latter to more closely...
hw/armv7m_nvic: Make the NVIC a freestanding class
Rearrange the GIC and NVIC so both are straightforwardsubclasses of a common class, rather than having the NVICsource file textually include arm_gic.c.
hw/omap.h: Drop broken MEM_VERBOSE tracing
Remove the MEM_VERBOSE tracing option from omap.h. This worked byintercepting cpu_register_io_memory() calls; it has been brokensince cpu_register_io_memory() was removed in favour of theMemoryRegion API.
View revisions
Also available in: Atom