So far, the VGIC data structures have been statically sized, meaning that we always have to support more interrupts than we actually want, and more CPU interfaces than we should. This is a waste of resource, and is the kind of things that should be tuneable. This series partially addresses that issue by changing the data structures to be dynamically allocated. The various sizes are still static, but the VGIC code itself doesn't have any reference to these anymore. Once plugged into the new device API, we should be able to size it entierely dynamically. I'm hopping for this series to be merged with Christoffer's VGIC device control API. This has been (lightly) tested on both ARM (TC2) and arm64 (model). M. Marc Zyngier (5): arm/arm64: KVM: vgic: switch to dynamic allocation arm/arm64: KVM: vgic: kill VGIC_NR_SHARED_IRQS arm/arm64: KVM: vgic: kill VGIC_MAX_CPUS arm/arm64: KVM: vgic: handle out-of-range MMIO accesses arm/arm64: KVM: vgic: kill VGIC_NR_IRQS arch/arm/kvm/arm.c | 5 +- include/kvm/arm_vgic.h | 49 ++++----- virt/kvm/arm/vgic.c | 263 ++++++++++++++++++++++++++++++++++++++++--------- 3 files changed, 249 insertions(+), 68 deletions(-) -- 1.8.2.3 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm