[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V3 0/8] Support more than 8 vcpus on arm64 with GICv3
From: Chen Baozi <baozich@xxxxxxxxx> 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 and the IROUTER emulation cleanup patch. Changes from V2: * Reorder the patch which increases MAX_VIRT_CPUS to the last to make this series bisectable. * Drop the dynamic re-distributor region allocation patch in tools. * Use cpumask_t type instead of unsigned long in vgic_to_sgi and do the translation from GICD_SGIR to vcpu_mask in both vGICv2 and vGICv3. * Make domain_max_vcpus be alias of max_vcpus in struct domain 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/arm: gic-v3: Increase the size of GICR in address space for guest xen/arm: Add functions of mapping between vCPUID and virtual affinity xen/arm: Use the new functions for vCPUID/vaffinity transformation xen/arm: Use cpumask_t type for vcpu_mask in vgic_to_sgi tools/libxl: Set 'reg' of cpu node equal to MPIDR affinity for domU xen/arm: Set 'reg' of cpu node for dom0 to match MPIDR's affinity xen/arm64: increase MAX_VIRT_CPUS to 128 on arm64 xen/arm: make domain_max_vcpus be alias of max_vcpus in struct domain tools/libxl/libxl_arm.c | 14 ++++++++++++-- xen/arch/arm/domain.c | 6 +----- xen/arch/arm/domain_build.c | 14 +++++++++++--- xen/arch/arm/vgic-v2.c | 16 ++++++++++++++-- xen/arch/arm/vgic-v3.c | 22 +++++++++++++++++----- xen/arch/arm/vgic.c | 15 +++++++-------- xen/arch/arm/vpsci.c | 2 +- xen/include/asm-arm/config.h | 4 ++++ xen/include/asm-arm/domain.h | 37 +++++++++++++++++++++++++++++++++++-- xen/include/asm-arm/vgic.h | 2 +- xen/include/public/arch-arm.h | 4 ++-- 11 files changed, 105 insertions(+), 31 deletions(-) -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |