From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43519) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V6Int-0007Qf-Nv for qemu-devel@nongnu.org; Mon, 05 Aug 2013 07:18:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V6Inn-0000oK-IF for qemu-devel@nongnu.org; Mon, 05 Aug 2013 07:18:21 -0400 Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.1.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:1d0::1]:59095 helo=mnementh.archaic.org.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V6Inn-0000o0-7l for qemu-devel@nongnu.org; Mon, 05 Aug 2013 07:18:15 -0400 From: Peter Maydell Date: Mon, 5 Aug 2013 12:18:10 +0100 Message-Id: <1375701492-21759-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH v4 0/2] ARM: add 'virt' platform List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kvmarm@lists.cs.columbia.edu, "Mian M. Hamayun" , patches@linaro.org 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