Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752704AbbBFFWY (ORCPT ); Fri, 6 Feb 2015 00:22:24 -0500 Received: from ozlabs.org ([103.22.144.67]:60387 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751090AbbBFFWW (ORCPT ); Fri, 6 Feb 2015 00:22:22 -0500 From: Rusty Russell To: "lkml" Cc: Rusty Russell , "Michael S. Tsirkin" Subject: [PATCH 00/29] lguest virtio PCI 1.0 adaptation. Date: Fri, 6 Feb 2015 15:51:43 +1030 Message-Id: <1423200112-5354-1-git-send-email-rusty@rustcorp.com.au> X-Mailer: git-send-email 2.1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3367 Lines: 81 Hi all! I've just spent a week changing lguest from its own custom virtio bus to PCI, and from legacy virtio to modern (1.0). I did this mainly to test the Linux implementation. The first 11 patches set up the framework for routing more traps to the Lguest launcher, so we can intercept ioport and MMIO instructions. Patches 12-15 implement emulation of virtio over PCI devices, and then 16-19 convert the four devices we support. 20-23 remove the obsolete lguest bus support. 24-27 change the guest to bang the emerg_wr register (via the pci config space MMIO accessor window) to perform early boot messages. It's slow and ugly, but it works. Finally, the last two patches remove the last of the old hypercall notification mechanism. Cheers! Rusty. Rusty Russell (29): lguest: have --rng read from /dev/urandom not /dev/random. lguest: add operations to get/set a register from the Launcher. lguest: write more information to userspace about pending traps. lguest: add infrastructure for userspace to deliver a trap to the guest. lguest: add infrastructure to check mappings. lguest: send trap 13 through to userspace. lguest: suppress PS/2 keyboard polling. lguest: don't disable iospace. lguest: add iomem region, where guest page faults get sent to userspace. lguest: disable ACPI explicitly. lguest: Override pcibios_enable_irq/pcibios_disable_irq to our stupid PIC lguest: add PCI emulation. lguest: implement virtio-PCI MMIO accesses. lguest: fix failure to find linux/virtio_types.h lguest: add a dummy PCI host bridge. lguest: Convert block device to virtio 1.0 PCI. lguest: Convert net device to virtio 1.0 PCI. lguest: Convert entropy device to virtio 1.0 PCI. lguest: Convert console device to virtio 1.0 PCI. lguest: define VIRTIO_CONFIG_NO_LEGACY in example launcher. lguest: remove support for lguest bus. lguest: remove support for lguest bus in demonstration launcher. lguest: remove lguest bus definitions from header. lguest: support emerg_wr in console device in example launcher. lguest: support backdoor window. lguest: always put console in PCI slot #1. lguest: use the PCI console device's emerg_wr for early boot messages. lguest: remove NOTIFY facility from demonstration launcher. lguest: remove NOTIFY call and eventfd facility. arch/x86/include/asm/lguest_hcall.h | 1 - arch/x86/lguest/boot.c | 182 ++++- drivers/lguest/Makefile | 3 - drivers/lguest/core.c | 29 +- drivers/lguest/hypercalls.c | 7 +- drivers/lguest/lg.h | 26 +- drivers/lguest/lguest_device.c | 540 ------------- drivers/lguest/lguest_user.c | 221 ++---- drivers/lguest/page_tables.c | 75 +- drivers/lguest/x86/core.c | 198 ++--- include/linux/lguest_launcher.h | 61 +- tools/lguest/Makefile | 8 +- tools/lguest/lguest.c | 1443 +++++++++++++++++++++++++++-------- 13 files changed, 1572 insertions(+), 1222 deletions(-) delete mode 100644 drivers/lguest/lguest_device.c -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/