KVM ARM support has just hit Linus' kernel tree, so we can finally commit this series to QEMU. Since all the patches got reviewed last time round this should be ready to commit. I plan to commit this via arm-devs.next. NB: the linux-headers sync is against Linus' mainline, and so I had to make a few minor tweaks to avoid the QEMU patch reverting some s390 and ppc changes which haven't yet hit mainline. (Can't sync vs kvm-next kernel tree because ARM KVM hasn't got there yet...) thanks -- PMM Changes v6 to v7: * added new patch 3 to drop CPUARMState* from bank_number() * patch 4 (old 3): trivial renaming of a few variables for consistency, use 'return 0;' instead of 'int ret = 0; return ret;' * added new patch 7 to convert gic classes to realize * updated patch 9 (old 7) to use realize not init * added blank lines in a few places to separate variable declarations from code Changes v5 to v6: * rebase * fixed stupid typo of arm_gic vs arm-gic * added a patch updating MAINTAINERS * kernel headers patch now is from a valid tree to sync against Changes v4 to v5: * no changes of consequence, but rebased on current qemu master and resynced with v17 of the kernel patches (minor ABI changes caused by other people getting in first for ioctl numbers etc, and insertion of "_ARM_" in KVM_ARM_SET_DEVICE_ADDRESS related constants Changes v3 to v4: * minor updates to match kernel ABI changes (ID field in kvm_device_address is now 64 bits, core register offsets now changed due to use of pt_regs struct) * squashed the two 'update kernel headers' patches, since the plan is for vgic support to go upstream at the same time as the baseline kernel patchset * added a new patch 8 which adds ARM to the list of Linux archs which prefer 2MB alignment so they can use transparent hugepages Changes v2 to v3: * applied various minor tweaks suggested during review of v2 * rebased on master, resynced with kernel headers for v13 * new patch 6 which uses a MemoryListener to track where the VGIC memory regions are mapped, so we can tell the kernel where they live in the memory map (via new ioctl KVM_SET_DEVICE_ADDRESS) Christoffer Dall (1): ARM: KVM: Add support for KVM on ARM architecture Peter Maydell (10): oslib-posix: Align to permit transparent hugepages on ARM Linux linux-headers: resync from mainline to add ARM KVM headers target-arm: Drop CPUARMState* argument from bank_number() ARM KVM: save and load VFP registers from kernel hw/arm_gic: Add presave/postload hooks hw/arm_gic: Convert ARM GIC classes to use init/realize target-arm: Use MemoryListener to identify GIC base address for KVM hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC configure: Enable KVM on ARM MAINTAINERS: add entry for ARM KVM guest cores MAINTAINERS | 5 + configure | 2 +- hw/a15mpcore.c | 8 +- hw/arm/Makefile.objs | 1 + hw/arm_gic.c | 23 +- hw/arm_gic_common.c | 36 ++- hw/arm_gic_internal.h | 4 +- hw/arm_pic.c | 26 ++ hw/armv7m_nvic.c | 15 +- hw/kvm/arm_gic.c | 167 ++++++++++++ linux-headers/asm-arm/kvm.h | 180 +++++++++++++ linux-headers/asm-arm/kvm_para.h | 1 + linux-headers/asm-generic/kvm_para.h | 4 + linux-headers/linux/kvm.h | 17 ++ target-arm/Makefile.objs | 1 + target-arm/cpu.h | 1 + target-arm/helper.c | 13 +- target-arm/kvm.c | 493 ++++++++++++++++++++++++++++++++++ target-arm/kvm_arm.h | 32 +++ util/oslib-posix.c | 2 +- 20 files changed, 992 insertions(+), 39 deletions(-) create mode 100644 hw/kvm/arm_gic.c create mode 100644 linux-headers/asm-arm/kvm.h create mode 100644 linux-headers/asm-arm/kvm_para.h create mode 100644 linux-headers/asm-generic/kvm_para.h create mode 100644 target-arm/kvm.c create mode 100644 target-arm/kvm_arm.h -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html