123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- /** @file
- This file is DxeTbtPolicyLib library.
- Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #include <DxeTbtPolicyLibrary.h>
- #include <TbtBoardInfo.h>
- #include <Protocol/DxeTbtPolicy.h>
- #include <Guid/HobList.h>
- #include <Library/HobLib.h>
- /**
- Update Tbt Policy Callback
- **/
- VOID
- EFIAPI
- UpdateTbtPolicyCallback (
- VOID
- )
- {
- EFI_STATUS Status;
- DXE_TBT_POLICY_PROTOCOL *DxeTbtConfig;
- DxeTbtConfig = NULL;
- Status = EFI_NOT_FOUND;
- DEBUG ((DEBUG_INFO, "UpdateTbtPolicyCallback\n"));
- Status = gBS->LocateProtocol (
- &gDxeTbtPolicyProtocolGuid,
- NULL,
- (VOID **) &DxeTbtConfig
- );
- if (EFI_ERROR (Status)) {
- DEBUG ((DEBUG_ERROR, " gDxeTbtPolicyProtocolGuid Not installed!!!\n"));
- } else {
- }
- return;
- }
- /**
- Print DXE TBT Policy
- **/
- VOID
- TbtPrintDxePolicyConfig (
- VOID
- )
- {
- EFI_STATUS Status;
- UINT8 Index;
- DXE_TBT_POLICY_PROTOCOL *DxeTbtConfig;
- DEBUG ((DEBUG_INFO, "TbtPrintDxePolicyConfig Start\n"));
- DxeTbtConfig = NULL;
- Status = EFI_NOT_FOUND;
- Status = gBS->LocateProtocol (
- &gDxeTbtPolicyProtocolGuid,
- NULL,
- (VOID **) &DxeTbtConfig
- );
- if (EFI_ERROR (Status)) {
- DEBUG ((DEBUG_ERROR, " gDxeTbtPolicyProtocolGuid Not installed!!!\n"));
- }
- ASSERT_EFI_ERROR (Status);
- //
- // Print DTBT Policy
- //
- DEBUG ((DEBUG_ERROR, " ========================= DXE TBT POLICY ========================= \n"));
- for (Index = 0; Index < MAX_DTBT_CONTROLLER_NUMBER; Index++) {
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->DTbtResourceConfig[%x].DTbtPcieExtraBusRsvd = %x\n", Index, DxeTbtConfig->DTbtResourceConfig[Index].DTbtPcieExtraBusRsvd));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->DTbtResourceConfig[%x].DTbtPcieMemRsvd = %x\n", Index, DxeTbtConfig->DTbtResourceConfig[Index].DTbtPcieMemRsvd));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->DTbtResourceConfig[%x].DTbtPcieMemAddrRngMax = %x\n", Index, DxeTbtConfig->DTbtResourceConfig[Index].DTbtPcieMemAddrRngMax));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->DTbtResourceConfig[%x].DTbtPciePMemRsvd = %x\n", Index, DxeTbtConfig->DTbtResourceConfig[Index].DTbtPciePMemRsvd));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->DTbtResourceConfig[%x].DTbtPciePMemAddrRngMax = %x\n", Index, DxeTbtConfig->DTbtResourceConfig[Index].DTbtPciePMemAddrRngMax));
- }
- //
- // Print TBT Common Policy
- //
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtAspm = %x\n", DxeTbtConfig->TbtCommonConfig.TbtAspm));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtL1SubStates = %x\n", DxeTbtConfig->TbtCommonConfig.TbtL1SubStates));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtHotNotify = %x\n", DxeTbtConfig->TbtCommonConfig.TbtHotNotify));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtHotSMI = %x\n", DxeTbtConfig->TbtCommonConfig.TbtHotSMI));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtLtr = %x\n", DxeTbtConfig->TbtCommonConfig.TbtLtr));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtPtm = %x\n", DxeTbtConfig->TbtCommonConfig.TbtPtm));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtSetClkReq = %x\n", DxeTbtConfig->TbtCommonConfig.TbtSetClkReq));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtWakeupSupport = %x\n", DxeTbtConfig->TbtCommonConfig.TbtWakeupSupport));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.SecurityMode = %x\n", DxeTbtConfig->TbtCommonConfig.SecurityMode));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.Gpio5Filter = %x\n", DxeTbtConfig->TbtCommonConfig.Gpio5Filter));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TrA0OsupWa = %x\n", DxeTbtConfig->TbtCommonConfig.TrA0OsupWa));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtAcDcSwitch = %x\n", DxeTbtConfig->TbtCommonConfig.TbtAcDcSwitch));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.Rtd3Tbt = %x\n", DxeTbtConfig->TbtCommonConfig.Rtd3Tbt));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.Rtd3TbtOffDelay = %x\n", DxeTbtConfig->TbtCommonConfig.Rtd3TbtOffDelay));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.Rtd3TbtClkReq = %x\n", DxeTbtConfig->TbtCommonConfig.Rtd3TbtClkReq));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.Rtd3TbtClkReqDelay = %x\n", DxeTbtConfig->TbtCommonConfig.Rtd3TbtClkReqDelay));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.Win10Support = %x\n", DxeTbtConfig->TbtCommonConfig.Win10Support));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.TbtVtdBaseSecurity = %x\n", DxeTbtConfig->TbtCommonConfig.TbtVtdBaseSecurity));
- DEBUG ((DEBUG_INFO, "DxeTbtConfig->TbtCommonConfig.ControlIommu = %x\n", DxeTbtConfig->TbtCommonConfig.ControlIommu));
- return;
- }
- /**
- Install Tbt Policy
- @param[in] ImageHandle Image handle of this driver.
- @retval EFI_SUCCESS The policy is installed.
- @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
- **/
- EFI_STATUS
- EFIAPI
- InstallTbtPolicy (
- IN EFI_HANDLE ImageHandle
- )
- {
- EFI_STATUS Status;
- DXE_TBT_POLICY_PROTOCOL *DxeTbtPolicy;
- DEBUG ((DEBUG_INFO, "Install DXE TBT Policy\n"));
- DxeTbtPolicy = NULL;
- //Alloc memory for DxeTbtPolicy
- DxeTbtPolicy = (DXE_TBT_POLICY_PROTOCOL *) AllocateZeroPool (sizeof (DXE_TBT_POLICY_PROTOCOL));
- if (DxeTbtPolicy == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
- Status = gBS->InstallProtocolInterface (
- &ImageHandle,
- &gDxeTbtPolicyProtocolGuid,
- EFI_NATIVE_INTERFACE,
- DxeTbtPolicy
- );
- if (EFI_ERROR (Status)) {
- DEBUG ((DEBUG_ERROR, "Install Tbt Secure Boot List protocol failed\n"));
- }
- return Status;
- }
|