On 02/10/2019 13.31, Sergio Lopez wrote:
> Microvm is a machine type inspired by Firecracker and constructed
> after the its machine model.
>
> It's a minimalist machine type without PCI nor ACPI support, designed
> for short-lived guests. Microvm also establishes a baseline for
> benchmarking and optimizing both QEMU and guest operating systems,
> since it is optimized for both boot time and footprint.
>
> Signed-off-by: Sergio Lopez <[email protected]>
> ---
> default-configs/i386-softmmu.mak | 1 +
> hw/i386/Kconfig | 4 +
> hw/i386/Makefile.objs | 1 +
> hw/i386/microvm.c | 574 +++++++++++++++++++++++++++++++
> include/hw/i386/microvm.h | 83 +++++
> 5 files changed, 663 insertions(+)
> create mode 100644 hw/i386/microvm.c
> create mode 100644 include/hw/i386/microvm.h
>
> diff --git a/default-configs/i386-softmmu.mak
> b/default-configs/i386-softmmu.mak
> index 4229900f57..4cc64dafa2 100644
> --- a/default-configs/i386-softmmu.mak
> +++ b/default-configs/i386-softmmu.mak
> @@ -28,3 +28,4 @@
> CONFIG_ISAPC=y
> CONFIG_I440FX=y
> CONFIG_Q35=y
> +CONFIG_MICROVM=y
> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> index c5c9d4900e..d399dcba52 100644
> --- a/hw/i386/Kconfig
> +++ b/hw/i386/Kconfig
> @@ -92,6 +92,10 @@ config Q35
> select SMBIOS
> select FW_CFG_DMA
>
> +config MICROVM
> + bool
> + select VIRTIO_MMIO
You also need these switches, I think:
select I8259
select ISA_BUS
select SERIAL_ISA
select MC146818RTC
(ideally, it should be possible to disable all the other machines in
default-configs/i386-softmmu.mak and only compile with CONFIG_MICROVM=y
... but seems like there are also some other indirect dependencies left)
Thomas