/** @file
PCH DMI library with S3 boot script support.
Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "PchDmi14.h"
/**
Configure DMI Lock
**/
VOID
PchDmiSetLockWithS3BootScript (
VOID
)
{
UINT32 Data32Or;
UINT32 Data32And;
UINT16 Address;
Data32And = 0xFFFFFFFF;
PchDmi14SrlRegData (&Address, &Data32Or);
PchPcrAndThenOr32 (
PID_DMI, Address,
Data32And,
Data32Or
);
PCH_PCR_BOOT_SCRIPT_READ_WRITE (
S3BootScriptWidthUint32,
PID_DMI, Address,
&Data32Or,
&Data32And
);
}
/**
Set BIOS interface Lock-Down
**/
VOID
PchDmiSetBiosLockDownWithS3BootScript (
VOID
)
{
UINT32 Data32Or;
UINT32 Data32And;
//
// Set BIOS Lock-Down (BILD)
// When set, prevents GCS.BBS from being changed
//
Data32And = 0xFFFFFFFF;
Data32Or = B_PCH_DMI_PCR_BILD;
PchPcrAndThenOr32 (PID_DMI, R_PCH_DMI_PCR_GCS, Data32And, Data32Or);
PCH_PCR_BOOT_SCRIPT_READ_WRITE (
S3BootScriptWidthUint32,
PID_DMI, R_PCH_DMI_PCR_GCS,
&Data32Or,
&Data32And
);
}