[RFC PATCH 00/16] kvm tools: add support for ARMv7 processors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux