##  @file  MdePkg.dec
#
# This Package provides all definitions(including functions, MACROs, structures and library classes)
# and libraries instances, which are defined in MDE Specification.
# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of
# EFI1.10/UEFI2.0/UEFI2.1/PI1.0 and some Industry Standards.
#
# Copyright (c) 2007 - 2012, Intel Corporation.
#
# All rights reserved.
# This program and the accompanying materials are licensed and made available under
# the terms and conditions of the BSD License which accompanies this distribution.
# The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##


[Defines]
  DEC_SPECIFICATION              = 0x00010005
  PACKAGE_NAME                   = MdePkg
  PACKAGE_GUID                   = 1E73767F-8F52-4603-AEB4-F29B510B6766
  PACKAGE_VERSION                = 1.01


[Includes]
  Include

[Includes.Ia32]
  Include/Ia32

[Includes.X64]
  Include/X64

[Includes.IPF]
  Include/Ipf

[Includes.EBC]
  Include/Ebc

[LibraryClasses]
  ##  @libraryclass  Provides most usb APIs to support the Hid requests defined in Usb Hid 1.1 spec
  #                  and the standard requests defined in Usb 1.1 spec.
  ##
  UefiUsbLib|Include/Library/UefiUsbLib.h

  ##  @libraryclass  Provides a service to retrieve a pointer to the EFI Runtime Services Table.
  #                  Only available to DXE and UEFI module types.
  UefiRuntimeServicesTableLib|Include/Library/UefiRuntimeServicesTableLib.h

  ##  @libraryclass  Provides library functions for each of the UEFI Runtime Services.
  #                  Only available to DXE and UEFI module types.
  UefiRuntimeLib|Include/Library/UefiRuntimeLib.h

  ##  @libraryclass  Provides library functions for common UEFI operations.
  #                  Only available to DXE and UEFI module types.
  ##
  UefiLib|Include/Library/UefiLib.h

  ##  @libraryclass  Module entry point library for UEFI drivers, DXE Drivers, DXE SMM Driver and DXE Runtime Drivers
  UefiDriverEntryPoint|Include/Library/UefiDriverEntryPoint.h

  ##  @libraryclass  UEFI Decompress Library Functions defintion for UEFI compress algorithm.
  UefiDecompressLib|Include/Library/UefiDecompressLib.h

  ##  @libraryclass  Provides a service to retrieve a pointer to the EFI Boot Services Table.
  #                  Only available to DXE and UEFI module types.
  UefiBootServicesTableLib|Include/Library/UefiBootServicesTableLib.h

  ##  @libraryclass  Module entry point library for UEFI Applications.
  UefiApplicationEntryPoint|Include/Library/UefiApplicationEntryPoint.h

  ##  @libraryclass  Provides calibrated delay and performance counter services.
  TimerLib|Include/Library/TimerLib.h

  ##  @libraryclass  Provides library functions to access SMBUS devices.
  #                  Libraries of this class must be ported to a specific SMBUS controller.
  SmbusLib|Include/Library/SmbusLib.h

  ##  @libraryclass  Provides the functions to submit Scsi commands defined in SCSI-2 specification for scsi device.
  UefiScsiLib|Include/Library/UefiScsiLib.h

  ##  @libraryclass  Provides a service to publish discovered system resources.
  ResourcePublicationLib|Include/Library/ResourcePublicationLib.h

  ##  @libraryclass  Provides services to log status code records.
  ReportStatusCodeLib|Include/Library/ReportStatusCodeLib.h

  ##  @libraryclass  Provides services to print a formatted string to a buffer.
  #                  All combinations of Unicode and ASCII strings are supported.
  ##
  PrintLib|Include/Library/PrintLib.h

  ##  @libraryclass  Provides services to send progress/error codes to a POST card.
  PostCodeLib|Include/Library/PostCodeLib.h

  ##  @libraryclass  Provides services to log the execution times and retrieve them later.
  PerformanceLib|Include/Library/PerformanceLib.h

  ##  @libraryclass  Provides a service to retrieve a pointer to the PEI Services Table.
  PeiServicesTablePointerLib|Include/Library/PeiServicesTablePointerLib.h

  ##  @libraryclass  Provides library functions for all PEI Services.
  PeiServicesLib|Include/Library/PeiServicesLib.h

  ##  @libraryclass  Module entry point library for PEIM.
  PeimEntryPoint|Include/Library/PeimEntryPoint.h

  ##  @libraryclass  Module entry point library for PEI core.
  PeiCoreEntryPoint|Include/Library/PeiCoreEntryPoint.h

  ##  @libraryclass  Provides services to load and relocate a PE/COFF image.
  PeCoffLib|Include/Library/PeCoffLib.h
  ##  @libraryclass  Provides extra action services for unloading and relocating a PE/COFF image on some specific platform such
  ## as NT32 emulator.
  PeCoffExtraActionLib|Include/Library/PeCoffExtraActionLib.h

  ##  @libraryclass  Provides a service to retrieve the PE/COFF entry point from a PE/COFF image.
  PeCoffGetEntryPointLib|Include/Library/PeCoffGetEntryPointLib.h

  ##  @libraryclass  Provides services to access PCI Configuration Space on a platform with multiple PCI segments.
  PciSegmentLib|Include/Library/PciSegmentLib.h

  ##  @libraryclass  Provides services to access PCI Configuration Space.
  PciLib|Include/Library/PciLib.h

  ##  @libraryclass  Provides services to access PCI Configuration Space using the MMIO PCI Express window.
  PciExpressLib|Include/Library/PciExpressLib.h

  ##  @libraryclass  Provides services to access PCI Configuration Space using the I/O ports 0xCF8 and 0xCFC.
  PciCf8Lib|Include/Library/PciCf8Lib.h

  ##  @libraryclass  Provides library services to get and set Platform Configuration Database entries.
  PcdLib|Include/Library/PcdLib.h

  ##  @libraryclass  Provides services to allocate and free memory buffers of various memory types and alignments.
  MemoryAllocationLib|Include/Library/MemoryAllocationLib.h

  ##  @libraryclass  Provide services to access I/O Ports and MMIO registers.
  IoLib|Include/Library/IoLib.h

  ##  @libraryclass  Provides services to create and parse HOBs. Only available for PEI and DXE module types.
  HobLib|Include/Library/HobLib.h

  ##  @libraryclass  Provides a service to retrieve a pointer to the DXE Services Table.
  #                  Only available to DXE module types.
  ##
  DxeServicesTableLib|Include/Library/DxeServicesTableLib.h

  ##  @libraryclass  Module entry point library for DXE core.
  DxeCoreEntryPoint|Include/Library/DxeCoreEntryPoint.h

  ##  @libraryclass  Provides library functions to construct and parse UEFI Device Paths.
  DevicePathLib|Include/Library/DevicePathLib.h

  ##  @libraryclass  Provides services to print debug and assert messages to a debug output device.
  DebugLib|Include/Library/DebugLib.h

  ##  @libraryclass  Provides CPU architecture specific functions that can not be defined in the Base Library
  #                  due to dependencies on the PAL Library
  ##
  CpuLib|Include/Library/CpuLib.h

  ##  @libraryclass  Provides services to maintain instruction and data caches.
  CacheMaintenanceLib|Include/Library/CacheMaintenanceLib.h

  ##  @libraryclass  Provides copy memory, fill memory, zero memory, and GUID functions.
  BaseMemoryLib|Include/Library/BaseMemoryLib.h

  ##  @libraryclass  Provides string functions, linked list functions, math functions, synchronization functions
  #                  and CPU architecture specific functions.
  ##
  BaseLib|Include/Library/BaseLib.h

  ##  @libraryclass  This library provides common functions to process the different guided section data.
  ExtractGuidedSectionLib|Include/Library/ExtractGuidedSectionLib.h

  ##  @libraryclass  Provides three common serial I/O port functions.
  SerialPortLib|Include/Library/SerialPortLib.h

  ##  @libraryclass  Provides a set of PI library functions and macros for DXE phase.
  DxeServicesLib|Include/Library/DxeServicesLib.h

  ##  @libraryclass  Provides synchronization functions.
  ##
  SynchronizationLib|Include/Library/SynchronizationLib.h

[LibraryClasses.IPF]
  ##  @libraryclass  The SAL Library provides a service to make a SAL CALL.
  SalLib|Include/Library/SalLib.h

  ##  @libraryclass  Provides library services to make PAL Calls.
  PalLib|Include/Library/PalLib.h

[Guids]
  #
  # GUID defined in UEFI2.1/UEFI2.0/EFI1.1
  #
  ## Include/Guid/GlobalVariable.h
  gEfiGlobalVariableGuid         = { 0x8BE4DF61, 0x93CA, 0x11D2, { 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C }}

  ## Include/Guid/PcAnsi.h
  gEfiVT100PlusGuid              = { 0x7BAEC70B, 0x57E0, 0x4C76, { 0x8E, 0x87, 0x2F, 0x9E, 0x28, 0x08, 0x83, 0x43 }}

  ## Include/Guid/PcAnsi.h
  gEfiVT100Guid                  = { 0xDFA66065, 0xB419, 0x11D3, { 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Guid/PcAnsi.h
  gEfiPcAnsiGuid                 = { 0xE0C14753, 0xF9BE, 0x11D2, { 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Guid/PcAnsi.h
  gEfiVTUTF8Guid                 = { 0xAD15A0D6, 0x8BEC, 0x4ACF, { 0xA0, 0x73, 0xD0, 0x1D, 0xE7, 0x7E, 0x2D, 0x88 }}

  ## Include/Guid/PcAnsi.h
  gEfiUartDevicePathGuid         = { 0x37499a9d, 0x542f, 0x4c89, { 0xa0, 0x26, 0x35, 0xda, 0x14, 0x20, 0x94, 0xe4 }}

  ## Include/Guid/PcAnsi.h
  gEfiSasDevicePathGuid          = { 0xd487ddb4, 0x008b, 0x11d9, { 0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d }}

  ## Include/Guid/Gpt.h
  gEfiPartTypeLegacyMbrGuid      = { 0x024DEE41, 0x33E7, 0x11D3, { 0x9D, 0x69, 0x00, 0x08, 0xC7, 0x81, 0xF3, 0x9F }}

  ## Include/Guid/Gpt.h
  gEfiPartTypeSystemPartGuid     = { 0xC12A7328, 0xF81F, 0x11D2, { 0xBA, 0x4B, 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B }}

  ## Include/Guid/Gpt.h
  gEfiPartTypeUnusedGuid         = { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}

  ## Include/Guid/DebugImageInfoTable.h
  gEfiDebugImageInfoTableGuid    = { 0x49152E77, 0x1ADA, 0x4764, { 0xB7, 0xA2, 0x7A, 0xFE, 0xFE, 0xD9, 0x5E, 0x8B }}

  ## Include/Guid/Acpi.h
  gEfiAcpiTableGuid              = { 0x8868E871, 0xE4F1, 0x11D3, { 0xBC, 0x22, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}

  ## Include/Guid/Acpi.h
  gEfiAcpi20TableGuid            = { 0x8868E871, 0xE4F1, 0x11D3, { 0xBC, 0x22, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}

  ## Include/Guid/Acpi.h
  gEfiAcpi10TableGuid            = { 0xEB9D2D30, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Guid/SmBios.h
  gEfiSmbiosTableGuid            = { 0xEB9D2D31, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Guid/Mps.h
  gEfiMpsTableGuid               = { 0xEB9D2D2F, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Guid/SalSystemTable.h
  gEfiSalSystemTableGuid         = { 0xEB9D2D32, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/AuthenticationInfo.h
  gEfiAuthenticationChapLocalGuid = { 0xC280C73E, 0x15CA, 0x11DA, { 0xB0, 0xCA, 0x00, 0x10, 0x83, 0xFF, 0xCA, 0x4D }}

  ## Include/Protocol/AuthenticationInfo.h
  gEfiAuthenticationChapRadiusGuid = { 0xD6062B50, 0x15CA, 0x11DA, { 0x92, 0x19, 0x00, 0x10, 0x83, 0xFF, 0xCA, 0x4D }}

  ## Include/Guid/FileSystemVolumeLabelInfo.h
  gEfiFileSystemVolumeLabelInfoIdGuid = { 0xDB47D7D3, 0xFE81, 0x11D3, { 0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Guid/FileSystemInfo.h
  gEfiFileSystemInfoGuid         = { 0x09576E93, 0x6D3F, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Guid/FileInfo.h
  gEfiFileInfoGuid               = { 0x09576E92, 0x6D3F, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/Bis.h
  gBootObjectAuthorizationParmsetGuid = { 0xEDD35E31, 0x07B9, 0x11D2, { 0x83, 0xA3, 0x00, 0xA0, 0xC9, 0x1F, 0xAD, 0xCF }}

  ## Include/Protocol/PlatformToDriverConfiguration.h
  gEfiPlatformToDriverConfigurationClpGuid = { 0x345ecc0e, 0xcb6, 0x4b75, { 0xbb, 0x57, 0x1b, 0x12, 0x9c, 0x47, 0x33,0x3e }}

  ## Include/Guid/HiiKeyBoardLayout.h
  gEfiHiiKeyBoardLayoutGuid      = { 0x14982a4f, 0xb0ed, 0x45b8, { 0xa8, 0x11, 0x5a, 0x7a, 0x9b, 0xc2, 0x32, 0xdf }}

  ## Include/Protocol/Hash.h
  gEfiHashAlgorithmMD5Guid       = { 0x0AF7C79C, 0x65B5, 0x4319, { 0xB0, 0xAE, 0x44, 0xEC, 0x48, 0x4E, 0x4A, 0xD7 }}

  ## Include/Protocol/Hash.h
  gEfiHashAlgorithmSha512Guid    = { 0xCAA4381E, 0x750C, 0x4770, { 0xB8, 0x70, 0x7A, 0x23, 0xB4, 0xE4, 0x21, 0x30 }}

  ## Include/Protocol/Hash.h
  gEfiHashAlgorithmSha384Guid    = { 0xEFA96432, 0xDE33, 0x4DD2, { 0xAE, 0xE6, 0x32, 0x8C, 0x33, 0xDF, 0x77, 0x7A }}

  ## Include/Protocol/Hash.h
  gEfiHashAlgorithmSha256Guid    = { 0x51AA59DE, 0xFDF2, 0x4EA3, { 0xBC, 0x63, 0x87, 0x5F, 0xB7, 0x84, 0x2E, 0xE9 }}

  ## Include/Protocol/Hash.h
  gEfiHashAlgorithmSha224Guid    = { 0x8DF01A06, 0x9BD5, 0x4BF7, { 0xB0, 0x21, 0xDB, 0x4F, 0xD9, 0xCC, 0xF4, 0x5B }}

  ## Include/Protocol/Hash.h
  gEfiHashAlgorithmSha1Guid      = { 0x2AE9D80F, 0x3FB2, 0x4095, { 0xB7, 0xB1, 0xE9, 0x31, 0x57, 0xB9, 0x46, 0xB6 }}

  ## Include/Guid/EventGroup.h
  gEfiEventReadyToBootGuid       = { 0x7CE88FB3, 0x4BD7, 0x4679, { 0x87, 0xA8, 0xA8, 0xD8, 0xDE, 0xE5, 0x0D, 0x2B }}

  ## Include/Guid/EventGroup.h
  gEfiEventMemoryMapChangeGuid   = { 0x78BEE926, 0x692F, 0x48FD, { 0x9E, 0xDB, 0x01, 0x42, 0x2E, 0xF0, 0xD7, 0xAB }}

  ## Include/Guid/EventGroup.h
  gEfiEventVirtualAddressChangeGuid = { 0x13FA7698, 0xC831, 0x49C7, { 0x87, 0xEA, 0x8F, 0x43, 0xFC, 0xC2, 0x51, 0x96 }}

  ## Include/Guid/EventGroup.h
  gEfiEventExitBootServicesGuid  = { 0x27ABF055, 0xB1B8, 0x4C26, { 0x80, 0x48, 0x74, 0x8F, 0x37, 0xBA, 0xA2, 0xDF }}

  ## Include/Protocol/DebugPort.h
  gEfiDebugPortVariableGuid      = { 0xEBA4E8D2, 0x3858, 0x41EC, { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 }}

  ## Include/Protocol/DebugPort.h
  gEfiDebugPortDevicePathGuid    = { 0xEBA4E8D2, 0x3858, 0x41EC, { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 }}

  ## Include/Guid/HiiPlatformSetupFormset.h
  gEfiHiiPlatformSetupFormsetGuid = { 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x04, 0x0e }}

  ## Include/Guid/MemoryOverwriteControl.h
  gEfiMemoryOverwriteControlDataGuid = { 0xe20939be, 0x32d4, 0x41be, {0xa1, 0x50, 0x89, 0x7f, 0x85, 0xd4, 0x98, 0x29 }}

  #
  # GUID defined in PI1.0
  #
  ## Include/Guid/AprioriFileName.h
  gPeiAprioriFileNameGuid        = { 0x1b45cc0a, 0x156a, 0x428a, { 0XAF, 0x62,  0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6 }}

  ## Include/Guid/Apriori.h
  gAprioriGuid                   = { 0xFC510EE7, 0xFFDC, 0x11D4, { 0xBD, 0x41, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}

  ## Include/Guid/FirmwareFileSystem2.h
  gEfiFirmwareFileSystem2Guid     = { 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 }}

  ## Include/Guid/FirmwareFileSystem2.h
  gEfiFirmwareVolumeTopFileGuid  = { 0x1BA0062E, 0xC779, 0x4582, { 0x85, 0x66, 0x33, 0x6A, 0xE8, 0xF7, 0x8F, 0x09 }}

  ## Include/Guid/MemoryAllocationHob.h
  gEfiHobMemoryAllocModuleGuid   = { 0xF8E21975, 0x0899, 0x4F58, { 0xA4, 0xBE, 0x55, 0x25, 0xA9, 0xC6, 0xD7, 0x7A }}

  ## Include/Guid/MemoryAllocationHob.h
  gEfiHobMemoryAllocStackGuid    = { 0x4ED4BF27, 0x4092, 0x42E9, { 0x80, 0x7D, 0x52, 0x7B, 0x1D, 0x00, 0xC9, 0xBD }}

  ## Include/Guid/MemoryAllocationHob.h
  gEfiHobMemoryAllocBspStoreGuid = { 0x564B33CD, 0xC92A, 0x4593, { 0x90, 0xBF, 0x24, 0x73, 0xE4, 0x3C, 0x63, 0x22 }}

  ## Include/Guid/EventLegacyBios.h
  gEfiEventLegacyBootGuid        = { 0x2A571201, 0x4966, 0x47F6, { 0x8B, 0x86, 0xF3, 0x1E, 0x41, 0xF3, 0x2F, 0x10 }}

  ## Include/Guid/HobList.h
  gEfiHobListGuid                = { 0x7739F24C, 0x93D7, 0x11D4, { 0x9A, 0x3A, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Guid/DxeServices.h
  gEfiDxeServicesTableGuid       = { 0x05AD34BA, 0x6F02, 0x4214, { 0x95, 0x2E, 0x4D, 0xA0, 0x39, 0x8E, 0x2B, 0xB9 }}

  ## Include/Guid/MdePkgTokenSpace.h
  gEfiMdePkgTokenSpaceGuid       = { 0x914AEBE7, 0x4635, 0x459b, { 0xAA, 0x1C, 0x11, 0xE2, 0x19, 0xB0, 0x3A, 0x10 }}

  ## Include/Guid/HardwareErrorVariable.h
  gEfiHardwareErrorVariableGuid  = { 0x414E6BDD, 0xE47B, 0x47cc, { 0xB2, 0x44, 0xBB, 0x61, 0x02, 0x0C, 0xF5, 0x16 }}

  #
  # GUID defined in PI1.2
  #

  ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Ide interface.
  ## Include/Protocol/DiskInfo.h
  gEfiDiskInfoIdeInterfaceGuid   = { 0x5E948FE3, 0x26D3, 0x42B5, { 0xAF, 0x17, 0x61, 0x02, 0x87, 0x18, 0x8D, 0xEC }}

  ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Scsi interface.
  ## Include/Protocol/DiskInfo.h
  gEfiDiskInfoScsiInterfaceGuid  = { 0x08F74BAA, 0xEA36, 0x41D9, { 0x95, 0x21, 0x21, 0xA7, 0x0F, 0x87, 0x80, 0xBC }}

  ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Usb interface.
  ## Include/Protocol/DiskInfo.h
  gEfiDiskInfoUsbInterfaceGuid   = { 0xCB871572, 0xC11A, 0x47B5, { 0xB4, 0x92, 0x67, 0x5E, 0xAF, 0xA7, 0x77, 0x27 }}

  ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Ahci interface.
  ## Include/Protocol/DiskInfo.h
  gEfiDiskInfoAhciInterfaceGuid  = { 0x9e498932, 0x4abc, 0x45af, { 0xa3, 0x4d, 0x02, 0x47, 0x78, 0x7b, 0xe7, 0xc6 }}

  ## Include/Guid/StatusCodeDataTypeId.h
  gEfiStatusCodeDataTypeStringGuid = { 0x92D11080, 0x496F, 0x4D95, { 0xBE, 0x7E, 0x03, 0x74, 0x88, 0x38, 0x2B, 0x0A }}

  ## Include/Guid/StatusCodeDataTypeId.h
  gEfiStatusCodeSpecificDataGuid   = { 0x335984BD, 0xE805, 0x409A, { 0xB8, 0xF8, 0xD2, 0x7E, 0xCE, 0x5F, 0xF7, 0xA6 }}

[Ppis]
  ## Include/Ppi/MasterBootMode.h
  gEfiPeiMasterBootModePpiGuid = { 0x7408d748, 0xfc8c, 0x4ee6, {0x92, 0x88, 0xc4, 0xbe, 0xc0, 0x92, 0xa4, 0x10 } }

  ## Include/Ppi/DxeIpl.h
  gEfiDxeIplPpiGuid = {0xae8ce5d, 0xe448, 0x4437, {0xa8, 0xd7, 0xeb, 0xf5, 0xf1, 0x94, 0xf7, 0x31 }}

  ## Include/Ppi/MemoryDiscovered.h
  gEfiPeiMemoryDiscoveredPpiGuid = {0xf894643d, 0xc449, 0x42d1, {0x8e, 0xa8, 0x85, 0xbd, 0xd8, 0xc6, 0x5b, 0xde } }

  ## Include/Ppi/BootInRecoveryMode.h
  gEfiPeiBootInRecoveryModePpiGuid = { 0x17ee496a, 0xd8e4, 0x4b9a, {0x94, 0xd1, 0xce, 0x82, 0x72, 0x30, 0x8, 0x50 } }

  ## Include/Ppi/EndOfPeiPhase.h
  gEfiEndOfPeiSignalPpiGuid = {0x605EA650, 0xC65C, 0x42e1, {0xBA, 0x80, 0x91, 0xA5, 0x2A, 0xB6, 0x18, 0xC6 } }

  ## Include/Ppi/Reset.h
  gEfiPeiResetPpiGuid = { 0xef398d58, 0x9dfd, 0x4103, {0xbf, 0x94, 0x78, 0xc6, 0xf4, 0xfe, 0x71, 0x2f } }

  ## Include/Ppi/StatusCode.h
  gEfiPeiStatusCodePpiGuid = { 0x229832d3, 0x7a30, 0x4b36, {0xb8, 0x27, 0xf4, 0xc, 0xb7, 0xd4, 0x54, 0x36 } }

  ## Include/Ppi/Security2.h
  gEfiPeiSecurity2PpiGuid = { 0xdcd0be23, 0x9586, 0x40f4, { 0xb6, 0x43, 0x6, 0x52, 0x2c, 0xed, 0x4e, 0xde } }

  ## Include/Ppi/TemporaryRamSupport.h
  gEfiTemporaryRamSupportPpiGuid = { 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }

  ## Include/Ppi/CpuIo.h
  gEfiPeiCpuIoPpiInstalledGuid = { 0xe6af1f7b, 0xfc3f, 0x46da, {0xa8, 0x28, 0xa3, 0xb4, 0x57, 0xa4, 0x42, 0x82 } }

  ## Include/Ppi/PciCfg2.h
  gEfiPciCfg2PpiGuid = { 0x57a449a, 0x1fdc, 0x4c06, { 0xbf, 0xc9, 0xf5, 0x3f, 0x6a, 0x99, 0xbb, 0x92 } }

  ## Include/Ppi/Stall.h
  gEfiPeiStallPpiGuid = { 0x1f4c6f90, 0xb06b, 0x48d8, {0xa2, 0x01, 0xba, 0xe5, 0xf1, 0xcd, 0x7d, 0x56 } }

  ## Include/Ppi/ReadOnlyVariable2.h
  gEfiPeiReadOnlyVariable2PpiGuid = { 0x2ab86ef5, 0xecb5, 0x4134, { 0xb5, 0x56, 0x38, 0x54, 0xca, 0x1f, 0xe1, 0xb4 } }

  ## Include/Ppi/SecPlatformInformation.h
  gEfiSecPlatformInformationPpiGuid = { 0x6f8c2b35, 0xfef4, 0x448d, {0x82, 0x56, 0xe1, 0x1b, 0x19, 0xd6, 0x10, 0x77 } }

  ## Include/Ppi/LoadImage.h
  gEfiPeiLoadedImagePpiGuid = { 0xc1fcd448, 0x6300, 0x4458, { 0xb8, 0x64, 0x28, 0xdf, 0x1, 0x53, 0x64, 0xbc } }

  ## Include/Ppi/Smbus2.h
  gEfiPeiSmbus2PpiGuid = { 0x9ca93627, 0xb65b, 0x4324, { 0xa2, 0x2, 0xc0, 0xb4, 0x61, 0x76, 0x45, 0x43 } }

  ## Include/Ppi/FirmwareVolumeInfo.h
  gEfiPeiFirmwareVolumeInfoPpiGuid = { 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }

  ## Include/Ppi/LoadFile.h
  gEfiPeiLoadFilePpiGuid = { 0xb9e0abfe, 0x5979, 0x4914, { 0x97, 0x7f, 0x6d, 0xee, 0x78, 0xc2, 0x78, 0xa6 } }

  ## Include/Ppi/Decompress.h
  gEfiPeiDecompressPpiGuid = { 0x1a36e4e7, 0xfab6, 0x476a, { 0x8e, 0x75, 0x69, 0x5a, 0x5, 0x76, 0xfd, 0xd7 } }

  ## Include/Ppi/Pcd.h
  gPcdPpiGuid = { 0x6e81c58, 0x4ad7, 0x44bc, { 0x83, 0x90, 0xf1, 0x2, 0x65, 0xf7, 0x24, 0x80 } }

  #
  # PPIs defined in PI 1.2.
  #

  ## Include/Ppi/RecoveryModule.h
  gEfiPeiRecoveryModulePpiGuid       = { 0xFB6D9542, 0x612D, 0x4f45, { 0x87, 0x2f, 0x5c, 0xff, 0x52, 0xe9, 0x3d, 0xcf }}

  ## Include/Ppi/DeviceRecoveryModule.h
  gEfiPeiDeviceRecoveryModulePpiGuid = { 0x0DE2CE25, 0x446A, 0x45a7, { 0xBF, 0xC9, 0x37, 0xDA, 0x26, 0x34, 0x4B, 0x37 }}

  ## Include/Ppi/BlockIo.h
  gEfiPeiVirtualBlockIoPpiGuid       = { 0x695d8aa1, 0x42ee, 0x4c46, { 0x80, 0x5c, 0x6e, 0xa6, 0xbc, 0xe7, 0x99, 0xe3 }}

  ## Include/Ppi/S3Resume.h
  gEfiPeiS3ResumePpiGuid             = { 0x4426CCB2, 0xE684, 0x4a8a, { 0xae, 0x40, 0x20, 0xd4, 0xb0, 0x25, 0xb7, 0x10 }}

[Protocols]
  #
  # Protocols defined in PI1.0.
  #

  ## Include/Protocol/Bds.h
  gEfiBdsArchProtocolGuid        = { 0x665E3FF6, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/Cpu.h
  gEfiCpuArchProtocolGuid        = { 0x26BACCB1, 0x6F42, 0x11D4, { 0xBC, 0xE7, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}

  ## Include/Protocol/Metronome.h
  gEfiMetronomeArchProtocolGuid  = { 0x26BACCB2, 0x6F42, 0x11D4, { 0xBC, 0xE7, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}

  ## Include/Protocol/MonotonicCounter.h
  gEfiMonotonicCounterArchProtocolGuid = { 0x1DA97072, 0xBDDC, 0x4B30, { 0x99, 0xF1, 0x72, 0xA0, 0xB5, 0x6F, 0xFF, 0x2A }}

  ## Include/Protocol/RealTimeClock.h
  gEfiRealTimeClockArchProtocolGuid = { 0x27CFAC87, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/Reset.h
  gEfiResetArchProtocolGuid      = { 0x27CFAC88, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/Runtime.h
  gEfiRuntimeArchProtocolGuid    = { 0xb7dfb4e1, 0x052f, 0x449f, { 0x87, 0xbe, 0x98, 0x18, 0xfc, 0x91, 0xb7, 0x33 }}

  ## Include/Protocol/Security.h
  gEfiSecurityArchProtocolGuid   = { 0xA46423E3, 0x4617, 0x49F1, { 0xB9, 0xFF, 0xD1, 0xBF, 0xA9, 0x11, 0x58, 0x39 }}

  ## Include/Protocol/SecurityPolicy.h
  gEfiSecurityPolicyProtocolGuid = { 0x78E4D245, 0xCD4D, 0x4A05, { 0xA2, 0xBA, 0x47, 0x43, 0xE8, 0x6C, 0xFC, 0xAB }}

  ## Include/Protocol/Timer.h
  gEfiTimerArchProtocolGuid      = { 0x26BACCB3, 0x6F42, 0x11D4, { 0xBC, 0xE7, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}

  ## Include/Protocol/VariableWrite.h
  gEfiVariableWriteArchProtocolGuid = { 0x6441F818, 0x6362, 0x4E44, { 0xB5, 0x70, 0x7D, 0xBA, 0x31, 0xDD, 0x24, 0x53 }}

  ## Include/Protocol/Variable.h
  gEfiVariableArchProtocolGuid   = { 0x1E5668E2, 0x8481, 0x11D4, { 0xBC, 0xF1, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}

  ## Include/Protocol/WatchdogTimer.h
  gEfiWatchdogTimerArchProtocolGuid = { 0x665E3FF5, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/StatusCode.h
  gEfiStatusCodeRuntimeProtocolGuid = { 0xD2B2B828, 0x0826, 0x48A7, { 0xB3, 0xDF, 0x98, 0x3C, 0x00, 0x60, 0x24, 0xF0 }}

  ## Include/Protocol/SmbusHc.h
  gEfiSmbusHcProtocolGuid        = {0xe49d33ed, 0x513d, 0x4634, { 0xb6, 0x98, 0x6f, 0x55, 0xaa, 0x75, 0x1c, 0x1b} }

  ## Include/Protocol/FirmwareVolume2.h
  gEfiFirmwareVolume2ProtocolGuid = { 0x220e73b6, 0x6bdb, 0x4413, { 0x84, 0x5, 0xb9, 0x74, 0xb1, 0x8, 0x61, 0x9a } }

  ## Include/Protocol/FirmwareVolumeBlock.h
  gEfiFirmwareVolumeBlockProtocolGuid = { 0xDE28BC59, 0x6228, 0x41BD, { 0xBD, 0xF6, 0xA3, 0xB9, 0xAD, 0xB5, 0x8D, 0xA1 }}

  ## Include/Protocol/Capsule.h
  gEfiCapsuleArchProtocolGuid    = { 0x5053697E, 0x2CBC, 0x4819, { 0x90, 0xD9, 0x05, 0x80, 0xDE, 0xEE, 0x57, 0x54 }}

  #
  # Protocols defined in PI 1.2.
  #

  ## Include/Protocol/MpService.h
  gEfiMpServiceProtocolGuid = { 0x3fdda605, 0xa76e, 0x4f46, { 0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08 }}

  ## Include/Protocol/PciHostBridgeResourceAllocation.h
  gEfiPciHostBridgeResourceAllocationProtocolGuid = { 0xCF8034BE, 0x6768, 0x4d8b, { 0xb7, 0x39, 0x7c, 0xce, 0x68, 0x3a, 0x9f, 0xbe }}

  ## Include/Protocol/PciPlatform.h
  gEfiPciPlatformProtocolGuid    = { 0x07d75280, 0x27d4, 0x4d69, { 0x90, 0xd0, 0x56, 0x43, 0xe2, 0x38, 0xb3, 0x41 }}

  ## Include/Protocol/IncompatiblePciDeviceSupport.h
  gEfiIncompatiblePciDeviceSupportProtocolGuid = { 0xeb23f55a, 0x7863, 0x4ac2, { 0x8d, 0x3d, 0x95, 0x65, 0x35, 0xde, 0x03, 0x75 }}

  ## Include/Protocol/PciHotPlugInit.h
  gEfiPciHotPlugInitProtocolGuid = { 0xaa0e8bc1, 0xdabc, 0x46b0, { 0xa8, 0x44, 0x37, 0xb8, 0x16, 0x9b, 0x2b, 0xea }}

  ## This protocol is used to add or remove all PCI child devices on the PCI root bridge.
  #  Include/Protocol/PciHotPlugRequest.h
  gEfiPciHotPlugRequestProtocolGuid = { 0x19CB87AB, 0x2CB9, 0x4665, { 0x83, 0x60, 0xDD, 0xCF, 0x60, 0x54, 0xF7, 0x9D }}

  ## Include/Protocol/IdeControllerInit.h
  gEfiIdeControllerInitProtocolGuid = { 0xa1e37052, 0x80d9, 0x4e65, { 0xa3, 0x17, 0x3e, 0x9a, 0x55, 0xc4, 0x3e, 0xc9 }}

  ## Disk Info protocol is used to export Inquiry Data for a drive.
  #  Include/Protocol/DiskInfo.h
  gEfiDiskInfoProtocolGuid       = { 0xD432A67F, 0x14DC, 0x484B, { 0xB3, 0xBB, 0x3F, 0x02, 0x91, 0x84, 0x93, 0x27 }}

  #
  # Protocols defined in UEFI2.1/UEFI2.0/EFI1.1
  #

  ## Include/Protocol/DebugPort.h
  gEfiDebugPortProtocolGuid      = { 0xEBA4E8D2, 0x3858, 0x41EC, { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 }}

  ## Include/Protocol/DebugSupport.h
  gEfiDebugSupportProtocolGuid   = { 0x2755590C, 0x6F3C, 0x42FA, { 0x9E, 0xA4, 0xA3, 0xBA, 0x54, 0x3C, 0xDA, 0x25 }}

  ## Include/Protocol/Decompress.h
  gEfiDecompressProtocolGuid     = { 0xD8117CFE, 0x94A6, 0x11D4, { 0x9A, 0x3A, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/DeviceIo.h
  gEfiDeviceIoProtocolGuid       = { 0xAF6AC311, 0x84C3, 0x11D2, { 0x8E, 0x3C, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/DevicePath.h
  gEfiDevicePathProtocolGuid     = { 0x09576E91, 0x6D3F, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/DevicePathFromText.h
  gEfiDevicePathFromTextProtocolGuid = { 0x05C99A21, 0xC70F, 0x4AD2, { 0x8A, 0x5F, 0x35, 0xDF, 0x33, 0x43, 0xF5, 0x1E }}

  ## Include/Protocol/DevicePathToText.h
  gEfiDevicePathToTextProtocolGuid = { 0x8B843E20, 0x8132, 0x4852, { 0x90, 0xCC, 0x55, 0x1A, 0x4E, 0x4A, 0x7F, 0x1C }}

  ## Include/Protocol/DevicePathUtilities.h
  gEfiDevicePathUtilitiesProtocolGuid = { 0x0379BE4E, 0xD706, 0x437D, { 0xB0, 0x37, 0xED, 0xB8, 0x2F, 0xB7, 0x72, 0xA4 }}

  ## Include/Protocol/DriverBinding.h
  gEfiDriverBindingProtocolGuid  = { 0x18A031AB, 0xB443, 0x4D1A, { 0xA5, 0xC0, 0x0C, 0x09, 0x26, 0x1E, 0x9F, 0x71 }}

  ## Include/Protocol/PlatformDriverOverride.h
  gEfiPlatformDriverOverrideProtocolGuid = { 0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }

  ## Include/Protocol/DriverFamilyOverride.h
  gEfiDriverFamilyOverrideProtocolGuid = {0xb1ee129e, 0xda36, 0x4181, { 0x91, 0xf8, 0x4, 0xa4, 0x92, 0x37, 0x66, 0xa7 }}

  ## Include/Protocol/BusSpecificDriverOverride.h
  gEfiBusSpecificDriverOverrideProtocolGuid = { 0x3BC1B285, 0x8A15, 0x4A82, { 0xAA, 0xBF, 0x4D, 0x7D, 0x13, 0xFB, 0x32, 0x65 }}

  ## Include/Protocol/DriverDiagnostics2.h
  gEfiDriverDiagnostics2ProtocolGuid = { 0x4D330321, 0x025F, 0x4AAC, { 0x90, 0xD8, 0x5E, 0xD9, 0x00, 0x17, 0x3B, 0x63 }}

  ## Include/Protocol/DriverDiagnostics.h
  gEfiDriverDiagnosticsProtocolGuid = { 0x0784924F, 0xE296, 0x11D4, { 0x9A, 0x49, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/ComponentName2.h
  gEfiComponentName2ProtocolGuid = { 0x6A7A5CFF, 0xE8D9, 0x4F70, { 0xBA, 0xDA, 0x75, 0xAB, 0x30, 0x25, 0xCE, 0x14 }}

  ## Include/Protocol/ComponentName.h
  gEfiComponentNameProtocolGuid  = { 0x107A772C, 0xD5E1, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/DriverConfiguration2.h
  gEfiDriverConfiguration2ProtocolGuid = { 0xBFD7DC1D, 0x24F1, 0x40D9, { 0x82, 0xE7, 0x2E, 0x09, 0xBB, 0x6B, 0x4E, 0xBE }}

  ## Include/Protocol/DriverConfiguration.h
  gEfiDriverConfigurationProtocolGuid = { 0x107A772B, 0xD5E1, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/PlatformToDriverConfiguration.h
  gEfiPlatformToDriverConfigurationProtocolGuid = { 0x642cd590, 0x8059, 0x4c0a, { 0xa9, 0x58, 0xc5, 0xec, 0x7, 0xd2, 0x3c, 0x4b } }

  ## Include/Protocol/DriverSupportedEfiVersion.h
  gEfiDriverSupportedEfiVersionProtocolGuid = { 0x5c198761, 0x16a8, 0x4e69, { 0x97, 0x2c, 0x89, 0xd6, 0x79, 0x54, 0xf8, 0x1d } }

  ## Include/Protocol/SimpleTextIn.h
  gEfiSimpleTextInProtocolGuid   = { 0x387477C1, 0x69C7, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/SimpleTextInEx.h
  gEfiSimpleTextInputExProtocolGuid = {0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }

  ## Include/Protocol/SimpleTextOut.h
  gEfiSimpleTextOutProtocolGuid  = { 0x387477C2, 0x69C7, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/SimplePointer.h
  gEfiSimplePointerProtocolGuid  = { 0x31878C87, 0x0B75, 0x11D5, { 0x9A, 0x4F, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/AbsolutePointer.h
  gEfiAbsolutePointerProtocolGuid = { 0x8D59D32B, 0xC655, 0x4AE9, { 0x9B, 0x15, 0xF2, 0x59, 0x04, 0x99, 0x2A, 0x43 } }

  ## Include/Protocol/SerialIo.h
  gEfiSerialIoProtocolGuid       = { 0xBB25CF6F, 0xF1D4, 0x11D2, { 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD }}

  ## Include/Protocol/GraphicsOutput.h
  gEfiGraphicsOutputProtocolGuid = { 0x9042A9DE, 0x23DC, 0x4A38, { 0x96, 0xFB, 0x7A, 0xDE, 0xD0, 0x80, 0x51, 0x6A }}

  ## Include/Protocol/EdidDiscovered.h
  gEfiEdidDiscoveredProtocolGuid = { 0x1C0C34F6, 0xD380, 0x41FA, { 0xA0, 0x49, 0x8A, 0xD0, 0x6C, 0x1A, 0x66, 0xAA }}

  ## Include/Protocol/EdidActive.h
  gEfiEdidActiveProtocolGuid     = { 0xBD8C1056, 0x9F36, 0x44EC, { 0x92, 0xA8, 0xA6, 0x33, 0x7F, 0x81, 0x79, 0x86 }}

  ## Include/Protocol/EdidOverride.h
  gEfiEdidOverrideProtocolGuid   = { 0x48ECB431, 0xFB72, 0x45C0, { 0xA9, 0x22, 0xF4, 0x58, 0xFE, 0x04, 0x0B, 0xD5 }}

  ## Include/Protocol/UgaIo.h
  gEfiUgaIoProtocolGuid          = { 0x61A4D49E, 0x6F68, 0x4F1B, { 0xB9, 0x22, 0xA8, 0x6E, 0xED, 0x0B, 0x07, 0xA2 }}

  ## Include/Protocol/UgaDraw.h
  gEfiUgaDrawProtocolGuid        = { 0x982C298B, 0xF4FA, 0x41CB, { 0xB8, 0x38, 0x77, 0xAA, 0x68, 0x8F, 0xB8, 0x39 }}

  ## Include/Protocol/LoadedImage.h
  gEfiLoadedImageProtocolGuid    = { 0x5B1B31A1, 0x9562, 0x11D2, { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/LoadedImage.h
  gEfiLoadedImageDevicePathProtocolGuid = { 0xbc62157e, 0x3e33, 0x4fec, {0x99, 0x20, 0x2d, 0x3b, 0x36, 0xd7, 0x50, 0xdf }}

  ## Include/Protocol/LoadFile.h
  gEfiLoadFileProtocolGuid       = { 0x56EC3091, 0x954C, 0x11D2, { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/LoadFile2.h
  gEfiLoadFile2ProtocolGuid       = { 0x4006c0c1, 0xfcb3, 0x403e, {0x99, 0x6d, 0x4a, 0x6c, 0x87, 0x24, 0xe0, 0x6d }}

  ## Include/Protocol/SimpleFileSystem.h
  gEfiSimpleFileSystemProtocolGuid = { 0x964E5B22, 0x6459, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/TapeIo.h
  gEfiTapeIoProtocolGuid         = { 0x1E93E633, 0xD65A, 0x459E, { 0xAB, 0x84, 0x93, 0xD9, 0xEC, 0x26, 0x6D, 0x18 }}

  ## Include/Protocol/DiskIo.h
  gEfiDiskIoProtocolGuid         = { 0xCE345171, 0xBA0B, 0x11D2, { 0x8E, 0x4F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/BlockIo.h
  gEfiBlockIoProtocolGuid        = { 0x964E5B21, 0x6459, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/UnicodeCollation.h
  gEfiUnicodeCollationProtocolGuid = { 0x1D85CD7F, 0xF43D, 0x11D2, { 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/UnicodeCollation.h
  gEfiUnicodeCollation2ProtocolGuid = {0xa4c751fc, 0x23ae, 0x4c3e, { 0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49 }}

  ## Include/Protocol/PciRootBridgeIo.h
  gEfiPciRootBridgeIoProtocolGuid = { 0x2F707EBB, 0x4A1A, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/PciIo.h
  gEfiPciIoProtocolGuid          = { 0x4CF5B200, 0x68B8, 0x4CA5, { 0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A }}

  ## Include/Protocol/ScsiIo.h
  gEfiScsiIoProtocolGuid         = { 0x932F47e6, 0x2362, 0x4002, { 0x80, 0x3E, 0x3C, 0xD5, 0x4B, 0x13, 0x8F, 0x85 }}

  ## Include/Protocol/ScsiPassThruExt.h
  gEfiExtScsiPassThruProtocolGuid = { 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe }}

  ## Include/Protocol/ScsiPassThru.h
  gEfiScsiPassThruProtocolGuid   = { 0xA59E8FCF, 0xBDA0, 0x43BB, { 0x90, 0xB1, 0xD3, 0x73, 0x2E, 0xCA, 0xA8, 0x77 }}

  ## Include/Protocol/IScsiInitiatorName.h
  gEfiIScsiInitiatorNameProtocolGuid = { 0x59324945, 0xEC44, 0x4C0D, { 0xB1, 0xCD, 0x9D, 0xB1, 0x39, 0xDF, 0x07, 0x0C }}

  ## Include/Protocol/Usb2HostController.h
  gEfiUsb2HcProtocolGuid         = { 0x3E745226, 0x9818, 0x45B6, { 0xA2, 0xAC, 0xD7, 0xCD, 0x0E, 0x8B, 0xA2, 0xBC }}

  ## Include/Protocol/UsbHostController.h
  gEfiUsbHcProtocolGuid          = { 0xF5089266, 0x1AA0, 0x4953, { 0x97, 0xD8, 0x56, 0x2F, 0x8A, 0x73, 0xB5, 0x19 }}

  ## Include/Protocol/UsbIo.h
  gEfiUsbIoProtocolGuid          = { 0x2B2F68D6, 0x0CD2, 0x44CF, { 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 }}

  ## Include/Protocol/AcpiTable.h
  gEfiAcpiTableProtocolGuid      = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }}

  ## Include/Protocol/Ebc.h
  gEfiEbcProtocolGuid            = { 0x13AC6DD1, 0x73D0, 0x11D4, { 0xB0, 0x6B, 0x00, 0xAA, 0x00, 0xBD, 0x6D, 0xE7 }}

  ## Include/Protocol/SimpleNetwork.h
  gEfiSimpleNetworkProtocolGuid  = { 0xA19832B9, 0xAC25, 0x11D3, { 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/NetworkInterfaceIdentifier.h
  gEfiNetworkInterfaceIdentifierProtocolGuid_31 = { 0x1ACED566, 0x76ED, 0x4218, { 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 }}

  ## Include/Protocol/NetworkInterfaceIdentifier.h
  gEfiNetworkInterfaceIdentifierProtocolGuid = { 0xE18541CD, 0xF755, 0x4F73, { 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 }}

  ## Include/Protocol/PxeBaseCodeCallBack.h
  gEfiPxeBaseCodeCallbackProtocolGuid = { 0x245DCA21, 0xFB7B, 0x11D3, { 0x8F, 0x01, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}

  ## Include/Protocol/PxeBaseCode.h
  gEfiPxeBaseCodeProtocolGuid    = { 0x03C4E603, 0xAC28, 0x11D3, { 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Include/Protocol/Bis.h
  gEfiBisProtocolGuid            = { 0x0B64AAB0, 0x5429, 0x11D4, { 0x98, 0x16, 0x00, 0xA0, 0xC9, 0x1F, 0xAD, 0xCF }}

  ## Include/Protocol/ManagedNetwork.h
  gEfiManagedNetworkServiceBindingProtocolGuid = { 0xF36FF770, 0xA7E1, 0x42CF, { 0x9E, 0xD2, 0x56, 0xF0, 0xF2, 0x71, 0xF4, 0x4C }}

  ## Include/Protocol/ManagedNetwork.h
  gEfiManagedNetworkProtocolGuid = { 0x7ab33a91, 0xace5, 0x4326, { 0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16 }}

  ## Include/Protocol/Arp.h
  gEfiArpServiceBindingProtocolGuid = { 0xF44C00EE, 0x1F2C, 0x4A00, { 0xAA, 0x09, 0x1C, 0x9F, 0x3E, 0x08, 0x00, 0xA3 }}

  ## Include/Protocol/Arp.h
  gEfiArpProtocolGuid            = { 0xF4B427BB, 0xBA21, 0x4F16, { 0xBC, 0x4E, 0x43, 0xE4, 0x16, 0xAB, 0x61, 0x9C }}

  ## Include/Protocol/Dhcp4.h
  gEfiDhcp4ServiceBindingProtocolGuid = { 0x9D9A39D8, 0xBD42, 0x4A73, { 0xA4, 0xD5, 0x8E, 0xE9, 0x4B, 0xE1, 0x13, 0x80 }}

  ## Include/Protocol/Dhcp4.h
  gEfiDhcp4ProtocolGuid          = { 0x8A219718, 0x4EF5, 0x4761, { 0x91, 0xC8, 0xC0, 0xF0, 0x4B, 0xDA, 0x9E, 0x56 }}

  ## Include/Protocol/Tcp4.h
  gEfiTcp4ServiceBindingProtocolGuid = { 0x00720665, 0x67EB, 0x4A99, { 0xBA, 0xF7, 0xD3, 0xC3, 0x3A, 0x1C, 0x7C, 0xC9 }}

  ## Include/Protocol/Tcp4.h
  gEfiTcp4ProtocolGuid           = { 0x65530BC7, 0xA359, 0x410F, { 0xB0, 0x10, 0x5A, 0xAD, 0xC7, 0xEC, 0x2B, 0x62 }}

  ## Include/Protocol/Ip4.h
  gEfiIp4ServiceBindingProtocolGuid = { 0xC51711E7, 0xB4BF, 0x404A, { 0xBF, 0xB8, 0x0A, 0x04, 0x8E, 0xF1, 0xFF, 0xE4 }}

  ## Include/Protocol/Ip4.h
  gEfiIp4ProtocolGuid            = { 0x41D94CD2, 0x35B6, 0x455A, { 0x82, 0x58, 0xD4, 0xE5, 0x13, 0x34, 0xAA, 0xDD }}

  ## Include/Protocol/Ip4Config.h
  gEfiIp4ConfigProtocolGuid      = { 0x3B95AA31, 0x3793, 0x434B, { 0x86, 0x67, 0xC8, 0x07, 0x08, 0x92, 0xE0, 0x5E }}

  ## Include/Protocol/Udp4.h
  gEfiUdp4ServiceBindingProtocolGuid = { 0x83F01464, 0x99BD, 0x45E5, { 0xB3, 0x83, 0xAF, 0x63, 0x05, 0xD8, 0xE9, 0xE6 }}

  ## Include/Protocol/Udp4.h
  gEfiUdp4ProtocolGuid           = { 0x3AD9DF29, 0x4501, 0x478D, { 0xB1, 0xF8, 0x7F, 0x7F, 0xE7, 0x0E, 0x50, 0xF3 }}

  ## Include/Protocol/Mtftp4.h
  gEfiMtftp4ServiceBindingProtocolGuid = { 0x2FE800BE, 0x8F01, 0x4AA6, { 0x94, 0x6B, 0xD7, 0x13, 0x88, 0xE1, 0x83, 0x3F }}

  ## Include/Protocol/Mtftp4.h
  gEfiMtftp4ProtocolGuid         = { 0x78247C57, 0x63DB, 0x4708, { 0x99, 0xC2, 0xA8, 0xB4, 0xA9, 0xA6, 0x1F, 0x6B }}

  ## Include/Protocol/AuthenticationInfo.h
  gEfiAuthenticationInfoProtocolGuid = { 0x7671D9D0, 0x53DB, 0x4173, { 0xAA, 0x69, 0x23, 0x27, 0xF2, 0x1F, 0x0B, 0xC7 }}

  ## Include/Protocol/Hash.h
  gEfiHashProtocolGuid           = { 0xC5184932, 0xDBA5, 0x46DB, { 0xA5, 0xBA, 0xCC, 0x0B, 0xDA, 0x9C, 0x14, 0x35 }}

  ## Include/Protocol/Pcd.h
  gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}

  ## Include/Protocol/TcgService.h
  gEfiTcgProtocolGuid            = { 0xf541796d, 0xa62e, 0x4954, { 0xa7, 0x75, 0x95, 0x84, 0xf6, 0x1b, 0x9c, 0xdd }}

  ## Include/Protocol/FormBrowser2.h
  gEfiFormBrowser2ProtocolGuid   =   {0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58}}

  ## Include/Protocol/HiiString.h
  gEfiHiiStringProtocolGuid      =   {0x0fd96974, 0x23aa, 0x4cdc, {0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a}}

  ## Include/Protocol/HiiImage.h
  gEfiHiiImageProtocolGuid       =   {0x31a6406a, 0x6bdf, 0x4e46, {0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x09, 0x20}}

  ## Include/Protocol/HiiConfigRouting.h
  gEfiHiiConfigRoutingProtocolGuid = {0x587e72d7, 0xcc50, 0x4f79, {0x82, 0x09, 0xca, 0x29, 0x1f, 0xc1, 0xa1, 0x0f}}

  ## Include/Protocol/HiiDatabase.h
  gEfiHiiDatabaseProtocolGuid    =   {0xef9fc172, 0xa1b2, 0x4693, {0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42}}

  ## Include/Protocol/HiiFont.h
  gEfiHiiFontProtocolGuid        =   {0xe9ca4775, 0x8657, 0x47fc, {0x97, 0xe7, 0x7e, 0xd6, 0x5a, 0x08, 0x43, 0x24}}

  ## Include/Protocol/HiiConfigAccess.h
  gEfiHiiConfigAccessProtocolGuid =  {0x330d4706, 0xf2a0, 0x4e4f, {0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85}}

  ## Include/Protocol/HiiPackageList.h
  gEfiHiiPackageListProtocolGuid  = { 0x6a1ee763, 0xd47a, 0x43b4, {0xaa, 0xbe, 0xef, 0x1d, 0xe2, 0xab, 0x56, 0xfc}}

[PcdsFeatureFlag]
  ## If TRUE, the component name protocol will not be installed.
  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE|BOOLEAN|0x0000000d

  ## If TRUE, the driver diagnostics protocol will not be installed.
  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE|BOOLEAN|0x0000000e

  ## If TRUE, the component name2 protocol will not be installed.
  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE|BOOLEAN|0x000000010

  ## If TRUE, the driver diagnostics2 protocol will not be installed.
  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE|BOOLEAN|0x00000011

  ## Indicates whether EFI 1.1 ISO 639-2 language supports are obsolete
  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate|FALSE|BOOLEAN|0x00000012

  ## If TRUE, UGA Draw Protocol is still consumed.
  gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport|TRUE|BOOLEAN|0x00000027

  ## If TRUE, a check will be made to see if a specified node is a member of  linked list
  #  in the following BaseLib fucntions: GetNextNode(), IsNull(), IsNodeAtEnd(),
  #  SwapListEntries()
  gEfiMdePkgTokenSpaceGuid.PcdVerifyNodeInList|FALSE|BOOLEAN|0x00000028

[PcdsFixedAtBuild]
  ## Indicates the maximum length of unicode string
  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000|UINT32|0x00000001

  ## Indicates the maximum length of ascii string
  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000|UINT32|0x00000002

  ## Indicates the maximum node number of linked list
  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000|UINT32|0x00000003

  ## Indicates the timeout tick of holding spin lock
  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000|UINT32|0x00000004

  ## The mask is used to control DebugLib behavior
  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0|UINT8|0x00000005

  ## The mask is used to control ReportStatusCodeLib behavior
  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0|UINT8|0x00000007

  ## This value is used to fill a segment of memory
  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF|UINT8|0x00000008

  ## The mask is used to control PerformanceLib behavior
  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0|UINT8|0x00000009

  ## The mask is used to control PostCodeLib behavior
  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0|UINT8|0x0000000b

  ## This value is used to set the FSB clock
  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c

  ## The maxium allowable size of formatted unicode string
  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320|UINT32|0x101

  ## Status code value for indicating a watchdog timer is expired
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueEfiWatchDogTimerExpired|0x00011003|UINT32|0x00000013

  ## Status code value for indicating the invocation of SetVirtualAddressMap()
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueSetVirtualAddressMap|0x03101004|UINT32|0x00000014

  ## Status code value for indicating the start of memory test
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMemoryTestStarted|0x00051006|UINT32|0x00000015

  ## Status code value for indicating memory error in memory test
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueUncorrectableMemoryError|0x00051003|UINT32|0x00000016

  ## Status code value for indicating the failure of console operation
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleError|0x01040006|UINT32|0x00000017

  ## Status code value for indicating the failure of console reset operation
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleReset|0x01040001|UINT32|0x00000018

  ## Status code value for indicating the failure of console input operation
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleInputError|0x01040007|UINT32|0x00000019

  ## Status code value for indicating the failure of console output operation
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleOutputError|0x01040008|UINT32|0x0000001a

  ## Status code value for indicating the failure of mouse operation
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError|0x01020005|UINT32|0x30001000

  ## Status code value for indicating the enable of mouse device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseEnable|0x01020004|UINT32|0x30001001

  ## Status code value for indicating the disable of mouse device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseDisable|0x01020002|UINT32|0x30001002

  ## Status code value for indicating the enable of keyboard device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardEnable|0x01010004|UINT32|0x30001003

  ## Status code value for indicating the disable of keyboard device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardDisable|0x01010002|UINT32|0x30001004

  ## Status code value for indicating whether keboard device is present
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardPresenceDetect|0x01010003|UINT32|0x30001005

  ## Status code value for indicating the reset operation of keyboard device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardReset|0x01010001|UINT32|0x30001006

  ## Status code value for indicating the clear buffer operation of keyboard device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardClearBuffer|0x01011000|UINT32|0x30001007

  ## Status code value for indicating the self test of keyboard device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardSelfTest|0x01011001|UINT32|0x30001008

  ## Status code value for indicating the operation of keyboard device is failed
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInterfaceError|0x01010005|UINT32|0x30001009

  ## Status code value for indicating the failure of keyboard input handler
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError|0x01010007|UINT32|0x3000100a

  ## Status code value for indicating the failure of mouse input handler
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError|0x01020007|UINT32|0x3000100b

  ## Status code value for indicating the reset operation of mouse device
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset|0x01020001|UINT32|0x3000100c

  ## Status code value for indicating the handoff from Pei phase to Dxe phase
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe|0x3031001|UINT32|0x3000100d

  ## Status code value for indicating one PEIM is dispatched.
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeimDispatch|0x3020002|UINT32|0x3000100e

  ## Status code value for indicating entering PeiCore
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiCoreEntry|0x3020000|UINT32|0x3000100f

  ## Status code value for indicating entering DxeCore
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeCoreEntry|0x3041000|UINT32|0x30001010

  ## Status code value for indicating the handoff from DxeCore to Bds
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeCoreHandoffToBds|0x3041001|UINT32|0x30001011

  ## Status code value for indicating the exit of boot service
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueBootServiceExit|0x3100019|UINT32|0x30001012

  ## Status code value for indicating the begin of Dxe driver
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverBegin|0x3040002|UINT32|0x30001013

  ## Status code value for indicating the end of Dxe driver
  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverEnd|0x3040003|UINT32|0x30001014

[PcdsFixedAtBuild.IPF]
  ## The base address of IO port space for IA64 arch
  gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000|UINT64|0x0000000f

[PcdsFixedAtBuild,PcdsPatchableInModule]
  ## This flag is used to control the printout of DebugLib
  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000|UINT32|0x00000006

  ## Indicates the allowable maximum number in extract handler table
  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10|UINT32|0x00000025

  ## Indicates the default timeouts for USB transfers in milliseconds
  gEfiMdePkgTokenSpaceGuid.PcdUsbTransferTimeoutValue|3000|UINT32|0x00000026

[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic]
  ## This value is used to set the base address of pci express hierarchy
  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000|UINT64|0x0000000a

  ## Default current ISO 639-2 language: English & French
  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes|"engfraengfra"|VOID*|0x0000001c

  ## Default current ISO 639-2 language: English
  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang|"eng"|VOID*|0x0000001d

  ## Default platform supported RFC 4646 languages: (American) English & French
  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes|"en;fr;en-US;fr-FR"|VOID*|0x0000001e

  ## Defualt current RFC 4646 language: (American) English
  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang|"en-US"|VOID*|0x0000001f

  ## Indicates the default baud rate of UART
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200|UINT64|0x00000020

  ## Indicates the number of efficient data bit in UART transaction
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8|UINT8|0x00000021

  ## Indicates the setting of data parity in UART transaction
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1|UINT8|0x00000022

  ## Indicates the setting of stop bit in UART transaction
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1|UINT8|0x00000023

  ## Indicates the usable type of terminal
  #  0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8
  gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|0|UINT8|0x00000024
