From: Chen Baozi <baoz...@gmail.com> [Sorry for the incorrect list address previously.]
Currently the number of vcpus on arm64 with GICv3 is limited up to 8 due to the fixed size of redistributor mmio region. Increasing the size makes the number expand to 16 because of AFF0 restriction on GICv3. To create a guest up to 128 vCPUs, which is the maxium number that GIC-500 can support, this patchset uses the AFF1 information to create a mapping relation between vCPUID and vMPIDR and deals with the related issues. These patches are written based upon Julien's "GICv2 on GICv3" series. Changes from V1: * Use the way that expanding the GICR address space to support up to 128 redistributor in guest memory layout rather than use the dynamic allocation. * Add support to include AFF1 information in vMPIDR/logical CPUID. Chen Baozi (8): xen/arm64: increase MAX_VIRT_CPUS to 128 on arm64 xen/arm: gic-v3: Increase the size of GICR in address space for guest xen/arm: Add funtions of mapping between vCPUID and vMPIDR xen/arm: Use the new mapping relations between vCPUID and vMPIDR xen/arm: vGIC: Consider AFF1 when injecting SGI. tools/libxl: Make DT node of GICv3 according to max_vcpus tools/libxl: Set logical CPUID in DT node equal to MPIDR for domU xen/arm: Set logical CPUID in DT node for dom0 the same as MPIDR tools/libxl/libxl_arm.c | 17 ++++++++++++----- xen/arch/arm/domain.c | 6 +----- xen/arch/arm/domain_build.c | 11 ++++++++--- xen/arch/arm/vgic-v3.c | 24 ++++++++---------------- xen/arch/arm/vgic.c | 10 ++++++++-- xen/arch/arm/vpsci.c | 2 +- xen/include/asm-arm/config.h | 4 ++++ xen/include/asm-arm/domain.h | 34 ++++++++++++++++++++++++++++++++++ xen/include/public/arch-arm.h | 4 ++-- 9 files changed, 78 insertions(+), 34 deletions(-) -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel