Now that the SMRAM at the default SMBASE is honored everywhere necessary, implement the actual detection. The (simple) steps are described in previous patch "OvmfPkg/IndustryStandard: add MCH_DEFAULT_SMBASE* register macros".
Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> Cc: Brijesh Singh <brijesh.si...@amd.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Joao M Martins <joao.m.mart...@oracle.com> Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: Jun Nakajima <jun.nakaj...@intel.com> Cc: Michael Kinney <michael.d.kin...@intel.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Phillip Goerl <phillip.go...@oracle.com> Cc: Yingwen Chen <yingwen.c...@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1512 Signed-off-by: Laszlo Ersek <ler...@redhat.com> --- OvmfPkg/PlatformPei/MemDetect.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/PlatformPei/MemDetect.c b/OvmfPkg/PlatformPei/MemDetect.c index 8fdc9c2ed7c9..3364193b4952 100644 --- a/OvmfPkg/PlatformPei/MemDetect.c +++ b/OvmfPkg/PlatformPei/MemDetect.c @@ -98,14 +98,23 @@ Q35SmramAtDefaultSmbaseInitialization ( VOID ) { + UINTN CtlReg; + UINT8 CtlRegVal; RETURN_STATUS PcdStatus; ASSERT (mHostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID); - mQ35SmramAtDefaultSmbase = FALSE; + CtlReg = DRAMC_REGISTER_Q35 (MCH_DEFAULT_SMBASE_CTL); + PciWrite8 (CtlReg, MCH_DEFAULT_SMBASE_QUERY); + CtlRegVal = PciRead8 (CtlReg); + + mQ35SmramAtDefaultSmbase = (BOOLEAN)(CtlRegVal == MCH_DEFAULT_SMBASE_IN_RAM); PcdStatus = PcdSetBoolS (PcdQ35SmramAtDefaultSmbase, mQ35SmramAtDefaultSmbase); ASSERT_RETURN_ERROR (PcdStatus); + if (mQ35SmramAtDefaultSmbase) { + DEBUG ((DEBUG_INFO, "%a: SMRAM at default SMBASE found\n", __FUNCTION__)); + } } -- 2.19.1.3.g30247aa5d201 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#47934): https://edk2.groups.io/g/devel/message/47934 Mute This Topic: https://groups.io/mt/34274946/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-