[Kata-hypervisor] Link to the Hypervisor Prototype

Paolo Bonzini pbonzini at redhat.com
Wed Jun 13 17:25:10 UTC 2018


On 13/06/2018 18:54, Samuel Ortiz wrote:
> This is
> going to be a simplified, emulation free and virtual hardware based
> machine type for running modern cloud and container workloads.
> We believe that this new machine type will allow us to reduce even
> further the number of devices that QEMU needs to support in order to run
> this kind of workloads.
> 
> We will start by implementing this new machine type on top of an
> upstream QEMU code base, as we hope that this could become upstream
> acceptable material.
> Then we will re-run our automatic code reduction tooling on top of a
> QEMU code base that would only support this machine type and the ARM
> virt one. This will become the new NEMU master branch.

Some notes:

- the ARM virt machine type is not a "virtual hardware platform".  It
has PL011 serial, PL031 RTC, PL061 GPIO controller, a generic PCIe
bridge, fw_cfg for the firmware to get data from QEMU, and emulated
flash.  The idea behind the ARM virt machine type is simply to make
everything discoverable via device tree; the "virtualness" of it is
simply that the device tree is provided by QEMU and not embedded into
something like U-Boot or Linux.

- support for legacy BIOS is irrelevant to QEMU; if any developer wants
to port SeaBIOS to this new machine, why not?  SeaBIOS is already very
modular (and qboot is not particularly faster than a properly configured
SeaBIOS).

- UEFI runtime services need to provide an RTC, so you need to emulate one.

- without MCH, you'll have to find a different way to handle SMRAM.

- no ISA means no serial port for early boot messages, no debug port for
firmware logs, and more painful debugging in general.  I'm not sure
that's a good idea.  Of course you don't want any IDE or floppy crap,
but that's orthogonal to having ISA.

- no LPC also means no hotplug (on q35; on PIIX hotplug was part of the
SMBus controller, which you probably don't want anyway).  So you'd have
to reinvent something very similar to a PCH anyway in order to provide
hotplug.


IMNSHO, a more interesting starting point would be to upstream the
patches to remove legacy devices from the binary (e.g. the infamous floppy).

Paolo



More information about the Kata-hypervisor mailing list