Hello, This patch series adds support for ARMv7 processors (Cortex-A15) to kvm tool. The majority of the series consists of small changes in preparation for ARM support, which is added by the final patch. I can try to split this up further, but given that there is no current support for ARM, the sub-patches wouldn't be especially meaningful. To boot a guest, you will need: - A Cortex-A15 platform with a kvm-capable bootloader - The latest kvm-arm patches: git://github.com/virtualopensystems/linux-kvm-arm.git kvm-arm-master - A guest kernel configured for our virtual target: git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git kvm/mach-virt I'm also working on an ARMv8 (AArch64) port which fits neatly into the code presented here. All feedback welcome, Will Will Deacon (16): kvm tools: include arch uapi/asm directories in include path kvm tools: only enable LTO if supported by GCC kvm tools: avoid linking dynamically against libbfd kvm tools: specify compiler by name when overriding make default kvm tools: don't bother including linux/compiler.h kvm tools: don't pass -Wcast-align to the compiler kvm tools: die if init_list__init returns failure kvm tools: add generic device registration mechanism kvm tools: make _FDT macro usable by other architectures kvm tools: virtio-mmio: use subsys_id instead of pci device ID kvm tools: virtio: add dummy set_size_vq implementations kvm tools: allow arch to specify default virtio transport 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 tools/kvm/Makefile | 38 +++- 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 | 28 +++ tools/kvm/arm/aarch32/kvm-cpu.c | 111 +++++++++++ tools/kvm/arm/aarch32/smp-pen.S | 14 ++ tools/kvm/arm/fdt.c | 269 ++++++++++++++++++++++++++ tools/kvm/arm/gic.c | 86 ++++++++ tools/kvm/arm/include/arm-common/gic.h | 29 +++ tools/kvm/arm/include/arm-common/kvm-arch.h | 31 +++ tools/kvm/arm/include/arm-common/smp.h | 7 + tools/kvm/arm/include/kvm/kvm-cpu-arch.h | 47 +++++ tools/kvm/arm/ioport.c | 5 + tools/kvm/arm/irq.c | 25 +++ tools/kvm/arm/kvm-cpu.c | 112 +++++++++++ tools/kvm/arm/kvm.c | 69 +++++++ tools/kvm/arm/smp.c | 13 ++ tools/kvm/builtin-run.c | 3 +- tools/kvm/devices.c | 24 +++ tools/kvm/hw/pci-shmem.c | 8 +- tools/kvm/hw/vesa.c | 8 +- tools/kvm/include/kvm/devices.h | 21 ++ tools/kvm/include/kvm/fdt.h | 26 +++ 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 | 55 +++++- tools/kvm/pci.c | 40 ++--- tools/kvm/powerpc/include/kvm/kvm-arch.h | 13 +- tools/kvm/powerpc/irq.c | 3 +- tools/kvm/powerpc/kvm.c | 2 +- tools/kvm/powerpc/spapr_pci.c | 4 +- tools/kvm/virtio/9p.c | 10 +- tools/kvm/virtio/balloon.c | 3 +- tools/kvm/virtio/blk.c | 3 +- tools/kvm/virtio/console.c | 10 +- tools/kvm/virtio/mmio.c | 9 +- tools/kvm/virtio/pci.c | 7 +- tools/kvm/virtio/rng.c | 10 +- tools/kvm/virtio/scsi.c | 3 +- tools/kvm/x86/include/kvm/kvm-arch.h | 11 +- tools/kvm/x86/kvm.c | 7 + 44 files changed, 1214 insertions(+), 85 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/arm-common/smp.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 create mode 100644 tools/kvm/include/kvm/fdt.h -- 1.7.4.1 -- 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