* [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches
@ 2021-11-03 15:06 Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 1/5] OvmfPkg/Microvm/fdt: add device tree support Gerd Hoffmann
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Gerd Hoffmann @ 2021-11-03 15:06 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Gerd Hoffmann, Jordan Justen, Ard Biesheuvel
Adds support for virtio-mmio devices to microvm.
While being at it also add the README, the
patch somehow disappeared from the first batch.
v2:
- qemu changes needed for this are merged and will be
in the 6.2 release (dec 2021).
- more verbose commit messages.
Gerd Hoffmann (5):
OvmfPkg/Microvm/fdt: add device tree support
OvmfPkg/Microvm/fdt: load fdt from fw_cfg
OvmfPkg/Microvm/fdt: add empty fdt
OvmfPkg/Microvm/virtio: add virtio-mmio support
OvmfPkg/Microvm: add README
OvmfPkg/Microvm/MicrovmX64.dsc | 8 ++++
OvmfPkg/Microvm/MicrovmX64.fdf | 3 ++
OvmfPkg/PlatformPei/PlatformPei.inf | 1 +
OvmfPkg/PlatformPei/Platform.c | 58 +++++++++++++++++++++++++++++
OvmfPkg/Microvm/README | 50 +++++++++++++++++++++++++
5 files changed, 120 insertions(+)
create mode 100644 OvmfPkg/Microvm/README
--
2.31.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/5] OvmfPkg/Microvm/fdt: add device tree support
2021-11-03 15:06 [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
@ 2021-11-03 15:06 ` Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 2/5] OvmfPkg/Microvm/fdt: load fdt from fw_cfg Gerd Hoffmann
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Gerd Hoffmann @ 2021-11-03 15:06 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Gerd Hoffmann, Jordan Justen, Ard Biesheuvel
Add fdt parser from EmbeddedPkg (FdtLib and FdtClientDxe) to MicrovmX64.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3689
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
OvmfPkg/Microvm/MicrovmX64.dsc | 6 ++++++
OvmfPkg/Microvm/MicrovmX64.fdf | 2 ++
2 files changed, 8 insertions(+)
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
index 617f92539518..27d2024266c2 100644
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
@@ -232,6 +232,7 @@ [LibraryClasses.common]
VmgExitLib|OvmfPkg/Library/VmgExitLib/VmgExitLib.inf
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
+ FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
[LibraryClasses.common.SEC]
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
@@ -738,6 +739,11 @@ [Components]
#
MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
+ #
+ # device tree
+ #
+ EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
+
#
# SMBIOS Support
#
diff --git a/OvmfPkg/Microvm/MicrovmX64.fdf b/OvmfPkg/Microvm/MicrovmX64.fdf
index 6314014f3de7..cc8892a459ee 100644
--- a/OvmfPkg/Microvm/MicrovmX64.fdf
+++ b/OvmfPkg/Microvm/MicrovmX64.fdf
@@ -277,6 +277,8 @@ [FV.DXEFV]
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+INF EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
+
!if $(TOOL_CHAIN_TAG) != "XCODE5"
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
--
2.31.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/5] OvmfPkg/Microvm/fdt: load fdt from fw_cfg
2021-11-03 15:06 [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 1/5] OvmfPkg/Microvm/fdt: add device tree support Gerd Hoffmann
@ 2021-11-03 15:06 ` Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 3/5] OvmfPkg/Microvm/fdt: add empty fdt Gerd Hoffmann
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Gerd Hoffmann @ 2021-11-03 15:06 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Gerd Hoffmann, Jordan Justen, Ard Biesheuvel
Needed for hardware detection: virtio-mmio devices for now,
later also pcie root bridge.
Depends on patched qemu which actually provides an fdt:
https://gitlab.com/kraxel/qemu/-/commits/sirius/microvm-device-tree
https://bugzilla.tianocore.org/show_bug.cgi?id=3689
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
OvmfPkg/PlatformPei/PlatformPei.inf | 1 +
OvmfPkg/PlatformPei/Platform.c | 40 +++++++++++++++++++++++++++++
2 files changed, 41 insertions(+)
diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf
index 67eb7aa7166b..56876184b17a 100644
--- a/OvmfPkg/PlatformPei/PlatformPei.inf
+++ b/OvmfPkg/PlatformPei/PlatformPei.inf
@@ -44,6 +44,7 @@ [Packages]
[Guids]
gEfiMemoryTypeInformationGuid
+ gFdtHobGuid
[LibraryClasses]
BaseLib
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
index df2d9ad015aa..3c0cdba67c83 100644
--- a/OvmfPkg/PlatformPei/Platform.c
+++ b/OvmfPkg/PlatformPei/Platform.c
@@ -321,6 +321,45 @@ PciExBarInitialization (
);
}
+VOID
+MicrovmInitialization (
+ VOID
+ )
+{
+ FIRMWARE_CONFIG_ITEM FdtItem;
+ UINTN FdtSize;
+ UINTN FdtPages;
+ EFI_STATUS Status;
+ UINT64 *FdtHobData;
+ VOID *NewBase;
+
+ Status = QemuFwCfgFindFile ("etc/fdt", &FdtItem, &FdtSize);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_INFO, "%a: no etc/fdt found in fw_cfg\n", __FUNCTION__));
+ return;
+ }
+
+ FdtPages = EFI_SIZE_TO_PAGES (FdtSize);
+ NewBase = AllocatePages (FdtPages);
+ if (NewBase == NULL) {
+ DEBUG ((DEBUG_INFO, "%a: AllocatePages failed\n", __FUNCTION__));
+ return;
+ }
+
+ QemuFwCfgSelectItem (FdtItem);
+ QemuFwCfgReadBytes (FdtSize, NewBase);
+
+ FdtHobData = BuildGuidHob (&gFdtHobGuid, sizeof (*FdtHobData));
+ if (FdtHobData == NULL) {
+ DEBUG ((DEBUG_INFO, "%a: BuildGuidHob failed\n", __FUNCTION__));
+ return;
+ }
+
+ DEBUG ((DEBUG_INFO, "%a: fdt at 0x%x (size %d)\n", __FUNCTION__,
+ NewBase, FdtSize));
+ *FdtHobData = (UINTN)NewBase;
+}
+
VOID
MiscInitialization (
VOID
@@ -368,6 +407,7 @@ MiscInitialization (
break;
case 0xffff: /* microvm */
DEBUG ((DEBUG_INFO, "%a: microvm\n", __FUNCTION__));
+ MicrovmInitialization();
PcdStatus = PcdSet16S (PcdOvmfHostBridgePciDevId,
MICROVM_PSEUDO_DEVICE_ID);
ASSERT_RETURN_ERROR (PcdStatus);
--
2.31.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/5] OvmfPkg/Microvm/fdt: add empty fdt
2021-11-03 15:06 [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 1/5] OvmfPkg/Microvm/fdt: add device tree support Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 2/5] OvmfPkg/Microvm/fdt: load fdt from fw_cfg Gerd Hoffmann
@ 2021-11-03 15:06 ` Gerd Hoffmann
2021-11-09 8:54 ` [edk2-devel] " Philippe Mathieu-Daudé
2021-11-03 15:06 ` [PATCH v2 4/5] OvmfPkg/Microvm/virtio: add virtio-mmio support Gerd Hoffmann
` (2 subsequent siblings)
5 siblings, 1 reply; 9+ messages in thread
From: Gerd Hoffmann @ 2021-11-03 15:06 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Gerd Hoffmann, Jordan Justen, Ard Biesheuvel
FdtClient is unhappy without a device tree, so add an empty fdt
which we can use in case etc/fdt is not present in fw_cfg.
On ARM machines a device tree is mandatory for hardware detection,
thats why FdtClient fails hard.
On microvm the device tree is only used to detect virtio-mmio devices
(this patch series) and the pcie host (future series). So edk2 can
continue with limited functionality in case no device tree is present:
no storage, no network, but serial console and direct kernel boot
works.
qemu release 6.2 & newer will provide a device tree for microvm.
https://bugzilla.tianocore.org/show_bug.cgi?id=3689
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
OvmfPkg/PlatformPei/Platform.c | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
index 3c0cdba67c83..5071389c1fb4 100644
--- a/OvmfPkg/PlatformPei/Platform.c
+++ b/OvmfPkg/PlatformPei/Platform.c
@@ -16,6 +16,7 @@
//
// The Library classes this module consumes
//
+#include <Library/BaseMemoryLib.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/HobLib.h>
@@ -321,6 +322,18 @@ PciExBarInitialization (
);
}
+static const UINT8 EmptyFdt[] = {
+ 0xd0, 0x0d, 0xfe, 0xed, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+};
+
VOID
MicrovmInitialization (
VOID
@@ -335,8 +348,9 @@ MicrovmInitialization (
Status = QemuFwCfgFindFile ("etc/fdt", &FdtItem, &FdtSize);
if (EFI_ERROR (Status)) {
- DEBUG ((DEBUG_INFO, "%a: no etc/fdt found in fw_cfg\n", __FUNCTION__));
- return;
+ DEBUG ((DEBUG_INFO, "%a: no etc/fdt found in fw_cfg, using dummy\n", __FUNCTION__));
+ FdtItem = 0;
+ FdtSize = sizeof(EmptyFdt);
}
FdtPages = EFI_SIZE_TO_PAGES (FdtSize);
@@ -346,8 +360,12 @@ MicrovmInitialization (
return;
}
- QemuFwCfgSelectItem (FdtItem);
- QemuFwCfgReadBytes (FdtSize, NewBase);
+ if (FdtItem) {
+ QemuFwCfgSelectItem (FdtItem);
+ QemuFwCfgReadBytes (FdtSize, NewBase);
+ } else {
+ CopyMem(NewBase, EmptyFdt, FdtSize);
+ }
FdtHobData = BuildGuidHob (&gFdtHobGuid, sizeof (*FdtHobData));
if (FdtHobData == NULL) {
--
2.31.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/5] OvmfPkg/Microvm/virtio: add virtio-mmio support
2021-11-03 15:06 [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
` (2 preceding siblings ...)
2021-11-03 15:06 ` [PATCH v2 3/5] OvmfPkg/Microvm/fdt: add empty fdt Gerd Hoffmann
@ 2021-11-03 15:06 ` Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 5/5] OvmfPkg/Microvm: add README Gerd Hoffmann
2021-11-09 7:13 ` [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
5 siblings, 0 replies; 9+ messages in thread
From: Gerd Hoffmann @ 2021-11-03 15:06 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Gerd Hoffmann, Jordan Justen, Ard Biesheuvel
Add virtio-mmio support (VirtioMmioDeviceLib and VirtioFdtDxe).
With this patch added and a new enough qemu version (6.2+) edk2
will detect virtio-mmio devices, so it is possible to boot from
storage (virtio-blk, virtio-scsi) or network (virtio-net).
https://bugzilla.tianocore.org/show_bug.cgi?id=3689
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
OvmfPkg/Microvm/MicrovmX64.dsc | 2 ++
OvmfPkg/Microvm/MicrovmX64.fdf | 1 +
2 files changed, 3 insertions(+)
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
index 27d2024266c2..85afdca9beba 100644
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
@@ -233,6 +233,7 @@ [LibraryClasses.common]
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
+ VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
[LibraryClasses.common.SEC]
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
@@ -743,6 +744,7 @@ [Components]
# device tree
#
EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
+ OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
#
# SMBIOS Support
diff --git a/OvmfPkg/Microvm/MicrovmX64.fdf b/OvmfPkg/Microvm/MicrovmX64.fdf
index cc8892a459ee..0bf20a702764 100644
--- a/OvmfPkg/Microvm/MicrovmX64.fdf
+++ b/OvmfPkg/Microvm/MicrovmX64.fdf
@@ -278,6 +278,7 @@ [FV.DXEFV]
INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
INF EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
+INF OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
!if $(TOOL_CHAIN_TAG) != "XCODE5"
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
--
2.31.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 5/5] OvmfPkg/Microvm: add README
2021-11-03 15:06 [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
` (3 preceding siblings ...)
2021-11-03 15:06 ` [PATCH v2 4/5] OvmfPkg/Microvm/virtio: add virtio-mmio support Gerd Hoffmann
@ 2021-11-03 15:06 ` Gerd Hoffmann
2021-11-09 8:56 ` [edk2-devel] " Philippe Mathieu-Daudé
2021-11-09 7:13 ` [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
5 siblings, 1 reply; 9+ messages in thread
From: Gerd Hoffmann @ 2021-11-03 15:06 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Gerd Hoffmann, Jordan Justen, Ard Biesheuvel,
Jiewen Yao
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3599
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
---
OvmfPkg/Microvm/README | 50 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 OvmfPkg/Microvm/README
diff --git a/OvmfPkg/Microvm/README b/OvmfPkg/Microvm/README
new file mode 100644
index 000000000000..82e2bfe03d37
--- /dev/null
+++ b/OvmfPkg/Microvm/README
@@ -0,0 +1,50 @@
+
+This is an *experimental* port of OVMF for the qemu microvm
+machine type.
+
+microvm background info
+-----------------------
+
+microvm is designed for modern, virtio-based workloads. Most legacy
+lpc/isa devices like pit and pic can be turned off. virtio-mmio
+(i.e. '-device virtio-{blk,net,scsi,...}-device') is used for
+storage/network/etc.
+
+Optional pcie support is available and any pcie device supported by
+qemu can be plugged in (including virtio-pci if you prefer that over
+virtio-mmio).
+
+https://qemu.readthedocs.io/en/latest/system/i386/microvm.html
+https://www.kraxel.org/blog/2020/10/qemu-microvm-acpi/
+
+design issues
+-------------
+
+Not fully clear yet how to do hardware detection best. Right now
+using device tree to find virtio-mmio devices and pcie host bridge,
+can reuse existing ArmVirtPkg code that way. Needs patched qemu.
+
+features
+--------
+ [working] serial console
+ [working] direct kernel boot
+ [working] virtio-mmio support
+ [in progress] pcie support
+
+known limitations
+-----------------
+ * rtc=on is required for now.
+ * can't use separate code/vars (actually an microvm limitation,
+ there is no pflash support).
+ * transitional virtio-pci devices do not work. microvm doesn't
+ support ioports on pcie, and ovmf doesn't initialize pcie devices
+ with ioports if there is no address space for them (even though
+ pcie devices are required to be functional without ioports).
+
+usage
+-----
+qemu-system-x86_64 \
+ -nographic \
+ -machine microvm,acpi=on,pit=off,pic=off,rtc=on \
+ -bios /path/to/MICROVM.fd \
+ [ ... more args here ... ]
--
2.31.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches
2021-11-03 15:06 [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
` (4 preceding siblings ...)
2021-11-03 15:06 ` [PATCH v2 5/5] OvmfPkg/Microvm: add README Gerd Hoffmann
@ 2021-11-09 7:13 ` Gerd Hoffmann
5 siblings, 0 replies; 9+ messages in thread
From: Gerd Hoffmann @ 2021-11-09 7:13 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Jordan Justen, Ard Biesheuvel
On Wed, Nov 03, 2021 at 04:06:22PM +0100, Gerd Hoffmann wrote:
> Adds support for virtio-mmio devices to microvm.
>
> While being at it also add the README, the
> patch somehow disappeared from the first batch.
>
> v2:
> - qemu changes needed for this are merged and will be
> in the 6.2 release (dec 2021).
> - more verbose commit messages.
Ping. Anything missing here?
thanks,
Gerd
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [edk2-devel] [PATCH v2 3/5] OvmfPkg/Microvm/fdt: add empty fdt
2021-11-03 15:06 ` [PATCH v2 3/5] OvmfPkg/Microvm/fdt: add empty fdt Gerd Hoffmann
@ 2021-11-09 8:54 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-11-09 8:54 UTC (permalink / raw)
To: devel, kraxel; +Cc: Jiewen Yao, Jordan Justen, Ard Biesheuvel
On 11/3/21 16:06, Gerd Hoffmann wrote:
> FdtClient is unhappy without a device tree, so add an empty fdt
> which we can use in case etc/fdt is not present in fw_cfg.
>
> On ARM machines a device tree is mandatory for hardware detection,
> thats why FdtClient fails hard.
>
> On microvm the device tree is only used to detect virtio-mmio devices
> (this patch series) and the pcie host (future series). So edk2 can
> continue with limited functionality in case no device tree is present:
> no storage, no network, but serial console and direct kernel boot
> works.
>
> qemu release 6.2 & newer will provide a device tree for microvm.
>
> https://bugzilla.tianocore.org/show_bug.cgi?id=3689
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> OvmfPkg/PlatformPei/Platform.c | 26 ++++++++++++++++++++++----
> 1 file changed, 22 insertions(+), 4 deletions(-)
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [edk2-devel] [PATCH v2 5/5] OvmfPkg/Microvm: add README
2021-11-03 15:06 ` [PATCH v2 5/5] OvmfPkg/Microvm: add README Gerd Hoffmann
@ 2021-11-09 8:56 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-11-09 8:56 UTC (permalink / raw)
To: devel, kraxel; +Cc: Jiewen Yao, Jordan Justen, Ard Biesheuvel
On 11/3/21 16:06, Gerd Hoffmann wrote:
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3599
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
> ---
> OvmfPkg/Microvm/README | 50 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 50 insertions(+)
> create mode 100644 OvmfPkg/Microvm/README
>
> diff --git a/OvmfPkg/Microvm/README b/OvmfPkg/Microvm/README
> new file mode 100644
> index 000000000000..82e2bfe03d37
> --- /dev/null
> +++ b/OvmfPkg/Microvm/README
> @@ -0,0 +1,50 @@
> +
> +This is an *experimental* port of OVMF for the qemu microvm
> +machine type.
'QEMU' uppercase?
> +microvm background info
> +-----------------------
> +
> +microvm is designed for modern, virtio-based workloads. Most legacy
> +lpc/isa devices like pit and pic can be turned off. virtio-mmio
> +(i.e. '-device virtio-{blk,net,scsi,...}-device') is used for
> +storage/network/etc.
> +
> +Optional pcie support is available and any pcie device supported by
> +qemu can be plugged in (including virtio-pci if you prefer that over
> +virtio-mmio).
Ditto.
> +https://qemu.readthedocs.io/en/latest/system/i386/microvm.html
> +https://www.kraxel.org/blog/2020/10/qemu-microvm-acpi/
> +
> +design issues
> +-------------
> +
> +Not fully clear yet how to do hardware detection best. Right now
> +using device tree to find virtio-mmio devices and pcie host bridge,
> +can reuse existing ArmVirtPkg code that way. Needs patched qemu.
Ditto.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-11-09 8:56 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-03 15:06 [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 1/5] OvmfPkg/Microvm/fdt: add device tree support Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 2/5] OvmfPkg/Microvm/fdt: load fdt from fw_cfg Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 3/5] OvmfPkg/Microvm/fdt: add empty fdt Gerd Hoffmann
2021-11-09 8:54 ` [edk2-devel] " Philippe Mathieu-Daudé
2021-11-03 15:06 ` [PATCH v2 4/5] OvmfPkg/Microvm/virtio: add virtio-mmio support Gerd Hoffmann
2021-11-03 15:06 ` [PATCH v2 5/5] OvmfPkg/Microvm: add README Gerd Hoffmann
2021-11-09 8:56 ` [edk2-devel] " Philippe Mathieu-Daudé
2021-11-09 7:13 ` [PATCH v2 0/5] [RfC] OvmfPkg/Microvm: second batch of microvm patches Gerd Hoffmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox