From: "Gerd Hoffmann" <kraxel@redhat.com>
To: devel@edk2.groups.io
Cc: "Jordan Justen" <jordan.l.justen@intel.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Jiewen Yao" <jiewen.yao@intel.com>,
"Julien Grall" <julien@xen.org>,
"Stefan Berger" <stefanb@linux.ibm.com>,
"Leif Lindholm" <leif@nuviainc.com>,
"Ard Biesheuvel" <ardb+tianocore@kernel.org>,
"Andrew Fish" <afish@apple.com>,
"Michael D Kinney" <michael.d.kinney@intel.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Anthony Perard" <anthony.perard@citrix.com>,
"Jiewen Yao" <Jiewen.yao@intel.com>
Subject: [PATCH v4 12/20] OvmfPkg/Microvm: PlatformPei/MemDetect tweaks
Date: Thu, 16 Sep 2021 14:20:19 +0200 [thread overview]
Message-ID: <20210916122027.2352393-13-kraxel@redhat.com> (raw)
In-Reply-To: <20210916122027.2352393-1-kraxel@redhat.com>
Set mHostBridgeDevId to MICROVM_PSEUDO_DEVICE_ID using a
compile time switch.
Skip host bridge setup on microvm.
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/MicrovmX64.dsc | 3 +++
OvmfPkg/PlatformPei/MemDetect.c | 5 +++++
OvmfPkg/PlatformPei/Platform.c | 5 +++++
3 files changed, 13 insertions(+)
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
index 019b50de7d8f..a000c195d866 100644
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
@@ -73,6 +73,9 @@ [Defines]
!endif
[BuildOptions]
+ GCC:*_*_*_CC_FLAGS = -DPLATFORM_IS_MICROVM
+ INTEL:*_*_*_CC_FLAGS = /D PLATFORM_IS_MICROVM
+ MSFT:*_*_*_CC_FLAGS = /D PLATFORM_IS_MICROVM
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
diff --git a/OvmfPkg/PlatformPei/MemDetect.c b/OvmfPkg/PlatformPei/MemDetect.c
index 2c2c4641ec8a..8125644bc91a 100644
--- a/OvmfPkg/PlatformPei/MemDetect.c
+++ b/OvmfPkg/PlatformPei/MemDetect.c
@@ -15,6 +15,7 @@ Module Name:
//
#include <IndustryStandard/E820.h>
#include <IndustryStandard/I440FxPiix4.h>
+#include <IndustryStandard/Microvm.h>
#include <IndustryStandard/Q35MchIch9.h>
#include <PiPei.h>
#include <Register/Intel/SmramSaveStateMap.h>
@@ -135,6 +136,10 @@ QemuUc32BaseInitialization (
UINT32 LowerMemorySize;
UINT32 Uc32Size;
+ if (mHostBridgeDevId == MICROVM_PSEUDO_DEVICE_ID) {
+ return;
+ }
+
if (mHostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID) {
//
// On q35, the 32-bit area that we'll mark as UC, through variable MTRRs,
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
index d3a20122a2ea..ed93d11c8ac6 100644
--- a/OvmfPkg/PlatformPei/Platform.c
+++ b/OvmfPkg/PlatformPei/Platform.c
@@ -31,6 +31,7 @@
#include <Library/ResourcePublicationLib.h>
#include <Ppi/MasterBootMode.h>
#include <IndustryStandard/I440FxPiix4.h>
+#include <IndustryStandard/Microvm.h>
#include <IndustryStandard/Pci22.h>
#include <IndustryStandard/Q35MchIch9.h>
#include <IndustryStandard/QemuCpuHotplug.h>
@@ -714,7 +715,11 @@ InitializePlatform (
//
// Query Host Bridge DID
//
+#ifdef PLATFORM_IS_MICROVM
+ mHostBridgeDevId = MICROVM_PSEUDO_DEVICE_ID;
+#else
mHostBridgeDevId = PciRead16 (OVMF_HOSTBRIDGE_DID);
+#endif
MaxCpuCountInitialization ();
--
2.31.1
next prev parent reply other threads:[~2021-09-16 12:21 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-16 12:20 [PATCH v4 00/20] OvmfPkg: Add support for microvm machine type Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 01/20] OvmfPkg/Microvm: copy OvmfPkgX64 files as-is Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 02/20] OvmfPkg/Microvm: rename output files, fix includes Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 03/20] OvmfPkg/Microvm: no smm Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 04/20] OvmfPkg/Microvm: no secure boot Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 05/20] OvmfPkg/Microvm: no tpm Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 06/20] OvmfPkg/Microvm: no sev Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 07/20] OvmfPkg/Microvm: no csm Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 08/20] OvmfPkg/Microvm: no emulated scsi Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 09/20] OvmfPkg/Microvm: use MdePkg/Library/SecPeiDxeTimerLibCpu Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 10/20] OvmfPkg/Microvm: use XenTimerDxe (lapic timer) Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 11/20] OvmfPkg/Microvm: add header file Gerd Hoffmann
2021-09-16 12:20 ` Gerd Hoffmann [this message]
2021-09-16 12:20 ` [PATCH v4 13/20] OvmfPkg/Microvm: PlatformPei/Platform memory map tweaks Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 14/20] OvmfPkg/Microvm: PlatformPei/Platform: set id Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 15/20] OvmfPkg/ResetSystemLib: add driver for microvm Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 16/20] OvmfPkg/Microvm: BdsPlatform: PciAcpiInitialization tweak Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 17/20] OvmfPkg/Microvm: use PciHostBridgeLibNull Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 18/20] OvmfPkg/Microvm: wire up serial console, drop super-io Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 19/20] OvmfPkg/Microvm: add README Gerd Hoffmann
2021-09-16 12:20 ` [PATCH v4 20/20] OvmfPkg/Microvm: add Maintainers.txt entry Gerd Hoffmann
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=20210916122027.2352393-13-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