]> git.proxmox.com Git - qemu.git/commitdiff
hw/armv7m_nvic: Correctly register GIC region when setting up NVIC
authorMeador Inge <meadori@codesourcery.com>
Wed, 26 Sep 2012 15:46:28 +0000 (16:46 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 26 Sep 2012 15:46:28 +0000 (16:46 +0100)
When setting up the NVIC memory regions the memory range
0x100..0xcff is aliased to an IO memory region that belongs
to the ARM GIC.  This aliased region should be added to the
NVIC memory container, but the actual GIC IO memory region
was being added instead.  This mixup was causing the wrong
IO memory access functions to be called when accessing parts
of the NVIC memory.

Signed-off-by: Meador Inge <meadori@codesourcery.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/armv7m_nvic.c

index 6a0832eb3fd5d4844c1515ce136d6585828ad96d..5c0911647819f52af05ab64401f31f55716a7cbd 100644 (file)
@@ -489,7 +489,8 @@ static int armv7m_nvic_init(SysBusDevice *dev)
      */
     memory_region_init_alias(&s->gic_iomem_alias, "nvic-gic", &s->gic.iomem,
                              0x100, 0xc00);
-    memory_region_add_subregion_overlap(&s->container, 0x100, &s->gic.iomem, 1);
+    memory_region_add_subregion_overlap(&s->container, 0x100,
+                                        &s->gic_iomem_alias, 1);
     /* Map the whole thing into system memory at the location required
      * by the v7M architecture.
      */