[edk2-devel] [edk2-platforms][PATCH V2 41/47] Platform/Intel/AdvancedFeaturePkg: Remove the IPMI feature

Kubacki, Michael A via Groups.Io michael.a.kubacki=intel.com at groups.io
Thu Nov 28 02:18:32 UTC 2019


Removes the IPMI feature from AdvancedFeaturePkg. The feature does
not follow the advanced feature design. The feature has been moved
to Features/Intel/OutOfBandManagement/IpmiFeaturePkg.

Cc: Sai Chaganty <rangasai.v.chaganty at intel.com>
Cc: Liming Gao <liming.gao at intel.com>
Signed-off-by: Michael Kubacki <michael.a.kubacki at 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.
-
- at param[in] ImageHandle - Handle of this driver image
- at param[in] SystemTable - Table containing standard EFI services
-
- at 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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51429): https://edk2.groups.io/g/devel/message/51429
Mute This Topic: https://groups.io/mt/63584557/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list