[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 10/10] hw/i386: Introduce the microvm machine type
From: |
Sergio Lopez |
Subject: |
Re: [PATCH v5 10/10] hw/i386: Introduce the microvm machine type |
Date: |
Wed, 02 Oct 2019 15:24:17 +0200 |
User-agent: |
mu4e 1.2.0; emacs 26.2 |
Thomas Huth <address@hidden> writes:
> 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 <address@hidden>
>> ---
>> 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)
Yes, probably others too. I didn't bother building an accurate list of
components, because when I tried disabling PC, the build broke (I don't
remember the details, I think it crashed somewhere around the floppy
disk and something else).
My intention was, if microvm gets merged, to work on the build system to
ensure to make possible a microvm-only build, and fill the actual list
of components then.
Thanks,
Sergio.
signature.asc
Description: PGP signature