From: "Nate DeSimone" <nathaniel.l.desimone@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"Kubacki, Michael A" <michael.a.kubacki@intel.com>
Cc: "Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>,
"Gao, Liming" <liming.gao@intel.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 15/49] AdvancedFeaturePkg: Remove the IPMI feature
Date: Fri, 15 Nov 2019 23:48:26 +0000 [thread overview]
Message-ID: <02A34F284D1DA44BB705E61F7180EF0AB5BDB1C4@ORSMSX114.amr.corp.intel.com> (raw)
In-Reply-To: <20191113032816.4056-16-michael.a.kubacki@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Kubacki, Michael A
Sent: Tuesday, November 12, 2019 7:28 PM
To: devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <liming.gao@intel.com>
Subject: [edk2-devel] [edk2-platforms][PATCH V1 15/49] AdvancedFeaturePkg: Remove the IPMI feature
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 <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
---
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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef _IPMI_COMMAND_LIB_H_
-#define _IPMI_COMMAND_LIB_H_
-
-#include <Uefi.h>
-#include <IndustryStandard/Ipmi.h>
-
-//
-// 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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef _IPMI_PLATFORM_UPDATE_LIB_H_
-#define _IPMI_PLATFORM_UPDATE_LIB_H_
-
-#include <Uefi.h>
-#include <IndustryStandard/Acpi.h>
-#include <Protocol/Smbios.h>
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-//
-// Statements that include other header files
-//
-#include <PiDxe.h>
-
-#include <IndustryStandard/Acpi.h>
-#include <Protocol/AcpiSystemDescriptionTable.h>
-#include <Protocol/FirmwareVolume2.h>
-#include <Protocol/AcpiTable.h>
-
-#include <Library/BaseLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/DebugLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiLib.h>
-
-#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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Uefi.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/IpmiCommandLib.h>
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiDxe.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IpmiCommandLib.h>
-#include <IndustryStandard/Ipmi.h>
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/IoLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IpmiCommandLib.h>
-
-#include <IndustryStandard/Ipmi.h>
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Library/BaseLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/IpmiCommandLib.h>
-#include <IndustryStandard/Ipmi.h>
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiDxe.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/TimerLib.h>
-#include <Library/IpmiCommandLib.h>
-
-#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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/TimerLib.h>
-#include <Library/IpmiCommandLib.h>
-
-#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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IpmiLib.h>
-
-#include <IndustryStandard/Ipmi.h>
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IpmiLib.h>
-
-#include <IndustryStandard/Ipmi.h>
-
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IpmiLib.h>
-
-#include <IndustryStandard/Ipmi.h>
-
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IpmiLib.h>
-
-#include <IndustryStandard/Ipmi.h>
-
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-#include <Library/DebugLib.h>
-
-#include <IndustryStandard/Ipmi.h>
-
-/**
- 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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Library/IpmiPlatformHookLib.h>
-
-//
-// 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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Uefi.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/IpmiCommandLib.h>
-#include <IndustryStandard/Ipmi.h>
-
-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.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Uefi.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/IpmiCommandLib.h>
-#include <IndustryStandard/Ipmi.h>
-
-#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.<BR>
-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.<BR>
-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
next prev parent reply other threads:[~2019-11-15 23:48 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-13 3:27 [edk2-platforms][PATCH V1 00/49] Intel Advanced Feature Refactor Kubacki, Michael A
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 01/49] AdvancedFeaturePkg: Package DSC style cleanup Kubacki, Michael A
2019-11-14 2:00 ` Chaganty, Rangasai V
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 02/49] DebugFeaturePkg: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 03/49] UserInterfaceFeaturePkg: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 04/49] Features/Intel: Add Readme.md Kubacki, Michael A
2019-11-15 23:47 ` Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 05/49] Features/Intel/PowerManagement: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 06/49] Features/Intel/OutOfBandManagement: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 07/49] Features/Intel/SystemInformation: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 08/49] Features/Intel/Debug: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 09/49] Features/Intel/UserInterface: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 10/49] Features/Intel/Network: " Kubacki, Michael A
2019-11-15 23:47 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 11/49] TemplateFeaturePkg: Add initial package Kubacki, Michael A
2019-11-15 23:48 ` Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 12/49] SimicsOpenBoardPkg: Remove advanced feature references Kubacki, Michael A
2019-11-15 23:48 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 13/49] AdvancedFeaturePkg: Remove the S3 feature Kubacki, Michael A
2019-11-15 23:48 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 14/49] Features/Intel: Add S3FeaturePkg Kubacki, Michael A
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 15/49] AdvancedFeaturePkg: Remove the IPMI feature Kubacki, Michael A
2019-11-15 23:48 ` Nate DeSimone [this message]
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 16/49] Features/Intel/IpmiFeaturePkg: Add initial package Kubacki, Michael A
2019-11-15 23:48 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 17/49] Features/Intel/IpmiFeaturePkg: Add libraries Kubacki, Michael A
2019-11-15 23:49 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 18/49] Features/Intel/IpmiFeaturePkg: Add modules Kubacki, Michael A
2019-11-15 23:49 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 19/49] AdvancedFeaturePkg: Remove the SMBIOS feature Kubacki, Michael A
2019-11-15 23:49 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 20/49] Features/Intel/SmbiosFeaturePkg: Add initial package Kubacki, Michael A
2019-11-15 23:49 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 21/49] Features/Intel/SmbiosFeaturePkg: Update default strings Kubacki, Michael A
2019-11-15 23:49 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 22/49] DebugFeaturePkg: Remove the ACPI Debug feature Kubacki, Michael A
2019-11-15 23:49 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 23/49] Features/Intel/AcpiDebugFeaturePkg: Add initial package Kubacki, Michael A
2019-11-15 23:49 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 25/49] Features/Intel/Usb3DebugFeaturePkg: " Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 26/49] UserInterfaceFeaturePkg: Remove the User Authentication feature Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 27/49] Features/Intel/UserAuthFeaturePkg: Add initial package Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 28/49] Features/Intel/NetworkFeaturePkg: " Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 29/49] AdvancedFeaturePkg: Remove remaining contents Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 30/49] AdvancedFeaturePkg: Move to Features/Intel Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 31/49] AdvancedFeaturePkg: Add feature build support Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 32/49] AdvancedFeaturePkg: Add temporary build workaround Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:27 ` [edk2-platforms][PATCH V1 33/49] AdvancedFeaturePkg: Add FDF include files Kubacki, Michael A
2019-11-15 23:50 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:28 ` [edk2-platforms][PATCH V1 34/49] KabylakeOpenBoardPkg/KabylakeRvp3: Add PEI_ARCH and DXE_ARCH Kubacki, Michael A
2019-11-15 23:51 ` Nate DeSimone
2019-11-13 3:28 ` [edk2-platforms][PATCH V1 35/49] KabylakeOpenBoardPkg/GalagoPro3: " Kubacki, Michael A
2019-11-15 23:51 ` Nate DeSimone
2019-11-13 3:28 ` [edk2-platforms][PATCH V1 36/49] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: " Kubacki, Michael A
2019-11-15 23:51 ` Nate DeSimone
2019-11-13 3:28 ` [edk2-platforms][PATCH V1 37/49] SimicsOpenBoardPkg/BoardX58Ich10: Use " Kubacki, Michael A
2019-11-15 23:51 ` [edk2-devel] " Nate DeSimone
2019-11-13 3:28 ` [edk2-platforms][PATCH V1 38/49] MinPlatformPkg: Add FvAdvancedPreMemory Kubacki, Michael A
2019-11-15 23:51 ` Nate DeSimone
2019-11-13 3:28 ` [edk2-platforms][PATCH V1 39/49] KabylakeOpenBoardPkg/KabylakeRvp3: " Kubacki, Michael A
2019-11-16 0:34 ` Nate DeSimone
2019-11-13 3:28 ` [edk2-platforms][PATCH V1 40/49] KabylakeOpenBoardPkg/GalagoPro3: " Kubacki, Michael A
2019-11-16 0:34 ` Nate DeSimone
2019-11-15 23:47 ` [edk2-platforms][PATCH V1 00/49] Intel Advanced Feature Refactor Nate DeSimone
[not found] ` <20191113032816.4056-42-michael.a.kubacki@intel.com>
2019-11-16 0:34 ` [edk2-platforms][PATCH V1 41/49] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add FvAdvancedPreMemory Nate DeSimone
[not found] ` <20191113032816.4056-43-michael.a.kubacki@intel.com>
2019-11-16 0:34 ` [edk2-platforms][PATCH V1 42/49] Platform/Intel: Add advanced feature build support Nate DeSimone
[not found] ` <20191113032816.4056-44-michael.a.kubacki@intel.com>
2019-11-16 0:34 ` [edk2-platforms][PATCH V1 43/49] Platform/Intel/Readme.md Content update Nate DeSimone
[not found] ` <20191113032816.4056-45-michael.a.kubacki@intel.com>
2019-11-16 0:34 ` [edk2-platforms][PATCH V1 44/49] KabylakeOpenBoardPkg/GalagoPro3: Enable advanced features Nate DeSimone
[not found] ` <20191113032816.4056-46-michael.a.kubacki@intel.com>
2019-11-16 0:34 ` [edk2-platforms][PATCH V1 45/49] KabylakeOpenBoardPkg/KabylakeRvp3: " Nate DeSimone
[not found] ` <20191113032816.4056-47-michael.a.kubacki@intel.com>
2019-11-16 0:34 ` [edk2-platforms][PATCH V1 46/49] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: " Nate DeSimone
[not found] ` <20191113032816.4056-49-michael.a.kubacki@intel.com>
2019-11-16 0:34 ` [edk2-platforms][PATCH V1 48/49] MinPlatformPkg: Install advanced feature FVs by stage enabled Nate DeSimone
2019-11-18 8:40 ` [edk2-platforms][PATCH V1 00/49] Intel Advanced Feature Refactor Dandan Bi
2019-11-27 20:54 ` Kubacki, Michael A
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=02A34F284D1DA44BB705E61F7180EF0AB5BDB1C4@ORSMSX114.amr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox