From: Peter Maydell Date: Thu, 24 Apr 2014 17:54:42 +0000 (+0100) Subject: hw/arm/virt: Put GIC register banks on 64K boundaries X-Git-Tag: qemu-xen-4.6.0-rc1~479^2~1 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=3078e848faed0d6bf03d1ae789975abab9cb7778;p=qemu-upstream-4.6-testing.git hw/arm/virt: Put GIC register banks on 64K boundaries For an AArch64 CPU which supports 64K pages, having the GIC register banks at 4K offsets is potentially awkward. Move them out to being at 64K offsets. (This is harmless for AArch32 CPUs and for AArch64 CPUs with 4K pages, so it is simpler to use the same offsets everywhere than to try to use 64K offsets only for AArch64 host CPUs.) Signed-off-by: Peter Maydell Message-id: 1398362083-17737-3-git-send-email-peter.maydell@linaro.org --- diff --git a/hw/arm/virt.c b/hw/arm/virt.c index ecff256da..9c4d337b1 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -96,10 +96,10 @@ typedef struct VirtBoardInfo { static const MemMapEntry a15memmap[] = { /* Space up to 0x8000000 is reserved for a boot ROM */ [VIRT_FLASH] = { 0, 0x8000000 }, - [VIRT_CPUPERIPHS] = { 0x8000000, 0x8000 }, + [VIRT_CPUPERIPHS] = { 0x8000000, 0x20000 }, /* GIC distributor and CPU interfaces sit inside the CPU peripheral space */ - [VIRT_GIC_DIST] = { 0x8001000, 0x1000 }, - [VIRT_GIC_CPU] = { 0x8002000, 0x1000 }, + [VIRT_GIC_DIST] = { 0x8000000, 0x10000 }, + [VIRT_GIC_CPU] = { 0x8010000, 0x10000 }, [VIRT_UART] = { 0x9000000, 0x1000 }, [VIRT_MMIO] = { 0xa000000, 0x200 }, /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of that size */