This patch series adds a 'virt' platform which uses the kernel's mach-virt (fully device-tree driven) support to create a simple minimalist platform intended for use for KVM VM guests. It's based on John Rigby's patches, but I've overhauled it a lot: * renamed user-facing machine to just "virt" * removed the A9 support (it can't work since the A9 has no generic timers) * added virtio-mmio transports instead of random set of 'soc' devices * instead of updating io_base as we step through adding devices, define a memory map with an array (similar to vexpress) * folded in some minor fixes from John's aarch64-support patch * rather than explicitly doing endian-swapping on FDT cells, use fdt APIs that let us just pass in host-endian values and let the fdt layer take care of the swapping * miscellaneous minor code cleanups and style fixes If you want to test this with TCG QEMU you'll also need the generic-timers implementation patches I posted recently. A branch with generic-timers plus these patches is here: https://git.linaro.org/gitweb?p=people/pmaydell/qemu-arm.git;a=shortlog;h=refs/heads/mach-virt (The kernel in pure mach-virt mode requires generic timers; it can't deal with getting its clock source from an sp804 timer specified by the device tree. This might be fixed in a future kernel, but dropping all the soc-device support from mach-virt makes it simpler anyway.) An obvious thing this machine does not provide is a serial port. I would rather just use virtio-console (and we should implement the 'emergency console/earlyprintk' bit of the virtio spec). John Rigby (2): ARM: Allow boards to provide an fdt blob ARM: Add 'virt' platform hw/arm/Makefile.objs | 2 +- hw/arm/boot.c | 32 +++-- hw/arm/virt.c | 363 ++++++++++++++++++++++++++++++++++++++++++++++++++ include/hw/arm/arm.h | 7 + 4 files changed, 391 insertions(+), 13 deletions(-) create mode 100644 hw/arm/virt.c -- 1.7.9.5 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm