[edk2-devel] [PATCH v1] EmulatorPkg/MiscSubClassPlatformDxe: Remove this unused module

Wu, Hao A posted 1 patch 5 years, 4 months ago
Failed in applying to current master (apply log)
EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf                        |  98 ---------
EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h                              | 169 ---------------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h                          | 126 -----------
EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.c               |  51 -----
EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c           | 155 -------------
EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c                          |  82 -------
EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c                      | 190 ----------------
EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c                     |  27 ---
EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c                 |  62 ------
EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c                 |  39 ----
EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c             | 125 -----------
EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesData.c        |  32 ---
EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c    | 227 --------------------
EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c                           |  26 ---
EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c                       |  69 ------
EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorData.c     |  93 --------
EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c | 166 --------------
EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c                   |  36 ----
EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c               |  65 ------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c                 |  72 -------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c                | 194 -----------------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c                |  27 ---
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c            |  74 -------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c                  |  51 -----
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c              | 129 -----------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c                  |  26 ---
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c              |  71 ------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c               |  46 ----
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c           |  86 --------
EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni                 |  19 --
EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni                            |  15 --
EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni                   |  16 --
EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni                             |  13 --
EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignator.uni       |  68 ------
EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni                        |  24 ---
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni                  |  13 --
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni                    |  16 --
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni                    |  13 --
EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni                 |  14 --
39 files changed, 2825 deletions(-)
[edk2-devel] [PATCH v1] EmulatorPkg/MiscSubClassPlatformDxe: Remove this unused module
Posted by Wu, Hao A 5 years, 4 months ago
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1953

For commit 63f9b9b9312f3e08c92a2ea3cdbe01e723ef653b, the use of module
EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf

was replaced by:
EmulatorPkg/PlatformSmbiosDxe/PlatformSmbiosDxe.inf

in platform DSC/FDF files.

This commit will remove this unused module from EmulatorPkg.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Hao A Wu <hao.a.wu@intel.com>
---
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf                        |  98 ---------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h                              | 169 ---------------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h                          | 126 -----------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.c               |  51 -----
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c           | 155 -------------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c                          |  82 -------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c                      | 190 ----------------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c                     |  27 ---
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c                 |  62 ------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c                 |  39 ----
 EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c             | 125 -----------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesData.c        |  32 ---
 EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c    | 227 --------------------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c                           |  26 ---
 EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c                       |  69 ------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorData.c     |  93 --------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c | 166 --------------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c                   |  36 ----
 EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c               |  65 ------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c                 |  72 -------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c                | 194 -----------------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c                |  27 ---
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c            |  74 -------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c                  |  51 -----
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c              | 129 -----------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c                  |  26 ---
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c              |  71 ------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c               |  46 ----
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c           |  86 --------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni                 |  19 --
 EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni                            |  15 --
 EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni                   |  16 --
 EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni                             |  13 --
 EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignator.uni       |  68 ------
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni                        |  24 ---
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni                  |  13 --
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni                    |  16 --
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni                    |  13 --
 EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni                 |  14 --
 39 files changed, 2825 deletions(-)

diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf
deleted file mode 100644
index 79b8c20221..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf
+++ /dev/null
@@ -1,98 +0,0 @@
-## @file
-# Misc Sub class driver
-#
-# Parses the MiscSubclassDataTable and reports any generated data to the DataHub.
-#  All .uni file who tagged with "ToolCode="DUMMY"" in following file list is included by
-#  MiscSubclassDriver.uni file, the StrGather tool will expand MiscSubclassDriver.uni file
-#  and parse all .uni file.
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
-#
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-#
-##
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = MiscSubclass
-  FILE_GUID                      = f2fbd108-8985-11db-b06a-0040d02b1835
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-  ENTRY_POINT                    = MiscSubclassDriverEntryPoint
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-#  VALID_ARCHITECTURES           = IA32 X64 EBC
-#
-
-[Sources]
-  MiscBaseBoardManufacturer.uni
-  MiscBaseBoardManufacturerData.c
-  MiscBaseBoardManufacturerFunction.c
-  MiscBiosVendor.uni
-  MiscBiosVendorData.c
-  MiscBiosVendorFunction.c
-  MiscBootInformationData.c
-  MiscBootInformationFunction.c
-  MiscChassisManufacturer.uni
-  MiscChassisManufacturerData.c
-  MiscChassisManufacturerFunction.c
-  MiscNumberOfInstallableLanguagesData.c
-  MiscNumberOfInstallableLanguagesFunction.c
-  MiscOemString.uni
-  MiscOemStringData.c
-  MiscOemStringFunction.c
-  MiscPortInternalConnectorDesignator.uni
-  MiscPortInternalConnectorDesignatorData.c
-  MiscPortInternalConnectorDesignatorFunction.c
-  MiscResetCapabilitiesData.c
-  MiscResetCapabilitiesFunction.c
-  MiscSystemLanguageString.uni
-  MiscSystemLanguageStringData.c
-  MiscSystemLanguageStringFunction.c
-  MiscSystemManufacturer.uni
-  MiscSystemManufacturerData.c
-  MiscSystemManufacturerFunction.c
-  MiscSystemOptionString.uni
-  MiscSystemOptionStringData.c
-  MiscSystemOptionStringFunction.c
-  MiscSystemSlotDesignation.uni
-  MiscSystemSlotDesignationData.c
-  MiscSystemSlotDesignationFunction.c
-  MiscDevicePath.h
-  MiscSubClassDriver.h
-  MiscSubClassDriver.uni
-  MiscSubclassDriverDataTable.c
-  MiscSubclassDriverEntryPoint.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  IntelFrameworkPkg/IntelFrameworkPkg.dec
-  EmulatorPkg/EmulatorPkg.dec
-
-[LibraryClasses]
-  DevicePathLib
-  UefiBootServicesTableLib
-  MemoryAllocationLib
-  BaseMemoryLib
-  UefiDriverEntryPoint
-  UefiLib
-  HiiLib
-  DebugLib
-  BaseLib
-  PcdLib
-
-[Protocols]
-  gEfiSmbiosProtocolGuid                        # PROTOCOL ALWAYS_CONSUMED
-
-[Pcd]
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString
-  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang
-  gEmulatorPkgTokenSpaceGuid.PcdEmuMemorySize
-
-
-[Depex]
-  gEfiSmbiosProtocolGuid
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h b/EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h
deleted file mode 100644
index 62d7a327c8..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/*++
-
-Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscDevicePath.h
-
-Abstract:
-
-  Misc class required EFI Device Path definitions (Ports, slots &
-  onboard devices)
-
-**/
-
-#ifndef _MISC_DEVICE_PATH_H
-#define _MISC_DEVICE_PATH_H
-
-
-#pragma pack(1)
-//
-// USB
-//
-
-/* For reference:
-#define USB1_1_STR  "ACPI(PNP0A03,0)/PCI(1D,0)."
-#define USB1_2_STR  "ACPI(PNP0A03,0)/PCI(1D,1)."
-#define USB1_3_STR  "ACPI(PNP0A03,0)/PCI(1D,2)."
-#define USB2_1_STR  "ACPI(PNP0A03,0)/PCI(1D,7)."
-*/
-
-//
-// #define acpi { 0x02, 0x01, 0x00, 0x0C, 0x0a0341d0, 0x00000000 }
-// #define pci( device,function)  { 0x01, 0x01, 0x00, 0x06, device, function }
-// #define end  { 0xFF, 0xFF, 0x00, 0x04 }
-//
-#define DP_ACPI \
-  { \
-      {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \
-      ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (0x0A03), 0 \
-  }
-#define DP_PCI(device, function) \
-  { \
-      {HARDWARE_DEVICE_PATH, HW_PCI_DP, {(UINT8) (sizeof (PCI_DEVICE_PATH)), (UINT8) \
-       ((sizeof (PCI_DEVICE_PATH)) >> 8)}}, function, device \
-  }
-#define DP_END \
-  { \
-    END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0} \
-  }
-
-#define DP_LPC(eisaid, function) \
-  { \
-    {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \
-     ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (eisaid), function \
-  }
-
-//
-// Shanmu >> moved to TianoDevicePath.h
-//
-
-/*
-typedef struct _USB_PORT_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      PciBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} USB_PORT_DEVICE_PATH;
-
-
-//IDE ??I am not sure. Should this be ATAPI_DEVICE_PATH
-typedef struct _IDE_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      PciBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} IDE_DEVICE_PATH;
-
-//RMC Connector
-typedef struct _RMC_CONN_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      PciBridgeDevicePath;
-  PCI_DEVICE_PATH      PciBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} RMC_CONN_DEVICE_PATH;
-
-//static RMC_CONN_DEVICE_PATH mRmcConnDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x0A,0x00 ), end };
-
-//RIDE
-typedef struct _RIDE_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      PciBridgeDevicePath;
-  PCI_DEVICE_PATH      PciBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} RIDE_DEVICE_PATH;
-
-//static RIDE_DEVICE_PATH mRideDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x02,0x00 ), end };
-
-//Gigabit NIC
-//typedef struct _GB_NIC_DEVICE_PATH
-//{
-//  ACPI_HID_DEVICE_PATH      PciRootBridgeDevicePath;
-//  PCI_DEVICE_PATH            PciBridgeDevicePath;
-//  PCI_DEVICE_PATH            PciXBridgeDevicePath;
-//  PCI_DEVICE_PATH            PciXBusDevicePath;
-//  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-//} GB_NIC_DEVICE_PATH;
-
-//static GB_NIC_DEVICE_PATH mGbNicDevicePath = { acpi, pci( 0x03,0x00 ),pci( 0x1F,0x00 ),pci( 0x07,0x00 ), end };
-
-
-//P/S2 Connector
-typedef struct _PS2_CONN_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      LpcBridgeDevicePath;
-  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} PS2_CONN_DEVICE_PATH;
-
-//static PS2_CONN_DEVICE_PATH mPs2KeyboardDevicePath   = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,0 ), end };
-//static PS2_CONN_DEVICE_PATH mPs2MouseDevicePath      = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,1 ), end };
-
-//Serial Port Connector
-typedef struct _SERIAL_CONN_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      LpcBridgeDevicePath;
-  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} SERIAL_CONN_DEVICE_PATH;
-
-//static SERIAL_CONN_DEVICE_PATH mCom1DevicePath   = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,0 ), end };
-//static SERIAL_CONN_DEVICE_PATH mCom2DevicePath   = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,1 ), end };
-
-//Parallel Port Connector
-typedef struct _PARALLEL_CONN_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      LpcBridgeDevicePath;
-  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} PARALLEL_CONN_DEVICE_PATH;
-
-//static PARALLEL_CONN_DEVICE_PATH mLpt1DevicePath   = { acpi, pci( 0x1F,0x00 ),lpc( 0x0401,0 ), end };
-
-//Floopy Connector
-typedef struct _FLOOPY_CONN_DEVICE_PATH
-{
-  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
-  PCI_DEVICE_PATH      LpcBridgeDevicePath;
-  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} FLOOPY_CONN_DEVICE_PATH;
-
-//static FLOOPY_CONN_DEVICE_PATH mFloopyADevicePath   = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,0 ), end };
-//static FLOOPY_CONN_DEVICE_PATH mFloopyBDevicePath   = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,1 ), end };
-
-*/
-
-//
-// End Shanmu
-//
-#pragma pack()
-
-#endif
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
deleted file mode 100644
index 28e2ac49c9..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscSubclassDriver.h
-
-Abstract:
-
-  Header file for MiscSubclass Driver.
-
-**/
-
-#ifndef _MISC_SUBCLASS_DRIVER_H
-#define _MISC_SUBCLASS_DRIVER_H
-
-#include <FrameworkDxe.h>
-
-#include <Guid/DataHubRecords.h>
-#include <IndustryStandard/SmBios.h>
-#include <Protocol/Smbios.h>
-#include <Protocol/EmuIoThunk.h>
-
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/HiiLib.h>
-#include <Library/UefiLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/DevicePathLib.h>
-#include <Library/PcdLib.h>
-
-
-#include <MiscDevicePath.h>
-#include <Protocol/FrameworkHii.h>
-#include <Library/HiiLib.h>
-
-//
-// Data table entry update function.
-//
-typedef EFI_STATUS (EFIAPI EFI_MISC_SMBIOS_DATA_FUNCTION) (
-  IN  VOID                 *RecordData,
-  IN  EFI_SMBIOS_PROTOCOL  *Smbios
-  );
-
-//
-// Data table entry definition.
-//
-typedef struct {
-  //
-  // intermediat input data for SMBIOS record
-  //
-  VOID                              *RecordData;
-  EFI_MISC_SMBIOS_DATA_FUNCTION     *Function;
-} EFI_MISC_SMBIOS_DATA_TABLE;
-
-//
-// Data Table extern definitions.
-//
-#define MISC_SMBIOS_TABLE_EXTERNS(NAME1, NAME2, NAME3) \
-extern NAME1 NAME2 ## Data; \
-extern EFI_MISC_SMBIOS_DATA_FUNCTION NAME3 ## Function
-
-
-//
-// Data Table entries
-//
-#define MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NAME1, NAME2) \
-{ \
-  & NAME1 ## Data, \
-  & NAME2 ## Function \
-}
-
-//
-// Global definition macros.
-//
-#define MISC_SMBIOS_TABLE_DATA(NAME1, NAME2) \
-  NAME1 NAME2 ## Data
-
-#define MISC_SMBIOS_TABLE_FUNCTION(NAME2) \
-  EFI_STATUS EFIAPI NAME2 ## Function( \
-  IN  VOID                  *RecordData, \
-  IN  EFI_SMBIOS_PROTOCOL   *Smbios \
-  )
-
-
-//
-// Data Table Array
-//
-extern EFI_MISC_SMBIOS_DATA_TABLE mMiscSubclassDataTable[];
-
-//
-// Data Table Array Entries
-//
-extern UINTN                        mMiscSubclassDataTableEntries;
-extern UINT8                        MiscSubclassStrings[];
-extern EFI_HII_HANDLE               mHiiHandle;
-
-/**
-  Add an SMBIOS record.
-
-  @param  Smbios                The EFI_SMBIOS_PROTOCOL instance.
-  @param  SmbiosHandle          A unique handle will be assigned to the SMBIOS record.
-  @param  Record                The data for the fixed portion of the SMBIOS record. The format of the record is
-                                determined by EFI_SMBIOS_TABLE_HEADER.Type. The size of the formatted area is defined
-                                by EFI_SMBIOS_TABLE_HEADER.Length and either followed by a double-null (0x0000) or
-                                a set of null terminated strings and a null.
-
-  @retval EFI_SUCCESS           Record was added.
-  @retval EFI_OUT_OF_RESOURCES  Record was not added due to lack of system resources.
-
-**/
-EFI_STATUS
-AddSmbiosRecord (
-  IN EFI_SMBIOS_PROTOCOL        *Smbios,
-  OUT EFI_SMBIOS_HANDLE         *SmbiosHandle,
-  IN EFI_SMBIOS_TABLE_HEADER    *Record
-  );
-
-#endif /* _MISC_SUBCLASS_DRIVER_H */
-
-/* eof - MiscSubclassDriver.h */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.c
deleted file mode 100644
index 0a094be34e..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscBaseBoardManufacturerData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_BASE_BOARD_MANUFACTURER_DATA, MiscBaseBoardManufacturer) = {
-  STRING_TOKEN(STR_MISC_BASE_BOARD_MANUFACTURER),
-  STRING_TOKEN(STR_MISC_BASE_BOARD_PRODUCT_NAME),
-  STRING_TOKEN(STR_MISC_BASE_BOARD_VERSION),
-  STRING_TOKEN(STR_MISC_BASE_BOARD_SERIAL_NUMBER),
-  STRING_TOKEN(STR_MISC_BASE_BOARD_ASSET_TAG),
-  STRING_TOKEN(STR_MISC_BASE_BOARD_CHASSIS_LOCATION),
-  {                         // BaseBoardFeatureFlags
-    1,                      // Motherboard
-    0,                      // RequiresDaughterCard
-    0,                      // Removable
-    1,                      // Replaceable,
-    0,                      // HotSwappable
-    0,                      // Reserved
-  },
-  EfiBaseBoardTypeUnknown,  // BaseBoardType
-  {                         // BaseBoardChassisLink
-    EFI_MISC_SUBCLASS_GUID, // ProducerName
-    1,                      // Instance
-    1,                      // SubInstance
-  },
-  0,                        // BaseBoardNumberLinks
-  {                         // LinkN
-    EFI_MISC_SUBCLASS_GUID, // ProducerName
-    1,                      // Instance
-    1,                      // SubInstance
-  },
-};
-
-/* eof - MiscBaseBoardManufacturerData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c
deleted file mode 100644
index 3d1681e7b5..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/** @file
-  BaseBoard manufacturer information boot time changes.
-  SMBIOS type 2.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-/**
-  This function makes boot time changes to the contents of the
-  MiscBaseBoardManufacturer (Type 2).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(MiscBaseBoardManufacturer)
-{
-  CHAR8                           *OptionalStrStart;
-  UINTN                           ManuStrLen;
-  UINTN                           ProductStrLen;
-  UINTN                           VerStrLen;
-  UINTN                           AssertTagStrLen;
-  UINTN                           SerialNumStrLen;
-  UINTN                           ChassisStrLen;
-  EFI_STATUS                      Status;
-  EFI_STRING                      Manufacturer;
-  EFI_STRING                      Product;
-  EFI_STRING                      Version;
-  EFI_STRING                      SerialNumber;
-  EFI_STRING                      AssertTag;
-  EFI_STRING                      Chassis;
-  STRING_REF                      TokenToGet;
-  EFI_SMBIOS_HANDLE               SmbiosHandle;
-  SMBIOS_TABLE_TYPE2              *SmbiosRecord;
-  EFI_MISC_BASE_BOARD_MANUFACTURER   *ForType2InputData;
-
-  ForType2InputData = (EFI_MISC_BASE_BOARD_MANUFACTURER *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_MANUFACTURER);
-  Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  ManuStrLen = StrLen(Manufacturer);
-  if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_PRODUCT_NAME);
-  Product = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  ProductStrLen = StrLen(Product);
-  if (ProductStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_VERSION);
-  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  VerStrLen = StrLen(Version);
-  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_SERIAL_NUMBER);
-  SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  SerialNumStrLen = StrLen(SerialNumber);
-  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_ASSET_TAG);
-  AssertTag = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  AssertTagStrLen = StrLen(AssertTag);
-  if (AssertTagStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_CHASSIS_LOCATION);
-  Chassis = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  ChassisStrLen = StrLen(Chassis);
-  if (ChassisStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + ChassisStrLen +1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + ChassisStrLen +1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BASEBOARD_INFORMATION;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE2);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-  //
-  // Manu will be the 1st optional string following the formatted structure.
-  //
-  SmbiosRecord->Manufacturer = 1;
-  //
-  // ProductName will be the 2st optional string following the formatted structure.
-  //
-  SmbiosRecord->ProductName  = 2;
-  //
-  // Version will be the 3rd optional string following the formatted structure.
-  //
-  SmbiosRecord->Version = 3;
-  //
-  // SerialNumber will be the 4th optional string following the formatted structure.
-  //
-  SmbiosRecord->SerialNumber = 4;
-  //
-  // AssertTag will be the 5th optional string following the formatted structure.
-  //
-  SmbiosRecord->AssetTag = 5;
-
-  //
-  // LocationInChassis will be the 6th optional string following the formatted structure.
-  //
-  SmbiosRecord->LocationInChassis = 6;
-  SmbiosRecord->FeatureFlag = (*(BASE_BOARD_FEATURE_FLAGS*)&(ForType2InputData->BaseBoardFeatureFlags));
-  SmbiosRecord->ChassisHandle  = 0;
-  SmbiosRecord->BoardType      = (UINT8)ForType2InputData->BaseBoardType;
-  SmbiosRecord->NumberOfContainedObjectHandles = 0;
-
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  //
-  // Since we fill NumberOfContainedObjectHandles = 0 for simple, just after this filed to fill string
-  //
-  OptionalStrStart -= 2;
-  UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);
-  UnicodeStrToAsciiStr(Product, OptionalStrStart + ManuStrLen + 1);
-  UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1);
-  UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1);
-  UnicodeStrToAsciiStr(AssertTag, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1);
-  UnicodeStrToAsciiStr(Chassis, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1);
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c
deleted file mode 100644
index 4ab8beffee..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscBiosVendorData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_BIOS_VENDOR_DATA, MiscBiosVendor) = {
-  STRING_TOKEN(STR_MISC_BIOS_VENDOR),       // BiosVendor
-  STRING_TOKEN(STR_MISC_BIOS_VERSION),      // BiosVersion
-  STRING_TOKEN(STR_MISC_BIOS_RELEASE_DATE), // BiosReleaseDate
-  0xBABE, // BiosStartingAddress
-  {       // BiosPhysicalDeviceSize
-    2,    // Value
-    3,    // Exponent
-  },
-  {       // BiosCharacteristics1
-    0,    // Reserved1                         :2
-    0,    // Unknown                           :1
-    1,    // BiosCharacteristicsNotSupported   :1
-    0,    // IsaIsSupported                    :1
-    0,    // McaIsSupported                    :1
-    0,    // EisaIsSupported                   :1
-    0,    // PciIsSupported                    :1
-    0,    // PcmciaIsSupported                 :1
-    0,    // PlugAndPlayIsSupported            :1
-    0,    // ApmIsSupported                    :1
-    0,    // BiosIsUpgradable                  :1
-    0,    // BiosShadowingAllowed              :1
-    0,    // VlVesaIsSupported                 :1
-    0,    // EscdSupportIsAvailable            :1
-    0,    // BootFromCdIsSupported             :1
-    0,    // SelectableBootIsSupported         :1
-    0,    // RomBiosIsSocketed                 :1
-    0,    // BootFromPcmciaIsSupported         :1
-    0,    // EDDSpecificationIsSupported       :1
-    0,    // JapaneseNecFloppyIsSupported      :1
-    0,    // JapaneseToshibaFloppyIsSupported  :1
-    0,    // Floppy525_360IsSupported          :1
-    0,    // Floppy525_12IsSupported           :1
-    0,    // Floppy35_720IsSupported           :1
-    0,    // Floppy35_288IsSupported           :1
-    0,    // PrintScreenIsSupported            :1
-    0,    // Keyboard8042IsSupported           :1
-    0,    // SerialIsSupported                 :1
-    0,    // PrinterIsSupported                :1
-    0,    // CgaMonoIsSupported                :1
-    0,    // NecPc98                           :1
-    0,    // AcpiIsSupported                   :1
-    0,    // UsbLegacyIsSupported              :1
-    0,    // AgpIsSupported                    :1
-    0,    // I20BootIsSupported                :1
-    0,    // Ls120BootIsSupported              :1
-    0,    // AtapiZipDriveBootIsSupported      :1
-    0,    // Boot1394IsSupported               :1
-    0,    // SmartBatteryIsSupported           :1
-    0,    // BiosBootSpecIsSupported           :1
-    0,    // FunctionKeyNetworkBootIsSupported :1
-    0     // Reserved                          :22
-  },
-  {       // BiosCharacteristics2
-    0,    // BiosReserved                      :16
-    0,    // SystemReserved                    :16
-    0     // Reserved                          :32
-  },
-};
-
-/* eof - MiscBiosVendorData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
deleted file mode 100644
index ed9ad9c075..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/** @file
-  BIOS vendor information boot time changes.
-  Misc. subclass type 2.
-  SMBIOS type 0.
-
-  Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-/**
-  This function returns the value & exponent to Base2 for a given
-  Hex value. This is used to calculate the BiosPhysicalDeviceSize.
-
-  @param Value                      The hex value which is to be converted into value-exponent form
-  @param Exponent                   The exponent out of the conversion
-
-  @retval EFI_SUCCESS               All parameters were valid and *Value & *Exponent have been set.
-  @retval EFI_INVALID_PARAMETER     Invalid parameter was found.
-
-**/
-EFI_STATUS
-GetValueExponentBase2(
-  IN OUT UINTN        *Value,
-  OUT    UINTN        *Exponent
-  )
-{
-  if ((Value == NULL) || (Exponent == NULL)) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  while ((*Value % 2) == 0) {
-    *Value=*Value/2;
-    (*Exponent)++;
-  }
-
-  return EFI_SUCCESS;
-}
-
-/**
-  Field Filling Function. Transform an EFI_EXP_BASE2_DATA to a byte, with '64k'
-  as the unit.
-
-  @param  Base2Data              Pointer to Base2_Data
-
-  @retval EFI_SUCCESS            Transform successfully.
-  @retval EFI_INVALID_PARAMETER  Invalid parameter was found.
-
-**/
-UINT16
-Base2ToByteWith64KUnit (
-  IN      EFI_EXP_BASE2_DATA  *Base2Data
-  )
-{
-  UINT16              Value;
-  UINT16              Exponent;
-
-  Value     = Base2Data->Value;
-  Exponent  = Base2Data->Exponent;
-  Exponent -= 16;
-  Value <<= Exponent;
-
-  return Value;
-}
-
-
-/**
-  This function makes boot time changes to the contents of the
-  MiscBiosVendor (Type 0).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(MiscBiosVendor)
-{
-  CHAR8                 *OptionalStrStart;
-  UINTN                 VendorStrLen;
-  UINTN                 VerStrLen;
-  UINTN                 DateStrLen;
-  CHAR16                *Version;
-  CHAR16                *ReleaseDate;
-  EFI_STATUS            Status;
-  EFI_STRING            Char16String;
-  STRING_REF            TokenToGet;
-  STRING_REF            TokenToUpdate;
-  SMBIOS_TABLE_TYPE0    *SmbiosRecord;
-  EFI_SMBIOS_HANDLE     SmbiosHandle;
-  EFI_MISC_BIOS_VENDOR *ForType0InputData;
-
-  ForType0InputData        = (EFI_MISC_BIOS_VENDOR *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  Version = (CHAR16 *) PcdGetPtr (PcdFirmwareVersionString);
-  if (StrLen (Version) > 0) {
-    TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_VERSION);
-    HiiSetString (mHiiHandle, TokenToUpdate, Version, NULL);
-  }
-
-  ReleaseDate = (CHAR16 *) PcdGetPtr (PcdFirmwareReleaseDateString);
-  if (StrLen(ReleaseDate) > 0) {
-    TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_RELEASE_DATE);
-    HiiSetString (mHiiHandle, TokenToUpdate, ReleaseDate, NULL);
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BIOS_VENDOR);
-  Char16String = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  VendorStrLen = StrLen(Char16String);
-  if (VendorStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BIOS_VERSION);
-  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  VerStrLen = StrLen(Version);
-  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_BIOS_RELEASE_DATE);
-  ReleaseDate = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  DateStrLen = StrLen(ReleaseDate);
-  if (DateStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE0) + VendorStrLen + 1 + VerStrLen + 1 + DateStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE0) + VendorStrLen + 1 + VerStrLen + 1 + DateStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_INFORMATION;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE0);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-  //
-  // Vendor will be the 1st optional string following the formatted structure.
-  //
-  SmbiosRecord->Vendor = 1;
-  //
-  // Version will be the 2nd optional string following the formatted structure.
-  //
-  SmbiosRecord->BiosVersion = 2;
-  SmbiosRecord->BiosSegment = (UINT16)ForType0InputData->BiosStartingAddress;
-  //
-  // ReleaseDate will be the 3rd optional string following the formatted structure.
-  //
-  SmbiosRecord->BiosReleaseDate = 3;
-  //
-  // Nt32 has no PCD value to indicate BIOS Size, just fill 0 for simply.
-  //
-  SmbiosRecord->BiosSize = 0;
-  SmbiosRecord->BiosCharacteristics = *(MISC_BIOS_CHARACTERISTICS*)(&ForType0InputData->BiosCharacteristics1);
-  //
-  // CharacterExtensionBytes also store in ForType0InputData->BiosCharacteristics1 later two bytes to save size.
-  //
-  SmbiosRecord->BIOSCharacteristicsExtensionBytes[0] = *((UINT8 *) &ForType0InputData->BiosCharacteristics1 + 4);
-  SmbiosRecord->BIOSCharacteristicsExtensionBytes[1] = *((UINT8 *) &ForType0InputData->BiosCharacteristics1 + 5);
-
-  SmbiosRecord->SystemBiosMajorRelease = ForType0InputData->BiosMajorRelease;
-  SmbiosRecord->SystemBiosMinorRelease = ForType0InputData->BiosMinorRelease;
-  SmbiosRecord->EmbeddedControllerFirmwareMajorRelease = ForType0InputData->BiosEmbeddedFirmwareMajorRelease;
-  SmbiosRecord->EmbeddedControllerFirmwareMinorRelease = ForType0InputData->BiosEmbeddedFirmwareMinorRelease;
-
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(Char16String, OptionalStrStart);
-  UnicodeStrToAsciiStr(Version, OptionalStrStart + VendorStrLen + 1);
-  UnicodeStrToAsciiStr(ReleaseDate, OptionalStrStart + VendorStrLen + 1 + VerStrLen + 1);
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c
deleted file mode 100644
index 0d7f7c1950..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscBootInformationData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_BOOT_INFORMATION_STATUS_DATA, BootInformationStatus) = {
-  EfiBootInformationStatusNoError,  // BootInformationStatus
-  {0}                                 // BootInformationData
-};
-
-/* eof - MiscBootInformationData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
deleted file mode 100644
index 993daf15a7..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/** @file
-  boot information boot time changes.
-  SMBIOS type 32.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-
-/**
-  This function makes boot time changes to the contents of the
-  MiscBootInformation (Type 32).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-
-MISC_SMBIOS_TABLE_FUNCTION(BootInformationStatus)
-{
-  EFI_STATUS                         Status;
-  EFI_SMBIOS_HANDLE                  SmbiosHandle;
-  SMBIOS_TABLE_TYPE32                *SmbiosRecord;
-  EFI_MISC_BOOT_INFORMATION_STATUS*  ForType32InputData;
-
-  ForType32InputData = (EFI_MISC_BOOT_INFORMATION_STATUS *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE32) + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE32) + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE32);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-  SmbiosRecord->BootStatus = (UINT8)ForType32InputData->BootInformationStatus;
-
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c
deleted file mode 100644
index 7dd83dc864..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscChassisManufacturerData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Chassis Manufacturer data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_CHASSIS_MANUFACTURER_DATA, MiscChassisManufacturer) = {
-  STRING_TOKEN(STR_MISC_CHASSIS_MANUFACTURER),  // ChassisManufactrurer
-  STRING_TOKEN(STR_MISC_CHASSIS_VERSION),       // ChassisVersion
-  STRING_TOKEN(STR_MISC_CHASSIS_SERIAL_NUMBER), // ChassisSerialNumber
-  STRING_TOKEN(STR_MISC_CHASSIS_ASSET_TAG),     // ChassisAssetTag
-  {                               // ChassisTypeStatus
-    EfiMiscChassisTypeOther,      // ChassisType
-    0,                            // ChassisLockPresent
-    0                             // Reserved
-  },
-  EfiChassisStateOther,           // ChassisBootupState
-  EfiChassisStateOther,           // ChassisPowerSupplyState
-  EfiChassisStateOther,           // ChassisThermalState
-  EfiChassisSecurityStatusOther,  // ChassisSecurityState
-  0                               // ChassisOemDefined
-};
-
-/* eof - MiscChassisManufacaturerData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c
deleted file mode 100644
index cbce70d520..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/** @file
-  Chassis manufacturer information boot time changes.
-  SMBIOS type 3.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-/**
-  This function makes boot time changes to the contents of the
-  MiscChassisManufacturer (Type 3).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(MiscChassisManufacturer)
-{
-  CHAR8                           *OptionalStrStart;
-  UINTN                           ManuStrLen;
-  UINTN                           VerStrLen;
-  UINTN                           AssertTagStrLen;
-  UINTN                           SerialNumStrLen;
-  EFI_STATUS                      Status;
-  EFI_STRING                      Manufacturer;
-  EFI_STRING                      Version;
-  EFI_STRING                      SerialNumber;
-  EFI_STRING                      AssertTag;
-  STRING_REF                      TokenToGet;
-  EFI_SMBIOS_HANDLE               SmbiosHandle;
-  SMBIOS_TABLE_TYPE3              *SmbiosRecord;
-  EFI_MISC_CHASSIS_MANUFACTURER   *ForType3InputData;
-
-  ForType3InputData = (EFI_MISC_CHASSIS_MANUFACTURER *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_MANUFACTURER);
-  Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  ManuStrLen = StrLen(Manufacturer);
-  if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_VERSION);
-  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  VerStrLen = StrLen(Version);
-  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_SERIAL_NUMBER);
-  SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  SerialNumStrLen = StrLen(SerialNumber);
-  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_ASSET_TAG);
-  AssertTag = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  AssertTagStrLen = StrLen(AssertTag);
-  if (AssertTagStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1  + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1  + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_ENCLOSURE;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE3);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-  //
-  // Manu will be the 1st optional string following the formatted structure.
-  //
-  SmbiosRecord->Manufacturer = 1;
-  SmbiosRecord->Type = (UINT8)ForType3InputData->ChassisType.ChassisType;
-  //
-  // Version will be the 2nd optional string following the formatted structure.
-  //
-  SmbiosRecord->Version = 2;
-  //
-  // SerialNumber will be the 3rd optional string following the formatted structure.
-  //
-  SmbiosRecord->SerialNumber = 3;
-  //
-  // AssertTag will be the 4th optional string following the formatted structure.
-  //
-  SmbiosRecord->AssetTag = 4;
-  SmbiosRecord->BootupState = (UINT8)ForType3InputData->ChassisBootupState;
-  SmbiosRecord->PowerSupplyState = (UINT8)ForType3InputData->ChassisPowerSupplyState;
-  SmbiosRecord->ThermalState = (UINT8)ForType3InputData->ChassisThermalState;
-  SmbiosRecord->SecurityStatus = (UINT8)ForType3InputData->ChassisSecurityState;
-  CopyMem (SmbiosRecord->OemDefined,(UINT8*)&ForType3InputData->ChassisOemDefined, 4);
-
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);
-  UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1);
-  UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 + VerStrLen + 1);
-  UnicodeStrToAsciiStr(AssertTag, OptionalStrStart + ManuStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1);
-
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesData.c
deleted file mode 100644
index 17bd5eb57b..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesData.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscNumberOfInstallableLanguagesData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA, NumberOfInstallableLanguages)
-= {
-  1,    // NumberOfInstallableLanguages
-  {     // LanguageFlags
-    0,  // AbbreviatedLanguageFormat
-    0   // Reserved
-  },
-  0,    // CurrentLanguageNumber
-};
-
-/* eof - MiscNumberOfInstallableLanguagesData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c
deleted file mode 100644
index b71524ef1e..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/** @file
-  This driver parses the mSmbiosMiscDataTable structure and reports
-  any generated data.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-/*++
-  Check whether the language is supported for given HII handle
-
-  @param   HiiHandle     The HII package list handle.
-  @param   Offset        The offest of current lanague in the supported languages.
-  @param   CurrentLang   The language code.
-
-  @retval  TRUE          Supported.
-  @retval  FALSE         Not Supported.
-
-**/
-VOID
-EFIAPI
-CurrentLanguageMatch (
-  IN  EFI_HII_HANDLE                   HiiHandle,
-  OUT UINT16                           *Offset,
-  OUT CHAR8                            *CurrentLang
-  )
-{
-  CHAR8     *DefaultLang;
-  CHAR8     *BestLanguage;
-  CHAR8     *Languages;
-  CHAR8     *MatchLang;
-  CHAR8     *EndMatchLang;
-  UINTN     CompareLength;
-
-  Languages = HiiGetSupportedLanguages (HiiHandle);
-  if (Languages == NULL) {
-    return;
-  }
-
-  CurrentLang  = GetEfiGlobalVariable (L"PlatformLang");
-  DefaultLang  = (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang);
-  BestLanguage = GetBestLanguage (
-                   Languages,
-                   FALSE,
-                   (CurrentLang != NULL) ? CurrentLang : "",
-                   DefaultLang,
-                   NULL
-                   );
-  if (BestLanguage != NULL) {
-    //
-    // Find the best matching RFC 4646 language, compute the offset.
-    //
-    CompareLength = AsciiStrLen (BestLanguage);
-    for (MatchLang = Languages, (*Offset) = 0; MatchLang != '\0'; (*Offset)++) {
-      //
-      // Seek to the end of current match language.
-      //
-      for (EndMatchLang = MatchLang; *EndMatchLang != '\0' && *EndMatchLang != ';'; EndMatchLang++);
-
-      if ((EndMatchLang == MatchLang + CompareLength) && AsciiStrnCmp(MatchLang, BestLanguage, CompareLength) == 0) {
-        //
-        // Find the current best Language in the supported languages
-        //
-        break;
-      }
-      //
-      // best language match be in the supported language.
-      //
-      ASSERT (*EndMatchLang == ';');
-      MatchLang = EndMatchLang + 1;
-    }
-    FreePool (BestLanguage);
-  }
-
-  FreePool (Languages);
-  if (CurrentLang != NULL) {
-    FreePool (CurrentLang);
-  }
-  return ;
-}
-
-
-/**
-  Get next language from language code list (with separator ';').
-
-  @param  LangCode       Input: point to first language in the list. On
-                         Otput: point to next language in the list, or
-                                NULL if no more language in the list.
-  @param  Lang           The first language in the list.
-
-**/
-VOID
-EFIAPI
-GetNextLanguage (
-  IN OUT CHAR8      **LangCode,
-  OUT CHAR8         *Lang
-  )
-{
-  UINTN  Index;
-  CHAR8  *StringPtr;
-
-  ASSERT (LangCode != NULL);
-  ASSERT (*LangCode != NULL);
-  ASSERT (Lang != NULL);
-
-  Index     = 0;
-  StringPtr = *LangCode;
-  while (StringPtr[Index] != 0 && StringPtr[Index] != ';') {
-    Index++;
-  }
-
-  CopyMem (Lang, StringPtr, Index);
-  Lang[Index] = 0;
-
-  if (StringPtr[Index] == ';') {
-    Index++;
-  }
-  *LangCode = StringPtr + Index;
-}
-
-/**
-  This function returns the number of supported languages on HiiHandle.
-
-  @param   HiiHandle    The HII package list handle.
-
-  @retval  The number of supported languages.
-
-**/
-UINT16
-EFIAPI
-GetSupportedLanguageNumber (
-  IN EFI_HII_HANDLE    HiiHandle
-  )
-{
-  CHAR8   *Lang;
-  CHAR8   *Languages;
-  CHAR8   *LanguageString;
-  UINT16  LangNumber;
-
-  Languages = HiiGetSupportedLanguages (HiiHandle);
-  if (Languages == NULL) {
-    return 0;
-  }
-
-  LangNumber = 0;
-  Lang = AllocatePool (AsciiStrSize (Languages));
-  if (Lang != NULL) {
-    LanguageString = Languages;
-    while (*LanguageString != 0) {
-      GetNextLanguage (&LanguageString, Lang);
-      LangNumber++;
-    }
-    FreePool (Lang);
-  }
-  FreePool (Languages);
-  return LangNumber;
-}
-
-
-/**
-  This function makes boot time changes to the contents of the
-  MiscNumberOfInstallableLanguages (Type 13).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(NumberOfInstallableLanguages)
-{
-  UINTN                                     LangStrLen;
-  CHAR8                                     CurrentLang[SMBIOS_STRING_MAX_LENGTH + 1];
-  CHAR8                                     *OptionalStrStart;
-  UINT16                                    Offset;
-  EFI_STATUS                                Status;
-  EFI_SMBIOS_HANDLE                         SmbiosHandle;
-  SMBIOS_TABLE_TYPE13                       *SmbiosRecord;
-  EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES  *ForType13InputData;
-
-  ForType13InputData = (EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  ForType13InputData->NumberOfInstallableLanguages = GetSupportedLanguageNumber (mHiiHandle);
-
-  //
-  // Try to check if current langcode matches with the langcodes in installed languages
-  //
-  ZeroMem(CurrentLang, SMBIOS_STRING_MAX_LENGTH + 1);
-  CurrentLanguageMatch (mHiiHandle, &Offset, CurrentLang);
-  LangStrLen = AsciiStrLen(CurrentLang);
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE13);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-
-  SmbiosRecord->InstallableLanguages = (UINT8)ForType13InputData->NumberOfInstallableLanguages;
-  SmbiosRecord->Flags = (UINT8)ForType13InputData->LanguageFlags.AbbreviatedLanguageFormat;
-  SmbiosRecord->CurrentLanguages = 1;
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  AsciiStrCpy(OptionalStrStart, CurrentLang);
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c
deleted file mode 100644
index 4480d05f22..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-    MiscOemStringData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_OEM_STRING_DATA, OemString) = {
-  { STRING_TOKEN(STR_MISC_OEM_STRING) }
-};
-
-/* eof - MiscOemStringData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
deleted file mode 100644
index a8fb486abd..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/** @file
-  boot information boot time changes.
-  SMBIOS type 11.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-/**
-  This function makes boot time changes to the contents of the
-  MiscOemString (Type 11).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(OemString)
-{
-  UINTN                    OemStrLen;
-  CHAR8                    *OptionalStrStart;
-  EFI_STATUS               Status;
-  EFI_STRING               OemStr;
-  STRING_REF               TokenToGet;
-  EFI_SMBIOS_HANDLE        SmbiosHandle;
-  SMBIOS_TABLE_TYPE11      *SmbiosRecord;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_OEM_STRING);
-  OemStr = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  OemStrLen = StrLen(OemStr);
-  if (OemStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE11) + OemStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE11) + OemStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_OEM_STRINGS;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE11);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-  SmbiosRecord->StringCount = 1;
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(OemStr, OptionalStrStart);
-
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorData.c
deleted file mode 100644
index 65b8a1ddb9..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorData.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscPortInternalConnectorDesignatorData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortInternalConnectorDesignator) = {
-  STRING_TOKEN(STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR),  // PortInternalConnectorDesignator
-  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR),  // PortExternalConnectorDesignator
-  EfiPortConnectorTypeOther,  // PortInternalConnectorType
-  EfiPortConnectorTypeOther,  // PortExternalConnectorType
-  EfiPortTypeNone,            // PortType
-  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
-};
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortKeyboard) = {
-  STRING_TOKEN (STR_MISC_PORT_INTERNAL_KEYBOARD),   // PortInternalConnectorDesignator
-  STRING_TOKEN (STR_MISC_PORT_EXTERNAL_KEYBOARD),   // PortExternalConnectorDesignator
-  EfiPortConnectorTypeNone, // PortInternalConnectorType
-  EfiPortConnectorTypePS2,  // PortExternalConnectorType
-  EfiPortTypeKeyboard,      // PortType
-  // mPs2KbyboardDevicePath                          // PortPath
-  //
-  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
-};
-
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortMouse) = {
-  STRING_TOKEN (STR_MISC_PORT_INTERNAL_MOUSE),      // PortInternalConnectorDesignator
-  STRING_TOKEN (STR_MISC_PORT_EXTERNAL_MOUSE),      // PortExternalConnectorDesignator
-  EfiPortConnectorTypeNone, // PortInternalConnectorType
-  EfiPortConnectorTypePS2,  // PortExternalConnectorType
-  EfiPortTypeMouse,         // PortType
-  // mPs2MouseDevicePath                // PortPath
-  //
-  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
-};
-
-
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom1) = {
-  STRING_TOKEN(STR_MISC_PORT_INTERNAL_COM1),
-  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM1),
-  EfiPortConnectorTypeNone,
-  EfiPortConnectorTypeDB9Female,
-  EfiPortTypeSerial16550ACompatible,
-  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
-};
-
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom2) = {
-  STRING_TOKEN(STR_MISC_PORT_INTERNAL_COM2),
-  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM2),
-  EfiPortConnectorTypeNone,
-  EfiPortConnectorTypeDB9Female,
-  EfiPortTypeSerial16550ACompatible,
-  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
-};
-
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortExtensionPower) = {
-  STRING_TOKEN(STR_MISC_PORT_INTERNAL_EXTENSION_POWER),
-  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_EXTENSION_POWER),
-  EfiPortConnectorTypeOther,
-  EfiPortConnectorTypeNone,
-  EfiPortTypeOther,
-  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
-};
-
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortFloppy) = {
-  STRING_TOKEN(STR_MISC_PORT_INTERNAL_FLOPPY),
-  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_FLOPPY),
-  EfiPortConnectorTypeOnboardFloppy,
-  EfiPortConnectorTypeNone,
-  EfiPortTypeOther,
-  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
-};
-
-/* eof - MiscPortInternalConnectorDesignatorData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c
deleted file mode 100644
index 84de46bdf8..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscPortInternalConnectorDesignatorFunction.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-
-MISC_SMBIOS_TABLE_FUNCTION (
-  MiscPortInternalConnectorDesignator
-  )
-/*++
-Description:
-
-  This function makes boot time changes to the contents of the
-  MiscPortConnectorInformation (Type 8).
-
-Parameters:
-
-  RecordType
-    Type of record to be processed from the Data Table.
-    mMiscSubclassDataTable[].RecordType
-
-  RecordLen
-    Size of static RecordData from the Data Table.
-    mMiscSubclassDataTable[].RecordLen
-
-  RecordData
-    Pointer to copy of RecordData from the Data Table.  Changes made
-    to this copy will be written to the Data Hub but will not alter
-    the contents of the static Data Table.
-
-  LogRecordData
-    Set *LogRecordData to TRUE to log RecordData to Data Hub.
-    Set *LogRecordData to FALSE when there is no more data to log.
-
-Returns:
-
-  EFI_SUCCESS
-    All parameters were valid and *RecordData and *LogRecordData have
-    been set.
-
-  EFI_UNSUPPORTED
-    Unexpected RecordType value.
-
-  EFI_INVALID_PARAMETER
-    One of the following parameter conditions was true:
-      RecordLen was zero.
-      RecordData was NULL.
-      LogRecordData was NULL.
-**/
-{
-  CHAR8                                        *OptionalStrStart;
-  UINTN                                        InternalRefStrLen;
-  UINTN                                        ExternalRefStrLen;
-  EFI_STRING                                   InternalRef;
-  EFI_STRING                                   ExternalRef;
-  STRING_REF                                   TokenForInternal;
-  STRING_REF                                   TokenForExternal;
-  EFI_STATUS                                   Status;
-  SMBIOS_TABLE_TYPE8                           *SmbiosRecord;
-  EFI_SMBIOS_HANDLE                            SmbiosHandle;
-  EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR  *ForType8InputData;
-
-  ForType8InputData = (EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR *)RecordData;
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenForInternal = 0;
-  TokenForExternal = 0;
-
-  switch (ForType8InputData->PortInternalConnectorDesignator) {
-
-    case STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR:
-      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR);
-      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR);
-      break;
-    case STR_MISC_PORT_INTERNAL_KEYBOARD:
-      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_KEYBOARD);
-      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_KEYBOARD);
-      break;
-    case STR_MISC_PORT_INTERNAL_MOUSE:
-      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_MOUSE);
-      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_MOUSE);
-      break;
-    case STR_MISC_PORT_INTERNAL_COM1:
-      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_COM1);
-      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM1);
-      break;
-    case STR_MISC_PORT_INTERNAL_COM2:
-      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_COM2);
-      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM2);
-      break;
-    case STR_MISC_PORT_INTERNAL_EXTENSION_POWER:
-      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_EXTENSION_POWER);
-      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_EXTENSION_POWER);
-      break;
-    case STR_MISC_PORT_INTERNAL_FLOPPY:
-      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_FLOPPY);
-      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_FLOPPY);
-      break;
-    default:
-      break;
-  }
-
-  InternalRef = HiiGetPackageString(&gEfiCallerIdGuid, TokenForInternal, NULL);
-  InternalRefStrLen = StrLen(InternalRef);
-  if (InternalRefStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  ExternalRef = HiiGetPackageString(&gEfiCallerIdGuid, TokenForExternal, NULL);
-  ExternalRefStrLen = StrLen(ExternalRef);
-  if (ExternalRefStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE8) + InternalRefStrLen + 1 + ExternalRefStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE8) + InternalRefStrLen + 1 + ExternalRefStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE8);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-  SmbiosRecord->InternalReferenceDesignator = 1;
-  SmbiosRecord->InternalConnectorType = (UINT8)ForType8InputData->PortInternalConnectorType;
-  SmbiosRecord->ExternalReferenceDesignator = 2;
-  SmbiosRecord->ExternalConnectorType = (UINT8)ForType8InputData->PortExternalConnectorType;
-  SmbiosRecord->PortType = (UINT8)ForType8InputData->PortType;
-
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(InternalRef, OptionalStrStart);
-  UnicodeStrToAsciiStr(ExternalRef, OptionalStrStart + InternalRefStrLen + 1);
-
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
-
-
-
-/* eof - MiscSystemManufacturerFunction.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c
deleted file mode 100644
index 3d534eb197..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-    MiscResetCapabilitiesData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_RESET_CAPABILITIES, MiscResetCapabilities) = {
-  {     // ResetCapabilities
-    0,  // Status
-    0,  // BootOption
-    0,  // BootOptionOnLimit
-    0,  // WatchdogTimerPresent
-    0   // Reserved
-  },
-  0,    // ResetCount
-  0,    // ResetLimit
-  0,    // ResetTimerInterval
-  0     // ResetTimeout
-};
-
-/* eof - MiscResetCapabilities.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
deleted file mode 100644
index a4fc055da8..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/** @file
-  ResetCapabilities.
-  SMBIOS type 23.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-/**
-  This function makes boot time changes to the contents of the
-  MiscOemString (Type 11).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(MiscResetCapabilities)
-{
-  EFI_STATUS               Status;
-  EFI_SMBIOS_HANDLE        SmbiosHandle;
-  SMBIOS_TABLE_TYPE23      *SmbiosRecord;
-  EFI_MISC_RESET_CAPABILITIES   *ForType23InputData;
-
-  ForType23InputData = (EFI_MISC_RESET_CAPABILITIES *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE23) + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE23) + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_RESET;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE23);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle    = 0;
-  SmbiosRecord->Capabilities  = *(UINT8*)&(ForType23InputData->ResetCapabilities);
-  SmbiosRecord->ResetCount    = (UINT16)ForType23InputData->ResetCount;
-  SmbiosRecord->ResetLimit    = (UINT16)ForType23InputData->ResetLimit;
-  SmbiosRecord->TimerInterval = (UINT16)ForType23InputData->ResetTimerInterval;
-  SmbiosRecord->Timeout       = (UINT16)ForType23InputData->ResetTimeout;
-
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
-
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c
deleted file mode 100644
index d82aab99c1..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscSubclassDriverDataTable.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-
-//
-// External definitions referenced by Data Table entries.
-//
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_BASE_BOARD_MANUFACTURER_DATA, MiscBaseBoardManufacturer, MiscBaseBoardManufacturer);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_BIOS_VENDOR_DATA, MiscBiosVendor,MiscBiosVendor );
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_BOOT_INFORMATION_STATUS_DATA, BootInformationStatus, BootInformationStatus);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_CHASSIS_MANUFACTURER_DATA, MiscChassisManufacturer, MiscChassisManufacturer);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA,NumberOfInstallableLanguages, NumberOfInstallableLanguages);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_OEM_STRING_DATA,OemString, OemString);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortInternalConnectorDesignator, MiscPortInternalConnectorDesignator);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortKeyboard, MiscPortInternalConnectorDesignator);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortMouse, MiscPortInternalConnectorDesignator);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom1, MiscPortInternalConnectorDesignator);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom2, MiscPortInternalConnectorDesignator);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortExtensionPower, MiscPortInternalConnectorDesignator);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortFloppy, MiscPortInternalConnectorDesignator);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_RESET_CAPABILITIES, MiscResetCapabilities, MiscResetCapabilities);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA,SystemLanguageString, SystemLanguageString);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_MANUFACTURER_DATA, MiscSystemManufacturer, MiscSystemManufacturer);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_OPTION_STRING_DATA, SystemOptionString, SystemOptionString);
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA, MiscSystemSlotDesignation, MiscSystemSlotDesignation);
-
-
-//
-// Data Table.
-//
-EFI_MISC_SMBIOS_DATA_TABLE  mMiscSubclassDataTable[] = {
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscBaseBoardManufacturer, MiscBaseBoardManufacturer),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscBiosVendor,MiscBiosVendor ),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( BootInformationStatus, BootInformationStatus),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscChassisManufacturer, MiscChassisManufacturer),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NumberOfInstallableLanguages, NumberOfInstallableLanguages),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(OemString, OemString),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortInternalConnectorDesignator, MiscPortInternalConnectorDesignator),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortKeyboard, MiscPortInternalConnectorDesignator),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortMouse, MiscPortInternalConnectorDesignator),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortCom1, MiscPortInternalConnectorDesignator),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortCom2, MiscPortInternalConnectorDesignator),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortExtensionPower, MiscPortInternalConnectorDesignator),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortFloppy, MiscPortInternalConnectorDesignator),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscResetCapabilities, MiscResetCapabilities),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(SystemLanguageString, SystemLanguageString),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscSystemManufacturer, MiscSystemManufacturer),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( SystemOptionString, SystemOptionString),
-  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscSystemSlotDesignation, MiscSystemSlotDesignation),
-  };
-
-//
-// Number of Data Table entries.
-//
-UINTN mMiscSubclassDataTableEntries = (sizeof mMiscSubclassDataTable) / sizeof (EFI_MISC_SMBIOS_DATA_TABLE);
-
-/* eof - MiscSubclassDriverDataTable.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
deleted file mode 100644
index 31236e3ca0..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscSubclassDriverEntryPoint.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-EFI_HII_HANDLE  mHiiHandle;
-
-/**
-  This is the standard EFI driver point that detects whether there is a
-  MemoryConfigurationData Variable and, if so, reports memory configuration info
-  to the DataHub.
-
-  @param  ImageHandle  Handle for the image of this driver
-  @param  SystemTable  Pointer to the EFI System Table
-
-  @return EFI_SUCCESS if the data is successfully reported
-  @return EFI_NOT_FOUND if the HOB list could not be located.
-
-**/
-EFI_STATUS
-LogMemorySmbiosRecord (
-  VOID
-  )
-{
-  EFI_STATUS                      Status;
-  UINT64                          TotalMemorySize;
-  UINT8                           NumSlots;
-  SMBIOS_TABLE_TYPE19             *Type19Record;
-  EFI_SMBIOS_HANDLE               MemArrayMappedAddrSmbiosHandle;
-  EFI_SMBIOS_PROTOCOL             *Smbios;
-  CHAR16                          *MemString;
-
-  Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID**)&Smbios);
-  ASSERT_EFI_ERROR (Status);
-
-  NumSlots        = 1;
-
-  //
-  // Process Memory String in form size!size ...
-  // So 64!64 is 128 MB
-  //
-  MemString   = (CHAR16 *)PcdGetPtr (PcdEmuMemorySize);
-  for (TotalMemorySize = 0; *MemString != '\0';) {
-    TotalMemorySize += StrDecimalToUint64 (MemString);
-    while (*MemString != '\0') {
-      if (*MemString == '!') {
-        MemString++;
-        break;
-      }
-      MemString++;
-    }
-  }
-
-  //
-  // Convert Total Memory Size to based on KiloByte
-  //
-  TotalMemorySize = LShiftU64 (TotalMemorySize, 20);
-  //
-  // Generate Memory Array Mapped Address info
-  //
-  Type19Record = AllocateZeroPool(sizeof (SMBIOS_TABLE_TYPE19) + 2);
-  Type19Record->Hdr.Type = EFI_SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS;
-  Type19Record->Hdr.Length = sizeof(SMBIOS_TABLE_TYPE19);
-  Type19Record->Hdr.Handle = 0;
-  Type19Record->StartingAddress = 0;
-  Type19Record->EndingAddress =  (UINT32)RShiftU64(TotalMemorySize, 10) - 1;
-  Type19Record->MemoryArrayHandle = 0;
-  Type19Record->PartitionWidth = (UINT8)(NumSlots);
-
-  //
-  // Generate Memory Array Mapped Address info (TYPE 19)
-  //
-  Status = AddSmbiosRecord (Smbios, &MemArrayMappedAddrSmbiosHandle, (EFI_SMBIOS_TABLE_HEADER*) Type19Record);
-
-  FreePool(Type19Record);
-  ASSERT_EFI_ERROR (Status);
-
-  return Status;
-}
-
-
-EFI_STATUS
-EFIAPI
-MiscSubclassDriverEntryPoint (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-/*++
-Description:
-
-  Standard EFI driver point.  This driver parses the mMiscSubclassDataTable
-  structure and reports any generated data to the DataHub.
-
-Arguments:
-
-  ImageHandle
-    Handle for the image of this driver
-
-  SystemTable
-    Pointer to the EFI System Table
-
-Returns:
-
-  EFI_SUCCESS
-    The data was successfully reported to the Data Hub.
-
-**/
-{
-  UINTN                Index;
-  EFI_STATUS           EfiStatus;
-  EFI_SMBIOS_PROTOCOL  *Smbios;
-
-  EfiStatus = gBS->LocateProtocol(&gEfiSmbiosProtocolGuid, NULL, (VOID**)&Smbios);
-
-  if (EFI_ERROR(EfiStatus)) {
-    DEBUG((EFI_D_ERROR, "Could not locate SMBIOS protocol.  %r\n", EfiStatus));
-    return EfiStatus;
-  }
-
-  mHiiHandle = HiiAddPackages (
-                 &gEfiCallerIdGuid,
-                 NULL,
-                 MiscSubclassStrings,
-                 NULL
-                 );
-  ASSERT (mHiiHandle != NULL);
-
-  for (Index = 0; Index < mMiscSubclassDataTableEntries; ++Index) {
-    //
-    // If the entry have a function pointer, just log the data.
-    //
-    if (mMiscSubclassDataTable[Index].Function != NULL) {
-      EfiStatus = (*mMiscSubclassDataTable[Index].Function)(
-        mMiscSubclassDataTable[Index].RecordData,
-        Smbios
-        );
-
-      if (EFI_ERROR(EfiStatus)) {
-        DEBUG((EFI_D_ERROR, "Misc smbios store error.  Index=%d, ReturnStatus=%r\n", Index, EfiStatus));
-        return EfiStatus;
-      }
-    }
-  }
-
-  //
-  // Log Memory SMBIOS Record
-  //
-  EfiStatus = LogMemorySmbiosRecord();
-  return EfiStatus;
-}
-
-/**
-  Add an SMBIOS record.
-
-  @param  Smbios                The EFI_SMBIOS_PROTOCOL instance.
-  @param  SmbiosHandle          A unique handle will be assigned to the SMBIOS record.
-  @param  Record                The data for the fixed portion of the SMBIOS record. The format of the record is
-                                determined by EFI_SMBIOS_TABLE_HEADER.Type. The size of the formatted area is defined
-                                by EFI_SMBIOS_TABLE_HEADER.Length and either followed by a double-null (0x0000) or
-                                a set of null terminated strings and a null.
-
-  @retval EFI_SUCCESS           Record was added.
-  @retval EFI_OUT_OF_RESOURCES  Record was not added due to lack of system resources.
-
-**/
-EFI_STATUS
-AddSmbiosRecord (
-  IN EFI_SMBIOS_PROTOCOL        *Smbios,
-  OUT EFI_SMBIOS_HANDLE         *SmbiosHandle,
-  IN EFI_SMBIOS_TABLE_HEADER    *Record
-  )
-{
-  *SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
-  return Smbios->Add (
-                   Smbios,
-                   NULL,
-                   SmbiosHandle,
-                   Record
-                   );
-}
-
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c
deleted file mode 100644
index 417933553c..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscSystemLanguageStringData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA, SystemLanguageString) = {
-  0,
-  STRING_TOKEN(STR_MISC_SYSTEM_LANGUAGE_STRING)
-};
-
-/* eof - MiscSystemLanguageStringData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c
deleted file mode 100644
index dd4061f5f4..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/** @file
-  ResetCapabilities.
-  SMBIOS type 23.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-/**
-  This function makes boot time changes to the contents of the
-  MiscOemString (Type 11).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(SystemLanguageString)
-{
-  EFI_STATUS               Status;
-  EFI_SMBIOS_HANDLE        SmbiosHandle;
-  SMBIOS_TABLE_TYPE13      *SmbiosRecord;
-  UINTN                    StrLeng;
-  CHAR8                    *OptionalStrStart;
-  EFI_STRING               Str;
-  STRING_REF               TokenToGet;
-
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_LANGUAGE_STRING);
-  Str = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  StrLeng = StrLen(Str);
-  if (StrLeng > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE13) + StrLeng + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE13) + StrLeng + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE13);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle    = 0;
-  SmbiosRecord->InstallableLanguages = 1;
-  SmbiosRecord->Flags   = 1;
-  SmbiosRecord->CurrentLanguages = 1;
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(Str, OptionalStrStart);
-
-
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
-
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c
deleted file mode 100644
index 94fa1025f5..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscSystemManufacturerData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) System Manufacturer data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_MANUFACTURER_DATA, MiscSystemManufacturer)
-= {
-  STRING_TOKEN(STR_MISC_SYSTEM_MANUFACTURER),
-  // SystemManufactrurer
-  STRING_TOKEN(STR_MISC_SYSTEM_PRODUCT_NAME),
-  // SystemProductName
-  STRING_TOKEN(STR_MISC_SYSTEM_VERSION),
-  // SystemVersion
-  STRING_TOKEN(STR_MISC_SYSTEM_SERIAL_NUMBER),
-  // SystemSerialNumber
-  {
-    0xbadfaced,
-    0xdead,
-    0xbeef,
-    {
-      0x13,
-      0x13,
-      0x13,
-      0x13,
-      0x13,
-      0x13,
-      0x13,
-      0x13
-    }
-  },
-  // SystemUuid
-  EfiSystemWakeupTypePowerSwitch  // SystemWakeupType
-};
-
-/* eof - MiscSystemManufacturerData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c
deleted file mode 100644
index 0362692a3b..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscSystemManufacturerFunction.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-/**
-  This function makes boot time changes to the contents of the
-  MiscSystemManufacturer (Type 1).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(MiscSystemManufacturer)
-{
-  CHAR8                             *OptionalStrStart;
-  UINTN                             ManuStrLen;
-  UINTN                             VerStrLen;
-  UINTN                             PdNameStrLen;
-  UINTN                             SerialNumStrLen;
-  EFI_STATUS                        Status;
-  EFI_STRING                        Manufacturer;
-  EFI_STRING                        ProductName;
-  EFI_STRING                        Version;
-  EFI_STRING                        SerialNumber;
-  STRING_REF                        TokenToGet;
-  EFI_SMBIOS_HANDLE                 SmbiosHandle;
-  SMBIOS_TABLE_TYPE1                *SmbiosRecord;
-  EFI_MISC_SYSTEM_MANUFACTURER      *ForType1InputData;
-
-  ForType1InputData = (EFI_MISC_SYSTEM_MANUFACTURER *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_MANUFACTURER);
-  Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  ManuStrLen = StrLen(Manufacturer);
-  if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_PRODUCT_NAME);
-  ProductName = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  PdNameStrLen = StrLen(ProductName);
-  if (PdNameStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_VERSION);
-  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  VerStrLen = StrLen(Version);
-  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_SERIAL_NUMBER);
-  SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  SerialNumStrLen = StrLen(SerialNumber);
-  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE1) + ManuStrLen + 1 + PdNameStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE1) + ManuStrLen + 1 + PdNameStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_INFORMATION;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE1);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-  //
-  // Manu will be the 1st optional string following the formatted structure.
-  //
-  SmbiosRecord->Manufacturer = 1;
-  //
-  // ProductName will be the 2nd optional string following the formatted structure.
-  //
-  SmbiosRecord->ProductName = 2;
-  //
-  // Version will be the 3rd optional string following the formatted structure.
-  //
-  SmbiosRecord->Version = 3;
-  //
-  // Version will be the 4th optional string following the formatted structure.
-  //
-  SmbiosRecord->SerialNumber = 4;
-  CopyMem ((UINT8 *) (&SmbiosRecord->Uuid),&ForType1InputData->SystemUuid,16);
-  SmbiosRecord->WakeUpType = (UINT8)ForType1InputData->SystemWakeupType;
-
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);
-  UnicodeStrToAsciiStr(ProductName, OptionalStrStart + ManuStrLen + 1);
-  UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1 + PdNameStrLen + 1);
-  UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 + PdNameStrLen + 1 + VerStrLen + 1);
-
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
-
-/* eof - MiscSystemManufacturerFunction.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c
deleted file mode 100644
index a459f9d10b..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-  MiscSystemOptionStringData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_OPTION_STRING_DATA, SystemOptionString) = {
-  {STRING_TOKEN(STR_MISC_SYSTEM_OPTION_STRING)}
-};
-
-/* eof - MiscSystemOptionStringData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c
deleted file mode 100644
index d16ec4b382..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/** @file
-  BIOS system option string boot time changes.
-  SMBIOS type 12.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-
-/**
-  This function makes boot time changes to the contents of the
-  MiscSystemOptionString (Type 12).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(SystemOptionString)
-{
-  CHAR8                             *OptionalStrStart;
-  UINTN                             OptStrLen;
-  EFI_STRING                        OptionString;
-  EFI_STATUS                        Status;
-  STRING_REF                        TokenToGet;
-  EFI_SMBIOS_HANDLE                 SmbiosHandle;
-  SMBIOS_TABLE_TYPE12               *SmbiosRecord;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_OPTION_STRING);
-  OptionString = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  OptStrLen = StrLen(OptionString);
-  if (OptStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE12) + OptStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE12) + OptStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE12);
-  //
-  // Make handle chosen by smbios protocol.add automatically.
-  //
-  SmbiosRecord->Hdr.Handle = 0;
-
-  SmbiosRecord->StringCount = 1;
-  OptionalStrStart = (CHAR8*) (SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(OptionString, OptionalStrStart);
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c
deleted file mode 100644
index 30b9f7cb9b..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
-    MiscSystemSlotDesignationData.c
-
-Abstract:
-
-  This driver parses the mMiscSubclassDataTable structure and reports
-  any generated data to the DataHub.
-
-**/
-
-#include "MiscSubClassDriver.h"
-
-//
-// Static (possibly build generated) Bios Vendor data.
-//
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA, MiscSystemSlotDesignation) = {
-  STRING_TOKEN(STR_MISC_SYSTEM_SLOT_DESIGNATION),   // SlotDesignation
-  EfiSlotTypeOther,         // SlotType
-  EfiSlotDataBusWidthOther, // SlotDataBusWidth
-  EfiSlotUsageOther,        // SlotUsage
-  EfiSlotLengthOther,       // SlotLength
-  0,                        // SlotId
-  {                         // SlotCharacteristics
-    0,                      // CharacteristicsUnknown  :1;
-    0,                      // Provides50Volts         :1;
-    0,                      // Provides33Volts         :1;
-    0,                      // SharedSlot              :1;
-    0,                      // PcCard16Supported       :1;
-    0,                      // CardBusSupported        :1;
-    0,                      // ZoomVideoSupported      :1;
-    0,                      // ModemRingResumeSupported:1;
-    0,                      // PmeSignalSupported      :1;
-    0,                      // HotPlugDevicesSupported :1;
-    0,                      // SmbusSignalSupported    :1;
-    0                       // Reserved                :21;
-  },
-  {0, 0, {0, 0}}            // SlotDevicePath
-};
-
-/* eof - MiscSystemSlotsData.c */
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c
deleted file mode 100644
index 1213aad8df..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/** @file
-  BIOS system slot designator information boot time changes.
-  SMBIOS type 9.
-
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "MiscSubClassDriver.h"
-/**
-  This function makes boot time changes to the contents of the
-  MiscSystemSlotDesignator structure (Type 9).
-
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.
-
-  @retval EFI_SUCCESS                All parameters were valid.
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
-
-**/
-MISC_SMBIOS_TABLE_FUNCTION(MiscSystemSlotDesignation)
-{
-  CHAR8                              *OptionalStrStart;
-  UINTN                              SlotDesignationStrLen;
-  EFI_STATUS                         Status;
-  EFI_STRING                         SlotDesignation;
-  STRING_REF                         TokenToGet;
-  SMBIOS_TABLE_TYPE9                 *SmbiosRecord;
-  EFI_SMBIOS_HANDLE                  SmbiosHandle;
-  EFI_MISC_SYSTEM_SLOT_DESIGNATION*  ForType9InputData;
-
-  ForType9InputData = (EFI_MISC_SYSTEM_SLOT_DESIGNATION *)RecordData;
-
-  //
-  // First check for invalid parameters.
-  //
-  if (RecordData == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  TokenToGet = 0;
-  switch (ForType9InputData->SlotDesignation) {
-    case STR_MISC_SYSTEM_SLOT_DESIGNATION:
-      TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_SLOT_DESIGNATION);
-      break;
-    default:
-      break;
-  }
-
-  SlotDesignation = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
-  SlotDesignationStrLen = StrLen(SlotDesignation);
-  if (SlotDesignationStrLen > SMBIOS_STRING_MAX_LENGTH) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //
-  // Two zeros following the last string.
-  //
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE9) + SlotDesignationStrLen + 1 + 1);
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE9) +SlotDesignationStrLen + 1 + 1);
-
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_SLOTS;
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE9);
-  SmbiosRecord->Hdr.Handle = 0;
-  SmbiosRecord->SlotDesignation = 1;
-  SmbiosRecord->SlotType = ForType9InputData->SlotType;
-  SmbiosRecord->SlotDataBusWidth = ForType9InputData->SlotDataBusWidth;
-  SmbiosRecord->CurrentUsage = ForType9InputData->SlotUsage;
-  SmbiosRecord->SlotLength = ForType9InputData->SlotLength;
-  SmbiosRecord->SlotID = ForType9InputData->SlotId;
-
-  //
-  // Slot Characteristics
-  //
-  CopyMem ((UINT8 *) &SmbiosRecord->SlotCharacteristics1,(UINT8 *) &ForType9InputData->SlotCharacteristics,2);
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
-  UnicodeStrToAsciiStr(SlotDesignation, OptionalStrStart);
-  //
-  // Now we have got the full smbios record, call smbios protocol to add this record.
-  //
-  Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
-
-  FreePool(SmbiosRecord);
-  return Status;
-}
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni
deleted file mode 100644
index 29bb4b9616..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni
+++ /dev/null
@@ -1,19 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_BASE_BOARD_MANUFACTURER     #language en-US  "Base Board Manufacturer"
-#string STR_MISC_BASE_BOARD_PRODUCT_NAME     #language en-US  "Base Board Product Name"
-#string STR_MISC_BASE_BOARD_VERSION          #language en-US  "Base Board Version"
-#string STR_MISC_BASE_BOARD_SERIAL_NUMBER    #language en-US  "Base Board Serial Number"
-#string STR_MISC_BASE_BOARD_ASSET_TAG        #language en-US  "Base Board Asset Tag"
-#string STR_MISC_BASE_BOARD_CHASSIS_LOCATION #language en-US  "Base Board Chassis Location"
-
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni
deleted file mode 100644
index d06cdb67d2..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni
+++ /dev/null
@@ -1,15 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_BIOS_VENDOR           #language en-US  "Bios Vendor"
-#string STR_MISC_BIOS_VERSION          #language en-US  "Bios Version"
-#string STR_MISC_BIOS_RELEASE_DATE     #language en-US  "Bios Release Date"
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni
deleted file mode 100644
index 596af0e847..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni
+++ /dev/null
@@ -1,16 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_CHASSIS_MANUFACTURER  #language en-US  "Chassis Manufacturer"
-#string STR_MISC_CHASSIS_VERSION       #language en-US  "Chassis Version"
-#string STR_MISC_CHASSIS_SERIAL_NUMBER #language en-US  "Chassis Serial Number"
-#string STR_MISC_CHASSIS_ASSET_TAG     #language en-US  "Chassis Asset Tag"
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni
deleted file mode 100644
index 601a140907..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni
+++ /dev/null
@@ -1,13 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_OEM_STRING            #language en-US  "System Language String"
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignator.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignator.uni
deleted file mode 100644
index 57e9e5b6db..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignator.uni
+++ /dev/null
@@ -1,68 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR #language en-US  "Port Internal Connector"
-#string STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR #language en-US  "Port External Connector"
-#string STR_MISC_PORT_INTERNAL_KEYBOARD #language en-US  "J1A1"
-#string STR_MISC_PORT_EXTERNAL_KEYBOARD #language en-US  "Keyboard"
-#string STR_MISC_PORT_INTERNAL_MOUSE   #language en-US  "J1A1"
-#string STR_MISC_PORT_EXTERNAL_MOUSE   #language en-US  "Mouse"
-#string STR_MISC_PORT_INTERNAL_COM1    #language en-US  "J2A1"
-#string STR_MISC_PORT_EXTERNAL_COM1    #language en-US  "COM 1"
-#string STR_MISC_PORT_INTERNAL_LPT1    #language en-US  "J4A2"
-#string STR_MISC_PORT_EXTERNAL_LPT1    #language en-US  "LPT 1"
-#string STR_MISC_PORT_INTERNAL_EXTENSION_POWER #language en-US  "J5C1"
-#string STR_MISC_PORT_EXTERNAL_EXTENSION_POWER #language en-US  "Extension Power Header"
-#string STR_MISC_PORT_INTERNAL_USB1    #language en-US  "JA5A1"
-#string STR_MISC_PORT_EXTERNAL_USB1    #language en-US  "USB"
-#string STR_MISC_PORT_INTERNAL_USB2    #language en-US  "J2A2"
-#string STR_MISC_PORT_EXTERNAL_USB2    #language en-US  "USB"
-#string STR_MISC_PORT_INTERNAL_NETWORK #language en-US  "JA5A1"
-#string STR_MISC_PORT_EXTERNAL_NETWORK #language en-US  "RJ-45 Type"
-#string STR_MISC_PORT_INTERNAL_MIC     #language en-US  "J6A1"
-#string STR_MISC_PORT_EXTERNAL_MIC     #language en-US  "Audio Mic In"
-#string STR_MISC_PORT_INTERNAL_LINE_IN #language en-US  "J6A1"
-#string STR_MISC_PORT_EXTERNAL_LINE_IN #language en-US  "Audio Line In"
-#string STR_MISC_PORT_INTERNAL_LINE_OUT #language en-US  "J6A1"
-#string STR_MISC_PORT_EXTERNAL_LINE_OUT #language en-US  "Audio Line Out"
-#string STR_MISC_PORT_INTERNAL_FLOPPY  #language en-US  "J4H1"
-#string STR_MISC_PORT_EXTERNAL_FLOPPY  #language en-US  "OnBoard Floppy Type"
-#string STR_MISC_PORT_INTERNAL_IDE1    #language en-US  "J6H2"
-#string STR_MISC_PORT_EXTERNAL_IDE1    #language en-US  "OnBoard Primary IDE"
-#string STR_MISC_PORT_INTERNAL_IDE2    #language en-US  "J6H1"
-#string STR_MISC_PORT_EXTERNAL_IDE2    #language en-US  "OnBoard Secondary IDE"
-#string STR_MISC_PORT_INTERNAL_SOUND_IN1 #language en-US  "J8B1"
-#string STR_MISC_PORT_EXTERNAL_SOUND_IN1 #language en-US  "OnBoard Sound Input Type"
-#string STR_MISC_PORT_INTERNAL_SOUND_IN2 #language en-US  "J6B1"
-#string STR_MISC_PORT_EXTERNAL_SOUND_IN2 #language en-US  "OnBoard Sound Input Type"
-#string STR_MISC_PORT_INTERNAL_FRONT_PANEL #language en-US  "J9G1"
-#string STR_MISC_PORT_EXTERNAL_FRONT_PANEL #language en-US  "Front Panel Header Type"
-#string STR_MISC_PORT_INTERNAL_CPU_FAN #language en-US  "J2F1"
-#string STR_MISC_PORT_EXTERNAL_CPU_FAN #language en-US  "CPU Fan Header"
-#string STR_MISC_PORT_INTERNAL_FRONT_FAN #language en-US  "J9H3"
-#string STR_MISC_PORT_EXTERNAL_FRONT_FAN #language en-US  "Front Chassis Fan"
-#string STR_MISC_PORT_INTERNAL_REAR_FAN #language en-US  "J1B1"
-#string STR_MISC_PORT_EXTERNAL_REAR_FAN #language en-US  "Rear Chassis Fan"
-#string STR_MISC_PORT_INTERNAL_CONFIG_JUMPER #language en-US  "J9H2"
-#string STR_MISC_PORT_EXTERNAL_CONFIG_JUMPER #language en-US  "Configuration Jumper"
-#string STR_MISC_PORT_INTERNAL_AUDIO_PANEL #language en-US  "J8A1"
-#string STR_MISC_PORT_EXTERNAL_AUDIO_PANEL #language en-US  "Audio Front Panel Header"
-#string STR_MISC_PORT_INTERNAL_USB_PANEL #language en-US  "J9F1"
-#string STR_MISC_PORT_EXTERNAL_USB_PANEL #language en-US  "USB Front Panel Header"
-#string STR_MISC_PORT_INTERNAL_ATX_POWER #language en-US  "J2H1"
-#string STR_MISC_PORT_EXTERNAL_ATX_POWER #language en-US  "ATX Power Header"
-#string STR_MISC_PORT_INTERNAL_COM2       #language en-US     "J5A1"
-#string STR_MISC_PORT_EXTERNAL_COM2       #language en-US     "COM 2"
-#string STR_MISC_PORT_INTERNAL_USB3       #language en-US     "J1D3"
-#string STR_MISC_PORT_EXTERNAL_USB3       #language en-US     "USB"
-
-
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni
deleted file mode 100644
index 1dd9ccbeed..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni
+++ /dev/null
@@ -1,24 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_SUBCLASS_DRIVER_TITLE #language en-US  "Not used"
-
-#include "MiscBaseBoardManufacturer.uni"
-#include "MiscBiosVendor.uni"
-#include "MiscChassisManufacturer.uni"
-#include "MiscOemString.uni"
-#include "MiscPortInternalConnectorDesignator.uni"
-#include "MiscSystemLanguageString.uni"
-#include "MiscSystemManufacturer.uni"
-#include "MiscSystemOptionString.uni"
-#include "MiscSystemSlotDesignation.uni"
-
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni
deleted file mode 100644
index 297cc3ef4b..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni
+++ /dev/null
@@ -1,13 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_SYSTEM_LANGUAGE_STRING #language en-US  "System Language String"
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni
deleted file mode 100644
index 91ee077262..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni
+++ /dev/null
@@ -1,16 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_SYSTEM_MANUFACTURER   #language en-US  "System Manufacturer"
-#string STR_MISC_SYSTEM_PRODUCT_NAME   #language en-US  "System Product Name"
-#string STR_MISC_SYSTEM_VERSION        #language en-US  "System Version"
-#string STR_MISC_SYSTEM_SERIAL_NUMBER  #language en-US  "System Serial Number"
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni
deleted file mode 100644
index e82f71705a..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni
+++ /dev/null
@@ -1,13 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_SYSTEM_OPTION_STRING  #language en-US  "System Option String"
diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni
deleted file mode 100644
index cc239ea020..0000000000
--- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni
+++ /dev/null
@@ -1,14 +0,0 @@
-// *++
-//
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// --*/
-
-/=#
-
-#langdef en-US "English"
-
-#string STR_MISC_SYSTEM_SLOT_DESIGNATION #language en-US  "System Slot Designation"
-
-- 
2.12.0.windows.1


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

View/Reply Online (#43147): https://edk2.groups.io/g/devel/message/43147
Mute This Topic: https://groups.io/mt/32282295/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v1] EmulatorPkg/MiscSubClassPlatformDxe: Remove this unused module
Posted by Ni, Ray 5 years, 4 months ago
Reviewed-by: Ray Ni <ray.ni@intel.com>

Because this patch doesn't cause any functionality issue (removing an unused module),
I pushed the patch directly.

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao
> A
> Sent: Tuesday, July 2, 2019 10:31 AM
> To: devel@edk2.groups.io
> Cc: Wu, Hao A <hao.a.wu@intel.com>; Justen, Jordan L
> <jordan.l.justen@intel.com>; Andrew Fish <afish@apple.com>; Ni, Ray
> <ray.ni@intel.com>
> Subject: [edk2-devel] [PATCH v1] EmulatorPkg/MiscSubClassPlatformDxe:
> Remove this unused module
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1953
> 
> For commit 63f9b9b9312f3e08c92a2ea3cdbe01e723ef653b, the use of
> module
> EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf
> 
> was replaced by:
> EmulatorPkg/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> 
> in platform DSC/FDF files.
> 
> This commit will remove this unused module from EmulatorPkg.
> 
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Signed-off-by: Hao A Wu <hao.a.wu@intel.com>
> ---
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf                        |
> 98 ---------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h                              |
> 169 ---------------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h                          |
> 126 -----------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.c
> |  51 -----
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunctio
> n.c           | 155 -------------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c
> |  82 -------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
> | 190 ----------------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c
> |  27 ---
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
> |  62 ------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c
> |  39 ----
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c
> | 125 -----------
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguages
> Data.c        |  32 ---
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguages
> Function.c    | 227 --------------------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c                           |
> 26 ---
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
> |  69 ------
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignat
> orData.c     |  93 --------
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignat
> orFunction.c | 166 --------------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c
> |  36 ----
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
> |  65 ------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c
> |  72 -------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
> | 194 -----------------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c
> |  27 ---
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.
> c            |  74 -------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c
> |  51 -----
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c
> | 129 -----------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c
> |  26 ---
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c
> |  71 ------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c
> |  46 ----
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction
> .c           |  86 --------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni
> |  19 --
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni                            |
> 15 --
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni
> |  16 --
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni                             |
> 13 --
> 
> EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignat
> or.uni       |  68 ------
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni                        |
> 24 ---
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni
> |  13 --
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni
> |  16 --
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni
> |  13 --
>  EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni
> |  14 --
>  39 files changed, 2825 deletions(-)
> 
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf
> deleted file mode 100644
> index 79b8c20221..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf
> +++ /dev/null
> @@ -1,98 +0,0 @@
> -## @file
> -# Misc Sub class driver
> -#
> -# Parses the MiscSubclassDataTable and reports any generated data to the
> DataHub.
> -#  All .uni file who tagged with "ToolCode="DUMMY"" in following file list is
> included by
> -#  MiscSubclassDriver.uni file, the StrGather tool will expand
> MiscSubclassDriver.uni file
> -#  and parse all .uni file.
> -# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> -#
> -#  SPDX-License-Identifier: BSD-2-Clause-Patent
> -#
> -#
> -##
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = MiscSubclass
> -  FILE_GUID                      = f2fbd108-8985-11db-b06a-0040d02b1835
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -  ENTRY_POINT                    = MiscSubclassDriverEntryPoint
> -
> -#
> -# The following information is for reference only and not required by the
> build tools.
> -#
> -#  VALID_ARCHITECTURES           = IA32 X64 EBC
> -#
> -
> -[Sources]
> -  MiscBaseBoardManufacturer.uni
> -  MiscBaseBoardManufacturerData.c
> -  MiscBaseBoardManufacturerFunction.c
> -  MiscBiosVendor.uni
> -  MiscBiosVendorData.c
> -  MiscBiosVendorFunction.c
> -  MiscBootInformationData.c
> -  MiscBootInformationFunction.c
> -  MiscChassisManufacturer.uni
> -  MiscChassisManufacturerData.c
> -  MiscChassisManufacturerFunction.c
> -  MiscNumberOfInstallableLanguagesData.c
> -  MiscNumberOfInstallableLanguagesFunction.c
> -  MiscOemString.uni
> -  MiscOemStringData.c
> -  MiscOemStringFunction.c
> -  MiscPortInternalConnectorDesignator.uni
> -  MiscPortInternalConnectorDesignatorData.c
> -  MiscPortInternalConnectorDesignatorFunction.c
> -  MiscResetCapabilitiesData.c
> -  MiscResetCapabilitiesFunction.c
> -  MiscSystemLanguageString.uni
> -  MiscSystemLanguageStringData.c
> -  MiscSystemLanguageStringFunction.c
> -  MiscSystemManufacturer.uni
> -  MiscSystemManufacturerData.c
> -  MiscSystemManufacturerFunction.c
> -  MiscSystemOptionString.uni
> -  MiscSystemOptionStringData.c
> -  MiscSystemOptionStringFunction.c
> -  MiscSystemSlotDesignation.uni
> -  MiscSystemSlotDesignationData.c
> -  MiscSystemSlotDesignationFunction.c
> -  MiscDevicePath.h
> -  MiscSubClassDriver.h
> -  MiscSubClassDriver.uni
> -  MiscSubclassDriverDataTable.c
> -  MiscSubclassDriverEntryPoint.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  MdeModulePkg/MdeModulePkg.dec
> -  IntelFrameworkPkg/IntelFrameworkPkg.dec
> -  EmulatorPkg/EmulatorPkg.dec
> -
> -[LibraryClasses]
> -  DevicePathLib
> -  UefiBootServicesTableLib
> -  MemoryAllocationLib
> -  BaseMemoryLib
> -  UefiDriverEntryPoint
> -  UefiLib
> -  HiiLib
> -  DebugLib
> -  BaseLib
> -  PcdLib
> -
> -[Protocols]
> -  gEfiSmbiosProtocolGuid                        # PROTOCOL ALWAYS_CONSUMED
> -
> -[Pcd]
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString
> -  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang
> -  gEmulatorPkgTokenSpaceGuid.PcdEmuMemorySize
> -
> -
> -[Depex]
> -  gEfiSmbiosProtocolGuid
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h
> deleted file mode 100644
> index 62d7a327c8..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscDevicePath.h
> +++ /dev/null
> @@ -1,169 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscDevicePath.h
> -
> -Abstract:
> -
> -  Misc class required EFI Device Path definitions (Ports, slots &
> -  onboard devices)
> -
> -**/
> -
> -#ifndef _MISC_DEVICE_PATH_H
> -#define _MISC_DEVICE_PATH_H
> -
> -
> -#pragma pack(1)
> -//
> -// USB
> -//
> -
> -/* For reference:
> -#define USB1_1_STR  "ACPI(PNP0A03,0)/PCI(1D,0)."
> -#define USB1_2_STR  "ACPI(PNP0A03,0)/PCI(1D,1)."
> -#define USB1_3_STR  "ACPI(PNP0A03,0)/PCI(1D,2)."
> -#define USB2_1_STR  "ACPI(PNP0A03,0)/PCI(1D,7)."
> -*/
> -
> -//
> -// #define acpi { 0x02, 0x01, 0x00, 0x0C, 0x0a0341d0, 0x00000000 }
> -// #define pci( device,function)  { 0x01, 0x01, 0x00, 0x06, device, function }
> -// #define end  { 0xFF, 0xFF, 0x00, 0x04 }
> -//
> -#define DP_ACPI \
> -  { \
> -      {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof
> (ACPI_HID_DEVICE_PATH)), (UINT8) \
> -      ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (0x0A03), 0 \
> -  }
> -#define DP_PCI(device, function) \
> -  { \
> -      {HARDWARE_DEVICE_PATH, HW_PCI_DP, {(UINT8) (sizeof
> (PCI_DEVICE_PATH)), (UINT8) \
> -       ((sizeof (PCI_DEVICE_PATH)) >> 8)}}, function, device \
> -  }
> -#define DP_END \
> -  { \
> -    END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE,
> {END_DEVICE_PATH_LENGTH, 0} \
> -  }
> -
> -#define DP_LPC(eisaid, function) \
> -  { \
> -    {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof
> (ACPI_HID_DEVICE_PATH)), (UINT8) \
> -     ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (eisaid),
> function \
> -  }
> -
> -//
> -// Shanmu >> moved to TianoDevicePath.h
> -//
> -
> -/*
> -typedef struct _USB_PORT_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      PciBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} USB_PORT_DEVICE_PATH;
> -
> -
> -//IDE ??I am not sure. Should this be ATAPI_DEVICE_PATH
> -typedef struct _IDE_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      PciBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} IDE_DEVICE_PATH;
> -
> -//RMC Connector
> -typedef struct _RMC_CONN_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      PciBridgeDevicePath;
> -  PCI_DEVICE_PATH      PciBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} RMC_CONN_DEVICE_PATH;
> -
> -//static RMC_CONN_DEVICE_PATH mRmcConnDevicePath = { acpi,
> pci( 0x1E,0x00 ),pci( 0x0A,0x00 ), end };
> -
> -//RIDE
> -typedef struct _RIDE_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      PciBridgeDevicePath;
> -  PCI_DEVICE_PATH      PciBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} RIDE_DEVICE_PATH;
> -
> -//static RIDE_DEVICE_PATH mRideDevicePath = { acpi,
> pci( 0x1E,0x00 ),pci( 0x02,0x00 ), end };
> -
> -//Gigabit NIC
> -//typedef struct _GB_NIC_DEVICE_PATH
> -//{
> -//  ACPI_HID_DEVICE_PATH      PciRootBridgeDevicePath;
> -//  PCI_DEVICE_PATH            PciBridgeDevicePath;
> -//  PCI_DEVICE_PATH            PciXBridgeDevicePath;
> -//  PCI_DEVICE_PATH            PciXBusDevicePath;
> -//  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -//} GB_NIC_DEVICE_PATH;
> -
> -//static GB_NIC_DEVICE_PATH mGbNicDevicePath = { acpi,
> pci( 0x03,0x00 ),pci( 0x1F,0x00 ),pci( 0x07,0x00 ), end };
> -
> -
> -//P/S2 Connector
> -typedef struct _PS2_CONN_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      LpcBridgeDevicePath;
> -  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} PS2_CONN_DEVICE_PATH;
> -
> -//static PS2_CONN_DEVICE_PATH mPs2KeyboardDevicePath   = { acpi,
> pci( 0x1F,0x00 ),lpc( 0x0303,0 ), end };
> -//static PS2_CONN_DEVICE_PATH mPs2MouseDevicePath      = { acpi,
> pci( 0x1F,0x00 ),lpc( 0x0303,1 ), end };
> -
> -//Serial Port Connector
> -typedef struct _SERIAL_CONN_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      LpcBridgeDevicePath;
> -  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} SERIAL_CONN_DEVICE_PATH;
> -
> -//static SERIAL_CONN_DEVICE_PATH mCom1DevicePath   = { acpi,
> pci( 0x1F,0x00 ),lpc( 0x0501,0 ), end };
> -//static SERIAL_CONN_DEVICE_PATH mCom2DevicePath   = { acpi,
> pci( 0x1F,0x00 ),lpc( 0x0501,1 ), end };
> -
> -//Parallel Port Connector
> -typedef struct _PARALLEL_CONN_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      LpcBridgeDevicePath;
> -  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} PARALLEL_CONN_DEVICE_PATH;
> -
> -//static PARALLEL_CONN_DEVICE_PATH mLpt1DevicePath   = { acpi,
> pci( 0x1F,0x00 ),lpc( 0x0401,0 ), end };
> -
> -//Floopy Connector
> -typedef struct _FLOOPY_CONN_DEVICE_PATH
> -{
> -  ACPI_HID_DEVICE_PATH    PciRootBridgeDevicePath;
> -  PCI_DEVICE_PATH      LpcBridgeDevicePath;
> -  ACPI_HID_DEVICE_PATH    LpcBusDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} FLOOPY_CONN_DEVICE_PATH;
> -
> -//static FLOOPY_CONN_DEVICE_PATH mFloopyADevicePath   = { acpi,
> pci( 0x1F,0x00 ),lpc( 0x0604,0 ), end };
> -//static FLOOPY_CONN_DEVICE_PATH mFloopyBDevicePath   = { acpi,
> pci( 0x1F,0x00 ),lpc( 0x0604,1 ), end };
> -
> -*/
> -
> -//
> -// End Shanmu
> -//
> -#pragma pack()
> -
> -#endif
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
> deleted file mode 100644
> index 28e2ac49c9..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
> +++ /dev/null
> @@ -1,126 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscSubclassDriver.h
> -
> -Abstract:
> -
> -  Header file for MiscSubclass Driver.
> -
> -**/
> -
> -#ifndef _MISC_SUBCLASS_DRIVER_H
> -#define _MISC_SUBCLASS_DRIVER_H
> -
> -#include <FrameworkDxe.h>
> -
> -#include <Guid/DataHubRecords.h>
> -#include <IndustryStandard/SmBios.h>
> -#include <Protocol/Smbios.h>
> -#include <Protocol/EmuIoThunk.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/HiiLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/UefiDriverEntryPoint.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/DevicePathLib.h>
> -#include <Library/PcdLib.h>
> -
> -
> -#include <MiscDevicePath.h>
> -#include <Protocol/FrameworkHii.h>
> -#include <Library/HiiLib.h>
> -
> -//
> -// Data table entry update function.
> -//
> -typedef EFI_STATUS (EFIAPI EFI_MISC_SMBIOS_DATA_FUNCTION) (
> -  IN  VOID                 *RecordData,
> -  IN  EFI_SMBIOS_PROTOCOL  *Smbios
> -  );
> -
> -//
> -// Data table entry definition.
> -//
> -typedef struct {
> -  //
> -  // intermediat input data for SMBIOS record
> -  //
> -  VOID                              *RecordData;
> -  EFI_MISC_SMBIOS_DATA_FUNCTION     *Function;
> -} EFI_MISC_SMBIOS_DATA_TABLE;
> -
> -//
> -// Data Table extern definitions.
> -//
> -#define MISC_SMBIOS_TABLE_EXTERNS(NAME1, NAME2, NAME3) \
> -extern NAME1 NAME2 ## Data; \
> -extern EFI_MISC_SMBIOS_DATA_FUNCTION NAME3 ## Function
> -
> -
> -//
> -// Data Table entries
> -//
> -#define MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NAME1,
> NAME2) \
> -{ \
> -  & NAME1 ## Data, \
> -  & NAME2 ## Function \
> -}
> -
> -//
> -// Global definition macros.
> -//
> -#define MISC_SMBIOS_TABLE_DATA(NAME1, NAME2) \
> -  NAME1 NAME2 ## Data
> -
> -#define MISC_SMBIOS_TABLE_FUNCTION(NAME2) \
> -  EFI_STATUS EFIAPI NAME2 ## Function( \
> -  IN  VOID                  *RecordData, \
> -  IN  EFI_SMBIOS_PROTOCOL   *Smbios \
> -  )
> -
> -
> -//
> -// Data Table Array
> -//
> -extern EFI_MISC_SMBIOS_DATA_TABLE mMiscSubclassDataTable[];
> -
> -//
> -// Data Table Array Entries
> -//
> -extern UINTN                        mMiscSubclassDataTableEntries;
> -extern UINT8                        MiscSubclassStrings[];
> -extern EFI_HII_HANDLE               mHiiHandle;
> -
> -/**
> -  Add an SMBIOS record.
> -
> -  @param  Smbios                The EFI_SMBIOS_PROTOCOL instance.
> -  @param  SmbiosHandle          A unique handle will be assigned to the
> SMBIOS record.
> -  @param  Record                The data for the fixed portion of the SMBIOS
> record. The format of the record is
> -                                determined by EFI_SMBIOS_TABLE_HEADER.Type. The size
> of the formatted area is defined
> -                                by EFI_SMBIOS_TABLE_HEADER.Length and either followed
> by a double-null (0x0000) or
> -                                a set of null terminated strings and a null.
> -
> -  @retval EFI_SUCCESS           Record was added.
> -  @retval EFI_OUT_OF_RESOURCES  Record was not added due to lack of
> system resources.
> -
> -**/
> -EFI_STATUS
> -AddSmbiosRecord (
> -  IN EFI_SMBIOS_PROTOCOL        *Smbios,
> -  OUT EFI_SMBIOS_HANDLE         *SmbiosHandle,
> -  IN EFI_SMBIOS_TABLE_HEADER    *Record
> -  );
> -
> -#endif /* _MISC_SUBCLASS_DRIVER_H */
> -
> -/* eof - MiscSubclassDriver.h */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.
> c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData
> .c
> deleted file mode 100644
> index 0a094be34e..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerData.
> c
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscBaseBoardManufacturerData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_BASE_BOARD_MANUFACTURER_DA
> TA, MiscBaseBoardManufacturer) = {
> -  STRING_TOKEN(STR_MISC_BASE_BOARD_MANUFACTURER),
> -  STRING_TOKEN(STR_MISC_BASE_BOARD_PRODUCT_NAME),
> -  STRING_TOKEN(STR_MISC_BASE_BOARD_VERSION),
> -  STRING_TOKEN(STR_MISC_BASE_BOARD_SERIAL_NUMBER),
> -  STRING_TOKEN(STR_MISC_BASE_BOARD_ASSET_TAG),
> -  STRING_TOKEN(STR_MISC_BASE_BOARD_CHASSIS_LOCATION),
> -  {                         // BaseBoardFeatureFlags
> -    1,                      // Motherboard
> -    0,                      // RequiresDaughterCard
> -    0,                      // Removable
> -    1,                      // Replaceable,
> -    0,                      // HotSwappable
> -    0,                      // Reserved
> -  },
> -  EfiBaseBoardTypeUnknown,  // BaseBoardType
> -  {                         // BaseBoardChassisLink
> -    EFI_MISC_SUBCLASS_GUID, // ProducerName
> -    1,                      // Instance
> -    1,                      // SubInstance
> -  },
> -  0,                        // BaseBoardNumberLinks
> -  {                         // LinkN
> -    EFI_MISC_SUBCLASS_GUID, // ProducerName
> -    1,                      // Instance
> -    1,                      // SubInstance
> -  },
> -};
> -
> -/* eof - MiscBaseBoardManufacturerData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunc
> tion.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunc
> tion.c
> deleted file mode 100644
> index 3d1681e7b5..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunc
> tion.c
> +++ /dev/null
> @@ -1,155 +0,0 @@
> -/** @file
> -  BaseBoard manufacturer information boot time changes.
> -  SMBIOS type 2.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscBaseBoardManufacturer (Type 2).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(MiscBaseBoardManufacturer)
> -{
> -  CHAR8                           *OptionalStrStart;
> -  UINTN                           ManuStrLen;
> -  UINTN                           ProductStrLen;
> -  UINTN                           VerStrLen;
> -  UINTN                           AssertTagStrLen;
> -  UINTN                           SerialNumStrLen;
> -  UINTN                           ChassisStrLen;
> -  EFI_STATUS                      Status;
> -  EFI_STRING                      Manufacturer;
> -  EFI_STRING                      Product;
> -  EFI_STRING                      Version;
> -  EFI_STRING                      SerialNumber;
> -  EFI_STRING                      AssertTag;
> -  EFI_STRING                      Chassis;
> -  STRING_REF                      TokenToGet;
> -  EFI_SMBIOS_HANDLE               SmbiosHandle;
> -  SMBIOS_TABLE_TYPE2              *SmbiosRecord;
> -  EFI_MISC_BASE_BOARD_MANUFACTURER   *ForType2InputData;
> -
> -  ForType2InputData = (EFI_MISC_BASE_BOARD_MANUFACTURER
> *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenToGet = STRING_TOKEN
> (STR_MISC_BASE_BOARD_MANUFACTURER);
> -  Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  ManuStrLen = StrLen(Manufacturer);
> -  if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN
> (STR_MISC_BASE_BOARD_PRODUCT_NAME);
> -  Product = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  ProductStrLen = StrLen(Product);
> -  if (ProductStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_VERSION);
> -  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  VerStrLen = StrLen(Version);
> -  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN
> (STR_MISC_BASE_BOARD_SERIAL_NUMBER);
> -  SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  SerialNumStrLen = StrLen(SerialNumber);
> -  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_ASSET_TAG);
> -  AssertTag = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  AssertTagStrLen = StrLen(AssertTag);
> -  if (AssertTagStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN
> (STR_MISC_BASE_BOARD_CHASSIS_LOCATION);
> -  Chassis = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  ChassisStrLen = StrLen(Chassis);
> -  if (ChassisStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen
> + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 +
> AssertTagStrLen + 1 + ChassisStrLen +1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1
> + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen
> + 1 + ChassisStrLen +1 + 1);
> -
> -  SmbiosRecord->Hdr.Type =
> EFI_SMBIOS_TYPE_BASEBOARD_INFORMATION;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE2);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -  //
> -  // Manu will be the 1st optional string following the formatted structure.
> -  //
> -  SmbiosRecord->Manufacturer = 1;
> -  //
> -  // ProductName will be the 2st optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->ProductName  = 2;
> -  //
> -  // Version will be the 3rd optional string following the formatted structure.
> -  //
> -  SmbiosRecord->Version = 3;
> -  //
> -  // SerialNumber will be the 4th optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->SerialNumber = 4;
> -  //
> -  // AssertTag will be the 5th optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->AssetTag = 5;
> -
> -  //
> -  // LocationInChassis will be the 6th optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->LocationInChassis = 6;
> -  SmbiosRecord->FeatureFlag =
> (*(BASE_BOARD_FEATURE_FLAGS*)&(ForType2InputData-
> >BaseBoardFeatureFlags));
> -  SmbiosRecord->ChassisHandle  = 0;
> -  SmbiosRecord->BoardType      = (UINT8)ForType2InputData-
> >BaseBoardType;
> -  SmbiosRecord->NumberOfContainedObjectHandles = 0;
> -
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  //
> -  // Since we fill NumberOfContainedObjectHandles = 0 for simple, just after
> this filed to fill string
> -  //
> -  OptionalStrStart -= 2;
> -  UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);
> -  UnicodeStrToAsciiStr(Product, OptionalStrStart + ManuStrLen + 1);
> -  UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1 +
> ProductStrLen + 1);
> -  UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 +
> ProductStrLen + 1 + VerStrLen + 1);
> -  UnicodeStrToAsciiStr(AssertTag, OptionalStrStart + ManuStrLen + 1 +
> ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1);
> -  UnicodeStrToAsciiStr(Chassis, OptionalStrStart + ManuStrLen + 1 +
> ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen +
> 1);
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c
> deleted file mode 100644
> index 4ab8beffee..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorData.c
> +++ /dev/null
> @@ -1,82 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscBiosVendorData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -MISC_SMBIOS_TABLE_DATA(EFI_MISC_BIOS_VENDOR_DATA,
> MiscBiosVendor) = {
> -  STRING_TOKEN(STR_MISC_BIOS_VENDOR),       // BiosVendor
> -  STRING_TOKEN(STR_MISC_BIOS_VERSION),      // BiosVersion
> -  STRING_TOKEN(STR_MISC_BIOS_RELEASE_DATE), // BiosReleaseDate
> -  0xBABE, // BiosStartingAddress
> -  {       // BiosPhysicalDeviceSize
> -    2,    // Value
> -    3,    // Exponent
> -  },
> -  {       // BiosCharacteristics1
> -    0,    // Reserved1                         :2
> -    0,    // Unknown                           :1
> -    1,    // BiosCharacteristicsNotSupported   :1
> -    0,    // IsaIsSupported                    :1
> -    0,    // McaIsSupported                    :1
> -    0,    // EisaIsSupported                   :1
> -    0,    // PciIsSupported                    :1
> -    0,    // PcmciaIsSupported                 :1
> -    0,    // PlugAndPlayIsSupported            :1
> -    0,    // ApmIsSupported                    :1
> -    0,    // BiosIsUpgradable                  :1
> -    0,    // BiosShadowingAllowed              :1
> -    0,    // VlVesaIsSupported                 :1
> -    0,    // EscdSupportIsAvailable            :1
> -    0,    // BootFromCdIsSupported             :1
> -    0,    // SelectableBootIsSupported         :1
> -    0,    // RomBiosIsSocketed                 :1
> -    0,    // BootFromPcmciaIsSupported         :1
> -    0,    // EDDSpecificationIsSupported       :1
> -    0,    // JapaneseNecFloppyIsSupported      :1
> -    0,    // JapaneseToshibaFloppyIsSupported  :1
> -    0,    // Floppy525_360IsSupported          :1
> -    0,    // Floppy525_12IsSupported           :1
> -    0,    // Floppy35_720IsSupported           :1
> -    0,    // Floppy35_288IsSupported           :1
> -    0,    // PrintScreenIsSupported            :1
> -    0,    // Keyboard8042IsSupported           :1
> -    0,    // SerialIsSupported                 :1
> -    0,    // PrinterIsSupported                :1
> -    0,    // CgaMonoIsSupported                :1
> -    0,    // NecPc98                           :1
> -    0,    // AcpiIsSupported                   :1
> -    0,    // UsbLegacyIsSupported              :1
> -    0,    // AgpIsSupported                    :1
> -    0,    // I20BootIsSupported                :1
> -    0,    // Ls120BootIsSupported              :1
> -    0,    // AtapiZipDriveBootIsSupported      :1
> -    0,    // Boot1394IsSupported               :1
> -    0,    // SmartBatteryIsSupported           :1
> -    0,    // BiosBootSpecIsSupported           :1
> -    0,    // FunctionKeyNetworkBootIsSupported :1
> -    0     // Reserved                          :22
> -  },
> -  {       // BiosCharacteristics2
> -    0,    // BiosReserved                      :16
> -    0,    // SystemReserved                    :16
> -    0     // Reserved                          :32
> -  },
> -};
> -
> -/* eof - MiscBiosVendorData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
> deleted file mode 100644
> index ed9ad9c075..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
> +++ /dev/null
> @@ -1,190 +0,0 @@
> -/** @file
> -  BIOS vendor information boot time changes.
> -  Misc. subclass type 2.
> -  SMBIOS type 0.
> -
> -  Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -/**
> -  This function returns the value & exponent to Base2 for a given
> -  Hex value. This is used to calculate the BiosPhysicalDeviceSize.
> -
> -  @param Value                      The hex value which is to be converted into
> value-exponent form
> -  @param Exponent                   The exponent out of the conversion
> -
> -  @retval EFI_SUCCESS               All parameters were valid and *Value &
> *Exponent have been set.
> -  @retval EFI_INVALID_PARAMETER     Invalid parameter was found.
> -
> -**/
> -EFI_STATUS
> -GetValueExponentBase2(
> -  IN OUT UINTN        *Value,
> -  OUT    UINTN        *Exponent
> -  )
> -{
> -  if ((Value == NULL) || (Exponent == NULL)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  while ((*Value % 2) == 0) {
> -    *Value=*Value/2;
> -    (*Exponent)++;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Field Filling Function. Transform an EFI_EXP_BASE2_DATA to a byte, with
> '64k'
> -  as the unit.
> -
> -  @param  Base2Data              Pointer to Base2_Data
> -
> -  @retval EFI_SUCCESS            Transform successfully.
> -  @retval EFI_INVALID_PARAMETER  Invalid parameter was found.
> -
> -**/
> -UINT16
> -Base2ToByteWith64KUnit (
> -  IN      EFI_EXP_BASE2_DATA  *Base2Data
> -  )
> -{
> -  UINT16              Value;
> -  UINT16              Exponent;
> -
> -  Value     = Base2Data->Value;
> -  Exponent  = Base2Data->Exponent;
> -  Exponent -= 16;
> -  Value <<= Exponent;
> -
> -  return Value;
> -}
> -
> -
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscBiosVendor (Type 0).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(MiscBiosVendor)
> -{
> -  CHAR8                 *OptionalStrStart;
> -  UINTN                 VendorStrLen;
> -  UINTN                 VerStrLen;
> -  UINTN                 DateStrLen;
> -  CHAR16                *Version;
> -  CHAR16                *ReleaseDate;
> -  EFI_STATUS            Status;
> -  EFI_STRING            Char16String;
> -  STRING_REF            TokenToGet;
> -  STRING_REF            TokenToUpdate;
> -  SMBIOS_TABLE_TYPE0    *SmbiosRecord;
> -  EFI_SMBIOS_HANDLE     SmbiosHandle;
> -  EFI_MISC_BIOS_VENDOR *ForType0InputData;
> -
> -  ForType0InputData        = (EFI_MISC_BIOS_VENDOR *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Version = (CHAR16 *) PcdGetPtr (PcdFirmwareVersionString);
> -  if (StrLen (Version) > 0) {
> -    TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_VERSION);
> -    HiiSetString (mHiiHandle, TokenToUpdate, Version, NULL);
> -  }
> -
> -  ReleaseDate = (CHAR16 *) PcdGetPtr (PcdFirmwareReleaseDateString);
> -  if (StrLen(ReleaseDate) > 0) {
> -    TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_RELEASE_DATE);
> -    HiiSetString (mHiiHandle, TokenToUpdate, ReleaseDate, NULL);
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_BIOS_VENDOR);
> -  Char16String = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  VendorStrLen = StrLen(Char16String);
> -  if (VendorStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_BIOS_VERSION);
> -  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  VerStrLen = StrLen(Version);
> -  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_BIOS_RELEASE_DATE);
> -  ReleaseDate = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  DateStrLen = StrLen(ReleaseDate);
> -  if (DateStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE0) +
> VendorStrLen + 1 + VerStrLen + 1 + DateStrLen + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE0) + VendorStrLen +
> 1 + VerStrLen + 1 + DateStrLen + 1 + 1);
> -
> -  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_INFORMATION;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE0);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -  //
> -  // Vendor will be the 1st optional string following the formatted structure.
> -  //
> -  SmbiosRecord->Vendor = 1;
> -  //
> -  // Version will be the 2nd optional string following the formatted structure.
> -  //
> -  SmbiosRecord->BiosVersion = 2;
> -  SmbiosRecord->BiosSegment = (UINT16)ForType0InputData-
> >BiosStartingAddress;
> -  //
> -  // ReleaseDate will be the 3rd optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->BiosReleaseDate = 3;
> -  //
> -  // Nt32 has no PCD value to indicate BIOS Size, just fill 0 for simply.
> -  //
> -  SmbiosRecord->BiosSize = 0;
> -  SmbiosRecord->BiosCharacteristics =
> *(MISC_BIOS_CHARACTERISTICS*)(&ForType0InputData-
> >BiosCharacteristics1);
> -  //
> -  // CharacterExtensionBytes also store in ForType0InputData-
> >BiosCharacteristics1 later two bytes to save size.
> -  //
> -  SmbiosRecord->BIOSCharacteristicsExtensionBytes[0] = *((UINT8 *)
> &ForType0InputData->BiosCharacteristics1 + 4);
> -  SmbiosRecord->BIOSCharacteristicsExtensionBytes[1] = *((UINT8 *)
> &ForType0InputData->BiosCharacteristics1 + 5);
> -
> -  SmbiosRecord->SystemBiosMajorRelease = ForType0InputData-
> >BiosMajorRelease;
> -  SmbiosRecord->SystemBiosMinorRelease = ForType0InputData-
> >BiosMinorRelease;
> -  SmbiosRecord->EmbeddedControllerFirmwareMajorRelease =
> ForType0InputData->BiosEmbeddedFirmwareMajorRelease;
> -  SmbiosRecord->EmbeddedControllerFirmwareMinorRelease =
> ForType0InputData->BiosEmbeddedFirmwareMinorRelease;
> -
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(Char16String, OptionalStrStart);
> -  UnicodeStrToAsciiStr(Version, OptionalStrStart + VendorStrLen + 1);
> -  UnicodeStrToAsciiStr(ReleaseDate, OptionalStrStart + VendorStrLen + 1 +
> VerStrLen + 1);
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c
> deleted file mode 100644
> index 0d7f7c1950..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationData.c
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscBootInformationData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_BOOT_INFORMATION_STATUS_DAT
> A, BootInformationStatus) = {
> -  EfiBootInformationStatusNoError,  // BootInformationStatus
> -  {0}                                 // BootInformationData
> -};
> -
> -/* eof - MiscBootInformationData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
> deleted file mode 100644
> index 993daf15a7..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -/** @file
> -  boot information boot time changes.
> -  SMBIOS type 32.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscBootInformation (Type 32).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -
> -MISC_SMBIOS_TABLE_FUNCTION(BootInformationStatus)
> -{
> -  EFI_STATUS                         Status;
> -  EFI_SMBIOS_HANDLE                  SmbiosHandle;
> -  SMBIOS_TABLE_TYPE32                *SmbiosRecord;
> -  EFI_MISC_BOOT_INFORMATION_STATUS*  ForType32InputData;
> -
> -  ForType32InputData = (EFI_MISC_BOOT_INFORMATION_STATUS
> *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE32) + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE32) + 1 + 1);
> -
> -  SmbiosRecord->Hdr.Type =
> EFI_SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE32);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -  SmbiosRecord->BootStatus = (UINT8)ForType32InputData-
> >BootInformationStatus;
> -
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c
> deleted file mode 100644
> index 7dd83dc864..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerData.c
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscChassisManufacturerData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Chassis Manufacturer data.
> -//
> -MISC_SMBIOS_TABLE_DATA(EFI_MISC_CHASSIS_MANUFACTURER_DATA,
> MiscChassisManufacturer) = {
> -  STRING_TOKEN(STR_MISC_CHASSIS_MANUFACTURER),  //
> ChassisManufactrurer
> -  STRING_TOKEN(STR_MISC_CHASSIS_VERSION),       // ChassisVersion
> -  STRING_TOKEN(STR_MISC_CHASSIS_SERIAL_NUMBER), //
> ChassisSerialNumber
> -  STRING_TOKEN(STR_MISC_CHASSIS_ASSET_TAG),     // ChassisAssetTag
> -  {                               // ChassisTypeStatus
> -    EfiMiscChassisTypeOther,      // ChassisType
> -    0,                            // ChassisLockPresent
> -    0                             // Reserved
> -  },
> -  EfiChassisStateOther,           // ChassisBootupState
> -  EfiChassisStateOther,           // ChassisPowerSupplyState
> -  EfiChassisStateOther,           // ChassisThermalState
> -  EfiChassisSecurityStatusOther,  // ChassisSecurityState
> -  0                               // ChassisOemDefined
> -};
> -
> -/* eof - MiscChassisManufacaturerData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction
> .c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunctio
> n.c
> deleted file mode 100644
> index cbce70d520..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction
> .c
> +++ /dev/null
> @@ -1,125 +0,0 @@
> -/** @file
> -  Chassis manufacturer information boot time changes.
> -  SMBIOS type 3.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscChassisManufacturer (Type 3).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(MiscChassisManufacturer)
> -{
> -  CHAR8                           *OptionalStrStart;
> -  UINTN                           ManuStrLen;
> -  UINTN                           VerStrLen;
> -  UINTN                           AssertTagStrLen;
> -  UINTN                           SerialNumStrLen;
> -  EFI_STATUS                      Status;
> -  EFI_STRING                      Manufacturer;
> -  EFI_STRING                      Version;
> -  EFI_STRING                      SerialNumber;
> -  EFI_STRING                      AssertTag;
> -  STRING_REF                      TokenToGet;
> -  EFI_SMBIOS_HANDLE               SmbiosHandle;
> -  SMBIOS_TABLE_TYPE3              *SmbiosRecord;
> -  EFI_MISC_CHASSIS_MANUFACTURER   *ForType3InputData;
> -
> -  ForType3InputData = (EFI_MISC_CHASSIS_MANUFACTURER *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_MANUFACTURER);
> -  Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  ManuStrLen = StrLen(Manufacturer);
> -  if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_VERSION);
> -  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  VerStrLen = StrLen(Version);
> -  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_SERIAL_NUMBER);
> -  SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  SerialNumStrLen = StrLen(SerialNumber);
> -  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_ASSET_TAG);
> -  AssertTag = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  AssertTagStrLen = StrLen(AssertTag);
> -  if (AssertTagStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen
> + 1  + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1
> + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + 1);
> -
> -  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_ENCLOSURE;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE3);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -  //
> -  // Manu will be the 1st optional string following the formatted structure.
> -  //
> -  SmbiosRecord->Manufacturer = 1;
> -  SmbiosRecord->Type = (UINT8)ForType3InputData-
> >ChassisType.ChassisType;
> -  //
> -  // Version will be the 2nd optional string following the formatted structure.
> -  //
> -  SmbiosRecord->Version = 2;
> -  //
> -  // SerialNumber will be the 3rd optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->SerialNumber = 3;
> -  //
> -  // AssertTag will be the 4th optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->AssetTag = 4;
> -  SmbiosRecord->BootupState = (UINT8)ForType3InputData-
> >ChassisBootupState;
> -  SmbiosRecord->PowerSupplyState = (UINT8)ForType3InputData-
> >ChassisPowerSupplyState;
> -  SmbiosRecord->ThermalState = (UINT8)ForType3InputData-
> >ChassisThermalState;
> -  SmbiosRecord->SecurityStatus = (UINT8)ForType3InputData-
> >ChassisSecurityState;
> -  CopyMem (SmbiosRecord->OemDefined,(UINT8*)&ForType3InputData-
> >ChassisOemDefined, 4);
> -
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);
> -  UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1);
> -  UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 +
> VerStrLen + 1);
> -  UnicodeStrToAsciiStr(AssertTag, OptionalStrStart + ManuStrLen + 1 +
> VerStrLen + 1 + SerialNumStrLen + 1);
> -
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguag
> esData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguag
> esData.c
> deleted file mode 100644
> index 17bd5eb57b..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguag
> esData.c
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscNumberOfInstallableLanguagesData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_NUMBER_OF_INSTALLABLE_LANGU
> AGES_DATA, NumberOfInstallableLanguages)
> -= {
> -  1,    // NumberOfInstallableLanguages
> -  {     // LanguageFlags
> -    0,  // AbbreviatedLanguageFormat
> -    0   // Reserved
> -  },
> -  0,    // CurrentLanguageNumber
> -};
> -
> -/* eof - MiscNumberOfInstallableLanguagesData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguag
> esFunction.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguag
> esFunction.c
> deleted file mode 100644
> index b71524ef1e..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguag
> esFunction.c
> +++ /dev/null
> @@ -1,227 +0,0 @@
> -/** @file
> -  This driver parses the mSmbiosMiscDataTable structure and reports
> -  any generated data.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -/*++
> -  Check whether the language is supported for given HII handle
> -
> -  @param   HiiHandle     The HII package list handle.
> -  @param   Offset        The offest of current lanague in the supported
> languages.
> -  @param   CurrentLang   The language code.
> -
> -  @retval  TRUE          Supported.
> -  @retval  FALSE         Not Supported.
> -
> -**/
> -VOID
> -EFIAPI
> -CurrentLanguageMatch (
> -  IN  EFI_HII_HANDLE                   HiiHandle,
> -  OUT UINT16                           *Offset,
> -  OUT CHAR8                            *CurrentLang
> -  )
> -{
> -  CHAR8     *DefaultLang;
> -  CHAR8     *BestLanguage;
> -  CHAR8     *Languages;
> -  CHAR8     *MatchLang;
> -  CHAR8     *EndMatchLang;
> -  UINTN     CompareLength;
> -
> -  Languages = HiiGetSupportedLanguages (HiiHandle);
> -  if (Languages == NULL) {
> -    return;
> -  }
> -
> -  CurrentLang  = GetEfiGlobalVariable (L"PlatformLang");
> -  DefaultLang  = (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang);
> -  BestLanguage = GetBestLanguage (
> -                   Languages,
> -                   FALSE,
> -                   (CurrentLang != NULL) ? CurrentLang : "",
> -                   DefaultLang,
> -                   NULL
> -                   );
> -  if (BestLanguage != NULL) {
> -    //
> -    // Find the best matching RFC 4646 language, compute the offset.
> -    //
> -    CompareLength = AsciiStrLen (BestLanguage);
> -    for (MatchLang = Languages, (*Offset) = 0; MatchLang != '\0'; (*Offset)++)
> {
> -      //
> -      // Seek to the end of current match language.
> -      //
> -      for (EndMatchLang = MatchLang; *EndMatchLang != '\0' &&
> *EndMatchLang != ';'; EndMatchLang++);
> -
> -      if ((EndMatchLang == MatchLang + CompareLength) &&
> AsciiStrnCmp(MatchLang, BestLanguage, CompareLength) == 0) {
> -        //
> -        // Find the current best Language in the supported languages
> -        //
> -        break;
> -      }
> -      //
> -      // best language match be in the supported language.
> -      //
> -      ASSERT (*EndMatchLang == ';');
> -      MatchLang = EndMatchLang + 1;
> -    }
> -    FreePool (BestLanguage);
> -  }
> -
> -  FreePool (Languages);
> -  if (CurrentLang != NULL) {
> -    FreePool (CurrentLang);
> -  }
> -  return ;
> -}
> -
> -
> -/**
> -  Get next language from language code list (with separator ';').
> -
> -  @param  LangCode       Input: point to first language in the list. On
> -                         Otput: point to next language in the list, or
> -                                NULL if no more language in the list.
> -  @param  Lang           The first language in the list.
> -
> -**/
> -VOID
> -EFIAPI
> -GetNextLanguage (
> -  IN OUT CHAR8      **LangCode,
> -  OUT CHAR8         *Lang
> -  )
> -{
> -  UINTN  Index;
> -  CHAR8  *StringPtr;
> -
> -  ASSERT (LangCode != NULL);
> -  ASSERT (*LangCode != NULL);
> -  ASSERT (Lang != NULL);
> -
> -  Index     = 0;
> -  StringPtr = *LangCode;
> -  while (StringPtr[Index] != 0 && StringPtr[Index] != ';') {
> -    Index++;
> -  }
> -
> -  CopyMem (Lang, StringPtr, Index);
> -  Lang[Index] = 0;
> -
> -  if (StringPtr[Index] == ';') {
> -    Index++;
> -  }
> -  *LangCode = StringPtr + Index;
> -}
> -
> -/**
> -  This function returns the number of supported languages on HiiHandle.
> -
> -  @param   HiiHandle    The HII package list handle.
> -
> -  @retval  The number of supported languages.
> -
> -**/
> -UINT16
> -EFIAPI
> -GetSupportedLanguageNumber (
> -  IN EFI_HII_HANDLE    HiiHandle
> -  )
> -{
> -  CHAR8   *Lang;
> -  CHAR8   *Languages;
> -  CHAR8   *LanguageString;
> -  UINT16  LangNumber;
> -
> -  Languages = HiiGetSupportedLanguages (HiiHandle);
> -  if (Languages == NULL) {
> -    return 0;
> -  }
> -
> -  LangNumber = 0;
> -  Lang = AllocatePool (AsciiStrSize (Languages));
> -  if (Lang != NULL) {
> -    LanguageString = Languages;
> -    while (*LanguageString != 0) {
> -      GetNextLanguage (&LanguageString, Lang);
> -      LangNumber++;
> -    }
> -    FreePool (Lang);
> -  }
> -  FreePool (Languages);
> -  return LangNumber;
> -}
> -
> -
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscNumberOfInstallableLanguages (Type 13).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(NumberOfInstallableLanguages)
> -{
> -  UINTN                                     LangStrLen;
> -  CHAR8                                     CurrentLang[SMBIOS_STRING_MAX_LENGTH + 1];
> -  CHAR8                                     *OptionalStrStart;
> -  UINT16                                    Offset;
> -  EFI_STATUS                                Status;
> -  EFI_SMBIOS_HANDLE                         SmbiosHandle;
> -  SMBIOS_TABLE_TYPE13                       *SmbiosRecord;
> -  EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES  *ForType13InputData;
> -
> -  ForType13InputData =
> (EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  ForType13InputData->NumberOfInstallableLanguages =
> GetSupportedLanguageNumber (mHiiHandle);
> -
> -  //
> -  // Try to check if current langcode matches with the langcodes in installed
> languages
> -  //
> -  ZeroMem(CurrentLang, SMBIOS_STRING_MAX_LENGTH + 1);
> -  CurrentLanguageMatch (mHiiHandle, &Offset, CurrentLang);
> -  LangStrLen = AsciiStrLen(CurrentLang);
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen
> + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen + 1
> + 1);
> -
> -  SmbiosRecord->Hdr.Type =
> EFI_SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE13);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -
> -  SmbiosRecord->InstallableLanguages = (UINT8)ForType13InputData-
> >NumberOfInstallableLanguages;
> -  SmbiosRecord->Flags = (UINT8)ForType13InputData-
> >LanguageFlags.AbbreviatedLanguageFormat;
> -  SmbiosRecord->CurrentLanguages = 1;
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  AsciiStrCpy(OptionalStrStart, CurrentLang);
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c
> deleted file mode 100644
> index 4480d05f22..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringData.c
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -    MiscOemStringData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -MISC_SMBIOS_TABLE_DATA(EFI_MISC_OEM_STRING_DATA, OemString) =
> {
> -  { STRING_TOKEN(STR_MISC_OEM_STRING) }
> -};
> -
> -/* eof - MiscOemStringData.c */
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
> deleted file mode 100644
> index a8fb486abd..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -/** @file
> -  boot information boot time changes.
> -  SMBIOS type 11.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscOemString (Type 11).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(OemString)
> -{
> -  UINTN                    OemStrLen;
> -  CHAR8                    *OptionalStrStart;
> -  EFI_STATUS               Status;
> -  EFI_STRING               OemStr;
> -  STRING_REF               TokenToGet;
> -  EFI_SMBIOS_HANDLE        SmbiosHandle;
> -  SMBIOS_TABLE_TYPE11      *SmbiosRecord;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_OEM_STRING);
> -  OemStr = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  OemStrLen = StrLen(OemStr);
> -  if (OemStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE11) + OemStrLen
> + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE11) + OemStrLen + 1
> + 1);
> -
> -  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_OEM_STRINGS;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE11);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -  SmbiosRecord->StringCount = 1;
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(OemStr, OptionalStrStart);
> -
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> atorData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> atorData.c
> deleted file mode 100644
> index 65b8a1ddb9..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> atorData.c
> +++ /dev/null
> @@ -1,93 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscPortInternalConnectorDesignatorData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESI
> GNATOR_DATA, MiscPortInternalConnectorDesignator) = {
> -  STRING_TOKEN(STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR),
> // PortInternalConnectorDesignator
> -  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR),
> // PortExternalConnectorDesignator
> -  EfiPortConnectorTypeOther,  // PortInternalConnectorType
> -  EfiPortConnectorTypeOther,  // PortExternalConnectorType
> -  EfiPortTypeNone,            // PortType
> -  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
> -};
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESI
> GNATOR_DATA, MiscPortKeyboard) = {
> -  STRING_TOKEN (STR_MISC_PORT_INTERNAL_KEYBOARD),   //
> PortInternalConnectorDesignator
> -  STRING_TOKEN (STR_MISC_PORT_EXTERNAL_KEYBOARD),   //
> PortExternalConnectorDesignator
> -  EfiPortConnectorTypeNone, // PortInternalConnectorType
> -  EfiPortConnectorTypePS2,  // PortExternalConnectorType
> -  EfiPortTypeKeyboard,      // PortType
> -  // mPs2KbyboardDevicePath                          // PortPath
> -  //
> -  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
> -};
> -
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESI
> GNATOR_DATA, MiscPortMouse) = {
> -  STRING_TOKEN (STR_MISC_PORT_INTERNAL_MOUSE),      //
> PortInternalConnectorDesignator
> -  STRING_TOKEN (STR_MISC_PORT_EXTERNAL_MOUSE),      //
> PortExternalConnectorDesignator
> -  EfiPortConnectorTypeNone, // PortInternalConnectorType
> -  EfiPortConnectorTypePS2,  // PortExternalConnectorType
> -  EfiPortTypeMouse,         // PortType
> -  // mPs2MouseDevicePath                // PortPath
> -  //
> -  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
> -};
> -
> -
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESI
> GNATOR_DATA, MiscPortCom1) = {
> -  STRING_TOKEN(STR_MISC_PORT_INTERNAL_COM1),
> -  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM1),
> -  EfiPortConnectorTypeNone,
> -  EfiPortConnectorTypeDB9Female,
> -  EfiPortTypeSerial16550ACompatible,
> -  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
> -};
> -
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESI
> GNATOR_DATA, MiscPortCom2) = {
> -  STRING_TOKEN(STR_MISC_PORT_INTERNAL_COM2),
> -  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM2),
> -  EfiPortConnectorTypeNone,
> -  EfiPortConnectorTypeDB9Female,
> -  EfiPortTypeSerial16550ACompatible,
> -  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
> -};
> -
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESI
> GNATOR_DATA, MiscPortExtensionPower) = {
> -  STRING_TOKEN(STR_MISC_PORT_INTERNAL_EXTENSION_POWER),
> -  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_EXTENSION_POWER),
> -  EfiPortConnectorTypeOther,
> -  EfiPortConnectorTypeNone,
> -  EfiPortTypeOther,
> -  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
> -};
> -
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESI
> GNATOR_DATA, MiscPortFloppy) = {
> -  STRING_TOKEN(STR_MISC_PORT_INTERNAL_FLOPPY),
> -  STRING_TOKEN(STR_MISC_PORT_EXTERNAL_FLOPPY),
> -  EfiPortConnectorTypeOnboardFloppy,
> -  EfiPortConnectorTypeNone,
> -  EfiPortTypeOther,
> -  {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath
> -};
> -
> -/* eof - MiscPortInternalConnectorDesignatorData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> atorFunction.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> atorFunction.c
> deleted file mode 100644
> index 84de46bdf8..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> atorFunction.c
> +++ /dev/null
> @@ -1,166 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscPortInternalConnectorDesignatorFunction.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -
> -MISC_SMBIOS_TABLE_FUNCTION (
> -  MiscPortInternalConnectorDesignator
> -  )
> -/*++
> -Description:
> -
> -  This function makes boot time changes to the contents of the
> -  MiscPortConnectorInformation (Type 8).
> -
> -Parameters:
> -
> -  RecordType
> -    Type of record to be processed from the Data Table.
> -    mMiscSubclassDataTable[].RecordType
> -
> -  RecordLen
> -    Size of static RecordData from the Data Table.
> -    mMiscSubclassDataTable[].RecordLen
> -
> -  RecordData
> -    Pointer to copy of RecordData from the Data Table.  Changes made
> -    to this copy will be written to the Data Hub but will not alter
> -    the contents of the static Data Table.
> -
> -  LogRecordData
> -    Set *LogRecordData to TRUE to log RecordData to Data Hub.
> -    Set *LogRecordData to FALSE when there is no more data to log.
> -
> -Returns:
> -
> -  EFI_SUCCESS
> -    All parameters were valid and *RecordData and *LogRecordData have
> -    been set.
> -
> -  EFI_UNSUPPORTED
> -    Unexpected RecordType value.
> -
> -  EFI_INVALID_PARAMETER
> -    One of the following parameter conditions was true:
> -      RecordLen was zero.
> -      RecordData was NULL.
> -      LogRecordData was NULL.
> -**/
> -{
> -  CHAR8                                        *OptionalStrStart;
> -  UINTN                                        InternalRefStrLen;
> -  UINTN                                        ExternalRefStrLen;
> -  EFI_STRING                                   InternalRef;
> -  EFI_STRING                                   ExternalRef;
> -  STRING_REF                                   TokenForInternal;
> -  STRING_REF                                   TokenForExternal;
> -  EFI_STATUS                                   Status;
> -  SMBIOS_TABLE_TYPE8                           *SmbiosRecord;
> -  EFI_SMBIOS_HANDLE                            SmbiosHandle;
> -  EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR
> *ForType8InputData;
> -
> -  ForType8InputData =
> (EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR *)RecordData;
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenForInternal = 0;
> -  TokenForExternal = 0;
> -
> -  switch (ForType8InputData->PortInternalConnectorDesignator) {
> -
> -    case STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR:
> -      TokenForInternal = STRING_TOKEN
> (STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR);
> -      TokenForExternal =
> STRING_TOKEN(STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR);
> -      break;
> -    case STR_MISC_PORT_INTERNAL_KEYBOARD:
> -      TokenForInternal = STRING_TOKEN
> (STR_MISC_PORT_INTERNAL_KEYBOARD);
> -      TokenForExternal =
> STRING_TOKEN(STR_MISC_PORT_EXTERNAL_KEYBOARD);
> -      break;
> -    case STR_MISC_PORT_INTERNAL_MOUSE:
> -      TokenForInternal = STRING_TOKEN
> (STR_MISC_PORT_INTERNAL_MOUSE);
> -      TokenForExternal =
> STRING_TOKEN(STR_MISC_PORT_EXTERNAL_MOUSE);
> -      break;
> -    case STR_MISC_PORT_INTERNAL_COM1:
> -      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_COM1);
> -      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM1);
> -      break;
> -    case STR_MISC_PORT_INTERNAL_COM2:
> -      TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_COM2);
> -      TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM2);
> -      break;
> -    case STR_MISC_PORT_INTERNAL_EXTENSION_POWER:
> -      TokenForInternal = STRING_TOKEN
> (STR_MISC_PORT_INTERNAL_EXTENSION_POWER);
> -      TokenForExternal =
> STRING_TOKEN(STR_MISC_PORT_EXTERNAL_EXTENSION_POWER);
> -      break;
> -    case STR_MISC_PORT_INTERNAL_FLOPPY:
> -      TokenForInternal = STRING_TOKEN
> (STR_MISC_PORT_INTERNAL_FLOPPY);
> -      TokenForExternal =
> STRING_TOKEN(STR_MISC_PORT_EXTERNAL_FLOPPY);
> -      break;
> -    default:
> -      break;
> -  }
> -
> -  InternalRef = HiiGetPackageString(&gEfiCallerIdGuid, TokenForInternal,
> NULL);
> -  InternalRefStrLen = StrLen(InternalRef);
> -  if (InternalRefStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  ExternalRef = HiiGetPackageString(&gEfiCallerIdGuid, TokenForExternal,
> NULL);
> -  ExternalRefStrLen = StrLen(ExternalRef);
> -  if (ExternalRefStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE8) +
> InternalRefStrLen + 1 + ExternalRefStrLen + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE8) +
> InternalRefStrLen + 1 + ExternalRefStrLen + 1 + 1);
> -
> -  SmbiosRecord->Hdr.Type =
> EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE8);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -  SmbiosRecord->InternalReferenceDesignator = 1;
> -  SmbiosRecord->InternalConnectorType = (UINT8)ForType8InputData-
> >PortInternalConnectorType;
> -  SmbiosRecord->ExternalReferenceDesignator = 2;
> -  SmbiosRecord->ExternalConnectorType = (UINT8)ForType8InputData-
> >PortExternalConnectorType;
> -  SmbiosRecord->PortType = (UINT8)ForType8InputData->PortType;
> -
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(InternalRef, OptionalStrStart);
> -  UnicodeStrToAsciiStr(ExternalRef, OptionalStrStart + InternalRefStrLen + 1);
> -
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> -
> -
> -
> -/* eof - MiscSystemManufacturerFunction.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c
> deleted file mode 100644
> index 3d534eb197..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesData.c
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -    MiscResetCapabilitiesData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -MISC_SMBIOS_TABLE_DATA(EFI_MISC_RESET_CAPABILITIES,
> MiscResetCapabilities) = {
> -  {     // ResetCapabilities
> -    0,  // Status
> -    0,  // BootOption
> -    0,  // BootOptionOnLimit
> -    0,  // WatchdogTimerPresent
> -    0   // Reserved
> -  },
> -  0,    // ResetCount
> -  0,    // ResetLimit
> -  0,    // ResetTimerInterval
> -  0     // ResetTimeout
> -};
> -
> -/* eof - MiscResetCapabilities.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
> deleted file mode 100644
> index a4fc055da8..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
> +++ /dev/null
> @@ -1,65 +0,0 @@
> -/** @file
> -  ResetCapabilities.
> -  SMBIOS type 23.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscOemString (Type 11).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(MiscResetCapabilities)
> -{
> -  EFI_STATUS               Status;
> -  EFI_SMBIOS_HANDLE        SmbiosHandle;
> -  SMBIOS_TABLE_TYPE23      *SmbiosRecord;
> -  EFI_MISC_RESET_CAPABILITIES   *ForType23InputData;
> -
> -  ForType23InputData = (EFI_MISC_RESET_CAPABILITIES *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE23) + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE23) + 1 + 1);
> -
> -  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_RESET;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE23);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle    = 0;
> -  SmbiosRecord->Capabilities  = *(UINT8*)&(ForType23InputData-
> >ResetCapabilities);
> -  SmbiosRecord->ResetCount    = (UINT16)ForType23InputData-
> >ResetCount;
> -  SmbiosRecord->ResetLimit    = (UINT16)ForType23InputData->ResetLimit;
> -  SmbiosRecord->TimerInterval = (UINT16)ForType23InputData-
> >ResetTimerInterval;
> -  SmbiosRecord->Timeout       = (UINT16)ForType23InputData-
> >ResetTimeout;
> -
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> -
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c
> deleted file mode 100644
> index d82aab99c1..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverDataTable.c
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscSubclassDriverDataTable.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -
> -//
> -// External definitions referenced by Data Table entries.
> -//
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_BASE_BOARD_MANUFACTURER_DATA,
> MiscBaseBoardManufacturer, MiscBaseBoardManufacturer);
> -MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_BIOS_VENDOR_DATA,
> MiscBiosVendor,MiscBiosVendor );
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_BOOT_INFORMATION_STATUS_DATA, BootInformationStatus,
> BootInformationStatus);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_CHASSIS_MANUFACTURER_DATA, MiscChassisManufacturer,
> MiscChassisManufacturer);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA,NumberOfInsta
> llableLanguages, NumberOfInstallableLanguages);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_OEM_STRING_DATA,OemString, OemString);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA,
> MiscPortInternalConnectorDesignator,
> MiscPortInternalConnectorDesignator);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA,
> MiscPortKeyboard, MiscPortInternalConnectorDesignator);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA,
> MiscPortMouse, MiscPortInternalConnectorDesignator);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA,
> MiscPortCom1, MiscPortInternalConnectorDesignator);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA,
> MiscPortCom2, MiscPortInternalConnectorDesignator);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA,
> MiscPortExtensionPower, MiscPortInternalConnectorDesignator);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA,
> MiscPortFloppy, MiscPortInternalConnectorDesignator);
> -MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_RESET_CAPABILITIES,
> MiscResetCapabilities, MiscResetCapabilities);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA,SystemLanguageString,
> SystemLanguageString);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_SYSTEM_MANUFACTURER_DATA, MiscSystemManufacturer,
> MiscSystemManufacturer);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_SYSTEM_OPTION_STRING_DATA, SystemOptionString,
> SystemOptionString);
> -MISC_SMBIOS_TABLE_EXTERNS
> ( EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA,
> MiscSystemSlotDesignation, MiscSystemSlotDesignation);
> -
> -
> -//
> -// Data Table.
> -//
> -EFI_MISC_SMBIOS_DATA_TABLE  mMiscSubclassDataTable[] = {
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscBaseBoardManu
> facturer, MiscBaseBoardManufacturer),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscBiosVendor,Mis
> cBiosVendor ),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( BootInformationStat
> us, BootInformationStatus),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscChassisManufac
> turer, MiscChassisManufacturer),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NumberOfInstallable
> Languages, NumberOfInstallableLanguages),
> -  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(OemString,
> OemString),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortInternalCon
> nectorDesignator, MiscPortInternalConnectorDesignator),
> -  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortKeyboard,
> MiscPortInternalConnectorDesignator),
> -  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortMouse,
> MiscPortInternalConnectorDesignator),
> -  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortCom1,
> MiscPortInternalConnectorDesignator),
> -  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortCom2,
> MiscPortInternalConnectorDesignator),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortExtensionP
> ower, MiscPortInternalConnectorDesignator),
> -  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortFloppy,
> MiscPortInternalConnectorDesignator),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscResetCapabilitie
> s, MiscResetCapabilities),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(SystemLanguageStrin
> g, SystemLanguageString),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscSystemManufac
> turer, MiscSystemManufacturer),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( SystemOptionString,
> SystemOptionString),
> -
> MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscSystemSlotDesig
> nation, MiscSystemSlotDesignation),
> -  };
> -
> -//
> -// Number of Data Table entries.
> -//
> -UINTN mMiscSubclassDataTableEntries = (sizeof mMiscSubclassDataTable) /
> sizeof (EFI_MISC_SMBIOS_DATA_TABLE);
> -
> -/* eof - MiscSubclassDriverDataTable.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
> deleted file mode 100644
> index 31236e3ca0..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscSubclassDriverEntryPoint.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -EFI_HII_HANDLE  mHiiHandle;
> -
> -/**
> -  This is the standard EFI driver point that detects whether there is a
> -  MemoryConfigurationData Variable and, if so, reports memory
> configuration info
> -  to the DataHub.
> -
> -  @param  ImageHandle  Handle for the image of this driver
> -  @param  SystemTable  Pointer to the EFI System Table
> -
> -  @return EFI_SUCCESS if the data is successfully reported
> -  @return EFI_NOT_FOUND if the HOB list could not be located.
> -
> -**/
> -EFI_STATUS
> -LogMemorySmbiosRecord (
> -  VOID
> -  )
> -{
> -  EFI_STATUS                      Status;
> -  UINT64                          TotalMemorySize;
> -  UINT8                           NumSlots;
> -  SMBIOS_TABLE_TYPE19             *Type19Record;
> -  EFI_SMBIOS_HANDLE               MemArrayMappedAddrSmbiosHandle;
> -  EFI_SMBIOS_PROTOCOL             *Smbios;
> -  CHAR16                          *MemString;
> -
> -  Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL,
> (VOID**)&Smbios);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  NumSlots        = 1;
> -
> -  //
> -  // Process Memory String in form size!size ...
> -  // So 64!64 is 128 MB
> -  //
> -  MemString   = (CHAR16 *)PcdGetPtr (PcdEmuMemorySize);
> -  for (TotalMemorySize = 0; *MemString != '\0';) {
> -    TotalMemorySize += StrDecimalToUint64 (MemString);
> -    while (*MemString != '\0') {
> -      if (*MemString == '!') {
> -        MemString++;
> -        break;
> -      }
> -      MemString++;
> -    }
> -  }
> -
> -  //
> -  // Convert Total Memory Size to based on KiloByte
> -  //
> -  TotalMemorySize = LShiftU64 (TotalMemorySize, 20);
> -  //
> -  // Generate Memory Array Mapped Address info
> -  //
> -  Type19Record = AllocateZeroPool(sizeof (SMBIOS_TABLE_TYPE19) + 2);
> -  Type19Record->Hdr.Type =
> EFI_SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS;
> -  Type19Record->Hdr.Length = sizeof(SMBIOS_TABLE_TYPE19);
> -  Type19Record->Hdr.Handle = 0;
> -  Type19Record->StartingAddress = 0;
> -  Type19Record->EndingAddress =  (UINT32)RShiftU64(TotalMemorySize, 10)
> - 1;
> -  Type19Record->MemoryArrayHandle = 0;
> -  Type19Record->PartitionWidth = (UINT8)(NumSlots);
> -
> -  //
> -  // Generate Memory Array Mapped Address info (TYPE 19)
> -  //
> -  Status = AddSmbiosRecord (Smbios,
> &MemArrayMappedAddrSmbiosHandle, (EFI_SMBIOS_TABLE_HEADER*)
> Type19Record);
> -
> -  FreePool(Type19Record);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  return Status;
> -}
> -
> -
> -EFI_STATUS
> -EFIAPI
> -MiscSubclassDriverEntryPoint (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -/*++
> -Description:
> -
> -  Standard EFI driver point.  This driver parses the mMiscSubclassDataTable
> -  structure and reports any generated data to the DataHub.
> -
> -Arguments:
> -
> -  ImageHandle
> -    Handle for the image of this driver
> -
> -  SystemTable
> -    Pointer to the EFI System Table
> -
> -Returns:
> -
> -  EFI_SUCCESS
> -    The data was successfully reported to the Data Hub.
> -
> -**/
> -{
> -  UINTN                Index;
> -  EFI_STATUS           EfiStatus;
> -  EFI_SMBIOS_PROTOCOL  *Smbios;
> -
> -  EfiStatus = gBS->LocateProtocol(&gEfiSmbiosProtocolGuid, NULL,
> (VOID**)&Smbios);
> -
> -  if (EFI_ERROR(EfiStatus)) {
> -    DEBUG((EFI_D_ERROR, "Could not locate SMBIOS protocol.  %r\n",
> EfiStatus));
> -    return EfiStatus;
> -  }
> -
> -  mHiiHandle = HiiAddPackages (
> -                 &gEfiCallerIdGuid,
> -                 NULL,
> -                 MiscSubclassStrings,
> -                 NULL
> -                 );
> -  ASSERT (mHiiHandle != NULL);
> -
> -  for (Index = 0; Index < mMiscSubclassDataTableEntries; ++Index) {
> -    //
> -    // If the entry have a function pointer, just log the data.
> -    //
> -    if (mMiscSubclassDataTable[Index].Function != NULL) {
> -      EfiStatus = (*mMiscSubclassDataTable[Index].Function)(
> -        mMiscSubclassDataTable[Index].RecordData,
> -        Smbios
> -        );
> -
> -      if (EFI_ERROR(EfiStatus)) {
> -        DEBUG((EFI_D_ERROR, "Misc smbios store error.  Index=%d,
> ReturnStatus=%r\n", Index, EfiStatus));
> -        return EfiStatus;
> -      }
> -    }
> -  }
> -
> -  //
> -  // Log Memory SMBIOS Record
> -  //
> -  EfiStatus = LogMemorySmbiosRecord();
> -  return EfiStatus;
> -}
> -
> -/**
> -  Add an SMBIOS record.
> -
> -  @param  Smbios                The EFI_SMBIOS_PROTOCOL instance.
> -  @param  SmbiosHandle          A unique handle will be assigned to the
> SMBIOS record.
> -  @param  Record                The data for the fixed portion of the SMBIOS
> record. The format of the record is
> -                                determined by EFI_SMBIOS_TABLE_HEADER.Type. The size
> of the formatted area is defined
> -                                by EFI_SMBIOS_TABLE_HEADER.Length and either followed
> by a double-null (0x0000) or
> -                                a set of null terminated strings and a null.
> -
> -  @retval EFI_SUCCESS           Record was added.
> -  @retval EFI_OUT_OF_RESOURCES  Record was not added due to lack of
> system resources.
> -
> -**/
> -EFI_STATUS
> -AddSmbiosRecord (
> -  IN EFI_SMBIOS_PROTOCOL        *Smbios,
> -  OUT EFI_SMBIOS_HANDLE         *SmbiosHandle,
> -  IN EFI_SMBIOS_TABLE_HEADER    *Record
> -  )
> -{
> -  *SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
> -  return Smbios->Add (
> -                   Smbios,
> -                   NULL,
> -                   SmbiosHandle,
> -                   Record
> -                   );
> -}
> -
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c
> deleted file mode 100644
> index 417933553c..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringData.c
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscSystemLanguageStringData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA,
> SystemLanguageString) = {
> -  0,
> -  STRING_TOKEN(STR_MISC_SYSTEM_LANGUAGE_STRING)
> -};
> -
> -/* eof - MiscSystemLanguageStringData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFuncti
> on.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFuncti
> on.c
> deleted file mode 100644
> index dd4061f5f4..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFuncti
> on.c
> +++ /dev/null
> @@ -1,74 +0,0 @@
> -/** @file
> -  ResetCapabilities.
> -  SMBIOS type 23.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscOemString (Type 11).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(SystemLanguageString)
> -{
> -  EFI_STATUS               Status;
> -  EFI_SMBIOS_HANDLE        SmbiosHandle;
> -  SMBIOS_TABLE_TYPE13      *SmbiosRecord;
> -  UINTN                    StrLeng;
> -  CHAR8                    *OptionalStrStart;
> -  EFI_STRING               Str;
> -  STRING_REF               TokenToGet;
> -
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_LANGUAGE_STRING);
> -  Str = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  StrLeng = StrLen(Str);
> -  if (StrLeng > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE13) + StrLeng + 1
> + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE13) + StrLeng + 1 +
> 1);
> -
> -  SmbiosRecord->Hdr.Type =
> EFI_SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE13);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle    = 0;
> -  SmbiosRecord->InstallableLanguages = 1;
> -  SmbiosRecord->Flags   = 1;
> -  SmbiosRecord->CurrentLanguages = 1;
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(Str, OptionalStrStart);
> -
> -
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> -
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c
> deleted file mode 100644
> index 94fa1025f5..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerData.c
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscSystemManufacturerData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) System Manufacturer data.
> -//
> -MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_MANUFACTURER_DATA,
> MiscSystemManufacturer)
> -= {
> -  STRING_TOKEN(STR_MISC_SYSTEM_MANUFACTURER),
> -  // SystemManufactrurer
> -  STRING_TOKEN(STR_MISC_SYSTEM_PRODUCT_NAME),
> -  // SystemProductName
> -  STRING_TOKEN(STR_MISC_SYSTEM_VERSION),
> -  // SystemVersion
> -  STRING_TOKEN(STR_MISC_SYSTEM_SERIAL_NUMBER),
> -  // SystemSerialNumber
> -  {
> -    0xbadfaced,
> -    0xdead,
> -    0xbeef,
> -    {
> -      0x13,
> -      0x13,
> -      0x13,
> -      0x13,
> -      0x13,
> -      0x13,
> -      0x13,
> -      0x13
> -    }
> -  },
> -  // SystemUuid
> -  EfiSystemWakeupTypePowerSwitch  // SystemWakeupType
> -};
> -
> -/* eof - MiscSystemManufacturerData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunctio
> n.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunctio
> n.c
> deleted file mode 100644
> index 0362692a3b..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunctio
> n.c
> +++ /dev/null
> @@ -1,129 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscSystemManufacturerFunction.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscSystemManufacturer (Type 1).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(MiscSystemManufacturer)
> -{
> -  CHAR8                             *OptionalStrStart;
> -  UINTN                             ManuStrLen;
> -  UINTN                             VerStrLen;
> -  UINTN                             PdNameStrLen;
> -  UINTN                             SerialNumStrLen;
> -  EFI_STATUS                        Status;
> -  EFI_STRING                        Manufacturer;
> -  EFI_STRING                        ProductName;
> -  EFI_STRING                        Version;
> -  EFI_STRING                        SerialNumber;
> -  STRING_REF                        TokenToGet;
> -  EFI_SMBIOS_HANDLE                 SmbiosHandle;
> -  SMBIOS_TABLE_TYPE1                *SmbiosRecord;
> -  EFI_MISC_SYSTEM_MANUFACTURER      *ForType1InputData;
> -
> -  ForType1InputData = (EFI_MISC_SYSTEM_MANUFACTURER *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_MANUFACTURER);
> -  Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  ManuStrLen = StrLen(Manufacturer);
> -  if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_PRODUCT_NAME);
> -  ProductName = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  PdNameStrLen = StrLen(ProductName);
> -  if (PdNameStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_VERSION);
> -  Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  VerStrLen = StrLen(Version);
> -  if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_SERIAL_NUMBER);
> -  SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  SerialNumStrLen = StrLen(SerialNumber);
> -  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE1) + ManuStrLen
> + 1 + PdNameStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE1) + ManuStrLen + 1
> + PdNameStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + 1);
> -
> -  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_INFORMATION;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE1);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -  //
> -  // Manu will be the 1st optional string following the formatted structure.
> -  //
> -  SmbiosRecord->Manufacturer = 1;
> -  //
> -  // ProductName will be the 2nd optional string following the formatted
> structure.
> -  //
> -  SmbiosRecord->ProductName = 2;
> -  //
> -  // Version will be the 3rd optional string following the formatted structure.
> -  //
> -  SmbiosRecord->Version = 3;
> -  //
> -  // Version will be the 4th optional string following the formatted structure.
> -  //
> -  SmbiosRecord->SerialNumber = 4;
> -  CopyMem ((UINT8 *) (&SmbiosRecord->Uuid),&ForType1InputData-
> >SystemUuid,16);
> -  SmbiosRecord->WakeUpType = (UINT8)ForType1InputData-
> >SystemWakeupType;
> -
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);
> -  UnicodeStrToAsciiStr(ProductName, OptionalStrStart + ManuStrLen + 1);
> -  UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1 +
> PdNameStrLen + 1);
> -  UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 +
> PdNameStrLen + 1 + VerStrLen + 1);
> -
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> -
> -/* eof - MiscSystemManufacturerFunction.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c
> deleted file mode 100644
> index a459f9d10b..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringData.c
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -  MiscSystemOptionStringData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_OPTION_STRING_DATA,
> SystemOptionString) = {
> -  {STRING_TOKEN(STR_MISC_SYSTEM_OPTION_STRING)}
> -};
> -
> -/* eof - MiscSystemOptionStringData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.
> c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.
> c
> deleted file mode 100644
> index d16ec4b382..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.
> c
> +++ /dev/null
> @@ -1,71 +0,0 @@
> -/** @file
> -  BIOS system option string boot time changes.
> -  SMBIOS type 12.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscSystemOptionString (Type 12).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(SystemOptionString)
> -{
> -  CHAR8                             *OptionalStrStart;
> -  UINTN                             OptStrLen;
> -  EFI_STRING                        OptionString;
> -  EFI_STATUS                        Status;
> -  STRING_REF                        TokenToGet;
> -  EFI_SMBIOS_HANDLE                 SmbiosHandle;
> -  SMBIOS_TABLE_TYPE12               *SmbiosRecord;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_OPTION_STRING);
> -  OptionString = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);
> -  OptStrLen = StrLen(OptionString);
> -  if (OptStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE12) + OptStrLen
> + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE12) + OptStrLen + 1
> + 1);
> -
> -  SmbiosRecord->Hdr.Type =
> EFI_SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE12);
> -  //
> -  // Make handle chosen by smbios protocol.add automatically.
> -  //
> -  SmbiosRecord->Hdr.Handle = 0;
> -
> -  SmbiosRecord->StringCount = 1;
> -  OptionalStrStart = (CHAR8*) (SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(OptionString, OptionalStrStart);
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c
> deleted file mode 100644
> index 30b9f7cb9b..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationData.c
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -/*++
> -
> -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -Module Name:
> -
> -    MiscSystemSlotDesignationData.c
> -
> -Abstract:
> -
> -  This driver parses the mMiscSubclassDataTable structure and reports
> -  any generated data to the DataHub.
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -
> -//
> -// Static (possibly build generated) Bios Vendor data.
> -//
> -
> MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA,
> MiscSystemSlotDesignation) = {
> -  STRING_TOKEN(STR_MISC_SYSTEM_SLOT_DESIGNATION),   //
> SlotDesignation
> -  EfiSlotTypeOther,         // SlotType
> -  EfiSlotDataBusWidthOther, // SlotDataBusWidth
> -  EfiSlotUsageOther,        // SlotUsage
> -  EfiSlotLengthOther,       // SlotLength
> -  0,                        // SlotId
> -  {                         // SlotCharacteristics
> -    0,                      // CharacteristicsUnknown  :1;
> -    0,                      // Provides50Volts         :1;
> -    0,                      // Provides33Volts         :1;
> -    0,                      // SharedSlot              :1;
> -    0,                      // PcCard16Supported       :1;
> -    0,                      // CardBusSupported        :1;
> -    0,                      // ZoomVideoSupported      :1;
> -    0,                      // ModemRingResumeSupported:1;
> -    0,                      // PmeSignalSupported      :1;
> -    0,                      // HotPlugDevicesSupported :1;
> -    0,                      // SmbusSignalSupported    :1;
> -    0                       // Reserved                :21;
> -  },
> -  {0, 0, {0, 0}}            // SlotDevicePath
> -};
> -
> -/* eof - MiscSystemSlotsData.c */
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFuncti
> on.c
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFuncti
> on.c
> deleted file mode 100644
> index 1213aad8df..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFuncti
> on.c
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -/** @file
> -  BIOS system slot designator information boot time changes.
> -  SMBIOS type 9.
> -
> -  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include "MiscSubClassDriver.h"
> -/**
> -  This function makes boot time changes to the contents of the
> -  MiscSystemSlotDesignator structure (Type 9).
> -
> -  @param  RecordData                 Pointer to copy of RecordData from the Data
> Table.
> -
> -  @retval EFI_SUCCESS                All parameters were valid.
> -  @retval EFI_UNSUPPORTED            Unexpected RecordType value.
> -  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.
> -
> -**/
> -MISC_SMBIOS_TABLE_FUNCTION(MiscSystemSlotDesignation)
> -{
> -  CHAR8                              *OptionalStrStart;
> -  UINTN                              SlotDesignationStrLen;
> -  EFI_STATUS                         Status;
> -  EFI_STRING                         SlotDesignation;
> -  STRING_REF                         TokenToGet;
> -  SMBIOS_TABLE_TYPE9                 *SmbiosRecord;
> -  EFI_SMBIOS_HANDLE                  SmbiosHandle;
> -  EFI_MISC_SYSTEM_SLOT_DESIGNATION*  ForType9InputData;
> -
> -  ForType9InputData = (EFI_MISC_SYSTEM_SLOT_DESIGNATION
> *)RecordData;
> -
> -  //
> -  // First check for invalid parameters.
> -  //
> -  if (RecordData == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  TokenToGet = 0;
> -  switch (ForType9InputData->SlotDesignation) {
> -    case STR_MISC_SYSTEM_SLOT_DESIGNATION:
> -      TokenToGet = STRING_TOKEN
> (STR_MISC_SYSTEM_SLOT_DESIGNATION);
> -      break;
> -    default:
> -      break;
> -  }
> -
> -  SlotDesignation = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet,
> NULL);
> -  SlotDesignationStrLen = StrLen(SlotDesignation);
> -  if (SlotDesignationStrLen > SMBIOS_STRING_MAX_LENGTH) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //
> -  // Two zeros following the last string.
> -  //
> -  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE9) +
> SlotDesignationStrLen + 1 + 1);
> -  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE9)
> +SlotDesignationStrLen + 1 + 1);
> -
> -  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_SLOTS;
> -  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE9);
> -  SmbiosRecord->Hdr.Handle = 0;
> -  SmbiosRecord->SlotDesignation = 1;
> -  SmbiosRecord->SlotType = ForType9InputData->SlotType;
> -  SmbiosRecord->SlotDataBusWidth = ForType9InputData-
> >SlotDataBusWidth;
> -  SmbiosRecord->CurrentUsage = ForType9InputData->SlotUsage;
> -  SmbiosRecord->SlotLength = ForType9InputData->SlotLength;
> -  SmbiosRecord->SlotID = ForType9InputData->SlotId;
> -
> -  //
> -  // Slot Characteristics
> -  //
> -  CopyMem ((UINT8 *) &SmbiosRecord->SlotCharacteristics1,(UINT8 *)
> &ForType9InputData->SlotCharacteristics,2);
> -  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
> -  UnicodeStrToAsciiStr(SlotDesignation, OptionalStrStart);
> -  //
> -  // Now we have got the full smbios record, call smbios protocol to add this
> record.
> -  //
> -  Status = AddSmbiosRecord (Smbios, &SmbiosHandle,
> (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
> -
> -  FreePool(SmbiosRecord);
> -  return Status;
> -}
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni
> deleted file mode 100644
> index 29bb4b9616..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturer.uni
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_BASE_BOARD_MANUFACTURER     #language en-US
> "Base Board Manufacturer"
> -#string STR_MISC_BASE_BOARD_PRODUCT_NAME     #language en-US
> "Base Board Product Name"
> -#string STR_MISC_BASE_BOARD_VERSION          #language en-US  "Base
> Board Version"
> -#string STR_MISC_BASE_BOARD_SERIAL_NUMBER    #language en-US
> "Base Board Serial Number"
> -#string STR_MISC_BASE_BOARD_ASSET_TAG        #language en-US  "Base
> Board Asset Tag"
> -#string STR_MISC_BASE_BOARD_CHASSIS_LOCATION #language en-US
> "Base Board Chassis Location"
> -
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni
> deleted file mode 100644
> index d06cdb67d2..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscBiosVendor.uni
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_BIOS_VENDOR           #language en-US  "Bios Vendor"
> -#string STR_MISC_BIOS_VERSION          #language en-US  "Bios Version"
> -#string STR_MISC_BIOS_RELEASE_DATE     #language en-US  "Bios Release
> Date"
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni
> deleted file mode 100644
> index 596af0e847..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscChassisManufacturer.uni
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_CHASSIS_MANUFACTURER  #language en-US  "Chassis
> Manufacturer"
> -#string STR_MISC_CHASSIS_VERSION       #language en-US  "Chassis
> Version"
> -#string STR_MISC_CHASSIS_SERIAL_NUMBER #language en-US  "Chassis
> Serial Number"
> -#string STR_MISC_CHASSIS_ASSET_TAG     #language en-US  "Chassis Asset
> Tag"
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni
> deleted file mode 100644
> index 601a140907..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscOemString.uni
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_OEM_STRING            #language en-US  "System Language
> String"
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> ator.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> ator.uni
> deleted file mode 100644
> index 57e9e5b6db..0000000000
> ---
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesign
> ator.uni
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR #language
> en-US  "Port Internal Connector"
> -#string STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR #language
> en-US  "Port External Connector"
> -#string STR_MISC_PORT_INTERNAL_KEYBOARD #language en-US  "J1A1"
> -#string STR_MISC_PORT_EXTERNAL_KEYBOARD #language en-US
> "Keyboard"
> -#string STR_MISC_PORT_INTERNAL_MOUSE   #language en-US  "J1A1"
> -#string STR_MISC_PORT_EXTERNAL_MOUSE   #language en-US  "Mouse"
> -#string STR_MISC_PORT_INTERNAL_COM1    #language en-US  "J2A1"
> -#string STR_MISC_PORT_EXTERNAL_COM1    #language en-US  "COM 1"
> -#string STR_MISC_PORT_INTERNAL_LPT1    #language en-US  "J4A2"
> -#string STR_MISC_PORT_EXTERNAL_LPT1    #language en-US  "LPT 1"
> -#string STR_MISC_PORT_INTERNAL_EXTENSION_POWER #language en-US
> "J5C1"
> -#string STR_MISC_PORT_EXTERNAL_EXTENSION_POWER #language en-US
> "Extension Power Header"
> -#string STR_MISC_PORT_INTERNAL_USB1    #language en-US  "JA5A1"
> -#string STR_MISC_PORT_EXTERNAL_USB1    #language en-US  "USB"
> -#string STR_MISC_PORT_INTERNAL_USB2    #language en-US  "J2A2"
> -#string STR_MISC_PORT_EXTERNAL_USB2    #language en-US  "USB"
> -#string STR_MISC_PORT_INTERNAL_NETWORK #language en-US  "JA5A1"
> -#string STR_MISC_PORT_EXTERNAL_NETWORK #language en-US  "RJ-45
> Type"
> -#string STR_MISC_PORT_INTERNAL_MIC     #language en-US  "J6A1"
> -#string STR_MISC_PORT_EXTERNAL_MIC     #language en-US  "Audio Mic In"
> -#string STR_MISC_PORT_INTERNAL_LINE_IN #language en-US  "J6A1"
> -#string STR_MISC_PORT_EXTERNAL_LINE_IN #language en-US  "Audio Line
> In"
> -#string STR_MISC_PORT_INTERNAL_LINE_OUT #language en-US  "J6A1"
> -#string STR_MISC_PORT_EXTERNAL_LINE_OUT #language en-US  "Audio
> Line Out"
> -#string STR_MISC_PORT_INTERNAL_FLOPPY  #language en-US  "J4H1"
> -#string STR_MISC_PORT_EXTERNAL_FLOPPY  #language en-US  "OnBoard
> Floppy Type"
> -#string STR_MISC_PORT_INTERNAL_IDE1    #language en-US  "J6H2"
> -#string STR_MISC_PORT_EXTERNAL_IDE1    #language en-US  "OnBoard
> Primary IDE"
> -#string STR_MISC_PORT_INTERNAL_IDE2    #language en-US  "J6H1"
> -#string STR_MISC_PORT_EXTERNAL_IDE2    #language en-US  "OnBoard
> Secondary IDE"
> -#string STR_MISC_PORT_INTERNAL_SOUND_IN1 #language en-US  "J8B1"
> -#string STR_MISC_PORT_EXTERNAL_SOUND_IN1 #language en-US
> "OnBoard Sound Input Type"
> -#string STR_MISC_PORT_INTERNAL_SOUND_IN2 #language en-US  "J6B1"
> -#string STR_MISC_PORT_EXTERNAL_SOUND_IN2 #language en-US
> "OnBoard Sound Input Type"
> -#string STR_MISC_PORT_INTERNAL_FRONT_PANEL #language en-US
> "J9G1"
> -#string STR_MISC_PORT_EXTERNAL_FRONT_PANEL #language en-US
> "Front Panel Header Type"
> -#string STR_MISC_PORT_INTERNAL_CPU_FAN #language en-US  "J2F1"
> -#string STR_MISC_PORT_EXTERNAL_CPU_FAN #language en-US  "CPU Fan
> Header"
> -#string STR_MISC_PORT_INTERNAL_FRONT_FAN #language en-US  "J9H3"
> -#string STR_MISC_PORT_EXTERNAL_FRONT_FAN #language en-US  "Front
> Chassis Fan"
> -#string STR_MISC_PORT_INTERNAL_REAR_FAN #language en-US  "J1B1"
> -#string STR_MISC_PORT_EXTERNAL_REAR_FAN #language en-US  "Rear
> Chassis Fan"
> -#string STR_MISC_PORT_INTERNAL_CONFIG_JUMPER #language en-US
> "J9H2"
> -#string STR_MISC_PORT_EXTERNAL_CONFIG_JUMPER #language en-US
> "Configuration Jumper"
> -#string STR_MISC_PORT_INTERNAL_AUDIO_PANEL #language en-US
> "J8A1"
> -#string STR_MISC_PORT_EXTERNAL_AUDIO_PANEL #language en-US
> "Audio Front Panel Header"
> -#string STR_MISC_PORT_INTERNAL_USB_PANEL #language en-US  "J9F1"
> -#string STR_MISC_PORT_EXTERNAL_USB_PANEL #language en-US  "USB
> Front Panel Header"
> -#string STR_MISC_PORT_INTERNAL_ATX_POWER #language en-US  "J2H1"
> -#string STR_MISC_PORT_EXTERNAL_ATX_POWER #language en-US  "ATX
> Power Header"
> -#string STR_MISC_PORT_INTERNAL_COM2       #language en-US     "J5A1"
> -#string STR_MISC_PORT_EXTERNAL_COM2       #language en-US     "COM 2"
> -#string STR_MISC_PORT_INTERNAL_USB3       #language en-US     "J1D3"
> -#string STR_MISC_PORT_EXTERNAL_USB3       #language en-US     "USB"
> -
> -
> diff --git a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni
> deleted file mode 100644
> index 1dd9ccbeed..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.uni
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_SUBCLASS_DRIVER_TITLE #language en-US  "Not used"
> -
> -#include "MiscBaseBoardManufacturer.uni"
> -#include "MiscBiosVendor.uni"
> -#include "MiscChassisManufacturer.uni"
> -#include "MiscOemString.uni"
> -#include "MiscPortInternalConnectorDesignator.uni"
> -#include "MiscSystemLanguageString.uni"
> -#include "MiscSystemManufacturer.uni"
> -#include "MiscSystemOptionString.uni"
> -#include "MiscSystemSlotDesignation.uni"
> -
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni
> deleted file mode 100644
> index 297cc3ef4b..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemLanguageString.uni
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_SYSTEM_LANGUAGE_STRING #language en-US  "System
> Language String"
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni
> deleted file mode 100644
> index 91ee077262..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemManufacturer.uni
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_SYSTEM_MANUFACTURER   #language en-US  "System
> Manufacturer"
> -#string STR_MISC_SYSTEM_PRODUCT_NAME   #language en-US  "System
> Product Name"
> -#string STR_MISC_SYSTEM_VERSION        #language en-US  "System
> Version"
> -#string STR_MISC_SYSTEM_SERIAL_NUMBER  #language en-US  "System
> Serial Number"
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni
> deleted file mode 100644
> index e82f71705a..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemOptionString.uni
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_SYSTEM_OPTION_STRING  #language en-US  "System
> Option String"
> diff --git
> a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni
> b/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni
> deleted file mode 100644
> index cc239ea020..0000000000
> --- a/EmulatorPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignation.uni
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -// *++
> -//
> -// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> -//
> -// SPDX-License-Identifier: BSD-2-Clause-Patent
> -//
> -// --*/
> -
> -/=#
> -
> -#langdef en-US "English"
> -
> -#string STR_MISC_SYSTEM_SLOT_DESIGNATION #language en-US  "System
> Slot Designation"
> -
> --
> 2.12.0.windows.1
> 
> 
> 


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

View/Reply Online (#43149): https://edk2.groups.io/g/devel/message/43149
Mute This Topic: https://groups.io/mt/32282295/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-