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 <kra...@redhat.com> Acked-by: Jiewen Yao <jiewen....@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 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#80794): https://edk2.groups.io/g/devel/message/80794 Mute This Topic: https://groups.io/mt/85649943/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-