[PATCH 00/29] lguest virtio PCI 1.0 adaptation.

From: Rusty Russell
Date: Fri Feb 06 2015 - 00:22:41 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/