public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gerd Hoffmann" <kraxel@redhat.com>
To: devel@edk2.groups.io
Cc: "Jiewen Yao" <jiewen.yao@intel.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Michael D Kinney" <michael.d.kinney@intel.com>,
	"Andrew Fish" <afish@apple.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Jordan Justen" <jordan.l.justen@intel.com>,
	"Leif Lindholm" <leif@nuviainc.com>,
	"Julien Grall" <julien@xen.org>,
	"Anthony Perard" <anthony.perard@citrix.com>,
	"Ard Biesheuvel" <ardb+tianocore@kernel.org>,
	"Stefan Berger" <stefanb@linux.ibm.com>,
	"Jiewen Yao" <Jiewen.yao@intel.com>
Subject: [PATCH v3 18/19] OvmfPkg/Microvm: add README
Date: Wed,  8 Sep 2021 11:01:18 +0200	[thread overview]
Message-ID: <20210908090119.2378189-19-kraxel@redhat.com> (raw)
In-Reply-To: <20210908090119.2378189-1-kraxel@redhat.com>

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 | 54 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 OvmfPkg/Microvm/README

diff --git a/OvmfPkg/Microvm/README b/OvmfPkg/Microvm/README
new file mode 100644
index 000000000000..78c2b53318de
--- /dev/null
+++ b/OvmfPkg/Microvm/README
@@ -0,0 +1,54 @@
+
+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
+ [in progress] 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).
+
+known bugs
+----------
+ * timer has wrong frequency (running fast on my hardware).
+
+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


  parent reply	other threads:[~2021-09-08  9:02 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-08  9:01 [PATCH v3 00/19] OvmfPkg: Add support for microvm machine type Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 01/19] OvmfPkg/Microvm: copy OvmfPkgX64 files as-is Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 02/19] OvmfPkg/Microvm: rename output files, fix includes Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 03/19] OvmfPkg/Microvm: no smm Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 04/19] OvmfPkg/Microvm: no secure boot Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 05/19] OvmfPkg/Microvm: no tpm Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 06/19] OvmfPkg/Microvm: no sev Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 07/19] OvmfPkg/Microvm: no csm Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 08/19] OvmfPkg/Microvm: no emulated scsi Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 09/19] OvmfPkg/Microvm: use MdePkg/Library/SecPeiDxeTimerLibCpu Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 10/19] OvmfPkg/Microvm: use XenTimerDxe (lapic timer) Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 11/19] OvmfPkg/Microvm: PlatformPei/MemDetect tweaks Gerd Hoffmann
2021-09-08 11:06   ` Leif Lindholm
2021-09-08 11:33     ` Gerd Hoffmann
2021-09-08 11:54       ` Leif Lindholm
2021-09-09 10:58         ` Gerd Hoffmann
2021-10-05 10:27           ` Ard Biesheuvel
2021-09-08  9:01 ` [PATCH v3 12/19] OvmfPkg/Microvm: PlatformPei/Platform memory map tweaks Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 13/19] OvmfPkg/Microvm: PlatformPei/Platform: add id Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 14/19] OvmfPkg/ResetSystemLib: add driver for microvm Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 15/19] OvmfPkg/Microvm: BdsPlatform: PciAcpiInitialization tweak Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 16/19] OvmfPkg/Microvm: use PciHostBridgeLibNull Gerd Hoffmann
2021-09-08  9:01 ` [PATCH v3 17/19] OvmfPkg/Microvm: wire up serial console, drop super-io Gerd Hoffmann
2021-09-08  9:01 ` Gerd Hoffmann [this message]
2021-09-08  9:01 ` [PATCH v3 19/19] OvmfPkg/Microvm: add Maintainers.txt entry Gerd Hoffmann
2021-09-08 11:08   ` [edk2-devel] " Leif Lindholm
2021-10-05 10:57 ` [PATCH v3 00/19] OvmfPkg: Add support for microvm machine type Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210908090119.2378189-19-kraxel@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox