qemu-devel
[Top][All Lists]
Advanced

[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.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]