Hello, This is version two of the patches I originally posted here: http://www.spinics.net/lists/kvm/msg82447.html Changes since version one include: - MAX_MEMORY no longer needlessly page-aligned for ARM - Use xread instead of read for reading the kernel image - Limit virtual CPUs to 8 due to hardware limitations of the GIC - Use hugetlbfs_path instead of NULL - Improved member type consistency between kvm_mem_bank and kvm_userspace_memory_region - New tree-based device registration which moves device number allocation out of the arch-dependent IRQ registration code - Included dependency from mainline kernel to use rbtrees without including linux/compiler.h - SMP secondary boot now initialises the GIC CPU interface (this worked by fluke previously due to a bug in kvm) - Added a dummy set_size_vq function to the balloon driver, which I accidentally missed in the original patch (now merged) - Fixed header guard consistency - Dropped the RFC tag - Rebased onto latest kvmtool code As usual, all comments welcome. Cheers, Will Will Deacon (8): rbtree: include linux/compiler.h for definition of __always_inline kvm tools: don't bother including linux/compiler.h kvm tools: balloon: add dummy set_size_vq implementation kvm tools: add generic device registration mechanism kvm tools: keep track of registered memory banks in struct kvm kvm tools: teach guest_flat_to_host about memory banks starting above 0 kvm tools: provide a mechanism for translating host to guest addresses kvm tools: add support for ARMv7 processors include/linux/rbtree_augmented.h | 1 + tools/kvm/Makefile | 23 ++- tools/kvm/arm/aarch32/cortex-a15.c | 98 ++++++++++ tools/kvm/arm/aarch32/include/kvm/barrier.h | 10 + tools/kvm/arm/aarch32/include/kvm/kvm-arch.h | 30 +++ tools/kvm/arm/aarch32/kvm-cpu.c | 111 +++++++++++ tools/kvm/arm/aarch32/smp-pen.S | 30 +++ tools/kvm/arm/fdt.c | 266 +++++++++++++++++++++++++++ tools/kvm/arm/gic.c | 92 +++++++++ tools/kvm/arm/include/arm-common/gic.h | 34 ++++ tools/kvm/arm/include/arm-common/kvm-arch.h | 34 ++++ tools/kvm/arm/include/kvm/kvm-cpu-arch.h | 47 +++++ tools/kvm/arm/ioport.c | 5 + tools/kvm/arm/irq.c | 17 ++ tools/kvm/arm/kvm-cpu.c | 107 +++++++++++ tools/kvm/arm/kvm.c | 69 +++++++ tools/kvm/arm/smp.c | 21 +++ tools/kvm/devices.c | 86 +++++++++ tools/kvm/hw/pci-shmem.c | 12 +- tools/kvm/hw/vesa.c | 12 +- tools/kvm/include/kvm/devices.h | 27 +++ tools/kvm/include/kvm/irq.h | 2 +- tools/kvm/include/kvm/kvm.h | 16 +- tools/kvm/include/kvm/pci.h | 2 - tools/kvm/include/kvm/virtio-mmio.h | 1 + tools/kvm/include/kvm/virtio-pci.h | 2 + tools/kvm/include/linux/stddef.h | 6 - tools/kvm/kvm.c | 56 +++++- tools/kvm/pci.c | 39 ++-- tools/kvm/powerpc/irq.c | 10 +- tools/kvm/powerpc/spapr_pci.c | 2 +- tools/kvm/virtio/balloon.c | 7 + tools/kvm/virtio/mmio.c | 11 +- tools/kvm/virtio/pci.c | 11 +- tools/kvm/x86/include/kvm/kvm-arch.h | 9 - tools/kvm/x86/irq.c | 4 +- tools/kvm/x86/kvm.c | 7 + 37 files changed, 1242 insertions(+), 75 deletions(-) create mode 100644 tools/kvm/arm/aarch32/cortex-a15.c create mode 100644 tools/kvm/arm/aarch32/include/kvm/barrier.h create mode 100644 tools/kvm/arm/aarch32/include/kvm/kvm-arch.h create mode 100644 tools/kvm/arm/aarch32/kvm-cpu.c create mode 100644 tools/kvm/arm/aarch32/smp-pen.S create mode 100644 tools/kvm/arm/fdt.c create mode 100644 tools/kvm/arm/gic.c create mode 100644 tools/kvm/arm/include/arm-common/gic.h create mode 100644 tools/kvm/arm/include/arm-common/kvm-arch.h create mode 100644 tools/kvm/arm/include/kvm/kvm-cpu-arch.h create mode 100644 tools/kvm/arm/ioport.c create mode 100644 tools/kvm/arm/irq.c create mode 100644 tools/kvm/arm/kvm-cpu.c create mode 100644 tools/kvm/arm/kvm.c create mode 100644 tools/kvm/arm/smp.c create mode 100644 tools/kvm/devices.c create mode 100644 tools/kvm/include/kvm/devices.h -- 1.8.0 -- 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