From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com []) by mx.groups.io with SMTP id smtpd.web10.2401.1573615709373949821 for ; Tue, 12 Nov 2019 19:29:16 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: michael.a.kubacki@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Nov 2019 19:29:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,299,1569308400"; d="scan'208";a="379090932" Received: from makuback-desk1.amr.corp.intel.com ([10.7.159.162]) by orsmga005.jf.intel.com with ESMTP; 12 Nov 2019 19:29:15 -0800 From: "Kubacki, Michael A" To: devel@edk2.groups.io Cc: Sai Chaganty , Liming Gao Subject: [edk2-platforms][PATCH V1 15/49] AdvancedFeaturePkg: Remove the IPMI feature Date: Tue, 12 Nov 2019 19:27:41 -0800 Message-Id: <20191113032816.4056-16-michael.a.kubacki@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: <20191113032816.4056-1-michael.a.kubacki@intel.com> References: <20191113032816.4056-1-michael.a.kubacki@intel.com> Removes the IPMI feature from AdvancedFeaturePkg. The feature does not follow the advanced feature design. A future change will add the feature back following the advanced feature design. Cc: Sai Chaganty Cc: Liming Gao Signed-off-by: Michael Kubacki --- Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec | 11 - Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 59 ----- Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.inf | 48 ---- Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.inf | 34 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.inf | 37 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.inf | 37 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.inf | 35 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.inf | 34 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.inf | 32 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLib.inf | 32 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.inf | 28 -- Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf | 29 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.inf | 34 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.inf | 38 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiCommandLib.h | 235 ----------------- Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiPlatformHookLib.h | 23 -- Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.c | 257 ------------------ Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.c | 236 ----------------- Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.c | 236 ----------------- Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.c | 84 ------ Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.c | 67 ----- Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.c | 150 ----------- Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.c | 96 ------- Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnApp.c | 248 ------------------ Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnChassis.c | 101 ------- Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnStorage.c | 275 -------------------- Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnTransport.c | 81 ------ Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.c | 45 ---- Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.c | 36 --- Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.c | 112 -------- Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.c | 164 ------------ Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/BmcSsdt.asl | 28 -- Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/IpmiOprRegions.asi | 58 ----- 33 files changed, 3020 deletions(-) diff --git a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec index 44e5de64db..4f8300d145 100644 --- a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec +++ b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec @@ -22,7 +22,6 @@ PACKAGE_GUID = 290127D9-ABED-4DD8-A35D-73DCB4261BCB [Includes] Include -Ipmi/Include [Guids] gAdvancedFeaturePkgTokenSpaceGuid = {0xa8514688, 0x6693, 0x4ab5, {0xaa, 0xc8, 0xcc, 0xa9, 0x8d, 0xde, 0x90, 0xe1}} @@ -138,16 +137,6 @@ gAdvancedFeaturePkgTokenSpaceGuid = {0xa8514688, 0x6693, 0x4ab5, {0xaa, } gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosType32SystemBootInformation.BootStatus|BootInformationStatusNoError -[PcdsFixedAtBuild] - gAdvancedFeaturePkgTokenSpaceGuid.PcdMaxSOLChannels|0x3|UINT8|0x40000009 - -[PcdsDynamic, PcdsDynamicEx] - gAdvancedFeaturePkgTokenSpaceGuid.PcdIpmiIoBaseAddress|0xCA2|UINT16|0x90000022 - gAdvancedFeaturePkgTokenSpaceGuid.PcdFRB2EnabledFlag|TRUE|BOOLEAN|0x10000030 - gAdvancedFeaturePkgTokenSpaceGuid.PcdFRBTimeoutValue|360|UINT16|0x10000040 - [PcdsFeatureFlag] gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable |FALSE|BOOLEAN|0xF00000A1 gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable |FALSE|BOOLEAN|0xF00000A2 - gAdvancedFeaturePkgTokenSpaceGuid.PcdIpmiEnable |FALSE|BOOLEAN|0xF00000A3 - diff --git a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 885b84e2df..ca8db13f7c 100644 --- a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -50,58 +50,14 @@ ####################################### BaseLib|MdePkg/Library/BaseLib/BaseLib.inf BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf - BasePciLibPciExpress|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf - CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf - CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf - DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf - DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf - DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf - HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf - IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf - PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf - PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf - PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf - PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf - PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf - PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf - PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf - PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf - PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf - PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf - PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf - PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf - ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf - SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf - SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf - TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf - UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf - UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf UefiLib|MdePkg/Library/UefiLib/UefiLib.inf - UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf - ####################################### - # Advanced Feature Package - ####################################### - IpmiCommandLib|AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLib.inf - IpmiLib|AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.inf - IpmiPlatformHookLib|AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf - -[LibraryClasses.common.SEC,LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM] - ####################################### - # Edk2 Packages - ####################################### - HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf - MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf - PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf - [LibraryClasses.common.DXE_CORE,LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.SMM_CORE,LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER,LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION] ####################################### # Edk2 Packages @@ -110,12 +66,6 @@ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf -[LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.SMM_CORE] - ####################################### - # Edk2 Packages - ####################################### - SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf - ################################################################################################### # # Components Section - list of the modules and components that will be processed by compilation @@ -144,15 +94,6 @@ # in the package build. # Add components here that should be included in the package build. - AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.inf - AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.inf - AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.inf - AdvancedFeaturePkg/Ipmi/Frb/FrbPei.inf - AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.inf - AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.inf - AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.inf - AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.inf - AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.inf AdvancedFeaturePkg/Smbios/SmbiosBasicDxe/SmbiosBasicDxe.inf [BuildOptions] diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.inf deleted file mode 100644 index 17b75dfbcc..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.inf +++ /dev/null @@ -1,48 +0,0 @@ -### @file -# Component description file for BMC ACPI. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = BmcAcpi - FILE_GUID = F59DAA23-D5D5-4d16-91FC-D03ABDC12FFE - MODULE_TYPE = DXE_DRIVER - VERSION_STRING = 1.0 - ENTRY_POINT = BmcAcpiEntryPoint - -[Sources] - BmcAcpi.c - BmcSsdt/BmcSsdt.asl - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - UefiBootServicesTableLib - UefiDriverEntryPoint - BaseMemoryLib - DebugLib - UefiLib - -[Protocols] - gEfiFirmwareVolume2ProtocolGuid - gEfiAcpiTableProtocolGuid - -[Pcd] - gAdvancedFeaturePkgTokenSpaceGuid.PcdIpmiIoBaseAddress - gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId - gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId - -[Depex] - gEfiAcpiTableProtocolGuid - -[BuildOptions] - *_*_*_ASL_FLAGS = -oi - diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.inf deleted file mode 100644 index 85591efb5d..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.inf +++ /dev/null @@ -1,34 +0,0 @@ -### @file -# Component description file for BMC ELOG. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = BmcElog - FILE_GUID = 8A17F6CA-BF1A-45C4-FFFF-FFFF0C829DDD - MODULE_TYPE = DXE_DRIVER - PI_SPECIFICATION_VERSION = 0x0001000A - VERSION_STRING = 1.0 - ENTRY_POINT = InitializeBmcElogLayer - -[Sources] - BmcElog.c - -[Packages] - MdePkg/MdePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - UefiDriverEntryPoint - DebugLib - UefiBootServicesTableLib - IpmiCommandLib - -[Depex] - TRUE - diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.inf deleted file mode 100644 index 3aa29889b1..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.inf +++ /dev/null @@ -1,37 +0,0 @@ -### @file -# Component description file for IPMI FRB. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[defines] - INF_VERSION = 0x00010005 - BASE_NAME = FrbDxe - FILE_GUID = F6C7812D-81BF-4e6d-A87D-E75AF17BD511 - MODULE_TYPE = DXE_DRIVER - VERSION_STRING = 1.0 - ENTRY_POINT = FrbDxeEntryPoint - -[Sources] - FrbDxe.c - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - UefiBootServicesTableLib - UefiDriverEntryPoint - MemoryAllocationLib - UefiLib - DebugLib - BaseMemoryLib - IpmiCommandLib - PcdLib - -[Depex] - TRUE diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.inf deleted file mode 100644 index 1882453ffe..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.inf +++ /dev/null @@ -1,37 +0,0 @@ -### @file -# Component description file for IPMI FRB PEIM. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[defines] - INF_VERSION = 0x00010005 - BASE_NAME = FrbPei - FILE_GUID = 7F9F9788-9F1F-4725-895C-3932F1A04DE8 - MODULE_TYPE = PEIM - VERSION_STRING = 1.0 - ENTRY_POINT = InitializeFrbPei - -[Sources] - FrbPei.c - -[Packages] - MdePkg/MdePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - PeimEntryPoint - DebugLib - BaseMemoryLib - PcdLib - IpmiCommandLib - -[Pcd] - gAdvancedFeaturePkgTokenSpaceGuid.PcdFRB2EnabledFlag - gAdvancedFeaturePkgTokenSpaceGuid.PcdFRBTimeoutValue - -[Depex] - TRUE diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.inf deleted file mode 100644 index a2556e92d2..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.inf +++ /dev/null @@ -1,35 +0,0 @@ -### @file -# Component description file for IPMI FRU. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = IpmiFru - FILE_GUID = 3F1D6464-2B4C-4640-BAC4-3DD905D26CDA - MODULE_TYPE = DXE_DRIVER - PI_SPECIFICATION_VERSION = 0x0001000A - VERSION_STRING = 1.0 - ENTRY_POINT = InitializeFru - -[Sources] - IpmiFru.c - -[Packages] - MdePkg/MdePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - UefiDriverEntryPoint - UefiLib - DebugLib - UefiBootServicesTableLib - BaseMemoryLib - IpmiCommandLib - -[Depex] - TRUE diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.inf deleted file mode 100644 index 2e544270a3..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.inf +++ /dev/null @@ -1,34 +0,0 @@ -### @file -# Component description file for IPMI initialization. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = DxeIpmiInit - FILE_GUID = 07A01ACF-46D5-48de-A63D-74FA92AA8450 - MODULE_TYPE = DXE_DRIVER - VERSION_STRING = 1.0 - ENTRY_POINT = IpmiInterfaceInit - -[Sources] - DxeIpmiInit.c - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - UefiBootServicesTableLib - DebugLib - UefiDriverEntryPoint - IpmiCommandLib - TimerLib - -[Depex] - TRUE \ No newline at end of file diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.inf deleted file mode 100644 index 5e00f4bd33..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.inf +++ /dev/null @@ -1,32 +0,0 @@ -### @file -# Component description file for IPMI initialization in PEI. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = PeiIpmiInit - FILE_GUID = D8F57F4E-D67D-4f2c-8351-C7092986542F - MODULE_TYPE = PEIM - VERSION_STRING = 1.0 - ENTRY_POINT = PeimIpmiInterfaceInit - -[Sources] - PeiIpmiInit.c - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - PeimEntryPoint - DebugLib - IpmiCommandLib - -[Depex] - TRUE \ No newline at end of file diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLib.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLib.inf deleted file mode 100644 index 89e7a66f60..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLib.inf +++ /dev/null @@ -1,32 +0,0 @@ -### @file -# Component description file for IPMI Command Library. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = IpmiCommandLib - FILE_GUID = E599C9C7-5913-40A0-8669-67282E2BEC53 - MODULE_TYPE = UEFI_DRIVER - VERSION_STRING = 1.0 - LIBRARY_CLASS = IpmiCommandLib - -[sources] - IpmiCommandLibNetFnApp.c - IpmiCommandLibNetFnTransport.c - IpmiCommandLibNetFnChassis.c - IpmiCommandLibNetFnStorage.c - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - BaseMemoryLib - DebugLib - IpmiLib diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.inf deleted file mode 100644 index c042b8beed..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.inf +++ /dev/null @@ -1,28 +0,0 @@ -### @file -# Component description file for IPMI NULL Library. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = IpmiLibNull - FILE_GUID = DDF0E1D9-F53F-429A-BD9C-5D12A321E625 - MODULE_TYPE = UEFI_DRIVER - VERSION_STRING = 1.0 - LIBRARY_CLASS = IpmiLib - -[sources] - IpmiLibNull.c - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - -[Pcd] diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf deleted file mode 100644 index 458b40f626..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf +++ /dev/null @@ -1,29 +0,0 @@ -### @file -# Component description file for IPMI platform Library. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = IpmiPlatformHookLibNull - FILE_GUID = C31A5B17-81DB-4D86-B376-17711BB6E0A5 - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = IpmiPlatformHookLib - -[sources] - IpmiPlatformHookLibNull.c - -[Packages] - MdePkg/MdePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - DebugLib - -[Protocols] - gEfiIpmiTransportProtocolGuid diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.inf deleted file mode 100644 index e49942c198..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.inf +++ /dev/null @@ -1,34 +0,0 @@ -### @file -# Component description file for IPMI OS watch dog timer driver. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = OsWdt - FILE_GUID = BE9B694A-B5D9-48e0-A527-6E1A49EB7028 - MODULE_TYPE = DXE_DRIVER - VERSION_STRING = 1.0 - ENTRY_POINT = DriverInit - -[Sources] - OsWdt.c - -[Packages] - MdePkg/MdePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[LibraryClasses] - UefiDriverEntryPoint - DebugLib - UefiBootServicesTableLib - BaseMemoryLib - IpmiCommandLib - -[Depex] - TRUE - diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.inf b/Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.inf deleted file mode 100644 index 07f2c03f6a..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.inf +++ /dev/null @@ -1,38 +0,0 @@ -### @file -# Component description file for IPMI Serial Over LAN driver. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -### - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = SolStatus - FILE_GUID = F9887B5E-2D46-4213-8794-14F1FD39F6B8 - MODULE_TYPE = DXE_DRIVER - PI_SPECIFICATION_VERSION = 0x0001000A - VERSION_STRING = 1.0 - ENTRY_POINT = SolStatusEntryPoint - -[Sources] - SolStatus.c - -[Packages] - MdePkg/MdePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec - -[Pcd] - gAdvancedFeaturePkgTokenSpaceGuid.PcdMaxSOLChannels - -[LibraryClasses] - UefiDriverEntryPoint - DebugLib - UefiBootServicesTableLib - IpmiCommandLib - PcdLib - -[Depex] - TRUE - diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiCommandLib.h b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiCommandLib.h deleted file mode 100644 index 9b761717d4..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiCommandLib.h +++ /dev/null @@ -1,235 +0,0 @@ -/** @file - This library abstract how to send/receive IPMI command. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _IPMI_COMMAND_LIB_H_ -#define _IPMI_COMMAND_LIB_H_ - -#include -#include - -// -// NetFnApp -// -EFI_STATUS -EFIAPI -IpmiGetDeviceId ( - OUT IPMI_GET_DEVICE_ID_RESPONSE *DeviceId - ); - -EFI_STATUS -EFIAPI -IpmiGetSelfTestResult ( - OUT IPMI_SELF_TEST_RESULT_RESPONSE *SelfTestResult - ); - -EFI_STATUS -EFIAPI -IpmiResetWatchdogTimer ( - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiSetWatchdogTimer ( - IN IPMI_SET_WATCHDOG_TIMER_REQUEST *SetWatchdogTimer, - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiGetWatchdogTimer ( - OUT IPMI_GET_WATCHDOG_TIMER_RESPONSE *GetWatchdogTimer - ); - -EFI_STATUS -EFIAPI -IpmiSetBmcGlobalEnables ( - IN IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST *SetBmcGlobalEnables, - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiGetBmcGlobalEnables ( - OUT IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE *GetBmcGlobalEnables - ); - -EFI_STATUS -EFIAPI -IpmiClearMessageFlags ( - IN IPMI_CLEAR_MESSAGE_FLAGS_REQUEST *ClearMessageFlagsRequest, - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiGetMessageFlags ( - OUT IPMI_GET_MESSAGE_FLAGS_RESPONSE *GetMessageFlagsResponse - ); - -EFI_STATUS -EFIAPI -IpmiGetMessage ( - OUT IPMI_GET_MESSAGE_RESPONSE *GetMessageResponse, - IN OUT UINT32 *GetMessageResponseSize - ); - -EFI_STATUS -EFIAPI -IpmiSendMessage ( - IN IPMI_SEND_MESSAGE_REQUEST *SendMessageRequest, - IN UINT32 SendMessageRequestSize, - OUT IPMI_SEND_MESSAGE_RESPONSE *SendMessageResponse, - IN OUT UINT32 *SendMessageResponseSize - ); - -// -// NetFnTransport -// -EFI_STATUS -EFIAPI -IpmiSolActivating ( - IN IPMI_SOL_ACTIVATING_REQUEST *SolActivatingRequest, - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiSetSolConfigurationParameters ( - IN IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST *SetConfigurationParametersRequest, - IN UINT32 SetConfigurationParametersRequestSize, - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiGetSolConfigurationParameters ( - IN IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST *GetConfigurationParametersRequest, - OUT IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE *GetConfigurationParametersResponse, - IN OUT UINT32 *GetConfigurationParametersResponseSize - ); - -// -// NetFnChasis -// -EFI_STATUS -EFIAPI -IpmiGetChassisCapabilities ( - OUT IPMI_GET_CHASSIS_CAPABILITIES_RESPONSE *GetChassisCapabilitiesResponse - ); - -EFI_STATUS -EFIAPI -IpmiGetChassisStatus ( - OUT IPMI_GET_CHASSIS_STATUS_RESPONSE *GetChassisStatusResponse - ); - -EFI_STATUS -EFIAPI -IpmiChassisControl ( - IN IPMI_CHASSIS_CONTROL_REQUEST *ChassisControlRequest, - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiSetPowerRestorePolicy ( - IN IPMI_SET_POWER_RESTORE_POLICY_REQUEST *ChassisControlRequest, - OUT IPMI_SET_POWER_RESTORE_POLICY_RESPONSE *ChassisControlResponse - ); - -// -// NetFnStorage -// -EFI_STATUS -EFIAPI -IpmiGetFruInventoryAreaInfo ( - IN IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST *GetFruInventoryAreaInfoRequest, - OUT IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE *GetFruInventoryAreaInfoResponse - ); - -EFI_STATUS -EFIAPI -IpmiReadFruData ( - IN IPMI_READ_FRU_DATA_REQUEST *ReadFruDataRequest, - OUT IPMI_READ_FRU_DATA_RESPONSE *ReadFruDataResponse, - IN OUT UINT32 *ReadFruDataResponseSize - ); - -EFI_STATUS -EFIAPI -IpmiWriteFruData ( - IN IPMI_WRITE_FRU_DATA_REQUEST *WriteFruDataRequest, - IN UINT32 WriteFruDataRequestSize, - OUT IPMI_WRITE_FRU_DATA_RESPONSE *WriteFruDataResponse - ); - -EFI_STATUS -EFIAPI -IpmiGetSelInfo ( - OUT IPMI_GET_SEL_INFO_RESPONSE *GetSelInfoResponse - ); - -EFI_STATUS -EFIAPI -IpmiGetSelEntry ( - IN IPMI_GET_SEL_ENTRY_REQUEST *GetSelEntryRequest, - OUT IPMI_GET_SEL_ENTRY_RESPONSE *GetSelEntryResponse, - IN OUT UINT32 *GetSelEntryResponseSize - ); - -EFI_STATUS -EFIAPI -IpmiAddSelEntry ( - IN IPMI_ADD_SEL_ENTRY_REQUEST *AddSelEntryRequest, - OUT IPMI_ADD_SEL_ENTRY_RESPONSE *AddSelEntryResponse - ); - -EFI_STATUS -EFIAPI -IpmiPartialAddSelEntry ( - IN IPMI_PARTIAL_ADD_SEL_ENTRY_REQUEST *PartialAddSelEntryRequest, - IN UINT32 PartialAddSelEntryRequestSize, - OUT IPMI_PARTIAL_ADD_SEL_ENTRY_RESPONSE *PartialAddSelEntryResponse - ); - -EFI_STATUS -EFIAPI -IpmiClearSel ( - IN IPMI_CLEAR_SEL_REQUEST *ClearSelRequest, - OUT IPMI_CLEAR_SEL_RESPONSE *ClearSelResponse - ); - -EFI_STATUS -EFIAPI -IpmiGetSelTime ( - OUT IPMI_GET_SEL_TIME_RESPONSE *GetSelTimeResponse - ); - -EFI_STATUS -EFIAPI -IpmiSetSelTime ( - IN IPMI_SET_SEL_TIME_REQUEST *SetSelTimeRequest, - OUT UINT8 *CompletionCode - ); - -EFI_STATUS -EFIAPI -IpmiGetSdrRepositoryInfo ( - OUT IPMI_GET_SDR_REPOSITORY_INFO_RESPONSE *GetSdrRepositoryInfoResp - ); - -EFI_STATUS -EFIAPI -IpmiGetSdr ( - IN IPMI_GET_SDR_REQUEST *GetSdrRequest, - OUT IPMI_GET_SDR_RESPONSE *GetSdrResponse, - IN OUT UINT32 *GetSdrResponseSize - ); - -#endif diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiPlatformHookLib.h b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiPlatformHookLib.h deleted file mode 100644 index 8359e3f38b..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Include/Library/IpmiPlatformHookLib.h +++ /dev/null @@ -1,23 +0,0 @@ -/** @file - This library abstract the platform specific hook for IPMI. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _IPMI_PLATFORM_UPDATE_LIB_H_ -#define _IPMI_PLATFORM_UPDATE_LIB_H_ - -#include -#include -#include - -EFI_STATUS -EFIAPI -PlatformIpmiIoRangeSet( - UINT16 IpmiIoBase - ); - -#endif - diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.c deleted file mode 100644 index 990b4b9e83..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.c +++ /dev/null @@ -1,257 +0,0 @@ -/** @file - BMC ACPI. - -Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -// -// Statements that include other header files -// -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#ifndef EFI_ACPI_CREATOR_ID -#define EFI_ACPI_CREATOR_ID SIGNATURE_32 ('M', 'S', 'F', 'T') -#endif -#ifndef EFI_ACPI_CREATOR_REVISION -#define EFI_ACPI_CREATOR_REVISION 0x0100000D -#endif - -/** - - Locate the first instance of a protocol. If the protocol requested is an - FV protocol, then it will return the first FV that contains the ACPI table - storage file. - - @param Protocol - The protocol to find. - Instance - Return pointer to the first instance of the protocol. - Type - The type of protocol to locate. - - @retval EFI_SUCCESS - The function completed successfully. - @retval EFI_NOT_FOUND - The protocol could not be located. - @retval EFI_OUT_OF_RESOURCES - There are not enough resources to find the protocol. - -**/ -EFI_STATUS -LocateSupportProtocol ( - IN EFI_GUID *Protocol, - OUT VOID **Instance, - IN UINT32 Type - ) -{ - EFI_STATUS Status; - EFI_HANDLE *HandleBuffer; - UINTN NumberOfHandles; - EFI_FV_FILETYPE FileType; - UINT32 FvStatus = 0; - EFI_FV_FILE_ATTRIBUTES Attributes; - UINTN Size; - UINTN Index; - - Status = gBS->LocateHandleBuffer (ByProtocol, Protocol, NULL, &NumberOfHandles, &HandleBuffer); - if (EFI_ERROR (Status)) { - return Status; - } - // - // Looking for FV with ACPI storage file - // - for (Index = 0; Index < NumberOfHandles; Index++) { - Status = gBS->HandleProtocol (HandleBuffer[Index], Protocol, Instance); - ASSERT (!EFI_ERROR (Status)); - - if (!Type) { - // - // Not looking for the FV protocol, so find the first instance of the - // protocol. There should not be any errors because our handle buffer - // should always contain at least one or LocateHandleBuffer would have - // returned not found. - // - break; - } - // - // See if it has the ACPI storage file - // - Status = ((EFI_FIRMWARE_VOLUME2_PROTOCOL *) (*Instance))->ReadFile ( - *Instance, - &gEfiCallerIdGuid, - NULL, - &Size, - &FileType, - &Attributes, - &FvStatus - ); - - // - // If we found it, then we are done - // - if (!EFI_ERROR (Status)) { - break; - } - } - - gBS->FreePool (HandleBuffer); - return Status; -} - - -EFI_STATUS -UpdateDeviceSsdtTable ( - IN OUT EFI_ACPI_COMMON_HEADER *Table - ) -{ - EFI_ACPI_DESCRIPTION_HEADER *TableHeader = NULL; - UINT64 TempOemTableId; - UINT8 *DataPtr; - EFI_ACPI_IO_PORT_DESCRIPTOR *IoRsc; - - TableHeader = (EFI_ACPI_DESCRIPTION_HEADER *)Table; - - // - // Update the OEMID and OEM Table ID. - // - CopyMem (&TableHeader->OemId, PcdGetPtr (PcdAcpiDefaultOemId), sizeof(TableHeader->OemId)); - TempOemTableId = PcdGet64 (PcdAcpiDefaultOemTableId); - CopyMem (&TableHeader->OemTableId, &TempOemTableId, sizeof(UINT64)); - TableHeader->CreatorId = EFI_ACPI_CREATOR_ID; - TableHeader->CreatorRevision = EFI_ACPI_CREATOR_REVISION; - - // - // Update IO(Decode16, 0xCA2, 0xCA2, 0, 2) - // - DEBUG ((DEBUG_INFO, "UpdateDeviceSsdtTable - IPMI\n")); - for (DataPtr = (UINT8 *)(Table + 1); - DataPtr < (UINT8 *) ((UINT8 *) Table + Table->Length - 4); - DataPtr++) { - if (CompareMem(DataPtr, "_CRS", 4) == 0) { - DataPtr += 4; // Skip _CRS - ASSERT (*DataPtr == AML_BUFFER_OP); - DataPtr ++; // Skip AML_BUFFER_OP - ASSERT ((*DataPtr & (BIT7|BIT6)) == 0); - DataPtr ++; // Skip PkgLength - 0xD - ASSERT ((*DataPtr) == AML_BYTE_PREFIX); - DataPtr ++; // Skip BufferSize OpCode - DataPtr ++; // Skip BufferSize - 0xA - IoRsc = (VOID *)DataPtr; - ASSERT (IoRsc->Header.Bits.Type == ACPI_SMALL_ITEM_FLAG); - ASSERT (IoRsc->Header.Bits.Name == ACPI_SMALL_IO_PORT_DESCRIPTOR_NAME); - ASSERT (IoRsc->Header.Bits.Length == sizeof(EFI_ACPI_IO_PORT_DESCRIPTOR) - sizeof(ACPI_SMALL_RESOURCE_HEADER)); - DEBUG ((DEBUG_INFO, "IPMI IO Base in ASL update - 0x%04x <= 0x%04x\n", IoRsc->BaseAddressMin, PcdGet16(PcdIpmiIoBaseAddress))); - IoRsc->BaseAddressMin = PcdGet16(PcdIpmiIoBaseAddress); - IoRsc->BaseAddressMax = PcdGet16(PcdIpmiIoBaseAddress); - } - } - - return EFI_SUCCESS; -} - -/** - - Entry point for Acpi platform driver. - - @param ImageHandle - A handle for the image that is initializing this driver. - @param SystemTable - A pointer to the EFI system table. - - @retval EFI_SUCCESS - Driver initialized successfully. - @retval EFI_LOAD_ERROR - Failed to Initialize or has been loaded. - @retval EFI_OUT_OF_RESOURCES - Could not allocate needed resources. - -**/ -EFI_STATUS -EFIAPI -BmcAcpiEntryPoint ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - EFI_STATUS AcpiStatus; - - EFI_FIRMWARE_VOLUME2_PROTOCOL *FwVol; - INTN Instance = 0; - EFI_ACPI_COMMON_HEADER *CurrentTable = NULL; - UINTN TableHandle = 0; - UINT32 FvStatus; - UINT32 Size; - - EFI_ACPI_TABLE_PROTOCOL *AcpiTable; - UINTN TableSize; - - - // - // Find the AcpiTable protocol - // - Status = gBS->LocateProtocol (&gEfiAcpiTableProtocolGuid, NULL, (VOID**)&AcpiTable); - if (EFI_ERROR (Status)) { - return EFI_ABORTED; - } - - // - // Locate the firmware volume protocol - // - Status = LocateSupportProtocol (&gEfiFirmwareVolume2ProtocolGuid, (VOID **) &FwVol, 1); - if (EFI_ERROR (Status)) { - return Status; - } - - Status = EFI_SUCCESS; - Instance = 0; - - // - // Read tables from the storage file. - // - while (!EFI_ERROR (Status)) { - CurrentTable = NULL; - - Status = FwVol->ReadSection ( - FwVol, - &gEfiCallerIdGuid, - EFI_SECTION_RAW, - Instance, - (VOID **) &CurrentTable, - (UINTN *) &Size, - &FvStatus - ); - if (!EFI_ERROR (Status)) { - // - // Perform any table specific updates. - // - AcpiStatus = UpdateDeviceSsdtTable (CurrentTable); - if (!EFI_ERROR (AcpiStatus)) { - - TableHandle = 0; - TableSize = ((EFI_ACPI_DESCRIPTION_HEADER *) CurrentTable)->Length; - ASSERT (Size >= TableSize); - - Status = AcpiTable->InstallAcpiTable ( - AcpiTable, - CurrentTable, - TableSize, - &TableHandle - ); - - ASSERT_EFI_ERROR (Status); - } - - // - // Increment the instance - // - Instance++; - } - } - - return EFI_SUCCESS; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.c deleted file mode 100644 index a6d075b19c..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.c +++ /dev/null @@ -1,236 +0,0 @@ -/** @file - BMC Event Log functions. - -Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include -#include -#include -#include - -EFI_STATUS -EFIAPI -CheckIfSelIsFull ( - VOID - ); - -/*++ - - Routine Description: - This function verifies the BMC SEL is full and When it is reports the error to the Error Manager. - - Arguments: - None - - Returns: - EFI_SUCCESS - EFI_DEVICE_ERROR - ---*/ -EFI_STATUS -WaitTillErased ( - UINT8 *ResvId - ) -/*++ - -Routine Description: - -Arguments: - - BmcElogPrivateData - Bmc event log instance - ResvId - Reserved ID - -Returns: - - EFI_SUCCESS - EFI_NO_RESPONSE - ---*/ -{ - INTN Counter; - IPMI_CLEAR_SEL_REQUEST ClearSel; - IPMI_CLEAR_SEL_RESPONSE ClearSelResponse; - - Counter = 0x200; - ZeroMem (&ClearSelResponse, sizeof(ClearSelResponse)); - - while (TRUE) { - ZeroMem (&ClearSel, sizeof(ClearSel)); - ClearSel.Reserve[0] = ResvId[0]; - ClearSel.Reserve[1] = ResvId[1]; - ClearSel.AscC = 0x43; - ClearSel.AscL = 0x4C; - ClearSel.AscR = 0x52; - ClearSel.Erase = 0x00; - - IpmiClearSel ( - &ClearSel, - &ClearSelResponse - ); - - if ((ClearSelResponse.ErasureProgress & 0xf) == 1) { - return EFI_SUCCESS; - } - // - // If there is not a response from the BMC controller we need to return and not hang. - // - --Counter; - if (Counter == 0x0) { - return EFI_NO_RESPONSE; - } - } -} - -EFI_STATUS -EfiActivateBmcElog ( - IN BOOLEAN *EnableElog, - OUT BOOLEAN *ElogStatus - ) -/*++ - -Routine Description: - -Arguments: - - This - Protocol pointer - DataType - indicate event log type - EnableElog - Enable/Disable event log - ElogStatus - return log status - -Returns: - - EFI_STATUS - ---*/ -{ - EFI_STATUS Status; - UINT8 ElogStat; - IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST SetBmcGlobalEnables; - IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE GetBmcGlobalEnables; - UINT8 CompletionCode; - - Status = EFI_SUCCESS; - ElogStat = 0; - - Status = IpmiGetBmcGlobalEnables (&GetBmcGlobalEnables); - if (EFI_ERROR(Status)) { - return Status; - } - - if (EnableElog == NULL) { - *ElogStatus = GetBmcGlobalEnables.GetEnables.Bits.SystemEventLogging; - } else { - if (Status == EFI_SUCCESS) { - if (*EnableElog) { - ElogStat = 1; - } - - CopyMem (&SetBmcGlobalEnables, (UINT8 *)&GetBmcGlobalEnables + 1, sizeof(UINT8)); - SetBmcGlobalEnables.SetEnables.Bits.SystemEventLogging = ElogStat; - - Status = IpmiSetBmcGlobalEnables (&SetBmcGlobalEnables, &CompletionCode); - } - } - - return Status; -} - -EFI_STATUS -SetElogRedirInstall ( - VOID - ) -/*++ - -Routine Description: - -Arguments: - - None - -Returns: - - EFI_SUCCESS - ---*/ -{ - BOOLEAN EnableElog; - BOOLEAN ElogStatus; - - // - // Activate the Event Log (This should depend upon Setup). - // - EfiActivateBmcElog (&EnableElog, &ElogStatus); - return EFI_SUCCESS; -} - -EFI_STATUS -EFIAPI -InitializeBmcElogLayer ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - -Routine Description: - -Arguments: - - ImageHandle - ImageHandle of the loaded driver - SystemTable - Pointer to the System Table - -Returns: - - EFI_STATUS - ---*/ -{ - SetElogRedirInstall (); - - CheckIfSelIsFull (); - - return EFI_SUCCESS; -} - -EFI_STATUS -EFIAPI -CheckIfSelIsFull ( - VOID - ) -/*++ - - Routine Description: - This function verifies the BMC SEL is full and When it is reports the error to the Error Manager. - - Arguments: - None - - Returns: - EFI_SUCCESS - EFI_DEVICE_ERROR - ---*/ -{ - EFI_STATUS Status; - UINT8 SelIsFull; - IPMI_GET_SEL_INFO_RESPONSE SelInfo; - - Status = IpmiGetSelInfo (&SelInfo); - if (EFI_ERROR (Status)) { - return EFI_DEVICE_ERROR; - } - - // - // Check the Bit7 of the OperationByte if SEL is OverFlow. - // - SelIsFull = (SelInfo.OperationSupport & 0x80); - DEBUG ((DEBUG_INFO, "SelIsFull - 0x%x\n", SelIsFull)); - - return EFI_SUCCESS; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.c deleted file mode 100644 index 74c52a74eb..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbDxe.c +++ /dev/null @@ -1,236 +0,0 @@ -/** @file - IPMI FRB Driver. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -EFI_STATUS -EfiDisableFrb ( - VOID - ) -/*++ - - Routine Description: - This routine disables the specified FRB timer. - - Arguments: - This - This pointer - FrbType - Type of FRB timer to get data on - - Returns: - EFI_SUCCESS - FRB timer was disabled - EFI_ABORTED - Timer was already stopped - EFI_UNSUPPORTED - This type of FRB timer is not supported. - ---*/ -{ - EFI_STATUS Status; - IPMI_SET_WATCHDOG_TIMER_REQUEST SetWatchdogTimer; - UINT8 CompletionCode; - IPMI_GET_WATCHDOG_TIMER_RESPONSE GetWatchdogTimer; - - Status = IpmiGetWatchdogTimer (&GetWatchdogTimer); - if (EFI_ERROR (Status)) { - return Status; - } - - // - // Check if timer is still running, if not abort disable routine. - // - if (GetWatchdogTimer.TimerUse.Bits.TimerRunning == 0) { - return EFI_ABORTED; - } - - ZeroMem (&SetWatchdogTimer, sizeof(SetWatchdogTimer)); - // - // Just flip the Timer Use bit. This should release the timer. - // - SetWatchdogTimer.TimerUse.Bits.TimerRunning = 0; - SetWatchdogTimer.TimerUse.Bits.TimerUse = IPMI_WATCHDOG_TIMER_BIOS_FRB2; - SetWatchdogTimer.TimerUseExpirationFlagsClear &= ~BIT2; - SetWatchdogTimer.TimerUseExpirationFlagsClear |= BIT1 | BIT4; - - Status = IpmiSetWatchdogTimer (&SetWatchdogTimer, &CompletionCode); - return Status; -} - -VOID -EFIAPI -DisableFRB2Handler ( - IN EFI_EVENT Event, - IN VOID *Context - ) -/*++ - - Routine Description: - Disables FRB2. This function gets called each time the - EFI_EVENT_SIGNAL_READY_TO_BOOT gets signaled - - Arguments: - Standard event notification function arguments: - Event - the event that is signaled. - Context - not used here. - - Returns: - ---*/ -{ - DEBUG((EFI_D_ERROR, "!!! enter DisableFRB2Handler()!!!\n")); - - EfiDisableFrb (); -} - -EFI_STATUS -CheckForAndReportErrors( - VOID - ) -/*++ - - Routine Description: - Check the Watchdog timer expiration flags and report the kind of watchdog - timeout occurred to the Error Manager. - - Arguments: - - Returns: - EFI_SUCCESS - Errors retrieved and reported - ---*/ -{ - EFI_STATUS Status; - IPMI_GET_WATCHDOG_TIMER_RESPONSE GetWatchdogTimer; - IPMI_SET_WATCHDOG_TIMER_REQUEST SetWatchdogTimer; - UINT8 CompletionCode; - - // - // Get the Watchdog timer info to find out what kind of timer expiration occurred. - // - Status = IpmiGetWatchdogTimer (&GetWatchdogTimer); - if (EFI_ERROR (Status)) { - return Status; - } - // - // If FRB2 Failure occurred, report it to the error manager and log a SEL. - // - if ((GetWatchdogTimer.TimerUseExpirationFlagsClear & BIT1) != 0) { - // - // Report the FRB2 time-out error - // - } else if ((GetWatchdogTimer.TimerUseExpirationFlagsClear & BIT3) != 0) { - // - // Report the OS Watchdog timer failure - // - } - - // - // Need to clear Timer expiration flags after checking. - // - ZeroMem (&SetWatchdogTimer, sizeof(SetWatchdogTimer)); - SetWatchdogTimer.TimerUse = GetWatchdogTimer.TimerUse; - SetWatchdogTimer.TimerActions = GetWatchdogTimer.TimerActions; - SetWatchdogTimer.PretimeoutInterval = GetWatchdogTimer.PretimeoutInterval; - SetWatchdogTimer.TimerUseExpirationFlagsClear = GetWatchdogTimer.TimerUseExpirationFlagsClear; - SetWatchdogTimer.InitialCountdownValue = GetWatchdogTimer.InitialCountdownValue; - SetWatchdogTimer.TimerUse.Bits.TimerRunning = 1; - SetWatchdogTimer.TimerUseExpirationFlagsClear |= BIT1 | BIT2 | BIT3; - - Status = IpmiSetWatchdogTimer (&SetWatchdogTimer, &CompletionCode); - - return Status; -} - -EFI_STATUS -ReportFrb2Status ( - VOID - ) -/*++ - - Routine Description: - This routine is built only when DEBUG_MODE is enabled. It is used - to report the status of FRB2 when the FRB2 driver is installed. - - Arguments: - none - - Returns: - EFI_SUCCESS: All info was retrieved and reported - EFI_ERROR: There was an error during info retrieval - ---*/ -{ - EFI_STATUS Status; - IPMI_GET_WATCHDOG_TIMER_RESPONSE GetWatchdogTimer; - - // - // Get the Watchdog timer info to find out what kind of timer expiration occurred. - // - Status = IpmiGetWatchdogTimer (&GetWatchdogTimer); - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_INFO, "Failed to get Watchdog Timer info from BMC.\n")); - return Status; - } - - // - // Check if timer is running, report status to DEBUG_MODE output. - // - if (GetWatchdogTimer.TimerUse.Bits.TimerRunning == 1) { - DEBUG ((DEBUG_INFO, "FRB2 Timer is running.\n")); - } else { - DEBUG ((DEBUG_INFO, "FRB2 Timer is not running.\n")); - } - - return EFI_SUCCESS; -} - -EFI_STATUS -EFIAPI -FrbDxeEntryPoint ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - - Routine Description: - This is the standard EFI driver point. This function intitializes - the private data required for creating FRB Driver. - - Arguments: - ImageHandle - Handle for the image of this driver - SystemTable - Pointer to the EFI System Table - - Returns: - EFI_SUCCESS - Protocol successfully started and installed - EFI_UNSUPPORTED - Protocol can't be started - ---*/ -{ - EFI_EVENT ReadyToBootEvent; - EFI_STATUS Status; - - CheckForAndReportErrors(); - ReportFrb2Status (); - - // - // Register the event to Disable FRB2 before Boot. - // - Status = EfiCreateEventReadyToBootEx ( - TPL_NOTIFY, - DisableFRB2Handler, - NULL, - &ReadyToBootEvent - ); - - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.c deleted file mode 100644 index 5d33df0103..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Frb/FrbPei.c +++ /dev/null @@ -1,84 +0,0 @@ -/** @file - IPMI FRB PEIM. - -Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include -#include - -#include - -VOID -SetWatchDogTimer ( - IN BOOLEAN Frb2Enabled - ) -{ - EFI_STATUS Status; - IPMI_SET_WATCHDOG_TIMER_REQUEST FrbTimer; - IPMI_GET_WATCHDOG_TIMER_RESPONSE GetWatchdogTimer; - UINT8 CompletionCode; - - Status = IpmiGetWatchdogTimer (&GetWatchdogTimer); - if (EFI_ERROR(Status)) { - return ; - } - - if (Frb2Enabled) { - ZeroMem (&FrbTimer, sizeof(FrbTimer)); - //Byte 1 - FrbTimer.TimerUse.Bits.TimerUse = IPMI_WATCHDOG_TIMER_BIOS_FRB2; - //Byte 2 - FrbTimer.TimerActions.Uint8 = 0; //NormalBoot, NoTimeOutInterrupt. i.e no action when BMC watchdog timeout - //Byte 3 - FrbTimer.PretimeoutInterval = 0; - //Byte 4 - FrbTimer.TimerUseExpirationFlagsClear |= BIT1; //set Frb2ExpirationFlag - - //Data Byte 5/6 - FrbTimer.InitialCountdownValue = PcdGet16(PcdFRBTimeoutValue) * 10; - - //Set BMC watchdog timer - Status = IpmiSetWatchdogTimer (&FrbTimer, &CompletionCode); - Status = IpmiResetWatchdogTimer (&CompletionCode); - } -} - -EFI_STATUS -EFIAPI -InitializeFrbPei ( - IN EFI_PEI_FILE_HANDLE FileHandle, - IN CONST EFI_PEI_SERVICES **PeiServices - ) -/*++ - -Routine Description: - -Arguments: - - FfsHeader - PeiServices - -Returns: - - EFI_SUCCESS - ---*/ -{ - BOOLEAN Frb2Enabled; - - // - // If we are booting with defaults, then make sure FRB2 is enabled. - // - Frb2Enabled = PcdGetBool (PcdFRB2EnabledFlag); - - SetWatchDogTimer (Frb2Enabled); - - return EFI_SUCCESS; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.c deleted file mode 100644 index 58e1fb4d7e..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiFru/IpmiFru.c +++ /dev/null @@ -1,67 +0,0 @@ -/** @file - IPMI FRU Driver. - -Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include -#include -#include - -EFI_STATUS -EFIAPI -InitializeFru ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - -Routine Description: - - Initialize SM Redirection Fru Layer - -Arguments: - - ImageHandle - ImageHandle of the loaded driver - SystemTable - Pointer to the System Table - -Returns: - - EFI_STATUS - ---*/ -{ - EFI_STATUS Status; - IPMI_GET_DEVICE_ID_RESPONSE ControllerInfo; - IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST GetFruInventoryAreaInfoRequest; - IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE GetFruInventoryAreaInfoResponse; - - // - // Get all the SDR Records from BMC and retrieve the Record ID from the structure for future use. - // - Status = IpmiGetDeviceId (&ControllerInfo); - if (EFI_ERROR (Status)) { - DEBUG((DEBUG_ERROR, "!!! IpmiFru IpmiGetDeviceId Status=%x\n", Status)); - return Status; - } - - DEBUG((DEBUG_ERROR, "!!! IpmiFru FruInventorySupport %x\n", ControllerInfo.DeviceSupport.Bits.FruInventorySupport)); - - if (ControllerInfo.DeviceSupport.Bits.FruInventorySupport) { - GetFruInventoryAreaInfoRequest.DeviceId = 0; - Status = IpmiGetFruInventoryAreaInfo (&GetFruInventoryAreaInfoRequest, &GetFruInventoryAreaInfoResponse); - if (EFI_ERROR (Status)) { - DEBUG((DEBUG_ERROR, "!!! IpmiFru IpmiGetFruInventoryAreaInfo Status=%x\n", Status)); - return Status; - } - DEBUG((DEBUG_ERROR, "!!! IpmiFru InventoryAreaSize=%x\n", GetFruInventoryAreaInfoResponse.InventoryAreaSize)); - } - - return EFI_SUCCESS; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.c deleted file mode 100644 index fccbb3b5dc..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/DxeIpmiInit.c +++ /dev/null @@ -1,150 +0,0 @@ -/** @file - IPMI stack initialization. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include - -#define BMC_TIMEOUT 30 // [s] How long shall BIOS wait for BMC -#define BMC_KCS_TIMEOUT 5 // [s] Single KSC request timeout - -EFI_STATUS -GetSelfTest ( - VOID - ) -/*++ - -Routine Description: - - Execute the Get Self Test results command to determine whether or not the BMC self tests - have passed - -Arguments: - - mIpmiInstance - Data structure describing BMC variables and used for sending commands - StatusCodeValue - An array used to accumulate error codes for later reporting. - ErrorCount - Counter used to keep track of error codes in StatusCodeValue - -Returns: - - EFI_SUCCESS - BMC Self test results are retrieved and saved into BmcStatus - EFI_DEVICE_ERROR - BMC failed to return self test results. - ---*/ -{ - EFI_STATUS Status; - IPMI_SELF_TEST_RESULT_RESPONSE TestResult; - - // - // Get the SELF TEST Results. - // - Status = IpmiGetSelfTestResult (&TestResult); - if (EFI_ERROR(Status)) { - DEBUG((DEBUG_ERROR, "\n[IPMI] BMC does not respond (status: %r)!\n\n", Status)); - return Status; - } - - DEBUG((DEBUG_INFO, "[IPMI] BMC self-test result: %02X-%02X\n", TestResult.Result, TestResult.Param)); - - return EFI_SUCCESS; -} - -EFI_STATUS -GetDeviceId ( - OUT BOOLEAN *UpdateMode - ) -/*++ - -Routine Description: - Execute the Get Device ID command to determine whether or not the BMC is in Force Update - Mode. If it is, then report it to the error manager. - -Arguments: - -Returns: - Status - ---*/ -{ - EFI_STATUS Status; - IPMI_GET_DEVICE_ID_RESPONSE BmcInfo; - UINT32 Retries; - - // - // Set up a loop to retry for up to 30 seconds. Calculate retries not timeout - // so that in case KCS is not enabled and EfiIpmiSendCommand() returns - // immediately we will not wait all the 30 seconds. - // - Retries = BMC_TIMEOUT / BMC_KCS_TIMEOUT + 1; - // - // Get the device ID information for the BMC. - // - do { - Status = IpmiGetDeviceId (&BmcInfo); - if (!EFI_ERROR(Status)) { - break; - } - DEBUG ((DEBUG_ERROR, "[IPMI] BMC does not respond (status: %r), %d retries left\n", Status, Retries)); - MicroSecondDelay(50 * 1000); - if (Retries-- == 0) { - return Status; - } - } while (TRUE); - - DEBUG(( - DEBUG_INFO, - "[IPMI] BMC Device ID: 0x%02X, firmware version: %d.%02X\n", - BmcInfo.DeviceId, - BmcInfo.FirmwareRev1.Bits.MajorFirmwareRev, - BmcInfo.MinorFirmwareRev - )); - *UpdateMode = (BOOLEAN)BmcInfo.FirmwareRev1.Bits.UpdateMode; - return Status; -} - -/** - The entry point of the Ipmi DXE. - -@param[in] ImageHandle - Handle of this driver image -@param[in] SystemTable - Table containing standard EFI services - -@retval EFI_SUCCESS - Always success is returned even if KCS does not function - - **/ -EFI_STATUS -EFIAPI -IpmiInterfaceInit ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - BOOLEAN UpdateMode; - EFI_STATUS Status; - - DEBUG((EFI_D_ERROR,"IPMI Dxe:Get BMC Device Id\n")); - - // - // Get the Device ID and check if the system is in Force Update mode. - // - Status = GetDeviceId (&UpdateMode); - // - // Do not continue initialization if the BMC is in Force Update Mode. - // - if (!EFI_ERROR(Status) && !UpdateMode) { - // - // Get the SELF TEST Results. - // - GetSelfTest (); - } - - return EFI_SUCCESS; -} - - diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.c deleted file mode 100644 index 062d20c44e..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.c +++ /dev/null @@ -1,96 +0,0 @@ -/** @file - IPMI stack initialization in PEI. - -Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include - -#define BMC_TIMEOUT_PEI 50 // [s] How long shall BIOS wait for BMC -#define BMC_KCS_TIMEOUT 5 // [s] Single KSC request timeout - -EFI_STATUS -GetDeviceId ( - OUT BOOLEAN *UpdateMode - ) -/*++ - -Routine Description: - Execute the Get Device ID command to determine whether or not the BMC is in Force Update - Mode. If it is, then report it to the error manager. - -Arguments: - -Returns: - Status - ---*/ -{ - EFI_STATUS Status; - IPMI_GET_DEVICE_ID_RESPONSE BmcInfo; - UINT32 Retries; - - // - // Set up a loop to retry for up to 30 seconds. Calculate retries not timeout - // so that in case KCS is not enabled and EfiIpmiSendCommand() returns - // immediately we will not wait all the 30 seconds. - // - Retries = BMC_TIMEOUT_PEI/ BMC_KCS_TIMEOUT + 1; - // - // Get the device ID information for the BMC. - // - do { - Status = IpmiGetDeviceId (&BmcInfo); - if (!EFI_ERROR(Status)) { - break; - } - DEBUG ((DEBUG_ERROR, "[IPMI] BMC does not respond (status: %r), %d retries left\n", Status, Retries)); - if (Retries-- == 0) { - return Status; - } - } while (TRUE); - - DEBUG(( - DEBUG_INFO, - "[IPMI] BMC Device ID: 0x%02X, firmware version: %d.%02X\n", - BmcInfo.DeviceId, - BmcInfo.FirmwareRev1.Bits.MajorFirmwareRev, - BmcInfo.MinorFirmwareRev - )); - *UpdateMode = (BOOLEAN)BmcInfo.FirmwareRev1.Bits.UpdateMode; - return Status; -} - -/** - The entry point of the Ipmi PEIM. - - @param FileHandle Handle of the file being invoked. - @param PeiServices Describes the list of possible PEI Services. - - @retval EFI_SUCCESS Indicates that Ipmi initialization completed successfully. - @retval Others Indicates that Ipmi initialization could not complete successfully. -**/ -EFI_STATUS -EFIAPI -PeimIpmiInterfaceInit ( - IN EFI_PEI_FILE_HANDLE FileHandle, - IN CONST EFI_PEI_SERVICES **PeiServices - ) -{ - BOOLEAN UpdateMode; - EFI_STATUS Status; - - DEBUG ((DEBUG_INFO, "IPMI Peim:Get BMC Device Id\n")); - - // - // Get the Device ID and check if the system is in Force Update mode. - // - Status = GetDeviceId (&UpdateMode); - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnApp.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnApp.c deleted file mode 100644 index b57db50610..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnApp.c +++ /dev/null @@ -1,248 +0,0 @@ -/** @file - IPMI Command - NetFnApp. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include - -#include - -EFI_STATUS -EFIAPI -IpmiGetDeviceId ( - OUT IPMI_GET_DEVICE_ID_RESPONSE *DeviceId - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*DeviceId); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_GET_DEVICE_ID, - NULL, - 0, - (VOID *)DeviceId, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetSelfTestResult ( - OUT IPMI_SELF_TEST_RESULT_RESPONSE *SelfTestResult - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*SelfTestResult); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_GET_SELFTEST_RESULTS, - NULL, - 0, - (VOID *)SelfTestResult, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiResetWatchdogTimer ( - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_RESET_WATCHDOG_TIMER, - NULL, - 0, - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiSetWatchdogTimer ( - IN IPMI_SET_WATCHDOG_TIMER_REQUEST *SetWatchdogTimer, - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_SET_WATCHDOG_TIMER, - (VOID *)SetWatchdogTimer, - sizeof(*SetWatchdogTimer), - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetWatchdogTimer ( - OUT IPMI_GET_WATCHDOG_TIMER_RESPONSE *GetWatchdogTimer - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetWatchdogTimer); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_GET_WATCHDOG_TIMER, - NULL, - 0, - (VOID *)GetWatchdogTimer, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiSetBmcGlobalEnables ( - IN IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST *SetBmcGlobalEnables, - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_SET_BMC_GLOBAL_ENABLES, - (VOID *)SetBmcGlobalEnables, - sizeof(*SetBmcGlobalEnables), - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetBmcGlobalEnables ( - OUT IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE *GetBmcGlobalEnables - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetBmcGlobalEnables); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_GET_BMC_GLOBAL_ENABLES, - NULL, - 0, - (VOID *)GetBmcGlobalEnables, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiClearMessageFlags ( - IN IPMI_CLEAR_MESSAGE_FLAGS_REQUEST *ClearMessageFlagsRequest, - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_CLEAR_MESSAGE_FLAGS, - (VOID *)ClearMessageFlagsRequest, - sizeof(*ClearMessageFlagsRequest), - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetMessageFlags ( - OUT IPMI_GET_MESSAGE_FLAGS_RESPONSE *GetMessageFlagsResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetMessageFlagsResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_GET_MESSAGE_FLAGS, - NULL, - 0, - (VOID *)GetMessageFlagsResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetMessage ( - OUT IPMI_GET_MESSAGE_RESPONSE *GetMessageResponse, - IN OUT UINT32 *GetMessageResponseSize - ) -{ - EFI_STATUS Status; - - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_GET_MESSAGE, - NULL, - 0, - (VOID *)GetMessageResponse, - GetMessageResponseSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiSendMessage ( - IN IPMI_SEND_MESSAGE_REQUEST *SendMessageRequest, - IN UINT32 SendMessageRequestSize, - OUT IPMI_SEND_MESSAGE_RESPONSE *SendMessageResponse, - IN OUT UINT32 *SendMessageResponseSize - ) -{ - EFI_STATUS Status; - - Status = IpmiSubmitCommand ( - IPMI_NETFN_APP, - IPMI_APP_SEND_MESSAGE, - (VOID *)SendMessageRequest, - SendMessageRequestSize, - (VOID *)SendMessageResponse, - SendMessageResponseSize - ); - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnChassis.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnChassis.c deleted file mode 100644 index 1b86aa888e..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnChassis.c +++ /dev/null @@ -1,101 +0,0 @@ -/** @file - IPMI Command - NetFnChassis. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include - -#include - - -EFI_STATUS -EFIAPI -IpmiGetChassisCapabilities ( - OUT IPMI_GET_CHASSIS_CAPABILITIES_RESPONSE *GetChassisCapabilitiesResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetChassisCapabilitiesResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_CHASSIS, - IPMI_CHASSIS_GET_CAPABILITIES, - NULL, - 0, - (VOID *)GetChassisCapabilitiesResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetChassisStatus ( - OUT IPMI_GET_CHASSIS_STATUS_RESPONSE *GetChassisStatusResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetChassisStatusResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_CHASSIS, - IPMI_CHASSIS_GET_STATUS, - NULL, - 0, - (VOID *)GetChassisStatusResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiChassisControl ( - IN IPMI_CHASSIS_CONTROL_REQUEST *ChassisControlRequest, - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_CHASSIS, - IPMI_CHASSIS_CONTROL, - (VOID *)ChassisControlRequest, - sizeof(*ChassisControlRequest), - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiSetPowerRestorePolicy ( - IN IPMI_SET_POWER_RESTORE_POLICY_REQUEST *ChassisControlRequest, - OUT IPMI_SET_POWER_RESTORE_POLICY_RESPONSE *ChassisControlResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*ChassisControlResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_CHASSIS, - IPMI_CHASSIS_SET_POWER_RESTORE_POLICY, - (VOID *)ChassisControlRequest, - sizeof(*ChassisControlRequest), - (VOID *)ChassisControlResponse, - &DataSize - ); - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnStorage.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnStorage.c deleted file mode 100644 index 8e892c5f84..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnStorage.c +++ /dev/null @@ -1,275 +0,0 @@ -/** @file - IPMI Command - NetFnStorage. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include - -#include - - -EFI_STATUS -EFIAPI -IpmiGetFruInventoryAreaInfo ( - IN IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST *GetFruInventoryAreaInfoRequest, - OUT IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE *GetFruInventoryAreaInfoResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetFruInventoryAreaInfoResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_GET_FRU_INVENTORY_AREAINFO, - (VOID *)GetFruInventoryAreaInfoRequest, - sizeof(*GetFruInventoryAreaInfoRequest), - (VOID *)GetFruInventoryAreaInfoResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiReadFruData ( - IN IPMI_READ_FRU_DATA_REQUEST *ReadFruDataRequest, - OUT IPMI_READ_FRU_DATA_RESPONSE *ReadFruDataResponse, - IN OUT UINT32 *ReadFruDataResponseSize - ) -{ - EFI_STATUS Status; - - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_READ_FRU_DATA, - (VOID *)ReadFruDataRequest, - sizeof(*ReadFruDataRequest), - (VOID *)ReadFruDataResponse, - ReadFruDataResponseSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiWriteFruData ( - IN IPMI_WRITE_FRU_DATA_REQUEST *WriteFruDataRequest, - IN UINT32 WriteFruDataRequestSize, - OUT IPMI_WRITE_FRU_DATA_RESPONSE *WriteFruDataResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*WriteFruDataResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_WRITE_FRU_DATA, - (VOID *)WriteFruDataRequest, - WriteFruDataRequestSize, - (VOID *)WriteFruDataResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetSelInfo ( - OUT IPMI_GET_SEL_INFO_RESPONSE *GetSelInfoResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetSelInfoResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_GET_SEL_INFO, - NULL, - 0, - (VOID *)GetSelInfoResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetSelEntry ( - IN IPMI_GET_SEL_ENTRY_REQUEST *GetSelEntryRequest, - OUT IPMI_GET_SEL_ENTRY_RESPONSE *GetSelEntryResponse, - IN OUT UINT32 *GetSelEntryResponseSize - ) -{ - EFI_STATUS Status; - - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_GET_SEL_ENTRY, - (VOID *)GetSelEntryRequest, - sizeof(*GetSelEntryRequest), - (VOID *)GetSelEntryResponse, - GetSelEntryResponseSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiAddSelEntry ( - IN IPMI_ADD_SEL_ENTRY_REQUEST *AddSelEntryRequest, - OUT IPMI_ADD_SEL_ENTRY_RESPONSE *AddSelEntryResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*AddSelEntryResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_ADD_SEL_ENTRY, - (VOID *)AddSelEntryRequest, - sizeof(*AddSelEntryRequest), - (VOID *)AddSelEntryResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiPartialAddSelEntry ( - IN IPMI_PARTIAL_ADD_SEL_ENTRY_REQUEST *PartialAddSelEntryRequest, - IN UINT32 PartialAddSelEntryRequestSize, - OUT IPMI_PARTIAL_ADD_SEL_ENTRY_RESPONSE *PartialAddSelEntryResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*PartialAddSelEntryResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_PARTIAL_ADD_SEL_ENTRY, - (VOID *)PartialAddSelEntryRequest, - PartialAddSelEntryRequestSize, - (VOID *)PartialAddSelEntryResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiClearSel ( - IN IPMI_CLEAR_SEL_REQUEST *ClearSelRequest, - OUT IPMI_CLEAR_SEL_RESPONSE *ClearSelResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*ClearSelResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_CLEAR_SEL, - (VOID *)ClearSelRequest, - sizeof(*ClearSelRequest), - (VOID *)ClearSelResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetSelTime ( - OUT IPMI_GET_SEL_TIME_RESPONSE *GetSelTimeResponse - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetSelTimeResponse); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_GET_SEL_TIME, - NULL, - 0, - (VOID *)GetSelTimeResponse, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiSetSelTime ( - IN IPMI_SET_SEL_TIME_REQUEST *SetSelTimeRequest, - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_SET_SEL_TIME, - (VOID *)SetSelTimeRequest, - sizeof(*SetSelTimeRequest), - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetSdrRepositoryInfo ( - OUT IPMI_GET_SDR_REPOSITORY_INFO_RESPONSE *GetSdrRepositoryInfoResp - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*GetSdrRepositoryInfoResp); - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_GET_SDR_REPOSITORY_INFO, - NULL, - 0, - (VOID *)GetSdrRepositoryInfoResp, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetSdr ( - IN IPMI_GET_SDR_REQUEST *GetSdrRequest, - OUT IPMI_GET_SDR_RESPONSE *GetSdrResponse, - IN OUT UINT32 *GetSdrResponseSize - ) -{ - EFI_STATUS Status; - - Status = IpmiSubmitCommand ( - IPMI_NETFN_STORAGE, - IPMI_STORAGE_GET_SDR, - (VOID *)GetSdrRequest, - sizeof(*GetSdrRequest), - (VOID *)GetSdrResponse, - GetSdrResponseSize - ); - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnTransport.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnTransport.c deleted file mode 100644 index 3b9b17b909..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiCommandLib/IpmiCommandLibNetFnTransport.c +++ /dev/null @@ -1,81 +0,0 @@ -/** @file - IPMI Command - NetFnTransport. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include - -#include - - -EFI_STATUS -EFIAPI -IpmiSolActivating ( - IN IPMI_SOL_ACTIVATING_REQUEST *SolActivatingRequest, - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_TRANSPORT, - IPMI_TRANSPORT_SOL_ACTIVATING, - (VOID *)SolActivatingRequest, - sizeof(*SolActivatingRequest), - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiSetSolConfigurationParameters ( - IN IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST *SetConfigurationParametersRequest, - IN UINT32 SetConfigurationParametersRequestSize, - OUT UINT8 *CompletionCode - ) -{ - EFI_STATUS Status; - UINT32 DataSize; - - DataSize = sizeof(*CompletionCode); - Status = IpmiSubmitCommand ( - IPMI_NETFN_TRANSPORT, - IPMI_TRANSPORT_SET_SOL_CONFIG_PARAM, - (VOID *)SetConfigurationParametersRequest, - SetConfigurationParametersRequestSize, - (VOID *)CompletionCode, - &DataSize - ); - return Status; -} - -EFI_STATUS -EFIAPI -IpmiGetSolConfigurationParameters ( - IN IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST *GetConfigurationParametersRequest, - OUT IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE *GetConfigurationParametersResponse, - IN OUT UINT32 *GetConfigurationParametersResponseSize - ) -{ - EFI_STATUS Status; - - Status = IpmiSubmitCommand ( - IPMI_NETFN_TRANSPORT, - IPMI_TRANSPORT_GET_SOL_CONFIG_PARAM, - (VOID *)GetConfigurationParametersRequest, - sizeof(*GetConfigurationParametersRequest), - (VOID *)GetConfigurationParametersResponse, - GetConfigurationParametersResponseSize - ); - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.c deleted file mode 100644 index db4c7ada7e..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiLibNull/IpmiLibNull.c +++ /dev/null @@ -1,45 +0,0 @@ -/** @file - IPMI library. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include - -#include - -/** - This service enables submitting commands via Ipmi. - - @param[in] NetFunction Net function of the command. - @param[in] Command IPMI Command. - @param[in] RequestData Command Request Data. - @param[in] RequestDataSize Size of Command Request Data. - @param[out] ResponseData Command Response Data. The completion code is the first byte of response data. - @param[in, out] ResponseDataSize Size of Command Response Data. - - @retval EFI_SUCCESS The command byte stream was successfully submit to the device and a response was successfully received. - @retval EFI_NOT_FOUND The command was not successfully sent to the device or a response was not successfully received from the device. - @retval EFI_NOT_READY Ipmi Device is not ready for Ipmi command access. - @retval EFI_DEVICE_ERROR Ipmi Device hardware error. - @retval EFI_TIMEOUT The command time out. - @retval EFI_UNSUPPORTED The command was not successfully sent to the device. - @retval EFI_OUT_OF_RESOURCES The resource allcation is out of resource or data size error. -**/ -EFI_STATUS -EFIAPI -IpmiSubmitCommand ( - IN UINT8 NetFunction, - IN UINT8 Command, - IN UINT8 *RequestData, - IN UINT32 RequestDataSize, - OUT UINT8 *ResponseData, - IN OUT UINT32 *ResponseDataSize - ) -{ - return EFI_UNSUPPORTED; -} - diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.c deleted file mode 100644 index bdc8d23827..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.c +++ /dev/null @@ -1,36 +0,0 @@ -/** @file - IPMI platform hook library. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include - -// -// Prototype definitions for IPMI Platform Update Library -// -EFI_STATUS -EFIAPI -PlatformIpmiIoRangeSet( - UINT16 IpmiIoBase - ) -/*++ - - Routine Description: - - This function sets IPMI Io range - - Arguments: - - IpmiIoBase - - Returns: - - Status - ---*/ -{ - return EFI_SUCCESS; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.c deleted file mode 100644 index 25139eadba..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.c +++ /dev/null @@ -1,112 +0,0 @@ -/** @file - IPMI Os watchdog timer Driver. - -Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include -#include - -BOOLEAN mOsWdtFlag = FALSE; - -EFI_EVENT mExitBootServicesEvent; - -VOID -EFIAPI -EnableEfiOsBootWdtHandler ( - IN EFI_EVENT Event, - IN VOID *Context - ) -/*++ - -Routine Description: - Enable the OS Boot Watchdog Timer. - Is called only on legacy or EFI OS boot. - -Arguments: - Event - Event type - *Context - Context for the event - -Returns: - None - ---*/ -{ - EFI_STATUS Status; - IPMI_SET_WATCHDOG_TIMER_REQUEST SetWatchdogTimer; - UINT8 CompletionCode; - IPMI_GET_WATCHDOG_TIMER_RESPONSE GetWatchdogTimer; - static BOOLEAN OsWdtEventHandled = FALSE; - - DEBUG((EFI_D_ERROR, "!!! EnableEfiOsBootWdtHandler()!!!\n")); - - // - // Make sure it processes once only. And proceess it only if OsWdtFlag==TRUE; - // - if (OsWdtEventHandled || !mOsWdtFlag) { - return ; - } - - OsWdtEventHandled = TRUE; - - Status = IpmiGetWatchdogTimer (&GetWatchdogTimer); - if (EFI_ERROR (Status)) { - return ; - } - - ZeroMem (&SetWatchdogTimer, sizeof(SetWatchdogTimer)); - // - // Just flip the Timer Use bit. This should release the timer. - // - SetWatchdogTimer.TimerUse.Bits.TimerRunning = 1; - SetWatchdogTimer.TimerUse.Bits.TimerUse = IPMI_WATCHDOG_TIMER_OS_LOADER; - SetWatchdogTimer.TimerActions.Uint8 = IPMI_WATCHDOG_TIMER_ACTION_HARD_RESET; - SetWatchdogTimer.TimerUseExpirationFlagsClear &= ~BIT4; - SetWatchdogTimer.TimerUseExpirationFlagsClear |= BIT1 | BIT2; - SetWatchdogTimer.InitialCountdownValue = 600; // 100ms / count - - Status = IpmiSetWatchdogTimer (&SetWatchdogTimer, &CompletionCode); - return ; -} - -EFI_STATUS -EFIAPI -DriverInit ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - -Routine Description: - This is the standard EFI driver point. This function intitializes - the private data required for creating ASRR Driver. - -Arguments: - As required for DXE driver enrty routine. - ImageHandle - ImageHandle of the loaded driver - SystemTable - Pointer to the System Table - -Returns: - @retval EFI_SUCCESS Protocol successfully started and installed. - @retval EFI_OUT_OF_RESOURCES The event could not be allocated. - ---*/ -{ - EFI_STATUS Status; - - Status = gBS->CreateEvent ( - EVT_SIGNAL_EXIT_BOOT_SERVICES, - TPL_NOTIFY, - EnableEfiOsBootWdtHandler, - NULL, - &mExitBootServicesEvent - ); - - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.c b/Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.c deleted file mode 100644 index 47bec1975a..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.c +++ /dev/null @@ -1,164 +0,0 @@ -/** @file - IPMI Serial Over Lan Driver. - -Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define SOL_CMD_RETRY_COUNT 10 - -/*++ - -Routine Description: - - This routine gets the SOL payload status or settings for a specific channel. - -Arguments: - Channel - LAN channel naumber. - ParamSel - Configuration parameter selection. - Data - Information returned from BMC. -Returns: - EFI_SUCCESS - SOL configuration parameters are successfully read from BMC. - Others - SOL configuration parameters could not be read from BMC. - ---*/ -EFI_STATUS -GetSOLStatus ( - IN UINT8 Channel, - IN UINT8 ParamSel, - IN OUT UINT8 *Data - ) -{ - EFI_STATUS Status = EFI_SUCCESS; - IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST GetConfigurationParametersRequest; - IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE GetConfigurationParametersResponse; - UINT32 DataSize; - UINT8 RetryCount; - - for (RetryCount = 0; RetryCount < SOL_CMD_RETRY_COUNT; RetryCount++) { - ZeroMem (&GetConfigurationParametersRequest, sizeof(GetConfigurationParametersRequest)); - GetConfigurationParametersRequest.ChannelNumber.Bits.ChannelNumber = Channel; - GetConfigurationParametersRequest.ParameterSelector = ParamSel; - - ZeroMem (&GetConfigurationParametersResponse, sizeof(GetConfigurationParametersResponse)); - - DataSize = sizeof(GetConfigurationParametersResponse); - Status = IpmiGetSolConfigurationParameters ( - &GetConfigurationParametersRequest, - &GetConfigurationParametersResponse, - &DataSize - ); - - if (Status == EFI_SUCCESS){ - break; - } else { - gBS->Stall(100000); - } - } - - if (Status == EFI_SUCCESS) { - *Data = GetConfigurationParametersResponse.ParameterData[0]; - } - - return Status; -} - -/*++ - -Routine Description: - - This routine sets the SOL payload configuration parameters for a specific channel. - -Arguments: - Channel - LAN channel naumber. - ParamSel - Configuration parameter selection. - Data - Configuration parameter values. -Returns: - EFI_SUCCESS - SOL configuration parameters are sent to BMC. - Others - SOL configuration parameters could not be sent to BMC. - ---*/ -EFI_STATUS -SetSOLParams ( - IN UINT8 Channel, - IN UINT8 ParamSel, - IN UINT8 Data - ) -{ - EFI_STATUS Status = EFI_SUCCESS; - IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST SetConfigurationParametersRequest; - UINT8 CompletionCode; - UINT8 RetryCount; - - for (RetryCount = 0; RetryCount < SOL_CMD_RETRY_COUNT; RetryCount++) { - ZeroMem (&SetConfigurationParametersRequest, sizeof(SetConfigurationParametersRequest)); - SetConfigurationParametersRequest.ChannelNumber.Bits.ChannelNumber = Channel; - SetConfigurationParametersRequest.ParameterSelector = ParamSel; - SetConfigurationParametersRequest.ParameterData[0] = Data; - - CompletionCode = 0; - - Status = IpmiSetSolConfigurationParameters ( - &SetConfigurationParametersRequest, - sizeof(SetConfigurationParametersRequest), - &CompletionCode - ); - - if (Status == EFI_SUCCESS) { - break; - } else { - gBS->Stall(100000); - } - } - - return Status; -} - -EFI_STATUS -EFIAPI -SolStatusEntryPoint ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - - Routine Description: - This is the standard EFI driver point. This function intitializes - the private data required for creating SOL Status Driver. - - Arguments: - ImageHandle - Handle for the image of this driver - SystemTable - Pointer to the EFI System Table - - Returns: - EFI_SUCCESS - Protocol successfully installed - EFI_UNSUPPORTED - Protocol can't be installed. - ---*/ -{ - EFI_STATUS Status = EFI_SUCCESS; - UINT8 Channel; - BOOLEAN SolEnabled = FALSE; - - for (Channel = 1; Channel <= PcdGet8 (PcdMaxSOLChannels); Channel++) { - Status = GetSOLStatus (Channel, IPMI_SOL_CONFIGURATION_PARAMETER_SOL_ENABLE, &SolEnabled); - if (Status == EFI_SUCCESS) { - DEBUG ((DEBUG_ERROR, "SOL enabling status for channel %x is %x\n", Channel, SolEnabled)); - } else { - DEBUG ((DEBUG_ERROR, "Failed to get channel %x SOL status from BMC!, status is %x\n", Channel, Status)); - } - } - - return Status; -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/BmcSsdt.asl b/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/BmcSsdt.asl deleted file mode 100644 index 0daa175205..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/BmcSsdt.asl +++ /dev/null @@ -1,28 +0,0 @@ -/** @file - BMC ACPI SSDT. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -DefinitionBlock ( - "BmcSsdt.aml", - "SSDT", - 0x02, // SSDT revision. - // A Revision field value greater than or equal to 2 signifies that integers - // declared within the Definition Block are to be evaluated as 64-bit values - "INTEL", // OEM ID (6 byte string) - "BMCACPI", // OEM table ID (8 byte string) - 0x0 // OEM version of DSDT table (4 byte Integer) - ) -{ - - External(\_SB.PC00.LPC0, DeviceObj) - - Scope (\_SB.PC00.LPC0) - { - #include "IpmiOprRegions.asi" - } - -} diff --git a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/IpmiOprRegions.asi b/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/IpmiOprRegions.asi deleted file mode 100644 index d2ae5fc40a..0000000000 --- a/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/IpmiOprRegions.asi +++ /dev/null @@ -1,58 +0,0 @@ -/** @file - IPMI ACPI SSDT. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -Device(IPMC) -{ - // Config DWord, modified during POST - // Bit definitions are the same as PPMFlags: - // [00] = Plug and Play BMC Detection enabled in setup - // [31:01] = Reserved = 0 - - Name(ECFL, 0x80000000) - - // Return the interface specification revision - Method(_SRV) - { - // IPMI Specification Revision v2.0 - Return(0x0200) - } - - Method(_STA, 0) - { - // - // Assume OK - // - Store (0xF, Local0) - - Return(Local0) - - // Bit 0 - Set if the device is present. - // Bit 1 - Set if the device is enabled and decoding its resources. - // Bit 2 - Set if the device should be shown in the UI. - // Bit 3 - Set if the device is functioning properly (cleared if the device failed its diagnostics). - // Bit 4 - Set if the battery is present. - // Bit 5 - Reserved (must be cleared). - } // end of _STA - - // Return the x86 resources consumed by BMC - Name(_CRS, ResourceTemplate() - { - // Uses 8-bit ports 0xCA2-0xCA5 - IO(Decode16, 0xCA2, 0xCA2, 0, 2) - }) - - Name(_HID, "IPI0001") // IPMI device - Name(_IFT, 0x1) // KCS system interface type - Name(_STR, Unicode("IPMI_KCS")) - - Name(_UID, 0) // First interface. - - -} // end of Device(IPMC) - - -- 2.16.2.windows.1