diff --git a/OvmfPkg/SmmControl2Dxe/MmControlPei.c b/OvmfPkg/SmmControl2Dxe/MmControlPei.c index 8feac62e32..3290b639c5 100644 --- a/OvmfPkg/SmmControl2Dxe/MmControlPei.c +++ b/OvmfPkg/SmmControl2Dxe/MmControlPei.c @@ -185,6 +185,7 @@ MmControlPeiEntryPoint ( UINT32 PmBase; UINT32 SmiEnableVal; EFI_STATUS Status; + BOOLEAN NegotiationSuccessful; // // This module should only be included if SMRAM support is required. @@ -244,6 +245,13 @@ MmControlPeiEntryPoint ( goto FatalError; } + // + // QEMU can inject SMIs in different ways, negotiate our preferences. + // + NegotiationSuccessful = NegotiateSmiFeatures (); + + ASSERT (NegotiationSuccessful); + // // We have no pointers to convert to virtual addresses. The handle itself // doesn't matter, as protocol services are not accessible at runtime.