From: Julien Grall Date: Thu, 8 Oct 2015 18:23:51 +0000 (+0100) Subject: xen/arm: vgic-v2: Report the correct GICC size to the guest X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=8ee6d574b7073b5c98fcf94d20a53197609b85e1;p=people%2Froyger%2Fxen.git xen/arm: vgic-v2: Report the correct GICC size to the guest The GICv2 DT node is usually used by the guest to know the address/size of the regions (GICD, GICC...) to map into their virtual memory. While the GICv2 spec requires the size of the GICC to be 8KB, we correctly do an 8KB stage-2 mapping but erroneously report 256 in the device tree (based on GUEST_GICC_SIZE). I bet we didn't see any issue so far because all the registers except GICC_DIR lives in the first 256 bytes of the GICC region and all the guests I have seen so far are driving the GIC with GICC_CTLR.EIOmode = 0. Signed-off-by: Julien Grall Acked-by: Ian Campbell [ ijc -- fixed some typos in commit message ] --- diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h index 9a96401878..3c365f3a0d 100644 --- a/xen/include/public/arch-arm.h +++ b/xen/include/public/arch-arm.h @@ -397,7 +397,7 @@ typedef uint64_t xen_callback_t; #define GUEST_GICD_BASE 0x03001000ULL #define GUEST_GICD_SIZE 0x00001000ULL #define GUEST_GICC_BASE 0x03002000ULL -#define GUEST_GICC_SIZE 0x00000100ULL +#define GUEST_GICC_SIZE 0x00002000ULL /* vGIC v3 mappings */ #define GUEST_GICV3_GICD_BASE 0x03001000ULL