Round 5 of the QEMU patches to support KVM for ARM on Cortex-A15 hardware. It's intended for use with the kernel tree at git://github.com/virtualopensystems/linux-kvm-arm.git kvm-arm-v17-vgic-timers Still RFC pending the kernel patches actually being accepted upstream... 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) Git tree available at git://git.linaro.org/people/pmaydell/qemu-arm.git kvm-arm-v17 with pointy-clicky interface at http://git.linaro.org/gitweb?p=people/pmaydell/qemu-arm.git;a=shortlog;h=refs/heads/kvm-arm-v17 Peter Maydell (8): oslib-posix: Align to permit transparent hugepages on ARM Linux linux-headers: Add ARM KVM headers (not for upstream) ARM: KVM: Add support for KVM on ARM architecture ARM KVM: save and load VFP registers from kernel hw/arm_gic: Add presave/postload hooks 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 configure | 2 +- hw/a15mpcore.c | 8 +- hw/arm/Makefile.objs | 1 + hw/arm_gic_common.c | 10 + hw/arm_gic_internal.h | 2 + hw/arm_pic.c | 26 ++ hw/kvm/arm_gic.c | 169 ++++++++++++ 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 | 2 +- target-arm/kvm.c | 487 ++++++++++++++++++++++++++++++++++ target-arm/kvm_arm.h | 32 +++ util/oslib-posix.c | 2 +- 17 files changed, 941 insertions(+), 4 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