[Kata-hypervisor] Link to the Hypervisor Prototype
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.
- 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
- 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
IMNSHO, a more interesting starting point would be to upstream the
patches to remove legacy devices from the binary (e.g. the infamous floppy).
More information about the Kata-hypervisor