mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 21:54:27 +02:00
OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
Stop using the mPlatformInfoHob global variable in Q35TsegMbytesInitialization() and Q35SmramAtDefaultSmbaseInitialization() ) functions. Pass a pointer to the PlatformInfoHob instead. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Tested-by: Tom Lendacky <thomas.lendacky@amd.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
parent
9d9d15b42a
commit
00743d144b
@ -41,13 +41,13 @@ Module Name:
|
|||||||
|
|
||||||
VOID
|
VOID
|
||||||
Q35TsegMbytesInitialization (
|
Q35TsegMbytesInitialization (
|
||||||
VOID
|
IN OUT EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UINT16 ExtendedTsegMbytes;
|
UINT16 ExtendedTsegMbytes;
|
||||||
RETURN_STATUS PcdStatus;
|
RETURN_STATUS PcdStatus;
|
||||||
|
|
||||||
ASSERT (mPlatformInfoHob.HostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID);
|
ASSERT (PlatformInfoHob->HostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Check if QEMU offers an extended TSEG.
|
// Check if QEMU offers an extended TSEG.
|
||||||
@ -68,7 +68,7 @@ Q35TsegMbytesInitialization (
|
|||||||
PciWrite16 (DRAMC_REGISTER_Q35 (MCH_EXT_TSEG_MB), MCH_EXT_TSEG_MB_QUERY);
|
PciWrite16 (DRAMC_REGISTER_Q35 (MCH_EXT_TSEG_MB), MCH_EXT_TSEG_MB_QUERY);
|
||||||
ExtendedTsegMbytes = PciRead16 (DRAMC_REGISTER_Q35 (MCH_EXT_TSEG_MB));
|
ExtendedTsegMbytes = PciRead16 (DRAMC_REGISTER_Q35 (MCH_EXT_TSEG_MB));
|
||||||
if (ExtendedTsegMbytes == MCH_EXT_TSEG_MB_QUERY) {
|
if (ExtendedTsegMbytes == MCH_EXT_TSEG_MB_QUERY) {
|
||||||
mPlatformInfoHob.Q35TsegMbytes = PcdGet16 (PcdQ35TsegMbytes);
|
PlatformInfoHob->Q35TsegMbytes = PcdGet16 (PcdQ35TsegMbytes);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,19 +80,19 @@ Q35TsegMbytesInitialization (
|
|||||||
));
|
));
|
||||||
PcdStatus = PcdSet16S (PcdQ35TsegMbytes, ExtendedTsegMbytes);
|
PcdStatus = PcdSet16S (PcdQ35TsegMbytes, ExtendedTsegMbytes);
|
||||||
ASSERT_RETURN_ERROR (PcdStatus);
|
ASSERT_RETURN_ERROR (PcdStatus);
|
||||||
mPlatformInfoHob.Q35TsegMbytes = ExtendedTsegMbytes;
|
PlatformInfoHob->Q35TsegMbytes = ExtendedTsegMbytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
Q35SmramAtDefaultSmbaseInitialization (
|
Q35SmramAtDefaultSmbaseInitialization (
|
||||||
VOID
|
IN OUT EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
RETURN_STATUS PcdStatus;
|
RETURN_STATUS PcdStatus;
|
||||||
|
|
||||||
ASSERT (mPlatformInfoHob.HostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID);
|
ASSERT (PlatformInfoHob->HostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID);
|
||||||
|
|
||||||
mPlatformInfoHob.Q35SmramAtDefaultSmbase = FALSE;
|
PlatformInfoHob->Q35SmramAtDefaultSmbase = FALSE;
|
||||||
if (FeaturePcdGet (PcdCsmEnable)) {
|
if (FeaturePcdGet (PcdCsmEnable)) {
|
||||||
DEBUG ((
|
DEBUG ((
|
||||||
DEBUG_INFO,
|
DEBUG_INFO,
|
||||||
@ -106,19 +106,19 @@ Q35SmramAtDefaultSmbaseInitialization (
|
|||||||
CtlReg = DRAMC_REGISTER_Q35 (MCH_DEFAULT_SMBASE_CTL);
|
CtlReg = DRAMC_REGISTER_Q35 (MCH_DEFAULT_SMBASE_CTL);
|
||||||
PciWrite8 (CtlReg, MCH_DEFAULT_SMBASE_QUERY);
|
PciWrite8 (CtlReg, MCH_DEFAULT_SMBASE_QUERY);
|
||||||
CtlRegVal = PciRead8 (CtlReg);
|
CtlRegVal = PciRead8 (CtlReg);
|
||||||
mPlatformInfoHob.Q35SmramAtDefaultSmbase = (BOOLEAN)(CtlRegVal ==
|
PlatformInfoHob->Q35SmramAtDefaultSmbase = (BOOLEAN)(CtlRegVal ==
|
||||||
MCH_DEFAULT_SMBASE_IN_RAM);
|
MCH_DEFAULT_SMBASE_IN_RAM);
|
||||||
DEBUG ((
|
DEBUG ((
|
||||||
DEBUG_INFO,
|
DEBUG_INFO,
|
||||||
"%a: SMRAM at default SMBASE %a\n",
|
"%a: SMRAM at default SMBASE %a\n",
|
||||||
__FUNCTION__,
|
__FUNCTION__,
|
||||||
mPlatformInfoHob.Q35SmramAtDefaultSmbase ? "found" : "not found"
|
PlatformInfoHob->Q35SmramAtDefaultSmbase ? "found" : "not found"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
PcdStatus = PcdSetBoolS (
|
PcdStatus = PcdSetBoolS (
|
||||||
PcdQ35SmramAtDefaultSmbase,
|
PcdQ35SmramAtDefaultSmbase,
|
||||||
mPlatformInfoHob.Q35SmramAtDefaultSmbase
|
PlatformInfoHob->Q35SmramAtDefaultSmbase
|
||||||
);
|
);
|
||||||
ASSERT_RETURN_ERROR (PcdStatus);
|
ASSERT_RETURN_ERROR (PcdStatus);
|
||||||
}
|
}
|
||||||
|
@ -357,8 +357,8 @@ InitializePlatform (
|
|||||||
|
|
||||||
if (mPlatformInfoHob.SmmSmramRequire) {
|
if (mPlatformInfoHob.SmmSmramRequire) {
|
||||||
Q35BoardVerification ();
|
Q35BoardVerification ();
|
||||||
Q35TsegMbytesInitialization ();
|
Q35TsegMbytesInitialization (&mPlatformInfoHob);
|
||||||
Q35SmramAtDefaultSmbaseInitialization ();
|
Q35SmramAtDefaultSmbaseInitialization (&mPlatformInfoHob);
|
||||||
}
|
}
|
||||||
|
|
||||||
PublishPeiMemory ();
|
PublishPeiMemory ();
|
||||||
|
@ -22,12 +22,12 @@ AddressWidthInitialization (
|
|||||||
|
|
||||||
VOID
|
VOID
|
||||||
Q35TsegMbytesInitialization (
|
Q35TsegMbytesInitialization (
|
||||||
VOID
|
IN OUT EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
Q35SmramAtDefaultSmbaseInitialization (
|
Q35SmramAtDefaultSmbaseInitialization (
|
||||||
VOID
|
IN OUT EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||||
);
|
);
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user