* [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot @ 2021-06-17 0:51 Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi] [PATCH] ASpeed : ASpeedGopBinPkg : Add X64 ASpeedAst2500Gop UEFI Driver Nate DeSimone ` (5 more replies) 0 siblings, 6 replies; 11+ messages in thread From: Nate DeSimone @ 2021-06-17 0:51 UTC (permalink / raw) To: devel Cc: Manickavasakam Karpagavinayagam, Isaac Oram, Felix Polyudov, Harikrishna Doppalapudi, Manish Jha, Zachary Bobroff From: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> Support for LINUX Boot To enable/disable feature, PcdLinuxBootEnable can be used 1. Follow directions on http://osresearch.net/Building/ to compile the heads kernel and initrd for qemu-system_x86_64 2. Copy the following built files (1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz (2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../BoardTiogaPass/CoreDxeInclude.dsc | 5 +- .../BoardTiogaPass/CoreUefiBootInclude.fdf | 5 +- .../BoardTiogaPass/OpenBoardPkg.dsc | 7 + .../BoardTiogaPass/OpenBoardPkg.fdf | 57 ++- .../BoardTiogaPass/PlatformPkgConfig.dsc | 7 + .../LinuxBinaries/LinuxKernel.inf | 9 + .../LinuxBootPkg/LinuxBinaries/initrd.cpio.xz | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBinaries/linux.efi | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBoot.c | 422 ++++++++++++++++++ .../LinuxBootPkg/LinuxBoot.h | 193 ++++++++ .../LinuxBootPkg/LinuxBoot.inf | 46 ++ .../LinuxBootPkg/LinuxBootNull.c | 43 ++ .../LinuxBootPkg/LinuxBootNull.inf | 31 ++ .../Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec | 2 + .../DxePlatformBootManagerLib/BdsPlatform.c | 9 + .../DxePlatformBootManagerLib.inf | 2 + Platform/Intel/Readme.md | 42 ++ 17 files changed, 872 insertions(+), 8 deletions(-) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc index b0660d72dd..a17015704b 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc @@ -83,6 +83,7 @@ $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -97,10 +98,11 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf - +!endif #MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -124,6 +126,7 @@ <LibraryClasses> PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf } +!endif !if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == FALSE MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf index 141ce5dda3..6cd8ba6626 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf @@ -47,6 +47,7 @@ INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf INF $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -62,10 +63,12 @@ INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF FatPkg/EnhancedFatDxe/Fat.inf +!endif #INF MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -79,4 +82,4 @@ INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf - +!endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc index e4c8e7fbf1..06ed3f610e 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc @@ -104,6 +104,13 @@ ################################################################################ [LibraryClasses.common] +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBoot.inf + LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf +!else + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBootNull.inf +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == FALSE PlatformBootManagerLib|$(PLATFORM_PACKAGE)/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf !else diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf index 43cd8d94e1..adbf28a936 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf @@ -19,6 +19,38 @@ # Also all values will have a PCD assigned so that they can be used in the system, and # the FlashMap edit tool can be used to change the values here, without effecting the code. # This requires all code to only use the PCD tokens to recover the values. +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00300000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00400000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00500000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00600000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00600000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!else + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00500000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00500000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00600000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00700000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00200000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00900000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!endif + [FD.Platform] BaseAddress = 0xFF000000 | gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress @@ -27,27 +59,27 @@ ErasePolarity = 1 BlockSize = 0x10000 NumBlocks = 0x100 -0x00000000|0x00500000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize FV = FvAdvanced -0x00500000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize FV = FvSecurity -0x00600000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize FV = FvOsBoot -0x00700000|0x00200000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize FV = FvLateSiliconCompressed -0x00900000|0x00300000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize FV = FvUefiBoot -0x00C00000|0x0007C000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize #NV_VARIABLE_STORE DATA = { @@ -303,6 +335,19 @@ FILE DRIVER = db90bb7e-e4ba-4f07-96d6-b7076713bd2c { INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +FILE DRIVER = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 { + SECTION DXE_DEPEX_EXP = {FALSE} + SECTION PE32 = $(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/linux.efi +} + +FILE FREEFORM = 16b60e5d-f1c5-42f0-9b34-08C81C430473 { + SECTION RAW = $(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +} + +!endif + [FV.FvUefiBoot] FvAlignment = 16 diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc index 36a29c8d68..ff27252233 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc @@ -51,7 +51,14 @@ gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable|TRUE + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE + +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + gPlatformTokenSpaceGuid.PcdFastBoot|TRUE +!else gPlatformTokenSpaceGuid.PcdFastBoot|FALSE +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == TRUE gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|FALSE diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf new file mode 100644 index 0000000000..a249027d22 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf @@ -0,0 +1,9 @@ +[Defines] + INF_VERSION = 1.27 + BASE_NAME = LinuxKernel + FILE_GUID = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + +[Binaries.common.AARCH64] + PE32|linux.efi|* diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c new file mode 100644 index 0000000000..eec05824d6 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c @@ -0,0 +1,422 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------------- + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/DebugLib.h> +#include <Library/UefiRuntimeServicesTableLib.h> +#include <Library/MemoryAllocationLib.h> +#include <Library/UefiBootServicesTableLib.h> +#include <Guid/DxeServices.h> +#include <Library/DxeServicesTableLib.h> +#include <Library/UefiLib.h> +#include <Protocol/FirmwareVolume2.h> +#include <Protocol/LoadedImage.h> +#include <Guid/MemoryTypeInformation.h> +#include <Pi/PiDxeCis.h> +#include <Pi/PiHob.h> +#include <Library/PcdLib.h> +#include <Library/DxeServicesLib.h> +#include "LinuxBoot.h" + +//16b60e5d-f1c5-42f0-9b34-08C81C430473 +#define LINUX_BOOT_INITRD_GUID \ + { \ + 0x16b60e5d, 0xf1c5, 0x42f0, {0x9b, 0x34, 0x08, 0xc8, 0x1c, 0x43, 0x04, 0x73} \ + } + +#define LINUX_BOOT_KERNEL_GUID \ + { \ + 0x81339b04, 0xfa8c, 0x4be0, {0x9c, 0xa7, 0x91, 0x6f, 0xc5, 0x31, 0x9e, 0xb5} \ + } + + +EFI_STATUS +EFIAPI +LoadLinuxCheckKernelSetup ( + IN VOID *KernelSetup, + IN UINTN KernelSetupSize + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelSetupPages ( + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxInitializeKernelSetup ( + IN VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxSetCommandLine ( + IN OUT VOID *KernelSetup, + IN CHAR8 *CommandLine + ); + +EFI_STATUS +EFIAPI +LoadLinux ( + IN VOID *Kernel, + IN OUT VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateInitrdPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_GUID gLinuxBootInitrdFileGuid = LINUX_BOOT_INITRD_GUID; + +EFI_GUID gLinuxBootKernelFileGuid = LINUX_BOOT_KERNEL_GUID; + +//--------------------------------------------------------------------------- + +/** + Dump some hexadecimal data to the screen. + + @note Function taken from ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c in EDKII + + @param[in] Indent How many spaces to indent the output. + @param[in] Offset The offset of the printing. + @param[in] DataSize The size in bytes of UserData. + @param[in] UserData The data to print out. +**/ +static +VOID +DumpHex ( + IN UINTN Indent, + IN UINTN Offset, + IN UINTN DataSize, + IN VOID *UserData + ) +{ + UINT8 *Data; + CHAR8 Val[50]; + CHAR8 Str[20]; + UINT8 TempByte; + UINTN Size; + UINTN Index; + CHAR8 Hex[] = { + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' + }; + + DEBUG((DEBUG_INFO, "%*a 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F\n", Indent, "")); + DEBUG((DEBUG_INFO, "%*a ------------------------------------------------\n", Indent, "")); + + Data = UserData; + while (DataSize != 0) { + Size = 16; + if (Size > DataSize) { + Size = DataSize; + } + + for (Index = 0; Index < Size; Index += 1) { + TempByte = Data[Index]; + Val[Index * 3 + 0] = Hex[TempByte >> 4]; + Val[Index * 3 + 1] = Hex[TempByte & 0xF]; + Val[Index * 3 + 2] = (CHAR8) ((Index == 7) ? '-' : ' '); + Str[Index] = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte); + } + + Val[Index * 3] = 0; + Str[Index] = 0; + DEBUG((DEBUG_INFO, "%*a%08X: %-48a %a\n", Indent, "", Offset, Val, Str)); + + Data += Size; + Offset += Size; + DataSize -= Size; + } +} + + +/** + * This function completes a minimal amount of the necessary BDS functions to prepare + * for booting the kernel. + * + * @param None + * + * @retval EFI_SUCCESS Successfully completed remaining tasks + * @return EFI_ERROR Could not complete BDS tasks + */ +EFI_STATUS +CompleteBdsTasks ( + VOID +) +{ + + return EFI_SUCCESS; +} + +/** + * This function will load and launch the Linux kernel from a BIOS FV. + * + * @note This function is not intended to return. Any exiting from this function indicates + * a problem loading or launching the kernel. + * + * @param None + * + * @return EFI_ERROR Any error code + */ +EFI_STATUS +LoadAndLaunchKernel ( + VOID +) +{ + EFI_LOADED_IMAGE_PROTOCOL *LoadedImage = NULL; + EFI_STATUS Status; + EFI_HANDLE KernelHandle = NULL; + VOID *KernelBuffer = NULL; + VOID *KernelFfsBuffer = NULL; + UINTN KernelFfsSize = 0; + VOID *InitrdData = NULL; + VOID *InitrdBuffer = NULL; + UINTN InitrdSize = 0; + struct boot_params *BootParams = NULL; + struct boot_params *HandoverParams = NULL; + UINT32 StartOffset = 0; + UINT32 KernelLength = 0; + UINT8 *Temp; + UINT8 CmdLine[] = " "; + + DEBUG((DEBUG_INFO, "LoadAndLaunchKernel Entry\n")); + + /// + /// Kernel load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the kernel...\n")); + + // Retrieve the kernel from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootKernelFileGuid, + EFI_SECTION_PE32, + 0, + &KernelFfsBuffer, + &KernelFfsSize + ); + + DEBUG((DEBUG_INFO, "Status %r\n",Status)); + DEBUG((DEBUG_INFO, "KernelFfsBuffer %x\n",KernelFfsBuffer)); + DEBUG((DEBUG_INFO, "KernelFfsSize %x\n",KernelFfsSize)); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve kernel; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded kernel to buffer at 0x%p with size 0x%X.\n", KernelFfsBuffer, KernelFfsSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", MIN(KernelFfsSize, 0x100))); + + DumpHex(2, 0, MIN(0x100, KernelFfsSize), KernelFfsBuffer); + + // Create a LoadImage protocol for the kernel + Status = gBS->LoadImage(TRUE, gImageHandle, NULL, KernelFfsBuffer, KernelFfsSize, &KernelHandle); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not create LoadImage for kernel %r\n", Status)); + goto FatalError; + } + + // Get the new LoadedImage protocol to retrieve information about the kernel + Status = gBS->HandleProtocol(KernelHandle, &gEfiLoadedImageProtocolGuid, (VOID **) &LoadedImage); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not get kernel LoadedImage protocol; %r\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Kernel LoadedImage information:\n")); + DEBUG((DEBUG_INFO, " ImageBase = 0x%p\n", LoadedImage->ImageBase)); + DEBUG((DEBUG_INFO, " ImageSize = 0x%p\n", LoadedImage->ImageSize)); + + // Verify the kernel boot parameters from the LoadedImage and allocate an initalization buffer once verified + BootParams = (struct boot_params*) LoadedImage->ImageBase; + + Status = LoadLinuxCheckKernelSetup((VOID *) BootParams, sizeof(struct boot_params)); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "LoadLinuxCheckKernelSetup failed; %r.\n", Status)); + goto FatalError; + } + + HandoverParams = LoadLinuxAllocateKernelSetupPages(EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (HandoverParams == NULL) { + DEBUG((DEBUG_ERROR, "Could not allocate memory for kernel handover parameters.\n")); + goto FatalError; + } + DEBUG((DEBUG_INFO, "Handover parameters allocated at 0x%p\n", HandoverParams)); + + gBS->CopyMem(&HandoverParams->hdr, &BootParams->hdr, sizeof(struct setup_header)); + + Status = LoadLinuxInitializeKernelSetup(HandoverParams); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "Unable to initialize the handover parameters; %r.\n", Status)); + goto FatalError; + } + + // Allocate space for the kernel and copy it into the new buffer + KernelBuffer = LoadLinuxAllocateKernelPages(HandoverParams, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (KernelBuffer == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for kernel.\n")); + goto FatalError; + } + + StartOffset = (HandoverParams->hdr.setup_secs + 1) * 512; + KernelLength = (UINT32) (KernelFfsSize - StartOffset); + Temp = (UINT8 *) LoadedImage->ImageBase; + + DEBUG((DEBUG_INFO, "Kernel starts at offset 0x%X with length 0x%X\n", StartOffset, KernelLength)); + + gBS->CopyMem(KernelBuffer, (Temp + StartOffset), KernelLength); + DEBUG((DEBUG_INFO, "First 0x%X bytes of new kernel buffer contents:\n", MIN(0x100, KernelLength))); + + DumpHex(2, 0, MIN(0x100, KernelLength), KernelBuffer); + + // Prepare the command line + Status = LoadLinuxSetCommandLine(HandoverParams, (UINT8 *) &CmdLine); + if (EFI_ERROR (Status)) { + DEBUG((EFI_D_INFO, "Unable to set linux command line; %r.\n", Status)); + goto FatalError; + } + + HandoverParams->hdr.code32_start = (UINT32)(UINTN) KernelBuffer; + HandoverParams->hdr.loader_id = 0x21; + + DEBUG((DEBUG_INFO, "Kernel loaded.\n")); + +#if 1 +//#if defined(INTEGRATED_INITRAM_FS) && (INTEGRATED_INITRAM_FS ==0) + /// + /// Initrd load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the initrd...\n")); + + // Retrieve the initrd from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootInitrdFileGuid, + EFI_SECTION_RAW, + 0, + &InitrdBuffer, + &InitrdSize + ); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve initrd; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded initrd to buffer at 0x%p with size 0x%X.\n", InitrdBuffer, InitrdSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdBuffer); + + // Allocate the initrd for the kernel and copy it in + InitrdData = LoadLinuxAllocateInitrdPages(HandoverParams, EFI_SIZE_TO_PAGES(InitrdSize)); + if (InitrdData == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for initrd.\n")); + goto FatalError; + } + + gBS->CopyMem(InitrdData, InitrdBuffer, InitrdSize); + + HandoverParams->hdr.ramdisk_start = (UINT32)(UINTN) InitrdData; + HandoverParams->hdr.ramdisk_len = (UINT32) InitrdSize; + + DEBUG((DEBUG_INFO, "Initrd loaded.\n")); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes of initrd buffer:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdData); + + // General cleanup before launching the kernel + gBS->FreePool(InitrdBuffer); + InitrdBuffer = NULL; +#endif + + gBS->UnloadImage(KernelHandle); + gBS->FreePool(KernelFfsBuffer); + KernelFfsBuffer = NULL; + + DEBUG((DEBUG_ERROR, "Launching the kernel\n")); + + + // + // Signal the EFI_EVENT_GROUP_READY_TO_BOOT event. + // + EfiSignalEventReadyToBoot(); + + + // Launch the kernel + Status = LoadLinux(KernelBuffer, HandoverParams); + + /// + /// LoadLinux should never return if the kernel boots. Anything past here is an error scenario + /// + DEBUG((DEBUG_ERROR, "ERROR: LoadLinux has returned with status; %r.\n", Status)); + +FatalError: + // Free everything + if (InitrdData != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) InitrdData, EFI_SIZE_TO_PAGES(InitrdSize)); + if (KernelBuffer != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) KernelBuffer, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (HandoverParams != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) HandoverParams, EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (InitrdBuffer != NULL) gBS->FreePool(InitrdBuffer); + if (KernelHandle != NULL) gBS->UnloadImage(KernelHandle); + if (KernelFfsBuffer != NULL) gBS->FreePool(KernelFfsBuffer); + + return EFI_NOT_FOUND; +} + +/** + * This is the main function for this feature. This will handle finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + EFI_STATUS Status = EFI_SUCCESS; + + // Finish BDS and then try to launch the kernel + //Status = CompleteBdsTasks(); + + if (!EFI_ERROR(Status)) { + LoadAndLaunchKernel(); + } + + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + DEBUG((DEBUG_ERROR, " ERROR: Kernel failed to launch.\n")); + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + return Status; +} + +//--------------------------------------------------------------------------- diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h new file mode 100644 index 0000000000..479fb8cbfd --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h @@ -0,0 +1,193 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * Header for library definitions and prototypes. + * + */ + +#ifndef __LINUX_BOOT_PRIVATE__H__ +#define __LINUX_BOOT_PRIVATE__H__ +#ifdef __cplusplus +extern "C" { +#endif // #ifdef __cplusplus + +//--------------------------------------------------------------------------- + +//#include <Token.h> + +#define BOOTSIG 0x1FE +#define SETUP_HDR 0x53726448 /* 0x53726448 == "HdrS" */ + +#define E820_RAM 1 +#define E820_RESERVED 2 +#define E820_ACPI 3 +#define E820_NVS 4 +#define E820_UNUSABLE 5 + +#pragma pack(1) + +struct setup_header { + UINT8 setup_secs; /* Sectors for setup code */ + UINT16 root_flags; + UINT32 sys_size; + UINT16 ram_size; + UINT16 video_mode; + UINT16 root_dev; + UINT16 signature; /* Boot signature */ + UINT16 jump; + UINT32 header; + UINT16 version; + UINT16 su_switch; + UINT16 setup_seg; + UINT16 start_sys; + UINT16 kernel_ver; + UINT8 loader_id; + UINT8 load_flags; + UINT16 movesize; + UINT32 code32_start; /* Start of code loaded high */ + UINT32 ramdisk_start; /* Start of initial ramdisk */ + UINT32 ramdisk_len; /* Length of initial ramdisk */ + UINT32 bootsect_kludge; + UINT16 heap_end; + UINT8 ext_loader_ver; /* Extended boot loader version */ + UINT8 ext_loader_type; /* Extended boot loader ID */ + UINT32 cmd_line_ptr; /* 32-bit pointer to the kernel command line */ + UINT32 ramdisk_max; /* Highest legal initrd address */ + UINT32 kernel_alignment; /* Physical addr alignment required for kernel */ + UINT8 relocatable_kernel; /* Whether kernel is relocatable or not */ + UINT8 min_alignment; + UINT16 xloadflags; + UINT32 cmdline_size; + UINT32 hardware_subarch; + UINT64 hardware_subarch_data; + UINT32 payload_offset; + UINT32 payload_length; + UINT64 setup_data; + UINT64 pref_address; + UINT32 init_size; + UINT32 handover_offset; +}; + +struct efi_info { + UINT32 efi_loader_signature; + UINT32 efi_systab; + UINT32 efi_memdesc_size; + UINT32 efi_memdesc_version; + UINT32 efi_memmap; + UINT32 efi_memmap_size; + UINT32 efi_systab_hi; + UINT32 efi_memmap_hi; +}; + +struct e820_entry { + UINT64 addr; /* start of memory segment */ + UINT64 size; /* size of memory segment */ + UINT32 type; /* type of memory segment */ +}; + +struct screen_info { + UINT8 orig_x; /* 0x00 */ + UINT8 orig_y; /* 0x01 */ + UINT16 ext_mem_k; /* 0x02 */ + UINT16 orig_video_page; /* 0x04 */ + UINT8 orig_video_mode; /* 0x06 */ + UINT8 orig_video_cols; /* 0x07 */ + UINT8 flags; /* 0x08 */ + UINT8 unused2; /* 0x09 */ + UINT16 orig_video_ega_bx;/* 0x0a */ + UINT16 unused3; /* 0x0c */ + UINT8 orig_video_lines; /* 0x0e */ + UINT8 orig_video_isVGA; /* 0x0f */ + UINT16 orig_video_points;/* 0x10 */ + + /* VESA graphic mode -- linear frame buffer */ + UINT16 lfb_width; /* 0x12 */ + UINT16 lfb_height; /* 0x14 */ + UINT16 lfb_depth; /* 0x16 */ + UINT32 lfb_base; /* 0x18 */ + UINT32 lfb_size; /* 0x1c */ + UINT16 cl_magic, cl_offset; /* 0x20 */ + UINT16 lfb_linelength; /* 0x24 */ + UINT8 red_size; /* 0x26 */ + UINT8 red_pos; /* 0x27 */ + UINT8 green_size; /* 0x28 */ + UINT8 green_pos; /* 0x29 */ + UINT8 blue_size; /* 0x2a */ + UINT8 blue_pos; /* 0x2b */ + UINT8 rsvd_size; /* 0x2c */ + UINT8 rsvd_pos; /* 0x2d */ + UINT16 vesapm_seg; /* 0x2e */ + UINT16 vesapm_off; /* 0x30 */ + UINT16 pages; /* 0x32 */ + UINT16 vesa_attributes; /* 0x34 */ + UINT32 capabilities; /* 0x36 */ + UINT8 _reserved[6]; /* 0x3a */ +}; + +struct boot_params { + struct screen_info screen_info; + UINT8 apm_bios_info[0x14]; + UINT8 _pad2[4]; + UINT64 tboot_addr; + UINT8 ist_info[0x10]; + UINT8 _pad3[16]; + UINT8 hd0_info[16]; + UINT8 hd1_info[16]; + UINT8 sys_desc_table[0x10]; + UINT8 olpc_ofw_header[0x10]; + UINT8 _pad4[128]; + UINT8 edid_info[0x80]; + struct efi_info efi_info; + UINT32 alt_mem_k; + UINT32 scratch; + UINT8 e820_entries; + UINT8 eddbuf_entries; + UINT8 edd_mbr_sig_buf_entries; + UINT8 _pad6[6]; + struct setup_header hdr; + UINT8 _pad7[0x290-0x1f1-sizeof(struct setup_header)]; + UINT32 edd_mbr_sig_buffer[16]; + struct e820_entry e820_map[128]; + UINT8 _pad8[48]; + UINT8 eddbuf[0x1ec]; + UINT8 _pad9[276]; +}; +#pragma pack () + +//--------------------------------------------------------------------------- + +#ifndef MIN +#define MIN(x,y) ((x) < (y) ? (x) : (y)) +#endif // #ifndef MIN + +#define KERNEL_SETUP_SIZE 16384 + +//--------------------------------------------------------------------------- + +/// +/// Function prototypes from Bds module +/// +VOID ConnectEverything(); +VOID RecoverTheMemoryAbove4Gb(); +VOID SignalAllDriversConnectedEvent(); +VOID SignalProtocolEvent(IN EFI_GUID *ProtocolGuid); + +#if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 +VOID SignalExitPmAuthProtocolEvent(VOID); +#endif // #if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 + +typedef VOID (BDS_CONTROL_FLOW_FUNCTION)(); + +//--------------------------------------------------------------------------- + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif // #ifdef __cplusplus +#endif // #ifndef __LINUX_BOOT_PRIVATE__H__ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf new file mode 100644 index 0000000000..62e09a75c8 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf @@ -0,0 +1,46 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 74a41ddc-fac5-4787-afad-d81ee30a8b63 # {0x74a41ddc, 0xfac5, 0x4787, {0xaf, 0xad, 0xd8, 0x1e, 0xe3, 0x0a, 0x8b, 0x63}} + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBoot.c + LinuxBoot.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib + BaseMemoryLib + DebugLib + UefiRuntimeServicesTableLib + UefiBootServicesTableLib + UefiLib + LoadLinuxLib + +[Guids] + +[Protocols] + gEfiLoadedImageProtocolGuid + +[Pcd] diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c new file mode 100644 index 0000000000..fa6ea117f4 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c @@ -0,0 +1,43 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------------- + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/UefiBootServicesTableLib.h> + + +/** + * This is the main function for this feature. This will handle finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + + return EFI_SUCCESS; +} + +//--------------------------------------------------------------------------- diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf new file mode 100644 index 0000000000..3ed53c6ba0 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf @@ -0,0 +1,31 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 0551B6D3-0594-4B02-AF42-5A9C7515CEC8 + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBootNull.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec index 4dcec5430b..0c1ab318b8 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec +++ b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec @@ -49,6 +49,8 @@ gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|TRUE|BOOLEAN|0x30000035 + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE|BOOLEAN|0x30000036 + [PcdsDynamicEx] gPlatformTokenSpaceGuid.PcdDfxAdvDebugJumper|FALSE|BOOLEAN|0x6000001D diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c index b3b8ceba6f..bd0509ab10 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c @@ -2,6 +2,7 @@ This file include all platform action which can be customized by IBV/OEM. Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -31,6 +32,12 @@ BOOLEAN gPPRequireUIConfirm; extern UINTN mBootMenuOptionNumber; +EFI_STATUS +LinuxBootStart ( + VOID + ); + + GLOBAL_REMOVE_IF_UNREFERENCED USB_CLASS_FORMAT_DEVICE_PATH gUsbClassKeyboardDevicePath = { { { @@ -1268,6 +1275,8 @@ PlatformBootManagerAfterConsole ( LocalBootMode = gBootMode; DEBUG ((DEBUG_INFO, "Current local bootmode - %x\n", LocalBootMode)); + LinuxBootStart(); + // // Go the different platform policy with different boot mode // Notes: this part code can be change with the table policy diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf index 5790743565..21ac65257c 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf @@ -2,6 +2,7 @@ # Component name for module DxePlatformBootManagerLib # # Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -40,6 +41,7 @@ PerformanceLib TimerLib Tcg2PhysicalPresenceLib + LinuxBootLib [Packages] MdePkg/MdePkg.dec diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index 06c5f32b1e..a34784ccb8 100644 --- a/Platform/Intel/Readme.md +++ b/Platform/Intel/Readme.md @@ -87,6 +87,11 @@ A UEFI firmware implementation using MinPlatformPkg is constructed using the fol ----------------------------------------|--------------------------------------------|------------------------------|--------------------| | Mt. Olympus | Purley | PurleyOpenBoardPkg | BoardMtOlympus | +| Machine Name | Supported Chipsets | BoardPkg | Board Name | +----------------------------------------|--------------------------------------------|------------------------------|--------------------| +| TiogaPass | Purley | PurleyOpenBoardPkg | BoardTiogaPass | + + #### Simics | Machine Name | Supported Chipsets | BoardPkg | Board Name | @@ -250,6 +255,12 @@ return back to the minimum platform caller. | | | | build settings, environment variables. | | | |---build_board.py: Optional board-specific pre-build, | | | build, post-build and clean functions. + | | |------PurleyOpenBoardPkg + | | | |------BoardTiogaPass + | | | |---build_config.cfg: BoardTiogaPass specific + | | | | build settings, environment variables. + | | | |---build_board.py: Optional board-specific pre-build, + | | | build, post-build and clean functions. | | | | | |------SimicsOpenBoardPkg | | | |------BoardX58Ich10 @@ -292,6 +303,18 @@ For PurleyOpenBoardPkg "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, used "BinCache" as default path. +For PurleyOpenBoardPkg (TiogaPass) +1. Open command window, go to the workspace directory, e.g. c:\Edk2Workspace. +2. Type "cd edk2-platforms\Platform\Intel\PurleyOpenBoardPkg\BoardTiogaPass". +3. Type "GitEdk2MinBoardTiogaPass.bat" to setup GIT environment. +4. Type "bld" to build Purley BoardTiogaPass board UEFI firmware image, "bld release" for release build, "bld clean" to + remove intermediate files."bld cache-produce" Generate a cache of binary files in the specified directory, + "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, + used "BinCache" as default path. +5. Final BIOS image will be Build\PurleyOpenBoardPkg\BoardTiagoPass\DEBUG_VS2015x86\FV\PLATFORM.fd or + Build\PurleyOpenBoardPkg\BoardTiagoPass\RELEASE_VS2015x86\FV\PLATFORM.fd, depending on bld batch script input. +6. This BIOS image needs to be merged with SPS FW + ### **Known limitations** **KabylakeOpenBoardPkg** @@ -307,6 +330,25 @@ For PurleyOpenBoardPkg 2. This firmware project does not build with the GCC compiler. 3. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +**PurleyOpenBoardPkg Tioga Pass ** +1. This firmware project has only been tested on the Tioga Pass hardware. +2. This firmware project build has only been tested using the Microsoft Visual Studio 2015 build tools. +3. This firmware project does not build with the GCC compiler. +4. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +5. Installed and booted to UEFI Windows 2016 on M.2 NVME slot +6. Installed and booted to UEFI Windows 2019 on M.2 NVME slot and with SATA HDD. +7. Installed and booted to UEFI RHEL 7.3 on SATA HDD +8. Installed and booted to Ubuntu 18.04 on M.2 NVME slot. +9. Verified Mellanox card detection during POST and OS +10. LINUX Boot Support (PcdLinuxBootEnable needs to be enabled) + +1. Follow directions on http://osresearch.net/Building/ to compile the heads kernel and initrd for qemu-system_x86_64 +2. Copy the following built files +(1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +(2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi + + + **SimicsOpenBoardPkg** 1. This firmware project has only been tested booting to Microsoft Windows 10 x64 and Ubuntu 17.10 with AHCI mode. -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [edk2-non-osi] [PATCH] ASpeed : ASpeedGopBinPkg : Add X64 ASpeedAst2500Gop UEFI Driver 2021-06-17 0:51 [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Nate DeSimone @ 2021-06-17 0:51 ` Nate DeSimone 2021-06-17 0:51 ` [edk2-platforms] [PATCH V1 1/2] PurleyOpenBoardPkg : Support for TiogaPass Platform Nate DeSimone ` (4 subsequent siblings) 5 siblings, 0 replies; 11+ messages in thread From: Nate DeSimone @ 2021-06-17 0:51 UTC (permalink / raw) To: devel Cc: manickavasakam karpagavinayagam, Isaac Oram, Felix Polyudov, Harikrishna Doppalapudi, Manish Jha, Zachary Bobroff From: manickavasakam karpagavinayagam <manickavasakamk@ami.com> Add X64 ASpeedAst2500Gop UEFI Driver Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf | 4 ++++ .../ASpeedGopBinPkg/X64/ASpeedAst2500Gop.efi | Bin 0 -> 36928 bytes 2 files changed, 4 insertions(+) create mode 100644 Drivers/ASpeed/ASpeedGopBinPkg/X64/ASpeedAst2500Gop.efi diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf index b3cee45..b563f76 100644 --- a/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf +++ b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf @@ -3,6 +3,7 @@ # # Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -17,3 +18,6 @@ [Binaries.AArch64] PE32|AArch64/ASpeedAst2500Gop.efi|* + +[Binaries.X64] + PE32|X64/ASpeedAst2500Gop.efi|* diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/X64/ASpeedAst2500Gop.efi b/Drivers/ASpeed/ASpeedGopBinPkg/X64/ASpeedAst2500Gop.efi new file mode 100644 index 0000000000000000000000000000000000000000..07d9de0fe5241bf26d516f3522a930880a57f5c5 GIT binary patch literal 36928 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 b8aJ)p<lEG?Y5k@rHf`9nc~ko)MKS*$P$*9B literal 0 HcmV?d00001 -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [edk2-platforms] [PATCH V1 1/2] PurleyOpenBoardPkg : Support for TiogaPass Platform 2021-06-17 0:51 [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi] [PATCH] ASpeed : ASpeedGopBinPkg : Add X64 ASpeedAst2500Gop UEFI Driver Nate DeSimone @ 2021-06-17 0:51 ` Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi][PATCH] PurleySiliconBinPkg : FV binaries derived from Purley Refresh RC version RC610D02 Nate DeSimone ` (3 subsequent siblings) 5 siblings, 0 replies; 11+ messages in thread From: Nate DeSimone @ 2021-06-17 0:51 UTC (permalink / raw) To: devel Cc: manickavasakam karpagavinayagam, Isaac Oram, Felix Polyudov, Harikrishna Doppalapudi, Manish Jha, Zachary Bobroff From: manickavasakam karpagavinayagam <manickavasakamk@ami.com> Add BoardTiogaPass packages to support TiogaPass Platform Enabled Network, ISCSI,IPMI, SMBIOS, Performance Measurement Remove AST2500 UEFI option ROM driver from PurleyOpenBoardPkg AST2500 UEFI option ROM move to edk2-non-osi ASpeedGopBinPkg Updated copyright headers Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c | 8 +- .../Acpi/BoardAcpiDxe/AmlOffsetTable.c | 453 +- .../Acpi/BoardAcpiDxe/BoardAcpiDxeDsdt.c | 3 + .../BoardTiogaPass/CoreDxeInclude.dsc | 165 + .../BoardTiogaPass/CoreUefiBootInclude.fdf | 79 + .../BoardTiogaPass/GitEdk2MinTiogaPass.bat | 93 + .../BasePlatformHookLib/BasePlatformHookLib.c | 389 + .../BasePlatformHookLib.inf | 36 + .../BoardAcpiLib/DxeBoardAcpiTableLib.c | 36 + .../BoardAcpiLib/DxeBoardAcpiTableLib.inf | 40 + .../BoardAcpiLib/DxeTiogaPassAcpiTableLib.c | 53 + .../BoardAcpiLib/SmmBoardAcpiEnableLib.c | 62 + .../BoardAcpiLib/SmmBoardAcpiEnableLib.inf | 41 + .../BoardAcpiLib/SmmSiliconAcpiEnableLib.c | 120 + .../BoardAcpiLib/SmmTiogaPassAcpiEnableLib.c | 37 + .../Library/BoardInitLib/AllLanesEparam.c | 44 + .../Library/BoardInitLib/GpioTable.c | 296 + .../Library/BoardInitLib/IioBifur.c | 70 + .../BoardInitLib/PeiBoardInitPostMemLib.c | 46 + .../BoardInitLib/PeiBoardInitPostMemLib.inf | 37 + .../BoardInitLib/PeiBoardInitPreMemLib.c | 112 + .../BoardInitLib/PeiBoardInitPreMemLib.inf | 69 + .../Library/BoardInitLib/PeiTiogaPassDetect.c | 28 + .../BoardInitLib/PeiTiogaPassInitLib.h | 18 + .../BoardInitLib/PeiTiogaPassInitPostMemLib.c | 86 + .../BoardInitLib/PeiTiogaPassInitPreMemLib.c | 638 ++ .../Library/BoardInitLib/UsbOC.c | 46 + .../Library/PeiReportFvLib/PeiReportFvLib.c | 138 + .../Library/PeiReportFvLib/PeiReportFvLib.inf | 51 + .../BoardTiogaPass/OpenBoardPkg.dsc | 245 + .../BoardTiogaPass/OpenBoardPkg.fdf | 600 ++ .../BoardTiogaPass/PlatformPkgBuildOption.dsc | 84 + .../BoardTiogaPass/PlatformPkgConfig.dsc | 58 + .../BoardTiogaPass/PlatformPkgPcd.dsc | 392 ++ .../BoardTiogaPass/StructureConfig.dsc | 6236 +++++++++++++++++ .../BoardTiogaPass/__init__.py | 0 .../PurleyOpenBoardPkg/BoardTiogaPass/bld.bat | 139 + .../BoardTiogaPass/build_board.py | 195 + .../BoardTiogaPass/build_config.cfg | 34 + .../BoardTiogaPass/logo.txt | 10 + .../BoardTiogaPass/postbuild.bat | 96 + .../BoardTiogaPass/prebuild.bat | 213 + .../Ipmi/Library/IpmiLibKcs/IpmiLibKcs.inf | 10 +- .../IpmiPlatformHookLib.inf | 6 +- .../Include/Guid/PchRcVariable.h | 6 + .../Include/Guid/SetupVariable.h | 15 +- .../Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec | 1 + Platform/Intel/build.cfg | 2 + Platform/Intel/build_bios.py | 3 +- 49 files changed, 11399 insertions(+), 240 deletions(-) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/GitEdk2MinTiogaPass.bat create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeTiogaPassAcpiTableLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmTiogaPassAcpiEnableLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/AllLanesEparam.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/GpioTable.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/IioBifur.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassDetect.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitLib.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPostMemLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPreMemLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/UsbOC.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgBuildOption.dsc create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgPcd.dsc create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/StructureConfig.dsc create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/__init__.py create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/bld.bat create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_board.py create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_config.cfg create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/logo.txt create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/postbuild.bat create mode 100644 Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/prebuild.bat diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c index 1e0c132508..d788b48867 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c @@ -242,7 +242,7 @@ Returns: EFI_STATUS Status; UINT32 DataSize; SM_CTRL_INFO *pBmcInfo; - EFI_IPMI_MSG_GET_BMC_EXEC_RSP *pBmcExecContext; + IPMI_MSG_GET_BMC_EXEC_RSP *pBmcExecContext; UINT32 Retries; #ifdef FAST_VIDEO_SUPPORT EFI_VIDEOPRINT_PROTOCOL *VideoPrintProtocol; @@ -301,14 +301,14 @@ Returns: Status = IpmiSendCommand ( &IpmiInstance->IpmiTransport, IPMI_NETFN_FIRMWARE, 0, - EFI_FIRMWARE_GET_BMC_EXECUTION_CONTEXT, + IPMI_GET_BMC_EXECUTION_CONTEXT, NULL, 0, IpmiInstance->TempData, &DataSize ); - pBmcExecContext = (EFI_IPMI_MSG_GET_BMC_EXEC_RSP*)&IpmiInstance->TempData[0]; + pBmcExecContext = (IPMI_MSG_GET_BMC_EXEC_RSP*)&IpmiInstance->TempData[0]; DEBUG ((DEBUG_INFO, "[IPMI] Operational status of BMC: 0x%x\n", pBmcExecContext->CurrentExecutionContext)); - if ((pBmcExecContext->CurrentExecutionContext == EFI_FIRMWARE_BMC_IN_FORCED_UPDATE_MODE) && + if ((pBmcExecContext->CurrentExecutionContext == IPMI_BMC_IN_FORCED_UPDATE_MODE) && !EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "[IPMI] BMC in Forced Update mode, skip waiting for BMC_READY.\n")); IpmiInstance->BmcStatus = BMC_UPDATE_IN_PROGRESS; diff --git a/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/AmlOffsetTable.c b/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/AmlOffsetTable.c index abb484172e..4fdc9ac94e 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/AmlOffsetTable.c +++ b/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/AmlOffsetTable.c @@ -1,5 +1,6 @@ /** @file Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -59,232 +60,232 @@ typedef struct { */ AML_OFFSET_TABLE_ENTRY DSDT_PLATWFP__OffsetTable[] = { - {"PSYS", 0x5B80, 0x0000038B, 0x0C, 0x00000391, 0x0000000030584946}, /* OPERATIONREGION */ - {"_SB_.PC00.FIX1", 0x0011, 0x00000000, 0x88, 0x0000D187, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC00.FIX2", 0x0011, 0x00000000, 0x88, 0x0000D1AF, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC00.FIX5", 0x0011, 0x00000000, 0x87, 0x0000D1BF, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC00.FIX3", 0x0011, 0x00000000, 0x87, 0x0000D20D, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC00.FIX4", 0x0011, 0x00000000, 0x8A, 0x0000D227, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC01.FIX1", 0x0011, 0x00000000, 0x88, 0x0000EA9B, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC01.FIX5", 0x0011, 0x00000000, 0x87, 0x0000EAAB, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC01.FIX2", 0x0011, 0x00000000, 0x88, 0x0000EAC5, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC01.FIX6", 0x0011, 0x00000000, 0x88, 0x0000EAD5, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC01.FIX7", 0x0011, 0x00000000, 0x88, 0x0000EAE5, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC01.FIX3", 0x0011, 0x00000000, 0x87, 0x0000EAF5, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC01.FIX4", 0x0011, 0x00000000, 0x8A, 0x0000EB0F, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC01.BR1A.MCTL", 0x5B80, 0x0000EB91, 0x0C, 0x0000EB97, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC01.BR1B.MCTL", 0x5B80, 0x0000F3B2, 0x0C, 0x0000F3B8, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC01.BR1C.MCTL", 0x5B80, 0x0000FBD3, 0x0C, 0x0000FBD9, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC01.BR1D.MCTL", 0x5B80, 0x000103F4, 0x0C, 0x000103FA, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC02.FIX1", 0x0011, 0x00000000, 0x88, 0x00010E93, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC02.FIX5", 0x0011, 0x00000000, 0x87, 0x00010EA3, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC02.FIX2", 0x0011, 0x00000000, 0x88, 0x00010EBD, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC02.FIX6", 0x0011, 0x00000000, 0x88, 0x00010ECD, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC02.FIX7", 0x0011, 0x00000000, 0x88, 0x00010EDD, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC02.FIX3", 0x0011, 0x00000000, 0x87, 0x00010EED, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC02.FIX4", 0x0011, 0x00000000, 0x8A, 0x00010F07, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC02.BR2A.MCTL", 0x5B80, 0x00010F89, 0x0C, 0x00010F8F, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC02.BR2B.MCTL", 0x5B80, 0x00011969, 0x0C, 0x0001196F, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC02.BR2C.MCTL", 0x5B80, 0x0001218A, 0x0C, 0x00012190, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC02.BR2D.MCTL", 0x5B80, 0x000129AB, 0x0C, 0x000129B1, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC03.FIX1", 0x0011, 0x00000000, 0x88, 0x000133E4, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC03.FIX5", 0x0011, 0x00000000, 0x87, 0x000133F4, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC03.FIX2", 0x0011, 0x00000000, 0x88, 0x0001340E, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC03.FIX6", 0x0011, 0x00000000, 0x88, 0x0001341E, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC03.FIX7", 0x0011, 0x00000000, 0x88, 0x0001342E, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC03.FIX3", 0x0011, 0x00000000, 0x87, 0x0001343E, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC03.FIX4", 0x0011, 0x00000000, 0x8A, 0x00013458, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC03.BR3A.MCTL", 0x5B80, 0x000134DA, 0x0C, 0x000134E0, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC03.BR3B.MCTL", 0x5B80, 0x00013CFB, 0x0C, 0x00013D01, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC03.BR3C.MCTL", 0x5B80, 0x0001451C, 0x0C, 0x00014522, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC03.BR3D.MCTL", 0x5B80, 0x00014D3D, 0x0C, 0x00014D43, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC04.FIX1", 0x0011, 0x00000000, 0x88, 0x000156F0, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC04.FIX5", 0x0011, 0x00000000, 0x87, 0x00015700, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC04.FIX2", 0x0011, 0x00000000, 0x88, 0x0001571A, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC04.FIX6", 0x0011, 0x00000000, 0x88, 0x0001572A, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC04.FIX7", 0x0011, 0x00000000, 0x88, 0x0001573A, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC04.FIX3", 0x0011, 0x00000000, 0x87, 0x0001574A, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC04.FIX4", 0x0011, 0x00000000, 0x8A, 0x00015764, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC04.MCP0.MCTL", 0x5B80, 0x000157E6, 0x0C, 0x000157EC, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC05.FIX1", 0x0011, 0x00000000, 0x88, 0x0001612D, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC05.FIX5", 0x0011, 0x00000000, 0x87, 0x0001613D, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC05.FIX2", 0x0011, 0x00000000, 0x88, 0x00016157, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC05.FIX6", 0x0011, 0x00000000, 0x88, 0x00016167, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC05.FIX7", 0x0011, 0x00000000, 0x88, 0x00016177, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC05.FIX3", 0x0011, 0x00000000, 0x87, 0x00016187, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC05.FIX4", 0x0011, 0x00000000, 0x8A, 0x000161A1, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC05.MCP1.MCTL", 0x5B80, 0x00016223, 0x0C, 0x00016229, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC06.FIX1", 0x0011, 0x00000000, 0x88, 0x00016FD9, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC06.FIX5", 0x0011, 0x00000000, 0x87, 0x00016FE9, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC06.FIX2", 0x0011, 0x00000000, 0x88, 0x00017003, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC06.FIX6", 0x0011, 0x00000000, 0x88, 0x00017013, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC06.FIX7", 0x0011, 0x00000000, 0x88, 0x00017023, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC06.FIX3", 0x0011, 0x00000000, 0x87, 0x00017033, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC06.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001704D, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC06.QRP0.MCTL", 0x5B80, 0x00017149, 0x0C, 0x0001714F, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC07.FIX1", 0x0011, 0x00000000, 0x88, 0x00017BC4, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC07.FIX5", 0x0011, 0x00000000, 0x87, 0x00017BD4, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC07.FIX2", 0x0011, 0x00000000, 0x88, 0x00017BEE, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC07.FIX6", 0x0011, 0x00000000, 0x88, 0x00017BFE, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC07.FIX7", 0x0011, 0x00000000, 0x88, 0x00017C0E, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC07.FIX3", 0x0011, 0x00000000, 0x87, 0x00017C1E, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC07.FIX4", 0x0011, 0x00000000, 0x8A, 0x00017C38, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC07.QR1A.MCTL", 0x5B80, 0x00017CCA, 0x0C, 0x00017CD0, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC07.QR1B.MCTL", 0x5B80, 0x00018506, 0x0C, 0x0001850C, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC07.QR1C.MCTL", 0x5B80, 0x00018D42, 0x0C, 0x00018D48, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC07.QR1D.MCTL", 0x5B80, 0x0001957E, 0x0C, 0x00019584, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC08.FIX1", 0x0011, 0x00000000, 0x88, 0x0001A04E, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC08.FIX5", 0x0011, 0x00000000, 0x87, 0x0001A05E, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC08.FIX2", 0x0011, 0x00000000, 0x88, 0x0001A078, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC08.FIX6", 0x0011, 0x00000000, 0x88, 0x0001A088, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC08.FIX7", 0x0011, 0x00000000, 0x88, 0x0001A098, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC08.FIX3", 0x0011, 0x00000000, 0x87, 0x0001A0A8, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC08.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001A0C2, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC08.QR2A.MCTL", 0x5B80, 0x0001A154, 0x0C, 0x0001A15A, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC08.QR2B.MCTL", 0x5B80, 0x0001A990, 0x0C, 0x0001A996, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC08.QR2C.MCTL", 0x5B80, 0x0001B1CC, 0x0C, 0x0001B1D2, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC08.QR2D.MCTL", 0x5B80, 0x0001BA08, 0x0C, 0x0001BA0E, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC09.FIX1", 0x0011, 0x00000000, 0x88, 0x0001C461, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC09.FIX5", 0x0011, 0x00000000, 0x87, 0x0001C471, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC09.FIX2", 0x0011, 0x00000000, 0x88, 0x0001C48B, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC09.FIX6", 0x0011, 0x00000000, 0x88, 0x0001C49B, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC09.FIX7", 0x0011, 0x00000000, 0x88, 0x0001C4AB, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC09.FIX3", 0x0011, 0x00000000, 0x87, 0x0001C4BB, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC09.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001C4D5, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC09.QR3A.MCTL", 0x5B80, 0x0001C567, 0x0C, 0x0001C56D, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC09.QR3B.MCTL", 0x5B80, 0x0001CDA3, 0x0C, 0x0001CDA9, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC09.QR3C.MCTL", 0x5B80, 0x0001D5DF, 0x0C, 0x0001D5E5, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC09.QR3D.MCTL", 0x5B80, 0x0001DE1B, 0x0C, 0x0001DE21, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC10.FIX1", 0x0011, 0x00000000, 0x88, 0x0001E7EE, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC10.FIX5", 0x0011, 0x00000000, 0x87, 0x0001E7FE, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC10.FIX2", 0x0011, 0x00000000, 0x88, 0x0001E818, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC10.FIX6", 0x0011, 0x00000000, 0x88, 0x0001E828, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC10.FIX7", 0x0011, 0x00000000, 0x88, 0x0001E838, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC10.FIX3", 0x0011, 0x00000000, 0x87, 0x0001E848, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC10.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001E862, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC10.MCP2.MCTL", 0x5B80, 0x0001E8F4, 0x0C, 0x0001E8FA, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC11.FIX1", 0x0011, 0x00000000, 0x88, 0x0001F250, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC11.FIX5", 0x0011, 0x00000000, 0x87, 0x0001F260, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC11.FIX2", 0x0011, 0x00000000, 0x88, 0x0001F27A, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC11.FIX6", 0x0011, 0x00000000, 0x88, 0x0001F28A, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC11.FIX7", 0x0011, 0x00000000, 0x88, 0x0001F29A, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC11.FIX3", 0x0011, 0x00000000, 0x87, 0x0001F2AA, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC11.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001F2C4, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC11.MCP3.MCTL", 0x5B80, 0x0001F356, 0x0C, 0x0001F35C, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC12.FIX1", 0x0011, 0x00000000, 0x88, 0x0002011C, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC12.FIX5", 0x0011, 0x00000000, 0x87, 0x0002012C, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC12.FIX2", 0x0011, 0x00000000, 0x88, 0x00020146, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC12.FIX6", 0x0011, 0x00000000, 0x88, 0x00020156, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC12.FIX7", 0x0011, 0x00000000, 0x88, 0x00020166, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC12.FIX3", 0x0011, 0x00000000, 0x87, 0x00020176, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC12.FIX4", 0x0011, 0x00000000, 0x8A, 0x00020190, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC12.RRP0.MCTL", 0x5B80, 0x0002028C, 0x0C, 0x00020292, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC13.FIX1", 0x0011, 0x00000000, 0x88, 0x00020D07, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC13.FIX5", 0x0011, 0x00000000, 0x87, 0x00020D17, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC13.FIX2", 0x0011, 0x00000000, 0x88, 0x00020D31, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC13.FIX6", 0x0011, 0x00000000, 0x88, 0x00020D41, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC13.FIX7", 0x0011, 0x00000000, 0x88, 0x00020D51, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC13.FIX3", 0x0011, 0x00000000, 0x87, 0x00020D61, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC13.FIX4", 0x0011, 0x00000000, 0x8A, 0x00020D7B, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC13.RR1A.MCTL", 0x5B80, 0x00020E0D, 0x0C, 0x00020E13, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC13.RR1B.MCTL", 0x5B80, 0x00021649, 0x0C, 0x0002164F, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC13.RR1C.MCTL", 0x5B80, 0x00021E85, 0x0C, 0x00021E8B, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC13.RR1D.MCTL", 0x5B80, 0x000226C1, 0x0C, 0x000226C7, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC14.FIX1", 0x0011, 0x00000000, 0x88, 0x0002316F, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC14.FIX5", 0x0011, 0x00000000, 0x87, 0x0002317F, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC14.FIX2", 0x0011, 0x00000000, 0x88, 0x00023199, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC14.FIX6", 0x0011, 0x00000000, 0x88, 0x000231A9, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC14.FIX7", 0x0011, 0x00000000, 0x88, 0x000231B9, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC14.FIX3", 0x0011, 0x00000000, 0x87, 0x000231C9, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC14.FIX4", 0x0011, 0x00000000, 0x8A, 0x000231E3, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC14.RR2A.MCTL", 0x5B80, 0x00023275, 0x0C, 0x0002327B, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC14.RR2B.MCTL", 0x5B80, 0x00023AB1, 0x0C, 0x00023AB7, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC14.RR2C.MCTL", 0x5B80, 0x000242ED, 0x0C, 0x000242F3, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC14.RR2D.MCTL", 0x5B80, 0x00024B29, 0x0C, 0x00024B2F, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC15.FIX1", 0x0011, 0x00000000, 0x88, 0x00025582, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC15.FIX5", 0x0011, 0x00000000, 0x87, 0x00025592, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC15.FIX2", 0x0011, 0x00000000, 0x88, 0x000255AC, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC15.FIX6", 0x0011, 0x00000000, 0x88, 0x000255BC, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC15.FIX7", 0x0011, 0x00000000, 0x88, 0x000255CC, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC15.FIX3", 0x0011, 0x00000000, 0x87, 0x000255DC, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC15.FIX4", 0x0011, 0x00000000, 0x8A, 0x000255F6, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC15.RR3A.MCTL", 0x5B80, 0x00025688, 0x0C, 0x0002568E, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC15.RR3B.MCTL", 0x5B80, 0x00025EC4, 0x0C, 0x00025ECA, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC15.RR3C.MCTL", 0x5B80, 0x00026700, 0x0C, 0x00026706, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC15.RR3D.MCTL", 0x5B80, 0x00026F3C, 0x0C, 0x00026F42, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC16.FIX1", 0x0011, 0x00000000, 0x88, 0x0002790F, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC16.FIX5", 0x0011, 0x00000000, 0x87, 0x0002791F, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC16.FIX2", 0x0011, 0x00000000, 0x88, 0x00027939, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC16.FIX6", 0x0011, 0x00000000, 0x88, 0x00027949, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC16.FIX7", 0x0011, 0x00000000, 0x88, 0x00027959, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC16.FIX3", 0x0011, 0x00000000, 0x87, 0x00027969, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC16.FIX4", 0x0011, 0x00000000, 0x8A, 0x00027983, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC16.MCP4.MCTL", 0x5B80, 0x00027A15, 0x0C, 0x00027A1B, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC17.FIX1", 0x0011, 0x00000000, 0x88, 0x00028371, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC17.FIX5", 0x0011, 0x00000000, 0x87, 0x00028381, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC17.FIX2", 0x0011, 0x00000000, 0x88, 0x0002839B, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC17.FIX6", 0x0011, 0x00000000, 0x88, 0x000283AB, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC17.FIX7", 0x0011, 0x00000000, 0x88, 0x000283BB, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC17.FIX3", 0x0011, 0x00000000, 0x87, 0x000283CB, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC17.FIX4", 0x0011, 0x00000000, 0x8A, 0x000283E5, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC17.MCP5.MCTL", 0x5B80, 0x00028477, 0x0C, 0x0002847D, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC18.FIX1", 0x0011, 0x00000000, 0x88, 0x0002923D, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC18.FIX5", 0x0011, 0x00000000, 0x87, 0x0002924D, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC18.FIX2", 0x0011, 0x00000000, 0x88, 0x00029267, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC18.FIX6", 0x0011, 0x00000000, 0x88, 0x00029277, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC18.FIX7", 0x0011, 0x00000000, 0x88, 0x00029287, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC18.FIX3", 0x0011, 0x00000000, 0x87, 0x00029297, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC18.FIX4", 0x0011, 0x00000000, 0x8A, 0x000292B1, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC18.SRP0.MCTL", 0x5B80, 0x000293AD, 0x0C, 0x000293B3, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC19.FIX1", 0x0011, 0x00000000, 0x88, 0x00029E28, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC19.FIX5", 0x0011, 0x00000000, 0x87, 0x00029E38, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC19.FIX2", 0x0011, 0x00000000, 0x88, 0x00029E52, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC19.FIX6", 0x0011, 0x00000000, 0x88, 0x00029E62, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC19.FIX7", 0x0011, 0x00000000, 0x88, 0x00029E72, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC19.FIX3", 0x0011, 0x00000000, 0x87, 0x00029E82, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC19.FIX4", 0x0011, 0x00000000, 0x8A, 0x00029E9C, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC19.SR1A.MCTL", 0x5B80, 0x00029F2E, 0x0C, 0x00029F34, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC19.SR1B.MCTL", 0x5B80, 0x0002A76A, 0x0C, 0x0002A770, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC19.SR1C.MCTL", 0x5B80, 0x0002AFA6, 0x0C, 0x0002AFAC, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC19.SR1D.MCTL", 0x5B80, 0x0002B7E2, 0x0C, 0x0002B7E8, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC20.FIX1", 0x0011, 0x00000000, 0x88, 0x0002C2B2, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC20.FIX5", 0x0011, 0x00000000, 0x87, 0x0002C2C2, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC20.FIX2", 0x0011, 0x00000000, 0x88, 0x0002C2DC, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC20.FIX6", 0x0011, 0x00000000, 0x88, 0x0002C2EC, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC20.FIX7", 0x0011, 0x00000000, 0x88, 0x0002C2FC, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC20.FIX3", 0x0011, 0x00000000, 0x87, 0x0002C30C, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC20.FIX4", 0x0011, 0x00000000, 0x8A, 0x0002C326, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC20.SR2A.MCTL", 0x5B80, 0x0002C3B8, 0x0C, 0x0002C3BE, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC20.SR2B.MCTL", 0x5B80, 0x0002CBF4, 0x0C, 0x0002CBFA, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC20.SR2C.MCTL", 0x5B80, 0x0002D430, 0x0C, 0x0002D436, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC20.SR2D.MCTL", 0x5B80, 0x0002DC6C, 0x0C, 0x0002DC72, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC21.FIX1", 0x0011, 0x00000000, 0x88, 0x0002E6C5, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC21.FIX5", 0x0011, 0x00000000, 0x87, 0x0002E6D5, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC21.FIX2", 0x0011, 0x00000000, 0x88, 0x0002E6EF, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC21.FIX6", 0x0011, 0x00000000, 0x88, 0x0002E6FF, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC21.FIX7", 0x0011, 0x00000000, 0x88, 0x0002E70F, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC21.FIX3", 0x0011, 0x00000000, 0x87, 0x0002E71F, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC21.FIX4", 0x0011, 0x00000000, 0x8A, 0x0002E739, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC21.SR3A.MCTL", 0x5B80, 0x0002E7CB, 0x0C, 0x0002E7D1, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC21.SR3B.MCTL", 0x5B80, 0x0002F007, 0x0C, 0x0002F00D, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC21.SR3C.MCTL", 0x5B80, 0x0002F843, 0x0C, 0x0002F849, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC21.SR3D.MCTL", 0x5B80, 0x0003007F, 0x0C, 0x00030085, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC22.FIX1", 0x0011, 0x00000000, 0x88, 0x00030A52, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC22.FIX5", 0x0011, 0x00000000, 0x87, 0x00030A62, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC22.FIX2", 0x0011, 0x00000000, 0x88, 0x00030A7C, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC22.FIX6", 0x0011, 0x00000000, 0x88, 0x00030A8C, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC22.FIX7", 0x0011, 0x00000000, 0x88, 0x00030A9C, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC22.FIX3", 0x0011, 0x00000000, 0x87, 0x00030AAC, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC22.FIX4", 0x0011, 0x00000000, 0x8A, 0x00030AC6, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC22.MCP6.MCTL", 0x5B80, 0x00030B58, 0x0C, 0x00030B5E, 0x0000000038584946}, /* OPERATIONREGION */ - {"_SB_.PC23.FIX1", 0x0011, 0x00000000, 0x88, 0x000314B4, 0x0000000000000000}, /* WORDBUSNUMBER */ - {"_SB_.PC23.FIX5", 0x0011, 0x00000000, 0x87, 0x000314C4, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC23.FIX2", 0x0011, 0x00000000, 0x88, 0x000314DE, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC23.FIX6", 0x0011, 0x00000000, 0x88, 0x000314EE, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC23.FIX7", 0x0011, 0x00000000, 0x88, 0x000314FE, 0x0000000000000000}, /* WORDIO */ - {"_SB_.PC23.FIX3", 0x0011, 0x00000000, 0x87, 0x0003150E, 0x0000000000000000}, /* DWORDMEMORY */ - {"_SB_.PC23.FIX4", 0x0011, 0x00000000, 0x8A, 0x00031528, 0x0000000000000000}, /* QWORDMEMORY */ - {"_SB_.PC23.MCP7.MCTL", 0x5B80, 0x000315BA, 0x0C, 0x000315C0, 0x0000000038584946}, /* OPERATIONREGION */ + {"PSYS", 0x5B80, 0x00000465, 0x0C, 0x0000046B, 0x0000000030584946}, /* OPERATIONREGION */ + {"_SB_.PC00.FIX1", 0x0011, 0x00000000, 0x88, 0x0000D261, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC00.FIX2", 0x0011, 0x00000000, 0x88, 0x0000D289, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC00.FIX5", 0x0011, 0x00000000, 0x87, 0x0000D299, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC00.FIX3", 0x0011, 0x00000000, 0x87, 0x0000D2E7, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC00.FIX4", 0x0011, 0x00000000, 0x8A, 0x0000D301, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC01.FIX1", 0x0011, 0x00000000, 0x88, 0x0000EB75, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC01.FIX5", 0x0011, 0x00000000, 0x87, 0x0000EB85, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC01.FIX2", 0x0011, 0x00000000, 0x88, 0x0000EB9F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC01.FIX6", 0x0011, 0x00000000, 0x88, 0x0000EBAF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC01.FIX7", 0x0011, 0x00000000, 0x88, 0x0000EBBF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC01.FIX3", 0x0011, 0x00000000, 0x87, 0x0000EBCF, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC01.FIX4", 0x0011, 0x00000000, 0x8A, 0x0000EBE9, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC01.BR1A.MCTL", 0x5B80, 0x0000EC6B, 0x0C, 0x0000EC71, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC01.BR1B.MCTL", 0x5B80, 0x0000F48A, 0x0C, 0x0000F490, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC01.BR1C.MCTL", 0x5B80, 0x0000FCA9, 0x0C, 0x0000FCAF, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC01.BR1D.MCTL", 0x5B80, 0x000104C8, 0x0C, 0x000104CE, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC02.FIX1", 0x0011, 0x00000000, 0x88, 0x00010F65, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC02.FIX5", 0x0011, 0x00000000, 0x87, 0x00010F75, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC02.FIX2", 0x0011, 0x00000000, 0x88, 0x00010F8F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC02.FIX6", 0x0011, 0x00000000, 0x88, 0x00010F9F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC02.FIX7", 0x0011, 0x00000000, 0x88, 0x00010FAF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC02.FIX3", 0x0011, 0x00000000, 0x87, 0x00010FBF, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC02.FIX4", 0x0011, 0x00000000, 0x8A, 0x00010FD9, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC02.BR2A.MCTL", 0x5B80, 0x0001105B, 0x0C, 0x00011061, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC02.BR2B.MCTL", 0x5B80, 0x00011A39, 0x0C, 0x00011A3F, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC02.BR2C.MCTL", 0x5B80, 0x00012258, 0x0C, 0x0001225E, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC02.BR2D.MCTL", 0x5B80, 0x00012A77, 0x0C, 0x00012A7D, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC03.FIX1", 0x0011, 0x00000000, 0x88, 0x000134AE, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC03.FIX5", 0x0011, 0x00000000, 0x87, 0x000134BE, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC03.FIX2", 0x0011, 0x00000000, 0x88, 0x000134D8, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC03.FIX6", 0x0011, 0x00000000, 0x88, 0x000134E8, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC03.FIX7", 0x0011, 0x00000000, 0x88, 0x000134F8, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC03.FIX3", 0x0011, 0x00000000, 0x87, 0x00013508, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC03.FIX4", 0x0011, 0x00000000, 0x8A, 0x00013522, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC03.BR3A.MCTL", 0x5B80, 0x000135A4, 0x0C, 0x000135AA, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC03.BR3B.MCTL", 0x5B80, 0x00013DC3, 0x0C, 0x00013DC9, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC03.BR3C.MCTL", 0x5B80, 0x000145E2, 0x0C, 0x000145E8, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC03.BR3D.MCTL", 0x5B80, 0x00014E01, 0x0C, 0x00014E07, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC04.FIX1", 0x0011, 0x00000000, 0x88, 0x000157B2, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC04.FIX5", 0x0011, 0x00000000, 0x87, 0x000157C2, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC04.FIX2", 0x0011, 0x00000000, 0x88, 0x000157DC, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC04.FIX6", 0x0011, 0x00000000, 0x88, 0x000157EC, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC04.FIX7", 0x0011, 0x00000000, 0x88, 0x000157FC, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC04.FIX3", 0x0011, 0x00000000, 0x87, 0x0001580C, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC04.FIX4", 0x0011, 0x00000000, 0x8A, 0x00015826, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC04.MCP0.MCTL", 0x5B80, 0x000158A8, 0x0C, 0x000158AE, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC05.FIX1", 0x0011, 0x00000000, 0x88, 0x000161ED, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC05.FIX5", 0x0011, 0x00000000, 0x87, 0x000161FD, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC05.FIX2", 0x0011, 0x00000000, 0x88, 0x00016217, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC05.FIX6", 0x0011, 0x00000000, 0x88, 0x00016227, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC05.FIX7", 0x0011, 0x00000000, 0x88, 0x00016237, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC05.FIX3", 0x0011, 0x00000000, 0x87, 0x00016247, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC05.FIX4", 0x0011, 0x00000000, 0x8A, 0x00016261, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC05.MCP1.MCTL", 0x5B80, 0x000162E3, 0x0C, 0x000162E9, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC06.FIX1", 0x0011, 0x00000000, 0x88, 0x00017097, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC06.FIX5", 0x0011, 0x00000000, 0x87, 0x000170A7, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC06.FIX2", 0x0011, 0x00000000, 0x88, 0x000170C1, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC06.FIX6", 0x0011, 0x00000000, 0x88, 0x000170D1, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC06.FIX7", 0x0011, 0x00000000, 0x88, 0x000170E1, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC06.FIX3", 0x0011, 0x00000000, 0x87, 0x000170F1, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC06.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001710B, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC06.QRP0.MCTL", 0x5B80, 0x00017207, 0x0C, 0x0001720D, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC07.FIX1", 0x0011, 0x00000000, 0x88, 0x00017C80, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC07.FIX5", 0x0011, 0x00000000, 0x87, 0x00017C90, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC07.FIX2", 0x0011, 0x00000000, 0x88, 0x00017CAA, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC07.FIX6", 0x0011, 0x00000000, 0x88, 0x00017CBA, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC07.FIX7", 0x0011, 0x00000000, 0x88, 0x00017CCA, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC07.FIX3", 0x0011, 0x00000000, 0x87, 0x00017CDA, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC07.FIX4", 0x0011, 0x00000000, 0x8A, 0x00017CF4, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC07.QR1A.MCTL", 0x5B80, 0x00017D86, 0x0C, 0x00017D8C, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC07.QR1B.MCTL", 0x5B80, 0x000185C0, 0x0C, 0x000185C6, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC07.QR1C.MCTL", 0x5B80, 0x00018DFA, 0x0C, 0x00018E00, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC07.QR1D.MCTL", 0x5B80, 0x00019634, 0x0C, 0x0001963A, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC08.FIX1", 0x0011, 0x00000000, 0x88, 0x0001A102, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC08.FIX5", 0x0011, 0x00000000, 0x87, 0x0001A112, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC08.FIX2", 0x0011, 0x00000000, 0x88, 0x0001A12C, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC08.FIX6", 0x0011, 0x00000000, 0x88, 0x0001A13C, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC08.FIX7", 0x0011, 0x00000000, 0x88, 0x0001A14C, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC08.FIX3", 0x0011, 0x00000000, 0x87, 0x0001A15C, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC08.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001A176, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC08.QR2A.MCTL", 0x5B80, 0x0001A208, 0x0C, 0x0001A20E, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC08.QR2B.MCTL", 0x5B80, 0x0001AA42, 0x0C, 0x0001AA48, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC08.QR2C.MCTL", 0x5B80, 0x0001B27C, 0x0C, 0x0001B282, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC08.QR2D.MCTL", 0x5B80, 0x0001BAB6, 0x0C, 0x0001BABC, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC09.FIX1", 0x0011, 0x00000000, 0x88, 0x0001C50D, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC09.FIX5", 0x0011, 0x00000000, 0x87, 0x0001C51D, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC09.FIX2", 0x0011, 0x00000000, 0x88, 0x0001C537, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC09.FIX6", 0x0011, 0x00000000, 0x88, 0x0001C547, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC09.FIX7", 0x0011, 0x00000000, 0x88, 0x0001C557, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC09.FIX3", 0x0011, 0x00000000, 0x87, 0x0001C567, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC09.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001C581, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC09.QR3A.MCTL", 0x5B80, 0x0001C613, 0x0C, 0x0001C619, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC09.QR3B.MCTL", 0x5B80, 0x0001CE4D, 0x0C, 0x0001CE53, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC09.QR3C.MCTL", 0x5B80, 0x0001D687, 0x0C, 0x0001D68D, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC09.QR3D.MCTL", 0x5B80, 0x0001DEC1, 0x0C, 0x0001DEC7, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC10.FIX1", 0x0011, 0x00000000, 0x88, 0x0001E892, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC10.FIX5", 0x0011, 0x00000000, 0x87, 0x0001E8A2, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC10.FIX2", 0x0011, 0x00000000, 0x88, 0x0001E8BC, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC10.FIX6", 0x0011, 0x00000000, 0x88, 0x0001E8CC, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC10.FIX7", 0x0011, 0x00000000, 0x88, 0x0001E8DC, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC10.FIX3", 0x0011, 0x00000000, 0x87, 0x0001E8EC, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC10.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001E906, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC10.MCP2.MCTL", 0x5B80, 0x0001E998, 0x0C, 0x0001E99E, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC11.FIX1", 0x0011, 0x00000000, 0x88, 0x0001F2F2, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC11.FIX5", 0x0011, 0x00000000, 0x87, 0x0001F302, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC11.FIX2", 0x0011, 0x00000000, 0x88, 0x0001F31C, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC11.FIX6", 0x0011, 0x00000000, 0x88, 0x0001F32C, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC11.FIX7", 0x0011, 0x00000000, 0x88, 0x0001F33C, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC11.FIX3", 0x0011, 0x00000000, 0x87, 0x0001F34C, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC11.FIX4", 0x0011, 0x00000000, 0x8A, 0x0001F366, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC11.MCP3.MCTL", 0x5B80, 0x0001F3F8, 0x0C, 0x0001F3FE, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC12.FIX1", 0x0011, 0x00000000, 0x88, 0x000201BC, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC12.FIX5", 0x0011, 0x00000000, 0x87, 0x000201CC, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC12.FIX2", 0x0011, 0x00000000, 0x88, 0x000201E6, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC12.FIX6", 0x0011, 0x00000000, 0x88, 0x000201F6, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC12.FIX7", 0x0011, 0x00000000, 0x88, 0x00020206, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC12.FIX3", 0x0011, 0x00000000, 0x87, 0x00020216, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC12.FIX4", 0x0011, 0x00000000, 0x8A, 0x00020230, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC12.RRP0.MCTL", 0x5B80, 0x0002032C, 0x0C, 0x00020332, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC13.FIX1", 0x0011, 0x00000000, 0x88, 0x00020DA5, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC13.FIX5", 0x0011, 0x00000000, 0x87, 0x00020DB5, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC13.FIX2", 0x0011, 0x00000000, 0x88, 0x00020DCF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC13.FIX6", 0x0011, 0x00000000, 0x88, 0x00020DDF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC13.FIX7", 0x0011, 0x00000000, 0x88, 0x00020DEF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC13.FIX3", 0x0011, 0x00000000, 0x87, 0x00020DFF, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC13.FIX4", 0x0011, 0x00000000, 0x8A, 0x00020E19, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC13.RR1A.MCTL", 0x5B80, 0x00020EAB, 0x0C, 0x00020EB1, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC13.RR1B.MCTL", 0x5B80, 0x000216E5, 0x0C, 0x000216EB, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC13.RR1C.MCTL", 0x5B80, 0x00021F1F, 0x0C, 0x00021F25, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC13.RR1D.MCTL", 0x5B80, 0x00022759, 0x0C, 0x0002275F, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC14.FIX1", 0x0011, 0x00000000, 0x88, 0x00023205, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC14.FIX5", 0x0011, 0x00000000, 0x87, 0x00023215, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC14.FIX2", 0x0011, 0x00000000, 0x88, 0x0002322F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC14.FIX6", 0x0011, 0x00000000, 0x88, 0x0002323F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC14.FIX7", 0x0011, 0x00000000, 0x88, 0x0002324F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC14.FIX3", 0x0011, 0x00000000, 0x87, 0x0002325F, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC14.FIX4", 0x0011, 0x00000000, 0x8A, 0x00023279, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC14.RR2A.MCTL", 0x5B80, 0x0002330B, 0x0C, 0x00023311, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC14.RR2B.MCTL", 0x5B80, 0x00023B45, 0x0C, 0x00023B4B, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC14.RR2C.MCTL", 0x5B80, 0x0002437F, 0x0C, 0x00024385, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC14.RR2D.MCTL", 0x5B80, 0x00024BB9, 0x0C, 0x00024BBF, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC15.FIX1", 0x0011, 0x00000000, 0x88, 0x00025610, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC15.FIX5", 0x0011, 0x00000000, 0x87, 0x00025620, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC15.FIX2", 0x0011, 0x00000000, 0x88, 0x0002563A, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC15.FIX6", 0x0011, 0x00000000, 0x88, 0x0002564A, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC15.FIX7", 0x0011, 0x00000000, 0x88, 0x0002565A, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC15.FIX3", 0x0011, 0x00000000, 0x87, 0x0002566A, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC15.FIX4", 0x0011, 0x00000000, 0x8A, 0x00025684, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC15.RR3A.MCTL", 0x5B80, 0x00025716, 0x0C, 0x0002571C, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC15.RR3B.MCTL", 0x5B80, 0x00025F50, 0x0C, 0x00025F56, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC15.RR3C.MCTL", 0x5B80, 0x0002678A, 0x0C, 0x00026790, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC15.RR3D.MCTL", 0x5B80, 0x00026FC4, 0x0C, 0x00026FCA, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC16.FIX1", 0x0011, 0x00000000, 0x88, 0x00027995, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC16.FIX5", 0x0011, 0x00000000, 0x87, 0x000279A5, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC16.FIX2", 0x0011, 0x00000000, 0x88, 0x000279BF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC16.FIX6", 0x0011, 0x00000000, 0x88, 0x000279CF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC16.FIX7", 0x0011, 0x00000000, 0x88, 0x000279DF, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC16.FIX3", 0x0011, 0x00000000, 0x87, 0x000279EF, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC16.FIX4", 0x0011, 0x00000000, 0x8A, 0x00027A09, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC16.MCP4.MCTL", 0x5B80, 0x00027A9B, 0x0C, 0x00027AA1, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC17.FIX1", 0x0011, 0x00000000, 0x88, 0x000283F5, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC17.FIX5", 0x0011, 0x00000000, 0x87, 0x00028405, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC17.FIX2", 0x0011, 0x00000000, 0x88, 0x0002841F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC17.FIX6", 0x0011, 0x00000000, 0x88, 0x0002842F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC17.FIX7", 0x0011, 0x00000000, 0x88, 0x0002843F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC17.FIX3", 0x0011, 0x00000000, 0x87, 0x0002844F, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC17.FIX4", 0x0011, 0x00000000, 0x8A, 0x00028469, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC17.MCP5.MCTL", 0x5B80, 0x000284FB, 0x0C, 0x00028501, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC18.FIX1", 0x0011, 0x00000000, 0x88, 0x000292BF, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC18.FIX5", 0x0011, 0x00000000, 0x87, 0x000292CF, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC18.FIX2", 0x0011, 0x00000000, 0x88, 0x000292E9, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC18.FIX6", 0x0011, 0x00000000, 0x88, 0x000292F9, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC18.FIX7", 0x0011, 0x00000000, 0x88, 0x00029309, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC18.FIX3", 0x0011, 0x00000000, 0x87, 0x00029319, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC18.FIX4", 0x0011, 0x00000000, 0x8A, 0x00029333, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC18.SRP0.MCTL", 0x5B80, 0x0002942F, 0x0C, 0x00029435, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC19.FIX1", 0x0011, 0x00000000, 0x88, 0x00029EA8, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC19.FIX5", 0x0011, 0x00000000, 0x87, 0x00029EB8, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC19.FIX2", 0x0011, 0x00000000, 0x88, 0x00029ED2, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC19.FIX6", 0x0011, 0x00000000, 0x88, 0x00029EE2, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC19.FIX7", 0x0011, 0x00000000, 0x88, 0x00029EF2, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC19.FIX3", 0x0011, 0x00000000, 0x87, 0x00029F02, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC19.FIX4", 0x0011, 0x00000000, 0x8A, 0x00029F1C, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC19.SR1A.MCTL", 0x5B80, 0x00029FAE, 0x0C, 0x00029FB4, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC19.SR1B.MCTL", 0x5B80, 0x0002A7E8, 0x0C, 0x0002A7EE, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC19.SR1C.MCTL", 0x5B80, 0x0002B022, 0x0C, 0x0002B028, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC19.SR1D.MCTL", 0x5B80, 0x0002B85C, 0x0C, 0x0002B862, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC20.FIX1", 0x0011, 0x00000000, 0x88, 0x0002C32A, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC20.FIX5", 0x0011, 0x00000000, 0x87, 0x0002C33A, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC20.FIX2", 0x0011, 0x00000000, 0x88, 0x0002C354, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC20.FIX6", 0x0011, 0x00000000, 0x88, 0x0002C364, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC20.FIX7", 0x0011, 0x00000000, 0x88, 0x0002C374, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC20.FIX3", 0x0011, 0x00000000, 0x87, 0x0002C384, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC20.FIX4", 0x0011, 0x00000000, 0x8A, 0x0002C39E, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC20.SR2A.MCTL", 0x5B80, 0x0002C430, 0x0C, 0x0002C436, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC20.SR2B.MCTL", 0x5B80, 0x0002CC6A, 0x0C, 0x0002CC70, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC20.SR2C.MCTL", 0x5B80, 0x0002D4A4, 0x0C, 0x0002D4AA, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC20.SR2D.MCTL", 0x5B80, 0x0002DCDE, 0x0C, 0x0002DCE4, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC21.FIX1", 0x0011, 0x00000000, 0x88, 0x0002E735, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC21.FIX5", 0x0011, 0x00000000, 0x87, 0x0002E745, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC21.FIX2", 0x0011, 0x00000000, 0x88, 0x0002E75F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC21.FIX6", 0x0011, 0x00000000, 0x88, 0x0002E76F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC21.FIX7", 0x0011, 0x00000000, 0x88, 0x0002E77F, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC21.FIX3", 0x0011, 0x00000000, 0x87, 0x0002E78F, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC21.FIX4", 0x0011, 0x00000000, 0x8A, 0x0002E7A9, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC21.SR3A.MCTL", 0x5B80, 0x0002E83B, 0x0C, 0x0002E841, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC21.SR3B.MCTL", 0x5B80, 0x0002F075, 0x0C, 0x0002F07B, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC21.SR3C.MCTL", 0x5B80, 0x0002F8AF, 0x0C, 0x0002F8B5, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC21.SR3D.MCTL", 0x5B80, 0x000300E9, 0x0C, 0x000300EF, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC22.FIX1", 0x0011, 0x00000000, 0x88, 0x00030ABA, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC22.FIX5", 0x0011, 0x00000000, 0x87, 0x00030ACA, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC22.FIX2", 0x0011, 0x00000000, 0x88, 0x00030AE4, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC22.FIX6", 0x0011, 0x00000000, 0x88, 0x00030AF4, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC22.FIX7", 0x0011, 0x00000000, 0x88, 0x00030B04, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC22.FIX3", 0x0011, 0x00000000, 0x87, 0x00030B14, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC22.FIX4", 0x0011, 0x00000000, 0x8A, 0x00030B2E, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC22.MCP6.MCTL", 0x5B80, 0x00030BC0, 0x0C, 0x00030BC6, 0x0000000038584946}, /* OPERATIONREGION */ + {"_SB_.PC23.FIX1", 0x0011, 0x00000000, 0x88, 0x0003151A, 0x0000000000000000}, /* WORDBUSNUMBER */ + {"_SB_.PC23.FIX5", 0x0011, 0x00000000, 0x87, 0x0003152A, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC23.FIX2", 0x0011, 0x00000000, 0x88, 0x00031544, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC23.FIX6", 0x0011, 0x00000000, 0x88, 0x00031554, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC23.FIX7", 0x0011, 0x00000000, 0x88, 0x00031564, 0x0000000000000000}, /* WORDIO */ + {"_SB_.PC23.FIX3", 0x0011, 0x00000000, 0x87, 0x00031574, 0x0000000000000000}, /* DWORDMEMORY */ + {"_SB_.PC23.FIX4", 0x0011, 0x00000000, 0x8A, 0x0003158E, 0x0000000000000000}, /* QWORDMEMORY */ + {"_SB_.PC23.MCP7.MCTL", 0x5B80, 0x00031620, 0x0C, 0x00031626, 0x0000000038584946}, /* OPERATIONREGION */ {NULL,0,0,0,0,0} /* Table terminator */ }; diff --git a/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/BoardAcpiDxeDsdt.c b/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/BoardAcpiDxeDsdt.c index a4d58cab60..110f1cd7fe 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/BoardAcpiDxeDsdt.c +++ b/Platform/Intel/PurleyOpenBoardPkg/Acpi/BoardAcpiDxe/BoardAcpiDxeDsdt.c @@ -1,6 +1,7 @@ /** @file Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -292,6 +293,8 @@ PatchDsdtTable ( case (SIGNATURE_32 ('F', 'I', 'X', '0')): DEBUG ((DEBUG_INFO, "FIX0 - 0x%x\n", mAcpiParameter)); * (UINT32 *) DsdtPointer = (UINT32) (UINTN) mAcpiParameter; + Fixes++; + break; // // "FIX8" OperationRegion() in Acpi\AcpiTables\Dsdt\PcieHp.asi // diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc new file mode 100644 index 0000000000..7dcb892dd5 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc @@ -0,0 +1,165 @@ +## @file +# Platform description. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + + + # + # Generic EDKII Driver + # + MdeModulePkg/Core/Dxe/DxeMain.inf { + <LibraryClasses> + NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf + } + MdeModulePkg/Universal/PCD/Dxe/Pcd.inf { + <LibraryClasses> + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + } + + MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf + MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf + + UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf + MdeModulePkg/Universal/Metronome/Metronome.inf + MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf + PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf + MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == FALSE + MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf { + <LibraryClasses> + NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf + NULL|MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLib.inf + NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf + } +!else + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { + <PcdsFixedAtBuild> + gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE + } +!endif + + MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf + + MdeModulePkg/Universal/BdsDxe/BdsDxe.inf { + <LibraryClasses> +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable == TRUE + NULL|MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTerminalLib.inf +!endif + } + +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable == TRUE + MdeModulePkg/Universal/SerialDxe/SerialDxe.inf + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf +!endif + + MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf + MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf { + <LibraryClasses> +!if gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable == TRUE + NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf +!endif +!if gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable == TRUE + NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf +!endif + } + + MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf + + #UefiCpuPkg/CpuDxe/CpuDxe.inf + + MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf + PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf + + #MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf + MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf + MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf + MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf + MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf + MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf + MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf + MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf + + MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf + MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf + MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf + FatPkg/EnhancedFatDxe/Fat.inf + + #MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf + MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf + + MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf + MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf + + MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf + + MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf + + MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf + MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf + + MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf + + MdeModulePkg/Application/UiApp/UiApp.inf { + <LibraryClasses> + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf + NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf + NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf + } + MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf { + <LibraryClasses> + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + } + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == FALSE + MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf + MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf + + MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf + MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf + + #UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf + + UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf + MdeModulePkg/Universal/SmmCommunicationBufferDxe/SmmCommunicationBufferDxe.inf +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == FALSE + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf + MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf + MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable == TRUE + SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable == TRUE + SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf + SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf { + <LibraryClasses> + Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf + NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf + NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf + } + SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf + SecurityPkg/Tcg/Tcg2Acpi/Tcg2Acpi.inf + SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable == TRUE + ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf +!endif + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf new file mode 100644 index 0000000000..478a818546 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf @@ -0,0 +1,79 @@ +## @file +# FDF file of Platform. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +INF MdeModulePkg/Core/Dxe/DxeMain.inf + +INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf +INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf +INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf + +INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf +INF MdeModulePkg/Universal/Metronome/Metronome.inf +INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf +INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf +INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == TRUE +INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf +!endif + +INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf + +INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf + +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable == TRUE +INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf +INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf +!endif + +INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf +INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf +INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf + +#INF UefiCpuPkg/CpuDxe/CpuDxe.inf + +INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf +INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf + +#INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf +INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf +INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf + +INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf +INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf +INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf +INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf +INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf + +INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf +INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf +INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf +INF FatPkg/EnhancedFatDxe/Fat.inf + +#INF MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf +INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf + +INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf +INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf + +INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf + +INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf + +INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf +INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf +INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf + +INF MdeModulePkg/Application/UiApp/UiApp.inf +INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/GitEdk2MinTiogaPass.bat b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/GitEdk2MinTiogaPass.bat new file mode 100644 index 0000000000..6b899f7f31 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/GitEdk2MinTiogaPass.bat @@ -0,0 +1,93 @@ +@REM @file +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +@REM Copyright (c) 2021, American Megatrends International LLC.<BR> +@REM SPDX-License-Identifier: BSD-2-Clause-Patent +@REM + +@echo off + +pushd ..\..\..\..\..\ + +@REM Set WORKSPACE environment. +set WORKSPACE=%cd% +echo. +echo Set WORKSPACE as: %WORKSPACE% +echo. + +@REM Check whether Git has been installed and been added to system path. +git --help >nul 2>nul +if %ERRORLEVEL% NEQ 0 ( + echo. + echo The 'git' command is not recognized. + echo Please make sure that Git is installed and has been added to system path. + echo. + goto :EOF +) + +@REM Create the Conf directory under WORKSPACE +if not exist %WORKSPACE%\Conf ( + mkdir Conf +) + +@REM Set other environments. +@REM Basic Rule: +@REM Platform override Silicon override Core +@REM Source override Binary + +set PACKAGES_PATH=%WORKSPACE%\edk2-platforms\Platform\Intel;%WORKSPACE%\edk2-platforms\Silicon\Intel;%WORKSPACE%\edk2-platforms\Features\Intel;%WORKSPACE%\edk2-platforms\Features\Intel\Debugging;%WORKSPACE%\edk2-platforms\Features\Intel\Network;%WORKSPACE%\edk2-platforms\Features\Intel\OutOfBandManagement;%WORKSPACE%\edk2-platforms\Features\Intel\PowerManagement;%WORKSPACE%\edk2-platforms\Features\Intel\SystemInformation;%WORKSPACE%\edk2-platforms\Features\Intel\UserInterface;%WORKSPACE%\edk2-non-osi\Silicon\Intel;%WORKSPACE%\edk2;%WORKSPACE% + +set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32 + +@if not defined PYTHON_HOME ( + @if exist C:\Python27 ( + set PYTHON_HOME=C:\Python27 + ) +) + +set EDK_SETUP_OPTION= +@rem if python is installed, disable the binary base tools. +if defined PYTHON_HOME ( + set EDK_TOOLS_BIN= + set EDK_SETUP_OPTION=Rebuild +) +pushd %WORKSPACE%\edk2 +call edksetup.bat %EDK_SETUP_OPTION% +popd + + if exist "ProgramFiles(x86)%\Windows Kits\8.1\bin" ( + echo "ProgramFiles(x86)\Windows Kits\8.1\bin present" + echo "No need to override WINSDK81_PREFIX/WINSDK81x86_PREFIX" + ) else ( + echo "ProgramFiles(x86)\Windows Kits\8.1\bin not present" + echo "Need to override WINSDK81_PREFIX/WINSDK81x86_PREFIX with WINSDK10_PREFIX " + echo WINSDK81_PREFIX defined "%WINSDK81_PREFIX%" + echo WINSDK81x86_PREFIX "%WINSDK81x86_PREFIX%" + if defined WINSDK10_PREFIX ( + echo WINSDK10_PREFIX defined 1 "%WINSDK10_PREFIX%" + set "WINSDK81_PREFIX=%WINSDK10_PREFIX%" + set "WINSDK81x86_PREFIX=%WINSDK10_PREFIX%" + ) else ( + echo Build may fail when trying to find RC.exe + goto :EOF + ) + ) + +set openssl_path=%WORKSPACE% + +popd + +goto :EOF + +:Help +echo. +echo Usage: +echo GitEdk2.bat [-w Workspace_Directory] (optional) [-b Branch_Name] (optional) +echo. +echo -w A absolute/relative path to be the workspace. +echo Default value is the current directory. +echo. +echo -b The branch name of the repository. Currently, only master, udk2015, +echo trunk (same as master) and bp13 (same as udk2015) are supported. +echo Default value is master. +echo. diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.c new file mode 100644 index 0000000000..cadc89ccf1 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.c @@ -0,0 +1,389 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + + +#include <Base.h> +#include <Library/IoLib.h> +#include <Library/PcdLib.h> +#include <Library/SerialPortLib.h> +#include <Library/DebugLib.h> + +#define R_ICH_IOPORT_PCI_INDEX 0xCF8 +#define R_ICH_IOPORT_PCI_DATA 0xCFC +#define R_ICH_LPC_IO_DEC 0x80 + +#define PCI_DEVICE_NUMBER_ICH_LPC 31 +#define PCI_FUNCTION_NUMBER_ICH_LPC 0 + +#define PCI_CF8_ADDR(Bus, Dev, Func, Off) \ + (((Off) & 0xFF) | (((Func) & 0x07) << 8) | (((Dev) & 0x1F) << 11) | (((Bus) & 0xFF) << 16) | (1 << 31)) +#define ICH_LPC_CF8_ADDR(Offset) PCI_CF8_ADDR(0, PCI_DEVICE_NUMBER_ICH_LPC, PCI_FUNCTION_NUMBER_ICH_LPC, Offset) + +#include "SioRegs.h" + +// +// --------------------------------------------- +// Additional SIO Regs for Tioga Pass +// --------------------------------------------- +// +#define SCU_BASE 0x1E6E2000 + +#include <Platform.h> +#include <PchAccess.h> + +// +// --------------------------------------------- +// UART Register Offsets +// --------------------------------------------- +// +#define BAUD_LOW_OFFSET 0x00 +#define BAUD_HIGH_OFFSET 0x01 +#define IER_OFFSET 0x01 +#define LCR_SHADOW_OFFSET 0x01 +#define FCR_SHADOW_OFFSET 0x02 +#define IR_CONTROL_OFFSET 0x02 +#define FCR_OFFSET 0x02 +#define EIR_OFFSET 0x02 +#define BSR_OFFSET 0x03 +#define LCR_OFFSET 0x03 +#define MCR_OFFSET 0x04 +#define LSR_OFFSET 0x05 +#define MSR_OFFSET 0x06 + +// +// --------------------------------------------- +// UART Register Bit Defines +// --------------------------------------------- +// +#define LSR_TXRDY 0x20 +#define LSR_RXDA 0x01 +#define DLAB 0x01 + +#define UART_DATA 8 +#define UART_STOP 1 +#define UART_PARITY 0 +#define UART_BREAK_SET 0 + +UINT16 gComBase = 0x3f8; +UINTN gBps = 115200; +UINT8 gData = 8; +UINT8 gStop = 1; +UINT8 gParity = 0; +UINT8 gBreakSet = 0; + +/** + + Write AHB register. + + @param RegIndex: register index. + @param Value: Value to write + + @retval None. + +**/ +VOID +WriteAHBDword( + UINT32 RegIndex, + UINT32 Value +) +{ + UINT8 bValue; + + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + + IoWrite8 (SIO_INDEX_PORT, REG_LOGICAL_DEVICE); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, SIO_SMI); + IoWrite8 (0xED, 0);//short delay. + + IoWrite8 (SIO_INDEX_PORT, 0x30); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, 1); + IoWrite8 (0xED, 0);//short delay. + + IoWrite8 (SIO_INDEX_PORT, 0xf8); + bValue = IoRead8(SIO_DATA_PORT); + bValue &= 0xfc; + bValue |= 2; // 4 byte window. + IoWrite8 (SIO_DATA_PORT, bValue); + IoWrite8 (0xED, 0);//short delay. + + IoWrite8 (SIO_INDEX_PORT, 0xf0); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex >> 24)& 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf1); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex >> 16)& 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf2); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex >> 8) & 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf3); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex )& 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf4); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((Value >> 24)& 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf5); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((Value >> 16)& 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf6); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((Value >> 8) & 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf7); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((Value )& 0xff)); + + // trigger write + IoWrite8 (SIO_INDEX_PORT, 0xfe); + IoWrite8 (SIO_DATA_PORT, 0xcf); + + IoWrite8 (SIO_INDEX_PORT, SIO_LOCK); +} + +/** + + Read AHB register. + + @param RegIndex: register index. + + @retval value of register. + +**/ +UINT32 +ReadAHBDword( + UINT32 RegIndex +){ + UINT8 bValue; + UINT32 rdValue = 0; + + + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + + IoWrite8 (SIO_INDEX_PORT, REG_LOGICAL_DEVICE); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, SIO_SMI); + IoWrite8 (0xED, 0);//short delay. + + IoWrite8 (SIO_INDEX_PORT, 0x30); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, 1); + IoWrite8 (0xED, 0);//short delay. + + IoWrite8 (SIO_INDEX_PORT, 0xf8); + bValue = IoRead8(SIO_DATA_PORT); + bValue &= 0xfc; + bValue |= 2; // 4 byte window. + IoWrite8 (SIO_DATA_PORT, bValue); + IoWrite8 (0xED, 0);//short delay. + + IoWrite8 (SIO_INDEX_PORT, 0xf0); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex >> 24)& 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf1); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex >> 16)& 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf2); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex >> 8) & 0xff)); + + IoWrite8 (SIO_INDEX_PORT, 0xf3); + IoWrite8 (0xED, 0);//short delay. + IoWrite8 (SIO_DATA_PORT, (UINT8)((RegIndex )& 0xff)); + + // trigger read + IoWrite8 (SIO_INDEX_PORT, 0xfe); + IoRead8 (SIO_DATA_PORT); + + + IoWrite8 (SIO_INDEX_PORT, 0xf4); + rdValue += IoRead8 (SIO_DATA_PORT); + rdValue <<= 8; + + IoWrite8 (SIO_INDEX_PORT, 0xf5); + rdValue += IoRead8 (SIO_DATA_PORT); + rdValue <<= 8; + + IoWrite8 (SIO_INDEX_PORT, 0xf6); + rdValue += IoRead8 (SIO_DATA_PORT); + rdValue <<= 8; + + IoWrite8 (SIO_INDEX_PORT, 0xf7); + rdValue += IoRead8 (SIO_DATA_PORT); + + IoWrite8 (SIO_INDEX_PORT, SIO_LOCK); + return rdValue; + +} + +/** + + Initialize the AST2500 SIO. + + @param None + + @retval None + +**/ +VOID +InitializeSio ( + VOID + ) +{ + UINT32 Decode; + UINT32 Enable; + UINT32 Value; + UINT32 Address; + + // + // Enable LPC decode + // Set COMA/COMB base + // + + Decode = ((V_PCH_LPC_IOD_COMA_3F8 << N_PCH_LPC_IOD_COMA) | (V_PCH_LPC_IOD_COMB_2F8 << N_PCH_LPC_IOD_COMB)); + Enable = ( B_PCH_LPC_IOE_ME2 | B_PCH_LPC_IOE_SE | B_PCH_LPC_IOE_ME1 \ + | B_PCH_LPC_IOE_KE | B_PCH_LPC_IOE_CBE | B_PCH_LPC_IOE_CAE); + IoWrite32 (R_ICH_IOPORT_PCI_INDEX, (UINT32) (ICH_LPC_CF8_ADDR (R_ICH_LPC_IO_DEC))); + + IoWrite32 (R_ICH_IOPORT_PCI_DATA, Decode | (Enable << 16)); + + MmioWrite16 (PCH_PCR_ADDRESS(PID_DMI, R_PCH_PCR_DMI_LPCIOD), (UINT16)Decode); + MmioWrite16 (PCH_PCR_ADDRESS(PID_DMI, R_PCH_PCR_DMI_LPCIOE), (UINT16)Enable); + + + + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + + // + // Initialize COM1 + // + IoWrite8 (SIO_INDEX_PORT, REG_LOGICAL_DEVICE); + IoWrite8 (SIO_DATA_PORT, SIO_UART1); + + IoWrite8 (SIO_INDEX_PORT, ACTIVATE); + IoWrite8 (SIO_DATA_PORT, 0); + + IoWrite8 (SIO_INDEX_PORT, 0x70); + IoWrite8 (SIO_DATA_PORT, 0x04); + + // + // Set Base Address to gComBase + // + IoWrite8 (SIO_INDEX_PORT, BASE_ADDRESS_LOW0); + IoWrite8 (SIO_DATA_PORT, (UINT8) (gComBase & 0xFF)); + IoWrite8 (SIO_INDEX_PORT, BASE_ADDRESS_HIGH0); + IoWrite8 (SIO_DATA_PORT, (UINT8)((gComBase >> 8) & 0xff)); + + // + // Activate COM1 + // + IoWrite8 (SIO_INDEX_PORT, ACTIVATE); + IoWrite8 (SIO_DATA_PORT, 1); + + IoWrite8 (SIO_INDEX_PORT, SIO_LOCK); + + // Initialize SCU part. + Address = (UINT32)(SCU_BASE | 0x00); + Value = ReadAHBDword(Address); + Value &= 0x00000000; + Value |= 0x1688A8A8; // Unlock SCU Registers + WriteAHBDword(Address,Value); + + Address = (UINT32)(SCU_BASE | 0x84); + Value = ReadAHBDword(Address); + Value &= 0xFF3FFFFF; + Value |= 0x00C00000; // SCU84[23:22]="11b" Enable UART1 or video VPB Multi-Function pins + WriteAHBDword(Address,Value); + + Address = (UINT32)(SCU_BASE | 0x90); + Value = ReadAHBDword(Address); + Value &= 0xFFFFFFDF; + Value |= 0x00000000; // SCU90[5]="0b" Disable digital video Multi-Function pins + WriteAHBDword(Address,Value); + + Address = (UINT32)(SCU_BASE | 0x94); + Value = ReadAHBDword(Address); + Value &= 0xFFFFFFFC; + Value |= 0x00000000; // SCU94[1:0]="00b" Disable digital video Multi-Function pins + WriteAHBDword(Address,Value); + + Address = (UINT32)(SCU_BASE | 0x00); + Value = ReadAHBDword(Address); + Value &= 0x00000000; + Value |= 0x00000000; // Lock SCU Registers + WriteAHBDword(Address,Value); +} + +/** + Performs platform specific initialization required for the CPU to access + the hardware associated with a SerialPortLib instance. This function does + not initialize the serial port hardware itself. Instead, it initializes + hardware devices that are required for the CPU to access the serial port + hardware. This function may be called more than once. + + @retval RETURN_SUCCESS The platform specific initialization succeeded. + @retval RETURN_DEVICE_ERROR The platform specific initialization could not be completed. + +**/ +RETURN_STATUS +EFIAPI +PlatformHookSerialPortInitialize ( + VOID + ) +{ + UINTN Divisor; + UINT8 OutputData; + UINT8 Data; + + InitializeSio(); + // + // Some init is done by the platform status code initialization. + // + // + // Map 5..8 to 0..3 + // + Data = (UINT8) (gData - (UINT8) 5); + + // + // Calculate divisor for baud generator + // + Divisor = 115200 / gBps; + + // + // Set communications format + // + OutputData = (UINT8) ((DLAB << 7) | ((gBreakSet << 6) | ((gParity << 3) | ((gStop << 2) | Data)))); + IoWrite8 (gComBase + LCR_OFFSET, OutputData); + + // + // Configure baud rate + // + IoWrite8 (gComBase + BAUD_HIGH_OFFSET, (UINT8) (Divisor >> 8)); + IoWrite8 (gComBase + BAUD_LOW_OFFSET, (UINT8) (Divisor & 0xff)); + + // + // Switch back to bank 0 + // + OutputData = (UINT8) ((~DLAB << 7) | ((gBreakSet << 6) | ((gParity << 3) | ((gStop << 2) | Data)))); + IoWrite8 (gComBase + LCR_OFFSET, OutputData); + + return RETURN_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.inf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.inf new file mode 100644 index 0000000000..cec595c38e --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BasePlatformHookLib/BasePlatformHookLib.inf @@ -0,0 +1,36 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = BasePlatformHookLib + FILE_GUID = E22ADCC6-ED90-4A90-9837-C8E7FF9E963D + VERSION_STRING = 1.0 + MODULE_TYPE = BASE + LIBRARY_CLASS = PlatformHookLib +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[LibraryClasses] + BaseLib + IoLib + PciLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + PurleyOpenBoardPkg/OpenBoardPkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + +[FixedPcd] + +[Sources] + BasePlatformHookLib.c diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.c new file mode 100644 index 0000000000..5e5c473505 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.c @@ -0,0 +1,36 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Base.h> +#include <Uefi.h> +#include <PiDxe.h> +#include <Library/BaseLib.h> +#include <Library/IoLib.h> +#include <Library/BoardAcpiTableLib.h> +#include <Library/PcdLib.h> +#include <Library/DebugLib.h> + +EFI_STATUS +EFIAPI +TiogaPassBoardUpdateAcpiTable ( + IN OUT EFI_ACPI_COMMON_HEADER *Table, + IN OUT EFI_ACPI_TABLE_VERSION *Version + ); + +EFI_STATUS +EFIAPI +BoardUpdateAcpiTable ( + IN OUT EFI_ACPI_COMMON_HEADER *Table, + IN OUT EFI_ACPI_TABLE_VERSION *Version + ) +{ + TiogaPassBoardUpdateAcpiTable (Table, Version); + + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.inf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.inf new file mode 100644 index 0000000000..d35087edb2 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeBoardAcpiTableLib.inf @@ -0,0 +1,40 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = DxeBoardAcpiTableLib + FILE_GUID = 6562E0AE-90D8-4D41-8C97-81286B4BE7D2 + VERSION_STRING = 1.0 + MODULE_TYPE = BASE + LIBRARY_CLASS = BoardAcpiTableLib + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[LibraryClasses] + BaseLib + IoLib + PciLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + PurleyOpenBoardPkg/OpenBoardPkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + +[Pcd] + gOemSkuTokenSpaceGuid.PcdAcpiGnvsAddress + +[Sources] + DxeTiogaPassAcpiTableLib.c + DxeBoardAcpiTableLib.c diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeTiogaPassAcpiTableLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeTiogaPassAcpiTableLib.c new file mode 100644 index 0000000000..6e5e7490be --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/DxeTiogaPassAcpiTableLib.c @@ -0,0 +1,53 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Base.h> +#include <Uefi.h> +#include <PiDxe.h> +#include <Library/BaseLib.h> +#include <Library/IoLib.h> +#include <Library/BoardAcpiTableLib.h> +#include <Library/PcdLib.h> +#include <Library/DebugLib.h> +#include <Library/UefiBootServicesTableLib.h> +#include <Acpi/GlobalNvsAreaDef.h> + +GLOBAL_REMOVE_IF_UNREFERENCED BIOS_ACPI_PARAM *mGlobalNvsArea; + +VOID +TiogaPassUpdateGlobalNvs ( + VOID + ) +{ + + // + // Allocate and initialize the NVS area for SMM and ASL communication. + // + mGlobalNvsArea = (VOID *)(UINTN)PcdGet64 (PcdAcpiGnvsAddress); + + // + // Update global NVS area for ASL and SMM init code to use + // + + +} + +EFI_STATUS +EFIAPI +TiogaPassBoardUpdateAcpiTable ( + IN OUT EFI_ACPI_COMMON_HEADER *Table, + IN OUT EFI_ACPI_TABLE_VERSION *Version + ) +{ + if (Table->Signature == EFI_ACPI_2_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE) { + TiogaPassUpdateGlobalNvs (); + } + + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.c new file mode 100644 index 0000000000..53ad66359c --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.c @@ -0,0 +1,62 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Base.h> +#include <Uefi.h> +#include <PiDxe.h> +#include <Library/BaseLib.h> +#include <Library/IoLib.h> +#include <Library/BoardAcpiEnableLib.h> +#include <Library/PcdLib.h> +#include <Library/DebugLib.h> + +EFI_STATUS +EFIAPI +TiogaPassBoardEnableAcpi ( + IN BOOLEAN EnableSci + ); + +EFI_STATUS +EFIAPI +TiogaPassBoardDisableAcpi ( + IN BOOLEAN DisableSci + ); + +EFI_STATUS +EFIAPI +SiliconEnableAcpi ( + IN BOOLEAN EnableSci + ); + +EFI_STATUS +EFIAPI +SiliconDisableAcpi ( + IN BOOLEAN DisableSci + ); + +EFI_STATUS +EFIAPI +BoardEnableAcpi ( + IN BOOLEAN EnableSci + ) +{ + SiliconEnableAcpi (EnableSci); + return TiogaPassBoardEnableAcpi (EnableSci); +} + +EFI_STATUS +EFIAPI +BoardDisableAcpi ( + IN BOOLEAN DisableSci + ) +{ + SiliconDisableAcpi (DisableSci); + return TiogaPassBoardDisableAcpi (DisableSci); +} + + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf new file mode 100644 index 0000000000..688ad3b911 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf @@ -0,0 +1,41 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = SmmBoardAcpiEnableLib + FILE_GUID = 549E69AE-D3B3-485B-9C17-AF16E20A58AD + VERSION_STRING = 1.0 + MODULE_TYPE = BASE + LIBRARY_CLASS = BoardAcpiEnableLib + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[LibraryClasses] + BaseLib + IoLib + PciLib + MmPciLib + PchCycleDecodingLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + PurleyOpenBoardPkg/OpenBoardPkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + +[Sources] + SmmTiogaPassAcpiEnableLib.c + SmmSiliconAcpiEnableLib.c + SmmBoardAcpiEnableLib.c + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c new file mode 100644 index 0000000000..d7e88d6109 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c @@ -0,0 +1,120 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Base.h> +#include <Uefi.h> +#include <PiDxe.h> +#include <Library/BaseLib.h> +#include <Library/IoLib.h> +#include <Library/BoardAcpiEnableLib.h> +#include <Library/PcdLib.h> +#include <Library/DebugLib.h> +#include <PchAccess.h> +#include <Library/PchCycleDecodingLib.h> + +/** + Clear Port 80h + + SMI handler to enable ACPI mode + + Dispatched on reads from APM port with value EFI_ACPI_ENABLE_SW_SMI + + Disables the SW SMI Timer. + ACPI events are disabled and ACPI event status is cleared. + SCI mode is then enabled. + + Clear SLP SMI status + Enable SLP SMI + + Disable SW SMI Timer + + Clear all ACPI event status and disable all ACPI events + + Disable PM sources except power button + Clear status bits + + Disable GPE0 sources + Clear status bits + + Disable GPE1 sources + Clear status bits + + Guarantee day-of-month alarm is invalid (ACPI 1.0 section 4.7.2.4) + + Enable SCI +**/ +EFI_STATUS +EFIAPI +SiliconEnableAcpi ( + IN BOOLEAN EnableSci + ) +{ + UINT32 SmiEn; + UINT16 Pm1En; + UINT16 Pm1Cnt; + UINT16 PchPmBase; + + // + // Init Power Management I/O Base aka ACPI Base + // + PchAcpiBaseGet (&PchPmBase); + + SmiEn = IoRead32 (PchPmBase + R_PCH_SMI_EN); + + // + // Disable SW SMI Timer and legacy USB + // + SmiEn &= ~(B_PCH_SMI_EN_SWSMI_TMR | B_PCH_SMI_EN_LEGACY_USB | B_PCH_SMI_EN_LEGACY_USB2); + + // + // And enable SMI on write to B_PCH_ACPI_PM1_CNT_SLP_EN when SLP_TYP is written + // + SmiEn |= B_PCH_SMI_EN_ON_SLP_EN; + IoWrite32 (PchPmBase + R_PCH_SMI_EN, SmiEn); + + // + // Disable PM sources except power button + // + Pm1En = B_PCH_ACPI_PM1_EN_PWRBTN; + IoWrite16 (PchPmBase + R_PCH_ACPI_PM1_EN, Pm1En); + + // + // Enable SCI + // + Pm1Cnt = IoRead16 (PchPmBase + R_PCH_ACPI_PM1_CNT); + Pm1Cnt |= B_PCH_ACPI_PM1_CNT_SCI_EN; + IoWrite16 (PchPmBase + R_PCH_ACPI_PM1_CNT, Pm1Cnt); + + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +SiliconDisableAcpi ( + IN BOOLEAN DisableSci + ) +{ + UINT16 Pm1Cnt; + UINT16 PchPmBase; + + // + // Init Power Management I/O Base aka ACPI Base + // + PchAcpiBaseGet (&PchPmBase); + + Pm1Cnt = IoRead16 (PchPmBase + R_PCH_ACPI_PM1_CNT); + + // + // Disable SCI + // + Pm1Cnt &= ~B_PCH_ACPI_PM1_CNT_SCI_EN; + + IoWrite16 (PchPmBase + R_PCH_ACPI_PM1_CNT, Pm1Cnt); + + return EFI_SUCCESS; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmTiogaPassAcpiEnableLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmTiogaPassAcpiEnableLib.c new file mode 100644 index 0000000000..0661c4cd01 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardAcpiLib/SmmTiogaPassAcpiEnableLib.c @@ -0,0 +1,37 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Base.h> +#include <Uefi.h> +#include <PiDxe.h> +#include <Library/BaseLib.h> +#include <Library/IoLib.h> +#include <Library/BoardAcpiTableLib.h> +#include <Library/PcdLib.h> +#include <Library/DebugLib.h> + +EFI_STATUS +EFIAPI +TiogaPassBoardEnableAcpi ( + IN BOOLEAN EnableSci + ) +{ + // enable additional board register + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +TiogaPassBoardDisableAcpi ( + IN BOOLEAN DisableSci + ) +{ + // enable additional board register + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/AllLanesEparam.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/AllLanesEparam.c new file mode 100644 index 0000000000..f38e5123e0 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/AllLanesEparam.c @@ -0,0 +1,44 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef MINIBIOS_BUILD +#include <PiPei.h> +#include <Platform.h> +#include <Library/HobLib.h> +#include <Library/DebugLib.h> +#endif + +#include <SysHost.h> + +#define SPEED_REC_96GT 0 +#define SPEED_REC_104GT 1 +#define ADAPTIVE_CTLE 0x3f + +#pragma pack(1) + +ALL_LANES_EPARAM_LINK_INFO KtiTiogaPassAllLanesEparamTable[] = { + // + // SocketID, Freq, Link, TXEQL, CTLEPEAK + // + + // + // Socket 0 + // + {0x0, (1 << SPEED_REC_96GT) | (1 << SPEED_REC_104GT), (1 << KTI_LINK0), 0x2A34353F, ADAPTIVE_CTLE}, + {0x0, (1 << SPEED_REC_96GT) | (1 << SPEED_REC_104GT), (1 << KTI_LINK1), 0x2B33373F, ADAPTIVE_CTLE}, + + // + // Socket 1 + // + {0x1, (1 << SPEED_REC_96GT) | (1 << SPEED_REC_104GT), (1 << KTI_LINK0), 0x2D3A323F, ADAPTIVE_CTLE}, + {0x1, (1 << SPEED_REC_96GT) | (1 << SPEED_REC_104GT), (1 << KTI_LINK1), 0x2A32373F, ADAPTIVE_CTLE} +}; + +#pragma pack() + +UINT32 KtiTiogaPassAllLanesEparamTableSize = sizeof(KtiTiogaPassAllLanesEparamTable); diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/GpioTable.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/GpioTable.c new file mode 100644 index 0000000000..191a5bf6ba --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/GpioTable.c @@ -0,0 +1,296 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiPei.h> +#include <Library/DebugLib.h> + +#include <Library/GpioLib.h> +#include <GpioPinsSklH.h> +#include <Library/PcdLib.h> + +#include <Register/PchRegsPcr.h> +#include <Library/PchPcrLib.h> +#include <Register/PchRegsSpi.h> + +GPIO_INIT_CONFIG mGpioTableTiogaPass[] = +{ +// Group A + //ME{GPIO_SKL_H_GPP_A0, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A0_RCIN_N_ESPI_ALERT1_N [PU_FM_RCIN_N] + {GPIO_SKL_H_GPP_A1, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A1_LAD0_ESPI_IO0 [LPC_LAD_IO0] + {GPIO_SKL_H_GPP_A2, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A2_LAD1_ESPI_IO1 [LPC_LAD_IO1] + {GPIO_SKL_H_GPP_A3, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A3_LAD2_ESPI_IO2 [LPC_LAD_IO2] + {GPIO_SKL_H_GPP_A4, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A4_LAD3_ESPI_IO3 [LPC_LAD_IO2] + {GPIO_SKL_H_GPP_A5, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A5_LFRAME_N_ESPI_CS0_N [LPC_LFRAME_N_CS0_N] + {GPIO_SKL_H_GPP_A6, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A6_SERIRQ_ESPI_CS1_N [IRQ_LPC_SERIRQ_N] + {GPIO_SKL_H_GPP_A7, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A7_PIRQA_N_ESPI_ALERT0_N [IRQ_PIRQA_SPI_TPM_N] + {GPIO_SKL_H_GPP_A8, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A8_CLKRUN_N [PU_LPC_CLKRUN_N] + {GPIO_SKL_H_GPP_A9, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A9_CLKOUT_LPC0_ESPI_CLK [CLK_24M_BMC_LPC] + {GPIO_SKL_H_GPP_A10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A10_CLKOUT_LPC1 [NOT USED] + {GPIO_SKL_H_GPP_A11, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A11_PME_N [PU_LPC_PME_N] + {GPIO_SKL_H_GPP_A12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal, GpioTermNone}},//GPP_A12_BMBUSY_N_SXEXITHLDOFF_N [PU_IRQ_PCH_SCI_WHEA_N] + {GPIO_SKL_H_GPP_A13, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A13_SUSWARN_N_SUSPWRDNACK [FM_MB_SLOT_ID0] + {GPIO_SKL_H_GPP_A14, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A14_ESPI_RESET_N [FM_MB_SLOT_ID1] + {GPIO_SKL_H_GPP_A15, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A15_SUSACK_N [FM_MB_SLOT_ID2] + {GPIO_SKL_H_GPP_A16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A16_CLKOUT_LPC2 [FM_UART_PRES_N] + {GPIO_SKL_H_GPP_A17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A17 [FM_CPU_BMC_INIT] + {GPIO_SKL_H_GPP_A18, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_A18 [RST_PCH_SYSRST_BTN_OUT_N] + //ME{GPIO_SKL_H_GPP_A19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_A19 [FM_ME_RECOVER_N] + {GPIO_SKL_H_GPP_A20, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A20 [NOT USED] + {GPIO_SKL_H_GPP_A21, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A21 [FM_OCP_MEZZA_PRES_N] + {GPIO_SKL_H_GPP_A22, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A22 [FM_TPM_PRES_N] + {GPIO_SKL_H_GPP_A23, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_A23 [FM_BMC_READY_N] +// Group B + {GPIO_SKL_H_GPP_B0, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B0_CORE_VID0 [VID_PCH_CORE_PVNN_AUX_VID_0] + {GPIO_SKL_H_GPP_B1, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B1_CORE_VID1 [VID_PCH_CORE_PVNN_AUX_VID_1] + {GPIO_SKL_H_GPP_B2, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B2 [PU_IRQ_VRALERT_N] + {GPIO_SKL_H_GPP_B3, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B3_CPU_GP2 [FM_QAT_EN_N] + {GPIO_SKL_H_GPP_B4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B4_CPU_GP3 [IRQ_PVDDQ_ABC_VRHOT_LVT3_N] + {GPIO_SKL_H_GPP_B5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B5_SRCCLKREQ0_N [IRQ_PVDDQ_DEF_VRHOT_LVT3_N] + {GPIO_SKL_H_GPP_B6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_B6_SRCCLKREQ1_N [IRQ_PVDDQ_GHJ_VRHOT_LVT3_N] + {GPIO_SKL_H_GPP_B7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_B7_SRCCLKREQ2_N [IRQ_PVDDQ_KLM_VRHOT_LVT3_N] + {GPIO_SKL_H_GPP_B8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B8_SRCCLKREQ3_N [FP_NMI_BTN_N] + {GPIO_SKL_H_GPP_B9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B9_SRCCLKREQ4_N [FM_PWR_BTN_N] + {GPIO_SKL_H_GPP_B10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B10_SRCCLKREQ5_N [RST_SYSTEM_BTN_N] + {GPIO_SKL_H_GPP_B11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutLow, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B11 [FM_PMBUS_ALERT_BUF_EN_N] + {GPIO_SKL_H_GPP_B12, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B12_GLB_RST_WARN_N [FM_GLOBAL_RST_WARN_N] + {GPIO_SKL_H_GPP_B13, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B13_PLTRST_N [RST_PLTRST_N] + {GPIO_SKL_H_GPP_B14, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_B14_SPKR [FM_BIOS_TOP_SWAP_SPKR] + {GPIO_SKL_H_GPP_B15, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B15 [FM_UART_ALERT_N] + {GPIO_SKL_H_GPP_B16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B16 [IRQ_PCH_NIC_ALERT_N] + {GPIO_SKL_H_GPP_B17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B17 [FM_PCH_PWRBTN_OUT_N] + {GPIO_SKL_H_GPP_B18, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B18 [FM_UV_ADR_TRIGGER_EN] + {GPIO_SKL_H_GPP_B19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B19 [FM_BIOS_PREFRB2_GOOD] + {GPIO_SKL_H_GPP_B20, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow , GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_B20 [FM_BIOS_POST_CMPLT_N] + {GPIO_SKL_H_GPP_B21, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B21 [FM_FAST_PROCHOT_EN_N] + {GPIO_SKL_H_GPP_B22, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B22 [FM_USB_P0_EN_BOOT_BIOS_STRAP_N] + {GPIO_SKL_H_GPP_B23, { GpioPadModeNative2, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_B23_MEIE_SML1ALRT_N_PHOT_N [FM_PCH_BMC_THERMTRIP_EXI_STRAP_N] +// Group C + {GPIO_SKL_H_GPP_C0, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C0_SMBCLK [SMB_HOST_STBY_LVC3_SCL_R1] + {GPIO_SKL_H_GPP_C1, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C1_SMBDATA [SMB_HOST_STBY_LVC3_SDA_R1] + {GPIO_SKL_H_GPP_C2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C2_SMBALERT_N [PU_PCH_TLS_ENABLE_STRAP] + //ME{GPIO_SKL_H_GPP_C3, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C3_SML0CLK_IE [SMB_SMLINK0_STBY_LVC3_SCL_R1] + //ME{GPIO_SKL_H_GPP_C4, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C4_SML0DATA_IE [SMB_SMLINK0_STBY_LVC3_SDA_R1] + {GPIO_SKL_H_GPP_C5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C5_SML0ALERT_IE_N [IRQ_SML0_ALERT_N] + //ME{GPIO_SKL_H_GPP_C6, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C6_SML1CLK_IE [SMB_PMBUS_BMC_STBY_LVC3_SCL_R1] + //ME{GPIO_SKL_H_GPP_C7, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C7_SML1DATA_IE [SMB_PMBUS_BMC_STBY_LVC3_SDA_R1] + {GPIO_SKL_H_GPP_C8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C8 [FM_PASSWORD_CLEAR_N] + {GPIO_SKL_H_GPP_C9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C9 [FM_CPU1_RC_EN] + {GPIO_SKL_H_GPP_C10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutHigh, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_C10 [FM_PCH_SATA_RAID_KEY] + {GPIO_SKL_H_GPP_C11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C11 [FM_BOARD_REV_ID2] + {GPIO_SKL_H_GPP_C12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C12 [FM_BOARD_REV_ID0] + {GPIO_SKL_H_GPP_C13, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_C13 [FM_BOARD_REV_ID1] + {GPIO_SKL_H_GPP_C14, { GpioPadModeGpio, GpioHostOwnAcpi, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntSci,GpioResetNormal, GpioTermNone}},//GPP_C14 [IRQ_BMC_PCH_SCI_LPC_N] + {GPIO_SKL_H_GPP_C15, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C15 [FM_SLT_CFG0] + {GPIO_SKL_H_GPP_C16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C16 [FM_SLT_CFG1] + {GPIO_SKL_H_GPP_C17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C17 [FM_SLT_CFG2_R] + {GPIO_SKL_H_GPP_C18, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C18 [FM_PMBUS_ALERT_BUF_EN_N] + {GPIO_SKL_H_GPP_C19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C19 [FM_BB_BMC_MP_GPIO] + //ME{GPIO_SKL_H_GPP_C20, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C20 [FM_THROTTLE_N] + {GPIO_SKL_H_GPP_C21, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_C21 [FM_BIOS_POST_CMPLT_N] + {GPIO_SKL_H_GPP_C22, { GpioPadModeGpio, GpioHostOwnAcpi, GpioDirInInv, GpioOutDefault, GpioIntLevel | GpioIntSmi,GpioResetNormal, GpioTermNone}},//GPP_C22 [IRQ_BMC_PCH_SMI_LPC_N] + {GPIO_SKL_H_GPP_C23, { GpioPadModeGpio, GpioHostOwnAcpi, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntSmi,GpioResetDeep, GpioTermNone}},//GPP_C23 [FM_CPU_CATERR_DLY_LVT3_R_N] +// Group D + {GPIO_SKL_H_GPP_D0, { GpioPadModeGpio, GpioHostOwnAcpi, GpioDirInInv, GpioOutDefault, GpioIntEdge | GpioIntNmi,GpioResetNormal, GpioTermNone}},//GPP_D0 [IRQ_BMC_PCH_NMI_STBY_R_N] + {GPIO_SKL_H_GPP_D1, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D1 [FM_PWR_LED_N] + {GPIO_SKL_H_GPP_D2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_D2 [IRQ_HSC_FAULT_N] + {GPIO_SKL_H_GPP_D3, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal, GpioTermNone}},//GPP_D3 [IRQ_MEZZ_LAN_ALERT_N] + {GPIO_SKL_H_GPP_D4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_D4 [FM_PCH_PLD_DATA_R] + {GPIO_SKL_H_GPP_D5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D5 [FM_BMC_ENABLE_N] + {GPIO_SKL_H_GPP_D6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D6 [FM_CPLD_BMC_PWRDN_N] + {GPIO_SKL_H_GPP_D7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D7 [FM_BMC_CPLD_GPO] + {GPIO_SKL_H_GPP_D8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D8 [FM_BMC_FAULT_LED_N] + {GPIO_SKL_H_GPP_D9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D9_SSATA_DEVSLP3 [IRQ_FORCE_NM_THROTTLE_N] + {GPIO_SKL_H_GPP_D10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D10_SSATA_DEVSLP4 [H_CPU0_FAST_WAKE_LVT3_N] + {GPIO_SKL_H_GPP_D11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D11_SSATA_DEVSLP5 [IRQ_LOM_ALERT_N] + {GPIO_SKL_H_GPP_D12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D12_SSATA_SDATAOUT1 [FM_TPM_PRES_RST_N] + {GPIO_SKL_H_GPP_D13, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D13_SML0BCLK_IE [SMB_SLOTX24_STBY_LVC3_SCL_R1] + {GPIO_SKL_H_GPP_D14, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D14_SML0BDATA_IE [SMB_SLOTX24_STBY_LVC3_SDA_R1] + {GPIO_SKL_H_GPP_D15, { GpioPadModeNative3, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D15_SSATA_SDATAOUT0 [SGPIO_PCH_SSATA_DOUT0] + {GPIO_SKL_H_GPP_D16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D16_SML0BALERT_IE_N [IRQ_OOB_MGMT_RISER_ALERT_N] + {GPIO_SKL_H_GPP_D17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D17 [FM_XRC_PRESENT_N] + {GPIO_SKL_H_GPP_D18, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_D18 [FM_XRC_READY_N] + {GPIO_SKL_H_GPP_D19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_D19 [FM_ADR_MODE_SEL_R] + {GPIO_SKL_H_GPP_D20, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D20 [FM_BMC_HEARTBEAT_N] + {GPIO_SKL_H_GPP_D21, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D21_IE_UART_RX [NOT USED] + {GPIO_SKL_H_GPP_D22, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D22_IE_UART_TX [NOT USED] + {GPIO_SKL_H_GPP_D23, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_D23 [FM_CPU0_THERMTRIP_LATCH_LVT3_N] +// Group E + {GPIO_SKL_H_GPP_E0, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E0_SATAXPCIE0_SATAGP0 [FM_CPU0_RC_ERROR_N] + {GPIO_SKL_H_GPP_E1, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E1_SATAXPCIE1_SATAGP1 [FM_CPU1_RC_ERROR_N] + {GPIO_SKL_H_GPP_E2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E2_SATAXPCIE2_SATAGP2 [FM_POST_CARD_PRES_BMC_N] + {GPIO_SKL_H_GPP_E3, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E3_CPU_GP0 [FM_CPLD_ADR_TRIGGER_N] + {GPIO_SKL_H_GPP_E4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E4_SATA_DEVSLP0 [FM_CPU_ERR2_LVT3_N] + {GPIO_SKL_H_GPP_E5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E5_SATA_DEVSLP1 [FM_CPU_MSMI_LVT3_N] + {GPIO_SKL_H_GPP_E6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E6_SATA_DEVSLP2 [IRQ_BMC_PCH_NMI_STBY_N] + {GPIO_SKL_H_GPP_E7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E7_CPU_GP1 [FM_ADR_SMI_GPIO_N] + {GPIO_SKL_H_GPP_E8, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E8_SATA_LED_N [LED_PCH_SATA_HDD_N] + {GPIO_SKL_H_GPP_E9, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E9_USB2_OC0_N [FM_OC0_USB_N] + {GPIO_SKL_H_GPP_E10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E10_USB2_OC1_N [IRQ_BMC_PCH_SCI_LPC_N] + {GPIO_SKL_H_GPP_E11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E11_USB2_OC2_N [IRQ_BMC_PCH_SMI_LPC_N] + {GPIO_SKL_H_GPP_E12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_E12_USB2_OC3_N [IRQ_UV_DETECT_N +// Group F + {GPIO_SKL_H_GPP_F0, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F0_SATAXPCIE3_SATAGP3 [IRQ_OC_DETECT_N] + {GPIO_SKL_H_GPP_F1, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F1_SATAXPCIE4_SATAGP4 [FM_HSC_TIMER_EXP_N] + {GPIO_SKL_H_GPP_F2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F2_SATAXPCIE5_SATAGP5 [FM_MP_PS_FAIL_N] + {GPIO_SKL_H_GPP_F3, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F3_SATAXPCIE6_SATAGP6 [FM_MP_PS_REDUNDANT_LOST_N] + {GPIO_SKL_H_GPP_F4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F4_SATAXPCIE7_SATAGP7 [FM_BMC_READY_N] + {GPIO_SKL_H_GPP_F5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F5_SATA_DEVSLP3 [FM_BIOS_USB_RECOVERY] + {GPIO_SKL_H_GPP_F6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_F6_SATA_DEVSLP4 [JTAG_PCH_PLD_TCK] + {GPIO_SKL_H_GPP_F7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_F7_SATA_DEVSLP5 [JTAG_PCH_PLD_TDI] + {GPIO_SKL_H_GPP_F8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_F8_SATA_DEVSLP6 [JTAG_PCH_PLD_TMS] + {GPIO_SKL_H_GPP_F9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_F9_SATA_DEVSLP7 [JTAG_PCH_PLD_TDO] + {GPIO_SKL_H_GPP_F10, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F10_SATA_SCLOCK [SGPIO_PCH_SATA_CLOCK] + {GPIO_SKL_H_GPP_F11, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F11_SATA_SLOAD [SGPIO_PCH_SATA_LOAD + {GPIO_SKL_H_GPP_F12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F12_SATA_SDATAOUT1 [IRQ_SML1_PMBUS_ALERT_R1_N] + {GPIO_SKL_H_GPP_F13, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F13_SATA_SDATAOUT0 [SGPIO_PCH_SATA_DOUT0] + {GPIO_SKL_H_GPP_F14, { GpioPadModeNative3, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F14_SSATA_LED_N [LED_PCH_SSATA_HDD_N + {GPIO_SKL_H_GPP_F15, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F15_USB2_OC4_N [FM_FORCE_ADR_N] + {GPIO_SKL_H_GPP_F16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F16_USB2_OC5_N [FM_IE_DISABLE_N] + {GPIO_SKL_H_GPP_F17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F17_USB2_OC6_N [FM_BIOS_TOP_SWAP] + {GPIO_SKL_H_GPP_F18, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F18_USB2_OC7_N [FM_MEM_THERM_EVENT_PCH_N] + {GPIO_SKL_H_GPP_F19, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F19_LAN_SMBCLK [SMB_LAN_STBY_LVC3_SCL_R2] + {GPIO_SKL_H_GPP_F20, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F20_LAN_SMBDATA [SMB_LAN_STBY_LVC3_SDA_R2] + {GPIO_SKL_H_GPP_F21, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F21_LAN_SMBALRT_N [IRQ_PCH_NIC_ALERT_N] + {GPIO_SKL_H_GPP_F22, { GpioPadModeNative3, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F22_SSATA_SCLOCK [SGPIO_PCH_SSATA_CLOCK] + {GPIO_SKL_H_GPP_F23, { GpioPadModeNative3, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_F23_SSATA_SLOAD [SGPIO_PCH_SSATA_LOAD] +// Group G + {GPIO_SKL_H_GPP_G0, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G0_FANTACH0_FANTACH0IE [NOT USED] + {GPIO_SKL_H_GPP_G1, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G1_FANTACH1_FANTACH1IE [NOT USED] + {GPIO_SKL_H_GPP_G2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G2_FANTACH2_FANTACH2IE [NOT USED] + {GPIO_SKL_H_GPP_G3, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G3_FANTACH3_FANTACH3IE [NOT USED] + {GPIO_SKL_H_GPP_G4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G4_FANTACH4_FANTACH4IE [NOT USED] + {GPIO_SKL_H_GPP_G5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G5_FANTACH5_FANTACH5IE [NOT USED] + {GPIO_SKL_H_GPP_G6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G6_FANTACH6_FANTACH6IE [FM_CPU1_THERMTRIP_LATCH_LVT3_N] + {GPIO_SKL_H_GPP_G7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G7_FANTACH7_FANTACH7IE [NOT USED] + {GPIO_SKL_H_GPP_G8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G8_FANPWM0_FANPWM0IE [NOT USED] + {GPIO_SKL_H_GPP_G9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G9_FANPWM1_FANPWM1IE [NOT USED] + {GPIO_SKL_H_GPP_G10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G10_FANPWM2_FANPWM2IE [NOT USED] + {GPIO_SKL_H_GPP_G11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G11_FANPWM3_FANPWM3IE [NOT USED] + {GPIO_SKL_H_GPP_G12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_G12 [FM_BOARD_SKU_ID0] + {GPIO_SKL_H_GPP_G13, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_G13 [FM_BOARD_SKU_ID1] + {GPIO_SKL_H_GPP_G14, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_G14 [FM_BOARD_SKU_ID2] + {GPIO_SKL_H_GPP_G15, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_G15 [FM_BOARD_SKU_ID3] + {GPIO_SKL_H_GPP_G16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_G16 [FM_BOARD_SKU_ID4] + {GPIO_SKL_H_GPP_G17, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G17_ADR_COMPLETE [FM_ADR_COMPLETE] + {GPIO_SKL_H_GPP_G18, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G18_NMI_N [FM_NMI_EVENT_N] + {GPIO_SKL_H_GPP_G19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G19_SMI_N [FM_BIOS_SMI_ACTIVE_N] + {GPIO_SKL_H_GPP_G20, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G20_SSATA_DEVSLP0 [IRQ_FORCE_NM_THROTTLE_N] + {GPIO_SKL_H_GPP_G21, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G21_SSATA_DEVSLP1 [FM_SOL_UART_CH_SEL + {GPIO_SKL_H_GPP_G22, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G22_SSATA_DEVSLP2 [FM_CPU0_RC_EN + {GPIO_SKL_H_GPP_G23, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_G23_SSATAXPCIE0_SSATAGP0 [FM_UARTSW_MSB_N +// Group H + {GPIO_SKL_H_GPP_H0, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H0_SRCCLKREQ6_N [FM_UARTSW_LSB_N] + {GPIO_SKL_H_GPP_H1, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H1_SRCCLKREQ7_N [FM_BACKUP_BIOS_SEL_N] + {GPIO_SKL_H_GPP_H2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H2_SRCCLKREQ8_N [NOT USED] + {GPIO_SKL_H_GPP_H3, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H3_SRCCLKREQ9_N [NOT USED] + {GPIO_SKL_H_GPP_H4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H4_SRCCLKREQ10_N [NOT USED] + {GPIO_SKL_H_GPP_H5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H5_SRCCLKREQ11_N [NOT USED] + {GPIO_SKL_H_GPP_H6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H6_SRCCLKREQ12_N [NOT USED] + {GPIO_SKL_H_GPP_H7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H7_SRCCLKREQ13_N [NOT USED] + {GPIO_SKL_H_GPP_H8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H8_SRCCLKREQ14_N [NOT USED] + {GPIO_SKL_H_GPP_H9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H9_SRCCLKREQ15_N [NOT USED] + {GPIO_SKL_H_GPP_H10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H10_SML2CLK_IE [SMB_VR_STBY_LVC3_SCL_R1] + {GPIO_SKL_H_GPP_H11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H11_SML2DATA_IE [SMB_VR_STBY_LVC3_SDA_R1] + {GPIO_SKL_H_GPP_H12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H12_SML2ALERT_N_IE_N [FM_FLASH_ATTACH_CFG_STRAP] + {GPIO_SKL_H_GPP_H13, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H13_SML3CLK_IE [NOT USED] + {GPIO_SKL_H_GPP_H14, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H14_SML3DATA_IE [NOT USED] + {GPIO_SKL_H_GPP_H15, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_H15_SML3ALERT_N_IE_N [PU_ADR_TIMER_HOLD_OFF_N] + {GPIO_SKL_H_GPP_H16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H16_SML4CLK_IE [SMB_LAN_STBY_LVC3_SCL_R1] + {GPIO_SKL_H_GPP_H17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H17_SML4DATA_IE [SMB_LAN_STBY_LVC3_SDA_R1] + {GPIO_SKL_H_GPP_H18, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_H18_SML4ALERT_N_IE_N [FM_OC_DETECT_EN_N] + {GPIO_SKL_H_GPP_H19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetNormal,GpioTermNone}},//GPP_H19_SSATAXPCIE1_SSATAGP1 [FP_PWR_ID_LED_N] + {GPIO_SKL_H_GPP_H20, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_H20_SSATAXPCIE2_SSATAGP2 [FM_BMC_NMI_N] + {GPIO_SKL_H_GPP_H21, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_H21_SSATAXPCIE3_SSATAGP3 [FM_BIOS_SMI_ACTIVE_N] + {GPIO_SKL_H_GPP_H22, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_H22_SSATAXPCIE4_SSATAGP4 [FM_PCH_BMC_THERMTRIP_N] + {GPIO_SKL_H_GPP_H23, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep,GpioTermNone}},//GPP_H23_SSATAXPCIE5_SSATAGP5 [FM_SSATA_PCIE_M2_SEL] +// Group I + {GPIO_SKL_H_GPP_I0, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I0_LAN_TDO [JTAG_PCH_GBE_TDO] + {GPIO_SKL_H_GPP_I1, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I1_LAN_TCK [JTAG_PCH_GBE_CLK] + {GPIO_SKL_H_GPP_I2, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I2_LAN_TMS [JTAG_PCH_GBE_TMS] + {GPIO_SKL_H_GPP_I3, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I3_LAN_TDI [JTAG_PCH_GBE_TDI] + {GPIO_SKL_H_GPP_I4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I4_DO_RESET_IN_N [IRQ_DIMM_SAVE_LVT3_N] + {GPIO_SKL_H_GPP_I5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I5_DO_RESET_OUT_N [IRQ_BOARD_BMC_ALERT_N] + {GPIO_SKL_H_GPP_I6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I6_RESET_DONE [FM_CPU1_RC_ERROR_N] + {GPIO_SKL_H_GPP_I7, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I7_LAN_TRST_N [JTAG_PCH_GBE_TRST_N] + {GPIO_SKL_H_GPP_I8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I8_PCI_DIS_N [PU_10GBE_LOM_PCI_DISABLE_N] + {GPIO_SKL_H_GPP_I9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I9_LAN_DIS_N [FM_10GBE_LOM_DISABLE_N] + {GPIO_SKL_H_GPP_I10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_I10 [FM_BIOS_MRC_DEBUG_MSG_DIS_N] +// Group GPD + {GPIO_SKL_H_GPD0, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPD0 [XDP_PCH_PWR_DEBUG_N] + {GPIO_SKL_H_GPD1, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD1_ACPRESENT [FM_CPU1_SKTOCC_LVT3_N] + {GPIO_SKL_H_GPD2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD2_GBE_WAKE_N [RST_BMC_SRST_R_N] + {GPIO_SKL_H_GPD3, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD3_PWRBTN_N [FM_PCH_PWRBTN_N] + {GPIO_SKL_H_GPD4, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD4_SLP_S3_N [FM_SLPS3_N] + {GPIO_SKL_H_GPD5, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD5_SLP_S4_N [FM_SLPS4_N] + {GPIO_SKL_H_GPD6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD6_SLP_A_N [FM_CPU0_SKTOCC_LVT3_N] + {GPIO_SKL_H_GPD7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD7 [FM_BATTERY_SENSE_EN_N] + {GPIO_SKL_H_GPD8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD8_SUSCLK [NOT USED] + {GPIO_SKL_H_GPD9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD9 [FM_BMC_CPLD_MP_RST_N] + {GPIO_SKL_H_GPD10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD10_SLP_S5_N [FM_CPU0_RC_ERROR_N] + {GPIO_SKL_H_GPD11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis,GpioResetPwrGood, GpioTermNone}},//GPD11_GBEPHY [FM_GBE_LOM_DISABLE_N] +// Group J + {GPIO_SKL_H_GPP_J0, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J0_LAN_LED_P0_0 [LED_GBE_P0_0] + {GPIO_SKL_H_GPP_J1, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J1_LAN_LED_P0_1 [LED_GBE_P0_1] + {GPIO_SKL_H_GPP_J2, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J2_LAN_LED_P1_0 [LED_GBE_P1_0] + {GPIO_SKL_H_GPP_J3, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J3_LAN_LED_P1_1 [LED_GBE_P1_1] + {GPIO_SKL_H_GPP_J4, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J4_LAN_LED_P2_0 [LED_GBE_P2_0] + {GPIO_SKL_H_GPP_J5, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J5_LAN_LED_P2_1 [LED_GBE_P2_1] + {GPIO_SKL_H_GPP_J6, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J6_LAN_LED_P3_0 [LED_GBE_P3_0] + {GPIO_SKL_H_GPP_J7, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J7_LAN_LED_P3_1 [LED_GBE_P3_1] + {GPIO_SKL_H_GPP_J8, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J8_LAN_I2C_SCL_MDC_P0 [SMB_PCH_MEZZ_LOM0_SCL] + {GPIO_SKL_H_GPP_J9, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J9_LAN_I2C_SDA_MDIO_P0 [SMB_PCH_MEZZ_LOM0_SDA] + {GPIO_SKL_H_GPP_J10, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J10_LAN_I2C_SCL_MDC_P1 [SMB_PCH_MEZZ_LOM1_SCL] + {GPIO_SKL_H_GPP_J11, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J_11_SMB_GBE1_LVC3_R_SDA [SMB_PCH_MEZZ_LOM1_SDA] + {GPIO_SKL_H_GPP_J12, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J12_LAN_I2C_SCL_MDC_P2 [SMB_PCH_MEZZ_LOM2_SCL] + {GPIO_SKL_H_GPP_J13, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J13_LAN_I2C_SDA_MDIO_P2 [SMB_PCH_MEZZ_LOM2_SDA] + {GPIO_SKL_H_GPP_J14, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J14_LAN_I2C_SCL_MDC_P3 [SMB_PCH_MEZZ_LOM3_SCL] + {GPIO_SKL_H_GPP_J15, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirInOut, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J15_LAN_I2C_SDA_MDIO_P3 [SMB_PCH_MEZZ_LOM3_SDA] + {GPIO_SKL_H_GPP_J16, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J16_LAN_SDP_P0_0 [FM_GBE0_LVC3_MOD_ABS] + {GPIO_SKL_H_GPP_J17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J17_LAN_SDP_P0_1 [TP_PCH_GPP_J17] + {GPIO_SKL_H_GPP_J18, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J18_LAN_SDP_P1_0 [FM_GBE1_LVC3_MOD_ABS] + {GPIO_SKL_H_GPP_J19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J19_LAN_SDP_P1_1 [TP_PCH_GPP_J19] + {GPIO_SKL_H_GPP_J20, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J20_LAN_SDP_P2_0 [FM_GBE2_LVC3_MOD_ABS] + {GPIO_SKL_H_GPP_J21, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J21_LAN_SDP_P2_1 [TP_PCH_GPP_J21] + {GPIO_SKL_H_GPP_J22, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J22_LAN_SDP_P3_0 [FM_GBE3_LVC3_MOD_ABS] + {GPIO_SKL_H_GPP_J23, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_J23_LAN_SDP_P3_1 [TP_PCH_GPP_J23] +// Group K + {GPIO_SKL_H_GPP_K0, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K0_LAN_NCSI_CLK_IN [CLK_50M_CKMNG_PCH_10GBE] + {GPIO_SKL_H_GPP_K1, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K1_LAN_NCSI_TXD0 [RMII_BMC_PCH_SPRNGVLLE_TXD0] + {GPIO_SKL_H_GPP_K2, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K2_LAN_NCSI_TXD1 [RMII_BMC_PCH_SPRNGVLLE_TXD1] + {GPIO_SKL_H_GPP_K3, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K3_LAN_NCSI_TX_EN [RMII_BMC_PCH_SPRNGVLLE_TXEN] + {GPIO_SKL_H_GPP_K4, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K4_LAN_NCSI_CRS_DV [RMII_BMC_PCH_SPRNGVLLE_CRSDV_R1] + {GPIO_SKL_H_GPP_K5, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K5_LAN_NCSI_RXD0 [RMII_SPRNGVLLE_BMC_PCH_RXD0_R1] + {GPIO_SKL_H_GPP_K6, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K6_LAN_NCSI_RXD1 [RMII_SPRNGVLLE_BMC_PCH_RXD1_R1] + {GPIO_SKL_H_GPP_K7, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K7 [RMII_BMC_PCH_SPRNGVLLE_RXER_R] + {GPIO_SKL_H_GPP_K8, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K8_LAN_NCSI_ARB_IN [RMII_PCH_SPRNGVLLE_ARB_IN] + {GPIO_SKL_H_GPP_K9, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K9_LAN_NCSI_ARB_OUT [RMII_PCH_SPRNGVLLE_ARB_OUT_R] + {GPIO_SKL_H_GPP_K10, { GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_K10_PE_RST_N [RST_PCIE_PCH_PERST_N] +// Group L + //{GPIO_SKL_H_GPP_L0, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L0 + //{GPIO_SKL_H_GPP_L1, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L1 + {GPIO_SKL_H_GPP_L2, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L2_TESTCH0_D0 [FM_PRSNT_2_1_N] + {GPIO_SKL_H_GPP_L3, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L3_TESTCH0_D1 [FM_PRSNT_2_2_N] + {GPIO_SKL_H_GPP_L4, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L4_TESTCH0_D2 [FM_PRSNT_2_3_N] + {GPIO_SKL_H_GPP_L5, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L5_TESTCH0_D3 [FM_PRSNT_2_4_N] + {GPIO_SKL_H_GPP_L6, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L6_TESTCH0_D4 [FM_PRSNT_2_5_N] + {GPIO_SKL_H_GPP_L7, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L7_TESTCH0_D5 [FM_PRSNT_2_6_N] + {GPIO_SKL_H_GPP_L8, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L8_TESTCH0_D6 [FM_OCP_MEZZB_PRES_N] + {GPIO_SKL_H_GPP_L9, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L9_TESTCH0_D7 [FM_OCP_MEZZC_PRES_N] + {GPIO_SKL_H_GPP_L10, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L10_TESTCH0_CLK [TP_PCH_GPP_L10] + {GPIO_SKL_H_GPP_L11, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L11_TESTCH1_D0 [TP_PCH_GPP_L11] + {GPIO_SKL_H_GPP_L12, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L12_TESTCH1_D1 [H_CPU0_MEMABC_MEMHOT_PCH_N] + {GPIO_SKL_H_GPP_L13, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L13_TESTCH1_D2 [H_CPU0_MEMDEF_MEMHOT_PCH_N] + {GPIO_SKL_H_GPP_L14, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L14_TESTCH1_D3 [H_CPU1_MEMGHJ_MEMHOT_PCH_N + {GPIO_SKL_H_GPP_L15, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L15_TESTCH1_D4 [H_CPU1_MEMKLM_MEMHOT_PCH_N] + {GPIO_SKL_H_GPP_L16, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L16_TESTCH1_D5 [FM_CPU0_PROCHOT_PCH_N] + {GPIO_SKL_H_GPP_L17, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L17_TESTCH1_D6 [FM_CPU1_PROCHOT_PCH_N + {GPIO_SKL_H_GPP_L18, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L18_TESTCH1_D7 [FM_CPU_ERR0_PCH_N] + {GPIO_SKL_H_GPP_L19, { GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis,GpioResetDeep, GpioTermNone}},//GPP_L19_TESTCH1_CLK [FM_CPU_ERR1_PCH_N] +}; + +UINTN mGpioTableSizeTiogaPass = sizeof(mGpioTableTiogaPass); diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/IioBifur.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/IioBifur.c new file mode 100644 index 0000000000..23c6f0eb1e --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/IioBifur.c @@ -0,0 +1,70 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiPei.h> +#include <IioPlatformData.h> + +#include <Guid/HobList.h> +#include <Protocol/IioUds.h> +#include <Library/HobLib.h> +#include <Library/GpioLib.h> +#include <GpioPinsSklH.h> +#include <Ppi/ReadOnlyVariable2.h> +#include <IioBifurcationSlotTable.h> + + +#define ENABLE 1 +#define DISABLE 0 +#define NO_SLT_IMP 0xFF +#define SLT_IMP 1 +#define HIDE 1 +#define NOT_HIDE 0 +#define VPP_PORT_0 0 +#define VPP_PORT_1 1 +#define VPP_PORT_MAX 0xFF +#define VPP_ADDR_MAX 0xFF +#define PWR_VAL_MAX 0xFF +#define PWR_SCL_MAX 0xFF + + +IIO_BIFURCATION_ENTRY mIioBifurcationTable[] = +{ + { Iio_Socket0, Iio_Iou0, IIO_BIFURCATE_xxxxxx16 }, // Uplink x16 + { Iio_Socket0, Iio_Iou1, IIO_BIFURCATE_x4x4x4x4 }, // x24 upper x16 + { Iio_Socket0, Iio_Iou2, IIO_BIFURCATE_xxxxxx16 }, // OCP-Mezz + { Iio_Socket0, Iio_Mcp0, IIO_BIFURCATE_xxxxxx16 }, + { Iio_Socket0, Iio_Mcp1, IIO_BIFURCATE_xxxxxx16 }, + { Iio_Socket1, Iio_Iou0, IIO_BIFURCATE_xxxxxx16 }, // un-used + { Iio_Socket1, Iio_Iou1, IIO_BIFURCATE_xxxxxx16 }, // un-used + { Iio_Socket1, Iio_Iou2, IIO_BIFURCATE_xxxxxx16 }, // combine AirMax A & B to x16 + { Iio_Socket1, Iio_Mcp0, IIO_BIFURCATE_xxxxxx16 }, + { Iio_Socket1, Iio_Mcp1, IIO_BIFURCATE_xxxxxx16 }, +}; + +UINT8 mIioBifurcationTableEntries = sizeof(mIioBifurcationTable)/sizeof(IIO_BIFURCATION_ENTRY); + +IIO_SLOT_CONFIG_ENTRY mIioSlotTable[] = { + // Port | Slot | Inter | Power Limit | Power Limit | Hot | Vpp | Vpp | PcieSSD | PcieSSD | PcieSSD | Hidden + // Index | | lock | Scale | Value | Plug | Port | Addr | Cap | VppPort | VppAddr | + { PORT_1A_INDEX, NO_SLT_IMP, DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , DISABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , NOT_HIDE}, // x16 uplink[15:0] + { PORT_2A_INDEX, 4 , DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , ENABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , NOT_HIDE}, // x24 upper x16 + { PORT_2B_INDEX, 9 , DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , ENABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , NOT_HIDE}, // x24 upper x16 + { PORT_2C_INDEX, 10 , DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , ENABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , NOT_HIDE}, // x24 upper x16 + { PORT_2D_INDEX, 11 , DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , ENABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , NOT_HIDE}, // x24 upper x16 + { PORT_3A_INDEX, 7 , DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , ENABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , NOT_HIDE}, // OCP Mezz + { SOCKET_1_INDEX + + PORT_0_INDEX, NO_SLT_IMP, DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , DISABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , HIDE }, // CPU1 DMI unused + { SOCKET_1_INDEX + + PORT_1A_INDEX, NO_SLT_IMP, DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , DISABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , HIDE }, // CPU1 Port1 unused + { SOCKET_1_INDEX + + PORT_2A_INDEX, NO_SLT_IMP, DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , DISABLE , VPP_PORT_MAX , VPP_ADDR_MAX , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , HIDE }, // CPU1 Port2 unused + { SOCKET_1_INDEX + + PORT_3A_INDEX, NO_SLT_IMP, DISABLE , PWR_SCL_MAX , PWR_VAL_MAX , ENABLE , VPP_PORT_0 , 0x40 , DISABLE, VPP_PORT_MAX, VPP_ADDR_MAX , HIDE}, // Airmax A & B +}; + +UINT8 mIioSlotTableEntries = sizeof(mIioSlotTable)/sizeof(IIO_SLOT_CONFIG_ENTRY); \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.c new file mode 100644 index 0000000000..fdc906065a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.c @@ -0,0 +1,46 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiPei.h> +#include <Library/BaseLib.h> +#include <Library/IoLib.h> +#include <Library/BoardInitLib.h> +#include <Library/PcdLib.h> +#include <Library/DebugLib.h> + +EFI_STATUS +EFIAPI +TiogaPassBoardInitBeforeSiliconInit ( + VOID + ); + +EFI_STATUS +EFIAPI +TiogaPassBoardInitAfterSiliconInit ( + VOID + ); + +EFI_STATUS +EFIAPI +BoardInitBeforeSiliconInit ( + VOID + ) +{ + TiogaPassBoardInitBeforeSiliconInit (); + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +BoardInitAfterSiliconInit ( + VOID + ) +{ + TiogaPassBoardInitAfterSiliconInit (); + return EFI_SUCCESS; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.inf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.inf new file mode 100644 index 0000000000..b8f756ec88 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPostMemLib.inf @@ -0,0 +1,37 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = PeiBoardPostMemInitLib + FILE_GUID = 30F407D6-6B92-412A-B2DA-8E73E2B386E6 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = BoardInitLib + +[LibraryClasses] + BaseLib + DebugLib + BaseMemoryLib + MemoryAllocationLib + PcdLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + +[Sources] + PeiTiogaPassInitPostMemLib.c + PeiBoardInitPostMemLib.c + +[FixedPcd] + +[Pcd] + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.c new file mode 100644 index 0000000000..408fc37667 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.c @@ -0,0 +1,112 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiPei.h> +#include <Library/BaseLib.h> +#include <Library/IoLib.h> +#include <Library/BoardInitLib.h> +#include <Library/PcdLib.h> +#include <Library/DebugLib.h> + +EFI_STATUS +EFIAPI +TiogaPassBoardDetect ( + VOID + ); + +EFI_BOOT_MODE +EFIAPI +TiogaPassBoardBootModeDetect ( + VOID + ); + +EFI_STATUS +EFIAPI +TiogaPassBoardDebugInit ( + VOID + ); + +EFI_STATUS +EFIAPI +TiogaPassBoardInitBeforeMemoryInit ( + VOID + ); + +EFI_STATUS +EFIAPI +TiogaPassBoardInitAfterMemoryInit ( + VOID + ); + +EFI_STATUS +EFIAPI +BoardDetect ( + VOID + ) +{ + TiogaPassBoardDetect (); + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +BoardDebugInit ( + VOID + ) +{ + TiogaPassBoardDebugInit (); + return EFI_SUCCESS; +} + +EFI_BOOT_MODE +EFIAPI +BoardBootModeDetect ( + VOID + ) +{ + return TiogaPassBoardBootModeDetect (); +} + +EFI_STATUS +EFIAPI +BoardInitBeforeMemoryInit ( + VOID + ) +{ + TiogaPassBoardInitBeforeMemoryInit (); + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +BoardInitAfterMemoryInit ( + VOID + ) +{ + TiogaPassBoardInitAfterMemoryInit (); + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +BoardInitBeforeTempRamExit ( + VOID + ) +{ + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +BoardInitAfterTempRamExit ( + VOID + ) +{ + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.inf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.inf new file mode 100644 index 0000000000..0c305358a6 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiBoardInitPreMemLib.inf @@ -0,0 +1,69 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = PeiBoardInitPreMemLib + FILE_GUID = 73AA24AE-FB20-43F9-A3BA-448953A03A78 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = BoardInitLib + +[LibraryClasses] + BaseLib + DebugLib + BaseMemoryLib + MemoryAllocationLib + PcdLib + GpioLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + PurleyOpenBoardPkg/OpenBoardPkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + +[Sources] + PeiTiogaPassDetect.c + PeiTiogaPassInitPreMemLib.c + PeiBoardInitPreMemLib.c + GpioTable.c + UsbOC.c + IioBifur.c + AllLanesEparam.c + +[Pcd] + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress + gEfiCpRcPkgTokenSpaceGuid.PcdMaxCpuSocketCount + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicEnable + gOemSkuTokenSpaceGuid.PcdMemTsegSize + gOemSkuTokenSpaceGuid.PcdMemIedSize + + gOemSkuTokenSpaceGuid.PcdSetupData + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + + gOemSkuTokenSpaceGuid.PcdUsb20OverCurrentMappings + gOemSkuTokenSpaceGuid.PcdUsb30OverCurrentMappings + gOemSkuTokenSpaceGuid.PcdIioBifurcationTable + gOemSkuTokenSpaceGuid.PcdIioBifurcationTableEntries + gOemSkuTokenSpaceGuid.PcdIioSlotTable + gOemSkuTokenSpaceGuid.PcdIioSlotTableEntries + gOemSkuTokenSpaceGuid.PcdAllLanesEparamTable + gOemSkuTokenSpaceGuid.PcdAllLanesEparamTableSize + +[FixedPcd] + gEfiPchTokenSpaceGuid.PcdPchAcpiIoPortBaseAddress + gEfiPchTokenSpaceGuid.PcdTcoBaseAddress + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassDetect.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassDetect.c new file mode 100644 index 0000000000..ddbc24e680 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassDetect.c @@ -0,0 +1,28 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiPei.h> +#include <Library/DebugLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/IoLib.h> +#include <Library/HobLib.h> +#include <Library/PcdLib.h> +#include <Library/PciLib.h> +#include <Library/PcdLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/BoardInitLib.h> + +EFI_STATUS +EFIAPI +TiogaPassBoardDetect ( + VOID + ) +{ + DEBUG ((EFI_D_INFO, "TiogaPassBoardDetect\n")); + return EFI_SUCCESS; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitLib.h b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitLib.h new file mode 100644 index 0000000000..289e5d3194 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitLib.h @@ -0,0 +1,18 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _PEI_TIOGA_PASS_BOARD_INIT_LIB_H_ +#define _PEI_TIOGA_PASS_BOARD_INIT_LIB_H_ + +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/PcdLib.h> +#include <Library/MemoryAllocationLib.h> +#include <Library/DebugLib.h> + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPostMemLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPostMemLib.c new file mode 100644 index 0000000000..e76e6188e1 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPostMemLib.c @@ -0,0 +1,86 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiPei.h> +#include <Library/DebugLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/IoLib.h> +#include <Library/HobLib.h> +#include <Library/PcdLib.h> +#include <Library/PciLib.h> +#include <Library/BoardInitLib.h> + +#include <Setup/IioUniversalData.h> + +#include "PeiTiogaPassInitLib.h" + +VOID +GetIioUdsHob ( + IN IIO_UDS **UdsHobPtr + ) +{ + EFI_GUID UniversalDataGuid = IIO_UNIVERSAL_DATA_GUID; + EFI_HOB_GUID_TYPE *GuidHob; + + ASSERT(UdsHobPtr); + + *UdsHobPtr = NULL; + + GuidHob = GetFirstGuidHob (&UniversalDataGuid); + if (GuidHob){ + *UdsHobPtr = GET_GUID_HOB_DATA (GuidHob); + return; + } + + ASSERT(FALSE); +} + +EFI_STATUS +EFIAPI +TiogaPassBoardInitBeforeSiliconInit ( + VOID + ) +{ + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +TiogaPassBoardInitAfterSiliconInit ( + VOID + ) +{ + IIO_UDS *IioUds; + + DEBUG((EFI_D_ERROR, "TiogaPassBoardInitAfterSiliconInit\n")); + + GetIioUdsHob(&IioUds); + + DEBUG ((EFI_D_ERROR, "Memory TOLM: %X\n", IioUds->PlatformData.MemTolm)); + DEBUG ( + (EFI_D_ERROR, + "PCIE BASE: %lX Size : %X\n", + IioUds->PlatformData.PciExpressBase, + IioUds->PlatformData.PciExpressSize) + ); + DEBUG ( + (EFI_D_ERROR, + "PCI32 BASE: %X Limit: %X\n", + IioUds->PlatformData.PlatGlobalMmiolBase, + IioUds->PlatformData.PlatGlobalMmiolLimit) + ); + DEBUG ( + (EFI_D_ERROR, + "PCI64 BASE: %lX Limit: %lX\n", + IioUds->PlatformData.PlatGlobalMmiohBase, + IioUds->PlatformData.PlatGlobalMmiohLimit) + ); + DEBUG ((EFI_D_ERROR, "UC START: %lX End : %lX\n", IioUds->PlatformData.PlatGlobalMmiohBase, (IioUds->PlatformData.PlatGlobalMmiohLimit + 1))); + + return EFI_SUCCESS; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPreMemLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPreMemLib.c new file mode 100644 index 0000000000..a470b7b103 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/PeiTiogaPassInitPreMemLib.c @@ -0,0 +1,638 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Base.h> +#include <PiPei.h> +#include <Uefi.h> +#include <Library/DebugLib.h> +#include <Library/BaseLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/IoLib.h> +#include <Library/HobLib.h> +#include <Library/PcdLib.h> +#include <Library/PciLib.h> +#include <Library/BoardInitLib.h> +#include <Library/PeiServicesLib.h> +#include <Library/PeiServicesTablePointerLib.h> + +#include "PeiTiogaPassInitLib.h" + +#include <Ppi/BootInRecoveryMode.h> +#include <Ppi/PchPolicy.h> +#include <Ppi/ReadOnlyVariable2.h> +#include <Ppi/FirmwareVolumeInfo.h> +#include <Ppi/Reset.h> +#include <Ppi/Smbus2.h> +#include <Platform.h> +#include <GpioPinsSklH.h> +#include <Library/GpioLib.h> + +#include <Guid/SetupVariable.h> +#include <Guid/PchRcVariable.h> +#include <Guid/MemoryTypeInformation.h> + +#include <Library/MemoryAllocationLib.h> +#include <Library/PeiServicesLib.h> +#include <Library/DebugPrintErrorLevelLib.h> +#include <Library/PrintLib.h> +#include <SetupTable.h> +#include <Library/PchCycleDecodingLib.h> + +#include <Platform.h> +#include <Register/PchRegsPcr.h> +#include <Register/PchRegsLpc.h> +#include <Register/PchRegsSpi.h> +#include <PchAccess.h> +#include <Library/MmPciBaseLib.h> +#include <IndustryStandard/Pci22.h> + +#include <Protocol/IioUds.h> + +#include <Ppi/MasterBootMode.h> +#include <Ppi/EndOfPeiPhase.h> +#include <Ppi/MemoryDiscovered.h> +#include <Ppi/ReadOnlyVariable2.h> +#include <Library/SiliconPolicyInitLib.h> +#include <Library/SiliconPolicyUpdateLib.h> +#include <Library/GpioLib.h> +#include <Guid/GlobalVariable.h> +#include <Library/TimerLib.h> +#include <Register/PchRegsPmc.h> +#include <Library/PchCycleDecodingLib.h> +#include <Register/PchRegsLpc.h> +#include <Guid/FirmwareFileSystem3.h> +#include <Guid/SetupVariable.h> +#include <Guid/PchRcVariable.h> +#include <Guid/SocketVariable.h> +#include <Library/PchPcrLib.h> +#include <IioBifurcationSlotTable.h> +#include <KtiHost.h> + +#include "SioRegs.h" + +#define LEGACY_8259_MASK_REGISTER_MASTER 0x21 +#define LEGACY_8259_MASK_REGISTER_SLAVE 0xA1 + +extern GPIO_INIT_CONFIG mGpioTableTiogaPass[]; +extern UINTN mGpioTableSizeTiogaPass; + +extern PCH_USB_OVERCURRENT_PIN Usb20OverCurrentMappings[PCH_MAX_USB2_PORTS]; +extern PCH_USB_OVERCURRENT_PIN Usb30OverCurrentMappings[PCH_MAX_USB3_PORTS]; + +extern IIO_BIFURCATION_ENTRY mIioBifurcationTable[]; +extern UINT8 mIioBifurcationTableEntries; +extern IIO_SLOT_CONFIG_ENTRY mIioSlotTable[]; +extern UINT8 mIioSlotTableEntries; +extern ALL_LANES_EPARAM_LINK_INFO KtiTiogaPassAllLanesEparamTable[]; +extern UINT32 KtiTiogaPassAllLanesEparamTableSize; + +/** + + Initialize the GPIO IO selection, GPIO USE selection, and GPIO signal inversion registers. + + @param PeiServices - PeiService point. + @param CpuIo - CpuIo PPI to read/write IO ports. + + @retval EFI_SUCCESS - Init succeed. + +**/ +VOID +LpcSioEarlyInit ( + VOID + ) +{ + PchLpcGenIoRangeSet ((0x600 & 0xFF0), 0x10, LPC_ESPI_FIRST_SLAVE); + + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + IoWrite8 (SIO_INDEX_PORT, SIO_UNLOCK); + + // + //mailbox + // + IoWrite8 (SIO_INDEX_PORT, REG_LOGICAL_DEVICE); + IoWrite8 (SIO_DATA_PORT, SIO_MAILBOX); + + IoWrite8 (SIO_INDEX_PORT, BASE_ADDRESS_HIGH0); + IoWrite8 (SIO_DATA_PORT, (UINT8)(0x600 >> 8)); + + IoWrite8 (SIO_INDEX_PORT, BASE_ADDRESS_LOW0); + IoWrite8 (SIO_DATA_PORT, (UINT8)(0x600 & 0xFF)); + // + //active mailbox + // + IoWrite8 (SIO_INDEX_PORT, ACTIVATE); + IoWrite8 (SIO_DATA_PORT, 1); + + IoWrite8 (SIO_INDEX_PORT, SIO_LOCK); +} + + +VOID +EarlyPlatformPchInit ( + IN EFI_PEI_SERVICES **PeiServices, + IN SYSTEM_CONFIGURATION *SystemConfiguration, + IN PCH_RC_CONFIGURATION *PchRcConfiguration + ) +{ + UINT16 Data16; + UINT8 Data8; + UINT8 TcoRebootHappened; + UINTN SpiBaseAddress; + UINTN P2sbBase; + + DEBUG((DEBUG_ERROR, "EarlyPlatformPchInit - Start\n")); + + SpiBaseAddress = MmPciBase ( + DEFAULT_PCI_BUS_NUMBER_PCH, + PCI_DEVICE_NUMBER_PCH_SPI, + PCI_FUNCTION_NUMBER_PCH_SPI + ); + + // + // Program bar + // + P2sbBase = MmPciBase ( + DEFAULT_PCI_BUS_NUMBER_PCH, + PCI_DEVICE_NUMBER_PCH_P2SB, + PCI_FUNCTION_NUMBER_PCH_P2SB + ); + + MmioWrite32 (P2sbBase + R_PCH_P2SB_SBREG_BAR, PCH_PCR_BASE_ADDRESS); + MmioOr8 (P2sbBase + PCI_COMMAND_OFFSET, EFI_PCI_COMMAND_MEMORY_SPACE); + + // + // LPC I/O Configuration + // + PchLpcIoDecodeRangesSet ( + (V_PCH_LPC_IOD_LPT_378 << N_PCH_LPC_IOD_LPT) | + (V_PCH_LPC_IOD_COMB_3E8 << N_PCH_LPC_IOD_COMB) | + (V_PCH_LPC_IOD_COMA_3F8 << N_PCH_LPC_IOD_COMA) + ); + + PchLpcIoEnableDecodingSet ( + B_PCH_LPC_IOE_ME2 | + B_PCH_LPC_IOE_SE | + B_PCH_LPC_IOE_ME1 | + B_PCH_LPC_IOE_KE | + B_PCH_LPC_IOE_HGE | + B_PCH_LPC_IOE_LGE | + B_PCH_LPC_IOE_FDE | + B_PCH_LPC_IOE_PPE | + B_PCH_LPC_IOE_CBE | + B_PCH_LPC_IOE_CAE, + LPC_ESPI_FIRST_SLAVE + ); + + // + // Enable the upper 128-byte bank of RTC RAM + // + PchPcrAndThenOr32 (PID_RTC, R_PCH_PCR_RTC_CONF, (UINT32)~0, B_PCH_PCR_RTC_CONF_UCMOS_EN); + + // + // Disable the Watchdog timer expiration from causing a system reset + // + PchPcrAndThenOr32 (PID_ITSS, R_PCH_PCR_ITSS_GIC, (UINT32)~0, B_PCH_PCR_ITSS_GIC_AME); + + // + // Halt the TCO timer + // + Data16 = IoRead16 (PcdGet16 (PcdTcoBaseAddress) + R_PCH_TCO1_CNT); + Data16 |= B_PCH_TCO_CNT_TMR_HLT; + IoWrite16 (PcdGet16 (PcdTcoBaseAddress) + R_PCH_TCO1_CNT, Data16); + + // + // Read the Second TO status bit + // + Data8 = IoRead8 (PcdGet16 (PcdTcoBaseAddress) + R_PCH_TCO2_STS); + DEBUG((EFI_D_ERROR, "pre read:%x\n", Data8)); + + Data8 = IoRead8 (PcdGet16 (PcdTcoBaseAddress) + R_PCH_TCO2_STS); + DEBUG((EFI_D_ERROR, "read:%x\n", Data8)); + if ((Data8 & B_PCH_TCO2_STS_SECOND_TO) == B_PCH_TCO2_STS_SECOND_TO) { + TcoRebootHappened = 1; + } else { + TcoRebootHappened = 0; + } + if (TcoRebootHappened) { + DEBUG ((EFI_D_ERROR, "EarlyPlatformPchInit - TCO Second TO status bit is set. This might be a TCO reboot\n")); + } + + // + // Clear the Second TO status bit + // + Data8 |= B_PCH_TCO2_STS_SECOND_TO; + IoWrite8 (PcdGet16 (PcdTcoBaseAddress) + R_PCH_TCO2_STS, Data8); + + // + // Disable SERR NMI and IOCHK# NMI in port 61 + // + Data8 = IoRead8 (R_PCH_NMI_SC); + Data8 |= (B_PCH_NMI_SC_PCI_SERR_EN | B_PCH_NMI_SC_IOCHK_NMI_EN); + IoWrite8 (R_PCH_NMI_SC, Data8); + + PchPcrAndThenOr32 (PID_ITSS, R_PCH_PCR_ITSS_GIC, (UINT32)~B_PCH_PCR_ITSS_GIC_AME, 0); + + // + // Clear EISS bit to allow for SPI use + // + MmioAnd8 (SpiBaseAddress + R_PCH_SPI_BC, (UINT8)~B_PCH_SPI_BC_EISS); + + // + // Disable/hide ME IDE-R device. + // + + /*MmioWrite32( + (MmPciBase(DEFAULT_PCI_BUS_NUMBER_PCH, 0x16, 0x02) + 0x54), + 0x03 + );*/ + + PchPcrAndThenOr32 ( + PID_PSF1, + R_PCH_H_PCR_PSF1_T0_SHDW_IDER_REG_BASE + R_PCH_PCR_PSFX_T0_SHDW_PCIEN, + (UINT32)~0, + B_PCH_PCR_PSFX_T0_SHDW_PCIEN_FUNDIS + ); + + /*MmioWrite32( + (MmPciBase(DEFAULT_PCI_BUS_NUMBER_PCH, 0x16, 0x03) + 0x54), + 0x03 + );*/ + + PchPcrAndThenOr32 ( + PID_PSF1, + R_PCH_H_PCR_PSF1_T0_SHDW_KT_REG_BASE + R_PCH_PCR_PSFX_T0_SHDW_PCIEN, + (UINT32)~0, + B_PCH_PCR_PSFX_T0_SHDW_PCIEN_FUNDIS + ); + + PchPcrAndThenOr32 ( + PID_PSF2, + R_PCH_PCR_PSF2_T0_SHDW_TRH_REG_BASE + R_PCH_PCR_PSFX_T0_SHDW_PCIEN, + (UINT32)~0, + B_PCH_PCR_PSFX_T0_SHDW_PCIEN_FUNDIS + ); + + DEBUG((DEBUG_ERROR, "EarlyPlatformPchInit - End\n")); +} + + +/** + + Initialize POC register by Variable. + + @param *SystemConfiguration - Pointer to SystemConfiguration variables. + + @retval EFI_SUCCESS - Success. + +**/ +EFI_STATUS +UpdatePlatformInfo ( + IN SYSTEM_CONFIGURATION *SystemConfiguration, + IN SOCKET_CONFIGURATION *SocketConfiguration + ) +{ + SOCKET_PROCESSORCORE_CONFIGURATION *SocketProcessorCoreConfig; + SOCKET_IIO_CONFIGURATION *SocketIioConfig; + EFI_STATUS Status; + UINT32 PcIoApicEnable; +#if MAX_SOCKET <= 4 + UINTN Index; +#endif + + DEBUG((EFI_D_ERROR, "platform update platform info entry\n")); + + SocketProcessorCoreConfig = &SocketConfiguration->SocketProcessorCoreConfiguration; + SocketIioConfig = &SocketConfiguration->IioConfig; + +#if MAX_SOCKET <= 4 + for (Index = 0; Index < 24; Index++) { + if (SocketIioConfig->DevPresIoApicIio[Index]) { + PcIoApicEnable |= (1 << Index); + } + } + +#else + // Enable all 32 IOxAPIC + PcIoApicEnable = 0xFFFFFFFF; +#endif + Status = PcdSet32S (PcdPcIoApicEnable, PcIoApicEnable); + ASSERT_EFI_ERROR (Status); + // + // Check to make sure TsegSize is in range, if not use default. + // + if (SocketProcessorCoreConfig->TsegSize > MAX_PROCESSOR_TSEG) { + SocketProcessorCoreConfig->TsegSize = MAX_PROCESSOR_TSEG; // if out of range make default 64M + } + Status = PcdSet32S (PcdMemTsegSize, (0x400000 << SocketProcessorCoreConfig->TsegSize)); + ASSERT_EFI_ERROR (Status); + if (SocketProcessorCoreConfig->IedSize > 0) { + Status = PcdSet32S (PcdMemIedSize, (0x400000 << (SocketProcessorCoreConfig->IedSize - 1))); + ASSERT_EFI_ERROR (Status); + } else { + Status = PcdSet32S (PcdMemIedSize, 0); + ASSERT_EFI_ERROR (Status); + } + + // + // Minimum SMM range in TSEG should be larger than 3M + // + ASSERT (PcdGet32 (PcdMemTsegSize) - PcdGet32 (PcdMemIedSize) >= 0x300000); + + return EFI_SUCCESS; +} + +/** + Clear any SMI status or wake status left from boot. + + @retval EFI_SUCCESS The function completed successfully. +**/ +EFI_STATUS +ClearPchSmiAndWake ( + VOID + ) +{ + UINT16 ABase; + UINT16 Pm1Sts = 0; + + + // + // Clear any SMI or wake state from the boot + // + Pm1Sts |= + ( + B_PCH_ACPI_PM1_STS_PWRBTN + ); + PchAcpiBaseGet (&ABase); + // + // Write them back + // + IoWrite16 (ABase + R_PCH_ACPI_PM1_STS, Pm1Sts); + + // + // Clear the GPE and PM enable + // + IoWrite16 (ABase + R_PCH_ACPI_PM1_EN, 0); + IoWrite32 (ABase + R_PCH_ACPI_GPE0_EN_127_96, 0); + + return EFI_SUCCESS; +} + +EFI_STATUS +PlatformInitGpios ( + VOID + ) +{ + EFI_STATUS Status; + GPIO_INIT_CONFIG *GpioTable; + UINTN TableSize; + + TableSize = mGpioTableSizeTiogaPass; + DEBUG ((DEBUG_ERROR, "UBA:Size of GpioTable 0x%X, blocks: 0x%X.\n", TableSize, (TableSize/sizeof (GPIO_INIT_CONFIG)) )); + + GpioTable = mGpioTableTiogaPass; + DEBUG ((DEBUG_ERROR, "UBA: ConfigureGpio() TiogaPass Start.\n")); + Status = GpioConfigurePads (TableSize/sizeof (GPIO_INIT_CONFIG), GpioTable); + DEBUG ((DEBUG_ERROR, "UBA: ConfigureGpio() TiogaPass End.\n")); + + return EFI_SUCCESS; +} + +VOID +SetUsbConfig ( + VOID + ) +{ + EFI_STATUS Status; + + Status = PcdSet64S (PcdUsb20OverCurrentMappings, (UINT64)(UINTN)Usb20OverCurrentMappings); + ASSERT_EFI_ERROR (Status); + Status = PcdSet64S (PcdUsb30OverCurrentMappings, (UINT64)(UINTN)Usb30OverCurrentMappings); + ASSERT_EFI_ERROR (Status); +} + +VOID +IioPortBifurcationConfig ( + VOID + ) +{ + EFI_STATUS Status; + + Status = PcdSet64S (PcdIioBifurcationTable, (UINT64)(UINTN)mIioBifurcationTable); + ASSERT_EFI_ERROR (Status); + Status = PcdSet8S (PcdIioBifurcationTableEntries, mIioBifurcationTableEntries); + ASSERT_EFI_ERROR (Status); + Status = PcdSet64S (PcdIioSlotTable, (UINT64)(UINTN)mIioSlotTable); + ASSERT_EFI_ERROR (Status); + Status = PcdSet8S (PcdIioSlotTableEntries, mIioSlotTableEntries); + ASSERT_EFI_ERROR (Status); +} + +VOID +AllLanesEparamTableConfig ( + VOID + ) +{ + EFI_STATUS Status; + + Status = PcdSet64S (PcdAllLanesEparamTable, (UINT64)(UINTN)KtiTiogaPassAllLanesEparamTable); + ASSERT_EFI_ERROR (Status); + Status = PcdSet32S (PcdAllLanesEparamTableSize, KtiTiogaPassAllLanesEparamTableSize); + ASSERT_EFI_ERROR (Status); +} + +EFI_STATUS +PchLanConfig ( + IN SYSTEM_CONFIGURATION *SystemConfig + ) +{ + GpioSetOutputValue (GPIO_SKL_H_GPP_I9, (UINT32)SystemConfig->LomDisableByGpio); + + return EFI_SUCCESS; +} + +/** + Write to mask registers of master and slave 8259 PICs. + +**/ +VOID +STATIC +Mask8259Interrupts ( + VOID + ) +{ + IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, 0xFF); + IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, 0xFF); +} + +EFI_STATUS +EFIAPI +TiogaPassBoardInitBeforeMemoryInit ( + VOID + ) +{ + EFI_STATUS Status; + SETUP_DATA SetupData; + SYSTEM_CONFIGURATION SystemConfiguration; + PCH_RC_CONFIGURATION PchRcConfiguration; + SOCKET_CONFIGURATION SocketConfiguration; + UINT16 ABase; + UINT16 Pm1Sts; + UINT32 Pm1Cnt; + CONST EFI_PEI_SERVICES ** PeiServices; + + PeiServices = GetPeiServicesTablePointer (); + + ZeroMem (&SetupData, sizeof(SETUP_DATA)); + CopyMem (&SetupData.SocketConfig.IioConfig, PcdGetPtr(PcdSocketIioConfigData), sizeof(SOCKET_IIO_CONFIGURATION)); + CopyMem (&SetupData.SocketConfig.CommonRcConfig, PcdGetPtr(PcdSocketCommonRcConfigData), sizeof(SOCKET_COMMONRC_CONFIGURATION)); + CopyMem (&SetupData.SocketConfig.CsiConfig, PcdGetPtr(PcdSocketMpLinkConfigData), sizeof(SOCKET_MP_LINK_CONFIGURATION)); + CopyMem (&SetupData.SocketConfig.MemoryConfig, PcdGetPtr(PcdSocketMemoryConfigData), sizeof(SOCKET_MEMORY_CONFIGURATION)); + CopyMem (&SetupData.SocketConfig.PowerManagementConfig, PcdGetPtr(PcdSocketPowerManagementConfigData), sizeof(SOCKET_POWERMANAGEMENT_CONFIGURATION)); + CopyMem (&SetupData.SocketConfig.SocketProcessorCoreConfiguration, PcdGetPtr(PcdSocketProcessorCoreConfigData), sizeof(SOCKET_PROCESSORCORE_CONFIGURATION)); + CopyMem (&SetupData.SystemConfig, PcdGetPtr(PcdSetupData), sizeof(SYSTEM_CONFIGURATION)); + CopyMem (&SetupData.PchRcConfig, PcdGetPtr(PcdPchRcConfigurationData), sizeof(PCH_RC_CONFIGURATION)); + + CopyMem (&SocketConfiguration, &(SetupData.SocketConfig), sizeof (SOCKET_CONFIGURATION)); + CopyMem (&PchRcConfiguration, &(SetupData.PchRcConfig), sizeof (PCH_RC_CONFIGURATION)); + CopyMem (&SystemConfiguration, &(SetupData.SystemConfig), sizeof (SYSTEM_CONFIGURATION)); + + /// + /// Set LPC SIO + /// + MmioOr16( + (MmPciBase(DEFAULT_PCI_BUS_NUMBER_PCH, PCI_DEVICE_NUMBER_PCH_LPC, PCI_FUNCTION_NUMBER_PCH_LPC) + R_PCH_LPC_IOE), + B_PCH_LPC_IOE_SE + ); + + LpcSioEarlyInit (); + + Status = PlatformInitGpios (); + ASSERT_EFI_ERROR (Status); + + SetUsbConfig (); + IioPortBifurcationConfig (); + AllLanesEparamTableConfig (); + + /// + /// Do Early PCH init + /// + EarlyPlatformPchInit ((EFI_PEI_SERVICES**)PeiServices, &SystemConfiguration, &PchRcConfiguration); + + /// + /// Clear PCH SMI and Wake + /// Clear all pending SMI. On S3 clear power button enable so it will not generate an SMI. + /// + Status = ClearPchSmiAndWake(); + ASSERT_EFI_ERROR (Status); + ///---------------------------------------------------------------------------------- + /// + /// BIOS should check the WAK_STS bit in PM1_STS[15] (PCH register ABASE+00h) before memory + /// initialization to determine if ME has reset the system while the host was in a sleep state. + /// If WAK_STS is not set, BIOS should ensure a non-sleep exit path is taken by overwriting + /// PM1_CNT[12:10] (PCH register ABASE+04h) to 111b to force an s5 exit. + /// + PchAcpiBaseGet (&ABase); + Pm1Sts = IoRead16 (ABase + R_PCH_ACPI_PM1_STS); + if ((Pm1Sts & B_PCH_ACPI_PM1_STS_WAK) == 0) { + Pm1Cnt = IoRead32 (ABase + R_PCH_ACPI_PM1_CNT); + Pm1Cnt |= V_PCH_ACPI_PM1_CNT_S5; + IoWrite32 (ABase + R_PCH_ACPI_PM1_CNT, Pm1Cnt); + } + + UpdatePlatformInfo (&SystemConfiguration, &SocketConfiguration); + + // + // Do platform specific on-board Zoar init + // + PchLanConfig (&SystemConfiguration); + + // + // The 8259 PIC is still functional and not masked by default even if APIC is + // enabled. So need to disable all 8259 interrupts. + // + Mask8259Interrupts (); + + return EFI_SUCCESS; +} + +/** + + Turn off system if needed. + + @param PeiServices Pointer to PEI Services + @param CpuIo Pointer to CPU I/O Protocol + + @retval None. + +**/ +VOID +CheckPowerOffNow ( + VOID + ) +{ + + UINT16 Pm1Sts; + + // + // Read and check the ACPI registers + // + Pm1Sts = IoRead16 (PcdGet16 (PcdPchAcpiIoPortBaseAddress) + R_PCH_ACPI_PM1_STS); + DEBUG ((EFI_D_ERROR, "CheckPowerOffNow()- Pm1Sts= 0x%04x\n", Pm1Sts )); + + if ((Pm1Sts & B_PCH_ACPI_PM1_STS_PWRBTN) == B_PCH_ACPI_PM1_STS_PWRBTN) { + IoWrite16 (PcdGet16 (PcdPchAcpiIoPortBaseAddress) + R_PCH_ACPI_PM1_STS, B_PCH_ACPI_PM1_STS_PWRBTN); + IoWrite16 (PcdGet16 (PcdPchAcpiIoPortBaseAddress) + R_PCH_ACPI_PM1_CNT, V_PCH_ACPI_PM1_CNT_S5); + IoWrite16 (PcdGet16 (PcdPchAcpiIoPortBaseAddress) + R_PCH_ACPI_PM1_CNT, V_PCH_ACPI_PM1_CNT_S5 + B_PCH_ACPI_PM1_CNT_SLP_EN); + } +} + +EFI_STATUS +EFIAPI +TiogaPassBoardInitAfterMemoryInit ( + VOID + ) +{ + EFI_STATUS Status; + EFI_BOOT_MODE BootMode; + UINT16 Pm1Cnt; + + Status = PeiServicesGetBootMode (&BootMode); + ASSERT_EFI_ERROR (Status); + + // + // Check if user wants to turn off in PEI phase + // + if (BootMode != BOOT_ON_S3_RESUME) { + CheckPowerOffNow (); + } else { + Pm1Cnt = IoRead16 (PcdGet16 (PcdPchAcpiIoPortBaseAddress) + R_PCH_ACPI_PM1_CNT); + Pm1Cnt &= ~B_PCH_ACPI_PM1_CNT_SLP_TYP; + IoWrite16 (PcdGet16 (PcdPchAcpiIoPortBaseAddress) + R_PCH_ACPI_PM1_CNT, Pm1Cnt); + } + + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +TiogaPassBoardDebugInit ( + VOID + ) +{ + return EFI_SUCCESS; +} + +EFI_BOOT_MODE +EFIAPI +TiogaPassBoardBootModeDetect ( + VOID + ) +{ + return BOOT_WITH_FULL_CONFIGURATION; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/UsbOC.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/UsbOC.c new file mode 100644 index 0000000000..e1661df7e3 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/BoardInitLib/UsbOC.c @@ -0,0 +1,46 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <PiPei.h> + +#include <Library/PcdLib.h> +#include <PchLimits.h> +#include <PchPolicyCommon.h> + +PCH_USB_OVERCURRENT_PIN Usb20OverCurrentMappings[PCH_MAX_USB2_PORTS] = { + PchUsbOverCurrentPin0, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip + }; + +PCH_USB_OVERCURRENT_PIN Usb30OverCurrentMappings[PCH_MAX_USB3_PORTS] = { + PchUsbOverCurrentPin0, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip, + PchUsbOverCurrentPinSkip + }; + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.c b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.c new file mode 100644 index 0000000000..9d81776e22 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.c @@ -0,0 +1,138 @@ +/** @file + +Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include <Base.h> +#include <Library/BaseMemoryLib.h> +#include <Library/DebugLib.h> +#include <Library/HobLib.h> +#include <Library/PeiServicesLib.h> +#include <Library/ReportFvLib.h> +#include <Guid/FirmwareFileSystem2.h> +#include <Ppi/FirmwareVolumeInfo.h> + +VOID +ReportPreMemFv ( + VOID + ) +{ + if (!PcdGetBool(PcdFspWrapperBootMode)) { + DEBUG ((DEBUG_INFO, "Install FlashFvFspM - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvFspMBase), PcdGet32 (PcdFlashFvFspMSize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvFspMBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvFspMBase), + PcdGet32 (PcdFlashFvFspMSize), + NULL, + NULL, + 0 + ); + } + DEBUG ((DEBUG_INFO, "Install FlashFvSecurity - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvSecurityBase), PcdGet32 (PcdFlashFvSecuritySize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvSecurityBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvSecurityBase), + PcdGet32 (PcdFlashFvSecuritySize), + NULL, + NULL, + 0 + ); + DEBUG ((DEBUG_INFO, "Install FlashFvAdvanced - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvAdvancedBase), PcdGet32 (PcdFlashFvAdvancedSize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvAdvancedBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedBase), + PcdGet32 (PcdFlashFvAdvancedSize), + NULL, + NULL, + 0 + ); +} + +VOID +ReportPostMemFv ( + VOID + ) +{ + EFI_STATUS Status; + EFI_BOOT_MODE BootMode; + + Status = PeiServicesGetBootMode (&BootMode); + ASSERT_EFI_ERROR (Status); + + /// + /// Build HOB for DXE + /// + if (BootMode == BOOT_IN_RECOVERY_MODE) { + /// + /// Prepare the recovery service + /// + } else { + DEBUG ((DEBUG_INFO, "Install FlashFvPostMemory - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvPostMemoryBase), PcdGet32 (PcdFlashFvPostMemorySize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvPostMemoryBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvPostMemoryBase), + PcdGet32 (PcdFlashFvPostMemorySize), + NULL, + NULL, + 0 + ); + if (!PcdGetBool(PcdFspWrapperBootMode)) { + DEBUG ((DEBUG_INFO, "Install FlashFvFspS - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvFspSBase), PcdGet32 (PcdFlashFvFspSSize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvFspSBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvFspSBase), + PcdGet32 (PcdFlashFvFspSSize), + NULL, + NULL, + 0 + ); + DEBUG ((DEBUG_INFO, "Install FlashFvFspU - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvFspUBase), PcdGet32 (PcdFlashFvFspUSize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvFspUBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvFspUBase), + PcdGet32 (PcdFlashFvFspUSize), + NULL, + NULL, + 0 + ); + } + DEBUG ((DEBUG_INFO, "Install FlashFvUefiBoot - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvUefiBootBase), PcdGet32 (PcdFlashFvUefiBootSize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvUefiBootBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvUefiBootBase), + PcdGet32 (PcdFlashFvUefiBootSize), + NULL, + NULL, + 0 + ); + DEBUG ((DEBUG_INFO, "Install FlashFvOsBoot - 0x%x, 0x%x\n", PcdGet32 (PcdFlashFvOsBootBase), PcdGet32 (PcdFlashFvOsBootSize))); + PeiServicesInstallFvInfo2Ppi ( + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvOsBootBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvOsBootBase), + PcdGet32 (PcdFlashFvOsBootSize), + NULL, + NULL, + 0 + ); + } + + // + // Report resource HOB for flash FV + // + BuildResourceDescriptorHob ( + EFI_RESOURCE_MEMORY_MAPPED_IO, + (EFI_RESOURCE_ATTRIBUTE_PRESENT | + EFI_RESOURCE_ATTRIBUTE_INITIALIZED | + EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE), + (UINTN) PcdGet32 (PcdFlashAreaBaseAddress), + (UINTN) PcdGet32 (PcdFlashAreaSize) + ); + BuildMemoryAllocationHob ( + (UINTN) PcdGet32 (PcdFlashAreaBaseAddress), + (UINTN) PcdGet32 (PcdFlashAreaSize), + EfiMemoryMappedIO + ); +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.inf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.inf new file mode 100644 index 0000000000..8c753e73ba --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/Library/PeiReportFvLib/PeiReportFvLib.inf @@ -0,0 +1,51 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = PeiReportFvLib + FILE_GUID = 44328FA5-E4DD-4A15-ABDF-C6584AC363D9 + VERSION_STRING = 1.0 + MODULE_TYPE = PEIM + LIBRARY_CLASS = ReportFvLib + +[LibraryClasses] + BaseMemoryLib + DebugLib + HobLib + PeiServicesLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + +[Sources] + PeiReportFvLib.c + +[Pcd] + gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize ## CONSUMES diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc new file mode 100644 index 0000000000..e4c8e7fbf1 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc @@ -0,0 +1,245 @@ +## @file +# The main build description file for the TiogaPass board. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +################################################################################ +# +# Defines Section - statements that will be processed to create a Makefile. +# +################################################################################ +[Defines] + DEFINE PLATFORM_PACKAGE = MinPlatformPkg + DEFINE PLATFORM_SI_PACKAGE = PurleyRefreshSiliconPkg + DEFINE PLATFORM_SI_BIN_PACKAGE = PurleySiliconBinPkg + DEFINE PLATFORM_BOARD_PACKAGE = PurleyOpenBoardPkg + DEFINE BOARD = BoardTiogaPass + DEFINE PROJECT = $(PLATFORM_BOARD_PACKAGE)/$(BOARD) + DEFINE PEI_ARCH = IA32 + DEFINE DXE_ARCH = X64 + + PLATFORM_NAME = PurleyOpenBoardPkg + PLATFORM_GUID = D7EAF54D-C9B9-4075-89F0-71943DBCFA61 + PLATFORM_VERSION = 0.1 + DSC_SPECIFICATION = 0x00010005 + OUTPUT_DIRECTORY = Build/$(PROJECT) + SUPPORTED_ARCHITECTURES = IA32|X64 + BUILD_TARGETS = DEBUG|RELEASE + SKUID_IDENTIFIER = DEFAULT + FLASH_DEFINITION = $(PROJECT)/OpenBoardPkg.fdf + + FIX_LOAD_TOP_MEMORY_ADDRESS = 0x0 + + DEFINE NETWORK_ISCSI_ENABLE = TRUE + + # + # Platform On/Off features are defined here + # + !include $(PROJECT)/PlatformPkgConfig.dsc + + # + # Include PCD configuration for this board. + # + !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc + + !include PlatformPkgPcd.dsc + !include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc + + +################################################################################ +# +# SKU Identification section - list of all SKU IDs supported by this +# Platform. +# +################################################################################ +[SkuIds] + 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required. + +[DefaultStores] + 0|STANDARD # UEFI Standard default 0|STANDARD is reserved. + 1|MANUFACTURING # UEFI Manufacturing default 1|MANUFACTURING is reserved. + +################################################################################ +# +# Includes section - other DSC file contents included for this board build. +# +################################################################################ + +####################################### +# Library Includes +####################################### +!include $(PLATFORM_PACKAGE)/Include/Dsc/CoreCommonLib.dsc +!include $(PLATFORM_PACKAGE)/Include/Dsc/CorePeiLib.dsc +!include $(PLATFORM_PACKAGE)/Include/Dsc/CoreDxeLib.dsc +!include $(PLATFORM_SI_PACKAGE)/SiPkgCommonLib.dsc +!include $(PLATFORM_SI_PACKAGE)/SiPkgPeiLib.dsc +!include $(PLATFORM_SI_PACKAGE)/SiPkgDxeLib.dsc + +####################################### +# Component Includes +####################################### + +[Components.$(PEI_ARCH)] +!include $(PLATFORM_PACKAGE)/Include/Dsc/CorePeiInclude.dsc + +[Components.$(DXE_ARCH)] +#TiogaPass Override START : Added Board Specific changes in core drivers +#!include $(PLATFORM_PACKAGE)/Include/Dsc/CoreDxeInclude.dsc +!include CoreDxeInclude.dsc +#TiogaPass Override END + +####################################### +# Build Option Includes +####################################### +!include $(PROJECT)/PlatformPkgBuildOption.dsc + +################################################################################ +# +# Library Class section - list of all Library Classes needed by this Platform. +# +################################################################################ + +[LibraryClasses.common] +!if gPlatformTokenSpaceGuid.PcdFastBoot == FALSE + PlatformBootManagerLib|$(PLATFORM_PACKAGE)/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf +!else + PlatformBootManagerLib|$(PLATFORM_BOARD_PACKAGE)/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf +!endif + + ReportFvLib|$(PROJECT)/Library/PeiReportFvLib/PeiReportFvLib.inf + TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLibNull/TestPointCheckLibNull.inf + + CompressLib|$(PLATFORM_PACKAGE)/Library/CompressLib/CompressLib.inf + + PciSegmentInfoLib|$(PLATFORM_PACKAGE)/Pci/Library/PciSegmentInfoLibSimple/PciSegmentInfoLibSimple.inf + AslUpdateLib|$(PLATFORM_PACKAGE)/Acpi/Library/DxeAslUpdateLib/DxeAslUpdateLib.inf + + # + # Board + # + SiliconPolicyInitLib|$(PLATFORM_BOARD_PACKAGE)/Policy/Library/SiliconPolicyInitLib/SiliconPolicyInitLib.inf + SiliconPolicyUpdateLib|$(PLATFORM_BOARD_PACKAGE)/Policy/Library/SiliconPolicyUpdateLib/SiliconPolicyUpdateLib.inf + PlatformHookLib|$(PROJECT)/Library/BasePlatformHookLib/BasePlatformHookLib.inf + BoardInitLib|$(PLATFORM_PACKAGE)/PlatformInit/Library/BoardInitLibNull/BoardInitLibNull.inf + +!if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE + IpmiPlatformHookLib|$(PLATFORM_BOARD_PACKAGE)/Features/Ipmi/Library/IpmiPlatformHookLib/IpmiPlatformHookLib.inf +!endif + +[LibraryClasses.IA32] +!if $(TARGET) == DEBUG + TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib/PeiTestPointCheckLib.inf +!endif + TestPointLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointLib/PeiTestPointLib.inf + SetCacheMtrrLib|$(PLATFORM_PACKAGE)/Library/SetCacheMtrrLib/SetCacheMtrrLib.inf + ReportCpuHobLib|$(PLATFORM_PACKAGE)/PlatformInit/Library/ReportCpuHobLib/ReportCpuHobLib.inf +!if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE + IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf +!endif + +[LibraryClasses.X64] + BoardAcpiTableLib|$(PROJECT)/Library/BoardAcpiLib/DxeBoardAcpiTableLib.inf +!if $(TARGET) == DEBUG + TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib/DxeTestPointCheckLib.inf +!endif + TestPointLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointLib/DxeTestPointLib.inf + BoardBootManagerLib|$(PLATFORM_PACKAGE)/Bds/Library/BoardBootManagerLibNull/BoardBootManagerLibNull.inf + BoardBdsHookLib|BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf +!if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE + IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf +!endif + +[LibraryClasses.X64.DXE_SMM_DRIVER] +!if $(TARGET) == DEBUG + TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.inf +!endif + TestPointLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointLib/SmmTestPointLib.inf +!if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE + IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf +!endif + +[Components.IA32] + + $(PLATFORM_SI_BIN_PACKAGE)/FV/FvTempMemorySilicon/$(TARGET)/FvTempMemorySilicon.inf + $(PLATFORM_SI_BIN_PACKAGE)/FV/FvPreMemorySilicon/$(TARGET)/FvPreMemorySilicon.inf + $(PLATFORM_SI_BIN_PACKAGE)/FV/FvPostMemorySilicon/$(TARGET)/FvPostMemorySilicon.inf + + $(PLATFORM_BOARD_PACKAGE)/Policy/SystemBoard/SystemBoardPei.inf + + $(PLATFORM_PACKAGE)/PlatformInit/ReportFv/ReportFvPei.inf + $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf { + <LibraryClasses> + BoardInitLib|$(PROJECT)/Library/BoardInitLib/PeiBoardInitPreMemLib.inf + } + $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitPei/PlatformInitPostMem.inf { + <LibraryClasses> + BoardInitLib|$(PROJECT)/Library/BoardInitLib/PeiBoardInitPostMemLib.inf + } + $(PLATFORM_PACKAGE)/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPreMem.inf + $(PLATFORM_PACKAGE)/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPostMem.inf + +[Components.X64] + + $(PLATFORM_SI_BIN_PACKAGE)/FV/FvLateSilicon/$(TARGET)/FvLateSilicon.inf + $(PLATFORM_SI_BIN_PACKAGE)/Microcode/Microcode.inf + + $(PLATFORM_BOARD_PACKAGE)/Policy/IioUdsDataDxe/IioUdsDataDxe.inf + $(PLATFORM_BOARD_PACKAGE)/Policy/PlatformCpuPolicy/PlatformCpuPolicy.inf + $(PLATFORM_BOARD_PACKAGE)/Pci/PciPlatform/PciPlatform.inf + $(PLATFORM_BOARD_PACKAGE)/Acpi/BoardAcpiDxe/BoardAcpiDxe.inf { + <BuildOptions> + MSFT:*_*_*_ASLCC_FLAGS = /D PURLEY_FLAG /D PCH_SPT + GCC:*_*_*_ASLCC_FLAGS = -D PURLEY_FLAG -D PCH_SPT + } + +# This is for prebuild only. No need to include in final FDF. + $(PLATFORM_BOARD_PACKAGE)/Acpi/BoardAcpiDxe/Dsdt.inf { + <BuildOptions> + MSFT:*_*_*_ASLCC_FLAGS = /D PURLEY_FLAG /D PCH_SPT + GCC:*_*_*_ASLCC_FLAGS = -D PURLEY_FLAG -D PCH_SPT + } + + $(PLATFORM_PACKAGE)/Flash/SpiFvbService/SpiFvbServiceSmm.inf + $(PLATFORM_PACKAGE)/Acpi/AcpiTables/AcpiPlatform.inf + $(PLATFORM_PACKAGE)/Acpi/AcpiSmm/AcpiSmm.inf { + <LibraryClasses> + BoardAcpiEnableLib|$(PROJECT)/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf + } + + $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitDxe/PlatformInitDxe.inf + $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitSmm/PlatformInitSmm.inf + + $(PLATFORM_BOARD_PACKAGE)/Policy/S3NvramSave/S3NvramSave.inf + BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf + + # + # Shell + # + ShellPkg/Application/Shell/Shell.inf { + <PcdsFixedAtBuild> + gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE + <LibraryClasses> + NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf + NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf + NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf + NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf + NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf + NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf + NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf + NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf + ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf + HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf + BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf + ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf + ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf + } + + MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf + +!if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE + MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf +!endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf new file mode 100644 index 0000000000..43cd8d94e1 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf @@ -0,0 +1,600 @@ +## @file +# FDF file for the TiogaPass board. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + +# Note: FlashNv PCD naming conventions are as follows: +# Note: This should be 100% true of all PCD's in the gCpPlatFlashTokenSpaceGuid space, and for +# Others should be examined with an effort to work toward this guideline. +# PcdFlash*Base is an address, usually in the range of 0xf* of FD's, note change in FDF spec +# PcdFlash*Size is a hex count of the length of the FD or FV +# All Fv will have the form 'PcdFlashFv', and all Fd will have the form 'PcdFlashFd' +# +# Also all values will have a PCD assigned so that they can be used in the system, and +# the FlashMap edit tool can be used to change the values here, without effecting the code. +# This requires all code to only use the PCD tokens to recover the values. + +[FD.Platform] +BaseAddress = 0xFF000000 | gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress +Size = 0x01000000 | gEfiPchTokenSpaceGuid.PcdFlashAreaSize +ErasePolarity = 1 +BlockSize = 0x10000 +NumBlocks = 0x100 + +0x00000000|0x00500000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize +FV = FvAdvanced + +0x00500000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize +FV = FvSecurity + +0x00600000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize +FV = FvOsBoot + +0x00700000|0x00200000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize +FV = FvLateSiliconCompressed + +0x00900000|0x00300000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize +FV = FvUefiBoot + +0x00C00000|0x0007C000 +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize +#NV_VARIABLE_STORE +DATA = { + ## This is the EFI_FIRMWARE_VOLUME_HEADER + # ZeroVector [] + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + # FileSystemGuid: gEfiSystemNvDataFvGuid = + # { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }} + 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C, + 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50, + # FvLength: 0x100000 + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + #Signature "_FVH" #Attributes + 0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00, + #HeaderLength #CheckSum #ExtHeaderOffset #Reserved #Revision + 0x48, 0x00, 0x1A, 0x09, 0x00, 0x00, 0x00, 0x02, + #Blockmap[0]: 16 Blocks * 0x10000 Bytes / Block + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + #Blockmap[1]: End + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + ## This is the VARIABLE_STORE_HEADER + !if gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable == TRUE + # Signature: gEfiAuthenticatedVariableGuid = { 0xaaf32c78, 0x947b, 0x439a, { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 } } + 0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43, + 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92, + !else + # Signature: gEfiVariableGuid = { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }} + 0x16, 0x36, 0xcf, 0xdd, 0x75, 0x32, 0x64, 0x41, + 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d, + !endif + #Size: 0x7c000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) - 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x7BFFB8 + # This can speed up the Variable Dispatch a bit. + 0xB8, 0xBF, 0x07, 0x00, + #FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32 + 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +0x00C7C000|0x00002000 +#NV_EVENT_LOG + +0x00C7E000|0x00002000 +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize +#NV_FTW_WORKING +DATA = { + # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid = + # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }} + 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49, + 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95, + # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved + 0xE2, 0x33, 0xF2, 0x03, 0xFE, 0xFF, 0xFF, 0xFF, + # WriteQueueSize: UINT64 + 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +0x00C80000|0x00080000 +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize +#NV_FTW_SPARE + + +0x00D00000|0x00030000 +gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeBase|gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeSize +FV = MICROCODE_FV + +0x00D30000|0x00010000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize +FV = FvPostMemory + +0x00D40000|0x00020000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize +FILE = $(PLATFORM_SI_BIN_PACKAGE)/FV/FvPostMemorySilicon/$(TARGET)/FvPostMemorySilicon.Fv + +0x00D60000|0x00050000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemoryBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemorySize +FV = FvPreMemory + +0x00DB0000|0x00230000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize +FILE = $(PLATFORM_SI_BIN_PACKAGE)/FV/FvPreMemorySilicon/$(TARGET)/FvPreMemorySilicon.Fv + +0x00FE0000|0x00020000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize +FILE = $(PLATFORM_SI_BIN_PACKAGE)/FV/FvTempMemorySilicon/$(TARGET)/FvTempMemorySilicon.Fv + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvMicrocodeBase = gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress + gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeBase +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvMicrocodeSize = gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeSize + +SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress = gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress + gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeBase + 0x60 +SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeSize - 0x60 + +SET gEfiCpuTokenSpaceGuid.PcdCpuMicrocodePatchAddress = gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress + gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeBase + 0x60 +SET gEfiCpuTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = gCpuUncoreTokenSpaceGuid.PcdFlashNvStorageMicrocodeSize - 0x60 + +################################################################################ +# +# FV Section +# +# [FV] section is used to define what components or modules are placed within a flash +# device file. This section also defines order the components and modules are positioned +# within the image. The [FV] section consists of define statements, set statements and +# module statements. +# +################################################################################ + +[FV.FvLateSiliconCompressed] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = BA793112-EA2E-47C4-9AFE-A8FCFE603D6D + +FILE FV_IMAGE = A626BB34-2455-4FCA-8DFB-FEE96DB0DC5F { + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { + SECTION FV_IMAGE = $(PLATFORM_SI_BIN_PACKAGE)/FV/FvLateSilicon/$(TARGET)/FvLateSilicon.Fv + } + } + +[FV.MICROCODE_FV] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = FALSE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE + +INF RuleOverride = MICROCODE $(PLATFORM_SI_BIN_PACKAGE)/Microcode/Microcode.inf + +[FV.FvPreMemory] +FvAlignment = 16 +FvForceRebase = TRUE +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 6522280D-28F9-4131-ADC4-F40EBFA45864 + + ## + # PEI Apriori file example, more PEIM module added later. + ## +INF MdeModulePkg/Core/Pei/PeiMain.inf + +!include $(PLATFORM_PACKAGE)/Include/Fdf/CorePreMemoryInclude.fdf + +INF $(PLATFORM_BOARD_PACKAGE)/Policy/SystemBoard/SystemBoardPei.inf + +INF $(PLATFORM_PACKAGE)/PlatformInit/ReportFv/ReportFvPei.inf +INF $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf +INF $(PLATFORM_PACKAGE)/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPreMem.inf + +[FV.FvPostMemory] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = C54E3E8D-9FF5-4D52-AF03-58018EB55F63 + +!include $(PLATFORM_PACKAGE)/Include/Fdf/CorePostMemoryInclude.fdf + +INF $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitPei/PlatformInitPostMem.inf +INF $(PLATFORM_PACKAGE)/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPostMem.inf + +[FV.FvUefiBootUncompact] +BlockSize = 0x10000 +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0 + + ## + # DXE Phase modules + ## + + ## + # DXE Apriori file example, more DXE module added later. + ## + +#TiogaPass Override START : Added Board Specific changes in core drivers +#!include $(PLATFORM_PACKAGE)/Include/Fdf/CoreUefiBootInclude.fdf +!include CoreUefiBootInclude.fdf +#TiogaPass Override END + +INF PurleyOpenBoardPkg/Policy/S3NvramSave/S3NvramSave.inf + +INF $(PLATFORM_BOARD_PACKAGE)/Policy/IioUdsDataDxe/IioUdsDataDxe.inf +INF $(PLATFORM_BOARD_PACKAGE)/Policy/PlatformCpuPolicy/PlatformCpuPolicy.inf +INF $(PLATFORM_BOARD_PACKAGE)/Pci/PciPlatform/PciPlatform.inf + +INF $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitDxe/PlatformInitDxe.inf +INF BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf +INF ShellPkg/Application/Shell/Shell.inf + +FILE DRIVER = db90bb7e-e4ba-4f07-96d6-b7076713bd2c { + SECTION PE32 = edk2-non-osi/Drivers/ASpeed/ASpeedGopBinPkg/X64/ASpeedAst2500Gop.efi + } + +INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf + + +[FV.FvUefiBoot] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 27A72E80-3118-4c0c-8673-AA5B4EFA9613 + +FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { + SECTION FV_IMAGE = FvUefiBootUncompact + } + } + +[FV.FvOsBootUncompact] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 5AB52883-85DF-445B-99F7-E0C1D517A905 + +!include $(PLATFORM_PACKAGE)/Include/Fdf/CoreOsBootInclude.fdf + +INF $(PLATFORM_PACKAGE)/Flash/SpiFvbService/SpiFvbServiceSmm.inf +INF $(PLATFORM_PACKAGE)/Acpi/AcpiTables/AcpiPlatform.inf +INF $(PLATFORM_PACKAGE)/Acpi/AcpiSmm/AcpiSmm.inf + +INF RuleOverride = DRIVER_ACPITABLE $(PLATFORM_BOARD_PACKAGE)/Acpi/BoardAcpiDxe/BoardAcpiDxe.inf + +INF $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitSmm/PlatformInitSmm.inf + +[FV.FvOsBoot] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 5e2363c4-3e9e-4203-b873-bb40df46c8e6 + +FILE FV_IMAGE = AC09A11F-BD9F-4C87-B656-F4868EEA89B8 { + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { + SECTION FV_IMAGE = FvOsBootUncompact + } + } + +[FV.FvSecurityPreMem] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = A91F91A0-0CCD-4E1C-9FD8-4DAE39F348FA + +!include $(PLATFORM_PACKAGE)/Include/Fdf/CoreSecurityPreMemoryInclude.fdf + +[FV.FvSecurityPostMem] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 04B00029-2391-44C1-97BA-3FA8A42E9D3A + +!include $(PLATFORM_PACKAGE)/Include/Fdf/CoreSecurityPostMemoryInclude.fdf + +!if gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable == TRUE +INF $(PLATFORM_PACKAGE)/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf +!endif + +[FV.FvSecurityLate] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = CCBC50ED-0902-413E-BC2C-409C906F4A80 + +!include $(PLATFORM_PACKAGE)/Include/Fdf/CoreSecurityLateInclude.fdf + +!if gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable == TRUE +INF $(PLATFORM_PACKAGE)/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf +!endif + +[FV.FvSecurity] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 8CBBA80C-FE21-4749-B015-6EDFC34B6BE7 + +FILE FV_IMAGE = A63B2BBF-7A02-4862-BF22-A1BA5258DD68 { + SECTION FV_IMAGE = FvSecurityPreMem + } + +FILE FV_IMAGE = 47B40638-0087-4938-97CF-B56983A1A07B { + SECTION FV_IMAGE = FvSecurityPostMem + } + +FILE FV_IMAGE = 605CBDF4-61DB-4B77-BAED-65232B8EC6D6 { + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { + SECTION FV_IMAGE = FvSecurityLate + } + } + +[FV.FvAdvancedPreMem] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = EBC45843-B180-44D3-A485-0031A75DB16D + +!include AdvancedFeaturePkg/Include/PreMemory.fdf + +[FV.FvAdvancedUncompact] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 05411CAD-6C35-4675-B6CA-8748032144B4 + +!include AdvancedFeaturePkg/Include/PostMemory.fdf + +!if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE +INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf +!endif + +[FV.FvAdvanced] +FvAlignment = 16 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE +FvNameGuid = 59584CB6-0740-4EE6-A335-A46B370A101A + +FILE FV_IMAGE = 0112F63C-E0EA-4CA7-BFAA-9574DB03B230 { + SECTION FV_IMAGE = FvAdvancedPreMem + } + +FILE FV_IMAGE = 07FC4960-5322-4DDC-A6A4-A17DE492DFE3 { + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { + SECTION FV_IMAGE = FvAdvancedUncompact + } + } + +[FV.FvDummy] +FvAlignment = 16 +FvForceRebase = FALSE +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE + +# Add dummy FV here to build the PCD in FV into PCD database. +INF RuleOverride = BIN_FV $(PLATFORM_SI_BIN_PACKAGE)/FV/FvTempMemorySilicon/$(TARGET)/FvTempMemorySilicon.inf +INF RuleOverride = BIN_FV $(PLATFORM_SI_BIN_PACKAGE)/FV/FvPreMemorySilicon/$(TARGET)/FvPreMemorySilicon.inf +INF RuleOverride = BIN_FV $(PLATFORM_SI_BIN_PACKAGE)/FV/FvPostMemorySilicon/$(TARGET)/FvPostMemorySilicon.inf +INF RuleOverride = BIN_FV $(PLATFORM_SI_BIN_PACKAGE)/FV/FvLateSilicon/$(TARGET)/FvLateSilicon.inf + + +################################################################################ +# +# Rules are use with the [FV] section's module INF type to define +# how an FFS file is created for a given INF file. The following Rule are the default +# rules for the different module type. User can add the customized rules to define the +# content of the FFS file. +# +################################################################################ + +!include $(PLATFORM_PACKAGE)/Include/Fdf/RuleInclude.fdf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgBuildOption.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgBuildOption.dsc new file mode 100644 index 0000000000..a445e3fd8e --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgBuildOption.dsc @@ -0,0 +1,84 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[BuildOptions.Common.EDKII] +# Append build options for EDK and EDKII drivers (= is Append, == is Replace) + + DEFINE CRB_EDKII_BUILD_OPTIONS = -D CRB_FLAG + DEFINE EDKII_CPU_BUILD_OPTIONS = -D PURLEY_FLAG + DEFINE TRAD_BUILD_OPTION = -D TRAD_FLAG=1 + DEFINE SUS_WELL_RESTORE_BUILD_OPTION = -D SUS_WELL_RESTORE=1 + DEFINE PCH_BUILD_OPTION = -D PCH_SERVER_BIOS_FLAG=1 + DEFINE SERVER_BUILD_OPTION = -D SERVER_BIOS_FLAG=1 + DEFINE PCH_PKG_OPTIONS = -D PCH_SPT + DEFINE MAX_SOCKET_OPTIONS = -D MAX_SOCKET=2 + + DEFINE EDKII_ALL_PPO_OPTIONS = $(EDKII_CPU_BUILD_OPTIONS) + DEFINE PCH_BIOS_BUILD_OPTIONS = $(TRAD_BUILD_OPTION) $(ULT_BUILD_OPTION) $(PCH_BUILD_OPTION) $(SUS_WELL_RESTORE_BUILD_OPTION) $(SERVER_BUILD_OPTION) + DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS = $(CRB_EDKII_BUILD_OPTIONS) $(PCH_BIOS_BUILD_OPTIONS) $(PCH_PKG_OPTIONS) $(EDKII_ALL_PPO_OPTIONS) $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) $(MAX_SOCKET_OPTIONS) -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST + +!if $(TARGET) == "DEBUG" + DEFINE DEBUG_BUILD_FLAG = -D SERIAL_DBG_MSG=1 +!else + DEFINE DEBUG_BUILD_FLAG = -D MDEPKG_NDEBUG -D SILENT_MODE +!endif + + DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) $(DEBUG_BUILD_FLAG) +# +# PC_BUILD_END +# + + + DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) + + + *_*_*_CC_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) + *_*_*_VFRPP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) + *_*_*_APP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) + *_*_*_PP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) + *_*_*_ASLPP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) + *_*_*_ASLCC_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) + + +# +# Enable source level debugging for RELEASE build +# +!if $(TARGET) == "RELEASE" + DEFINE EDKII_RELEASE_SRCDBG_ASM_BUILD_OPTIONS = /Zi + DEFINE EDKII_RELEASE_SRCDBG_CC_BUILD_OPTIONS = /Zi /Gm + DEFINE EDKII_RELEASE_SRCDBG_DLINK_BUILD_OPTIONS = /DEBUG + + MSFT:*_*_*_ASM_FLAGS = $(EDKII_RELEASE_SRCDBG_ASM_BUILD_OPTIONS) + MSFT:*_*_*_CC_FLAGS = $(EDKII_RELEASE_SRCDBG_CC_BUILD_OPTIONS) + MSFT:*_*_*_DLINK_FLAGS = $(EDKII_RELEASE_SRCDBG_DLINK_BUILD_OPTIONS) +!endif + + +# +# Override the existing iasl path in tools_def.template +# +# MSFT:*_*_*_ASL_PATH == c:/Iasl/iasl.exe + +# +# Override the VFR compile flags to speed the build time +# + +*_*_*_VFR_FLAGS == -n + +# Force PE/COFF sections to be aligned at 4KB boundaries to support page level protection +[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE] + MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096 + GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 + +# Force PE/COFF sections to be aligned at 4KB boundaries to support MemoryAttribute table +[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] + MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096 + GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 + +[BuildOptions] +!include NetworkPkg/NetworkBuildOptions.dsc.inc \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc new file mode 100644 index 0000000000..36a29c8d68 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc @@ -0,0 +1,58 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +# +# TRUE is ENABLE. FALSE is DISABLE. +# + +[PcdsFixedAtBuild] + gMinPlatformPkgTokenSpaceGuid.PcdBootStage|4 + +[PcdsFeatureFlag] + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterDebugInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterMemInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable|FALSE + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 1 + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterDebugInit|TRUE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 2 + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterDebugInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterMemInit|TRUE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 3 + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterMemInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly|TRUE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 4 + gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly|FALSE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 5 + gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable|TRUE + gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable|TRUE +!endif + + !if $(TARGET) == DEBUG + gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable|TRUE + !else + gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable|FALSE + !endif + + gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable|TRUE + + gPlatformTokenSpaceGuid.PcdFastBoot|FALSE +!if gPlatformTokenSpaceGuid.PcdFastBoot == TRUE + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE + gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|FALSE +!endif \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgPcd.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgPcd.dsc new file mode 100644 index 0000000000..e4a330b98e --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgPcd.dsc @@ -0,0 +1,392 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +################################################################################ +# +# Pcd Section - list of all PCD Entries defined by this board. +# +################################################################################ + +[PcdsFixedAtBuild.common] + ###################################### + # Key Boot Stage and FSP configuration + ###################################### + # + # Please select the Boot Stage here. + # Stage 1 - enable debug (system deadloop after debug init) + # Stage 2 - mem init (system deadloop after mem init) + # Stage 3 - boot to shell only + # Stage 4 - boot to OS + # Stage 5 - boot to OS with security boot enabled + # Stage 6 - boot with advanced features enabled + # + gMinPlatformPkgTokenSpaceGuid.PcdBootStage|4 + +[PcdsFeatureFlag.common] + gPlatformTokenSpaceGuid.PcdLockCsrSsidSvidRegister|FALSE + # Server doesn't support capsle update on Reset. + gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|TRUE + gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|TRUE + gEfiCpuTokenSpaceGuid.PcdCpuHotPlugSupport|TRUE + gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport|TRUE + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|FALSE + +#S3 add + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE +#S3 add + + gEfiCpuTokenSpaceGuid.PcdCpuConroeFamilyFlag|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuCedarMillFamilyFlag|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuPrescottFamilyFlag|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuNehalemFamilyFlag|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuIvyBridgeFamilyFlag|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuSandyBridgeFamilyFlag|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuHaswellFamilyFlag|TRUE + gEfiCpuTokenSpaceGuid.PcdCpuSkylakeFamilyFlag|TRUE + + gEfiCpuTokenSpaceGuid.PcdCpuGateA20MDisableFlag|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuSmmDebug|TRUE + gEfiCpuTokenSpaceGuid.PcdCpuSelectLfpAsBspFlag|TRUE + gEfiCpuTokenSpaceGuid.PcdCpuSocketIdReassignmentFlag|TRUE + + ## This PCD specified whether ACPI SDT protocol is installed. + gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE + + ###################################### + # Platform Configuration + ###################################### + gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterDebugInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterMemInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable|TRUE + gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable|FALSE + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 1 + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterDebugInit|TRUE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 2 + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterDebugInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterMemInit|TRUE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 3 + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterMemInit|FALSE + gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly|TRUE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 4 + gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly|FALSE +!endif + +!if gMinPlatformPkgTokenSpaceGuid.PcdBootStage >= 5 + gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable|TRUE + gMinPlatformPkgTokenSpaceGuid.PcdTpm2Enable|TRUE +!endif + +!if $(TARGET) == DEBUG + gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable|TRUE +!else + gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable|FALSE +!endif + +[PcdsFeatureFlag.X64] + gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard|FALSE + +[PcdsFeatureFlag] + gEfiMdeModulePkgTokenSpaceGuid.PcdBrowerGrayOutReadOnlyMenu|TRUE + gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable|TRUE + gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable|TRUE + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|TRUE + +[PcdsDynamicExDefault] +!include $(PROJECT)/StructureConfig.dsc + +[PcdsFixedAtBuild.X64] + gMinPlatformPkgTokenSpaceGuid.PcdTrustedConsoleOutputDevicePath|{0x02, 0x01, 0x0C, 0x00, 0xd0, 0x41, 0x03, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x00, 0x00, 0x01, 0x7F, 0xFF, 0x04, 0x00} + +[PcdsFixedAtBuild.IA32] + gCpuUncoreTokenSpaceGuid.PcdFlashSecCacheRegionBase|0x00FFA00000 + gCpuUncoreTokenSpaceGuid.PcdFlashSecCacheRegionSize|0x0000600000 + +[PcdsFixedAtBuild.common] + gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE +!if $(TARGET) == "RELEASE" + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0 + gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x03 +!else + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F + gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07 +!endif +!if $(TARGET) == RELEASE + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE +!else + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE +!endif + gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07 + gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0 + gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0 +#S3 modified + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000 + gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot|TRUE +#S3 modified + + gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0 + gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0x0 + gEfiMdePkgTokenSpaceGuid.PcdFSBClock|133333333 + gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize|0x100000 + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0x1700000 + + gEfiCpuTokenSpaceGuid.PcdCpuIEDRamSize|0x400000 + gEfiCpuTokenSpaceGuid.PcdCpuSmmApSyncTimeout|10000 + gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|10000 + gEfiCpuTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|512 + gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|512 + gEfiCpuTokenSpaceGuid.PcdPlatformType|2 + gEfiCpuTokenSpaceGuid.PcdPlatformCpuMaxCoreFrequency|4000 + gEfiCpuTokenSpaceGuid.PcdPlatformCpuMaxFsbFrequency|1066 + gEfiCpuTokenSpaceGuid.PcdCpuSmmStackSize|0x10000 + gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x10000 + + ## Specifies delay value in microseconds after sending out an INIT IPI. + # @Prompt Configure delay value after send an INIT IPI + gUefiCpuPkgTokenSpaceGuid.PcdCpuInitIpiDelayInMicroSeconds|10 + + ## Specifies max supported number of Logical Processors. + # @Prompt Configure max supported number of Logical Processorss + gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|512 + gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize|0x1000 +!if gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable == TRUE + gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0x1 +!endif + + gPlatformTokenSpaceGuid.PcdBusStack|0x06 + gPlatformTokenSpaceGuid.PcdUboDev|0x08 + gPlatformTokenSpaceGuid.PcdUboFunc|0x02 + gPlatformTokenSpaceGuid.PcdUboCpuBusNo0|0xCC + + gEfiCpuTokenSpaceGuid.PcdCpuIEDEnabled|TRUE + + ## Defines the ACPI register set base address. + # The invalid 0xFFFF is as its default value. It must be configured to the real value. + # @Prompt ACPI Timer IO Port Address + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress | 0x0500 + + ## Defines the PCI Bus Number of the PCI device that contains the BAR and Enable for ACPI hardware registers. + # @Prompt ACPI Hardware PCI Bus Number + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber | 0x00 + + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002 + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x4C544E49 + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x20091013 + + ## Defines the PCI Device Number of the PCI device that contains the BAR and Enable for ACPI hardware registers. + # The invalid 0xFF is as its default value. It must be configured to the real value. + # @Prompt ACPI Hardware PCI Device Number + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciDeviceNumber | 0x1F + + ## Defines the PCI Function Number of the PCI device that contains the BAR and Enable for ACPI hardware registers. + # The invalid 0xFF is as its default value. It must be configured to the real value. + # @Prompt ACPI Hardware PCI Function Number + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciFunctionNumber | 0x02 + + ## Defines the PCI Register Offset of the PCI device that contains the Enable for ACPI hardware registers. + # The invalid 0xFFFF is as its default value. It must be configured to the real value. + # @Prompt ACPI Hardware PCI Register Offset + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciEnableRegisterOffset |0x0044 + + ## Defines the bit mask that must be set to enable the APIC hardware register BAR. + # @Prompt ACPI Hardware PCI Bar Enable BitMask + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoBarEnableMask | 0x80 + + ## Defines the PCI Register Offset of the PCI device that contains the BAR for ACPI hardware registers. + # The invalid 0xFFFF is as its default value. It must be configured to the real value. + # @Prompt ACPI Hardware PCI Bar Register Offset + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset |0x0040 + + ## Defines the offset to the 32-bit Timer Value register that resides within the ACPI BAR. + # @Prompt Offset to 32-bit Timer register in ACPI BAR + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008 + + ## Defines the bit mask to retrieve ACPI IO Port Base Address + # @Prompt ACPI IO Port Base Address Mask + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddressMask |0xFFFC + + # Indicates the max nested level + gEfiCpRcPkgTokenSpaceGuid.PcdMaxNestedLevel|0x00000010 + + gEfiCpRcPkgTokenSpaceGuid.PcdMaxCpuSocketCount|$(MAX_SOCKET) + gMinPlatformPkgTokenSpaceGuid.PcdMaxCpuSocketCount|$(MAX_SOCKET) + gMinPlatformPkgTokenSpaceGuid.PcdMaxCpuCoreCount|28 + + gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE + + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiAcpiReclaimMemorySize|0x70 + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiAcpiNvsMemorySize|0x80 + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiReservedMemorySize|0x1470 + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiRtDataMemorySize|0xA0 + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiRtCodeMemorySize|0x80 + + # + # The PCDs are used to control the Windows SMM Security Mitigations Table - Protection Flags + # + # BIT0: If set, expresses that for all synchronous SMM entries,SMM will validate that input and output buffers lie entirely within the expected fixed memory regions. + # BIT1: If set, expresses that for all synchronous SMM entries, SMM will validate that input and output pointers embedded within the fixed communication buffer only refer to address ranges \ + # that lie entirely within the expected fixed memory regions. + # BIT2: Firmware setting this bit is an indication that it will not allow reconfiguration of system resources via non-architectural mechanisms. + # BIT3-31: Reserved + # + gMinPlatformPkgTokenSpaceGuid.PcdWsmtProtectionFlags|0x07 + +[PcdsFixedAtBuild.X64] + gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear|2015 + gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear|2099 + # Change PcdBootManagerMenuFile to UiApp +## + + gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 } + + gEfiCpuTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable |TRUE + gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable |TRUE + + gMinPlatformPkgTokenSpaceGuid.PcdFadtPreferredPmProfile|0x04 + gMinPlatformPkgTokenSpaceGuid.PcdFadtIaPcBootArch|0x0000 + gMinPlatformPkgTokenSpaceGuid.PcdFadtFlags|0x000004A5 + + gMinPlatformPkgTokenSpaceGuid.PcdAcpiEnableSwSmi|0xA0 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiDisableSwSmi|0xA1 + + gMinPlatformPkgTokenSpaceGuid.PcdLocalApicAddress|0xFEE00000 + gMinPlatformPkgTokenSpaceGuid.PcdIoApicAddress|0xFEC00000 + gMinPlatformPkgTokenSpaceGuid.PcdIoApicId|0x08 + + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicCount|32 + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicIdBase|0x09 + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicAddressBase|0xFEC01000 + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicInterruptBase|24 + + gMinPlatformPkgTokenSpaceGuid.PcdAcpiPm1AEventBlockAddress|0x500 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiPm1BEventBlockAddress|0 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiPm1AControlBlockAddress|0x504 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiPm1BControlBlockAddress|0 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiPm2ControlBlockAddress|0x550 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiPmTimerBlockAddress|0x508 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiGpe0BlockAddress|0x580 + gMinPlatformPkgTokenSpaceGuid.PcdAcpiGpe1BlockAddress|0 + +[PcdsPatchableInModule.common] + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042 + +!if gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable == TRUE + gEfiMdeModulePkgTokenSpaceGuid.PcdSmiHandlerProfilePropertyMask|0x1 +!endif + + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x80000000 + gMinPlatformPkgTokenSpaceGuid.PcdPciExpressRegionLength|0x10000000 + gPcAtChipsetPkgTokenSpaceGuid.PcdHpetBaseAddress|0xFED00000 + + gMinPlatformPkgTokenSpaceGuid.PcdPciReservedIobase |0x1000 + gMinPlatformPkgTokenSpaceGuid.PcdPciReservedIoLimit |0xFFFF + gMinPlatformPkgTokenSpaceGuid.PcdPciReservedMemBase |0x90000000 + gMinPlatformPkgTokenSpaceGuid.PcdPciReservedMemLimit |0xFBFFFFFF + gMinPlatformPkgTokenSpaceGuid.PcdPciReservedMemAbove4GBBase |0x380000000000 + gMinPlatformPkgTokenSpaceGuid.PcdPciReservedMemAbove4GBLimit |0x3803FFFFFFFF + + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800 + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600 + + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseDelayIndication|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseBlockIndication|FALSE + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseSmmEnableIndication|FALSE + gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE + + gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress|0xFF800000 + gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize|0x01400000 + +[PcdsDynamicExDefault.common.DEFAULT] + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfiguration|0x002CF6CF + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfigurationEx1|0 + gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|30000 + gEfiCpuTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|200000 + gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE + + gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress|0 + + gEfiPchTokenSpaceGuid.PcdWakeOnRTCS5|FALSE + gEfiPchTokenSpaceGuid.PcdRtcWakeupTimeHour|0 + gEfiPchTokenSpaceGuid.PcdRtcWakeupTimeMinute|0 + gEfiPchTokenSpaceGuid.PcdRtcWakeupTimeSecond|0 + + gOemSkuTokenSpaceGuid.PcdOemSkuUplinkPortIndex|0x5 + +[PcdsDynamicExHii.common.DEFAULT] +!if gPlatformTokenSpaceGuid.PcdFastBoot == FALSE + gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|3 # Variable: L"Timeout" +!else + gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|0 # Variable: L"Timeout" +!endif + gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|L"HwErrRecSupport"|gEfiGlobalVariableGuid|0x0|1 # Variable: L"HwErrRecSupport" + + +[PcdsDynamicExDefault] + + gOemSkuTokenSpaceGuid.PcdForceTo1SConfigMode|FALSE + +## *** PURLEY_PPO *** - Added in 8th segment in PcdPcieMmcfgTablePtr to fix size assert in PcieAddressLib.c +## | MMCFG Table Header | Segment 0 | Segment 1 | Segment 2 | Segment 3 | Segment 4 | Segment 5 | Segment 6 | Segment 7 | Segment 8 + gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr|{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} + + gEfiCpuTokenSpaceGuid.PcdCpuEnergyPolicy|0 + gEfiCpuTokenSpaceGuid.PcdCpuAcpiLvl2Addr|0 + gEfiCpuTokenSpaceGuid.PcdCpuPackageCStateLimit|0 + gEfiCpuTokenSpaceGuid.PcdCpuCoreCStateValue|0 + gEfiCpuTokenSpaceGuid.PcdCpuClockModulationDutyCycle|0 + gEfiCpuTokenSpaceGuid.PcdCpuHwCoordination|TRUE + gEfiCpuTokenSpaceGuid.PcdCpuDcuMode|0 + gEfiCpuTokenSpaceGuid.PcdCpuTurboOverride|0x0 + gEfiCpuTokenSpaceGuid.PcdCpuProcessorMsrLockCtrl|0 + gEfiCpuTokenSpaceGuid.PcdCpuIioLlcWaysBitMask|0x0 + gEfiCpuTokenSpaceGuid.PcdCpuExpandedIioLlcWaysBitMask|0x0 + gEfiCpuTokenSpaceGuid.PcdCpuRemoteWaysBitMask|0x0 + gEfiCpuTokenSpaceGuid.PcdPchTraceHubEn|0x0 + gEfiCpuTokenSpaceGuid.PcdCpuQlruCfgBitMask|0x0 + gEfiCpuTokenSpaceGuid.PcdSbspSelection|0xFF +# gEfiCpuTokenSpaceGuid.PcdCpuSocketId|{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0} + gEfiCpuTokenSpaceGuid.PcdCpuPmStructAddr|0x0 + gEfiCpuTokenSpaceGuid.PcdCpuRRQCountThreshold|0x0 + + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE + gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE + gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1F + + gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L""|VOID*|36 + + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId|{0x49, 0x4E, 0x54, 0x45, 0x4C, 0x20} + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x2046573030363253 + + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicEnable|0x0 + +[PcdsDynamicExDefault.X64] + + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8 + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1 + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1 + gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|0 + + gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|31 + gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100 + + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|800 + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|600 + + gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress|0 diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/StructureConfig.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/StructureConfig.dsc new file mode 100644 index 0000000000..19a5e5b340 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/StructureConfig.dsc @@ -0,0 +1,6236 @@ +## @file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +#[PcdsDynamicEx.common.DEFAULT.MANUFACTURING] +# gOemSkuTokenSpaceGuid.PcdSetupData|L"Setup"|ec87d643-eba4-4bb5-a1e5-3f3e36b20da9|0x00 +# gOemSkuTokenSpaceGuid.PcdSetupData.serialDebugMsgLvl|0x1 +# gOemSkuTokenSpaceGuid.PcdSetupData.TagecMem|0x1 +# gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData|L"PchRcConfiguration"|d19a26a3-17f1-48c3-8a1e-11eb0a7f6e4e|0x00 +# gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchHdAudio|0x0 +# gOemSkuTokenSpaceGuid.PcdSocketIioConfigData|L"SocketIioConfig"|dd84017e-7f52-48f9-b16e-50ed9e0dbe27|0x00 +# gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData|L"SocketCommonRcConfig"|4402ca38-808f-4279-bcec-5baf8d59092f|0x00 +# gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData|L"SocketMpLinkConfig"|2b9b22de-2ad4-4abc-957d-5f18c504a05c|0x00 +# gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData|L"SocketMemoryConfig"|98cf19ed-4109-4681-b79d-9196757c7824|0x00 +# gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData|L"SocketPowerManagementConfig"|A1047342-BDBA-4DAE-A67A-40979B65C7F8|0x00 +# gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProchotLock|0x1 +# gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PkgCstEntryValCtl|0x0 +# gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboPowerLimitLock|0x1 +# gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData|L"SocketProcessorCoreConfig"|07013588-C789-4E12-A7C3-88FAFAE79F7C|0x00 +# gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorVmxEnable|0x0 +# gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorMsrLockControl|0x0 + +#[PcdsDynamicEx.common.DEFAULT.STANDARD] + #gOemSkuTokenSpaceGuid.PcdSetupData|L"Setup"|ec87d643-eba4-4bb5-a1e5-3f3e36b20da9|0x00 + gOemSkuTokenSpaceGuid.PcdSetupData|{0x0} + gOemSkuTokenSpaceGuid.PcdSetupData.CloudProfile|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.Use1GPageTable|0x1 + #gOemSkuTokenSpaceGuid.PcdSetupData.ResetOnMemMapChange|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.FanPwmOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.WakeOnLanSupport|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationBreakpointType|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.bsdBreakpoint|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ForceSetup|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.BiosGuardEnabled|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.RtoPopulateBGDirectory|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.EnableAntiFlashWearout|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.SkipXmlComprs|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.DfxAdvDebugJumper|0x2 + gOemSkuTokenSpaceGuid.PcdSetupData.serialDebugMsgLvl|0x4 + gOemSkuTokenSpaceGuid.PcdSetupData.serialDebugTrace|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.serialDebugMsgLvlTrainResults|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.VideoSelect|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.Ps2PortSwap|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.Numlock|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.WakeOnLanS5|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.BootNetwork|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ARIEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.SRIOVEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.SystemPageSize|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.MRIOVEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.WakeOnRTCS4S5|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.RTCWakeupTimeHour|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.RTCWakeupTimeMinute|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.RTCWakeupTimeSecond|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.LegacyPxeRom|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.EfiNetworkSupport|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.LomDisableByGpio|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ReserveMem|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ReserveStartAddr|0x100000 + gOemSkuTokenSpaceGuid.PcdSetupData.TagecMem|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationResetType|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationCountOuter|0x1f4 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationCountInner|0x1f4 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationStopOnError|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationBootWhenDone|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationSkxPciError|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationSkxPciLinkError|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationSkxPciLinkRecoveryCountError|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationSkxPciLinkRecoveryCountThreshold|0x4 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationPchPciError|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ValidationKtiError|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.XhciWakeOnUsbEnabled|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbLegacySupport|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmul6064|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbMassResetDelay|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbNonBoot|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu1|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu2|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu3|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu4|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu5|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu6|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu7|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu8|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu9|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu10|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu11|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu12|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu13|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu14|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu15|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbEmu16|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieClockGating|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.GbePciePortNum|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.RamDebugInterface|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.TraceHubDebugInterface|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.SystemErrorEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PoisonEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ViralEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ClearViralStatus|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CloakingEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UboxToPcuMcaEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.CaterrGpioSmiEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.FatalErrSpinLoopEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.EmcaEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.LmceEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.EmcaIgnOptin|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.EmcaCsmiEn|0x2 + gOemSkuTokenSpaceGuid.PcdSetupData.EmcaMsmiEn|0x2 + gOemSkuTokenSpaceGuid.PcdSetupData.ElogCorrErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ElogMemErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ElogProcErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.WheaSupportEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.WheaLogMemoryEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.WheaLogProcEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.WheaLogPciEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.McaBankErrInjEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.WheaErrorInjSupportEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.WheaErrInjEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.WheaPcieErrInjEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieErrInjActionTable|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.MeSegErrorInjEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ParityCheckEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.McBankWarmBootClearError|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.KTIFailoverSmiEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.MemErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.CorrMemErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.LeakyBktHiLeakyBktLo|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.SpareIntSelect|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.FnvErrorEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.FnvErrorLowPrioritySignal|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.FnvErrorHighPrioritySignal|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.IioErrorEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IoMcaEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioErrorPinEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.IioErrRegistersClearEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.LerEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.DisableMAerrorLoggingDueToLER|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioIrpErrorEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_parityError|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_qtOverflow|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_unexprsp|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_csraccunaligned|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_unceccCs0|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_unceccCs1|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_rcvdpoison|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_crreccCs0|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.irpp0_crreccCs1|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioMiscErrorEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioVtdErrorEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioDmaErrorEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioDmiErrorEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioPcieAddCorrErrorEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioPcieAddUnCorrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.IioPcieAerSpecCompEn|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieCorrErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieUncorrErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieFatalErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieCorErrCntr|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieCorErrMaskBitMap|0x3f + gOemSkuTokenSpaceGuid.PcdSetupData.PcieCorErrThres|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieAerCorrErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieAerAdNfatErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieAerNfatErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PcieAerFatErrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.SerrPropEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.PerrPropEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.OsSigOnSerrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.OsSigOnPerrEn|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ConsoleRedirection|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.FlowControl|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.BaudRate|0x5 + gOemSkuTokenSpaceGuid.PcdSetupData.TerminalType|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.Parity|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.DataBits|0x8 + gOemSkuTokenSpaceGuid.PcdSetupData.StopBits|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.TerminalResolution|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.LegacyOsRedirection|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.BootAllOptions|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.OverclockingSupport|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.FilterPll|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CoreMaxOcRatio|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CoreVoltageMode|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CoreVoltageOverride|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CoreExtraTurboVoltage|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CoreVoltageOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CoreVoltageOffsetPrefix|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ClrMaxOcRatio|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ClrVoltageMode|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ClrVoltageOverride|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ClrExtraTurboVoltage|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ClrVoltageOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.ClrVoltageOffsetPrefix|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UncoreVoltageOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.UncoreVoltageOffsetPrefix|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.IoaVoltageOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.IoaVoltageOffsetPrefix|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.IodVoltageOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.IodVoltageOffsetPrefix|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.VccIoVoltage|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.SvidEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.SvidVoltageOverride|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.CpuVccInVoltage|0x167 + gOemSkuTokenSpaceGuid.PcdSetupData.FivrFaultsEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.FivrEfficiencyEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.SerialBaudRate|0x1c200 + gOemSkuTokenSpaceGuid.PcdSetupData.UefiOptimizedBootToggle|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.EfiWindowsInt10Workaround|0x0 + gOemSkuTokenSpaceGuid.PcdSetupData.SetShellFirst|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.UsbStackSupport|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.XmlCliSupport|0x1 + gOemSkuTokenSpaceGuid.PcdSetupData.ReportAlertSPA|1 + gOemSkuTokenSpaceGuid.PcdSetupData.NgnHostAlertPatrolScrubUNC|1 + gOemSkuTokenSpaceGuid.PcdSetupData.DcpmmUncPoison|1 + gOemSkuTokenSpaceGuid.PcdSetupData.UCErrChkForVariableSrv|1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData|{0} + #gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData|L"PchRcConfiguration"|d19a26a3-17f1-48c3-8a1e-11eb0a7f6e4e|0x00 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.FirmwareConfiguration|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchDciEn|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchDciAutoDetect|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.BoardCapability|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DeepSxMode|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.Gp27WakeFromDeepSx|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSmbus|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSerm|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchDisplay|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPciClockRun|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSirqMode|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableClockSpreadSpec|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.StateAfterG3|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.IchPort80Route|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchCrossThrottling|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchCrid|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PciePllSsc|0xff + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.UsbPrecondition|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbManualMode|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.Btcg|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.Usb3PinsTermination|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.EnableUsb3Pin[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbPerPortCtl|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[10]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[11]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[12]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbHsPort[13]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchUsbSsPort[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.XhciIdleL1|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.XhciDisMSICapability|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.XhciOcMapEnabled|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchHdAudio|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchHdAudioCodecSelect|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchHdAudioPme|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.RtoHdaVcType|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSata|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataInterfaceMode|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTestMode|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSalp|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataAlternateId|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidLoadEfiDriver|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.RstPcieStorageRemap[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.RstPcieStorageRemapPort[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.RstPcieStorageRemap[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.RstPcieStorageRemapPort[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.RstPcieStorageRemap[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.RstPcieStorageRemapPort[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PxDevSlp[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataPort[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHotPlug[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataMechanicalSw[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataExternal[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataSpinUp[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataType[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataTopology[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataHddlk|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataLedl|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidR0|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidR1|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidR10|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidR5|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidIrrt|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidOub|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidIooe|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidSrt|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.SataRaidOromDelay|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchsSata|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataInterfaceMode|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataTestMode|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataSalp|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataAlternateId|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidLoadEfiDriver|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataPort[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataHotPlug[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataExternal[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataSpinUp[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataType[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataTopology[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataPort[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataHotPlug[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataExternal[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataSpinUp[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataType[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataTopology[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataPort[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataHotPlug[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataExternal[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataSpinUp[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataType[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataTopology[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataPort[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataHotPlug[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataExternal[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataSpinUp[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataType[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataTopology[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataPort[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataHotPlug[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataExternal[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataSpinUp[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataType[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataTopology[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataPort[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataHotPlug[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataExternal[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataSpinUp[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataType[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataTopology[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataHddlk|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataLedl|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidR0|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidR1|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidR10|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidR5|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidIrrt|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidOub|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidIooe|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidSrt|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.sSataRaidOromDelay|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchWakeOnLan|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSlpLanLowDc|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchLanK1Off|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PciDelayOptimizationEcr|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieComplianceTestMode|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieGlobalAspm|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieUX16CompletionTimeout|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieUX8CompletionTimeout|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieUX16MaxPayloadSize|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieUX8MaxPayloadSize|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieDmiExtSync|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieDmiStopAndScreamEnable|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.XTpmLen|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSBDE|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSBDEPort|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFunctionSwapping|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxReadRequestSize|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[0]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[0]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[1]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[1]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[2]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[2]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[3]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[3]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[4]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[4]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[5]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[5]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[6]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[6]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[7]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[7]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[8]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[8]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[9]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[9]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[10]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[10]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[11]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[11]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[12]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[12]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[13]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[13]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[14]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[14]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[15]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[15]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[16]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[16]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[17]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[17]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[18]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[18]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCm[19]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieLaneCp[19]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqOverride|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCm[0]|0x6 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCp[0]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCm[1]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCp[1]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCm[2]|0x8 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCp[2]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCm[3]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCp[3]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCm[4]|0xa + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieSwEqCoeffCp[4]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[0]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[0]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[0]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[0]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[0]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[0]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[0]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[0]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[1]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[1]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[1]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[1]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[1]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[1]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[1]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[1]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[2]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[2]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[2]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[2]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[2]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[2]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[2]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[2]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[3]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[3]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[3]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[3]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[3]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[3]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[3]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[3]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[4]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[4]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[4]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[4]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[4]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[4]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[4]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[4]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[5]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[5]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[5]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[5]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[5]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[5]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[5]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[5]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[6]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[6]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[6]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[6]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[6]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[6]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[6]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[6]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[7]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[7]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[7]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[7]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[7]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[7]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[7]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[7]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[8]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[8]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[8]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[8]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[8]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[8]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[8]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[8]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[9]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[9]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[9]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[9]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[9]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[9]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[9]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[9]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[10]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[10]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[10]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[10]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[10]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[10]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[10]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[10]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[10]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[10]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[10]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[10]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[10]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[11]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[11]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[11]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[11]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[11]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[11]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[11]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[11]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[11]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[11]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[11]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[11]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[11]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[12]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[12]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[12]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[12]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[12]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[12]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[12]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[12]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[12]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[12]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[12]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[12]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[12]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[13]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[13]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[13]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[13]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[13]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[13]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[13]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[13]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[13]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[13]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[13]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[13]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[13]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[14]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[14]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[14]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[14]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[14]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[14]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[14]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[14]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[14]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[14]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[14]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[14]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[14]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[15]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[15]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[15]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[15]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[15]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[15]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[15]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[15]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[15]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[15]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[15]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[15]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[15]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[16]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[16]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[16]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[16]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[16]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[16]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[16]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[16]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[16]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[16]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[16]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[16]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[16]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[17]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[17]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[17]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[17]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAER[17]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[17]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[17]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[17]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[17]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[17]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[17]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[17]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[17]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[18]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[18]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[18]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[18]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[18]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[18]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[18]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[18]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[18]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[18]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[18]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[18]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEn[19]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortAspm[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortL1SubStates[19]|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortEqPh3Method[19]|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortACS[19]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortURE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortFEE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortNFE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCEE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSFE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSNE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSCE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortPMCE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortHPE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortSpeed[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMSIE[19]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieTopology[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortMaxPayLoadSize[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PcieRootPortCompletionTimeout[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[19]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMode[19]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideValue[19]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieSnoopLatencyOverrideMultiplier[19]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMode[19]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideValue[19]|0x3c + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieNonSnoopLatencyOverrideMultiplier[19]|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrConfigLock[19]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSmmBwp|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.ThermalDeviceEnable|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.ThermalDeviceEnable|0x3 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.TraceHubEnableMode|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.MemRegion0BufferSize|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.MemRegion1BufferSize|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.Dwr_Enable|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.Dwr_Stall|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_PMCGBL|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_CPUTHRM|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_PCHTHRM|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_PBO|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_MEPBO|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_MEWDT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_MEGBL|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_CTWDT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_PMCWDT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_ME_UERR|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_SYSPWR|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_OCWDT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_IEPBO|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_IEWDT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_IEGBLN|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_IE_UERRN|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrEn_ACRU_ERR_2H_EN|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrPmcEn_HOST_RESET_TIMEOUT|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrPmcEn_SX_ENTRY_TIMEOUT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrPmcEn_HOST_RST_PROM|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrPmcEn_HSMB_MSG|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrPmcEn_IE_MTP_TIMEOUT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrPmcEn_MTP_TIMEOUT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DwrPmcEn_ESPI_ERROR_DETECT|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchP2sbDevReveal|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchP2sbUnlock|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.TestDmiAspmCtrl|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PmcReadDisable|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.TestSmbusSpdWriteDisable|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchAllUnLock|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchTraceHubHide|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchRtcLock|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchBiosLock|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchGbeFlashLockDown|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchThermalUnlock|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.FlashLockDown|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchEvaMrom0HookEnable|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchEvaMrom1HookEnable|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.TestMctpBroadcastCycle|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.DmiLinkDownHangBypass|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchAdrEn|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.AdrTimerEn|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.AdrTimerVal|0x4 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.AdrMultiplierVal|0x63 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.AdrGpioSel|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSataLtrEnable|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSataLtrOverride|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSataSnoopLatencyOverrideValue|0x28 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSataSnoopLatencyOverrideMultiplier|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSataLtrConfigLock|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSSataLtrEnable|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSSataLtrOverride|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSSataSnoopLatencyOverrideValue|0x28 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSSataSnoopLatencyOverrideMultiplier|0x2 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchSSataLtrConfigLock|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[0]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[0]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[1]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[1]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[2]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[2]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[3]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[3]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[4]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[4]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[5]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[5]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[6]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[6]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[7]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[7]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[8]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[8]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[9]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[9]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[10]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[10]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[11]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[11]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[12]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[12]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[13]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[13]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[14]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[14]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[15]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[15]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[16]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[16]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[17]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[17]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[18]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[18]|0x0 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieLtrEnable[19]|0x1 + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData.PchPcieForceLtrOverride[19]|0x0 + #gOemSkuTokenSpaceGuid.PcdSocketIioConfigData|L"SocketIioConfig"|dd84017e-7f52-48f9-b16e-50ed9e0dbe27|0x00 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData|{0x0} + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Pci64BitResourceAllocation|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieBiosTrainEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieHotPlugEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAcpiHotPlugEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MultiCastEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.McastBaseAddrRegion|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.McastIndexPosition|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.McastNumGroup|0x8 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[12]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[13]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[14]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[15]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[16]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[17]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[18]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[19]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[20]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[21]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[22]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[23]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[24]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[25]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[26]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[27]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[28]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[29]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[30]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[31]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[32]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[33]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[34]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[35]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[36]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[37]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[38]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[39]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[40]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[41]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[42]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[43]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[44]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[45]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[46]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[47]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[48]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[49]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[50]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[51]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[52]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[53]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[54]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[55]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[56]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[57]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[58]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[59]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[60]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[61]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[62]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[63]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[64]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[65]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[66]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[67]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[68]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[69]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[70]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[71]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[72]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[73]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[74]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[75]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[76]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[77]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[78]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[79]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[80]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[81]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[82]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HidePEXPMenu[83]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NoSnoopRdCfg|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NoSnoopWrCfg|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MaxReadCompCombSize|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ProblematicPort|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DmiAllocatingFlow|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAllocatingFlow|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.HaltOnDmiDegraded|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RxClockWA|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.GlobalPme2AckTOCtrl|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MctpEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PCUF6Hide|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EN1K|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DualCvIoFlow|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CoherentReadPart|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CoherentReadFull|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CompletionTimeoutGlobal|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CompletionTimeoutGlobalValue|0x9 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieGlobalAspm|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.StopAndScream|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SnoopResponseHoldOff|0xf + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PCIe_LTR|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieExtendedTagField|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PCIe_AtomicOpReq|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxReadRequestSize|0x7 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieRelaxedOrdering|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigIOU0[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigIOU1[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigIOU2[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigMCP0[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigMCP1[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CompletionTimeout[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CompletionTimeoutValue[0]|0x9 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RpCorrectableErrorEsc[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RpUncorrectableNonFatalErrorEsc[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RpUncorrectableFatalErrorEsc[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigIOU0[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigIOU1[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigIOU2[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigMCP0[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ConfigMCP1[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CompletionTimeout[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CompletionTimeoutValue[1]|0x9 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RpCorrectableErrorEsc[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RpUncorrectableNonFatalErrorEsc[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RpUncorrectableFatalErrorEsc[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DevPresIoApicIio[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VTdSupport|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InterruptRemap|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PassThroughDma|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ATS|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IioPresent[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IioPresent[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PostedInterrupt|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CoherencySupport|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[0]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[0]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[0]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[0]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[0]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[1]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[1]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[1]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[1]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[1]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[2]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[2]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[2]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[2]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[2]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[3]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[3]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[3]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[3]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[3]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[4]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[4]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[4]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[4]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[4]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[5]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[5]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[5]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[5]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[5]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[6]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[6]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[6]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[6]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[6]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[7]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[7]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[7]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[7]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[7]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[8]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[8]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[8]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[8]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[8]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[9]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[9]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[9]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[9]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[9]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[10]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[10]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[10]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[10]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[10]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDEnabled[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDPortEnable[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarSz[11]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[11]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDCfgBarAttr[11]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz1[11]|0x19 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar1Attr[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBarSz2[11]|0x14 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.VMDMemBar2Attr[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAICEnabled[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom1|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom2|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom3|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom4|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom5|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom6|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom7|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieSlotOprom8|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisableTPH|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PrioritizeTPH|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.CbRelaxedOrdering|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[12]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[13]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[14]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[15]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[16]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[17]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[18]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[19]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[20]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[21]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[22]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[23]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[24]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[25]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[26]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[27]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[28]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[29]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[30]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3DmaEn[31]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.Cb3NoSnoopEn[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoLtssmLogger|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoLtssmLoggerStop|0x99 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoLtssmLoggerSpeed|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoLtssmLoggerMask|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoJitterLogger|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[84]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[85]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[86]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[87]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[88]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[89]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[90]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[91]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[92]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[93]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[94]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[95]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[96]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[97]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[98]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[99]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[100]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[101]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[102]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[103]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[104]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[105]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[106]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[107]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[108]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[109]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[110]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[111]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[112]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[113]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[114]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[115]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[116]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[117]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[118]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[119]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[120]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[121]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[122]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[123]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[124]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[125]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[126]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[127]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[128]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[129]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[130]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[131]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[132]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[133]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[134]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[135]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[136]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[137]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[138]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[139]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[140]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[141]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[142]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[143]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[144]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[145]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[146]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[147]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[148]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[149]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[150]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[151]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[152]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[153]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[154]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[155]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[156]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[157]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[158]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[159]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[160]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[161]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[162]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[163]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[164]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[165]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[166]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[167]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[168]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[169]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[170]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[171]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[172]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[173]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[174]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[175]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[176]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[177]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[178]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[179]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[180]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[181]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[182]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[183]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[184]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[185]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[186]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[187]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[188]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[189]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[190]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoSocketDevFuncHide[191]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[0]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[0]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[0]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[0]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[0]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[0]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[1]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[1]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[1]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[1]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[1]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[1]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[2]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[2]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[2]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[2]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[2]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[2]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[2]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[2]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[2]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[3]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[3]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[3]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[3]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[3]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[3]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[3]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[3]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[3]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[4]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[4]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[4]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[4]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[4]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[4]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[4]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[4]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[4]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[5]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[5]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[5]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[5]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[5]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[5]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[5]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[5]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[5]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[6]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[6]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[6]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[6]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[6]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[6]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[6]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[6]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[6]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[7]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[7]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[7]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[7]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[7]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[7]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[7]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[7]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[7]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[8]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[8]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[8]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[8]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[8]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[8]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[8]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[8]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[8]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[9]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[9]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[9]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[9]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[9]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[9]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[9]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[9]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[9]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[10]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[10]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[10]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[10]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[10]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[10]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[10]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[10]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[10]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[11]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[11]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[11]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[11]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[11]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[11]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[11]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[11]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[11]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[12]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[12]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[12]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[12]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[12]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[12]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[12]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[12]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[12]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[13]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[13]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[13]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[13]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[13]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[13]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[13]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[13]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[13]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[14]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[14]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[14]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[14]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[14]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[14]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[14]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[14]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[14]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[15]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[15]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[15]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[15]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[15]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[15]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[15]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[15]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[15]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[16]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[16]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[16]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[16]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[16]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[16]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[16]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[16]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[16]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[17]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[17]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[17]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[17]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[17]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[17]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[17]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[17]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[17]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[18]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[18]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[18]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[18]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[18]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[18]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[18]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[18]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[18]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[19]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[19]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[19]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[19]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[19]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[19]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[19]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[19]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[19]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[20]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[20]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[20]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[20]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[20]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[20]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[20]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[20]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[20]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[21]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[21]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[21]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[21]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[21]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[21]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[21]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[21]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[21]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[22]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[22]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[22]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[22]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[22]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[22]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[22]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[22]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[22]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[23]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[23]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[23]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[23]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[23]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[23]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[23]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[23]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[23]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[24]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[24]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[24]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[24]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[24]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[24]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[24]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[24]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[24]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[25]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[25]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[25]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[25]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[25]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[25]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[25]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[25]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[25]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[26]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[26]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[26]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[26]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[26]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[26]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[26]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[26]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[26]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[27]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[27]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[27]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[27]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[27]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[27]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[27]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[27]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[27]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[28]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[28]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[28]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[28]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[28]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[28]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[28]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[28]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[28]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[29]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[29]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[29]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[29]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[29]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[29]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[29]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[29]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[29]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[30]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[30]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[30]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[30]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[30]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[30]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[30]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[30]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[30]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[31]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[31]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[31]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[31]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[31]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[31]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[31]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[31]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[31]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[32]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[32]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[32]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[32]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[32]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[32]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[32]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[32]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[32]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[33]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[33]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[33]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[33]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[33]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[33]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[33]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[33]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[33]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[34]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[34]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[34]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[34]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[34]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[34]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[34]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[34]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[34]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[35]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[35]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[35]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[35]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[35]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[35]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[35]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[35]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[35]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[36]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[36]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[36]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[36]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[36]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[36]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[36]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[36]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[36]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[37]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[37]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[37]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[37]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[37]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[37]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[37]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[37]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[37]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[38]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[38]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[38]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[38]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[38]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[38]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[38]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[38]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[38]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[39]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[39]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[39]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[39]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[39]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[39]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[39]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[39]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[39]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[40]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[40]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[40]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[40]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[40]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[40]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[40]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[40]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[40]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[41]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[41]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[41]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[41]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[41]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[41]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[41]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[41]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[41]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[42]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[42]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[42]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[42]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[42]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[42]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[42]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[42]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[42]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[43]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[43]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[43]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[43]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[43]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[43]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[43]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[43]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[43]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[44]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[44]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[44]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[44]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[44]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[44]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[44]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[44]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[44]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[45]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[45]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[45]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[45]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[45]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[45]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[45]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[45]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[45]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[46]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[46]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[46]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[46]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[46]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[46]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[46]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[46]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[46]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[47]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[47]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[47]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[47]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[47]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[47]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[47]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[47]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[47]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[48]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[48]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[48]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[48]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[48]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[48]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[48]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[48]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[48]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[49]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[49]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[49]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[49]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[49]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[49]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[49]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[49]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[49]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[50]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[50]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[50]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[50]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[50]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[50]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[50]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[50]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[50]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[51]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[51]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[51]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[51]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[51]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[51]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[51]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[51]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[51]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[52]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[52]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[52]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[52]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[52]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[52]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[52]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[52]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[52]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[53]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[53]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[53]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[53]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[53]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[53]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[53]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[53]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[53]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[54]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[54]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[54]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[54]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[54]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[54]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[54]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[54]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[54]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[55]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[55]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[55]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[55]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[55]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[55]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[55]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[55]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[55]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[56]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[56]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[56]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[56]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[56]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[56]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[56]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[56]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[56]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[57]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[57]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[57]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[57]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[57]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[57]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[57]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[57]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[57]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[58]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[58]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[58]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[58]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[58]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[58]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[58]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[58]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[58]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[59]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[59]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[59]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[59]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[59]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[59]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[59]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[59]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[59]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[60]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[60]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[60]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[60]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[60]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[60]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[60]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[60]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[60]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[61]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[61]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[61]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[61]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[61]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[61]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[61]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[61]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[61]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[62]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[62]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[62]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[62]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[62]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[62]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[62]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[62]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[62]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[63]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[63]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[63]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[63]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[63]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[63]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[63]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[63]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[63]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[64]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[64]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[64]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[64]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[64]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[64]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[64]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[64]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[64]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[65]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[65]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[65]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[65]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[65]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[65]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[65]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[65]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[65]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[66]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[66]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[66]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[66]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[66]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[66]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[66]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[66]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[66]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[67]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[67]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[67]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[67]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[67]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[67]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[67]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[67]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[67]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[68]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[68]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[68]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[68]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[68]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[68]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[68]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[68]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[68]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[69]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[69]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[69]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[69]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[69]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[69]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[69]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[69]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[69]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[70]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[70]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[70]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[70]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[70]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[70]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[70]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[70]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[70]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[71]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[71]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[71]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[71]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[71]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[71]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[71]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[71]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[71]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[72]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[72]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[72]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[72]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[72]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[72]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[72]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[72]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[72]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[73]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[73]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[73]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[73]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[73]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[73]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[73]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[73]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[73]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[74]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[74]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[74]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[74]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[74]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[74]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[74]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[74]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[74]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[75]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[75]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[75]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[75]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[75]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[75]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[75]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[75]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[75]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[76]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[76]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[76]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[76]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[76]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[76]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[76]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[76]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[76]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[77]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[77]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[77]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[77]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[77]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[77]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[77]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[77]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[77]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[78]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[78]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[78]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[78]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[78]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[78]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[78]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[78]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[78]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[79]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[79]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[79]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[79]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[79]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[79]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[79]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[79]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[79]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[80]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[80]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[80]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[80]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[80]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[80]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[80]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[80]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[80]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[81]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[81]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[81]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[81]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[81]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[81]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[81]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[81]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[81]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[82]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[82]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[82]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[82]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[82]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[82]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[82]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[82]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[82]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3OverrideMode[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Precursor[83]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Cursor[83]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh2_Postcursor[83]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Precursor[83]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Cursor[83]|0x29 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3ManualPh3_Postcursor[83]|0xb + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoGen3TestCard[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoDnTxPreset[83]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoRxPreset[83]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.RtoUpTxPreset[83]|0xff + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.InboundConfiguration[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[0]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[0]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[0]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[0]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[0]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[1]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[1]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[1]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[1]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[1]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[1]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[0]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[0]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[0]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[0]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[0]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[0]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[0]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[0]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[0]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[2]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[2]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[2]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[2]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[2]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[2]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[2]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[3]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[3]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[3]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[3]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[3]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[3]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[3]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[4]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[4]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[4]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[4]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[4]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[4]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[4]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[5]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[5]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[5]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[5]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[5]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[5]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[5]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[1]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[1]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[1]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[1]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[1]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[1]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[1]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[1]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[1]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[6]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[6]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[6]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[6]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[6]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[6]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[6]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[7]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[7]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[7]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[7]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[7]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[7]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[7]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[8]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[8]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[8]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[8]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[8]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[8]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[8]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[9]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[9]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[9]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[9]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[9]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[9]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[9]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[2]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[2]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[2]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[2]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[2]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[2]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[2]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[2]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[2]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[10]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[10]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[10]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[10]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[10]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[10]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[10]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[11]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[11]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[11]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[11]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[11]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[11]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[11]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[12]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[12]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[12]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[12]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[12]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[12]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[12]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[12]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[12]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[13]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[13]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[13]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[13]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[13]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[13]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[13]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[13]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[13]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[14]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[14]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[14]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[14]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[14]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[14]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[14]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[14]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[14]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[15]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[15]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[15]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[15]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[15]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[15]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[15]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[15]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[15]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[16]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[16]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[16]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[16]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[16]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[16]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[16]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[16]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[16]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[17]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[17]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[17]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[17]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[17]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[17]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[17]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[17]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[17]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[18]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[18]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[18]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[18]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[18]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[18]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[18]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[18]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[18]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[19]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[19]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[19]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[19]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[19]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[19]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[19]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[19]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[19]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[20]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[20]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[20]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[20]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[20]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[20]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[20]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[20]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[20]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[21]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[21]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[21]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[21]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[21]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[21]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[21]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[21]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[21]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[22]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[22]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[22]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[22]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[22]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[22]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[22]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[22]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[22]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[3]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[3]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[3]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[3]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[3]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[3]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[3]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[3]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[3]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[23]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[23]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[23]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[23]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[23]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[23]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[23]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[23]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[23]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[24]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[24]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[24]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[24]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[24]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[24]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[24]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[24]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[24]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[24]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[25]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[25]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[25]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[25]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[25]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[25]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[25]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[25]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[25]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[25]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[26]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[26]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[26]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[26]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[26]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[26]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[26]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[26]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[26]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[4]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[4]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[4]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[4]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[4]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[4]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[4]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[4]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[4]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[26]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[27]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[27]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[27]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[27]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[27]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[27]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[27]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[27]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[27]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[27]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[28]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[28]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[28]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[28]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[28]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[28]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[28]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[28]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[28]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[28]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[29]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[29]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[29]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[29]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[29]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[29]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[29]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[29]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[29]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[29]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[30]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[30]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[30]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[30]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[30]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[30]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[30]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[30]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[30]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[5]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[5]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[5]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[5]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[5]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[5]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[5]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[5]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[5]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[30]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[31]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[31]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[31]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[31]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[31]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[31]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[31]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[31]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[31]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[31]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[32]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[32]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[32]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[32]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[32]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[32]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[32]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[32]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[32]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[32]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[33]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[33]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[33]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[33]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[33]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[33]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[33]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[33]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[33]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[33]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[34]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[34]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[34]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[34]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[34]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[34]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[34]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[34]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[34]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[34]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[35]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[35]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[35]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[35]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[35]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[35]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[35]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[35]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[35]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[35]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[36]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[36]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[36]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[36]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[36]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[36]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[36]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[36]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[36]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[36]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[37]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[37]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[37]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[37]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[37]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[37]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[37]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[37]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[37]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[37]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[38]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[38]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[38]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[38]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[38]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[38]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[38]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[38]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[38]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[38]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[39]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[39]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[39]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[39]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[39]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[39]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[39]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[39]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[39]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[39]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[40]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[40]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[40]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[40]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[40]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[40]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[40]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[40]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[40]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[40]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[41]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[41]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[41]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[41]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[41]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[41]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[41]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[41]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[41]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[41]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[42]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[42]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[42]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[42]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[42]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[42]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[42]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[42]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[42]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[42]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[43]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[43]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[43]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[43]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[43]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[43]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[43]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[43]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[43]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[6]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[6]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[6]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[6]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[6]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[6]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[6]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[6]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[6]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[43]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[44]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[44]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[44]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[44]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[44]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[44]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[44]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[44]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[44]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[44]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[45]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[45]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[45]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[45]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[45]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[45]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[45]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[45]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[45]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[45]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[46]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[46]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[46]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[46]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[46]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[46]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[46]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[46]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[46]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[46]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[47]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[47]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[47]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[47]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[47]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[47]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[47]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[47]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[47]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[7]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[7]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[7]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[7]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[7]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[7]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[7]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[7]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[7]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[47]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[48]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[48]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[48]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[48]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[48]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[48]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[48]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[48]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[48]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[48]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[49]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[49]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[49]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[49]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[49]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[49]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[49]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[49]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[49]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[49]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[50]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[50]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[50]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[50]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[50]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[50]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[50]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[50]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[50]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[50]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[51]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[51]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[51]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[51]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[51]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[51]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[51]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[51]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[51]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[8]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[8]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[8]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[8]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[8]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[8]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[8]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[8]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[8]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[51]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[52]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[52]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[52]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[52]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[52]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[52]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[52]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[52]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[52]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[52]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[53]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[53]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[53]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[53]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[53]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[53]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[53]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[53]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[53]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[53]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[54]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[54]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[54]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[54]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[54]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[54]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[54]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[54]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[54]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[54]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[55]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[55]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[55]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[55]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[55]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[55]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[55]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[55]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[55]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[55]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[56]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[56]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[56]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[56]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[56]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[56]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[56]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[56]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[56]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[56]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[57]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[57]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[57]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[57]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[57]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[57]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[57]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[57]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[57]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[57]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[58]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[58]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[58]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[58]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[58]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[58]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[58]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[58]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[58]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[58]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[59]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[59]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[59]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[59]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[59]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[59]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[59]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[59]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[59]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[59]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[60]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[60]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[60]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[60]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[60]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[60]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[60]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[60]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[60]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[60]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[61]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[61]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[61]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[61]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[61]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[61]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[61]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[61]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[61]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[61]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[62]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[62]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[62]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[62]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[62]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[62]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[62]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[62]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[62]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[62]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[63]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[63]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[63]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[63]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[63]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[63]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[63]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[63]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[63]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[63]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[64]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[64]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[64]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[64]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[64]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[64]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[64]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[64]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[64]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[9]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[9]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[9]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[9]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[9]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[9]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[9]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[9]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[9]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[64]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[65]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[65]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[65]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[65]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[65]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[65]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[65]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[65]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[65]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[65]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[66]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[66]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[66]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[66]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[66]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[66]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[66]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[66]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[66]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[66]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[67]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[67]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[67]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[67]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[67]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[67]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[67]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[67]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[67]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[67]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[68]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[68]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[68]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[68]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[68]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[68]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[68]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[68]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[68]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[10]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[10]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[10]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[10]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[10]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[10]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[10]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[10]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[10]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[68]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[69]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[69]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[69]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[69]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[69]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[69]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[69]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[69]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[69]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[69]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[70]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[70]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[70]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[70]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[70]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[70]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[70]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[70]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[70]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[70]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[71]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[71]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[71]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[71]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[71]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[71]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[71]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[71]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[71]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[71]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[72]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[72]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[72]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[72]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[72]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[72]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[72]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[72]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[72]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbPpd[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeOverride[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSplitBar[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar23[11]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar4[11]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar5[11]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizePBar45[11]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar23[11]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar4[11]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar5[11]|0xc + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbBarSizeSBar45[11]|0x16 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbSBar01Prefetch[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.NtbXlinkCtlOverride[11]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[72]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[73]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[73]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[73]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[73]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[73]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[73]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[73]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[73]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[73]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[73]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[74]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[74]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[74]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[74]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[74]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[74]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[74]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[74]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[74]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[74]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[75]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[75]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[75]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[75]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[75]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[75]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[75]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[75]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[75]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[75]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[76]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[76]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[76]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[76]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[76]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[76]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[76]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[76]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[76]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[76]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[77]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[77]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[77]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[77]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[77]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[77]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[77]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[77]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[77]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[77]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[78]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[78]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[78]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[78]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[78]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[78]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[78]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[78]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[78]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[78]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[79]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[79]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[79]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[79]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[79]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[79]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[79]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[79]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[79]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[79]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[80]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[80]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[80]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[80]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[80]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[80]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[80]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[80]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[80]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[80]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[81]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[81]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[81]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[81]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[81]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[81]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[81]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[81]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[81]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[81]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[82]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[82]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[82]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[82]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[82]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[82]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[82]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[82]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[82]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[82]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortDisable[83]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPCAP[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SLOTHPSUP[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieLinkDis[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkSpeed[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PciePortLinkMaxWidth[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DeEmphasis[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieCommonClock[83]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieMaxPayload[83]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieDState[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieAspm[83]|0x2 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL0sLatency[83]|0x3 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieL1Latency[83]|0x4 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MsiEn[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ExtendedSync[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ComplianceMode[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.EOI[83]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSIFATEN[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSINFATEN[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.MSICOREN[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPMEn[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DISL0STx[83]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PWrtDis[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.P2PRdDis[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.DisPMETOAck[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIHP[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ACPIPM[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PcieUnsupportedRequests[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.SRIS[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.TXEQ[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.ECRC[83]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.IODC[83]|0x6 + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData.PEXPHIDE[83]|0x0 + #gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData|L"SocketCommonRcConfig"|4402ca38-808f-4279-bcec-5baf8d59092f|0x00 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData|{0x0} + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.MmcfgBase|0x3 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.MmcfgSize|0x2 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.MmiohBase|0x0 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.MmiohSize|0x0 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.IsocEn|0x2 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.NumaEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.LockStep|0x0 + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData.MirrorMode|0x0 + #gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData|L"SocketMpLinkConfig"|2b9b22de-2ad4-4abc-957d-5f18c504a05c|0x00 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData|{0} + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.DegradePrecedence|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.QpiLinkSpeedMode|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.QpiLinkSpeed|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiLinkL0pEn|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiLinkL1En|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiFailoverEn|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.IoDcMode|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.DirectoryModeEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.SncEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.XptPrefetchEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiPrefetchEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.RdCurForXptPrefetchEn|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiLinkVnaOverride|0x7f + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiCrcMode|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiLbEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.LegacyVgaSoc|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.LegacyVgaStack|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.MmioP2pDis|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.QpiCpuSktHotPlugEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiCpuSktHotPlugTopology|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.KtiSkuMismatchCheck|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.DebugPrintLevel|0xf + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.IrqThreshold|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.BusRatio[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.BusRatio[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P0KtiPortDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P0KtiLinkVnaOverride|0x7f + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P0KtiLinkSpeed|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P1KtiPortDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P1KtiLinkVnaOverride|0x7f + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P1KtiLinkSpeed|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P2KtiPortDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P2KtiLinkVnaOverride|0x7f + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu0P2KtiLinkSpeed|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P0KtiPortDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P0KtiLinkVnaOverride|0x7f + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P0KtiLinkSpeed|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P1KtiPortDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P1KtiLinkVnaOverride|0x7f + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P1KtiLinkSpeed|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P2KtiPortDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P2KtiLinkVnaOverride|0x7f + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData.Cpu1P2KtiLinkSpeed|0x2 + #gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData|L"SocketMemoryConfig"|98cf19ed-4109-4681-b79d-9196757c7824|0x00 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData|{0x0} + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Srat|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.SratMemoryHotPlug|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.SratCpuHotPlug|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.EnforcePOR|0x3 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.pprType|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.pprErrInjTest|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DdrFreqLimit|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.imcBclk|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.promoteMrcWarnings|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.promoteWarnings|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.haltOnMemErr|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.MultiThreaded|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.EccSupport|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.spdCrcCheck|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.logParsing|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.lrdimmModuleDelay|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.HwMemTest|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.MemTestLoops|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DdrMemoryType|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RankMargin|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.EnableBacksideRMT|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.EnableBacksideCMDRMT|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.rmtPatternLength|0x7fff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.rmtPatternLengthExt|0x7fff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.perbitmargin|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AttemptFastBoot|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AttemptFastBootCold|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.MemTestOnFastBoot|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RmtOnColdFastBoot|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.bdatEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ScrambleEnDDRT|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ScrambleEn|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.allowCorrectableError|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.WrCRC|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.dimmIsolation|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.WritePreamble|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ReadPreamble|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ScrambleSeedLow|0xa02b + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ScrambleSeedHigh|0xd395 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ADREn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_12|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.check_pm_sts|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.check_platform_detect|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.CustomRefreshRateEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.CustomRefreshRate|0x14 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.mcBgfThreshold|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.dllResetTestLoops|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.oppReadInWmm|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.normOppInterval|0x400 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.caParity|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.smbSpeed|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.mrcRepeatTest|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.memFlowsExt|0xffffffff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.memFlows|0xffffffff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.rankMaskEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Blockgnt2cmd1cyc|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Disddrtopprd|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck0ch0|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck0ch1|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck0ch2|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck0ch3|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck0ch4|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck0ch5|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck1ch0|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck1ch1|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck1ch2|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck1ch3|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck1ch4|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck1ch5|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck2ch0|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck2ch1|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck2ch2|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck2ch3|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck2ch4|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck2ch5|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck3ch0|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck3ch1|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck3ch2|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck3ch3|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck3ch4|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck3ch5|0xff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PagePolicy|0x3 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DutyCycleTraining|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.readVrefCenter|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.eyeDiagram|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.turnaroundOpt|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.oneRankTimingMode|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.pda|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.wrVrefCenter|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.thermalthrottlingsupport|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.thermalmemtrip|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.memhotSupport|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.CkeProgramming|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved6|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PkgcSrefEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.CkeIdleTimer|0x14 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ApdEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PpdEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DdrtCkeEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OppSrefEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DdrtSrefEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.MdllOffEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.CkMode|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.XMPMode|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.XMPMode|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.XMPMode|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Vdd|0x4b0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.commandTiming|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tREFI|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tCAS|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tRP|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tRCD|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tRAS|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tWR|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tRFC|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tRRD|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tRTP|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tWTR|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tFAW|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tRC|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.tCWL|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.volMemMode|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.memInterleaveGran1LM|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ImcInterleaving|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ChannelInterleaving|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RankInterleaving|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.SocketInterleaveBelow4GB|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_1|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_7|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_2|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_3|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_4|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_5|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.FastGoConfig|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseAllDIMMs|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[8]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[9]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[10]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[11]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[12]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[13]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[14]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[15]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[16]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[17]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[18]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[19]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[20]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[21]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[22]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.setSecureEraseSktCh[23]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.partialmirrorsad0|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.partialmirror|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.partialmirrorsize[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.partialmirrorsize[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.partialmirrorsize[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.partialmirrorsize[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PartialMirrorUefi|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PartialMirrorUefiPercent|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RankSparing|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.multiSparingRanks|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DemandScrubMode|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.spareErrTh|0x7fff + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.leakyBktLo|0x28 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.leakyBktHi|0x29 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.SddcPlusOneEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.SddcPlusOneEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.ADDDCEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdddcErrInjEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DieSparing|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved1|0x80 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PatrolScrub|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PatrolScrubDuration|0x18 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PatrolScrubAddrMode|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_11|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RtoMaxNodeInterleave|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RtoHighAddressStartBitPosition|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RtoLowMemChannel|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RtoCfgMask2LM|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved_13|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.mdllSden|0x2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.BwLimitTfOvrd|0x0 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.DramRaplExtendedRange|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.CmsEnableDramPm|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestRetryAfterRepair|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondition|0x1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondVdd|1260 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondTwr|10 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondTrefi|15600 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondPause|100000 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved10|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved11|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved12|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved13|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved14|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved15|16 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved16|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved17|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved18|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved19|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved20|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved21|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved22|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved23|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved24|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved25|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved26|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved27|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved28|9 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.eraseArmNVDIMMS|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.restoreNVDIMMS|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.interNVDIMMS|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetTxDq|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetRxDq|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetTxVref|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetRxVref|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetCmdAll|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetCmdVref|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetCtlAll|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.turnaroundOptDdrt|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NgnEccExitCorr|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NgnArsPublish|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NgnAveragePower|15000 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NgnThrottleTemp|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AppDirectMemoryHole|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.LatchSystemShutdownState|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.EliminateDirectoryInFarMemory|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NvmdimmPowerCyclePolicy|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved29|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Force1ChWayFM|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NvmMediaStatusException|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck4ch0|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck4ch1|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck4ch2|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck4ch3|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck4ch4|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck4ch5|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck5ch0|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck5ch1|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck5ch2|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck5ch3|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck5ch4|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck5ch5|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck6ch0|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck6ch1|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck6ch2|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck6ch3|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck6ch4|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck6ch5|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck7ch0|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck7ch1|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck7ch2|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck7ch3|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck7ch4|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.sck7ch5|0xFF + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved33|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.LsxImplementation|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NvdimmSmbusMaxAccessTime|350 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.NvdimmSmbusReleaseDelay|150 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.Reserved35|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondition|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondVdd|1260 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondTwr|10 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondTrefi|15600 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestCondPause|100000 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.OffsetRecEn|100 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.RcvenAve|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.allowCorrectableMemTestError|2 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.PatrolErrorDowngradeEn|1 + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData.AdvMemTestRetryAfterRepair|1 + #gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData|L"SocketPowerManagementConfig"|A1047342-BDBA-4DAE-A67A-40979B65C7F8|0x00 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData|{0x0} + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SPTWorkaround|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.AcpiS3Enable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.AcpiS4Enable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorHWPMEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorHWPMInterrupt|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorEPPEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorEppProfile|0x55 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorAPSrocketing|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorScalability|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorRaplPrioritization|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.WFRWAEnable|0x2 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.UFSDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorEistEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ConfigTDPLevel|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PStateDomain|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorEistPsdFunc|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorSinglePCTLEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorSPD|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.BootPState|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.EETurboDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboMode|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.EnableXe|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.OverclockingLock|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[0]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[1]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[2]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[3]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[3]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[4]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[4]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[5]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[5]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[6]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[6]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitRatio[7]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboRatioLimitCores[7]|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.LOT26UnusedVrPowerDownEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorAutonomousCstateEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.C6Enable|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorC1eEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.OSCx|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PackageCState|0xff + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.C2C3TT|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.DynamicL1|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PkgCLatNeg|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.LTRSwInput|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlValid[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlMultiplier[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlValue[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlValid[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlMultiplier[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlValue[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlValid[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlMultiplier[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CStateLatencyCtrlValue[2]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TStateEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.OnDieThermalThrottling|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProchotLock|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.EnableProcHot|0x3 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.EnableThermalMonitor|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProchotResponseRatio|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TCCActivationOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SAPMControl|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PwrPerfTuning|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorOutofBandAlternateEPB|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.AltEngPerfBIAS|0x7 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PwrPerfSwitch|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.WorkLdConfig|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.EngAvgTimeWdw1|0x17 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P0TtlTimeLow1|0x23 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P0TtlTimeHigh1|0x3a + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CurrentConfig|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.CurrentLimit|0x438 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PpcccLock|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PkgCstEntryValCtl|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SnpLatVld|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SnpLatOvrd|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SnpLatMult|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SnpLatVal|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.NonSnpLatVld|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.NonSnpLatOvrd|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.NonSnpLatMult|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.NonSnpLatVal|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.UncrPerfPlmtOvrdEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.EetOverrideEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.IoBwPlmtOvrdEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.IomApmOvrdEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.QpiApmOvrdEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PerfPlimitDifferential|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PerfPLimitClipC|0x1f + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PerfPLmtThshld|0xf + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PerfPLimitEn|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.FastRaplDutyCycle|0x40 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.TurboPowerLimitLock|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PowerLimit1En|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PowerLimit1Power|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PowerLimit1Time|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PowerLimit2En|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PowerLimit2Power|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PowerLimit2Time|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PmaxOffset|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti0In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti1In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti2In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio0In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio1In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio2In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio3In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio4In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio5In[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti0In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti1In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti2In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio0In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio1In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio2In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio3In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio4In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.PcieIio5In[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Iio0PkgcClkGateDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Iio1PkgcClkGateDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Iio2PkgcClkGateDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti01PkgcClkGateDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti23PkgcClkGateDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc1PkgcClkGateDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc0PkgcClkGateDis[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti01pllOffEna[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti23pllOffEna[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P0pllOffEna[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P1pllOffEna[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P2pllOffEna[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc0pllOffEna[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc1pllOffEna[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SetvidDecayDisable[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SapmCtlLock[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Iio0PkgcClkGateDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Iio1PkgcClkGateDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Iio2PkgcClkGateDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti01PkgcClkGateDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti23PkgcClkGateDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc1PkgcClkGateDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc0PkgcClkGateDis[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti01pllOffEna[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Kti23pllOffEna[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P0pllOffEna[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P1pllOffEna[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.P2pllOffEna[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc0pllOffEna[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.Mc1pllOffEna[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SetvidDecayDisable[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.SapmCtlLock[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.ProcessorConfigurePbf|1 + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData.AvxIccpLevel|1 + #gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData|L"SocketProcessorCoreConfig"|07013588-C789-4E12-A7C3-88FAFAE79F7C|0x00 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData|{0x0} + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.PchTraceHubEn|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorHyperThreadingDisable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.IedSize|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.IedTraceSize|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.TsegSize|0x5 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.AllowMixedPowerOnCpuRatio|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.CheckCpuBist|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ThreeStrikeTimer|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.FastStringEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.MachineCheckEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.CpuidMaxValue|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ExecuteDisableBit|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorLtsxEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorVmxEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorSmxEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.LockChipset|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.BiosAcmErrorReset|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorMsrLockControl|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.PpinControl|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.DebugInterface|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.MlcStreamerPrefetcherEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.MlcSpatialPrefetcherEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.DCUStreamerPrefetcherEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.DCUIPPrefetcherEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.DCUModeSelection|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.BspSelection|0xff + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.Reserved2|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorX2apic|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ForceX2ApicIds|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.AesEnable|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ForcePhysicalModeEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorVirtualWireMode|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.PCIeDownStreamPECIWrite|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.PeciInTrustControlBit|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.IioLlcWaysMask|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ExpandedIioLlcWaysMask|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.RemoteWaysMask|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.QlruCfgMask_Hi|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.QlruCfgMask_Lo|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.TargetedSmi|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.eSmmSaveState|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.SmbusErrorRecovery|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.CoreDisableMask[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.IotEn[0]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.OclaMinWay[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.OclaMaxTorEntry[0]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.CoreDisableMask[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.IotEn[1]|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.OclaMinWay[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.OclaMaxTorEntry[1]|0x1 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorFlexibleRatioOverrideEnable|0x0 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.ProcessorFlexibleRatio|0x17 + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData.MonitorMwaitEnabled|2 + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/__init__.py b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/bld.bat b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/bld.bat new file mode 100644 index 0000000000..5c4dbf064c --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/bld.bat @@ -0,0 +1,139 @@ +@REM @file +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +@REM Copyright (c) 2021, American Megatrends International LLC.<BR> +@REM SPDX-License-Identifier: BSD-2-Clause-Patent +@REM + +@echo off + +REM Run setlocal to take a snapshot of the environment variables. endlocal is called to restore the environment. +setlocal +set SCRIPT_ERROR=0 + +REM ---- Do NOT use :: for comments Inside of code blocks() ---- + +::********************************************************************** +:: Initial Setup +::********************************************************************** + +:parseCmdLine +if "%1"=="" goto :argumentCheck + +if /I "%1"=="debug" set TARGET=DEBUG +if /I "%1"=="release" set TARGET=RELEASE + +if /I "%1"=="clean" ( + set BUILD_TYPE=cleantree + call :cleantree + goto :EOF +) + +shift +GOTO :parseCmdLine + +:argumentCheck: + +if /I "%TARGET%" == "" ( + echo Info: debug/release argument is empty, use DEBUG as default + set TARGET=DEBUG +) + +REM Art to notify which board you're working on +echo. +type logo.txt +echo. + +:: +:: Build configuration +:: +set BUILD_REPORT_FLAGS= +set BUILD_CMD_LINE= +set BUILD_LOG=%WORKSPACE%\Build\build.log +set BUILD_REPORT=%WORKSPACE%\Build\BuildReport.txt + +del %BUILD_LOG% *.efi *.log 2>NUL + +echo -------------------------------------------------------------------------------------------- +echo. +echo Purley Build Start +echo. +echo -------------------------------------------------------------------------------------------- + + +:doPreBuild +echo. +echo -------------------------------------------------------------------- +echo. +echo Prebuild Start +echo. +echo -------------------------------------------------------------------- +call prebuild.bat +if %SCRIPT_ERROR% NEQ 0 EXIT /b %ERRORLEVEL% + +echo -------------------------------------------------------------------- +echo. +echo Prebuild End +echo. +echo -------------------------------------------------------------------- +if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL% +timeout 1 + +:buildBios +set BUILD_CMD_LINE=%BUILD_CMD_LINE% -D MAX_SOCKET=%MAX_SOCKET% -y %BUILD_REPORT% +echo -------------------------------------------------------------------- +echo. +echo Build Start +echo. +echo -------------------------------------------------------------------- +echo. +echo build %BUILD_CMD_LINE% --log=%BUILD_LOG% %BUILD_REPORT_FLAGS% +call build %BUILD_CMD_LINE% --log=%BUILD_LOG% %BUILD_REPORT_FLAGS% +echo -------------------------------------------------------------------- +echo. +echo Build End +echo. +echo -------------------------------------------------------------------- +if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL% +timeout 1 + +:postBuild + +echo -------------------------------------------------------------------- +echo. +echo PostBuild Start +echo. +echo -------------------------------------------------------------------- +echo. +call postbuild.bat +if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL% +timeout 1 +echo -------------------------------------------------------------------- +echo. +echo PostBuild End +echo. +echo -------------------------------------------------------------------- + +echo %date% %time% +echo. + +echo -------------------------------------------------------------------------------------------- +echo. +echo Purley Build End +echo. +echo -------------------------------------------------------------------------------------------- + +:done +endlocal & EXIT /b %SCRIPT_ERROR% + +::-------------------------------------------------------- +::-- Function section starts below here +::-------------------------------------------------------- +:cleantree +choice /t 3 /d y /m "Confirm: clean tree of intermediate files created in tree during build" +if %ERRORLEVEL% EQU 2 goto :EOF +goto :EOF + + +:ErrorHandler: +echo Error handler \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_board.py b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_board.py new file mode 100644 index 0000000000..2a1f063b9d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_board.py @@ -0,0 +1,195 @@ +# @ build_board.py +# This adds additional functions to the build_bios.py +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +""" +This module serves as an additional build steps for the Tioga Pass board +""" + +import os +import sys + + +def pre_build_ex(config, functions): + """Additional Pre BIOS build function + + :param config: The environment variables to be used in the build process + :type config: Dictionary + :param functions: A dictionary of function pointers + :type functions: Dictionary + :returns: nothing + """ + print("Info: re-generating PlatformOffset header files") + + execute_script = functions.get("execute_script") + + command = ["build", "-D", "MAX_SOCKET=" + config.get("MAX_SOCKET", "1"), + "-m", + os.path.join(config["PLATFORM_BOARD_PACKAGE"], + "Acpi", "BoardAcpiDxe", "Dsdt.inf"), + "-y", + config.get("PRE_BUILD_REPORT", + os.path.join(config["WORKSPACE"], + "preBuildReport.txt")), + "--log=" + config.get("PRE_BUILD_LOG", + os.path.join(config["WORKSPACE"], + "prebuild.log"))] + + _, _, _, code = execute_script(command, config) + if code != 0: + print(" ".join(command)) + print("Error re-generating PlatformOffset header files") + sys.exit(1) + + config["AML_FILTER"] = "\"PSYS\" .MCTL\" .FIX[0-9,A-Z]\"" + print("AML_FILTER= ", config.get("AML_FILTER")) + + # build the command with arguments + command = ["python", + os.path.join(config["MIN_PACKAGE_TOOLS"], + "AmlGenOffset", + "AmlGenOffset.py"), + "-d", "--aml_filter", config["AML_FILTER"], + "-o", os.path.join(config["WORKSPACE_PLATFORM"], + config["PLATFORM_BOARD_PACKAGE"], + "Acpi", "BoardAcpiDxe", + "AmlOffsetTable.c"), + os.path.join(config["BUILD_X64"], + "PurleyOpenBoardPkg", + "Acpi", + "BoardAcpiDxe", + "DSDT", + "OUTPUT", + "Dsdt", "WFPPlatform.offset.h")] + + # execute the command + _, _, _, code = execute_script(command, config) + if code != 0: + print(" ".join(command)) + print("Error re-generating PlatformOffset header files") + sys.exit(1) + + print("GenOffset done") + return config + + +def build_ex(config, functions): + """Additional BIOS build function + + :param config: The environment variables to be used in + the build process + :type config: Dictionary + :param functions: A dictionary of function pointers + :type functions: Dictionary + :returns: config dictionary + :rtype: Dictionary + """ + print("build_ex") + return None + + +def post_build_ex(config, functions): + """Additional Post BIOS build function + + :param config: The environment variables to be used in the post + build process + :type config: Dictionary + :param functions: A dictionary of function pointers + :type functions: Dictionary + :returns: config dictionary + :rtype: Dictionary + """ + print("post_build_ex") + + execute_script = functions.get("execute_script") + + if not execute_script: + print("post_build_ex Error") + sys.exit(1) + + common_patch_command = [os.path.join(config["PYTHON_HOME"], "python"), + os.path.join(config["MIN_PACKAGE_TOOLS"], + "PatchFv", "PatchBinFv.py"), + config["TARGET"], + os.path.join(config["WORKSPACE_SILICON_BIN"], + "PurleySiliconBinPkg", "FV"), + os.path.join(config["WORKSPACE"], + "BuildReport.log")] + + fvs_to_patch = ["FvTempMemorySilicon", + "FvPreMemorySilicon", + "FvPostMemorySilicon", + "FvLateSilicon"] + for fv in fvs_to_patch: + patch_command = common_patch_command + [fv] + _, _, _, code = execute_script(patch_command, config) + if code != 0: + print(" ".join(patch_command)) + print("Patch Error!") + sys.exit(1) + + common_rebase_command = [os.path.join(config["PYTHON_HOME"], "python"), + os.path.join(config["MIN_PACKAGE_TOOLS"], + "PatchFv", "RebaseBinFv.py"), + config["TARGET"], + os.path.join(config["WORKSPACE_SILICON_BIN"], + "PurleySiliconBinPkg", "FV"), + os.path.join(config["WORKSPACE"], + "BuildReport.log")] + + rebase_command = common_rebase_command +\ + ["FvPreMemorySilicon", + "gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase"] + + _, _, _, code = execute_script(rebase_command, config) + if code != 0: + print(" ".join(rebase_command)) + print("Patch Error!") + sys.exit(1) + + rebase_command = common_rebase_command +\ + ["FvPostMemorySilicon", + "gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase"] + + _, _, _, code = execute_script(rebase_command, config) + if code != 0: + print(" ".join(rebase_command)) + print("Patch Error!") + sys.exit(1) + + common_patchbfv_command = [os.path.join(config["PYTHON_HOME"], "python"), + os.path.join(config["MIN_PACKAGE_TOOLS"], + "PatchFv", "PatchBfv.py"), + os.path.join(config["BUILD_DIR_PATH"], + "FV", "PLATFORM.fd"), + os.path.join(config["WORKSPACE"], + "BuildReport.log")] + + patchbfv_command = common_patchbfv_command +\ + ["gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemoryBase"] + + _, _, _, code = execute_script(patchbfv_command, config) + if code != 0: + print(" ".join(patchbfv_command)) + print("Patch Error!") + sys.exit(1) + + return None + + +def clean_ex(config, functions): + """Additional clean function + + :param config: The environment variables to be used in the build process + :type config: Dictionary + :param functions: A dictionary of function pointers + :type functions: Dictionary + :returns: config dictionary + :rtype: Dictionary + """ + print("clean_ex") + return None diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_config.cfg b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_config.cfg new file mode 100644 index 0000000000..227a1162f1 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/build_config.cfg @@ -0,0 +1,34 @@ +# @ build_config.cfg +# This is the main/default build configuration file +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + + +[CONFIG] +WORKSPACE_PLATFORM_BIN = +WORKSPACE_FSP_BIN = +EDK_SETUP_OPTION = +openssl_path = +PLATFORM_BOARD_PACKAGE = PurleyOpenBoardPkg +PROJECT = PurleyOpenBoardPkg/BoardTiogaPass +BOARD = BoardTiogaPass +FLASH_MAP_FDF = PurleyOpenBoardPkg/Include/Fdf/FlashMapInclude.fdf +PROJECT_DSC = PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc +BOARD_PKG_PCD_DSC = PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgPcd.dsc +ADDITIONAL_SCRIPTS = PurleyOpenBoardPkg/BoardTiogaPass/build_board.py +PRE_BUILD_LOG = prebuild.log +PRE_BUILD_REPORT = prebuildReport.log +PrepRELEASE = DEBUG +SILENT_MODE = FALSE +EXT_CONFIG_CLEAR = +CapsuleBuild = FALSE +EXT_BUILD_FLAGS = +CAPSULE_BUILD = 0 +TARGET = DEBUG +TARGET_SHORT = D +PERFORMANCE_BUILD = FALSE +FSP_WRAPPER_BUILD = FALSE +MAX_SOCKET = 2 diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/logo.txt b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/logo.txt new file mode 100644 index 0000000000..a6c208f49a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/logo.txt @@ -0,0 +1,10 @@ + + _________ ___ ________ ________ ________ ________ ________ ________ ________ +|\___ ___\ |\ \ |\ __ \ |\ ___ \ |\ __ \ |\ __ \ |\ __ \ |\ ____\ |\ ____\ +\|___ \ \_| \ \ \ \ \ \|\ \ \ \ \\|\__\ \ \ \|\ \ \ \ \|\ \ \ \ \|\ \ \ \ \___|_ \ \ \___|_ + \ \ \ \ \ \ \ \ \\\ \ \ \ \ _____ \ \ __ \ \ \ ____\ \ \ __ \ \ \_____ \ \ \_____ \ + \ \ \ \ \ \ \ \ \\\ \ \ \ \\___ \ \ \ \\\ \ \ \ \___| \ \ \\\ \ \|____|\ \ \|____|\ \ + \ \__\ \ \__\ \ \_______\ \ \ \\_\\ \ \ \__\\\__\ \ \__\ \ \__\\\__\ ____\_\ \ ____\_\ \ + \|__| \|__| \|_______| \ \________\ \|__| \|__| \|__| \|__| \|__| |\_________\ |\_________\ + \|________| \|_________| \|_________| + diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/postbuild.bat b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/postbuild.bat new file mode 100644 index 0000000000..c158be23b1 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/postbuild.bat @@ -0,0 +1,96 @@ +@REM @file +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +@REM Copyright (c) 2021, American Megatrends International LLC.<BR> +@REM SPDX-License-Identifier: BSD-2-Clause-Patent +@REM + +@set SCRIPT_ERROR=0 + +set /a postbuildstep=0 + +@echo. +@echo BoardPostBuild.%postbuildstep% python PatchBinFv.py +@set /a postbuildstep=%postbuildstep%+1 +echo python %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvTempMemorySilicon +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvTempMemorySilicon +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo PatchBinFv Error. Exit + goto :EOF +) +echo python %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPreMemorySilicon +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPreMemorySilicon +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo PatchBinFv Error. Exit + goto :EOF +) +echo python %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPostMemorySilicon +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPostMemorySilicon +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo PatchBinFv Error. Exit + goto :EOF +) +echo python %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvLateSilicon +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvLateSilicon +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo PatchBinFv Error. Exit + goto :EOF +) + +@echo. +@echo BoardPostBuild.%postbuildstep% python RebaseBinFv.py +@set /a postbuildstep=%postbuildstep%+1 +echo python %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\RebaseBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPreMemorySilicon gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\RebaseBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPreMemorySilicon gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo RebaseBinFv Error. Exit + goto :EOF +) + +echo python %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\RebaseBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPostMemorySilicon gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\RebaseBinFv.py %TARGET% %WORKSPACE%\edk2-non-osi\Silicon\Intel\PurleySiliconBinPkg\FV %WORKSPACE%\Build\BuildReport.txt FvPostMemorySilicon gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo RebaseBinFv Error. Exit + goto :EOF +) + +@echo. +@echo BoardPostBuild.%postbuildstep% re-generate FDS +@set /a postbuildstep=%postbuildstep%+1 +echo build fds +@REM call build fds +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo gen FDS Error. Exit + goto :EOF +) + +@echo. +@echo BoardPostBuild.%postbuildstep% python PatchBfv.py +@set /a postbuildstep=%postbuildstep%+1 +echo python %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBfv.py %WORKSPACE%\Build\%BOARD_PKG%\%BOARD_NAME%\%TARGET%_%TOOL_CHAIN_TAG%\FV\PLATFORM.fd %WORKSPACE%\Build\BuildReport.txt gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemoryBase +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\PatchFv\PatchBfv.py %WORKSPACE%\Build\%BOARD_PKG%\%BOARD_NAME%\%TARGET%_%TOOL_CHAIN_TAG%\FV\PLATFORM.fd %WORKSPACE%\Build\BuildReport.txt gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemoryBase +if %ERRORLEVEL% NEQ 0 ( + set SCRIPT_ERROR=1 + echo PatchBfv Error. Exit + goto :EOF +) + +:_done + +@echo. +@cd %WORKSPACE% +@if "%SCRIPT_ERROR%" == "0" ( + @echo PostBuild SUCCEEDED. +) else ( + @echo PostBuild FAILED. + Pause 0 +) + +EXIT /B %SCRIPT_ERROR% diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/prebuild.bat b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/prebuild.bat new file mode 100644 index 0000000000..f0ea157482 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/prebuild.bat @@ -0,0 +1,213 @@ +@REM @file +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +@REM Copyright (c) 2021, American Megatrends International LLC.<BR> +@REM SPDX-License-Identifier: BSD-2-Clause-Patent +@REM + +@set SCRIPT_ERROR=0 + +set /a prebuildstep=0 + +call :check_BuildTools +if %SCRIPT_ERROR% NEQ 0 GOTO :done + +call :setBuildEnv +if %SCRIPT_ERROR% NEQ 0 GOTO :done + +call :createTargetTxt +if %SCRIPT_ERROR% NEQ 0 GOTO :done + +call :genPlatformOffsetHeaderFile +if %SCRIPT_ERROR% NEQ 0 GOTO :done + +:prebuildFinish +echo. +echo ACTIVE_PLATFORM = %WORKSPACE%\edk2-platforms\Platform\Intel\%BOARD_PKG%\%BOARD_NAME%\OpenBoardPkg.dsc +echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH% +echo TARGET = %TARGET% +echo TARGET_ARCH = IA32 X64 +echo TOOL_CHAIN_TAG = %TOOL_CHAIN_TAG% +echo WORKSPACE = %WORKSPACE% +echo PACKAGES_PATH = %PACKAGES_PATH% +echo MAX_CONCURRENT_THREAD_NUMBER = %BUILD_MAX_CON_THREAD_NUM% +echo. +echo Build Path = %OUTPUT_DIR% +echo. + +REM Remove environment variable because it's no longer needed. +set BUILD_MAX_CON_THREAD_NUM= + +:done +REM Use done label to exit batch file and run any final steps; GOTO :EOF immediately exits. +EXIT /B %SCRIPT_ERROR% + +::-------------------------------------------------------- +::-- Function section starts below here +::-------------------------------------------------------- + +:cleanup_check_VSTools +set COMPILER_VERSION_STRING= +del cloutput.txt > nul +REM cleanup_check_VSTools is called below. When a label is called, 'GOTO :EOF' is used to return to caller. +GOTO :EOF + +:check_BuildTools +echo PreBuild.%prebuildstep% check_BuildTools +echo ..VSTools +set /a prebuildstep=%prebuildstep%+1 +set TOOL_CHAIN_TAG= +@if not defined TOOL_CHAIN_TAG ( + echo. + echo Prebuild: TOOL_CHAIN_TAG is not set before + echo. + + @if defined VS140COMNTOOLS ( + echo. + echo Set the VS2015 environment. + echo. + set CL_SEL=VS2015 + if /I "%VS140COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 14.0\Common7\Tools\" ( + set TOOL_CHAIN_TAG=VS2015 + ) else ( + set TOOL_CHAIN_TAG=VS2015x86 + ) + if /I "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( + set CL_CMDLINE="%VS140COMNTOOLS:~0,-14%VC\bin\amd64\cl.exe" + ) else ( + set CL_CMDLINE="%VS140COMNTOOLS:~0,-14%VC\bin\cl.exe" + ) + ) else if defined VS120COMNTOOLS ( + echo. + echo Set the VS2013 environment. + echo. + set CL_SEL=VS2013 + if /I "%VS120COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\" ( + set TOOL_CHAIN_TAG=VS2013 + ) else ( + set TOOL_CHAIN_TAG=VS2013x86 + ) + if /I "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( + set CL_CMDLINE="%VS120COMNTOOLS:~0,-14%VC\bin\amd64\cl.exe" + ) else ( + set CL_CMDLINE="%VS120COMNTOOLS:~0,-14%VC\bin\cl.exe" + ) + ) else ( + echo. + echo !!! ERROR !!! VS2015 or VS2013 not installed correctly. !!! + echo. + goto :ErrorExit + ) +) + +echo ..iASL +set CHECK_PATH_IASL=%IASL_PREFIX% +if not exist %CHECK_PATH_IASL%\iasl.exe ( + echo. + echo !!! ERROR !!! Could not find iASL compiler at %CHECK_PATH_IASL%\iasl.exe. !!! + echo. + set SCRIPT_ERROR=1 +) +set CHECK_PATH_IASL= + +echo ..NASM +set CHECK_PATH_NASM=c:\NASM +if not exist %CHECK_PATH_NASM%\nasm.exe ( + echo. + echo !!! ERROR !!! Could not find NASM compiler at %CHECK_PATH_NASM%\nasm.exe. !!! + echo. + set SCRIPT_ERROR=1 +) +set CHECK_PATH_NASM= + +echo ..Python +set CHECK_PATH_PYTHON=c:\Python27 +if not exist %CHECK_PATH_PYTHON%\python.exe ( + echo. + echo !!! ERROR !!! Could not find Python at %CHECK_PATH_PYTHON%\python.exe. !!! + echo. + set SCRIPT_ERROR=1 +) +set CHECK_PATH_PYTHON= +set PYTHON_HOME=C:\Python27 + +GOTO :EOF + +:setBuildEnv +echo PreBuild.%prebuildstep% SetBuildEnv +set /a prebuildstep=%prebuildstep%+1 + +@set BOARD_PKG=PurleyOpenBoardPkg +@set BOARD_NAME=BoardTiogaPass +@set MAX_SOCKET=2 + +echo. +echo BOARD_NAME=%BOARD_NAME% +echo BOARD_PKG=%BOARD_PKG% +echo MAX_SOCKET=%MAX_SOCKET% +echo TARGET=%TARGET% + +@set OUTPUT_DIR=%WORKSPACE%\Build\%BOARD_PKG%\%BOARD_NAME%\%TARGET%_%TOOL_CHAIN_TAG% + +if not exist %OUTPUT_DIR% mkdir %OUTPUT_DIR% +GOTO :EOF + +:createTargetTxt +echo PreBuild.%prebuildstep% CreateTargetTxt +set /a prebuildstep=%prebuildstep%+1 +set /a BUILD_MAX_CON_THREAD_NUM = %NUMBER_OF_PROCESSORS%-1 +@REM set /a BUILD_MAX_CON_THREAD_NUM = 1 +findstr /V "ACTIVE_PLATFORM TARGET TARGET_ARCH TOOL_CHAIN_TAG BUILD_RULE_CONF MAX_CONCURRENT_THREAD_NUMBER" %WORKSPACE%\Conf\target.txt > %OUTPUT_DIR%\target.txt 2>NUL +echo ACTIVE_PLATFORM = %WORKSPACE%/edk2-platforms/Platform/Intel/%BOARD_PKG%/%BOARD_NAME%/OpenBoardPkg.dsc >> %OUTPUT_DIR%\target.txt +echo TARGET = %TARGET% >> %OUTPUT_DIR%\target.txt +echo TARGET_ARCH = IA32 X64 >> %OUTPUT_DIR%\target.txt +echo TOOL_CHAIN_TAG = %TOOL_CHAIN_TAG% >> %OUTPUT_DIR%\target.txt +echo BUILD_RULE_CONF = Conf/build_rule.txt >> %OUTPUT_DIR%\target.txt +echo MAX_CONCURRENT_THREAD_NUMBER = %BUILD_MAX_CON_THREAD_NUM% >> %OUTPUT_DIR%\target.txt +if exist %WORKSPACE%\Conf\target.txt ( + del /f %WORKSPACE%\Conf\target.txt +) +move /Y %OUTPUT_DIR%\target.txt %WORKSPACE%\Conf\ > nul +if not exist %OUTPUT_DIR%\X64 mkdir %OUTPUT_DIR%\X64 +GOTO :EOF + + +:genPlatformOffsetHeaderFile +echo. +echo PreBuild.%prebuildstep% GenPlatformOffsetHeaderFile +set /a prebuildstep=%prebuildstep%+1 + +echo Info: re-generating PlatformOffset header files + +set PRE_BUILD_CMD_LINE=%BUILD_CMD_LINE% -D MAX_SOCKET=%MAX_SOCKET% +set PRE_BUILD_LOG=%WORKSPACE%\Build\prebuild.log +set PRE_BUILD_REPORT=%WORKSPACE%\Build\preBuildReport.txt + +echo build %PRE_BUILD_CMD_LINE% -m %BOARD_PKG%\Acpi\BoardAcpiDxe\Dsdt.inf -y %PRE_BUILD_REPORT% --log=%PRE_BUILD_LOG% +call build %PRE_BUILD_CMD_LINE% -m %BOARD_PKG%\Acpi\BoardAcpiDxe\Dsdt.inf -y %PRE_BUILD_REPORT% --log=%PRE_BUILD_LOG% +if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL% + +@REM PSYS == FIX0 +@REM MCTL == FIX8 +set AML_FILTER="\"PSYS\" .MCTL\" .FIX[0-9,A-Z]\"" +echo AML_FILTER=%AML_FILTER% +call %PYTHON_HOME%\python.exe %WORKSPACE%\edk2-platforms\Platform\Intel\MinPlatformPkg\Tools\AmlGenOffset\AmlGenOffset.py -d --aml_filter %AML_FILTER% -o %WORKSPACE%\edk2-platforms\Platform\Intel\%BOARD_PKG%\Acpi\BoardAcpiDxe\AmlOffsetTable.c %OUTPUT_DIR%\X64\PurleyOpenBoardPkg\Acpi\BoardAcpiDxe\DSDT\OUTPUT\Dsdt\WFPPlatform.offset.h +@REM Create copyright header for AML offset file +( + echo /** @file + echo Copyright ^(c^) 2018 - 2019, Intel Corporation. All rights reserved.^<BR^> + echo Copyright ^(c^) 2021, American Megatrends International LLC.^<BR^> + echo SPDX-License-Identifier: BSD-2-Clause-Patent + echo. + echo **/ + echo. +)> %OUTPUT_DIR%\TempCopyright.txt +@REM Concatenate copyright and AmlOffsetTable, then delete temporary files +copy /Y "%OUTPUT_DIR%\TempCopyright.txt" + "%WORKSPACE%\edk2-platforms\Platform\Intel\%BOARD_PKG%\Acpi\BoardAcpiDxe\AmlOffsetTable.c" "%OUTPUT_DIR%\AmlOffsetTable.c" > nul +copy /Y "%OUTPUT_DIR%\AmlOffsetTable.c" "%WORKSPACE%\edk2-platforms\Platform\Intel\%BOARD_PKG%\Acpi\BoardAcpiDxe\AmlOffsetTable.c" > nul +del /f %OUTPUT_DIR%\TempCopyright.txt > nul +del /f %OUTPUT_DIR%\AmlOffsetTable.c > nul +echo. +echo GenOffset done + +GOTO :EOF \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiLibKcs/IpmiLibKcs.inf b/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiLibKcs/IpmiLibKcs.inf index 239e115ad4..f56631fe9e 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiLibKcs/IpmiLibKcs.inf +++ b/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiLibKcs/IpmiLibKcs.inf @@ -1,8 +1,8 @@ ## @file # Component description file for IPMI KCS Library. # -# Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR> -# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -13,7 +13,7 @@ FILE_GUID = 9879DB3A-C2CD-4615-ACDA-95C1B2EC00B3 MODULE_TYPE = UEFI_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = IpmiLib + LIBRARY_CLASS = IpmiBaseLib [sources] IpmiLibKcs.c @@ -22,7 +22,7 @@ [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec + OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec PurleyOpenBoardPkg/OpenBoardPkg.dec [LibraryClasses] @@ -37,4 +37,4 @@ [Pcd] gEfiIpmiPkgTokenSpaceGuid.PcdIpmiKcsTimeoutPeriod gEfiIpmiPkgTokenSpaceGuid.PcdIpmiBmcSlaveAddress - gAdvancedFeaturePkgTokenSpaceGuid.PcdIpmiIoBaseAddress \ No newline at end of file + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiIoBaseAddress \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiPlatformHookLib/IpmiPlatformHookLib.inf b/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiPlatformHookLib/IpmiPlatformHookLib.inf index 94ab840a02..2bfddce611 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiPlatformHookLib/IpmiPlatformHookLib.inf +++ b/Platform/Intel/PurleyOpenBoardPkg/Features/Ipmi/Library/IpmiPlatformHookLib/IpmiPlatformHookLib.inf @@ -1,8 +1,8 @@ ## @file # Component description file for IPMI platform hook Library. # -# Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR> -# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -20,7 +20,7 @@ [Packages] MdePkg/MdePkg.dec - AdvancedFeaturePkg/AdvancedFeaturePkg.dec + OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec PurleyRefreshSiliconPkg/SiPkg.dec [LibraryClasses] diff --git a/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/PchRcVariable.h b/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/PchRcVariable.h index 79b7429052..916562e3b2 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/PchRcVariable.h +++ b/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/PchRcVariable.h @@ -1,6 +1,7 @@ /** @file Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -20,6 +21,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent typedef struct { UINT8 BiosGuard; + UINT8 Reserved1; UINT8 Dwr_Enable; UINT8 Dwr_Stall; UINT8 Dwr_BmcRootPort; @@ -387,6 +389,10 @@ typedef struct { UINT8 AdrMultiplierVal; UINT8 AdrGpioSel; UINT8 AdrHostPartitionReset; + UINT8 AdrSysPwrOk; + UINT8 AdrOverClockingWdt; + UINT8 AdrCpuThermalWdt; + UINT8 AdrPmcParityError; // // Audio DSP Configuration diff --git a/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/SetupVariable.h b/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/SetupVariable.h index f8ea067b50..ed6077b4ee 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/SetupVariable.h +++ b/Platform/Intel/PurleyOpenBoardPkg/Include/Guid/SetupVariable.h @@ -1,6 +1,7 @@ /** @file Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -42,6 +43,13 @@ typedef struct { UINT8 TpmState; UINT8 MorState; + // + // XmlCli + // + UINT8 XmlCliSupport; + UINT8 SkipXmlComprs; + UINT8 PublishSetupPgPtr; + // // Breakpoints // @@ -493,7 +501,6 @@ typedef struct { UINT8 BClkOverride; UINT8 BclkAdjustable; UINT8 DmiPegRatio; - UINT8 SkipXmlComprs; UINT8 DfxAdvDebugJumper; UINT8 DfxAltPostCode; @@ -519,6 +526,12 @@ typedef struct { // PC_SIO_END // UINT8 RsaSupport; + UINT8 FnvErrorMailbox; // 0 - DDRT, 1 - SMBUS + UINT8 ReportAlertSPA; // Include SPA when reporting DDRT alert. Only to disable for MCE recovery test. + UINT8 AEPErrorInjEn; + UINT8 NgnHostAlertPatrolScrubUNC; // Signal DDRT interrupt upon receiving Uncorrectable Error for NGN Patrol Scrub + UINT8 DcpmmUncPoison; + UINT8 UCErrChkForVariableSrv; } SYSTEM_CONFIGURATION; diff --git a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec index 96dd6b5b48..4dcec5430b 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec +++ b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec @@ -6,6 +6,7 @@ # for the build infrastructure. # # Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index ede542f9f5..e3baf9a11d 100644 --- a/Platform/Intel/build.cfg +++ b/Platform/Intel/build.cfg @@ -2,6 +2,7 @@ # This is the main/default build configuration file # # Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -62,3 +63,4 @@ UpXtreme = WhiskeylakeOpenBoardPkg/UpXtreme/build_config.cfg WhiskeylakeURvp = WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg CometlakeURvp = CometlakeOpenBoardPkg/CometlakeURvp/build_config.cfg TigerlakeURvp = TigerlakeOpenBoardPkg/TigerlakeURvp/build_config.cfg +BoardTiogaPass = PurleyOpenBoardPkg/BoardTiogaPass/build_config.cfg diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index 8f855f63eb..b55f315f6a 100644 --- a/Platform/Intel/build_bios.py +++ b/Platform/Intel/build_bios.py @@ -4,6 +4,7 @@ # imported functions from board directory # # Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -130,7 +131,7 @@ def pre_build(build_config, build_type="DEBUG", silent=False, toolchain=None): config["PACKAGES_PATH"] += os.pathsep + filepath config["PACKAGES_PATH"] += os.pathsep + config["WORKSPACE_DRIVERS"] config["PACKAGES_PATH"] += os.pathsep + \ - os.path.join(config["WORKSPACE"], "FSP") + os.path.join(config["WORKSPACE"], config["WORKSPACE_FSP_BIN"]) config["PACKAGES_PATH"] += os.pathsep + \ os.path.join(config["WORKSPACE"], "edk2") config["PACKAGES_PATH"] += os.pathsep + os.path.join(config["WORKSPACE"]) -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [edk2-non-osi][PATCH] PurleySiliconBinPkg : FV binaries derived from Purley Refresh RC version RC610D02 2021-06-17 0:51 [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi] [PATCH] ASpeed : ASpeedGopBinPkg : Add X64 ASpeedAst2500Gop UEFI Driver Nate DeSimone 2021-06-17 0:51 ` [edk2-platforms] [PATCH V1 1/2] PurleyOpenBoardPkg : Support for TiogaPass Platform Nate DeSimone @ 2021-06-17 0:51 ` Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi][PATCH] PurleySiliconBinPkg : Microcode udpates for latest SKX/CLX CPU Nate DeSimone ` (2 subsequent siblings) 5 siblings, 0 replies; 11+ messages in thread From: Nate DeSimone @ 2021-06-17 0:51 UTC (permalink / raw) To: devel Cc: manickavasakam karpagavinayagam, Isaac Oram, Felix Polyudov, Harikrishna Doppalapudi, Manish Jha, Zachary Bobroff From: manickavasakam karpagavinayagam <manickavasakamk@ami.com> FvLateSilicon,FvPostMemorySilicon and FvPreMemorySilicon binaries built based on Purley Refresh RC version RC610D02 Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv | Bin 663512 -> 786432 bytes Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv.txt | 34 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FvLateSilicon.inf | 710 ++++++++++++++++++-- Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv | Bin 429688 -> 524288 bytes Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv.txt | 34 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FvLateSilicon.inf | 677 ++++++++++++++++++- Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv | Bin 196608 -> 131072 bytes Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt | 6 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf | 24 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv | Bin 196608 -> 131072 bytes Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv.txt | 6 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FvPostMemorySilicon.inf | 22 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv | Bin 1245184 -> 2293760 bytes Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv.txt | 13 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FvPreMemorySilicon.inf | 442 +++++++++++- Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv | Bin 1245184 -> 2293760 bytes Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv.txt | 13 +- Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FvPreMemorySilicon.inf | 424 +++++++++++- 18 files changed, 2267 insertions(+), 138 deletions(-) diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv index dc88d4f9dc050be1f8520055c2191eba3cdbde31..0a1fb1be6d6f1c9c55c017faf0a7d926d9802ecb 100644 GIT binary patch literal 786432 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	-mHZhl14hsqGYQShuK_kbE#^r+B!A{KsHc8 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≜wJ&?+B*z5$p85&<<UN$J$w%(|gnka@Q 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 Ye3s#_FCH6y)f2m77KmBkOR~WK0}|qNI{*Lx literal 663512 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%0A#EQm#Y1ije0GJU6s3LlZd#bMBHRfoJ~&A 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	YWR#8^lD1s8eleN5ymv<8z_i^U~8 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�P>t@OrlCoBwcb>C>yuE&YaP&Mp0cf1F$T#QR#O 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⩔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 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv.txt index 7ae272a..683f3c5 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv.txt +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FVLATESILICON.Fv.txt @@ -1,17 +1,19 @@ -EFI_FV_TOTAL_SIZE = 0xa1fd8 -EFI_FV_TAKEN_SIZE = 0xa1fd8 +EFI_FV_TOTAL_SIZE = 0xc0000 +EFI_FV_TAKEN_SIZE = 0xbfca0 0x00000078 56D60EE4-5CCF-485C-BBBB-FEDAE2B24146 -0x00004AF0 D96A2393-8790-4BAA-9CEB-42533F016EE9 -0x00009788 62D171CB-78CD-4480-8678-C6A2A797A8DE -0x00015588 40BEAB40-CECE-4909-B133-20A413AE19E9 -0x00039BD0 274F0C8F-9E57-41D8-9966-29CCD48D31C2 -0x0003C0D0 A3FF0EF5-0C28-42F5-B544-8C7DE1E80014 -0x00051770 06D20D84-A032-4E25-969A-346D255E46D1 -0x00056BF8 870E0F5A-1981-45F6-AE26-0391425CC46F -0x0005C298 63809859-F029-41C3-9F34-EEEB9EA787A5 -0x000687B8 D58EBCE1-AF26-488D-BE66-C164417F8C13 -0x000701E8 DE23ACEE-CF55-4FB6-AA77-984AB53DE823 -0x00083CB0 B0D6ED53-B844-43F5-BD2F-61095264E77E -0x00091D98 D7B10D4E-67E6-4C74-83E9-F9AF0ACC33CC -0x0009B0C0 A0BAD9F7-AB78-491B-B583-C52B7F84B9E0 -0x0009E330 27F4917B-A707-4AAD-9676-26DF168CBF0D +0x00005AF0 D96A2393-8790-4BAA-9CEB-42533F016EE9 +0x0000C748 62D171CB-78CD-4480-8678-C6A2A797A8DE +0x00016CC8 76A7B4FC-C8D5-462D-A4D2-6E88338A772A +0x0001F0C0 40BEAB40-CECE-4909-B133-20A413AE19E9 +0x00044BB0 274F0C8F-9E57-41D8-9966-29CCD48D31C2 +0x00048310 A3FF0EF5-0C28-42F5-B544-8C7DE1E80014 +0x0005BC30 06D20D84-A032-4E25-969A-346D255E46D1 +0x000624B8 870E0F5A-1981-45F6-AE26-0391425CC46F +0x00069058 63809859-F029-41C3-9F34-EEEB9EA787A5 +0x000770B8 D58EBCE1-AF26-488D-BE66-C164417F8C13 +0x00081068 3FFCAE95-23CF-4967-94F5-16352F68E43B +0x00088988 DE23ACEE-CF55-4FB6-AA77-984AB53DE823 +0x0009D8B0 B0D6ED53-B844-43F5-BD2F-61095264E77E +0x000AC058 D7B10D4E-67E6-4C74-83E9-F9AF0ACC33CC +0x000B6EA0 A0BAD9F7-AB78-491B-B583-C52B7F84B9E0 +0x000BAF10 27F4917B-A707-4AAD-9676-26DF168CBF0D diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FvLateSilicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FvLateSilicon.inf index d64a339..bd86c2f 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FvLateSilicon.inf +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/DEBUG/FvLateSilicon.inf @@ -66,9 +66,9 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x4124 # 0x4068+0xbc + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x50F4 - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x40ec # 0x4030+0xbc + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x50CC # [Protocols.X64] @@ -302,9 +302,9 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x8dc0 # 0x4268+0x4b58 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xBE40 - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x8d88 # 0x4230+0x4b58 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0xBE08 # [Protocols.X64] @@ -540,7 +540,10 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x1493c # 0xB180+0x97bc + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x1616C + + ## SOMETIMES_CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0x00000000|0x162FC # [Protocols.X64] @@ -756,6 +759,332 @@ # # be modified by the user, subject to additional terms of the # # license agreement # # +# +# This file contains an 'Intel Peripheral Driver' and is +# licensed for Intel CPUs and chipsets under the terms of your +# license agreement with Intel or your vendor. This file may +# be modified by the user, subject to additional terms of the +# license agreement +# +## @file +# Component description file for Platform CPU Policy DXE Driver. +# +# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> +# +# This software and associated documentation (if any) is furnished +# under a license and may only be used or copied in accordance +# with the terms of the license. Except as permitted by such +# license, no part of this software or documentation may be +# reproduced, stored in a retrieval system, or transmitted in any +# form or by any means without the express written consent of +# Intel Corporation. +# +# +## + +# DO NOT EDIT +# FILE auto-generated + +#[Defines] +# INF_VERSION = 0x00010017 +# BASE_NAME = PlatformCpuPolicy +# FILE_GUID = 76A7B4FC-C8D5-462d-A4D2-6E88338A772A +# MODULE_TYPE = DXE_DRIVER +# VERSION_STRING = 1.0 +# ENTRY_POINT = PlatformCpuPolicyEntryPoint + +[Packages.X64] + MdePkg/MdePkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + PurleyRefreshSiliconPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec + +#[Binaries.X64] +# PE32|PlatformCpuPolicy.efi +# DXE_DEPEX|PlatformCpuPolicy.depex + +[PatchPcd.X64] + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x1CAE4 + +#[Protocols.X64] +# gIntelCpuPcdsSetDoneProtocolGuid + +# gEfiPlatformTypeProtocolGuid + + # PROTOCOL ALWAYS_CONSUMED +# gEfiCpuCsrAccessGuid + +# gEfiDxeSystemBoardProtocolGuid + + ## SOMETIMES_CONSUMES +# gPcdProtocolGuid + + ## CONSUMES +# gEfiPcdProtocolGuid + + ## SOMETIMES_CONSUMES +# gGetPcdInfoProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGetPcdInfoProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiDevicePathProtocolGuid + + ## UNDEFINED +# gEfiDebugPortProtocolGuid + + ## SOMETIMES_PRODUCES +# gEfiDriverBindingProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleTextOutProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGraphicsOutputProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiHiiFontProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleFileSystemProtocolGuid + + ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uninstalled +# gEfiUgaDrawProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentNameProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentName2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfigurationProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfiguration2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnosticsProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnostics2ProtocolGuid + +# gEfiSmmCpuIo2ProtocolGuid + + ## CONSUMES +# gUsraProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiLoadedImageProtocolGuid + +# gEfiSmmBase2ProtocolGuid + + +[Ppis.X64] + +#[Guids.X64] +# gEfiSetupVariableGuid + +# gEfiSocketMemoryVariableGuid + +# gEfiSocketPowermanagementVarGuid + +# gEfiSocketProcessorCoreVarGuid + +# gBiosGuardHobGuid + +# gEfiEndOfDxeEventGroupGuid + +# gEfiCpuTokenSpaceGuid + +# gPlatformTokenSpaceGuid + +# gPlatformGpioConfigGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVTUTF8Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100PlusGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPcAnsiGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiUartDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiSasDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualCdGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualCdGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventReadyToBootGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventLegacyBootGuid + + ## SOMETIMES_CONSUMES ## Variable +# gEfiGlobalVariableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi20TableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi10TableGuid + + ## CONSUMES ## SystemTable +# gEfiDxeServicesTableGuid + + ## CONSUMES ## SystemTable +# gEfiHobListGuid + +# gEfiSocketIioVariableGuid + +# gEfiSocketCommonRcVariableGuid + +# gEfiSocketMpLinkVariableGuid + +# gEfiPchRcVariableGuid + +# gEfiMeRcVariableGuid + +# gEfiIeRcVariableGuid + +# gFpgaSocketVariableGuid + + +[PcdEx.X64] + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfiguration + + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfigurationEx1 + + gEfiCpuTokenSpaceGuid.PcdCpuEnergyPolicy + + gEfiCpuTokenSpaceGuid.PcdCpuAcpiLvl2Addr + + gEfiCpuTokenSpaceGuid.PcdCpuPackageCStateLimit + + gEfiCpuTokenSpaceGuid.PcdCpuCoreCStateValue + + gEfiCpuTokenSpaceGuid.PcdCpuClockModulationDutyCycle + + gEfiCpuTokenSpaceGuid.PcdCpuHwCoordination + + gEfiCpuTokenSpaceGuid.PcdPlatformCpuSocketCount + + gEfiCpuTokenSpaceGuid.PcdPlatformCpuSocketNames + + gEfiCpuTokenSpaceGuid.PcdPlatformCpuAssetTags + + gEfiCpuTokenSpaceGuid.PcdIsPowerOnReset + + gEfiCpuTokenSpaceGuid.PcdCpuDcuMode + + gEfiCpuTokenSpaceGuid.PcdCpuTurboOverride + + gEfiCpuTokenSpaceGuid.PcdCpuProcessorMsrLockCtrl + + gEfiCpuTokenSpaceGuid.PcdCpuIioLlcWaysBitMask + + gEfiCpuTokenSpaceGuid.PcdCpuExpandedIioLlcWaysBitMask + + gEfiCpuTokenSpaceGuid.PcdPchTraceHubEn + + gEfiCpuTokenSpaceGuid.PcdCpuQlruCfgBitMask + + gEfiCpuTokenSpaceGuid.PcdSbspSelection + + gEfiCpuTokenSpaceGuid.PcdCpuPmStructAddr + + gEfiCpuTokenSpaceGuid.PcdCpuSocketId + + gEfiCpuTokenSpaceGuid.PcdCpuSmmMsrSaveStateEnable + + gEfiCpuTokenSpaceGuid.PcdCpuSmmProtectedModeEnable + + gEfiCpuTokenSpaceGuid.PcdCpuRemoteWaysBitMask + + gEfiCpuTokenSpaceGuid.PcdCpuRRQCountThreshold + + gEfiCpuTokenSpaceGuid.PcdCpuSmmRuntimeCtlHooks + + gPlatformTokenSpaceGuid.PcdSyshostMemoryAddress + + +#[LibraryClasses.X64] +## @LIB_INSTANCES +# MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDecodingLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf +# MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf +# PurleyPlatPkg/Library/PlatformHooksLib/PlatformHooksLib.inf +# MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +# MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf +# MdePkg/Library/BaseLib/BaseLib.inf +# MdePkg/Library/DxePcdLib/DxePcdLib.inf +# MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf +# MdePkg/Library/BasePrintLib/BasePrintLib.inf +# PurleyPlatPkg/Library/SerialPortLib/SerialPortLib.inf +# MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf +# MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf +# MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf +# MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf +# MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf +# MdePkg/Library/UefiLib/UefiLib.inf +# MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf +# CpRcPkg/Library/DxeMmPciBaseLib/DxeMmPciBaseLib.inf +# MdePkg/Library/DxeHobLib/DxeHobLib.inf +# MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf +# PurleyRpPkg/Library/SetupLib/DxeSetupLib.inf + +#[Depex.X64] +# (gEfiVariableArchProtocolGuid AND gEfiPlatformTypeProtocolGuid AND gEfiCpuCsrAccessGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gUsraProtocolGuid) AND (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) AND (TRUE) + + + + + +#[BuildOptions.X64] +## @AsBuilt +## MSFT:DEBUG_VS2015x86_X64_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE +## MSFT:DEBUG_VS2015x86_X64_GENFW_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_SLINK_FLAGS = /NOLOGO /LTCG +## MSFT:DEBUG_VS2015x86_X64_OBJCOPY_FLAGS = objcopy not needed for +## MSFT:DEBUG_VS2015x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi +## MSFT:DEBUG_VS2015x86_X64_ASMLINK_FLAGS = /nologo /tiny +## MSFT:DEBUG_VS2015x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 /wd4819 +## MSFT:DEBUG_VS2015x86_X64_VFR_FLAGS = -n +## MSFT:DEBUG_VS2015x86_X64_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_APP_FLAGS = /nologo /E /TC -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_NASM_FLAGS = -Ox -f win64 -g +## MSFT:DEBUG_VS2015x86_X64_OPTROM_FLAGS = -e +## MSFT:DEBUG_VS2015x86_X64_MAKE_FLAGS = /nologo +## MSFT:DEBUG_VS2015x86_X64_SYMRENAME_FLAGS = Symbol renaming not needed for +## MSFT:DEBUG_VS2015x86_X64_PP_FLAGS = /nologo /E /TC /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +## MSFT:DEBUG_VS2015x86_X64_ASL_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_NASMB_FLAGS = -f bin # ## @file # # CPU MP DXE Driver. # # @@ -800,7 +1129,10 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x27f98 # 0x12970+0x15628 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x32E14 + + ## SOMETIMES_CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0x00000000|0x32F84 # [Protocols.X64] @@ -1259,7 +1591,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x3bd78 # 0x2150+0x39c28 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x47F48 # [Protocols.X64] @@ -1476,16 +1808,19 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x50108 # 0x13FD0+0x3c138 + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseDelayIndication|0x00|0x59BF9 ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseSmmEnableIndication|0x00|0x50518 # 0x143E0+0x3c138 + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseBlockIndication|0x00|0x59C00 ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseDelayIndication|0x00|0x50519 # 0x143E1+0x3c138 + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseSmmEnableIndication|0x00|0x59BF8 ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseBlockIndication|0x00|0x5051a # 0x143E2+0x3c138 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x59778 + + ## SOMETIMES_CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0x00000000|0x59BFC # [Protocols.X64] @@ -1648,7 +1983,23 @@ gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_PRODUCES - gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress + gEfiCpuTokenSpaceGuid.PcdCpuHotPlugDataAddress + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuSmmMsrSaveStateEnable + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuSmmProtectedModeEnable + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuSmmRuntimeCtlHooks + + ## SOMETIMES_PRODUCES + ## SOMETIMES_CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer # [LibraryClasses.X64] @@ -1761,7 +2112,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x56428 # 0x4C60+0x517c8 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x61CB8 # [Protocols.X64] @@ -1986,7 +2337,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x5bac0 # 0x4E60+0x56c60 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x687D0 # [Protocols.X64] @@ -2208,9 +2559,9 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x64dc8 # 0x8AD8+0x5c2f0 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x73578 - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x64d80 # 0x8A90+0x5c2f0 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x73540 # [Protocols.X64] @@ -2354,23 +2705,14 @@ # # [PcdEx.X64] - gOemSkuTokenSpaceGuid.PcdSetupData - - gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData - - gOemSkuTokenSpaceGuid.PcdSocketIioConfigData - - gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData - - gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData - - gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData - - gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr - gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + ## SOMETIMES_PRODUCES + ## SOMETIMES_CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal - gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer # [LibraryClasses.X64] @@ -2476,7 +2818,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x6fc14 # 0x73E0+0x68834 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x80784 # [Protocols.X64] @@ -2656,6 +2998,298 @@ # ## MSFT:DEBUG_VS2015x86_X64_MAKE_FLAGS = /nologo # ## MSFT:DEBUG_VS2015x86_X64_ASMLINK_FLAGS = /nologo /tiny # ## MSFT:DEBUG_VS2015x86_X64_NASM_FLAGS = -Ox -f win64 -g +# +# This file contains an 'Intel Peripheral Driver' and is +# licensed for Intel CPUs and chipsets under the terms of your +# license agreement with Intel or your vendor. This file may +# be modified by the user, subject to additional terms of the +# license agreement +# +## @file +# Component description file for CPU MP DXE Driver. +# +# CPU DXE Driver that configures multi-processor environment, logs data to datahub +# for processor subclass and cache subclass, and installs CPU Architecture Protocol and MP +# Services Protocol +# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> +# +# This software and associated documentation (if any) is furnished +# under a license and may only be used or copied in accordance +# with the terms of the license. Except as permitted by such +# license, no part of this software or documentation may be +# reproduced, stored in a retrieval system, or transmitted in any +# form or by any means without the express written consent of +# Intel Corporation. +# +# +## + +# DO NOT EDIT +# FILE auto-generated + +#[Defines] +# INF_VERSION = 0x00010017 +# BASE_NAME = PpmInitialize +# FILE_GUID = 3FFCAE95-23CF-4967-94F5-16352F68E43B +# MODULE_TYPE = DXE_DRIVER +# VERSION_STRING = 1.0 +# ENTRY_POINT = PpmInitializeEntry + +[Packages.X64] + PurleyRefreshSiliconPkg/SiPkg.dec + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +#[Binaries.X64] +# PE32|PpmInitialize.efi +# DXE_DEPEX|PpmInitialize.depex + +[PatchPcd.X64] + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x882C4 + +#[Protocols.X64] + # PROTOCOL ALWAYS_CONSUMED +# gEfiPciCallbackProtocolGuid + + # PROTOCOL ALWAYS_CONSUMED +# gEfiCpuCsrAccessGuid + +# gEfiCpuPpmProtocolGuid + +# gEfiIioSystemProtocolGuid + + # PROTOCOL PRODUCED +# gEfiIssConfigInfoProtocolGuid + +# gEfiRsaBmcCommandsProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiDevicePathProtocolGuid + + ## UNDEFINED +# gEfiDebugPortProtocolGuid + + ## CONSUMES +# gEfiStatusCodeRuntimeProtocolGuid + + ## SOMETIMES_CONSUMES +# gPcdProtocolGuid + + ## CONSUMES +# gEfiPcdProtocolGuid + + ## SOMETIMES_CONSUMES +# gGetPcdInfoProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGetPcdInfoProtocolGuid + + ## SOMETIMES_PRODUCES +# gEfiDriverBindingProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleTextOutProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGraphicsOutputProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiHiiFontProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleFileSystemProtocolGuid + + ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uninstalled +# gEfiUgaDrawProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentNameProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentName2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfigurationProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfiguration2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnosticsProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnostics2ProtocolGuid + +# gEfiSmmCpuIo2ProtocolGuid + + ## CONSUMES +# gUsraProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiLoadedImageProtocolGuid + + +#[Ppis.X64] + +#[Guids.X64] +# gEfiPlatformInfoGuid + +# gEfiEndOfDxeEventGroupGuid + +# gEfiMemoryMapGuid + +# gEfiSocketCommonRcVariableGuid + +# gEfiCpuTokenSpaceGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVTUTF8Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100PlusGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPcAnsiGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiUartDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiSasDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualCdGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualCdGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED +# gEfiStatusCodeSpecificDataGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED + ## SOMETIMES_CONSUMES ## GUID +# gEfiStatusCodeDataTypeDebugGuid + +# gPlatformGpioConfigGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventReadyToBootGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventLegacyBootGuid + + ## SOMETIMES_CONSUMES ## Variable +# gEfiGlobalVariableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi20TableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi10TableGuid + + ## CONSUMES ## SystemTable +# gEfiDxeServicesTableGuid + + ## CONSUMES ## SystemTable +# gEfiHobListGuid + + +[PcdEx.X64] + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureCapability + + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfiguration + + gEfiCpuTokenSpaceGuid.PcdCpuPmStructAddr + + ## SOMETIMES_PRODUCES + ## SOMETIMES_CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer + + +#[LibraryClasses.X64] +## @LIB_INSTANCES +# MdePkg/Library/BasePrintLib/BasePrintLib.inf +# MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf +# MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf +# MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf +# MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDecodingLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf +# MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf +# PurleyPlatPkg/Library/PlatformHooksLib/PlatformHooksLib.inf +# MdePkg/Library/BaseLib/BaseLib.inf +# IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf +# MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf +# MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf +# MdePkg/Library/DxePcdLib/DxePcdLib.inf +# MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +# MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf +# MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf +# MdePkg/Library/UefiLib/UefiLib.inf +# MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf +# CpRcPkg/Library/DxeMmPciBaseLib/DxeMmPciBaseLib.inf +# MdePkg/Library/DxeHobLib/DxeHobLib.inf +# PurleyPlatPkg/Override/PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf +# MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf +# MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf +# PurleyRefreshSiliconPkg/Override/IA32FamilyCpuPkg/Library/CpuConfigLib/CpuConfigLib.inf +# MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf +# PurleyRefreshSiliconPkg/Library/ProcessorPowerManagement/CpuPpmLib.inf + +#[Depex.X64] +# (gEfiSmmConfigurationProtocolGuid AND gEfiMpServiceProtocolGuid AND gEfiCpuCsrAccessGuid AND gEfiIioSystemProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gUsraProtocolGuid) AND (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) + + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 +# +# Create Event Guid C Name: Event Type: EVENT_TYPE_PERIODIC_TIMER +# +# HOB Guid C Name: gEfiHtBistHobGuid Hob Type: GUID_EXTENSION +# + +#[BuildOptions.X64] +## @AsBuilt +## MSFT:DEBUG_VS2015x86_X64_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE +## MSFT:DEBUG_VS2015x86_X64_GENFW_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_SLINK_FLAGS = /NOLOGO /LTCG +## MSFT:DEBUG_VS2015x86_X64_OBJCOPY_FLAGS = objcopy not needed for +## MSFT:DEBUG_VS2015x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi +## MSFT:DEBUG_VS2015x86_X64_ASMLINK_FLAGS = /nologo /tiny +## MSFT:DEBUG_VS2015x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 /wd4819 +## MSFT:DEBUG_VS2015x86_X64_VFR_FLAGS = -n +## MSFT:DEBUG_VS2015x86_X64_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_APP_FLAGS = /nologo /E /TC -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_NASM_FLAGS = -Ox -f win64 -g +## MSFT:DEBUG_VS2015x86_X64_OPTROM_FLAGS = -e +## MSFT:DEBUG_VS2015x86_X64_MAKE_FLAGS = /nologo +## MSFT:DEBUG_VS2015x86_X64_SYMRENAME_FLAGS = Symbol renaming not needed for +## MSFT:DEBUG_VS2015x86_X64_PP_FLAGS = /nologo /E /TC /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +## MSFT:DEBUG_VS2015x86_X64_ASL_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_NASMB_FLAGS = -f bin # ## @file # # Component description file for Pch Initialization driver # # @@ -2700,10 +3334,10 @@ # [PatchPcd.X64] #SERVER_BIOS ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x82aa0 # 0x12860+0x70240 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x9C640 ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x82b08 # 0x128C8+0x70240 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x9C698 # [Protocols.X64] @@ -2991,7 +3625,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x8f880 # 0xBB20+0x83d60 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xA9DE0 # [Protocols.X64] @@ -3302,7 +3936,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x9a350 # 0x84C0+0x91e90 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xB5920 # [Protocols.X64] @@ -3584,7 +4218,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x9db54 # 0x2A50+0x9b104 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000|0xBA704 # [Protocols.X64] @@ -3827,7 +4461,7 @@ # [PatchPcd.X64] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xa19ec # 0x3640+0x9e3ac + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xBF6E8 # [Protocols.X64] diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv index 4c919ad135c911a903b8e6f8e53122723c7382fa..b7ba1a27edcfc3da4edd20704a6ddb365d8f918c 100644 GIT binary patch literal 524288 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ãu_5-VQ(==j?pfTG@P zRK=6chbn1Zgnj_G!jK^gXk>)s$+4~eQ?}CN*KH_i#3Vx8V<+cmMHKH0{&)i>?WhOy z2xSWK9Owf-b3ld}4eaxWK?s?3$!HiY$6JT)hcKz5NPiP`t%!?1UT*cl3y;N<`#P=3 zP&|_ci17!AdW(8*KDH^@GY*<|oX|1_d0@`aOfyslMZ=Xk$Xsv&BHp8s@4rr|m7Sum z_bnul1l<X|xD(NEX%@S)1)?FhAYlKVId6CA7kpV8Qcey{i~0}V;0QP%`_5tD*J;BC zAt@kwur9R;IF!1bt8ItIr6PzD_<!x)F=!KE6ae6AV~s^9f<qUv(11f7s!~J*X^Pku z+Q~&%2hl}Eqpp<>R%3A%3Jxv`PNL97tSwkw6bBIz2f-nwL(w{j+UonSNwlf%B436C zk|X!{?tgd3-M#l;D~v>ZmCx}OV<paePK++KT<kB77mv2xs+>EJLhOij^<*K=WFe;L z#!{SVZj1=AA)E-M?@Df83TI`!HP6JHKh0mV!FI4~vD7w~O}tVcy+e^`-PLsItES7% z=rCB#kN3-C*@SQP{Ma~|60IC}zO%$AEViy}j%uQ$QQ8sPW#{qH>F$NB*XKkb9q(c{ z(EF=9LTdN9rY5@97Pxpd_6T2x${+W<Ej|j-rgDESGV@pr`cp?L>6jV2y=ZpyDo(%h zsnmG5b2h54hsOsBgXL%Om`M9@=Zkc1w_#}i(+k^b3l7Foajuq+UrPCbAE|Zp{F~I^ z`qH<l9h;iY-k9Gq+n<Z{Zo0j`)Y>}|vuNdZPsNO7(c<kdvzOF*Q&(czsVH?{U6=el zQg0!SU%9Nn`DOWW)HhE>ee+T@Sc&@PmQR1EZ(bK)rpF@YVwu(T*0F-xtMQ&_<2}%x z<?|1pFTEbT^X}g1?N9FSZM^hV>N+#Md1P1d@}cVwCMQ1Jt^Kc00tEhjf%f`yxQC<8 z`(*to+_<{1_4n)HvFr3AK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs W0RjXF5FkK+009C72oU&>1bza0Lq+re delta 145396 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 Gd;bR!5<rIl diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv.txt index 246a95b..61ca0c6 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv.txt +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FVLATESILICON.Fv.txt @@ -1,17 +1,19 @@ -EFI_FV_TOTAL_SIZE = 0x68e78 -EFI_FV_TAKEN_SIZE = 0x68e78 +EFI_FV_TOTAL_SIZE = 0x80000 +EFI_FV_TAKEN_SIZE = 0x744c0 0x00000078 56D60EE4-5CCF-485C-BBBB-FEDAE2B24146 -0x00002CF0 D96A2393-8790-4BAA-9CEB-42533F016EE9 -0x00005F88 62D171CB-78CD-4480-8678-C6A2A797A8DE -0x0000D668 40BEAB40-CECE-4909-B133-20A413AE19E9 -0x00029330 274F0C8F-9E57-41D8-9966-29CCD48D31C2 -0x00029ED0 A3FF0EF5-0C28-42F5-B544-8C7DE1E80014 -0x00039570 06D20D84-A032-4E25-969A-346D255E46D1 -0x0003CBF8 870E0F5A-1981-45F6-AE26-0391425CC46F -0x00040698 63809859-F029-41C3-9F34-EEEB9EA787A5 -0x00048B38 D58EBCE1-AF26-488D-BE66-C164417F8C13 -0x0004C948 DE23ACEE-CF55-4FB6-AA77-984AB53DE823 -0x00057750 B0D6ED53-B844-43F5-BD2F-61095264E77E -0x00060038 D7B10D4E-67E6-4C74-83E9-F9AF0ACC33CC -0x00065D60 A0BAD9F7-AB78-491B-B583-C52B7F84B9E0 -0x000671D0 27F4917B-A707-4AAD-9676-26DF168CBF0D +0x00002EF0 D96A2393-8790-4BAA-9CEB-42533F016EE9 +0x000063C8 62D171CB-78CD-4480-8678-C6A2A797A8DE +0x0000D728 76A7B4FC-C8D5-462D-A4D2-6E88338A772A +0x000159E0 40BEAB40-CECE-4909-B133-20A413AE19E9 +0x000331D0 274F0C8F-9E57-41D8-9966-29CCD48D31C2 +0x00033C70 A3FF0EF5-0C28-42F5-B544-8C7DE1E80014 +0x00041390 06D20D84-A032-4E25-969A-346D255E46D1 +0x00044E18 870E0F5A-1981-45F6-AE26-0391425CC46F +0x000487B8 63809859-F029-41C3-9F34-EEEB9EA787A5 +0x000519D8 D58EBCE1-AF26-488D-BE66-C164417F8C13 +0x00056208 3FFCAE95-23CF-4967-94F5-16352F68E43B +0x000599A8 DE23ACEE-CF55-4FB6-AA77-984AB53DE823 +0x00064910 B0D6ED53-B844-43F5-BD2F-61095264E77E +0x0006C338 D7B10D4E-67E6-4C74-83E9-F9AF0ACC33CC +0x00071940 A0BAD9F7-AB78-491B-B583-C52B7F84B9E0 +0x00072DB0 27F4917B-A707-4AAD-9676-26DF168CBF0D diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FvLateSilicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FvLateSilicon.inf index 79e79f6..4f014ec 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FvLateSilicon.inf +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvLateSilicon/RELEASE/FvLateSilicon.inf @@ -65,8 +65,7 @@ # DISPOSABLE|RegAccessDxe.pdb # [PatchPcd.X64] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x1ccc # 0x1C10+0xbc - + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x1ECC # [Protocols.X64] # gUsraProtocolGuid @@ -277,8 +276,7 @@ # DISPOSABLE|RegAccessSMM.pdb # [PatchPcd.X64] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x4d68 # 0x2010+0x2d58 - + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x55E8 # [Protocols.X64] # gUsraProtocolGuid @@ -501,6 +499,8 @@ # DISPOSABLE|CpuArchDxe.pdb # [PatchPcd.X64] + ## SOMETIMES_CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0x00000000|0xDA1C # [Protocols.X64] # ## SOMETIMES_CONSUMES @@ -713,6 +713,332 @@ # # be modified by the user, subject to additional terms of the # # license agreement # # +# +# This file contains an 'Intel Peripheral Driver' and is +# licensed for Intel CPUs and chipsets under the terms of your +# license agreement with Intel or your vendor. This file may +# be modified by the user, subject to additional terms of the +# license agreement +# +## @file +# Component description file for Platform CPU Policy DXE Driver. +# +# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> +# +# This software and associated documentation (if any) is furnished +# under a license and may only be used or copied in accordance +# with the terms of the license. Except as permitted by such +# license, no part of this software or documentation may be +# reproduced, stored in a retrieval system, or transmitted in any +# form or by any means without the express written consent of +# Intel Corporation. +# +# +## + +# DO NOT EDIT +# FILE auto-generated + +#[Defines] +# INF_VERSION = 0x00010017 +# BASE_NAME = PlatformCpuPolicy +# FILE_GUID = 76A7B4FC-C8D5-462d-A4D2-6E88338A772A +# MODULE_TYPE = DXE_DRIVER +# VERSION_STRING = 1.0 +# ENTRY_POINT = PlatformCpuPolicyEntryPoint + +[Packages.X64] + MdePkg/MdePkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + PurleyRefreshSiliconPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec + +#[Binaries.X64] +# PE32|PlatformCpuPolicy.efi +# DXE_DEPEX|PlatformCpuPolicy.depex + +[PatchPcd.X64] + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x11B84 + +#[Protocols.X64] +# gIntelCpuPcdsSetDoneProtocolGuid + +# gEfiPlatformTypeProtocolGuid + + # PROTOCOL ALWAYS_CONSUMED +# gEfiCpuCsrAccessGuid + +# gEfiDxeSystemBoardProtocolGuid + + ## SOMETIMES_CONSUMES +# gPcdProtocolGuid + + ## CONSUMES +# gEfiPcdProtocolGuid + + ## SOMETIMES_CONSUMES +# gGetPcdInfoProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGetPcdInfoProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiDevicePathProtocolGuid + + ## UNDEFINED +# gEfiDebugPortProtocolGuid + + ## SOMETIMES_PRODUCES +# gEfiDriverBindingProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleTextOutProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGraphicsOutputProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiHiiFontProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleFileSystemProtocolGuid + + ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uninstalled +# gEfiUgaDrawProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentNameProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentName2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfigurationProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfiguration2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnosticsProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnostics2ProtocolGuid + +# gEfiSmmCpuIo2ProtocolGuid + + ## CONSUMES +# gUsraProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiLoadedImageProtocolGuid + +# gEfiSmmBase2ProtocolGuid + + +[Ppis.X64] + +#[Guids.X64] +# gEfiSetupVariableGuid + +# gEfiSocketMemoryVariableGuid + +# gEfiSocketPowermanagementVarGuid + +# gEfiSocketProcessorCoreVarGuid + +# gBiosGuardHobGuid + +# gEfiEndOfDxeEventGroupGuid + +# gEfiCpuTokenSpaceGuid + +# gPlatformTokenSpaceGuid + +# gPlatformGpioConfigGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVTUTF8Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100PlusGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPcAnsiGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiUartDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiSasDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualCdGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualCdGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventReadyToBootGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventLegacyBootGuid + + ## SOMETIMES_CONSUMES ## Variable +# gEfiGlobalVariableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi20TableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi10TableGuid + + ## CONSUMES ## SystemTable +# gEfiDxeServicesTableGuid + + ## CONSUMES ## SystemTable +# gEfiHobListGuid + +# gEfiSocketIioVariableGuid + +# gEfiSocketCommonRcVariableGuid + +# gEfiSocketMpLinkVariableGuid + +# gEfiPchRcVariableGuid + +# gEfiMeRcVariableGuid + +# gEfiIeRcVariableGuid + +# gFpgaSocketVariableGuid + + +[PcdEx.X64] + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfiguration + + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfigurationEx1 + + gEfiCpuTokenSpaceGuid.PcdCpuEnergyPolicy + + gEfiCpuTokenSpaceGuid.PcdCpuAcpiLvl2Addr + + gEfiCpuTokenSpaceGuid.PcdCpuPackageCStateLimit + + gEfiCpuTokenSpaceGuid.PcdCpuCoreCStateValue + + gEfiCpuTokenSpaceGuid.PcdCpuClockModulationDutyCycle + + gEfiCpuTokenSpaceGuid.PcdCpuHwCoordination + + gEfiCpuTokenSpaceGuid.PcdPlatformCpuSocketCount + + gEfiCpuTokenSpaceGuid.PcdPlatformCpuSocketNames + + gEfiCpuTokenSpaceGuid.PcdPlatformCpuAssetTags + + gEfiCpuTokenSpaceGuid.PcdIsPowerOnReset + + gEfiCpuTokenSpaceGuid.PcdCpuDcuMode + + gEfiCpuTokenSpaceGuid.PcdCpuTurboOverride + + gEfiCpuTokenSpaceGuid.PcdCpuProcessorMsrLockCtrl + + gEfiCpuTokenSpaceGuid.PcdCpuIioLlcWaysBitMask + + gEfiCpuTokenSpaceGuid.PcdCpuExpandedIioLlcWaysBitMask + + gEfiCpuTokenSpaceGuid.PcdPchTraceHubEn + + gEfiCpuTokenSpaceGuid.PcdCpuQlruCfgBitMask + + gEfiCpuTokenSpaceGuid.PcdSbspSelection + + gEfiCpuTokenSpaceGuid.PcdCpuPmStructAddr + + gEfiCpuTokenSpaceGuid.PcdCpuSocketId + + gEfiCpuTokenSpaceGuid.PcdCpuSmmMsrSaveStateEnable + + gEfiCpuTokenSpaceGuid.PcdCpuSmmProtectedModeEnable + + gEfiCpuTokenSpaceGuid.PcdCpuRemoteWaysBitMask + + gEfiCpuTokenSpaceGuid.PcdCpuRRQCountThreshold + + gEfiCpuTokenSpaceGuid.PcdCpuSmmRuntimeCtlHooks + + gPlatformTokenSpaceGuid.PcdSyshostMemoryAddress + + +#[LibraryClasses.X64] +## @LIB_INSTANCES +# MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDecodingLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf +# MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf +# PurleyPlatPkg/Library/PlatformHooksLib/PlatformHooksLib.inf +# MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +# MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf +# MdePkg/Library/BaseLib/BaseLib.inf +# MdePkg/Library/DxePcdLib/DxePcdLib.inf +# MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf +# MdePkg/Library/BasePrintLib/BasePrintLib.inf +# PurleyPlatPkg/Library/SerialPortLib/SerialPortLib.inf +# MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf +# MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf +# MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf +# MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf +# MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf +# MdePkg/Library/UefiLib/UefiLib.inf +# MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf +# CpRcPkg/Library/DxeMmPciBaseLib/DxeMmPciBaseLib.inf +# MdePkg/Library/DxeHobLib/DxeHobLib.inf +# MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf +# PurleyRpPkg/Library/SetupLib/DxeSetupLib.inf + +#[Depex.X64] +# (gEfiVariableArchProtocolGuid AND gEfiPlatformTypeProtocolGuid AND gEfiCpuCsrAccessGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gUsraProtocolGuid) AND (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) AND (TRUE) + + + + + +#[BuildOptions.X64] +## @AsBuilt +## MSFT:DEBUG_VS2015x86_X64_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE +## MSFT:DEBUG_VS2015x86_X64_GENFW_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_SLINK_FLAGS = /NOLOGO /LTCG +## MSFT:DEBUG_VS2015x86_X64_OBJCOPY_FLAGS = objcopy not needed for +## MSFT:DEBUG_VS2015x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi +## MSFT:DEBUG_VS2015x86_X64_ASMLINK_FLAGS = /nologo /tiny +## MSFT:DEBUG_VS2015x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 /wd4819 +## MSFT:DEBUG_VS2015x86_X64_VFR_FLAGS = -n +## MSFT:DEBUG_VS2015x86_X64_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_APP_FLAGS = /nologo /E /TC -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_NASM_FLAGS = -Ox -f win64 -g +## MSFT:DEBUG_VS2015x86_X64_OPTROM_FLAGS = -e +## MSFT:DEBUG_VS2015x86_X64_MAKE_FLAGS = /nologo +## MSFT:DEBUG_VS2015x86_X64_SYMRENAME_FLAGS = Symbol renaming not needed for +## MSFT:DEBUG_VS2015x86_X64_PP_FLAGS = /nologo /E /TC /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +## MSFT:DEBUG_VS2015x86_X64_ASL_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_NASMB_FLAGS = -f bin # ## @file # # CPU MP DXE Driver. # # @@ -1415,13 +1741,13 @@ # [PatchPcd.X64] ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseSmmEnableIndication|0x00|0x372f8 # 0xD3C0+0x29f38 + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseDelayIndication|0x00|0x3F659 ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseDelayIndication|0x00|0x372f9 # 0xD3C1+0x29f38 + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseBlockIndication|0x00|0x3F65A ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseBlockIndication|0x00|0x372fa # 0xD3C2+0x29f38 + gEfiCpuTokenSpaceGuid.PcdCpuSmmUseSmmEnableIndication|0x00|0x3F658 # [Protocols.X64] @@ -1583,7 +1909,23 @@ gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_PRODUCES - gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress + gEfiCpuTokenSpaceGuid.PcdCpuHotPlugDataAddress + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuSmmMsrSaveStateEnable + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuSmmProtectedModeEnable + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuSmmRuntimeCtlHooks + + ## SOMETIMES_PRODUCES + ## SOMETIMES_CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer # [LibraryClasses.X64] @@ -2102,8 +2444,7 @@ # DISPOSABLE|IioInit.pdb # [PatchPcd.X64] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x45160 # 0x4A70+0x406f0 - + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x4DC80 # [Protocols.X64] # gEfiIioSystemProtocolGuid @@ -2236,23 +2577,14 @@ # # [PcdEx.X64] - gOemSkuTokenSpaceGuid.PcdSetupData - - gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData - - gOemSkuTokenSpaceGuid.PcdSocketIioConfigData - - gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData - - gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData - - gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData - - gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr - gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + ## SOMETIMES_PRODUCES + ## SOMETIMES_CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal - gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer # [LibraryClasses.X64] @@ -2521,6 +2853,296 @@ # ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS = /nologo # ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS = /nologo /tiny # ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS = -Ox -f win64 +# +# This file contains an 'Intel Peripheral Driver' and is +# licensed for Intel CPUs and chipsets under the terms of your +# license agreement with Intel or your vendor. This file may +# be modified by the user, subject to additional terms of the +# license agreement +# +## @file +# Component description file for CPU MP DXE Driver. +# +# CPU DXE Driver that configures multi-processor environment, logs data to datahub +# for processor subclass and cache subclass, and installs CPU Architecture Protocol and MP +# Services Protocol +# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> +# +# This software and associated documentation (if any) is furnished +# under a license and may only be used or copied in accordance +# with the terms of the license. Except as permitted by such +# license, no part of this software or documentation may be +# reproduced, stored in a retrieval system, or transmitted in any +# form or by any means without the express written consent of +# Intel Corporation. +# +# +## + +# DO NOT EDIT +# FILE auto-generated + +#[Defines] +# INF_VERSION = 0x00010017 +# BASE_NAME = PpmInitialize +# FILE_GUID = 3FFCAE95-23CF-4967-94F5-16352F68E43B +# MODULE_TYPE = DXE_DRIVER +# VERSION_STRING = 1.0 +# ENTRY_POINT = PpmInitializeEntry + +[Packages.X64] + PurleyRefreshSiliconPkg/SiPkg.dec + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +#[Binaries.X64] +# PE32|PpmInitialize.efi +# DXE_DEPEX|PpmInitialize.depex + +[PatchPcd.X64] + +#[Protocols.X64] + # PROTOCOL ALWAYS_CONSUMED +# gEfiPciCallbackProtocolGuid + + # PROTOCOL ALWAYS_CONSUMED +# gEfiCpuCsrAccessGuid + +# gEfiCpuPpmProtocolGuid + +# gEfiIioSystemProtocolGuid + + # PROTOCOL PRODUCED +# gEfiIssConfigInfoProtocolGuid + +# gEfiRsaBmcCommandsProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiDevicePathProtocolGuid + + ## UNDEFINED +# gEfiDebugPortProtocolGuid + + ## CONSUMES +# gEfiStatusCodeRuntimeProtocolGuid + + ## SOMETIMES_CONSUMES +# gPcdProtocolGuid + + ## CONSUMES +# gEfiPcdProtocolGuid + + ## SOMETIMES_CONSUMES +# gGetPcdInfoProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGetPcdInfoProtocolGuid + + ## SOMETIMES_PRODUCES +# gEfiDriverBindingProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleTextOutProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiGraphicsOutputProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiHiiFontProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiSimpleFileSystemProtocolGuid + + ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uninstalled +# gEfiUgaDrawProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentNameProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiComponentName2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfigurationProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverConfiguration2ProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnosticsProtocolGuid + + ## SOMETIMES_PRODUCES # User chooses to produce it +# gEfiDriverDiagnostics2ProtocolGuid + +# gEfiSmmCpuIo2ProtocolGuid + + ## CONSUMES +# gUsraProtocolGuid + + ## SOMETIMES_CONSUMES +# gEfiLoadedImageProtocolGuid + + +#[Ppis.X64] + +#[Guids.X64] +# gEfiPlatformInfoGuid + +# gEfiEndOfDxeEventGroupGuid + +# gEfiMemoryMapGuid + +# gEfiSocketCommonRcVariableGuid + +# gEfiCpuTokenSpaceGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVTUTF8Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100Guid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVT100PlusGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPcAnsiGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiUartDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiSasDevicePathGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiVirtualCdGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualDiskGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiPersistentVirtualCdGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED +# gEfiStatusCodeSpecificDataGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED + ## SOMETIMES_CONSUMES ## GUID +# gEfiStatusCodeDataTypeDebugGuid + +# gPlatformGpioConfigGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventReadyToBootGuid + + ## SOMETIMES_CONSUMES ## Event +# gEfiEventLegacyBootGuid + + ## SOMETIMES_CONSUMES ## Variable +# gEfiGlobalVariableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi20TableGuid + + ## SOMETIMES_CONSUMES ## SystemTable +# gEfiAcpi10TableGuid + + ## CONSUMES ## SystemTable +# gEfiDxeServicesTableGuid + + ## CONSUMES ## SystemTable +# gEfiHobListGuid + + +[PcdEx.X64] + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureCapability + + gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfiguration + + gEfiCpuTokenSpaceGuid.PcdCpuPmStructAddr + + ## SOMETIMES_PRODUCES + ## SOMETIMES_CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal + + ## CONSUMES + gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer + + +#[LibraryClasses.X64] +## @LIB_INSTANCES +# MdePkg/Library/BasePrintLib/BasePrintLib.inf +# MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf +# MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf +# MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf +# MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDecodingLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf +# MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf +# PurleyPlatPkg/Library/PlatformHooksLib/PlatformHooksLib.inf +# MdePkg/Library/BaseLib/BaseLib.inf +# IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf +# MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf +# MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf +# MdePkg/Library/DxePcdLib/DxePcdLib.inf +# MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +# MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf +# MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf +# MdePkg/Library/UefiLib/UefiLib.inf +# MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf +# CpRcPkg/Library/DxeMmPciBaseLib/DxeMmPciBaseLib.inf +# MdePkg/Library/DxeHobLib/DxeHobLib.inf +# PurleyPlatPkg/Override/PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf +# MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf +# MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf +# PurleyRefreshSiliconPkg/Override/IA32FamilyCpuPkg/Library/CpuConfigLib/CpuConfigLib.inf +# MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf +# PurleyRefreshSiliconPkg/Library/ProcessorPowerManagement/CpuPpmLib.inf + +#[Depex.X64] +# (gEfiSmmConfigurationProtocolGuid AND gEfiMpServiceProtocolGuid AND gEfiCpuCsrAccessGuid AND gEfiIioSystemProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gUsraProtocolGuid) AND (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) + + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 +# +# Create Event Guid C Name: Event Type: EVENT_TYPE_PERIODIC_TIMER +# +# HOB Guid C Name: gEfiHtBistHobGuid Hob Type: GUID_EXTENSION +# + +#[BuildOptions.X64] +## @AsBuilt +## MSFT:DEBUG_VS2015x86_X64_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE +## MSFT:DEBUG_VS2015x86_X64_GENFW_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_SLINK_FLAGS = /NOLOGO /LTCG +## MSFT:DEBUG_VS2015x86_X64_OBJCOPY_FLAGS = objcopy not needed for +## MSFT:DEBUG_VS2015x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi +## MSFT:DEBUG_VS2015x86_X64_ASMLINK_FLAGS = /nologo /tiny +## MSFT:DEBUG_VS2015x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 /wd4819 +## MSFT:DEBUG_VS2015x86_X64_VFR_FLAGS = -n +## MSFT:DEBUG_VS2015x86_X64_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_APP_FLAGS = /nologo /E /TC -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_NASM_FLAGS = -Ox -f win64 -g +## MSFT:DEBUG_VS2015x86_X64_OPTROM_FLAGS = -e +## MSFT:DEBUG_VS2015x86_X64_MAKE_FLAGS = /nologo +## MSFT:DEBUG_VS2015x86_X64_SYMRENAME_FLAGS = Symbol renaming not needed for +## MSFT:DEBUG_VS2015x86_X64_PP_FLAGS = /nologo /E /TC /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +## MSFT:DEBUG_VS2015x86_X64_ASL_FLAGS = +## MSFT:DEBUG_VS2015x86_X64_NASMB_FLAGS = -f bin # ## @file # # Component description file for Pch Initialization driver # # @@ -2557,6 +3179,7 @@ [Packages.X64] MdePkg/MdePkg.dec PurleyRefreshSiliconPkg/SiPkg.dec + MdeModulePkg/MdeModulePkg.dec # [Binaries.X64] # PE32|PchInitDxe.efi @@ -2565,8 +3188,7 @@ # [PatchPcd.X64] #SERVER_BIOS ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x52ae0 # 0x6140+0x4c9a0 - + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x5FC80 # [Protocols.X64] # ## PRODUCES @@ -3415,6 +4037,7 @@ [Packages.X64] MdePkg/MdePkg.dec PurleyRefreshSiliconPkg/SiPkg.dec + MdeModulePkg/MdeModulePkg.dec # [Binaries.X64] # PE32|SmmControl.efi diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv index 89a4a2cff271429c484ce9f3aa79319dd0930e91..c6d1382877c28cc3d02ed89d17f269d6c38555cc 100644 GIT binary patch delta 35598 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 literal 196608 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 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt index 466d352..34fac57 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt @@ -1,3 +1,3 @@ -EFI_FV_TOTAL_SIZE = 0x30000 -EFI_FV_TAKEN_SIZE = 0xace8 -0x000000E8 299D6F8B-2EC9-4E40-9EC6-DDAA7EBF5FD9 +EFI_FV_TOTAL_SIZE = 0x20000 +EFI_FV_TAKEN_SIZE = 0x8a58 +0x00000078 299D6F8B-2EC9-4E40-9EC6-DDAA7EBF5FD9 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf index 6e70be7..83d54e2 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf @@ -24,7 +24,7 @@ #![Pcd] -#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase|0xFFE20000 +#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase|0xFFD40000 # ## @file # # Component description file for the Silicon Init Post Memory module. @@ -64,16 +64,18 @@ MdeModulePkg/MdeModulePkg.dec PurleyRefreshSiliconPkg/SiPkg.dec PurleyRefreshSiliconPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec + PurleyOpenBoardPkg/OpenBoardPkg.dec # [Binaries.IA32] # PE32|SiInit.efi # DISPOSABLE|SiInit.pdb # [PatchPcd.IA32] + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x100F4 + ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xa288 # 0xA148+0x140 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x101AC - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0xa220 # 0xA0E0+0x140 # [Protocols.IA32] @@ -198,6 +200,22 @@ [PcdEx.IA32] gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr + gOemSkuTokenSpaceGuid.PcdSetupData + + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData + + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData + + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData + + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + # [LibraryClasses.IA32] # ## @LIB_INSTANCES diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv index abc6494e6c973b2dd2a164a4c49a1132d7031100..140892a4b8440f0b5d896aeccd521285085dd351 100644 GIT binary patch delta 17165 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 UC0r2#vE?+vgCS72Ay5Gyy$gn6LjV8( literal 196608 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 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv.txt index d8e922b..00aebe3 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv.txt +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FVPOSTMEMORYSILICON.Fv.txt @@ -1,3 +1,3 @@ -EFI_FV_TOTAL_SIZE = 0x30000 -EFI_FV_TAKEN_SIZE = 0x5028 -0x000000E8 299D6F8B-2EC9-4E40-9EC6-DDAA7EBF5FD9 +EFI_FV_TOTAL_SIZE = 0x20000 +EFI_FV_TAKEN_SIZE = 0x42e8 +0x00000078 299D6F8B-2EC9-4E40-9EC6-DDAA7EBF5FD9 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FvPostMemorySilicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FvPostMemorySilicon.inf index b206408..6375d2e 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FvPostMemorySilicon.inf +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/RELEASE/FvPostMemorySilicon.inf @@ -24,7 +24,7 @@ #![Pcd] -#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase|0xFFE20000 +#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase|0xFFD40000 # ## @file # # Component description file for the Silicon Init Post Memory module. @@ -64,6 +64,7 @@ MdeModulePkg/MdeModulePkg.dec PurleyRefreshSiliconPkg/SiPkg.dec PurleyRefreshSiliconPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec + PurleyOpenBoardPkg/OpenBoardPkg.dec # [Binaries.IA32] # PE32|SiInit.efi @@ -71,8 +72,7 @@ # DISPOSABLE|SiInit.pdb # [PatchPcd.IA32] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x4910 # 0x47D0+0x140 - + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x5CF4 # [Protocols.IA32] # @@ -189,6 +189,22 @@ [PcdEx.IA32] gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr + gOemSkuTokenSpaceGuid.PcdSetupData + + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData + + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData + + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData + + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + # [LibraryClasses.IA32] # ## @LIB_INSTANCES diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv index 8cc23684fc7f49a74bf9d8ad9c3f792d6799b9f4..3824fdd0b7ac7ceba6b6f9675336a1cc326b0e88 100644 GIT binary patch literal 2293760 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�mc=Y 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∨A5jC6jr&LF!&y)M*5-YwGQ1TYz`NGcIgkN;j` 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 z)bMl8w#S5zQiW5FJBJM|F#peP{eSP?-6ueR009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBoL H{}%Xfr2)Pr literal 1245184 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�iJNOJVH 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%0A=>*<GfY~-W>~Plgfkt9<mrnE1)?Y3_5&2$T?Wft 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 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv.txt index 9ed32d7..4b4e1b6 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv.txt +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FVPREMEMORYSILICON.Fv.txt @@ -1,7 +1,8 @@ -EFI_FV_TOTAL_SIZE = 0x130000 -EFI_FV_TAKEN_SIZE = 0x118f90 +EFI_FV_TOTAL_SIZE = 0x230000 +EFI_FV_TAKEN_SIZE = 0x185970 0x000000E8 2C6CACC6-6C3C-4AA7-B2DE-384DAE2B0352 -0x00002D68 01359D99-9446-456D-ADA4-50A711C03ADA -0x00007D68 D71C8BA4-4AF2-4D0D-B1BA-F2409F0C20D3 -0x000FB9E8 EDADEB9D-DDBA-48BD-9D22-C1C169C8C5C6 -0x000FFAE8 A8499E65-A6F6-48B0-96DB-45C266030D83 +0x00003F68 01359D99-9446-456D-ADA4-50A711C03ADA +0x00009A68 B894C949-A1F8-41C1-A7C0-DF523AD91C15 +0x00021D68 D71C8BA4-4AF2-4D0D-B1BA-F2409F0C20D3 +0x0015D168 EDADEB9D-DDBA-48BD-9D22-C1C169C8C5C6 +0x00166368 A8499E65-A6F6-48B0-96DB-45C266030D83 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FvPreMemorySilicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FvPreMemorySilicon.inf index bc39e37..31a5f72 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FvPreMemorySilicon.inf +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/DEBUG/FvPreMemorySilicon.inf @@ -23,7 +23,7 @@ FV|FVPREMEMORYSILICON.Fv #![Pcd] -#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase|0xFFEB0000 +#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase|0xFFDB0000 # # # # This file contains 'Framework Code' and is licensed as such @@ -69,9 +69,9 @@ # [PatchPcd.IA32] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x2b28 # 0x2A08+0x120 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x3C68 - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x2b10 # 0x29F0+0x120 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x3C60 # [Protocols.IA32] @@ -229,7 +229,10 @@ # [PatchPcd.IA32] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x7b00 # 0x4D60+0x2da0 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x96F0 + + ## SOMETIMES_CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0x00000000|0x9818 # [Protocols.IA32] @@ -295,6 +298,22 @@ # # [PcdEx.IA32] + gOemSkuTokenSpaceGuid.PcdSetupData + + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData + + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData + + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData + + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + # [LibraryClasses.IA32] # ## @LIB_INSTANCES @@ -375,6 +394,403 @@ # # # ## # +## @file +# Component description file for the MrcOemHooksPeim. +# +# This PEIM wraps the OemProcMemInitLib and OemIioInitLib and exposes their +# functions via the MRC_OEM_HOOKS_PPI. +# +# This component produces the MRC_OEM_HOOKS_PPI for consumption +# by Intel silicon initialization code +# +#@copyright +# Copyright (c) 2016 Intel Corporation. All rights reserved +# This software and associated documentation (if any) is furnished +# under a license and may only be used or copied in accordance +# with the terms of the license. Except as permitted by the +# license, no part of this software or documentation may be +# reproduced, stored in a retrieval system, or transmitted in any +# form or by any means without the express written consent of +# Intel Corporation. +# This file contains a 'Sample Driver' and is licensed as such +# under the terms of your license agreement with Intel or your +# vendor. This file may be modified by the user, subject to +# the additional terms of the license agreement. +# +#@par Specification Reference: +## + +# DO NOT EDIT +# FILE auto-generated + +#[Defines] +# INF_VERSION = 0x00010017 +# BASE_NAME = MrcOemHooksPeim +# FILE_GUID = B894C949-A1F8-41C1-A7C0-DF523AD91C15 +# MODULE_TYPE = PEIM +# VERSION_STRING = 1.0 +# ENTRY_POINT = MrcOemHooksInitEntry + +[Packages.IA32] + MdePkg/MdePkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + MdeModulePkg/MdeModulePkg.dec + +#[Binaries.IA32] +# PE32|MrcOemHooksPeim.efi +# DISPOSABLE|MrcOemHooksPeim.pdb + +[PatchPcd.IA32] + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x20CC0 + + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x20E58 + + +#[Protocols.IA32] +# gEfiSmbusHcProtocolGuid +# +# gEfiIioUdsProtocolGuid +# +# gEfiDxeSystemBoardProtocolGuid +# +# gEfiVariableWriteArchProtocolGuid +# +# #PRODUCES +# gEfiVMDDriverProtocolGuid +# +# #PRODUCES +# gEfiHfiPcieGen3ProtocolGuid + + +#[Ppis.IA32] + ## PRODUCES +# gMrcOemHooksPpiGuid + + ## SOMETIMES_CONSUMES +# gPcdPpiGuid + + ## CONSUMES +# gEfiPeiPcdPpiGuid + + ## SOMETIMES_CONSUMES +# gGetPcdInfoPpiGuid + + ## SOMETIMES_CONSUMES +# gEfiGetPcdInfoPpiGuid + + ## SOMETIMES_PRODUCES +# gEfiPeiFirmwareVolumeInfoPpiGuid + + ## SOMETIMES_PRODUCES +# gEfiPeiFirmwareVolumeInfo2PpiGuid + +# gEfiPeiReadOnlyVariable2PpiGuid + +# gEfiPeiResetPpiGuid + +# gEfiPeiSystemBoardPpiGuid + +# gUbaConfigDatabasePpiGuid + +# gMeUmaPpiGuid + +# gPeiIeHeciPpiGuid + +# gEfiPeiStallPpiGuid + +# gEfiPeiMemoryDiscoveredPpiGuid + +# gEfiSiliconRcHobsReadyPpi + +# gPeiTpmInitializedPpiGuid + +# gPeiBaseMemoryTestPpiGuid + +# gPeiPlatformMemorySizePpiGuid + +# gPeiTxtScleanPpiGuid + +# gPchResetPpiGuid + +# gEfiPeiFirmwareVolumeInfoMeasurementExcludedPpiGuid + +# gPchDmiTcVcMapPpiGuid + +# gPchInitPpiGuid + + ## CONSUMES +# gMrcHooksServicesPpiGuid + + ## CONSUMES +# gMrcHooksChipServicesPpiGuid + + +#[Guids.IA32] +# gPlatformGpioConfigGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED +# gEfiStatusCodeSpecificDataGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED + ## SOMETIMES_CONSUMES ## GUID +# gEfiStatusCodeDataTypeDebugGuid + + ## SOMETIMES_PRODUCES ## GUID # FV File System Guid. +# gEfiFirmwareFileSystem2Guid + + ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation StackHob +# gEfiHobMemoryAllocStackGuid + + ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation BspStoreHob +# gEfiHobMemoryAllocBspStoreGuid + + ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation ModuleHob +# gEfiHobMemoryAllocModuleGuid + +# gFpgaSocketHobGuid + +# gFpgaSocketVariableGuid + +# gEfiSocketIioVariableGuid + +# gEfiSocketCommonRcVariableGuid + +# gEfiSocketMpLinkVariableGuid + +# gEfiSocketMemoryVariableGuid + +# gEfiSocketPowermanagementVarGuid + +# gEfiSocketProcessorCoreVarGuid + +# gEfiSetupVariableGuid + +# gEfiPchRcVariableGuid + +# gEfiMeRcVariableGuid + +# gEfiIeRcVariableGuid + +# gEfiPlatformInfoGuid + +# gBiosGuardHobGuid + +# gMeBiosPayloadHobGuid + +# gMeFwHobGuid + + ## CONSUMES ## GUID # Variable store header + ## SOMETIMES_CONSUMES ## HOB +# gEfiAuthenticatedVariableGuid + + ## SOMETIMES_CONSUMES ## GUID # Variable store header + ## SOMETIMES_CONSUMES ## HOB +# gEfiVariableGuid + + ## SOMETIMES_PRODUCES ## HOB + ## SOMETIMES_CONSUMES ## HOB +# gEfiVariableIndexTableGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiSystemNvDataFvGuid + + ## SOMETIMES_CONSUMES ## HOB + ## CONSUMES ## GUID # Dependence +# gEdkiiFaultTolerantWriteGuid + +# gPlatformKtiEparamUpdateDataGuid + + ## PRODUCES ## UNDEFINED # specifies tiano custom decompress algorithm. +# gTianoCustomDecompressGuid + +# gEfiTpmDeviceInstanceTpm12Guid + +# gEfiTpmDeviceInstanceTpm20DtpmGuid + +# gTcgEventEntryHobGuid + +# gTcgEvent2EntryHobGuid + +# gEfiAcpiVariableGuid + +# gEfiMemoryConfigDataGuid + +# gEfiGenericVariableGuid + +# gEfiMemoryConfigDataHobGuid + +# gEfiMemoryOverwriteControlDataGuid + +# gPrevBootErrSrcHobGuid + +# gEfiSocketPciResourceDataGuid + +# gEfiOcDataGuid + +# gEfiNgnCfgCurGuid + +# gEfiNgnCfgOutGuid + +# gEfiNgnCfgErrorGuid + +# gEfiRasHostGuid + +# gAddressBasedMirrorGuid + +# gEfiPprVariableGuid + +# gEfiVirtualLockstepGuid + +# gEfiPlatformTxtDeviceMemoryGuid + +# gEfiMemoryMapGuid + +# gEfiSmmPeiSmramMemoryReserveGuid + +# gEfiMemoryTypeInformationGuid + +# gEfiKtiEparamInfoGuid + +# gEfiHobListGuid + +# gEfiOpaSocketMapHobGuid + + +[PcdEx.IA32] + gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr + + gOemSkuTokenSpaceGuid.PcdSetupData + + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData + + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData + + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData + + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + + gPlatformTokenSpaceGuid.PcdDfxAdvDebugJumper + + gEfiCpRcPkgTokenSpaceGuid.PcdRcRevision + + gOemSkuTokenSpaceGuid.PcdForceTo1SConfigMode + + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicEnable + + gOemSkuTokenSpaceGuid.PcdBoardTypeBitmask + + gOemSkuTokenSpaceGuid.PcdAllLanesEparamTable + + gOemSkuTokenSpaceGuid.PcdAllLanesEparamTableSize + + gOemSkuTokenSpaceGuid.PcdPerLaneEparamTable + + gOemSkuTokenSpaceGuid.PcdPerLaneEparamTableSize + + gPlatformTokenSpaceGuid.PcdSyshostMemoryAddress + + gPlatformTokenSpaceGuid.PcdPlatformType + + gOemSkuTokenSpaceGuid.PcdMemTsegSize + + gOemSkuTokenSpaceGuid.PcdMemIedSize + + +#[LibraryClasses.IA32] +## @LIB_INSTANCES +# MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf +# MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf +# MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf +# CpRcPkg/Library/UsraRegisterFilterLibNull/UsraRegisterFilterLibNull.inf +# PurleyRefreshSiliconPkg/Library/USRATraceLib/USRATraceLib.inf +# PurleyRefreshSiliconPkg/Library/PcieAddressLib/PcieAddressLib.inf +# PurleyRefreshSiliconPkg/Library/CsrToPcieLib/CsrToPciePeiLib.inf +# MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf +# CpRcPkg/Library/UsraAccessLib/UsraAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDecodingLib.inf +# CpRcPkg/Library/MmPciBaseLib/MmPciBaseLib.inf +# MdePkg/Library/BasePrintLib/BasePrintLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf +# PurleyPlatPkg/Library/PlatformHooksLib/PlatformHooksLib.inf +# MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +# MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf +# MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf +# MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf +# MdePkg/Library/PeiPcdLib/PeiPcdLib.inf +# MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf +# MdePkg/Library/PeiServicesLib/PeiServicesLib.inf +# MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf +# MdePkg/Library/BaseLib/BaseLib.inf +# MdePkg/Library/PeiHobLib/PeiHobLib.inf +# IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf +# CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf +# CryptoPkg/Library/OpensslLib/OpensslLib.inf +# PurleyPlatPkg/Override/PcAtChipsetPkg/Library/AcpiTimerLib/PeiAcpiTimerLib.inf +# CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPmcLib/PeiDxeSmmPchPmcLib.inf +# SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf +# SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf +# MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf +# PurleyRefreshSiliconPkg/Library/FpgaConfigurationLib/FpgaConfigurationPeiLib.inf +# BpCommonPkg/Library/BeepLibNull/BeepLibNull.inf +# PurleyRpPkg/Library/SetupLib/PeiSetupLib.inf +# SecurityPkg/Library/TpmCommLib/TpmCommLib.inf +# PurleyPlatPkg/Library/BiosGuardInitLib/BiosGuardInit.inf +# PurleyRefreshSiliconPkg/Me/Heci/Library/MeTypeLib/MeTypeLib.inf +# PurleyPlatPkg/Library/PeiVariableAddress/PeiVariableAddress.inf +# PurleyRefreshSiliconPkg/Library/MicrocodeLib/MicrocodeLib.inf +# PurleyPlatPkg/Library/UbaKtiLib/UbaKtiLib.inf +# SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf +# SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf +# IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf +# MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf +# PurleyPlatPkg/Library/OemProcMemInitLib/OemProcMemInitLib.inf +# PurleyPlatPkg/Library/OemIioInit/OemIioInitHooks.inf +# PurleyPlatPkg/Library/MrcHooksServicesLib/MrcHooksServicesLib.inf + +[Depex.IA32] +# (TRUE) AND () AND (gEfiPeiPcdPpiGuid) AND (gEdkiiFaultTolerantWriteGuid) AND () AND () + +################################################################################ +# +# Package Dependency Section - list of Package files that are required for +# this module. +# +################################################################################ + +[BuildOptions.IA32] +## @AsBuilt +## MSFT:DEBUG_VS2015x86_IA32_SYMRENAME_FLAGS = Symbol renaming not needed for +## MSFT:DEBUG_VS2015x86_IA32_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE +## MSFT:DEBUG_VS2015x86_IA32_VFR_FLAGS = -n +## MSFT:DEBUG_VS2015x86_IA32_PP_FLAGS = /nologo /E /TC /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_GENFW_FLAGS = +## MSFT:DEBUG_VS2015x86_IA32_SLINK_FLAGS = /NOLOGO /LTCG +## MSFT:DEBUG_VS2015x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi +## MSFT:DEBUG_VS2015x86_IA32_ASL_FLAGS = +## MSFT:DEBUG_VS2015x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 /wd4819 +## MSFT:DEBUG_VS2015x86_IA32_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_APP_FLAGS = /nologo /E /TC -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_OPTROM_FLAGS = -e +## MSFT:DEBUG_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +## MSFT:DEBUG_VS2015x86_IA32_NASMB_FLAGS = -f bin +## MSFT:DEBUG_VS2015x86_IA32_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_OBJCOPY_FLAGS = objcopy not needed for +## MSFT:DEBUG_VS2015x86_IA32_MAKE_FLAGS = /nologo +## MSFT:DEBUG_VS2015x86_IA32_ASMLINK_FLAGS = /nologo /tiny +## MSFT:DEBUG_VS2015x86_IA32_NASM_FLAGS = -Ox -f win32 -g # # DO NOT EDIT # # FILE auto-generated # @@ -398,10 +814,10 @@ # DISPOSABLE|UncoreInitPeim.pdb # [PatchPcd.IA32] - ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xebbb4 # 0xE3D94+0x7e20 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x146658 - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0xebbb8 # 0xE3D98+0x7e20 + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x146660 # [Protocols.IA32] @@ -557,6 +973,7 @@ gEfiCpRcPkgTokenSpaceGuid.PcdRcRevision + gPlatformTokenSpaceGuid.PcdPlatformType # [LibraryClasses.IA32] # ## @LIB_INSTANCES @@ -665,7 +1082,10 @@ # [PatchPcd.IA32] ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xff810 # 0x3DD0+0xfba40 + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x165EA0 + + ## SOMETIMES_CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0x00000000|0x165F48 # [Protocols.IA32] @@ -836,10 +1256,10 @@ # DISPOSABLE|SiInitPreMem.pdb # [PatchPcd.IA32] - ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x1177d8 # 0x17CB8+0xffb20 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x180880 - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x117780 # 0x17C60+0xffb20 + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x1808C8 # [Protocols.IA32] diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv index ca91101b49c0a60c0d2591e4592996bcb3aa87d1..fe180bcaf8e87dc522beadaf9e4da607097e2a98 100644 GIT binary patch literal 2293760 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	Ahid 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	Z{JeVm(f}-8SS|J<R6r3bKBfRy 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�}LRF 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]RCHbtX?F2{agFSLj>w=8bXH%@Ym>K9z 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ℑ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 zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag zfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s} z0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*sr zAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 z00IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@ z2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tg_000Iag hfB*srAb<b@2q1s}0tg_000IagfB*sr{C_X-e*rww;Bx=~ literal 1245184 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%0D-eY9$MMSBZ6UeKMNC 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%0D!IRnf)oDfl3gx_p*?l`rJ8A-F z`aU^d0j7h8;J<+b!E^Ly_l7;)sRI@2;GTFYzMgpfixsTmVDN~9?D-fO6oDI(1H0x0 z{x&yMOu(n6TCKPD{=`MPU4fa}z#45JU#<V$e#Ky*o4F8t2!S^cpsnv$emgL8aiC9t zyU#0w`-Vb6C*!bompxDoqkAJ*ABD`_0EJA7bA30SRkPh(-%lo!?%}T&oK;g3AM7#@ zR!tVO%<5~#JYpc<-VdjNWVL4pNq_|U_MyJMt?7|eb$|q?z!qRBQu8YUK5c*Q<bco6 zpKGqF4LnC_Zhzl)sK3JApA^Vd_ZKPyx!V3hbs(4PFEj;mjs1mOAUC<caI&5|++S!O zC^WoYs9jNUZm_>LwZAsKzs$ZR2v75D>((w&RrrJC!r)-vPVGQpQom1&>hz3y{n2hs zpv)9p0<oNq4b++frRrcJF6PaiHFrl<4TSk^(1jztwhRu!dtWpx^c?KI-gfjAx`4c} z?>j}$%s^49=ZzHwol&mETvwK>KDo#FO^&G-ajIuppd($;!Fj%3&IZ1o^v&8&$=Sg{ z&yf|;ohhCUt~05suBtZJh|>FZ8UnjcC+S}-Vins^i%=V?>Upql_h7@kxwCiF20rh* zDV=od2bZS@YPmpJYH&FSXZ77=5)w^;T0@|W6H1#kZ%5xMA@2?8fr`{XF&CUc^9oi1 zpQ|141?&95=aQk_HDC3;?wmDn7d;bX?Frhxpb8c|aMyt`90{Ba931eSUwe{bzj@!E za%kHr?Kkhk4nKmK1bpXb4ct#d_dwtPHK=^`>-kzb!s+kg`e&y0|0F%&`>L-A$CK^q z7ffJ4>3SXKnIVH<P(cHBLL_5k21<jX4fV}e!h#ID@|{G`oB^6E{7%puO!BKsgAhny zN62jY&KL%KXKVX?7XrQuP-wvS#X!yZ%0SKqe?UE0kv?lya1&Mgn)C62v)!4&WoY=z zRF|iRFYI%&Jvs=@Rg~PL>RSmx#)%qO=rZ)2I6Y*`CFEP!uZCf~6?_^M?<#aMwyiRU z>pNqFzb&R#7Wgjs7940+@Mp*vIEw&e2>uisZUbeDgJu|%?dYyT7gJSL^*n>pVlN5| z1-D`Ty+pZ~Lji++?W|dW-N9VQ`ZW9H#=tGq16=j#Jzt7o;H}%{xdJ(<j4HSt@>s%M zw?sKB7(@wy0~-!?j~$qy4z2`y19{0Cwsso_5a$H}sv*FrZ$$ypXt_UlK#g1o-S9^m z{*6>_1*yXqZ=`%kl1rU6Ys*<&2RCE5A-QSanPhkbC^>{mlfMFy`X9Ez!aCa_u=I0O z4e$B}SZLVLqw8Oz?q8$qUqepCK<8C;6?F(J>9#$=8^oM_i2Jdf&9pp|?U0}Th+j)$ zX9X{TEqI0N##Cc>F1jW|-^ZhboPl@!!mpp^I!u`_NKHr1Z9%pEg{^((+3x7V4O@HO zKD`K$-q82=QIozuJ*Tchss!!)Ql#O~)@?z9{)NMkq6_SF4zHsHC)*CeH*Thx&=t^v z|24cYu)}ufn{xw2kOmL~WrG9tOz@`^T*>skH5hm!@b23u1N*-@^!BG?tI>(P(O;wf z=3R6jTwwd#!2#{4v1i}@M}Lp9A19f^o%?ns@2IG%37kUjrAFwl3(O@Oj&=_ZTnb*q z;5;xuW3o%B?@lbFz1EkV!IzNSO9R2I9pKl{Z?<hceHI<Eav<01AISClgDUhlvji8f zs0}_2bqCIFIM)*`5T0&CKfA`TVX(U*FxQBhW(@c)_y>EmgFWit&uNhNU4S?|h05;e zmvFjc@9C+5B-<Vs)v&-VLQnTa-&Qr;rJKp^+iK|h7t`}a|4`f3{@Bw|FQKWu4YNZ| zQBfD1Kr27LVX#LdRDSA7n1igoNs;=dE4wv9eW%tVPi>&bC^VUtc)GhPFxTK2)hTh% zEcVEXqXFgNzJ*HCw@^*`Rl&DlN>T@_Jkq1=D^p8dckhj`jc%Ht6e;^|JgjEn<_pyq zPt#;pBpayJ2DC?lW8jart+VGfL^@N^w}Z1W1rkIlaq|Lfxo?eufIHgGQ;*}CnoUTY zB^cO1MX8cJCH{JmE0B#H%cB_WXd&7`{rW{nvmNr3q$YPKi(>A(5yuI4$I>6>MW&m* z{a9|_c7tbs=lkoCKNI=aA4R<wGxwgFimTq6oTNJ%HvJJ5`I_WypQ)$!t}&9H6@xt{ z8fON33`<DxVX%Pa^sPxIJ;Ts8Z4r$xu0ng~w|&j2CIa^|ot|tv3i}u>pb-~LTL>x$ z{s9pTNhW0O8kz4o)*1X0Vs>x1;(KYuJ5D_c_1TV|4pM5{(a~^M{25`N2KazcU~w** zBpDNJ)}WoW9ttWWE$gm=J)tHvVuV<?6Lt69WM^poT`@Tn>3O~LW6$e7Q9>hV(Lxod zl*)+?Y~fHw&+g8FQ`eyr`*I^C?>v9{uP-H{(UGwRMqGVow20inHHf=%?H-`EiijA} z=1tIXpil|vxsV#N)~Asxu*T@g?%LxyuU~&3E~!cA*WW=Ag2yNZ`))iBWv&T}%1!6e zAsJW?K?Z@j$$_`FomLOp&*ulfMN3c(RZ{mfsKr2DqmqWRP7uX00rzNAe!7N2AO<Q9 zgJ(zQ$EP(RHf@99x-NbLwq6f8XLyVi;d{f^m-8JBWrJ@+i0@l)9Vip{hE(+%{w8p2 z0LS|!B_4w-793V1;D$V52l9Bn?f#<gJQFg~XOXl8<9?#IrVXNBr0Ss!7gUE|5of0D z-c{(uA6{}m?O8|LFUZk)sCMzvI&@2K4cZR}-$An>q=7=ef1uFo55{A#L5XM063A2_ zld6lO=6kj3sEZ_mJxNu2UN6|KhN4OTO-kF=h?yXe&izV~lN5%Q$^zK}P)N4nyATST zGXpgS&jG|;8XQh%d6K$ziM4DysT5pO^Ll|nsO)r9U$a3?0;S0q$|nS3q->|y-V@Ai zB?hfD&<MW&<=`MXG?frccR+I54To?=%ij^$ed-VJKx)aqM>h0W#=v>op1`QU+uKg6 z`nDIj%9JY-FkMT+{5I(&MBd*1GUaJIEGW4@d7wk>(l1X7926sDZa~QnR2uqK1Iu&7 zlt6*utNy~>9)0JBf?T8lB!+~wFcfv*^T6KV;~3~-s6hKC&$b?AVB6^qw04od-}gzs zFNks3fbSDOhKjX=252seHle3DQ1i)v?@V34?<<TD^>ozsuYole>cYde5@c;aG2CF! z<@89?21+q_ztE477z~{DRzly?cV-SENZ?3Ktzckh@l8!lORc)jANUTxss5ME7||dC zPYzn)jI(B;I6Y)x44BcsQM%J^<V$|pk8E@-k{Wo!AB+xVHQCM;2Irtg<V>d`3{c37 zeCemR2X@(xx<)OZYx}3zu_)f$aIQN&;0hcF>_V<&kGn?`$W!;{Dk){(_ME;TL(_Xc zr8CmLRZ7yM+LfziPU{hx0FdBcY5dzMO#bsR!9-v9D-4;82oIjju1PQij<ywLq@u)B zDn&YmOKv+i7?z_6^rtmjXj<?v9D<G@`gYC{^*9-3GvGVC#NZE(`;1Cs38}E{!RUDj z$ql{<wSssHhO}_rN`LUYpl92l{)OHBHD_L)PmT}vulcIK^sM!0pPRXD?x23dS?UnJ z^R7H?Pp)gVa=F*GHRtW)8}gF7t$|Jxw%qrid)FzHx96_?mM(^1CY&&ElX=@`EP}q8 zrlYGnzhSHX-W{iVKmh@E(sEh@dEBI3eL-_~!@zZB#YayndaAYsS=%5A+}f>GcmuhJ z`E<nL4JZbFVzeFY_niS|s%?*Lt3rEgPTzS&=QmgdG1AsW_rwKC&x%c(uIw4w_qsOU zGxtpAq1)#UqJ6Pj=owF^qkqqw{yZ>)!vt|?V6}1}&)n}j403_z5Bhz_PiruDIvurz zpublfM2Ty^!_NGme%%?wIq=hhR?H3d&pi{UIrIN8_b%{JRoCMGnMaa=49p+_qDCEI z&{WVOp%x955b{6^I1vH_6|ki#9qp~f39Yv(6DA~?IgZ*}TfM#B*1q-HU#qPJ5-Vni zBta@qMHC+aTf1>UL#0U+$o#)+pUDHn-roQJ|NH-ce8`-A_G9g}_g;JLwbx#I9kWz5 znbMI{7SO{5dlt-6U#I=jzdCv<J<4Qx+J_)rdZatytI2?DN|on-?Lus<q%AdL&C>lc zp9bLFrQr=SE2t)3dVI(}sJlXo^4`>qx$G;_I)YDRvV=f#GWY?L%!s@>{~)(ZXe;Q{ zo2xkywyhT63ix7Ek<1$8jqfpGn4v>zl|9-J)K1%?O`%t<tWA1f=B|$PIzuQtiuoe8 zXQRCuwsNGPrPbVGk*$~QYZt6z$cFEp-o-ast(}ruG!3klFI(So7rZ>_0JxyIC^%(l z&|an3`swvPbWMD|E9k9IlaCM~96*Ezv<fn#P%9v71f9_`|B^toEI(d0IS`$ns|@l2 zd|7MZi!}~2(V7bRoi|pfCz5(mYW+!An2YTvb@G_y{7IvJx_)w>e!3~3a}?TZF4lPp zi=jT9tFYKrGeYMpWbQbgvb9cak;Yb3EQnV2M(0UW&3V0^pH`rrc*h>K!2)@lyTqL5 zwO(_0j3Srb7DMSy^aicLi<TrEa~#{&Z(IA3)pzd5SB@KlFg3tl3xdEEfXA&@fja<D zlvGE&k$J~c?WHHDL3r(@y<+FkUfKn*r(*L?!g(vZEW+JlRv!2KV$0sno?ShAE-rOl zT<MO@>lMm&4^XyCQ??9DTE(&znbxzh#q60V-*QO2KNfym`_~kn);$|lwfV|XbARnS zRAo5ceqI#5$&3#l)Y01~b@U`y1B}r7X4`xw3d%>+B^qN|dy-wnv1m<i)4%`dD#J{8 zemn1E&sTaKyQ9qHO6k_7qGAtHc+W9eqk4`lWdr^-p^*W#T1A>GGC^jkjk33&CwryD zVOQj!C-RXqG%WH_M#%Y;Eoq<HGB|M-sTRPXxy#yw;<_(+MOrQql+X@T_A=S&v)+L| zJE{B3QV}@@Yp+mS>1Zudsh<jBMZTn)QLw|Lz{E3kuu9mu`LTISJ(MnR<D*MHPN-pi z8*@cfOWBTRMLT1D*9$K<YYl$ax7Ktg{+b(YlBnp@5;d3*zUQP7)tN(%6UnPTPF^M0 zNALL*+zYm4cV)jwXA8kf=k_*D0ZY%6G?S{RP`{@C=#vb%Z*p|HN1hN48Z?%8zTZ-0 zZD3(#i_{JfmS(d(W=UFvhIE^nZfQ-}`CmP+clE{aJM;#ygOh<p>Ls*1o{h4P^}_ly zkSmhDMZ%T}wgn3I%u**wXS`+TRBkduA&3}Sa9E@sl2PqaH>YbHt-ej@3nD<?nUQ!u zH)%%?*0!v*LX?3hm0xW#O4%AUP%1dQN_`ikWY|20`D*PBPCT56_ua^_UnRY%gId%# z$YH)p)Iy?`FRKz|Ucnxqu*lC!L;2zWl!86AJ5rt%FIZ469)R*0axjZ_EIT}cIE%m; zayt9bC3=`YZk*-x_*y*8>OxO**9D&OEuLYVJ3u8-+r+grDa|uEg7EG4jNjjsVhs|( z9I2Vfz?4XjnvU-uHH!^NJ-t>j0ZJuZ{gs$PU-T?T8w`2)+fGBM#rARksH4k0R&Zdk z*=I(kAcr8YxM8+#&(uh(JDL?;?2NB<)t;!MqgKDUoPI{dQHgTi1u?UX7A;uxtjG%S z8drR_2u#AMb39X{nbAegCuFG(d85`|Q)0_{ql->PTJ0PJL_V<9{At-u%gwEpdR!Er zi_K$AebhwG$|I<L>RLh-&kOiSo6F1;akR`yKg7#*n<{&uBAH}UdNOrQ=b6ASRc0BT zbtHNZR4z-q&Jk(XbtY{!8&6x4rOJZT5ZGpe?ghGR5IiDCe2uF%r8{9S>P;A9MFst) z9spU8yaM9+y-<RMyl2C%c-fMGdYP!I^e{&2m(Y&r4{qj{UhJPqIRfQ63(B?ed0nbi zh;fHn20g^*FHwg8VOm8Q|9UAc!)Z-lix8w#x0D*fm1JJ+K>@f;xZ+RPf-tXoN>2)V zsc}wiN#>?8t!wdoKjCTabb0=*rLKc1KFF@lkXC}mDp@~+2J*!!r`Kkz0+q0qGnSYg zkr#4n4-@fN&uiyzn~+FDVfkZKNpo*k&oOhJUI&+2%gUpa`}nzDv~+r<=-O2Bu@U|t zevh--eDz3de|UR1*7`n4X4?me!^650wtl+3CDwXVE5xD!JZ}Mb^{CkoV6l_Z!1zSD zp~arHitUwRMY`Sv&g!F{jlI?8-ZKhTo9&RySu4~fpEclB@x`FsTK&P<>Lp>|ysg?) z_jTOA|NfTycNMhU-+8~<+)MNGo<GTNhS?kWAhX)hS{=>Ue8i}}!eh(X{5SnXI=_EE z^SV0H;ec^efAu{`Mvgc(<r>xZ@2|eUrTYHP>ibpo{kzN$&A!@pC)}|sl_kM9$hnDC z+i1x8f;>V!5-aSJ^ou0?XJSpAx08?~%j}HGvPfjQctciY!BIHPCgTRwAiEZrZ5aYJ zAn8i-Wu<l{`#wINJh{R=V&39!cZ6^2PPNZ=-aumeY`B0t+*0P&R>@N1H}A=R6z&(G zQ2`HMob%Y`kBnA3+cIt8nYNJg!v~W+9@}D~mya~R>TJuhhp)9;(M#w6{yP8jRuLms znD@A<@9UrkF7epL1-<c%!?z>mZa+)U+<Hr^vDO~GNU-^|e+AEH{CerXzdZlHHhu7~ z%5(EmU;O-!e>C=iDaDWYmz2G~Ciw7~mJ*+vbl*3Q_r*)rEjoDqx%<4|8a{UH`<vA- z%hwHWdvL^46Nd+WxopMFZ3l~+!{7bIWgBwa&a}($F^TSAUVVLGw~WoeKM}Q!f7^-E zZ=OF+KfjlL{&45n^ZoF*1M%g?V?Y%WF~Tbdo#Zc!p5_#PFD&U!{d8$}>W4RVr?%bP zovOH{J0<yK^X+E|sNuaI5GLU1e>OuHnD(<<gi1k&*#Q$4PM~iK0OV^D4l}0-2X#Ce zV8XZQcq@Fnjz=RwyzH}#uoeCn9q-Zc-_Y?^SfHQnpJds{-^=5zzq94}XX4}zQ0b#@ z6|@~$RJt*8^ji-)ekJ1D|3`O#`W=_uT*)W&@P{i`iFnMrLoNpm1g!f&{jdLL-vr{^ z(rBCdm#MR^y5XunOz)n4&(-m(WvnL?pEG6o)cUEj3Mvc!__;q`)q2(TtM*>?)>VJK z>ey8$u6ncZof#*;z@EZq<;|b+vndO&Tyo`qUHJ@Fw|~5{1*^P%TP({G3xH?*8;gC_ zY%FJL@EU&yR;yxFCI6r>4*9P9RGX?6?5S4#1A8i#<NwjWul(q`$Gd;|)SMq2DBV)+ z7!lcx{Z-lPMlblC{|R#|hz%M0+&{ne|IEIsMH>45^FPb3ifzh}fBkk<MjHYG_7d{1 zhAc%);Gz!VzWM2PRh_R{`J~MM8+KL3tK3DR-YKvA@3E`uVLK@8lD6unAfEo`8)7f@ zI0PweZ%IG<^T@Mkh`p5HDmZthpOW7HuLygo{&4?O^dx7oCz^yFOT=qAk|{xx^1scV z=)beSI^7=XllD~L$jLk^*Z;frU$S?RChDgCllEA$S(76tuljK!Z4H&Rg^l6D|70t2 z<*LpAK7;}l6;In#Pejy$IqFT$en>f(PMNw*y-5oCUNpL*))pnQ(^B~kUzK0jbK0@} zG~Sii_oHE8Cm}mHOI{BeO-rsJ?HbZBjJS_E!sbQogg*>q{U7KNhgw~*s>^9I!uyTr z5mCd59<l#W_#eQ;Ktpg$tARGQ(Cq&s)j*LWe&}2EutnQkB>laMP1NVsqd{q@$ql-e z^0tpR)CjxjT)jI@I^uWavZ0JuDsv>`OAkfob<#;3ji_hDD21U!FIsuL$$0UHg<3mx zyyq)jj@_x6BgC5fQ#DHY>Y)gAaaGk_nWBA3jwVs!UBp*O0^2oFz@1HVjJ~+?NILP) z-Ti9iPD}arH?w!J-XlF<QI6d~W6@$%{kaxyj@HqY$J3ixMo@+*t!aP&y&tRL&+Ea` z8avc=dT%4!q}q2`$)H~IJ#)VtG_z$n8o&QG_5%aDy7xR+PHL6S{Q0kNMwi>P{t~(l z?Hp&}m>cFec89Uu7|<ignT1=Eu^d>OH2)R|Ix)-I1<&zpnCCM0c{Y@~9ow=yczP2D zvveRQanP0BQL&2ANMZ6)&(W-u-6v&ts)s1cp3>TCn~8|JBjk>#>ub*6w5tg1f5xT& z56^}@)rmv)YR9g_YiW|kK$zS|vDeM^fg;75SLh;}OL+8Gp$ar|t>!*Qi@7t>VGFE6 z)J~}s(fxTqV?;k1{pL&+YRtb2hw!XFW(Y?uIIy{y!0cuhz!xkC8o>-G?HHT(f|h1M zH4q3aAm(jibaH0%%fu4%5;2h%rfjrNJ)o|NX)VGE&xY-&i`2{Cl`Zj{8$BC$^H^#! z<+eq7Q=!lGY!T5Yba{88h@-1{Cu6V164<!<9az=`JR54Ar4as(K+qPnsdf$D+t=RL zs`f<<<C^`eAB%~SYo8!@KqEZc!Z>(GmAZBS!QdUu(z#V?l7`@m?UnS$c(Kl@BS-Qh ze!uWKpO73>BI<ab#q6eHLX>+WLzuQwnoE)&>Ue(CjGk0G+1N1{5ud>UdX7<WwBUfb zIICcrW3SjNL1|N_yFcrxXXY5@F)HwTHr$X(yqn?B6txeVt!e6CX^TXYJVj__pISu> zi-w#l6o&lyp}cgmECG|rqROod9J3^yV)w-<(m0k0@;N^{i%e6bc220wq#QQpM&8X5 z9oF7=hfS$%HSGAps68R~usrK-fJ7q93I__I$nAcg&9i<wQB<DW)B)oTI+v<DYK7;7 zyoGI8H98js)Mb|T#X8!{*F=h@5_L){)s-@jJue$=VNg5OI`E9uKgA}gs>*MxDeTr^ z3_3Z`HFweyf&Z_KnEI9WieYvY`kE@#wc{D^4@d*VOhC}g^Mc->U_;F1I;K5?yM&^g z!pcJUx#&vKJ7F0iw9GPRsNc}-L3{9`rJPUqs_(FzRW;AMl&)?3HOaLHQ>hP9Q5|mj zKmgrqGirv>j2>Q+SwYt-*)yscy1G>!AF@sgi;Ctv&Lf)ICFy5iF4H{>YQCjSJ0<P` z;uyCknMBPqibT=8>TSZ2ls)8#Y;me1WT>iI&S86%Xkdai^COg67cEt<uLHIHX2Y+b zsH(^9q02lQ9(bIvxhwIWH*)Br>cqi}gc?(wy*tvG1)FeGXLDM$r8+wM4s+v^WP}Pb zHgjLEFE)DxW*&##{*&Q@j^Q2QZQ;f*t{}2o!?uNnnPpx$M6}FXaNv2_$7r+AnQPO5 zodhB;_(Vk{E4eVBW9nAc8ucEUeujsW#_Fq=xoR@`9UfZj+0c4hha>jg0IO82wnBcR zH}cCIZk)%FDHC~*Itdk-y_@R8G_Kn8zyPWXJ8E(~8y5}tY@ClJU1=(D$eX=8nlrtx zHGJaI)lV#6hJBO_t=L5|FAG}Ycl&dnG!H-dq+a;|U(hWq-Fyr3oEE<)&m0Foalubq ziTB)*Lmu?#`>>R2jU3EMC`aO;J<`5%@1bD}>vCroqQPCg(_G(5zdbJl7wHTqI>!uS zLZ?E{<i>OUAnGJ@CzI`Z$f&HUD$?gz{pVHOP-e7Q`*x~d5YIsB1MVE@DJ^m33aaQ7 z(}S8pv#a`vaKGx7<_9w@n(R`4wR+<QyQx$Vx`^HXOHc`Kvp4F1`UbSu-S9Z`#}=BX z4*f{?exCXe@~$>_$vks>p#IYT#z1~xKD>e4@r|$24Y0<&Wzq=sgP?w_x>ZMZRtnSw z*{CIA>qUbVI>+s6)S*~J-rc^W*Z=m=82{Vm&PJW4MzB_^gSSE0j;VX%4L_rzs&4SJ z|IQX^aYqi@YK{eMsf`vI3oJDLcn%e7%*-8d@{wYx{sKm6^u(y8>LB!nQaL4!DzYPu zaR3|oOwisB#7~Q+ios{iP%w7Y&i)rL>dBjR>s~=)tae;P>)~~(hwfB6{y@qDGRCp} zvczO34rg(QrXnx^&e^l*n%i#@?%VJO>M(c49)5;rKz)`w<y9n}qOCk0JE0%*t+)T6 z`-se&2^%n21k`kFgbEIHH#Ae$R`b;bA~cJQ!yyc0zz=kCRWT!p9&_$9xz)8Fg^ik# zm_8e+wU{L^|3a>^NS|}{!Q`X`nljYRd#Qgx&>43=rCAf?I0eQPeMI#2s!2GRpf`Il z16l5NHgjvsXnH|La@Z=N+h8i0xnPypKdF??EL5twWI8#rWrpTZs#7OdF~=4zs4Qra zsV?gue`4o>nL6}~fzKYZz9f@6I;n$ru|V;|zHeF}S1HscIG3zmDCie7(Jn*%(u$d( zV-88oL&PBezy@okvTRN_CK;FUoMC*%$mdyPTxwjxv&5Ka_<7DTCK%&+&NVJJe93PC z9Wz;=zay~bSkV1C=Fbvym4@!6z;vU)kP2p?8kxeg$oQ;r1<w-Wa$_>jIq8b$rYjDl zD_)qccuBhAo26pbLI1N1s<Hk<nC3$NboDHK%3ki8=fus%`oBX$uc}`W*V85%51na- z`awFvWkp=8)=Mc?@-&zt6(VB2+#4wd!Yk@4r$Z>w=XL@z4WUfUwjfMSLzttcO2p0n z>m`?6Y}odyi%y3!SB*?Zq@m1Lr{qutldVV}3q8DCq>NmFV6!j{r~~9kgOmo}s9sD* zq#L(THKilcKo_aUEueWr;4D$!I~~qaweEB{H>+=+4riHKVZq^wl;7KY6669Lz)pA^ zT4%>|4RQ<?*CQjH4$PQBe)&0{pPGvqfJ>z0LjMePffcwmnQ6X?G0m&WO@zSXGy-@C zSFcv7UBCKoLB68)%3NRQFHtXAfigh80?1cX6A=Q^d^HesRjGCVJ+!@Qy#-{hy4woO z2ijhs?NzrCp-1BvAlMJqji{Oi`-Q=FPihNY!e8E`wwg=z(0tYcwoqMS1r}i;#E>OF z(5a({><8$rQm_BgYIV^dK<UGL`ME$kQeZAs2ZYrv^xv%ZSb=34=28uFsd`Q#@AglL zyp-A`e5R*elc+B~=h^1GOnSI7(q|84H0Rlwlk0`8>ugn;*N{03hstfvW1$+z$tt97 zlAIWWu^2GqdoVPr+WbfQ!+hjrehc3WeXhIJ9?H?YtFk%oJW_V3OLU>`R$pjbe*z+{ z#npye0Bym(=IPc7)C)(YH}YW_=p?3yPU4rCpb=FPphu>0CE^Vl6i5XS?tSZ9zI`Fr z3Z@xFAUsennojEdjqv95vcFJ_>a}?E2il~5PP36*?ak9zKQup9Bgh?eJS*~L^Ht+T zgp_t|SML&EaI|^OrQA3R_7SmIGTJQmzw6uN;RG@-`b3!Q(I<rMN1tFt<M%%O`yjvV zwK9dpmr;A|BLqN!^hf!P)gI?JXm{Hhb;uGh?-H=RRj~(tPGWb$8M-zYx{1@lr-r|O zBv|ABpvt|X+T6_n<=&^V`Q3fQ9o8?y^^5<vZr_kJ|JwK4%e+#hxx;J_fqJ5rr*$y; z8yUFhZv+c{SS#y~byc83{qkQ2Tl(&|D8H-9yxuD|HAbq&(_SnvPsNIzZhK>~vq_F3 z)qKWNeJRY(idx2z9c3<0byG|PqR{ZBKOt?Zr;oDSP5B!XO8QDzU(<1k{vpv?;e!N; zw2Nyeq}|O@$09X1loom4Ai%h*V-?_*U!}fwCwOt4A#{COcH^Gcb)`2hh%WQ0so-1{ zpPz@ZmijI@#kmAk3xe^o9CJszaqR)l2{UO#xV_BT3!!m=OpO7FwAiQqwubV-RqaLO zvGtjAoRMwz=o~KA9A7Qtg9*a;_ziBA@qIv+=d@=DD063fxl^b%TJBOEScR#lXkc)} zW|@V{+4QC=76qNZvsI}NSkNOc<ou3{KRPm_O1)u4m5F`A%hthf!GVHp3xea8s;__y z2gV|NA(oG{#PZPB8h_N{q53a+&3dQ9Fc568<JG}fy_oDkSo&$bnLm)+av7%6wzo5T zOSE3ztu%k1mD2(QjilDjwjf1LI95O0zsFEMs3O)o^*~)Jl#kXRUde#Q1?ap~ytFS6 zuRNt*V*-Tl>9bdbM)b8_^Y-ffQ?300mQXz+ev7GLDqh*gh9waGh!yTRIwyDzTYU=3 zh`XMr`WD3Tn^;jMPUnJvFJ5{4>2uVV{*7L!?546l6h8kZZa7pM2vt=9F%TRL&?>bQ zD6$j{796cUbC!bf!Gbxu;KiRPn4`MTh@4sD!oh-LbV1c{W{qRi#<LVWf3V<KUGTS` zC^%N#dzONSgw<MY9H$Ge`9#5Ss`M-cpBOBds|$YN69sdX`z!_T7%X_MF6guhde+}g zr!yp;^<O6N^tp$xmBC{re5d{&4xU^6;=xaL<*>nOM(Aq(6DX$--UxO3Sqcj4P4~!1 zU2x?m3XW6-XDRsbU_p;AIO!7wJ?i5JK8fnG!Gd00@New2Pe;|O5@#tWPW98Mj?x92 zPAm8{k;hfzSqdHz2F41O-dyJ|h_R$sE;9dyDk;~x9z8jnveo3VB9D_5xkwn3s^Y@2 zUws>f5!;`<Fr2b`*3X0$=sg^n&exfKpQ*D&Yy8z_sgu1N_bwZ6_K%ZYU9{Ax&Z~hv zVPtnvwW$SA;;}74F3)|43Chz4Co+=flg!jYPq-_XwS*mqZ-UMwapn&6YWe1sweP<D z<5TajjjKWn690x<_9X?|JR9~Rp-i@{t%(U;(p_peLz!YIXLt$chO)b}xR<3PTtv9g z%k1#Yifna7-m}$gK`8el0p*K6jXWz@Dzo~_JI!*JD4RVgQo@EUqKwcugeOnk7ob)h z_>2{>;7_5fPrw&NujDFm`z$vMC`CyB_eVNrL}&S_D7V^leuk%y?&#S)p#zB|w>s+1 zCtC2xB|4ivsE#^6Q^!5^3#db`P!(X_v!%ARgjc;OTkQ61DDjVzUhFJlt)Lae=W^2W zl9<KQ8=gAhg9WK>yFGMix7}64kCR0a={{HLN7*@zSGQpfQ(s<3Er1{!-M7;)e1`lQ zP7(BVukEy(vtNd#fA7QW_UP=FP5a|Tq2eZcc=|<kEqCRb9TSbNnR3V1gMsbAk=Y%I zgAUd@(=jo%*67SmB+r*I@EM0+Wi6AS*Eswqf~F(Vc}fN`>gdk$hCG76@YrnS_n@Yj zt<YEcT#+rVQfXf#8AflJ3$q_9J<HfZ%rndz=9;?`?>Qoeip(uY7Eak2*S;7AZ+a}U z)@iG$>`sV6uEQpR5Knt|LI|P5*`4sp)771jk?Zh^-hihMFfPDk=zBiAc&!&iKCM(h zy)-;KK_BK-M{7H%C{6zpPeIT^`t7BDVj&3bi^g`UFQP=%_elVN3R6xTELG})MX}eJ zgy9pmnoOC1$r0fbOtr5w$o*68sefT)x~ii0GRex)lT1&rGEBDWWg_u5(a;s^SF_yB zD@K>)Zi4(zm(wRH)pF0h9+qZ|po9_C!M6Ix2tR7p|6Jlh(HGT0EB?N8e2O}T#y{4d zKP+&hsFlC2KmLsTKeysVD(D^ID}pk&S;ZRf7YV|wUkHPt_H&I{Q5}wa<XHWVSuZlK zmh?x+&^G5G_(yeQTD?J!$u30p7Ae>gTyoyY_A=f7>MfCYuote)&!kx=>@`_bV7QVD ztWjh{b@Y&dvD7BQBE3@&G%oaKa*1})VquSC``P2gU#AK*%(r|K&Xubf<Hd|>|7h8* zWO9opT77ssxh+Lkmw?GqC$K=nIuOmsRZ|a$?1O&`wSwitvjK8qi!v%e)HwCpS`fb5 zKL!CPTXdwEtM^PjkhK5a1`~q?{Rj$?+nSMkoLmfikhivm$7tFkW`m4Gq%$%iLS$6G zot8Ah2%jGR^K_ApA}jZ%;-5gog<XIJQjrdUpRuXLiVxi_aiKMv%F^$*>-XwSbJFiO zM_PI%$HGms(lOVgER>kyP4m++({-7tn~FrANlLzcAHS(M{hq7e&)HO#es@J$xT?`r zlWVo*Q442l6o<4i9Y68&hf=8#e*2?7t4Y%JpD1ah+Z$^T3UmADN?XlH|IF^vxmfVI z!%4flh!Hr)2xa>J>ds6${k?9lzt5f7s0&n^4e80JXA;*xs-rqa{e{B@F7?C8W3Q^Q z?97KynCy(WcOm=8k6>wBCMwuQC3#So7SXq$yshGxw~txx*`ShMO<3wli4JC(UALr_ zhCd_%ew|yzEs;DSFf@c0a$wP&<*M@3U2bFD-oE~5=pwVVyQJN13ytXEF&vr?IXq9c z_9Z+U5`|k=zhlkV2hCRVej%HlUC8y>iNrfzYi2gdoVW6Xt=XHsKl&rdc^YfTP7Iy@ zX}-WbzbOT=Ejb%=IK4!gGmHSe(=z|5U9%P2gEJbf`gWyRNPZ*3n~$VDwB8OY5pI6g zSld}+?L%W9AK*}3siE;Nr{mSJw~mZ(jk<8Ml^Co45j`P$9(n48W~3D-J0^+KJK^+J zm~+|4!IObzKU_{-&3+G~_Jnd)v5k@)tKQRi#hN`n?>NTkYQo#8)NSo6xt)Nj`sOJa zln<!uWUE@)TgAmixXbrfK^4eE8N%7li`;X36nD^y=0-X_GaRdjhwpLOYSK4H(()gh zB|O1I(C0tf0*O4|EO>Lpc8;i@bN=wiETHdHW$-YJ+&KoRJ+X^y=&F5YTRNTND064r zSt<!~I(e=zyed@M?$rm9U$@}gUaaBt!Tin&N7B!Pvs*Z&!0`gds%~hur_$B^SAVvg z)d$jNR-70uGN-*Xy`+cDV^`1}P*=TybWqwAuk4z53|AKBju8nvv{KroCbAv`*(Ddh zg*u4ydQO|soTyUiR=IeSv-_}I?ZU)7tDt55Hclw@dE)}lhS$vPoK>rfvp^j|us~F4 z6Xa)%{7~Yi*6=%y?gQr?;3C0Itv!1q@7Tm*n@Co70NvF36!F&9bwMoASjq0wv!RzW z<eiPBspu`e>OVxN?$F!wYV%6Z#(jFjUtPE>bV;>2tC(eeeOm}&dDc>bNMBxp0fNXa z)zMjj<XXtVa0XM&(;+cAwD_KMX>49f&0x(%cXFvd%E}ui)%e93mA&>+&fK|ksV>UZ z$4wdBK}|Y>BbR{>$F|M+KnegViY(6c3+}d5aWXtgE~cdD<k__+8b?DQFKbMtdKcBZ zoVxn|qzpTFP^gisvpb6-2OWDlVK4!+o%@xywK#&Fpna)lL*p09P~9Y;O00(71<E35 zQm^<yu9-K_m?Xki^Na$7uTIybUFuw&lWC$-aLJ%^iMewx_fWW<*vs*-UemL=fTaWJ zZ4c%p+J;<i?}~wwSCpl6|1tApS#I-C^}YWMuqG%RHHXPH{VTlhs)}7dt?~M4)#mj@ zqArPEUsSNI+FTc=sj=7S`|79;6D5nK6(J#Wop8xWXHQfIV#Ra)Ov;*3x3#T|l}z_B z7*1YU&N)x**?)e^L?0Ats`T4!Z>^koF4`XR@6mNSA<<J(n5RY3G1E&5FAsUlt(y%> zBsz0OTu8>~I(akKIr)vvExf#LTTMo!vom=Psu2nGC0*f<>@^~5M|Gxd;Q4|^mE45f zvAKxZl{lDFyG`WXXiQ$sb$X|vf6cjtd2)nhr-5xfuPr}+8}-&6w2?WxBO2pDcJbD< zj0M?d+!EC<9O!Z&mZtbc>OYuz94CjA^Q(w{-AWGA>4ufoG=$Bm+eOkHU~Zef%-gPh zWfkYfa)umYmvnuJXJeu|T3lil&y5z(HH#NUix-;f_S4@~AEqxPSf+kVJy2U=*Xl>p zm)#>rR?5oDx|=ID6UwDg@~jtk1nLfr7Bdp03L-0?(KaGpp$^<As9nP5&=luD9b%c0 z3x$jY!>VY>Gybx|p4BfEbZZwEcbT_8>SyJ>oh?DXTc;K|<Gjf%70wLt`PdV$5z~@f zE^B}Xh8&JS{JK2V%QitQBBoIG4rpm2{;dpaFIaj9ap`$Kil8;`eV!-ZV!II#*BK2| z-|eXrmj2ui_$hqz&Z~ketJLDx5J2z<5}IIbliNaL%#!=qOcY_E)AEGjV|F<_zuzIZ zqu-p3SwS0`&~Fv&p~UBywlB(NvMn^xocj=EW@)sJffk!7m=0K_SrGfxS%KohS66Q@ zIM8498~gvKRkL7fvRP>fNpfPPDFA5+aeN%62+_>;GP`wrTyFJ8P1e+w!<@Kk33{Bl zIM+<TC-5qTiWym^)0Mr2JJHedT=kV(88CJooOR-N$;>xjN*soDUQr#LZ;zZxg{D=+ z=K9Z{x@Up<!TrLFpo9yBCBPtKH;-Z;RWiyQeg|`g78Y**%*L{e#${*;awkevR8Y_Y z6j*(F*=J!=zhGs-My2jA;3xinTm`8B4vj2B$x*LbUIOkK&dI71XGG4>$B=~!A~nN5 z&Sp-kbA&msW6?9aerKmVoGPF?**6Pv7n^0`PiSJwZb#Cx+gZx0qGh@2o)x;Cv=KF_ z+RB^R#TlkyXFhVmX*kW1>tB+arKylJdwX<b(<)X0wQL_tW#;;=c!<GTE0bVrjrcW? zv)IK=qTE(1$Wm3s{*{@K4W{m3Mj+*_sv1OpIcsSDlt+|7#Cg}w+zv2>;v&NmV;%Pq zG3`DO<07|p(x(^N$dSo1LsjRO1ZPxKKF*kGa0cg>l}J=Z-apOK&)i+5vH_EnjC4v% zv6b@ca?yGe9N>!e&HnsbSiWv!{gYLDj;z&F<!3ZMp7lp4iK1&Vf76n3pgbA=DYZ<K zC$Urbo1XL+wDhM*Tv0NcsRR{G=5Gpr)A^fLa8yu*RwA`}O*O+jNXYSQsC&*$IC&mv zv#hkDA!$CsX6V-fOfHCf7X>@xIgQrY))g!12VoSjiJ|dht$5KFO&%KGCrmTspB{N3 zw^Z&ao^pEDeTBxOK=KEjx0FX(UG#~+@NR#;XWcuHk)@27+{!$*H+Rx#h}-O_J=jIC znv3Ye;Gmbk%1di?<f9ceS-eKn;#L@0zr<?3R?y<v5SuP7V%5cUhFr!!zR0uTcaIRa zI5=~;*}k`PSjiu_@95HjF7i(!&9mX(W=P{p-FrLt{&iT%_q)u<LMOh#@BV%-7t%#J zmW}6wZB!qQnv!BhmdG#HtaaM)sHxv0xbHWX>z(bgsD9DwzF8~rY(&<kqB>|rSgVAN zkai0j)bn|UbB+Ber`Tzk$AXTV%)SXH93QKh_-J9SIVZhso`}4AGVc7m$er994&P-r z){Ko;<V3!7(uj;V$~+rpiH8#woTJNHYmYny4arPC#(I;t7+TIT@5MNjxstEG#Fzv# zxIw5k?PYWt1kWdEW@^pwO=D>7;Zqc5?oAQXlCSPYSgrGSkiJTm`GBgFm=b?rRhT&Z z*YS!;;ta95fZFo`&h1m|6ZZstOK|Zs+We#c1qzzmKYY^j<SWI6dsp|8-zypz2ur+S zz6_v9+c2<%iwVo$>Z$uRaS)%c`OmD6sOWN$oLM%;S5HdZ;Mv$^?ljvb%K1>D(;dJZ zaA!*0J4ctuZSJB3q>^|yH@gjb^dVQ+WV=x9ScJqgQoXYx4f=@A$Wc^_NI{Yu>2%7z zB0&x$1jD-uDt+EUVW+yls$d%4r*?Wa6wL{!3W=HPFN(b2pT)IYX^%9baJy$+0sT<W zP5UQ+d`_g@#d5Yow=FbG0H{XFrd^=@nJoE4Z4;vc+Ki{Z^HkoRG=NJ#2>=_VovQo{ z0M%ysjUeNtIm{3YV42fM3fA}{Jo7qPs3BVNP!V`dGq=Pa^0&~+M5oiijY<o-G0_LY zLgfwei{rUy$$e9zc6?Ad3%9R+UAO3RmZhBdzYb~9XwQb?Iha}E_Uc;rpNJ^zrnGyv z*Fh;4Wm?VkR?CVmyc#^dH3O;OKxmEmkfx1z$UlWv=1uxrKN{zxbLU;{9J@Nh^ZS>g z*Q9ZHGg-t^_mRW%P)otlIR)Dyog*`{WR8~j{eUbHIE=d2tka;Y5hya^i&IHE?lyB8 zXVHoyz!oX#T=4XgHK#b}tD<Mb0VW)aK@i4N`-04&*2TD<y31j#nXmvh=3W&4W{&A> zF3en$fgSv^lgv6tIU`@#yIOG{TMG`i-R{p>S#ZFbd)~$72~?ni0u@%2Wp|kMvZ73+ z@41W5dJ&o+o0`jZrBdaEr@nRfnaMQ=rN?o}X<y?p>;0f5HkCSHmIcrlN6P~3^^;|h zf_2ieYs~wl0xG^yL}vr<0WD$xW)#%8ppELnEuqm;<EEW#qY#+Hnj<IqqUGozEkL9< zi=rzs%jcTkaz?)GGPJn!G=KnYNr8wkWdRFeXe`pZER+%HT~Tw?te1@-+|F=Dbue9G z;s?kpgJlN#z*h4<y7YnrvrU_MohzX(f|;{k2No<){*^Qse=-VyDg%^7>7LHjvui@D z+-fiFm7E`c8RENNDki^}-KI{&TBAB5t%MNm7ek(Fissw=h7;;=v}GCy*16_O>I-Sv zMidu5rdTiUu-`FOE}PD^mwaO+pYA8?cE>UEy&!%X3jd_%ZyqLdFGb7ds&ddl<&BVM z&Y7Dy><k~A8U6@9|FpAlz8&^^QZ(}i8p|Bhm)X}`8Nb(sNdA)gh*<mpmpiq2y7{WL zPmXn{OG3ie%IvdcX6;|SNBwFs&FxiFmeO7nDH)N}CHD?TzOTuSq?~Ir+sft`NhiNH zK^4P0KYkfsGv8xKXFFxVSHBkoQsM7F-~RZWE)0lM*xfYygyrr~m(P~^W;@EOpztb4 z{B4<AZ6*G5a6~AJ2BVwBZYru@3dH#o=SQV@`Ux6=Vk}J_kZwX&^wj+dI)Lft7`m=& zpBGWbT;Pn&y#fhkTQ&C?IDonaDxH{uf~&JTIFq_2zSa)&Aj53OELf{JzuOK5xhy`T zab6`=1%i&HDnDIKsDu=s`AUGQKknrWf+ouG=IBN2qi}bnrl1aG?sLz``2|_%YCLE^ zM;kS+r)-V1D(OP?(j6mI&hjCx!2@3XWl#~Cp$yNu^JHn$?UQ~e7S)7XAnNARI-jie zAEm7BkcL*R`BHp=mvs()Xxh#1ID<3MIE3<Z%m$Gs_8!tsHFrf4nQRyk6tee0nt9QO zwXmU~3MbW)g$0yVem17v;sRPs{&QLFe<c{1+v#!X3NcITHyQFX;(1yIK%+-%a_|aA zH+l!;5O&*^V1fr&{A3gy4c`kPd?vokWuB@WLJ8Z|gjt&Mgc4dcC3MmQIp&+5jpgFk z382NeAck~gW3W=dAgbo98P6f%k8OA%nD4|g+xg>wD&+tI5_XhURTZk$opP*L?vwHw z`_1Uf1j2a6F&C>hXmBcs$rySTq%|eClZWw}9XXM)I-IT_pNx#gc6BdlQhC*y$?;`g zGuwOx1Rk(S-46&3stx;DsXl&_*TUccOq~T29JXr=W>^^DzmV%5GHW6)<Q;Bhkketh z)GK?0f}^rtaA9Q&J(^2n^OhqK*jQp9FLP^8PjDs%_I%vwwr!d5Qd>`tsqkNeJT3$3 z*)YX?=!Y`MOT?4V-ghT#xou~rmQ`|~kYGl%?njyg>VDHtCKGnadWgk~JaeKC>4Zp& zlVixd$W}YG=4d1$r-pmht%jC3(6T0|Skq`=^>-67F~vQMw5nU)&H7b3mTp0UH8_>f z5xU`Ce7StniOp5L7GzJYWk%_s>S4l}7Cd|Ecxr^*a2iqlJ^&ASTtn(#`##jWc89h2 zoqYwv3yny>ax#IVO%@!hV$gz6b;Z+{+t*xC$pO4M55`my(<2)*_X?pTF@g4MD7VMI zt~DgHA+Y_cU%lm@t$#VIn7C(=^#O`Lwm3MoSX}`V(d_G&bd9y3Jr`&_+p4CuphMO{ z+@icKYvBc~g`r&W&NZ(?`b<{kNb7J`%EC8SztxZ2fJ&nbm4;qdhpdvan!#66CkB?$ z0o6&3M;7r9+nEvV!wXNXe&;F8>8p_c>%e%yZHblfrFoT$;=g<EJXRuD=we5!xjTTJ zcnKtvt7ghlbGLtv@Xe~AKcMc~N{hKRP{jq9VE(4#ECh`U{hzNU_cig`{TD9@PL=Sr zOR5>A=`tmQ-<F7?N&A+tFigpu^nT-9|CI!%4&!H<OXrSdHae%q%506!E8=UMVz_@) z$QX4mlP06Et;Qpez^X_^VPMIx;w7zSRQ!8;kn42pI}%$F{-a+G%ZyODY^O72KV35; z^^A^WUgg073h=ANh}BFS0NBfnZg23?kOW1mqu;u|y&<2~haMG!`$bss$=t4eL3%80 zWO-P{vDL>j(xSPE_nhHFGs7RVYX8nzz?tdCb$deB>UFw83;;W*$g3CXfn|E_?Xr2u z9mZnX*(uj`v{`;<Ay?fX%C}c<u_$TzkU<3ji}b|H)nRq?R;{;L&$b2UDASIzIrAFv zhwlT!qcyI_?Vh^75>$l?(6?$sHc#C?B0L*T(4sv^18F<EK{LDY)#iM3_=zV(T^h=P z%F^n*VVv@GJM--|obzJn_Q%6<0LAJ>iTS+Y<7Cp_s9$3B2Z(YPHR@-YO4C%Ibjhj4 z?T`-fLY(W{YmQnln!<mu8U9m4Vfddv4aNYat4RRZB#K;^#M1WqH>eN&m8H*;{eA^E zeeqmb*{80#6=e=upo~~4a=lv{U0Q3MoG@KnfnMHzQ(-ILSGXNj!}nV_F=7(YKfSUH z#%K2-UJ3ah{4*P2$5K|DFU7xTGZW)q<Y>U&D8~|JE7K(pTK2}a6FL4xE1F0jk)z^Y zOr4gUct7#y$Yuu(;AsVNNf@16`H7@h0w~~-hwR}!tq?LR^^D&lHR+Qdi?+a#?0ykd zPS2i@)(|}!>G6~}@)J8D8At-5>*Q_y<GeBFM4PA$Iz=dx6Xc+St4?EX@odP_ed1T& zgSRt*vdHZBJlR$rIcj73K|j)hboo1U7Pe1t4f+(CTV@sFbhl3n22z%a%B_r_C1Y+< zF3;=gulz)DxlTZx{l!rpIk6y(QmKrWXZ`i0FULibUXEFU10vPDCLCxn3Z*>t+%jvv z97Gu>R<!Z&<P~gNO4&U1!52mEH&<)Qid4x$s9@s*m$=vo9r)TY*-(g<4spt_j@|&T zlaWXgl_UKl#!r?Y=%a%t!(P^iz}?l|>Zp-6<#iXiouM4_{*!d1RuuW7I-DG3)=Qks z@VBEnSZ!uDiQ<^qfj-_-_X`=19m*~y!}HU711g!8-XCy6jy#QWuWnmtI+Qbw8wLl- zOH0nF&`f9C5T+x2eF=SlG&|O)s+m)cif#Jp4rXI9!+|=XMVk^auZp{~Y@x~NX_`>( z?p=@DIH%vP90+fCVD%d{quLq0N3M~JiMsHUZ*rGyHl|OLZS<(mv;H`vK}s%bH1|Il z{n?a7YW7N>HCTOSeyDqFhbmdb!G4w;9!YCLVwjNQdGZ+aox?J_qj>M3^{><{NnS*E z<`)XtM1BGUS=RCrU_|V2lBT2iNi(c{rYCJ5HI66jEOZ|C59O-WzaT@;VDCfz9MA8y zlU#HVD>dex^>;89f}~(Bh`uEQ&?Dr_))%dVxgEXJme443WE$Ky&SxY|4|MoiT2NH; zbs73qLC=!xS0w+0U6Xe8yng;Rt-EBS-GXsh!Z_|VDmXjbuFeI*D*50l$C65_+paQo z6l90WD)nLWaVxe9Q^lZ<D+Ku>l5JO=yhmQ}&5pFKWFC0dSEX@>QC%i$kfy+~WPBHT z&d>+0E=_+^qORHE!TxP&DLc!X{iCF<GiA3$yBWWHN<Bp>I)8hy*(Kc{TF}!lp5`IM z88x5pZq2HhsygTDEFHz>R(2`7t~a+&*cCb0yZ61iJ)ZAxNsh+0%(MPS5Q68)zaN%M zNK^N4dNE4<kUjU|-O{RhAFYJ9%$1edaY9m&<cf^NY@%01bt<6}{$}vUML2MbypV&3 z+(zMCX4za66<88*29YHo0u^BHm)$^>#E9u7>c)VY^|rO*qZoOaauE!PbRbry4?XWJ z7s~23ye!)NN|$dNC|#x-HIrjy0k^lYEPyGSjE|ltK3RYCE2;huNKHDWE_!s7kmJg} zmf5h0QP<GJo^`*W=~iD$KZ~kbC~CW!$I_fWKdd&>$A_M}|3x~iG}nwvf8&+SQ};un zb{~!$ya=7)dTDrUoh-EaE}q-js9(%=M~I4aIHNj%uvTLJK_E0w8;=Hd_xnL-<lT$Z zqp&)zk}z^cm}BqRD))Ly_1ZT*iiKt<W79J{JR6;NG|#`3QbD_}L+ztf`U0}PvTVgZ z4V1_W-r1V`CPRL!!a!ZMmQ8AN&V)36Y6Q99w<rvX(pGZnW56-TCnFZ!3;>mhXH&I? znW;ZE0Q;JQebH7}Et%$+`?zl`3OYAOyNOP23XhD=@>TO~hHP_-e)sTh)^^e)X}%61 zt?5&`01JV>MQ^^&IyqKdcAe%i+>|JjQ6LH&gmH_$ATMy+;gzZ}K)t8}wA~VCsC!Cz z??tVA1Nu4q1>A5)_>kNeu05zF@@*V45{1^yhi)~^f5yP@US+SrdX?6e*RbluxD!S- z`Jxkeo+d*f=gLmj4NIQvSe;R@Z59g1ZEWvLHr3OWjU%g3gXY(a*)(Gq1V{L?nqg-7 z9YVh4cl4A@%A?7dp<&$-VLV~6wkYT1xn*Ln)}ED@#7ZVzQLu+<#=-J3nuWod<tw#0 z*EpN!p~Q8tBX%#fFwqZFoMgNhy<sIVR)z1LbcGE-VvERpPi9O^oe+vIUj=pzqEK&6 ztv#8V_^ag`QzQ7nh)*KT2DzLu@nLqtBOZ3s(fZwN$R$=!8zUzts^8281?p@Gy=0Q0 z*&v*NrSNSwp2maMMfLmik!FJ!BjG}EB2;zqy2!zBZQ`*aj+_%sa@Zf$$ux8F4CkGr zSmByecb-huZVLkv16X>}FGpTkELyn}?{;&ut!A`@9rw6r*lR|?4yAd+Hi<%O!Y&M* z%jZtmqG4ZXM9b&4H{?+J^qF_uYc}B4Q*^N@W5nby82M5C&h~PWPsAr&XV_}oO-9j$ zbXJq$yO0Knbc|(jCnvm7{Stn54g<hl+gO7ZlZQ9zXG|x$U5)w~Yxp~P{GLYrj5QqM z4S`xe&CsM7a=S_NVu{0JSk4mfpKI=pyz5CEa%Jz6pWRJe{F{)F@RsbhsLqSWO-f8i zNX+Ii0HZp>Qb|cB*}9txCt;;m9*7)rnJ+S0+Rx;U+QeF+r3oFZV0$L)tImEAY7fxi z6J`vnaR$9fyaKeyMr&e3IrI(4&^gi}!=ytn!buJf4ohYRGn00te<5xmug&s3RH4&O zU}s|}QNGHAnEiH4?+MJ1x*~^GaHc<+Yi9?wDRak!9rzo_elhtO#%OaF!!n`Gd@<7N zt&v6TcZ{M}2CpsB>sy^k%qf}PC6mVU9e~c!*$nK$i5KD0Av?huGd5bjP{rQB6p>o( ze87rFLY=GcavGt@g8x{-e`^1H`WQSh$xdF-AMufnuq8QgKYhk=etMMsC^Ov`NUvP7 zdgZHH)^u1MN~(;u68{)<qp}bcY@0sUKZcnYch3_GZfsQ^ka!skn49uMI$dT5UIduB zp-i}&XQO@-*D#o_OM*`aZ6Gp7x>Va^NSDs(hmpf^l?5ZLVQ`~e!{ClQFr?tk%#-O- zSonq>kDH}uoS{ldl!P7<fO)e;tJo8!X;ss4*rMb3{r7=6_w?9_LT;hVP4f6a<kDE} zPe@{=(ofy%A=XpPEir}!@>1TGNKJ3+o|UL2))c}X2#z3@uri^7_V^E^nk65Y4YCWg zv{X6>6CGm<jkLxz{k00ae6>L~1U}ici>0*roc09ppW=`}<;@175zG-g=;Tam58!3# zDW1a|xfgaipAO#^*_Mg<g|pjX$Ec~{NLXmW7S#b1fZNrZ%$`MrUQ%sfrUUcger7`_ zSz&2?D0?N?UKUvXFFQQl4krfF;t4|a42Nzn47%d=yC_-JUew9MXqO)&UgQ)VNV41E z3f)L!!_0a4!jm!^^83TP<a{b_9mTzA+N7T{qqg{UUcMz*^MQQ5C_Zlv-}Q6sJS~xH zCAd-5miiNgk`eiF6~DZ_3<|_TO4JN#4JImKHn{5eEcye1S=~e@nHvQc+&?`acnFKd z6}V@^;aC|TZ)hx=6)P)tPitgTQC2ddvCYHTMhT+RPk}7syGM_&9qCD8%=%yR3*Mp{ zlwiMkEArY1`MkPi#%k6-uCo=v@paI;KtM@4&@Q(KbpO!TXcTo2<Lj_=exNTk!W{^+ zp2)k|@HoGbkEd8h_BL%~Z@8m6ngzwM_Yc~s=ToxE>Txq0PEty^xIE2<E`F&BXDvF2 zn!Z*?$kOElW&Lh8+%B<iBkhmKE20<ldwW9>u`>)8=K(Jeigb33Fj(88`VDh!K#wRg zT8NOK+3=`US88ok2hE13tccz|IxS2#c{dxL;WyIZkLrNgu!&b8hN7qrT0~34a0&?h znhjoE`H2yROIBccV_D&Mgzyhm4INP;5p14_kf7PHQX*u}8r4CwAw<N);j-QjcN@$J zc{dyGmTW&WraGcJ$SJWz<Qv;5Cqc8JP9iQeRuUmWv*A8|^#^jm5=E|lmvI_pHaw`4 zQqR-f5~P#(EjXYrw;)c)8~r4i?m^-janGGnUf$^ziItBY(lI*XkNir<grf}-G#gel zq-V1P#0^&eTK;Si0$XzUvtb?)>=H+q51gz+blx2~I5Ro2|Ao^-RwApz5f0=Qk?8TP zZdZ=q$%kvceSt_EqxgVD!-MoaqLknx!NcFDh*^#w0dIt@Zi<BglRkGta)k9QH{8g4 zF7B>1Z8L_W3!UYA9Iq>U&aj{*@m{XvwK4s3B3sJQ{v2}hS;mSY`M&1X)yMhv0Vn52 zLzl*L3S$`4V1Vt!GSO?=)7&&1wX@^Nk&i|dzO=fNa9(#<SfV$?QQ$YVRXD4a_E465 z#&URLzHT1YniNznXvNqanZNI)ON24V!J^zmqcf73Jl7H(Vsn{N$FJ2kloKOcopLQC z#3_AWQgk@wk*!{}k5mK*P7M!9emW}0Zaym=ZAOHMIf(x2%t+_V<gg}zJ>jDXqQ%N7 zII1>TaIfWPCKn!*Q`_pav0HNJ8a_yl#E?Q?GHVls(FZ7tylQ>AGPQa?CA^f(i&`y6 z*C?$qO{tx098SLEbdjjMtt<N4xXkesN)06PpbeWc`o~&Za^RL6nl3Wm6K1)X?#WYI zX0W_mj($Y6O6uccy#><uZ6a60>A5Gdzd-C`&K1p4K&sh1sfZ2N;>C*>1v8g6y$EHf zINY|D<&%jlmNr*LUdYo4!7N=OfU_oYXDwAL$w;EPZ$Tx(hEIL(QhApz|BQ*W?X${c zrps6rs4J}^l7%YZw1(qMuoe=oGhlyy5cXyqz#3<TzE`?>Bbq9(V!j0eI#+s|HRjBU z)X&L26#u=KX#CsRmVuZcPCKSqHJ#b^RcDlac(82u$vcKi+0E0z^UO-E)?Ic+>8iof zM$5A@{?zO|d(H1N1%_gM!C={NJtHqQJJ<I2(3yBYbw=s8;UA2dwAnq`?$o982m1HS z(yPxX{gc7ccyY~^(&+|oc7VbFsaUO^c1GzhTcuTbA);#s=iGDs<JdKhy{5yn?oUiB zrl>CX@6c^8qc{cl=bG<nii+$k;)a6x_n_hVd7o=h;;*j75U|?K1Yj3EgAVd+xY<9} zaUh6g-rUzYek*yMYbG|ieA%fz6_&hys{ch85y$)!Q{hx9yF+Txb<}S28pcVv2w}rE zni-KEkfka}H8KXTLic{5eT)A6RE~BN02kAzo}Zs`fmbjyVD=E@3)JqogvnO0t)ilm z*#^Mr8sJiOzF<99V+|^t!OnfHFL7{O0p^A*8n%K&x?=i3F2Y&ZX}kc$L_9zT!dHp} zrF{zq@Ns}odOj9(*Y0#txdkXaDHkoO)SdRI6t`y0#MA*iMhF`i5k5~dS<z7R4{Bgh z&_)qz{F)TO0#tWGdip;!fnhB1kEhDM7Cnw=06g_qp@xDZUpgIR;McbRZ?YVVzNBs+ z4^I*`f%*+0?Py}AIg<2z2U;3PGT#FttROht3sk74Cs4ZbrM^rjGWR&P)YX`Zh;U~K zlbDTs$Ey#&`ap#4<Vza2@SS2=czw}XxrpOpbubr}DfY(GQPJlFeF2WNd;liK$D7L0 zm3Y-S(B(6$Z>cr{qT7r==Yk|-Su<Rrk?i=f6wmcMxgQI(Trqi3KPH<jDf?Hy0sY|u zqjt+KDwb@sq8L9qBOkd|A2a*nx42Z^=jn?6-Ri`kn_a4RNn!7u=fxa@(5HKzgy!#? zj%BJh`6rr_Q=527Lwsg>nMm8tNFNZbwP3Dw21Ubg`f-A>@ob!Tl0A`p`JgLa;XG>g zqRP4pZ(`Q%%bEguzS<1`9DwxT<C!%hHyL@XbiG)WJk%ne)Uo^tS^_yAUwLgYTGKki zAnRpjy}J=oqHGJ|sR$lA!mOV`G%@;l_-m}|^lDz(u3I~sxtiXUufKU3ms+Xg0uY`r zXj}CH&@8tzY*syug(P=F8GHg!zGcHDEWWY!+>9=ZE&H0JCuG&C6xWGw(D$-n**KFV z-&BZFXTS!VSD)rWmBEaq>i1+Mk;t);t-Gu|&UBtMtOv=Go(qxA-|H-qj)L?OGWHV? zZykiFu{$fw8H1S+xN>c2C_3*Ta$|?&+IsS=fIbw$k%s=mR=y;;tX6(HPLKanpw?NS zx+81Z@t_gj&lE_HMZkO3u?SG2pO^Sj@DdrR5k5+PY9C%Oh;L-8^Q;a3_^N)9#1KmO z^by`o#{RZ10mHLG`}JTZO9-)X^-Yt3&OSIKk-?0SPZ^RG|14&oAB6SXiciDr9D%md zKaJBk;Ygp}&cmM@XlG>Wao8idA#{s~bt_aGSu8Q`zv;98v|x2dBA*=ODQ6wz+bHor z9OUUk5kC7MkNIa2K7wdEFvwtd)<JF`%=C{3`A35pKW&h|LzaK4D{mZx_1ub2!|ZZ_ z_RkEma}e664e~)4`9Fo(CNk1z_#bLyGuV?lB?@n`U6Ob8@#U;`d(4jF=j<)xjk@p2 zbobPSnYxjWCSWxCk)Q8%*56*sI|jWvVAi`R8R>i{ssqvAxTENh>b?BhTYgF?M?&H8 zgmQK0r)XJZ-H`Q|%f%9Gug@dN7It7x<rQe0qv$|;y-z1Nops+6s{C(pnck0!1fsvm ziwSTazZNcj329vNbx3fL#VU=91hG*j$-<>bpb0J#Xs@556P$SA;=t7EoX|*m5)@^% zlc$BI#O9D$V&$oq$meKp(O@ZAL}e@cxSh|Evl>{Pl8xAB^~oTlft=3%oO*rLIVGfA z9HPwN2zDe~xqo%`)G?|?nqk+B7?{-WfrVUp`_fN2?)r}_zzq`MLvMCI3R@q@5IsG1 zY&^~S75c5I>pD?;$&0$2LRPLO!)`TiFsn3HawW@gpP`H5JA<cL|CoMD1Ckf@=bs25 zNgV(*m{kBtF0(!ivf82=?RQkassGX?B>|tnqogH|5K~^8D!Pbkwtun8=o{{m$C8S? zh<n<7x_KC9+^1-?9E843I_@RRV~+0by1%>Wty)jr1|m6<8>L<?Ldd%tBN_}@u+7{_ z<TzE$#zpKGY*n81_gOh}a9%RC9AqsJ6d8@^KNej{UZnG03MM)|@rNHGv)lk_NvV52 zi^x@#&W>Z43nv<Eadk#l{Ncw2GcME_;|+fz%Cmt}(JuV&8o^U|#J-v&InzXoyHic( z1!Vwkz$ehMYxaBAUBY^6wcOorEQZTF8;WN052Ain_kIS1dpC)#2hyLMCW`mr^as|v z>4|==bR`+9f-^Zi-9>EEUqHp&ubQbx{f(dQ_1_sTEBc-2s%JYn^u~RWcFn?g;fR^p zyg#fbmk$b(pcSFDmsqFjsN|^HQ)1(C=U5rc?LSVXO3nH=$omA9`9g=RBF~B67_>*C z`qstLGXI3FQcwGA7E-3ux8w*?wgS5Ta^WTknZXc`1k8G4i@X*^b-=7|;Z>$S{tzUH zo;bIc&xlKThuoypuON6rBY2)5co_)JCZpHN_=I@#31K9us}*d@o$cis8`O+|1`<j} z0_uuMV9=!=&gaqF^ej=@No3kb3+IIWo+59$Tqp$1jaL<22?S0MzZ^+TxO*AGKZeob zs6~*rS@*Y-<+M+C&tQ+!!8@^Sl^#D^KjE0;rvRXx6Sl(M@X8^t)>(z+i$T0BEDmoz z?|iE9tbar(BE4gnjsE3qq{9e?4}X)4vh#?t<RQJUzm<2C-T>F%5X^2x)y>QE(C5rp z{e?j1g!%?9t2G-wa@M{~BL4F9Q#++Oo{o^Gj_4quRhYoieuZ>w7qJuCrBjNMH*nU> zXIcSS^gjWKk?C0hhNHCtJ-qoMu(jhoLVV>&41JvXz)EDcXjh$=qJa_jjj=H87Q-LI zTQfGi`Fve+gt<<l1xa7>O6$e5;r=`lC$uLHUI^FI8Hl@pI4eWqAXjJcBagP3uSn{2 zt9F?O8VwmWeU;BLKBV)VOw1wMzLskIHB4mhCwst_i3Yp7CL;&J;KudvCL>pe`n_Nb z@h`3(Ef(t8#g|`uTBR>T-ie|FZNr4mR^-{Jl35bOZ6_>}`&z7EqO#Cm!M+e~nR8>1 zPx$tKCqSI{%YM$J`S8b_&EMv>EN7vk`S|27_($2C&7?UR=bR_u>gcN6^>2kn%139P zPt|T`1RTk!AOa?#@ybJ|Ksx8*J$nRbR-q%HA<Pw2-A3r6q)W=JO=Z8O_RZ3*Fk3%p zdP=-g|L}+GMH(gaAR&uO=CrC?fFj>GF5$~A3;nM6oZiFl-+(hxEIOGAxT8k+>C33O zfT2b}YT6`seM11ypD@qbB-Ee0VgdKC<gz}laE+!$$x=ZUb3d65V5~Ur<f7E5s&ejs zy^g>8n}+!5AI+o+W?EbFLlcCEo~JQkp(JV4HeXZ++SWb9>qTkL2~fbgpYz_nPUcj; zE8k__FWfzPJzTJOfD0BoyXzaWp<Q#<<dAmmgzF9=s+o8xn>E?2Z-s@kmY##ZjFDz- zF8quH{WNRcUQMychdQW_@mxlfQ(Iku_U5%5PXo^OVsdhLr`d;D$u#jU!k=WSCNEW! z%ZFFgudkz7^IVWYByj{bc!!;LtR>}31x<fsVyKrcBt||Wp0#P1bmvOewp)S8XA!jK zdfRx?yQ<pDR&tUw+??+-7dvYY>NETo!!M?y^L<md#mby=2<VKJ6^YSQkvv`2)BlmA z6sc2l;88cY)OR029mV9a7#@Qx7rFG{E@9-_Gw-<b>tE8DSghxrjQ`*@Q1NW6-AQk8 zUKy+1L%=c_j@Rxbj1!V`R)xtFxKWLJm|@qSDK=}jleSy=ZS7^8bs6Et`YIZWb5vZY zc3sVRVVSqREcdN9@se7W_b+eB!}miTZDrGNA+(gd9LUzb(Vf!dV$oxbE4;Z>Qs^p8 zd3T2IaT^O_%Y32X@%cy8yQ7i9&NVB&9KqfgxrZ;-&rQ|jNXorTd@)L%g=eg3)0g?y ze3n*o!VoWYH3>EW^<zQ3($$o!zgSQ_IkIKSZ7n$g^%$dr(rv&|lSRJF6=%5F!X;DV z(#kDM-)$XYk?4xL;@A5LxT9Rd)N?C7=Sa9oI>4w&XP1j^Irvn_+5|y_m$k-frOh*3 zt1T*62E3L?%LTXXa+}WK1;C1QuD#MZoR6VMK8Y^jb60i4SMb&!+2W2q<622XpU$M5 z)Q5u$x%g<l7JgRO@2Qg;g5hU%4}0olB0cR@&zCV5&~JR7*F{g~sNeFADI;4VYTo^R zq%)k|g}%@={d-bw&6mv`m63yM<4;QMq8a7`_a{M+FQykfJx+a7m+pOfEZSeSQopn~ z+N-ZFHEP^}`0SiTfmEfFPNf&UqS(WFL%<eCwz{drTexfWQ_F8z_B-3tUUZhO!?S^K zll5KM*p>y0Y7dKq6e@`vF7mAZ0l|VjpvtFlO7VNRozFY$RahtDjOHHkj+V9NuV$&& zv*E=d2`l@ygg>^e`D=3F@34L8`b2t(q*Jh9k3a>zp-?X!fQp`aDAbW@s1|8r0<r8S z`Dlf>EijKw-6QwBr!+3~pI5i1#;c~o?P9z%?SXS8v!2Rqx)BBx&%072^f{0Ox39S7 zh9g5(7+>8U^Cgy+T)f2n3=Iiik)DIHjP>VSY=TgUFZ7=;X2#DWH6f;7U`I?pOoy`0 z<dQZ`MGIje+1-iSP$dI;RpiA~#zNBha#BHye1CR?nP^5vPa(M{I<xAw-Ic9BGd?pr z5joVtr8xh%z>RY0N^Jsds`U%2=k}4>3U7k7^*D?ohU9Ak+_M4YbjB(T9?5+bk`y+! z2=90ImrZ{PDN0!il$kp-0_ofibKgXR@0cb!hsmxX)uPI+Leu)cpR`a{=)-v=;slea zd$zMSbQc$mU*gD@lh*9#q#cRF@?izG7hGfP-eMzui*A}HyQB6mvKy(}bJwWaLy|+j zHu9oGrdkHEe+;Us&>N3R5O1YU-RLypyDkRs?fSbs<`<pFJ4F^IE?a0#fA>BD1l_%o zOxI+~r2tQ`g+tY)A|d&V(5L|{vlCn~1a0$+xSPb5CUWrJ#6gdaC3<N8Pwz)1-T$Sa zLjMaTan>r{D*TvK`;cArb#*ANZ;Q|zc9NcTxFAWXpZTDRj)J3{HJvZn>$Z973LL^G zxa%pj7XQ&6_%(BSGM8Y-=hIZKI|%WSn6Lf=@)P?_IThg;2EtR<eb%BnKHIZ?k9`Q$ zjlP<~P@OGwweFUKYzu`pghSCjtAiQlPN9xvv}9-}-v*wvEZrq(0M}Xo9@PLw4FHG; zfD6t5aM=(5Mg16rEdY<50U%`n;0+24#o+KoX$;)bgu+4U_&KF_AJ#XR8RM?>r@mxM z`tN6e_~ify8FRyKL6Ji(gWKu!g=1Sr9?%9_!iS6ZsRd_1Sz$rxc7!#(b4P$7$v17{ zjOE<4n+nTYkC@lv`Dd#PY;2a;PtOXN**%GH5%l(*f<4R<Cie()x1J@|1V|I;C^Mm_ zo}(pumo-QF$yCs7@xVT_cb{#ZaHoiAF7xC+z;kE^J}!bydY;U7K3*Hb!w#$m6~PD- zi&5b>Lg-m21H4)pARc)-<hE^#9QUU=iHLqy|J+C&pFg9H61_Y_CVCz+(Pj*mlsSk~ zR*Mtpfzp#q2C9o<Ls30-fgbC@E|yQl=hKB4nbU>zYNWNO$hv1CUA(>%>lWHJWh$~% z<K6!Am>iR9x4tz7uyg(AR>;I)`ix~uA`Drk#^X$lf|hGGU5Pik)vh8mPpkiyyuh;| zJcS6<Ak~vPwB;U33D0jks+oXSag!1=l5s+QpO<D?d_m72=@Ge7w$GYBxOhCHMU$)+ zA$kreer@95s0^7sLyI$ecB;3@KD0xQuw9brC&i2UYY$6tnL9&^Gk5qj&Kbr3SATIm zcl7MteK<oV&fv7M&}WRK{^e%?xP1UXdgf>t*35C>-TA~>=FRzMz{u~1!Jc$r25e8y zfM<mkK79tTjcQ4qZ3d8V=1O7BfCW(Jzf<GTUi>8+S~O#qNl%u_47lZgHUnhzGx{e0 zjb;YWR|RL(QbaA(kaS9Rb6)>UkZ+}21^s8pJQ$n=X{wRsW~WjV9g6VZIrA1|q2|8! zA|dR^)*_+pa4N^M?qU`Yh~8h2!pI3LcmMeu3{NiT7MC&u4phdfqZiB8^K>U-e=if; z$k!}45pUgx<}#96xq6ee51ovdl*b)?x40p2iEA8@Df89wTnoGA0CNX{BRF~)GDihC zf^&ZJLMxW2Yptls&GIF0OEQ^cMNMhGc_1oRH_oR<jHQviQ$kbj&5!gJ+=~^}=hj|m zer|5LT*3Il93IIF%+D2BuO;$25*KbMZc<ikZea(#eCjr~1NU$Ztl0=7i|^-##M}ax zFwhp!Dr~7KgL1Bg8C`2mE~q_~r2j*gM^1S|`Isi;#ugR~Pn#&n`;-bS0WRk5dqghS z)LdY}+HJm+%rJMG?t)aPfbZj}?dOVeEQW=McG1f6J+8X2-Lq~D^vH1K_vl+tqMZ(v zsLgbo42yWIy9!=3jy^gFF9QB}0YOy03L!0uQwj71L9g6{ouc-GDXungTK6I&qi=HL z>63M=EUeAw3^r1q_)vs(Q$`eEjZ8r-T+!`^v{|dS4+jhLbDG7or0h}c>`^xvK5t)I z`)8sjwEavX8u5QH-)nvEWrqsTS`@c9tfU~w7xAt)mgoU@p(1B1cbOFuy%M@AiA+NL zD5=uv!`pR8k_Wbs@^!$EL{lN(UG!{RjP!qlt=h3qof-%H(vuTPUD@m+1{27pD(Fn+ zgk=vP3c}dy;$OZM6LNR+&9F4CNr;Q0xH~SofC-77-Q0)Tp-e`GY|VbM^z1ix;L4HY zN-fy_m-;%XC{=ozMH(XaE%GitGSlz#c#pi`!=aRC!xru2sAvD8^IObg0>r0*ysiB? z=^^Y(HFsKY#!xOTbN5HtHK^QWt!6Q9WH-xAxTy!Q@*l?ggf?z?PY|^R4krgpNs65V z%9IXmhJC%$ywMwLWl?lb*thJa=qODU3l_;P`aocF5t@VOEhiVqtwB}UXsL%nv*p7` zmyAT1EIo;Eeoo^OCw<(wB!k~}!$&*h!wwl_Aa!iJ7~+SccQ_fu=p4-N)n6MR?b4H$ znvZ^Gx9kpo>|x6+%4gXjZ{ZFG-a_r{x%p%J*MXRQ*va+}w@KM;B2Ofi!Cds$_^QqK z)K4K_R$kBgz0{6AZW@e4T&PW9L!;irP^T)kpQt=W#vR~>-bKn^FXP}=ZaPscbUbyB zP&9mRhQY_EE+lV`15-%y<G}(Yj<%ygE9V<-&w^^)h5NPf&H{CkG~O}ZflH6>E6ZTQ ziBmUm?j~P4%gcW;%cz!;9t^{8_m4L-9pHwt(j9bH1k@k<%e%!T{J6B@J#G3kpnJFY zX)aBkCR|kPR@86Mis&|90fnd%8Y$W)Pu)elN?X}lVH4j8Z|B=fv0kG5VhA*e3Ssv7 zAYHI6wi||%i<M4n|MVL&aEDkib<Zp%4!9s1S|BDRc-ARYU~3Ols*x79vBep`_XNFd zB-)mQ*YbIRGU0%iiE;y%9#DsLxg4Jay+Fxb&U`U<PU?s|=h4ZAV=JAMqr1RP7c|xB zF6`TmA6oBn0rWc$=R1bRJ&gwdCiUt=gq*nZ9t+3-fNxs>#OF61c)B5e+6q5b|4Ry? zG1E`0JEsY;LqyPGe4gU7j-!@W!0e*;oU91iBAo}#zePH3<tt!IrA2?_5Z~MdzgWM= zqdzKo^*txKjS0}$JoUUmpEu4Q9h-NUFI^@Z=W~H_-g}<k?yPon5OI|I4yY>T9T|xE zfEcW;=Dj}<bBq`WeO}i<%!kCF7n=9CftbG&!_|O!$Fb?tfV=wxJvv}!a<2lN4q1A4 zALjDQ$Ye%y7F505+|ti0X>Y7}bYrQC6`#{sdN@`*s<HIFSh2UUG#M-QG?pHT6^}Hp zcQ%$DjTMh*EPX##>~1XmAXc2+SlSgU9^P1bELJ?MvGi}TVpn77hqC+4Z7e-5PeA;g z?>aS>_QdR{8SH!=w3~jdXv9+#{JS*WtL>#HN6~A#YlkfjI;+&J(=;Pa`^2uO!0m9s z|JB~P$46D%e}8YuF3G|!5O9G2i3x}jH6$S<yHP?&0w`c25{LroPeBY+E$o8U3xO5L z?lEdxT5TU|t!;nBs;yXm+*C-22JnIiRq)b^X!XS7B`89;NS@Dk&e;&qKCkEc*YgR? zo;h=7=FGh3a^~`#nLVf%${MG1#-?{5O*$H;cUB`s@^@aT++ow595|9gv~YO*9X&6U zNJ?Fu)olC+Hu<eAXuPKg!+g#TEa5%}c@f{037Q)tStZNDX-6jXZ3++S9D_Q|jdYW( zD|)I?kQWdx*c=8&dz7O)dR!ttM|v90Q<Vkv_Y`;*JuYLc5>#_g_nT?5rPaIf2?bq4 zd`6@O#b7~un)7I5O_6?+^7IaC5O`*Mybq=gm6u~8D+Mb>Dsjc~99h&c9y3>!rMO~! zOl29aUR)=}$M<Teyi9Y(DogYdGb(*izxYp0DA1-B<$Ew*Hwwd%bFRe}h1%B=nq-^> zAk%coorP!$X5;-5#erIKX+9n;8<i|JKw{AcW*pS29yOeaT~pO}a7O%|0-V&8u60B| zU4~(@1v}HU$)k$!DoAlpRhw3{#kWYSBK|Jy4VGnP%Nk3tb>yqQ_4kc>2M=Izn6hZ# zU5#E0E^I@e=o#$t0J+Ch8B!a*$Vlvcc8z*Fz7`kc@7!K0@`$#Wr(vS2wbX0JL0V}1 z*jh`|+}le7*n!wSZ+mIF-K|z2Erd`!PPN3|ji`(K5Sx{)PkL)7wEm4tP*N(<8=su! z_dVI%fD6{uMm}kb45+^c6~!cMN(kB65<iyxMR%eH6u_!B9Kwy0Qo2?x4BK3qf#!#I zbB0`!HmBiIJ>QP`D|5l_3VhjWYq1rbLmI(r&8AgiPZ7-AU_(-zyd0QaKh_>8#W}TS zcz*GgO6B>M;mY$Z193rZ>z5HRYnkv^d=4Qj7;s=^@yC$HbVRW)#IuRlOjF0sVUy=2 zr8P6QVpA~p7EB|xk_LMF<_tNKT9j=LuF?k(IU8W2^;6tJ)jM$wmWXt~;CQd(sg zm4o@8VP0En9uKTfKub)vH=9zUY;F0<hKXLWh{3;I`Z8EWV`1|j@Dj6u9>;edg&idm z`(Ha2^{aEtZx<)eNHBKkuPMJ1wNbUMdzJUTmCIqNW}Q<Xh7U4)RPTY0%4fLCx4b>z ztF6U8+SBJlepuG{tElYKkK*zCl*cpTh@!1&^HmZ-w2j5IVTFqL$<EC)P19FlTIW0? zRD}qYw92~bARNM=CTX(KPOa4@qMPSISF0T#DkNe^a!4wE%yDXC5QeDdY52S^@4(y5 z)A{hJS$<gEN$llLuEx#g)3x@<mDoP7+i`_Q?=f3fs3<UMS8tSoK^1C3%u|c}C_dMi zZ@m2@Yy^FBlYDJ_>;LZi>zk-(aGJclKIS)is$j$<4A=-5JvZ}^0r{rs+fnBt4ifs| z2spB1g||kFoYZgx+~;th?Z|%xOGEQ_#O{~dIoKQm&FLv#tzK?pc8p0SCTCEMI%9Uz z`_21Np!K7w<?g#zl5q3;V)8F#5?;LdfZXjf@8)j)SnhV3cQZEYa`(J>H)-=>xqI5Y z3vIT^2Jyc&?=IZzmAjvscSAP^<SuI7_1>H<cd{HD)rT{$3489hM333SxmaZs9*He0 z5#M93aAx#a5+qoTCF4M+V{R;}J?07bj2`O|_C$}RB-}~UO1&%o&X(RN+xifA+jvW7 zo#R^cu=-(IBVCsM)Hxy8?Ap>7HjG-6z_%{-{!7f*e`?-cY=-R}+=)|o(HqW_OXtNL z1~%miYTp_|lz*j0pSp2a1(oo>3jSAPw<jzuZ5{b?_&mvOy+>{jTUjHswaj&a(Qi{b z2AK38!FN{{j#9*?gJrIB=fxITi!{+zlwH%X;SJhaGpehr<2xXdo~56odJSHgyv{<! z3i0{^%-~K%v40s~7ZGnq=W>vKE^hGENKv`5?HF<##s%;wlC8VVM}vwW#~ki?q{SER zxBMen=w`@G#53MVng?$K`ato2_of4wh|{kYy^isPtG4*1(}-4b<K2PiGHh=-6g_UI zJJh<wy?uhJ`;{p^CZ;L2H=OQJo;csq`&!;aw&1*#G0|49^XSSiB3WCcBdY9RwB}K< zBL^+^P{S%gNyMdIOvI+B?_FCCA|owy=^vyvN0NP`uB<ZBFx8%8k9bz@jJWdm7`>{c z3$IVROG>4-!-vH;17DQ$Fh{=ZyBEu&m7Mz+*$vCL@*VJKtZ=qgI<a>_vP|4GR6<;6 z4m!Rmv6^0;klUHyiq0F3dDe5=?uXlrlDY5@wi~DRu^epF(b+QnfXkX*YI%Sk%L9IW zhiV@C)+2k^&)F)ej?a1okwlI^C%WyQp>2ztjb+$nym9KedO2#3TEjm-2gRZ;0F$fr z7Few{#>jiHD<;C$^%fOA_2Ou2ADqeK#pc5``uT|$O7kA4VwkOEzu8*$<HU^`bo@{~ zh-^f~*Nu^mnrbB$;qSb1GI|wr<U9=wq&QJ~Nfm?^h2D%zhtQ@VL3Ye(TZ=HxIqlsU zzD@7AG9hD;3l9JvUThM{F02lZcDUsDf-;A5w{HVZ2WpOdE)%iaWYS$bW~4RNcz|XY zyhlcb#Tp030Jh@Y(!+~<DBBsS>2VYdbaC5fobl$nJ7!#IMkKehM&vuLJv%0KxvDGh zym+`9bI~$*D+9`|SlI|^lEun$8p}Mf%Q9f*0m|)VXs=+tyDZ&_QX0D~Tfcv)<R>$@ z(QN@~{mOuWS|ZZ3ajFL`eQ#!7sYYg=SvGEC0uufqyz5687F$fO=yxEJy!tfDJ@ zt0e8UEj1D{?01)$@T&xV)%mOSA$T7`hSnQGS1J9{K&&zY7dhUvu`&m}+t}2=_R0|u zsIckn7<59s(X*D<NW`$Cl@u04N52=EXj4W@ep8V>>>gKIUu=sUYpLES`EgxUFeTzC zEsJ|_48>vJ7MpKN%E;zgBs~HeI<&MG-sp9<VlUCu(4j@CjjrCI_QlxmbxuoO)0~!? zl{>>jfODYox_{%M&QR;(9;Njqs2je;=*G4=cqy!@k%Gj$`V92)QKrM*<;P3Qe72>o zm3yo?cVis#z*>+9?Oy8Mh{9iQTwIDx^k*p4(U&}^-`pGV!LK*YiDQx?>>YWkA-OW{ z8iP!8q%|3%`Pa_Dp5WRc?Oo)W6g83GwgP~_!Hckdxl!I2+Q0N))6tPm3+Z?{<YAOO zV;1%pbZBqQ&_!rb>j)W$@&}1<TpIdri9`FYae`fItD25AJ-c+NJkAKyKt!td$S>or zix4yq0w&GYLuRmMW7tS4C@e^AsT(@ea87jYT)A`EF)2%sP{B7nf6viFXf}9`9@3_y zedLJszIt|x=7`xb5EL8d(vUmHd9*Tb3}+NJw`lf|BQi)E=L(g%B7L=So=}+wTRDyM zhRVDVCqAV3oC2#8R<Eqq_k>m6#TM~mfGp^O;dd}ZnOBAR;|{EBl}5%v)ackE+O2k& zz|e<RhA*)uttNFx{t>isUCkdtUI6AX^!2N1YH&%%z;Hls#4My_SILA{>m@3_%B-Xd z9{I&1oEt8FzL4RP_Oe$TR#jKylCDoV?OvS!?mq0kgY7Nr3a`bG>PinBn<wKAy;{E< z$x|Dz!WOutvV((l1lkTrP9UF`LVOg1pU_!HpyBSmF7p*)ZXSgO^Kh4WotT?PqQP87 z5Y@40(91lybu=38%G47aj|P3AJTZ?*!`%qnneQGV=97LW!_F}GcbO-Pc~!z(ntIWu z6UvUX)2zeQ;9>*rOrM?>bMufjnE$rRTtq^w!`5KF8h7fzwH@JQ8=Fl37vTstY+Jo! zNzTUckE@V`&y6-kVG<s=rBs>h@~wD4T(-jAF5l`X^bmva)aA}>`!)3F^o?u@A5w=f zWJ@bX&UBX@O<d-VCN*`VjkoFwj5q7@jo0h)jGc9(jF)BjPxp6O^_f;j)(tmC*9|j9 z)nywO)@2#zn|@y`Rx{)WTa5V8q=Wx1ZM!kF&V_waq@m_OG0AT#{k`M`!xI}US1IAw zv^=&3+LF%5O&H}<jr}n)R<?OnJ>sfObf86#!6zk4ye$&^9+V+nP|_?Y-p1ukv*9+{ z;ai&0nk2s4QHV^P4Q1(f55uUY&N(O4YRX$DUc3dfj<uT<c9k8Q@M#16W>9Tja?K`_ zesj1w+6?;5;YpiJ`ls!T*<>E8*Bl-(PHddJ$xQL)a6sMn*<>E8*NpaVv-)s)>Kt<b z=1661w1f&@#+KhbsDkG}@FLR_LCfkEG*>QwbPrl~SI`DpLF>~Mv{W<rOU-wP*Yb{P zwU4c&l9^O_O|>o0c%jnpRn*^;%J9r*PCWC-v#sBMmV#%!<k|1P|125L@Vv&i;cNMZ zqJ4ys@x;diC&7kG<Y&lbawu%2e4bEc$v!s_GWpP-x=ZU3^B5PQ3EEQ`9q^~N&eJ?% z4_zyx-x&|$%Dh1aVg3j2E0*`AtM`?C|9vsLfgJ+B7mRr@Pea4)tk5;sHwFr}e>X?N zw@Rws>gwp+lhO~z(b$mR`C2=sJEeXT(YSM@Blk9DK(sefE4(uCF;hJ<N3ps)-i#uR zPQ0V>vhn&$AgY|BZ+lWbP`l+|bXPr=*$A^~raZv<%!*E#e6i!rv4qos*eO(d`&@Z* zipX%mv0WvxY?f_R?+E$b8E)Bv_;_r}$$R{`>l?N{xw)w8Fj+KI>g=l<W@qUSL8uu= zB{oja!iRHNE?WEuh7ZE)G7^QXxfZ(>sEuxMj+?pHU`0A+9Wb`jYQwY;CV|ks-3`0z z{Fu?Gz#Mi)BndmORCs((@80`aY}NaC)|fW7%SRc!#Q@Q=d8xahOPkkx5CW&|DB`Ja z&Wrt0-l|OxK&<{<(P8i?Dco1pb;#S^uqXED-(hZe@cmsSI?G!XXoMCsWN<2;biJ>8 z48j@Ol=R(twzI(==@<P9XB1x{EdeZ762H)eOnTmpHcb89SrD6SUG*Uh?OIDW;c0>T zj^1!WnwL0Mc;z$lCOP@zPtYK*Z2byX8DS|n7omSce-kDBXvIkw*4Ne|4bY0NZ>z^` zLR3D0WjWtJpKD*dtXz8|ds#ynhA_)YC1MAhsVxwqEyWXWJ<K;hcb=qAOOoAoQr@V) zjaTJ2ZQclDtOmfr9<p8R%a3KL@aP-y6fFRBA(B*^%8JvO?Y~5zqDPS@HcS5i<x^GG zuUG>Wb8ys4sf5Qm1~*yCr<GmxA0HPi3IR}<d-|c|yrI7eUf-i2-?hXG`{0E?Kml<F z26<cODTGBGRwg@0Vf4&)Dpod8o~v7AYI(Z(DMWt0?Ud~lc(mfB;PK4&c+?B6wRoy{ zn5E{2Ioyd&-v1p3t#slr*?c*68bP;6n`4=K0pxVN-R2-vT|!oQFns@hq~DE~U4=5| z-snbFF)oRhO;>(lKdUlqbyZe{_(l&5ReRnc%2jxdaj>%Kn{St>JJ2P<L5#2By|uOG zXp&l`fhM=rl%9ekop#Q^r&)g#)9AI058n%xT3>COO3=n@TpD&yb8Qjfk&{yVu??ur z1;M|e5H|V{HN!G&z~|ipfdtngOzg`SUs7MH8uUmPqb@;}gw6b|x0P$H`FpU5@PZvq z$lYFw?(;}U;w&$L#<xBu2NuTMpe70OC%Dz7qYLao9f*C@9D6^D9(2c$W6cz@j(e5Y z^gx-xBwb`k^i;Z>72#Qw7d<stbgo4s%$|j6Kw*G&K$jJtWyP}yLi&S@H*u~HHXw~k zQ1EGn{FElaLE|?Kp~>H)pM&s#;U4TJ2s06rb%#38Y-)CuMUVLxeHK0LT9g`XaaKf6 z_!g}<`Yd=EQEZSX!hX8*6`UIOT@t3T@$p-hB*k8O{H9>8?Eicc`#*Q+O{msSpVjBZ z8A+;ZE;7i?(=q#lNso5lhBk~gdDYQJ`kl#0t^FZv4U<5;bit{T(88fbi`yYQl_7gw zrH6+cZH333;r{4crD<>J52M4TI%porQx(4T-l1Cg(1NZ{vvS#(qpO{evo*hO!^>H3 zr|vlVwr0<2PyISJ%E0okmob))=}xUj)-D+c?H(PoUnlzsVDE<gc$u6izaupL<Ra^< zvkIAP<k4^?wsZ{_$<GDylP*8K@DnLsu&qS9%ad!2G&MQKxu#}>F~HPh7=BX|Fx;lb z6GaRk(;}V)dmzV_QZ%tyPYSg!y&thlX>@HcBZnL;O^+Q~ML=2~D#yxK65Ss)=WCva zcLad5vDOSdCw%~d4<045XHW(fJ7D7tITsyF-Z7HV>dC=w!I*W~A$_9|oF$^z19gym zu3Tz!!N_3rVlx&rmuL$|<YH8<>m~<+rQz4r3&PjSa|n!vW_e_5<n+b=h53w+h9Vw~ z3s>6Y^VCPaPUj<ZfoiNytg1^gQgOmiphn$boZ}wJKNxX~zLbW955U`VaLA|cZ~ru| z#F>W1lrBFmK*kPK!PyM>A)D@~8<~l()r)_~6B%77z?n3yGGT3aQp4E=(xa^Fd-atF zH9}NcEzqj*_8fSFf11}bUB3qvdGw`pb976l*5%v|d@{A;uq~Tl2e6q?w*DLng!Zbo z8wUsC^ib3>(&pIEBD-t|_UJLMZ}m+Mhzsp1QJl+r7x|(!FhIj%m%bAkWapHPlAYVi z#n^`vaI}|YH<bNa^U?PPy*JDjfFRdL$aj93!#uh_6%U5lu(C;Rp|K?^lO`maX@Ve` zc2LADJN1@{?Lfi=n^-7+4mcAgLzJCtAL>1E75x{)Ga+-<{I68gCTiqV9lLfN=+*o$ zm+0{BrcUP<mNo#J4pZOcgx;z2n1)H1V{dEc7tsTDm>=7WU^|w7ir-6*?mha!pibyZ z5Y1ySDIL_*+?Jg6ibU;{b6aW$5-@OdpKrr$vW-^y@=wHO>LH{TmR)!XaLs5;lM<aS zMkqA0M<psN--c~wiLqzx$J4abe<1Uw#|B{VIRmyvG?uv%7OkRX&r<J7JryfPnqu9S zmMi<=qH$P$F~%+Idk;2$nRIkd^b`BuPvFDFUDXbXrCpr|5=ebJ)*Eh>yPnNo`r%5f zAMEZxybB!NBZJ`isz0Gzr^-n)*>FAHg(eavvHHsXJJmDlTzPwH^?s_=lZJ=b+B2&; z*c|bjk8!@&G1UUVj@ex;B6C-E*@UqfXA7bF^=&wWZ0nT+hIPA?@BP@1ysPFNyI@~Q zC_E4~uU0+~0{+cy&gds@>_hKrKr{!QN$F~w^Q69N2eZ&B&TooMx2YNw!<JZ8gi%3! zLG|At?U3bt>kA-XRBq2%zDsqKKJlZQ(SEI#EMFlz#xTv5$}*NV15R-wC){Zr5L8Rk zTJaVHe7%lo4iu$;ej$n$h90rL$7+A%OU796dP(yE=R9Y5ae;3G+TpI^u0Gjr&7pEI zj>1GH)O*Cx(>KerR}DK~a7ezs_DIj|$<hwnm@)2XCq_4iquXRP1!ZpRNom|DQKsHn zy-W@~VXKF@opq45RKZd)Jc6_Pj=$L9m4@b9UqDu_{J5?DtH!%s^R#`R$M@I2S|4xu z5|6ajubSI>h;Xj+gke99;K-rSXnDxa$*7Q9Vzb*ZQIGSpw7s#4&oOR|vlC+#dTjd1 z*z}L}{a+!-odcHiK)8MPjzMV9XjnW5qt&OSC2RFzh?q9J9icX6M?3wC2RBxHo{*cY z>kHv4d5(iNvDE8xqcqwXSe(&Vp(n&B#Rev9@Hy8lOC83L#)^*<GL`bYMV?oDEIxE- z(+?v^zSU2FVQ2P>6VlLdsPN!i)P_K7a+{jcXf|Ai(QJ5(Pnr#{@nN&!H{NeH(u{r0 zM!?w9Y@{1Fc@<(}p85}c4IX0$1Vp-SregDV;}Ggs<MZaWG~?6ewt#W4xh>uJhdKzv zXN+k6%wrsB{!DCrCbm8kTc3%o&%~DQ%J#`nzVzf8{H@7PbSo(4v5=h)^*!48C#a{O z)<La@dLF6?>Sd_cp<aR72lX*j8`PIj-#~Rh*%0UNa81HB1<D7N1~mX`2-I+>EGU)E z0V|!+9hZduT#^{)WFnQ@^^Pwjebaoab->*827V-c1JWM1q+#`m$O78zlb~+oN#YK~ zOmQM{^^x*$`eBtW2As7g5>4-|p0ukpk9PL;t(KMyl520jL~^wz8w~;D7D=lwC9T>d ztv*ItB~sJ4LelJzq}k_^W=M+DX_k*PlVtKrGWq3Mnj}*I34pZPkF+v8l2A@0lz4d1 zCu#A$Zk*Oxi2zN5nh7-<>OY`vg$hI60ks_J9w-g!L8xCq{Tk}GP=A105A_7pU!eX5 zrI>rw7y>%H4}A_mW??a#>yn$l1@&$e#ps|U1XgdJg4Ez+k_-lR<5;aU_HY;i9pP)_ z=TiB}#E);~D|m?Vg0EJ)Y-W#z^($qVwbh+u%rVV<Vs3}I470YnT}Guc$B4ltA_eJN zDgL**oyJAV+$ZKJ;gQ9yZig`tX4&l}{>a=`H?~5SJ0I45&uGPQZ%xMZ=!qUnFYnC$ z%}wV>a!M#{KD^ClkBn}0CmZiuX6<6;k7TyG-3FSH9m<cst!|I8S?<LDq*iwi<0;j{ zv%1z==du169fjHlwH4}5P!B-$!`se>x&-QSs54oQG!*NZsC`efjv)cgV!Z@LChJH9 zoWs*jLmesKs)`PYjtV-~V92CdtJ`Ocm#PPC5QQ%Tm=N$(<3j20*?g)Yfus{5>{fR# zqrdV*5k+WBLC{urN`6z@F4&OpSOVjc_Maf!wYAX`Zr|!B@f1`C4X~)5_Ti_>=RU>@ zifmUP?rwGWHP)K6ReC#Yk(*oHX~r7UOyvzM9Gl+i?q}3nsiIQK5gFI&?%#GZzH*ka z8RN(Wt?qN$u2ja7UXI9sR(GInoMq5nk`eK=x(Br7!k~MqEeIU#j6yvG^(53*sJEfM zfI0<*w5mpT7jeg#_ZZwbr0Rba|Id_+O`=i}qrEVaB>K`8{;~9RX3Ec4`57)heen~y z#mqq&l0$nNv*b=fiyZ1Vrk)w4@sfbSGh=_Tq|<QIEJ0~dtGlPs$23dObho<Ab-89& z)EX(2T~k%x{T=-|y;~7KjHpQj`g}i5oo$J1=Ue$tq-OL)s&Dm9<Sr!m1?fjI-T?_6 zA2JKhOOoP>%<>F$%D5fIk1FFN<5Oi~^I_0lnIs!;nI`SNl|NA?ZlmQ0Cd7R!7pPm0 z@f>dPR3?F>wEa<rR*<!Dtd25CF@7#4$W*?SMam@ASgwX&BsjyBiMMSb5?mQdV0tUV zo^3M{h7ukbtpnAzG8jr8my&4la3J#CJ`aNED{zxEK7o(JHZ$K}tuTl;2<=~#Z@xA; zZ01Ns2mF6TnfTidnkKLlS0=sNcEjXoMTbNxa!0GXPn(R-ivi*knU6BkCdYJ$0jx+C zNo)H}!l2z2sYK~$yDwp2^GPMvzwOR0gZ4<a6pA_+9I0scMfyvLm}TCzo5f)&?z$I; zSp$!DE{0kO^$^q(P#dAPL%joKK-mVNN`txq>VMYW?XVk%dIaies4Y-$KplWO1myri zKNM!LLpUTlc>jf%5ntrN@s(H!h6UiOCS#zbA*G=V=OC}j!86P>oVh4$&b-)V4s&Qy z+M|6@J7Ki?WVGoj$@}VnKD3ITm)$BtCzejZ1o0$&7gAj9X3>t8_W^V+FR8+c7Ob4b zt*zA7IH5DYHLE4RUH_wL5zSKl*U-viTRmLDpnEe3QziOOy8P5{6|0|gj@>FRfz>%J z`Yh{dvwlvty``o#NnU8zD^5EKnvRxrb9A2d6ivsmSWwY~$(pn-e|lxxYt`Y~#~|)4 z0(a4yT(<4*s%ce|S|JIveS&xKP^8}k|4-E=?XT(*cuif>lQQI4Mv=N?U!^W1Zc~?> zQ|gjCB@>cI*JCWOw(*LB*n}c|BMOB!p-7wQM}J#dxRANkqVmDP=nM9`DZyQO*WIOB z^d-=WO(@l(JCvqei#`X<Fn2vl5;oFOcW|>2hBAJmdoW%<p~|x5d=MLG%ZJ~zr~OT= z)i0~EEjd@)g$}aErp}yjVHNWyzP$&uU3(8YcjGXH*o>Km4@R&KF^pY%56JHQ=8IF+ zi#?Wyns_L(*WO|6D2Ql`Ar2E^Z~*d06E3sd_>>!OcQ=^7!b%F*!6{gfleHX7Rbx() z5wXdIHr<O&7O+sT6CF{TE<(7dJ7)jTQ@j2(n5m~S*M?5It4>b$O%sJN-oKkq#VP!Y zS9pWtCN43DU1zuC??EHSsa0c32T0=k@lNM9tRcYCCH;{uU*RKW!93zFS&f=@bA|y% zyvKhfJ_B$g3)B%3kxvlO9FJTv<dY=NCjaoWWO*i&P2x_4(Tg1;qQ`pQl?Wq7QE@sc zrh+oiR!P$?tHK=Mby`_&jdq(KqZP<V7zVl<LvHt9g#*0S-2V)c1wx28T_zdAP)@C8 z;YQiRdroLK#<tza0}#r11r6pbtcrzeH@t>O#K<?7Z&SGiU86J^O;)h6?F9riJu@JP z(F^8srl6AUL>uyMENPlr*62D1v&7aY_5kqnZK#C2%azXUO1xCBk-(_UwN>Q4=UwF) z-c|mPcjeu@L-4zKr^GXIunmQLnlWCMp^eYgO0jM?7wtBw#un$GYoCUZvFvDT?mX>n zjLhYJ0i%NGfm2__m%lF=IO56nLh!IJ&XbXCX&jN#g!t_r|A8{PyEYyddq<ixd@E&` zEWScHgP)jBP<qp&?4xofhI%IB3pk%w?~giDq~BB2WLcZ!9gHZBu(p+)ruW20MB5KM z2zw4D#~OYK8_2|%H}pE+bWZVOoG$<+<EJB*q&$zO^=*srivyHWy25)6x@qAW?G4Ob zoP!~YjQl-i^Y$LZ^i#pStZncuV4Nr8Q`nf+tXy`BrFpTcLI@_z+k3#Yqz)IBY6zlU zDbJ%g*SGb+i*TxG>&Wfl*)lI)Ek6bFGeUmS<;Ra7-^v?Mscw}%iBX74FPm{OE?%24 z0+$q<ktxzaIEm+pPWT({Z$?8}J$UT0;UF1o@8Z|q=@uzDZLh-L7?=JDTHNs7xeeLO zrM)xq-ROzZMM-s~*BCu82z;O;?9leZxg^|Wva}Xs-3#Sqhzp`}y~H(CHF@zMZDx@g z<;;*lPpN<5bBknnqwHvD3DPwqT=2Z~pAaZijb>&@id>by6X&CaFNBopBn>qZk~Z!d z)li<|mviM08y7w=ek?yBzmb>VHrZxmz;e1}S#ynw!7^q;U|oa(0?2TZ95@M59Rcme z83dRkuCvFgJowm^xgdi6VN>dk)Hg6LhTz1oN)CBVm;N8}lJDMUF!l&kn5J<`CQy4R zB}Yoka1Ow$N6C&ssQcpOz5ETX-ex%E0cutCK*NKWt9K$y2#?Bge&=5M?6i@uCNf=Y zir=?#u4GZ<&aT{+mna>p-^G_L-XIyi{=-uZN+Th)O2aoPC{t#6m<RuJ5$A%hFhkX% z#zai<V4U44qt+<9s6u7TJO2v^tFFxm&-ZN@mlJLB;PWp97`tXkgf=4|*s|W$S{m=n z*51JPChNG!qlG$_^heqLLS*-Cp_au-kdjN9r0q8j!jU@tFWPFCH$>mEMMOF>efg=T z^Lp48{oLrYeS!;RRCa7i#hgI4J>tTF;12UpU8#_#)w$yDpnZU8z=z(ENvF~bb<h#! zZ6Nyo`8CSI@%THY2v1m9slxDY%kqP=mlEv6w|{94z=<eX_B3s_UsYBBg$U=gVjFN9 znpFLxoshCd8YRmPL#U^vs2fA_cB*F4+R{j`yq#<9;WTW`q{k4?jeYRk>OaSK>kys9 z6fRI@#HV<0itSa|*^Zs{J0;fYlu)d*OKZ3)yFco=bE2K-hm@dTVRXhj5}mc3@)Ua> zp&*NJ*cJe(Z!_?V3g3Jfmt!*f=kG*l`?|&zr^ZqT9a;WKlGy72J=j~96!+`x$SbGd z7gqM+J>z1j5b@aw>%JAOh)yI$oO{~dhKuDPDcQc&{{?-~6mO)5dZ~o=*#N@Xx9yL3 z@T^y~5TPn|#++R*ltGMBDkNSBH;UQ1<amu;UyPT>`>#vVrPXfijQ551S}}7<kP!ZU z(UARFq0ra2q8e|HhBADsCqna#!>Ev;`Hg2`#kZm$@lZwwls~eFEAD(&j&1EH9vH7} zk@SfnyjZ*0uoX8FV__I^c<u4s>w4-Rp_s07=+EO4?d*XsOJ{0iG}ine95-gC%cR)| z$RuZJv(vN=<kR$c+K_c_{b^X2mC}b`6u=Zg4)RMJb<R4M{xjv13+JDO?CX-3I@USy zpuc`6jPdfm>m069<b;J{OJ0DiGZy-__eai^vo)Khpd4ckqZBVrzvQu1cH5$VY>`aV zW=H7Py0G~KV!PH8p7N{*PGvS0c@4Tj&|%Xguigh5@o9<aQ-=7I5$$j;?v0-7N<36d z+Mb0sTcnlIwiY_1-pCH$y-T2#>qkgDxi+b5_$JKSg|EVo?_TNsiDu;@SVhuBF(H9n zSXbN!bIdCE);pcsaU9svKcKJ-LZaut2U>Grslk;$9!D&jz-Ienp*CquJzI~UUx&wS z=bHZILvKz-W)!E2^sg}z)BYW(Dzaq4MzWDx@1^`3Ga+=s^ba;>%U)6$u~eyf_aQ7> zRIYy=x^>C=KQS|c1YDQYFy5}eiJJyzn-b4QHd?g;cJe!mL%vnN729t88L>Sjt-<Bf zQX9ve3Ux$MkwJb9Q!gfM8^?9Rqz_C)XeRpuWFm+DD6}dnzYw?1iP+Bmy!`hNwHtAN zZ`19)BtiZKY0~l06E`mU6h8>CFPeq?Iw2HV6gSQT$|7-#_u7pCNX83rmyOO~`_X?6 zIuiXPZ8=8xAjqTA`eHm&X+0d8ygkUpgT-xY+s|<MY&Zs|p?aQ&Is?~nxDJQ98|opb z*P%8;wL!H*$p8@MyT8_|v4&z&+KjEoFnfUy*HZbE%*XdSoYPqO9mErs4({3!@Oo{< zQ-Fo(5}ahDw8m7kDqNfp=V|=uBLcSRtBq2HG*%bP`wAa2IjL+|=Lgc`Nyj;5>g*=z zVWLa5FR$s#za<;^mh5}R@#WuoVP16cUlFSvNPExnW4#c2IrLy3CQz_C6n@*Hcb~L{ zk890V{VEZ`<WsX8UIz({b|+T(uU{qd5c6be2u+Rk_bZWz2wI#?*r?Bgo$u;w=n|M8 zjp$41O5m((GOAU)+3!SCFl|PacHFoAN%2fygGwASbCF9>P6N?ToLMMesSqTvBrdSk z{*_XA;cSrEg4ABd`%~L%<ZUzb9DIE6s>BQwLX8(<p}}G85SE?mKb?R$<0kFf5{v>2 zYd^N^RP>+^+w#29WWNpz?lkYWMR*XKez<Y^VSORGtt!w`W4UUoeCx3t+D`rFd*DfX zZG39-k!F9mAYR!ke`ofxygeljIe;?yVMeq$&ABVy!$_+?-WkSZX>&X+xBfUpW8;%^ z?e!m?jC?9G_s@(CHqRN@bZ)a+CL|M;(;>joG6QvMA5`jn6R*q0>!gy?I^x)0Vj3#x z9GhMzm{hA;jlZ-VLW&_fLw@nnKH&d^w8X+6OSngf;L1YOp*yB&Z^a;4Ao%n*-UO$n zUbS&djr)GpbZSSo8})kMcnf}IsX{<|OQZ$$KfxaQZ`fG_XEEytK(783%9Xr2JPK6_ zUU>fL7Y;4LbbZ7ZFTd39Ek!`H?G4bz%g@Jc1Ab9Or^)=VI>RFkN6GeG^79wvODpcs zhBcJS3~_WiCYZLzG%bp_V<N)blCu0nRSWiI{-^e`nab9x7|cGzw>3;Th3VIJiSjWV zSE9YqP|>M>v>O3#nB5UC?R7e`72n0Npt&>B5ub8OPe+s*WUdae8X`-#wYRGwi1uf3 zh})Bx0{3G01dHrv#49=w`ihQV#dk|y6i-k4@;0jfgfGLe4%hT#Zo(6sWaR`e*$cut zmfC)*1wI64f45|lRm!TX(E#%%V=q2TcOofzBO~-l$c#Lw(zrt+*QV{8hP_RCsF=+{ zE4O>pfED=&+b+Pyr*BAJ-6+C&*p|7MlFr)^4k0;v%kruKQgom`7y(yt&%!MZx4{hW z&Uxq!BMtH(&<A<C2hfU3m7SCFJP0#h7{pEsOMYce^+HTZm1^LhoSlL^d`N<*YrAG3 z$4P4eO@wrPwuA(&%UW^%L*ad^3YF5B9}I8Jnc@8rzECQ>mzvGhOxbXH{cZ#qtKO_2 z50!?e6=b77@-m*}LdXE(aPE1<?j>0L=hgt=baZ^HqydRMr8Z~rB2Ezck-gjY)S$@t z<M{ldG|fP<l+E0-(LorYH((5~7Iy*t_b4b*&I&YTFIRgDGA=vts6f8~mhh^A+U~K= zdk<uCB%M^e$BIYVj`+CLcy&sAQjZc(#1AokZ~ZZUIH~?vM#QlJxdqg7mb@y#zE=i@ zlo%?uYBptC+kS=ok^dfQ#`I{X<3*AFsPg@yMSC5mYNY?BsuWGsz51<EcZpmUB(AX7 z;LWxw^gW8ij{cH7LLUVll%obHsM0s=m&#ORY|`Lkq>q?xxlTOtHp+-9W-SrFEen;& z%DZ5Kd&FsXHN<os@U&AlfcXIaqGp9BW_cAkA90u=d0e(?8-dh8rH8|AAulBvUe33^ z=yimq{Y69qfTd-4&j9S1)EDtSSL_wVv1n488o;TrS+9d)>TY#bZ0f#PO~B|GuN)Zv z0Qsx{jEj(WawM-8sM>4PaY?79t*S(zNR;Pd?MYLUj`{17q=*}p`PyZXQ8@Z({i_h` zTl*Tq-YW72YIHKRJ<=Z`@Mx8Rte0bzfsOLrY`YDg;5g1^LPKd`cCO?G-}-Nm`XYRE z6Fm6d-qyZ*`@jkEZaHc;1TPTBI0-^nu0N-8Hmb=$H8u>9ZeM!*RsC)yTo}J1wf<Og zWIpPs8_k-x7(w5SC=?HD`pl({aBiwUo)qp;e>^!d4twujBH}f{6HAK4Z@i~pT*l<e zrOcmd5*<Lu1z&18o?IR8s=5o&m$KFA-)Sn0;hPYk5g5T4Dk$@Iirpen`a1|No?)e) zSE4SD<2%&j>H2vHGz>Co5rJy}9eTv2&JKr@_1Dmp5)BMT;CT{mk<pMT0@9!kL_3E1 zR&7S546J=Mq&}dh0=i65Vtd;_Ld3-1QVlnr{GG^3+PjF2l+L~S*RKe4B<>YBym}{g zSxf9g-vsxP71HB-(R>^Z!BDA25-V&U$5Yf>`A2~CVymh^XmC<@Q+RldG*seyg;5UP znVq*&bfT)J)l}){qY4GJIypY)e_+i4Yf_4|cGOj{ua4iId@(B7oy$LzDoaiyR`;?m z`|8~YQS`tAIPVl&d8<3ERSJ>0!LSG{h}4ZW+q6ci8Tp7|#eppT%xl(hUVvNHo1d}p z$2!XRA2=MU7mhMc!BNJ^5c9)&>X}{hd|p}1P@~U!U-}<vIAC#NGwEOKl$r|r*W&e? z<m4sf9{q)}YVxZJ@2_*se;>KqJa8$1u=J1_s8W2yH|do~b-;WkF?upd`Be%TxORlS z^twxAh&KFFY>v^<iJ1!3_L2pR{u=$K@UvFK-lOos=M+h_v^g;k<jd_?U(&Qiiu1fs z>m0bkB#@)Qfn-f?Q1jGSpMhCRB|Eg$lpWf4T6SoL3xY#v_hNqKOpzgx7)m&M-gLHC zoRun(qiJgE^Nx9_M$dFOPuq@9d6&!XFH|m{x1sCQI0H@fmU%d__WSR}14~rNj|6Ex zfPLGN+97y3b3v1-#i9w!8$_G@5NN?3@tZs$w3-JY8>p4E9!%KBCSn*~>|>-qdY9dA zi&S^N$H>aK-(7`-(|T6n7b7N9+94TZzM{@wyI?1lRG`U|)GlLoW+2Wsh8$d1UI|EE ziO%hSI*d^ek5(!x+gHkhjIQwAiPXb8(DaVpj#kuYWlaY8Fk^B6+fp6Y%I#?)k0s8} zGDk#Dw#l4l=ja1yo6p~fAN^g`2tCVs{cF;8|DG@PJCyNB>Cr^Wqjz`MBA0ft)lak4 zZQZcMrsyUSfY1>F(}8)@VHBD11Ym8FOY$VXiT5__cn%|#*6Y1zJ=?9G{a*|NiW-EO zH2lW|rS#5F9?i`x{76;(f)cAXkjEkfg=Il+qwLho=&VYU)jw!MTYul(SrmHVCtpu~ z?3MMuTR3RYu=5I^c;uS(+2bE~G(C6yl8W&+9Q1uM@~OAS|80BE-@JeIuhNH2`Nn>5 z%F|h6zbPC&_M5CjMSUB;`N?0`U-8rT20oG*oze5E>%TrRed_y{|Mkvy0#B8Xy}out zar4}vx0L_>$jZW#+uxM=yn1={LmLl%aDT7ilU}&_UtjD!R`lV7zyD%Gc4WZB|IF#U zwerVbcdnXo)7)2{>V0{9L&x|(U!Z-~G<(%KTI$*<TG?Hd8)v;T<=Bhw4{7cE`{iqn z446Im!`o`KW%oTean^|m(HY-<H#O_ZC70Z|reo4eZ<gJ^cIAuvTd(=&;fVg|4SzWQ z@`gKlUoa(U!m^+JaZ~om$q!6kb$IoN3zt3m$gQLMj9U8Iim9vKx^&o=%YXKV-}){c z|CgkcagViZJ^%h!hdp)jqJNxRyD)XiZ)~?da(u=E4_~U^dE1fHKbCH}v7jmV*v5mU zh?i{i{`1I@PISNO=R+^?JaW}5V;}!8<MJ&_ezxH9iCh0X)Rr^Uo-@>uGt`-L4)m^^ zp-DMI-8pHtoHTn*nj<IOwkF-aCf%_n-MJ>+wI)4jO?vX0boZLUwl#z8YX&>k40f&= z>{>H8Y0co|HG|!22HDmOvacEBSTo4EroSzxzdfhFBd5PJr@t$ww=Ji)J*Rh44#M&D zqh`2l2-gnO8lQf1q;ufmBb|SPy6f8`o$o;{I&!3Q>`~L+TG-nUdlHw2t++^hHamLC zKb!3_9KvBwmVZkBg1wjgQ~DR}sq#<hAMiNjpVHsf!y*5a-fs8EKczok{E)wAY_?3h zt4m*KNB2<vU@qZkKseTv9PKQ8??|U(FiJaA9n`~6TcCDBiM<Tidl>e_>00^0hcd9- zuk=n^rY+slL(KX1TuYBS$~F;tk+HPd2h`h|ddoWzzGT~t&An}H-ONSi$-UEIpA2)+ zXJuvC{$S}d@WE}c^fQN*mfn`om%42CS^A~}RTD>8`l^PW*X^+MiFb*gSNlD-9Lqd; zMWA86rN7R-wy8d0AGi-&`gXV}fnLI|!WK18yqVZ9$zHBGl=)=nCnod*pkM7&<`=yl zu$NlqJs!)m&$RTm5kvbu95>y{_KB_)rk_<wsp%hE{@-Qm;Rsmfii2gIeBp)JYb>{l ziDjNKV#J7cOMd|l<DF%_OH%!F%e=yFbGa<HilJpbQy5x$#n93#hL(Qp*s;k~iSSF> zS>}qTrN67xW4q6?qu5&J4qKDws)YWx;AzF{f))0S^DX;TO|~t$2|M;C+f|miN*Bu< z^MAI(mR_X`^pbxP=_2~c7Jt$Acr4#OGiFzI5}d_6!CCYP&Z19n7JY)P(pzjrpWrF_ z1Vg2_7>Yi@Q1l6gqF4FQ3Uh*+m?v0?KEX=qEmopW@DY82iRcqdM4w<H<;!E0FUj)> z{Syhj6$WJveId+Id)TC4JE0mfW0~<xE%V{bUuFI}^S@=T&3q#B&zVnV)@LryT#*^g z{CCecW^T&docVkvyuhE!j#e2)Qq8Nwy4q|>mbrO#Socor>awnXh1(3MdMFu=^+RPq z$q+ogxM%!b2P-#<JtR&57jY|f^SxpO`)N?wPz6xsP**`oeh5R&hn<B`O_tlgK%W6s z4|Vo?OJTnX>N+UtpI!$mH;TP(ZvRi-TLiBfpgizf!aM>>r08TSX(rTssN11#gPkx` zJpkj2q2k-!t;qc(+@1jnH{IO|E7`L!1F9bC?D(GT_BvSU9$#_$@8Wy5+p{@81-BVc z^-yQOw-n+3cbrpU{Yj_{sCuZg-Jbp4>tLmOn8oe?PMGDr65q2qOTLmcI{UrdIj6zh z(@+^u^-%vSVfKpsl!3@&;tNU-HVTw7nrvO&*41NOdsx>L>x$Y@*|%F)hjn#YSC@57 zvaZS272ED9cOL87!@5oxUpe7Hyx;Co%>W5f;_nOtPr}r?R^2dv(k(ZKs}{|zx^>~r zH{79&?am}j5!qZx$!>4YUcR(`{jsmH^=EfDyPKyE9x^n!4@5t_0W@mt_Ec{#U++F? z{Q?69r4JdJdG4^`BhDY0bJ4|l`J)SqibEx1OUuSrR8E}a2lD;h+F1$jlaf6>#E-sd z{m&UNFnw_5x!J?c8*#x%JhvyO^y<?;VKH%axRO07-d_Gd)h*lFzdn4V<M_!_ebV~R zyt;nHy{j4?{Mnjc4on|nvrVfQZ>y@9WGkOpVJj=2W-BiXP77bZC>(@8qL18m+pTh^ z%x}F-jBS%|z5d2YKf3;=xwuo7tsD3=MV?1)S#Zm(OK-`z<@z7ZmHYGqw)78OgAaNJ zf8-tXvEQZ+m|2c3B%vHoPAFRx_fQTfCzNd^?x7q|PAJ)C&<^E*azfeuSKY6MdngB# z6RP{4d`l$1KlhfYx<C7WslRes`Lw~0ZhQFkEe}swf8v7XC9h3QLHgTn2+o>+>yPHn zntS7dn{U49=J2et$ju9HG=HZpx?xsTWYNO8cU*DX+*`_Sy?)V+RSRyKr8HB*S1i2a zN4G^5&$_Z=a>cl571!2G%gY@#`u3v2S(C=)=gpctcj?WG|0A;KCUG+DX35~Qs^;Eo zX_42b%>B`<@`|$Q6V5QY=(ZdG<Nqax|66`%z@xwCf1GbCC?9=E(f*=M#h-=RLq|gY zxD*cnR=yu=3T`aCv#`DJyTZ%HERi)D8Ti)Xa%bVXF@;6vU$WtncP~jA>m3^yn>lvG z*n+Xg$KqiwzHhkn%Do_WRPH;4_2OTta%!8Hdu{I0+y`@?%zZic{oKR3-{u9z3>|~# zRU-FgvyCaRhvdU6@9-4gS-i5iwYaVL_aSdd|B}Ha*(IY(eqFM*1P^aB!`EZ<z|oHv zJyEo-Xk*d#qJM;>0+z=Y<&7WRIl6b@(83D~LxqzHXB5sYTwJ)k@XbQ|7~hz|W9}T2 zRW!fozM{*De_Z@<aZ9ni<Tsbv9>jMQZlB0qm-|BQz){(wE*#Y|>a|hl<?SmvQ1ofh zg5o8`n~P!LF|<>0c{=x-QGd#NGViZ>f6LpD_k7;gyq3J}d9UWZk+(N*U*3CpALM<M z_i3Jy_f_6Ec}Me3<aOpb^WFKW`H$!47mO(g6^tzyUofHI@`5W0rWMR6xTfIRf*T5M zDp*i(Yr*1zr3H5uEGzi&=<TCl9sS1Wy`%SyesA;#qdyw`>1bp0_QE^IEE^LYvwDm+ z=7BLkAM?<djYV6F<H7rbKMVdc`0L=K!N-ID8T@nbFTrPn>w}wvTY}qyt-)7<yMlXy zZwKEE{xf(m_(|}y;FrO#gGYkLgQtRyP;#hmC@XYvC>}Zyno}~jWMRqTlAn|;FKH-w zpyZb&zbTQvWG>=dI(lL8ZN=f@+l%iit}ni~xS{yI;s=Y@fZ?6NSa3&B4~`B^4Z&iQ z*?x-TuFk!);MC}X!eHT}g`X9ERhTj+bIj#qs>i%B=B+XQB60n2@rYn<upn3zED4qd z%YzexlY>>knZa4X8-t$*+k=OL9l?`9TgVmiguJ1&P(b|OZRVHPaE|g1{h_MvH_djl zZIbO4{DzUe7TM<7ra=8jSw~j`S#*@`A{DE%zwW#z0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* rAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+H&9KMDMIE^v9b diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv.txt index a22296d..dec2910 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv.txt +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FVPREMEMORYSILICON.Fv.txt @@ -1,7 +1,8 @@ -EFI_FV_TOTAL_SIZE = 0x130000 -EFI_FV_TAKEN_SIZE = 0xc4bb0 +EFI_FV_TOTAL_SIZE = 0x230000 +EFI_FV_TAKEN_SIZE = 0x167eb0 0x000000E8 2C6CACC6-6C3C-4AA7-B2DE-384DAE2B0352 -0x00001DE8 01359D99-9446-456D-ADA4-50A711C03ADA -0x00004DE8 D71C8BA4-4AF2-4D0D-B1BA-F2409F0C20D3 -0x000B4BE8 EDADEB9D-DDBA-48BD-9D22-C1C169C8C5C6 -0x000B7168 A8499E65-A6F6-48B0-96DB-45C266030D83 +0x00001D68 01359D99-9446-456D-ADA4-50A711C03ADA +0x00004568 B894C949-A1F8-41C1-A7C0-DF523AD91C15 +0x00018668 D71C8BA4-4AF2-4D0D-B1BA-F2409F0C20D3 +0x001512E8 EDADEB9D-DDBA-48BD-9D22-C1C169C8C5C6 +0x00156DE8 A8499E65-A6F6-48B0-96DB-45C266030D83 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FvPreMemorySilicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FvPreMemorySilicon.inf index dd31693..adba84f 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FvPreMemorySilicon.inf +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPreMemorySilicon/RELEASE/FvPreMemorySilicon.inf @@ -23,7 +23,7 @@ FV|FVPREMEMORYSILICON.Fv #![Pcd] -#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase|0xFFEB0000 +#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase|0xFFDB0000 # # # # This file contains 'Framework Code' and is licensed as such @@ -68,8 +68,7 @@ # DISPOSABLE|RegAccessPeim.pdb # [PatchPcd.IA32] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x15e0 # 0x14C0+0x120 - + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x1680 # [Protocols.IA32] # @@ -216,6 +215,8 @@ # DISPOSABLE|CpuPei.pdb # [PatchPcd.IA32] + ## SOMETIMES_CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0x00000000|0x43CC # [Protocols.IA32] # @@ -279,6 +280,22 @@ # # [PcdEx.IA32] + gOemSkuTokenSpaceGuid.PcdSetupData + + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData + + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData + + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData + + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + # [LibraryClasses.IA32] # ## @LIB_INSTANCES @@ -358,6 +375,399 @@ # # # ## # +## @file +# Component description file for the MrcOemHooksPeim. +# +# This PEIM wraps the OemProcMemInitLib and OemIioInitLib and exposes their +# functions via the MRC_OEM_HOOKS_PPI. +# +# This component produces the MRC_OEM_HOOKS_PPI for consumption +# by Intel silicon initialization code +# +#@copyright +# Copyright (c) 2016 Intel Corporation. All rights reserved +# This software and associated documentation (if any) is furnished +# under a license and may only be used or copied in accordance +# with the terms of the license. Except as permitted by the +# license, no part of this software or documentation may be +# reproduced, stored in a retrieval system, or transmitted in any +# form or by any means without the express written consent of +# Intel Corporation. +# This file contains a 'Sample Driver' and is licensed as such +# under the terms of your license agreement with Intel or your +# vendor. This file may be modified by the user, subject to +# the additional terms of the license agreement. +# +#@par Specification Reference: +## + +# DO NOT EDIT +# FILE auto-generated + +#[Defines] +# INF_VERSION = 0x00010017 +# BASE_NAME = MrcOemHooksPeim +# FILE_GUID = B894C949-A1F8-41C1-A7C0-DF523AD91C15 +# MODULE_TYPE = PEIM +# VERSION_STRING = 1.0 +# ENTRY_POINT = MrcOemHooksInitEntry + +[Packages.IA32] + MdePkg/MdePkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + MdeModulePkg/MdeModulePkg.dec + +#[Binaries.IA32] +# PE32|MrcOemHooksPeim.efi +# DISPOSABLE|MrcOemHooksPeim.pdb + +[PatchPcd.IA32] + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x14A00 + +#[Protocols.IA32] +# gEfiSmbusHcProtocolGuid +# +# gEfiIioUdsProtocolGuid +# +# gEfiDxeSystemBoardProtocolGuid +# +# gEfiVariableWriteArchProtocolGuid +# +# #PRODUCES +# gEfiVMDDriverProtocolGuid +# +# #PRODUCES +# gEfiHfiPcieGen3ProtocolGuid + + +#[Ppis.IA32] + ## PRODUCES +# gMrcOemHooksPpiGuid + + ## SOMETIMES_CONSUMES +# gPcdPpiGuid + + ## CONSUMES +# gEfiPeiPcdPpiGuid + + ## SOMETIMES_CONSUMES +# gGetPcdInfoPpiGuid + + ## SOMETIMES_CONSUMES +# gEfiGetPcdInfoPpiGuid + + ## SOMETIMES_PRODUCES +# gEfiPeiFirmwareVolumeInfoPpiGuid + + ## SOMETIMES_PRODUCES +# gEfiPeiFirmwareVolumeInfo2PpiGuid + +# gEfiPeiReadOnlyVariable2PpiGuid + +# gEfiPeiResetPpiGuid + +# gEfiPeiSystemBoardPpiGuid + +# gUbaConfigDatabasePpiGuid + +# gMeUmaPpiGuid + +# gPeiIeHeciPpiGuid + +# gEfiPeiStallPpiGuid + +# gEfiPeiMemoryDiscoveredPpiGuid + +# gEfiSiliconRcHobsReadyPpi + +# gPeiTpmInitializedPpiGuid + +# gPeiBaseMemoryTestPpiGuid + +# gPeiPlatformMemorySizePpiGuid + +# gPeiTxtScleanPpiGuid + +# gPchResetPpiGuid + +# gEfiPeiFirmwareVolumeInfoMeasurementExcludedPpiGuid + +# gPchDmiTcVcMapPpiGuid + +# gPchInitPpiGuid + + ## CONSUMES +# gMrcHooksServicesPpiGuid + + ## CONSUMES +# gMrcHooksChipServicesPpiGuid + + +#[Guids.IA32] +# gPlatformGpioConfigGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED +# gEfiStatusCodeSpecificDataGuid + + ## SOMETIMES_CONSUMES ## UNDEFINED + ## SOMETIMES_CONSUMES ## GUID +# gEfiStatusCodeDataTypeDebugGuid + + ## SOMETIMES_PRODUCES ## GUID # FV File System Guid. +# gEfiFirmwareFileSystem2Guid + + ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation StackHob +# gEfiHobMemoryAllocStackGuid + + ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation BspStoreHob +# gEfiHobMemoryAllocBspStoreGuid + + ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation ModuleHob +# gEfiHobMemoryAllocModuleGuid + +# gFpgaSocketHobGuid + +# gFpgaSocketVariableGuid + +# gEfiSocketIioVariableGuid + +# gEfiSocketCommonRcVariableGuid + +# gEfiSocketMpLinkVariableGuid + +# gEfiSocketMemoryVariableGuid + +# gEfiSocketPowermanagementVarGuid + +# gEfiSocketProcessorCoreVarGuid + +# gEfiSetupVariableGuid + +# gEfiPchRcVariableGuid + +# gEfiMeRcVariableGuid + +# gEfiIeRcVariableGuid + +# gEfiPlatformInfoGuid + +# gBiosGuardHobGuid + +# gMeBiosPayloadHobGuid + +# gMeFwHobGuid + + ## CONSUMES ## GUID # Variable store header + ## SOMETIMES_CONSUMES ## HOB +# gEfiAuthenticatedVariableGuid + + ## SOMETIMES_CONSUMES ## GUID # Variable store header + ## SOMETIMES_CONSUMES ## HOB +# gEfiVariableGuid + + ## SOMETIMES_PRODUCES ## HOB + ## SOMETIMES_CONSUMES ## HOB +# gEfiVariableIndexTableGuid + + ## SOMETIMES_CONSUMES ## GUID +# gEfiSystemNvDataFvGuid + + ## SOMETIMES_CONSUMES ## HOB + ## CONSUMES ## GUID # Dependence +# gEdkiiFaultTolerantWriteGuid + +# gPlatformKtiEparamUpdateDataGuid + + ## PRODUCES ## UNDEFINED # specifies tiano custom decompress algorithm. +# gTianoCustomDecompressGuid + +# gEfiTpmDeviceInstanceTpm12Guid + +# gEfiTpmDeviceInstanceTpm20DtpmGuid + +# gTcgEventEntryHobGuid + +# gTcgEvent2EntryHobGuid + +# gEfiAcpiVariableGuid + +# gEfiMemoryConfigDataGuid + +# gEfiGenericVariableGuid + +# gEfiMemoryConfigDataHobGuid + +# gEfiMemoryOverwriteControlDataGuid + +# gPrevBootErrSrcHobGuid + +# gEfiSocketPciResourceDataGuid + +# gEfiOcDataGuid + +# gEfiNgnCfgCurGuid + +# gEfiNgnCfgOutGuid + +# gEfiNgnCfgErrorGuid + +# gEfiRasHostGuid + +# gAddressBasedMirrorGuid + +# gEfiPprVariableGuid + +# gEfiVirtualLockstepGuid + +# gEfiPlatformTxtDeviceMemoryGuid + +# gEfiMemoryMapGuid + +# gEfiSmmPeiSmramMemoryReserveGuid + +# gEfiMemoryTypeInformationGuid + +# gEfiKtiEparamInfoGuid + +# gEfiHobListGuid + +# gEfiOpaSocketMapHobGuid + + +[PcdEx.IA32] + gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr + + gOemSkuTokenSpaceGuid.PcdSetupData + + gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData + + gOemSkuTokenSpaceGuid.PcdSocketIioConfigData + + gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData + + gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData + + gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData + + gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData + + gPlatformTokenSpaceGuid.PcdDfxAdvDebugJumper + + gEfiCpRcPkgTokenSpaceGuid.PcdRcRevision + + gOemSkuTokenSpaceGuid.PcdForceTo1SConfigMode + + gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicEnable + + gOemSkuTokenSpaceGuid.PcdBoardTypeBitmask + + gOemSkuTokenSpaceGuid.PcdAllLanesEparamTable + + gOemSkuTokenSpaceGuid.PcdAllLanesEparamTableSize + + gOemSkuTokenSpaceGuid.PcdPerLaneEparamTable + + gOemSkuTokenSpaceGuid.PcdPerLaneEparamTableSize + + gPlatformTokenSpaceGuid.PcdSyshostMemoryAddress + + gPlatformTokenSpaceGuid.PcdPlatformType + + gOemSkuTokenSpaceGuid.PcdMemTsegSize + + gOemSkuTokenSpaceGuid.PcdMemIedSize + + +#[LibraryClasses.IA32] +## @LIB_INSTANCES +# MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf +# MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf +# MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf +# CpRcPkg/Library/UsraRegisterFilterLibNull/UsraRegisterFilterLibNull.inf +# PurleyRefreshSiliconPkg/Library/USRATraceLib/USRATraceLib.inf +# PurleyRefreshSiliconPkg/Library/PcieAddressLib/PcieAddressLib.inf +# PurleyRefreshSiliconPkg/Library/CsrToPcieLib/CsrToPciePeiLib.inf +# MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf +# CpRcPkg/Library/UsraAccessLib/UsraAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDecodingLib.inf +# CpRcPkg/Library/MmPciBaseLib/MmPciBaseLib.inf +# MdePkg/Library/BasePrintLib/BasePrintLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf +# PurleyPlatPkg/Library/PlatformHooksLib/PlatformHooksLib.inf +# MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +# MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf +# MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf +# MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf +# MdePkg/Library/PeiPcdLib/PeiPcdLib.inf +# MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf +# MdePkg/Library/PeiServicesLib/PeiServicesLib.inf +# MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf +# MdePkg/Library/BaseLib/BaseLib.inf +# MdePkg/Library/PeiHobLib/PeiHobLib.inf +# IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf +# CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf +# CryptoPkg/Library/OpensslLib/OpensslLib.inf +# PurleyPlatPkg/Override/PcAtChipsetPkg/Library/AcpiTimerLib/PeiAcpiTimerLib.inf +# CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf +# PurleyRefreshSiliconPkg/SouthClusterLbg/Library/PeiDxeSmmPchPmcLib/PeiDxeSmmPchPmcLib.inf +# SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf +# SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf +# MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf +# PurleyRefreshSiliconPkg/Library/FpgaConfigurationLib/FpgaConfigurationPeiLib.inf +# BpCommonPkg/Library/BeepLibNull/BeepLibNull.inf +# PurleyRpPkg/Library/SetupLib/PeiSetupLib.inf +# SecurityPkg/Library/TpmCommLib/TpmCommLib.inf +# PurleyPlatPkg/Library/BiosGuardInitLib/BiosGuardInit.inf +# PurleyRefreshSiliconPkg/Me/Heci/Library/MeTypeLib/MeTypeLib.inf +# PurleyPlatPkg/Library/PeiVariableAddress/PeiVariableAddress.inf +# PurleyRefreshSiliconPkg/Library/MicrocodeLib/MicrocodeLib.inf +# PurleyPlatPkg/Library/UbaKtiLib/UbaKtiLib.inf +# SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf +# SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf +# IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf +# MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf +# PurleyPlatPkg/Library/OemProcMemInitLib/OemProcMemInitLib.inf +# PurleyPlatPkg/Library/OemIioInit/OemIioInitHooks.inf +# PurleyPlatPkg/Library/MrcHooksServicesLib/MrcHooksServicesLib.inf + +[Depex.IA32] +# (TRUE) AND () AND (gEfiPeiPcdPpiGuid) AND (gEdkiiFaultTolerantWriteGuid) AND () AND () + +################################################################################ +# +# Package Dependency Section - list of Package files that are required for +# this module. +# +################################################################################ + +[BuildOptions.IA32] +## @AsBuilt +## MSFT:DEBUG_VS2015x86_IA32_SYMRENAME_FLAGS = Symbol renaming not needed for +## MSFT:DEBUG_VS2015x86_IA32_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE +## MSFT:DEBUG_VS2015x86_IA32_VFR_FLAGS = -n +## MSFT:DEBUG_VS2015x86_IA32_PP_FLAGS = /nologo /E /TC /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_GENFW_FLAGS = +## MSFT:DEBUG_VS2015x86_IA32_SLINK_FLAGS = /NOLOGO /LTCG +## MSFT:DEBUG_VS2015x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi +## MSFT:DEBUG_VS2015x86_IA32_ASL_FLAGS = +## MSFT:DEBUG_VS2015x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 /wd4819 +## MSFT:DEBUG_VS2015x86_IA32_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_APP_FLAGS = /nologo /E /TC -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_OPTROM_FLAGS = -e +## MSFT:DEBUG_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +## MSFT:DEBUG_VS2015x86_IA32_NASMB_FLAGS = -f bin +## MSFT:DEBUG_VS2015x86_IA32_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h -D CRB_FLAG -D SERIAL_DBG_MSG=1 -D PLATFORM_VARIABLE_ATTRIBUTES=0x3 -DTRAD_FLAG=1 -DPCH_SERVER_BIOS_FLAG=1 -DSUS_WELL_RESTORE=1 -DSERVER_BIOS_FLAG=1 -D PURLEY_FLAG -D SSA_FLAG -D SSA_LOADER_FLAG $(EDKII_PPO_PLATFORM_OPTIONS) -D MAX_SOCKET=2 -D LT_FLAG -D SPARING_SCRATCHPAD_SUPPORT $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MEM_NVDIMM_EN -D NVMEM_FEATURE_EN -DENHANCED_WARNING_LOG=1 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MMCFG_BASE_ADDRESS=0x80000000 -D DISABLE_NEW_DEPRECATED_INTERFACES -DIE_SUPPORT=1 -DME_WS_SUPPORT=1 -D ME_TESTMENU_FLAG=1 -DSPS_SUPPORT=1 -DME_SUPPORT_FLAG=1 +## MSFT:DEBUG_VS2015x86_IA32_OBJCOPY_FLAGS = objcopy not needed for +## MSFT:DEBUG_VS2015x86_IA32_MAKE_FLAGS = /nologo +## MSFT:DEBUG_VS2015x86_IA32_ASMLINK_FLAGS = /nologo /tiny +## MSFT:DEBUG_VS2015x86_IA32_NASM_FLAGS = -Ox -f win32 -g # # DO NOT EDIT # # FILE auto-generated # @@ -382,8 +792,10 @@ # DISPOSABLE|UncoreInitPeim.pdb # [PatchPcd.IA32] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x9fa80 # 0x9ABE0+0x4ea0 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x10D610 + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0x10D618 # [Protocols.IA32] # gEfiIioUdsProtocolGuid @@ -531,6 +943,7 @@ gEfiCpRcPkgTokenSpaceGuid.PcdRcRevision + gPlatformTokenSpaceGuid.PcdPlatformType # [LibraryClasses.IA32] # ## @LIB_INSTANCES @@ -804,8 +1217,7 @@ # DISPOSABLE|SiInitPreMem.pdb # [PatchPcd.IA32] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0xc3a50 # 0xC8B0+0xb71a0 - + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x163700 # [Protocols.IA32] # -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [edk2-non-osi][PATCH] PurleySiliconBinPkg : Microcode udpates for latest SKX/CLX CPU 2021-06-17 0:51 [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Nate DeSimone ` (2 preceding siblings ...) 2021-06-17 0:51 ` [edk2-non-osi][PATCH] PurleySiliconBinPkg : FV binaries derived from Purley Refresh RC version RC610D02 Nate DeSimone @ 2021-06-17 0:51 ` Nate DeSimone 2021-06-17 0:51 ` [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver Nate DeSimone 2021-06-25 18:57 ` [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Oram, Isaac W 5 siblings, 0 replies; 11+ messages in thread From: Nate DeSimone @ 2021-06-17 0:51 UTC (permalink / raw) To: devel Cc: manickavasakam karpagavinayagam, Isaac Oram, Felix Polyudov, Harikrishna Doppalapudi, Manish Jha, Zachary Bobroff From: manickavasakam karpagavinayagam <manickavasakamk@ami.com> Microcode udpates for latest SKX/CLX CPU Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../Microcode/Microcode.inf | 5 +- .../Microcode/mb750654_02000043.inc | 7170 --------- .../Microcode/mb750654_02006a08.inc | 8962 +++++++++++ .../Microcode/mbf50656_04003003.inc | 13058 ++++++++++++++++ .../Microcode/mbf50657_05003003.inc | 13058 ++++++++++++++++ 5 files changed, 35081 insertions(+), 7172 deletions(-) delete mode 100644 Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02000043.inc create mode 100644 Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02006a08.inc create mode 100644 Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50656_04003003.inc create mode 100644 Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50657_05003003.inc diff --git a/Silicon/Intel/PurleySiliconBinPkg/Microcode/Microcode.inf b/Silicon/Intel/PurleySiliconBinPkg/Microcode/Microcode.inf index 75053b8..94abd21 100644 --- a/Silicon/Intel/PurleySiliconBinPkg/Microcode/Microcode.inf +++ b/Silicon/Intel/PurleySiliconBinPkg/Microcode/Microcode.inf @@ -21,5 +21,6 @@ VERSION_STRING = 1.0 [Sources] - mb750654_02000043.inc - + mb750654_02006a08.inc + mbf50656_04003003.inc + mbf50657_05003003.inc diff --git a/Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02000043.inc b/Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02000043.inc deleted file mode 100644 index e0837fe..0000000 --- a/Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02000043.inc +++ /dev/null @@ -1,7170 +0,0 @@ -; External header -dd 000000001h ; Header Version -dd 002000043h ; Patch ID -dd 001262018h ; DATE -dd 000050654h ; CPUID -dd 04840163eh ; Checksum -dd 000000001h ; Loader Version -dd 0000000b7h ; Processor Flags -dd 000006fd0h ; Data Size (excluding headers) 28624 bytes -dd 000007000h ; Total Size (including headers) 28672 bytes -dd 000000000h ; Reserved -dd 000000000h ; Reserved -dd 000000000h ; Reserved -; Data -dd 000000000h -dd 0000000a1h -dd 000020001h -dd 002000043h -dd 00000000dh -dd 000001b51h -dd 020180126h -dd 000001b51h -dd 000000001h -dd 000050654h -dd 000000000h -dd 000000000h -dd 000000000h -dd 000000000h -dd 000000000h -dd 000000000h -dd 000000000h -dd 0000000b7h -dd 000000000h -dd 000000000h -dd 000000000h -dd 000000000h -dd 000000000h -dd 000000000h -dd 0287b103dh -dd 02a81b325h -dd 05bd43548h -dd 01ed57b43h -dd 00dd31fb2h -dd 00caf7eaah -dd 0504bd4b4h -dd 06885b805h -dd 07c8537b9h -dd 0af1d8034h -dd 05f971da0h -dd 065263cbch -dd 07a546db0h -dd 02f7300e1h -dd 0ff9d12dfh -dd 00d19cff6h -dd 0064e8f47h -dd 048569388h -dd 0613406e8h -dd 0f1cf0bdeh -dd 0fd59aed7h -dd 0167bb316h -dd 04f183063h -dd 0140638e3h -dd 05a284156h -dd 08929a411h -dd 03465ccbdh -dd 0521eedd8h -dd 04a517833h -dd 0b9e753c2h -dd 0e73f07a4h -dd 060ddb690h -dd 045d043cah -dd 0265553e8h -dd 0bb63cf23h -dd 062eb4566h -dd 0b9610b0ch -dd 01830b257h -dd 070ec8f64h -dd 0b5f305cbh -dd 072072bf6h -dd 0f9bb07f0h -dd 012b140f2h -dd 0d5f3ee00h -dd 0e0b43bc6h -dd 0ad77d13fh -dd 0bd734c91h -dd 09120bf19h -dd 087fb1faah -dd 0c1ab7aabh -dd 0de997fd3h -dd 07d0ee72ch -dd 0896db2d5h -dd 0418a04b6h -dd 0a867296ch -dd 05207cb37h -dd 0599aa1e2h -dd 05d142119h -dd 0b09e5da3h -dd 045474827h -dd 0a4ae1405h -dd 0b5ba58c1h -dd 0f18fac85h -dd 0e037bd19h -dd 068ef31d8h -dd 059bf6ab9h -dd 0f579b2c9h -dd 0bf9a1c39h -dd 0e9c21016h -dd 0bf6f5c4ah -dd 0fd068e0fh -dd 0a32b4d21h -dd 000000011h -dd 0e16f52d3h -dd 073b740bch -dd 05d85428ch -dd 095ae324dh -dd 053f5a030h -dd 0bb2460d7h -dd 0d42efe7dh -dd 0f2063f62h -dd 0e4acdbf6h -dd 0b63e1e9bh -dd 041a416b5h -dd 031a61ac1h -dd 0c2bf14cfh -dd 067a41bc5h -dd 0743a8f2ah -dd 079b3ce19h -dd 06631ee7ch -dd 0cb081314h -dd 00291e980h -dd 07129f2dch -dd 0f6eafc94h -dd 0e0a7f5d0h -dd 08c1defaah -dd 08dbb4d48h -dd 06548efe3h -dd 0be3a08a8h -dd 0b7491b35h -dd 05435b607h -dd 021936ae6h -dd 03f2a3142h -dd 07067a167h -dd 091759be6h -dd 03e859606h -dd 05624bbc0h -dd 04ff335d3h -dd 09a7c6175h -dd 08f54a86dh -dd 0f225d409h -dd 01cecb2b7h -dd 0c118ae29h -dd 0e9b60fb1h -dd 0cb8ed414h -dd 0d8745c87h -dd 01ca21a65h -dd 0381bd10eh -dd 084bdf0f2h -dd 02a2a174bh -dd 08436ad23h -dd 0a052f65fh -dd 063a7cdb7h -dd 0c3e2a197h -dd 03cdf3e41h -dd 08a275070h -dd 06a395d35h -dd 0f47a88efh -dd 0de65fb31h -dd 01eeff40bh -dd 0b2063dc7h -dd 0d0b177c6h -dd 0341a93b1h -dd 010d8909fh -dd 0cc82ff96h -dd 08acee1e6h -dd 09521d2a4h -dd 00e2f22c6h -dd 04bfae1eah -dd 0e8bc0263h -dd 038bcb593h -dd 008c0b31bh -dd 038fcdcefh -dd 0d2f5f426h -dd 0f3bf6738h -dd 06c1a5b84h -dd 0616af665h -dd 03a501d87h -dd 0465a12e4h -dd 059c460a7h -dd 0e3f1d5c7h -dd 0737342f2h -dd 0d66732cfh -dd 09a9b8a61h -dd 07bbcdd07h -dd 0c538a216h -dd 0494a9dffh -dd 0b1464b3fh -dd 05b9fc462h -dd 0ec9bdc3bh -dd 0448e93a3h -dd 01adf99dah -dd 0ecc8fe2fh -dd 0d4a34ee0h -dd 058bcd069h -dd 0a6433a3ah -dd 07537cdd7h -dd 0b95722bbh -dd 06c19e80eh -dd 0381d3a63h -dd 0636d8d5bh -dd 028105bbeh -dd 07034c255h -dd 063025d4dh -dd 02fc310c8h -dd 050c1ed1bh -dd 0ed5dd8cbh -dd 010270b62h -dd 0a3dac4c7h -dd 0e350c6e4h -dd 0ab0b49afh -dd 0bcc313a1h -dd 02818253ch -dd 0ec52c8e4h -dd 0fdb363b8h -dd 0cf6440bch -dd 0ad03afa0h -dd 056119348h -dd 041eef167h -dd 00501e549h -dd 0adcd7c15h -dd 0d9d25b3ah -dd 06cb570ceh -dd 0cc8d94c6h -dd 01c24b872h -dd 09c5bfc96h -dd 0c8ba4be9h -dd 0c18d1528h -dd 0d4b57888h -dd 08d932103h -dd 0ecd3d85ah -dd 0573ed2d5h -dd 017a0d0aah -dd 062fd6de6h -dd 0a91afd39h -dd 0d3744209h -dd 08db3668eh -dd 0185e24fdh -dd 084ec81feh -dd 0c0c85af1h -dd 0f4ff6e41h -dd 02a64966ch -dd 0de853306h -dd 096882f68h -dd 01c0d239ch -dd 056c6e7e6h -dd 0eb381124h -dd 0c5246fach -dd 0009eccdch -dd 0768b302ch -dd 0259f4bbeh -dd 0d45a0600h -dd 092b0e4cbh -dd 089a021f9h -dd 08bab206dh -dd 0115037abh -dd 050c75b5ch -dd 03389c026h -dd 0f10ffff2h -dd 0ccfd6c69h -dd 00c0f9b61h -dd 0474b23c8h -dd 01edc69bdh -dd 095779a51h -dd 0deeac70bh -dd 033cec552h -dd 0b1a6963fh -dd 085c7300bh -dd 047f7f234h -dd 0829342cfh -dd 0f426c244h -dd 00b1039d7h -dd 096c8423ch -dd 0ae411c82h -dd 005c105e3h -dd 0fc6c6f3dh -dd 0efa5cf0ah -dd 0be29e4d4h -dd 0d2a1c6efh -dd 01aeedf81h -dd 0e4fff02eh -dd 0f9b1bb7eh -dd 01177e3ebh -dd 0144a8b0ah -dd 05dba028eh -dd 04f0b14ach -dd 0192cc8d6h -dd 07afda5a2h -dd 063e277dbh -dd 074f9c820h -dd 0ac354ce7h -dd 0177ae877h -dd 008f19bddh -dd 0792912f5h -dd 02b089982h -dd 035fcb729h -dd 0cbe26060h -dd 020a9f819h -dd 0b3200cdeh -dd 0218253bfh -dd 03198fa30h -dd 0e4d16b71h -dd 00d243a68h -dd 04964fb62h -dd 015528390h -dd 072a469b8h -dd 0f2419643h -dd 0e2e13520h -dd 0fc5c7c66h -dd 0fd54b2d4h -dd 0957e359ah -dd 0b19bc927h -dd 035b03ff1h -dd 091a04965h -dd 0b75e6803h -dd 0589398b0h -dd 04e0d782dh -dd 0bb89f894h -dd 099068ec5h -dd 04e613d30h -dd 0f7630ef9h -dd 0b206bb02h -dd 0179c19feh -dd 0d306ba01h -dd 0913f982fh -dd 046692556h -dd 0b0e18dbfh -dd 00be891eah -dd 007b53f3fh -dd 092115891h -dd 031984d8dh -dd 0864e749bh -dd 03e66536eh -dd 0d353e97fh -dd 07e1225a7h -dd 0e97d6c32h -dd 0467af560h -dd 08593d1bah -dd 01ce3bc53h -dd 025030d0eh -dd 0598323a8h -dd 0bcfcec6fh -dd 0912089eeh -dd 00a9c11c2h -dd 002acf460h -dd 0893c3f22h -dd 0655dc41eh -dd 0d701ce78h -dd 049a100c2h -dd 066b11013h -dd 0355c7fb7h -dd 02a9c4701h -dd 0b0676fabh -dd 0cc515a9eh -dd 0b4c32919h -dd 0a1ea6ecbh -dd 011802252h -dd 0b18afdaeh -dd 039197ca9h -dd 0d8d79963h -dd 099161d8ah -dd 0f7455bf9h -dd 06a6e9cc0h -dd 070caa5e7h -dd 01f9e0bcfh -dd 017a33a22h -dd 0c21120b9h -dd 07da32f12h -dd 03e32f385h -dd 0ca83fa37h -dd 03acd6c24h -dd 0d50b582ah -dd 04e3d4d61h -dd 0736bc653h -dd 02cc430a3h -dd 01ebe7c83h -dd 0d7625451h -dd 0c025c74dh -dd 0a14fd99ah -dd 04b454b0ch -dd 09196c7aeh -dd 0ef8321f0h -dd 055ef958ch -dd 00a4864c5h -dd 02b8cb114h -dd 0faf38ad0h -dd 054d7cb79h -dd 0230079dfh -dd 07c30f55bh -dd 03c94d4ach -dd 0acf0533ah -dd 09d73b4e4h -dd 023d26c6dh -dd 0aa137a68h -dd 0c6f90345h -dd 00aececabh -dd 080363179h -dd 09023a8c0h -dd 0d3e54ae9h -dd 0977464bch -dd 0abd0af97h -dd 0f0b948e1h -dd 0b3876714h -dd 062a23210h -dd 06714f66dh -dd 0baa8125dh -dd 0ca67f807h -dd 05ebce171h -dd 0c9e7db87h -dd 0bcc59ba9h -dd 0c60b1b82h -dd 0c1214b5eh -dd 0d2b8c85dh -dd 0541bd05ah -dd 0c1b0a7a3h -dd 09c68a154h -dd 078fa3780h -dd 09e87a86ah -dd 0eaf1ec24h -dd 0ba2dcb8ch -dd 0d04ee13ah -dd 019e686ddh -dd 0d6fca305h -dd 041c6e16bh -dd 01b4b785bh -dd 00a20bcafh -dd 0ca510200h -dd 09635bdd3h -dd 032eeb78eh -dd 0486dcfa9h -dd 0f319ac59h -dd 0d451a7a2h -dd 0511064a1h -dd 0110bc7d0h -dd 0781fc0cch -dd 09fbf370eh -dd 07c954df3h -dd 0e9411463h -dd 0ca9d3e91h -dd 0e63f02f1h -dd 0e8c858c6h -dd 02789783eh -dd 0ad01f791h -dd 02f36414fh -dd 0208ad8e9h -dd 0f02ff13ch -dd 005a472f8h -dd 0ed3cf3abh -dd 0f2a02337h -dd 0a24be110h -dd 06900c89dh -dd 0f375e05eh -dd 08d3af4eah -dd 0b23ce045h -dd 059715f3bh -dd 06c8180fbh -dd 0920bef47h -dd 044e99267h -dd 0764527d4h -dd 071f4782bh -dd 053c42adah -dd 0d2d62a76h -dd 095e89bdeh -dd 05b757f4eh -dd 0e1a2b8a2h -dd 01a892fcbh -dd 0890a998fh -dd 059befcc9h -dd 06a86c567h -dd 00889337ch -dd 06fcf7c41h -dd 0f8d82e77h -dd 0e82a077dh -dd 015bdd9ech -dd 077c8714fh -dd 0037b1b7bh -dd 09afefbe3h -dd 059c5d714h -dd 0cc463f36h -dd 03fd2da4bh -dd 02e645999h -dd 071bf427eh -dd 0afee09f2h -dd 07fe5bdb3h -dd 086cde410h -dd 088ee7b72h -dd 03a2e7663h -dd 080db8c55h -dd 0da590a27h -dd 0dea81f1dh -dd 0c14b2044h -dd 0bb496f25h -dd 026dc6f78h -dd 085036d81h -dd 0d2d06b2ah -dd 08b478d17h -dd 0e4784430h -dd 0085a7d05h -dd 03529951ch -dd 0e679bc09h -dd 08d5e30f0h -dd 084b019d6h -dd 0ab842faah -dd 0cf57fcf6h -dd 0b26692fch -dd 0cc32e976h -dd 01b8f37d8h -dd 014997c11h -dd 05ce34daah -dd 051719389h -dd 001ee3b42h -dd 05cbf29feh -dd 0fa37bbe9h -dd 05b4da097h -dd 06fe69615h -dd 07eee32feh -dd 055484b04h -dd 0338780dch -dd 0570cb9f4h -dd 0ba9f327dh -dd 0acddd362h -dd 0dc83f96bh -dd 01c5ee314h -dd 0e1425ec9h -dd 009f13265h -dd 007452429h -dd 0f2dc24e0h -dd 0f58fbdd5h -dd 0da5037d3h -dd 0592687cbh -dd 05a8d1e03h -dd 06dbdc64bh -dd 0600c6497h -dd 08fc7b126h -dd 007db6f40h -dd 02d3398d1h -dd 0b1ae3265h -dd 038995eddh -dd 01e8e8c70h -dd 067ec548dh -dd 0ecbcc030h -dd 0f9b18207h -dd 095917894h -dd 0623bf8a4h -dd 075c21e58h -dd 05705c369h -dd 05f028adeh -dd 0026e1e94h -dd 0d7af61dfh -dd 04e7b488fh -dd 004a05479h -dd 00d26d2eah -dd 03de21783h -dd 0ff5987b2h -dd 054de57dbh -dd 080db4cdeh -dd 021c81411h -dd 03bc703c6h -dd 0d17c4756h -dd 07593b789h -dd 0d23f0a5dh -dd 0c9bb318fh -dd 049b5efd6h -dd 07e46d316h -dd 0b80c0fe3h -dd 0ff34eba3h -dd 0cd3d2db8h -dd 04e2a8137h -dd 0ffd3113dh -dd 02340fa8fh -dd 00f8b409dh -dd 093813929h -dd 05af494e7h -dd 0c3bbf983h -dd 02df20fb1h -dd 0b9ebe806h -dd 0fc59062eh -dd 0f06049c4h -dd 0e2d4dfb7h -dd 0bb2446d5h -dd 0ef38d5cch -dd 01e96a924h -dd 0d949cec6h -dd 0955d4f54h -dd 06551a5bdh -dd 089285927h -dd 08cc9e88eh -dd 0fe3ad9c5h -dd 0de87ef1eh -dd 01b44b4b6h -dd 089c694c8h -dd 0f148288ch -dd 0d4964c2ah -dd 077e902a6h -dd 0600989b8h -dd 0afb4a004h -dd 04925ecb9h -dd 067bd51a8h -dd 062cc107ch -dd 00cec3a82h -dd 01cec74a9h -dd 0608613d6h -dd 02a710d7eh -dd 08826344eh -dd 053a734ffh -dd 072146414h -dd 073fa8f34h -dd 0c8753d6eh -dd 0d4b77ba6h -dd 08521262fh -dd 064db53cbh -dd 0a023c3bdh -dd 0f4f5b7d4h -dd 06578bfedh -dd 03089d0e5h -dd 02992c5f8h -dd 088efb34dh -dd 04c535c57h -dd 0c1bf88d3h -dd 04c2e129eh -dd 0fc336eech -dd 0f4240dbfh -dd 079d509bah -dd 055c67435h -dd 0e07f092fh -dd 07a466aa0h -dd 029210134h -dd 0b0649509h -dd 0d445ad40h -dd 08fce6a21h -dd 0121327e5h -dd 039e5456bh -dd 00f6a2454h -dd 0788ac525h -dd 03985251bh -dd 03e972f55h -dd 054f4e4bah -dd 01bcfd8ebh -dd 04f78bf71h -dd 0250969c4h -dd 0edc1cb09h -dd 045ebbf30h -dd 03487b090h -dd 0dfb08deah -dd 056a99c82h -dd 00cb7ff1dh -dd 0ab317975h -dd 0cfe1dc7bh -dd 03a1a007fh -dd 0a72e615fh -dd 003f939c0h -dd 08da620c4h -dd 02788aef5h -dd 0ffef969ch -dd 01005c33eh -dd 09edfc966h -dd 03d3220f8h -dd 0b8c50316h -dd 0764a3578h -dd 02776e033h -dd 0e4f8bd37h -dd 0933f5d46h -dd 0e3dc0a17h -dd 03e4aa1bdh -dd 0f85d16b3h -dd 08a754c96h -dd 058af665eh -dd 0e2ca0fb0h -dd 01d68eab8h -dd 0788ab488h -dd 01bfe8732h -dd 0131a8a32h -dd 0a81870c7h -dd 00c406a70h -dd 0c1b334dfh -dd 0ef9c1682h -dd 026dd9800h -dd 055889571h -dd 083a69c19h -dd 0e3a06f92h -dd 0c84c278bh -dd 097ba6ec0h -dd 097550be0h -dd 0ae0dfa7ch -dd 02d8c11bbh -dd 0387eda47h -dd 049af78cbh -dd 047562101h -dd 0735e629ch -dd 08f00cf54h -dd 06cd88f74h -dd 0636b277eh -dd 0845d65e2h -dd 0e3e2e6a2h -dd 06c7c047dh -dd 01d7670e1h -dd 0c266eff9h -dd 048949bf8h -dd 05a7ce64eh -dd 0f82cc0feh -dd 03a1d91fah -dd 05ff21d07h -dd 00451ebefh -dd 05ef15f1fh -dd 07b74ab1ah -dd 0f3397251h -dd 04510ec6eh -dd 012c46699h -dd 09f5eeb42h -dd 0ff715230h -dd 01f2aedebh -dd 0b60158a5h -dd 0494eb8a0h -dd 085e31fa9h -dd 0358a5f16h -dd 07f846c19h -dd 07f904e8eh -dd 086866338h -dd 01c7a7f25h -dd 07d0ef319h -dd 017b1f29bh -dd 0ea25d1afh -dd 0917e07a6h -dd 07daa8aa0h -dd 0d2fdb692h -dd 0c4a9092ch -dd 0a8a08835h -dd 07170aed9h -dd 07a491403h -dd 0e0109a80h -dd 08daa1782h -dd 08e5905f3h -dd 0d75926aah -dd 0395d06c9h -dd 07e56c7d4h -dd 0438ccc52h -dd 022fd3b88h -dd 0103582adh -dd 0f1968c96h -dd 073cbf4e9h -dd 0dffee36ah -dd 014169f78h -dd 0879ff521h -dd 0706b06a2h -dd 0095bbf1bh -dd 04add58e9h -dd 0b4680e31h -dd 08a2762adh -dd 0b32de947h -dd 082071fe4h -dd 0ef9f09afh -dd 01b1a5dc3h -dd 06a94657ch -dd 094388d8dh -dd 0e7494225h -dd 04dc88967h -dd 0302ae16bh -dd 0c1dcef88h -dd 0d16d7acbh -dd 0496f51f9h -dd 02c612958h -dd 0029e8a72h -dd 0ec077c3dh -dd 00584fd78h -dd 09e5afb50h -dd 061c74f96h -dd 0772f71afh -dd 0fb4fe0cfh -dd 0b0e6455eh -dd 0fc054bbah -dd 0e6c7a58ah -dd 09d12bbc3h -dd 041a36370h -dd 0a9c5f70bh -dd 07836783fh -dd 0bcef5abbh -dd 06ddbbdffh -dd 064647504h -dd 066f22b19h -dd 0d089a6b1h -dd 037317393h -dd 09abe922ah -dd 0efa1a74eh -dd 0b5231692h -dd 0f958690eh -dd 08936da04h -dd 0c6811c8ch -dd 048e0c797h -dd 0991a1396h -dd 028606c4dh -dd 02f06d1a4h -dd 068223b88h -dd 05cb6217fh -dd 0fb0b0fb6h -dd 0e9fdb9b2h -dd 07ded3d83h -dd 040459d3fh -dd 09395d4f3h -dd 0d3196b3eh -dd 04416ce76h -dd 05e972c61h -dd 0844a29aeh -dd 0998d0e4eh -dd 0dd8f4429h -dd 08fb39077h -dd 0a3b9464bh -dd 00e8fbc62h -dd 01680bf25h -dd 01fdd5c16h -dd 0ab35d229h -dd 072c045abh -dd 03ef1a5e6h -dd 0ce84cf5eh -dd 099954ef5h -dd 0a582695fh -dd 052d7abb6h -dd 042f174f5h -dd 00cbcac76h -dd 066d5341ch -dd 019f9a1e2h -dd 06cf4d436h -dd 0704b996ch -dd 0b4b22f91h -dd 08798cc76h -dd 0a6192ac3h -dd 0220329d9h -dd 048c1dceah -dd 082abf329h -dd 02ce43bb2h -dd 0bd62426bh -dd 0c50d850fh -dd 0efedb2ddh -dd 02a0daea3h -dd 05398d7c8h -dd 08ab1a93eh -dd 08978f85ch -dd 09877522ah -dd 0668e48ach -dd 04fdb1bd8h -dd 0469e627ah -dd 07fda65cdh -dd 07921ceach -dd 051ac27feh -dd 009a73290h -dd 06354c3eah -dd 0518f6ad0h -dd 0cdfcc491h -dd 0e0a887c0h -dd 09e14635ch -dd 09ebb4a27h -dd 05902f8f3h -dd 08f0ecf39h -dd 0f5cde840h -dd 047cb3e81h -dd 0a10ebbdch -dd 01b95242bh -dd 00058cbfah -dd 08b71ddcch -dd 09e32af89h -dd 05e8f9d48h -dd 03ca1f6c0h -dd 05597e706h -dd 0a6f60cfah -dd 057fc7656h -dd 022d512feh -dd 0603893d2h -dd 0e7245983h -dd 08c5a6f28h -dd 09b6da03ch -dd 099009b7ch -dd 0fb9b293ch -dd 0e57caf00h -dd 0c025b2c3h -dd 02ea08ea1h -dd 08397f68dh -dd 0fe9608d4h -dd 0b2094413h -dd 0d86fea31h -dd 05bda86b3h -dd 03c3eb5c7h -dd 0385f1b14h -dd 0e84659ceh -dd 08e35eb8eh -dd 00e06dbe0h -dd 043c6719dh -dd 018c55438h -dd 066c2677eh -dd 00de85b94h -dd 03148c8edh -dd 073c24d0eh -dd 0a7e3453ah -dd 0db1c74a2h -dd 0ac6ea62dh -dd 0f09c4c89h -dd 0018db674h -dd 02826ff7ch -dd 058049ca8h -dd 0e7327ac6h -dd 0745cfd5bh -dd 0337051f7h -dd 0fd548147h -dd 04ebd21c9h -dd 0050739cdh -dd 0993f0e49h -dd 0851c502fh -dd 00c279138h -dd 022bd05aeh -dd 0306d96dch -dd 0d62e63e8h -dd 0811faed4h -dd 01d090c34h -dd 077ae293ah -dd 042a45538h -dd 0fb5266a9h -dd 0a076dba2h -dd 09d4f13f5h -dd 0afca049eh -dd 012fcb76ch -dd 053238ec5h -dd 062c0c625h -dd 07715d62ch -dd 09b210771h -dd 00e629b17h -dd 0df2b3722h -dd 07d245f2fh -dd 000f40949h -dd 0e835c5d1h -dd 05ee23d29h -dd 0e995b841h -dd 019395e1bh -dd 08ad76046h -dd 016a6ccb8h -dd 0c3428b55h -dd 08262e4a6h -dd 00e9aa74fh -dd 051d4e794h -dd 04fbc5023h -dd 00298679eh -dd 0b5fd2700h -dd 0595fe360h -dd 09da2297ah -dd 002b99744h -dd 0362abcd3h -dd 033e6c76ch -dd 03f62c8e7h -dd 08c3a1c66h -dd 005f39771h -dd 04cfaa6f8h -dd 06c5f5305h -dd 0ea89d016h -dd 01de8ba98h -dd 00416bf37h -dd 055a3c475h -dd 007571684h -dd 0e313baf9h -dd 0cf6a08c4h -dd 038f2ad47h -dd 0634d6e7dh -dd 092190897h -dd 08c543e00h -dd 01a0d463bh -dd 0df5e7383h -dd 00a765a24h -dd 076b73120h -dd 0e68f24e2h -dd 0e07d2de6h -dd 0b88d1813h -dd 0320e8a73h -dd 0c805389ch -dd 0227e4each -dd 0eae6ec83h -dd 02d103786h -dd 007083665h -dd 0133b922ch -dd 016122308h -dd 07918c849h -dd 018c2d0f5h -dd 07d653c19h -dd 0ca0f9db8h -dd 00ccb2b88h -dd 0e4b8ad6ah -dd 08f6aa6bch -dd 05126be69h -dd 023754a6ch -dd 040c1cfaeh -dd 0ec2e373dh -dd 01ed3b0bbh -dd 0f6b8d05bh -dd 06b5e125dh -dd 082faaa91h -dd 00bf34d31h -dd 0b597d005h -dd 055d0f8f6h -dd 0b81375a9h -dd 0e4f31424h -dd 0beb1ea11h -dd 0ef28aa9eh -dd 0dafef6dch -dd 03363bfa3h -dd 091b7e690h -dd 0b60a59fch -dd 0e4b1cde1h -dd 000ec697dh -dd 097eda612h -dd 0ca343059h -dd 0bc5f91c8h -dd 0b86b15e8h -dd 00e7da967h -dd 0752be67dh -dd 083947617h -dd 0949644f9h -dd 00108b96eh -dd 0ed830a89h -dd 0e1d204aeh -dd 0bdee9a50h -dd 0d899b8f7h -dd 08a779ee3h -dd 0e2b72964h -dd 046d6d2d5h -dd 0f070b7ach -dd 0f726e52bh -dd 05a6d2481h -dd 008d54084h -dd 066f4310ch -dd 0f9673c65h -dd 08b314c39h -dd 09da4ded4h -dd 063b09ef7h -dd 02fe08dc0h -dd 03f7c64b6h -dd 0fd90958bh -dd 0d74b5335h -dd 02f3424f5h -dd 0bb3d7964h -dd 009c36789h -dd 0c5f83592h -dd 0ee8fcdc6h -dd 0a047f38dh -dd 0626e407ah -dd 0bd09817eh -dd 0d893fe97h -dd 05ba393b9h -dd 052db9fbbh -dd 03b31d4cbh -dd 0f268516ch -dd 04dd4652eh -dd 0070761edh -dd 0350da707h -dd 0571a96c0h -dd 0e336d3e0h -dd 039598480h -dd 09ce15d74h -dd 0cf8ea759h -dd 03ab06da9h -dd 0f7bbede5h -dd 0cc4a39ebh -dd 06b98e6f0h -dd 0020eceffh -dd 04f1fb620h -dd 0af9467ffh -dd 02d18c38ah -dd 099f8ff77h -dd 018e7799bh -dd 067bbbf2eh -dd 039fc71f2h -dd 0eef4a3aah -dd 03cf72bdah -dd 036bd8543h -dd 064924926h -dd 0b7794931h -dd 0b4d53882h -dd 0c0305f53h -dd 038562d19h -dd 0dc4bdec0h -dd 0f5ee5c76h -dd 0afb5becah -dd 093bf7710h -dd 0ea96a81eh -dd 082c08048h -dd 000c034b6h -dd 089b80139h -dd 0c2c44973h -dd 055eeebe2h -dd 07b335c0eh -dd 0bde173bbh -dd 0053dda59h -dd 0b5e76e00h -dd 0323f90c1h -dd 0cc6e34a4h -dd 0ddc5c0eah -dd 0e745dd6dh -dd 03f031379h -dd 02d239a23h -dd 023e7818ah -dd 0e11b77b0h -dd 097d45716h -dd 0a664b03bh -dd 00b619f1ah -dd 0be3b24f9h -dd 03823c846h -dd 051a976fah -dd 01a418890h -dd 05d4bb5d7h -dd 0be80db38h -dd 01a404a9eh -dd 0686731cch -dd 0bcb243dfh -dd 09d4c74d7h -dd 0e666fefch -dd 07a8634d1h -dd 099082bbbh -dd 0974f5297h -dd 009a4b774h -dd 037ac6fd6h -dd 0d26dfd2eh -dd 0ee4108f6h -dd 018057871h -dd 06eae5ba3h -dd 04837832bh -dd 02f1f84ddh -dd 0b1ad284ah -dd 0e058fc9dh -dd 0845caf15h -dd 0d76c53fdh -dd 0ebf45aa1h -dd 093407e05h -dd 0ee2a199ch -dd 09fb45d2ch -dd 07018ae7bh -dd 0676d3618h -dd 015e5f50dh -dd 019eba643h -dd 0c4b1ad6ch -dd 0daadcbdbh -dd 0690643b3h -dd 0bb2bb383h -dd 078b36c0ah -dd 0d96e9219h -dd 0fab4c1eah -dd 07586e828h -dd 0b4a5708bh -dd 02ab972f9h -dd 033ed4546h -dd 0abaee82dh -dd 05f7e248dh -dd 07cd32deeh -dd 0e8ea4dcah -dd 0a0b61029h -dd 0c538aacfh -dd 083ccc4bfh -dd 043752686h -dd 0f0c7296eh -dd 0ca2f8c66h -dd 07984536dh -dd 0c1f0239eh -dd 007c16b27h -dd 0b21743bah -dd 08981693ah -dd 004e71438h -dd 04e6fa6c1h -dd 074d24a31h -dd 0c70310a8h -dd 07c7d4130h -dd 07f07b39ch -dd 01c1f494ah -dd 02357fa58h -dd 0bc19bbbbh -dd 00165ce36h -dd 0dd586993h -dd 0b1c21461h -dd 02019fc06h -dd 07a446484h -dd 0bd6995a6h -dd 0f33dba82h -dd 0aa3b5665h -dd 06bfd96fch -dd 01ae08e50h -dd 03bb1fef7h -dd 033edd5a2h -dd 03b5c14c1h -dd 013f6dcd5h -dd 0f8431556h -dd 0d35c549eh -dd 04efb560ch -dd 029b29d33h -dd 0a1269902h -dd 04263802dh -dd 0be985ac2h -dd 0b61fd615h -dd 097dc48fch -dd 08c06f1e8h -dd 088e858d5h -dd 041c1c6f3h -dd 07035cf2dh -dd 083312f6eh -dd 02a373657h -dd 0aa59c2e4h -dd 082d2f489h -dd 0b112990dh -dd 0e51e3c92h -dd 07ca0249dh -dd 0fb8c366ch -dd 040b8a7b7h -dd 0a362c613h -dd 0ebd82702h -dd 02ab0fa95h -dd 04e3eba64h -dd 0d9c4affeh -dd 0146f0f10h -dd 06b7fb094h -dd 0ad007638h -dd 0eb226b7dh -dd 01799fdb9h -dd 03249816dh -dd 0a36a3b20h -dd 0ae2f0a81h -dd 03d0934c9h -dd 0041a024bh -dd 0c340504ch -dd 07367ff4ch -dd 0b467353fh -dd 059a29936h -dd 0f5f19aabh -dd 0117ebf0bh -dd 0aaa1cbech -dd 00a9203d7h -dd 01a31ca3dh -dd 02bb3683fh -dd 01dc2e093h -dd 031b5ff76h -dd 0ff18e3e3h -dd 0f583d4aah -dd 0d7dfcdeah -dd 0c8e58393h -dd 017756e12h -dd 06006100ch -dd 0df49384ah -dd 08639c0e2h -dd 0a5b5780fh -dd 0ee79b5a7h -dd 084d34ef2h -dd 05679251ah -dd 02cb8a933h -dd 0b04ff0f0h -dd 0a7226521h -dd 00cd1e6c5h -dd 0636d88f3h -dd 03ec697ddh -dd 09e2da401h -dd 046c62f60h -dd 06b180a8ah -dd 0964dd31dh -dd 02aae0644h -dd 0d8a7307ah -dd 0f8c2a247h -dd 0021ae07ah -dd 0d31b1193h -dd 074af6758h -dd 0b5b7628fh -dd 0e4952673h -dd 01658620bh -dd 02413e5b6h -dd 0db90f3f7h -dd 06e123588h -dd 0c18f1dd8h -dd 0c0fd85d6h -dd 00d4099c4h -dd 0025ece5fh -dd 0a913f34dh -dd 0b55637f0h -dd 054d81710h -dd 0957886b5h -dd 05653e76eh -dd 00ebd1f25h -dd 09a44fe22h -dd 0fc2b9c8fh -dd 0f636d3d1h -dd 035824fd1h -dd 00db03c6fh -dd 0d6d2b67eh -dd 038de8db8h -dd 075c2a25ch -dd 0c03507c6h -dd 0da65d8d1h -dd 026a34a07h -dd 001e57b56h -dd 0df94b89ch -dd 0531a15bfh -dd 04d109cb8h -dd 07d388353h -dd 0f4dca3fch -dd 0f1657be3h -dd 01371c2efh -dd 02822c39bh -dd 05a5ca9f4h -dd 031ee7eddh -dd 05d0260e2h -dd 067888401h -dd 0ee50279ch -dd 025004661h -dd 0de31578ah -dd 0182e2a91h -dd 0c77992ech -dd 049cd1bbbh -dd 0cde20351h -dd 092ee615dh -dd 07ae8094fh -dd 0e9b337e2h -dd 0b6207a2eh -dd 06d0535bdh -dd 0aa6aeb05h -dd 021f5a198h -dd 0dac15c63h -dd 0a074ce0ch -dd 054f6ae1ah -dd 02fe15684h -dd 03c72dd08h -dd 021f74112h -dd 0c9f51c0eh -dd 0cfb4e5b7h -dd 00926d4d5h -dd 00b7ad4dch -dd 04188d74eh -dd 01b5f712dh -dd 08776f671h -dd 0047d0330h -dd 02c4d7ddeh -dd 0c683f2c0h -dd 012ad68a1h -dd 0344428f1h -dd 08bee3cd7h -dd 0db7e6e91h -dd 0f1b94d60h -dd 0c0e3cecfh -dd 00bc2b693h -dd 0afbe54b6h -dd 06e780393h -dd 058379617h -dd 072530122h -dd 08dc59bb0h -dd 0a38c13b5h -dd 0d14c5ed1h -dd 0bd18e7d1h -dd 012951b53h -dd 0c67c0026h -dd 0b0de9edeh -dd 08c2b814bh -dd 0d9f02e02h -dd 05cf388e7h -dd 0d33cd26bh -dd 0c8be9b35h -dd 0edab0674h -dd 0428d15efh -dd 00782424ah -dd 018071d28h -dd 0a65ce635h -dd 009e40402h -dd 0e9de3ce2h -dd 0f3603131h -dd 09060c86bh -dd 026d36421h -dd 00f8a0019h -dd 0e82b3999h -dd 0c181ce9bh -dd 0e755c261h -dd 05566e383h -dd 031de3ab4h -dd 033869942h -dd 048db6b86h -dd 0bd150206h -dd 03fb969c7h -dd 0fabb1564h -dd 0cbfe6cd3h -dd 054ab7db6h -dd 090d5e654h -dd 0773b90d9h -dd 00685f198h -dd 0cb21bf09h -dd 0cca30ab4h -dd 06cd4d567h -dd 0e46b016fh -dd 0e8896fbeh -dd 05f6bab7dh -dd 002cd8f24h -dd 01d79e37ch -dd 01e17902fh -dd 053bd9a88h -dd 02fc6ffb6h -dd 08a358124h -dd 055073d46h -dd 07f886793h -dd 0d30ed9ach -dd 0e2bc232fh -dd 0558cf220h -dd 019c6370ch -dd 030949147h -dd 03450b0e7h -dd 0f6273ac0h -dd 05cf228dch -dd 0fe19219ah -dd 07492921eh -dd 00e54ae51h -dd 07ac3c42eh -dd 03e99e40dh -dd 067079fa1h -dd 00b0a48f6h -dd 037281f3ch -dd 0495c464bh -dd 03c5c6547h -dd 0f6f34a3eh -dd 0c79cd63fh -dd 00143b022h -dd 04e35b8dfh -dd 02785fdaeh -dd 03c476766h -dd 0e89b8c49h -dd 0e5749017h -dd 0fcb65843h -dd 000d582a3h -dd 07c4a49b7h -dd 03075ded2h -dd 0605f8631h -dd 0b7e07daeh -dd 0aa0485f9h -dd 0356d3de6h -dd 0a8c030e5h -dd 03fd0878fh -dd 031c0c63eh -dd 07749c667h -dd 0c4b7c196h -dd 002ffbe34h -dd 09657c3edh -dd 04ee94946h -dd 0e5599791h -dd 0959e6fd9h -dd 06345bad2h -dd 012a28a69h -dd 0cc7dca75h -dd 0d8ea33f7h -dd 0888178ech -dd 0e6a9a436h -dd 0dd783b47h -dd 015b8182bh -dd 0760c12bah -dd 03ed1d004h -dd 03c3ff380h -dd 065590cc2h -dd 04bea09a3h -dd 011cda580h -dd 0494d0425h -dd 0f98802bbh -dd 035f67c61h -dd 0fe0fa822h -dd 053025d99h -dd 062317263h -dd 0d681aefch -dd 052dc756bh -dd 05e24caech -dd 0f9af84d3h -dd 077b89f35h -dd 01272039bh -dd 012aa6816h -dd 0defbefc2h -dd 04fad1ae3h -dd 0bbe63a2ah -dd 0708c72afh -dd 0576a539bh -dd 0ec6d70d8h -dd 02ad23176h -dd 0d671a216h -dd 0eeb1f544h -dd 080912fa2h -dd 0d2daed94h -dd 0d2d887e2h -dd 0987ec868h -dd 072f2840fh -dd 0769cd3c8h -dd 0b6aaa305h -dd 0dc1a5db5h -dd 0c5c9e1ceh -dd 0b7e71fb8h -dd 0d2a61e57h -dd 0b4b4c680h -dd 0366ecdebh -dd 06b3860dfh -dd 0751ef2b2h -dd 0fcb365d4h -dd 0942f43eeh -dd 08b84bb1dh -dd 01661430bh -dd 0dd6573f7h -dd 0b06b1605h -dd 08fbfed64h -dd 085e01ca4h -dd 0026a9cb9h -dd 04f632f36h -dd 0031f655fh -dd 09ea43cfch -dd 08716eb91h -dd 0f3479ab7h -dd 06dd66a48h -dd 028823403h -dd 0378ebfc5h -dd 05450a342h -dd 09355d0efh -dd 05b7ecd76h -dd 0db5c741fh -dd 0f8889dadh -dd 08f3e63d3h -dd 0d1e6cb10h -dd 05bd100a5h -dd 0c066d6d3h -dd 0ec7dc70dh -dd 04d11aa04h -dd 030ead797h -dd 0584f6232h -dd 03939987eh -dd 0e0608520h -dd 0a8683b0ch -dd 0d83c202eh -dd 04d57c84ch -dd 05122e0b9h -dd 06c7333a0h -dd 0132e36dch -dd 0deb746c1h -dd 003164901h -dd 03e3393dah -dd 01c4362a1h -dd 013ee3705h -dd 059947393h -dd 08ae5e875h -dd 04f099c28h -dd 006d7187ch -dd 00ef4f60eh -dd 0c7a0c05fh -dd 0f8ee20eeh -dd 029a4c0e8h -dd 0e7a65494h -dd 0e380dfcfh -dd 0af77428eh -dd 006557d8ch -dd 0b6f789a5h -dd 028c082e9h -dd 0efa77f8fh -dd 081b13a3ah -dd 0f63eaaedh -dd 042e5a564h -dd 03bd47d0bh -dd 0ec83de74h -dd 00a68f871h -dd 0f642129eh -dd 0bacd2723h -dd 08e0e6afeh -dd 0ca67ee83h -dd 0462a5de7h -dd 0e1d6950dh -dd 05d47777ch -dd 001807c8ah -dd 0886ff3b2h -dd 0150bc820h -dd 0aba7bb13h -dd 0417fb9d6h -dd 02a9b3b6bh -dd 0d5225759h -dd 01b17ee6dh -dd 08e2fec34h -dd 02f1e5258h -dd 01a2a6dafh -dd 0827e8285h -dd 0edcd06c7h -dd 01e37508dh -dd 08b41bf3fh -dd 005eee9dah -dd 0bb4894c5h -dd 08a043897h -dd 066c4c701h -dd 01cb63878h -dd 05ddd383eh -dd 0bbb8e19bh -dd 000e08542h -dd 0ae4845a2h -dd 0ac118b2bh -dd 089e127dch -dd 089ed4564h -dd 021d1b079h -dd 0224200eah -dd 09d29c9b5h -dd 0bdceec24h -dd 00437b971h -dd 0f9f65537h -dd 0fb5b8de9h -dd 063fd4c41h -dd 0e769760ch -dd 0f4e36de1h -dd 09a524daeh -dd 0f0cb054eh -dd 0e1216dbfh -dd 0ad15cd34h -dd 0fdeb3799h -dd 0b1dad520h -dd 0a4d8fdeeh -dd 02e3b2908h -dd 065518d5ch -dd 0a2186ceeh -dd 0cb6b7e8eh -dd 0bc87c950h -dd 0374a4956h -dd 07c8039f7h -dd 03f2d810fh -dd 0e50204eah -dd 05d701876h -dd 02da3577eh -dd 0c434e141h -dd 086984ee4h -dd 0204414a1h -dd 026fd1576h -dd 08d446468h -dd 0677fee2bh -dd 0b2299e08h -dd 0c9b2785ah -dd 085ec5017h -dd 0550df1d8h -dd 039edf001h -dd 01bd0acb4h -dd 0e615e48eh -dd 01011fb66h -dd 08b698215h -dd 0945b51ach -dd 0e1cbb998h -dd 0bbd989d3h -dd 0741bda85h -dd 0e783786ch -dd 033c02ea0h -dd 06e644f38h -dd 0b4e9c670h -dd 02dd9cc8eh -dd 00b7484d4h -dd 080627244h -dd 01deb309eh -dd 025405f78h -dd 0388a09b4h -dd 073598931h -dd 085c9eebfh -dd 04399e064h -dd 0894b498ch -dd 07e8856c8h -dd 0fe996027h -dd 0eded27f5h -dd 094af833fh -dd 0becb2f89h -dd 0fcd94960h -dd 0f3a34520h -dd 05e8c79d5h -dd 09fb58f41h -dd 034cd2933h -dd 07a9220b4h -dd 0877deae3h -dd 019c87165h -dd 0d3dbc51dh -dd 022db2f66h -dd 0b3c99295h -dd 0b12cecaah -dd 0844ce4abh -dd 09cc05f49h -dd 0b6b8e40eh -dd 0052077a0h -dd 068c389a3h -dd 01443f2d5h -dd 0612b1eadh -dd 0ae44cb02h -dd 0b50d67e6h -dd 0df8b0f99h -dd 0c94746e0h -dd 00aac98ebh -dd 0263600e9h -dd 0b6f8df37h -dd 0608b74a2h -dd 0021186d7h -dd 0643d1e27h -dd 0e1931470h -dd 03dbe5763h -dd 0e1516e7eh -dd 0b35101e5h -dd 0466d6b00h -dd 0a3f6b13eh -dd 032042c21h -dd 0b36d1b6ch -dd 0262fbd5ah -dd 0416f4777h -dd 062c5c2a7h -dd 04b1b04b7h -dd 0d747c6d6h -dd 0730c9488h -dd 00414248ah -dd 0ea7405b9h -dd 0d979efd2h -dd 071a4d2d2h -dd 0795d270dh -dd 034154f07h -dd 0e5469c7ch -dd 0192c368dh -dd 0032ec89bh -dd 0e4bc4785h -dd 0e80f6761h -dd 09a8c073dh -dd 019725876h -dd 004735833h -dd 0dd73bc30h -dd 0c8e479c3h -dd 079a11d30h -dd 0223059edh -dd 07f2e39ceh -dd 061161e74h -dd 082f5d24eh -dd 041b4ebf5h -dd 072e4cb52h -dd 09b60af48h -dd 02da323b6h -dd 0d26e6d8ah -dd 0c0c24fc2h -dd 0fd3d53b0h -dd 05e79e3fdh -dd 0bc5b509ah -dd 0843c395fh -dd 0a04d18b4h -dd 06d88ee1dh -dd 0d89b1ca6h -dd 0c3cfb3d6h -dd 044b8bc95h -dd 0e80bd9e2h -dd 0579cb554h -dd 0ed2fdf26h -dd 02e77349ch -dd 0380e9b9fh -dd 0b69ac402h -dd 0c28d7305h -dd 05bfa1f39h -dd 0f4efd1ffh -dd 043334c61h -dd 001a524eeh -dd 0878030bfh -dd 076bce5efh -dd 04d3e85bah -dd 0fd91bae1h -dd 074384512h -dd 0cec04543h -dd 0757d0e63h -dd 0e46b7ff2h -dd 0e446bb48h -dd 0a368b882h -dd 0757651a6h -dd 08a0d138fh -dd 021b6eddah -dd 0ad70131ah -dd 04e8c9467h -dd 035427126h -dd 061ecb674h -dd 052e6ca9eh -dd 0f6b11d15h -dd 08e8e0468h -dd 0ec8f19dch -dd 082a890dah -dd 0ca1f5818h -dd 09ea9782ah -dd 03ce0d150h -dd 03b6c0a17h -dd 0d3f674dfh -dd 052fb2e4ah -dd 096177048h -dd 047e2f1b7h -dd 05b763e7eh -dd 0484897c5h -dd 00d2c5d56h -dd 0c13ef45bh -dd 0d12fdff6h -dd 00680ab6fh -dd 0dd383e75h -dd 0e9419df1h -dd 01e865f3ch -dd 0d94e4b34h -dd 05037a94eh -dd 00c279683h -dd 0c16b4102h -dd 030e4dbceh -dd 06b8d7bc4h -dd 0a955e23ch -dd 0c6a76596h -dd 058cd20c3h -dd 01e9a0b0ch -dd 0cbd7680ch -dd 0df7bcd06h -dd 0602a398ch -dd 03b0d270eh -dd 08b030123h -dd 0db4289a6h -dd 0d1554696h -dd 090821c90h -dd 01ce0de08h -dd 0239bb327h -dd 073d10121h -dd 00780a350h -dd 059c65340h -dd 0f1cd342ch -dd 0b08c5b0fh -dd 061c8874eh -dd 09eed3a07h -dd 0d69460a1h -dd 09dcf72c2h -dd 0f6a13004h -dd 084761baah -dd 04db89a1bh -dd 0f0135181h -dd 0a09475d3h -dd 0686700f0h -dd 08b481fd7h -dd 0c5a9582fh -dd 058a29f35h -dd 098efa02dh -dd 0703d7f31h -dd 0eefc48d8h -dd 04812a352h -dd 0128db45ch -dd 0eb8daa85h -dd 0daec7161h -dd 0d34ee821h -dd 098d9dadeh -dd 0134436dbh -dd 04e30ed14h -dd 0b5d45ac4h -dd 0c56081f1h -dd 0325be0c3h -dd 04173ce79h -dd 019966d8fh -dd 08b34680bh -dd 0214efb6eh -dd 00146926bh -dd 0f4b6fa16h -dd 0947d2445h -dd 01b4ced00h -dd 0ebd3815dh -dd 0f737e73ah -dd 0625ca025h -dd 02dc04674h -dd 0b049926bh -dd 0f74c0455h -dd 0762759cbh -dd 0c419fd4fh -dd 0e36e71aah -dd 0374fc1cch -dd 0c810f237h -dd 0e9ca7184h -dd 023e27180h -dd 088982897h -dd 07c9efa34h -dd 00bfe9f76h -dd 08d399e81h -dd 05ac464c4h -dd 05f72efb5h -dd 086978564h -dd 061089339h -dd 025c72c2dh -dd 0a9fc47c8h -dd 052ac382ch -dd 04f02eb9ah -dd 0f8b1abaah -dd 0099af1efh -dd 0b8a2bee9h -dd 07ee2e42bh -dd 0a9a825b9h -dd 0365fbf69h -dd 0307885edh -dd 0d4caab36h -dd 045f9b308h -dd 0a326385ah -dd 05b91d5f7h -dd 08ed6434eh -dd 0a24b9eedh -dd 04a66ceeah -dd 0c06b2f67h -dd 0d3d32ea5h -dd 08dc3c75ch -dd 0b707e85bh -dd 09d3f3950h -dd 0f3483b17h -dd 0a01a8207h -dd 0e6ad66efh -dd 0be9746bch -dd 0c20fd650h -dd 0fb432657h -dd 0d580df0dh -dd 0985e09c6h -dd 0d2e0c271h -dd 0decf069eh -dd 0746b4b59h -dd 0cfba7da3h -dd 044cde50fh -dd 0095909a7h -dd 0d747c8bdh -dd 05b5ad60dh -dd 040b6a812h -dd 0dbd6901dh -dd 0a9598b51h -dd 0a650145fh -dd 0e2086883h -dd 0508e835ah -dd 00b7dc748h -dd 0baabfc2ah -dd 0aac91c2bh -dd 0eab62063h -dd 0a4bf9204h -dd 07b9d73bfh -dd 09849114fh -dd 003d06364h -dd 040434524h -dd 0446e59b3h -dd 017c81730h -dd 0188afc13h -dd 07eaa7f00h -dd 04fa3ae6ch -dd 0bbffa75ch -dd 0ce6afd99h -dd 05b99cbe7h -dd 0afcb431bh -dd 0f85934b1h -dd 0b2b3b4d3h -dd 0f67b45e2h -dd 05c9edd12h -dd 0f7182438h -dd 00f55b0d6h -dd 0f4bf676eh -dd 044428d56h -dd 048b4073bh -dd 0d0dbff9ch -dd 0135d1e54h -dd 018a712ach -dd 014a2c9e8h -dd 03f5f1915h -dd 00f64ee67h -dd 07bc5d861h -dd 057203097h -dd 03fb36a30h -dd 0b1b31b67h -dd 0693d5078h -dd 0e4aad65fh -dd 01d735a3eh -dd 0f9a4b723h -dd 082763ad9h -dd 0ffb0b2bfh -dd 0d460bba2h -dd 036c4a676h -dd 0ec9f6fcbh -dd 0ea6373cbh -dd 06603dbd0h -dd 029c3267fh -dd 0ca2887a8h -dd 0ef98c458h -dd 03483c191h -dd 086620affh -dd 0cab2b108h -dd 00b30b65ah -dd 070eaac64h -dd 0e2649fcch -dd 007c3a0bdh -dd 084428887h -dd 0cff67610h -dd 0f1cb2aa8h -dd 0e58b6be1h -dd 0659a92fah -dd 0b797dc08h -dd 04ffcb4d7h -dd 07b1687d8h -dd 08c473872h -dd 00ab33b65h -dd 08e42e3a7h -dd 063c5300ch -dd 011e79ccdh -dd 039dca9b4h -dd 0c8875fb2h -dd 03518996bh -dd 0da501598h -dd 0e2f2b830h -dd 0efe4f577h -dd 071d0c387h -dd 0a7e96e95h -dd 07a8cdf2ch -dd 0dcc4d602h -dd 0aabe1897h -dd 0317699ffh -dd 052fbdfe3h -dd 0c318f2b3h -dd 09674df6ah -dd 0703fd598h -dd 08dc39a54h -dd 0f16e9d54h -dd 028203efeh -dd 0964df126h -dd 023851077h -dd 0800dbe7ah -dd 0b5041156h -dd 04f8c283fh -dd 0454a8086h -dd 0f9c6dd35h -dd 08861fa39h -dd 0e354dfe1h -dd 01971336ch -dd 0956af954h -dd 04b221a7ch -dd 0eb299099h -dd 066ec4979h -dd 020779e8dh -dd 0cff2816bh -dd 0c0236563h -dd 0f1fea4a8h -dd 09f000896h -dd 00278dc5ch -dd 09a30f539h -dd 0395b3781h -dd 09c2b6c44h -dd 0755e147fh -dd 010babd92h -dd 0d5208015h -dd 04a01a8bah -dd 03f4b6165h -dd 02684a3f7h -dd 054a126e1h -dd 0f6caa337h -dd 00cec6e71h -dd 05584d948h -dd 084e23b7ah -dd 0143d8a10h -dd 0420b6599h -dd 0f95313f4h -dd 0950f769ch -dd 0a5ee58ebh -dd 0880942f0h -dd 0b11c9fc8h -dd 00c7968c7h -dd 00540a8fbh -dd 0faedeb1ch -dd 0943ab5ach -dd 0857378c6h -dd 049319811h -dd 04df2a081h -dd 03fac575ah -dd 06a8a0631h -dd 028500b87h -dd 0cf41aba1h -dd 0e1e424a4h -dd 09745c1beh -dd 0816c9c3ch -dd 044dcf123h -dd 017536eb3h -dd 0588e1316h -dd 0edf54ddah -dd 06f9af76eh -dd 0ea3a737dh -dd 0823577b6h -dd 0c6c1e247h -dd 024b70f01h -dd 0d9f0f9f9h -dd 094ed2562h -dd 06e91cb1dh -dd 080f7372dh -dd 032f4bf02h -dd 00dd00b20h -dd 039ea47b7h -dd 0b20dd28eh -dd 032db3211h -dd 0d0149f81h -dd 073ae9590h -dd 0e5edc319h -dd 0123ba324h -dd 06a5bcfcbh -dd 00b182d43h -dd 08387e824h -dd 095e92a1dh -dd 0ffb93a44h -dd 071d9c5e1h -dd 07f5e2be2h -dd 0ebb33106h -dd 0fb06c4a1h -dd 0a0c7d404h -dd 077ab39f7h -dd 0127202bfh -dd 08112bd89h -dd 0063addech -dd 05a19b727h -dd 030f1861ch -dd 012aea399h -dd 0660d4dech -dd 0b1591289h -dd 0e3ba9f79h -dd 0a89ec790h -dd 0fc717616h -dd 0cf27b1c0h -dd 02e8ce79ah -dd 02207a498h -dd 0db448d31h -dd 0fdf54117h -dd 008879bbch -dd 0b2714f9dh -dd 06ec28b6ch -dd 08b6823aah -dd 08973e64fh -dd 0e39a3c87h -dd 07230ce97h -dd 0ffe2124dh -dd 04cd65f1ch -dd 0fa4c3f3eh -dd 0b20e3c94h -dd 0bd1912e9h -dd 000e0a5f4h -dd 0f2ea58cbh -dd 0523fde7dh -dd 0e42c1cf6h -dd 0962e0925h -dd 0106435ffh -dd 015f3dd90h -dd 01bff2767h -dd 0070edd65h -dd 03665fc51h -dd 09d3e40ebh -dd 04849f6b7h -dd 04427001eh -dd 07fa0b490h -dd 048ddbd4dh -dd 00b70cfb5h -dd 0a1f18c7bh -dd 0620275deh -dd 02aa5d0b5h -dd 056f6cda7h -dd 004dc9fa1h -dd 09a81215fh -dd 015ad0b4eh -dd 05b4b6d6bh -dd 0dd50b067h -dd 05bb8185eh -dd 075cb9908h -dd 0087eb733h -dd 03e7fedf3h -dd 037fedd60h -dd 0b43fdbf9h -dd 0813631bbh -dd 0b97a5c5ah -dd 0f60f6c23h -dd 0efe06127h -dd 0a41c0ca8h -dd 0e67d91feh -dd 07588870dh -dd 09749477eh -dd 098010e97h -dd 05b6dc44ah -dd 0e315c04ch -dd 02e94b927h -dd 0804fcde4h -dd 0ccb2b783h -dd 0f8658d37h -dd 068b736b4h -dd 016da79c4h -dd 02fea5fa4h -dd 00426f2e3h -dd 03b933dfeh -dd 09d173730h -dd 04a344450h -dd 0bf1d50b8h -dd 0f86bc914h -dd 0675c1500h -dd 0628791a7h -dd 05c426117h -dd 076f92926h -dd 0123dae22h -dd 0c4221536h -dd 0b4b2bd98h -dd 0b8a00163h -dd 027fe4195h -dd 0adfb04e0h -dd 04fbe2398h -dd 0985d73d4h -dd 06b0205a8h -dd 07367bbf6h -dd 0e3df2781h -dd 0c6441c08h -dd 02ccc2b90h -dd 041ab51b8h -dd 076e6e105h -dd 07230d989h -dd 0c020ba21h -dd 0b1443dc4h -dd 087e630c5h -dd 009e93d98h -dd 08382943eh -dd 092c52315h -dd 059916a99h -dd 0732e65dfh -dd 0a4cec82ch -dd 0c516ed8bh -dd 068b4a953h -dd 03ba70df8h -dd 0aee77d57h -dd 09c63f023h -dd 0bf6635f3h -dd 0ada60408h -dd 071320994h -dd 0f9fdd81bh -dd 0534f2fcah -dd 0a0297e08h -dd 0946ca8e3h -dd 09e521d49h -dd 03a6ab7c3h -dd 00ba77a92h -dd 0a8dd63a6h -dd 0453710e8h -dd 0567c9575h -dd 06d20eaa2h -dd 04aa4c742h -dd 056c2fc84h -dd 071c31399h -dd 0952efa70h -dd 037e772f0h -dd 0215055bch -dd 0d586c120h -dd 0cf087722h -dd 028001d45h -dd 077466e1eh -dd 0270b9918h -dd 0c874c631h -dd 0e91a49deh -dd 0761f7f5dh -dd 0046680eeh -dd 0b944f2cdh -dd 0603368e5h -dd 0510b2a59h -dd 07e8e6001h -dd 0cbd2bfe6h -dd 0e8d271cch -dd 01bec2da4h -dd 01302e904h -dd 05348fc4eh -dd 0993cbcf7h -dd 0971a2e54h -dd 08605f176h -dd 0055ae3dch -dd 04907cb30h -dd 05f385416h -dd 00edad5ceh -dd 0c70908a5h -dd 0c29729edh -dd 09bc702cch -dd 011cf6b3ch -dd 02b125dfeh -dd 0d55753e1h -dd 0a652d73dh -dd 0d74a7a59h -dd 09005934dh -dd 0db241a17h -dd 08b45d63eh -dd 06e49ccf7h -dd 01fcaacc7h -dd 050a29fc5h -dd 08e88014ah -dd 042c96ab6h -dd 0a25a6f2dh -dd 09da53a1ah -dd 0b617bea6h -dd 004706f77h -dd 03001fb52h -dd 0d830e53dh -dd 05800fff5h -dd 01e929cd9h -dd 01832aa86h -dd 0354f6b4ch -dd 0109d736dh -dd 04b115f72h -dd 043a6c302h -dd 018104b51h -dd 04cdea3ffh -dd 0fda88e05h -dd 09b74453dh -dd 0aeb7f04dh -dd 093c2f88ch -dd 0f06f205eh -dd 0b8c50ca2h -dd 0fed6b12fh -dd 0382c5eaeh -dd 0294a4c29h -dd 031e1b71ah -dd 00357bab2h -dd 07ecae559h -dd 02b420833h -dd 03e89e7b9h -dd 00c89a7c3h -dd 041b6c908h -dd 0b6e392ech -dd 093e23fa0h -dd 0fa500926h -dd 0deaa858eh -dd 051a44e82h -dd 05015f3ech -dd 012d94dceh -dd 0339e2b9dh -dd 0668d4d41h -dd 0fc3292dch -dd 04f1c6da7h -dd 0343c2497h -dd 06fcf2d0dh -dd 0e04a14cdh -dd 00aced06dh -dd 057b92aceh -dd 047ac9bcdh -dd 095f616bch -dd 0b241cfceh -dd 00858e0a4h -dd 02d82e070h -dd 028654988h -dd 0caea0507h -dd 0f0e8b74eh -dd 08b71beb4h -dd 0e3c561e3h -dd 06afa8008h -dd 0bc13a81bh -dd 09787f13ch -dd 08196ec07h -dd 08e8cf1afh -dd 0e1056cbfh -dd 00912a811h -dd 0023b09e4h -dd 08f90e964h -dd 0cb21c189h -dd 0bff90bcah -dd 09e307d57h -dd 03cd779ach -dd 00275000ch -dd 02bc6faabh -dd 0f7e1cdd2h -dd 0bbe27ea1h -dd 0849a9cd3h -dd 080852955h -dd 022c1c9d2h -dd 0136bc2a6h -dd 080f4ea9eh -dd 022a3fda4h -dd 044047b93h -dd 0257336f6h -dd 0df43e8ffh -dd 0164e4ee6h -dd 064b90bbfh -dd 07ffc8100h -dd 08f0574bch -dd 05585543ch -dd 03ec4e438h -dd 00a177202h -dd 0fc4ad9a4h -dd 0833ed78fh -dd 069146662h -dd 098c77f63h -dd 09ba9ba80h -dd 015c93403h -dd 020215512h -dd 03df8e0edh -dd 0af915edfh -dd 0224a8a3ah -dd 010558b20h -dd 0d5e52e82h -dd 0d9dca381h -dd 0d7f694c1h -dd 06a0442feh -dd 0018dfdf6h -dd 0c9812b88h -dd 0f23b7447h -dd 06c1e805dh -dd 02901fb2dh -dd 0d80c7852h -dd 02e5e3d99h -dd 04ba69135h -dd 0348e6101h -dd 0f2a9261dh -dd 05793d41ah -dd 0592eb272h -dd 0adbcacdbh -dd 031b3119ah -dd 0172a0f80h -dd 0a727f6deh -dd 0afe7b035h -dd 08b7b3e1fh -dd 05b3723b5h -dd 0104ca658h -dd 0e02ffd77h -dd 061cd578ch -dd 085b54e5bh -dd 01ca49f74h -dd 090aa8e1fh -dd 0bb843644h -dd 020897c0eh -dd 028336640h -dd 0e4e7210ch -dd 0b8349e20h -dd 027d1ceffh -dd 0a4840c66h -dd 039859ed6h -dd 0cad36168h -dd 0e97add4ch -dd 06e961cb5h -dd 0b0b57754h -dd 03af3562fh -dd 085b1c030h -dd 0ac18b503h -dd 066663557h -dd 0ee14ee3dh -dd 051059cd8h -dd 0a0f1575ah -dd 0f4990deeh -dd 036970433h -dd 0f124c8f8h -dd 09655830ah -dd 03f31790ch -dd 0cbd54717h -dd 047e8840ah -dd 064753faah -dd 05bae7a78h -dd 05abb1db3h -dd 0d78728aeh -dd 0c8ab04a8h -dd 084a79b31h -dd 043f49104h -dd 03953f993h -dd 01c0492f8h -dd 07d6b9fafh -dd 016fdbdd8h -dd 03e6295bch -dd 020ff7774h -dd 08f23b716h -dd 0edcd359bh -dd 069bc80a5h -dd 00e9bf790h -dd 0f7a2833bh -dd 004402312h -dd 03d0a1daah -dd 0885297c2h -dd 009c120f0h -dd 0e263559eh -dd 025063967h -dd 0fcf54c1dh -dd 0d0734813h -dd 0c45a9d67h -dd 06d1cb68dh -dd 0acdf175ah -dd 0ea28429eh -dd 0909120b7h -dd 0991d2f09h -dd 0c2aa694eh -dd 0a43aabaeh -dd 0c9b44bb2h -dd 07343a36ch -dd 06a00b3a1h -dd 002c78c20h -dd 0d2a3ef2ch -dd 0a84d019dh -dd 048c3c275h -dd 03e205827h -dd 02f89e919h -dd 05d19dbc0h -dd 024ddc902h -dd 0d79dacddh -dd 03c70fc60h -dd 0a2e6f3fah -dd 07062a5ceh -dd 077f5f77dh -dd 02c573048h -dd 0b595c952h -dd 0e10313ach -dd 0d568891ch -dd 0a7ab7283h -dd 0567784bbh -dd 0bc2a5e52h -dd 003f3f9c0h -dd 04c84094fh -dd 0e431c87eh -dd 04197630ah -dd 0548ff017h -dd 00b93e422h -dd 0b731eb3fh -dd 0e08cda97h -dd 0572d062ch -dd 0f6411704h -dd 043b1dfc2h -dd 0a6681c80h -dd 0b01dda26h -dd 01feadca6h -dd 04e6f010ah -dd 07c743cb3h -dd 0c886882fh -dd 08a9081dch -dd 0fec30030h -dd 01803e61bh -dd 014092158h -dd 0c633d24eh -dd 03ce501a0h -dd 0c813b8fbh -dd 0afb11a29h -dd 0a71dfcffh -dd 09a19560fh -dd 0383b1d7dh -dd 0fbb6adebh -dd 06122b988h -dd 06f8c2df3h -dd 017c6a819h -dd 0b196fa10h -dd 05b16c6c8h -dd 0baf21979h -dd 0b9c21a7ah -dd 0dce248d9h -dd 0b4544b3dh -dd 09463671bh -dd 076fe3d17h -dd 0f47fe17ah -dd 0722cb922h -dd 09928ce3dh -dd 062cc18d2h -dd 0569d2e5bh -dd 0990b44a3h -dd 0e8b47957h -dd 04596cec2h -dd 0bb4a8de4h -dd 02494a548h -dd 0c5557d6ch -dd 014affc10h -dd 0034279dfh -dd 0d98dea52h -dd 0687ac837h -dd 02fc5b93eh -dd 0a333057ch -dd 038369165h -dd 0add03c03h -dd 0efd50d13h -dd 0e6f369d3h -dd 00625ce61h -dd 00a729872h -dd 02d8c0372h -dd 00608c2a5h -dd 06797c968h -dd 026046645h -dd 04154818ah -dd 0879a7fa7h -dd 0d682fcc5h -dd 073382436h -dd 0c190f7adh -dd 0ef1173d3h -dd 03b339979h -dd 0f83a73d1h -dd 09806d8e3h -dd 04f0401abh -dd 0e299f4f9h -dd 01043e1f8h -dd 013871e06h -dd 08d6a4e18h -dd 0055314ech -dd 0926a56dch -dd 08afe8ccbh -dd 0744a65a6h -dd 0ad3cf67ch -dd 0f67a7b8dh -dd 0e28d42fdh -dd 0a3856ed0h -dd 082f479deh -dd 0ac23eb07h -dd 082004bc0h -dd 02fe8c479h -dd 06f055834h -dd 0c87e0ab0h -dd 0c129f1a1h -dd 004444466h -dd 04b07fdd1h -dd 031bf357fh -dd 0c5bd80d7h -dd 0914dea4ch -dd 0b5bfefa6h -dd 03cd3697bh -dd 08b1f797fh -dd 05928a890h -dd 0142389cdh -dd 09f3ed89bh -dd 0f5901b6bh -dd 041903e99h -dd 032944625h -dd 016e78e54h -dd 05305a653h -dd 0020dcec3h -dd 0f4d3ab80h -dd 0cc8a7c36h -dd 036ba4079h -dd 0dc6ac977h -dd 0f8146c9ch -dd 018e259e9h -dd 09ef927e1h -dd 0d163deb3h -dd 0effc6375h -dd 0f1a362c8h -dd 009a6bfbbh -dd 00e4844c2h -dd 0f407a0beh -dd 043fd8552h -dd 05ce84a38h -dd 0b4ec3f31h -dd 008d64425h -dd 0b94eed3bh -dd 050aa5783h -dd 032554c72h -dd 0f6e0e778h -dd 09982dbc3h -dd 0beb4b3d1h -dd 095c6b30fh -dd 0c8311f39h -dd 0a4e44530h -dd 07789f253h -dd 048534c38h -dd 0694955ceh -dd 045d7826dh -dd 0b4ee1adeh -dd 095f58043h -dd 028cb557ah -dd 0183e7a1ah -dd 089cbfb6eh -dd 0feb4d488h -dd 021224b77h -dd 06c3c545fh -dd 06e596f60h -dd 01bf1b5abh -dd 070761c3eh -dd 051b1e928h -dd 0771535bah -dd 06e0daa78h -dd 0c0c89703h -dd 04fa16a32h -dd 0f31eabfeh -dd 085d4277eh -dd 0aec8a1ech -dd 054213e09h -dd 0edf820d6h -dd 0e3c6d981h -dd 0a22f43b9h -dd 077c33bd7h -dd 0e03398d3h -dd 0e6b65e03h -dd 02f447122h -dd 0c8e0a7d7h -dd 0305c4f70h -dd 018b0b7b3h -dd 0467820f8h -dd 057a528fch -dd 02f510dd9h -dd 08fe445c3h -dd 062143c5ch -dd 033c404cch -dd 0c02b7ecah -dd 0c555f5dfh -dd 0c9ce9288h -dd 0c217454ch -dd 0f5f1f766h -dd 04205859ah -dd 093325725h -dd 0449a4e73h -dd 015c699deh -dd 0e5004657h -dd 0158b4040h -dd 00480fe6fh -dd 0b554c41dh -dd 0c7d48f5ah -dd 0aaf5f0deh -dd 0d162e2abh -dd 0f77a992eh -dd 0c1422a08h -dd 097635193h -dd 0bb51a62dh -dd 042e56f70h -dd 09c6be82ah -dd 091129f74h -dd 007416e63h -dd 092367cabh -dd 045f2ad9ah -dd 056e1988dh -dd 02e163f00h -dd 0113cd5fdh -dd 0dcc39f37h -dd 03bfb9c0fh -dd 08d3c2161h -dd 0740e9869h -dd 0d22b5f17h -dd 0da845091h -dd 04920e6e5h -dd 02f6011a1h -dd 0d8715894h -dd 009c2f5a4h -dd 0587f55e8h -dd 0282795c2h -dd 049512bffh -dd 0b032f3bbh -dd 0036412e6h -dd 058d7245ch -dd 055cb8666h -dd 054d79200h -dd 0a4ab2831h -dd 0f88118e2h -dd 0723f49ceh -dd 0dc52c600h -dd 06db8391eh -dd 0c8d96fe8h -dd 0ad624b5bh -dd 0470e1aadh -dd 0d46a6826h -dd 046456a74h -dd 03aa836fah -dd 0d03e18a2h -dd 0fc6e426ah -dd 0c9d8c7d4h -dd 000363b41h -dd 0901e1f1fh -dd 092aa4e5bh -dd 07089587ch -dd 0cfea7bfch -dd 09812fc18h -dd 0ba86dc24h -dd 06102b592h -dd 0208ffcbdh -dd 0b5610c5eh -dd 0cf87b1e6h -dd 068809600h -dd 0d5acb812h -dd 09207b4a1h -dd 021b86cb6h -dd 068b7eea7h -dd 091825a13h -dd 00d737f80h -dd 06f6e8991h -dd 0ab5eba33h -dd 0f416dc84h -dd 03f6b6c8eh -dd 0320796ebh -dd 017182977h -dd 06b965255h -dd 099dd2c1fh -dd 003673956h -dd 073e8c346h -dd 02d178fa0h -dd 00fe6d169h -dd 08729625dh -dd 0abbb6d05h -dd 05e79abd6h -dd 08c07e166h -dd 00bb5f9ceh -dd 04a5ba118h -dd 03c835eedh -dd 0b43d37a9h -dd 0c71609a1h -dd 0f7818609h -dd 08feb6b3bh -dd 0b9cffaf0h -dd 0273bf6e4h -dd 06c3d6e9ch -dd 06d947c03h -dd 0bf5a2373h -dd 00d8f75f7h -dd 00f24ef52h -dd 05212955ch -dd 0dcb2d91bh -dd 0e6881884h -dd 079245772h -dd 0b5c78040h -dd 0d96904a5h -dd 0392a695dh -dd 008351ab7h -dd 0b392a680h -dd 09c4626bdh -dd 0e6ea01cah -dd 08a04b993h -dd 0fce73500h -dd 0985533e1h -dd 0d454e06fh -dd 0b3758f5ch -dd 039e3e998h -dd 023ddf4cah -dd 03759c4f5h -dd 0c51abe2dh -dd 0116da4b6h -dd 0c2b25b04h -dd 09a82abe8h -dd 0e29ee825h -dd 016eca329h -dd 07796eb6dh -dd 05b0ba983h -dd 061ee99b3h -dd 0daab7e44h -dd 091ccd7d9h -dd 04f2c6eceh -dd 093280c67h -dd 08b09606dh -dd 012aa991bh -dd 02bb8759dh -dd 0a5acb79bh -dd 0514bdc5fh -dd 086bbd333h -dd 0764160efh -dd 01ae28c82h -dd 034743553h -dd 0e497fc67h -dd 0a3c0a6fah -dd 04b0f44a1h -dd 0896e136fh -dd 0683bad55h -dd 098a5b276h -dd 022178d39h -dd 095b32bffh -dd 0a22b4423h -dd 07ee64183h -dd 0aaa2a86fh -dd 0ccc5e2c5h -dd 08bceab5dh -dd 0775e973ah -dd 0538a0e6bh -dd 073a63237h -dd 0fde85304h -dd 08bd81291h -dd 06acbfd13h -dd 0b895493fh -dd 0cadb0f89h -dd 0799b29b5h -dd 0a8d92813h -dd 0ced542e7h -dd 093713e3fh -dd 0d354bdebh -dd 008d349a8h -dd 0873903d2h -dd 0806e01c1h -dd 00f78be9bh -dd 0285ba895h -dd 08de1fec3h -dd 05963e842h -dd 004dbbd1ah -dd 0d41c621dh -dd 04a915bc9h -dd 0d8729ae0h -dd 0f45cfe82h -dd 04db85079h -dd 0132b048eh -dd 0f78e78e2h -dd 03cbaaff7h -dd 00bd9f35fh -dd 0ae8b3e2ch -dd 02a3db59ah -dd 0745f489eh -dd 0eafa4adbh -dd 0581becf6h -dd 019ed5a6bh -dd 0bc57a4dah -dd 0557e12d9h -dd 03b7dc455h -dd 01864f979h -dd 026cab45fh -dd 0e754480eh -dd 016658e61h -dd 0b1b4f59dh -dd 0a086c4a4h -dd 0e4b8012ah -dd 0259e3333h -dd 00f8935b5h -dd 0dee6cb16h -dd 0f0ee1a7eh -dd 02f548c84h -dd 0cf8b2c71h -dd 01f5bfc66h -dd 0e783a1feh -dd 0f0acd183h -dd 0f5d5489fh -dd 036f77c8ah -dd 02a310b13h -dd 0d3554e51h -dd 0c843c63dh -dd 07daa4ceeh -dd 03223b718h -dd 0b10cf75ah -dd 03448a38bh -dd 0b7fde71fh -dd 0052c056bh -dd 0a7ed0f11h -dd 0f420121ch -dd 086476963h -dd 077fc803fh -dd 08ae48794h -dd 089f1c8b5h -dd 006d92913h -dd 0f422d887h -dd 0ddf24546h -dd 03df25dffh -dd 0ab2c876fh -dd 042771c4ah -dd 087856d3bh -dd 019aca12bh -dd 046cedc75h -dd 0251af5d1h -dd 025123709h -dd 0ed20595bh -dd 0e2a8a33bh -dd 066263e15h -dd 0bedde108h -dd 05aee77cdh -dd 0cf70962fh -dd 0b8dc3681h -dd 08b773e7eh -dd 05580b5adh -dd 0125791d8h -dd 0e634ceb8h -dd 08b6e7ec9h -dd 001363f67h -dd 0ae34e091h -dd 082df266ch -dd 01b6ac739h -dd 0d48d9e11h -dd 05d022ff1h -dd 0ee5dbdbbh -dd 09d67864bh -dd 093454b28h -dd 0d8fa6c04h -dd 05804f102h -dd 09123a745h -dd 03c0d840fh -dd 0b0aa9ed7h -dd 0afbc67a5h -dd 0d53dec85h -dd 06ad3ed87h -dd 0368bb53ch -dd 00176686ch -dd 0084f51f3h -dd 0f3da01aeh -dd 0ea5b84e1h -dd 02842c530h -dd 00aaa4e9bh -dd 09ed18ed5h -dd 0b8fa2bd4h -dd 057d0cfa1h -dd 0c99fb385h -dd 0177f09f4h -dd 0647030ebh -dd 05f3f7582h -dd 03530cfedh -dd 08c023047h -dd 08119888ch -dd 08af37a51h -dd 0529ea3cbh -dd 01ea07140h -dd 0e8a504cch -dd 07a2c9131h -dd 01c43e0a3h -dd 016c7bc79h -dd 070c26262h -dd 0b84357a6h -dd 0e8f3e7e2h -dd 0e04a3f07h -dd 0fc65200eh -dd 0698050a1h -dd 03257925dh -dd 0c3604826h -dd 001b2adc5h -dd 07353fc82h -dd 015bc6d0dh -dd 0600808adh -dd 0c658d499h -dd 05750eb2ch -dd 0c93942ech -dd 03385f7d5h -dd 0ddfd3b61h -dd 00270937dh -dd 02150e168h -dd 0408ab5ceh -dd 0824c8877h -dd 0296c9642h -dd 0c5c8c97ch -dd 054c31f7dh -dd 047b60031h -dd 038e01fd2h -dd 0fc1f0060h -dd 06cb95514h -dd 0cfdd170fh -dd 062940c76h -dd 0dcaf5570h -dd 0a399b04ah -dd 01b73c188h -dd 02d7aa286h -dd 0a83c056fh -dd 07f7497e3h -dd 087960774h -dd 0ecd832b0h -dd 022843f82h -dd 0dd2b7a07h -dd 09172506ah -dd 0a8956c15h -dd 09249123bh -dd 014d3583fh -dd 04fd61fb4h -dd 046cb4b02h -dd 0eafb25f4h -dd 030df87fch -dd 03fa476e9h -dd 07eff23f3h -dd 03cbdbec1h -dd 0b5451ca6h -dd 00bac35a6h -dd 0c10b8fc9h -dd 0d658bb62h -dd 0c9790a9fh -dd 0cc4e756dh -dd 077963ddch -dd 0104876c7h -dd 00101bfe1h -dd 061b7f3e1h -dd 0b3182df4h -dd 0abc9e28ah -dd 0af3725deh -dd 0dc0fe9adh -dd 012f6df43h -dd 07a1f5d4ch -dd 097eb680fh -dd 04d0440f5h -dd 0186bb4ach -dd 008870cc2h -dd 04bbd9552h -dd 0f6c599d0h -dd 05f789de9h -dd 0aca4066ch -dd 02884a706h -dd 0a2883a6ch -dd 073ba6ccfh -dd 06f19ba02h -dd 0eedda367h -dd 0e24bcd15h -dd 0cbea06e1h -dd 097b6a41dh -dd 0e5fc7733h -dd 08baef16dh -dd 0fe410737h -dd 0a59a73abh -dd 0ecafc866h -dd 0dbbc617bh -dd 037e3f593h -dd 093762e97h -dd 0a91d465ch -dd 09651ea56h -dd 06cd9b302h -dd 0530bc775h -dd 0b1ba0f78h -dd 0ff181b44h -dd 09f77cc03h -dd 0b4ce1d3ch -dd 035b9d985h -dd 06da33cb4h -dd 005342f1eh -dd 05e86caddh -dd 0e20ed24ah -dd 04dfb5ce9h -dd 09f4d5111h -dd 08df84c0eh -dd 0264e6df6h -dd 0eaa02f29h -dd 0030271e6h -dd 01f6e5587h -dd 0cfcab075h -dd 09c65dcfdh -dd 085a4638bh -dd 0697e4b79h -dd 0121cab8fh -dd 043d37f7bh -dd 00f89af10h -dd 0a48c60f1h -dd 05187524eh -dd 0d2ed7ffdh -dd 0c5c98823h -dd 0e71c4758h -dd 0e68eee09h -dd 0a508974fh -dd 07b77ff9dh -dd 095b83d34h -dd 0184e1c90h -dd 004dc40ffh -dd 0f749fb4ah -dd 04e149ecfh -dd 0d25be663h -dd 0a65f3be6h -dd 005afd7dbh -dd 02bb0878ch -dd 004ac8f67h -dd 0ac88ed65h -dd 012043c87h -dd 038bfa906h -dd 031afa660h -dd 08b236125h -dd 018fa8c62h -dd 0c6eddc29h -dd 051a741c6h -dd 0e7258992h -dd 028b985b8h -dd 09c0b99d3h -dd 0b3b87e7ah -dd 0faf92d4ch -dd 0fd562e76h -dd 02b83a9d4h -dd 05654e3c5h -dd 0ad4cb60bh -dd 0feaadb1dh -dd 0402e086eh -dd 0035a28b4h -dd 085774437h -dd 085a6c079h -dd 0c6c257c5h -dd 02d0ed30dh -dd 003e9f4e6h -dd 0875c0b71h -dd 003108618h -dd 026106c9bh -dd 0f3d2fa57h -dd 0ddc0c649h -dd 006466d02h -dd 064ce12cah -dd 027e237c4h -dd 04520a2e3h -dd 08c1c511ch -dd 0d5b58ce3h -dd 00ff8c64ch -dd 0c7e847efh -dd 0f3ceef69h -dd 0dfe4c860h -dd 007301624h -dd 0cba9ca57h -dd 089a47a1fh -dd 0fe411ea5h -dd 0c2deb0d5h -dd 02281116ch -dd 0c4321402h -dd 0ec261455h -dd 0460c7505h -dd 02f2045b6h -dd 0331c04c6h -dd 067b20dcdh -dd 0f579cc05h -dd 0e4ba4918h -dd 0aec24965h -dd 0f8e951ach -dd 0f20246c6h -dd 053e96107h -dd 093c992f9h -dd 062cc6d8ah -dd 01553cd86h -dd 0f15a594bh -dd 016ae0cf8h -dd 088617b99h -dd 046b260a9h -dd 01b23d691h -dd 04524c00ch -dd 07c946d3dh -dd 02bbaf357h -dd 09d784932h -dd 08e689c78h -dd 09b0c1465h -dd 0684f7fc2h -dd 080955ad9h -dd 00381f792h -dd 0de7b7eeah -dd 002d9c4cah -dd 05f9c96cbh -dd 0a9b3ef43h -dd 0b8e326e3h -dd 0d87fee85h -dd 0fc51b49ah -dd 05ebb2120h -dd 0ef085718h -dd 0a309d652h -dd 05cd72846h -dd 0db216329h -dd 0e4f6d8a5h -dd 06ce98a96h -dd 01b658965h -dd 0b1ac17f1h -dd 074388ccfh -dd 016eac926h -dd 0fe61d700h -dd 0632c04ach -dd 04d57a594h -dd 02d906f5ch -dd 0365d15cbh -dd 02ccc67d4h -dd 0b8be7f43h -dd 0cea4f1bfh -dd 00f483124h -dd 06d5d2c98h -dd 0ea3fed97h -dd 024c0d782h -dd 0e4cdbc85h -dd 0121eed0ch -dd 0ed4065e5h -dd 08791eedfh -dd 03f8af49eh -dd 0e3179d2fh -dd 0e7917464h -dd 0fd1a696bh -dd 07433281bh -dd 07d8ca0b8h -dd 0b94bb569h -dd 07080679ch -dd 06feb1494h -dd 063839d31h -dd 0aa5452fdh -dd 05ad9bb2ch -dd 0c1bf0228h -dd 086631b57h -dd 0746e41d2h -dd 0eed44b1bh -dd 00c8c1205h -dd 0a25e7730h -dd 0fa4b997bh -dd 05574570fh -dd 095fcc708h -dd 09e070b9ch -dd 002e141fah -dd 0402868fdh -dd 03924cad7h -dd 0b037c204h -dd 0da12a60ch -dd 005f297efh -dd 062521fd4h -dd 07f02ffcbh -dd 0ac1d4b65h -dd 0a6e81837h -dd 0cafa4954h -dd 0ae44dc7ah -dd 0ee754d73h -dd 032539c5eh -dd 0749ab4dbh -dd 037ec65dfh -dd 04b9a65d5h -dd 0546ef04dh -dd 03f49ccc3h -dd 05355a2c4h -dd 08fce1fbeh -dd 07ee55b8fh -dd 051f1a565h -dd 02d6d3f22h -dd 004675fc7h -dd 079bf0409h -dd 0012f5b71h -dd 03e1ff8deh -dd 080ff4ac4h -dd 047b433dch -dd 0d4a935efh -dd 06ab9fa3eh -dd 01622b497h -dd 00185e6dfh -dd 042adaeach -dd 08a6e2960h -dd 023ea1aa1h -dd 02d87b7b9h -dd 06892dd35h -dd 006d108feh -dd 060b6843bh -dd 03ff55872h -dd 0f405a432h -dd 03ea01b2fh -dd 0e686241fh -dd 016de0b71h -dd 077e7a534h -dd 052591701h -dd 09cfd89ech -dd 0662d0a3ch -dd 08fb7becbh -dd 07820e272h -dd 0a8fe3f04h -dd 088135e86h -dd 0d1c1ace9h -dd 008730d70h -dd 078eaab70h -dd 07632b7cfh -dd 08eb2c8a8h -dd 05464f222h -dd 00cf66375h -dd 05dd57368h -dd 014fabf1ah -dd 030df97f2h -dd 0c481e07fh -dd 01be2e633h -dd 09128ada6h -dd 05f86aff1h -dd 033968b06h -dd 0314a56a6h -dd 090f87103h -dd 0ae89a3efh -dd 061c63de8h -dd 0f4b38c0bh -dd 0e7016547h -dd 0526f65ceh -dd 0a386f31bh -dd 0b44797c9h -dd 03d003070h -dd 033857779h -dd 0770680f4h -dd 0db944ee0h -dd 065f9b2e3h -dd 05043be5ah -dd 03f06453dh -dd 00ad24971h -dd 0703655c4h -dd 089568736h -dd 073dde097h -dd 099897e85h -dd 05dd0727ah -dd 03726d0dbh -dd 0dced32e1h -dd 07e1cacbbh -dd 0b9d7e8c6h -dd 00f02082dh -dd 070eec44eh -dd 06a84ff0bh -dd 0ac9cd7aah -dd 0ddedbfd0h -dd 027b1551eh -dd 00a6079d8h -dd 037434714h -dd 0297d988ch -dd 0158b8eadh -dd 0bd27e706h -dd 0187a89a5h -dd 049ebcd31h -dd 0976ccf98h -dd 0fe5264bch -dd 0cfd2f379h -dd 0ca4aacaah -dd 0aa7173b1h -dd 03aa62632h -dd 047a11f6bh -dd 0295999deh -dd 0bf1cc17eh -dd 0385fd801h -dd 0bbc4a5f2h -dd 0768a2c74h -dd 0f7cfb549h -dd 04d2459cch -dd 018313234h -dd 07dfdcf6eh -dd 030f86854h -dd 0c9007340h -dd 04a706a48h -dd 087b6554dh -dd 0c231dfdbh -dd 0f1925411h -dd 0ddb533a0h -dd 01a9f14bdh -dd 0ea18c0bah -dd 0099e280fh -dd 0dcf33543h -dd 0a04d08c8h -dd 093acb367h -dd 07b7948a3h -dd 0d7259470h -dd 0a49d8f8dh -dd 0d3a37fa4h -dd 00d6d41c0h -dd 024c4cff3h -dd 01e854d19h -dd 0c444a3e3h -dd 01f87254bh -dd 059cff99eh -dd 0fd4a705ah -dd 04c64b2c8h -dd 0b064ca66h -dd 065fdfd3dh -dd 078aa91a0h -dd 01aa40a09h -dd 088de669fh -dd 0c86aed6dh -dd 06753b2e2h -dd 0302c5aa5h -dd 0cc307b1eh -dd 09fddbaa6h -dd 05f2fe239h -dd 04c00babeh -dd 02e874742h -dd 0e14d4f9bh -dd 0e0fccb33h -dd 035bf6746h -dd 09bef03a4h -dd 0abc95951h -dd 0c104c112h -dd 0f2099f85h -dd 066725157h -dd 04c8634a3h -dd 0b255bfedh -dd 0ffb53b0ah -dd 02dccf749h -dd 08ba926a9h -dd 08ac58e47h -dd 085ace6f2h -dd 0d71fd907h -dd 05849e35bh -dd 0ff16eddbh -dd 00fd6cab0h -dd 08452c813h -dd 0bb01cac0h -dd 0e525ba8eh -dd 004f3d6a1h -dd 0868a33abh -dd 0e2b6a430h -dd 0b2b345c1h -dd 0b2295333h -dd 0914e09dbh -dd 0cfc0c602h -dd 0fc98a7e8h -dd 0a937d4e8h -dd 0cc899c3ah -dd 07ede90cah -dd 0937b6f55h -dd 0932a9f1ah -dd 0accb9937h -dd 03c24e345h -dd 05c0340adh -dd 0ea855543h -dd 0275e4129h -dd 0269121cch -dd 0bdab245dh -dd 02c350b4bh -dd 0f41d90d5h -dd 06e788c7ch -dd 030037919h -dd 0ab51d63ah -dd 060e41221h -dd 0f7efbbd0h -dd 0009514b2h -dd 0ef003b6ah -dd 0a868edd4h -dd 0dba7ef89h -dd 0b710195eh -dd 07c05d835h -dd 085e9adc0h -dd 09272f783h -dd 08c6c0b73h -dd 0e23f977fh -dd 07590a8b8h -dd 0796a4a12h -dd 0ed262991h -dd 094b4bbc3h -dd 0f0c4bf85h -dd 0438354c6h -dd 0f2e32500h -dd 0d86524dch -dd 09aeab03bh -dd 0431a364fh -dd 052b41eaeh -dd 04c2f3d09h -dd 0407f137ch -dd 0bb6f1c49h -dd 0e38dc98eh -dd 01da6461eh -dd 0c5921ca0h -dd 0e550c027h -dd 062b1b784h -dd 0a5bb5132h -dd 0094f4db7h -dd 099f9a9f3h -dd 047fe5239h -dd 0d3b8a986h -dd 0873df49ch -dd 0f92c4fc0h -dd 08d999188h -dd 0f94a40ceh -dd 0507f3ea0h -dd 002f976eeh -dd 0a79adfebh -dd 067185849h -dd 03e03c36ah -dd 0c782bb19h -dd 001200194h -dd 0a021e079h -dd 0b86a11d6h -dd 033d8eb30h -dd 04ce6d889h -dd 03e043b5ah -dd 07cea3890h -dd 028a47c6bh -dd 0f8981266h -dd 0bba7f16ah -dd 0705e17c2h -dd 005a9a7e1h -dd 0b7e89a09h -dd 0ba2e88f1h -dd 006a727efh -dd 0c868639fh -dd 0941186efh -dd 028ad5e8fh -dd 08f6a3352h -dd 0a232af69h -dd 0d0c439e4h -dd 01c310c45h -dd 00406929ch -dd 0eec9664dh -dd 0dd884d05h -dd 064937a1bh -dd 078e86cc7h -dd 03c5da56fh -dd 052dec843h -dd 02ceb649ah -dd 0102ef87bh -dd 0f68ba523h -dd 020802c69h -dd 0a3d1074ah -dd 017f7a206h -dd 0d36252feh -dd 0810548ech -dd 08c6b9202h -dd 0d26b5f37h -dd 0e75ad95bh -dd 0cabd486ch -dd 029e351e0h -dd 02d59fce5h -dd 0db4d6d64h -dd 0b3634b74h -dd 0c8b06febh -dd 06041bb4eh -dd 0cbdf0be8h -dd 00d9ca392h -dd 0cd183582h -dd 04f00c74dh -dd 05f7b709ah -dd 03b7629a5h -dd 03ef2be00h -dd 03c36716bh -dd 051713a15h -dd 0c0608c28h -dd 0a8d84e26h -dd 03daf962bh -dd 010de7b8bh -dd 0d2786407h -dd 00fd82bc2h -dd 0d3888258h -dd 0e32a68f3h -dd 054b85454h -dd 03c395d42h -dd 08e4748e2h -dd 0cf0e0878h -dd 00d423fa4h -dd 0000423b2h -dd 0208cacf9h -dd 047124e29h -dd 04abf8e24h -dd 0e92dd325h -dd 06c9aed76h -dd 0cd4cbd4bh -dd 061c79377h -dd 07d3eb5b6h -dd 0dd462eafh -dd 0f3b1d214h -dd 0b9580b60h -dd 00efbf5d0h -dd 0d66ef332h -dd 098558fa5h -dd 0eea4772eh -dd 04158cf3bh -dd 07e8c031ah -dd 0b5d6cd61h -dd 00f2e2d7dh -dd 0b3f4437ah -dd 027a7b505h -dd 02ece017dh -dd 09017cee0h -dd 087b50b00h -dd 068e1151ch -dd 0c49832ffh -dd 03e3dc58ch -dd 036407b84h -dd 01fe2badfh -dd 0db2f3bf0h -dd 0521f603fh -dd 0c16b2461h -dd 012504a20h -dd 0f0b71cbbh -dd 0c7d84b5bh -dd 0f880f76fh -dd 0c4539496h -dd 09d3dcafch -dd 011e89276h -dd 0b46e1193h -dd 04008cdf4h -dd 0e88a4c13h -dd 08ce584c6h -dd 06b7172b6h -dd 0a92e8ca5h -dd 0ab08d926h -dd 025928012h -dd 005712443h -dd 05561bd30h -dd 08b496e68h -dd 05fedc5c2h -dd 04a3afa12h -dd 0e7b297f3h -dd 0bb972251h -dd 0190d0954h -dd 041c44520h -dd 0fdff6015h -dd 09e3b8b5fh -dd 0ab9bb303h -dd 04cb4d31ch -dd 0888930bbh -dd 0177ab33dh -dd 089dabd41h -dd 0778cf2bah -dd 083e32c0dh -dd 06fe13c02h -dd 05f40b450h -dd 0729e9a7bh -dd 07cce628eh -dd 0659159aeh -dd 0e6fbf226h -dd 075f697b4h -dd 0636fb424h -dd 04513d7c5h -dd 0bdbc7085h -dd 0c97343dbh -dd 02ad4674fh -dd 0dd0c4d9fh -dd 01377b192h -dd 0cbf6e134h -dd 045aca7e4h -dd 04af0a49dh -dd 0d2a0e4ebh -dd 0587fc291h -dd 0bbf635c5h -dd 0b2a6259ah -dd 019b68175h -dd 009cb7b19h -dd 020cef42fh -dd 048fbebf3h -dd 0d4f9f4d6h -dd 02ee0fa67h -dd 0282f0d91h -dd 0485309b9h -dd 06baac5b0h -dd 04ebb2ea3h -dd 05e0a4ae3h -dd 0c16b198ch -dd 0b277b77eh -dd 03f3ade15h -dd 0c1e1b48bh -dd 095a6aec1h -dd 0f79a18a8h -dd 06351532bh -dd 061edebf6h -dd 0cbc4a727h -dd 0bff22eafh -dd 0a8d3df73h -dd 04adcf1ech -dd 01776c350h -dd 0212dc8e9h -dd 02c512f8eh -dd 0f33c0c8ch -dd 084604d36h -dd 09cb7ffe9h -dd 0a20ef53fh -dd 0303bbf5eh -dd 0721a760ch -dd 0acd5fc10h -dd 07825ea40h -dd 09a88b392h -dd 0c6a4a351h -dd 098ec6a90h -dd 09a3d1fcch -dd 0d678e9ebh -dd 0c4e4d49bh -dd 0836926e4h -dd 0a0f3cd16h -dd 0893097a2h -dd 0944400dbh -dd 015fc41d8h -dd 0c71951dah -dd 0992bc92eh -dd 0fca7f9beh -dd 0bbfe6a33h -dd 0931463f1h -dd 0356c1fcfh -dd 09906d242h -dd 0d9264d51h -dd 0c44a1b03h -dd 0885c5865h -dd 0ceaf5fedh -dd 0ea6f95eeh -dd 0ab9ae9a3h -dd 063050a03h -dd 093640bc1h -dd 0e5101a6fh -dd 0f2e45531h -dd 002217b47h -dd 09ab1a045h -dd 001658e06h -dd 05d456798h -dd 0e46126bch -dd 0b37ab555h -dd 096a14e25h -dd 0502afbe5h -dd 0e597af6dh -dd 06160695fh -dd 0a4d1c7efh -dd 0aac14905h -dd 0aadfa8eah -dd 0ca54f894h -dd 0bf109abch -dd 037bed65bh -dd 028bbca1fh -dd 0e6806cech -dd 0a1417665h -dd 0ea1e4035h -dd 05590cd5ch -dd 0b04bf687h -dd 00c2d05e8h -dd 08ca89030h -dd 0971ca30fh -dd 08491816bh -dd 01fd14964h -dd 0683dff6dh -dd 016bb09c8h -dd 0b3e04f17h -dd 012a488aah -dd 094e7aec6h -dd 07cc9012ch -dd 06cdbbbb9h -dd 02c03614fh -dd 06221a882h -dd 07050b215h -dd 0b023d79ch -dd 0fc2e68f0h -dd 0b8a45422h -dd 01d9fa849h -dd 08bf40fbdh -dd 0d8279017h -dd 03396f4efh -dd 0831ecca3h -dd 0743bd42eh -dd 091189314h -dd 0d144bfa9h -dd 095147d45h -dd 077c49a6dh -dd 0f131979eh -dd 0756770b8h -dd 0065c3737h -dd 08fb00df2h -dd 07cdfe9c6h -dd 0bf7720bbh -dd 09301de4bh -dd 084962063h -dd 0ea4f76dfh -dd 003ea3373h -dd 038e811fbh -dd 0a52ad318h -dd 01176558bh -dd 0c6720b1fh -dd 0e4172664h -dd 0694470d3h -dd 0acc439b4h -dd 0ee152366h -dd 09fd25a69h -dd 09c10fe8ah -dd 05f5967d5h -dd 0801e14b3h -dd 0814cd50dh -dd 039b7bb4ah -dd 019f21d80h -dd 0798fea1bh -dd 00d4207c2h -dd 0ab2bbebbh -dd 08ec9efc0h -dd 0bac38129h -dd 0e1659f68h -dd 09bc5127fh -dd 0a1fa534eh -dd 089efc5a0h -dd 0d07da3b5h -dd 0eb266281h -dd 0fe783690h -dd 0fb0873c9h -dd 075e56ebdh -dd 029cfddcdh -dd 0a241cf6ah -dd 01d3c3eech -dd 0f2391acbh -dd 079100393h -dd 07a84eba9h -dd 085e17c29h -dd 092855e87h -dd 04bcf43e2h -dd 0ad6fb8a9h -dd 034ca1a65h -dd 04f398b04h -dd 0482364c7h -dd 04d245e00h -dd 070b4768fh -dd 04c1c5a9fh -dd 0f6a3b815h -dd 0242c6919h -dd 0dc72fe37h -dd 05d40d88dh -dd 067ccab7fh -dd 089fe2795h -dd 041ef6464h -dd 046dcf2a1h -dd 069787455h -dd 076edb2ffh -dd 088d5f0e0h -dd 0c8df9636h -dd 0720e0cafh -dd 011c745f9h -dd 053c9bcf7h -dd 0784cf973h -dd 08a3c450dh -dd 0ce5349d6h -dd 032ba1fa6h -dd 02cf4de98h -dd 0fdd92a92h -dd 05ffc8c19h -dd 0bbf418deh -dd 0199880d8h -dd 06416c829h -dd 070401295h -dd 006dad12eh -dd 0d6c5d934h -dd 0b317e4ceh -dd 0a3a469c2h -dd 05a89e96dh -dd 0051db014h -dd 0fe740f19h -dd 08e8a2a45h -dd 0a5175a08h -dd 0c0518029h -dd 0e029a331h -dd 03db5cdd6h -dd 01c5c8187h -dd 01cbf2079h -dd 0dba4f1e2h -dd 07cd4488bh -dd 0a34cf85bh -dd 0b32b1fa6h -dd 0bb91e1bah -dd 05b499c01h -dd 0eae0c77ch -dd 0c42b6dbch -dd 087080da3h -dd 0dcef933dh -dd 067fc2316h -dd 00c1364dfh -dd 04b981770h -dd 045a09eebh -dd 07774147dh -dd 06facf780h -dd 0f7a92d36h -dd 040d0d40eh -dd 0bfedc732h -dd 05ef1f040h -dd 0456943edh -dd 08b64c8c6h -dd 0671a954ch -dd 0b781149ah -dd 03a568e6dh -dd 0ffc94260h -dd 0f9506397h -dd 0e5624bfdh -dd 02203a053h -dd 0558355a1h -dd 04cec2e3ch -dd 01e15d802h -dd 0184254cch -dd 0a58fe488h -dd 06e3a4c46h -dd 0b925d70ch -dd 0f233712bh -dd 0e2c3b2a8h -dd 07f2d5682h -dd 08188ac08h -dd 008bdab33h -dd 0b7e9c658h -dd 0673acc07h -dd 00c588b57h -dd 08be7a844h -dd 0ae110701h -dd 034d6422ah -dd 066a16055h -dd 00421ae57h -dd 087499918h -dd 0f958aae9h -dd 051b57e6bh -dd 0b279b1ech -dd 00348638bh -dd 0488451f6h -dd 065adf431h -dd 0506a055ah -dd 0cb1e9339h -dd 0eb53faa8h -dd 093e73703h -dd 0e8cf8a72h -dd 0657ff9e0h -dd 03f85aaeeh -dd 0ef06af51h -dd 027e96e62h -dd 0dbb62fc5h -dd 0714a53f4h -dd 0eb91102ah -dd 0ad678ba7h -dd 03042a0ach -dd 046814c74h -dd 0ffaee234h -dd 0115d0960h -dd 0bca437f9h -dd 037abcff5h -dd 0d4f11854h -dd 08f1f182ch -dd 0d8ce9570h -dd 0e6987af0h -dd 0bf019f16h -dd 05f7bc977h -dd 04ae6fa4eh -dd 050c0b809h -dd 0c743c05ah -dd 09690e4a3h -dd 0af0af3dfh -dd 07ad61426h -dd 02ca7dc90h -dd 03d1c3580h -dd 0f73ac3edh -dd 02e5623c5h -dd 0e8910333h -dd 0e25f19c3h -dd 0e5455645h -dd 09cbe3536h -dd 0ac15ba1dh -dd 096560c16h -dd 0cd3513fah -dd 06472cc13h -dd 003239b52h -dd 0ff130374h -dd 03a95ee62h -dd 0dead2214h -dd 05eceb914h -dd 0161bf8cah -dd 078f33186h -dd 07a78b1a6h -dd 0ed0bff5ch -dd 0c2b93fa0h -dd 083ef3989h -dd 0aaf6fd7dh -dd 0b5059713h -dd 0d860759bh -dd 07fe2cfeah -dd 08a7f0346h -dd 087727e53h -dd 0f5c1d7c4h -dd 0d3b331d6h -dd 0274ea57bh -dd 0ee465eb4h -dd 048fd98c6h -dd 0c295397ah -dd 013db75b2h -dd 0677275feh -dd 0280449a3h -dd 01afc9dddh -dd 095b45dc9h -dd 0ea983212h -dd 08f9a6434h -dd 07f60f574h -dd 00bf28each -dd 032442af9h -dd 01fc781c0h -dd 018a88ecbh -dd 02dcf77c9h -dd 03ce49e7eh -dd 070ca0c3dh -dd 0a429a196h -dd 0773832dbh -dd 0329feb6ch -dd 04308f39bh -dd 0e0e4e14ch -dd 0c09b282ah -dd 041a42432h -dd 0656b643dh -dd 043dc3cbah -dd 0bb24f657h -dd 0aa0f525dh -dd 0c988693ch -dd 0ad81e287h -dd 0e3d4c441h -dd 084887b54h -dd 0c951030ch -dd 01c9a4e89h -dd 03c207148h -dd 0fc8312a3h -dd 0282bb625h -dd 03424ebebh -dd 05a611746h -dd 0f82beef6h -dd 0e5878fa8h -dd 0ce826cf3h -dd 0b8db78c0h -dd 068bbe75eh -dd 0d3830422h -dd 095471492h -dd 0c7fae2fah -dd 042b3dac1h -dd 00f312542h -dd 07590377dh -dd 02b0ec97dh -dd 061712dd3h -dd 0a0eea358h -dd 070a27c31h -dd 0bcdf5516h -dd 0edaa9bf9h -dd 092ba447bh -dd 026f83017h -dd 0b0c6ecfch -dd 07427e3bch -dd 0a53b5ae6h -dd 09c956d69h -dd 004b484d2h -dd 09f6fbd8fh -dd 019d18943h -dd 027890906h -dd 0da5aedfah -dd 0ab189beeh -dd 08333afe0h -dd 088e80d23h -dd 017fa8e69h -dd 0504a036eh -dd 0f0e6f588h -dd 0548755bbh -dd 032d8db3dh -dd 03471c76ch -dd 060477bb6h -dd 02ab24f2dh -dd 010f77254h -dd 012d89947h -dd 0b76eaabah -dd 046b30fc6h -dd 09540c512h -dd 04fd80227h -dd 00ffb5b17h -dd 00c4dfa59h -dd 0be5a5996h -dd 0d47da117h -dd 0adc3dde6h -dd 0b6d580d7h -dd 05a58e45ch -dd 00f2ec332h -dd 02b19881ah -dd 010608467h -dd 0c8564d40h -dd 0fea54728h -dd 0f992efcdh -dd 085cfbd42h -dd 03bb654d5h -dd 0ac48c530h -dd 07859d25fh -dd 0023dfce8h -dd 09c861ae4h -dd 067118415h -dd 0bcc4e92eh -dd 08a73fa53h -dd 05684d9b9h -dd 07f438ffbh -dd 03fb09cd5h -dd 0b279ccceh -dd 01ce69d02h -dd 03fece3b3h -dd 0679a85e9h -dd 0e89d9010h -dd 0fb7cd96dh -dd 0fbd4fb59h -dd 0f6c2af1ch -dd 0941847b7h -dd 0e4f049e6h -dd 09d46d70dh -dd 0503d1b82h -dd 0cbee0195h -dd 0ee936f03h -dd 06343683fh -dd 0ccecb029h -dd 043b43600h -dd 0c1288144h -dd 0bae27514h -dd 092f16ffeh -dd 06337be67h -dd 08ceb9354h -dd 0ee4bab30h -dd 0452cb825h -dd 0e52c389fh -dd 01e3d252ch -dd 0b727d63dh -dd 017495b0fh -dd 017a7826fh -dd 09692cf87h -dd 0b5512f64h -dd 0ff9716f5h -dd 0d20d0317h -dd 08b46ff2dh -dd 09585554ch -dd 0785a49dah -dd 076937bcch -dd 06db3a2a9h -dd 0556fce25h -dd 0f9ddd81eh -dd 0d3d55d92h -dd 0b3679973h -dd 0de7bb6bdh -dd 0e8200116h -dd 031822d6fh -dd 0be58e866h -dd 0133eebcch -dd 0f8b46b3ch -dd 0bb2cea0ah -dd 09dcb64fbh -dd 064a1517bh -dd 0c2034321h -dd 02ed1964ah -dd 0e7ba6a32h -dd 0b74ae3f0h -dd 072f6a313h -dd 0de739deeh -dd 0f0979524h -dd 0329b4f8ch -dd 0272973f8h -dd 0d3d9b5e5h -dd 0262a5713h -dd 039263f3eh -dd 01bdee110h -dd 0459d292bh -dd 0e90f7482h -dd 016addc67h -dd 0df0c2e0eh -dd 0dff694a4h -dd 099bc4babh -dd 0fb39a81ah -dd 070a57a24h -dd 000dffd18h -dd 04d98f780h -dd 05c0ed441h -dd 049491a11h -dd 09c1114b9h -dd 0739b75d0h -dd 002b4cfafh -dd 0c52819cch -dd 0500ee050h -dd 030d6c41eh -dd 09d14d34fh -dd 02e3b3662h -dd 0030194d8h -dd 08cd42fceh -dd 053988f92h -dd 0c6b368fah -dd 011ed3a99h -dd 010ca38a9h -dd 05f2a9bd7h -dd 0c6c10029h -dd 0f92dd309h -dd 0c1740c67h -dd 0cef32f3dh -dd 04e6d9d5eh -dd 0e3b0b1a4h -dd 02aa5d637h -dd 0f810c848h -dd 05c38f06dh -dd 01ffa921fh -dd 0693111c8h -dd 02f9deb2bh -dd 0d27b7905h -dd 0eb541808h -dd 0c6415d2dh -dd 02c390a03h -dd 00a12133eh -dd 04e8db220h -dd 0ad868f3fh -dd 0e632bd84h -dd 048534f37h -dd 09a1b7601h -dd 0a6988e03h -dd 09023f3d8h -dd 076de53dch -dd 012d860c6h -dd 0f1585906h -dd 027fc1058h -dd 0ca0e95c5h -dd 0c86cbaf3h -dd 08be11164h -dd 05d3488fch -dd 03e8e2e6dh -dd 09852e0c5h -dd 0dfe92362h -dd 03c59eb68h -dd 0e01a76ffh -dd 0e7a829ebh -dd 0c441a43fh -dd 00018ce3ah -dd 04700fe42h -dd 003625351h -dd 0eb9624bah -dd 03a4f50d6h -dd 0e9250551h -dd 0239f3196h -dd 097271903h -dd 064878e47h -dd 01c4d18ffh -dd 0a1bb7b6dh -dd 02ee1c261h -dd 0fd62aa3dh -dd 0aa693c2ch -dd 0fe590af7h -dd 068fdb0deh -dd 0acc57611h -dd 09329712ah -dd 09ba0268fh -dd 07d2cef04h -dd 0e4bfa7cbh -dd 004b25d30h -dd 020369b69h -dd 0a689a4f0h -dd 07b029ad4h -dd 000d6c337h -dd 052c0069eh -dd 0bc7e353fh -dd 0f9213db8h -dd 0ba5afdc0h -dd 07b54aa03h -dd 06c892ad6h -dd 0c07459e8h -dd 0278fed03h -dd 0185bdf4ch -dd 02e4c0afeh -dd 0de85d578h -dd 0623b38e8h -dd 0c402d23fh -dd 0586019b5h -dd 0d7312006h -dd 04238bb45h -dd 09384d08eh -dd 021c36161h -dd 09e832d5ah -dd 012d15bdah -dd 0d3c9b0fch -dd 0223fd9bch -dd 0bb80ebdbh -dd 07b590678h -dd 08b50f1e1h -dd 08a2f4c3eh -dd 080293466h -dd 0022f1727h -dd 0d1e479b9h -dd 088f1cf88h -dd 03c45e08dh -dd 0237f0f41h -dd 06f117cfdh -dd 0fe33a944h -dd 01f0efec7h -dd 0fc2b2940h -dd 065c03e19h -dd 04f48728bh -dd 03f484d26h -dd 0022d04afh -dd 004daa728h -dd 0040e69cch -dd 0c29912b8h -dd 0cab738a5h -dd 0a31f9674h -dd 0d78ed227h -dd 0449e800fh -dd 0ea67d1eeh -dd 0d183615fh -dd 035f06d80h -dd 09c127b71h -dd 071e4e0e4h -dd 0a39f143dh -dd 051fb0080h -dd 0189c058dh -dd 0bf994adch -dd 099497922h -dd 012c0e1afh -dd 0a7576f30h -dd 076dada02h -dd 0e7a5b33ah -dd 04723bbd1h -dd 047f9296ch -dd 0657d3812h -dd 056e143c7h -dd 0054b60d3h -dd 0653a3498h -dd 0b489398ah -dd 06753655dh -dd 0a001f7e9h -dd 0937ef105h -dd 073fc6964h -dd 0ad826d77h -dd 044a559e0h -dd 0a43c80d3h -dd 029e2a964h -dd 052c53706h -dd 0a8383522h -dd 0ac137a5bh -dd 09105e011h -dd 0c23393b9h -dd 0b2829eb6h -dd 0775f4a59h -dd 045f88627h -dd 072bbd539h -dd 01536a220h -dd 0f84ed4beh -dd 0a3a36366h -dd 034809980h -dd 04c03bd76h -dd 06d6a56fch -dd 0b40a2675h -dd 0fa782348h -dd 0a0b1c655h -dd 076c8e4ddh -dd 05b9eafc6h -dd 0b8ffd82dh -dd 00c67fe26h -dd 0d6ddfa0eh -dd 06723bc09h -dd 000d46320h -dd 0acaeea3ah -dd 08dd33809h -dd 092f5ec87h -dd 077530c18h -dd 0003dd136h -dd 0b149ecc4h -dd 03b9a1b40h -dd 0c7e64672h -dd 052e57deeh -dd 022df2007h -dd 0db20b93dh -dd 0742a4e0bh -dd 026069a9ah -dd 0baa99edeh -dd 0155a558eh -dd 0640f77d5h -dd 05648e672h -dd 05c8fb95eh -dd 07914c182h -dd 0a885f493h -dd 0378faa4bh -dd 0aff070a8h -dd 0e8f7876fh -dd 04befa517h -dd 055f9f846h -dd 092c33049h -dd 088d4d424h -dd 063f1b5f9h -dd 067a50c6ah -dd 09de56a80h -dd 0d4dd99dbh -dd 099a781deh -dd 03c7b0fa0h -dd 01f1c5ce8h -dd 010461475h -dd 0d86a2bdah -dd 01c9d34b3h -dd 0b2e7fd49h -dd 0e1d0e42bh -dd 09337d56ch -dd 09cd29e89h -dd 08d2adb11h -dd 0ddcedd05h -dd 0c9ab866ch -dd 058cae6aah -dd 0e7596bbch -dd 064111ffbh -dd 0967adebbh -dd 0a6acc9f0h -dd 0201beb78h -dd 07d98adefh -dd 005caa725h -dd 02accda1ch -dd 07eee38c4h -dd 00379321ch -dd 038ed84e2h -dd 03e2b14f8h -dd 0a51fc05ah -dd 056f91d2dh -dd 02dfbf49eh -dd 096d199dah -dd 0ec51b47eh -dd 0307cdfb4h -dd 0caebfea3h -dd 02f0f3743h -dd 0314e9b9fh -dd 0cf193152h -dd 03961366eh -dd 034548a9eh -dd 04781df0eh -dd 007946e77h -dd 0ce8d8454h -dd 0e1092cfeh -dd 0c22201cch -dd 0a8d7c6d1h -dd 0e618fd05h -dd 0c47cb771h -dd 09996700bh -dd 061f5c2f4h -dd 0381efdd1h -dd 00bd8f82ah -dd 037d86042h -dd 08cf7b3d6h -dd 0d8e6432eh -dd 09cc9c8d4h -dd 0ed77ec0bh -dd 00d3d04adh -dd 0e1537a0ch -dd 0cf497f6bh -dd 0826f3f1fh -dd 003b79421h -dd 0fecdacafh -dd 035092857h -dd 0362677e7h -dd 0d9b1e642h -dd 0d3f96c57h -dd 00ec79ad6h -dd 0348e6945h -dd 0f44ca4f9h -dd 0c69eff23h -dd 035841120h -dd 0db00938dh -dd 01b2de994h -dd 09c51e9e4h -dd 09d0f9371h -dd 026a8c831h -dd 04cc84addh -dd 08662045ah -dd 0dea62135h -dd 0c6ba5fe0h -dd 0eb11e50bh -dd 0f825be37h -dd 009751a12h -dd 03ee2cc70h -dd 0fc637431h -dd 02e758ff1h -dd 08c959af6h -dd 02d10a3beh -dd 0f2a6c8c2h -dd 00dadc643h -dd 09f6f9542h -dd 05172157dh -dd 03cc82888h -dd 0df5d377dh -dd 006a7abeah -dd 047055357h -dd 0cf4fb2dfh -dd 0dcddfa06h -dd 0b812986ah -dd 0c5b94f10h -dd 09e7c1ce7h -dd 0f9a085beh -dd 0c4c1f9d9h -dd 0cfac5be1h -dd 0870a6af4h -dd 09099d93fh -dd 050683ef1h -dd 08c257803h -dd 087e491adh -dd 0a4e6618ah -dd 0f6949293h -dd 0bd894184h -dd 047919c45h -dd 060e523adh -dd 05c708105h -dd 0424efa59h -dd 08b18848eh -dd 018ef7e81h -dd 039fd50dbh -dd 0849379b1h -dd 07c3ca565h -dd 0edf8d677h -dd 01ae35f60h -dd 07296d05ah -dd 0d937836ch -dd 0f06e8900h -dd 0126b70e1h -dd 0aae43f58h -dd 0133688a4h -dd 0b09687adh -dd 0c1101527h -dd 05d45a205h -dd 0bac1d606h -dd 0d43f9a24h -dd 059716713h -dd 0a146d202h -dd 0f55b0a6dh -dd 04ceb0ce8h -dd 0b0eb03ddh -dd 0cf83b34ch -dd 0812ac0cbh -dd 0956b786eh -dd 036f8f583h -dd 0c8c19240h -dd 0fd727389h -dd 0d3917270h -dd 0bfd54dbch -dd 0e1e6e108h -dd 0264564dch -dd 04ab4e499h -dd 084ca1946h -dd 0c78eaa08h -dd 0b53e581ch -dd 02cec67b1h -dd 0b57b39a7h -dd 03763f803h -dd 07ff18e1bh -dd 037c9a33ch -dd 035ebaacch -dd 08caa4b86h -dd 033d3dc8ch -dd 0bd649165h -dd 0c9ba901ah -dd 02bc5d6e5h -dd 0d9ebe962h -dd 00f8afd24h -dd 04ca95e6fh -dd 0b0a271ceh -dd 026228367h -dd 0d5ce39a4h -dd 00ca85f7dh -dd 0b79fedadh -dd 0e0123f71h -dd 035096d19h -dd 0a09650feh -dd 0cdd1e114h -dd 0f077c80fh -dd 03c6f0586h -dd 00144b1cah -dd 0728ab492h -dd 0d336c784h -dd 0a063b4efh -dd 0e613b1c0h -dd 0dea5af31h -dd 08e02be30h -dd 0df2d56a1h -dd 09956b1dah -dd 0c94bee59h -dd 01c708447h -dd 00678310ch -dd 0265ef286h -dd 0b38ba461h -dd 0ad827e6dh -dd 00328820ah -dd 046588629h -dd 03f9b35b6h -dd 0b40236ech -dd 0a2c3bfd5h -dd 06a261e6dh -dd 09ba00c2bh -dd 0508728e9h -dd 0a14c6fa1h -dd 0061dd7d7h -dd 050ccffaeh -dd 0f056a294h -dd 00eb73426h -dd 0b4a479beh -dd 0f5b6cd94h -dd 01f9cb724h -dd 025c5e8a2h -dd 077f76673h -dd 0a8494dd5h -dd 06ad36bb6h -dd 083f423e6h -dd 0f7d8489dh -dd 0a17beec8h -dd 0acb8f207h -dd 01281d5a4h -dd 09d4e75d2h -dd 08348f699h -dd 0466ff5abh -dd 0ab12588fh -dd 0bdb3294eh -dd 09a0ade83h -dd 0426ac076h -dd 03d7ceb34h -dd 0ee614441h -dd 0650e7bf8h -dd 0481715f2h -dd 0588fe65ch -dd 0bf664e3ah -dd 0b84bdcf9h -dd 0c155f7f5h -dd 06c4ce52dh -dd 0bd372543h -dd 08528f632h -dd 09956b4f7h -dd 0a32a2804h -dd 0d8a1dc71h -dd 0ce1eeeb9h -dd 04c2c2194h -dd 0f14f3e90h -dd 0330aecd7h -dd 032039e19h -dd 046cd5de0h -dd 02ef2eb29h -dd 06b5699ach -dd 063d2ed2fh -dd 049adbf57h -dd 035c861b1h -dd 0db5deafbh -dd 0e448646bh -dd 0e753d0feh -dd 068aeeea0h -dd 038e1b6bdh -dd 08c45db69h -dd 07e75edbbh -dd 0d36869adh -dd 064555a9fh -dd 09b8fa062h -dd 02d9fd9cch -dd 01867e054h -dd 0445f891dh -dd 05740d765h -dd 070b0b5adh -dd 0fcbad4b0h -dd 0afe22bdbh -dd 03d67a712h -dd 07db5ee06h -dd 006cb1eaah -dd 0248c32f4h -dd 00737a702h -dd 0aab8140bh -dd 09cd63934h -dd 082e2c4a3h -dd 08961fc14h -dd 0dead208ah -dd 00cb91509h -dd 039a9bd13h -dd 09c727e2eh -dd 0d310b35fh -dd 074454f01h -dd 02c02fb9ch -dd 007769096h -dd 05855f9d1h -dd 08018fa81h -dd 0b4be5490h -dd 048f0737dh -dd 0d67c357fh -dd 004f1034ah -dd 033eaad77h -dd 07133b4b1h -dd 082d8ae1fh -dd 0b6ab9e7eh -dd 023982214h -dd 05acf9f8ch -dd 0dfe08297h -dd 03564f7e4h -dd 07196422ah -dd 02ea23ac1h -dd 050e22b7ah -dd 0148190a2h -dd 0e018e0b0h -dd 0c1a087e0h -dd 00670b3b0h -dd 081d349c8h -dd 0ce27e346h -dd 03b4f3ebbh -dd 089e649cah -dd 02be1bb03h -dd 03c2958dah -dd 04e142361h -dd 014b78aa0h -dd 05e462016h -dd 0688d282ch -dd 04447bc02h -dd 080506658h -dd 0ed3e349fh -dd 0640adb7ch -dd 077bb1971h -dd 0ea80486eh -dd 02522fecdh -dd 0dfbf71cch -dd 04bd4622dh -dd 09272d06ah -dd 0d19ac324h -dd 05c7ab7aah -dd 0c1d8197bh -dd 00898d8d3h -dd 09f96e3c8h -dd 0d9789727h -dd 03313291ch -dd 0e894ae9ch -dd 0b4cdc616h -dd 0a4c34d5ah -dd 01ebda7c7h -dd 06a6f076fh -dd 05169befah -dd 069320359h -dd 0c8db32bch -dd 05e1208abh -dd 0e4dded61h -dd 00c1d60b2h -dd 0bfcaec39h -dd 0ea22400fh -dd 03965e151h -dd 04af17ddfh -dd 0343b9943h -dd 0559fb188h -dd 04ba28336h -dd 01f23b6e7h -dd 0e0dfb912h -dd 02321d449h -dd 008651fedh -dd 01fd615e4h -dd 0e5fa55dbh -dd 056f2711fh -dd 02248b3aah -dd 0b48f31d2h -dd 08f0fc55dh -dd 0cf6456f3h -dd 0cb75de1ch -dd 0312d9278h -dd 0e1eefddeh -dd 00c57ec05h -dd 0f901816eh -dd 0c02e9d62h -dd 0b227b51bh -dd 0b3a95b23h -dd 09154e14dh -dd 0350cdc16h -dd 01eade510h -dd 031f4c057h -dd 03de5d422h -dd 010e66c28h -dd 03bb3b0a8h -dd 00513aa2dh -dd 07c650bd0h -dd 0b42eb8f4h -dd 0e1e6759bh -dd 0827f85e4h -dd 0ec6bd526h -dd 0a9dc2b55h -dd 0e2f16f3bh -dd 0ea5f4552h -dd 047f01474h -dd 0c43f6e9bh -dd 064e101f5h -dd 0b35121d9h -dd 0a0f26a02h -dd 00f25b5b5h -dd 069ca6ff6h -dd 03be4e8c6h -dd 0d68fc7bah -dd 01796239eh -dd 042c1f1d5h -dd 0a0d07b4eh -dd 0cd12db89h -dd 07f973b2dh -dd 04bb4a594h -dd 0164ac59ah -dd 0b4410e2fh -dd 0e80a6eb2h -dd 095885324h -dd 04b7cc1d4h -dd 0fc717e73h -dd 08f483b6eh -dd 0d234a1a8h -dd 0bb7199c0h -dd 09a2b2751h -dd 07296424ch -dd 0f5929f17h -dd 01d45eeb0h -dd 0696046fah -dd 09b288607h -dd 003d70b1fh -dd 0c530786ah -dd 03eac870fh -dd 03013d898h -dd 00922a7eah -dd 017a5fb3fh -dd 06ffe94f5h -dd 056a12fbbh -dd 0ebbf827ch -dd 024388fb8h -dd 05c736f8ah -dd 07933cd1bh -dd 0ff338dc4h -dd 0c9d0f711h -dd 0519d28cfh -dd 09224f568h -dd 0757dd393h -dd 032e8a492h -dd 0aa1532fah -dd 072dfafa1h -dd 09b210e86h -dd 008382a54h -dd 078ec9334h -dd 0047078ech -dd 0280c4cc3h -dd 0b9fe33afh -dd 00c6a5785h -dd 0bdf9bc15h -dd 0fad8ce06h -dd 0489aae56h -dd 0aef8e23ah -dd 021f5e0b0h -dd 05a7762fah -dd 0144930f4h -dd 06fda99e3h -dd 0dd874d42h -dd 0c32392e1h -dd 08ac2a6edh -dd 0eb128a3eh -dd 092becfc7h -dd 047791817h -dd 0b7166bb2h -dd 0b61907a4h -dd 002d784cfh -dd 00e4a0b37h -dd 0a038f88ah -dd 0ab28ec58h -dd 054fd611dh -dd 0cf781d89h -dd 01a28cdabh -dd 0660b37a2h -dd 09c971420h -dd 0dad518bah -dd 06ee1c4eah -dd 076b71949h -dd 069a07356h -dd 09816c239h -dd 004f1d1c4h -dd 073710b01h -dd 06ff8efcch -dd 0555d7b78h -dd 05929dda3h -dd 050aea629h -dd 0fc79d725h -dd 03f2c4d88h -dd 0da7f0a47h -dd 02efe08cah -dd 088e55eb5h -dd 02f8305b0h -dd 02ede7b94h -dd 0995c03f0h -dd 0e3e3f13ch -dd 06047e1f3h -dd 0f110f0dah -dd 0d76041c9h -dd 0a65e673eh -dd 0b48816a9h -dd 048de1d83h -dd 080594aa0h -dd 0797240bah -dd 0a5e82ebeh -dd 057f34d58h -dd 0cb363752h -dd 0e9d61681h -dd 02aedff28h -dd 0d32c284dh -dd 0ba8fb3cfh -dd 0d3a37a30h -dd 018b75263h -dd 0f21af6e0h -dd 09910d7e2h -dd 026eba311h -dd 06cb9549ch -dd 083553cf7h -dd 0d759a867h -dd 0b2682a5ch -dd 023a21cb0h -dd 03967decch -dd 0e4977e62h -dd 02558e3e5h -dd 05ee13f10h -dd 04dd7c263h -dd 01b12c4d3h -dd 00a27ca6dh -dd 08fdd8b33h -dd 063df7779h -dd 044f754c5h -dd 0f17c4a04h -dd 02a690a36h -dd 0bde6302eh -dd 0c2c6d783h -dd 0a0473da5h -dd 03f619cbdh -dd 04edc8239h -dd 051a3e71ch -dd 01efc7cc8h -dd 0eee60d15h -dd 08500661ch -dd 040b2fed0h -dd 01987f15bh -dd 029cd2374h -dd 0a00b406fh -dd 08f7a08c3h -dd 088c4eb25h -dd 0ba77e104h -dd 0b2f192a5h -dd 05dc73b8dh -dd 08368589bh -dd 0b2a01208h -dd 0e68a2eech -dd 07e4965d3h -dd 0cb6f7d4ah -dd 062e73c88h -dd 09f6defabh -dd 091c572efh -dd 0c34f6852h -dd 00a39adcch -dd 0fab13693h -dd 0dca5cc84h -dd 098f47695h -dd 04752fbe6h -dd 0b9b92411h -dd 0829fc6dch -dd 0fceceb6bh -dd 0ee96a41dh -dd 061d2bebbh -dd 07c3e3740h -dd 00b73c8c1h -dd 0afebaa08h -dd 030ece8d3h -dd 0f4c27e39h -dd 01d6060b5h -dd 0b1281722h -dd 003535c57h -dd 0c8fe2fdch -dd 00fc114e9h -dd 03c0e6627h -dd 0cba5dbf1h -dd 0e0047b67h -dd 021ed9f67h -dd 0cce130cdh -dd 0826572b2h -dd 002587432h -dd 0e1b78622h -dd 0aa836fe0h -dd 0ab3641e5h -dd 0e1dfdfc2h -dd 0e645ed4eh -dd 0ffb9f890h -dd 0dbd8a22fh -dd 0178e5e71h -dd 0d6e51150h -dd 0221b911ah -dd 0b4d6b296h -dd 0ac805a41h -dd 0d68ae08ch -dd 0af16aa08h -dd 0bab30c5ch -dd 09a46ec82h -dd 0c8dd66a9h -dd 06d23e810h -dd 0d58b7c8fh -dd 0dc97afbah -dd 05d4a4cbch -dd 0f87abf3bh -dd 046419c0ch -dd 0d99c5b15h -dd 0271edaa9h -dd 0d033c4adh -dd 0ae8cf0c8h -dd 0f9516ac9h -dd 066851218h -dd 08f12e145h -dd 0c06b8187h -dd 0a99fcbd0h -dd 0067b9a3eh -dd 03e55e88fh -dd 095c070b4h -dd 06961055ah -dd 0a8d4ae40h -dd 0752f7b3dh -dd 04475d2fdh -dd 088a3d821h -dd 02adfba93h -dd 096c8e999h -dd 0c2464267h -dd 0d170fb42h -dd 0653f995bh -dd 0532770f0h -dd 0d217e2deh -dd 076e9e442h -dd 0a34df06fh -dd 00520d468h -dd 031423e92h -dd 0ef4c0ed5h -dd 097b37e62h -dd 05cf14febh -dd 06eb589fbh -dd 017b4163fh -dd 0c8a425e6h -dd 0876b3611h -dd 090de00c5h -dd 01f695a08h -dd 0a4a0210ch -dd 009bb884fh -dd 09df66706h -dd 06a36e832h -dd 015e28385h -dd 0d6cbf09dh -dd 087129e66h -dd 0b09466ceh -dd 0d4c52c30h -dd 07beeea1eh -dd 0489bd7f8h -dd 0cb899553h -dd 049b0acc2h -dd 0d29b43f1h -dd 09417e962h -dd 09e71d595h -dd 0d498badah -dd 05f32016dh -dd 0db578356h -dd 0a774fd6eh -dd 02597e68bh -dd 0dc44a62bh -dd 049982272h -dd 0ed737df9h -dd 089a2b2e4h -dd 02d7278afh -dd 025216931h -dd 09723d0c5h -dd 041d45289h -dd 06f77b396h -dd 04a3c708ch -dd 095cf44d4h -dd 0683a4548h -dd 09e22c071h -dd 0b266b714h -dd 04e39f82bh -dd 0c0fd53b5h -dd 07b9c655ah -dd 00bd54b50h -dd 032f80a62h -dd 032d0138ah -dd 0846d4f81h -dd 06bb3d524h -dd 06763a9d1h -dd 049ad68b4h -dd 03bde6fdeh -dd 0e83d44b5h -dd 05e694f62h -dd 00ddf1c2ch -dd 090e62e66h -dd 03e8a5be9h -dd 08f570b98h -dd 0ee1fa751h -dd 05be7d705h -dd 04946fb09h -dd 057c86222h -dd 0a8970d1dh -dd 043f61cdah -dd 0fd0ff38fh -dd 0a11cd6fch -dd 06991c060h -dd 0b2c4ea5ah -dd 02b7e8a7eh -dd 08cc6c143h -dd 0a98bc05dh -dd 06eeb27d6h -dd 09fde0f87h -dd 030dd0748h -dd 078b9fffbh -dd 05383365fh -dd 0a5996855h -dd 0984abfa9h -dd 0f38bec01h -dd 0e27be412h -dd 093abde26h -dd 0f4cba7a8h -dd 0ecea8b3dh -dd 03f33828fh -dd 068e74131h -dd 0e6d0cd88h -dd 0c1aa597ch -dd 0a5277ddeh -dd 0a98e9801h -dd 08d501797h -dd 049036cafh -dd 05bb7c684h -dd 01e977a61h -dd 0ee64f423h -dd 05b387c5eh -dd 0a83716bbh -dd 0e3929700h -dd 0602be75ah -dd 08d5a65b8h -dd 0c03046f1h -dd 06143937fh -dd 04634032ch -dd 0bcafae05h -dd 012cdbb8fh -dd 0eb5484ceh -dd 0e50b49bfh -dd 0626e369eh -dd 02683cdf0h -dd 05557b9e0h -dd 04d8e7f6ch -dd 086068d1eh -dd 0521fb5bbh -dd 03677e6ach -dd 008509099h -dd 06ca4e774h -dd 0b4138cf1h -dd 0cae5d5b6h -dd 02531e3cbh -dd 0b25c1744h -dd 0ff219aa6h -dd 050f1195ch -dd 076e52a4ah -dd 0119e693ch -dd 0a32cba9eh -dd 026c2e345h -dd 0819f330fh -dd 0bc4b8725h -dd 0dc812949h -dd 0f8c05765h -dd 073df8de0h -dd 01f296f1dh -dd 0ed4d0c45h -dd 0632f6b16h -dd 04ae4fe21h -dd 039cbf296h -dd 0e4876f9bh -dd 06a35e5e2h -dd 0d8462e12h -dd 085c9a495h -dd 0167a4ffch -dd 0d6824700h -dd 0c6369795h -dd 0fccb93e8h -dd 0f58511f5h -dd 0e4789b73h -dd 02998b890h -dd 04743c79ah -dd 099a37796h -dd 0ce3384aah -dd 0a665c606h -dd 0c1c9a948h -dd 088f41386h -dd 0df41a32dh -dd 0477b7b47h -dd 0afdecbfeh -dd 09e45082fh -dd 0eed2e567h -dd 03121c5c5h -dd 0dae877ach -dd 06a04f536h -dd 0e3cb0460h -dd 084856b53h -dd 011139813h -dd 09c1ab147h -dd 0c829fbaeh -dd 06f777f76h -dd 09c02c3b6h -dd 02e7c5760h -dd 02b9f7974h -dd 02196a63fh -dd 0b1360ffch -dd 0d379fddfh -dd 0de311abah -dd 0317abcd7h -dd 055862113h -dd 0bba8b9f5h -dd 0939aa01eh -dd 0a9b907c5h -dd 08fe94ffah -dd 067774684h -dd 076f67ffah -dd 0a53b243bh -dd 005937b1fh -dd 0b7b05111h -dd 0a19a620dh -dd 05fba479dh -dd 09127c659h -dd 0fd1772c0h -dd 0f10b7c5ch -dd 068a770aeh -dd 048f8aafah -dd 0c365b48eh -dd 007a96a24h -dd 023b8b29bh -dd 0ad5059abh -dd 0718a3b18h -dd 0e4af5ee6h -dd 0e13a543ch -dd 033d5ca48h -dd 0b59a99a8h -dd 04920ec68h -dd 08d81190bh -dd 024242432h -dd 0e427c841h -dd 07467ba60h -dd 071ad1733h -dd 0193d0605h -dd 0ceacfb09h -dd 0888efbe8h -dd 07a1ee235h -dd 08854a254h -dd 09e6f74aeh -dd 0bd77f7b3h -dd 0d548ade1h -dd 0c21e4da2h -dd 0805dff75h -dd 022c8194eh -dd 0df4366adh -dd 02a0917f3h -dd 0dc52bbc2h -dd 04bf0af88h -dd 03ac5b9c1h -dd 0cd19cc2bh -dd 061402f6ch -dd 0eaf3bdebh -dd 0a811cab3h -dd 0e5c19a8bh -dd 037d13545h -dd 09fd2a975h -dd 0d3577461h -dd 040e89d2fh -dd 0539c1cf7h -dd 06115339bh -dd 02d3d1b3ah -dd 0e775e729h -dd 00675e391h -dd 046cdc3d0h -dd 0eef54bcbh -dd 0cadd04f6h -dd 0d3ad508ah -dd 081067311h -dd 056bc17c2h -dd 0ea9b19ceh -dd 09b9e84cbh -dd 04090998bh -dd 0839b5a10h -dd 08033289ch -dd 068524d9bh -dd 002678064h -dd 02fd52692h -dd 06fe5cb9ch -dd 0ff402121h -dd 0c97dc568h -dd 06d831c64h -dd 07ac1d5f4h -dd 0bf67e455h -dd 0be268610h -dd 07d348089h -dd 0f56c66bbh -dd 0f71bd381h -dd 09c7fde8dh -dd 082b2eabfh -dd 0b95b49beh -dd 0099cb65ch -dd 04e6c82dah -dd 036f9008eh -dd 0ab6929b5h -dd 039b69dd2h -dd 0dc697042h -dd 0be7c3a1eh -dd 050e41d4dh -dd 033587ea9h -dd 05a95dd0ch -dd 0443a965ch -dd 005f37fd3h -dd 0f3cb37bah -dd 0f23ec8edh -dd 03d5e1e33h -dd 0f8e251a7h -dd 0ab00e85dh -dd 05e729e10h -dd 014366edch -dd 073d61f20h -dd 0f43f76b6h -dd 0436acecbh -dd 045d06d0dh -dd 03f776e32h -dd 0e5f0aefah -dd 042cfb912h -dd 059378ee0h -dd 023efa002h -dd 079180b1dh -dd 03dcb8504h -dd 08679b623h -dd 082c0c187h -dd 09c3a70f1h -dd 0587ccc6eh -dd 0f0f148efh -dd 082051836h -dd 05f7a6ca7h -dd 076107c65h -dd 0316ee0fbh -dd 01295958bh -dd 09ffe631dh -dd 000f9ad2fh -dd 0eae5e898h -dd 075db2b8fh -dd 0511a5e8ah -dd 0925e4ef2h -dd 092624705h -dd 0b84f9d33h -dd 0781b26a0h -dd 00bff64cbh -dd 01cb4a281h -dd 018124d47h -dd 0a6a62e11h -dd 013343bb8h -dd 0dd986c9ah -dd 0dbab9819h -dd 0a6a21dc3h -dd 043842946h -dd 0010cb6d3h -dd 042d260d9h -dd 0adb0d34bh -dd 0f68e1a8dh -dd 0941e356dh -dd 03aab5a4bh -dd 0986295c5h -dd 04aa0a8ffh -dd 08b66100bh -dd 00a8a2228h -dd 04c7b4bb4h -dd 0361a6900h -dd 0f95f65f6h -dd 07ea77aadh -dd 05ce1dc10h -dd 03d326a45h -dd 0a82d6ed7h -dd 040d02b06h -dd 0e25f766eh -dd 0b404d0fdh -dd 0c2ae5900h -dd 05f85594bh -dd 08bd983a2h -dd 0008ae0deh -dd 0fb912e43h -dd 0366b152fh -dd 0cded550eh -dd 06b475c8eh -dd 0f5b47d50h -dd 01fc262c5h -dd 0fd668a41h -dd 05192ee78h -dd 0e96bd190h -dd 0e8abd768h -dd 08d66c0e2h -dd 00becc6d1h -dd 0d57f30c6h -dd 0b206d2fbh -dd 019ba87bah -dd 079698904h -dd 083e18956h -dd 0a332540eh -dd 0d2efe79bh -dd 0a81e52dch -dd 098b2e890h -dd 0622c9cf5h -dd 0ab8fe628h -dd 0c5978991h -dd 04db24c9bh -dd 0a654edbeh -dd 065a24bc7h -dd 0b87ccf86h -dd 0a9aee534h -dd 034469ff2h -dd 094efb042h -dd 0a0d649deh -dd 0bc512260h -dd 0ba7fa242h -dd 081f84cfah -dd 04f9dd70fh -dd 06d2b7e1dh -dd 07deafe54h -dd 0c9a19077h -dd 0b22d3b7ch -dd 07fce414bh -dd 0cc25cabeh -dd 08bbfd90ah -dd 0414537beh -dd 03b0d2657h -dd 077634829h -dd 03bf5a647h -dd 03dda5872h -dd 0c9d7c1dbh -dd 04d5c73fch -dd 0d9597793h -dd 0bf244fcah -dd 0fb3dbc43h -dd 0cc461994h -dd 06db1f897h -dd 0486c5d4eh -dd 0aff82692h -dd 0497c126ah -dd 0319c9cc5h -dd 0342b46a7h -dd 033d46912h -dd 0702eafb1h -dd 0a3b756cdh -dd 06428515ah -dd 02f67e9e1h -dd 099db5f65h -dd 06a729084h -dd 06b6ed50ah -dd 073315b59h -dd 0baec9a7dh -dd 04912b6b2h -dd 040d09f41h -dd 0214c2e22h -dd 0b062944eh -dd 0b9caa941h -dd 07dc58888h -dd 0bab6c348h -dd 04f10f2efh -dd 0778a6fc1h -dd 06c3c9339h -dd 058bb33d7h -dd 09d5c3fa0h -dd 002856f65h -dd 0a40dfa25h -dd 0e1e0b745h -dd 0425d8d5bh -dd 0123ef514h -dd 01ad8dc3dh -dd 0d880e4e7h -dd 0399ed179h -dd 0260bc9a8h -dd 0dcfcb026h -dd 0d5966e5ah -dd 068b9afd9h -dd 07b590507h -dd 02efcd1ebh -dd 0fd305e80h -dd 0d5d27b59h -dd 0f535e9f0h -dd 0f80d4bf0h -dd 0403b1150h -dd 0fb824ed4h -dd 0ab90ee83h -dd 0efd3d048h -dd 037509053h -dd 05a8e9484h -dd 0cbd85cach -dd 09afde4cah -dd 022c19caah -dd 0caf6f05dh -dd 04934f4c1h -dd 09d3fc6dah -dd 0aeafd946h -dd 0381be910h -dd 0d1150d60h -dd 07559949bh -dd 0e72d9286h -dd 0276f971eh -dd 0412c4a0fh -dd 08122922bh -dd 07614a5fah -dd 02e275a8fh -dd 0f2fb2611h -dd 0a960fe45h -dd 03a8a27edh -dd 036cff693h -dd 02ac25fa5h -dd 0fde51525h -dd 0e4b08d1fh -dd 0c55e7204h -dd 078034a06h -dd 062db51afh -dd 04b98050eh -dd 07c415379h -dd 0de28f194h -dd 0e8a858b9h -dd 01591dba5h -dd 0b0c4544dh -dd 049d0fdf2h -dd 07704594dh -dd 03589980bh -dd 0a826dae9h -dd 0bd0d46f8h -dd 063805e20h -dd 010ba8bc2h -dd 08e49d7fah -dd 07481aa0ah -dd 08387735fh -dd 03d6323fbh -dd 067d324cah -dd 0d18d28fch -dd 063f2851ah -dd 02d2bee5ch -dd 0b4b4925ch -dd 00b996bb5h -dd 0bbe013d4h -dd 05714147ah -dd 051312cf5h -dd 0320e9781h -dd 0e194ace7h -dd 06999827eh -dd 0312631dfh -dd 064070493h -dd 056a615fbh -dd 06f4e9c12h -dd 00a7c43d0h -dd 0badd3e71h -dd 01251b844h -dd 03a96f771h -dd 0be9aad8ah -dd 0f627a10ah -dd 00ae36ceeh -dd 08064edcch -dd 0dbcfa2e3h -dd 05306ccc0h -dd 0f2598614h -dd 0363ec637h -dd 0e4d56ba9h -dd 0de71f98dh -dd 0454e0ebbh -dd 08827ce18h -dd 01b6207d8h -dd 05dbf404fh -dd 03e5211beh -dd 0fbf61aa9h -dd 0bfda8036h -dd 03ddfa0e2h -dd 0b23ba5a0h -dd 01fce6d4eh -dd 089b9f2b8h -dd 0962d12a6h -dd 0e57354aeh -dd 0609127cch -dd 04ca3c3a7h -dd 038c98f7fh -dd 00af58fb4h -dd 0ebd78888h -dd 0a1941ee3h -dd 0921314dah -dd 0f4fc7b21h -dd 06a7449c7h -dd 0f37f5bdch -dd 0f3b50a2ah -dd 0ff6c64c2h -dd 0f8a43677h -dd 07b5ea8e8h -dd 0a2ced34bh -dd 0f413444dh -dd 024a66088h -dd 0b74ce329h -dd 03402f571h -dd 084112172h -dd 0cf77f983h -dd 0bb122cdfh -dd 079378f9ch -dd 07e36180bh -dd 080ec914fh -dd 0ab3e5109h -dd 09bcd03e5h -dd 0c055309fh -dd 089f7679ch -dd 0bf93543ch -dd 0ef870757h -dd 0464140f5h -dd 069418c6eh -dd 01533d894h -dd 0cb9a81d1h -dd 03454dbbeh -dd 0effae466h -dd 034e929afh -dd 006a27767h -dd 028e5f3bfh -dd 0a38804a6h -dd 047f5c6e0h -dd 0eae90cf4h -dd 0656d99c6h -dd 0c609882fh -dd 0c7499ebfh -dd 03f8bdca4h -dd 0b97fe6b8h -dd 0d1c7a244h -dd 06a199189h -dd 0e31bf174h -dd 0fafd470eh -dd 0c255d610h -dd 09a7c2675h -dd 0ba4644e0h -dd 0b6b55d19h -dd 087dd8877h -dd 0814210cbh -dd 026041b86h -dd 009564f4fh -dd 09f7c983dh -dd 08788cb87h -dd 0609c4318h -dd 069cf22fch -dd 0ff963831h -dd 06a39aefdh -dd 0bb5816fdh -dd 02f2ce4c4h -dd 02490bbf9h -dd 0543c8514h -dd 04f076ba1h -dd 09a69bdf6h -dd 091667a01h -dd 02d20d951h -dd 0624f79d8h -dd 0bd6e4dedh -dd 0eda5529eh -dd 0e91a2f92h -dd 0113e0273h -dd 05a3b0af7h -dd 0c6bff2b2h -dd 0dfe1bdech -dd 07dd21810h -dd 0307c49e6h -dd 096a2e818h -dd 06d671b10h -dd 0259a8c3dh -dd 099a759cbh -dd 02d709a27h -dd 02ff6bef5h -dd 0c66fb63fh -dd 0311ec57ah -dd 0918bf7d4h -dd 02fbc008ch -dd 01e3204b5h -dd 04d379cdeh -dd 0c3666b13h -dd 0e3ff9dc3h -dd 0851a49e0h -dd 05bc7df70h -dd 0bf939e54h -dd 02eb2024dh -dd 047181bffh -dd 0508d202fh -dd 0d48681e5h -dd 050093f76h -dd 07708b184h -dd 089a4da77h -dd 0bdd07187h -dd 001cb0805h -dd 0dbc631efh -dd 0e4129ef9h -dd 07ede469ch -dd 097954c17h -dd 09bc8c362h -dd 0f52360ceh -dd 0901f32c3h -dd 053a97458h -dd 06deef2cdh -dd 0b4136056h -dd 0ecf881ddh -dd 0bf0fd0e0h -dd 09a387243h -dd 0e269f07eh -dd 0f66a050eh -dd 0940bf073h -dd 050050213h -dd 095a58f6dh -dd 01b55bcc0h -dd 0b8fe39bch -dd 04eabb40ch -dd 01e0188ddh -dd 0b8fa622ch -dd 0f4eab088h -dd 0d9b739eeh -dd 051ad68e4h -dd 05b200a5bh -dd 0a14bde11h -dd 0ae611ca5h -dd 0a5036db6h -dd 07a6a98dbh -dd 043b62348h -dd 0b73451e3h -dd 066a4792ch -dd 0d1964a37h -dd 00002a720h -dd 0672481ddh -dd 062d12385h -dd 0261c2c33h -dd 0d8b8fd1ch -dd 060d65187h -dd 08eb06e74h -dd 03f704e2ch -dd 0708fa690h -dd 09775f93bh -dd 05ad84b0ch -dd 0ee81bfe0h -dd 02a32218eh -dd 0b431ea31h -dd 01b5268c2h -dd 0405cce8dh -dd 045a79421h -dd 040fac065h -dd 08722afb8h -dd 0935b62dah -dd 05cd0c24ch -dd 0db166fd6h -dd 0f25140bbh -dd 0b88fdc99h -dd 0612cd12eh -dd 09703a6edh -dd 06aa2091eh -dd 02412998eh -dd 0713447d2h -dd 08354211fh -dd 0fc67ce1ch -dd 0a52bc14bh -dd 06777dfeah -dd 0ca747d2ch -dd 01d7f18c3h -dd 01e80803dh -dd 0910a0ca5h -dd 06f915ffeh -dd 0220afa3eh -dd 03fadd497h -dd 0555c9036h -dd 0a5259f4eh -dd 026c1a78fh -dd 0c9dbb26ch -dd 061a26e08h -dd 08b589bd2h -dd 05691f24fh -dd 0164cc904h -dd 09379f87bh -dd 0ddc6eac9h -dd 09028d499h -dd 0bd6e2bb3h -dd 03f26a40ch -dd 01a8b11b5h -dd 066387ed1h -dd 0611589b6h -dd 066bcddb4h -dd 0c0867fa7h -dd 08cc2f3b9h -dd 0ccde7a84h -dd 02f052f76h -dd 0306b4369h -dd 047878d26h -dd 0da59a6f1h -dd 054f524cdh -dd 0c8ca2ba1h -dd 05954b02eh -dd 03e34a5cbh -dd 0d84b32d9h -dd 095fafdf6h -dd 0e673f364h -dd 099bdb002h -dd 0735959b4h -dd 09f4e562bh -dd 094151b95h -dd 0ad202663h -dd 0d7ae6c42h -dd 03f6df108h -dd 082786260h -dd 0eae507c3h -dd 0f768708dh -dd 0aaf574b5h -dd 09ddeb32bh -dd 0bbd59903h -dd 00863252fh -dd 069d7ad15h -dd 08ad15626h -dd 0f8019380h -dd 05be24808h -dd 066d1c9cch -dd 0c2e5711ch -dd 0cbb8a5f1h -dd 0daf0106ah -dd 06c8ce69ch -dd 03760b38ah -dd 0559bea71h -dd 02e1278c1h -dd 050b27e76h -dd 028bf8871h -dd 0771032e1h -dd 092cec322h -dd 026f3a7f8h -dd 0d933216ah -dd 07f8a8e70h -dd 06b597974h -dd 03a23a586h -dd 0edbe164eh -dd 08a1ba659h -dd 056f546afh -dd 0aca1cd52h -dd 0b3b92949h -dd 0645ae341h -dd 0f21ed424h -dd 0dd0bf015h -dd 0d229dd57h -dd 07e4b8993h -dd 0dd5c3c02h -dd 06ca2ec64h -dd 05b2d786dh -dd 09dec5074h -dd 06999abbch -dd 0d3f35a35h -dd 03fd49653h -dd 04467d8e6h -dd 02c25211bh -dd 0580e433ch -dd 0779fb14dh -dd 034f8739dh -dd 04fc3f114h -dd 052065f6eh -dd 0faabfcabh -dd 05fdb5b44h -dd 01eddb153h -dd 06c59c8bah -dd 045f891abh -dd 0b58cfbech -dd 0ffc38931h -dd 0841bde34h -dd 0202d1a76h -dd 05744889bh -dd 0d8676b27h -dd 0fcffb6cch -dd 0a41af06bh -dd 056684b25h -dd 0895a75eeh -dd 07206294dh -dd 0646f90b5h -dd 06343f19ch -dd 052f684c8h -dd 030a572b5h -dd 054197112h -dd 062e71696h -dd 0bb95552dh -dd 030c8986dh -dd 047a9104ch -dd 08b586abah -dd 0ced3c321h -dd 07cb27f04h -dd 034a62bf7h -dd 09e37bf1fh -dd 0cdce413dh -dd 0e98d53ech -dd 07fd19c7fh -dd 0b966d859h -dd 0e219e67fh -dd 05cae027ah -dd 0647b22afh -dd 0c04dfed4h -dd 043a0a638h -dd 0a128cf7dh -dd 02aa1797dh -dd 0d3c68eeeh -dd 0dcd6fb25h -dd 03dbeceb3h -dd 0a4457fedh -dd 0d113d673h -dd 04599cc0ah -dd 052815876h -dd 0b3e95521h -dd 0668d0bd6h -dd 039012de4h -dd 00137ca34h -dd 0069049c3h -dd 09b6ea6b7h -dd 01933990dh -dd 05bd8714ah -dd 056ea0407h -dd 062269d9ch -dd 014fa5e61h -dd 0e13bc1d0h -dd 0ed2421b9h -dd 0eff6f0d0h -dd 010a3b34eh -dd 0d1ec8ddbh -dd 06a8707deh -dd 00e2e5e96h -dd 09e8c3868h -dd 00a68fc8eh -dd 06621b5cdh -dd 0edb57c00h -dd 0f85117dbh -dd 05f550e15h -dd 06b0917feh -dd 012d706ech -dd 05cd9348eh -dd 00eb3d4f7h -dd 0df634422h -dd 0128648e6h -dd 047903c39h -dd 06baffd9fh -dd 081f0a64ch -dd 0f161dca2h -dd 0842bee59h -dd 0b92f8da4h -dd 01b6bcaa3h -dd 06a26423fh -dd 05d75fa5bh -dd 0d36eb009h -dd 02a67cd8dh -dd 08c6276e0h -dd 0277364ebh -dd 0ce19620fh -dd 0499ea493h -dd 0e8362b09h -dd 0b781ca7eh -dd 020b849c2h -dd 0d5340b9ch -dd 0c011bf88h -dd 032726be9h -dd 099606011h -dd 0bb474554h -dd 0a74e4c30h -dd 0c6899cc4h -dd 044c3438ah -dd 052e7d5c1h -dd 01857e28eh -dd 0d126c2d5h -dd 08e9cf9b2h -dd 0d5b224d3h -dd 0e97ab623h -dd 00cccda6bh -dd 07baf5ca0h -dd 04ca8c1d2h -dd 05481559eh -dd 0b262991ah -dd 0892e33f7h -dd 0efc6c47fh -dd 01530b10dh -dd 08e2e04a4h -dd 0d3d6645fh -dd 0a83e41a9h -dd 0f5442fc0h -dd 0b9ecd107h -dd 06e547a42h -dd 0e21f3c1ah -dd 079d9899ch -dd 0a49881cbh -dd 0ebb5ede4h -dd 024c9ed4fh -dd 01a9a2bfch -dd 09c8066c8h -dd 0021fe37ah -dd 0ac02402fh -dd 0cf76c6e6h -dd 07dcf3752h -dd 0819dae7eh -dd 060ba9987h -dd 01f58fe89h -dd 06446693dh -dd 0349e4fb9h -dd 05d4d9474h -dd 05e2fc468h -dd 0243bfba0h -dd 0df292e64h -dd 0dd065f17h -dd 0219c0385h -dd 08ba7b806h -dd 00b1bc05dh -dd 0a8583cd3h -dd 0a8f1e5f6h -dd 0a4fe90d0h -dd 078580b7fh -dd 0f10576afh -dd 0b3da135bh -dd 063787323h -dd 026a36d66h -dd 03056b3d6h -dd 09501fa9ah -dd 0cd31220ah -dd 032e7b12eh -dd 0438c1f0fh -dd 06e96410fh -dd 0f1c02302h -dd 01f737d6ah -dd 0de2b1e9ah -dd 0189fb81dh -dd 00a99795eh -dd 05e49e1a0h -dd 0445483d6h -dd 045efa0a7h -dd 02d6f31d6h -dd 006b1e6aeh -dd 059bb70a9h -dd 0d2aa3edch -dd 0bec4a52bh -dd 09f24d3f8h -dd 0c45897ach -dd 03cef9d0eh -dd 0a7fe85f0h -dd 06cbeecd3h -dd 02756d9e5h -dd 01addeffdh -dd 0e3dba148h -dd 07d1c860fh -dd 0848e7e05h -dd 03a3dfd61h -dd 0674401dch -dd 0cc782923h -dd 012475425h -dd 016985339h -dd 0067183b6h -dd 05ba38c50h -dd 0582194cah -dd 0aa567bd8h -dd 0bed148efh -dd 0da795af9h -dd 09c2187b0h -dd 0af231c55h -dd 0c072cc75h -dd 0021fd114h -dd 09b34c62dh -dd 0c302211fh -dd 01608597bh -dd 009f3e1e3h -dd 0f4cf07a9h -dd 0e1a911d3h -dd 0fe551a6bh -dd 0dbc2c939h -dd 00982ee46h -dd 067d58a84h -dd 0636ac551h -dd 03f4a1498h -dd 01e19f6ffh -dd 053f986b6h -dd 06b8fd190h -dd 0565473edh -dd 00201bd59h -dd 02d571bc1h -dd 0b14f2510h -dd 002165ed4h -dd 0f19ed0b7h -dd 0939ee394h -dd 0913d6066h -dd 08d0abe89h -dd 0078aff3ah -dd 0ecf3e1c4h -dd 0ee70a82eh -dd 091eb5432h -dd 0bffc47b5h -dd 0b6812050h -dd 08ed66d51h -dd 0b1250efdh -dd 0789c69f3h -dd 09146ee1ch -dd 0ac36bb87h -dd 0cbadc601h -dd 0f5972119h -dd 0e5e5dd24h -dd 084614988h -dd 052f52abbh -dd 065257d9fh -dd 0a6904f13h -dd 03d537e64h -dd 0a1649898h -dd 00ccdd6b0h -dd 0d868b3deh -dd 03103563dh -dd 0558c080ah -dd 0c1cff1ddh -dd 0b501282fh -dd 036a961b5h -dd 02b3f36c7h -dd 0536d6e95h -dd 010ccd28dh -dd 0cf996cfdh -dd 0992ce655h -dd 0ac3d039dh -dd 021bd735bh -dd 030394c93h -dd 0a1f10b3eh -dd 0de75951ah -dd 067e0504ah -dd 0fdcd7bb7h -dd 01ca70d29h -dd 0edc6432eh -dd 06d636f41h -dd 026362b20h -dd 0738c3eaah -dd 015702779h -dd 0af40580ch -dd 0610466cch -dd 09203b261h -dd 0d3a8aaa2h -dd 08d7be247h -dd 0d0f1a2f2h -dd 02637f434h -dd 0f496dac2h -dd 00da59c1dh -dd 0a59f99bbh -dd 0c972911ah -dd 0936843c4h -dd 0a31dc7c1h -dd 015fb8d84h -dd 0cf359aceh -dd 0e359b0f8h -dd 091d335b6h -dd 0b684b9f0h -dd 0e814f3d4h -dd 0fa892418h -dd 053465836h -dd 0dd0b5d6ah -dd 075e3eb86h -dd 026f167ddh -dd 05a5b63e3h -dd 017804a7fh -dd 079f4e84fh -dd 0efe58ac9h -dd 0adc8a4a9h -dd 022ae4b10h -dd 0f72f1563h -dd 053eba465h -dd 0fe6ffb9fh -dd 036e60c4bh -dd 0a9da18adh -dd 0e51ec055h -dd 015f84bcbh -dd 0576006d2h -dd 089780dd1h -dd 0a8eeae60h -dd 0db94988bh -dd 0ae15e21ch -dd 04f629197h -dd 0ed9dcb16h -dd 0eff156d5h -dd 05fd08905h -dd 0490c72c4h -dd 0f703c840h -dd 0d2504e62h -dd 08a839051h -dd 02a96df3eh -dd 02a4ee48dh -dd 0818bbe18h -dd 0f2cf84aah -dd 0558e4207h -dd 030be9029h -dd 0584fdb64h -dd 00b842a19h -dd 02bb07281h -dd 0b8a0a64fh -dd 01bfd1ffah -dd 0be1de43bh -dd 0bc599b17h -dd 015c8d3fah -dd 0b5f64101h -dd 036ed2a80h -dd 0258d0c29h -dd 0ead3dc4bh -dd 08320f551h -dd 0a3b14edbh -dd 04d7b50fbh -dd 07fbbce87h -dd 03bac99fch -dd 03ae85263h -dd 0d84e164bh -dd 0f9849567h -dd 0ccc82e34h -dd 04935e0bah -dd 047650d74h -dd 05f8dbfbah -dd 0c1671eb1h -dd 0503e5b61h -dd 0412edc16h -dd 091b7b443h -dd 045ba2dbah -dd 06ca6b95ch -dd 0774c0c2bh -dd 00a37473eh -dd 0deb8d6e7h -dd 0ce68b283h -dd 0c8831ecah -dd 014b634e6h -dd 03aca145eh -dd 08545160bh -dd 00fa03b5ch -dd 0cc8a7ccch -dd 09331256fh -dd 0f5da1809h -dd 01eecd3e6h -dd 0106790e8h -dd 0566b01b8h -dd 09cd60618h -dd 038314c54h -dd 0b47285bbh -dd 0dda7fc72h -dd 0ba70b66eh -dd 08cae5cf9h -dd 0c0d5e980h -dd 0d01fc508h -dd 0515d2c55h -dd 082c94d29h -dd 030271475h -dd 0e7bd51fbh -dd 0f33faa11h -dd 0051d66d0h -dd 07ec94ba4h -dd 0739ca3ech -dd 00be5c96eh -dd 0393c9ef0h -dd 0a3da953dh -dd 05e7d2f11h -dd 06b672c29h -dd 0dd233a1ch -dd 0dd91b7f1h -dd 099f880e4h -dd 0f7d8e2b4h -dd 0836b7e2ah -dd 06d88d249h -dd 0f9916b15h -dd 0b796d99bh -dd 00dc6e42bh -dd 022b34cbdh -dd 00016fd88h -dd 0a1906637h -dd 08bb976d1h -dd 04dce876ah -dd 0119ce3e7h -dd 0234e10fah -dd 0bb89d5e3h -dd 09e7c436fh -dd 016914d5bh -dd 0903bb7bbh -dd 07c24c23ah -dd 0666afd11h -dd 0ecf5f285h -dd 0f68ec8c4h -dd 0bba2f9a2h -dd 0cd667d0bh -dd 06ceb2694h -dd 031d08118h -dd 083853f7ah -dd 0d93a41a3h -dd 07ef27a2ah -dd 0d5675ff4h -dd 052aa9d49h -dd 04b282d3eh -dd 0095feca1h -dd 05ce8a3deh -dd 0be6d2297h -dd 06607df1ch -dd 0d2bc577ch -dd 030e678d4h -dd 01fab7ba4h -dd 02c49369dh -dd 0e1aa53afh -dd 002b4cac2h -dd 0c3e5ea04h -dd 02cc88b62h -dd 0f8e4fe34h -dd 0b4c08bbah -dd 062758263h -dd 0a8a0f048h -dd 066ef8e11h -dd 0d3050e06h -dd 000b2cc1fh -dd 0c9bd1828h -dd 012a01c9dh -dd 0115dc968h -dd 0d9d2b978h -dd 04f995323h -dd 0148f54a1h -dd 0493ff86ah -dd 0fe2ee19fh -dd 0238cfc64h -dd 0bdcc5e5fh -dd 0c9ada0a3h -dd 0e340b107h -dd 01bcdab86h -dd 09f9d500fh -dd 0e2b17d7ah -dd 0f51ef70bh -dd 03ca1a5aeh -dd 0236da008h -dd 038442fcch -dd 04752522ah -dd 026d0b246h -dd 032ecd0bfh -dd 0f19b0b49h -dd 0d6c2948fh -dd 04b573bb3h -dd 09a3b69b9h -dd 035a66a0eh -dd 0ce6348bbh -dd 0e1d330ffh -dd 0bd742466h -dd 09fb11d64h -dd 05829e843h -dd 00fd8b4dfh -dd 0ab40626bh -dd 052ede526h -dd 00131d896h -dd 070fbcc37h -dd 06da5255fh -dd 06fe176a4h -dd 0877e0d94h -dd 0a0cdddaeh -dd 0dd8a1aafh -dd 0780797f7h -dd 0026e3e02h -dd 00772188bh -dd 0855cb54ch -dd 0431770b6h -dd 0e4bf5024h -dd 033924a5eh -dd 00298783ah -dd 09288356eh -dd 0d6532f3dh -dd 07b791afeh -dd 089b11f8ah -dd 0c42c217fh -dd 0132e6fd0h -dd 0c3542cdch -dd 083607094h -dd 038006f62h -dd 0e76e210bh -dd 039662551h -dd 0cb88946fh -dd 0e9869362h -dd 094acce56h -dd 00ecf6832h -dd 083a8c928h -dd 06cabf90fh -dd 0e74af62fh -dd 0b5664393h -dd 0f8a99252h -dd 01fc52b61h -dd 0cde52bdbh -dd 0840697fbh -dd 08d74eabah -dd 004aa87b5h -dd 072cd204eh -dd 0b4735205h -dd 069618e06h -dd 09b6d881fh -dd 078a4e023h -dd 0b8161991h -dd 000080bf6h -dd 00032372dh -dd 08d6e7710h -dd 0c229a841h -dd 01921529ah -dd 03739053ah -dd 033f52e38h -dd 0c6d51debh -dd 05972a297h -dd 0294b29a6h -dd 07ecb395bh -dd 01c8a3ff5h -dd 0a097d74ah -dd 02d3360ddh -dd 054dd4f29h -dd 08044512eh -dd 02451590ah -dd 0d6c6b9f6h -dd 061c0ffe7h -dd 047db7da1h -dd 0a38f20f9h -dd 04a5ae7cbh -dd 095cd1f32h -dd 09d4d30b8h -dd 0cda159e8h -dd 08b7ea1f3h -dd 0dc03059ah -dd 00566f463h -dd 010e90ef1h -dd 0b94860d1h -dd 05e845c46h -dd 0b94b5434h -dd 0cd20720ch -dd 0e0d2ae0eh -dd 020a8d0b5h -dd 04330e77ch -dd 08de6d28bh -dd 051698071h -dd 0c6467dd6h -dd 04b57c5efh -dd 0fc0f4fc6h -dd 0827ec67bh -dd 047857285h -dd 05492f228h -dd 0253c61bch -dd 0a3f9756eh -dd 08b0badc2h -dd 08cfc29dah -dd 07669e9bdh -dd 073f72e8ah -dd 0a570ebc9h -dd 018a6029bh -dd 008621e44h -dd 08503615bh -dd 0125b31d9h -dd 0f349042dh -dd 0d9574b0fh -dd 0a1f00f2eh -dd 01d35206dh -dd 052690bc5h -dd 072ecf253h -dd 015bc0196h -dd 0974073ebh -dd 0344b20c9h -dd 02f51030fh -dd 0b0f99e91h -dd 02efa3cfah -dd 07760b7a5h -dd 01ae68ad0h -dd 0db502335h -dd 05cce12bch -dd 05fab5d4bh -dd 04a53e2edh -dd 0ce26d4c7h -dd 013dfb0d2h -dd 012710f84h -dd 0c7614b4dh -dd 0f9e83106h -dd 05c6a5df2h -dd 040727a1ah -dd 045b5e385h -dd 060694f6bh -dd 0c6d3eb2ch -dd 0b4dfaef0h -dd 04bd1a0ddh -dd 02ac123a4h -dd 0e3aae90bh -dd 021a5f1b0h -dd 026e3e9a4h -dd 04a154639h -dd 007e9ec98h -dd 089bb6699h -dd 00623aec8h -dd 011946958h -dd 01d3d858ah -dd 09b0acf1eh -dd 087f632b3h -dd 05a599855h -dd 0b859c8b4h -dd 0f8042ec6h -dd 0a569c696h -dd 025b278f7h -dd 0ff2c9af7h -dd 00862d378h -dd 0759d0b12h -dd 07020699eh -dd 01d4ce6a4h -dd 0e3b2de11h -dd 0d0d1197ch -dd 0fbee853ah -dd 0745ca802h -dd 0b58f871ah -dd 01af8a7b0h -dd 05576de34h -dd 07c2a7693h -dd 03bc189c6h -dd 00115cfc1h -dd 0d6bf9992h -dd 023395a86h -dd 0fdf0cb33h -dd 0e96e0a28h -dd 0924081b1h -dd 0ace85d23h -dd 08e640530h -dd 0bc27046dh -dd 0b977df7bh -dd 0ed48cb97h -dd 0a0cc8119h -dd 09cbe3ec8h -dd 0cb61f1bdh -dd 06a51f186h -dd 0130c5d5ch -dd 0e5e39c20h -dd 0176e3f6ah -dd 0ce97ff79h -dd 0557ba76eh -dd 06556b3c7h -dd 0e3157cf4h -dd 0e100b710h -dd 073516828h -dd 0f4836f72h -dd 08f8a0838h -dd 090c42402h -dd 0cd221201h -dd 06363cdf4h -dd 001fcf3e9h -dd 03c90644bh -dd 04c253e8eh -dd 0f3bbea0bh -dd 0a62aaa35h -dd 042324bebh -dd 0a867703ah -dd 0a47b5d02h -dd 00ec5a384h -dd 0712f4797h -dd 090c806cbh -dd 089f5285bh -dd 00b39af3bh -dd 0df705d14h -dd 0133abcc4h -dd 0fc53b656h -dd 0872d8ef6h -dd 0027cd78ah -dd 0132e53ebh -dd 0954aa2bah -dd 0603290bfh -dd 0dc8f5a6fh -dd 008940519h -dd 086ac476dh -dd 059b951d9h -dd 0873682c5h -dd 03e308bf1h -dd 0aa317b9bh -dd 034909db0h -dd 05a2eb827h -dd 0abde91e9h -dd 0f7dbde90h -dd 049f2dca9h -dd 061fa6004h -dd 0f22d318fh -dd 0060d14f9h -dd 01c5fd2bah -dd 067ccbdd1h -dd 052a9fe0eh -dd 000b82303h -dd 09921684ch -dd 0e885d992h -dd 0700dc2b4h -dd 0d7df5e23h -dd 0fc505c82h -dd 0afc46757h -dd 06d012548h -dd 0a1931a46h -dd 08508e494h -dd 048f0f66ah -dd 019f73d89h -dd 0e8ba84a7h -dd 0c7f2910dh -dd 08a6cb42bh -dd 07c43b991h -dd 0d0a9dd83h -dd 04905ce5fh -dd 03a91bd99h -dd 07d0ffff0h -dd 01567bc0ch -dd 0fb085938h -dd 02ba52e8fh -dd 0c052ce75h -dd 091229822h -dd 04ea1e787h -dd 02d1181a6h -dd 075cbc54ch -dd 033cf872ah -dd 041e870dbh -dd 0da4d8b60h -dd 0bcaaba19h -dd 0ab6b8b04h -dd 0d5a4d32bh -dd 06ef18b1bh -dd 05c590947h -dd 034d1c471h -dd 06d9b70f8h -dd 0bbd3a8a2h -dd 0eaeea942h -dd 05b06d87bh -dd 03393ab3bh -dd 0eb9c0ccfh -dd 0b38efa6dh -dd 0f6228019h -dd 0fe900c10h -dd 06e19f861h -dd 02e8a7a3eh -dd 03034f71dh -dd 04582f688h -dd 05c5cb5dbh -dd 08ed1f102h -dd 0d908c713h -dd 0bea48df5h -dd 0ded87aa3h -dd 06e5c22ffh -dd 05d21e019h -dd 0dd5e7032h -dd 03b68bedbh -dd 0826b35d0h -dd 0e339e5cah -dd 0be53edc6h -dd 0d1cfeea6h -dd 020a1f89ah -dd 025ea5012h -dd 04da784c4h -dd 07ea8643bh -dd 09ba6a438h -dd 052b86aa8h -dd 05e3bfa4eh -dd 0bd8d228ch -dd 09dff4516h -dd 072457d36h -dd 083d37351h -dd 0ca517ce2h -dd 03ff95033h -dd 055cb9435h -dd 081cd0638h -dd 040d817aah -dd 08fd3cb2fh -dd 07310ec2ch -dd 0c585d542h -dd 090452ea6h -dd 04736acb0h -dd 0a764b20ah -dd 0bd20086dh -dd 0065c1c81h -dd 06df03191h -dd 08e61d5a4h -dd 02c9c739bh -dd 05eeeb156h -dd 0546a5199h -dd 0099c6581h -dd 0bcf598ach -dd 0789f8a1eh -dd 0de95cfc0h -dd 0f56253b8h -dd 042d2aa89h -dd 0732a4ab8h -dd 0bd22d488h -dd 056320deah -dd 056f07f78h -dd 0f2cc9b64h -dd 01234add6h -dd 06ad1d3e5h -dd 0fe0b45dah -dd 0af333278h -dd 0148eef02h -dd 0dd9528e5h -dd 03696ac9dh -dd 031c60b86h -dd 0e4517163h -dd 03c58ee5eh -dd 071f43795h -dd 09d5083e1h -dd 03d2fbe84h -dd 01b9a70f6h -dd 0f985965ch -dd 040c04837h -dd 0e3b97993h -dd 0bbed42a6h -dd 0d80d5a23h -dd 0d476b380h -dd 0eda1562dh -dd 0bb0cd0f9h -dd 0551f67f6h -dd 067582e6dh -dd 0eed9da4dh -dd 07062efa9h -dd 0ef440e12h -dd 051e5b675h -dd 0a2d05395h -dd 026ded3a7h -dd 063225cd3h -dd 04fd69495h -dd 0dfcbd20eh -dd 0fd6e6802h -dd 0b5896343h -dd 08e1cf6eeh -dd 064ca203eh -dd 0f71d4ccdh -dd 04617ab49h -dd 0f8fbb794h -dd 0c3c57aeah -dd 039f62d6dh -dd 002424d7dh -dd 0c300a545h -dd 0c85d5e99h -dd 0dff4cf2dh -dd 0c78b1bb9h -dd 02649212ch -dd 054af738ch -dd 0f5191e42h -dd 05eea4733h -dd 0f2813561h -dd 0e5f79eb1h -dd 0d320438ch -dd 0bd4788eah -dd 0503e2a87h -dd 0cec4180bh -dd 009f2bdf5h -dd 0f32d9f11h -dd 02ca82ecah -dd 09bcd7a03h -dd 05ead9a70h -dd 0a04c0a28h -dd 0b7c23a45h -dd 0060c16dbh -dd 00bac91dah -dd 0777c2b31h -dd 0d3cd9ddbh -dd 029b5bd99h -dd 08c62b553h -dd 03ccef7a2h -dd 066c3074eh -dd 05dda6172h -dd 0ffcac65fh -dd 0af39176eh -dd 04389dc72h -dd 0decda53ch -dd 0a3ef7e86h -dd 0e362e6e1h -dd 00ffc6406h -dd 02539fa90h -dd 08801ccd5h -dd 0857bbd55h -dd 03aea446fh -dd 081221c95h -dd 0b87cd7ffh -dd 004137a94h -dd 054e550a2h -dd 0a40f2199h -dd 084925734h -dd 0d4dc8be6h -dd 0a5c44acah -dd 0c7263d6fh -dd 06b255aefh -dd 0c6d945fch -dd 0c22f34c1h -dd 0397deae2h -dd 0a3d499bfh -dd 00bc344d0h -dd 06ea196d2h -dd 0a0f308dch -dd 0361fdc6ah -dd 04abdf11eh -dd 0bfee4ed5h -dd 043399683h -dd 07be9823ch -dd 04c369f75h -dd 098c2cb57h -dd 058d95048h -dd 0b305b947h -dd 04055c4c1h -dd 0e0fac66fh -dd 0ea68dcdbh -dd 0d2c24887h -dd 0e6ad5216h -dd 025b61725h -dd 01292ad87h -dd 0939cb20eh -dd 02533cf41h -dd 043d4d3fbh -dd 074099ff7h -dd 01b2267cfh -dd 0ea67ec38h -dd 0aff0c3c1h -dd 0d2024b9bh -dd 0b6dacbceh -dd 0bda9bd49h -dd 0f1fdd4ffh -dd 03010ed67h -dd 0a6249d41h -dd 081f50a9fh -dd 07f674eech -dd 02cd60e9ch -dd 0c4e0fc3dh -dd 045d40494h -dd 0a62d2441h -dd 0ffbe430ch -dd 026d33ec6h -dd 0e70814cah -dd 064da9d72h -dd 056df0d29h -dd 04d198b4eh -dd 09d5c4766h -dd 0be75b113h -dd 0af4df753h -dd 020020fb6h -dd 06cc4e222h -dd 0fc0f85b0h -dd 00afcd20fh -dd 022b82d46h -dd 0a80be322h -dd 0a0755067h -dd 0ddb38493h -dd 0eba3ce27h -dd 06fee28bch -dd 07ae0988dh -dd 02bff0bd2h -dd 0fe32f155h -dd 08cb0d685h -dd 076539fbah -dd 01e6ddf13h -dd 07658ddc2h -dd 0059cd038h -dd 066d9cd63h -dd 0df31ca94h -dd 0523a969ah -dd 063caed14h -dd 03479420eh -dd 0a367b4c0h -dd 0f0c9cb7ch -dd 068d40059h -dd 010d763b3h -dd 082a2622ah -dd 0ae16657ch -dd 07dee12e8h -dd 05294bc33h -dd 09d9334f2h -dd 028309837h -dd 066e86889h -dd 004fad60bh -dd 042650cc3h -dd 0c61334c5h -dd 05ae7033ah -dd 064a43c95h -dd 02c61393fh -dd 06304acfeh -dd 09118244ah -dd 01886f8c8h -dd 0f1fd29d3h -dd 038163798h -dd 062af6529h -dd 0b0c29022h -dd 042f25c5dh -dd 096b5cbe5h -dd 06a777bd4h -dd 0262368d0h -dd 084d3e798h -dd 05018fec1h -dd 0b8ccccd9h -dd 06aea2e7fh -dd 05bc8c618h -dd 0c677a06dh -dd 02f0304aeh -dd 00460790bh -dd 04b3b8cc3h -dd 00a2732c8h -dd 0c4e20563h -dd 09b791391h -dd 0f86d10e3h -dd 0eb6b3bdbh -dd 089450f83h -dd 0e50f2263h -dd 0dd262c50h -dd 02571e491h -dd 0392fdce8h -dd 0519e5a37h -dd 0aa2d3db9h -dd 083f2f1edh -dd 060665401h -dd 05022c8b5h -dd 0490e802ch -dd 00a94c9e1h -dd 0ae43e5a7h -dd 0da80d5b4h -dd 09bb74f51h -dd 058acbbedh -dd 05ed4cecch -dd 0886e851fh -dd 013c85d6ch -dd 0c42bd5bfh -dd 084a0e90ch -dd 092665376h -dd 0a45628f1h -dd 05badd865h -dd 05bfa512ch -dd 06b56e143h -dd 0f21d3803h -dd 04c4f8be3h -dd 00fc6e5c3h -dd 00f039074h -dd 0ecba5732h -dd 0109f314bh -dd 04d4186b5h -dd 0a96aede5h -dd 09e9f1a06h -dd 0a198196dh -dd 0f6054cd8h -dd 0b7cbcc23h -dd 08881be6dh -dd 018b4c7aah -dd 0b3c74ff5h -dd 0baa58817h -dd 0e8898febh -dd 0a48c7df0h -dd 06760e65fh -dd 097f682f1h -dd 09275cfb8h -dd 0e71afb2eh -dd 0e5afbf98h -dd 0cc239b0bh -dd 0ac3df2c4h -dd 0980b9fabh -dd 0cfc34db6h -dd 03d1a3e17h -dd 04b6706b4h -dd 08db80c13h -dd 06f9ad513h -dd 0a3c12d9fh -dd 00672104eh -dd 0d68f9218h -dd 0aa800368h -dd 0ce42813dh -dd 0c5ea0ac4h -dd 0244bca23h -dd 0e016987dh -dd 0fd179e55h -dd 0815afdf5h -dd 057654632h -dd 0210f88dbh -dd 09277e1aah -dd 05e30eebah -dd 0f5d6f78fh -dd 0b6aa5116h -dd 0233b3ae2h -dd 0a355a72eh -dd 01244717dh -dd 0f78042efh -dd 0f04b33c9h -dd 06ccaa24bh -dd 0354c8147h -dd 0686643feh -dd 041ddd09eh -dd 0167cde26h -dd 00375626ah -dd 04d52e4adh -dd 01e7ff36eh -dd 0398a63d4h -dd 0e5411238h -dd 09d961a1eh -dd 06f636d87h -dd 0d1656f40h -dd 0d36f740eh -dd 0aee3610eh -dd 0f6cba760h -dd 05e4b4958h -dd 0b90625b6h -dd 0791fe00bh -dd 0510e0f62h -dd 088a6f28dh -dd 0524ce3c9h -dd 0236f17a7h -dd 0b84de247h -dd 0fc6f5ac8h -dd 0a0723864h -dd 059a3bdcah -dd 06d5bf83fh -dd 0e76dd0ceh -dd 0d49a4e83h -dd 0658d578bh -dd 05e5cf8b8h -dd 0154998bch -dd 02dfb128eh -dd 037eedb15h -dd 024d28555h -dd 016e2fcbch -dd 040718b3fh -dd 02f0a73cfh -dd 0f5a2f0ceh -dd 0913b203bh -dd 045e2b4d8h -dd 0d83b49d3h -dd 071fa2018h -dd 0e7e1c5a3h -dd 0993fca42h -dd 0d3881fb4h -dd 0e1e3e6e5h -dd 058e268a9h -dd 02a79165ah -dd 07f2a042ch -dd 06aa8fdd1h -dd 0c7da331dh -dd 005e1e7fah -dd 0c3d52de4h -dd 063d7ac6bh -dd 03695c899h -dd 0839ac362h -dd 067acad9dh -dd 0df0832a9h -dd 07c034281h -dd 07ecc5f62h -dd 0ebf031e0h -dd 0317cf374h -dd 0bf813095h -dd 0506b6d30h -dd 0e8eade78h -dd 0134a3323h -dd 0c4a954eeh -dd 08486646eh -dd 032b13e67h -dd 00a2f0c53h -dd 02517abafh -dd 01ea0e467h -dd 077e28f05h -dd 0d14b0148h -dd 0ed8d0513h -dd 01659a557h -dd 061315314h -dd 079dffd92h -dd 08301848ch -dd 068727d0eh -dd 0a85235a2h -dd 091323143h -dd 060201546h -dd 0cb86fa5ah -dd 04c45063ch -dd 0d8ba7edeh -dd 097e0f406h -dd 05bedc32ah -dd 059996232h -dd 030e942c4h -dd 0531ec71eh -dd 0a17a609bh -dd 048f1a10ah -dd 0f394dd1dh -dd 0f05d9117h -dd 0367021ech -dd 021d62ed3h -dd 029660ad6h -dd 04f7dd2bah -dd 0c3c75374h -dd 0b069e9efh -dd 0d7fc9866h -dd 0fde1ae6fh -dd 0245f8903h -dd 01d1ffb13h -dd 0305b555ch -dd 039d055feh -dd 01acce59dh -dd 0537f69cah -dd 073b7ce12h -dd 0f1e8513fh -dd 018d39922h -dd 045e99486h -dd 0e5ed4f45h -dd 029c7c1f9h -dd 0a9474d2ah -dd 0956e59b8h -dd 04e59bf7fh -dd 05f4f0a64h -dd 07576cb98h -dd 015fba3e1h -dd 024b161dbh -dd 0826951e6h -dd 008d975a0h -dd 0ecb190ebh -dd 0f3a34392h -dd 095d553c8h -dd 031e9f632h -dd 05e682c45h -dd 0b8c54628h -dd 034933486h -dd 076343bb9h -dd 069a06f6dh -dd 0b0936e20h -dd 050d15a70h -dd 0eb309f4ch -dd 0b44b40ddh -dd 04c9b5c98h -dd 082684ecah -dd 0c86401a4h -dd 02b34758ah -dd 00903a034h -dd 024477cadh -dd 032df9093h -dd 0edfb6d6ah -dd 07616d82eh -dd 0516e3b3eh -dd 0151bd9cch -dd 0c7dcbfb5h -dd 0117d7a7fh -dd 08b45f10fh -dd 051c4ca1eh -dd 082c58fcbh -dd 07a546c68h -dd 0747646beh -dd 042f73a8fh -dd 0d7668ff9h -dd 0224182e4h -dd 0949b4f1ah -dd 04303b6efh -dd 09a436b8eh -dd 0dd316eb9h -dd 08a604370h -dd 0eeb23bc9h -dd 00afd4de9h -dd 0987d8e2fh -dd 06aebf2c1h -dd 0eca4c3d7h -dd 0d8438082h -dd 011789cb6h -dd 04eb04b00h -dd 0484e9f51h -dd 0803ba614h -dd 09abf3eedh -dd 0350073a5h -dd 0da97b9c3h -dd 03241ed54h -dd 0decbf7deh -dd 078f3c922h -dd 0cd33254fh -dd 03c50b202h -dd 015932a64h -dd 00b86a918h -dd 0012b7c67h -dd 05b7a6723h -dd 052456805h -dd 088016752h -dd 0043eed81h -dd 0fc3a51b1h -dd 0655f74b9h -dd 0010ff3e1h -dd 04bf90e4ch -dd 0948d8f24h -dd 04ec2156ch -dd 0160ab2e3h -dd 0a0c7e658h -dd 0c7151f92h -dd 06268f531h -dd 0796fc6cch -dd 0fe44fb4ah -dd 0ebb62f46h -dd 011ebab71h -dd 0927d9645h -dd 0b19d8b03h -dd 0ef79a816h -dd 0c4113396h -dd 04d69a6f0h -dd 029cd8a5eh -dd 03a9626d8h -dd 042eaf4edh -dd 07ebefe9ch -dd 0c0f0715ah -dd 070f5cdb1h -dd 01051cfcbh -dd 077b41ccch -dd 0c11657e8h -dd 06e941032h -dd 05fd68331h -dd 08ab64690h -dd 00a3368aah -dd 0d693826ah -dd 08c562474h -dd 048504f13h -dd 00a25394eh -dd 0e8d4e86ch -dd 09ed650a7h -dd 02e343f65h -dd 02af32a6bh -dd 0177c3fefh -dd 0e36035cfh -dd 05b304051h -dd 076ad8afbh -dd 002ba4209h -dd 097f4901ah -dd 09c1ef15dh -dd 0f39dddd6h -dd 016a4e726h -dd 078d13da9h -dd 0cf3de840h -dd 026b149d0h -dd 0040acbb6h -dd 04ca5199eh -dd 02c7d6c54h -dd 03d40ef61h -dd 0b294f049h -dd 09a6b657eh -dd 07aa4a1f0h -dd 09aa298ech -dd 0179433ffh -dd 062042620h -dd 09a5941a3h -dd 0e93bfd1bh -dd 092431485h -dd 007cc7fb4h -dd 01980a7aeh -dd 059e394dch -dd 00b7ab313h -dd 0a2c64a96h -dd 0b26a804eh -dd 06fe1d8f3h -dd 01c01da18h -dd 08414d103h -dd 0b3d295abh diff --git a/Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02006a08.inc b/Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02006a08.inc new file mode 100644 index 0000000..42fafc5 --- /dev/null +++ b/Silicon/Intel/PurleySiliconBinPkg/Microcode/mb750654_02006a08.inc @@ -0,0 +1,8962 @@ +; External header +dd 000000001h ; Header Version +dd 002006a08h ; Patch ID +dd 006162020h ; DATE +dd 000050654h ; CPUID +dd 08b444904h ; Checksum +dd 000000001h ; Loader Version +dd 0000000b7h ; Processor Flags +dd 000008bd0h ; Data Size (excluding headers) 35792 bytes +dd 000008c00h ; Total Size (including headers) 35840 bytes +dd 000000000h ; Reserved +dd 000000000h ; Reserved +dd 000000000h ; Reserved +; Data +dd 000000000h +dd 0000000a1h +dd 000020001h +dd 002006a08h +dd 000000020h +dd 000002261h +dd 020200612h +dd 000002261h +dd 000000001h +dd 000050654h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 0000000b7h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 081d28e03h +dd 05d8cb42fh +dd 014ed6b36h +dd 06a47ef4bh +dd 0f3ab9be4h +dd 0037a0928h +dd 0d49c8691h +dd 0578e0972h +dd 07c8537b9h +dd 0af1d8034h +dd 05f971da0h +dd 065263cbch +dd 07a546db0h +dd 02f7300e1h +dd 0ff9d12dfh +dd 00d19cff6h +dd 0064e8f47h +dd 048569388h +dd 0613406e8h +dd 0f1cf0bdeh +dd 0fd59aed7h +dd 0167bb316h +dd 04f183063h +dd 0140638e3h +dd 05a284156h +dd 08929a411h +dd 03465ccbdh +dd 0521eedd8h +dd 04a517833h +dd 0b9e753c2h +dd 0e73f07a4h +dd 060ddb690h +dd 045d043cah +dd 0265553e8h +dd 0bb63cf23h +dd 062eb4566h +dd 0b9610b0ch +dd 01830b257h +dd 070ec8f64h +dd 0b5f305cbh +dd 072072bf6h +dd 0f9bb07f0h +dd 012b140f2h +dd 0d5f3ee00h +dd 0e0b43bc6h +dd 0ad77d13fh +dd 0bd734c91h +dd 09120bf19h +dd 087fb1faah +dd 0c1ab7aabh +dd 0de997fd3h +dd 07d0ee72ch +dd 0896db2d5h +dd 0418a04b6h +dd 0a867296ch +dd 05207cb37h +dd 0599aa1e2h +dd 05d142119h +dd 0b09e5da3h +dd 045474827h +dd 0a4ae1405h +dd 0b5ba58c1h +dd 0f18fac85h +dd 0e037bd19h +dd 068ef31d8h +dd 059bf6ab9h +dd 0f579b2c9h +dd 0bf9a1c39h +dd 0e9c21016h +dd 0bf6f5c4ah +dd 0fd068e0fh +dd 0a32b4d21h +dd 000000011h +dd 0b96c0d30h +dd 009e2e14eh +dd 03b0db7ceh +dd 052589f39h +dd 085c212eeh +dd 0353633d3h +dd 003364333h +dd 098580354h +dd 0f00a6d57h +dd 05960f011h +dd 0c436b513h +dd 015bd7adch +dd 0bf898bddh +dd 0df9a9ad9h +dd 0abd69708h +dd 07585cbceh +dd 0b1b5c8cbh +dd 06dade5f5h +dd 0d3b167c8h +dd 0dfbd390ah +dd 0cf562777h +dd 0dd73b97fh +dd 0128409a4h +dd 0e5a6d114h +dd 0110328eeh +dd 015458454h +dd 00ebc9851h +dd 02e4b4881h +dd 03833783ah +dd 0c06f9831h +dd 0baa26e94h +dd 0f7cdf4e6h +dd 0ececb83fh +dd 004df3f11h +dd 0d3ec9b6bh +dd 02edc29e5h +dd 0e213b51dh +dd 0f1fcda39h +dd 092709197h +dd 0d1905592h +dd 01d78caf1h +dd 084295b37h +dd 00c9b646eh +dd 054fec39ch +dd 0d78a1ab9h +dd 0b2bfc9a8h +dd 0307567c4h +dd 0a51074f0h +dd 06d24aa2ch +dd 0f4a51b90h +dd 0a07ddfc0h +dd 061fada82h +dd 058035803h +dd 09c77cf2eh +dd 05fc89b7ah +dd 05696b9b4h +dd 008c3a243h +dd 06f07f3f2h +dd 0dc2cc995h +dd 0e79aa908h +dd 0b08a1de2h +dd 032ea42d4h +dd 01f0cd4c0h +dd 06e7bb08bh +dd 0af54013eh +dd 0db9e47dch +dd 0a35f08b5h +dd 0b98814cah +dd 014600ba6h +dd 00e016a03h +dd 01b74e441h +dd 017b3571dh +dd 0c02bc341h +dd 019f1b897h +dd 0f5c41b39h +dd 03d200e55h +dd 096b1e4c2h +dd 0a1b82be4h +dd 0d133e57fh +dd 05d7c3a8dh +dd 0e02483f2h +dd 087b96c1fh +dd 02632030ah +dd 00ebb63a4h +dd 0d53c31bch +dd 0fbe3fdf0h +dd 00df81f1ch +dd 030747a56h +dd 0b107a185h +dd 012be9314h +dd 07008c30fh +dd 0f4c68b3ch +dd 069a1216eh +dd 0f5332ab3h +dd 0f62a431dh +dd 059b4e7b4h +dd 0cf4841afh +dd 079126edfh +dd 0c1bb3926h +dd 0f09f55e2h +dd 0bf1ca0e8h +dd 05e214b97h +dd 0ad6ac70bh +dd 02e3cd304h +dd 096c47ae3h +dd 0467dec56h +dd 0de0d2a21h +dd 033903020h +dd 039ccb34dh +dd 0377c6e5ch +dd 0f0850476h +dd 0b4cfac78h +dd 0ddbd03a2h +dd 0af951c20h +dd 0e5debfb6h +dd 0bd658c04h +dd 0a0135d19h +dd 03b153479h +dd 02f951d17h +dd 0c8bd9a77h +dd 0a59a3efeh +dd 08705b286h +dd 0a2a63367h +dd 093c70d29h +dd 0f82b7c09h +dd 01b8e25dfh +dd 05982119ch +dd 05adc99a5h +dd 0fde228d5h +dd 03d9ed34eh +dd 0c5047772h +dd 02a52fcbfh +dd 06146379dh +dd 02b984793h +dd 0ecf59ec8h +dd 067237276h +dd 09d40dacah +dd 0d95598fah +dd 03cb98152h +dd 0f541b3fbh +dd 02f63217dh +dd 05ed61597h +dd 0bed487d3h +dd 0925c3302h +dd 0315e701ah +dd 00ecaad42h +dd 0b6accb3eh +dd 08d166b95h +dd 09aa5ab0ch +dd 07837f21eh +dd 0d8546863h +dd 0db9e58e5h +dd 050a35126h +dd 09ec1fc4eh +dd 0f7f3d7c3h +dd 0bcacf4f9h +dd 06de6bb5bh +dd 0561e0893h +dd 01df2d1a7h +dd 099a49f36h +dd 00646f0b5h +dd 0a6d5aacdh +dd 0221fa415h +dd 0bf24b5dbh +dd 0cd4268ech +dd 05d0b0d70h +dd 00e899f12h +dd 0cb103444h +dd 094176948h +dd 0ee1100fch +dd 067838ad7h +dd 0916b2ca8h +dd 08cd4dae7h +dd 0548ae3e4h +dd 01b04a409h +dd 0c97ff748h +dd 0da19bf2fh +dd 0da39e86bh +dd 0c2c2dbddh +dd 0b2789b94h +dd 0f236d620h +dd 03508cab3h +dd 01144f224h +dd 007acc510h +dd 039862fa7h +dd 0e06e9493h +dd 05bde91aah +dd 01e751359h +dd 037dac6aah +dd 0331d1fcdh +dd 01eec3906h +dd 01452e947h +dd 0006f8298h +dd 0087aa5e2h +dd 092860ba5h +dd 05c926a85h +dd 04a026458h +dd 073ae0f29h +dd 011e1993ch +dd 042495ab7h +dd 0d2c1865bh +dd 0ff4dd7dfh +dd 01451da2ch +dd 055c455ceh +dd 043451930h +dd 056f06aebh +dd 0bc5784e8h +dd 01d9f9fe9h +dd 03c3f4d93h +dd 0aa398b4ch +dd 0ea42783fh +dd 07c2d65bdh +dd 0784fe738h +dd 05087d8f7h +dd 01ed7f721h +dd 05c429b61h +dd 0396c04a3h +dd 0c4b9b1ebh +dd 0617b6712h +dd 0f3e64703h +dd 0a6434a7ch +dd 0ac3365c2h +dd 011f64dedh +dd 055222286h +dd 01aa06e84h +dd 02a2bf129h +dd 0ee6725f7h +dd 0686e95f3h +dd 02d8f41dch +dd 0a258f3b1h +dd 07ce55b9ch +dd 027bf019fh +dd 0ba7e93ebh +dd 069fa3c58h +dd 01361e00dh +dd 0058a4d33h +dd 0edce3c70h +dd 0bb828de0h +dd 07bfd1d2bh +dd 0eda07c2fh +dd 000cc3d9ch +dd 07f311d61h +dd 0b7a054f2h +dd 0d7e4e4a9h +dd 019cda531h +dd 0bba08789h +dd 064856416h +dd 091be375fh +dd 0f7638637h +dd 08ffd4de0h +dd 08bc19843h +dd 0368067bbh +dd 0b5c02ea4h +dd 006dfa7a4h +dd 072707c5bh +dd 06f505744h +dd 09399ccaah +dd 068b6e749h +dd 081106789h +dd 0316c193bh +dd 0f6d1df0fh +dd 097eefebbh +dd 0e76012ceh +dd 034fece65h +dd 031eb7e01h +dd 00967356ch +dd 0786a4249h +dd 0b53b42ceh +dd 0413b5d9ah +dd 075ec055dh +dd 0304966ebh +dd 0e4b5d82eh +dd 07c358300h +dd 05656d455h +dd 04f237cfbh +dd 0b6494b25h +dd 0309cf154h +dd 06551e71dh +dd 05aa059c5h +dd 0794b42a9h +dd 0efac09a0h +dd 0d4a60b0bh +dd 02827a931h +dd 00b81a15bh +dd 062c67d25h +dd 03b075a4bh +dd 074734191h +dd 04566bdb9h +dd 0c70559eah +dd 08c5b8bb1h +dd 0893037ach +dd 0e4a37f58h +dd 0a3d9fa1fh +dd 07018fb75h +dd 0f6f8ec52h +dd 0a003d540h +dd 0b6caf697h +dd 00fd28012h +dd 09aa01585h +dd 0db61d8b1h +dd 0ea7954a2h +dd 05c08800bh +dd 027565edfh +dd 0ba8737f8h +dd 00414016eh +dd 03ca709b6h +dd 0f21a38a4h +dd 046d230c6h +dd 0e59bb105h +dd 05bc549dah +dd 063ac998bh +dd 083869069h +dd 0c15f5992h +dd 033d90da9h +dd 0bbb6abc4h +dd 03294b052h +dd 013ec8771h +dd 03f5f0a38h +dd 051f74110h +dd 0800378e7h +dd 02f055a39h +dd 075373dafh +dd 062696658h +dd 08cb7a865h +dd 09351c9d3h +dd 0f163fcf7h +dd 049a2e792h +dd 0b4e4ab9dh +dd 085b521abh +dd 0b08f2700h +dd 01910ca9bh +dd 05fe8ddadh +dd 0beda7d23h +dd 03ea35ca4h +dd 02e7d72bdh +dd 021a6635fh +dd 09f1f2380h +dd 08a840c7bh +dd 0be9d97eah +dd 02cd9a18fh +dd 06633a69ch +dd 042502e3ah +dd 024508776h +dd 0aeb76e3bh +dd 032cf6c0bh +dd 0dd8b4ea0h +dd 0a0bac14dh +dd 0a142c44bh +dd 0c50773fbh +dd 074491a25h +dd 04a71592ch +dd 0e334af99h +dd 06c38827ah +dd 0b9df9f6dh +dd 00f6a8473h +dd 060fa74b5h +dd 05a1303c8h +dd 069fb21c5h +dd 0a75b1f88h +dd 0a69ea775h +dd 0221b4d21h +dd 0360b2f18h +dd 03873f282h +dd 0d40aa803h +dd 0662f2691h +dd 0ffed54f1h +dd 07ed50fd1h +dd 041885489h +dd 046448990h +dd 02acfad73h +dd 00d48ada9h +dd 01e466512h +dd 0f279fa45h +dd 074ca2c3bh +dd 0489107f2h +dd 0c3a6e5dfh +dd 06b5fd831h +dd 09d3093a0h +dd 0766c236bh +dd 0574fc984h +dd 0d29244ach +dd 02b9bc83ah +dd 0267f66ebh +dd 0fbfb4694h +dd 0544daaedh +dd 0e9957d8dh +dd 06d45b841h +dd 022b7f71dh +dd 0e5e0f62ah +dd 01cc6433eh +dd 07309ffb2h +dd 024a215b6h +dd 035206687h +dd 094bd927eh +dd 019f3b592h +dd 093373b7ah +dd 0b677b42dh +dd 05df81659h +dd 02a5a9112h +dd 0d5fca821h +dd 084fe9836h +dd 039a791d7h +dd 0675f0b7bh +dd 075b082fdh +dd 0b37cb3b2h +dd 0fcb01c48h +dd 097ff06d4h +dd 072b147aeh +dd 0e2e15986h +dd 0bb8c558fh +dd 062a7ab5dh +dd 02b6ebda7h +dd 018e1dc4bh +dd 0f6baeab0h +dd 020675f48h +dd 098f66a65h +dd 027d4f244h +dd 0f43378adh +dd 0a63e84b1h +dd 048b11f61h +dd 0b63e029fh +dd 0f0cecde2h +dd 09465e9d9h +dd 0d1d33579h +dd 0ffafea1fh +dd 06897d209h +dd 095671947h +dd 0577ec5a6h +dd 04cd25f52h +dd 0fedfaf68h +dd 030f0f6cah +dd 0ba473a12h +dd 04b47c25ch +dd 0ca91fd7fh +dd 08c1021e3h +dd 07de2265ch +dd 05aaa8f5fh +dd 03188af63h +dd 057281bc2h +dd 02e47e126h +dd 0a675d619h +dd 0ccc73169h +dd 089563d14h +dd 0a03867e1h +dd 09b030e5ah +dd 03cee39c5h +dd 08ac7e7ach +dd 022175468h +dd 00136cd45h +dd 041e765c1h +dd 07372788dh +dd 0ae7044a0h +dd 0729bf159h +dd 0a589691ch +dd 03cab834eh +dd 06a6adddeh +dd 0c94d0774h +dd 0f69ea743h +dd 0a8b9629ah +dd 064835f10h +dd 0ef228079h +dd 06347ed56h +dd 0e5998b89h +dd 05cf651a7h +dd 0c351a62fh +dd 0c81da5f5h +dd 00eb51aadh +dd 05d2aac82h +dd 07b94c7d0h +dd 0805e3fbfh +dd 05ba8e5bdh +dd 06e5f46e2h +dd 043d7dd0bh +dd 09501b4bah +dd 081feab8ch +dd 07560dd9bh +dd 0b094b303h +dd 02905e8f5h +dd 022774e5ch +dd 0d1591032h +dd 0cd4277a5h +dd 077eca117h +dd 0ea9953c1h +dd 04ae14acfh +dd 0c818061ch +dd 05558025eh +dd 0f42a0f4bh +dd 057e4e010h +dd 04dcad756h +dd 0082d2c28h +dd 0365bbd0fh +dd 06655d06ch +dd 0169ef861h +dd 02eebe922h +dd 06b4d2400h +dd 0d0c92da7h +dd 01f399abbh +dd 05d0d0594h +dd 0a170b94eh +dd 0a7f192bch +dd 0a3540d02h +dd 02680b3f8h +dd 0dc71de4eh +dd 006598f06h +dd 03113e31bh +dd 09c2e555fh +dd 0b8878680h +dd 00949b4b7h +dd 0c8698380h +dd 016ea9each +dd 0e078f6fbh +dd 0a5dd1dc1h +dd 00fa9c9a8h +dd 0687f8715h +dd 07eeb322ah +dd 0fb50ed4dh +dd 0aea0eb15h +dd 0ac063184h +dd 0b38437f9h +dd 090865cb0h +dd 02c2ed9cbh +dd 02b938e78h +dd 017e3400ah +dd 07cbb778bh +dd 05e0b4527h +dd 016563db8h +dd 08278e158h +dd 089e8e7e4h +dd 0347344ech +dd 0a4aa9bdch +dd 04d665df3h +dd 0eb16e866h +dd 0daf216b9h +dd 0ced76ca9h +dd 08ee78617h +dd 02672e1e9h +dd 0ee5f5fdfh +dd 0de8a700dh +dd 08cc37c04h +dd 09f7e09c2h +dd 02a608a8ch +dd 0cb09202fh +dd 0e6bcff3fh +dd 04aa64208h +dd 083fc409ch +dd 0b8ef4213h +dd 0b31b7dd5h +dd 0b87a41cdh +dd 0ece6afa5h +dd 0a1f6666dh +dd 022705f40h +dd 0bd203a9fh +dd 00a4b3fb1h +dd 0c0405ebah +dd 02c1a78c7h +dd 021c82d5ah +dd 0420cb997h +dd 0241bc167h +dd 05701b17bh +dd 03444d271h +dd 04528bb12h +dd 020ce3200h +dd 03352eac6h +dd 010a88398h +dd 0731ea568h +dd 0dc32f923h +dd 0623df688h +dd 0b2257db5h +dd 005bfc4b0h +dd 0cf10147eh +dd 06ec31c9eh +dd 04df82d4ah +dd 08adc33a6h +dd 0cafcc259h +dd 05ca57e9bh +dd 0178c8001h +dd 013850250h +dd 0e8220c4eh +dd 0a73dc882h +dd 004d6144fh +dd 0d8e7c8ech +dd 0b6a18b82h +dd 0406eb316h +dd 001da0e1eh +dd 065893bf7h +dd 0ed069284h +dd 05b964bc8h +dd 038715f92h +dd 0c70b18e4h +dd 0b557e585h +dd 01eef305eh +dd 0222b7d81h +dd 0afa5e45ch +dd 08a090720h +dd 0c8098016h +dd 07fdc7e0dh +dd 0092c21fdh +dd 03ee78716h +dd 0719a194fh +dd 04a61e6f2h +dd 0cf6d32ceh +dd 091f7aceah +dd 0bc0ad823h +dd 00c96c46dh +dd 0d6898127h +dd 015ebc78fh +dd 086f7da87h +dd 094cc5388h +dd 052d511b0h +dd 0ffda062eh +dd 029959c42h +dd 0dbd09ee4h +dd 0b0ba2b43h +dd 0821b70e4h +dd 085777328h +dd 0485aa9a7h +dd 0a8909467h +dd 06c1fe194h +dd 0d9437a6bh +dd 059400ab9h +dd 0c6eedea0h +dd 0247f8d95h +dd 0e6e96ea8h +dd 0814b9b91h +dd 013ce61d0h +dd 0e9e8b0e1h +dd 0668fe8b3h +dd 0f341a950h +dd 0ac0352e1h +dd 0e03eeb38h +dd 08fbc7099h +dd 06c43fff5h +dd 00d8f8a23h +dd 0b5bbac65h +dd 0b318fb3ch +dd 04faf7d7ch +dd 0902351aeh +dd 03da63818h +dd 01cd367aah +dd 06c030918h +dd 03ab30088h +dd 0e690803ch +dd 0d50e94f1h +dd 02ccf6778h +dd 0e6803865h +dd 0c2bb6b6eh +dd 0394f024eh +dd 0b4f8e96eh +dd 0adb4013eh +dd 0d1f264feh +dd 083f39949h +dd 06578f4cbh +dd 032572de9h +dd 0413f8f1ah +dd 0ec68a118h +dd 0b2121e8ch +dd 092107580h +dd 0519f9f61h +dd 07d053146h +dd 01b10ec1bh +dd 0486cabaeh +dd 03640f21ah +dd 09095c35ah +dd 07c16dc79h +dd 0d03a66d7h +dd 0ac83463bh +dd 077fd8ed5h +dd 0d9716f0ah +dd 094d666dbh +dd 0669d17dfh +dd 0e87d5e3eh +dd 01b5e8c95h +dd 0db8a8fe3h +dd 020dd5db6h +dd 06490054eh +dd 0adbe91a8h +dd 00cab50eah +dd 064a28cfeh +dd 0cd73986fh +dd 0725454f9h +dd 088f41fc9h +dd 0cc8958e5h +dd 0ef0836bdh +dd 0b4d289d9h +dd 028a7c576h +dd 0a92dd279h +dd 09a4ed8f2h +dd 0058c0710h +dd 0f6e911c1h +dd 0c6608330h +dd 07f09159ah +dd 0d7409ba8h +dd 0a133f074h +dd 04d66cb16h +dd 0987b441ah +dd 0b3696316h +dd 0cc4909d2h +dd 08622d568h +dd 05c15fc97h +dd 06407edcfh +dd 08d0163cbh +dd 068b2224bh +dd 04b23c086h +dd 0284b3bfeh +dd 02eb423d0h +dd 000dd050fh +dd 01430d896h +dd 03d76988dh +dd 055bd467dh +dd 0d4a7f68ah +dd 06c555818h +dd 070c8ee29h +dd 0ca621bffh +dd 03ef03069h +dd 0a272acb3h +dd 09da562a9h +dd 095b5f514h +dd 07de02e42h +dd 0a23e57ech +dd 048cfd9fch +dd 073702939h +dd 05bfa2fb7h +dd 035f0b27ch +dd 09657214bh +dd 07d65ab8bh +dd 02dac4c07h +dd 0a1c17db2h +dd 007b6c335h +dd 0bcc5198ch +dd 02315b28dh +dd 0ee929e53h +dd 0c9a200b4h +dd 0b216547ch +dd 04c180ac3h +dd 05056ffebh +dd 0e2f7e918h +dd 0bf98aee3h +dd 0ce468c2bh +dd 0a2034f2ch +dd 02935108ch +dd 0c90ffbcdh +dd 0c80e39f1h +dd 07c7a1aa8h +dd 0a7bae948h +dd 0e9f78a09h +dd 08bae6471h +dd 03ad4d995h +dd 0f43f2669h +dd 09db8bd8eh +dd 0183ffb06h +dd 06af4e294h +dd 01988a5b1h +dd 077b4a400h +dd 0420a41cfh +dd 03d62f840h +dd 0dc2fac72h +dd 07b37809dh +dd 085fa9679h +dd 01bf7f754h +dd 05466c62fh +dd 006ca22e8h +dd 0e2326fc5h +dd 04819d249h +dd 083435c62h +dd 0c6edddedh +dd 0a7f9663bh +dd 0a2bc56f8h +dd 01a7ef675h +dd 0c0bf6e92h +dd 0b48ed74bh +dd 090b87a74h +dd 0f3ff8378h +dd 00e326720h +dd 066318d1fh +dd 01e513c53h +dd 0136d166bh +dd 062c17ad7h +dd 0c3189fdbh +dd 065710f19h +dd 093a9f7e0h +dd 0a07e420fh +dd 0691b72adh +dd 0b90f03afh +dd 0e76099b2h +dd 04d34a226h +dd 0ada1a024h +dd 08deea0b0h +dd 0f53f84a8h +dd 01f34762bh +dd 0bebfc277h +dd 0f1344911h +dd 0610de90bh +dd 0866f78e6h +dd 09ba9bc42h +dd 0716d84e9h +dd 0896ef63eh +dd 0b5b2335eh +dd 08bb2eb4fh +dd 03c7fd283h +dd 0e09b2e2eh +dd 0f971492fh +dd 09a683aa8h +dd 0bd9db0e4h +dd 0a556e1adh +dd 00f4c8de1h +dd 0cc085ef7h +dd 060a97a0dh +dd 053fc7d81h +dd 00fd46d1dh +dd 082e88d99h +dd 0d07fe0b4h +dd 01ae9b980h +dd 0c40422bah +dd 02a58b433h +dd 0636736aeh +dd 0c72a1cceh +dd 0637cd241h +dd 007987507h +dd 0434673fch +dd 0d28d8dd4h +dd 00410ebd5h +dd 0444d2fa0h +dd 0c4c5c31ch +dd 02f74c517h +dd 02e5f71e7h +dd 05e6a76b6h +dd 011a700c6h +dd 057e7a711h +dd 04c1aa76ch +dd 0dbe71929h +dd 0588b3d55h +dd 06017a418h +dd 06c39825bh +dd 060b13613h +dd 0ccf24e62h +dd 0e33996d7h +dd 08f77ae73h +dd 0b6a02fceh +dd 0e8996a13h +dd 0f8f2eecfh +dd 0d2e2ddc9h +dd 0f926e15ah +dd 00e91f9e9h +dd 0023291dfh +dd 031fa1575h +dd 09f1055f6h +dd 06176919bh +dd 088c61a1dh +dd 03dac1274h +dd 03b63a78bh +dd 0e8b68c45h +dd 01f04f733h +dd 079012433h +dd 0308b1cfah +dd 0b9f3d4eeh +dd 01a3b45f4h +dd 06f884eaeh +dd 022c9c080h +dd 01182575bh +dd 013c192b9h +dd 035d971e8h +dd 05d512754h +dd 0377efa68h +dd 04f79bda1h +dd 00df884a1h +dd 078ff02a3h +dd 020987082h +dd 02fa8cd39h +dd 0ebc52cf2h +dd 0f1e7d0c4h +dd 0e546248ch +dd 0534064dah +dd 0f7fb63b2h +dd 0e8fd419dh +dd 0c61e472dh +dd 0f98cb68ch +dd 06b7f54d6h +dd 0be77aadeh +dd 02479364fh +dd 093389f98h +dd 0602980afh +dd 0a1d2fbd0h +dd 0b879b474h +dd 047a55793h +dd 0618a326eh +dd 0337df46ch +dd 01a87fc75h +dd 074d39bb9h +dd 0ccfce81dh +dd 03ff88057h +dd 0f8264747h +dd 084726712h +dd 035c4184dh +dd 0e77d33ach +dd 02a838561h +dd 006165d89h +dd 00b0c1b58h +dd 0db9fda6bh +dd 0e567764ah +dd 086fcae9ah +dd 0e2967e7dh +dd 0daf03da3h +dd 0320ffa86h +dd 064011ea8h +dd 0e371450fh +dd 0a178d854h +dd 098e0af22h +dd 0137bf47ch +dd 0332b37f2h +dd 058c2c2dbh +dd 0a1c56061h +dd 0dd0a95b5h +dd 0c0c3e446h +dd 007a48bbah +dd 017e834f2h +dd 0d4dd136bh +dd 0f9525e2ch +dd 02a8d74b2h +dd 05d6d7each +dd 07ae2a698h +dd 05bd001c7h +dd 0d4dadcdbh +dd 068a4b18bh +dd 0c268e157h +dd 0e77429c1h +dd 0e16ec046h +dd 0d1c72ed7h +dd 05f5129a0h +dd 041c31540h +dd 0cb6e3c88h +dd 08211c261h +dd 0ef0b60c3h +dd 0556a5307h +dd 04f217b6dh +dd 0e8580932h +dd 012f89dafh +dd 026f842b7h +dd 0d4e389d3h +dd 053df5fd8h +dd 0ac07d096h +dd 013ca4af9h +dd 0f5ee991eh +dd 0acf4847fh +dd 055ed995ah +dd 01c9a40a0h +dd 01af8f9afh +dd 022cbd8dah +dd 0cb79f9fah +dd 04f3451d3h +dd 0665001deh +dd 08d701919h +dd 024ed722ah +dd 0832ad5b1h +dd 048bcfffah +dd 00c6898cdh +dd 00bb053bdh +dd 0624e3702h +dd 0342da750h +dd 00c9f2520h +dd 01724cdd8h +dd 06317e929h +dd 0e4a40c34h +dd 032702956h +dd 008663b58h +dd 04fdbca37h +dd 051260821h +dd 033819d54h +dd 040b0194dh +dd 053dfdc8fh +dd 0990f6725h +dd 0fd4aec69h +dd 09feb96afh +dd 04a0ab3b3h +dd 026d81d37h +dd 08b068b8eh +dd 0a5339d1ch +dd 03aa04191h +dd 0ee36a9d9h +dd 0ce21b74dh +dd 0907812e9h +dd 0958e6adfh +dd 05d01d809h +dd 06bda28f1h +dd 04bebaf23h +dd 029f1b096h +dd 09b4af2f5h +dd 088da8ef3h +dd 05e1008eeh +dd 0c509dfddh +dd 0820260a2h +dd 09402c2d5h +dd 08d436167h +dd 0b6438d50h +dd 0d6b01ffdh +dd 003df95a2h +dd 0ec933a3ah +dd 026f12aa6h +dd 06205d042h +dd 02d20b4f2h +dd 0105bd828h +dd 012f54760h +dd 0f4bfd8adh +dd 09d855319h +dd 0f1c4ae27h +dd 0d94ec1c0h +dd 054e30e71h +dd 077ccefb0h +dd 0fe12dd74h +dd 07688c426h +dd 058755bb0h +dd 0618d0a54h +dd 08a2ee2c7h +dd 0625cb2e2h +dd 0ef16a381h +dd 04a416840h +dd 062b5eb4dh +dd 0f7fe104ah +dd 098a94e3bh +dd 03da9c07dh +dd 0e3a3b0e4h +dd 0f49c59c2h +dd 04b05db14h +dd 03fed1285h +dd 04a8f19f1h +dd 0df86d3b7h +dd 0dbd518b6h +dd 0f632c428h +dd 080c03f3ch +dd 0cea81c19h +dd 06d1e3380h +dd 04b4d85d7h +dd 01cc0639dh +dd 0c958c5efh +dd 0aa1bc7bbh +dd 0d16dc49ch +dd 07a5dae00h +dd 0eec69996h +dd 0f33db52ah +dd 0bd8be1e1h +dd 04780b5e6h +dd 03a7b6404h +dd 078cff353h +dd 079b3a452h +dd 087e75f06h +dd 0f2c3f0e8h +dd 053b5f709h +dd 0d1f7739ah +dd 0b5f2f838h +dd 044c98c66h +dd 0472866fch +dd 0c45ff1d9h +dd 072e2f9dch +dd 06b98d7fbh +dd 04e4d2350h +dd 051836398h +dd 05f9c130bh +dd 09429e96ah +dd 0a101c528h +dd 0f9deb594h +dd 04ced2db7h +dd 05696ce12h +dd 0bf6cf6eeh +dd 019d016ach +dd 03ed958e6h +dd 043988f71h +dd 060ddbfbah +dd 040781e61h +dd 011866bb3h +dd 016bcc277h +dd 0e2a90eech +dd 0f16a64c0h +dd 05b8ad571h +dd 049c23258h +dd 0155bf0f9h +dd 0ea43ea16h +dd 0a62985edh +dd 082c3dbabh +dd 01a5f1f7fh +dd 04202e781h +dd 0fd8e728ch +dd 0595c099ch +dd 03617a051h +dd 0b8f28aa4h +dd 00dbba223h +dd 0fc863647h +dd 0079ce1c9h +dd 0adc0b477h +dd 0631acc4bh +dd 013fad2d9h +dd 06bf9effch +dd 0beca6dbeh +dd 026892d1ch +dd 0ec1ed1f1h +dd 09f7ccaa1h +dd 02e5b522ch +dd 049b9f0efh +dd 0c6730a78h +dd 071d29263h +dd 023b307f1h +dd 06400f3d5h +dd 06a649598h +dd 07676ea6bh +dd 0abfce619h +dd 0431c42f4h +dd 0dc679768h +dd 03c3dce18h +dd 0c2800f74h +dd 0659e3189h +dd 000c63097h +dd 0d39529f3h +dd 0058b0db3h +dd 0c3499b87h +dd 01a038f97h +dd 04fb3a30fh +dd 01dc43610h +dd 0f0cee36fh +dd 073614bd4h +dd 0af2e9d72h +dd 0f7d9e6c7h +dd 07537e8e6h +dd 0533a3ee5h +dd 0c846ee4ah +dd 068eb7110h +dd 06960c7a8h +dd 0de2fcb5ch +dd 0add4ced6h +dd 0b280d0b3h +dd 03fbe2eb8h +dd 0383268d7h +dd 0fb2aae85h +dd 08ffa2b4ch +dd 0fbb3a149h +dd 02d8b7319h +dd 0ebccc00eh +dd 01556a0a5h +dd 0362a1771h +dd 0c05f297ah +dd 0e84dd60eh +dd 082ec1dbah +dd 0f39d8758h +dd 0f1f865b8h +dd 0af92e162h +dd 0c80a6be0h +dd 076d89aafh +dd 051358cdfh +dd 01b324115h +dd 059ba4579h +dd 0d833ed15h +dd 04d2137f4h +dd 0f0812653h +dd 0649c31c6h +dd 07c16b7f3h +dd 0086228f6h +dd 0f0332e6bh +dd 0436725d2h +dd 056ecb26bh +dd 061b70709h +dd 083b4383dh +dd 033d2d250h +dd 0267fef84h +dd 0ad319484h +dd 096c0aa1dh +dd 0170517f6h +dd 07a8391feh +dd 0491ed8cfh +dd 0cd678884h +dd 0aa3309fch +dd 0ec12e025h +dd 0e905c0c3h +dd 0e92c114dh +dd 085dd2faah +dd 08145e4dah +dd 0f419fdc7h +dd 0c5d091a1h +dd 04219b512h +dd 0f969d42dh +dd 028ff2a77h +dd 054a8803fh +dd 03d7a69ebh +dd 0da76ce42h +dd 0da551bb3h +dd 04c5f27feh +dd 0c5a0b456h +dd 033e367b4h +dd 00496aadbh +dd 08ab3d739h +dd 046a7ac51h +dd 0b3066dech +dd 008070876h +dd 08d1ff807h +dd 0fac95ea8h +dd 0a2e08672h +dd 05cb2c790h +dd 0277661d1h +dd 0e02facc9h +dd 0e3d12a6ch +dd 0a884b9ffh +dd 024553436h +dd 015b9b1a2h +dd 0956dbe0ch +dd 04e089d4ch +dd 0f1892d96h +dd 083ac6e55h +dd 051aeb8deh +dd 032bf3b13h +dd 017c2f2d1h +dd 0caa9aa2eh +dd 06dbe25a1h +dd 015e848eah +dd 0622cfadfh +dd 070ed74c3h +dd 0ac73ce4ah +dd 01677cfd9h +dd 0d608f3ffh +dd 076b711fah +dd 00acb8c58h +dd 04e72a1e3h +dd 0286f47bch +dd 0920650feh +dd 05147b4d0h +dd 05970c0c6h +dd 00a3bef25h +dd 048c336bbh +dd 02a2b07fch +dd 05a2629f1h +dd 0874ed10ah +dd 0c2a03303h +dd 0685fc2d1h +dd 0f3f80c78h +dd 0cbe5f305h +dd 073931c2bh +dd 0e01cdb5dh +dd 0e6ced808h +dd 0c5a2978ch +dd 0d5133cf3h +dd 0f6b3d73fh +dd 053de84deh +dd 0d776c144h +dd 048748bffh +dd 0758ff52eh +dd 0459e4bc8h +dd 0255612d1h +dd 0220bd63eh +dd 0071d1e7ch +dd 04073d8deh +dd 05c76d032h +dd 08bdf0c88h +dd 0c30c204fh +dd 03025ae63h +dd 0f5b13f20h +dd 0ac9d75a3h +dd 0c11f3908h +dd 044b12953h +dd 0fd3d5adeh +dd 05fa7484bh +dd 02a96a2d0h +dd 0e5cf239ch +dd 0b884f84bh +dd 0b889e2deh +dd 081024957h +dd 075babdeah +dd 074df3243h +dd 04230adc8h +dd 0fbc24bf5h +dd 012a1488ah +dd 0e3c65d02h +dd 04353512ch +dd 0ee1db226h +dd 03c719a3fh +dd 0f47a197dh +dd 050abf179h +dd 020c1d809h +dd 0a8c113ceh +dd 04c218bbfh +dd 0398afa59h +dd 07fb6a9c4h +dd 0bd82df1ch +dd 0bba9d384h +dd 0ea3dcdadh +dd 04a11d994h +dd 0be884bc8h +dd 05671d153h +dd 0f2c91bf4h +dd 0e10e1b70h +dd 020d2c0c0h +dd 0424b6880h +dd 0a3659573h +dd 02055452eh +dd 0d12e8dddh +dd 05ae7eb30h +dd 0be2d0247h +dd 016323748h +dd 0e368b26ch +dd 096426d60h +dd 0be1c5db4h +dd 0e06582d7h +dd 0a6df99a3h +dd 0a1971563h +dd 081228cddh +dd 03f38ce5ah +dd 069642737h +dd 05955ef07h +dd 0b6404203h +dd 071823b96h +dd 08f670b4eh +dd 09a275878h +dd 097d6ccb2h +dd 0971383c8h +dd 0bd1b946bh +dd 085c37dbdh +dd 0c885624fh +dd 027ba30c6h +dd 03577f502h +dd 06ab1a834h +dd 0ba1ceb82h +dd 02923eaefh +dd 0be317f58h +dd 0b1441fddh +dd 0a2912b14h +dd 03db8e997h +dd 04f1f6310h +dd 082bfb447h +dd 0d6632472h +dd 051a90b61h +dd 02d7c848fh +dd 0ce5d13bfh +dd 066c5de74h +dd 017d81237h +dd 09212f140h +dd 096078749h +dd 06a2fc46ah +dd 094760d2fh +dd 07729cb89h +dd 05faff0bdh +dd 0df7da6d5h +dd 0915293e4h +dd 08a4cec03h +dd 098978ddbh +dd 0a17e54bch +dd 098c40b26h +dd 01e4c8b37h +dd 09d13df3fh +dd 0942bc292h +dd 04127d278h +dd 04894d700h +dd 0ed931441h +dd 034a3608dh +dd 0fd3a26c0h +dd 077573a2eh +dd 0b7de2995h +dd 011a86e9fh +dd 0078bf7bah +dd 02320162ah +dd 0ae2b6bebh +dd 0d1bce78ch +dd 0f259eab0h +dd 0b1e7aa0eh +dd 07f1b93f0h +dd 02dfacb79h +dd 07047a19ah +dd 07db3418fh +dd 05a9a4d3fh +dd 0bef6a904h +dd 00f0483b0h +dd 057758524h +dd 047c47a77h +dd 0656a7ce7h +dd 01b52ee1ah +dd 02e64f0ech +dd 03259904dh +dd 04c91d506h +dd 01d1538feh +dd 0500475d2h +dd 0520758c9h +dd 05bcfe7b1h +dd 0bb5e548dh +dd 00f7a72e8h +dd 011e99527h +dd 026945dbah +dd 020041455h +dd 043d2568ah +dd 00b5971bah +dd 0ed0fb211h +dd 06d884e40h +dd 006540c49h +dd 0d31e2a4ch +dd 08051301ah +dd 02d775778h +dd 020a2cb6dh +dd 02930da48h +dd 0fe544bfdh +dd 0ceb55bb4h +dd 0d456fdb4h +dd 0f70767a4h +dd 09a3d3508h +dd 045cfe152h +dd 034f65587h +dd 085e1637fh +dd 02b7fdf36h +dd 031cab2e1h +dd 0bc466b43h +dd 01101ce2ch +dd 073326471h +dd 089636155h +dd 0312c3420h +dd 05814c83bh +dd 08e2ea5d5h +dd 09445322fh +dd 04e76e997h +dd 073e9202fh +dd 06f5550a8h +dd 06623d007h +dd 0a776cacfh +dd 0ca2969f2h +dd 09869f8fbh +dd 0462ce767h +dd 0d10345f1h +dd 047e59cfch +dd 0130344f6h +dd 0ff26ae4dh +dd 0d6391f1eh +dd 0342ab221h +dd 0955f1f7fh +dd 0bf611940h +dd 06371e729h +dd 056a9b045h +dd 0e58fc4bbh +dd 03f61e150h +dd 00325f365h +dd 0123398e4h +dd 0a82a1005h +dd 0f92dd01ch +dd 0f45faeddh +dd 028b38bd7h +dd 0375d4e67h +dd 0635da9c9h +dd 0aae93e23h +dd 07bbae468h +dd 001de303dh +dd 0737e33b6h +dd 0f6d88366h +dd 09fb8a481h +dd 03619ebb9h +dd 07ba560dch +dd 0919494a6h +dd 075954fd0h +dd 087c783d3h +dd 076e207ffh +dd 09d1a8098h +dd 084cad426h +dd 0c7fc7f4ch +dd 03f436bdfh +dd 03b685831h +dd 0b54fbd78h +dd 02095a12ch +dd 04108e741h +dd 0a7f30699h +dd 0fbcc7affh +dd 0b34cdcaah +dd 09f81cf3ah +dd 080e4ccbfh +dd 069cdd25dh +dd 0a45ceeeah +dd 05d3178ceh +dd 0ab69c555h +dd 07511f65ch +dd 08bedd18ch +dd 04ff53fb5h +dd 090ec6f2bh +dd 09241b7c6h +dd 0db103cb3h +dd 0a2393726h +dd 0da662e49h +dd 04c1b4611h +dd 006a92a93h +dd 0f0b0562ch +dd 01ec729d3h +dd 0fb779ee3h +dd 0fe800a4eh +dd 05fffca95h +dd 07e1643e8h +dd 049fb3c53h +dd 07c182674h +dd 0d518fd00h +dd 0b7f43632h +dd 0b2e67700h +dd 010222535h +dd 065632e40h +dd 029a678a1h +dd 0b227f090h +dd 00e52c5abh +dd 0745c6b57h +dd 0697adfdah +dd 0a3be197bh +dd 0b39fba42h +dd 05697d3c7h +dd 0f2ca0519h +dd 02c885480h +dd 0b8c93d52h +dd 04cbbf471h +dd 05ed0818bh +dd 0cc2299b2h +dd 09791b164h +dd 06b9d3bcfh +dd 0b8483e66h +dd 0d80d40c0h +dd 0fcae5f88h +dd 0e6cea0a8h +dd 060177fe9h +dd 05fe32684h +dd 03552db63h +dd 00c9609c6h +dd 0a3d9cc5bh +dd 063db435eh +dd 0502cdf66h +dd 073803a3ah +dd 025352631h +dd 014e51905h +dd 00ed7f794h +dd 0f5d80ca8h +dd 058c8c677h +dd 0ca1fc097h +dd 0cbf5ff04h +dd 0f6354517h +dd 076d40aaah +dd 0ada1a8e5h +dd 07ff7109eh +dd 03eaa8f09h +dd 04ce1a368h +dd 0ac29a850h +dd 036d80e16h +dd 00839e7b2h +dd 02bb1d37ch +dd 08c43ea16h +dd 0b4bef081h +dd 03ab8d3eah +dd 0f06900d8h +dd 0a64804d8h +dd 0fbecaf33h +dd 0fe07e945h +dd 0fe2077e2h +dd 02c32c7b6h +dd 09512755ch +dd 0ea178f31h +dd 0e024553ah +dd 09e37b07eh +dd 051e49d9bh +dd 003f24abeh +dd 02ebaa17bh +dd 0b888e039h +dd 013befee7h +dd 0aca2d39ch +dd 002a5a2f9h +dd 01166e2fbh +dd 06058721dh +dd 05256f17ch +dd 0e095d740h +dd 0342eb5a1h +dd 05cb0d858h +dd 0d50450bfh +dd 0ea5ea930h +dd 0f706d5b4h +dd 0c02dd28eh +dd 05b729c2dh +dd 02d5560c5h +dd 0ace5d7b9h +dd 07923bfc3h +dd 033f342ach +dd 0c76386b6h +dd 0ce9866cbh +dd 0e4fd7063h +dd 0e619011ch +dd 030e614f7h +dd 09b6b509dh +dd 0e49a9ff7h +dd 052d73032h +dd 0af7a461dh +dd 0cdd99908h +dd 0b7f056b3h +dd 0fa60c9efh +dd 0e87be86bh +dd 0b14e68c4h +dd 07f83a361h +dd 0b69385c1h +dd 075b2bc09h +dd 0e657cf8fh +dd 02fbace3ch +dd 0dd24f61eh +dd 01974ccd4h +dd 0b154eb82h +dd 0253c57a1h +dd 0c1a6590ah +dd 0f3e82fa7h +dd 07670b0f9h +dd 02f4ff4abh +dd 04fec7d1dh +dd 069706529h +dd 03dcbb27ch +dd 0d418f0f3h +dd 0bbdcff11h +dd 0bcd99387h +dd 0b55669e7h +dd 0dff78d72h +dd 0c9b192c8h +dd 0c5816d51h +dd 0d9bf9b7dh +dd 05dde71b8h +dd 0a6a44f6bh +dd 0be854de1h +dd 0a0da9ef8h +dd 04a4f9c58h +dd 0b23fb331h +dd 0cad370e4h +dd 0988e8201h +dd 0a155d8cbh +dd 0c667d14ah +dd 0e2da5cc9h +dd 0a9b2b0f5h +dd 02c7fd9c1h +dd 0c341b6e4h +dd 04633693ah +dd 0440085d6h +dd 064e6e003h +dd 06c6dee12h +dd 062c9428fh +dd 02a8c6104h +dd 02cb7e7c2h +dd 0bfc836f5h +dd 034134dbah +dd 0743b5eb6h +dd 01cc189b8h +dd 00ce519dfh +dd 02401fee8h +dd 05d5448b2h +dd 0f3d8cb7ah +dd 0606eb991h +dd 07988a6b9h +dd 09935693ch +dd 0524b6bd6h +dd 0be71330ch +dd 00a408478h +dd 0ab9ac8bch +dd 0b52f29b3h +dd 0dbb8001fh +dd 0f738e143h +dd 05a75e8f0h +dd 09c3ffe14h +dd 04759705fh +dd 0fd520685h +dd 04148e6d6h +dd 0884b177ah +dd 0e575a023h +dd 05a878f2eh +dd 0076568f9h +dd 0e52afee8h +dd 0c336c45dh +dd 03598fa52h +dd 030022bb8h +dd 0f5fde141h +dd 0ce827903h +dd 055c47320h +dd 0401a9a9ah +dd 094bcc513h +dd 0e02b2448h +dd 053cd0776h +dd 059aa47a5h +dd 0a11d306dh +dd 0c3341d21h +dd 090011f1ah +dd 09c8482f4h +dd 069557522h +dd 08922ff9fh +dd 0ab8cac9ah +dd 0010eb747h +dd 0c8d18cc6h +dd 0c29e8ef2h +dd 099577faeh +dd 050fa8c20h +dd 0860b2a56h +dd 00f9344cbh +dd 0bf8cf681h +dd 093cb7bf0h +dd 07743344ch +dd 0eed80dc5h +dd 04a1d20bdh +dd 0cc85d88fh +dd 01f6eaa70h +dd 0b0fd57f3h +dd 02de140feh +dd 06b3b0c23h +dd 0febd15f0h +dd 00f63880ch +dd 00681ffbeh +dd 08034a048h +dd 03b05f983h +dd 0da54e9f3h +dd 0741e71c0h +dd 080311436h +dd 0d04f21afh +dd 01727cc04h +dd 02b1d8c50h +dd 0244d2a3eh +dd 09f6c5c0dh +dd 0e1cf3ec2h +dd 0a5f36851h +dd 072dd18f1h +dd 0e6cdd51dh +dd 0b8fcb0fdh +dd 08043931fh +dd 0d14c9c9eh +dd 032b132f2h +dd 02e1a8c1fh +dd 067843e7bh +dd 0803ffe4bh +dd 0482c4c50h +dd 0084fe59ch +dd 07cddc834h +dd 06a88c132h +dd 02223190dh +dd 0aa088845h +dd 02b0d6614h +dd 0a9f6927eh +dd 0294ce9feh +dd 0d47ec3abh +dd 0effcc7d9h +dd 0bbc6df87h +dd 0cdad2855h +dd 0f8f29503h +dd 04dd355cfh +dd 09d374d73h +dd 0778cfcaah +dd 0c16618f9h +dd 034c5aa17h +dd 0c97256fbh +dd 023de74bdh +dd 00b462852h +dd 0f34a16f9h +dd 03e1885e5h +dd 05b7112c4h +dd 0fa39e471h +dd 0b0b254adh +dd 002d683c3h +dd 08ac4dab6h +dd 04adf43fah +dd 0628c58c3h +dd 01db12c4fh +dd 094278084h +dd 05166cc76h +dd 00cfe4753h +dd 0d4a8df3dh +dd 0f64b6082h +dd 0f2322cf3h +dd 0653320a2h +dd 093116d57h +dd 08a363691h +dd 0d2f2d044h +dd 06fa65891h +dd 0aec47f82h +dd 0a22973fch +dd 02ee75f92h +dd 0c741fa3ah +dd 0eace4a15h +dd 0ef391224h +dd 051a24c05h +dd 0dd6184e6h +dd 05d215caah +dd 051349681h +dd 01b574259h +dd 06100f1a0h +dd 017305431h +dd 001eafe81h +dd 02c36f441h +dd 047af6945h +dd 089fd99c6h +dd 01eb64209h +dd 0605a4425h +dd 001bf4463h +dd 022fff7aah +dd 00435cabfh +dd 02e28ff64h +dd 05fb41dedh +dd 0e92dee4ch +dd 069c86b93h +dd 07096d593h +dd 0d7ea1724h +dd 0c40b3f78h +dd 072a8d07fh +dd 03e8c7d8ah +dd 0bac8a076h +dd 045b80b98h +dd 0d2d12a6ch +dd 02cd15627h +dd 03e459d52h +dd 023b2d303h +dd 0b43431b2h +dd 0d0c66581h +dd 0b2808216h +dd 01b7e9d0bh +dd 08a448149h +dd 0450cb151h +dd 00b6bba24h +dd 08b60d505h +dd 057281a97h +dd 02984bb15h +dd 010737439h +dd 015dc1f65h +dd 0ba4dd899h +dd 0d344cad4h +dd 00fce2e21h +dd 0b1eb002ch +dd 08071de0eh +dd 067e6aa85h +dd 0c6db9b62h +dd 0025c4428h +dd 0227c9822h +dd 0925da554h +dd 0cf115341h +dd 0328fb357h +dd 0b700f22bh +dd 0dca11f29h +dd 009b71dcah +dd 05f149b61h +dd 0da13c18ah +dd 0d89491a5h +dd 048228bdch +dd 0d4f54381h +dd 0fbbc5b70h +dd 0264f480eh +dd 0d0ef8c67h +dd 0dd622601h +dd 043c643ffh +dd 0ab3c6f72h +dd 097f601a7h +dd 0c3a673f3h +dd 0a1288510h +dd 04240a1f7h +dd 0b4ddc767h +dd 058e4d9d2h +dd 09c7cbe77h +dd 0003f2cfch +dd 0585994dah +dd 0021d2148h +dd 056b815f0h +dd 0b94ae550h +dd 04a43b594h +dd 0b82974a5h +dd 0cf8b34adh +dd 081136f7dh +dd 0257dbcd0h +dd 085f6bc22h +dd 09de9e3cbh +dd 0128c9c32h +dd 0cf5b12c9h +dd 01dc05702h +dd 03b04b348h +dd 024b53aceh +dd 0dc086986h +dd 0b61b5cb1h +dd 0aef31e23h +dd 0150f98e5h +dd 04f256690h +dd 0b2947d77h +dd 0073f53d2h +dd 09facc0b1h +dd 02d0acddch +dd 0f3cfb392h +dd 030cc9480h +dd 0d1ac8bebh +dd 0a841cbbeh +dd 0cfbef97ch +dd 0a3db7172h +dd 04ecb09f7h +dd 0a28efb87h +dd 06ae82dadh +dd 0093e7123h +dd 001bf5d6ch +dd 0cfda6d68h +dd 09877c3cah +dd 0e7b83651h +dd 0b01dbc65h +dd 034d4f675h +dd 03430b969h +dd 080661b91h +dd 03b49d871h +dd 09e136651h +dd 0482280c1h +dd 06edeca47h +dd 0ebf535f5h +dd 03f36c836h +dd 0a7137baeh +dd 05dfc577dh +dd 0eae84c85h +dd 07252a868h +dd 0c11a0b3ah +dd 03a3b9d9ah +dd 0503c0f3fh +dd 07013f3cfh +dd 07225fe25h +dd 0e0e81c61h +dd 0f327ce0eh +dd 0c9bfcdfdh +dd 0c36377eah +dd 09daa0e11h +dd 01855e257h +dd 070cbbb38h +dd 03f6b1b55h +dd 0b84f8fbch +dd 000295379h +dd 056f9d54bh +dd 03b80ad78h +dd 0de1453e0h +dd 0d87e87ffh +dd 004544792h +dd 05754f0a8h +dd 0efc90400h +dd 0abaa975eh +dd 0560506a7h +dd 076ba4daah +dd 0f632938ah +dd 02abdd85bh +dd 07135db5eh +dd 01ca2e570h +dd 0c5212360h +dd 0876d5bd0h +dd 02307e151h +dd 0c181c9a5h +dd 0f1b5a58bh +dd 0b5bbc84ah +dd 0186c60ech +dd 055f37d17h +dd 08d523ea8h +dd 0fac0d0c0h +dd 07f2f0917h +dd 064b0e01eh +dd 0a5f4ad79h +dd 0d7dc15c9h +dd 0d782d4f8h +dd 04d8fa3eah +dd 07f32ffb3h +dd 000ffc753h +dd 0b19ae394h +dd 017061992h +dd 0c5d98604h +dd 0f98b6ec1h +dd 004dca6f8h +dd 008afc56dh +dd 05bd3eb13h +dd 061f18006h +dd 046e7fdb8h +dd 00111e949h +dd 006e514a9h +dd 06775ac33h +dd 0705207b0h +dd 068e7f184h +dd 0e660c907h +dd 04aa928e9h +dd 058d6d823h +dd 08ef4cc65h +dd 0d637a8c1h +dd 01c4c0a4eh +dd 051957b76h +dd 03df831b3h +dd 0e1573237h +dd 078553454h +dd 05bc10098h +dd 014915176h +dd 01ab4c08fh +dd 0c009ec47h +dd 0cc5f0917h +dd 0f16544ceh +dd 0019a0d4bh +dd 0584b4975h +dd 044e61fach +dd 08c1a7d79h +dd 099007b19h +dd 0e9c8de1bh +dd 0f0aa117ah +dd 038bc7b44h +dd 0f6215aeah +dd 0d988cd14h +dd 0cc1e8049h +dd 0b02e543ah +dd 031c25335h +dd 09c9c6d2ah +dd 0d6b46566h +dd 0da192470h +dd 018ca2caeh +dd 017cbf75eh +dd 03468f2f2h +dd 0b4ee8b5bh +dd 0eae5b015h +dd 0e3dab1cah +dd 0880324cbh +dd 016532365h +dd 0a7fa36c3h +dd 006a2deefh +dd 00a6daa32h +dd 0f33802dch +dd 08d3f424ch +dd 0437f6c47h +dd 05a8da143h +dd 03061d1d5h +dd 0b0b804adh +dd 08891cbf3h +dd 0e042af5ah +dd 0842b552eh +dd 05c5aacceh +dd 0e64d0fd5h +dd 0310af472h +dd 098f6a04bh +dd 0b6f1dd61h +dd 0565e0f8dh +dd 04808fca2h +dd 0a3667251h +dd 0c6a4ce22h +dd 0b4e4401eh +dd 0403c96fdh +dd 0b4223a98h +dd 0b7163d34h +dd 0b8df16e2h +dd 0bfb81a62h +dd 08f87b68ch +dd 0317600e8h +dd 0a4b5621bh +dd 0b4759781h +dd 0dabf8379h +dd 00f5e7c8ah +dd 0762546d8h +dd 00afe560eh +dd 021d1e4fdh +dd 0df1cb87eh +dd 0f379c60ch +dd 081e5ac2ch +dd 04074f90ch +dd 09c227bf3h +dd 00959771eh +dd 057297fadh +dd 0e3d1420ch +dd 0723046c7h +dd 0c96c0205h +dd 01205d417h +dd 0187e89ech +dd 0d49fadc0h +dd 03a37c442h +dd 041850442h +dd 093e5e0d9h +dd 031137610h +dd 06a7b3256h +dd 0f3447310h +dd 026270e29h +dd 077a07ba5h +dd 0aadde28dh +dd 06f704e4fh +dd 07d46ddb9h +dd 072dc8015h +dd 09d5c55d0h +dd 0e15edf0bh +dd 09c3a666ch +dd 01c4dfb7ch +dd 0ccf3ba63h +dd 0affad555h +dd 0dab96befh +dd 03b1091b4h +dd 0ef124e50h +dd 0d32c462ah +dd 0c34cd62bh +dd 0af813795h +dd 0fe038bd8h +dd 0041e48c2h +dd 0a921f9e1h +dd 0140b9ba6h +dd 0a033a020h +dd 06e119153h +dd 088cebddbh +dd 044bc5488h +dd 03d2e4bc9h +dd 0c22b1347h +dd 0106b914fh +dd 026d54fb0h +dd 02004f019h +dd 00f7de2c0h +dd 018f558d2h +dd 0862a855dh +dd 0597ebbc3h +dd 0ea4cc8f6h +dd 0801322dbh +dd 0b1e51d15h +dd 031bb82f1h +dd 08f20a51dh +dd 0b4fa3d00h +dd 03201120eh +dd 0258b150eh +dd 085c5af36h +dd 088307e54h +dd 06b1b29e5h +dd 0add68cf1h +dd 02d1496ddh +dd 042805758h +dd 0b7e55b53h +dd 075992349h +dd 069fb13ebh +dd 022bb2376h +dd 02065f1d8h +dd 02008fd55h +dd 0dc25975bh +dd 098fbb731h +dd 02bd3cc6ch +dd 06d597e71h +dd 06076cb26h +dd 03f15e268h +dd 09a151562h +dd 00bb0ec75h +dd 053e3d93fh +dd 00435b257h +dd 0360058f1h +dd 0f03beec0h +dd 0c1e66491h +dd 01e9fcb36h +dd 0a8dc69d5h +dd 038ee5349h +dd 0557619a1h +dd 0d46cb1e9h +dd 0e950acebh +dd 09007cd50h +dd 06ae579cdh +dd 060597bceh +dd 064065f02h +dd 015e7cfc9h +dd 01b860060h +dd 01284e1f9h +dd 0b38378c8h +dd 0ed74604ah +dd 0a1ea4e48h +dd 09f593168h +dd 011ec1f3eh +dd 047a57b38h +dd 04fca1b8bh +dd 08d69529ah +dd 04d3c0ebah +dd 0b8b6cc9bh +dd 0812f062fh +dd 0f5ae838eh +dd 0ac83d020h +dd 03cbedd7fh +dd 0c39fe999h +dd 02123321bh +dd 07ed0191ah +dd 0661cef27h +dd 07a9810b6h +dd 0e2686ea3h +dd 0fcb13cbdh +dd 0dfd6f115h +dd 06636a472h +dd 047c02bd6h +dd 0eed4d9b5h +dd 02340b3edh +dd 0fc2ca7efh +dd 027a05f33h +dd 098e61b5dh +dd 0d88f4824h +dd 06b121336h +dd 0ecb0272dh +dd 0f3ba62d3h +dd 09c04c0a7h +dd 0669ea409h +dd 0fb34805ch +dd 096a785edh +dd 0d39c3acch +dd 09a165200h +dd 04f493747h +dd 0f2dfbebch +dd 0e5f2b49ch +dd 06464f9ffh +dd 07f036fb9h +dd 021310fbbh +dd 059bb978fh +dd 0706fab3dh +dd 0a563bdf0h +dd 0e945474bh +dd 02b6f5e53h +dd 0e439efd5h +dd 08e918312h +dd 0bbdde3aah +dd 0f6d08c58h +dd 090bde378h +dd 07d76b3afh +dd 04aa7ef4fh +dd 0cf34ca7eh +dd 081f55673h +dd 09e1328c4h +dd 0d264f18fh +dd 0cefa016dh +dd 04c575edch +dd 036d215dbh +dd 02534d9d2h +dd 09d958dd1h +dd 0a4e5d9efh +dd 0b8bbd162h +dd 07c608b2ah +dd 0f96f4272h +dd 095930632h +dd 0548f83e1h +dd 05b319b50h +dd 0b13c5735h +dd 01cefabddh +dd 09441ba43h +dd 077b57e4eh +dd 0f5e86d60h +dd 024c09938h +dd 057a1344eh +dd 009b61664h +dd 0e0251d59h +dd 089cfc4b0h +dd 0233f937eh +dd 05ab5992ah +dd 052b028d0h +dd 0a24d3f1bh +dd 0975d3f55h +dd 0ef62e757h +dd 0b01f33cah +dd 0f0284290h +dd 08af93883h +dd 080f87009h +dd 02e3f4330h +dd 08ce6d5f5h +dd 0bc1fe298h +dd 0e4761575h +dd 0db77ef32h +dd 0387b9668h +dd 0f6717fc2h +dd 0ce5a701ch +dd 05785f7b2h +dd 02c1ffd69h +dd 0abcd0016h +dd 099ff80fbh +dd 007fe3e6eh +dd 0b55dad6eh +dd 03768ace3h +dd 03d4ae083h +dd 0263476d2h +dd 0385c3b97h +dd 00a79e413h +dd 01c494441h +dd 0fb84ccc6h +dd 0128bd1c5h +dd 0b52ca5d5h +dd 00adfc711h +dd 0fa01eaffh +dd 0e9c597d5h +dd 0ca8c5342h +dd 0cd5d69e2h +dd 0d704a3c9h +dd 070b3e94eh +dd 0ce4d8afch +dd 05d181162h +dd 08e5c12eah +dd 03d43d91dh +dd 01926f7deh +dd 0d842cc33h +dd 0cd1015bah +dd 072c37641h +dd 065e73100h +dd 0e999b0bfh +dd 05f1d325ah +dd 0e11d9af9h +dd 0e7e0a3f6h +dd 0fa0f81a0h +dd 0c08ba9cdh +dd 009a15213h +dd 0a248cc67h +dd 01d8ba359h +dd 079d0cb25h +dd 08d0062f1h +dd 03fd59866h +dd 01656c577h +dd 0ade2276eh +dd 0d4ea11d5h +dd 0c2fe5ecbh +dd 0d795ca85h +dd 0bccdf0c1h +dd 0971a443fh +dd 0ab28b19bh +dd 0ab5b6fa4h +dd 0567bd906h +dd 05b1f9d48h +dd 00e5f2f33h +dd 06b0b311dh +dd 072ca38f8h +dd 041f6966fh +dd 085b757cch +dd 0be5417bbh +dd 034ef7e43h +dd 0ec4f0619h +dd 05421696bh +dd 0811d0d3ch +dd 0ee8beef8h +dd 021ad944bh +dd 085a39df7h +dd 059a34af7h +dd 086023cc8h +dd 0cd8d5ae3h +dd 0933ab7dch +dd 0879ef7ech +dd 0e776639dh +dd 0291977d6h +dd 075c89842h +dd 0e7c2a52dh +dd 0dbd96a91h +dd 06c9dacb7h +dd 0af2b1baeh +dd 0d2936f7bh +dd 0e2fde301h +dd 0f3dd56a2h +dd 0300a3e0dh +dd 0645bd975h +dd 05b45e540h +dd 061326b01h +dd 02f9ee719h +dd 0dd23b424h +dd 0cbc4384ah +dd 0247ffd5fh +dd 09789e195h +dd 042867f05h +dd 07424d5e5h +dd 025cf8090h +dd 0336d1e21h +dd 0c40a16ech +dd 0eada124ch +dd 0b29abb27h +dd 09c0cc0d0h +dd 02ac6debdh +dd 0a23d3a7ah +dd 0196741b6h +dd 0dc156665h +dd 0c4ba5d7ah +dd 04917ab4eh +dd 0a2fa5a5bh +dd 045085a1eh +dd 07221b19ah +dd 033ce0db4h +dd 0acc49a8eh +dd 00786be48h +dd 02a645fb2h +dd 027885a59h +dd 0b6d9979ch +dd 05ed22a42h +dd 0de57d78ch +dd 0f11d91c8h +dd 011a56365h +dd 0f8dab317h +dd 0b58e22b8h +dd 0a050d1e4h +dd 070a71562h +dd 01dc8ecbah +dd 0dab24b25h +dd 05f080257h +dd 0e8a10f81h +dd 0a2a10eedh +dd 082d99d9fh +dd 099a1a82bh +dd 065248d04h +dd 021802650h +dd 06360fac4h +dd 00c17b04ah +dd 02752f27ch +dd 064ff0ec0h +dd 0190d8c2bh +dd 053f912c6h +dd 0a0b324c3h +dd 0e7fde271h +dd 09e5cb090h +dd 0d86cb9dbh +dd 05b5a5f75h +dd 07c829971h +dd 0afd93d3eh +dd 071931af3h +dd 0897b7697h +dd 0cfeae4a9h +dd 06c782007h +dd 0bf3f083ah +dd 0ff368c42h +dd 06f90e448h +dd 03484aed5h +dd 0f15fe859h +dd 03d0ce71ch +dd 005a5ea72h +dd 0a5ae0536h +dd 0234863f8h +dd 07e0f62d0h +dd 0f269c25dh +dd 091823b5dh +dd 06fda4b12h +dd 0a439348eh +dd 0536c8f3eh +dd 097b3a043h +dd 0476509cbh +dd 0a6682776h +dd 0a87591c2h +dd 0c54ecbefh +dd 095fe3386h +dd 09856b9ceh +dd 072031563h +dd 01c98087eh +dd 0d2ee4e68h +dd 0b0913419h +dd 0f0e73241h +dd 0e9ea94a5h +dd 069cfe2d2h +dd 0f97d3876h +dd 03b03557bh +dd 02abcc2e6h +dd 0f5a25a83h +dd 0b3c50970h +dd 0be8e0b55h +dd 0d5e6dcb0h +dd 0a6243e86h +dd 0bd184f49h +dd 0d5a652b9h +dd 0f3d2e308h +dd 019e8661ah +dd 04f099a32h +dd 010d7992ch +dd 065745592h +dd 0dbede95eh +dd 08dc29489h +dd 0419bcffah +dd 05605e9c9h +dd 0adc70f07h +dd 0d0672d44h +dd 07ce7fa31h +dd 0e34a53e3h +dd 05a8bf1f1h +dd 03589a797h +dd 081e2eb53h +dd 07cbd1b0ah +dd 0bc434200h +dd 0e6093de1h +dd 068458996h +dd 012a30db1h +dd 041d20efbh +dd 0a24a04e9h +dd 03a93bdb8h +dd 02a32fa3ch +dd 035bd3f7ch +dd 01902f805h +dd 07c40c2dbh +dd 0eed49a9bh +dd 005f0709bh +dd 0e5295e35h +dd 048badb07h +dd 0cbbb81aah +dd 0d4b4b199h +dd 09fbe4b64h +dd 0326f1a32h +dd 0979178cch +dd 0a4639977h +dd 08642bf9ah +dd 02538beaah +dd 0bf0ba4a8h +dd 0e1c1b078h +dd 0224c077ah +dd 045840042h +dd 078707a43h +dd 01218f494h +dd 0291577f8h +dd 0567ef0afh +dd 040c6395ch +dd 04e88e20bh +dd 0ebb23419h +dd 032bf1f93h +dd 0a582c38fh +dd 0cedd164ah +dd 091c7a031h +dd 02ed5b57eh +dd 0fbf6cebeh +dd 0e403700eh +dd 0248dff6fh +dd 0fbf5e7bdh +dd 090fb4307h +dd 0582e5714h +dd 057cea89fh +dd 035c8e0b3h +dd 0a2d4a3bfh +dd 0dd528073h +dd 0832fe539h +dd 08860428fh +dd 09b18ed33h +dd 0bbd7cc62h +dd 0be89b901h +dd 0a418dcech +dd 0f05f099fh +dd 08ed097a0h +dd 05cd56e5eh +dd 0abefa9dch +dd 0ef9d8f70h +dd 04e552d42h +dd 0d801ad6fh +dd 09b26cc2ah +dd 0ecb41d4ch +dd 0b9fd5fa2h +dd 08f52b061h +dd 05d243849h +dd 06f007faah +dd 04d19dc7bh +dd 04bfa80fdh +dd 05587ef18h +dd 0c4c29d14h +dd 02d67fa5fh +dd 0ba128826h +dd 0f3b1f16ch +dd 0bf39be09h +dd 00fb11feah +dd 0b47caa3dh +dd 079fda697h +dd 0c467404eh +dd 0988adde5h +dd 02c6b2534h +dd 03881e29bh +dd 039764d79h +dd 0b9484e62h +dd 0775acb25h +dd 0987f8c3fh +dd 098fa2b83h +dd 0beda3d67h +dd 0ba89bcc0h +dd 0dca18f07h +dd 09817b3cfh +dd 08e3acd2ch +dd 05e9b25cch +dd 098ed7fddh +dd 0d604ee40h +dd 08df38980h +dd 0ac80090eh +dd 021723132h +dd 001a73804h +dd 0f52750eah +dd 0eca0859eh +dd 08e4bd75bh +dd 0db256855h +dd 088f1d986h +dd 01d92c952h +dd 0f77c44beh +dd 07d986040h +dd 063de5e8eh +dd 0fd9d1ef5h +dd 0e21eb9c7h +dd 08055a045h +dd 04a39ba1ch +dd 0f47829c7h +dd 03a34bfefh +dd 0ca344a97h +dd 0aa84bb9eh +dd 069a19cb7h +dd 077309247h +dd 0076e31dah +dd 0f5b1a89bh +dd 00d2a04a9h +dd 07e166056h +dd 03fb281ddh +dd 0a69feacdh +dd 0c1c142eeh +dd 0cf3fc1d6h +dd 04056bf27h +dd 0b823078bh +dd 074f4b46dh +dd 048628d5dh +dd 05f8c5059h +dd 0cb343caah +dd 0769cedc8h +dd 071a7539fh +dd 02b04daefh +dd 05a6e24fch +dd 0674e4248h +dd 03b7db32ah +dd 0948c2edfh +dd 0f0dcd524h +dd 03ac88c9dh +dd 0d76eb448h +dd 0c9a0af98h +dd 0eae204dah +dd 0a198f823h +dd 003da641eh +dd 0d68f096bh +dd 03af41afdh +dd 05c4bd0efh +dd 0d87d9ab7h +dd 0e932c188h +dd 08465a767h +dd 098417d19h +dd 00df67db8h +dd 0bba4039dh +dd 08a161269h +dd 0ad10e6d2h +dd 069c9d1b9h +dd 0ff89aa8eh +dd 013b75378h +dd 04d7ba663h +dd 0d7cf82f6h +dd 016005f8ch +dd 0090ac1c4h +dd 054e2f2ech +dd 0085599d2h +dd 014b4b8fah +dd 0dbafe940h +dd 0c042ede7h +dd 0d07e8ad7h +dd 0e01ccc69h +dd 04737e524h +dd 09ebb10d4h +dd 0da455e66h +dd 0cb4f5ba1h +dd 08365dd92h +dd 05d304befh +dd 0e75de371h +dd 093cb43dbh +dd 050d7eb0dh +dd 0624dca14h +dd 0c6d17b9fh +dd 0746b5c54h +dd 0a7053c80h +dd 05037fbd3h +dd 00697856ah +dd 0e2aecc4eh +dd 0a15e54d3h +dd 0e02a2286h +dd 012aad21ah +dd 00d9efe2eh +dd 00f836abeh +dd 0824a0cdch +dd 0b9aa5b63h +dd 0bb489a06h +dd 09a7c2f8ch +dd 0237f0632h +dd 043c46e16h +dd 02ee70f01h +dd 0885c4025h +dd 0213e0c69h +dd 0bf5e6c4dh +dd 0a6292995h +dd 0fb0aa120h +dd 0198425bbh +dd 0c821ca61h +dd 002d7fcbch +dd 004c40735h +dd 0dbdba09ah +dd 019a25f60h +dd 03b94aefbh +dd 04dd2b3cch +dd 0c4f00f3eh +dd 031fa39e6h +dd 0b4674f56h +dd 0660c56e1h +dd 0a7494363h +dd 0270ad176h +dd 0a076cf81h +dd 0c3084a37h +dd 080c395bah +dd 02c0a9cb4h +dd 00973daaah +dd 093d3947dh +dd 02f39a05dh +dd 09ef8d938h +dd 0cf5c497bh +dd 03ec6a999h +dd 00f2a3893h +dd 03b8d7c4ch +dd 0443f471bh +dd 0708696c1h +dd 09430dde3h +dd 0951d1f0ch +dd 08f8ae528h +dd 0c86c45b2h +dd 04ba7a944h +dd 06ecdd7a0h +dd 0053bc83dh +dd 0d7615cc3h +dd 029ab537bh +dd 0e92d282fh +dd 018ad0a6dh +dd 0fe736dd6h +dd 0781cbc1ch +dd 043adea9ah +dd 0b2a67d8ah +dd 0a2c06604h +dd 080640b86h +dd 0cc262744h +dd 0af559d46h +dd 087ed07a9h +dd 0fb5555deh +dd 0770b97fah +dd 0d8cc6e1ch +dd 0726f95e2h +dd 0cbdba9cch +dd 0396f1c94h +dd 073fe72c3h +dd 0a683549dh +dd 0d59db228h +dd 04549207ah +dd 0ccfa7700h +dd 002f93efch +dd 0eaa58945h +dd 0098b5adah +dd 0671be14bh +dd 05d195578h +dd 05b320552h +dd 0e54c72aah +dd 023e365a5h +dd 0cafb0782h +dd 0f9acdcdbh +dd 0485064edh +dd 0631a1294h +dd 063046fd1h +dd 0c1c366e7h +dd 0bae1e042h +dd 0454b46aah +dd 07a7fbd8ah +dd 05fdff771h +dd 09393bc2ch +dd 001f695f5h +dd 0de8d0bd1h +dd 0cd66c490h +dd 0a97326c8h +dd 08618ba86h +dd 0f74432d8h +dd 08c8223a9h +dd 068a01a07h +dd 0ea475a34h +dd 0c6700beeh +dd 0ee51c44eh +dd 077265f4dh +dd 056564f33h +dd 086e6f318h +dd 06a277d92h +dd 01fa174c7h +dd 024f67626h +dd 0da3c189ah +dd 06d7d50a6h +dd 0327acc27h +dd 092b959e2h +dd 0d8c94613h +dd 07f7ff320h +dd 090944960h +dd 0d8ecfdb8h +dd 07e4b5ebbh +dd 0c84de4c2h +dd 097639f56h +dd 0f3569db1h +dd 00a89441fh +dd 0424c86c4h +dd 0bbf44b67h +dd 070108e71h +dd 00ef51d08h +dd 02db0ccf9h +dd 050ec9cb3h +dd 02e7a594eh +dd 0378eb5f3h +dd 0f65f7a8eh +dd 07f605465h +dd 0f481ef98h +dd 03fd236a1h +dd 0c6df961eh +dd 0cc89d68dh +dd 0dd81d46dh +dd 08cf0ac81h +dd 05531dfd3h +dd 0bdeb6b17h +dd 0ca883a8dh +dd 01710ac11h +dd 04ac12bf4h +dd 0d6497e26h +dd 0f7085d6bh +dd 04bf1c588h +dd 0d59ddb8eh +dd 0f1a9fdb8h +dd 023cdc9d3h +dd 0019c74fch +dd 05326824fh +dd 0abb0e388h +dd 083c212fah +dd 098608eb4h +dd 09b6d2faeh +dd 038ffb1dah +dd 025642c02h +dd 0aa35dad4h +dd 020cf6392h +dd 0a748d84dh +dd 0ccc88298h +dd 0dca4286bh +dd 00bddcc5dh +dd 0c9d051aeh +dd 009e86005h +dd 0383b45d1h +dd 0cdbb5d99h +dd 0a994fe3eh +dd 075e23034h +dd 0c13811e2h +dd 0a5db0534h +dd 038bb8cf0h +dd 05cbd6945h +dd 083a26fe0h +dd 01b181a0eh +dd 09ca55e2ah +dd 0133eb3a6h +dd 051407764h +dd 0550b6efeh +dd 08b59d5b1h +dd 0f657579eh +dd 0047cd47ch +dd 0aff55f3ch +dd 0a90a8b29h +dd 05680a240h +dd 09bf779bah +dd 01d927751h +dd 0ff53e68eh +dd 0e7d9eaabh +dd 0bf6cba8ah +dd 015c7038dh +dd 0c2b0af75h +dd 050144029h +dd 062f651bch +dd 084889f3bh +dd 0a1b5a138h +dd 09adf046eh +dd 050a5a36fh +dd 0188182b9h +dd 0e7d35153h +dd 07de3a090h +dd 0a81cff85h +dd 062b518e5h +dd 09878106ch +dd 0700e89b5h +dd 08c5ae76eh +dd 0d269129dh +dd 0d4cf9710h +dd 0a06b6305h +dd 0a1f67c05h +dd 03d0dfd07h +dd 011d23e68h +dd 037d032a4h +dd 067447002h +dd 0faa898f9h +dd 0f2c85b6ch +dd 08ebb3536h +dd 0f2bdbd76h +dd 078684e68h +dd 0bfb58007h +dd 00342bf44h +dd 0d7ded106h +dd 0e6306ca5h +dd 0e7d40792h +dd 0e0cdaefdh +dd 0e81210dah +dd 0db1b8b83h +dd 08db982edh +dd 07e9f9aa9h +dd 0f5ab938eh +dd 01005294eh +dd 0e31e773bh +dd 094ef6fdeh +dd 0dd5aca21h +dd 0536920e6h +dd 0ded71660h +dd 0331209aeh +dd 0a1c4ebcdh +dd 01519d379h +dd 0f9ed07c3h +dd 0a3a0c7e6h +dd 0a58abc99h +dd 09844e34bh +dd 0b4fd6120h +dd 000993bcah +dd 04faf62efh +dd 01bf7a539h +dd 01a52f400h +dd 084c6bf7eh +dd 05dc420f6h +dd 0fa7968b6h +dd 0ba31f0ddh +dd 02ea5344fh +dd 053d87690h +dd 0ab0899e1h +dd 0f8d4a248h +dd 033d91153h +dd 007920ed6h +dd 0b0411161h +dd 0004d17cdh +dd 0b16e3c6fh +dd 0bd683ebbh +dd 08530a0dch +dd 02249e1ddh +dd 0822d6d9fh +dd 0c089d679h +dd 0e6918997h +dd 029a0ccd3h +dd 0aad46ea2h +dd 0f7a34bc3h +dd 096bf3589h +dd 012ea736fh +dd 0c1e8fad7h +dd 062685108h +dd 02cfd2f34h +dd 00dbcdc30h +dd 0c4072bffh +dd 0312070fch +dd 0341a8b72h +dd 08e89e242h +dd 05ddc339ch +dd 0d87731e5h +dd 08db132d7h +dd 01a60fdcah +dd 04654fbb1h +dd 0bcf68036h +dd 0b353963eh +dd 0dfb472d0h +dd 063dd84bah +dd 03e981a2fh +dd 0e76a382eh +dd 09f178e91h +dd 0778a53e9h +dd 0cad8e4e5h +dd 02d09c1b3h +dd 00d6a1df9h +dd 09ccf4993h +dd 0f9e1e64ch +dd 0695f040ch +dd 0453de3ebh +dd 0833eb2d2h +dd 08f69e455h +dd 0c741deb3h +dd 073e42e56h +dd 0a550f57bh +dd 013d67bfeh +dd 0897c0ea5h +dd 0ad0b0518h +dd 024b585d9h +dd 0dc1dc9d6h +dd 056a70207h +dd 0f2af6638h +dd 014308695h +dd 0c44d20ech +dd 0e74aaf4ch +dd 088b4cfe7h +dd 010639c84h +dd 070809f71h +dd 09282e884h +dd 0f2a41492h +dd 0cd519d9ah +dd 0c34bea1eh +dd 028e70d9dh +dd 000940312h +dd 066d3f001h +dd 0c11f90a7h +dd 07980ed6bh +dd 091be1e06h +dd 0e5553626h +dd 086eb3208h +dd 08929e1e1h +dd 084ee6165h +dd 019b4338bh +dd 067de74fbh +dd 0f923d8efh +dd 0bf940ec0h +dd 06ad2ba36h +dd 0aa9cd9a1h +dd 05a1d4fcfh +dd 0c4c81232h +dd 025182519h +dd 04e93487dh +dd 023a43f60h +dd 02342e571h +dd 0e24761c1h +dd 0ec864e5bh +dd 0f1f662b3h +dd 0672114d0h +dd 08892becfh +dd 0a0c200deh +dd 0237ca7f2h +dd 0888f7c01h +dd 01ef78110h +dd 08741639fh +dd 074f21093h +dd 005731a87h +dd 004dc6063h +dd 0f1dd290dh +dd 034c7518ch +dd 0359964b6h +dd 0c220ea4ah +dd 04f85bb56h +dd 0e81bf3adh +dd 0a4ffadedh +dd 00882548fh +dd 0cf151c4dh +dd 03ca273bch +dd 0969099d8h +dd 0b0bc04eah +dd 04eca58a2h +dd 0c591f67fh +dd 04a5eaebah +dd 0d71bc770h +dd 0170ab792h +dd 0a3987a40h +dd 0d4355fd6h +dd 0266dc8e3h +dd 0e28f1204h +dd 07e755ecbh +dd 04c76635ah +dd 05c04bc76h +dd 0da50079bh +dd 0a5abc97ch +dd 08560946eh +dd 00f8e84b9h +dd 0b7f3fa0bh +dd 054d5f04eh +dd 0ecaf3b5fh +dd 056b990e1h +dd 08074f765h +dd 04245a072h +dd 0969ed3f1h +dd 02efd4191h +dd 0864afc6dh +dd 058ab3c3dh +dd 0cedb08f6h +dd 0c62778a3h +dd 0880ec18ah +dd 02264d996h +dd 0b65dcfd5h +dd 0deb7bd00h +dd 0a4c74ed8h +dd 086e1a027h +dd 07a6edbeeh +dd 0d5477778h +dd 08aacc4fbh +dd 0bad71af9h +dd 0d8b84aa6h +dd 0dbe33776h +dd 0b14f8f38h +dd 07c43e1aah +dd 0d2b3b762h +dd 0a6957f8bh +dd 0d8724588h +dd 0afa6b4cfh +dd 0fdb6febdh +dd 0be5b48bfh +dd 0d6f70c5bh +dd 0caa8fc34h +dd 0e33a8bf1h +dd 0313315a8h +dd 0e6750f23h +dd 08dcccc34h +dd 029fc90beh +dd 0ada8c773h +dd 009170786h +dd 0da09ec62h +dd 00ec46c32h +dd 00925bc31h +dd 01e5f2975h +dd 083be7189h +dd 0e0f2f32eh +dd 0bf8a2d0eh +dd 0ea2f23f1h +dd 0bff707f4h +dd 01a1fdedbh +dd 0388c047eh +dd 01748a560h +dd 04b978b36h +dd 0327b2cbeh +dd 0fbfb7a2ah +dd 0f7fe6188h +dd 0c98ca419h +dd 0155a0061h +dd 0647aa99ch +dd 0a0311b4eh +dd 07a0a7dbbh +dd 03ce83956h +dd 01eac66d8h +dd 01e39679eh +dd 07bf8a6cah +dd 02252d3cfh +dd 027da0e45h +dd 0aa1610b2h +dd 083606a01h +dd 03be0e696h +dd 0c7a97acdh +dd 04a2bfd27h +dd 0e479577bh +dd 099c80108h +dd 02bae0f02h +dd 0c87b50d0h +dd 01bc42b8ch +dd 03ba14c99h +dd 06f0f572dh +dd 0bb617034h +dd 06c8c9384h +dd 0fe4fba29h +dd 07627de83h +dd 0d2006ea0h +dd 09bcd691dh +dd 0ac6a5b1bh +dd 021a180beh +dd 0fe88f8b9h +dd 055d3612fh +dd 01ce8d07ah +dd 0deca9d04h +dd 03b72bb4dh +dd 0b2260ef5h +dd 02892cff8h +dd 088d5340dh +dd 046a52567h +dd 064aba7f7h +dd 0a6b8033eh +dd 0acf5a457h +dd 08bb9b53ah +dd 02c52c5d9h +dd 0963b234fh +dd 01058276ch +dd 01ecc29f7h +dd 02c4a074eh +dd 0a709c43ch +dd 02d71b378h +dd 0f8e17930h +dd 0e7f9ab71h +dd 070a02dech +dd 002307bc8h +dd 0a902c36fh +dd 0aa2c2d47h +dd 052725c91h +dd 0e431e6e3h +dd 0e6e3c346h +dd 04ba55d12h +dd 047b5f792h +dd 0b74276e3h +dd 0efa64bach +dd 0f1d6226eh +dd 0b3e4c4bch +dd 0481f1ff5h +dd 06f391bfah +dd 05569f5ach +dd 01379b17ah +dd 0ceb2b1f6h +dd 0ad82f8f6h +dd 060773fcfh +dd 02d676a18h +dd 0e001fa69h +dd 0db637888h +dd 088326dc8h +dd 011d7b906h +dd 001fd4972h +dd 00e04b026h +dd 0ef9d9202h +dd 0d230ac15h +dd 046db1b80h +dd 0b717185fh +dd 0d424e8feh +dd 0c1c02f60h +dd 0ab663d31h +dd 0fd8a2d42h +dd 0b800b0bch +dd 01d521200h +dd 0927b3927h +dd 02a56da11h +dd 09dd8f45eh +dd 0c5a9b3b7h +dd 0ce84e6dah +dd 086ff2bf9h +dd 00a539f3fh +dd 0b5aef818h +dd 01c3fb2b8h +dd 0c9c9b090h +dd 0f79f47d6h +dd 074f37540h +dd 07b27e83fh +dd 022dd8943h +dd 097b077eah +dd 042604e35h +dd 0da951eb0h +dd 05ff1263fh +dd 0313eff52h +dd 0eb81ba30h +dd 0bd5a027bh +dd 0fa4d42f0h +dd 0cd5209a3h +dd 02469685bh +dd 06313686dh +dd 0c05c5f41h +dd 0cffd3d5dh +dd 0f0fa5351h +dd 07712bc9fh +dd 0966f421fh +dd 08b23286dh +dd 0c2d13050h +dd 0a302b2a1h +dd 0001d0ac8h +dd 041c0909eh +dd 073967a31h +dd 08a389ee8h +dd 04657e893h +dd 04da833b7h +dd 04446c912h +dd 0abcf60cdh +dd 0c6db4e66h +dd 001498e49h +dd 0a6839909h +dd 0a98d286ah +dd 0086b2bc5h +dd 035d3139dh +dd 0aa272dc9h +dd 04aa409f0h +dd 006500a74h +dd 0e24487aeh +dd 0c6763fd8h +dd 096b9ae7bh +dd 03e2b476ah +dd 0cb543e18h +dd 03b3a311dh +dd 0c15a557fh +dd 0816b2402h +dd 042c2e172h +dd 025d36231h +dd 06e7f4d40h +dd 0f7e144d6h +dd 0efc9404bh +dd 087eee32ch +dd 0ed216c33h +dd 09499b3b7h +dd 0d53bf8fah +dd 05af838ach +dd 03cbacb2ah +dd 087d41169h +dd 003f00894h +dd 0521fc158h +dd 0e95ad5fah +dd 0ae1c8db7h +dd 0d5c40dcbh +dd 04f67fd29h +dd 092b71a5bh +dd 0c32c93c6h +dd 0f53898f2h +dd 0c2654dc8h +dd 0c95ae16ch +dd 06225e2efh +dd 0a5cf50cfh +dd 031a32efdh +dd 0ac643da6h +dd 075dd563dh +dd 0b65e4580h +dd 0e28f1af0h +dd 0bd8a2c7bh +dd 0a0ceb24eh +dd 09148253ch +dd 07d66afb0h +dd 01bd5fb81h +dd 010589dbdh +dd 09861df8fh +dd 0921b5550h +dd 06560ca25h +dd 0a234df47h +dd 0e6eb68afh +dd 0ba8831e8h +dd 083adc8edh +dd 0d9a43089h +dd 00b71bc9fh +dd 06efda8e7h +dd 0e11a0549h +dd 0f420bdebh +dd 0ad8eaff3h +dd 05c2a7da8h +dd 070109cd0h +dd 0d5f8fa70h +dd 03b72497fh +dd 00a2a2062h +dd 0fb7c4cb7h +dd 0c9643836h +dd 032ae1d37h +dd 032697abfh +dd 00de05901h +dd 0c917b65fh +dd 075b62394h +dd 05c726189h +dd 036a518d0h +dd 0cb7f3ff2h +dd 057fb5744h +dd 0d4c4bd0ah +dd 08511d839h +dd 0740c718eh +dd 074e99185h +dd 0fc439a96h +dd 0104dc0c8h +dd 0b70da741h +dd 0627d9836h +dd 04676f599h +dd 0979818b3h +dd 0fc062404h +dd 0f5dc0e7dh +dd 06cc3a2f3h +dd 063887412h +dd 06fa6bb53h +dd 0a0d603a1h +dd 076abb283h +dd 0833f9897h +dd 0110d4b07h +dd 0876aa653h +dd 051e5ec9eh +dd 0f4aff88ah +dd 0db6defa3h +dd 0b2f4a361h +dd 0140fa179h +dd 0bb42cd13h +dd 00982b032h +dd 03a9e7469h +dd 0b4bc2875h +dd 0bab5196eh +dd 037823a0ch +dd 07cc3bfaah +dd 0c48a962dh +dd 0725e57c9h +dd 0df63cbd1h +dd 0c6a6d5e4h +dd 0cca9323eh +dd 06febec57h +dd 015fb4cc7h +dd 0abe9120ah +dd 04e0ee139h +dd 0a59c7fe2h +dd 03f255e9bh +dd 0e5755d72h +dd 0fea29bfbh +dd 0a9d9af85h +dd 05fd62997h +dd 0f5062e62h +dd 0fe11ecb7h +dd 02df180b2h +dd 0caf2df08h +dd 0cb1c6160h +dd 0adc1f881h +dd 0e9421f82h +dd 0e9a72f7ch +dd 091626ab3h +dd 0b5d01b20h +dd 06b0e21cah +dd 0dd5ef841h +dd 0275616a3h +dd 0a52a61fch +dd 035d0f745h +dd 0ba3a4b77h +dd 03799e757h +dd 0a9b4b84ah +dd 0ba85f15bh +dd 043659745h +dd 0752fb8b9h +dd 0ce037e0fh +dd 0ad246ff7h +dd 04e2d5443h +dd 05384f1cfh +dd 0146f384fh +dd 08048ff71h +dd 07fa85277h +dd 0a017e5ach +dd 093c76487h +dd 0a5d1dfa9h +dd 0283e2688h +dd 0c48f98f1h +dd 02ac1e4dfh +dd 0bea4f243h +dd 01d748cd7h +dd 0bace5af9h +dd 0618ad3e0h +dd 088d69cdfh +dd 0d86c0153h +dd 0dfe1c64eh +dd 0e8bdfcc4h +dd 062ed751ah +dd 07347eca4h +dd 0787d53aeh +dd 09e9f7c69h +dd 0f7251bdfh +dd 0a590e089h +dd 0dcc8df72h +dd 070ffd4e3h +dd 05516f7edh +dd 0ec471577h +dd 00fe8cb93h +dd 0205de0f4h +dd 0c84a7bb3h +dd 08344db17h +dd 07a53372dh +dd 0781889e1h +dd 06f6549e9h +dd 0fbae9c6fh +dd 05a610385h +dd 045a62ddeh +dd 02abdc2abh +dd 09186bbd9h +dd 087cdacb3h +dd 05f566549h +dd 0b093c347h +dd 0ededd75ch +dd 06e149164h +dd 0a72963efh +dd 0d64cb966h +dd 09f239cc7h +dd 066645eddh +dd 032024bbbh +dd 019342167h +dd 0cb2c1c14h +dd 05bd8349bh +dd 005600b2ah +dd 0017bf382h +dd 0471fa5abh +dd 034149c92h +dd 0c5b9993eh +dd 0d08c6adeh +dd 070970ae2h +dd 040b5613fh +dd 0f92b348dh +dd 031266d68h +dd 01f7cec86h +dd 01003b7a4h +dd 0f26428bah +dd 0f3217751h +dd 05525c4a7h +dd 0b71b8177h +dd 034d64d52h +dd 0c3c02109h +dd 03b1f4c5bh +dd 09f90432eh +dd 0af1a6586h +dd 0251410fah +dd 003f99539h +dd 01e66edc5h +dd 04e712064h +dd 0f5eef14eh +dd 0a322d270h +dd 032716b69h +dd 0f12ab490h +dd 0d8c6da45h +dd 089436ccch +dd 0b10d4505h +dd 0784cff7ah +dd 031ed36a8h +dd 0eb6cdb61h +dd 0d16db470h +dd 0b56f04e2h +dd 0b857df10h +dd 0cde28b92h +dd 0d967fab8h +dd 09c265f08h +dd 07a680d5ah +dd 09b7674deh +dd 03aac3e0ch +dd 04c1f7ec5h +dd 0f15c8160h +dd 02a3a7662h +dd 022933303h +dd 0719e571ah +dd 0cedde814h +dd 09951eddeh +dd 06a4783f4h +dd 0a5820d78h +dd 0926279feh +dd 01cf0d396h +dd 08f01d6d7h +dd 09a08a0e7h +dd 0e189fc20h +dd 01fcc8970h +dd 0d14de722h +dd 02e2858f6h +dd 02f0ef376h +dd 060d50949h +dd 04d4f5463h +dd 004843acfh +dd 05458f914h +dd 0ba9aa6d1h +dd 0dd0c0bb5h +dd 06e669854h +dd 0fd606dbfh +dd 04da3ef4ch +dd 0d29994f4h +dd 09f90467ch +dd 0f1e12600h +dd 0cbb6a772h +dd 01c622c5ah +dd 0eb493d34h +dd 068ecac61h +dd 0801d4d9eh +dd 025b4beaah +dd 015e87f34h +dd 0c6cfb730h +dd 0355fb10ah +dd 096fe414ch +dd 0004a497ch +dd 06ce4a94ah +dd 014e05056h +dd 0141398f0h +dd 09b3d2700h +dd 0317427c5h +dd 099b2a897h +dd 0f6d18afah +dd 0da7094e6h +dd 0ea20c034h +dd 070db77d5h +dd 0fa0471d1h +dd 08a4a29bah +dd 0a0ca9948h +dd 0a70dc7f4h +dd 04d7d88e2h +dd 065ec92e5h +dd 002bb79edh +dd 0a2fccbe6h +dd 02ebccdc1h +dd 053a705c7h +dd 03cf9be81h +dd 08c8a31e8h +dd 0813c3e7fh +dd 0f93d0fa0h +dd 02efb8714h +dd 06d91a1b1h +dd 0b2007f06h +dd 0506f94bch +dd 03e258831h +dd 0b1a09fcbh +dd 096ab7241h +dd 0a6bef8e1h +dd 04ad27fc0h +dd 033f58826h +dd 0e7b0b1e5h +dd 0ddf8e3d4h +dd 04ff28069h +dd 0af6cef71h +dd 083c26920h +dd 02d549020h +dd 049aeff9bh +dd 0d0649e75h +dd 05acc45d7h +dd 0a10fe9c5h +dd 07bf60787h +dd 035ab4b99h +dd 0734eba37h +dd 0d7f65b07h +dd 0282fa8eah +dd 09714a761h +dd 0800461bbh +dd 0f1c66c8ch +dd 0ff6c17b2h +dd 0aaed697dh +dd 0a4da8208h +dd 03633551dh +dd 01ff8bb87h +dd 00e9a3869h +dd 0dda71b94h +dd 0f85e230fh +dd 044a66918h +dd 079283370h +dd 08b32300bh +dd 02efee6cdh +dd 0ed26f5feh +dd 0b7126b2bh +dd 08726ea45h +dd 023b6fb60h +dd 0c773ac5ch +dd 0932b9d8bh +dd 01bd1b860h +dd 0b24a11ceh +dd 048549108h +dd 05f4d64f4h +dd 02bdef8dch +dd 0c557e9ceh +dd 0287a22d8h +dd 05868e52ah +dd 0841a70cfh +dd 0d18d0bdfh +dd 0ce4f45c0h +dd 0f6c3c1cbh +dd 015e03f66h +dd 0ba04e55fh +dd 01adbfcbbh +dd 0a8edde4fh +dd 0cc1d678ch +dd 09aee769fh +dd 054785db7h +dd 075ca64ffh +dd 0956754b7h +dd 0495bcf78h +dd 05667fb3dh +dd 0f2f62ee2h +dd 0e8a0ac74h +dd 09137adfbh +dd 0ec46bd1ch +dd 038202619h +dd 027f75c2ch +dd 0267aa07bh +dd 03ed354a5h +dd 033425c92h +dd 0c787c2d7h +dd 08a6ab408h +dd 00de49eceh +dd 0f23a2dech +dd 01625acbbh +dd 0f6515644h +dd 066f71994h +dd 0e7efa43dh +dd 07742b950h +dd 0e6b74fc7h +dd 0153ef154h +dd 0fa5e4fcfh +dd 06b989c60h +dd 0e9b7096bh +dd 0f2f8955dh +dd 0717c9975h +dd 08a26f060h +dd 0a7424217h +dd 0097be2f4h +dd 07e9ab4c9h +dd 06bf56bcch +dd 0e333b5b7h +dd 0a8e15a9eh +dd 0827a8e2fh +dd 077d51854h +dd 026dbe82ch +dd 0de20ac8fh +dd 0ef452a93h +dd 0c35bd065h +dd 0e6654433h +dd 03a867106h +dd 0675c0c7dh +dd 0429b765bh +dd 09a44f1cdh +dd 08c94f4f5h +dd 042cdbb3ch +dd 097b8dbe4h +dd 025a8d91fh +dd 02cafc8a0h +dd 0cea2ed71h +dd 0d5906de8h +dd 08b6154a4h +dd 08bc11779h +dd 00ab563d0h +dd 05943cc10h +dd 0efaee983h +dd 07ead455ch +dd 07895a8a4h +dd 02f76f3c9h +dd 09eb0ce52h +dd 0296f8921h +dd 01303c710h +dd 049cdd1c2h +dd 0020f99b1h +dd 0f6d2a7d2h +dd 0cdf20d68h +dd 0282bd7fbh +dd 0d2945afah +dd 05da24870h +dd 0a29259cfh +dd 072408168h +dd 07f0458c6h +dd 03a0b1cd3h +dd 038d9f3ceh +dd 0bc474299h +dd 08d96329ch +dd 07a76fd7eh +dd 0306cca0eh +dd 0322f5773h +dd 0ff4a66c8h +dd 018d6900ah +dd 0a825955bh +dd 08bbcef8bh +dd 0de12dd34h +dd 06e18b950h +dd 0738ab510h +dd 04f94321eh +dd 0b64cfe5dh +dd 0e260c4e0h +dd 0bbbb1c88h +dd 0c477c0cdh +dd 03584300ah +dd 0c787af35h +dd 064ae9816h +dd 0e8d734cdh +dd 017e2deeah +dd 0d41c1218h +dd 0cedd37bah +dd 0719c7c36h +dd 053c883bbh +dd 029e5a982h +dd 0c1fe1dach +dd 05fe59131h +dd 0107f8359h +dd 0e398c2d7h +dd 0c92fbbb9h +dd 09aa4addch +dd 0f33fa947h +dd 0e7a4fae0h +dd 0587a4c27h +dd 0c276555eh +dd 0197dc93eh +dd 082a6a82dh +dd 0741762a2h +dd 094e25e64h +dd 0c5078933h +dd 097b16c2ch +dd 0aedbce52h +dd 08398ccc6h +dd 0c56f31d0h +dd 0ab2a0b8bh +dd 0eee9aad0h +dd 0eb372968h +dd 0a70b790fh +dd 063d2604dh +dd 0fbbde987h +dd 0070adc07h +dd 0bde8d55dh +dd 0d6fcbed6h +dd 0e051a778h +dd 051aeb88ah +dd 04746017ch +dd 044cd85f4h +dd 0977ee0cch +dd 0c5321901h +dd 09b08d44ch +dd 04109d59eh +dd 018108cbeh +dd 030211d4ah +dd 096f0b201h +dd 034a316c7h +dd 08fb10fe0h +dd 0d1ba7ce5h +dd 0fdcdf899h +dd 05892ed47h +dd 0b8355131h +dd 0858d451eh +dd 08de955b9h +dd 0a90578c0h +dd 0518cc7f9h +dd 0aa0fd4f3h +dd 0a96f4c92h +dd 0cf8be390h +dd 079532300h +dd 086b12efeh +dd 0e3fe40d3h +dd 0c0e265fbh +dd 0186fdd1bh +dd 09db21119h +dd 0fb4ff195h +dd 060f95156h +dd 001069164h +dd 0b1b2ed18h +dd 0ed6a6f6eh +dd 0770454a3h +dd 0c879f635h +dd 06e151cfah +dd 038b0e2d4h +dd 00a0ed4d9h +dd 03b01ef80h +dd 0c1851f6ah +dd 0b6f6b1e5h +dd 04d8e46a0h +dd 0864f0a05h +dd 0d8573729h +dd 02ded5067h +dd 006645eb1h +dd 055a0192dh +dd 04ae4b3f0h +dd 0967aeb16h +dd 0cfca8f5ch +dd 0c909cf96h +dd 084f4f930h +dd 03a468aadh +dd 0dd16f93bh +dd 01dab92bdh +dd 04f9ae157h +dd 071a85703h +dd 03d73a9c7h +dd 0d1205d84h +dd 02fbfc94fh +dd 0d7865d42h +dd 00d013af9h +dd 0f7c61863h +dd 0c3523863h +dd 0b87fee9bh +dd 04cb90f04h +dd 08eac97f7h +dd 0c4f7668ah +dd 08bc0d44eh +dd 0e978b9a1h +dd 00a23afc2h +dd 03c21a59bh +dd 0649ebd6bh +dd 0130d2f4ch +dd 08071ed1ch +dd 003ca3a52h +dd 0d1417bech +dd 0d33e2da3h +dd 09027129dh +dd 025ca4484h +dd 0a540e60dh +dd 05ee45c73h +dd 0d10de4e1h +dd 013584bf3h +dd 0494d8f63h +dd 0a0076077h +dd 0bd80e110h +dd 0adecd985h +dd 0bda658edh +dd 08df31422h +dd 0f3d58500h +dd 036f6db04h +dd 06ec31030h +dd 0608d1aeeh +dd 0e0ec8e24h +dd 0568e3ea2h +dd 0acaa57fch +dd 0bf0221f5h +dd 04f153ee2h +dd 04fbb7632h +dd 044d95524h +dd 0438916bah +dd 0190faf2dh +dd 0ea367f02h +dd 01561ca56h +dd 08fdadee3h +dd 0794a7d81h +dd 03d51a78ch +dd 04fa69691h +dd 0b4e39da6h +dd 0ddfe1475h +dd 0c3f24e04h +dd 08f314fe7h +dd 0766b5d0dh +dd 025432577h +dd 04a21280dh +dd 0a747de73h +dd 08bbc5224h +dd 0cf50e527h +dd 0f2a8fa14h +dd 0099fece4h +dd 066ea7bebh +dd 0e6cbea7ah +dd 0ab8df7e5h +dd 03c6b5672h +dd 08e5044d1h +dd 057fdce83h +dd 02144014bh +dd 00a2d113fh +dd 0ef4dbd4bh +dd 0da84cab7h +dd 0c9a3d5bdh +dd 0ed565f43h +dd 0e00ffb08h +dd 012d77781h +dd 02ad02cb0h +dd 044fe975bh +dd 0d321817eh +dd 098368b79h +dd 0da750127h +dd 0f67538ech +dd 0db11ade9h +dd 012c4f54bh +dd 0e4342badh +dd 0b8c5c009h +dd 0721d76c9h +dd 07b4f9ec8h +dd 09a6fe38dh +dd 029586656h +dd 02a07e939h +dd 08a4e5949h +dd 09b4270fch +dd 013532a4dh +dd 068b9b86eh +dd 0c6d4d252h +dd 07fdb35e6h +dd 0704acd51h +dd 0e1685ec1h +dd 0f99ee36dh +dd 0fc3e3473h +dd 02e0f0fe7h +dd 0dd11206dh +dd 0bf134f62h +dd 0f68b3503h +dd 06cb0da5fh +dd 05bc8eaa1h +dd 041bcf37ch +dd 0e178789ch +dd 053b78275h +dd 03260316eh +dd 0fb0e2e94h +dd 0ba3f8393h +dd 02842b434h +dd 0823ed4e6h +dd 096fa3377h +dd 0e76424b4h +dd 0a2f55331h +dd 07f9138bch +dd 0a22aca0dh +dd 04c33ead4h +dd 070ee16e3h +dd 01b79776dh +dd 07f879a84h +dd 0e04cfa53h +dd 0311a7fc5h +dd 0137a9463h +dd 0181e14e0h +dd 02167db0ch +dd 08c4eec95h +dd 02f35f785h +dd 0c651c4adh +dd 012efa51ah +dd 08ff5bc80h +dd 010fbcc18h +dd 0498e4fd0h +dd 0baaa4504h +dd 097255bd3h +dd 05abe4ae3h +dd 096ebe100h +dd 0decb85a6h +dd 0f5c64988h +dd 01ce09c64h +dd 0459b60f6h +dd 09e733b36h +dd 0c30610f2h +dd 0539443cfh +dd 0a9b0e8cch +dd 0b8de0b6bh +dd 045fc03e3h +dd 097285656h +dd 010ae719eh +dd 09a1e3b2eh +dd 08afa7002h +dd 01451f763h +dd 0c0d5ae43h +dd 023c60323h +dd 0688f4f83h +dd 08a5b3a54h +dd 08eba7ad0h +dd 0a2048bc5h +dd 05f8ec740h +dd 0442b080ch +dd 0eceebe2dh +dd 04d89d38eh +dd 004a6a0a9h +dd 06993dc11h +dd 0bb98c6b7h +dd 0efdec952h +dd 0d444d2d7h +dd 086627546h +dd 0c4f33269h +dd 0c8055501h +dd 0fd1f7aa5h +dd 0f0ce1641h +dd 028c3b7bch +dd 04d72b606h +dd 06c67607fh +dd 05b843c78h +dd 044a2e032h +dd 0ca4994a8h +dd 004105b4fh +dd 0e26990c2h +dd 0a42b44cch +dd 0ec7141bch +dd 09d76b906h +dd 0a781e0c6h +dd 080fbf5e4h +dd 075188ffch +dd 0223aec92h +dd 0c4b48410h +dd 00da84d77h +dd 02d9a1d0ch +dd 09c21a075h +dd 0273b17d4h +dd 0361ccc58h +dd 073fbc36fh +dd 0e9009c45h +dd 0ea548fb4h +dd 0506edc04h +dd 08550e8f2h +dd 0a9c21e66h +dd 03ae1e95eh +dd 0fe13456bh +dd 0a9ca3268h +dd 0c834880eh +dd 0a2d898a0h +dd 02c6280a8h +dd 073b602e1h +dd 017670413h +dd 0a7bb3046h +dd 0083fcf29h +dd 0f77605e9h +dd 0921ad08bh +dd 0db5cda67h +dd 01771fe9eh +dd 084448080h +dd 0c236595eh +dd 039a31959h +dd 0e53986a9h +dd 04e3437c4h +dd 0911e4495h +dd 090c1ffceh +dd 0725f6bcdh +dd 0276006f4h +dd 0836c9ad8h +dd 086f6de57h +dd 05d4e2191h +dd 024fab055h +dd 0b5691166h +dd 046250681h +dd 0c66e1801h +dd 0208e2667h +dd 06e2958f4h +dd 004c012cfh +dd 0c291dda3h +dd 026215f2fh +dd 0243d9954h +dd 0055e679eh +dd 0dfd90d30h +dd 0a77f8b84h +dd 0c028f99bh +dd 05f83df7ch +dd 0e9b2f735h +dd 0b467acc0h +dd 0314c4090h +dd 0afa80d41h +dd 0afe030d0h +dd 0d0338584h +dd 078757c8fh +dd 0ffae03f6h +dd 0c501b7c5h +dd 08e20f045h +dd 06027b2eah +dd 05cf3b310h +dd 036cf8324h +dd 0d16d8cb1h +dd 0a89c9d57h +dd 0ec1b73a2h +dd 0260b879fh +dd 0bdb3b1f8h +dd 0788eff25h +dd 0612a51b3h +dd 0ddc4bbd7h +dd 0b9176836h +dd 04f8447efh +dd 033bf252bh +dd 07fe08bc9h +dd 08347a267h +dd 05a630907h +dd 0e1bd2cf6h +dd 05aa443b8h +dd 0f547d434h +dd 076c4cbf3h +dd 0668ad43bh +dd 0bbbeee66h +dd 050ddda42h +dd 0dd1cd78ch +dd 08e4c80dah +dd 0a1e8603ah +dd 0993fde54h +dd 0eb5be6c0h +dd 0e040ade6h +dd 0323d4d28h +dd 04b2efe92h +dd 076f05ee1h +dd 065d13c92h +dd 0b880aa64h +dd 0d15443e9h +dd 016ecfb15h +dd 0ac35e090h +dd 017ecc206h +dd 04a6e4e2ah +dd 0fa453b5fh +dd 02e0de290h +dd 07b20c52fh +dd 088e1bc11h +dd 0d205823bh +dd 070ca6556h +dd 0efce8dc4h +dd 07de72964h +dd 08cafa009h +dd 0eae75b04h +dd 0412616c6h +dd 00a371898h +dd 0bba9d033h +dd 0cbcc97e3h +dd 0c92effedh +dd 0c80aa658h +dd 0eb843627h +dd 0ce25e526h +dd 05c3b77bah +dd 0ba459d49h +dd 00723239ah +dd 07e6aa39ah +dd 0d53c2d08h +dd 0541f49c2h +dd 008d79d7fh +dd 004cb11d2h +dd 0bee92c0bh +dd 00fb226c7h +dd 0f82e7d1dh +dd 07ce37db1h +dd 066729ddfh +dd 08257a95ch +dd 04ca4a726h +dd 0ced451aah +dd 04a4ca671h +dd 0b6bcfb4ch +dd 097831338h +dd 0fb07204bh +dd 059c4000ah +dd 07f4e61bah +dd 0f9b75afch +dd 0c8e1bc9dh +dd 0664895bdh +dd 056655883h +dd 069d7d2c7h +dd 0b25c6f61h +dd 039b54b42h +dd 051b9669ch +dd 021dd3500h +dd 0b40ab48eh +dd 0f137b975h +dd 0fdaccf44h +dd 029f69b36h +dd 028b1137fh +dd 0e1c5c993h +dd 0746a3186h +dd 0e61bd973h +dd 074bde8e1h +dd 04ae69c88h +dd 0a3427620h +dd 03be8a4a7h +dd 08a03bb5ch +dd 0a2b65c31h +dd 024dd555eh +dd 0fa46d6e2h +dd 019568d54h +dd 008fd9843h +dd 0c3a1d9feh +dd 0a800f7cah +dd 0018174d4h +dd 0cdeb7e55h +dd 042d92172h +dd 07f6d3ef3h +dd 0ebf1303fh +dd 0be66bbe7h +dd 06c491034h +dd 06ff56530h +dd 076ae28c8h +dd 07b2d2029h +dd 0ca9e5bc3h +dd 05379583bh +dd 015446044h +dd 054ca2820h +dd 012dd19d2h +dd 06977c985h +dd 046bd56dch +dd 08ef8b185h +dd 0bf5af54eh +dd 043ffa736h +dd 0f76c9cb4h +dd 02ea89760h +dd 0d9a9c688h +dd 046a7b5c5h +dd 0eefbe92eh +dd 007d625aah +dd 025f7fbc6h +dd 09329cd1eh +dd 02f37fc9fh +dd 0a5a1d523h +dd 06de565dbh +dd 0a4ddf9ceh +dd 070de9fb7h +dd 01d61a4f2h +dd 0835f9815h +dd 0009300fdh +dd 0c320d273h +dd 05bea9042h +dd 054bbd742h +dd 0ae378649h +dd 0727aa49bh +dd 079a8a1e6h +dd 0521de9e6h +dd 0b463fa94h +dd 0654b1d65h +dd 096aac807h +dd 084a47498h +dd 033961d28h +dd 0d6d05b16h +dd 09c9eedeah +dd 051fe99c5h +dd 00b9925e8h +dd 040a578b3h +dd 0e5961ee7h +dd 014d2dbc2h +dd 05b6b35eeh +dd 005ec6f2eh +dd 0e8f18381h +dd 0cf306387h +dd 07b73cfa9h +dd 0f171117ah +dd 03f6a5656h +dd 0f49f2682h +dd 0241b2924h +dd 0d0c71390h +dd 0c5d0647dh +dd 09d91a69dh +dd 0642f6084h +dd 02fea2099h +dd 070f0e2a1h +dd 0a10f94f9h +dd 0f36d7167h +dd 03ceae562h +dd 03401505dh +dd 0433f6fe7h +dd 04c22bb30h +dd 0b2206f2bh +dd 033222d6bh +dd 07e5b302dh +dd 0f4ef5d0dh +dd 0d69c965ah +dd 001d23d10h +dd 09a04f728h +dd 084539f35h +dd 0114c69b1h +dd 08fca28bch +dd 078894856h +dd 0f59070b6h +dd 0f95d2093h +dd 0cd5e6e87h +dd 03b2bf4cch +dd 0774bb7ddh +dd 0f0d4d7afh +dd 0c00cbee3h +dd 04f511f20h +dd 05fcf91d4h +dd 002ba0753h +dd 08114ee4ch +dd 088b2e36ah +dd 006f46bd9h +dd 09e96bfbch +dd 028a7c137h +dd 0ddfd3927h +dd 065a93a26h +dd 0e532c2a1h +dd 0d7a9835ch +dd 06ee1085fh +dd 04889775fh +dd 02723d272h +dd 095f47a08h +dd 0db9a5f67h +dd 0343cc891h +dd 09178aafah +dd 01f36b1bah +dd 08a2d4c59h +dd 0e53dafa1h +dd 0e3e799e9h +dd 08ccc43ebh +dd 06aca3670h +dd 04815d995h +dd 03395060dh +dd 0daa10058h +dd 08ac9f3c2h +dd 01516828fh +dd 06c887232h +dd 0b68ad15eh +dd 028d64ac8h +dd 07ac46b91h +dd 007007bc8h +dd 0bf0aaa75h +dd 0d1e1884eh +dd 0963e1d89h +dd 097a54a31h +dd 078e347d1h +dd 0bd09654ah +dd 0f8ceb39dh +dd 0f6de03adh +dd 0c890e2b0h +dd 0e7dd2d48h +dd 053bf3ac2h +dd 05eaae509h +dd 0114ae9f6h +dd 05d3244e2h +dd 07bf5111ch +dd 02048612fh +dd 056aabb2ch +dd 06dc8b858h +dd 03ce8d5a7h +dd 04b89742bh +dd 05e0516b8h +dd 06646d993h +dd 041bb99c8h +dd 00194e0e2h +dd 032e9ad8eh +dd 066f352fbh +dd 0d972edeeh +dd 01cf751b8h +dd 018de8810h +dd 0ad862438h +dd 0aa0ba89eh +dd 0f35925bah +dd 07c5ac85ch +dd 0e8188050h +dd 0f77b1039h +dd 036699f35h +dd 01c813ea5h +dd 07e51db53h +dd 0b8292d0ah +dd 0847a2853h +dd 00860aa94h +dd 0c0d4b641h +dd 0afbc9b4ch +dd 0a4c7c52fh +dd 0b28041a4h +dd 0d4b9330ah +dd 01cedfc74h +dd 0229bb7ffh +dd 0acc83397h +dd 0219d93fdh +dd 0c91c6675h +dd 03c4491d7h +dd 031112f38h +dd 086873e1fh +dd 0b669aea3h +dd 0c6be88fdh +dd 0f1629b9fh +dd 0175fa5a0h +dd 0ee7eb260h +dd 0541de88eh +dd 0ca41f067h +dd 0c0d33b5bh +dd 0351e8a25h +dd 0dfcc60a3h +dd 025e2b7d9h +dd 0042659abh +dd 064b8c3d3h +dd 0efec0d07h +dd 016c08fb9h +dd 05df5968ch +dd 0d34bf32ch +dd 07cb2ad77h +dd 0fe6addfbh +dd 08b3ddc08h +dd 085ed547dh +dd 00c8ddc9ah +dd 05b342876h +dd 029d8b153h +dd 0c53da578h +dd 098b8274ah +dd 06362ea1ch +dd 0204e719dh +dd 097b600c0h +dd 08204156fh +dd 0a480012ah +dd 0e95f5de9h +dd 0a68bda27h +dd 07f499032h +dd 09942ea68h +dd 0b1d40b47h +dd 061458b16h +dd 018147097h +dd 08127e636h +dd 0261d03a2h +dd 095d9d77ah +dd 0d042e12ah +dd 00b4ae47eh +dd 0c9ee530fh +dd 098d0c8a7h +dd 0f4756228h +dd 0cc89a9a1h +dd 01b20231dh +dd 053529c42h +dd 05b5dceb6h +dd 0c9a5082fh +dd 06d9e7bcdh +dd 082e55742h +dd 03aa0c44ah +dd 03083f12dh +dd 0a94c2f3dh +dd 0e772880ch +dd 034ea6e41h +dd 0f9528862h +dd 07c355713h +dd 041922789h +dd 0ad9fb678h +dd 0b3070f30h +dd 0e70c348fh +dd 0855eb935h +dd 0a8c6f95eh +dd 043168165h +dd 06dc38f32h +dd 046761119h +dd 09faffa43h +dd 0999f2a24h +dd 0be7bd417h +dd 04e7dfbe7h +dd 08b67ec43h +dd 0886d3144h +dd 0923b15c7h +dd 0ff44167bh +dd 055a0a429h +dd 031746f9fh +dd 03fa67baeh +dd 00599616ch +dd 05de740fah +dd 047d348cch +dd 0a6f67f26h +dd 04814251eh +dd 0859f86f1h +dd 0d3f969b8h +dd 0c53e61abh +dd 03f348a99h +dd 0e3849a8dh +dd 08fc6bef0h +dd 03d9e2d6ch +dd 0901e1cdah +dd 0bf2781c4h +dd 028aff164h +dd 0ed141587h +dd 0c7343517h +dd 0227f5fcbh +dd 0e7a529dah +dd 057c5d1c4h +dd 09dea0ebbh +dd 0764246c0h +dd 0c9527df5h +dd 096f23a36h +dd 0b733fc9eh +dd 0b1bb4b44h +dd 073a2cd7eh +dd 0d94a66c0h +dd 098ad1a17h +dd 045da7093h +dd 072fb75b3h +dd 0d6bc95d6h +dd 06e24a3c8h +dd 0ccf6cb10h +dd 05d84fe06h +dd 0bbae2923h +dd 053b7a3afh +dd 039980fcfh +dd 0f4262e59h +dd 08015ed70h +dd 033479b4fh +dd 05d203f82h +dd 032151ee3h +dd 0cf53c133h +dd 00f115126h +dd 040f9cf87h +dd 0860213c8h +dd 08b5e9f02h +dd 0177462bch +dd 00623de84h +dd 03f1032e5h +dd 04c4fab71h +dd 0cf74c60eh +dd 0eba0c608h +dd 0537f96c0h +dd 01fb5b121h +dd 07048a089h +dd 024dee7b0h +dd 0adc5a074h +dd 01c9d655ah +dd 02207a298h +dd 0483a37bch +dd 0f66283e8h +dd 0c2df929dh +dd 0f0aeb790h +dd 005b76fcdh +dd 0be3cee2dh +dd 0dd5d3f64h +dd 00b1412c9h +dd 0ac92ba0ah +dd 017f2bd1ch +dd 0b651b654h +dd 0dfd849dah +dd 01e834511h +dd 0c1c15d61h +dd 01fa76cc2h +dd 095bb5b5ah +dd 089b60554h +dd 09da1f8a8h +dd 037ff43f5h +dd 0432bd2dch +dd 0040ac3cch +dd 00b2d935dh +dd 0fce59d49h +dd 0cd6e0ddah +dd 08ff5b7f6h +dd 0a169a358h +dd 0035b1546h +dd 0a3d2fedch +dd 05b0f0142h +dd 017aa390eh +dd 0550d6a0bh +dd 0274a37ddh +dd 0b0780024h +dd 0c49272b1h +dd 09ed61fafh +dd 0c92b5573h +dd 06498dfefh +dd 07267a8dbh +dd 0f5b781c4h +dd 09ddd929fh +dd 0255177d1h +dd 01293770bh +dd 094bf80fdh +dd 00dd9d981h +dd 011f1aa6eh +dd 0b18266e2h +dd 09c0c52d2h +dd 00ef48b08h +dd 0c9d98cddh +dd 0bc61d1d0h +dd 0cc5e3d26h +dd 0a07a5ebbh +dd 03c289ce2h +dd 049f6ed8fh +dd 0ad795558h +dd 0ccf8a2f4h +dd 0fc2d840bh +dd 01b11952dh +dd 0bd69a6c1h +dd 0dc9c1f9fh +dd 06d865fb6h +dd 02886fa96h +dd 0229208a1h +dd 039c877f2h +dd 04100cfbfh +dd 01e5fad83h +dd 0819fd371h +dd 067c74734h +dd 04ad3780bh +dd 015361161h +dd 0927c64b3h +dd 00546cbc8h +dd 0f03ad618h +dd 0c3453834h +dd 0bb3f5ebeh +dd 015f362d5h +dd 0513d0f8dh +dd 0fdab793ah +dd 0238765bah +dd 0e05041d1h +dd 03bca240bh +dd 0df5cc597h +dd 0afe78481h +dd 0941f99feh +dd 0193a05c6h +dd 0d70e3f17h +dd 0e9915003h +dd 09cda61e4h +dd 0d70d8990h +dd 079997d8ch +dd 05db822cfh +dd 0c27d602bh +dd 02afbce06h +dd 0ca2cd355h +dd 0597a0aech +dd 091ad3d97h +dd 03b855f7bh +dd 05060223dh +dd 092097042h +dd 0c846388ch +dd 01cb78527h +dd 0880d53b2h +dd 02b2aa51eh +dd 0f8414dceh +dd 0c75d7bb8h +dd 0a9e9e965h +dd 048f456e3h +dd 0527ad904h +dd 05a79bd0eh +dd 02642df78h +dd 024f80f73h +dd 001e8a0b1h +dd 048f8f568h +dd 010e65267h +dd 0dbfc1155h +dd 0472307bch +dd 0deb4a883h +dd 008d713bch +dd 03e207b9dh +dd 081b2827bh +dd 0d62782f0h +dd 043095cf9h +dd 0f2e150aah +dd 0587e1daah +dd 00c8f061ch +dd 0ccb413dch +dd 016b7fae0h +dd 015f5bf07h +dd 0aa9e5bf2h +dd 03dd59c23h +dd 026766e91h +dd 07e5cf6c0h +dd 0b3aceb8fh +dd 0093a47b7h +dd 0e9cfe098h +dd 09434e2adh +dd 0b3ae1fe6h +dd 044250bc2h +dd 0f5dbd0dah +dd 04a8a075fh +dd 0f9fc7dbfh +dd 0f78accf9h +dd 0a5fba94bh +dd 0535a342dh +dd 0c7a1247bh +dd 071a6418bh +dd 0ecdb3e36h +dd 0b782f596h +dd 00aca7ee0h +dd 05402c24ah +dd 036b0b545h +dd 07f6d0891h +dd 02a598bfch +dd 09ba3b379h +dd 01977ffdbh +dd 029a5b6f4h +dd 0733b69c0h +dd 06d58c1e8h +dd 042651a76h +dd 022d571aeh +dd 074cc73c1h +dd 044381cbbh +dd 0d9f411d5h +dd 020009191h +dd 0d2e58cd8h +dd 045d467f8h +dd 08d2905ddh +dd 08b768852h +dd 059a6c4deh +dd 0626664feh +dd 099344ddah +dd 0d188a24ah +dd 012877c2ah +dd 02332a345h +dd 0ed051969h +dd 0d63fe8e1h +dd 0d077697fh +dd 041436bach +dd 0e06e5b8eh +dd 0580bf7f1h +dd 00fdb8817h +dd 07fbcce63h +dd 0530bf6e7h +dd 0ac6e6b1ch +dd 0417268aah +dd 0040810afh +dd 0a6d232bah +dd 0026e872bh +dd 0e58a33b6h +dd 091aa6782h +dd 079dcedcdh +dd 0c1059d97h +dd 05a0ebdd9h +dd 01f05c2bch +dd 056b84640h +dd 0423c1bbch +dd 0e1c3b335h +dd 05ff412ebh +dd 0d137877eh +dd 063914015h +dd 0434bd297h +dd 0ba1e2e51h +dd 0fb95c93fh +dd 079ca6aa9h +dd 0c39ebffdh +dd 0e3366ef3h +dd 0ce9424fdh +dd 0f855b3f6h +dd 0d313e841h +dd 0fdefbf8dh +dd 03e749a7eh +dd 0ad3fa46fh +dd 0a244d219h +dd 036e86d79h +dd 01af10737h +dd 03b3afed2h +dd 05b0738eeh +dd 0668ad89dh +dd 004d28f67h +dd 0b48e0cf7h +dd 08b6aa842h +dd 061a52c8bh +dd 0c691fc1ah +dd 0296a29c6h +dd 0959c697ch +dd 08602319bh +dd 00603f8bbh +dd 012874140h +dd 08f12e4c1h +dd 0e0355b22h +dd 0cd3c48adh +dd 069ba0a58h +dd 07c060c86h +dd 021611447h +dd 0f437dd9fh +dd 0fffec365h +dd 0915ff953h +dd 0efd40231h +dd 048d99488h +dd 07db55ba9h +dd 03c9516d5h +dd 04d9a6269h +dd 0eb85373eh +dd 0f24ef239h +dd 05762ce8ah +dd 07bcfab43h +dd 03fa88a81h +dd 01b2b91abh +dd 0743fac25h +dd 0bfa62bd8h +dd 02ae6607fh +dd 02625202eh +dd 012ea52c3h +dd 02437058dh +dd 0beec9b51h +dd 0e54306a4h +dd 0ec3b2470h +dd 0db005fd2h +dd 003f63f14h +dd 088d598ebh +dd 06313a8afh +dd 088e8dc45h +dd 0e0073476h +dd 07d57fe4ch +dd 04ba154d3h +dd 0f386a315h +dd 0313f1e32h +dd 0b1e34934h +dd 023412835h +dd 03bfba5adh +dd 010bb515fh +dd 0963a2df3h +dd 050901b5ah +dd 0f4f295bdh +dd 0101e1c4bh +dd 0a73901e1h +dd 0fd413534h +dd 0ee6d199ah +dd 05047a8cfh +dd 0e20f1105h +dd 04addf757h +dd 0048d8219h +dd 0567fbf99h +dd 0635ef71fh +dd 04ebfa9e8h +dd 0ecd4ee7ah +dd 0c83e688bh +dd 0ebaa5686h +dd 0212c0258h +dd 0fadd135bh +dd 0496ea438h +dd 082103303h +dd 091df8802h +dd 03c2213bfh +dd 09596a91ch +dd 0dee8f7dfh +dd 09fd170d3h +dd 0d5d798cbh +dd 0d2002a02h +dd 0f40c2938h +dd 0074240bch +dd 00203f62ch +dd 09cd27ba8h +dd 0b987a93eh +dd 0f5181408h +dd 0d81a450dh +dd 0df75b38eh +dd 093533c15h +dd 07b09d933h +dd 03a2f1ab3h +dd 04f3f18e3h +dd 072e489eeh +dd 0e37a156bh +dd 0077f0f5bh +dd 0e8e475a1h +dd 08192ffech +dd 09c4609deh +dd 02eca42e7h +dd 01e3c2cb9h +dd 070f138bbh +dd 0f8f9db27h +dd 02bb93c77h +dd 0d8246f98h +dd 00a021614h +dd 037d7778dh +dd 094c8affah +dd 02f66db25h +dd 01371d14eh +dd 02c35f806h +dd 06eff65bch +dd 0a3019fd7h +dd 018e3d1bdh +dd 0ffdf9ba1h +dd 0a5058431h +dd 0404ac062h +dd 046ea3252h +dd 05caed583h +dd 02c5058feh +dd 0ef87117ch +dd 004d8cbf6h +dd 004b38874h +dd 0716a83eah +dd 05749fe63h +dd 0668244bbh +dd 048658442h +dd 0bb6b5699h +dd 0129b5d53h +dd 0a1cc513ah +dd 02ca97345h +dd 0b2dc75b0h +dd 091fc1773h +dd 0a2e5378dh +dd 01b8e4b68h +dd 0fe7fa191h +dd 01103fbb7h +dd 0e71fc2fbh +dd 0f4cbf8deh +dd 0aff9e278h +dd 014367768h +dd 0d613a31bh +dd 00452f563h +dd 0198f5f07h +dd 007c7eee0h +dd 0cdee670ch +dd 084a2fce4h +dd 0e2563413h +dd 09babd6cbh +dd 0431bca34h +dd 0be5434bch +dd 0925369f7h +dd 089c60708h +dd 04595ba44h +dd 0ef8420f7h +dd 09b55741ah +dd 002160ba7h +dd 08a8eb358h +dd 086d5ddcch +dd 08234f62ah +dd 08d9e2281h +dd 04dddbb79h +dd 05b51519ah +dd 03e7cdbc0h +dd 076ae0611h +dd 03f8a781ch +dd 0f357fb89h +dd 063af10b8h +dd 036a6babbh +dd 0b43bc97fh +dd 0ab516f71h +dd 0efeeae4fh +dd 05190b9f6h +dd 057aa4f17h +dd 0d170185ch +dd 0f7adaa50h +dd 0f14760b4h +dd 0d546008eh +dd 0246f78edh +dd 05e7989feh +dd 0498f588dh +dd 0d0f5eee5h +dd 099a54e80h +dd 025ed6d74h +dd 0cb2a7c3bh +dd 00487283bh +dd 040f964dfh +dd 0db9b0f24h +dd 0ebe513d3h +dd 081ab2813h +dd 0e244423dh +dd 08750baf8h +dd 0030dd62dh +dd 091c0b33ch +dd 05aec73eeh +dd 0e999a657h +dd 0995b356dh +dd 04be600a5h +dd 072160e97h +dd 092d8dde3h +dd 063479af8h +dd 0e518eb8fh +dd 0f59e8bceh +dd 08af35a73h +dd 0a0f8a105h +dd 0a6a8fe7fh +dd 012687c26h +dd 09133054bh +dd 0fc33538fh +dd 0e0f69193h +dd 02f092b86h +dd 0975f18cdh +dd 08cad7ea7h +dd 08de1d9bch +dd 0149e6c83h +dd 03d9da3f2h +dd 011d6cbcch +dd 08bf83b94h +dd 0a039d504h +dd 0fb2143cdh +dd 0a112a71ah +dd 0675035b9h +dd 0054bc7c6h +dd 04cf44cc2h +dd 0de158ac9h +dd 0a3ef1b5eh +dd 0b0621132h +dd 0df6f582bh +dd 04472bc33h +dd 03496a99ch +dd 03a279a76h +dd 0992af18dh +dd 00e0fb9e6h +dd 082c5b1ffh +dd 06cc23fa6h +dd 0264b1dd4h +dd 05493674eh +dd 0b778e879h +dd 095102bd3h +dd 01b96a24dh +dd 0168ddda3h +dd 0159770fah +dd 046e60e0dh +dd 0321ad1f2h +dd 042a1652bh +dd 0e1c0245eh +dd 05bfdbf27h +dd 003010f1dh +dd 064517565h +dd 0d57a4a74h +dd 0ca9fa839h +dd 01c216141h +dd 08f7cfb9ah +dd 0ea6ff073h +dd 00236d13bh +dd 05a03d138h +dd 0ff41d73bh +dd 0a5567e9eh +dd 055c27247h +dd 06af9b95dh +dd 05dc3ddd3h +dd 09dbb969dh +dd 014077933h +dd 06c75d780h +dd 01073f1c7h +dd 0ccd1e04dh +dd 0a04cd25ah +dd 0ecb17d2eh +dd 093d1b4b9h +dd 0e46064d8h +dd 006dfbd4eh +dd 0101e9292h +dd 0c7d59893h +dd 0ba4b317fh +dd 03248bf50h +dd 0fa8fb6d0h +dd 0ada94c66h +dd 0a21f555bh +dd 012220c2ah +dd 0598b90c6h +dd 041284909h +dd 03161e6d2h +dd 0a93ebbd5h +dd 0bf3baffah +dd 0bc3a6886h +dd 053362a8bh +dd 07d9c88b0h +dd 07db15228h +dd 09aaf4aa0h +dd 0aa08bc7eh +dd 0fbd1061eh +dd 0c9edb310h +dd 06581e6f9h +dd 02d9a693bh +dd 038a1c09dh +dd 04575bf34h +dd 000a0ee59h +dd 007db1ee4h +dd 0044979f0h +dd 09b5d9458h +dd 025213478h +dd 0ec287753h +dd 00aa0b997h +dd 08bcb3400h +dd 0e6359b3bh +dd 0a0bd6a57h +dd 0b5d64166h +dd 0ceb6152eh +dd 0561ee599h +dd 002035702h +dd 0a0711c4dh +dd 0fdeca6d5h +dd 0dbdcf78ah +dd 0f9bb4d13h +dd 0c5e2a1fch +dd 0e5b206e1h +dd 0fb78f6b7h +dd 08d94ec5bh +dd 04d26a3a9h +dd 04d1f093bh +dd 0e6f75bdah +dd 01ea9e2d1h +dd 0b8017c97h +dd 089a36f0bh +dd 0c7417c04h +dd 0ec9291b9h +dd 0dcbcfe9bh +dd 0ebc6c652h +dd 094e28fe0h +dd 0f667215bh +dd 01be1cc76h +dd 04f2df8a6h +dd 0d714773ch +dd 08fd9249dh +dd 0e5c9cee5h +dd 09027917bh +dd 0d8b5aec9h +dd 0891d53c1h +dd 054ace00ch +dd 058e9838bh +dd 00776edb8h +dd 0b13660d9h +dd 0d438a381h +dd 0311374f5h +dd 05faa1461h +dd 055afed36h +dd 05d3db8efh +dd 00ac78957h +dd 0243c3e75h +dd 00035de59h +dd 0958de66eh +dd 013c4210eh +dd 09a8e1dd0h +dd 08ce4a274h +dd 0a5184d59h +dd 02c6902ach +dd 0935eb73bh +dd 038b0b34fh +dd 0b8331afbh +dd 0fbec2467h +dd 0b3687036h +dd 04a070a82h +dd 03bc58acdh +dd 083fa3509h +dd 0848a5303h +dd 0f8b663f1h +dd 0ee3e2b74h +dd 0418782c2h +dd 009b71f7fh +dd 05c5d5fb3h +dd 053bc7d4ch +dd 037097811h +dd 0387f2e74h +dd 05fb3a614h +dd 0bedbe55ch +dd 07b5b8a26h +dd 059d5ada0h +dd 0a4956a46h +dd 0ce9d22e1h +dd 015cb8f38h +dd 0867a55d8h +dd 058669cb8h +dd 08b182bf3h +dd 080827ba3h +dd 0abd81857h +dd 000e66528h +dd 082edb409h +dd 04cc34030h +dd 059d55360h +dd 05db033dch +dd 0f30faa87h +dd 0005038c0h +dd 0a7da5581h +dd 0f478d822h +dd 0ca984db2h +dd 0da2e7e8bh +dd 0cce63363h +dd 0e437de12h +dd 0351db701h +dd 070edc583h +dd 0f87ac6d2h +dd 0a618ad3dh +dd 0457bbb54h +dd 04c0d3a99h +dd 094e7d566h +dd 055bc8f48h +dd 0bc2cce7ah +dd 039b6dae2h +dd 0600d946bh +dd 0880cf499h +dd 0d1b01b94h +dd 0336dca33h +dd 0fbea6980h +dd 00e1a8785h +dd 08dfb71e8h +dd 0406065c9h +dd 02db2dc3ch +dd 090d48c8dh +dd 0b5c1f362h +dd 03404c1fdh +dd 04a7bd01dh +dd 0a4c0b169h +dd 0b225105ah +dd 01cc75251h +dd 0e95a7507h +dd 00d8b350bh +dd 054cad332h +dd 02d251ba1h +dd 0132b4741h +dd 0465e4ccbh +dd 0588dbba3h +dd 0f2b041afh +dd 00d9e1d1ah +dd 08ccaba36h +dd 0a3acbb3eh +dd 040930e0dh +dd 0b740ef07h +dd 09518a0d3h +dd 020db68c9h +dd 06e7f46d8h +dd 02b6f1e36h +dd 038ec1c6ah +dd 0f8e8c9d4h +dd 083b1d7b0h +dd 04d7e81ach +dd 07b56dca9h +dd 0624704bfh +dd 012e6d8c6h +dd 0fa635973h +dd 0107d555ch +dd 04c255f42h +dd 05bc5535fh +dd 0431fb27bh +dd 031f207a7h +dd 04889a9c4h +dd 069ed390ch +dd 037fb5924h +dd 033d23ad3h +dd 033e12c19h +dd 064a8ac82h +dd 01fb906a5h +dd 0c92f39a8h +dd 07afd1c91h +dd 0813c4c5dh +dd 07423ac7dh +dd 087926088h +dd 04a49b7aeh +dd 09d70e146h +dd 051a1b824h +dd 0eccd7028h +dd 059634ce0h +dd 0c59388b1h +dd 046e2f802h +dd 05bb90264h +dd 08a9ede7dh +dd 07fdf7853h +dd 0abf0eab4h +dd 0c2e0c4f6h +dd 0655ed0d1h +dd 0261534a0h +dd 0e9cfd3aeh +dd 00291b075h +dd 02c5d454ch +dd 0718bf47bh +dd 0a3b16ff7h +dd 0ec2792c3h +dd 054db6c85h +dd 0094a67aeh +dd 008dd9522h +dd 0f223a359h +dd 030f0118ah +dd 0b173199ch +dd 0bd2408cbh +dd 0e788ef9bh +dd 079ec5a04h +dd 02bb7108ah +dd 00e093227h +dd 0653550fah +dd 0e8bf7a5eh +dd 0163a71f4h +dd 01c12c314h +dd 0b4797995h +dd 0f82616e3h +dd 0e015c05eh +dd 05ddc138ch +dd 03ef1aebch +dd 03dd27468h +dd 0396c2922h +dd 0a289bbf6h +dd 05dc9f44dh +dd 07b8b5f31h +dd 09d8b6632h +dd 02408ff1eh +dd 0d4ebadc7h +dd 05fd56307h +dd 07d70ef4dh +dd 00bf14547h +dd 0b63e9afch +dd 048c1a155h +dd 092788c56h +dd 08a74610eh +dd 060f5a115h +dd 06888cb6eh +dd 0b2c8e961h +dd 03f899c7eh +dd 03824a599h +dd 09697400ch +dd 07a74e211h +dd 0c9762f77h +dd 04897ee00h +dd 0d8c45350h +dd 07661041ch +dd 0d5533f36h +dd 0be97d921h +dd 05ab90e58h +dd 08eb5490dh +dd 02b470ac8h +dd 0464c78ceh +dd 0f60a24c2h +dd 09161649bh +dd 0508165bdh +dd 08e3d67ddh +dd 05ad36001h +dd 04b75ee39h +dd 0a108f2cfh +dd 02c74f438h +dd 0661dd8fch +dd 03c29e9fah +dd 0fb906f32h +dd 065081082h +dd 03467d82ah +dd 0761f1734h +dd 05d4f9d64h +dd 0bd66bd33h +dd 018c689dbh +dd 03df394bch +dd 04805cce2h +dd 01f80ca73h +dd 0c85c7938h +dd 03804d448h +dd 0dfc2328dh +dd 03efa98f1h +dd 0588fd8ach +dd 0e3557e99h +dd 0dc631059h +dd 0a9f2924ch +dd 0b45183a2h +dd 0728fe0deh +dd 0573c3d11h +dd 07dd5639ah +dd 07afa6814h +dd 0527573a4h +dd 006e97af3h +dd 0768537b1h +dd 0406a2642h +dd 0a43eed92h +dd 08bb0ed2eh +dd 0ce67ff9ch +dd 0ed83ec99h +dd 0032b2855h +dd 08ac043c9h +dd 07e6f4894h +dd 0ab3198ddh +dd 047161d33h +dd 0ec1811d5h +dd 080e02185h +dd 0b1197a9fh +dd 08fb21e19h +dd 02298ccd7h +dd 0df70a23fh +dd 0a72faa45h +dd 0f001dea7h +dd 0d88d994ah +dd 018299655h +dd 01eac7232h +dd 05b70e1abh +dd 0ca751310h +dd 0966d39edh +dd 09b1b7679h +dd 0dfe47ebah +dd 02d6fab3ah +dd 0247acbd1h +dd 02fb5d653h +dd 0b59ca0d6h +dd 08384f7d8h +dd 09a8cee2fh +dd 0117664eeh +dd 0c614a2c3h +dd 0cea5dc5eh +dd 016db1446h +dd 0a0958853h +dd 0e6a8b361h +dd 01c8ebce0h +dd 0fd366ec1h +dd 0d5ff7d09h +dd 0c70d2adbh +dd 03d22c81fh +dd 012a48887h +dd 05a8aaae6h +dd 0faa51863h +dd 0441cd1d0h +dd 054d9eedeh +dd 0145fbaf5h +dd 07fbb08c8h +dd 04807faa5h +dd 088ef79f4h +dd 04405e599h +dd 048581607h +dd 0fa48def4h +dd 017552bc1h +dd 04136cfech +dd 095e26087h +dd 06701fd21h +dd 00d05fc45h +dd 0e44d2775h +dd 02e87feb2h +dd 01456766ch +dd 0e6a8790bh +dd 0dc25bde0h +dd 0fc59327ch +dd 053dba2e1h +dd 026b0cab4h +dd 07a779028h +dd 082730201h +dd 016208d2fh +dd 0a8030f67h +dd 0fe3241ddh +dd 0f9eba447h +dd 06358388ch +dd 00d62b1a4h +dd 05b739ffah +dd 0e9674e46h +dd 0b3ace659h +dd 05719c484h +dd 02f512af1h +dd 05e726a35h +dd 04df5fb3dh +dd 0ab616175h +dd 08b939416h +dd 06c9e3ec0h +dd 0413b7e81h +dd 0382fc3a8h +dd 08b16b69bh +dd 0a627d7ffh +dd 00a50295ch +dd 0fc0e3545h +dd 02ab83f3bh +dd 01f3e4c71h +dd 04cfdbe97h +dd 04706e9dfh +dd 0cd5eb08ah +dd 06aecf898h +dd 0db5d4237h +dd 0bc19f8f1h +dd 0ea33ab4eh +dd 0c183062dh +dd 0cc383984h +dd 094edf3f0h +dd 05fe7f228h +dd 0f6473654h +dd 082e70255h +dd 047c741e8h +dd 01824afc2h +dd 011e19b26h +dd 07b64f25dh +dd 0b1be8b0ah +dd 0f609f0edh +dd 0999de2c5h +dd 01e5f7902h +dd 065bbf7d8h +dd 0ba1eaadeh +dd 03e27cb16h +dd 08180d42bh +dd 0fd8f0a3ch +dd 0a9d5a7bch +dd 05eb0e112h +dd 0f45752ffh +dd 0943508fah +dd 0c28f5c16h +dd 056eddb7ch +dd 0865f345eh +dd 077748036h +dd 0030ce7f2h +dd 0f36e67c7h +dd 0a5e5a12fh +dd 0acbdcfedh +dd 02bb9de89h +dd 0aa090ca0h +dd 0d603c115h +dd 07819ba72h +dd 0e9cd7110h +dd 0c3806c2eh +dd 0e6bee7c1h +dd 091f82febh +dd 092166f9ch +dd 09baacc29h +dd 08de967a7h +dd 0a52da7edh +dd 086087b5bh +dd 0d64357d0h +dd 0e636d9bch +dd 0e99cab35h +dd 06680877fh +dd 004487ca7h +dd 035abfe6fh +dd 09dc504efh +dd 0ba250e17h +dd 0f8b38448h +dd 0690cc35eh +dd 05f31f05bh +dd 025b0497dh +dd 0f204d385h +dd 04f252bfah +dd 01b6c1253h +dd 0fbe2cc53h +dd 0f9c5afe2h +dd 04ef9cfdah +dd 0ce16afc4h +dd 0b532587eh +dd 0f7645dech +dd 0d43a8c88h +dd 03b34a8c4h +dd 0283df5e1h +dd 0f729b442h +dd 0eb7aa549h +dd 07ffe0c0dh +dd 0cdb6a8edh +dd 0712cee37h +dd 099fd6686h +dd 0e3b73077h +dd 0864c33b9h +dd 0adf903fbh +dd 095919a70h +dd 0133b9a91h +dd 0c83c06feh +dd 0aeeeea19h +dd 0f978354dh +dd 0ab4c3afah +dd 056e616cdh +dd 067fab2e2h +dd 09bd7c590h +dd 0f3e55eb9h +dd 038f8e4aeh +dd 06e3b8fc5h +dd 03ec66e65h +dd 09a0a8a50h +dd 05e2a43d5h +dd 0432081e8h +dd 07c1e02e8h +dd 026ec2b15h +dd 0b4955336h +dd 01fe09860h +dd 055a353cdh +dd 059a4558bh +dd 0ad032d5ah +dd 005417417h +dd 00772dfa6h +dd 00199bf82h +dd 0df5f8c1bh +dd 047898ddbh +dd 001a14b01h +dd 0ef6af5a3h +dd 05387b12ah +dd 09ae741d9h +dd 022864810h +dd 0d3abdc95h +dd 014936b07h +dd 070f3c8bch +dd 0fa2b96d8h +dd 0991ade0fh +dd 0b5b5e9f7h +dd 09f30e3f3h +dd 0cf489bc1h +dd 0deac4344h +dd 039ee00d6h +dd 04fe57265h +dd 0eaa598f6h +dd 0b311c091h +dd 00a391672h +dd 08b730307h +dd 0bc3a2056h +dd 060ca293fh +dd 06eb8765fh +dd 070ed6399h +dd 0bcc501e5h +dd 0911c3317h +dd 00ca6fef8h +dd 0d6fa1e6dh +dd 08f2b8f30h +dd 0f3f95087h +dd 031aefbb8h +dd 0016ae0eeh +dd 07cb3b44fh +dd 07ec165cdh +dd 0a2b93927h +dd 02f37c591h +dd 0fc6fcb25h +dd 084ee9c81h +dd 0bb07ed97h +dd 0e52cc1bbh +dd 0d30f1c4dh +dd 0533110f9h +dd 0185a357fh +dd 04c35c231h +dd 0d4f66f5eh +dd 069c7d44bh +dd 0fbcc507eh +dd 036beaa0eh +dd 0c6c4c7ech +dd 020ba4d3dh +dd 0bca0da90h +dd 0067f7395h +dd 07170f4a3h +dd 0c1e61177h +dd 0148488d0h +dd 012ed95bah +dd 0b3780708h +dd 084cf5142h +dd 094570f99h +dd 014e2fd92h +dd 0d2b7ec7fh +dd 021069d70h +dd 03ad35c6ah +dd 0c157329fh +dd 02a8ecf24h +dd 024cea0d5h +dd 0e6780a2ah +dd 0d6227054h +dd 065791ee5h +dd 0d8a999a7h +dd 06c6b66eeh +dd 07a912ea1h +dd 02bbed666h +dd 071b15291h +dd 07bb6c67eh +dd 0b81d661fh +dd 030646b36h +dd 04bd86e04h +dd 022176a64h +dd 0bc74148ch +dd 0c2f2dd3dh +dd 0ca9b9890h +dd 0218f8924h +dd 09ef5e562h +dd 0458d513eh +dd 0fed5fdc6h +dd 07317197ch +dd 07e23080dh +dd 057228008h +dd 07b044187h +dd 07032405fh +dd 0b68c3c50h +dd 0acd7766ah +dd 01938d4bbh +dd 074042697h +dd 00e6779bdh +dd 09d4dd4feh +dd 084a13e60h +dd 051438165h +dd 0b2a17482h +dd 052225827h +dd 0d5278209h +dd 05bbf7dech +dd 00270667dh +dd 041f5b393h +dd 016315a68h +dd 0e7ec8261h +dd 0d58b04a7h +dd 09d18eafeh +dd 00ef92c6eh +dd 0debc1098h +dd 029bfd84ch +dd 012fed035h +dd 0abe3d56ch +dd 032af3cd1h +dd 0213ea4b2h +dd 032d0988bh +dd 0a5a61c2dh +dd 09f4d1f16h +dd 022acaa85h +dd 061e119d5h +dd 0e06488a4h +dd 00402464fh +dd 0d6fc4e33h +dd 03d3205feh +dd 0bac39a6ch +dd 0d05f5cb1h +dd 00f42b199h +dd 05bbe6cdbh +dd 0a5997095h +dd 0e1f22fedh +dd 00c06c040h +dd 042d9311dh +dd 0b1246a3fh +dd 049c440a6h +dd 0b2e5eb84h +dd 03e31da9ch +dd 0833a89feh +dd 0f0b8154ah +dd 03b296200h +dd 02ee3adbeh +dd 006b76f5bh +dd 0d9c25d4dh +dd 069893976h +dd 0d1dd2eech +dd 0569485dfh +dd 0f906e94fh +dd 087769e1dh +dd 0ffb662feh +dd 0e099d329h +dd 06d6b5a81h +dd 00f73f5feh +dd 0927fe3aah +dd 0c2624dc5h +dd 04babc970h +dd 0e7b9a2a1h +dd 0e8e2cdb1h +dd 02be69591h +dd 0ee972222h +dd 08b0f8d25h +dd 0d78e38d7h +dd 0c8a76169h +dd 0b068ae4dh +dd 04e48f184h +dd 0f374aa7ch +dd 0365841e5h +dd 03d25b79ch +dd 00da6c31eh +dd 0a218bd24h +dd 0cfe5268fh +dd 0749120b2h +dd 01eb46bdbh +dd 0cea67bf3h +dd 06119efa4h +dd 07fe9d717h +dd 0453df161h +dd 0719ffec6h +dd 0dd37766eh +dd 0e6625815h +dd 097a8675bh +dd 0e460f6f2h +dd 0afe29646h +dd 03bf2fea8h +dd 06071c713h +dd 014b85dfdh +dd 07f2ad135h +dd 024a16f96h +dd 03425b92bh +dd 08481f061h +dd 03a8a2aebh +dd 02e93800eh +dd 0d59620a6h +dd 06f4395c5h +dd 0ca25d347h +dd 0135744bch +dd 0c1d9225fh +dd 08151aeb7h +dd 0454350e5h +dd 0c3cc050ch +dd 0cd19cdcdh +dd 0c6d54e1bh +dd 0ee4ebb6eh +dd 078b99b5ch +dd 02357521bh +dd 028c964cbh +dd 01d0b16fbh +dd 06a8c6b62h +dd 0971f9149h +dd 08148f9dch +dd 09267991dh +dd 0c52ecae4h +dd 03dcf80a7h +dd 0842c3506h +dd 0bc05f2e5h +dd 041e80647h +dd 095df4872h +dd 079730641h +dd 0e6893ccah +dd 07abac8b7h +dd 0b7c4eb86h +dd 04cc3b90eh +dd 07bcb49ddh +dd 0dbc2ac25h +dd 029b9f908h +dd 09a31521eh +dd 087e624b8h +dd 06a2b3db8h +dd 0be0664f9h +dd 0d0f36980h +dd 0bd0285ddh +dd 0db8a53ebh +dd 0f8241ebfh +dd 0525c1f6dh +dd 06370e587h +dd 0233dcb99h +dd 087edff6ah +dd 0f9c8a9b2h +dd 06c31f9e7h +dd 0c0100082h +dd 0768a0f87h +dd 04f211c03h +dd 02fa3a543h +dd 0c10bf395h +dd 0706230e1h +dd 0f4b0ad58h +dd 0a9cd20d5h +dd 0b5a83d02h +dd 0a9d610b6h +dd 0997c1725h +dd 069252681h +dd 023b2799ch +dd 00f08da5ch +dd 01cc6e321h +dd 06ed2dbdeh +dd 054e11248h +dd 050ec273eh +dd 03042d385h +dd 0620dd819h +dd 0a160a143h +dd 06c9a37dbh +dd 08e42bd18h +dd 072eab8a9h +dd 0627dff3bh +dd 0e61fbb14h +dd 0e025855dh +dd 01e8083e3h +dd 0477a6f86h +dd 01fd6cb6dh +dd 009bba350h +dd 0b8952912h +dd 0e2cd74ebh +dd 0790eaccdh +dd 081e70234h +dd 091b21401h +dd 0197f4ac8h +dd 0461e5ce5h +dd 01bd55ec2h +dd 0d359dfa3h +dd 01c8d3acfh +dd 0acda3c29h +dd 0e53b642eh +dd 0122a8f3dh +dd 01daeef1bh +dd 046e61f22h +dd 09be8746eh +dd 04005a8ceh +dd 0ff0b2960h +dd 0cd51fb61h +dd 049581ad8h +dd 0c3607f82h +dd 0aab67cd8h +dd 0b5fa75cch +dd 09a593959h +dd 0c598ba93h +dd 0459cc0f0h +dd 0461b8495h +dd 022a08a5dh +dd 05963c95ch +dd 094ed7ab2h +dd 0a09b778bh +dd 07d07a6a7h +dd 04b5fb00eh +dd 0413eb8a4h +dd 0e185623eh +dd 08c2c3ed3h +dd 0580f51b3h +dd 003b5fc6ch +dd 0a3c32bcdh +dd 0fa05b641h +dd 0b47b02a5h +dd 0a784cb16h +dd 09f2f8e12h +dd 0e8a6bee3h +dd 0f99b9ccfh +dd 0c0da3707h +dd 0128d89eeh +dd 0f1db7f17h +dd 070058557h +dd 0cf6f622ah +dd 0f4f58bc9h +dd 09d3e8375h +dd 0962ba206h +dd 0eb689b89h +dd 054e23378h +dd 01f3c4e7ah +dd 01cbbce37h +dd 0cfb409dfh +dd 0ce3fb3ceh +dd 0bd27281fh +dd 0d3c6f662h +dd 0fe855ec1h +dd 0e5104e20h +dd 006e7a6b2h +dd 0675ea6afh +dd 0e1c3a4f8h +dd 0182a4973h +dd 082d0252ch +dd 0038c8ed3h +dd 037cf1057h +dd 0e17331c3h +dd 0f9248497h +dd 0b0cfd498h +dd 03f159587h +dd 08b030356h +dd 0eb8bc1a7h +dd 0cdb0d3bch +dd 04ccc77dfh +dd 095381eedh +dd 0ea19f6c6h +dd 0d4268a51h +dd 01193d3aah +dd 0d4f257f4h +dd 0629afb17h +dd 020ec7723h +dd 03d163c2ah +dd 02a824e7dh +dd 0dc4aae37h +dd 0f60929cch +dd 0b0f59fa3h +dd 06750fa0ah +dd 0b60f7ed0h +dd 0f54bfaa4h +dd 0d7cf7df6h +dd 0e120c1c3h +dd 07c07c999h +dd 00b0681ech +dd 0ebb086cah +dd 0495349efh +dd 075c82b40h +dd 04e9b088ch +dd 02ace909fh +dd 02316bf8fh +dd 079de2483h +dd 0c337ec48h +dd 09da8cfe5h +dd 0ccf6dd4eh +dd 014c7ad3bh +dd 016c2ebbah +dd 046422496h +dd 078f4b19eh +dd 02dd65ef0h +dd 0b67aea2ch +dd 0b825e0f2h +dd 061544a6fh +dd 03689a418h +dd 0319db20ch +dd 04378fc65h +dd 0f7059a22h +dd 059e218c4h +dd 0545ba510h +dd 0fd28a5cfh +dd 0f3a13ccdh +dd 0afe52ae7h +dd 0283f97e7h +dd 0d9dfef62h +dd 0b91d40aah +dd 08e196f33h +dd 0d8c41c1bh +dd 049d64b39h +dd 07331516ah +dd 095b6f95fh +dd 0ee305f6eh +dd 0d5179490h +dd 0c91af283h +dd 09a7246a3h +dd 02e6e43d2h +dd 0301da282h +dd 083e86d00h +dd 05c1ec142h +dd 0563e2a17h +dd 09b348f82h +dd 06e4abe3fh +dd 0f6509cfeh +dd 02365dd5ch +dd 07d4b82aeh +dd 02838b185h +dd 077c6896dh +dd 04cef5681h +dd 0b346219bh +dd 05365b455h +dd 08100d035h +dd 02ba1099fh +dd 07b2a0fc5h +dd 0af262b42h +dd 065c3469dh +dd 04853d7a4h +dd 0222a5deah +dd 0f0c7b1bfh +dd 0680ab1abh +dd 0186e6fceh +dd 0b8b130feh +dd 022a945e5h +dd 0b06589b7h +dd 03adc0087h +dd 09bfe61f8h +dd 03f27fb0bh +dd 027268959h +dd 04d6fea5eh +dd 074aa8a49h +dd 079695303h +dd 01c71030eh +dd 049d7c0bdh +dd 05d1900cfh +dd 0546b12a8h +dd 0d3da5852h +dd 055104bc2h +dd 0ade45a1bh +dd 0e525d11ch +dd 0790ea68ch +dd 0319b9dach +dd 056dc984dh +dd 08c1ace9ah +dd 08071f53bh +dd 0ce72c4fch +dd 0a59ebfdeh +dd 0b1343fe3h +dd 0bf9f294bh +dd 01f17bebfh +dd 09945e4d1h +dd 027ffb90dh +dd 0e1fa343ah +dd 0bb1d9d32h +dd 0ed116c30h +dd 0a683099fh +dd 0d44854d9h +dd 0899c3fa3h +dd 05db30583h +dd 0da66b8d8h +dd 02c96e9cbh +dd 0d43491cch +dd 0a5de39aah +dd 06e85a961h +dd 0ed6e7c9ch +dd 0f7a308dch +dd 08dc07742h +dd 0d9ee0be6h +dd 08c7275e6h +dd 0882e46f1h +dd 027041a99h +dd 08dba25d5h +dd 07daa5a82h +dd 0f93dd90fh +dd 01f83e59dh +dd 0bb8eeb9fh +dd 002d47331h +dd 09e4b4d84h +dd 0c6fcb3fbh +dd 02ef024d2h +dd 0c8ec3170h +dd 02cda0ed7h +dd 0db42ae5bh +dd 0c182cd48h +dd 010fb5a61h +dd 02d250f0dh +dd 0b1b87dbch +dd 00164ee27h +dd 0c4386629h +dd 0556e6d3fh +dd 076f4d615h +dd 0b7a08dd4h +dd 0e94e1ac9h +dd 02224ef4ah +dd 0e2ab5e1ah +dd 078c89b79h +dd 0c1a563f0h +dd 04302cfb2h +dd 0c0c88bf2h +dd 0952c9af5h +dd 04baf23e7h +dd 057ca3d5eh +dd 01f288165h +dd 0dbe5701eh +dd 0ed19f69ah +dd 010e8ff1dh +dd 0c43c5ae0h +dd 0a6d2d65dh +dd 04cc0fbddh +dd 08ee3563ah +dd 08045fe41h +dd 0146d316ah +dd 022a4c443h +dd 03a72bc4dh +dd 047a4cffch +dd 01d8133aeh +dd 04a49282fh +dd 0d26ab759h +dd 02fedf8bfh +dd 0eace65f2h +dd 0e5ea4642h +dd 0e8d21ac5h +dd 00c42e602h +dd 0ecdc8e44h +dd 07105aba5h +dd 0ec32e069h +dd 02506e7aeh +dd 0788b3013h +dd 04458c12eh +dd 06eb7cc21h +dd 0470668b2h +dd 0e3fdb6f1h +dd 02ce92262h +dd 0d50c86cfh +dd 0afb40bfdh +dd 05701529ah +dd 037e5ded9h +dd 075fc7627h +dd 05d5f913ah +dd 003608027h +dd 085210af9h +dd 00056a392h +dd 0d91afeb8h +dd 038d40ce9h +dd 0b1265bafh +dd 04fb3b660h +dd 0b574f04ah +dd 0cf1da514h +dd 0ebbcb51eh +dd 0e59db3ffh +dd 054ec05f5h +dd 0b0c177beh +dd 013fb55d3h +dd 0e97bee29h +dd 04e6912bch +dd 0b0e4932fh +dd 092fe760ah +dd 077d58ea8h +dd 0a717c8c7h +dd 08921f482h +dd 09db0ceaah +dd 082a91705h +dd 07efe99dfh +dd 0b6719387h +dd 09c3ed473h +dd 0b920e50dh +dd 090ba9db0h +dd 09eba71b4h +dd 0336f57adh +dd 0fae1370bh +dd 0c710a2b7h +dd 0aa81ea1eh +dd 0ffa3e75ch +dd 04075a717h +dd 0735de361h +dd 0ab7a0cb7h +dd 0cfec9dcdh +dd 03caad35bh +dd 0394cf3e8h +dd 0df262685h +dd 0d181b625h +dd 0a45a7bedh +dd 0f4225d11h +dd 0c82e0bfdh +dd 0d3ef274ch +dd 022aab196h +dd 0a4a0b2ebh +dd 01d2f04c6h +dd 0d36f5f12h +dd 04681f1bdh +dd 0cb4ccf95h +dd 0253720a8h +dd 0b932e5b6h +dd 0b9cdaa1fh +dd 01abc845fh +dd 025769bd2h +dd 099176af7h +dd 0c2486c97h +dd 03bb11e86h +dd 0499e151eh +dd 0a0089e7dh +dd 0c564cbe7h +dd 0d1c1f2fah +dd 089baf35dh +dd 028d4e461h +dd 04ccca062h +dd 00d30b26eh +dd 095fbf07ah +dd 026e5c76ch +dd 0ff5aca9eh +dd 081075f55h +dd 079715448h +dd 025283a27h +dd 05561f942h +dd 03e6d3ac0h +dd 0020e0d01h +dd 09f77de7ah +dd 03049ec5ch +dd 060ec03ebh +dd 05c3a37e4h +dd 081e4d510h +dd 073c8c2bdh +dd 06a43bd45h +dd 0f25d47cfh +dd 0c7f9bbabh +dd 056c7da30h +dd 0df384bf2h +dd 007a50fe3h +dd 076c22d44h +dd 05dc93af9h +dd 0471ade1bh +dd 0c0b8c6b5h +dd 0bc036fe1h +dd 0e465d0c9h +dd 03fd0d835h +dd 001b3d5dah +dd 096248e8ch +dd 01a3c1de3h +dd 026527333h +dd 0bd588c5ch +dd 0542f02c1h +dd 07812c633h +dd 0dd69292ch +dd 0a4a60510h +dd 0a353dccdh +dd 023ee2dc1h +dd 0ed299578h +dd 07e86230ch +dd 08d78c461h +dd 0b59239fbh +dd 0784445feh +dd 04420aa49h +dd 0cfc2e7b8h +dd 0ff994e0ah +dd 0163f2d1bh +dd 0ba0206e6h +dd 0d07889e8h +dd 0097da1f2h +dd 03b2db7fch +dd 043aace17h +dd 0b95fea70h +dd 043e6879eh +dd 04d4e9a1ch +dd 007ee6ef6h +dd 0a4790788h +dd 08f05ca76h +dd 067efda5ch +dd 002e47ceah +dd 0a940d392h +dd 085ed042ah +dd 061f9c235h +dd 0ad374759h +dd 08b6fe79ch +dd 083dde781h +dd 0cf5a7067h +dd 07541a831h +dd 022930e7fh +dd 0aacafb67h +dd 05abd4e86h +dd 0beb3de1dh +dd 0ad510047h +dd 0c76dcfbah +dd 0f06ae399h +dd 0d790a277h +dd 0f92c4613h +dd 0b30ce89ch +dd 0604e20feh +dd 01a4243d3h +dd 022154a29h +dd 0693f9415h +dd 0479406f0h +dd 0bfae90b2h +dd 02d3009cch +dd 05c9ce42bh +dd 04f2e351eh +dd 0b58783dbh +dd 0708742e1h +dd 0c7b20efah +dd 034e77104h +dd 06c52c421h +dd 05b5f7fdbh +dd 02fc3003ch +dd 08137148eh +dd 0cf1d4623h +dd 08f82c944h +dd 0104b9e2ah +dd 0d4ae9b19h +dd 0b3832421h +dd 000436787h +dd 04c81968dh +dd 0f55cba3ah +dd 0d9bd7fb7h +dd 0d99c0600h +dd 0f32f3c21h +dd 012248a53h +dd 0a849bad4h +dd 0786cc9cfh +dd 01c48c33ch +dd 07e16ea46h +dd 008b87690h +dd 0d42fead1h +dd 06a8b22dch +dd 059f00092h +dd 0a966dbc2h +dd 05daaaa78h +dd 05f4e5c70h +dd 0cf4ae92ch +dd 0ca13f8cfh +dd 0c122e0e1h +dd 057745f20h +dd 0347fd7e0h +dd 0e18cfffbh +dd 09b8d8676h +dd 0d66281fch +dd 0cbea08fbh +dd 0e70742d0h +dd 0b070dfach +dd 040e5c436h +dd 00cb612aah +dd 073bcc36ah +dd 0cb5d6055h +dd 0501849ach +dd 0ceb49a86h +dd 0bd3c220dh +dd 0476d7bfch +dd 0d5480d11h +dd 00f8c153eh +dd 078cd5f6ch +dd 0df900678h +dd 0701aa038h +dd 0637aedf3h +dd 0e097d24bh +dd 05c4db317h +dd 0d8030f4bh +dd 0cfec4f43h +dd 069f4e638h +dd 0db3b159eh +dd 0b811f49eh +dd 0af3dcf39h +dd 006009a9bh +dd 08efda26eh +dd 09448af0ch +dd 05a0588f6h +dd 0850899d1h +dd 021564a76h +dd 0a810459ch +dd 0fb819afeh +dd 0871bde74h +dd 0f11ed664h +dd 03e00c758h +dd 0564d69a8h +dd 087a6c205h +dd 098a06a4eh +dd 0ae63700fh +dd 0fa5cc878h +dd 0f02fc4c4h +dd 08d5f875dh +dd 08f5077bdh +dd 0eb8373b8h +dd 0e80644bah +dd 0793b2e53h +dd 0f329e4cbh +dd 0452198ffh +dd 0647a5536h +dd 015395d00h +dd 09dbced34h +dd 0f809e1bdh +dd 0b33ecd58h +dd 020abde09h +dd 036db1a6ah +dd 0f5d095e9h +dd 09b25e187h +dd 006eb76e0h +dd 00b84ab69h +dd 01eedfbd7h +dd 0869265dfh +dd 00a10914dh +dd 04cdeec89h +dd 01c5e51fah +dd 0700c4106h +dd 031edc9bdh +dd 0d4fc0bedh +dd 031280c67h +dd 05c9ff39eh +dd 0bd14c462h +dd 0b34622c1h +dd 08f24bfe6h +dd 094696022h +dd 04d3aa650h +dd 05393cbf2h +dd 037773619h +dd 0d79b6fcch +dd 0ff0db4fah +dd 05dd36ccdh +dd 02554043eh +dd 0c3df8b01h +dd 07ea3aca8h +dd 0941d47bbh +dd 0b6c79c0bh +dd 0c23210f1h +dd 02af45e47h +dd 0d6be6b51h +dd 0d10e7fb2h +dd 0e1016709h +dd 0dd02f62eh +dd 00c6a72a9h +dd 0ee526e1eh +dd 07beb4a44h +dd 08d219f2bh +dd 0eb97cfcah +dd 009dda73bh +dd 046b5e350h +dd 0bed2e957h +dd 008716f87h +dd 07a074c7fh +dd 01668abf3h +dd 019f377b3h +dd 0b387e64bh +dd 0b269d017h +dd 0dfe2ac47h +dd 07630dc18h +dd 0d2903649h +dd 09c9f394eh +dd 09ca92c45h +dd 0c640e34bh +dd 0ba18dd53h +dd 03a7fb525h +dd 029598e5dh +dd 0a432c92dh +dd 07704e1cdh +dd 0b524b37dh +dd 0942f40ach +dd 0c435fd92h +dd 09cf2be9ch +dd 03603aaf1h +dd 02fa14363h +dd 0b304fde7h +dd 0ea0d4dbah +dd 094288296h +dd 02c5bb4bfh +dd 0b677000bh +dd 07967a40bh +dd 0a817082ah +dd 0dc41f37ch +dd 0436272f8h +dd 091dead67h +dd 0b4f030cbh +dd 01e39ce39h +dd 07e1c6a07h +dd 0cf281ca5h +dd 05312ed28h +dd 0fff641c1h +dd 0d8e95593h +dd 028404e5eh +dd 03a9a30b7h +dd 0e247b7c5h +dd 0c2463635h +dd 0da975f72h +dd 09ef19f3ah +dd 0bc6e522dh +dd 0485ed754h +dd 0361cb18eh +dd 0be60bc28h +dd 09f030a81h +dd 0a6899206h +dd 0b2aed622h +dd 0263576c5h +dd 0ce9e73bch +dd 0f5dd12e3h +dd 04c3d06bbh +dd 075fc13d5h +dd 0e40344d1h +dd 0192f1149h +dd 099c8e5f6h +dd 05c0f9e92h +dd 0391f50ceh +dd 08edef0beh +dd 073f2747bh +dd 04d487418h +dd 03205775ah +dd 020695cc0h +dd 0d96f4084h +dd 003233f00h +dd 0353486c6h +dd 0193a5337h +dd 047f82927h +dd 0a6b8fcceh +dd 096437167h +dd 0d2cc0d80h +dd 068b1eb26h +dd 015e409aeh +dd 07bed5f4eh +dd 0ef6ab0e0h +dd 0e6d0783fh +dd 0d9b1c941h +dd 0bcc5cc64h +dd 0b58b5e3fh +dd 0e7911dabh +dd 050b007fah +dd 0d5192396h +dd 033293f19h +dd 0f698496eh +dd 0e78efcdch +dd 06885ea12h +dd 0ab955b5dh +dd 01acbe7e7h +dd 0ebb5cad6h +dd 0f5d74bach +dd 068a2fadeh +dd 0c8c2ecbeh +dd 034d0398dh +dd 0f5e0ffb6h +dd 0fdfd8451h +dd 0c893e55dh +dd 083fef005h +dd 0cb0dbb74h +dd 0230729cch +dd 05680e2a6h +dd 0d5b1f5aeh +dd 019496d17h +dd 0aabbefb1h +dd 0d59af9fbh +dd 01d241796h +dd 0f4ab7d2dh +dd 005961ceah +dd 01df9031eh +dd 0331c3ca3h +dd 01b95c156h +dd 0cce3ddf9h +dd 0b4413affh +dd 02cdf68e0h +dd 0dc576fe9h +dd 0ea543479h +dd 03bf85b4ch +dd 0acfa47d0h +dd 0648d3a58h +dd 0227d4989h +dd 091491aa3h +dd 0251722c9h +dd 0119dfe05h +dd 00743f971h +dd 07d45889dh +dd 0f7a9109ah +dd 012704106h +dd 0b388be15h +dd 073fa3b6ch +dd 018290899h +dd 0b2098c35h +dd 07f9c326dh +dd 0b26cc290h +dd 0cd902ca1h +dd 06cce268fh +dd 000b6549bh +dd 0adb52812h +dd 0f20278f7h +dd 086ca7c03h +dd 0194f6a10h +dd 05f70f2f9h +dd 02b5a8be8h +dd 05af6f043h +dd 08a762ca0h +dd 0b61b3653h +dd 07c0e4278h +dd 086995888h +dd 00f3a6a97h +dd 0fc755793h +dd 024d6c2b2h +dd 02ae1d8f8h +dd 065457905h +dd 042623847h +dd 036ca4929h +dd 024fc1b7ah +dd 09d447098h +dd 091adf4cah +dd 089c36baeh +dd 0a5086225h +dd 04fce9148h +dd 04df4b755h +dd 0dcd947f8h +dd 07d7724dbh +dd 0bd09d910h +dd 07b1911b5h +dd 0a7c69859h +dd 003d5cbe7h +dd 0938e7d8eh +dd 0cbee8663h +dd 0b9588988h +dd 0f4cfc9d3h +dd 06708e013h +dd 0d123f333h +dd 05f5152ach +dd 0dea48d9ch +dd 0e59f7a1fh +dd 011bb1ce1h +dd 05f4ad291h +dd 014a46492h +dd 08df00294h +dd 077a08876h +dd 05fcaacaeh +dd 01e5c0980h +dd 03346ca1dh +dd 0909293f3h +dd 00ef2b98dh +dd 0d680d5e6h +dd 0d66d9d73h +dd 0109fbc8dh +dd 0a460b7a3h +dd 060568b69h +dd 011418e98h +dd 0bd230905h +dd 0210849edh +dd 0bb37e791h +dd 0500a6e90h +dd 0962a1f26h +dd 0f2d45e54h +dd 060eb2393h +dd 07d1e8950h +dd 0de275b67h +dd 0b4a97403h +dd 0ea0810b5h +dd 09fd53981h +dd 0a8700d1dh +dd 03103e757h +dd 072dd5d66h +dd 0cda09287h +dd 0c2b03712h +dd 08c206799h +dd 0f604b694h +dd 0f34dccbah +dd 03760cf8fh +dd 09c28eb6dh +dd 089f07077h +dd 048722b29h +dd 09d5ee96ch +dd 08f0c049fh +dd 0bd054dbeh +dd 0cf9e99c7h +dd 026ba21efh +dd 00a5935a4h +dd 08bc82dc1h +dd 095509610h +dd 0d11e5aafh +dd 036440fbch +dd 03690087ch +dd 054dc1ae1h +dd 0028b9f45h +dd 072c9152fh +dd 019bc2ed4h +dd 0251acfc9h +dd 0f2d8be1dh +dd 0ff3e0af6h +dd 0cb6d6295h +dd 0e8249d07h +dd 0a9be5a71h +dd 03d2aeb9ch +dd 08a14dfddh +dd 095c15659h +dd 0500c5232h +dd 0d4e7974ch +dd 03fd8c1b3h +dd 06c39853ch +dd 0f4535a38h +dd 0acdef682h +dd 05ef4af46h +dd 05f62a98fh +dd 03a41dad9h +dd 06ee2e360h +dd 07670eec9h +dd 06f162bdfh +dd 0bce8a46ch +dd 0570d2f99h +dd 0be975c1ah +dd 09fd2f53ah +dd 0c2edfa3dh +dd 0776ee1e8h +dd 0eb6257a8h +dd 0aa4a890ah +dd 03f89ce8fh +dd 03997024eh +dd 0bf6734a0h +dd 0b565bff0h +dd 00c614602h +dd 038cb95fch +dd 0b4806291h +dd 0898e87e9h +dd 06d208667h +dd 06e90b932h +dd 0115a82a1h +dd 00ea6a3c7h +dd 020e564d1h +dd 0336f7b19h +dd 0b5da50d8h +dd 0badbab24h +dd 002309538h +dd 00a05d8bah +dd 04f898165h +dd 028cf8aa6h +dd 03af15a7bh +dd 0b7196ef1h +dd 0513e78e0h +dd 0a62a5af6h +dd 0f508eca6h +dd 06defe676h +dd 0d611d02ch +dd 003f29bb2h +dd 03f4509d5h +dd 027cd7852h +dd 07a02f8bfh +dd 0bc5cd41bh +dd 0665ee1d6h +dd 09e82e4c3h +dd 04e1bfa4fh +dd 04beaa60ch +dd 0d58a7914h +dd 01fe9d2a3h +dd 0ccd0ac1fh +dd 03ba448c1h +dd 0bac8c642h +dd 07bf3e298h +dd 0ad8aa3b1h +dd 04efe1e70h +dd 0adf82e54h +dd 076c8a0a8h +dd 0098f2772h +dd 0c44e27dfh +dd 0a43b1106h +dd 0c0ae566fh +dd 055afbbd1h +dd 03955ad4ch +dd 0b8b6d039h +dd 0db7f4699h +dd 0f7da6c1bh +dd 056ee814bh +dd 00d14c073h +dd 0d9600aa0h +dd 0bc6bf136h +dd 0fa4dad4dh +dd 066502b10h +dd 0f1d9bd1ch +dd 0194971b5h +dd 025efb911h +dd 0612c36d5h +dd 083272df2h +dd 0f2b30234h +dd 0504098a1h +dd 0c5b9ff81h +dd 050019842h +dd 0a8ff5fbfh +dd 04fc63b0dh +dd 054b37df4h +dd 00f1ed25bh +dd 0a96fe836h +dd 0678711d3h +dd 062211a01h +dd 0bff478dch +dd 0758cfc51h +dd 082955703h +dd 0a75681aeh +dd 083aebc38h +dd 09e9a679dh +dd 0c39416b6h +dd 0e50d6218h +dd 0cf972adbh +dd 0f505358fh +dd 0b47a0885h +dd 06ffbbc5dh +dd 0e433114bh +dd 03bc11839h +dd 01d266625h +dd 0ee689a93h +dd 0101b00c2h +dd 0e77cbd3eh +dd 0bc7e865dh +dd 09ad58740h +dd 079fe6933h +dd 03e09001bh +dd 0c3946cb5h +dd 0e96b0258h +dd 0e079feb5h +dd 06bffb05fh +dd 041e826bah +dd 0a4b50be1h +dd 0b5a3c360h +dd 05c8ed8d6h +dd 0a3f9c18ah +dd 077daa630h +dd 069592c1bh +dd 0e88f5911h +dd 0b4f12f31h +dd 0f89afbd8h +dd 092755f87h +dd 084216a7ah +dd 08dcece50h +dd 06327225fh +dd 03e5d54a7h +dd 0577e0da0h +dd 09b819bffh +dd 039902ca9h +dd 0212c087fh +dd 02820c947h +dd 0eaf2c392h +dd 0320cf304h +dd 02b770237h +dd 0f330779dh +dd 00faeb84ah +dd 0ab57d5f0h +dd 03c2448a8h +dd 08dc20d64h +dd 0843f6cd7h +dd 03207de80h +dd 04b07e182h +dd 00af5f577h +dd 06583f491h +dd 03c42c70bh +dd 0075799b4h +dd 0784014e5h +dd 0204d66f5h +dd 04dabcd0fh +dd 09f9efb05h +dd 0f5ff99d7h +dd 02a9cd709h +dd 060d0c2e1h +dd 04be810c0h +dd 01e38fabah +dd 05729c1ffh +dd 0a687e6b3h +dd 052427bfah +dd 0783844b6h +dd 0728fe3d2h +dd 0f59f00bah +dd 0b5a06123h +dd 089bcbf4ah +dd 0fb0a90b3h +dd 0d6a52ba9h +dd 0fe1bdbf9h +dd 0f6152c34h +dd 0fb1d2691h +dd 09abd303bh +dd 04266e83ah +dd 0fad35fb6h +dd 02d4d645ch +dd 0bf8cb993h +dd 08c769d93h +dd 0e89c7925h +dd 0884a0c08h +dd 09c65afa8h +dd 06b5c0c6bh +dd 0137e9fddh +dd 05ef9a924h +dd 030977044h +dd 0289228cbh +dd 0538dc5d2h +dd 0b76d59e5h +dd 0576510b3h +dd 0f9a885dah +dd 00be223ebh +dd 0e08c8e16h +dd 0c7ed67b8h +dd 01df38d19h +dd 04b4f8e91h +dd 03c1e1f8ch +dd 0b170e203h +dd 0006500b9h +dd 00575de90h +dd 082489eddh +dd 0574d2111h +dd 04cf124bch +dd 0ddcea99ch +dd 0d7396591h +dd 01eaad135h +dd 096fde064h +dd 0395463a1h +dd 092d341c2h +dd 0c20455beh +dd 0e5ce8e30h +dd 054f438cfh +dd 0ceb56777h +dd 0543b291ah +dd 0cc3c3a72h +dd 056a2eb5eh +dd 07ef8e76eh +dd 0b0f4afd4h +dd 0990192e0h +dd 088d0dc79h +dd 0c3124fabh +dd 0f41ecdc1h +dd 0e931ab26h +dd 05fa737ach +dd 084b0d48fh +dd 03d6bf5a2h +dd 02e0be131h +dd 044beff21h +dd 034d3e905h +dd 029c1b4fah +dd 05b49771dh +dd 0bda67e51h +dd 02b07f3e3h +dd 06c76a466h +dd 06f8c4bd2h +dd 0a4327defh +dd 091de40fch +dd 01e716acdh +dd 0cb914fc9h +dd 0f949fed8h +dd 023338198h +dd 0c1563d84h +dd 0730fa653h +dd 0a48f4cdeh +dd 0acf550a3h +dd 04cc5b250h +dd 0096842dfh +dd 0170ad1dbh +dd 04aa5236eh +dd 0c6338a78h +dd 0fe2019e3h +dd 0b6342173h +dd 0703c3dc5h +dd 03c7e3dddh +dd 01b5bfa66h +dd 078c57222h +dd 07f79aaabh +dd 0eccf5d96h +dd 0b08e1f84h +dd 0dbd6f4ffh +dd 0d3fa2e44h +dd 056f6df86h +dd 0cbf5b2a3h +dd 0d61a3631h +dd 0ab4e9019h +dd 0a9ef0baah +dd 0248407e5h +dd 09f500bc1h +dd 0438b7991h +dd 089eb88dah +dd 0ceeb8each +dd 04becb490h +dd 0851d303ah +dd 0cc6ef693h +dd 048ffa3adh +dd 03eee1a82h +dd 0c9b23342h +dd 089b71816h +dd 076d6443dh +dd 042e7ad80h +dd 0f6ce5283h +dd 0eca6988ch +dd 0428bf7aah +dd 0cc2114b9h +dd 092243702h +dd 06810a724h +dd 0adb7c155h +dd 09e93e459h +dd 07031865dh +dd 0c24b83dch +dd 05920c431h +dd 0073a0e2fh +dd 093e6a0c6h +dd 0315c173ah +dd 0c50b94deh +dd 0a034caa7h +dd 0cf2ed3f2h +dd 0d9f37963h +dd 0d23dcc78h +dd 08a2715b0h +dd 08bda0084h +dd 05eb91236h +dd 0088ae0a4h +dd 0880ce97eh +dd 08e9305efh +dd 011b3a265h +dd 0382ab2dah +dd 0bd6f6b6dh +dd 0dfb560b5h +dd 0d06c66c2h +dd 071a42438h +dd 0be8e206ah +dd 0f906f20fh +dd 0d9f02befh +dd 0240c2e40h +dd 02abd4615h +dd 06a44422fh +dd 060b0657bh +dd 0f8fe9aach +dd 07822b90bh +dd 0179debc3h +dd 0db4b13adh +dd 06ed0048ch +dd 01b56b407h +dd 0e2a838b9h +dd 086aa6335h +dd 00fb69982h +dd 085a9f6dah +dd 0d1feac72h +dd 0d6353527h +dd 0a675bd93h +dd 0e0e5c65dh +dd 09179afbah +dd 05d1d60c2h +dd 005fb3115h +dd 0e0b83f15h +dd 0bcefa7b6h +dd 0bbf13f74h +dd 0b8ff4bfeh +dd 0c76ab385h +dd 0ab6d005ah +dd 09b66f571h +dd 009649e3dh +dd 046042f54h +dd 0fc17d2e9h +dd 09b58850dh +dd 0bb24fcb8h +dd 05e2dc69ah +dd 0d8066d9eh +dd 06772299ch +dd 0de0b49fbh +dd 0298669f8h +dd 0303d4e7ah +dd 019850987h +dd 0d3e08b10h +dd 0987dffcbh +dd 0dc169cc1h +dd 02ea3c98bh +dd 02e2b2496h +dd 098750669h +dd 027199b07h +dd 02da02b66h +dd 080649e2bh +dd 0708004ach +dd 0cf5009b2h +dd 0d7d230efh +dd 0a81f0b0eh +dd 0265ef547h +dd 0cf647769h +dd 0a3a66a00h +dd 09326c3ach +dd 03203cc46h +dd 0840bc881h +dd 0a953b1beh +dd 09f399df5h +dd 08396658bh +dd 0b63c9fcbh +dd 0ebb78fd9h +dd 0baff39e1h +dd 08d348c9fh +dd 0318be5b4h +dd 01a7e8361h +dd 06bd914d1h +dd 0aa750e57h +dd 030c81546h +dd 0325e61feh +dd 0079f6667h +dd 0a68ff2d1h +dd 07c50d83fh +dd 0143e4b6ah +dd 0121a6aa3h +dd 02c45681eh +dd 0b0bc0c6fh +dd 07efc4a9ah +dd 017f32eb9h +dd 0110b46dfh +dd 099f3b4b9h +dd 02b84fa36h +dd 082d4fb93h +dd 060617081h +dd 0feb2360eh +dd 0d7c6d097h +dd 0c5c396abh +dd 0e053e5cch +dd 021876f2ah +dd 051e33632h +dd 019ff4534h +dd 044812830h +dd 0076bd421h +dd 0bab9b7dfh +dd 01703f181h +dd 045aa2533h +dd 0e7e7c2c6h +dd 0a3de6c0ch +dd 0d3aecdafh +dd 0daecb8feh +dd 0f439bd26h +dd 0040d0dc8h +dd 099d367dah +dd 0e174a6ddh +dd 0f0a0559fh +dd 02fab376ah +dd 0e8a6a91dh +dd 0af2c4145h +dd 0e7757cfah +dd 09c57bc3dh +dd 06f0c46b5h +dd 00f15315ah +dd 09c724e5bh +dd 032fbe111h +dd 09be8ff05h +dd 06b4b1b6bh +dd 0dbcb2000h +dd 0a6db1ed4h +dd 0e8722a79h +dd 09cfcfc3ah +dd 034fe172ch +dd 0b4c08a28h +dd 00fe1ae31h +dd 0c3a8e074h +dd 0522de09ch +dd 070943d9dh +dd 0ed99940fh +dd 050c15e5ch +dd 0afd9cfd8h +dd 0d96a6dd0h +dd 08f53c9e6h +dd 0cbbc86c8h +dd 0561b774eh +dd 07607ad3fh +dd 0d7d9f999h +dd 014e82cf4h +dd 0ee4c04a1h +dd 0190ad94dh +dd 09043e8aeh +dd 0098e8cach +dd 0bb5cc521h +dd 0c1636063h +dd 0f1bc15fbh +dd 0ab0d42e0h +dd 01f462b7ah +dd 08d53c1eah +dd 072e6e6e3h +dd 0ff8a99adh +dd 0c316636ah +dd 07e0804b7h +dd 049c9d379h +dd 01957f6c3h +dd 080a86917h +dd 002a363d5h +dd 05c5ee694h +dd 0c8420611h +dd 0672384d8h +dd 0c4c591efh +dd 07b198343h +dd 033826e8dh +dd 081619348h +dd 069115d60h +dd 0de996507h +dd 0940cc780h +dd 01f499a9eh +dd 0c44897d3h +dd 0bfb9f97dh +dd 03b212912h +dd 0e0ebb0bdh +dd 0d15f9774h +dd 06eb26d5fh +dd 025aba8efh +dd 06d8f698bh +dd 04dd04c98h +dd 04bfb8ad8h +dd 027a8f5beh +dd 087e39451h +dd 08aa8cc72h +dd 063897e27h +dd 0c45250bfh +dd 012727312h +dd 0d7c081cdh +dd 0dc62a415h +dd 0c4570540h +dd 062189e9dh +dd 0b6ec68c9h +dd 0b5856d14h +dd 00ec7c8c0h +dd 02242aa73h +dd 082fbfe7eh +dd 0c5bbb00ah +dd 06827f550h +dd 0f2091e37h +dd 0f541044ah +dd 058b00e16h +dd 01499a912h +dd 0ce3bbeabh +dd 0e075ac73h +dd 04729e199h +dd 02e4ded5dh +dd 0bed0ca0ch +dd 010b3446eh +dd 003886d59h +dd 06a6ce7c7h +dd 09fb78742h +dd 0d6e7b2a6h +dd 0020c7469h +dd 02907a2e6h +dd 085f481bah +dd 035c13a4ah +dd 01cecea57h +dd 08cf75a13h +dd 01035cbd3h +dd 0abaa515eh +dd 0dfcb32ech +dd 0022f8cdfh +dd 0ebd2d19eh +dd 0e475dfa1h +dd 00c7b191ch +dd 03ece3d3fh +dd 0262675e2h +dd 001373c9bh +dd 00cbee211h +dd 02ef4a2d9h +dd 041b100f8h +dd 01bda27a7h +dd 062dba294h +dd 0ff855fc7h +dd 082d21c48h +dd 0c954d592h +dd 0b1d803e3h +dd 0a901af78h +dd 0431f062dh +dd 08b566416h +dd 082e53b49h +dd 038f42c2ch +dd 002b70d63h +dd 0c85f6d9fh +dd 09b04010eh +dd 0d8f6562dh +dd 052917f54h +dd 06caf1ec3h +dd 0100c3dd2h +dd 070dd9935h +dd 0d1736affh +dd 01916f225h +dd 0215b3ad4h +dd 0cb25e3e9h +dd 0b14ba352h +dd 056abcba4h +dd 0c615a345h +dd 0db56f744h +dd 05e56b89ah +dd 07b27ea3bh +dd 022dd526ah +dd 057e8c87eh +dd 08a300df4h +dd 07a0832e9h +dd 0f3776d82h +dd 083ba776fh +dd 03fef0d43h +dd 004838f22h +dd 03ab5db21h +dd 093b04e85h +dd 03026f323h +dd 0ce73cf61h +dd 086cfd84dh +dd 0f37f630dh +dd 0268f3a31h +dd 0f862b6a3h +dd 0979d0528h +dd 048df4897h +dd 0ce4e877eh +dd 00957048eh +dd 09c589e69h +dd 07ce9dbdch +dd 0ac450eb6h +dd 0cfc02894h +dd 0f9344afbh +dd 05b40dcf3h +dd 089f4b30ah +dd 0726c1fdbh +dd 09a73af78h +dd 071588e74h +dd 08f538a54h +dd 03523a8cbh +dd 029d75b6bh +dd 042ebc375h +dd 062cf2c8eh +dd 022dca2e2h +dd 03f324b8ch +dd 00e1ca001h +dd 00f87fd92h +dd 01f9d0420h +dd 06898b881h +dd 095e07e36h +dd 088122c3ah +dd 0609733bbh +dd 03d6c2034h +dd 0a1cc9971h +dd 0c486f09dh +dd 0eb20b2ech +dd 06ba9753ch +dd 03a8baebbh +dd 068f3d2d3h +dd 0b611cbc5h +dd 04c7b53ach +dd 0ef2540fbh +dd 0025668b0h +dd 060b4ade3h +dd 0d167e715h +dd 095efa8ech +dd 0d2f59d09h +dd 02d5dcc7eh +dd 09f44059bh +dd 034ef7928h +dd 0fb4e8b4ch +dd 06ac53cd9h +dd 028483df8h +dd 08d42edadh +dd 0a7eb5684h +dd 034568deeh +dd 0d7d44b2bh +dd 096f51fdch +dd 07209108ch +dd 02a2d2b08h +dd 0d6a2f956h +dd 048621c7ah +dd 019eec07ch +dd 0ef6fcf45h +dd 00383d897h +dd 0506ec5d1h +dd 0809ed9afh +dd 0a60afb62h +dd 010a465e4h +dd 0184f9bf7h +dd 009c297cch +dd 03b87b3e9h +dd 08021c893h +dd 03160bed2h +dd 04b071902h +dd 04eacea29h +dd 0aed8cb07h +dd 086aab047h +dd 053630414h +dd 0c4c9b079h +dd 0ea9bae8ch +dd 09a34d180h +dd 09d09cb97h +dd 031bc4ebfh +dd 0c027bf08h +dd 068f35bach +dd 078786005h +dd 0724749eah +dd 0e22b8ddfh +dd 0efcf2ff8h +dd 0d78ea813h +dd 0d203e66ah +dd 0abe45e7ah +dd 055f4fc85h +dd 0b3d0f3ebh +dd 05e0464fch +dd 0ebab50b1h +dd 04000705fh +dd 00cfb0f41h +dd 0bcdb671eh +dd 05cca59ech +dd 069c68a44h +dd 078eecda1h +dd 01a2bb42bh +dd 00422cdf8h +dd 03e17cd8dh +dd 0ba216683h +dd 0288043ceh +dd 0b098494bh +dd 0dd9a8c09h +dd 0b54952fbh +dd 0c20ae25eh +dd 085f42b99h +dd 001afff2ah +dd 09574aae9h +dd 0765ae138h +dd 03231fe67h +dd 0c83645f0h +dd 05c637698h +dd 02a6b53fah +dd 0f3176bfdh +dd 03092ac48h +dd 0b8ebb60ah +dd 0978accf7h +dd 03fd3bf31h +dd 0eec0ba81h +dd 059b9ea91h +dd 050dad181h +dd 0a8dcb4a0h +dd 086f44852h +dd 02648778ah +dd 018761ce1h +dd 049c2af4ah +dd 079d96034h +dd 09ea61fe6h +dd 030be1f3ch +dd 0d9fcac07h +dd 0f823f249h +dd 03b815084h +dd 0b1e858a3h +dd 02c5d743dh +dd 0a4f81034h +dd 057de3550h +dd 007eab3edh +dd 0c3467f28h +dd 00489dae0h +dd 0cfcb49cbh +dd 0a98511c8h +dd 04d39ba42h +dd 02ca999dfh +dd 0eb34314eh +dd 0501aee7fh +dd 0ad90c499h +dd 0be9f8041h +dd 0557de9b1h +dd 0be01cc43h +dd 0a891e65fh +dd 09e24f4efh +dd 017a7d2d6h +dd 0c2be809eh +dd 079a8d1d7h +dd 0d2a7decch +dd 046f3818ch +dd 0ed7031e5h +dd 06eb74c1dh +dd 0d6a5beaah +dd 0996b8fe0h +dd 04ff5e61ch +dd 096d8a5a6h +dd 05b46415fh +dd 056e17398h +dd 0ccc1b9f5h +dd 0bd45adc1h +dd 067f75f3eh +dd 04d87c79ah +dd 09d94153ch +dd 0070957fdh +dd 09a89ce6bh +dd 0f2f8350dh +dd 0ea136167h +dd 0aac752d5h +dd 0bbeefd3dh +dd 03e2df1adh +dd 0456ad615h +dd 07eede68ch +dd 0c2233d6ah +dd 003c8a035h +dd 0d8fdc76ah +dd 0b438e582h +dd 0a6f5fd77h +dd 08b597d34h +dd 02d4a6741h +dd 09a4227beh +dd 021bfcbfeh +dd 02fcdc463h +dd 0c8873c8ch +dd 05abdf72eh +dd 01ea1a4deh +dd 0e0e1632fh +dd 0d35ce9c5h +dd 058332306h +dd 0a7e3709eh +dd 03bae0280h +dd 001664297h +dd 03d520e38h +dd 05c60222dh +dd 07220ca7bh +dd 06584a552h +dd 0cf056700h +dd 01789f876h +dd 07ee08b94h +dd 0f53292cch +dd 087a41737h +dd 09f83cf83h +dd 0dd5aeda9h +dd 0ea98b7c6h +dd 0c770637fh +dd 0602a1f03h +dd 022c0c4a8h +dd 009d147adh +dd 07c46c8e9h +dd 0e11263fdh +dd 0fa0cd079h +dd 0b93eb463h +dd 05f0713f4h +dd 0340ef0eah +dd 0caeb85a3h +dd 038efee3ah +dd 03b83a053h +dd 079e3ee28h +dd 097f9cd97h +dd 002f9d7ffh +dd 0c50c7dd3h +dd 020495190h +dd 09669a1d2h +dd 0dc3df2fah +dd 0fb88e5c5h +dd 04244c821h +dd 09202c786h +dd 0f6628269h +dd 0ec79ab5ah +dd 09860cdb7h +dd 00702899dh +dd 0492748ffh +dd 08711ecdbh +dd 0a7e819c4h +dd 0702b5ccdh +dd 010898305h +dd 0c3c1cfd0h +dd 04f3b4e62h +dd 0b1a03bf1h +dd 08e63f8d1h +dd 054c3eb25h +dd 0bc48abadh +dd 01d0c1761h +dd 0e14aed13h +dd 07148cedbh +dd 03291bb52h +dd 02a37fc48h +dd 01895456eh +dd 04e4da7dah +dd 0a60450c0h +dd 0f9a7324bh +dd 0705470f1h +dd 07b64a79fh +dd 0f068d2cfh +dd 03d931238h +dd 0d13ee874h +dd 032954fb2h +dd 0899a8701h +dd 0aa22651eh +dd 0218df2cbh +dd 02705723ch +dd 007d57f88h +dd 01ea9e047h +dd 06d1a3b23h +dd 0d944552eh +dd 052304each +dd 01c4bfb65h +dd 0d029f182h +dd 05269d840h +dd 0497f0d4eh +dd 0dd8e4c72h +dd 053f1963dh +dd 010d2bba1h +dd 0bc2920ceh +dd 0b3166513h +dd 0d6a8679ah +dd 07b3b05beh +dd 0f60f0be5h +dd 0bbddd57ah +dd 04d9819b0h +dd 02287a035h +dd 079726fc4h +dd 089ffb473h +dd 0bff9db7bh +dd 01eafbb10h +dd 0341f45fdh +dd 004b584a5h +dd 0f114f7a7h +dd 0dfa6b593h +dd 089ca9b13h +dd 01c48dc39h +dd 049ac03bdh +dd 0757d18bch +dd 0d2f7e9a6h +dd 0b1ce3029h +dd 0a0d834d6h +dd 0332b6564h +dd 075d183cdh +dd 0842b9cb4h +dd 0aef98bfeh +dd 082ffbac1h +dd 0a1b58e0fh +dd 0ea0064c1h +dd 0f88a33d3h +dd 01389d432h +dd 039567edfh +dd 0a200eb79h +dd 08adffd90h +dd 089540a73h +dd 0b49f6845h +dd 0e842c92ch +dd 034a068ebh +dd 09209be9eh +dd 04828f52fh +dd 087bcbdc9h +dd 051861f26h +dd 0cf10291eh +dd 003a26829h +dd 029e926bfh +dd 0ba352c28h +dd 0b61a02b6h +dd 09c1103afh +dd 05b115774h +dd 05625d183h +dd 09f1d424fh +dd 0e6858be5h +dd 030faac7dh +dd 03fa4182bh +dd 0fe9d2cadh +dd 02b4a0e94h +dd 0f19bc604h +dd 098c1f869h +dd 088cda4cbh +dd 008c74989h +dd 075555c12h +dd 005b742adh +dd 04d0b1dd2h +dd 047bef6a5h +dd 0ffc2ac55h +dd 0048ea5d6h +dd 0163e3791h +dd 058870881h +dd 0774044a4h +dd 0a2e595d0h +dd 0e6a2c712h +dd 00ef51e28h +dd 0964ee00bh +dd 047792e69h +dd 091c89c79h +dd 03d3e7bbdh +dd 067f1a670h +dd 0bfb0e7f8h +dd 062ad7566h +dd 0f0fc3ddfh +dd 0eb667d6ah +dd 0e1ce710ah +dd 0e3d520eeh +dd 0d8702383h +dd 075a6f88bh +dd 01df88e1ah +dd 004637e90h +dd 0c768d254h +dd 097d7a3ddh +dd 09d1e5afah +dd 04e8bf1f7h +dd 0c38d6479h +dd 02c433956h +dd 054375548h +dd 040ce0b8dh +dd 0674291adh +dd 0de071c08h +dd 09932b14ch +dd 059707ccfh +dd 0f33396c1h +dd 0ad80532ch +dd 01e76d4d7h +dd 0173c26cah +dd 052a2c99ch +dd 000624261h +dd 063c520feh +dd 0812ec8deh +dd 081093c71h +dd 0a2fdc2a3h +dd 0a4b5f7e7h +dd 0f96139ceh +dd 0f5cbdcf0h +dd 03a845e41h +dd 0772cc92dh +dd 039f97b79h +dd 0dd5f5eb6h +dd 02e3d8c50h +dd 0e3ca4461h +dd 0fc19d16dh +dd 095537ea3h +dd 089581fb7h +dd 0b291b17ah +dd 0dd2bc569h +dd 0454f502eh +dd 09f6f2ff8h +dd 06f4cc60ah +dd 087d9c556h +dd 0615201c6h +dd 0278f638fh +dd 0628bff49h +dd 0254d8296h +dd 054ca484dh +dd 01e1bdf17h +dd 0eb1b32cbh +dd 08b1e355dh +dd 0d86c1ee3h +dd 018089d10h +dd 0bb4c06d1h +dd 0005b79a0h +dd 0a3b9a34ah +dd 07c23c566h +dd 02009b077h +dd 0470ab7b9h +dd 01b6a1136h +dd 04d3dab2bh +dd 091416badh +dd 0612c4704h +dd 0ca07d7a3h +dd 0a563005eh +dd 09b1b1504h +dd 0bec0306eh +dd 0d47881ddh +dd 0cd19fc88h +dd 0c38cec97h +dd 077708809h +dd 0757527a5h +dd 05a1381a0h +dd 09e3ffb5ch +dd 011024a37h +dd 043847c65h +dd 0050873deh +dd 06a9e8f22h +dd 0bd133430h +dd 0bca272b5h +dd 02d10fcb1h +dd 02f43c68eh +dd 007fcd659h +dd 0f711bb76h +dd 0fa09ec22h +dd 0ac44d08fh +dd 0d7e8b011h +dd 02fa9ed03h +dd 05e55bf96h +dd 092b85551h +dd 0934ea782h +dd 0e3545707h +dd 07e90aaefh +dd 0eed26ce0h +dd 08f3e04b8h +dd 0432e02c0h +dd 0f6498ecdh +dd 02453bc83h +dd 02f7ac285h +dd 04d62b021h +dd 0cf08d6f5h +dd 0c7851a5ah +dd 0f88e0c0eh +dd 04f1ec4cah +dd 09a91d45ah +dd 01b8adf07h +dd 0ff1b2411h +dd 01f2675f3h +dd 076b77a62h +dd 062a1e3e4h +dd 0b26a7edbh +dd 0b5779c9dh +dd 0f87aa53bh +dd 06c1d156dh +dd 0ebed847eh +dd 0821c1a06h +dd 03cef1abfh +dd 05a1adb46h +dd 0db7de8e4h +dd 0a520c892h +dd 04c95abbch +dd 0e8e6588dh +dd 0f2bbd0b3h +dd 067a44f98h +dd 04894c614h +dd 0094350ach +dd 046509583h +dd 0169753fch +dd 0e96553c9h +dd 0b3fbe386h +dd 0200acb3bh +dd 07477ddaeh +dd 03384dc6bh +dd 019414ff3h +dd 0ada855a1h +dd 0537f1145h +dd 009676023h +dd 0734bbf95h +dd 0d5279f12h +dd 0303788f6h +dd 0a840aa6ah +dd 025ce1a88h +dd 0166b2d3bh +dd 041f98215h +dd 0d9a17fb5h +dd 0b6f24c02h +dd 02b09276ah +dd 0e2646479h +dd 0b9596dd1h +dd 0472e85ceh +dd 02ba59808h +dd 0b8ba5db5h +dd 0a1c7f46ah +dd 06aa8b809h +dd 0304d8b1dh +dd 006e8ae82h +dd 01dd914d1h +dd 06654ffcah +dd 0e0925ccbh +dd 0b680cd52h +dd 07b4a9c75h +dd 045d0ce1ch +dd 049b86deah +dd 05bbfc673h +dd 07309a7f9h +dd 0c7110277h +dd 07551a593h +dd 0dd4c5256h +dd 031b06c0dh +dd 00714ff39h +dd 0858518b8h +dd 02c0ed520h +dd 0c1d5f2d9h +dd 0c869dc24h +dd 084863358h +dd 070e1742bh +dd 0bb5031a5h +dd 0bbddfe8bh +dd 00fb4d951h +dd 04768d9fdh +dd 03993f109h +dd 000863bcbh +dd 0e4ec15ebh +dd 04daed491h +dd 092ba9d17h +dd 098869b6bh +dd 0ece24e31h +dd 08328ffbah +dd 0bf898c89h +dd 0f72191bch +dd 045ec6931h +dd 0e389cc2bh +dd 0e69d0f34h +dd 041c6c1f3h +dd 0389ee7c9h +dd 0349b8ec6h +dd 082cbec3fh +dd 0c34e89e9h +dd 05c7d97dfh +dd 01aa61435h +dd 04f56d369h +dd 0835ed564h +dd 0d063fa46h +dd 0c45c8ab9h +dd 07f9c636ah +dd 005acf9f7h +dd 09f1fba21h +dd 0b6c39795h +dd 09c19f782h +dd 01004cb5bh +dd 056f47d96h +dd 03c0717f7h +dd 0c41c6b68h +dd 0af0a7179h +dd 084008564h +dd 0f357cf24h +dd 0c836abb6h +dd 04f4eb886h +dd 011ba9f43h +dd 0943a34fah +dd 066b89395h +dd 09204cae1h +dd 08f9d67eeh +dd 0ca2842c9h +dd 016a37730h +dd 0ee1ad2bbh +dd 02f392baeh +dd 070781113h +dd 004d64e42h +dd 0a7730aach +dd 09a1c0f1ah +dd 0eeb9a91eh +dd 0f8f6ded2h +dd 0ce3691c8h +dd 04b044714h +dd 0fd125894h +dd 0d0f78f68h +dd 0b9a99d12h +dd 085ebf569h +dd 055491fdfh +dd 00ed1694ah +dd 0ddc012cch +dd 0abb82f90h +dd 06d81ad25h +dd 066278f0dh +dd 0c6ca61dch +dd 0711d1096h +dd 0ced8fc03h +dd 0c6b2f886h +dd 0c6585122h +dd 049169dc9h +dd 091fc9044h +dd 09c3c357fh +dd 04b2476e1h +dd 006254428h +dd 09176c4bah +dd 0f2728d06h +dd 039665ef4h +dd 06c075906h +dd 0db7111c0h +dd 0c2e24f08h +dd 021e858f6h +dd 0165834a3h +dd 0a3bddba6h +dd 0bf608fc6h +dd 045a70793h +dd 08101baach +dd 053b5bac7h +dd 0570087d3h +dd 0685ef586h +dd 06bb8140fh +dd 03f339d9eh +dd 07864cfe1h +dd 0fe4693cbh +dd 0c325d45ch +dd 0ad8ba969h +dd 07a786f63h +dd 0f905ab20h +dd 05efa2bafh +dd 013321bd1h +dd 0e59ab334h +dd 0892e6a03h +dd 01168fb4ch +dd 02b0cc361h +dd 061880cc3h +dd 003826c14h +dd 00ff5b86dh +dd 0c8a70c13h +dd 0db6d74f7h +dd 0d6682c6eh +dd 0e9f1697ah +dd 05125fb8eh +dd 024ba861fh +dd 04aee2d3ah +dd 0044be14eh +dd 0185b3561h +dd 0492eb98ch +dd 0149932e3h +dd 0c1b5ce23h +dd 02b59bd0ah +dd 0bf7d13a0h +dd 03af85838h +dd 0ad5911ceh +dd 04b78a5c2h +dd 0ef216d18h +dd 0e1b9882eh +dd 0305c4e2bh +dd 0c0d512e2h +dd 0a791eb54h +dd 006b43c9ch +dd 021b5b17ah +dd 060b00544h +dd 0c6df0153h +dd 082b4555ah +dd 0b0b815cfh +dd 003eb5e7dh +dd 074643afdh +dd 0be0c6109h +dd 0989d7152h +dd 0a689519ch +dd 029c38995h +dd 0142284e0h +dd 020131069h +dd 00b53b857h +dd 0ad7592f8h +dd 0a50390e6h +dd 0384c87d5h +dd 0ecc9a2c1h +dd 0db318e67h +dd 0be57b833h +dd 09f9109d2h +dd 0f20589f6h +dd 0ec6809bbh +dd 02449aa75h +dd 0a740ea60h +dd 03adcd229h +dd 08a42297ch +dd 08a76ed84h +dd 0fbd59f6fh +dd 0de832e78h +dd 0c859f170h +dd 0c6c763e0h +dd 0ea1db0fah +dd 0f27e533fh +dd 060a8920dh +dd 0efeb5ef9h +dd 06563ec24h +dd 04092d435h +dd 0b9169fffh +dd 094a28ad2h +dd 06661a29bh +dd 0ba47e768h +dd 009d09660h +dd 02ea68c85h +dd 09a4d1752h +dd 0b1dfcf8eh +dd 0586551e1h +dd 09514996ah +dd 055870fc4h +dd 083602fc5h +dd 0be29d8f1h +dd 099c702c7h +dd 0785d9174h +dd 058ef5571h +dd 02fc5e224h +dd 0b5a414edh +dd 05b97a202h +dd 0afdf7512h +dd 0b1b0abb8h +dd 00ffb0f0fh +dd 06b140c08h +dd 0537b49bdh +dd 095cbb35eh +dd 01f165bdch +dd 0422d1a90h +dd 07911761fh +dd 09d5ea6eeh +dd 04f20d8a5h +dd 052145b14h +dd 0399aa234h +dd 01320dd38h +dd 032fbcaffh +dd 02c818761h +dd 00f3d62a0h +dd 03d4a2b3dh +dd 0304d7a30h +dd 0b934220ah +dd 026b11761h +dd 09374d50ah +dd 02ab82b20h +dd 0fed44861h +dd 06e92d3c2h +dd 01d53fbedh +dd 0f1b111fch +dd 0f47f0f83h +dd 01c6e9d8bh +dd 0cf3dc7c0h +dd 0a48857b7h +dd 09c246a58h +dd 0e8898b67h +dd 074a94b22h +dd 07c41299eh +dd 0dc9a6be4h +dd 0a6b3e8a9h +dd 09763e00bh +dd 0b77f91e5h +dd 0f27a59c9h +dd 07d9b3593h +dd 0cb4ec632h +dd 07fc9f045h +dd 09d176cc1h +dd 0014cc5d2h +dd 071b43c09h +dd 088dad054h +dd 0fd871b1eh +dd 0c2f04056h +dd 00061024eh +dd 06ae94aa1h +dd 07bdd851eh +dd 01b55d623h +dd 0a71b442eh +dd 0b5686507h +dd 01e693514h +dd 094196929h +dd 0fb406fefh +dd 05a1d57fah +dd 0a23c0f15h +dd 009b46b83h +dd 0314e503fh +dd 0403d2c23h +dd 09c7ed15ch +dd 087164268h +dd 00408d733h +dd 0c4b8d71bh +dd 020fd1b22h +dd 0039b4327h +dd 0a351f188h +dd 0166246e3h +dd 04d2fee27h +dd 0ad209f7eh +dd 0091c9d4ch +dd 09b4c38e6h +dd 0014113edh +dd 08a150d88h +dd 0f7474e36h +dd 0c25f53b8h +dd 0bc1e2d3bh +dd 08ad4a768h +dd 02e4fed6ch +dd 0b21a9504h +dd 056f0fc35h +dd 04791e829h +dd 0fc827ca6h +dd 0c480b77bh +dd 0c10be1afh +dd 08e633f70h +dd 06ed37319h +dd 04e6a5c1ch +dd 0bf5cf508h +dd 06435f4ach +dd 09eaf1dbfh +dd 03e5303e1h +dd 0b247b6d3h +dd 0264b344fh +dd 0378a5451h +dd 01f67e05eh +dd 0e3335c7fh +dd 0fb54243ah +dd 0e1cce4beh +dd 0b34a9571h +dd 062a53e73h +dd 07faaf573h +dd 029199991h +dd 06634d8a7h +dd 085bdd6dch +dd 0f790d475h +dd 0adb3d43bh +dd 059dfb80eh +dd 088405d19h +dd 03ec79003h +dd 02c36ba54h +dd 092741542h +dd 03772136eh +dd 0a2fd0f43h +dd 0ace23504h +dd 0d96e16fbh +dd 08d9089a8h +dd 07d7d92f9h +dd 0c4a992edh +dd 02e3b236ah +dd 01f00f0f3h +dd 0a0a60c5dh +dd 02853bc39h +dd 0d6ba2e5fh +dd 05ce207bfh +dd 01d8daecbh +dd 0616bac99h +dd 0e9a844b6h +dd 046ee59d5h +dd 0a4b6ad57h +dd 00fa243e1h +dd 0e91c601ch +dd 00591a36eh +dd 0f51aa6fbh +dd 017423fa6h +dd 0b0d79700h +dd 012980009h +dd 03404f0d2h +dd 0b128d03eh +dd 0de95cea2h +dd 055011d3fh +dd 01d9eaba1h +dd 035a0e8f1h +dd 03164ddf0h +dd 018cef286h +dd 04f149f19h +dd 0f4b20522h +dd 09103beabh +dd 0e3a21ee4h +dd 0d3354e8bh +dd 0d4770e57h +dd 0b3e6806ch +dd 090a0adf7h +dd 0b13cbbd2h +dd 02753cf7ah +dd 02d9900a2h +dd 0e4a067edh +dd 0ac67c96dh +dd 03852673fh +dd 0f1026a50h +dd 01450964eh +dd 0c1f5aa5ah +dd 094466577h +dd 09010885fh +dd 06a6380f6h +dd 06acb48a3h +dd 06b8724ebh +dd 0191f193eh +dd 08fcf6db3h +dd 0ad25ce7eh +dd 06aeb30b3h +dd 011ddb7c6h +dd 09fbfc074h +dd 074fce59dh +dd 0b730fc8dh +dd 000c87693h +dd 02308eec4h +dd 062fa8a61h +dd 0f2864964h +dd 095bc11f8h +dd 0667d2b97h +dd 036026170h +dd 00012ee4dh +dd 0ab0e2290h +dd 0bea6933ah +dd 022fa1773h +dd 0c8d23b23h +dd 010104e6dh +dd 02d28951ch +dd 0bb696642h +dd 02be6f299h +dd 062ab8b57h +dd 0f77ef603h +dd 0c8998a09h +dd 0a4815e19h +dd 08c52d048h +dd 0961b1bceh +dd 0e5cddce1h +dd 045a11ff2h +dd 037aeaa6fh +dd 09f0a5940h +dd 0fcef62edh +dd 0508bafebh +dd 00ebfa8f3h +dd 03c26842ah +dd 0613beddeh +dd 09d52d7c3h +dd 0fb4bee96h +dd 0f487c865h +dd 0a916a5cch +dd 0df13d706h +dd 01ab1567fh +dd 055e86c75h +dd 04ae1dff8h +dd 0a7188826h +dd 02c4c40a0h +dd 085474311h +dd 0f97ea10eh +dd 03d73c10ch +dd 00c2beca6h +dd 0636dba8dh +dd 0078bce9eh +dd 029a819e0h +dd 0da1615e0h +dd 03a170fb1h +dd 04fc3715dh +dd 08634a7beh +dd 082c47eb0h +dd 03a408c24h +dd 08820fb78h +dd 0d676fb65h +dd 09c381a75h +dd 0fac90d28h +dd 066b0fd11h +dd 0685a4a38h +dd 013960771h +dd 0b23f7021h +dd 08db1c6f1h +dd 0d115f1afh +dd 084a7d55ch +dd 03d3ec9dch +dd 0acfa3313h +dd 059c57485h +dd 040234f29h +dd 079aefea6h +dd 0781efa71h +dd 0e71ef705h +dd 09e7d2488h +dd 012d6ce49h +dd 0bb9d8e88h +dd 05b50dd24h +dd 0b283db1ah +dd 0aea263beh +dd 0a3ca2a99h +dd 063900e93h +dd 04e8613c8h +dd 0d6cc4763h +dd 06dba0786h +dd 028672d9bh +dd 0af2612b6h +dd 041e929dah +dd 05dfe601dh +dd 0ed2f416fh +dd 0d304b648h +dd 005516700h +dd 0f1d266efh +dd 01fdd76c3h +dd 06fe0f71bh +dd 09b5a2904h +dd 02e24add0h +dd 07172af1ch +dd 0df81792ch +dd 06b7efacbh +dd 00adafcddh +dd 0cbb70b2ah +dd 0921b07e0h +dd 03f736febh +dd 09f892b22h +dd 0244184f5h +dd 034be9ad5h +dd 0f1edd959h +dd 0a6ae3611h +dd 0c2021892h +dd 0fea4f6d8h +dd 02e86b665h +dd 09dc0d704h +dd 0550ceaa0h +dd 0b7e5e403h +dd 025f9f5ach +dd 04e644bc5h +dd 057cd5db3h +dd 04730ede3h +dd 0232b01d5h +dd 0d32b5e0dh +dd 06be41a75h +dd 09c63a1eeh +dd 023f25b7ch +dd 054d12209h +dd 048d569a5h +dd 0ec93e6b0h +dd 0a86aa0e5h +dd 055fc88a9h +dd 0324b4c26h +dd 025c230d3h +dd 0149b9f95h +dd 0f7d8ca85h +dd 08b88528ah +dd 00059d24ah +dd 004e49395h +dd 067877ad3h +dd 050c75663h +dd 0116f36b6h +dd 0d3397304h +dd 019fdaa26h +dd 0cdf11e74h +dd 054db42b7h +dd 0c7635392h +dd 008666b0eh +dd 0281a325fh +dd 0cf18044eh +dd 0a08936ffh +dd 01c792d06h +dd 0a8995845h +dd 03a537e26h +dd 0e3335096h +dd 0bd2bbd5dh +dd 02270b51fh +dd 0508db77eh +dd 00256e194h +dd 08804157fh +dd 0b6b15913h +dd 006691426h +dd 07402ce25h +dd 0849ba918h +dd 0d9a2478ch +dd 08ebab1ffh +dd 0a418c11ah +dd 001806744h +dd 00f41841dh +dd 00e47a721h +dd 019ab402bh +dd 0606c157ah +dd 070a5e505h +dd 06e0a29c5h +dd 0f54c3d76h +dd 00d59f467h +dd 07c1073c6h +dd 0c3d09ebbh +dd 042c5ccaah +dd 093dd58b0h +dd 0083aec28h +dd 00d5ed537h +dd 0480649deh +dd 074ad6b9ah +dd 0de88a9e2h +dd 06924825fh +dd 04224f8fah +dd 0ec64637dh +dd 0d4fd6866h +dd 0ccd1cb8bh +dd 0af9f1f9dh +dd 01d97e8b4h +dd 0c0f804a8h +dd 0d1116559h +dd 06be6facdh +dd 02683a2ech +dd 0a3929fdfh +dd 0cf3bafd6h +dd 0781b6548h +dd 08aed909ah +dd 04d976998h +dd 03697f5afh +dd 0fbc4c745h +dd 0a784c717h +dd 0cb6ffc7dh +dd 060b4466bh +dd 03a58ed56h +dd 008632d20h +dd 04405f102h +dd 0e80d8b40h +dd 09dff1a58h +dd 0eefea24bh +dd 0f0c4a39ch +dd 0404ca5c8h +dd 0170c68ffh +dd 04edf94afh +dd 0a319b3f0h +dd 05236ae43h +dd 004c77bbeh +dd 0e886ba7ah +dd 072bac201h +dd 077743f62h +dd 0d477edbbh +dd 036d7aae5h +dd 0c8e5040ch +dd 07587ac22h +dd 01a3611e9h +dd 019ed5544h +dd 0a6b5f182h +dd 09fe1a466h +dd 024ab3366h +dd 07834b5e9h +dd 0c1f4b066h +dd 09ba2c2f0h +dd 043a62009h +dd 0c21629abh +dd 06fc354d4h +dd 04e848ce9h +dd 00641a65eh +dd 0ea54e9e3h +dd 01202c7d5h +dd 0abe19589h +dd 016a380efh +dd 004b5b46eh +dd 093ee8f7dh +dd 0eadb86eeh +dd 0f3f7dca6h +dd 01b99115ch +dd 0167fc759h +dd 0570b6998h +dd 02a2255b4h +dd 0e8014340h +dd 09869e7c3h +dd 09de80da9h +dd 0740b2e87h +dd 0b3ee09abh +dd 0c3516e0eh +dd 00711fe7eh +dd 0363f9d2fh +dd 053b4a592h +dd 090b849e2h +dd 0d6db289dh +dd 04ce61c01h +dd 0edcafafah +dd 08b228610h +dd 021dc0febh +dd 0d2070163h +dd 0161f596eh +dd 0ff17843eh +dd 0cbb77affh +dd 005cb2207h +dd 0107742d0h +dd 0eb5c7ad4h +dd 0e289e575h +dd 084b2c05ah +dd 04f5f2558h +dd 0b281f014h +dd 0b5172cf7h +dd 0e25d2f04h +dd 0074b3065h +dd 01e09fca0h +dd 0dee098b3h +dd 0bd260342h +dd 0893b8960h +dd 0648d1974h +dd 09a1592dbh +dd 0aa6c588fh +dd 0d8f32158h +dd 0b3132c9ch +dd 0101b4fcch +dd 01ce230d0h +dd 006076ad7h +dd 01de517ddh +dd 066c62116h +dd 0c1a28474h +dd 0566ba9aeh +dd 0328ee0f3h +dd 0f940a59dh +dd 063072f35h +dd 0cff59a8fh +dd 021c7ddd4h +dd 0e9393e08h +dd 0cecf454fh +dd 0c88face9h +dd 0e6f291dbh +dd 0e5365572h +dd 02e3c867eh +dd 0bdda4ab5h +dd 08f39b21fh +dd 037d2a976h +dd 007db4c42h +dd 02162e8b5h +dd 012375957h +dd 0b7bb3c7ah +dd 0b58098b3h +dd 0512c2e1eh +dd 06dba1241h +dd 0d202cd70h +dd 007e0c7c8h +dd 08bcd8269h +dd 08e96c719h +dd 0a47cbd3dh +dd 0ec36d1c9h +dd 0728a320ch +dd 07c256a25h +dd 0d73dc9d6h +dd 03bb75a6bh +dd 0a36cac44h +dd 05055edc6h +dd 05531a73bh +dd 06e2b135ah +dd 0c1d6c787h +dd 0d07f1de9h +dd 068de0c64h +dd 0cba08f9ah +dd 018868124h +dd 0ea834f21h +dd 054e011bbh +dd 0e1b43362h +dd 0aecd51e7h +dd 0909c3e01h +dd 0b176b089h +dd 0bf037ea4h +dd 0ec463b8bh +dd 03ef29083h +dd 03496c62ah +dd 034dd7023h +dd 0e5787bcdh +dd 0d9e7841fh +dd 058efec4bh +dd 03cf63638h +dd 0f012a0e7h +dd 08bf44c02h +dd 0fd70bf82h +dd 0ef2faa87h +dd 09b5594d6h +dd 0277c886bh +dd 0a2bebd3ah +dd 0ddd52bcah +dd 0efcadbceh +dd 0b8259066h +dd 035b37ab3h +dd 0fdc73d39h +dd 083c5893ah +dd 035ad3216h +dd 082bb1e60h +dd 04af9b3ceh +dd 0d71902f5h +dd 08d4e15bch +dd 0468c12deh +dd 0e52599fah +dd 0fe6a7916h +dd 07f7531dfh +dd 0a499d0bfh +dd 012a497a4h +dd 0b0ab25cah +dd 08256b124h +dd 07b63e63ah +dd 042188719h +dd 01054984bh +dd 090a74c04h +dd 0fc12b708h +dd 0c9be0f30h +dd 002c0daebh +dd 0b001ba27h +dd 08bad2f92h +dd 0dc432dc5h +dd 0b54a336bh +dd 0aa2af286h +dd 0432abacch +dd 0da566ab3h +dd 03166ac47h +dd 0c76a025ah +dd 0efeef61ah +dd 0291df46ah +dd 0ab551c09h +dd 02e2e8cc2h +dd 0976f7da6h +dd 0732161d8h +dd 002c36bbch +dd 0f6a72098h +dd 00109047eh +dd 05781b711h +dd 0a40b6116h +dd 0687edad7h +dd 04cf42ee1h +dd 0516644c9h +dd 056020f2bh +dd 03fa2a8bdh +dd 0ff5d916eh +dd 0e30a7f7dh +dd 02fec7715h +dd 0ac2f7140h +dd 0e317f4e5h +dd 03093d77dh +dd 077503257h +dd 0934000b9h +dd 0c5085d79h +dd 077545183h +dd 0546fe7d7h +dd 00cf81dd8h +dd 049cd3c8ch +dd 0de4482e5h +dd 0f95cbe82h +dd 0a89aa86fh +dd 016cac0f4h +dd 036d2bda5h +dd 07b1e25a2h +dd 0cb312a01h +dd 05ea1ba39h +dd 0ca4f8032h +dd 0bea9e0c7h +dd 08f9471b7h +dd 09e047879h +dd 0a2b5db97h +dd 04c46ed74h +dd 042927a32h +dd 0a6f49ba6h +dd 08863d288h +dd 042ed0349h +dd 01a373363h +dd 01c896c86h +dd 0833d0190h +dd 066e51ea0h +dd 00256903ch +dd 0e5a94c9dh +dd 073f9dd44h +dd 023be751bh +dd 070c9640fh +dd 0eda7f99ah +dd 0c2448c8ah +dd 06ef6cdefh +dd 037755a00h +dd 06b836369h +dd 0c0a649dbh +dd 09cb1afddh +dd 08a6c9d27h +dd 084bb7695h +dd 0f424593fh +dd 000dfeeb6h +dd 071b3cea6h +dd 06ccfa97ah +dd 01de2488ah +dd 01527a82bh +dd 053b82b13h +dd 029555eebh +dd 0342840ddh +dd 0be92a475h +dd 0271fc5f4h +dd 0f24056d7h +dd 0fcac61d2h +dd 0fef8141fh +dd 0a614b81dh +dd 007f85838h +dd 0418fe902h +dd 025ba257dh +dd 0b0c4c95dh +dd 0e2883e89h +dd 09d8a618fh +dd 07e794d5dh +dd 006e1ed69h +dd 0d639c1eeh +dd 04bee623dh +dd 06ef5066eh +dd 0ab2df3e6h +dd 0853b9b1ch +dd 0cd0a24eeh +dd 0d745c420h +dd 0364e763bh +dd 0904c0ad9h +dd 0b08d6345h +dd 0bc2d54b1h +dd 083694bf5h +dd 0425f66ach +dd 0ae016fdah +dd 048f3b9aeh +dd 0ad1c4aaeh +dd 033005e49h +dd 034615c99h +dd 00e74d71bh +dd 06113c622h +dd 0f6d7c83dh +dd 0a7610cd7h +dd 0372bb019h +dd 07b07d6c0h +dd 0b318e5c7h +dd 0cc15f358h +dd 05d1c14e6h +dd 02c5d84ech +dd 00d9f4694h +dd 02060aa46h +dd 0fa4d04efh +dd 010f2eee0h +dd 00a9e4aeah +dd 0866aea30h +dd 0b92a719ah +dd 06ae4926eh +dd 08aed801eh +dd 02bd59657h +dd 0390f6bd7h +dd 04e582eb7h +dd 039fd811dh +dd 0178bd9cbh +dd 0f928f7e0h +dd 0f0e4c65eh +dd 0f4efad23h +dd 0fbe9de1bh +dd 01ccbecddh +dd 069dc9b74h +dd 038a59393h +dd 07a3bdf44h +dd 0c9da01e5h +dd 05bfbe8b6h +dd 04622de36h +dd 0bc1ba115h +dd 0bc1ffa27h +dd 02ecf2af0h +dd 0efd1c660h +dd 014943fdbh +dd 099c3a337h +dd 08542765fh +dd 0626c2f1ah +dd 0485ee148h +dd 01353cc79h +dd 0862f261fh +dd 021169c61h +dd 0c4c49b1fh +dd 0821b0d74h +dd 021774735h +dd 039276034h +dd 084158298h +dd 0dbe89107h +dd 0a610dc4ch +dd 0e31b8d6eh +dd 0e0cc8f50h +dd 0733b6d5ch +dd 0434f25d8h +dd 0172840bch +dd 04721c687h +dd 05a0d0f94h +dd 082f4cba1h +dd 0221e8b1eh +dd 06f113a0fh +dd 0b094a131h +dd 0a51d2301h +dd 0db21df0fh +dd 06799463eh +dd 05b81f5d3h +dd 0a391bb4dh +dd 093f4b3b5h +dd 0d8e0e977h +dd 0110c7fa6h +dd 0a7a6abc6h +dd 0ff858913h +dd 08ddc7520h +dd 01a0b5850h +dd 02b332e3eh +dd 01058abc1h +dd 0522ccf56h +dd 0a20f1a2ah +dd 0efc8039eh +dd 0c46567f5h +dd 0614e6e7ah +dd 06d140b47h +dd 060a35c1dh +dd 0658bfd2ah +dd 0bffed68ch +dd 02c74fa57h +dd 0933e0029h +dd 046200abch +dd 0e0c786a3h +dd 027a7f248h +dd 0f6447c0ah +dd 0bb86f0e3h +dd 08cea5c42h +dd 0feb3538ah +dd 036768407h +dd 0fbe5a338h +dd 02d7e734dh +dd 0e7097570h +dd 0844a50aah +dd 08c509fedh +dd 07687ae6ah +dd 0c83fd2c4h +dd 00bb5ab7dh +dd 0f290488dh +dd 0e97f898ah +dd 0cf4279fdh +dd 03efbea70h +dd 0393b900eh +dd 028327b4ch +dd 0f1cce3e8h +dd 0f3b57764h +dd 0303d630dh +dd 0abf42721h +dd 01400faa8h +dd 08733489ah +dd 0eb1855d5h +dd 0522e6f56h +dd 06ab8b738h +dd 0706816a2h +dd 0c73df7f4h +dd 02ba22713h +dd 0caefc39ah +dd 0566d4310h +dd 066b0bd10h +dd 063da4bd3h +dd 0bba81ea2h +dd 0ab92a5adh +dd 08b1f91c3h +dd 09da16189h +dd 03f646458h +dd 08ec3f221h +dd 0592a3e49h +dd 02a58a8c6h +dd 035c41a57h +dd 03dd00164h +dd 04b26ca5ah +dd 0e1bbb424h +dd 08d653daah +dd 0363b3e45h +dd 0844f9adbh +dd 09c32a939h +dd 0c82adef9h +dd 0873de36ch +dd 0543e472ah +dd 0e34d1628h +dd 0f9918059h +dd 06393462ch +dd 0eb577bc4h +dd 0d430770ch +dd 060d67081h +dd 0d1047fc8h +dd 0d97aaf54h +dd 07a52cdf6h +dd 0147c72f3h +dd 0277240b1h +dd 068e65479h +dd 010b52623h +dd 0327bdcf1h +dd 0c27bb40fh +dd 019107c25h +dd 00e3ce48ah +dd 03cf81045h +dd 0586e1d89h +dd 05d4b89f0h +dd 073f63dadh +dd 02a4d7a58h +dd 01e4fde21h +dd 08b5f33a2h +dd 068fbad2ah +dd 0436353c2h +dd 0de72a571h +dd 00e01f0a1h +dd 052c047d3h +dd 0390326afh +dd 095c75799h +dd 00e829e68h +dd 0c9d81364h +dd 0501ba902h +dd 0433db1c5h +dd 0857fdbd2h +dd 0196d3018h +dd 024e3c176h +dd 085f0e844h +dd 011c02ddah +dd 0f0fd8f69h +dd 0b89080a6h +dd 0157e1fdah +dd 044d60f2bh +dd 0ff2f34c8h +dd 05c24957bh +dd 02a90b9e5h +dd 02d0adc48h +dd 0b13bbce3h +dd 0ee8848eah +dd 0f2c226dfh +dd 08b5a4446h +dd 06bd4284eh +dd 0bf5ce720h +dd 09877f74dh +dd 073a72462h +dd 093aaeea3h +dd 06b225e81h +dd 03c362f42h +dd 00c3a7af1h +dd 0a4d22f5eh +dd 030b4c717h +dd 07aae74e0h +dd 0c14e6c6fh +dd 069c26e19h +dd 09326775ch +dd 0bf7b8e9ch +dd 088522ba2h +dd 01baaa7ech +dd 0968e4578h +dd 0b238ca21h +dd 0bdf2f42fh +dd 0d74ab807h +dd 08944965ah +dd 08094511ah +dd 0c1362d00h +dd 05aa3f1e0h +dd 016a1e64ah +dd 0a5632541h +dd 0ad40365bh +dd 071168f76h +dd 0534b88ddh +dd 011e17973h +dd 07a6a5d9ah +dd 0ccd11291h +dd 08e8b7864h +dd 04baf61b6h +dd 05ed9eecch +dd 04d9dfff7h +dd 0f7512f3fh +dd 0272f605dh +dd 07dce62c2h +dd 0de726c04h +dd 08ecfafb5h +dd 0434e2acdh +dd 0d4343645h +dd 02460a81fh +dd 075d2112eh +dd 050e31c82h +dd 0d8440d81h +dd 032a900efh +dd 05d4f23f5h +dd 07d30334ch +dd 0713e64ddh +dd 0592ce552h +dd 0c5befee9h +dd 00c2e1c03h +dd 0c38436c1h +dd 0eb79fe7dh +dd 0c43994b2h +dd 04ca9cb0ch +dd 0cca8ac1ah +dd 09024b9c4h +dd 03782c068h +dd 095605877h +dd 0f227238ah +dd 0412c84deh +dd 0b26393c8h +dd 0e7a85b9eh +dd 074ef999dh +dd 0a7aa85cah +dd 0e402135ch +dd 02946ce72h +dd 032e6c26ch +dd 0e5f9e78eh +dd 0f223f737h +dd 0a48194f5h +dd 03f10f384h +dd 03518ed6dh +dd 00c807922h +dd 0a2a1218bh +dd 0a00b530bh +dd 0f309de6eh +dd 07b90b365h +dd 082525310h +dd 0f3f89f63h +dd 0e14c8336h +dd 09083958ah +dd 0a0b195f0h +dd 0d01748d1h +dd 05bd26097h +dd 02742feb8h +dd 0c8f185a8h +dd 071a084e9h +dd 042061152h +dd 0deae1f90h +dd 0a3d3c86fh +dd 0bca079c0h +dd 024ba21f7h +dd 0c680dfa4h +dd 0cd76a2e6h +dd 094e79d24h +dd 00d2199e2h +dd 00580a4f3h +dd 0cd2ece15h +dd 05459ea68h +dd 0da1eecadh +dd 0e5e4860ah +dd 028596e19h +dd 081169f6dh +dd 0c29a67a8h +dd 0c91ea1aah +dd 02e7fa43fh +dd 0ed5bc809h +dd 004a04f2eh diff --git a/Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50656_04003003.inc b/Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50656_04003003.inc new file mode 100644 index 0000000..235e05d --- /dev/null +++ b/Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50656_04003003.inc @@ -0,0 +1,13058 @@ +; External header +dd 000000001h ; Header Version +dd 004003003h ; Patch ID +dd 006182020h ; DATE +dd 000050656h ; CPUID +dd 0fbe53d0bh ; Checksum +dd 000000001h ; Loader Version +dd 0000000bfh ; Processor Flags +dd 00000cbd0h ; Data Size (excluding headers) 52176 bytes +dd 00000cc00h ; Total Size (including headers) 52224 bytes +dd 000000000h ; Reserved +dd 000000000h ; Reserved +dd 000000000h ; Reserved +; Data +dd 000000000h +dd 0000000a1h +dd 000020001h +dd 004003003h +dd 000000009h +dd 0000032e1h +dd 020200608h +dd 0000032e1h +dd 000000001h +dd 000050656h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 0000000bfh +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 016669a36h +dd 0456b4c94h +dd 04032b8feh +dd 01717f400h +dd 05ef25eebh +dd 00377878fh +dd 0d874c494h +dd 0f5d00474h +dd 07c8537b9h +dd 0af1d8034h +dd 05f971da0h +dd 065263cbch +dd 07a546db0h +dd 02f7300e1h +dd 0ff9d12dfh +dd 00d19cff6h +dd 0064e8f47h +dd 048569388h +dd 0613406e8h +dd 0f1cf0bdeh +dd 0fd59aed7h +dd 0167bb316h +dd 04f183063h +dd 0140638e3h +dd 05a284156h +dd 08929a411h +dd 03465ccbdh +dd 0521eedd8h +dd 04a517833h +dd 0b9e753c2h +dd 0e73f07a4h +dd 060ddb690h +dd 045d043cah +dd 0265553e8h +dd 0bb63cf23h +dd 062eb4566h +dd 0b9610b0ch +dd 01830b257h +dd 070ec8f64h +dd 0b5f305cbh +dd 072072bf6h +dd 0f9bb07f0h +dd 012b140f2h +dd 0d5f3ee00h +dd 0e0b43bc6h +dd 0ad77d13fh +dd 0bd734c91h +dd 09120bf19h +dd 087fb1faah +dd 0c1ab7aabh +dd 0de997fd3h +dd 07d0ee72ch +dd 0896db2d5h +dd 0418a04b6h +dd 0a867296ch +dd 05207cb37h +dd 0599aa1e2h +dd 05d142119h +dd 0b09e5da3h +dd 045474827h +dd 0a4ae1405h +dd 0b5ba58c1h +dd 0f18fac85h +dd 0e037bd19h +dd 068ef31d8h +dd 059bf6ab9h +dd 0f579b2c9h +dd 0bf9a1c39h +dd 0e9c21016h +dd 0bf6f5c4ah +dd 0fd068e0fh +dd 0a32b4d21h +dd 000000011h +dd 04793da35h +dd 0b9622705h +dd 055bba255h +dd 096fc4eaeh +dd 062fbfd5bh +dd 0b8e5a369h +dd 0e7ffbd1bh +dd 092db1517h +dd 03f3b9d50h +dd 071d03c23h +dd 044ebf3b7h +dd 0940b1ef7h +dd 096a0215dh +dd 06815fceeh +dd 07228471eh +dd 054781629h +dd 0aa7f0d8fh +dd 0132d2046h +dd 0b1dc5377h +dd 092ed25ffh +dd 00cdd0153h +dd 0423b7614h +dd 08b90e28eh +dd 094a0daf2h +dd 02543aa4dh +dd 02ed2f276h +dd 0825ba13ah +dd 05204bbf9h +dd 09f1527d8h +dd 064a09d48h +dd 07cc04e0ah +dd 0145ee4bch +dd 0ff40cd14h +dd 0f477406dh +dd 08f0c896ah +dd 06d31efa0h +dd 004de3214h +dd 00acb3e0ch +dd 0d35b170ah +dd 084efb957h +dd 0c543b364h +dd 076422874h +dd 0b2da8bd4h +dd 0fd38b675h +dd 0ffb1dd23h +dd 0052ec85fh +dd 00b89d7a9h +dd 0fa2ff880h +dd 05b80bc24h +dd 0119bca16h +dd 000a3787fh +dd 0a7e66053h +dd 0755aa573h +dd 06bb8a37fh +dd 03c856bd5h +dd 001ac37bah +dd 0db24a6edh +dd 0820b2142h +dd 0abdb1a08h +dd 0388d551dh +dd 0eb4630d6h +dd 0e1d16abeh +dd 063073e19h +dd 051d6c8eah +dd 0c9c30358h +dd 0a4857e2ch +dd 0931666e5h +dd 05b81af64h +dd 0f6ad1c51h +dd 0cad25c90h +dd 0df8987e5h +dd 00e5cea75h +dd 0ab69f104h +dd 0dbc58261h +dd 0aa570509h +dd 0ecc6eebch +dd 07e97d14fh +dd 04da7845fh +dd 0e22de9cdh +dd 0ff306e70h +dd 06e56c60ah +dd 0c7d5ccafh +dd 0979ffcdfh +dd 0821ecd2bh +dd 0f9f0e3cbh +dd 0909262bbh +dd 0e16301a9h +dd 0f25dc6ebh +dd 0374a5d52h +dd 0139cb2bah +dd 04fbdb794h +dd 02b53b63fh +dd 06b5d5be5h +dd 0078febd7h +dd 0f9dfd166h +dd 093f7524bh +dd 03f7c8586h +dd 089fec38ah +dd 0c1803ed1h +dd 0d0468890h +dd 0608bbfcah +dd 0767396f7h +dd 0fcb2ce39h +dd 0e8903a71h +dd 07518ebc7h +dd 04aa9c400h +dd 028d6afb5h +dd 07a8d997fh +dd 0116782a4h +dd 0e8c4ade0h +dd 0b5a93babh +dd 01b7967b6h +dd 0dfa8c147h +dd 02614b115h +dd 0e8d4ea65h +dd 06a1f68bfh +dd 017fc32ddh +dd 08dfbc4b4h +dd 0b14c0839h +dd 0f4ec7320h +dd 0cbb7db98h +dd 0c18de901h +dd 065d0b779h +dd 04e63a3f7h +dd 050c397dah +dd 026cba113h +dd 01fee513dh +dd 06142dd13h +dd 0ec4a380bh +dd 06e63b80fh +dd 07dc17c6bh +dd 07d6614c9h +dd 039294c13h +dd 01891c1e8h +dd 0d0dc4d1ch +dd 098beefbch +dd 017d66b49h +dd 063ed8dbch +dd 07ce73310h +dd 026dd0297h +dd 022e531ebh +dd 065a36481h +dd 0e204aee1h +dd 08c4069d8h +dd 091c84887h +dd 0810d5a01h +dd 000777931h +dd 0cb81bf21h +dd 0ed9a8f1dh +dd 031d83208h +dd 0a12dfb11h +dd 0bf1d22efh +dd 01e03c95ah +dd 0a046ca61h +dd 0eba779c4h +dd 09a3839d5h +dd 06e756d11h +dd 0af229c6ch +dd 090b333c6h +dd 07b663d4dh +dd 0faf3ebfdh +dd 0e65d0ed4h +dd 05e1a19e8h +dd 096182753h +dd 0726fab85h +dd 051a7b800h +dd 098e6eae0h +dd 0bcfb6841h +dd 0d1953cc1h +dd 0d7031735h +dd 0d9e9a905h +dd 0c2131544h +dd 002b119b6h +dd 01c85ab28h +dd 007769b20h +dd 0450f0df2h +dd 07c3df97fh +dd 0321c50b2h +dd 09edad953h +dd 04e6aefd5h +dd 0b899ecebh +dd 0e46f5c71h +dd 0b80ec21ch +dd 0c4995968h +dd 03fb8dea6h +dd 0f3c069fch +dd 0cd93f216h +dd 03a85c2e6h +dd 0064b856bh +dd 0518e41f6h +dd 0bacb45c2h +dd 013cfee75h +dd 093cf9b2eh +dd 071875c62h +dd 0f8f5b9a9h +dd 0d2e94373h +dd 01068f64eh +dd 05a9ced32h +dd 0875b62efh +dd 0f6cea342h +dd 0b0e3d3a9h +dd 035cb6e18h +dd 030901c1bh +dd 0928e8abeh +dd 043962861h +dd 0f4e0a7d8h +dd 0502ddabbh +dd 07e0f23f2h +dd 0abaf11ech +dd 09fd65662h +dd 04a222a9ch +dd 09c1f5ce2h +dd 0ad536883h +dd 0963ac7bch +dd 0239ab442h +dd 0c5b8adaah +dd 0d0709ed7h +dd 0270fb21ch +dd 04e46cb4bh +dd 0f3d5ca19h +dd 0174113ech +dd 02a72c8c2h +dd 0e1ccffebh +dd 0d6e80824h +dd 051d9b956h +dd 077e8c179h +dd 0abb9644eh +dd 06c477ea8h +dd 066eb4597h +dd 05dc7854dh +dd 09652b951h +dd 0c56360aeh +dd 0a2b9a923h +dd 0dd1aabdbh +dd 09fff81f1h +dd 0145250f9h +dd 08ed90fc7h +dd 0f30727a6h +dd 033e9e885h +dd 08b9113fah +dd 022c7d0f8h +dd 07e6cf06dh +dd 0fae8ad13h +dd 0d77851e9h +dd 07b02c99ah +dd 062aff483h +dd 021c052cbh +dd 0c22cafadh +dd 0ec497577h +dd 0694f0a3fh +dd 0ca076faeh +dd 0bfe0c415h +dd 07fd2167dh +dd 00c8c2fa0h +dd 0723848f9h +dd 0ff4cb1c8h +dd 02990b41eh +dd 0c3370c20h +dd 097d3c1bfh +dd 0b144267ch +dd 07d88b740h +dd 01f0d2ba5h +dd 04e2e5fach +dd 0e532acf2h +dd 004f4c19eh +dd 018144e0ah +dd 03202500dh +dd 00a99f988h +dd 0e37d475dh +dd 09664df80h +dd 02f050f41h +dd 01cfad203h +dd 0694a1ba4h +dd 0fa140628h +dd 0b7ae3565h +dd 0a4d1a56fh +dd 016e1f633h +dd 06b06433fh +dd 034cc47fch +dd 053270d8bh +dd 0050b0425h +dd 056000462h +dd 09811feffh +dd 070f4f129h +dd 098d52ba4h +dd 009cb2cb1h +dd 0d9671ff7h +dd 06edc7d9fh +dd 0edb5c0c3h +dd 05188e798h +dd 0f6c24ddbh +dd 00bfeb703h +dd 05bcadcc5h +dd 0ced41050h +dd 09cefcf32h +dd 05f0df1a7h +dd 0a73d14e7h +dd 0f1ef88f5h +dd 02840b012h +dd 0feaf4972h +dd 04a7c65aah +dd 040d5b9d7h +dd 03a5b7818h +dd 05f6c9ad8h +dd 0fd835516h +dd 0ed54c3ffh +dd 09e8adf08h +dd 0e44cab5bh +dd 07711b18fh +dd 046b64908h +dd 0f4f9793fh +dd 0322d89e1h +dd 09b4775a7h +dd 07969e38fh +dd 01e9c5e68h +dd 04d61b5ceh +dd 0058122dfh +dd 0f6d1511ah +dd 00eb7af1ch +dd 0d3cf99bch +dd 0d2f9e0ffh +dd 02bcda41dh +dd 02fb0ababh +dd 0ec077478h +dd 00c2cbf1ah +dd 02317a4cdh +dd 0aacca570h +dd 0785b608ch +dd 0ce462949h +dd 0034ae6f4h +dd 001ba43e3h +dd 0097657a4h +dd 0216bb8f0h +dd 08040e6adh +dd 0a06af051h +dd 04f8881c3h +dd 03ca48d13h +dd 0770f3d48h +dd 0fe787af9h +dd 0c05732ceh +dd 03bf1ad9dh +dd 04b34d85ah +dd 06ef64e8ah +dd 05fbc9a47h +dd 0abb62f2fh +dd 03831ba3dh +dd 06cd04546h +dd 00312f91fh +dd 0c0681b42h +dd 01e3ccfffh +dd 0d3e1a49ah +dd 0edba44c9h +dd 0df06293ah +dd 087ebc24bh +dd 01de22bb9h +dd 08fa09a35h +dd 02547da68h +dd 0754161eeh +dd 0376b742fh +dd 09ab51cd2h +dd 099fb4948h +dd 0c9ddc52bh +dd 0dc9b64bah +dd 090592d54h +dd 031f0e619h +dd 0963381d3h +dd 0a3f2b51eh +dd 065331787h +dd 03db2eeb6h +dd 081ffca68h +dd 0b2e6c1cfh +dd 0e6d194d6h +dd 0ea0de33ch +dd 018c6f788h +dd 0366a3a44h +dd 03e30176ch +dd 001d7bd28h +dd 0a05a62b1h +dd 0c46463a4h +dd 0807a6286h +dd 0b0a03aa6h +dd 0aa352f04h +dd 07571654fh +dd 022c74c70h +dd 07b1f77aah +dd 04ecaf2e1h +dd 0fd69b8cfh +dd 0b3102022h +dd 01f705ae9h +dd 0f7096df9h +dd 07ddab608h +dd 0c90b7d8ah +dd 06492372fh +dd 0354b8246h +dd 0c69a0990h +dd 00ff4f4b1h +dd 0b576a678h +dd 01b57da4eh +dd 0a18e626bh +dd 0318e4f31h +dd 0af0ec4a3h +dd 0e990b033h +dd 0d1afb453h +dd 01045b983h +dd 0f28740c5h +dd 0cb82f8deh +dd 0a3043adeh +dd 0e98bc1ebh +dd 0645be417h +dd 0bdbf089dh +dd 0af1c18c3h +dd 020a696c8h +dd 0c634063ah +dd 0247c69ebh +dd 0997acfc4h +dd 0660d41e0h +dd 0fc9eba2fh +dd 0849c7aa8h +dd 02afe5630h +dd 0d7adbf11h +dd 0a94ae270h +dd 082f76cb8h +dd 076caff42h +dd 0c3cabfach +dd 0c03e789fh +dd 0cb441976h +dd 0f4274ccbh +dd 087896f13h +dd 07d3c03d1h +dd 0d44e8b1bh +dd 004bd58c5h +dd 0ecc13a84h +dd 020e84403h +dd 05653786ch +dd 0a18416b2h +dd 05c8ab26fh +dd 01f828e42h +dd 03b385970h +dd 0b40d21fdh +dd 0fc2b8072h +dd 00c9de2abh +dd 0931ac606h +dd 07f341de9h +dd 00e36ba34h +dd 0436a6b5ah +dd 0dc347ddah +dd 0561ac19ch +dd 03daf96b7h +dd 03ddd5559h +dd 03dfc42e0h +dd 0b7bf7b53h +dd 0000119c1h +dd 032c66a35h +dd 0e2ba0d9bh +dd 08b67527bh +dd 0fb0f95e9h +dd 07b0fc226h +dd 06433de95h +dd 0e8bb466fh +dd 087515923h +dd 093f4a874h +dd 05c17226fh +dd 0dce759f2h +dd 079c23508h +dd 0cd51e65fh +dd 040b98e32h +dd 0ff3f1134h +dd 059251a8ah +dd 0a9a30754h +dd 053f941c7h +dd 045131d5fh +dd 04373cd4dh +dd 0504f924fh +dd 01c715e42h +dd 0c17805f3h +dd 052abadd8h +dd 08a1d5919h +dd 0fc1c09b1h +dd 0f4235f39h +dd 09e0f0f8ch +dd 00506f2c1h +dd 08518839bh +dd 00a951384h +dd 07200504dh +dd 077050a52h +dd 0c72d4afch +dd 07e0b1ff1h +dd 0fe36f6e6h +dd 0296d7931h +dd 0d0d736f4h +dd 0dde2d83fh +dd 056066bddh +dd 086c8e5b8h +dd 06a9272dbh +dd 005b17da7h +dd 019c78904h +dd 06924f7feh +dd 02759fddbh +dd 0c3fb7a64h +dd 035c2b5c8h +dd 0083e5b9bh +dd 090a8e563h +dd 005e71c7fh +dd 0ee216a1dh +dd 03398e872h +dd 03ad92614h +dd 027e3f351h +dd 0b01fe3d5h +dd 0268a364fh +dd 06fc5d641h +dd 00a7e814fh +dd 0cb443c67h +dd 0a44b09cah +dd 04d3ea968h +dd 0f4ce610eh +dd 09f710029h +dd 0ead698fbh +dd 05e8cc46ah +dd 03d8814dch +dd 06ac73204h +dd 0266554b1h +dd 092a885aeh +dd 05636cfbbh +dd 0e62568e7h +dd 0d004edc7h +dd 02587094fh +dd 04f151711h +dd 01d7bd54dh +dd 0e76ca7edh +dd 059350d41h +dd 049d8fdadh +dd 0676f7b74h +dd 0018f312ah +dd 0b655b734h +dd 021ac61ach +dd 088ad2f76h +dd 03afc6957h +dd 0513150eah +dd 00999295fh +dd 0293eb4d5h +dd 04e9d42fbh +dd 02dbadd4eh +dd 0383290d6h +dd 078c4dec3h +dd 0c8bb1b8ah +dd 01c691ca1h +dd 0d2dbfcbah +dd 04e27b846h +dd 0af03b201h +dd 02e69cffah +dd 0a31a3c2ch +dd 04afaa2fah +dd 0d9aec28fh +dd 039570fcfh +dd 0cc0b8f9ah +dd 06dc9b014h +dd 0818897bdh +dd 065d6658ch +dd 01cd31b73h +dd 092c2f1abh +dd 099dacaadh +dd 022e957a8h +dd 0c7021535h +dd 05235e5d2h +dd 020dbf716h +dd 0a79474e7h +dd 0eac2ccbah +dd 012c9a97dh +dd 055387ca6h +dd 072fbbf68h +dd 0fa34a5e9h +dd 0ab7ce772h +dd 0b688a2f8h +dd 01e26c929h +dd 05479cbf1h +dd 045377416h +dd 004265995h +dd 075427479h +dd 0f1a0b171h +dd 006700f04h +dd 028bcaec7h +dd 0dd23775ch +dd 0c42933fah +dd 072776662h +dd 07831c7c2h +dd 00ade79b4h +dd 0bbdce139h +dd 0b7bced65h +dd 05ce71ccfh +dd 0657b68f5h +dd 0ba0442f8h +dd 025a70e9ah +dd 06de7cfdbh +dd 0b5aeee8ch +dd 08723d6b3h +dd 0c515f71ah +dd 01c914892h +dd 09fd6526ch +dd 02e56a4e0h +dd 0ba30f893h +dd 0d107da9bh +dd 088fc2612h +dd 05e0d3d6eh +dd 020bc3318h +dd 0aa8f4658h +dd 0cd9cdd3ah +dd 07070800ah +dd 073b2e4f9h +dd 0b16465feh +dd 0f698aaabh +dd 0b2079c7bh +dd 02d861a98h +dd 0b8922412h +dd 0b5f829ffh +dd 0fe61e829h +dd 06a479181h +dd 0d5055860h +dd 0ccbf3e7bh +dd 0dd88ecfch +dd 06c323b13h +dd 08faf9bbch +dd 0610d1a28h +dd 0f5f20324h +dd 025f6f457h +dd 089eadcaah +dd 0d309b92eh +dd 010e1808bh +dd 04f9fd80dh +dd 07c12e978h +dd 094403635h +dd 095bfb7cfh +dd 0590274d3h +dd 0e574c250h +dd 032cd78e7h +dd 0c4b9d3afh +dd 0ab0bb104h +dd 0854de6dfh +dd 0b26ad8bdh +dd 09e41f414h +dd 05d98a880h +dd 028932de8h +dd 06c2f6930h +dd 0d872cdd4h +dd 0a06ae8d9h +dd 0068a7293h +dd 025e35adfh +dd 038a99e12h +dd 00f677370h +dd 0d610a0f9h +dd 0b1d42653h +dd 0580977e5h +dd 0d81ed7c2h +dd 0f971e3a9h +dd 06966ad34h +dd 064cb40d2h +dd 0367fd5cbh +dd 065d42c56h +dd 00d139a00h +dd 01d44089dh +dd 05532b839h +dd 07bf48eeah +dd 05afb8edch +dd 06a208d88h +dd 09f942628h +dd 003358bf5h +dd 0fcece00ch +dd 07c336dd3h +dd 05740c2cdh +dd 005c7c886h +dd 055c9cd54h +dd 010799262h +dd 0980a1d73h +dd 0e78f4e89h +dd 03c24ffceh +dd 061a7b126h +dd 03acf4b50h +dd 0625e5f8bh +dd 081a8455bh +dd 0ebd62bbfh +dd 008f714d3h +dd 0cfa45b42h +dd 0524435fah +dd 01a8c0d27h +dd 002b116f0h +dd 0acf3f456h +dd 06332fba2h +dd 0e554857fh +dd 00d6b31a7h +dd 05caccc4fh +dd 0c4ec09bdh +dd 0aae6d1fdh +dd 06b3105eah +dd 0c3f62188h +dd 07a7699e9h +dd 0a7ff8cfbh +dd 04017e21eh +dd 0ada64eafh +dd 00680a0ach +dd 0714f0b12h +dd 05a8f533eh +dd 050db06a4h +dd 06944fc7dh +dd 0fe2e6b4ah +dd 0c8677216h +dd 0196479aah +dd 0c3a14eeeh +dd 0b3c0019dh +dd 0be9edf1ch +dd 098d1a4d0h +dd 0d0d6fc8eh +dd 02c6572c6h +dd 03faa7c2ah +dd 0e8d396a4h +dd 0808e9790h +dd 0e0a7ea14h +dd 025d53943h +dd 08f7ddcbeh +dd 099e8d3aah +dd 0f3bc1f68h +dd 0ce21fd43h +dd 01b877b9dh +dd 032dad4d2h +dd 077670871h +dd 0e349e85eh +dd 0ba761863h +dd 0e6852112h +dd 046872149h +dd 0caaaf8bfh +dd 0c81ac98eh +dd 029841e7ch +dd 0d96681afh +dd 0a8327a7dh +dd 0225248dch +dd 073326e91h +dd 073806fe4h +dd 0b36bfa21h +dd 0d721bcebh +dd 0fef6cc43h +dd 0df3d8a6fh +dd 06a5d4224h +dd 08e0afcdfh +dd 0267a6255h +dd 0202cbdadh +dd 04d9a545ch +dd 08946c311h +dd 00c05a204h +dd 01bb7ea9bh +dd 0b1f39aeeh +dd 0ed4e4fe3h +dd 0c5d719dbh +dd 0b467697fh +dd 0e76ab58dh +dd 0ae5eec8dh +dd 04796e0a1h +dd 04332c710h +dd 0fcc40d7dh +dd 0b968533eh +dd 0e0def903h +dd 04e1bde02h +dd 02f830e5ch +dd 0dcfb5725h +dd 042ef7f2ah +dd 0373c292ch +dd 0fb191179h +dd 0f35c7ff7h +dd 028e19e6bh +dd 0d9bb2c84h +dd 07db57877h +dd 0cb9e9c73h +dd 06c0b0afeh +dd 00c2badbdh +dd 043e4ca3eh +dd 0e61e6056h +dd 032624f17h +dd 0d8ff7f2ah +dd 068b29e51h +dd 0273708a5h +dd 0d4ecb424h +dd 01d861b7ah +dd 04a2aa947h +dd 005fd6500h +dd 096b801feh +dd 0e81494abh +dd 009a60c7bh +dd 00428b714h +dd 01737611bh +dd 0c84d91bdh +dd 07d279c3ah +dd 08479acc5h +dd 03544fed4h +dd 0f468f853h +dd 0c52aeeb7h +dd 00d7b8af3h +dd 022ae6114h +dd 0862fe83dh +dd 0d0b3ddfdh +dd 020785dfch +dd 0683c2d5fh +dd 075ab9be6h +dd 00a8dcc97h +dd 049f13099h +dd 0b387b270h +dd 0416e9eeeh +dd 0fddfc1e0h +dd 0a563a807h +dd 0cb2f7211h +dd 03a3976d2h +dd 062d9eda7h +dd 0cf739739h +dd 0f981fa44h +dd 02a440b07h +dd 037ed4da7h +dd 066aed167h +dd 05541239eh +dd 045e78d0bh +dd 021ce3c88h +dd 057813191h +dd 088a7405fh +dd 094a97b42h +dd 0e5068c39h +dd 0c5263b71h +dd 0e7b09997h +dd 089e99e7dh +dd 05b6d94f7h +dd 0516f60e2h +dd 01bd76e49h +dd 07531111fh +dd 0f8875079h +dd 01847e276h +dd 058033d90h +dd 09d4d2397h +dd 0d08ad846h +dd 08aa2bd4dh +dd 0e42695bbh +dd 0c244c713h +dd 0efbf8b7dh +dd 0de7e0ddeh +dd 0a4546b15h +dd 0a334cab9h +dd 07066a1c1h +dd 0ec50b89dh +dd 0f5c7da4ah +dd 0bf07a478h +dd 09af984b1h +dd 010f20b87h +dd 04b8910ffh +dd 0037453afh +dd 0752e8984h +dd 0df93286eh +dd 0e9f7f377h +dd 0831c2c77h +dd 0cce9de0ah +dd 0d81dc371h +dd 0a6fb7c56h +dd 0a3d00fcah +dd 0b5d83fb0h +dd 00d786527h +dd 05e54cee0h +dd 0abd2faf0h +dd 0f22ec468h +dd 0776c68e7h +dd 07708c4f4h +dd 0f839254fh +dd 0f3185babh +dd 001982cb5h +dd 0e19a2699h +dd 089d6518eh +dd 0905b8de0h +dd 0e1b2dd35h +dd 0cf8ca832h +dd 0253fe6d5h +dd 08ff73b6fh +dd 0eacfeba0h +dd 02e39284bh +dd 0c071be37h +dd 031c0dddch +dd 094247be8h +dd 0a5f7bee0h +dd 097d4c854h +dd 0f7c82b69h +dd 010d8fc40h +dd 08cebaa08h +dd 0b55ee277h +dd 0c4f1134dh +dd 0600c229fh +dd 09fca27bbh +dd 02e0b6959h +dd 083b49bb9h +dd 0360dfd77h +dd 04be50007h +dd 0ccfe28a2h +dd 0827e7f4ah +dd 0a4b22b1eh +dd 07c8855cah +dd 073f412fbh +dd 0cb3b62c0h +dd 0b7cf3e27h +dd 0a723d8d6h +dd 0cedfc568h +dd 08d587da7h +dd 035ce686dh +dd 09611ee2bh +dd 0ddb482e3h +dd 0f309c737h +dd 058fb7e4dh +dd 077d869e4h +dd 0e2d43c05h +dd 0c2c71574h +dd 0e630b1fch +dd 0c03ce122h +dd 036d1f38ah +dd 0860e12c5h +dd 0f4976c16h +dd 00cbeed50h +dd 00d83ce89h +dd 09957ec6ah +dd 06bc644bch +dd 041491c79h +dd 0922424ebh +dd 090fb6cddh +dd 0db3b6c1dh +dd 0f8ccdd8ah +dd 04dfe19fbh +dd 004c162d6h +dd 0070009d1h +dd 044f88738h +dd 0c04548cah +dd 0ff05851dh +dd 05cbd8b9ah +dd 08ef9d5aah +dd 0307774efh +dd 0a340b141h +dd 06288d99ch +dd 0de844868h +dd 08df6c8dah +dd 0f7576ef8h +dd 061f63622h +dd 0b89e8ea3h +dd 0ff28eac5h +dd 02bad63b3h +dd 0a71eec0ch +dd 003d28e84h +dd 00ddda3f4h +dd 04d4f891dh +dd 02fbb4980h +dd 07c9e1c46h +dd 01a52bd18h +dd 0f45f90f6h +dd 0fe7a86d0h +dd 075841473h +dd 0960c959ah +dd 0c31ba305h +dd 0ea8a4a3bh +dd 05c69990ah +dd 073cf4124h +dd 027166a16h +dd 01a93c52eh +dd 07b3e0e2eh +dd 0c8535fadh +dd 04b7e5be7h +dd 0d75c2e01h +dd 09996d8c2h +dd 0562c3a74h +dd 0f9250e6bh +dd 0e836c695h +dd 03f13a871h +dd 06da544ddh +dd 06fc5c3a7h +dd 0c63785c7h +dd 0537017d1h +dd 09a4738d7h +dd 05a6f0030h +dd 0776c1fa9h +dd 0851cdbdbh +dd 0e8c76ecdh +dd 00313643bh +dd 02ae3f67bh +dd 04d3db16ch +dd 0fac2912dh +dd 02895e1e8h +dd 0b94d6c01h +dd 07a173d27h +dd 03a764cefh +dd 0727a2884h +dd 08e792286h +dd 026a8f855h +dd 0d7e693a7h +dd 022b72417h +dd 0584e0b23h +dd 06c8ef5a3h +dd 0a71433cfh +dd 0486d68fch +dd 03be4ba81h +dd 0202d038dh +dd 095c2d288h +dd 0db7c6f4eh +dd 0a33fb422h +dd 014496ebfh +dd 09463b265h +dd 08c21bb01h +dd 0a86167fbh +dd 0d3c3ddebh +dd 0d64a9878h +dd 0740183f2h +dd 08fc8f3d6h +dd 0a0322d11h +dd 08c3b733bh +dd 03ce71cbah +dd 0b2245640h +dd 06aeb8bd8h +dd 04f3a4a86h +dd 0811e8fdeh +dd 0dac6b6dch +dd 04cd41cbeh +dd 00981cee4h +dd 012c11229h +dd 09c92c818h +dd 08a05d07dh +dd 094803aa3h +dd 0922188bbh +dd 02f6511aah +dd 0e18b0eb8h +dd 08127eb5ah +dd 0d9c11372h +dd 08dcfaff8h +dd 0144846bdh +dd 0c5ce6690h +dd 03a59ff8bh +dd 0786d2b14h +dd 0e493b86eh +dd 09af96077h +dd 0f25231d6h +dd 07bebf3cbh +dd 0ca4850b8h +dd 0913a3085h +dd 022d6b42fh +dd 0f1168a37h +dd 0f9c1620bh +dd 09ae0dfa5h +dd 0c43060f7h +dd 007dafda0h +dd 0b20d0ab7h +dd 0657dad47h +dd 07af11b4fh +dd 0daca7cb9h +dd 0c9c2b1bbh +dd 0beb98ef4h +dd 06fe56c00h +dd 08a8bd318h +dd 062c93685h +dd 04350d709h +dd 05be78e44h +dd 0fe414ca0h +dd 0909a4188h +dd 06c28f0f7h +dd 0fe47bb04h +dd 05be85e4ah +dd 02181182bh +dd 01fa5cbd7h +dd 0cd135447h +dd 02bf8247fh +dd 0904909deh +dd 0f5b69714h +dd 0f40cf130h +dd 088f610bbh +dd 0530a4eb4h +dd 06fed7515h +dd 0837a9683h +dd 053dc9c1bh +dd 09cb1d910h +dd 085069620h +dd 0cf1f593bh +dd 02bc868fch +dd 0428b377ch +dd 002af7c64h +dd 07fb4dd15h +dd 0597852b6h +dd 038f4ff0bh +dd 02c8edf23h +dd 0bfcc72d5h +dd 0ce0281a2h +dd 0c9dd8d53h +dd 070e918a4h +dd 064df14c9h +dd 0917ca740h +dd 0c59aa7a8h +dd 02d012a79h +dd 00f190c93h +dd 04255649fh +dd 0a578e2ddh +dd 02e5c8ddbh +dd 0ba2a4c1ah +dd 01ce562ffh +dd 006d9cbe5h +dd 0061075bch +dd 028cf4e09h +dd 0144bf68fh +dd 03c58c9d1h +dd 0ac30247bh +dd 003ea9f40h +dd 02317691dh +dd 04eff435ah +dd 0b1199572h +dd 0c9ae610bh +dd 0d2113c49h +dd 0451b9f80h +dd 02113c19ch +dd 0f6bc1aaah +dd 038ce5715h +dd 0336fd1eah +dd 0a947f1ebh +dd 0c453a53ah +dd 08538b632h +dd 0e5a20077h +dd 0e49380d5h +dd 0b4c3da49h +dd 09a103f27h +dd 0f80a3bceh +dd 0eebcb86bh +dd 060387850h +dd 08d41a978h +dd 01fb78425h +dd 054aa1030h +dd 0c6db3a1ah +dd 08d6da8f0h +dd 0bee58dd2h +dd 0ea53c6d2h +dd 08d5f2548h +dd 0a7ee4292h +dd 07e40e6f7h +dd 0479af662h +dd 05ba3f87eh +dd 01f2a8fa7h +dd 04b5ba047h +dd 0e8d4c225h +dd 0dc2fab9dh +dd 0b874d0efh +dd 059692579h +dd 01e0b6b7dh +dd 0c4301135h +dd 0890ad73eh +dd 0a9cb4774h +dd 0ffee80dbh +dd 0c69d7af4h +dd 0dab5b172h +dd 03c1c86a4h +dd 07396ceaah +dd 0db5b0455h +dd 0d89623c8h +dd 0f24c1365h +dd 01e2de22dh +dd 02e8339aah +dd 0e930e08fh +dd 0c9acba31h +dd 0e6046b9ah +dd 064b92c26h +dd 01890aa69h +dd 0bec8424fh +dd 0f8180ae2h +dd 0e0d8a4ffh +dd 00a579c24h +dd 07e33dc94h +dd 0cfa629e5h +dd 0590d10e3h +dd 0b4a0c228h +dd 0e9e3d6e1h +dd 031a18deeh +dd 0d68bf8edh +dd 09c4f20c8h +dd 0352769c5h +dd 0c9616ce1h +dd 054dcb325h +dd 0acf5d007h +dd 07370b6e7h +dd 02ee34a4dh +dd 0ae99d5cbh +dd 02450827fh +dd 082c05355h +dd 05c408a06h +dd 0e85b40afh +dd 071706de5h +dd 083c1a70fh +dd 04ece73f1h +dd 0cfa4d73ah +dd 09adf2e84h +dd 090a4f71dh +dd 0b3bec673h +dd 0e675f998h +dd 060763705h +dd 0dc2c2b04h +dd 08e761e21h +dd 08e5a7c9ch +dd 0b66c37c0h +dd 0353dad59h +dd 03ee303a1h +dd 01ce376f5h +dd 0283bb53bh +dd 07dcffa56h +dd 095393676h +dd 0769c4999h +dd 017d71284h +dd 0220ac0fch +dd 07730dd41h +dd 0423d3233h +dd 06b694f8ah +dd 053f982bch +dd 08e5c9673h +dd 071c0b528h +dd 0402d080ch +dd 0e04f4191h +dd 075ec6fafh +dd 015b7919fh +dd 09bf35f64h +dd 053f9ec0bh +dd 05b61ce38h +dd 09191c4edh +dd 03e7bd085h +dd 0b5734dd3h +dd 00e30d4e5h +dd 025850e95h +dd 0a56b6c99h +dd 0f9784f40h +dd 0d132bc54h +dd 04be414bah +dd 02cafbf7ch +dd 027dc7a0ch +dd 02824f502h +dd 05fb5cd09h +dd 0a9e2609bh +dd 02a34b361h +dd 0fd1ae56eh +dd 097a0b200h +dd 027f8c657h +dd 0f520973fh +dd 011c958c6h +dd 08c7b199ch +dd 0e3f9ad37h +dd 0ca842a10h +dd 0068b715eh +dd 087d0aceeh +dd 0278e0552h +dd 0e44ca1cah +dd 0240dcd9ah +dd 0778536f3h +dd 0a730b845h +dd 01d6318a1h +dd 035a05722h +dd 0fcd691b5h +dd 0b333d4b2h +dd 02da60ae0h +dd 0b351d77ch +dd 04301c977h +dd 0a491f934h +dd 017c5737fh +dd 05ecf0d03h +dd 04d2845cfh +dd 0711d2665h +dd 0b32fff10h +dd 07756f8b3h +dd 0dcb346e5h +dd 09ebf8457h +dd 0dbefea35h +dd 0eb185b34h +dd 09c5df140h +dd 0cb110fe3h +dd 0e6190b05h +dd 08f4f8db4h +dd 0ddf0e450h +dd 0065937c7h +dd 0f11a5687h +dd 0b0a5204bh +dd 0564c57f7h +dd 00e8ea546h +dd 0938a8737h +dd 0595e2553h +dd 07e024e1ah +dd 01284e3eah +dd 0a3b2adbdh +dd 04e1d1494h +dd 086ed4d32h +dd 0b5c3d97eh +dd 04596647bh +dd 0fa7df658h +dd 0747ed407h +dd 0fbcd71d7h +dd 0b34a2ea5h +dd 0df3135a8h +dd 0a64ddff3h +dd 0b61999cah +dd 0c3f330d8h +dd 01aea7527h +dd 081b433b2h +dd 0450d13d0h +dd 0fa80414fh +dd 00643f864h +dd 0967a9bb8h +dd 0d2f962a7h +dd 0f6242e2bh +dd 0e48a558ah +dd 0ee225fbfh +dd 07d81c4d3h +dd 0bb8e5515h +dd 0455cf453h +dd 0c7dbc218h +dd 095cc7ab7h +dd 0d7e4249eh +dd 0cda37997h +dd 029df7597h +dd 0f1ea99d9h +dd 06005f7ach +dd 016f6cd01h +dd 054d099cdh +dd 0f8480580h +dd 0a31b576ah +dd 0fe5359e6h +dd 0b0390020h +dd 063a47a65h +dd 010983bc3h +dd 0053de9afh +dd 08e880cbbh +dd 024ec655eh +dd 0344a868bh +dd 06ce01e79h +dd 0563e8ff4h +dd 0c1845805h +dd 08d0221c7h +dd 0f1d9de4bh +dd 06686b908h +dd 0cb6c865ah +dd 0bdacf01fh +dd 006147caeh +dd 03b347dfeh +dd 08e2d847bh +dd 0c0714945h +dd 0fcb7cdaeh +dd 023c880a7h +dd 05ad04d28h +dd 036075368h +dd 07407da19h +dd 01b09dd8dh +dd 07124e08ah +dd 0c33b96efh +dd 0b6b90672h +dd 0d5e9ae27h +dd 00f592f07h +dd 071b99788h +dd 0b0203359h +dd 0fbc48fdch +dd 05927f336h +dd 0981fe0edh +dd 057df814bh +dd 0a9ef3439h +dd 0de6b1190h +dd 04895387bh +dd 03d398873h +dd 01bb7adbah +dd 00912a724h +dd 04a32f9b2h +dd 0894adb81h +dd 0d1cc7040h +dd 07ddc681fh +dd 0fb8b7ccah +dd 0beb3c4e6h +dd 069cd6345h +dd 080ea0fc3h +dd 09f2ae591h +dd 000806197h +dd 0a837589dh +dd 0d4a586a9h +dd 08dc785f3h +dd 0dd9a24c0h +dd 05fa10204h +dd 0f57b4c50h +dd 01dd97c13h +dd 0a64f2ee3h +dd 07e80a827h +dd 0844cae90h +dd 0c1279697h +dd 062a92949h +dd 03247fb12h +dd 0deacbd23h +dd 0bb19e08ah +dd 048d714f8h +dd 0770c1200h +dd 0fc37401ch +dd 0c2b376bah +dd 094a1c8c2h +dd 0dbeb2747h +dd 0bbf4eac6h +dd 07c7b3ea7h +dd 034bfbd7dh +dd 02f9754ech +dd 01946f568h +dd 0ba38605dh +dd 0e6fc6b45h +dd 0986ef1bah +dd 058617fcch +dd 077b96573h +dd 0c2b08f10h +dd 0f97c3b25h +dd 08ba314b2h +dd 04bc1dc8dh +dd 0447d3057h +dd 0a0a0467fh +dd 0a80ff64eh +dd 07ab4f7b2h +dd 03dd401adh +dd 030ea43c4h +dd 04bc05806h +dd 0585a2909h +dd 0004fa892h +dd 06d88fe61h +dd 0d380b4cbh +dd 057493ba9h +dd 083764d94h +dd 09fe920b5h +dd 0b3efbbbeh +dd 074b0597dh +dd 0de398a4ch +dd 03fa2f379h +dd 0b646d7a3h +dd 0972f1e38h +dd 0c4ad1cach +dd 06145f444h +dd 062d073cfh +dd 0ba7a7ccah +dd 05b2f42a8h +dd 0ca26d84bh +dd 07976b328h +dd 0cc8575cah +dd 0f6951524h +dd 004f565cah +dd 08159793bh +dd 023e318f0h +dd 00a5cc9a0h +dd 0de785d14h +dd 0b8cc8e20h +dd 0130b0e15h +dd 024b4dd3fh +dd 0f43d5077h +dd 037a0627ch +dd 0b5fa9bd6h +dd 000986e1ch +dd 0a7f9d429h +dd 0654b7abch +dd 00e5ade8ah +dd 030591f6fh +dd 03e9e6563h +dd 0d7a327e3h +dd 071262db4h +dd 00808fe75h +dd 06581dc91h +dd 0fe292b11h +dd 0f0846e7ch +dd 0c226ed40h +dd 0bac984c3h +dd 0c48552c7h +dd 09ab4b9f0h +dd 020c3b3b4h +dd 042e27bc9h +dd 0915f4688h +dd 04e00a568h +dd 05ac998bfh +dd 05c5eae86h +dd 0461428d9h +dd 08488c0ffh +dd 01ebb2cb8h +dd 0d7febeb8h +dd 02154dae0h +dd 043c4494bh +dd 0ed042e50h +dd 039e7d3bah +dd 0be6df73dh +dd 015e52086h +dd 030c2414dh +dd 064f78379h +dd 0be00baa1h +dd 056c32ac1h +dd 0e35f2006h +dd 0d14611b8h +dd 0129d2e8fh +dd 0cba3926fh +dd 04a54b6bch +dd 0e44781a7h +dd 0b334b9c5h +dd 071e189feh +dd 0ef7b9d49h +dd 09b7a799fh +dd 01f40f9dah +dd 04e92e83dh +dd 0900699c4h +dd 0d3dca5f3h +dd 095e4750ah +dd 0a9693bbah +dd 07a321447h +dd 080167ce1h +dd 0c3de5438h +dd 00bff04d4h +dd 0a4ef3ff3h +dd 087e51006h +dd 00e5e771bh +dd 002489224h +dd 07ce9ceb3h +dd 0f197f88bh +dd 08685a5a9h +dd 036ba217ch +dd 06c75149eh +dd 0a86c4093h +dd 0ecc43b15h +dd 0a21399bch +dd 012479d68h +dd 0f917195eh +dd 002a58998h +dd 011ca69eeh +dd 0b8e7316bh +dd 093a6ee5ch +dd 05b18eea3h +dd 0a57a854ah +dd 0df06777eh +dd 0aab9828eh +dd 0e514cb48h +dd 0bdb57b6fh +dd 06347f75dh +dd 024c7f750h +dd 095ef64bbh +dd 0b8286b12h +dd 082adfdb6h +dd 049008119h +dd 04aa14f43h +dd 0371d0839h +dd 01a21288bh +dd 0c837a82ch +dd 01521975bh +dd 0afad6d87h +dd 01e83decfh +dd 0cb71c04ch +dd 0ff3bfad0h +dd 0f33e895eh +dd 0aea786ebh +dd 00b97ce60h +dd 01d277b5bh +dd 00278962fh +dd 0a6b1b094h +dd 021e900deh +dd 00d1fc789h +dd 09bc1ad6eh +dd 0a9196d7ah +dd 079308c6bh +dd 06f68833ah +dd 0989dcb62h +dd 0295d9db2h +dd 0131b4e00h +dd 044fa032dh +dd 032a2f896h +dd 04448abc1h +dd 0ae368350h +dd 0f0c55a1ch +dd 00cc3dd6ah +dd 0de7d23b4h +dd 06c558251h +dd 09e1d3b59h +dd 0d8c6cbafh +dd 07a346309h +dd 0127ea380h +dd 0a353ee2bh +dd 0fa9b6dceh +dd 0c0c4ad1ch +dd 0d5f75c8bh +dd 0463c8d5fh +dd 0c712f4bah +dd 00546d137h +dd 0bce099b1h +dd 0244116a9h +dd 038ac2875h +dd 0bb86acc8h +dd 0ce65bd97h +dd 0b15e3ac1h +dd 06385d1f8h +dd 0395e5b05h +dd 078ad414ch +dd 0148c9f03h +dd 0dbe7cba3h +dd 02fcf31d6h +dd 0d5ea3a2ah +dd 0b1930730h +dd 051b6b37dh +dd 03aac2939h +dd 0cb31c052h +dd 02ecf6638h +dd 09ad8ab5eh +dd 0824d271eh +dd 026fe077bh +dd 0884f8ebdh +dd 0abe12fd8h +dd 0962bd838h +dd 069f128e3h +dd 01c66b62bh +dd 0585a4e82h +dd 010f7fa70h +dd 065b3cfa5h +dd 05f979bd8h +dd 03922be3eh +dd 0f87aefc2h +dd 03eff6224h +dd 05e88fa53h +dd 0d2c6bde3h +dd 00dfa4cfbh +dd 0149d1089h +dd 0753e02f4h +dd 0cf27cdb1h +dd 084bef6b4h +dd 09d31102fh +dd 0a6d13ae2h +dd 00228908ah +dd 0412054d3h +dd 09eab2fdah +dd 088b71397h +dd 01efbb24ch +dd 0d4e1b48dh +dd 0a9db9f3eh +dd 05fa1ff48h +dd 0fb81281fh +dd 072e6dd50h +dd 04e91cbc4h +dd 0d1712ab1h +dd 02b244eb7h +dd 04f5547dfh +dd 0a8a32c8fh +dd 0b46269bbh +dd 0505c8afbh +dd 06738e939h +dd 0524d0e3fh +dd 0b0918f77h +dd 0a322378eh +dd 0da1dd9deh +dd 0eb5a9245h +dd 08dd089d6h +dd 0ae7a42cch +dd 07f610043h +dd 063c47718h +dd 01a11cf6fh +dd 029f7ed95h +dd 03a97759eh +dd 0e9dd6700h +dd 0013bf317h +dd 0492709ech +dd 01700e8f8h +dd 0358b4bb6h +dd 0113cfdcdh +dd 02c44cf0ah +dd 07e625d2ah +dd 0458a166dh +dd 0853b9b80h +dd 09a4d618ch +dd 01ebf30fch +dd 0d273b2c4h +dd 02c00f3d9h +dd 00efea183h +dd 05403396ch +dd 0c5ea620ch +dd 0f6c1738ch +dd 036810cdfh +dd 0a276c0f7h +dd 0fe25646dh +dd 0c59aa4d5h +dd 060220b2dh +dd 0ce14d478h +dd 0fdd5fc9ah +dd 06e9d68a3h +dd 06f9a1d54h +dd 0336a728ah +dd 0f62a98ebh +dd 03942479fh +dd 047c98ce7h +dd 05283b856h +dd 08b5cfdcah +dd 06d6e4049h +dd 00207844eh +dd 012901278h +dd 0cd3213a2h +dd 0b1423b41h +dd 01a78fa45h +dd 04dce57fdh +dd 0350865dbh +dd 01f5512d9h +dd 08a0f8cdeh +dd 00dc39902h +dd 0cb8950f0h +dd 0a37becf2h +dd 031ceeeebh +dd 01763956eh +dd 0a17fe7d2h +dd 00ea1be38h +dd 01e7681d4h +dd 05b15eb7ch +dd 062b9b634h +dd 072398c16h +dd 0c36afe32h +dd 0eb66265eh +dd 01d62dff2h +dd 0f29bdf8ch +dd 060929a56h +dd 08e757a4ah +dd 04f61d12dh +dd 01bcbbc9bh +dd 097c532c7h +dd 03e482f73h +dd 00eabe9eah +dd 0b312a124h +dd 064504780h +dd 09715d72eh +dd 0ac179392h +dd 0bd34163bh +dd 0c82f8896h +dd 050ba4165h +dd 05798079dh +dd 0fbbaa713h +dd 0494164d2h +dd 092962039h +dd 03820eb74h +dd 070b5a766h +dd 080299473h +dd 0f72964d5h +dd 0e3679543h +dd 03caee5e4h +dd 0c5df6f9eh +dd 01984fec2h +dd 0c36a03d9h +dd 0fce90edch +dd 0c4f88094h +dd 09950cf49h +dd 08cf807a5h +dd 016ec7a23h +dd 031237b25h +dd 05d2c1dd9h +dd 0c8a104fbh +dd 0c2f18a2bh +dd 0351df521h +dd 062948f93h +dd 0abf58d36h +dd 0ac156842h +dd 03bdfebc8h +dd 0de03c567h +dd 000c78da0h +dd 0f6e9bf82h +dd 0dfedbbaah +dd 0d91bfafdh +dd 00154b8a0h +dd 083879828h +dd 07e534ce0h +dd 0e264e0b3h +dd 04ab75748h +dd 0a0796b47h +dd 0e01ad801h +dd 04aef38f1h +dd 028ec0ce5h +dd 0f508f467h +dd 076e98570h +dd 0e5b7fa1ch +dd 08ea4c1c2h +dd 054fa0058h +dd 06b2872bdh +dd 0bcbd24ach +dd 09a1abdf3h +dd 03d05aa58h +dd 089f14930h +dd 033b2e28ch +dd 0869c2351h +dd 076375373h +dd 014e1dc77h +dd 0925267c1h +dd 0d4237013h +dd 057ee3cd8h +dd 0d9f2ec76h +dd 0e570d0b4h +dd 0107b30deh +dd 0f6569268h +dd 079beae3ah +dd 059057184h +dd 09f3b77d8h +dd 01ca30069h +dd 0f7d3bbf3h +dd 06cfef9d0h +dd 039263c92h +dd 08480164bh +dd 07b78baceh +dd 068ea559eh +dd 051c20f7dh +dd 006ca534eh +dd 068966321h +dd 0cbb0ee28h +dd 0b627daf1h +dd 005687189h +dd 02bfa1aabh +dd 03281e12bh +dd 0aaa629c1h +dd 0d748a4bdh +dd 08e65c1cdh +dd 0b087a02ch +dd 0cc97ea44h +dd 069cc0479h +dd 04bb96027h +dd 0bc04c04fh +dd 06f924089h +dd 0a03951b8h +dd 09172595ah +dd 0c94b0069h +dd 0c11fd35ch +dd 0f32ff6dah +dd 0b6c7e906h +dd 02e453ac2h +dd 0fa6d66cbh +dd 05b1d426bh +dd 07dd637edh +dd 01e12d4ffh +dd 0b25153fdh +dd 0e0613efeh +dd 0f12a3ab5h +dd 08798c69eh +dd 07598397eh +dd 049f51e79h +dd 0076ce0d8h +dd 0bb03a439h +dd 08122b621h +dd 00498c3a6h +dd 00ee603f9h +dd 08f243139h +dd 0d30a6334h +dd 09336255bh +dd 0c2c298d9h +dd 0b0b763aeh +dd 0625f6b44h +dd 0d3f74bddh +dd 0a6400007h +dd 09675efcch +dd 009d036e1h +dd 09f5f8905h +dd 0daf19305h +dd 0bb64378ch +dd 05991c394h +dd 0dc5268fah +dd 02c196ba7h +dd 086ea726ah +dd 0b503aaa1h +dd 05cf8909bh +dd 0a6939f2dh +dd 0f26bc063h +dd 0306868feh +dd 041ca126eh +dd 035f0e1edh +dd 00a9acffbh +dd 07f66303bh +dd 06eb835b5h +dd 01a5dd55bh +dd 0b835a5afh +dd 097b47e83h +dd 0ad420df8h +dd 09fa8f74bh +dd 0f84d966ch +dd 07dbe0674h +dd 04e709fb8h +dd 0450bd490h +dd 0d6e1a44fh +dd 08906a1edh +dd 0bcde502eh +dd 0baaf75ceh +dd 055a3b170h +dd 0e8800b25h +dd 049827970h +dd 0df281500h +dd 0d13913f0h +dd 0f92a5b59h +dd 01b00ff5bh +dd 0705c2bbbh +dd 065ab79e7h +dd 0541974a9h +dd 092849935h +dd 04bbeaed7h +dd 00dee24d2h +dd 0c9b3deaah +dd 04a2277fah +dd 0ddd26dd5h +dd 0a8c0752dh +dd 05fa967f7h +dd 08dde6034h +dd 034149c49h +dd 09b3ab264h +dd 0a11732d3h +dd 073646925h +dd 06157d2afh +dd 009393f38h +dd 00e96465ch +dd 0860a7eafh +dd 04a554223h +dd 00d7256c7h +dd 0ade41ea1h +dd 083062ca3h +dd 01b265534h +dd 0e3a1b14bh +dd 01d9d04a6h +dd 06bb0b5b7h +dd 079ea969ah +dd 09d4c4a17h +dd 065d80649h +dd 0a0473babh +dd 07813ee79h +dd 00b723961h +dd 0b9857e08h +dd 02a0ca89ch +dd 08738136eh +dd 0584c6b1ch +dd 0d92efd3fh +dd 07f3af2a7h +dd 033901104h +dd 0fcae2e49h +dd 005991b12h +dd 0dcaff481h +dd 008627d04h +dd 0cd3bce35h +dd 009cbd595h +dd 0f641c33dh +dd 0a8e24aa6h +dd 0514104e1h +dd 08b0131fch +dd 0ce3a21e8h +dd 0f7fd6025h +dd 0cd121685h +dd 07872c3dbh +dd 0edaf78bah +dd 05ddb49a2h +dd 0502f6f8fh +dd 07c868fcah +dd 00c287b29h +dd 06ff0b98ch +dd 08f7665d8h +dd 068229a4bh +dd 03b1c9a86h +dd 0a02dd3fbh +dd 0ddce1f27h +dd 0e5c1c5c1h +dd 0f384b45eh +dd 06e45ea50h +dd 00a53ae1ah +dd 017fde13dh +dd 0c1b787a7h +dd 0501ae8d2h +dd 0299b400bh +dd 013b838f8h +dd 03a5a5b3dh +dd 0fed2e1d9h +dd 0f0cae458h +dd 0ee47acaah +dd 08fbd2503h +dd 0452a9bf7h +dd 04343a1fdh +dd 07b35a040h +dd 0ee4761f9h +dd 04f633ea8h +dd 017156847h +dd 07a88d1ech +dd 07692be19h +dd 066c840d0h +dd 0c96ec513h +dd 04c63ece4h +dd 0a85bbc6bh +dd 0618d62a4h +dd 07881e0dch +dd 0b2ee0cf2h +dd 0c5346b8ch +dd 0fb706a41h +dd 04baa77cdh +dd 08942c964h +dd 02c41623eh +dd 0f2e1eecdh +dd 066fa4223h +dd 08c321e84h +dd 0ab3e522eh +dd 0c4ae97c7h +dd 00660874eh +dd 0448603a4h +dd 04b16265eh +dd 0127bf702h +dd 06fe0f453h +dd 0d74143b9h +dd 047f02b1ah +dd 0a2fe2191h +dd 0726d71e3h +dd 0de7dfda0h +dd 0af9c4217h +dd 0f5cacaa8h +dd 0e4c88d6ah +dd 096898cf4h +dd 0bdeeed75h +dd 0f6808f18h +dd 0a2eb6d1fh +dd 0d87ad5f6h +dd 07364d793h +dd 0de08bca8h +dd 0b4f2425ah +dd 0dd10f236h +dd 0e283797ah +dd 0e8064bd6h +dd 0b3e6b5adh +dd 055bcd663h +dd 0a7b43e60h +dd 04f288535h +dd 035d3a693h +dd 07a51b9d9h +dd 005a43d8bh +dd 0947e012eh +dd 0a1beec6ah +dd 08c7558dbh +dd 071166597h +dd 0f186af8eh +dd 06c055d1ah +dd 0854e6ca4h +dd 09c31b625h +dd 0a44d55e8h +dd 02882e7a6h +dd 002af2860h +dd 0a4ceb2e9h +dd 05284ffd8h +dd 0cff0e874h +dd 0d600c89fh +dd 0e9914941h +dd 04f4b5303h +dd 0a1c38c37h +dd 0d6069f32h +dd 0b1b2141eh +dd 0a368a993h +dd 0e1289fefh +dd 0aac356ffh +dd 002ee9cc3h +dd 0d449ee2dh +dd 03d1aa0b2h +dd 0bdf1ed87h +dd 0c1a770fbh +dd 0aba8c85ch +dd 022fe388ch +dd 0c81a3633h +dd 03d97f918h +dd 0d173e4ach +dd 0498ce87ah +dd 0d6beedf7h +dd 07efa9c77h +dd 0d6b39952h +dd 0d1c805e0h +dd 0dda2ed1dh +dd 05264f832h +dd 0719ee25dh +dd 045b0cdc9h +dd 0737d80d2h +dd 0ba151c7bh +dd 0efc12621h +dd 01363440fh +dd 0d81f00c4h +dd 0022934f1h +dd 05b199cc6h +dd 004c77178h +dd 0f561a9c2h +dd 032d66efbh +dd 00091ab86h +dd 01dab152ah +dd 03e216a1dh +dd 0ac8cc643h +dd 0ee7c42b7h +dd 003eed425h +dd 0eba8dfa2h +dd 03b64dd71h +dd 012399ec8h +dd 0fefa5411h +dd 0e6fbec9ch +dd 0cbb636e9h +dd 04f9b8e47h +dd 0e1649733h +dd 0f4c27734h +dd 0665b3354h +dd 08cc881d8h +dd 0540d2d32h +dd 03f708aa7h +dd 01722b4a9h +dd 0b6937333h +dd 0a8300b0ah +dd 074847717h +dd 05e412e24h +dd 0b2cafd92h +dd 02e8d2684h +dd 0eb748e14h +dd 086f93d9bh +dd 01d54080eh +dd 0db30d1b5h +dd 06dc63fa8h +dd 0f179a908h +dd 03a180bf9h +dd 048bebdf5h +dd 0c5fa5cf4h +dd 0bddaf23ah +dd 059f9d584h +dd 0ab64fa64h +dd 0a0c4cb86h +dd 03b04cb8dh +dd 0cfd48c0ah +dd 0b3cb3daah +dd 0d638da05h +dd 0ca8984d2h +dd 0f03dc0f3h +dd 027af41b2h +dd 0883671c8h +dd 07d364ac3h +dd 00a6b4912h +dd 02c3ca210h +dd 098325b9fh +dd 0b6d0d074h +dd 0d4bf8f83h +dd 04562f1ech +dd 095fc84b7h +dd 0ab5293a3h +dd 02ea84b9dh +dd 0a0056abfh +dd 050ed0bd6h +dd 0d633c2f3h +dd 080de0531h +dd 0503237d1h +dd 05dab51e1h +dd 03db89687h +dd 0aa010b58h +dd 05e7178ffh +dd 0d3143b8ah +dd 0aa224724h +dd 08b19e9e0h +dd 071bb4ff0h +dd 0fd5eb1d0h +dd 0687abd56h +dd 0f675d4ebh +dd 028ad3163h +dd 00fcf7f43h +dd 0fd100b86h +dd 0490d3e7bh +dd 0a12f13a8h +dd 0478f0ac4h +dd 03800ab5bh +dd 0d04b7263h +dd 0d7a44f25h +dd 0e8ff58c0h +dd 0f2357969h +dd 0674c83c7h +dd 0bbca6c68h +dd 0ac976c32h +dd 00005f845h +dd 06db1146ch +dd 049726e40h +dd 069b4e00ah +dd 0ed5d604dh +dd 07d692e63h +dd 06536e348h +dd 023427effh +dd 0284d0b35h +dd 02b0a8828h +dd 0e5e6384dh +dd 0f4b09e64h +dd 00e9278cah +dd 0c1d91ee1h +dd 082f2cb5bh +dd 0b314887bh +dd 0f4ce79e2h +dd 0c41a91f0h +dd 0d6879271h +dd 032e97f66h +dd 03c33435dh +dd 099c41a58h +dd 0d295436dh +dd 00155225bh +dd 03b88b118h +dd 01bfe1bbfh +dd 0a98596d6h +dd 0bdcbd1ffh +dd 09008cad2h +dd 047bbce7fh +dd 0b93032c2h +dd 0d67b6e7bh +dd 088b35ce5h +dd 06ad7dd6eh +dd 00a002778h +dd 0c6b4f5f5h +dd 0d1f82be0h +dd 035ca4e60h +dd 0bc77efb0h +dd 0b6dbb631h +dd 0ee26dd6eh +dd 0b946bab3h +dd 0a4fd1e3fh +dd 0487d747eh +dd 01e084d60h +dd 07ae1e0e6h +dd 052a31b74h +dd 009dd526fh +dd 0373803d4h +dd 0c6c85f34h +dd 0c79a7f2fh +dd 0a3de266dh +dd 07c2db5c2h +dd 067e8fc98h +dd 0024eb798h +dd 03a53895fh +dd 0c4803063h +dd 0897f2d5bh +dd 0d2a2d73ah +dd 0bfc9c8c5h +dd 010adf2ffh +dd 0b32b717ch +dd 0b938815ah +dd 03f295c22h +dd 04f4842a8h +dd 00b5d7e4dh +dd 07a480bc9h +dd 0b5e41f42h +dd 00b737bbfh +dd 093a309abh +dd 0cd5ea1cfh +dd 07e982582h +dd 0738e5418h +dd 06f39927eh +dd 0f406cac5h +dd 010b7bd96h +dd 0f63965fdh +dd 037d39778h +dd 0b67fc4c0h +dd 01eae6e86h +dd 092f8465eh +dd 01eab67f5h +dd 026cdda48h +dd 0e81ce728h +dd 0f3017f0fh +dd 0011397f8h +dd 0687a7806h +dd 0aee8c38ah +dd 04bcff989h +dd 05461e57eh +dd 0980d790fh +dd 089b0a995h +dd 015a376a3h +dd 05c502c72h +dd 0ee50595ah +dd 0d38abdd3h +dd 0f98ef23ch +dd 0d34a990eh +dd 05c585e27h +dd 0b099da7bh +dd 00c6f6548h +dd 0c2535f75h +dd 0f0da8aa6h +dd 026c3ea5fh +dd 0169f8fb4h +dd 09de2771ah +dd 04202b719h +dd 0f7d4c45eh +dd 00e7717efh +dd 055e6f65bh +dd 03fe7b3f0h +dd 0a67af4c1h +dd 010c2eff2h +dd 051038a42h +dd 07e33bb73h +dd 041b60160h +dd 02a880d71h +dd 09eae77e2h +dd 0357d53e3h +dd 024fe9e58h +dd 094b93ebah +dd 00b7d2da8h +dd 0b1fbe57dh +dd 0db4573edh +dd 02234e1c6h +dd 007728db3h +dd 08b64ec78h +dd 09798ffdfh +dd 029ec3cd7h +dd 037066103h +dd 0f6d5fae9h +dd 04e1f21a5h +dd 019047ab9h +dd 05dea5b85h +dd 0841c25a7h +dd 0e3183123h +dd 03e59f29dh +dd 0d6a66f2dh +dd 03f4e4d74h +dd 0440bfe0dh +dd 0e600a16ch +dd 07b37dbbch +dd 005a6d505h +dd 0d11bef44h +dd 087d083c2h +dd 0d41ddc3dh +dd 0d298a1b0h +dd 0d00823a7h +dd 02b3a6956h +dd 0f62ee226h +dd 09510b35fh +dd 06c4262f6h +dd 0687ed9fah +dd 02667f6b2h +dd 05cf3d5eah +dd 08d9ee0d8h +dd 005816365h +dd 0e6c7eee6h +dd 04d389d6ch +dd 025eb5ff8h +dd 0e27db6f2h +dd 025071751h +dd 08b3e3210h +dd 0dd7aded6h +dd 0b0ee2a59h +dd 02ac035d2h +dd 0665882c1h +dd 029a95958h +dd 05f12725ah +dd 0ffba47a7h +dd 01f4f519ah +dd 0563f6197h +dd 00197961eh +dd 002d45124h +dd 0004022cbh +dd 02bad31a5h +dd 048688c74h +dd 035e2ca5ah +dd 0348cd487h +dd 0e3f6d254h +dd 0955c3076h +dd 0121dcb2ah +dd 0f4149255h +dd 0f15f4125h +dd 0e5b0ae3ah +dd 01459d084h +dd 09cf374c5h +dd 09c5b9bdfh +dd 02b0cfcbeh +dd 02993a960h +dd 072d9c078h +dd 0d2999981h +dd 0c3dc02e2h +dd 0abd57c06h +dd 06119227eh +dd 0a0447b00h +dd 0c71380f7h +dd 0abd93a14h +dd 01d816ba0h +dd 0f8c8e400h +dd 076f69587h +dd 0400edd83h +dd 0c5cfede5h +dd 00aae1985h +dd 0540f7d58h +dd 07d282b87h +dd 031a30980h +dd 06c078d9ah +dd 058ad8566h +dd 04dfb3d85h +dd 00b5371b7h +dd 07803a1adh +dd 0529d462ah +dd 0e454b537h +dd 04ae2ad63h +dd 05992278ah +dd 02030c5cah +dd 0bb5d4a57h +dd 0a237f959h +dd 05cb39c13h +dd 023507d8bh +dd 03ebbc721h +dd 0095783bfh +dd 05ea08f01h +dd 0c99cfaceh +dd 0a4423c42h +dd 0ed43f856h +dd 0d7b19ef8h +dd 019f89952h +dd 0a32fcb13h +dd 01dfc22cfh +dd 0f3955a1dh +dd 048c7226dh +dd 0db073f03h +dd 0274efb79h +dd 0c1ca3a0ch +dd 0cd824ee4h +dd 0a7c94f14h +dd 0bd01793fh +dd 054ef60cdh +dd 00d395517h +dd 0990c199dh +dd 09e41e708h +dd 05baede18h +dd 0df2ebcc2h +dd 0b983ac3bh +dd 07ee1b00ah +dd 05b325327h +dd 0d89d3288h +dd 0803075b3h +dd 04e09c5ddh +dd 03fd8ac77h +dd 0127fc51ch +dd 08b54733ah +dd 0c9162710h +dd 0f44fbe3fh +dd 0fdd9a50dh +dd 0e76e0288h +dd 0241440abh +dd 0f114e87fh +dd 0b7a45853h +dd 0005f2f3dh +dd 03063de00h +dd 0963794a5h +dd 0a53f4be2h +dd 0a960a337h +dd 006428b27h +dd 0a181dfadh +dd 0fe012ff8h +dd 0304e2453h +dd 05af0e368h +dd 0b1b50825h +dd 0d3c9f224h +dd 041a822cbh +dd 0746686d6h +dd 085de6e4ch +dd 065f99780h +dd 05f4dbc5ch +dd 0227b966eh +dd 02262ca71h +dd 033a24250h +dd 08708a928h +dd 070610ed0h +dd 0659b5457h +dd 0da4d905eh +dd 024ee9a58h +dd 0acc3824fh +dd 0943c8ee1h +dd 074183f0bh +dd 0cf59762ah +dd 0b191c8bfh +dd 0b26a9bdah +dd 0fe31dd8ch +dd 056f768bah +dd 05a56e902h +dd 0310d43e9h +dd 02c51b127h +dd 043bd6ab4h +dd 0a6341ce0h +dd 09cacb48fh +dd 0cbd224a1h +dd 04399a045h +dd 067afd4f1h +dd 0e3773faeh +dd 0b584bd3eh +dd 009e2c279h +dd 0c6b9a863h +dd 01d8ac93ah +dd 0a127cc5eh +dd 016267767h +dd 03ad094d2h +dd 079a2c0a6h +dd 035072da9h +dd 0e585500ch +dd 07ff294f2h +dd 0252889b7h +dd 0a44a6681h +dd 07f18f10eh +dd 0bed7d0feh +dd 0ddf09ab6h +dd 072c521c3h +dd 042b93617h +dd 0302b0480h +dd 0d3926946h +dd 0af0d45b7h +dd 05fa81d7fh +dd 0a878c93dh +dd 00be46d95h +dd 0e6a9f270h +dd 0c7147fcch +dd 0d1d55c7bh +dd 0b9e5677ch +dd 012e9ee54h +dd 001ddb0edh +dd 006a9b820h +dd 0d222a7f7h +dd 0c2e3f842h +dd 030f7424ch +dd 0cc7d196bh +dd 06ce8da84h +dd 07fd90b58h +dd 0b9c88bcah +dd 0abf2134eh +dd 0e7c4aaach +dd 0d8c02a25h +dd 0ca127847h +dd 016b517eeh +dd 00371a2bah +dd 0396cb74dh +dd 0136992efh +dd 0ab0fcf07h +dd 00dae51b2h +dd 032c6eaafh +dd 01d87d0d5h +dd 0591e8ab1h +dd 070d36946h +dd 0fae5c23fh +dd 0ce036650h +dd 0d059c249h +dd 0622b81cdh +dd 04e339246h +dd 07fc1e4c2h +dd 04231e931h +dd 076f9520bh +dd 02990812bh +dd 069daa5c3h +dd 0845885b2h +dd 0e2a130cbh +dd 0f5fb0b76h +dd 0b1a4f188h +dd 0444b1844h +dd 0cb407567h +dd 01fc4e1cah +dd 03f48994fh +dd 051605fcah +dd 0587cb282h +dd 0301f8512h +dd 08d634d88h +dd 08a5c9269h +dd 03df3064eh +dd 01fd1566fh +dd 08fb81b60h +dd 0d466c96ah +dd 00bc0cf59h +dd 06844fee7h +dd 0cd48aecdh +dd 074a00f6dh +dd 0c7f96ecfh +dd 0c3e25601h +dd 0f26fd78bh +dd 06cb82515h +dd 0d4284c53h +dd 0def84f83h +dd 0d5355613h +dd 0579ed7efh +dd 0bcd62f1fh +dd 01b76c2a5h +dd 0ee6109a2h +dd 0f0df673ch +dd 0682f9655h +dd 04a6a05e5h +dd 075b74781h +dd 0c434af74h +dd 04a06e304h +dd 0f5d89eb4h +dd 02ba85027h +dd 08054fdach +dd 016b02799h +dd 0c18f02bfh +dd 0166734deh +dd 0b306ce0eh +dd 0c2e8d7fdh +dd 02383f72dh +dd 07f7e9280h +dd 0a6dd73e2h +dd 062e2f10dh +dd 02bf23b9eh +dd 0b416b9e5h +dd 09f38c6ebh +dd 03c9a65a8h +dd 0c1e0dcdfh +dd 0fb0f6188h +dd 08caf9118h +dd 019ed07cah +dd 01d195892h +dd 0347b6d77h +dd 04443dc7eh +dd 03bbc81cch +dd 031c74338h +dd 05505c62bh +dd 06aa8f91ah +dd 07b175794h +dd 014c0770dh +dd 0c06175d5h +dd 0b0b9b242h +dd 08a4bb3afh +dd 0c02bb252h +dd 06c5fb6aah +dd 016d2bcd4h +dd 01ccc6fe6h +dd 03755fc11h +dd 0f5fc5fb7h +dd 0298cf80fh +dd 09e5d27fch +dd 04dad9524h +dd 049eb6ca6h +dd 000f011c4h +dd 08f6d72b1h +dd 0ae35835eh +dd 06aa506c2h +dd 0e95d5135h +dd 05ecb16ach +dd 0144823a9h +dd 0a17aa9f7h +dd 0cfe2c754h +dd 0dab8a4bch +dd 0b4a4e4b9h +dd 008f35562h +dd 07aae5e34h +dd 0055311fbh +dd 05bba0c67h +dd 012dee8d6h +dd 007ae77feh +dd 02e7b77cch +dd 07373fc03h +dd 09cff9a23h +dd 07ac2a19ah +dd 0c13169c6h +dd 0fc3a8b9eh +dd 026054ea3h +dd 0d8d9ab9ch +dd 0edb3cb0dh +dd 02508c51fh +dd 07b23cda7h +dd 02e02bd8dh +dd 03e539ed7h +dd 0ec2cebf3h +dd 087de91ebh +dd 0d84ca089h +dd 0b2c15b76h +dd 0484f2156h +dd 0d34bfc17h +dd 03ff956e6h +dd 0959ec547h +dd 05a41a908h +dd 0bf738c67h +dd 04eefe30bh +dd 08561edefh +dd 09817b7e9h +dd 0b11f2007h +dd 0632ba4f8h +dd 076e8a9adh +dd 0bb91c106h +dd 066818c49h +dd 07ea3afbfh +dd 04659062eh +dd 079769461h +dd 0db21023ah +dd 042e72a4dh +dd 0cf16b73fh +dd 09885e53eh +dd 0db5acb25h +dd 0bb598f49h +dd 0e0f9e8abh +dd 0cc312cefh +dd 0de79b673h +dd 0304e5f94h +dd 06c9e44b1h +dd 029842240h +dd 0150d2605h +dd 072c2774eh +dd 02a6d9cd3h +dd 076bc51d4h +dd 0bd0e0179h +dd 0f5e8cc02h +dd 08620f8ebh +dd 0576df799h +dd 04fe2d1ceh +dd 05a9eef2ah +dd 08338708bh +dd 05cf9a066h +dd 0e2d63484h +dd 0c242315fh +dd 0a2903ef3h +dd 01aca8838h +dd 0e7c1e394h +dd 06d7e327bh +dd 0464f4c69h +dd 02c471c84h +dd 00efb077fh +dd 0935818a8h +dd 00f4aebcdh +dd 05264513dh +dd 071123edeh +dd 0d95e8d90h +dd 0185017a4h +dd 0c5442b40h +dd 00e9d254eh +dd 0b67af02dh +dd 064801209h +dd 0b6159a15h +dd 0fe1994c9h +dd 0ce709d88h +dd 065c4a86fh +dd 04fc6b048h +dd 00679eb2ch +dd 037af3650h +dd 085773c51h +dd 0e48a9d0ch +dd 03db5a649h +dd 0ebd96177h +dd 0b73aada0h +dd 06ed26094h +dd 0c1dd8d8eh +dd 01f89d65eh +dd 0a6ec96afh +dd 031df20d1h +dd 030111ca7h +dd 0e0f192fch +dd 0d02d1562h +dd 0b9cf9af7h +dd 04619bf6eh +dd 0197d5f95h +dd 0fe098438h +dd 035d773f8h +dd 090c12753h +dd 0c7bf941fh +dd 0fd1c868dh +dd 03ea9808eh +dd 08814e8a7h +dd 06e412cebh +dd 0141335e6h +dd 0fdffcddfh +dd 0bf45d223h +dd 08d7292f1h +dd 0f62b11a7h +dd 0a86fbeceh +dd 0bdf787e6h +dd 0f4be45cch +dd 0243bd8ffh +dd 0654193efh +dd 0b91c8dc7h +dd 0073475b1h +dd 0274080e5h +dd 0ce3bae32h +dd 096186163h +dd 035727317h +dd 05c6a4666h +dd 0e27cc90bh +dd 01e3744b0h +dd 0661105efh +dd 07e2867f3h +dd 004386b6fh +dd 040006900h +dd 029a97476h +dd 0067c2941h +dd 0e370b2ffh +dd 068b2e0eah +dd 07c2bd583h +dd 0b89ab0b9h +dd 0ee701757h +dd 0a9f46fd1h +dd 0ef93cda1h +dd 087af8310h +dd 0bdc5f835h +dd 0d92741f8h +dd 047f3df60h +dd 038251ba9h +dd 0569bba4bh +dd 0b16a90e8h +dd 0acc3032eh +dd 0e8eb3dd9h +dd 0c9e0fe81h +dd 0bc05b9a2h +dd 0a18834f1h +dd 0f0e510a0h +dd 0c883eda6h +dd 0f26c6fe9h +dd 07a31fbe0h +dd 0f018266ah +dd 0b3d31d35h +dd 012e43e72h +dd 015b5a0fch +dd 0fee10e10h +dd 00eb4aecch +dd 013e25703h +dd 00137459dh +dd 07315dc72h +dd 0dc85b6beh +dd 02f55d9d2h +dd 0267a73f7h +dd 02a348999h +dd 0a8ba30b2h +dd 09d0995b7h +dd 0bc46419ah +dd 06c670426h +dd 0b518cedch +dd 054c14795h +dd 0a2fc7f87h +dd 03e895374h +dd 04b48da9dh +dd 01c0d2c2ah +dd 05369a365h +dd 0e416f308h +dd 0c1f25970h +dd 04c0e5085h +dd 00bed72d2h +dd 0f6ff0b6dh +dd 010ccec9bh +dd 0f3173bb5h +dd 0027269d6h +dd 049bab539h +dd 0983ed96eh +dd 0b1cc9e0ah +dd 0aa1d2db3h +dd 042806a6bh +dd 0191a5ba5h +dd 0e6547ae3h +dd 09ef1c666h +dd 067ce8496h +dd 0137d43f2h +dd 020a45f34h +dd 0eafeb802h +dd 0b126c79dh +dd 0fa9c303eh +dd 058165a47h +dd 09ab385edh +dd 0f588c0feh +dd 06318a3c7h +dd 0c095d686h +dd 0dbaf4844h +dd 078e60504h +dd 0a206a4b7h +dd 0f512aeb0h +dd 0ebd7263eh +dd 02cafd01fh +dd 071bbdc7dh +dd 02ccc271eh +dd 06044599fh +dd 05d1536a2h +dd 09e0a6e6ah +dd 0197e15d8h +dd 06dde9c38h +dd 01d9a26f9h +dd 0c0238d9fh +dd 01010b201h +dd 0668378f1h +dd 0f1c84062h +dd 0a3216db4h +dd 061926e22h +dd 0a5dc8aa8h +dd 09e1c94d2h +dd 0bd428b34h +dd 0177a6e1ah +dd 01fd14971h +dd 083a90887h +dd 060a5a480h +dd 0585c7a6fh +dd 0ec0ddc28h +dd 083d32fd6h +dd 0d0c910f5h +dd 0112e3982h +dd 0ac856e68h +dd 0c50d80a5h +dd 0304f1a55h +dd 011b66138h +dd 031c9eed6h +dd 00cc2c643h +dd 01e376455h +dd 0756cba88h +dd 0f61b64cfh +dd 05ef52a0ah +dd 068893f84h +dd 09ac0fd91h +dd 034405253h +dd 0385429beh +dd 0899d2f3fh +dd 048c95aeah +dd 024dd744fh +dd 09a14317dh +dd 019968957h +dd 08a389e27h +dd 0e310fde8h +dd 0fcc5beafh +dd 042447436h +dd 0edef6db0h +dd 02488f288h +dd 0eea52b9eh +dd 0f5d3301ah +dd 0d7377eb1h +dd 013c87093h +dd 0339c473ch +dd 05f88d61ah +dd 02c14446bh +dd 0a148f508h +dd 04b8c0ceah +dd 056231c28h +dd 05ef65fcfh +dd 093c600abh +dd 08d7cb8dah +dd 0ebc31c53h +dd 09e7c7bc6h +dd 0bc25f4bfh +dd 0535fa1d6h +dd 0af47af39h +dd 02ecc5be5h +dd 029b01137h +dd 0d6e13d6dh +dd 06342cbbfh +dd 0014a95b3h +dd 034cffc29h +dd 04601a8a3h +dd 03c8a9ef2h +dd 0f400ae51h +dd 0fe75e988h +dd 0bfd686cbh +dd 09a0a71f1h +dd 07faf0593h +dd 06b5446ebh +dd 0cae3db68h +dd 0f0bbaf0ch +dd 0469e4195h +dd 04be909e9h +dd 0a2bc9041h +dd 0c5bb7cbah +dd 0bf61ff61h +dd 00daad932h +dd 0fa86fef7h +dd 03db8bb5eh +dd 007740b00h +dd 01a926302h +dd 09137e9a3h +dd 0261c2751h +dd 06d394ce6h +dd 0f7095718h +dd 0ee82127eh +dd 03d4d807ch +dd 03bc9907ah +dd 0464818d2h +dd 0e26751cdh +dd 0fd18064eh +dd 04d2f263eh +dd 0dec7dfc3h +dd 0024e08a1h +dd 0d8b6da16h +dd 0a6f05bbeh +dd 0a46baf52h +dd 0c22d1a5ch +dd 0e987c79eh +dd 0e7baacfah +dd 0c6f35c2fh +dd 0a83c269eh +dd 0dac06ddfh +dd 04c27be52h +dd 072f407d5h +dd 011a7ad8fh +dd 0d1e15143h +dd 04ac72208h +dd 0fb79ad90h +dd 0dae4e342h +dd 0fbafd8aah +dd 0e904a2c4h +dd 0a12df82ah +dd 0ba0ee701h +dd 00f809993h +dd 0d477fd2fh +dd 0f45f2dfbh +dd 0c64ad5e5h +dd 094e33e18h +dd 0d88e1cbeh +dd 0b27a1b2ch +dd 01a6d0250h +dd 087486ed2h +dd 0fb14c7bbh +dd 02a375729h +dd 0c9019d07h +dd 0e7c43c8dh +dd 0e0b864eah +dd 0a0158166h +dd 06b25a6d8h +dd 0b6215a67h +dd 078d2e862h +dd 0303312f0h +dd 0a36e404fh +dd 0694d7210h +dd 09604fa27h +dd 00789201dh +dd 07ff6ebd2h +dd 094a87976h +dd 0db9a8487h +dd 074702df9h +dd 025b6f255h +dd 0047d0a8ah +dd 04ffaabb9h +dd 0b8dd370ah +dd 0f6663510h +dd 0e3bd6030h +dd 096f465cbh +dd 003ba1483h +dd 0a72ed01bh +dd 03efc5dd8h +dd 0b71462ddh +dd 0f340b643h +dd 0028cbe1bh +dd 0dc33d288h +dd 0025992cfh +dd 0a01edf0dh +dd 0ac1351dbh +dd 09e1f1239h +dd 0289290a6h +dd 097652a8fh +dd 0f42c5c53h +dd 08bd48f98h +dd 0fa9f76f1h +dd 0af7e748dh +dd 0e1aeee62h +dd 0c74b2f69h +dd 053cc0637h +dd 0b5decdb2h +dd 06a79ab72h +dd 02c0db946h +dd 01aaf6ef6h +dd 0c21e19bdh +dd 00c51b2e4h +dd 0cce92e91h +dd 076dc1d3ch +dd 03cbf2935h +dd 094ac75f0h +dd 085cb9e90h +dd 000ffe987h +dd 094ad983eh +dd 09b647f10h +dd 07924a9a5h +dd 042e0f5edh +dd 0ca2084ceh +dd 0097f5fa9h +dd 01fda9c85h +dd 01d145762h +dd 0fdbe3070h +dd 09673c323h +dd 0a021be59h +dd 0a4a746a6h +dd 02c101399h +dd 0d7426b24h +dd 0099a2d83h +dd 04bf6a806h +dd 070b3c515h +dd 0ddc7684dh +dd 0b4124f39h +dd 0a8ff3d52h +dd 06fd7d667h +dd 03ce4e7a8h +dd 09d7a79efh +dd 0393b7879h +dd 049def00bh +dd 021a48985h +dd 0d295cd4dh +dd 0545385ddh +dd 01d262510h +dd 06e145dbch +dd 0d780ff1ch +dd 078a9497fh +dd 0d6e584aeh +dd 0d520baf3h +dd 082e5fc31h +dd 08d53b0f4h +dd 090024823h +dd 0e9b73a7eh +dd 02eb3edc2h +dd 03da62c3eh +dd 00f0e1123h +dd 0cb683c07h +dd 034276a33h +dd 0e3f7bec8h +dd 04d1f2b7bh +dd 0af7a88ddh +dd 08e5eaf81h +dd 05341114fh +dd 08070e5c8h +dd 0db96e17fh +dd 08b00a0a6h +dd 04cdbd381h +dd 00b080ddfh +dd 0f461fcfdh +dd 0da691c0eh +dd 09fc72c45h +dd 0b739c947h +dd 0931741b1h +dd 03a2d4f83h +dd 05a6e9680h +dd 01016973bh +dd 0f6d4899eh +dd 0f10b2bcch +dd 02363507fh +dd 08a233d10h +dd 07279b905h +dd 0ea303938h +dd 0796f20c4h +dd 08b2da69eh +dd 0f795e475h +dd 0c82c84a3h +dd 0c3be0aadh +dd 0c81941bdh +dd 0ed737ff3h +dd 03a7094b6h +dd 02e77ae7eh +dd 0b75205b7h +dd 03e83bb48h +dd 0aa1d1c2eh +dd 0a0f7ed57h +dd 0b5cc6785h +dd 0b80c08c8h +dd 0f9a2f400h +dd 02fe4fe5eh +dd 0f417d2e8h +dd 0923eea15h +dd 0e56764ach +dd 099cbc4a1h +dd 0f699010dh +dd 096547371h +dd 0f17e3dech +dd 01bef64d7h +dd 0fa397f7fh +dd 0bbe4393eh +dd 0b1d9a7ebh +dd 01b21ce87h +dd 0ac3a443ah +dd 0751f4d27h +dd 0ef744cefh +dd 01a5c8522h +dd 079962ec7h +dd 0e33da6f2h +dd 0bc1f78b4h +dd 0a5f45bfbh +dd 0d2ce778bh +dd 0cae79f70h +dd 0d05ca93dh +dd 083d321fdh +dd 03409d68dh +dd 0d46ff98dh +dd 063f1e357h +dd 0d4af21c1h +dd 02aeb2adfh +dd 0cfcc43c1h +dd 0d9943f19h +dd 06b5272b2h +dd 087c416a8h +dd 00313ca15h +dd 0e126f465h +dd 0da94e6ddh +dd 0380ed008h +dd 0d59182cdh +dd 0b78901bfh +dd 0e7dddf8dh +dd 03452e891h +dd 00065b9bah +dd 035ead3c0h +dd 02a6c5fd5h +dd 0e4ddf0a0h +dd 038557b06h +dd 0f1acbf17h +dd 0a3ad706fh +dd 04f328149h +dd 069ecc5a5h +dd 09bc6d69dh +dd 0a935a22dh +dd 016706e22h +dd 08583f442h +dd 01ed36cc4h +dd 0c98ab2d2h +dd 072e70829h +dd 004e315aah +dd 0361b4529h +dd 0b76544f6h +dd 0fb5463a5h +dd 007832f00h +dd 09b760aedh +dd 0eb80df43h +dd 009a7d4afh +dd 048dbcd19h +dd 0f4719e40h +dd 059b2a874h +dd 0a1574cach +dd 0e1ece860h +dd 09240dfdfh +dd 0668a94b9h +dd 00e0a0769h +dd 0c2ad3734h +dd 0fb46e9a7h +dd 09c765eadh +dd 0676eff09h +dd 07b3a0bcdh +dd 0acc8109dh +dd 0d0e3b074h +dd 0eb091988h +dd 0acc69fe9h +dd 004deba61h +dd 084c63a96h +dd 04347a14eh +dd 03cb881a4h +dd 076b110e2h +dd 0832ff19ah +dd 056084aach +dd 0758946dbh +dd 065716ef7h +dd 076ed826ah +dd 0e29cd2c7h +dd 0aae025bch +dd 0fb39da2dh +dd 0f94836a3h +dd 090d8ce8dh +dd 00405372fh +dd 0206835e8h +dd 0aacde307h +dd 0e64a594fh +dd 0c1e2cba0h +dd 05d1eb3b6h +dd 03d82ab57h +dd 0624c8824h +dd 08ae85203h +dd 080fa0ec5h +dd 04eaa8c99h +dd 0a0742124h +dd 023b39af4h +dd 0716a2eb6h +dd 01a5791a6h +dd 0fca81f55h +dd 0332042e4h +dd 075b79faeh +dd 0287bb5b1h +dd 02c590ba7h +dd 0d35e4205h +dd 0dbc09688h +dd 060343af1h +dd 03bb40747h +dd 0afea4ca2h +dd 0f666643eh +dd 0a5c5ca1eh +dd 07d0dbf38h +dd 0337037fch +dd 0e59e0933h +dd 0ba2d48f8h +dd 0f8bc7aach +dd 0d0e83f95h +dd 01c86a671h +dd 04d079691h +dd 06549543dh +dd 0208c6b80h +dd 0e1c9a0e6h +dd 062caec09h +dd 09cfb2d73h +dd 0ca748b9ch +dd 0e0962532h +dd 0130bbe32h +dd 05f5e593ah +dd 02eed79edh +dd 07764a48ah +dd 04a0a4312h +dd 05e514724h +dd 08dac6202h +dd 071e3d326h +dd 054281ccdh +dd 0808aea1fh +dd 07f62b8bah +dd 005cf844ch +dd 028236ee3h +dd 0638f20fch +dd 0f16b6990h +dd 0059a52beh +dd 0a452f8a8h +dd 087c40acdh +dd 0bf9ea950h +dd 0983d7a5ch +dd 038749b8ch +dd 043e4ba45h +dd 0a204bceah +dd 00ba57641h +dd 0b7a71bfah +dd 03445b63dh +dd 0fe9ca8a2h +dd 01805c7a9h +dd 0671bb0c5h +dd 0f31db786h +dd 04991a932h +dd 0b83f4ce5h +dd 0543fdd5fh +dd 05ed0721eh +dd 088d6cc4eh +dd 0ffa418cch +dd 02ba41d9ch +dd 0db12d826h +dd 0788e1aafh +dd 0e09e2274h +dd 05992d10ch +dd 02766201ch +dd 0cac9b4ech +dd 0ca470cf1h +dd 04d5bfc96h +dd 02323c991h +dd 03575f6b0h +dd 0cbc65f34h +dd 009f5089ch +dd 04c8e843eh +dd 054a7935dh +dd 010e0547eh +dd 09caee8ffh +dd 0d8b61df1h +dd 05ec29d1dh +dd 0797ba00ch +dd 09fca4baeh +dd 0a32aee87h +dd 00a916dd7h +dd 07f53e0aah +dd 09c09054bh +dd 057ebbf08h +dd 0a3b817b7h +dd 07a7ef778h +dd 0496b5b6bh +dd 0647a1ae3h +dd 0264be2d2h +dd 07ad889abh +dd 0b714d023h +dd 01adefa87h +dd 0e2cb9d76h +dd 0d5bccd92h +dd 0e4456274h +dd 0acf17b3bh +dd 063b281c8h +dd 0c5bc30dch +dd 04c2e6436h +dd 0da75cf6bh +dd 09757a409h +dd 0d8350e26h +dd 021a71c44h +dd 0d3cfc101h +dd 0454cb04dh +dd 0ad8c5823h +dd 01da49697h +dd 05c7d9a0dh +dd 0b7f1a553h +dd 078a3ae93h +dd 01ddb9c76h +dd 0bc9f5608h +dd 0bb1fc064h +dd 0ca9d5770h +dd 02fe2dcd5h +dd 067e4388fh +dd 064330193h +dd 077f9ce00h +dd 0e02df0e5h +dd 0f7cf8596h +dd 02789ff7bh +dd 0c7d9633dh +dd 061f081e1h +dd 0a41fb5dfh +dd 0726f86b8h +dd 061efb7cbh +dd 0fa45e524h +dd 01e3b8a8fh +dd 0e7ebe41eh +dd 05cce5c58h +dd 0f7be9ca5h +dd 000241561h +dd 04b7914dfh +dd 073c5a80ch +dd 04d3f1fddh +dd 06300b8cfh +dd 06aad97a6h +dd 0401d6f82h +dd 0d5521ef8h +dd 0d3ddd3b8h +dd 061a834a0h +dd 039f5337ch +dd 08d64ec9eh +dd 02f981623h +dd 02f32f5b2h +dd 0f76d708fh +dd 01a1c6214h +dd 0f6fcbfc4h +dd 0f4733be5h +dd 069695d69h +dd 0ee48b26dh +dd 011bea7e6h +dd 08891706fh +dd 0d336766eh +dd 075752bc5h +dd 089e6dcfah +dd 0d6b78295h +dd 00dcb5156h +dd 008a3995bh +dd 01cd81f46h +dd 0d4bc71aeh +dd 06582b5feh +dd 09a9ca5a6h +dd 017b9aad8h +dd 009302e74h +dd 0f5a3830bh +dd 0b9286dd9h +dd 042600ccah +dd 00e467645h +dd 00957d50dh +dd 00352d6d3h +dd 07a816d9ah +dd 06e0f11b4h +dd 079dc860fh +dd 01860aebbh +dd 021acbb38h +dd 005a0b707h +dd 04117fbeah +dd 00e84936fh +dd 0ef53e06bh +dd 04947b465h +dd 0d7c1d134h +dd 0f00dc117h +dd 048a58503h +dd 01cde28eeh +dd 0c6dfb138h +dd 07f6c1b33h +dd 0415ed9b9h +dd 0ba9cabf9h +dd 0384c1fe1h +dd 04b458c00h +dd 056ee01fdh +dd 0cc22262ch +dd 0613dc9f9h +dd 054fbd8dfh +dd 03be88a5dh +dd 07ecafad3h +dd 07ee82af7h +dd 002345c75h +dd 0787dc008h +dd 07884a61bh +dd 097fde4ceh +dd 0bd99913fh +dd 083315a8ch +dd 003a4f10bh +dd 02f640768h +dd 0e566b4f6h +dd 02f0ac5e7h +dd 011e28628h +dd 03e4a8103h +dd 036756480h +dd 016fb4bb5h +dd 0713c83ddh +dd 09d97e1c4h +dd 00d88eb3bh +dd 000224391h +dd 0926357a7h +dd 081ff308eh +dd 0e25475a1h +dd 04b993a96h +dd 078c06874h +dd 063d7007fh +dd 0f1bb88f3h +dd 0bd5118d1h +dd 0868510d9h +dd 0116b60f1h +dd 0f21e5764h +dd 08e962ea4h +dd 01a641c77h +dd 0661b782eh +dd 0d622fecdh +dd 043ef5052h +dd 00a0160e0h +dd 0fd13ba75h +dd 02694d461h +dd 04a3d0fbdh +dd 03491c47ah +dd 057571554h +dd 09f55aa37h +dd 002d544ffh +dd 005c87569h +dd 08052aa39h +dd 02454db0dh +dd 09cacc99bh +dd 0fbb5c943h +dd 01ee270dbh +dd 0bea856c8h +dd 02f07bfeeh +dd 04b730746h +dd 092c9e6efh +dd 0563e7077h +dd 00e27edbeh +dd 01c7b0019h +dd 0b955d406h +dd 06e68494fh +dd 07922d895h +dd 00b74071eh +dd 01d0a1a7dh +dd 09995ee39h +dd 04862d257h +dd 0eca7061bh +dd 02e5b955ah +dd 05e591fb3h +dd 0f701e9bfh +dd 061e4bf21h +dd 0a1e20214h +dd 07f3a7136h +dd 04554affdh +dd 07e67c210h +dd 0a926b285h +dd 0a02d5391h +dd 0589dd900h +dd 02da2f8a1h +dd 08ace69b4h +dd 0cd26decah +dd 0ed517091h +dd 011b08a24h +dd 079116991h +dd 0f0f59cb0h +dd 09fe86faeh +dd 05e3da79ch +dd 0ef4660eeh +dd 02c17224eh +dd 0ac566ae1h +dd 04ea6821dh +dd 0483b3e39h +dd 008200e99h +dd 0820947d2h +dd 0356644c2h +dd 01f8eb9b7h +dd 0098b2222h +dd 05496c2abh +dd 080b2855fh +dd 0b2429ea2h +dd 0adb58b6ch +dd 02cf41499h +dd 0b89754a0h +dd 031131f7fh +dd 00be47304h +dd 036deb4cah +dd 0a31cb6e0h +dd 046a49521h +dd 0eafb838ah +dd 0a8a3261dh +dd 0be19bbe6h +dd 0781ee949h +dd 0e8157b42h +dd 056df5e07h +dd 09f2f4ddch +dd 0ad74a769h +dd 07f9b0926h +dd 021877700h +dd 002bfc2f4h +dd 0efc5f6c9h +dd 0d8b8eb89h +dd 0272d32d7h +dd 0ebd71626h +dd 0f3c07636h +dd 023111f7fh +dd 0968e157eh +dd 0bdebd167h +dd 05f225df0h +dd 05b138f10h +dd 003c3990bh +dd 0221c6d2eh +dd 0f94b8ff1h +dd 01c069577h +dd 0590692f0h +dd 02073b0ffh +dd 08d5d14bbh +dd 06df5296ch +dd 01153e664h +dd 0b7f6910ch +dd 001e81d17h +dd 068d3a873h +dd 061c3b9d7h +dd 032edf7efh +dd 0579f4a29h +dd 0618fc7c1h +dd 024c96194h +dd 08e6326eah +dd 0d5c8d548h +dd 0ab3a5ddch +dd 06b681467h +dd 09f2f9857h +dd 09783c7a8h +dd 03ba3065ah +dd 03925bfc3h +dd 0da97f83dh +dd 06b2c2465h +dd 018942bfdh +dd 0551f5fbdh +dd 094f2e544h +dd 01ac7394bh +dd 053c303d0h +dd 08aaef0f6h +dd 061257581h +dd 05f804686h +dd 0a2eb4c94h +dd 07e1e55d7h +dd 09b6a47c6h +dd 093f3feadh +dd 081c58004h +dd 0b7d53e83h +dd 0342856dch +dd 081647803h +dd 0c6b89e8eh +dd 0d28cc216h +dd 02eb44329h +dd 03946f8b2h +dd 078859fdah +dd 0cfdadde4h +dd 00c5d6fc5h +dd 0eb516edah +dd 01d61597bh +dd 0f9cdc36eh +dd 03f7333eeh +dd 024f63267h +dd 0128885b4h +dd 0c7e09867h +dd 051dfa1e8h +dd 052e144b4h +dd 03414dd0dh +dd 03ccc37dfh +dd 003a7d1aah +dd 01cc74d68h +dd 05d6ee462h +dd 047306654h +dd 045885779h +dd 0634401b2h +dd 01ea9a165h +dd 061ee2971h +dd 08df2da1eh +dd 0ea345f9bh +dd 02a58ff55h +dd 022aef608h +dd 0a84593d2h +dd 0610bc910h +dd 038de6e61h +dd 08394db27h +dd 0e83c292ch +dd 054b75448h +dd 0b3a0dc0eh +dd 0c22df4b6h +dd 017b96bd4h +dd 05588546eh +dd 09e6e6ec9h +dd 0bbc9aec7h +dd 0226713e0h +dd 072079980h +dd 02a9f6b2ch +dd 06ffec80ch +dd 0c07d1d0fh +dd 0673688abh +dd 0a4b4581eh +dd 0e6161bcbh +dd 0f6eea048h +dd 089ef33f8h +dd 0cb9ffc88h +dd 0fbcfed58h +dd 0e1683c0ah +dd 0dcc967c0h +dd 06f19c6efh +dd 065a783fah +dd 0f1c39519h +dd 0ab846420h +dd 0121c3c02h +dd 092e609c6h +dd 0d578db39h +dd 0193a4929h +dd 04551c934h +dd 0206bc64bh +dd 08976f7ebh +dd 087e0beaeh +dd 0de758c82h +dd 0d9fff734h +dd 00a95cab7h +dd 079f1a5abh +dd 024b066c6h +dd 0dafd985dh +dd 01816d9f3h +dd 05f242f17h +dd 0412a336eh +dd 064ec7ce7h +dd 010024f2dh +dd 0f5133ad3h +dd 0ffbec9ach +dd 01ceddcceh +dd 0e0aeda98h +dd 00af7ff71h +dd 09ad330beh +dd 06aebcb92h +dd 0e50c5a81h +dd 0e5c0f6b0h +dd 0b23334f4h +dd 0ff572da3h +dd 0431f4f8dh +dd 046dcf29bh +dd 0df9eb59fh +dd 03c37e514h +dd 008b08a4ch +dd 0cb533313h +dd 056094dbfh +dd 09c4cb778h +dd 089b65eafh +dd 02a08b98ch +dd 0c0f8d18bh +dd 03b3ef614h +dd 0558e1a56h +dd 0fc06c5d4h +dd 02184a4bbh +dd 009f2b1f7h +dd 0dc25edcch +dd 0823d9f16h +dd 0102ff951h +dd 09e36d063h +dd 0a0798f3ch +dd 0d9caa232h +dd 01a69e6edh +dd 053887a1bh +dd 0cea0111ah +dd 0f2d9b50fh +dd 0324b3123h +dd 0fabad3a5h +dd 033aa5d95h +dd 06690d9bdh +dd 096eef7ebh +dd 09bfdc1a4h +dd 0ae6ae1e4h +dd 06825372dh +dd 09b5e7bdbh +dd 03c784147h +dd 0570cdd01h +dd 03ae19220h +dd 01feb81cfh +dd 09b5ccae3h +dd 04a2ec4ceh +dd 028b193efh +dd 09dff7be5h +dd 0b1b3ca2ah +dd 002323f53h +dd 0b3a8c9eeh +dd 0c1d51fb1h +dd 0e3e4cdedh +dd 09118994fh +dd 08656caedh +dd 06e0cb4bah +dd 034b24bf4h +dd 06434b3e2h +dd 0c49b033fh +dd 09173a6b3h +dd 0adc249aeh +dd 0d8fceca4h +dd 041eb572bh +dd 0cc77bf67h +dd 009db3f12h +dd 027be49b7h +dd 0885e64c4h +dd 027f6f43ch +dd 073c3706fh +dd 03f8c2c86h +dd 037f1e615h +dd 0abbb414ah +dd 0475d6914h +dd 0a83cea09h +dd 0d8502238h +dd 0441ad33eh +dd 04d0afdebh +dd 0a01c2e5ah +dd 04fea843eh +dd 085f6bdd3h +dd 021b80314h +dd 07378355ch +dd 069aeb846h +dd 083c21dech +dd 06136e5d0h +dd 0bcc77e42h +dd 05d3dfd87h +dd 09f8d7b21h +dd 0d1040c53h +dd 07dbb9882h +dd 0d133b95dh +dd 00f095aech +dd 0ef56577dh +dd 06499b955h +dd 0b4fb5389h +dd 0131a0208h +dd 09ca0b867h +dd 004adf94ah +dd 036b3d79dh +dd 084bafce0h +dd 070633974h +dd 098ddfed0h +dd 0719fdff6h +dd 0431fdbcah +dd 092d068a9h +dd 01b39460ah +dd 079b8aa9fh +dd 0cb878386h +dd 0830a3528h +dd 0b246cbe2h +dd 0bdc5d5c0h +dd 01da9fc82h +dd 0f23da4b7h +dd 07571a15eh +dd 0e96d80e3h +dd 08f806a29h +dd 04c69337ch +dd 0c6f69926h +dd 0afadc832h +dd 09d057899h +dd 0e8f42471h +dd 03e1e9d20h +dd 06b678078h +dd 067352b12h +dd 0fda0475fh +dd 01e8b725ch +dd 0a3245f22h +dd 0e0c95b39h +dd 0e045b45bh +dd 0d8f45d78h +dd 022d8e80bh +dd 014f17632h +dd 0580bcdadh +dd 02f0b2154h +dd 05d3641e7h +dd 0745a7c44h +dd 00713f73bh +dd 09b93085eh +dd 0f5bcc0d0h +dd 026c2d2e2h +dd 0e2c456c4h +dd 0e31b792eh +dd 0f1be5a90h +dd 048eff573h +dd 066263f93h +dd 0b89f61b6h +dd 05db4cf75h +dd 037f7170dh +dd 045a007d3h +dd 01f4900e2h +dd 0fba2b4ddh +dd 04dfe902eh +dd 0a89dbef2h +dd 09970608ah +dd 077335270h +dd 061753b48h +dd 09213ca00h +dd 022c10d1ah +dd 063a7f49bh +dd 02f99e2d5h +dd 0eed05bcch +dd 018653c2ch +dd 0582a80a6h +dd 07cde44d5h +dd 0f4f14420h +dd 0e9c80766h +dd 0a3746541h +dd 09d4a354bh +dd 093420a68h +dd 00f17a2c7h +dd 0c7ce99b6h +dd 0977f12b3h +dd 0899e7347h +dd 0bc75396eh +dd 0314c8853h +dd 0af8b92cah +dd 0f14d6462h +dd 04b1b2622h +dd 0717622f8h +dd 025514a88h +dd 03bccbde1h +dd 0aea531eeh +dd 0374d962bh +dd 02339a022h +dd 026c192efh +dd 0387db50ah +dd 0bd122982h +dd 0c0c6b66fh +dd 03759a382h +dd 0833a5c1ch +dd 0d0b03544h +dd 0516f0fcdh +dd 0cd4967cch +dd 0d076eae5h +dd 0d2c232bdh +dd 058b04c48h +dd 0c7e02ff1h +dd 027aa8080h +dd 0cd570e52h +dd 02a71247ah +dd 07038291ch +dd 08d6cc3c0h +dd 0c435cc33h +dd 087aad595h +dd 02fee24ach +dd 0b206a801h +dd 05a0048adh +dd 022b01c30h +dd 0e9886237h +dd 0ceb7b8fdh +dd 0d16e1efbh +dd 081fe0685h +dd 07640548ch +dd 00718b6f0h +dd 00e5ceb15h +dd 027819550h +dd 08fd2a2d0h +dd 072b4c275h +dd 0db5d2243h +dd 09f4113f3h +dd 079c7d236h +dd 0da0e8a85h +dd 04c0619f6h +dd 0f00923b1h +dd 06357b23bh +dd 0a74a854ah +dd 03467e948h +dd 0475d14abh +dd 07d6f8611h +dd 0077b8190h +dd 06a4b36ach +dd 05392eba2h +dd 03d4610d5h +dd 0b67336c8h +dd 0a3053e9fh +dd 0fd9c612dh +dd 080d0e339h +dd 0eb2f26e0h +dd 0c662a052h +dd 0908605c9h +dd 0588c1965h +dd 0081a0effh +dd 012385abah +dd 0ddbb58cfh +dd 051c57b2ah +dd 0e8f56702h +dd 0802ebe3ah +dd 084d4cfd3h +dd 0cc0492d7h +dd 0990e4c85h +dd 0337954bah +dd 0ff36c72dh +dd 0575cf3bfh +dd 0e836c614h +dd 0caa5499bh +dd 06aa26e25h +dd 084fe19aah +dd 07cc56d19h +dd 02d04f3f6h +dd 0e0ad8ee4h +dd 05887c661h +dd 0a97343f7h +dd 0b995434ch +dd 059946556h +dd 062cb1bb2h +dd 00811ffedh +dd 0ee64819ah +dd 02bf7fde4h +dd 09b64ac2ah +dd 0627efd82h +dd 029ac6538h +dd 0bd136ef4h +dd 00851863eh +dd 0beee835dh +dd 068b36405h +dd 0a2ea4244h +dd 06f7d5556h +dd 0825d1ab8h +dd 051f15c24h +dd 09b77e920h +dd 0f0f9c7e3h +dd 0ef9c4338h +dd 016b15397h +dd 0d79c09b8h +dd 038561623h +dd 0a0250bb1h +dd 048574731h +dd 0cdf90cach +dd 0f863b27ch +dd 078e3d460h +dd 0ee9c3cb0h +dd 03561772bh +dd 0772e9bbbh +dd 067d450bbh +dd 0a9e47673h +dd 07471569eh +dd 018e8046ah +dd 0a1c6da77h +dd 067d08ce0h +dd 038c3ccc1h +dd 0b28f8081h +dd 0d04b4a8ah +dd 0983b1942h +dd 0a65ee0a8h +dd 08b2663e1h +dd 09f38a031h +dd 067726110h +dd 01ea4cdb4h +dd 01b8a46d9h +dd 0b6718e2fh +dd 00c264eb4h +dd 0e103498ah +dd 00792e7fch +dd 07e07fbe9h +dd 0d2ba71fch +dd 0ab0ebd46h +dd 06438f780h +dd 04286c26ah +dd 0c51ea851h +dd 087dee0b2h +dd 01b9e51cah +dd 09ca46b7fh +dd 01dc2bc60h +dd 02316f1b2h +dd 0e62bba2ch +dd 0e2b42819h +dd 04401f49eh +dd 0b541624eh +dd 0cae692c8h +dd 0b4c7598ah +dd 083bc47c7h +dd 0595581abh +dd 03802037bh +dd 05edfd569h +dd 0b9939c6fh +dd 068031846h +dd 0bed20e47h +dd 0bf5ae2ach +dd 09256a03ch +dd 0cdc8c270h +dd 05ce62d69h +dd 0650c6e8ah +dd 06cfbf00ah +dd 0de05a117h +dd 0cf5e63ddh +dd 0924a6e06h +dd 009ffe045h +dd 0dcce9ec6h +dd 0a37b3f92h +dd 0a169208fh +dd 0577476ffh +dd 0670cfd9ah +dd 0d7c67b75h +dd 02d7ebbd1h +dd 0fc469cf6h +dd 0ba17a26eh +dd 02258fd47h +dd 027308eb4h +dd 01ad8ac9eh +dd 0d0fd9e06h +dd 0f4dc96c1h +dd 0ccc617ceh +dd 0fed35971h +dd 0d9986cb7h +dd 0afdef6c5h +dd 07d10f8c2h +dd 06e637939h +dd 0d49c0177h +dd 09eef4eb8h +dd 048830b2ah +dd 0f03a780bh +dd 0ebb73179h +dd 0edef5b98h +dd 08853ab3bh +dd 09f33bd86h +dd 0a6e5340ah +dd 085803d0bh +dd 0a748369fh +dd 05af5ebaah +dd 058c45eadh +dd 0bca381e1h +dd 0ba663ea2h +dd 02cf1d164h +dd 0aa55df1dh +dd 0e5e37f86h +dd 08c650f6eh +dd 0bea18791h +dd 0649e8818h +dd 0623dd655h +dd 047fd05ceh +dd 086bf59c2h +dd 06eea47dbh +dd 0de5e9a3dh +dd 0ab79cebdh +dd 054ce6d30h +dd 04e930c8ah +dd 06c79e1b2h +dd 0aafa0f45h +dd 06f3ec092h +dd 0e72849b2h +dd 0e89eba22h +dd 034686db5h +dd 05adf0056h +dd 0fbcb1895h +dd 0464f4ceeh +dd 0bbcd84f3h +dd 0f7a5bc86h +dd 0f005ddd6h +dd 01397bbbeh +dd 0eaf020dfh +dd 0b95e892bh +dd 0cdcb2959h +dd 063f74881h +dd 0c22ea1b7h +dd 0b638870dh +dd 0ed0be44eh +dd 07640a6f2h +dd 0756fe592h +dd 0ba7c4cd0h +dd 0608f9445h +dd 050c397cch +dd 0189c23d3h +dd 0da9d4a0fh +dd 0a70ac81ah +dd 040bcc65dh +dd 071c883cdh +dd 0dd9d0197h +dd 0f46955cfh +dd 05d69522fh +dd 0e22222c5h +dd 06e96fd24h +dd 014db9bedh +dd 000be7b0ah +dd 0f832021ch +dd 088c2260eh +dd 0882bd630h +dd 00b9a7374h +dd 0c07afb17h +dd 00959378ch +dd 0a4acd649h +dd 0a23d8514h +dd 0a5eebe64h +dd 05aedf62ah +dd 0308f7b2fh +dd 0cb5062fch +dd 043947df8h +dd 03f79a76eh +dd 001a9ea86h +dd 08ddd919ah +dd 0afa2c456h +dd 056756b8ch +dd 03a733e85h +dd 0a87962e6h +dd 0c5196c35h +dd 0435f7bd8h +dd 03265b2b0h +dd 023732ae3h +dd 0b3ad597ah +dd 0a830154ch +dd 061e89ff5h +dd 0468e064bh +dd 00c11b175h +dd 0c0cb4141h +dd 06fc22674h +dd 03dae6607h +dd 05462038dh +dd 0e30eadaah +dd 023c5a195h +dd 09fa3563dh +dd 0f840405eh +dd 059d3a56fh +dd 0e5e55176h +dd 0ac3f72d1h +dd 095fafdc3h +dd 020864aabh +dd 06c7973e2h +dd 0fa7c7315h +dd 0cb6eecdbh +dd 0d43c9988h +dd 08881a144h +dd 022ce20c5h +dd 09be4d43bh +dd 0521eb8d1h +dd 06d326020h +dd 08600365fh +dd 0ca4bb2a3h +dd 04e67e9bfh +dd 0ce6fab00h +dd 04e00564fh +dd 0d1456b55h +dd 01e389e2eh +dd 01214102ah +dd 0fae09c29h +dd 0fe58b7eah +dd 0d48df6b9h +dd 0a1a957c0h +dd 00dbab8b2h +dd 0dbe89110h +dd 0b2c27c3ch +dd 0d64bdf72h +dd 04219fe13h +dd 00b889eech +dd 0dff37347h +dd 05a5debc1h +dd 07135109bh +dd 012506707h +dd 0d771088fh +dd 0c8491d19h +dd 05764063dh +dd 07e9bd12fh +dd 08be3fa5eh +dd 0b63ba08ah +dd 0ebe981d4h +dd 034ba2f4dh +dd 024ec1328h +dd 0bf10be65h +dd 094396bech +dd 0a3c12825h +dd 00b1ea12fh +dd 01a343934h +dd 0dde7ab1dh +dd 0d1d40e82h +dd 0614e394bh +dd 044e68889h +dd 0d1138518h +dd 05b7d53bfh +dd 0d72a8daah +dd 0f04e8ae9h +dd 02470a3ech +dd 019e48ad1h +dd 02aa389e7h +dd 0f7c92aa3h +dd 0410eb497h +dd 08fdbac46h +dd 0a7b0ad80h +dd 0cd1cc234h +dd 050bcff44h +dd 0ca9c2eb5h +dd 001fd3aefh +dd 004f6ac8eh +dd 0cad2b314h +dd 0785c1635h +dd 09f79b2eah +dd 0975662bfh +dd 0d1b2bfefh +dd 0894f98a5h +dd 00dd8494ah +dd 0a6d3f09eh +dd 05ab5ef37h +dd 0b01f59a0h +dd 0198ef801h +dd 0712f7f2dh +dd 015817b83h +dd 0e9530e86h +dd 0972f7048h +dd 0515c1a09h +dd 047a65c21h +dd 04655a77dh +dd 06d60e1d7h +dd 062cb95cah +dd 000cd38e9h +dd 0a4529588h +dd 057cf2fe6h +dd 0f99c0cdbh +dd 0d6b01ec8h +dd 05c9cda16h +dd 00dc85261h +dd 04acbce36h +dd 0380263d4h +dd 062f70930h +dd 0966f2419h +dd 0d27f35fbh +dd 011b32ea2h +dd 0cb576142h +dd 0f0dd8ff4h +dd 056c200f5h +dd 0fcbc9216h +dd 024e6f5abh +dd 0163f5df3h +dd 0d0c757f6h +dd 019096b39h +dd 07c801f8bh +dd 0065bda5bh +dd 0c721d722h +dd 092bea4bah +dd 0ba6eb266h +dd 093358f67h +dd 037197bafh +dd 0ff85ba56h +dd 0c824e284h +dd 0b002e430h +dd 078beaf0ah +dd 076f67383h +dd 033795097h +dd 0d6a26ec3h +dd 0ecdabc4bh +dd 0e356f891h +dd 01c2d6dbah +dd 041e3f74bh +dd 00677465fh +dd 0726a55bbh +dd 05eafb73eh +dd 0ebaaf627h +dd 0c4c1892bh +dd 04acb275eh +dd 046bc62cbh +dd 021a11f2fh +dd 0924fd8beh +dd 0b60c6addh +dd 0b6b7aad3h +dd 0f8ce0952h +dd 0a60539bbh +dd 0e5b34fcfh +dd 0ce28270ch +dd 06f6ba060h +dd 07bee56e7h +dd 03c267deah +dd 0af724a58h +dd 01242f783h +dd 0055c920fh +dd 04e9c8080h +dd 0134c5a76h +dd 0fc75a833h +dd 0b8f3113bh +dd 0a175c5fdh +dd 0aee59f70h +dd 0c088c718h +dd 045ec4648h +dd 09b1cfeb1h +dd 050f33500h +dd 0006a1c7ch +dd 0aa1a49d0h +dd 0ebf423eeh +dd 0e77840dch +dd 0f2c9325dh +dd 0f14f759fh +dd 0afbcab09h +dd 005e4bbf9h +dd 0c0460c40h +dd 07f190b5fh +dd 00fdff87ch +dd 01e124da9h +dd 0646d8cb4h +dd 044516bd8h +dd 0284a1aafh +dd 0ea26212bh +dd 0422eb67ch +dd 0a592742fh +dd 03a9cdd58h +dd 0c872bfceh +dd 0e4c28ab1h +dd 0b5711d44h +dd 0d1541fd4h +dd 04c298164h +dd 0894497feh +dd 0af9917eeh +dd 0830677eah +dd 0bb2fe059h +dd 0501c7f3eh +dd 0da894113h +dd 02bac21dch +dd 09d88ff45h +dd 0e3cd563ah +dd 03b1b39beh +dd 0cc5f9967h +dd 0f8e57b73h +dd 039d9c82fh +dd 0d182bf2fh +dd 0dd26c604h +dd 0a1ac7285h +dd 0d7813364h +dd 073b9849ch +dd 042c46997h +dd 080574d96h +dd 06b8b8950h +dd 03aad3f93h +dd 0bd23a22bh +dd 0b8572544h +dd 0c806c7c3h +dd 07d8c6a8ch +dd 0e98e314dh +dd 083d7696ch +dd 023add730h +dd 029324f14h +dd 04e5a4511h +dd 06b35e6dbh +dd 0b2d9d067h +dd 061b13088h +dd 0a18ba05fh +dd 0df452104h +dd 057770e55h +dd 0e1841c96h +dd 03a54a727h +dd 09026025dh +dd 038dcfde8h +dd 094649064h +dd 0f85e8de2h +dd 096eb2ccfh +dd 0a711dfa4h +dd 0f2a1a298h +dd 0286ca5cdh +dd 0d63d9e01h +dd 00e16aaf0h +dd 0cf039ad4h +dd 0299264b1h +dd 0b57c28ech +dd 07e48570bh +dd 0a66db637h +dd 08d34c330h +dd 0bed4fbbch +dd 02db7fcach +dd 01796b452h +dd 0ea911ac4h +dd 05a84b7b6h +dd 0c04c6745h +dd 06e8ed593h +dd 0b15bf577h +dd 09e2b159ah +dd 0575ff3ech +dd 0485f9c45h +dd 04edd50c9h +dd 049162598h +dd 0fe73e8a1h +dd 019d63e71h +dd 00ddf45e8h +dd 01a12c7dbh +dd 00eec91feh +dd 09ee231d2h +dd 0b9288abch +dd 0cefb5bach +dd 0cc039707h +dd 0df8a1fa9h +dd 06b67c329h +dd 06f15a02ch +dd 0ff14870ah +dd 005e916b7h +dd 0eae400efh +dd 016a6c45ah +dd 0bd39e01ah +dd 0e2d1ead8h +dd 0bffb65c1h +dd 0eea40354h +dd 006c54c92h +dd 04815e54eh +dd 05df6baa6h +dd 05454f3d6h +dd 03113c3a7h +dd 0c94c8d5ah +dd 013843852h +dd 03c00542bh +dd 051b3aca1h +dd 0ed9ff6a5h +dd 026befddch +dd 0ca56d9d1h +dd 01654ccfdh +dd 0924c17abh +dd 040c9dddfh +dd 0bb4b7d78h +dd 0462f6af1h +dd 02082db03h +dd 08820f996h +dd 09376a47dh +dd 07fd7d9ach +dd 066f715a9h +dd 03caac678h +dd 0a130088eh +dd 0c8e95bb7h +dd 01d563dfch +dd 078172984h +dd 0b3746054h +dd 0773f9597h +dd 0edeef97ah +dd 058105d0bh +dd 0cddd43b6h +dd 066edee73h +dd 02f35bd10h +dd 09869d536h +dd 0c98dc205h +dd 03b75b37bh +dd 034819679h +dd 05d81c2e3h +dd 0ef5646fbh +dd 07b4d1326h +dd 0aab82b1ah +dd 09eb80d21h +dd 0743fcda4h +dd 0f96fa013h +dd 0a067b5c0h +dd 08867d1d3h +dd 0ec03f3fdh +dd 0c2cdbac6h +dd 0a821c667h +dd 0826de0fdh +dd 0721a9661h +dd 0b6dda935h +dd 0c8404371h +dd 0870e5ac9h +dd 0aac53544h +dd 046aae288h +dd 0a9076909h +dd 0c8bd10dah +dd 0a3b271ech +dd 0de212476h +dd 097f421dch +dd 001048285h +dd 018442797h +dd 0589f4c72h +dd 0007b26f8h +dd 0f3928a54h +dd 0455008d6h +dd 015b654f3h +dd 08cc65c0ch +dd 023cfcc77h +dd 0f6a2abd2h +dd 016faf83eh +dd 0d0b241feh +dd 0a9cbcceah +dd 0fd2e64d3h +dd 0fc7549d8h +dd 01ae4308ah +dd 0c57cafb1h +dd 05fd68b3eh +dd 0fbf98295h +dd 08060c941h +dd 03173a149h +dd 06d88072dh +dd 002ad54e7h +dd 05170ac8fh +dd 0545cbce3h +dd 07c1a194fh +dd 0fbf2936fh +dd 06ff5f13dh +dd 0b53ac126h +dd 03f520dcdh +dd 03144af7bh +dd 0693c9e9bh +dd 0e9249ddch +dd 050697e0ah +dd 091e0d7e1h +dd 0178bd03ch +dd 0c0febb61h +dd 07178b780h +dd 0476c5240h +dd 056ca8f0dh +dd 008b94f3ah +dd 0d1e25978h +dd 0ee073a54h +dd 0cb37db2dh +dd 0258d902dh +dd 09012d0a5h +dd 09478ab95h +dd 03cd61813h +dd 02a214fech +dd 0e3a4d24dh +dd 058a1ce8dh +dd 06afb4498h +dd 06f9016a7h +dd 041cf7060h +dd 0a8fcbe27h +dd 03df643e4h +dd 03ba5cff1h +dd 09c4b3bcdh +dd 0b790fc20h +dd 03b16d975h +dd 054f4b8c2h +dd 0c2dc38f6h +dd 030f7a294h +dd 013b7e7c5h +dd 09e62880ch +dd 057936828h +dd 0e119c334h +dd 0d6a113a0h +dd 0f08c11a8h +dd 007ad8b87h +dd 065693cf4h +dd 0bd1e60d8h +dd 0dc4d1f26h +dd 054ee2292h +dd 007061582h +dd 0aa9d5a76h +dd 048c347adh +dd 00369d601h +dd 0490c2cb0h +dd 07d6ac401h +dd 0d5bf87ach +dd 02e28e76fh +dd 02313f282h +dd 0be9da79ah +dd 072f4e31fh +dd 0efeb0d14h +dd 0e65ef0fah +dd 0b60f5a22h +dd 0beaf946bh +dd 0a8613430h +dd 0520cb7a0h +dd 0f4158e21h +dd 0c87a08e9h +dd 07fb09e65h +dd 0181eeb41h +dd 097756d0eh +dd 0fe2636e8h +dd 05bc3ea0ch +dd 0a34a3a86h +dd 0a68ab08fh +dd 02812e3a7h +dd 011753297h +dd 0db67d914h +dd 06dee6f94h +dd 02c8ccc40h +dd 096f8bb69h +dd 0008ec868h +dd 0d9a5870dh +dd 07b99c4ceh +dd 02c99f124h +dd 01eb3dfe0h +dd 055b8f789h +dd 0f272e74fh +dd 0913d8ccah +dd 09505f29eh +dd 01992b899h +dd 0c9dfb9ech +dd 05d27b72ch +dd 0a20fe51fh +dd 0df90a654h +dd 009f586a0h +dd 06b42816ah +dd 0075ff12bh +dd 09c278e26h +dd 085a49609h +dd 05a89833eh +dd 007f5f1f9h +dd 05ed04b31h +dd 05b4a6654h +dd 030c6d86bh +dd 01c9a2e50h +dd 07e2d6055h +dd 0b61845e7h +dd 0e3c6f493h +dd 01be04f52h +dd 0a98cffe8h +dd 076bd4b6bh +dd 04d8b2bdch +dd 0d512fd67h +dd 0aea549ach +dd 010c8126ah +dd 08e163dcah +dd 04e830027h +dd 07c7d0670h +dd 03d0c8d88h +dd 041a1f280h +dd 015c0ac16h +dd 074542bcah +dd 02384935fh +dd 0ee15edf3h +dd 07402915eh +dd 042f8a6e8h +dd 058bb748eh +dd 0b18ebe3dh +dd 0854e62efh +dd 00a779a66h +dd 0b7b8da5eh +dd 089d275b1h +dd 05685b09eh +dd 0a437837dh +dd 040f7f821h +dd 049a0c2a4h +dd 0f0d626edh +dd 0c0d81169h +dd 04a830f2ah +dd 04482b17dh +dd 06f1cb258h +dd 06493151eh +dd 0342c414ch +dd 0f84207fdh +dd 0c3c0b93fh +dd 070d4e28dh +dd 071174c0dh +dd 06f2ac4b7h +dd 069df9fc2h +dd 093024c01h +dd 097c22930h +dd 0e1c736c6h +dd 0973cfe91h +dd 06368c0fdh +dd 063296683h +dd 0d54bffa2h +dd 01e282df1h +dd 0e58836ceh +dd 00e90b4fch +dd 09fa622f8h +dd 0e76227ddh +dd 0ab8335f0h +dd 09fb5688fh +dd 0d996cee8h +dd 0434dcb4eh +dd 0905b4f65h +dd 0b9a2906eh +dd 0d246c4d1h +dd 0d3705a80h +dd 0675b8a10h +dd 002fbb297h +dd 04a47ed4eh +dd 0b9a6fd2ch +dd 077ae9fe8h +dd 0060fa686h +dd 0f4dcaf38h +dd 06ab1f6eah +dd 03423ebb4h +dd 0a335269fh +dd 0313ea988h +dd 0558d2f60h +dd 0a553ee6ah +dd 0e8bd1a0dh +dd 0c8609a2dh +dd 00cee4b9ah +dd 0d8abe3efh +dd 036007851h +dd 07078812eh +dd 0feed3e21h +dd 04698b93bh +dd 082f077c9h +dd 04804fe82h +dd 0f295d3e1h +dd 0fd1017f8h +dd 06b9d6d4eh +dd 0cf58312fh +dd 04783cafch +dd 0276e092bh +dd 0d9ce66edh +dd 07a5d7dc0h +dd 07f18a0b7h +dd 04f75fe16h +dd 029d581adh +dd 0d4917f11h +dd 018126d2dh +dd 04905f5bch +dd 05a74a9cbh +dd 0b58169f8h +dd 0b3e40b31h +dd 069dfdfdah +dd 0fc7bcc62h +dd 08a4d337eh +dd 0daa0740bh +dd 03ea9512eh +dd 0db720d13h +dd 054f01c18h +dd 0a8cca58ah +dd 03aedf07eh +dd 0a8ddcdc9h +dd 0be33b68fh +dd 012489e36h +dd 0f648e668h +dd 07c46e5bfh +dd 0553ef5e8h +dd 0d30fafb6h +dd 0f7880007h +dd 0943d02f4h +dd 06cd44046h +dd 067adf367h +dd 031eef5e4h +dd 0a0403eefh +dd 0e0a60fceh +dd 08f0f3e4bh +dd 05e663350h +dd 04562e010h +dd 05db0f90bh +dd 0ac1024fdh +dd 02f506b8ah +dd 0f201549eh +dd 06fe59f22h +dd 02e556bfbh +dd 0f6552bb8h +dd 003011569h +dd 0a38b6152h +dd 0d0167722h +dd 088e8be6dh +dd 07cc119dah +dd 0edd611abh +dd 0a7f0a9dah +dd 0e419689dh +dd 001823fdfh +dd 0f77e19cfh +dd 01a9bbf9ch +dd 08e1f3b95h +dd 0db74643dh +dd 05b90973bh +dd 0f0f3e181h +dd 08d4002f4h +dd 0fc35cb8eh +dd 0d3d05af9h +dd 0ed500dabh +dd 0fb24c791h +dd 087308f27h +dd 0b68c5170h +dd 0c14fb690h +dd 0fd8d20b0h +dd 099996c86h +dd 0b162948fh +dd 0196ca7d6h +dd 05ad43f6ah +dd 09a8031dfh +dd 0a1bc693ch +dd 0794eef7eh +dd 02457782ch +dd 0bfa199fch +dd 0b1eb236dh +dd 0ae66f20fh +dd 0891ca493h +dd 003f6e924h +dd 0597d2ac0h +dd 0be27a9e4h +dd 0205541c4h +dd 0d987f24dh +dd 042331811h +dd 042071022h +dd 0bb03e064h +dd 0c301d704h +dd 0fdb0b1b3h +dd 01a2f3186h +dd 0e91161cch +dd 06533aa43h +dd 0f7d8ae10h +dd 06cea5ef2h +dd 0a42d6386h +dd 0d2d63ee6h +dd 0e813bb82h +dd 06e08566ah +dd 020bd8069h +dd 0e268e821h +dd 0525d699ah +dd 0325998fbh +dd 0353875a7h +dd 087e51402h +dd 0271fb672h +dd 077a3f234h +dd 05d607726h +dd 0d2687fe0h +dd 01f045c02h +dd 05ab517d2h +dd 0e49d86f5h +dd 0a4fc3566h +dd 0d78927d4h +dd 0f28f69d8h +dd 02bc6db60h +dd 009c9b400h +dd 069e81b03h +dd 0f987ea2ch +dd 08220cf80h +dd 04f43c5afh +dd 06451ba78h +dd 0dabc088ah +dd 006f95e75h +dd 0fe2a92c9h +dd 0d3e64252h +dd 0c58c8fbch +dd 06d2d04c1h +dd 07b88e47ah +dd 09bc234c0h +dd 0c9e162beh +dd 0344f4a2fh +dd 040652f62h +dd 04bb42244h +dd 0ea06e18dh +dd 052c8a003h +dd 0b3a1cc9ch +dd 01441ac88h +dd 082f28c86h +dd 0e2c24530h +dd 0f1eca50eh +dd 00996c3d0h +dd 0212f0edfh +dd 0aa5975d9h +dd 08e466a30h +dd 04c0c12c2h +dd 063a18aa5h +dd 00eebb623h +dd 0445baa85h +dd 02ccc8dfah +dd 0b7cbf9fbh +dd 098086316h +dd 0e472a068h +dd 02bc09c57h +dd 0a56419a2h +dd 096871706h +dd 0255ebb75h +dd 0b99fd130h +dd 0f3ecfc92h +dd 0a86cd269h +dd 047c9dc99h +dd 06cdcd929h +dd 0fecf3e5fh +dd 0cbe74865h +dd 0af4f196bh +dd 01e882561h +dd 0aa860294h +dd 04b7a5c8eh +dd 034b978e5h +dd 06f2e2bcah +dd 0fc8d10d4h +dd 08ca1bc20h +dd 0fe7de7bfh +dd 034c7c384h +dd 0c4501741h +dd 07e2fbcfch +dd 027255846h +dd 0dc025212h +dd 08e36cd15h +dd 0197efd49h +dd 00ed1abe6h +dd 03586a317h +dd 08fb44930h +dd 09406cda0h +dd 090be1631h +dd 0a493701fh +dd 045004267h +dd 04cabbe60h +dd 0d0ccc417h +dd 0c2186548h +dd 011ba65d3h +dd 098ac0194h +dd 028a3136eh +dd 035e56b60h +dd 007bba63bh +dd 065bbb7e7h +dd 07700d360h +dd 0edf551ach +dd 0aa2fc59ah +dd 0b9fb7cech +dd 0fe00e7c5h +dd 0781a873eh +dd 031ee0395h +dd 0f8edb844h +dd 0d35fef46h +dd 09a94118ah +dd 00e087649h +dd 0cb806fach +dd 0dd596c63h +dd 02ce7ddb7h +dd 07e4893a1h +dd 0952d1914h +dd 034e08371h +dd 0c59a06f3h +dd 08752ca2eh +dd 08637d641h +dd 02ce0f407h +dd 0975feb0fh +dd 09a9c0df0h +dd 0461107e6h +dd 07f752195h +dd 0d76963efh +dd 04d3c3e2bh +dd 0599326dah +dd 08cc7c1f2h +dd 0cf103a61h +dd 01745bacdh +dd 0500be3afh +dd 0df01d0d5h +dd 00b940e09h +dd 0e8702986h +dd 06eb421aeh +dd 0769c3e59h +dd 0a7afda76h +dd 0e7d60fbch +dd 0eebd6b54h +dd 089752513h +dd 0af1a62eah +dd 0500056fah +dd 0cc8479bbh +dd 0822c14d6h +dd 00baa93a6h +dd 0bc3ac959h +dd 04892cffch +dd 0216f6e6bh +dd 0c1f7fc99h +dd 03705a843h +dd 0ecc70a42h +dd 040aafb22h +dd 03403ee25h +dd 026f26b7dh +dd 049bfe873h +dd 09531e72dh +dd 07d2d50deh +dd 08f740b28h +dd 0181b6ee3h +dd 0eb5a2a66h +dd 0d8737389h +dd 0e8f588dch +dd 0f17fcf7fh +dd 0cf33eb70h +dd 0230f6c8ch +dd 052f42f0bh +dd 09e57836fh +dd 0e25f3c1ch +dd 0428f76e9h +dd 056745090h +dd 09490ec2ah +dd 0487f2ac8h +dd 00ec032b6h +dd 012b73391h +dd 06aefe874h +dd 00c3dae4bh +dd 008c45c32h +dd 0c6e7b11ah +dd 0e489034fh +dd 0c3ade8d3h +dd 0b000ec9fh +dd 03eedeeabh +dd 0510afc9bh +dd 08c5e7fc7h +dd 02a485092h +dd 008a2471eh +dd 0c6713cb9h +dd 057894025h +dd 0af817798h +dd 08b358cd5h +dd 033cf343ah +dd 028587f83h +dd 0573165a4h +dd 0e861cad4h +dd 001c7f3a4h +dd 035848f3ah +dd 075f37ac7h +dd 05160a36ch +dd 0149fbac9h +dd 0f1fde4f4h +dd 01414ecbdh +dd 0cb5408cdh +dd 0bcd230fbh +dd 058c49341h +dd 0bd2e680ch +dd 0d3567457h +dd 0ab125253h +dd 02d51d7c5h +dd 0cbb50646h +dd 0e57c26bch +dd 08f57d09ah +dd 0a08a82abh +dd 0f0e1eafah +dd 049249786h +dd 08b402cd7h +dd 0fd6f4767h +dd 07d697db9h +dd 0d7e5ce5ah +dd 0010df672h +dd 084774738h +dd 0d1b7a114h +dd 07b7857c8h +dd 0975a610dh +dd 027ee4e47h +dd 040100d32h +dd 0d5c32b31h +dd 0d33bfa84h +dd 02881ff26h +dd 0bd9f0a8ah +dd 0631d5213h +dd 0792f8c5ah +dd 05d7ce9a0h +dd 031fe2446h +dd 05c62a281h +dd 0359203d5h +dd 041c21385h +dd 0d11b8902h +dd 09b5f1bc6h +dd 06b359796h +dd 0c3283bech +dd 06e51dd8eh +dd 0732803d6h +dd 014d4074eh +dd 07d4f850eh +dd 037a7cdeeh +dd 042d2034bh +dd 0b5ce6b76h +dd 0115097d9h +dd 073aa2de1h +dd 0a9a903edh +dd 04d2e6087h +dd 015f73f39h +dd 069819589h +dd 04fe34e70h +dd 016d9cc62h +dd 05200ebebh +dd 0c4d872dbh +dd 0e91153cfh +dd 01850c030h +dd 00915c94bh +dd 08459b3a0h +dd 0190bc973h +dd 061f12136h +dd 0f8c9e1cdh +dd 091f8d1dbh +dd 064923c9ch +dd 0e84f9070h +dd 02d24d0f3h +dd 0fd6f0cf4h +dd 099a5ff67h +dd 046c3efceh +dd 09544430eh +dd 0f4a58c63h +dd 01eda69abh +dd 0884b7370h +dd 0dab14fdah +dd 0648f2afdh +dd 0281b7a06h +dd 0a7bf7125h +dd 0fe5a5f90h +dd 02181d11dh +dd 0033fe7fbh +dd 0e2971ac7h +dd 00f15a3f9h +dd 07db24268h +dd 0cada907ch +dd 0d4cadd0bh +dd 02198f1fch +dd 064c24d2eh +dd 08f2783bch +dd 0136351a7h +dd 09e29d742h +dd 02bf9612eh +dd 0d578023dh +dd 0994fe70dh +dd 079ebce15h +dd 053dff968h +dd 0b6ac1c1dh +dd 08e1df836h +dd 08fd51bb1h +dd 0dc14a317h +dd 0a7a30987h +dd 0430dd75dh +dd 07a34ccfdh +dd 09a057a8ch +dd 019bf6851h +dd 011c94493h +dd 0ad2778f4h +dd 04cff29f5h +dd 0e4191e3ah +dd 0a6c7f4a3h +dd 08b507358h +dd 0e396dbc3h +dd 0603dec50h +dd 09e1935cbh +dd 08ba790b3h +dd 068063476h +dd 097e8dde4h +dd 0bdbaa95ch +dd 0d96f30c1h +dd 02d3bd571h +dd 0df06d92ch +dd 0062e3cadh +dd 028f2e9d3h +dd 04bba3febh +dd 0acd0a641h +dd 063dddb84h +dd 0a3e6afach +dd 03ea8f71fh +dd 00ed30ea1h +dd 0cb6de43fh +dd 019ffc843h +dd 02b557793h +dd 08b8e165ch +dd 0d838b053h +dd 0dae0d4ach +dd 08e75dfaeh +dd 0358c9c91h +dd 04b2f0158h +dd 0cb338694h +dd 0c2484313h +dd 0930fbc86h +dd 0a4a1812ch +dd 0293d8d10h +dd 043fbbe48h +dd 0503c3bc7h +dd 036ede12dh +dd 0748ba86dh +dd 099ca1373h +dd 0afdb472fh +dd 0d1c45102h +dd 0be2dd8f8h +dd 06bf2c38ah +dd 0d857192dh +dd 01162971ah +dd 024b19f14h +dd 08aecfcc6h +dd 04201ab1ah +dd 02ad0794ch +dd 09851f3dbh +dd 02bb92a68h +dd 0b5982dc6h +dd 01c357c05h +dd 062f61b4eh +dd 097f02cf5h +dd 0f387bff3h +dd 0e8559c11h +dd 0f86b9599h +dd 0f6af6723h +dd 0ae27ffeeh +dd 0a68f0d38h +dd 0164ac6a3h +dd 0bc4e01ddh +dd 0e359506ah +dd 0e177eddfh +dd 0e82191f0h +dd 0de224e2bh +dd 095d878cch +dd 0f5d765b9h +dd 03497e526h +dd 0bc94c457h +dd 07bc886f5h +dd 01e73e128h +dd 04890ec56h +dd 0c137ee2dh +dd 01cfbea97h +dd 0f87bacd8h +dd 0e022533dh +dd 022f721cdh +dd 0c51f4581h +dd 08097f5f1h +dd 070c754c9h +dd 0ab9cd5f4h +dd 0504b2767h +dd 0e6c02685h +dd 0e4298d28h +dd 03051937ah +dd 061aacb69h +dd 01ced8b94h +dd 07e371d7eh +dd 04db92e63h +dd 09fbd3ea5h +dd 0a03de31bh +dd 09a455376h +dd 0838dd72ah +dd 04f07e814h +dd 0bf617e95h +dd 002d97d89h +dd 03d39a367h +dd 06352af72h +dd 0f381184ah +dd 0e1a04a04h +dd 0f37232cbh +dd 0df51de9ah +dd 015d1c60eh +dd 09478182bh +dd 095b62972h +dd 0ad2e9b0fh +dd 0b6ca1a28h +dd 0930aba4ch +dd 0a025588eh +dd 09ebcaee4h +dd 01e939623h +dd 0d37c39e4h +dd 00f2343d4h +dd 0da387334h +dd 0da761000h +dd 0cfac5ff8h +dd 0573d7a5fh +dd 09991fca3h +dd 03aea3a8ah +dd 0f8e90d47h +dd 07cde9bf8h +dd 0a6f490e6h +dd 09f3eea0eh +dd 02a152a38h +dd 020da5904h +dd 0769d4856h +dd 0c380932fh +dd 05cd16bfdh +dd 0d80536e5h +dd 0a7edf8d8h +dd 0514aab7fh +dd 0b077f23ah +dd 09bbe565eh +dd 0ab026e9ch +dd 0b6ac5e53h +dd 082a6dc81h +dd 0551ab552h +dd 037df66ceh +dd 01803d2cfh +dd 0b10870bdh +dd 072cd6f30h +dd 0a8dd2843h +dd 0c5076774h +dd 006bd2353h +dd 0e1e4afa6h +dd 0d85498e6h +dd 0bd17bf27h +dd 0605d2af6h +dd 022ee3795h +dd 0d89851f2h +dd 04a52d135h +dd 018dde9e4h +dd 0e7df49c7h +dd 0097c7d41h +dd 02d560b1ah +dd 097082cb9h +dd 070774704h +dd 04b8a104dh +dd 0179f1707h +dd 019565610h +dd 026330f77h +dd 0b43dcb37h +dd 0aec1ce8bh +dd 0dab93d43h +dd 0bf2c9422h +dd 0abe0cc5fh +dd 0205ebfc8h +dd 0c174a691h +dd 0b06b2c39h +dd 03b9f6c8fh +dd 0e0a8a996h +dd 0a425e921h +dd 0502d75a2h +dd 0a8ee0efbh +dd 02083d6afh +dd 0cd477ed4h +dd 0fe76ea64h +dd 0deecd618h +dd 0847d522ch +dd 0e6325d4eh +dd 00df71acbh +dd 0e1199db0h +dd 0444f489bh +dd 0a2e2f448h +dd 0f9636125h +dd 0adee33abh +dd 0562a6861h +dd 05047fcdeh +dd 090d2b61ah +dd 05d58fc22h +dd 027659cf3h +dd 0494b653eh +dd 034ce16e0h +dd 00329bc4fh +dd 09732f156h +dd 07c1d0f97h +dd 035fafa37h +dd 03c8b6a34h +dd 079f6f4c5h +dd 02464df5bh +dd 0e0ef7d53h +dd 0e7c78276h +dd 09f632831h +dd 062cf4276h +dd 035c8f993h +dd 00585ed27h +dd 05648aed7h +dd 05e3744bdh +dd 08b9319f5h +dd 0d5e7baaeh +dd 07e89cdc8h +dd 07549dc45h +dd 0b3ae5d36h +dd 08bd458d1h +dd 0859497bfh +dd 0468c22e6h +dd 028fd1f98h +dd 08013f94ah +dd 08129a800h +dd 06e0e47a2h +dd 08a6321e4h +dd 09dbf8d97h +dd 0714abb0dh +dd 05c61f79dh +dd 0139762cbh +dd 08a814ed4h +dd 02c9e0da4h +dd 04871d16eh +dd 09377b3fbh +dd 0a720f308h +dd 0a0b8f006h +dd 09c2252d4h +dd 06e749709h +dd 0cf51034eh +dd 0b6ae578bh +dd 0e277e6d8h +dd 08597048ah +dd 0aaae6508h +dd 092cd3e99h +dd 07eb55000h +dd 07951b4e6h +dd 0caf6230dh +dd 074457545h +dd 042b926bdh +dd 0cf1b8f81h +dd 0918f6c35h +dd 0daebd140h +dd 0a3a4daa4h +dd 0cd8dbf0dh +dd 0f77a70dch +dd 07d603276h +dd 096b90790h +dd 01d0cafd8h +dd 0b8694871h +dd 09a90b855h +dd 010f366c0h +dd 0504d6615h +dd 055dfab2ah +dd 0223ff570h +dd 07610a796h +dd 06b746590h +dd 032f47854h +dd 0e1d34e04h +dd 0f4e85614h +dd 04f5d4f92h +dd 0c6eafecfh +dd 07fcc9b10h +dd 05eb01ce7h +dd 0fcb6cc84h +dd 04bf5939eh +dd 078fb9c19h +dd 06904510fh +dd 0589133e2h +dd 079bd338dh +dd 02ecf8c95h +dd 09d285ec3h +dd 056c4b6a2h +dd 0a0c25ef6h +dd 0c8a28b30h +dd 095dae56dh +dd 0aea6599ch +dd 0a2b4a1f8h +dd 0d4738a85h +dd 06b68a247h +dd 011af01ddh +dd 0d5c40943h +dd 04042d6c7h +dd 020a7ba63h +dd 08caad759h +dd 0f0a6d88bh +dd 085590c05h +dd 0b961ac04h +dd 0dac32b2eh +dd 039c34fech +dd 049ca1fc3h +dd 0fef6585eh +dd 0ace16080h +dd 01a0a726eh +dd 0a7570ef1h +dd 04ce7d330h +dd 056cab061h +dd 0377d131ah +dd 05a23adcch +dd 0dd045ae6h +dd 02361366ch +dd 06bf1a258h +dd 032a270ebh +dd 02dde9764h +dd 07bc04767h +dd 0d0edfa0eh +dd 0b1f40bd5h +dd 00d37f9fch +dd 092709972h +dd 09d8376c5h +dd 01942dd5dh +dd 0185482efh +dd 0ca53ede2h +dd 0281f1978h +dd 0b67bf549h +dd 0a0963c9bh +dd 03053e273h +dd 049f0957bh +dd 0f270731bh +dd 069c31eebh +dd 066e92ba8h +dd 0df692347h +dd 032d269bdh +dd 087ab3a78h +dd 077db6960h +dd 0f2806bcfh +dd 00b11618eh +dd 09f37072ah +dd 070dbcde4h +dd 0dfa1ff1ah +dd 0a012845fh +dd 09d55f9a6h +dd 035cd213eh +dd 00dfbdfbeh +dd 093fbfdddh +dd 02a7739f2h +dd 022b048b5h +dd 0fecd87adh +dd 06dc0c90fh +dd 051eb7843h +dd 07bb8349fh +dd 05d5aeaa1h +dd 071dc366eh +dd 065e7819fh +dd 09ffed95ch +dd 0c3977958h +dd 00d841d95h +dd 007263270h +dd 016d07ab0h +dd 0040fa264h +dd 050207caeh +dd 0dbabcb0ah +dd 058ac1ba0h +dd 08a875d08h +dd 0f3f501fbh +dd 07df48a5ch +dd 0f18881a5h +dd 06cdc6035h +dd 00f95de7dh +dd 05e48c71eh +dd 0b17578bfh +dd 06df73906h +dd 0b115d490h +dd 0859e2ba5h +dd 03caf09b1h +dd 0ec868d65h +dd 0ded9503bh +dd 02b6dec0eh +dd 0e400e621h +dd 0594c985ah +dd 04ea4ad64h +dd 03492cb21h +dd 0acf599a4h +dd 0308616e9h +dd 0e6a14e1dh +dd 0832196b2h +dd 0f1f970bbh +dd 034f20479h +dd 051d2a45bh +dd 051ded5b3h +dd 0ec3c72e6h +dd 0f77676b6h +dd 0614c0fb6h +dd 0a885e161h +dd 003e04c8bh +dd 074441fd4h +dd 000bd5c41h +dd 0ab5b34d3h +dd 0a679dec8h +dd 063361b22h +dd 0a65f5964h +dd 01c29ec53h +dd 09e396785h +dd 0be5eafb9h +dd 065e0d97bh +dd 0ce6ef8fdh +dd 00d52ccebh +dd 0a6b628d6h +dd 0cdf569d0h +dd 0164656b7h +dd 07fd9025bh +dd 0a930dc28h +dd 0a8c5ce81h +dd 0a38d2169h +dd 0515c42dch +dd 0ed440059h +dd 041ed16fdh +dd 0caba5bd5h +dd 0ab6ec332h +dd 04698644ah +dd 0f8c9e6cdh +dd 0b95e0c7ah +dd 0ec4516c6h +dd 0ccfaddach +dd 02f8787f2h +dd 0ac7555beh +dd 09cab3b76h +dd 0d46918edh +dd 0604925d2h +dd 0a62eae97h +dd 080190365h +dd 0af5733c0h +dd 06b34264fh +dd 0dc69db7bh +dd 0ae6402b4h +dd 0adddf29ah +dd 04506e645h +dd 0ad6833a2h +dd 0d513728ch +dd 0dc4a0cb1h +dd 028996b35h +dd 08f5ef134h +dd 042bcf321h +dd 0a64a9f51h +dd 0300d4bdbh +dd 097c6c5b0h +dd 0ea9140bbh +dd 00a85ce54h +dd 0c2b3d699h +dd 09927a918h +dd 0a3827c04h +dd 084851f74h +dd 0f417c0b6h +dd 02bb19b21h +dd 0f7c353f7h +dd 0560fec03h +dd 08554e411h +dd 05ea18a29h +dd 05bef52dfh +dd 0f15cad21h +dd 046e5c182h +dd 07883ae5eh +dd 0bf657318h +dd 0bf2382c1h +dd 065ad2951h +dd 0f88c26c9h +dd 0fd88bbf9h +dd 0c3d285afh +dd 0e1dd18cah +dd 03d81dddeh +dd 017cb68c4h +dd 005220afah +dd 04da91a82h +dd 0009582b4h +dd 036b59761h +dd 0156ba7ach +dd 0a21cb9e2h +dd 086badeeeh +dd 04f0ad9f6h +dd 0e8add5eeh +dd 0034812bch +dd 057733282h +dd 083e70991h +dd 02fd9be21h +dd 00c7f985ah +dd 084b8dc96h +dd 0e083f8e1h +dd 0babfc983h +dd 06677525dh +dd 065f5eae5h +dd 051bfae6eh +dd 0cc9f5e85h +dd 0b0085c6eh +dd 07da015ddh +dd 01ef104efh +dd 090579499h +dd 0a7405d00h +dd 0333790e9h +dd 0123a50b4h +dd 0858b1262h +dd 025a2e414h +dd 0d023e3e8h +dd 0d60a4f74h +dd 098c6f467h +dd 031189d46h +dd 032b60e31h +dd 0f7fd6c3bh +dd 05f31485ah +dd 01c9c02e4h +dd 09bcfb68ch +dd 025bc272bh +dd 086afd32fh +dd 057491bf9h +dd 07221d222h +dd 01f581925h +dd 075bb6051h +dd 0522a3647h +dd 00907d29bh +dd 047eebcc3h +dd 0a2db52a2h +dd 0accbceceh +dd 005c06c93h +dd 062cb547dh +dd 0a2ec5843h +dd 071242e82h +dd 0f3ab7e34h +dd 0c90a0832h +dd 0f6866850h +dd 08de942afh +dd 067cfeea3h +dd 00056639bh +dd 0b36dd322h +dd 041e939aeh +dd 0cf9287b3h +dd 0b20952b0h +dd 069cf8368h +dd 0412ac5c6h +dd 0acfb6ecfh +dd 0391677a2h +dd 0c9312ad7h +dd 043444956h +dd 090b7e9d6h +dd 04eddc7b8h +dd 0a6539a1ch +dd 02a41860eh +dd 0eb4ff473h +dd 0a2389b9ah +dd 09889636eh +dd 07435206fh +dd 0aede8085h +dd 004536c96h +dd 0606d46bch +dd 052bb8e9fh +dd 0fec29d6eh +dd 034769c31h +dd 0d04685cah +dd 0ddc8d4c0h +dd 026490345h +dd 0480c9eafh +dd 06f2d5ca2h +dd 0c6123f57h +dd 080e38c6ah +dd 0a95d8268h +dd 055e1b92bh +dd 046145d26h +dd 0096d872fh +dd 0900a1491h +dd 01529836ch +dd 0e463e476h +dd 015c2021bh +dd 09d288cd2h +dd 08dfbfadfh +dd 0d5960223h +dd 0032b586eh +dd 0e20ea5c6h +dd 094052bf6h +dd 096da9460h +dd 01e4cb6b1h +dd 0aaa4a892h +dd 00a16c900h +dd 091ac0215h +dd 0ef26ea3ah +dd 0c9dc794ah +dd 06ac03f2bh +dd 0c3e00e16h +dd 02976ad74h +dd 038e130e0h +dd 0eb997cf6h +dd 06f4aee8dh +dd 00b708b85h +dd 0209b33d2h +dd 0c768ae69h +dd 0ae3ba1f0h +dd 0b859cc32h +dd 0b600e690h +dd 04c1308e1h +dd 0590c4da9h +dd 0d02597ffh +dd 08eba69c9h +dd 040e18936h +dd 03531778ah +dd 0c3d47570h +dd 05da9f000h +dd 024f2e299h +dd 0b597226ch +dd 036025a3fh +dd 0e22331c2h +dd 0267bc24ch +dd 030dc7d69h +dd 07b3473beh +dd 067e77b7fh +dd 01206d535h +dd 0f6ab4b60h +dd 0f779bb40h +dd 035fece96h +dd 0d4515942h +dd 017f422ebh +dd 0deb293f7h +dd 0f0ad950dh +dd 0c312ec47h +dd 03498c97bh +dd 02c3fa191h +dd 0f542ba18h +dd 0cc83aaa1h +dd 0f9cbabdbh +dd 0b5555905h +dd 071217a8ch +dd 053a49988h +dd 0035f73e5h +dd 0ab2617e4h +dd 081051804h +dd 07b30e68bh +dd 0fb1c5a58h +dd 0191ec72fh +dd 0460982eah +dd 07915dfb7h +dd 07d9d6b22h +dd 083f797adh +dd 066f4935bh +dd 05ac87643h +dd 051568186h +dd 081a14b2dh +dd 0e5c79982h +dd 01fc82fdah +dd 04cdec3d5h +dd 07d22ebeah +dd 03989860bh +dd 0a1a53865h +dd 0b8530a8bh +dd 0cd9377d5h +dd 0e29b59f6h +dd 0766a751bh +dd 0bab3eb8bh +dd 0ebcea517h +dd 0c89d774fh +dd 006a0747eh +dd 0d30fc045h +dd 076f6539dh +dd 033431f42h +dd 096cc6705h +dd 0757f978bh +dd 0b194cf67h +dd 0324fc3deh +dd 0046df3cfh +dd 0bd7a4d52h +dd 065654216h +dd 0aaba34dah +dd 0ccc0cd45h +dd 057c6e009h +dd 06c92399dh +dd 07b033d8dh +dd 08b421319h +dd 07516b7d0h +dd 0f7b27050h +dd 0dc29030bh +dd 0d5cd21bch +dd 0d2506aa6h +dd 050e4b5ach +dd 005325e84h +dd 029a6c783h +dd 00805a892h +dd 040b186c3h +dd 0a85ac05dh +dd 00af87e8fh +dd 0688bfeeah +dd 010e2da2bh +dd 068097dd3h +dd 01d996e9eh +dd 0ce9f230ch +dd 0376484f0h +dd 01a3780f3h +dd 048158b42h +dd 093dc61beh +dd 0b8de85d0h +dd 026a7cc11h +dd 087bf6ecdh +dd 0375c8b77h +dd 0dba1f71dh +dd 0cf45c101h +dd 0f26741a6h +dd 00de737b4h +dd 0c6b16dc3h +dd 0673f67a4h +dd 0310c3528h +dd 0bc3f1758h +dd 03b540177h +dd 0e9649d9ch +dd 0f10c49beh +dd 0b13686b4h +dd 0a7b61f6fh +dd 02509d76ah +dd 08ebeb8deh +dd 032fac89eh +dd 0482ce625h +dd 0348b4ee8h +dd 0b9995d20h +dd 01e758e8eh +dd 0be6c2152h +dd 0f53e6242h +dd 0c40895c7h +dd 0a84746ddh +dd 0db01e6bfh +dd 06e9ad667h +dd 05e7d5411h +dd 00d168b79h +dd 0a45297dbh +dd 0e9f9c30ah +dd 0fff40477h +dd 087ca33feh +dd 0a91ddb2fh +dd 079491a9ch +dd 0b250cbb4h +dd 0ff9b372ch +dd 0c815d17ch +dd 02e570c28h +dd 01f5d87a4h +dd 03c924e31h +dd 0732de938h +dd 0807da2c5h +dd 067797a5bh +dd 0b2c1a532h +dd 0a0362193h +dd 05f8e8609h +dd 0497b36fbh +dd 0cb9008c8h +dd 0aa6930cbh +dd 0cf3d83aah +dd 0fa8cec5ch +dd 00185591ah +dd 0613f2ca6h +dd 0c015ec1fh +dd 0f5938795h +dd 02e40dd4bh +dd 08725bb14h +dd 0656a0085h +dd 0035844d5h +dd 0dfbdca98h +dd 051046aa8h +dd 0e4b5ea52h +dd 0fb18fbc1h +dd 0404d9310h +dd 0fe90cc50h +dd 04b9f7883h +dd 0992d7df6h +dd 00adc527bh +dd 04886b482h +dd 04f379a20h +dd 081459abah +dd 0940d67c7h +dd 0ea9a82f6h +dd 0e5b120dch +dd 002b770f4h +dd 0961e2c7dh +dd 0c5d3c4c1h +dd 0d7598eb2h +dd 09f770372h +dd 0a4dc5321h +dd 00efdfc09h +dd 003926cc5h +dd 00fd089afh +dd 05ef45e2bh +dd 0f682766bh +dd 0d0d43178h +dd 0262a6fd5h +dd 064a78c25h +dd 04a420b90h +dd 0364ef3a6h +dd 07ed957a7h +dd 021bc6e88h +dd 049b2e85ah +dd 039eac168h +dd 077513c71h +dd 0cd98754ch +dd 0aa30f1d2h +dd 040849e2bh +dd 0d8e74f87h +dd 066502bbbh +dd 09ee0cc7ch +dd 062da98b1h +dd 0b9bf2c96h +dd 071e1c883h +dd 007045299h +dd 05b4aa696h +dd 0d207503fh +dd 0e8ffe1cch +dd 03885bc25h +dd 09aab0a0fh +dd 0190235b5h +dd 00cdefdbdh +dd 069a28466h +dd 0808235beh +dd 09668cbc6h +dd 0aada6a00h +dd 0fb3b1354h +dd 0213ad571h +dd 00356f9c5h +dd 0a8bc7ab7h +dd 02d35af70h +dd 0d5632129h +dd 0f150cc89h +dd 07300a256h +dd 0a4a5934fh +dd 0e7c44f61h +dd 0ada6902dh +dd 01f5e41fbh +dd 0df10f94bh +dd 0d54b1554h +dd 052c76f4fh +dd 059c1db08h +dd 0e5e9f0ffh +dd 0b04d0c75h +dd 098b0086ch +dd 0ef40c4b6h +dd 053ebfa93h +dd 03f6ede46h +dd 0d00043d1h +dd 06039dcbdh +dd 0de89b377h +dd 0f1a013d6h +dd 085913f53h +dd 057c131c1h +dd 05258cb7ah +dd 0aad557fch +dd 0cf45d6d8h +dd 0effacbd5h +dd 0ded92a4ah +dd 014ec59fbh +dd 0695143efh +dd 017d71c73h +dd 0b055e808h +dd 06f01528ch +dd 076de216ah +dd 0f998e1d8h +dd 0f339f7e7h +dd 0bd168dbeh +dd 06101ae2ah +dd 0d191d91dh +dd 0259cf59eh +dd 09be37f60h +dd 0f1ad36d0h +dd 02af26f52h +dd 02d2f4549h +dd 07087dc6fh +dd 00ea1baefh +dd 0fa0a4feah +dd 0850c38d0h +dd 08de7d5ebh +dd 0d5d05110h +dd 0f0f8cbbdh +dd 00899a08bh +dd 04d03975fh +dd 0c8789691h +dd 0d22c720ah +dd 0d3d8549ah +dd 0288336bah +dd 0da0d1f1bh +dd 08f5ee30eh +dd 07c5f509eh +dd 0a2748e50h +dd 0f849681eh +dd 0fc3f4a74h +dd 04df4f8a0h +dd 0acd335feh +dd 0b3b588a4h +dd 08fa39d5ch +dd 0da24f80fh +dd 0724f9271h +dd 08ef7a2d8h +dd 099f23ccch +dd 0c8b21d6bh +dd 061c88a80h +dd 0a5d3e54dh +dd 0d8557391h +dd 020d082f4h +dd 0ae142a83h +dd 0aea24acdh +dd 0b43f9b74h +dd 0483ec377h +dd 0bc8becafh +dd 03a2e9253h +dd 075fd03b8h +dd 0df164596h +dd 0a13c0071h +dd 0f976fd93h +dd 073024f3bh +dd 0c85ced8fh +dd 026b053e4h +dd 0bdb338edh +dd 0ac93e3d3h +dd 034443047h +dd 0e01289c5h +dd 03016ba54h +dd 0ccf83d72h +dd 00bcbf189h +dd 0bd4d69d5h +dd 0ad6cb641h +dd 04b39f0b2h +dd 0f22bcd5dh +dd 0bfc92bb1h +dd 0f397ba84h +dd 0f7c9b735h +dd 06c5e10a3h +dd 0c9888971h +dd 0a1c92937h +dd 0d3ee4c77h +dd 01c123008h +dd 0cce40b37h +dd 0f413887dh +dd 04d2be7eah +dd 0a1e1e96dh +dd 0347845c0h +dd 055dbdec3h +dd 078ef4743h +dd 09a696045h +dd 07623f16fh +dd 058718d89h +dd 0a1e6e95ch +dd 05ae4a2afh +dd 0f74c1b11h +dd 0670caea3h +dd 0326565b5h +dd 0119fe146h +dd 0b20c108ch +dd 0ab5d9aaah +dd 016a6ada9h +dd 039757242h +dd 0d9e596efh +dd 05f3ac50eh +dd 071eee011h +dd 06ca67041h +dd 0d5e33ecah +dd 05b0b50c5h +dd 0e82382bah +dd 04d6c9cddh +dd 02e502443h +dd 0d91f2050h +dd 04a93ffe5h +dd 0bdcaae1bh +dd 0acea771dh +dd 05145077dh +dd 063d1f820h +dd 0cfdf1dbah +dd 0ec38826eh +dd 0782e79c8h +dd 06e634e22h +dd 0bffe30bbh +dd 029deaf36h +dd 07ec506dch +dd 029e9ca12h +dd 0ced9dac1h +dd 03d29f964h +dd 0a4f6617fh +dd 0361f3960h +dd 02dde6bb7h +dd 015e3199ah +dd 05e0f480fh +dd 025676e7bh +dd 0b79c90e0h +dd 0f8a64f69h +dd 047c5a8abh +dd 0d11c5740h +dd 0b9fada84h +dd 032da32b6h +dd 0611d6980h +dd 06feac6d5h +dd 018cdbb7fh +dd 02db26c74h +dd 09bc9a85eh +dd 0a7561f6fh +dd 0b77cfc4ah +dd 0a87a99d2h +dd 0e1cdedfch +dd 0d37356beh +dd 098aed486h +dd 0c83de47dh +dd 000d83530h +dd 0ba9090a6h +dd 00fa27234h +dd 0136d6ebch +dd 01826417bh +dd 03c847bb2h +dd 0b5c9006ch +dd 0a3be2ae8h +dd 0e297af02h +dd 00f068db0h +dd 01e9f32d2h +dd 0522d7c43h +dd 0f78562cah +dd 0197bbee2h +dd 0b32293dbh +dd 0b67e3126h +dd 06da94c6fh +dd 08135deb2h +dd 099abf209h +dd 0d9afa60bh +dd 0c57a0afeh +dd 0afd8305ch +dd 097da8bf8h +dd 090b140bch +dd 03f0fa92ch +dd 0227cc533h +dd 06827afdeh +dd 09a41d91bh +dd 03f28b07fh +dd 000a5a705h +dd 070a5f013h +dd 06b5ed56ch +dd 008f9d711h +dd 002bffd7dh +dd 06683bcd5h +dd 09464e781h +dd 04bb1aea7h +dd 0fc766b76h +dd 08804be07h +dd 051afbe80h +dd 096935e38h +dd 0d20a27ebh +dd 02ee4a55bh +dd 02a752f42h +dd 0027b2ab1h +dd 07e6d762eh +dd 06aca0272h +dd 06d7f0087h +dd 0022f9947h +dd 0937e3e37h +dd 06b50a87ch +dd 01d29a201h +dd 033806da3h +dd 00c5d303bh +dd 0df64542fh +dd 085b744e7h +dd 082dc75d3h +dd 0ea2ee27bh +dd 0fb7ac343h +dd 020f56bc6h +dd 0f85bef1bh +dd 0b8b76830h +dd 0b5e39128h +dd 0258584d4h +dd 076d99273h +dd 0fccd0a36h +dd 00d6bbe81h +dd 0aa579b84h +dd 0bca0e433h +dd 077567ff6h +dd 015cb268ch +dd 05172e0b2h +dd 06e20bfb1h +dd 007d474a6h +dd 0d7ef0009h +dd 03f741d0ah +dd 0ff0f8c71h +dd 082898805h +dd 0b6fe990bh +dd 00c3e77eah +dd 0e72ff50dh +dd 0d7cb9cc1h +dd 04633a8ebh +dd 06074492ah +dd 05bd5321ch +dd 0c1408adeh +dd 02ada3df0h +dd 08cda257bh +dd 068431304h +dd 05d7f1d71h +dd 003d51de6h +dd 0291e3aa7h +dd 073ece28ch +dd 04353ccf7h +dd 0b707739dh +dd 0bdc0f67ah +dd 02d22cfd6h +dd 0b505e903h +dd 04f52bc88h +dd 0ef5f4544h +dd 01ab64f14h +dd 0b1b93bb5h +dd 05552eb2bh +dd 0b19c81efh +dd 07853d391h +dd 01b86cb71h +dd 0cb1cc4a8h +dd 0be8a1e35h +dd 0959b1040h +dd 035fce711h +dd 091703707h +dd 070782476h +dd 071bbe4c4h +dd 04c59e7c3h +dd 00c4f43eeh +dd 02e2f3d69h +dd 0d08744d0h +dd 0062f6fa6h +dd 0429e15d6h +dd 0727ca895h +dd 02a7535edh +dd 06ece3429h +dd 055da9315h +dd 09a337c7fh +dd 08694bee9h +dd 0adfc5059h +dd 0079c8e38h +dd 0f9534978h +dd 0476dc9d6h +dd 07e1f4780h +dd 04c3ff73eh +dd 0c024b183h +dd 0fe91e768h +dd 0ce4e00e1h +dd 0c634c065h +dd 0b2da730ch +dd 0362403b2h +dd 0fc684c19h +dd 0872468e9h +dd 028466d07h +dd 087b82068h +dd 0d6d44302h +dd 018f720a0h +dd 09d904745h +dd 010822c83h +dd 07de6c699h +dd 070bd7b9ch +dd 0cce6bf21h +dd 0bb623457h +dd 07041f75ah +dd 07fc84da7h +dd 09dab8a65h +dd 00aa9c2beh +dd 0920ab500h +dd 01d671ff2h +dd 084ea70dch +dd 0cd6eae8bh +dd 047418602h +dd 092a064a3h +dd 0dd87bd73h +dd 0048f9299h +dd 0e495f33fh +dd 06ca24461h +dd 0713b9fd2h +dd 00755c126h +dd 03cfd38e7h +dd 0d5f56f97h +dd 05f7ccbdeh +dd 085932b76h +dd 0f36276c6h +dd 060cafb8fh +dd 0eded3ea0h +dd 04b844e64h +dd 0a7e8e7e3h +dd 0c512588eh +dd 0b4f81eb7h +dd 008554a24h +dd 078ee7464h +dd 096cb0c8fh +dd 0e951fcefh +dd 0aa5e9ee1h +dd 05afa4299h +dd 0c1e05b42h +dd 09031f980h +dd 01366e815h +dd 0c9366074h +dd 06ac444beh +dd 0524964aah +dd 0cb4a5f06h +dd 0939c5c30h +dd 060accb38h +dd 090df75c6h +dd 01c4016a2h +dd 0aba8757bh +dd 0cc60b297h +dd 0b356fe14h +dd 01e4a6871h +dd 05e837e34h +dd 0fcf54ceah +dd 03f5a5b7dh +dd 0e0e6adbdh +dd 089f7f2ceh +dd 03e568d53h +dd 08772f1cah +dd 0f4fc9370h +dd 027d3fda0h +dd 07e5b9855h +dd 0aa645f67h +dd 002fa3a5fh +dd 011a8eed8h +dd 02ceae0d3h +dd 08f380191h +dd 02556ea86h +dd 0e062dfb3h +dd 0ac82e32ah +dd 0db01b743h +dd 0d36fa59fh +dd 017d29dcbh +dd 0054d0e00h +dd 0ff3a5e7fh +dd 026f7c4b5h +dd 00bd52223h +dd 0e5b66fd5h +dd 0211be7bch +dd 09f923c3bh +dd 07714640fh +dd 07463621ah +dd 066ad55bfh +dd 0a75c7ca7h +dd 0bf0d1379h +dd 04ddf14e6h +dd 0b6b6fff9h +dd 0f3413b6ch +dd 0ea0b4b57h +dd 0ae761b10h +dd 046a68acdh +dd 02f999e6ah +dd 0331c7e6dh +dd 01d06ae2ch +dd 0bf38e692h +dd 0f579eb01h +dd 03ac8663fh +dd 0deab8b3fh +dd 02e1a1b81h +dd 0236861e7h +dd 045508189h +dd 02c494004h +dd 0e1d93c4bh +dd 08e6311feh +dd 0cbd5b164h +dd 022afe467h +dd 09097b998h +dd 0efeed6d7h +dd 02a6c7aa1h +dd 00a265daeh +dd 0e6511bc9h +dd 02b205aach +dd 014041f97h +dd 0c8088e8eh +dd 08b8de7f7h +dd 0a129d571h +dd 013592cach +dd 07f2540e8h +dd 076791f81h +dd 07ea15fd4h +dd 0e6fa7cfch +dd 0fa2ed932h +dd 02d2839fch +dd 02505304ah +dd 0aa783bf4h +dd 09b258dfbh +dd 05da1d662h +dd 0f5bcf30dh +dd 06094b103h +dd 08d8c290eh +dd 0c76ff042h +dd 00cafb7b0h +dd 05a3d3170h +dd 0ab3e872ch +dd 0c0ce9a0eh +dd 09717421ch +dd 0766f49bdh +dd 02a639f01h +dd 0784492c9h +dd 041866b94h +dd 06b6abc38h +dd 0b9a6e8c1h +dd 04988d769h +dd 05fe0a18ah +dd 09e839380h +dd 06a62443eh +dd 0c741fb8bh +dd 042c9c711h +dd 020b946d7h +dd 07a5236bah +dd 044536ea0h +dd 051bcd9cbh +dd 025af3c6eh +dd 0909beef8h +dd 02ef7f473h +dd 08c8ca4a7h +dd 0ebd61131h +dd 0b70fe506h +dd 0d1b5c68bh +dd 021c3cc08h +dd 061baa5bah +dd 0d3639883h +dd 0d5a04383h +dd 0966d4fe4h +dd 0cde6ae88h +dd 074cf825ch +dd 0cce49eedh +dd 06269ccf7h +dd 0ca8904b5h +dd 089ddf3a2h +dd 0a7b07477h +dd 0b499ace8h +dd 0811865aeh +dd 0e97f48c3h +dd 021bff417h +dd 04bea195ch +dd 028e4230ch +dd 06383efc1h +dd 016841488h +dd 052814e85h +dd 05a9f8d48h +dd 0a6aad856h +dd 0a2f23f8bh +dd 0042caffbh +dd 056ac9024h +dd 0b7ba7875h +dd 09c6756c3h +dd 0ab2e1c48h +dd 0e4dfdc11h +dd 08ffbf55ch +dd 037b0bf55h +dd 0bc477dc5h +dd 0d4d6264bh +dd 0f881b2d9h +dd 0fb5a795bh +dd 09423f0beh +dd 002298928h +dd 099143017h +dd 018e50acch +dd 0c547f6bch +dd 02cde340eh +dd 021c8c688h +dd 0e3f23fe7h +dd 02a940bbbh +dd 0b8808acch +dd 035608956h +dd 03035ccd2h +dd 0042af290h +dd 00ff57911h +dd 0dbacef2bh +dd 017c97826h +dd 0998f92ach +dd 00a3bc823h +dd 07f2dd5e2h +dd 04295b86dh +dd 053d85fddh +dd 0661cd92ah +dd 028920bb2h +dd 0c1dbbe87h +dd 0be00cf56h +dd 0c2346dbbh +dd 056b041c8h +dd 0221c8ff5h +dd 027932b31h +dd 04a5b5dceh +dd 0612a2428h +dd 0aeb2c5e1h +dd 08cc1021eh +dd 0af2f8ab2h +dd 0cc9cce9eh +dd 0759a1d25h +dd 09dc23aafh +dd 0341b76fdh +dd 01decb07eh +dd 01f4a40d1h +dd 08b01c33fh +dd 0adca4a20h +dd 08e91d894h +dd 0d1501395h +dd 0f3db2409h +dd 0ce3c8549h +dd 02006ed60h +dd 0075ecb26h +dd 03bdbf18ah +dd 0ca2cf5ffh +dd 0ca000f80h +dd 0e001d525h +dd 08c4fd953h +dd 05aed2893h +dd 040ee18b0h +dd 023b9322ah +dd 0f0729b04h +dd 04fb68594h +dd 0d32dfd1bh +dd 03dc56c4bh +dd 04b9688f5h +dd 0ce18a20ah +dd 081e2156eh +dd 04e929f58h +dd 01cd46062h +dd 0274f8041h +dd 0d39312c9h +dd 028070124h +dd 0d0c780b1h +dd 076f85d2eh +dd 0bc99c476h +dd 0d2d17cf8h +dd 0938152adh +dd 06e6ef5ceh +dd 035417b83h +dd 07b29c277h +dd 04c9737a6h +dd 0a7f784d5h +dd 065e9262dh +dd 0c1e5116eh +dd 002800548h +dd 0096a2c13h +dd 09c44a919h +dd 0a138b649h +dd 02934135ah +dd 008b9dd9bh +dd 072947f78h +dd 04a4e2a1ch +dd 049fc6e16h +dd 08bf2f957h +dd 0ce084fe9h +dd 042480217h +dd 0c4a76733h +dd 016a36082h +dd 0ece00ec4h +dd 0c44e9774h +dd 09e20d278h +dd 056891cf5h +dd 081330043h +dd 0da6cae22h +dd 02610c7bch +dd 0cc81352ch +dd 0661258dfh +dd 0c4704335h +dd 084fd8a2ah +dd 06606a298h +dd 065b59a91h +dd 0214f938eh +dd 09eb80400h +dd 030635e01h +dd 016969baeh +dd 0da0cbbe4h +dd 0855481fah +dd 072980dd6h +dd 004e7d641h +dd 050032430h +dd 0ada76b42h +dd 0aa3b4f5dh +dd 0b62465bdh +dd 06642886eh +dd 0cd38945fh +dd 0c8318a8dh +dd 01dab3593h +dd 04b96f24ch +dd 0baecd4d9h +dd 02f3f65dah +dd 064394b4ah +dd 087694234h +dd 0dd32106ah +dd 025ba1e24h +dd 002b485f6h +dd 087aaf904h +dd 07015d391h +dd 090fe27cch +dd 0315095eah +dd 0b60d9596h +dd 0dcf37a1ah +dd 00154b8a5h +dd 0f136ef1eh +dd 04a0f5119h +dd 0fa860245h +dd 038b1573eh +dd 02165223dh +dd 0fd0fdd04h +dd 030e0631bh +dd 0a3d1fc2dh +dd 04f62c185h +dd 010f3f5fdh +dd 043084a50h +dd 0b1721440h +dd 02bb5fe5bh +dd 06d9fc5bfh +dd 06283e266h +dd 0d1eba0b4h +dd 04488a0e6h +dd 0751f6e00h +dd 06a9c09a2h +dd 03cf41721h +dd 07b262339h +dd 0e2138505h +dd 0a261df9eh +dd 04daac0ebh +dd 05cd02090h +dd 08f8df3f6h +dd 076440763h +dd 0a116b9fdh +dd 0e0b5ec74h +dd 0bb295c34h +dd 08f6cc7d4h +dd 0579303cah +dd 063e74814h +dd 0e59b4d7ah +dd 04ad98272h +dd 04b250efbh +dd 0e3c2d972h +dd 0964001beh +dd 015190826h +dd 0ec5f4c81h +dd 0c2654b1ch +dd 01d8f2424h +dd 0e58b8531h +dd 0e2f6cc72h +dd 0d23c2a36h +dd 0524f25a0h +dd 0aa4616a5h +dd 0936528b4h +dd 0985acc79h +dd 07043f5a7h +dd 051e5a4d4h +dd 08dafab5dh +dd 0a851f6f0h +dd 05ca8ef9dh +dd 09f74e06fh +dd 00aba78e3h +dd 093451ffdh +dd 03d271ce4h +dd 01c7305e0h +dd 0544e4544h +dd 0b0a84850h +dd 021341a2ch +dd 01b7f4e4fh +dd 020c90894h +dd 0063a620ah +dd 0dbf4f5d6h +dd 090ddb924h +dd 0b0f23a93h +dd 0a94c3b87h +dd 0689075f3h +dd 0705dd13fh +dd 06b4bb4b2h +dd 0d80fbca9h +dd 0e4260be2h +dd 023b9b1bdh +dd 0ad0d525eh +dd 0d7a436f9h +dd 0558eacbch +dd 07c3b0307h +dd 0ad8052edh +dd 09cb3051bh +dd 027a6cdb0h +dd 005973318h +dd 0e9eb262ah +dd 0eaa3a5f4h +dd 0879701b4h +dd 0d3764759h +dd 0cb52d2b3h +dd 0d8f29fb0h +dd 03fce8996h +dd 0a01d9c9dh +dd 0845f3538h +dd 08dabfb19h +dd 0f6f7a36eh +dd 08a0f47d7h +dd 0ddced69fh +dd 04328ecc7h +dd 098bfa309h +dd 0e9753e27h +dd 08f19faafh +dd 0b829edabh +dd 07a4db927h +dd 0545838dfh +dd 0aa487d57h +dd 05685915ah +dd 087104e99h +dd 06a878e4dh +dd 09c5f4545h +dd 016f5103eh +dd 033566910h +dd 0a8f497c1h +dd 044ea9456h +dd 08816d962h +dd 07a7d0f61h +dd 07633e760h +dd 00a06f30ch +dd 07d8dc05bh +dd 08d697f15h +dd 097d0ac9ch +dd 07e5d4a06h +dd 03064ba79h +dd 0090e5546h +dd 032a4d5cfh +dd 05e11dde9h +dd 04d469a85h +dd 041e64652h +dd 027aee485h +dd 07347c9bdh +dd 0842be331h +dd 05c1d6f60h +dd 027e107b6h +dd 0e6783f92h +dd 02010ce22h +dd 034f2cc52h +dd 03e8e4a42h +dd 06ab6a732h +dd 0fea8e2cah +dd 0f0ef0f3bh +dd 03ed411d5h +dd 05a7a3070h +dd 0e5f7565dh +dd 0457981d4h +dd 0822718ffh +dd 03c13e912h +dd 01c22ed5fh +dd 0330f8dc8h +dd 0ac862123h +dd 0df02ca1ch +dd 0d113c67fh +dd 0f73b5b7bh +dd 01c60f030h +dd 0d1d56b16h +dd 094c8d35dh +dd 0699d6d7ch +dd 04c1f8251h +dd 05bbac4eah +dd 09e963c2dh +dd 0233efc97h +dd 0c7e52de5h +dd 023dafe41h +dd 0afd4fafdh +dd 030e3a3a9h +dd 0302bd202h +dd 046d0ebcdh +dd 073ce1909h +dd 022f40f51h +dd 06fa3f679h +dd 074914380h +dd 00c85ad2bh +dd 032877d88h +dd 0df2e779bh +dd 044a1c10ch +dd 091c25de2h +dd 0cd4d66fbh +dd 012d4e806h +dd 045bc3a7ah +dd 0b16992edh +dd 070c3f495h +dd 06d26fd86h +dd 0603f2f18h +dd 0ed081d11h +dd 0bc41a632h +dd 08d4ffe86h +dd 002607bd2h +dd 08f8df73ah +dd 0a8ee60ffh +dd 01f973cd9h +dd 0576eea6dh +dd 0812ba192h +dd 0140fdf83h +dd 0ab398c95h +dd 022fc9848h +dd 03ffa96dfh +dd 0b97e55b9h +dd 0cc068cb5h +dd 09632bf23h +dd 0a2e894b3h +dd 0cc91d984h +dd 08a5d879eh +dd 054d2946ah +dd 0e92e9f43h +dd 02a210642h +dd 03f31399bh +dd 066321e0ch +dd 0b714a6a2h +dd 036ed5b3fh +dd 091e55ddfh +dd 08b92ed5eh +dd 06460c308h +dd 0f907a85ah +dd 013f41672h +dd 0ebae9c60h +dd 0c15dac56h +dd 0fb75a64eh +dd 0cdad5d25h +dd 043b5fa81h +dd 03ab2ae49h +dd 0beadfd9fh +dd 065ac7e58h +dd 07b90852dh +dd 03372b397h +dd 08fb4d1cbh +dd 03e794c2bh +dd 0250adb21h +dd 0a921e4cfh +dd 03c024b0eh +dd 0a887ae23h +dd 09da6a48ah +dd 09b1a60f7h +dd 063ea904fh +dd 0587b1a0dh +dd 046b3c6cbh +dd 025d3e6bah +dd 08b766f57h +dd 079eeeb92h +dd 002621110h +dd 055a2b2b2h +dd 080d46858h +dd 019df2424h +dd 02b157cc7h +dd 08283015dh +dd 0983c2248h +dd 011c06f54h +dd 0ecceeffdh +dd 0e2411822h +dd 02b5ff1e7h +dd 0e0819bceh +dd 0978cbcc8h +dd 066411376h +dd 07ca95220h +dd 08c898519h +dd 027eddb9ah +dd 0d673b654h +dd 033755496h +dd 0f56c13b5h +dd 05a073d1dh +dd 00764ac8ah +dd 0623d31d9h +dd 00a2f4899h +dd 034fec39eh +dd 0c080dd94h +dd 0571cde56h +dd 0c2d06226h +dd 09573ccf0h +dd 05ba8ceeeh +dd 0afeec2a5h +dd 0c28889a3h +dd 00403cfeah +dd 0d6e92702h +dd 06a53576eh +dd 0e5124300h +dd 0cec14319h +dd 040a86456h +dd 082330e73h +dd 00fad0499h +dd 07c049bc9h +dd 0d3a4cfb2h +dd 0c67e6051h +dd 0af446228h +dd 03278e5fbh +dd 09f523acah +dd 00bc37ee4h +dd 0dc5fabfbh +dd 0cf3fc80bh +dd 0aaa025d7h +dd 06dbd3a53h +dd 0797aab3ah +dd 0958c0a3fh +dd 0abd9f8f1h +dd 064277e94h +dd 0cd1b93cbh +dd 043839048h +dd 0e3f5d510h +dd 06901eb98h +dd 0c957fddch +dd 0b0c12a21h +dd 0c3beda18h +dd 08719e663h +dd 0b410a386h +dd 01e72c84fh +dd 03607c207h +dd 01a61c441h +dd 0aec9fea4h +dd 049a41c42h +dd 0366f7965h +dd 0f90805f8h +dd 0796af8e2h +dd 0e0355b1bh +dd 04f57296fh +dd 0abdaeb55h +dd 00fa51e14h +dd 046045566h +dd 0402a7eb0h +dd 035ed7db3h +dd 0251a82ech +dd 039933f4dh +dd 0a0a71738h +dd 0c3268d0dh +dd 0acd9facah +dd 06f8076e5h +dd 0dbc1d293h +dd 087f5add8h +dd 08928a31dh +dd 0fb8de040h +dd 0d9defee0h +dd 05144c762h +dd 06049b567h +dd 0a7529bc7h +dd 0142252e8h +dd 0309aaa79h +dd 0bbd1ac20h +dd 0f60dcff3h +dd 05fe4c76dh +dd 0311ce4dbh +dd 08e1d13ddh +dd 067093fd5h +dd 0016403d8h +dd 054ddb6cdh +dd 02fc849ach +dd 03a8f7cebh +dd 03d5185f1h +dd 040f9090eh +dd 0c076e89ah +dd 04af23423h +dd 018b664fah +dd 013e938f0h +dd 0021fe954h +dd 0819987d5h +dd 08857555fh +dd 08735c21dh +dd 034d03312h +dd 05413202ah +dd 0e64f1b50h +dd 07da82e3ah +dd 08ba0e14bh +dd 05612e1edh +dd 0b6e51e63h +dd 0e5fcd226h +dd 09c893085h +dd 03b22fff9h +dd 02f51e328h +dd 05d274e6bh +dd 067e49c65h +dd 0882238d6h +dd 0b10d53fdh +dd 0c00f577dh +dd 053be4b67h +dd 040ed23f8h +dd 068baeb68h +dd 0b01f9ec6h +dd 0a53ea71eh +dd 09872b4beh +dd 0ff403ca3h +dd 0e0f8b63fh +dd 0a1beea3eh +dd 07b6fd0c6h +dd 039f49339h +dd 00d448d50h +dd 03cb8437ah +dd 081a4d0d0h +dd 08a468107h +dd 09c4888ebh +dd 096067316h +dd 02f5e5a81h +dd 0aa28223ah +dd 05ab620edh +dd 00ad19e95h +dd 0ef5da960h +dd 0de89c144h +dd 07affc7dfh +dd 0676025d8h +dd 0db1de501h +dd 0129f13b3h +dd 092db04feh +dd 02f85b414h +dd 0748593f2h +dd 046b09d79h +dd 0e121e62fh +dd 08d312928h +dd 0eca5aad3h +dd 0fc724ab4h +dd 00d55afbfh +dd 0303ed026h +dd 0429ff649h +dd 00f1f371dh +dd 00424fb0fh +dd 09283a43dh +dd 015790065h +dd 05eb2fb6ch +dd 002bbc834h +dd 0dc31d225h +dd 0eb3ca5b7h +dd 04d4196dbh +dd 066f4588ch +dd 05a57a1beh +dd 0f49dff7eh +dd 04fdd599eh +dd 072963770h +dd 0bc551a77h +dd 0b700de5fh +dd 05da8c483h +dd 070f1e6d4h +dd 0c79b70cch +dd 003c592e7h +dd 0349e709fh +dd 0ba25d5ebh +dd 0589b1e17h +dd 08e081bc1h +dd 0c3a3ba72h +dd 0d1e46816h +dd 0157718b6h +dd 05e38785ch +dd 00e76d417h +dd 0957fa011h +dd 00dbf8a21h +dd 04fb2aa2ah +dd 088047d8dh +dd 0c3b48437h +dd 0e5bc4032h +dd 00c348280h +dd 024854f2fh +dd 03b208401h +dd 0657eb618h +dd 010353291h +dd 0cf9de7b9h +dd 00738e24ah +dd 0de40dd2ah +dd 04fd41aa9h +dd 075d33c11h +dd 090ff7d82h +dd 07b3cf135h +dd 025559790h +dd 056b451ech +dd 077a9e30dh +dd 0803b8dach +dd 0f8a00564h +dd 089118b04h +dd 0e0fcb125h +dd 093b64020h +dd 0543f7a45h +dd 02293def5h +dd 05df0ef05h +dd 0d6c90b41h +dd 020849974h +dd 0432bf1e3h +dd 0a1c24f8dh +dd 00868b0e5h +dd 015b90989h +dd 092f880edh +dd 0f28a1c92h +dd 0bf98dd7dh +dd 0ac5eaa6ah +dd 06cf587feh +dd 00220de10h +dd 058145057h +dd 04377a76ch +dd 03f0eebb9h +dd 081c43c50h +dd 0cbb2c5dah +dd 015da3c09h +dd 0d92e6e27h +dd 037faf7a2h +dd 00dc117ffh +dd 0ca870bf3h +dd 028f64086h +dd 052263fb5h +dd 0c5672c57h +dd 023e6ac85h +dd 0cfa76ac2h +dd 0d5f7eb83h +dd 02dd57ebch +dd 07452b883h +dd 02a2e38a8h +dd 04f4e123fh +dd 0742bb736h +dd 006a2b00eh +dd 020d7a967h +dd 039ecb7f4h +dd 05c103508h +dd 0ae9f47cah +dd 058aa5e51h +dd 0ff3794bah +dd 0979f9f41h +dd 0839e309ch +dd 0b527a81ah +dd 013171802h +dd 0452d0432h +dd 0a4634e7eh +dd 047572a45h +dd 0a18b40d5h +dd 023f721d4h +dd 04f3410b9h +dd 04d490024h +dd 035b83680h +dd 001b49b69h +dd 0ab0a7e52h +dd 057b0d7bah +dd 0f9b39b06h +dd 0d5a1e46ah +dd 00c59d3f1h +dd 0e910a61dh +dd 0b0d1e703h +dd 0d35dbf0dh +dd 0eb6d23a4h +dd 0b501e718h +dd 071888dbfh +dd 01e00334bh +dd 057e81529h +dd 042550993h +dd 0bbec902ah +dd 06646e85ah +dd 04996ee38h +dd 0c0122f0fh +dd 045530210h +dd 0cc1e14bdh +dd 0330390d0h +dd 02cfbdf5bh +dd 0b67a5f13h +dd 02ada80bfh +dd 0bafd5406h +dd 05105fe9eh +dd 034ed7afah +dd 061718dd3h +dd 08ae59991h +dd 00e8c1c98h +dd 071b17ebbh +dd 0b5c53bfch +dd 0d5ab2041h +dd 012b8aefbh +dd 0b927197eh +dd 08719f2f5h +dd 0c6317112h +dd 094492057h +dd 0fd59f3cfh +dd 0449dee0eh +dd 0e569b1fch +dd 043c8de97h +dd 0c07f8469h +dd 0e3554043h +dd 02a374bfdh +dd 06e085cd3h +dd 03c58afc4h +dd 041bb0873h +dd 016830d77h +dd 0bbb2905fh +dd 02c0f1547h +dd 0493843b9h +dd 04732e5a7h +dd 0e1790cd1h +dd 072e7bd13h +dd 003d7d0f3h +dd 045b19649h +dd 011d62774h +dd 0ec558f94h +dd 0ad248597h +dd 02e86712fh +dd 01708f596h +dd 012ba3354h +dd 07aed47ddh +dd 0543b78ceh +dd 0d3e77f26h +dd 006afc718h +dd 050d4686fh +dd 0c6012239h +dd 044c647e7h +dd 0f9cbc168h +dd 0e78f0f47h +dd 0f7191655h +dd 0c8dad029h +dd 093ce0eb7h +dd 080e08e8eh +dd 050359366h +dd 09a11fc4ch +dd 0160b13cch +dd 004fc502ah +dd 0821d9e64h +dd 0838d350dh +dd 0b747eca1h +dd 06646d77ah +dd 03ff1d2f3h +dd 0312247f9h +dd 09156ab35h +dd 02fae431eh +dd 0709b39d9h +dd 0599c6b5fh +dd 0f238e691h +dd 0ebb74144h +dd 07434a346h +dd 099f85253h +dd 0ef630b3ch +dd 04097d35bh +dd 0b9663877h +dd 04aace2b7h +dd 0426c48c0h +dd 07eaa27dch +dd 0fd1ad1e3h +dd 0370bc215h +dd 0d7b92e29h +dd 0a02b2636h +dd 0aa4e6d0ch +dd 0deec85c8h +dd 068f8f35bh +dd 04139ca03h +dd 0ddd97236h +dd 0cfe6b542h +dd 08b03f212h +dd 024a07017h +dd 0a1a0c2fch +dd 0cc41e805h +dd 0526abb1eh +dd 0ea4450c1h +dd 0391221efh +dd 0a3946949h +dd 0a9c02e59h +dd 019858058h +dd 018539070h +dd 0d217cb5ch +dd 00216186ah +dd 0cf508ebeh +dd 0181e2c94h +dd 0a9878e8ch +dd 0cf6f4497h +dd 087e4ae2dh +dd 02b9d0d5eh +dd 0b1d2c82eh +dd 074e6d44eh +dd 09f8c667dh +dd 0bcc70563h +dd 0ac2da961h +dd 02a49d5fdh +dd 00f230668h +dd 02384b591h +dd 0f6e9baf8h +dd 0c5377522h +dd 012ca0003h +dd 03cc2afebh +dd 0b2887e4ch +dd 0e8db5c06h +dd 0eff2646ch +dd 0bb01d994h +dd 05458bf93h +dd 01612c75eh +dd 0c7628640h +dd 0f9156b06h +dd 0bd0915f7h +dd 0cd0ce93fh +dd 00bcc073bh +dd 030641acdh +dd 06d458020h +dd 016ea87f8h +dd 01feb817ah +dd 06bb5be6ch +dd 00c2c5610h +dd 0f99ca786h +dd 0277a7252h +dd 03dc71f8eh +dd 001fb48a3h +dd 0d759ae39h +dd 08214d07ah +dd 02c4c4d19h +dd 06a1a4e9dh +dd 0ab04b0f6h +dd 06acac8ceh +dd 0fbe8cea0h +dd 067671826h +dd 0e52fc766h +dd 00f8ffd63h +dd 066cf7c8eh +dd 0c5d9b0b5h +dd 06aeac2e3h +dd 0cb84f657h +dd 02417b103h +dd 0bb1aa309h +dd 0dd481fb1h +dd 06c211062h +dd 0ae300462h +dd 062aa8964h +dd 0a0fef171h +dd 0fe47c9f3h +dd 0f8fd006fh +dd 0725b3228h +dd 0d1f181a0h +dd 07f39fe42h +dd 0e4dae8ebh +dd 03aec3fa1h +dd 0315616edh +dd 0abc439a0h +dd 06a45ed24h +dd 08afbc8cch +dd 0f69203b1h +dd 045c2a73fh +dd 03bfbfad3h +dd 0fa1278b9h +dd 0161f063bh +dd 0f5d5ae68h +dd 0c7ca98a3h +dd 080b08f58h +dd 0199d3f08h +dd 0923485c8h +dd 00f0a1c3dh +dd 0b695d6b3h +dd 017eeda1ch +dd 0a65d6752h +dd 03469f27ch +dd 0fe527dc6h +dd 02b22ea12h +dd 0d0803220h +dd 09638d9d6h +dd 0c60cbd7fh +dd 016d71d24h +dd 0dd8b65aah +dd 07cee582ch +dd 0eade07dah +dd 0cc40e1ffh +dd 0cac471c6h +dd 0bafa1d96h +dd 0b1e6cb08h +dd 09aeb9cb8h +dd 014d74e7eh +dd 0e8c98251h +dd 0dc6a9d43h +dd 0ceb1e08bh +dd 0f3e4e59fh +dd 05b0d64f6h +dd 02cf57f44h +dd 0fa099b5ch +dd 07e49fd05h +dd 022949424h +dd 0381a25afh +dd 0030249c6h +dd 00d526c7ah +dd 087452bd7h +dd 071a73bech +dd 0fc2a5670h +dd 096edf28dh +dd 0e457919dh +dd 03a3a5cc7h +dd 0b8d4b9d1h +dd 0cb13ab69h +dd 06d960ce6h +dd 0a7bd899ah +dd 095a1fa2fh +dd 0b1376bfbh +dd 093ee2ef7h +dd 0a5ee5733h +dd 0ba514f5bh +dd 02c5952a2h +dd 0c6d13423h +dd 0fe61c3d5h +dd 0581eb536h +dd 0e40cff01h +dd 04f73963ch +dd 072123d74h +dd 04025e7fch +dd 0ef0da2bch +dd 05e2890d4h +dd 0651211c4h +dd 0edd0475dh +dd 0ad4fd9d5h +dd 099a848c4h +dd 076abd24fh +dd 08ef10e5dh +dd 047289291h +dd 09af3bb21h +dd 0362880e9h +dd 0ce190b60h +dd 093db3689h +dd 089392a4fh +dd 07f0b7210h +dd 01f46f173h +dd 0da7bcfbfh +dd 0a2709d67h +dd 0974ec3e7h +dd 0382c5633h +dd 053400294h +dd 05f9c615ch +dd 09c0dc3ffh +dd 007e57cb2h +dd 0d490853ah +dd 0f5ac7b2eh +dd 03ae0bb6eh +dd 017c521e7h +dd 086aa8e6ch +dd 0d78cd35fh +dd 0db8f5235h +dd 025067454h +dd 099f10c18h +dd 052807a79h +dd 0aef13e80h +dd 06518ad4ch +dd 0a7e08e42h +dd 0f97f815dh +dd 0d8dab10bh +dd 0cf59a23dh +dd 07648f8dbh +dd 0bfa359f7h +dd 0a5315d6ah +dd 01aa1c580h +dd 092ac8427h +dd 084db384ch +dd 07bae6c08h +dd 04b45389ah +dd 01e011392h +dd 0bbc420f7h +dd 06ab995edh +dd 0cf4d1cd6h +dd 02deca98eh +dd 0aeb0c984h +dd 027a35cd2h +dd 09b8480f4h +dd 0ed4d029fh +dd 0d5ab8fa1h +dd 0bdd12cddh +dd 034254da1h +dd 0bc5d3ea7h +dd 08c0e3826h +dd 0e8c0a70ch +dd 01121aa0dh +dd 041fa60dfh +dd 0f061c585h +dd 00a80cad1h +dd 0b7b86da3h +dd 09cf4e303h +dd 017b52c32h +dd 030d5681bh +dd 03b53fb6dh +dd 0269563f6h +dd 0f33ce67eh +dd 0e8e21b0ch +dd 05316ce6ah +dd 054c59f61h +dd 0d2f0b38dh +dd 0b65c555fh +dd 0bcbd8f8fh +dd 05b1ccd73h +dd 093ccc995h +dd 04449fb1eh +dd 0179d1958h +dd 0821a6cb4h +dd 0c9446149h +dd 0a08814beh +dd 0a34c3205h +dd 076416f8fh +dd 036f82c84h +dd 059b94bdch +dd 0a83a4253h +dd 098d17eefh +dd 06d5b8b7ah +dd 0b6431a32h +dd 0dc770025h +dd 02e7261abh +dd 0514e93b9h +dd 04bc05142h +dd 0947fc892h +dd 04b9da35dh +dd 02ffa663bh +dd 05c131e8ah +dd 0989f7792h +dd 03108b6e2h +dd 08aca2cc3h +dd 08400e3e5h +dd 001bf1722h +dd 0d580669eh +dd 0f0be9796h +dd 0da48fb4fh +dd 0b4cfd2edh +dd 042951358h +dd 0d207759ah +dd 05e82eb31h +dd 05c7eed1dh +dd 0fd8be77fh +dd 0f6521141h +dd 0ead81cb2h +dd 0f9d59989h +dd 0ef892e43h +dd 09b3fb46dh +dd 0662e08cah +dd 0b345af4dh +dd 08644da03h +dd 02e2647c3h +dd 0ac6d5dcfh +dd 09fe31180h +dd 0b36fefc5h +dd 05674b66bh +dd 02b60ef7bh +dd 06ed2465fh +dd 0199e9c53h +dd 01ee9f5c0h +dd 0aee093a8h +dd 0fb614a78h +dd 0297fc338h +dd 03ab37fe2h +dd 02da03a0dh +dd 01218f6bdh +dd 0e76f05f0h +dd 047dea159h +dd 024feabdch +dd 0257db2abh +dd 0770cfe52h +dd 072e4efcbh +dd 02f12d9d4h +dd 070e4a2d6h +dd 055820e4fh +dd 0522d22a2h +dd 03239937fh +dd 0a2fb2cb3h +dd 0384bceddh +dd 07dda2381h +dd 0c5935536h +dd 025a6f6c2h +dd 09611879ah +dd 0e4aa6448h +dd 0618e98c7h +dd 025a91b2eh +dd 0c199212ah +dd 0c2f607efh +dd 0bfe7ae61h +dd 0a15aa85eh +dd 023c8871bh +dd 049eb42a4h +dd 06b3e9b61h +dd 0b8718db1h +dd 04802d72fh +dd 0b327cc36h +dd 0288be6b0h +dd 09c465e31h +dd 006de9055h +dd 06cfcc8d0h +dd 0ab5f24b3h +dd 07c06832ch +dd 0fc06cdbah +dd 0ae18575bh +dd 0de86b8d6h +dd 0acb4398eh +dd 0a8ff4e8fh +dd 019c89baah +dd 04fe47eb2h +dd 037bb7132h +dd 09ff8b54ch +dd 0e84a873eh +dd 0c4c1efd5h +dd 0bdb423b4h +dd 03ce033ceh +dd 0b1d876adh +dd 0cda9cb7fh +dd 02d7defcch +dd 0fbf025d1h +dd 0d18ef440h +dd 006179ffbh +dd 0485ad481h +dd 0aeade250h +dd 003a3238ch +dd 0efab98e1h +dd 0fa32f8f6h +dd 0c5de6059h +dd 08786c843h +dd 036551fech +dd 019bbb05bh +dd 0b8451853h +dd 07e964b00h +dd 06342e257h +dd 0d839f8afh +dd 0926e10bfh +dd 041a7489fh +dd 0fbde75f3h +dd 015e68843h +dd 0fb2d8621h +dd 0691ab33ah +dd 01d947869h +dd 09f6f22beh +dd 0143612f5h +dd 0b35e9f62h +dd 0eedd2ff1h +dd 0ae762188h +dd 004eb4667h +dd 07e7ba27dh +dd 0d98a1215h +dd 00640d929h +dd 0049ca7f0h +dd 014482758h +dd 007c398f3h +dd 08edf4ec6h +dd 0439c2f07h +dd 08ec3378fh +dd 0e1be0e24h +dd 0c8718831h +dd 0ee407800h +dd 05659a1e1h +dd 05e85b41dh +dd 068311c3ch +dd 01654e177h +dd 0de1a8195h +dd 05d80dbe4h +dd 0617aecd0h +dd 09fa1f3e8h +dd 071868beah +dd 04a1acef2h +dd 01f661addh +dd 0172f7776h +dd 01dc3bc53h +dd 08ef91eb1h +dd 06ba2ff7ch +dd 006311ae4h +dd 009388958h +dd 0a320c8d8h +dd 0414685c6h +dd 077da4230h +dd 071b42e20h +dd 094cad444h +dd 03ea66930h +dd 04408d389h +dd 0777c9167h +dd 027ff392dh +dd 03fcb9da8h +dd 04c70e38ch +dd 08084802ch +dd 03262be27h +dd 07a628bcch +dd 03107133eh +dd 0d13a16ddh +dd 06e5d253ch +dd 01cba8342h +dd 090aa54beh +dd 07a5bbbech +dd 06392b764h +dd 0a8d4ebcfh +dd 005834fb7h +dd 048d832d2h +dd 0a4d61837h +dd 0b0db3f46h +dd 059c39d1eh +dd 08f9dbfeeh +dd 0c52384d5h +dd 0ca7b10f2h +dd 0da4e5b88h +dd 0b04c3bf3h +dd 0fe300ea3h +dd 03e89ad6eh +dd 0bb6f52b4h +dd 0e624e2b2h +dd 025654ee9h +dd 0dce10680h +dd 02f9470d8h +dd 07cbedf28h +dd 02f01189eh +dd 0e856e7c0h +dd 0d6726e4fh +dd 09eb5d0eah +dd 039021c8dh +dd 0515a2337h +dd 096c3524dh +dd 08538b5abh +dd 08d84ddf8h +dd 02057bb46h +dd 010116a58h +dd 015fc9ebah +dd 0324bd4ebh +dd 021827c7ah +dd 055502d45h +dd 048888c5ah +dd 00bf899dch +dd 0ad17f44eh +dd 0b7c2cf4eh +dd 0ff529c3bh +dd 013ac8b07h +dd 0a59a84b4h +dd 0c3078d8eh +dd 0daf3ab46h +dd 08a635fcah +dd 06ae7977fh +dd 0c1356880h +dd 0c4da489bh +dd 0fa38f747h +dd 0d9f63359h +dd 018693c46h +dd 022b8f69ah +dd 0932be0cdh +dd 00d426d16h +dd 079b3c3e7h +dd 0cd969a62h +dd 09317909ch +dd 0ced34865h +dd 0ded89a01h +dd 00dbec942h +dd 0280277c8h +dd 0d2ded586h +dd 00cc4f670h +dd 0cdeeb973h +dd 01d8615b7h +dd 0b6c66637h +dd 069825b94h +dd 0968c0379h +dd 0aa816116h +dd 0f8d498f1h +dd 07c7fc54bh +dd 0fc437465h +dd 0613245aah +dd 00107b453h +dd 0d89f2f98h +dd 08fe7704dh +dd 01f871aeeh +dd 0b8b57f9bh +dd 02d74a8c0h +dd 0f491b5a5h +dd 029257568h +dd 0e6acb770h +dd 0aaf942d4h +dd 0b47553ech +dd 079790195h +dd 0de45bf12h +dd 00d59e796h +dd 00e4ad10ah +dd 0fd0a344ah +dd 08abf0729h +dd 0820468e5h +dd 092538edeh +dd 0b2110061h +dd 0b886ef95h +dd 0af710f7bh +dd 087251c1fh +dd 0635cd30bh +dd 077bdc2ceh +dd 08a3959b1h +dd 0faa56ce4h +dd 00195893bh +dd 0e9dc8e89h +dd 05df8cdf9h +dd 0fa9f6a78h +dd 088f84ba2h +dd 02b8dfb91h +dd 013fb46f6h +dd 0928b5bf0h +dd 0ed8d6d97h +dd 0a8bf1589h +dd 0b8ed4a1dh +dd 0d0cc83dfh +dd 00cf613c4h +dd 039c22703h +dd 08868ef12h +dd 0cb857b57h +dd 069e6c149h +dd 0c710ef41h +dd 03864ded0h +dd 0be876530h +dd 084bd1356h +dd 0a3d24705h +dd 0b15ef19bh +dd 0de35a7d9h +dd 0e0f0f159h +dd 0e1cf8fe3h +dd 0cdb4467eh +dd 0b815caaeh +dd 0078d2ad5h +dd 0abddadf8h +dd 0ce1cbaf1h +dd 0a9aaead3h +dd 05cc269afh +dd 00f48fabch +dd 0944d20e5h +dd 0b50b44e1h +dd 024f0ffdah +dd 005e71401h +dd 045b098c7h +dd 011e1533fh +dd 0c73dac7ah +dd 08eafdc2fh +dd 0418bb44dh +dd 0cdb8b332h +dd 0f3945271h +dd 0b29a485eh +dd 0d2aaadafh +dd 00e9c4a67h +dd 0ba9abe18h +dd 05e668719h +dd 0feed2b5dh +dd 01d943f9eh +dd 0fc331751h +dd 08a4b91c5h +dd 0ab024bdah +dd 06ac864e4h +dd 0b54fed8ah +dd 07dbe6a00h +dd 014f9cae5h +dd 06cb8941ah +dd 06dd7b8a2h +dd 0dbf6d4f8h +dd 03f9c5ac8h +dd 00fee8b65h +dd 08fa4b15fh +dd 076ffc275h +dd 027ba7b63h +dd 06c1ff28dh +dd 0bc25c8cch +dd 081594808h +dd 0da0edd3ch +dd 057d5ca73h +dd 0b062204dh +dd 029f65bf7h +dd 0dff0e00eh +dd 07935df04h +dd 0878e0795h +dd 02119bb9fh +dd 0fff20297h +dd 0c4aa7be6h +dd 0393e35d6h +dd 02970eb96h +dd 067633affh +dd 033480ee9h +dd 06e3bbafah +dd 03ba628e2h +dd 0b2efbc98h +dd 0cd28b7d6h +dd 00f529375h +dd 0d48f43b1h +dd 0abb9a462h +dd 05dc754e2h +dd 001685ffbh +dd 089edf95dh +dd 0866cbe74h +dd 020c7c12ch +dd 024e87b28h +dd 082c62686h +dd 049fcbb9ch +dd 0d3035113h +dd 0085b380ah +dd 06420fbc2h +dd 0757fdfcbh +dd 0a738a794h +dd 093fce8c6h +dd 0f2b3b662h +dd 0e86404f3h +dd 085616b00h +dd 0e4c7dbf9h +dd 0de9d8161h +dd 05648a56ch +dd 0564f6ef8h +dd 04688439ch +dd 04f121392h +dd 036e7634eh +dd 0bf70a06bh +dd 0b51c9a65h +dd 06ed51b86h +dd 0652299c9h +dd 075055f36h +dd 0b58c284dh +dd 000a77fb8h +dd 059fae0d9h +dd 0bd6327afh +dd 0423f0eeah +dd 02d5fab34h +dd 0fa2e901bh +dd 07aaea400h +dd 0e195c8e7h +dd 0e4412750h +dd 060762c0fh +dd 0d9ffbf67h +dd 0d513e02bh +dd 03394b250h +dd 0fa83fb63h +dd 02eea8db6h +dd 0fb524458h +dd 0374f4aa6h +dd 045d4b5b9h +dd 0c4a7cb8ah +dd 0c95316dch +dd 055b87905h +dd 01a47a8c0h +dd 06eb4bdf2h +dd 074e6c5bfh +dd 02b5fdab0h +dd 034f0ef3fh +dd 0eb6ee74bh +dd 03d02a7bfh +dd 0d09a61f0h +dd 0ef085e38h +dd 0fc87c06bh +dd 0b2c5ef3fh +dd 065125c54h +dd 0ba948d5bh +dd 0f8ae70a7h +dd 02cee25f4h +dd 0d96e024ah +dd 020e37c2fh +dd 039e6fca8h +dd 02bf682f9h +dd 0f46a6929h +dd 01ac382f5h +dd 04cbd5b63h +dd 0929f3dd3h +dd 061450414h +dd 0d957657ah +dd 0c8023b80h +dd 0fcd062b6h +dd 0234aa164h +dd 094bfe696h +dd 001200a21h +dd 06a4d5898h +dd 02ea2f49bh +dd 093a47f9dh +dd 0e36547b3h +dd 00c2ff554h +dd 05aa00779h +dd 0c8f30b47h +dd 0313de46ah +dd 04ad927bbh +dd 040bb3871h +dd 02fe2f036h +dd 07eb889bdh +dd 03e8feee9h +dd 05c14e81eh +dd 0b41ab3b1h +dd 031e26c9ch +dd 0201b0226h +dd 0dc60f721h +dd 0e3c18d5bh +dd 0614b668ah +dd 0de2d840ah +dd 01510d7a9h +dd 096d25deah +dd 027f8783bh +dd 0af4137c6h +dd 0216bc598h +dd 05e2451e3h +dd 0f6c7235ah +dd 09175eb28h +dd 020fbadfeh +dd 0e9c0d100h +dd 007881a67h +dd 09299f192h +dd 0a7dc771eh +dd 024f80866h +dd 02675bd17h +dd 0833757c2h +dd 05bd4b8a0h +dd 0718515b9h +dd 03dfb92e5h +dd 01007f503h +dd 0ad9e252eh +dd 0ccf25061h +dd 047e8efcfh +dd 05a3d508dh +dd 00ab2d8d3h +dd 0e3d20359h +dd 00e95f6feh +dd 0fa6a783ah +dd 03d263a5fh +dd 0267d9f22h +dd 0dc6c463ch +dd 06b09144eh +dd 0086262bfh +dd 0862b237fh +dd 098c91534h +dd 0cabd4ff1h +dd 085df81fdh +dd 06c3e8692h +dd 08e71be4fh +dd 00a3cf458h +dd 013de376bh +dd 0bc380a57h +dd 01410fcceh +dd 0e7fcf604h +dd 02feb2fdfh +dd 0bea0a294h +dd 02b101822h +dd 0ffcef7cah +dd 0277582d8h +dd 01a4de3afh +dd 0eb5cb510h +dd 0113f78aeh +dd 0609e52f4h +dd 06f0115c1h +dd 04e2a85bbh +dd 0d2e787d1h +dd 0bcdcb57bh +dd 06298f12fh +dd 0fb44e5e2h +dd 07ec5456ah +dd 0465db10bh +dd 0fef85c0fh +dd 07f9fd0e7h +dd 0f0ab3e15h +dd 0d0783972h +dd 01ee4ceb9h +dd 07085f902h +dd 0f745d25ah +dd 00854fab0h +dd 0c1c1d08dh +dd 0e5dafe03h +dd 00b3beaa4h +dd 0e436ee94h +dd 0d8560cb8h +dd 060b69108h +dd 079b6aee8h +dd 008573987h +dd 08fa192ddh +dd 0ed470fdah +dd 0167f2910h +dd 0bed8ba77h +dd 0849d937ah +dd 00cec150bh +dd 007759bbeh +dd 0768af615h +dd 09d7ac547h +dd 085bc3330h +dd 07c591209h +dd 008666dc2h +dd 01da1c281h +dd 0aec4212ch +dd 077756be0h +dd 066200a7ah +dd 041b64027h +dd 0adbef15fh +dd 0bc3d870ch +dd 0b9636a9bh +dd 0a62d1695h +dd 03a3b0ec7h +dd 02f9ff008h +dd 0fc7c102eh +dd 0b6e62484h +dd 0792454a9h +dd 086d543b5h +dd 0b6bf4677h +dd 0556e8f80h +dd 0197ea2f9h +dd 076101c61h +dd 0078892b8h +dd 06263cd0fh +dd 095f552ach +dd 027d01cadh +dd 09d50a556h +dd 03e351a82h +dd 09b097bc0h +dd 00711b530h +dd 09b45348bh +dd 0f8ffc508h +dd 0f5d817c9h +dd 06a5ea3c5h +dd 0d2768202h +dd 01c026aa4h +dd 0b587b4a5h +dd 0bbf21c20h +dd 0b854afe3h +dd 07dc97fc0h +dd 0e584baf3h +dd 0e1eacfach +dd 075c1cf28h +dd 06d420b1ah +dd 0da544c02h +dd 04392bdddh +dd 046c27177h +dd 069b38a98h +dd 0a07523c5h +dd 08164cac5h +dd 0788dcc2dh +dd 0654593c5h +dd 00e0fd6ach +dd 06f47f676h +dd 0ed376678h +dd 060452499h +dd 0e26cd8feh +dd 0e352b738h +dd 029d24b98h +dd 0285de7cah +dd 009f6d298h +dd 027532fb6h +dd 0be1277f0h +dd 0e13c4237h +dd 0c78996b1h +dd 0b112f87fh +dd 087d77772h +dd 0dbb12bc2h +dd 0be327e5eh +dd 017e608a2h +dd 0dbeae9a4h +dd 0ef87c3d1h +dd 0728d3315h +dd 04a60759fh +dd 0f45e5516h +dd 0ce97ae71h +dd 04699b61bh +dd 0f193afcch +dd 024387c0fh +dd 033fe0de0h +dd 0bfae64cch +dd 0371b5898h +dd 05b289162h +dd 0ffbe6c52h +dd 0c6f9ce08h +dd 0f3a8031dh +dd 0cc58e60eh +dd 002ec02eeh +dd 02bc3b8a2h +dd 017c49151h +dd 022c4fe0ch +dd 05f0dd99dh +dd 0b0e9a1b6h +dd 04f7e1e62h +dd 09866ad9fh +dd 04200d023h +dd 08a82a74ah +dd 0f78a11e8h +dd 08d26be11h +dd 008c736b2h +dd 0d9f117c4h +dd 0fd7b1be1h +dd 04a7801a5h +dd 001a8060ch +dd 0796220c3h +dd 08e3576f4h +dd 06797f770h +dd 010399a01h +dd 0061192a5h +dd 0e45c63d4h +dd 0925c36b0h +dd 03b2031e8h +dd 03312a6feh +dd 0f3715332h +dd 0030a18b1h +dd 01f92d1e8h +dd 0e53cbf6eh +dd 06d5b83aeh +dd 0e6189aa0h +dd 0b1df91bch +dd 09a032f87h +dd 0be707f44h +dd 0d8bbf136h +dd 09933b27ah +dd 019758a90h +dd 027384224h +dd 0be58787ch +dd 012e88ba1h +dd 0332718e3h +dd 099041891h +dd 08bd7810bh +dd 01763e2d9h +dd 0776408a5h +dd 039023641h +dd 0b977269bh +dd 0462ac3e9h +dd 0aa1aa15ah +dd 05a3dca4ch +dd 06262ed4eh +dd 04d1e23bdh +dd 046d3803eh +dd 0c2211b5dh +dd 0842c3796h +dd 04bb49defh +dd 0273b8506h +dd 0836c4d81h +dd 07ff78a50h +dd 06e2420bbh +dd 0c85a7fd6h +dd 0f712f94bh +dd 095019762h +dd 0b7ed17e8h +dd 052579ae5h +dd 02e1c0855h +dd 04f2e967fh +dd 043677d36h +dd 02b843cd2h +dd 0cad5ca13h +dd 0cc508411h +dd 03c1d6920h +dd 0321d9bceh +dd 04887a820h +dd 04511a084h +dd 0e2428fbeh +dd 0aff00e29h +dd 0faba1f65h +dd 03b6fd09dh +dd 0375224ebh +dd 0348213a3h +dd 0953bad7eh +dd 029b8a48fh +dd 0a89bcfc2h +dd 07ab720c9h +dd 0604d65c2h +dd 06ac40a61h +dd 0de6f8463h +dd 036be42ach +dd 070f26725h +dd 074d7a391h +dd 0ad6ca2bch +dd 001321c32h +dd 0fbfd44c2h +dd 013a43fceh +dd 007640769h +dd 02a9b443ah +dd 0e431b72dh +dd 0a79cbcdch +dd 004a995abh +dd 09ac3f408h +dd 080b704d9h +dd 07d845577h +dd 08ff377bah +dd 0f1f37bd8h +dd 061a76503h +dd 0ca5d38d8h +dd 0b707e15dh +dd 01fc66e3fh +dd 0a04a9de3h +dd 0c58cd828h +dd 0e5493603h +dd 01586f6c2h +dd 0fb3eb04bh +dd 0a7251b7fh +dd 0ee1ebe57h +dd 0b755b770h +dd 0bf701d29h +dd 0c2f7f99ah +dd 0518d7821h +dd 04e62cc8eh +dd 084998bb9h +dd 0ee2dcd76h +dd 0fdd37cefh +dd 0a4879414h +dd 077c70af0h +dd 07ad0117fh +dd 0f2ae65ebh +dd 0d239835eh +dd 023655ab5h +dd 032debd82h +dd 0d9245244h +dd 044dba459h +dd 02e9c6093h +dd 06e982334h +dd 0227a01dfh +dd 0c473da5bh +dd 079dae98dh +dd 001644845h +dd 05c352de8h +dd 00464b30bh +dd 08bf6e72dh +dd 0174ee9bbh +dd 022addecbh +dd 015b9996fh +dd 012a5dda9h +dd 0ca1d5ef4h +dd 082ff152ch +dd 009db22d2h +dd 0a8461222h +dd 0d175482eh +dd 038658c27h +dd 0c095a857h +dd 093c8118ch +dd 026377e5bh +dd 0a8a0f215h +dd 0bb0e8656h +dd 0693350ech +dd 098ff5cf5h +dd 01da18b49h +dd 0319e88b6h +dd 0dc676f65h +dd 04a51886bh +dd 0c74e6392h +dd 0edd9690bh +dd 05775ca17h +dd 01708a5eeh +dd 0dd911a92h +dd 0cc836cb5h +dd 07169d9d2h +dd 0905ec064h +dd 083fa1d4bh +dd 01863a460h +dd 0ada5f118h +dd 0d7d25680h +dd 0491732fch +dd 0fe801a27h +dd 0e9421fdeh +dd 02d846277h +dd 057f4fd0eh +dd 0c227c970h +dd 0eec4fbf9h +dd 008059d62h +dd 073237724h +dd 0ddf47cf3h +dd 0f877e100h +dd 03f0c4ae9h +dd 06f800dfah +dd 0501e48dfh +dd 04f6502fdh +dd 0e448f696h +dd 057dae526h +dd 0f2ad8b8ah +dd 097e9733eh +dd 0a5b803c4h +dd 0295e68d7h +dd 0a1085a83h +dd 0334a698ah +dd 0f909bc0fh +dd 071989f29h +dd 082e7bfcbh +dd 070d9366dh +dd 01710ca99h +dd 0b950afd2h +dd 0ceb798c0h +dd 09b64fb59h +dd 0d8d39531h +dd 080846f05h +dd 0e2941c87h +dd 06c25f605h +dd 0aafc36dbh +dd 042bb4090h +dd 03789b7d1h +dd 0d732c615h +dd 07da806ebh +dd 0a283c7f8h +dd 01c8d6ba4h +dd 042c6678eh +dd 05ecea93fh +dd 0b31b73ach +dd 091736a20h +dd 06bb59a5fh +dd 0d0a150c4h +dd 00fc446bdh +dd 09bc18e79h +dd 0abba43c6h +dd 09c3f2c3fh +dd 0ca537cd6h +dd 062e8138bh +dd 0f8f31311h +dd 0081514d4h +dd 04d90241fh +dd 0c9d0e572h +dd 0ef996ccah +dd 04ae1acf0h +dd 0d158e2eeh +dd 0962d256eh +dd 053f3439ch +dd 056906272h +dd 0f5c60dbfh +dd 074f1477bh +dd 0170fc938h +dd 090a5c7d2h +dd 0a448842bh +dd 08f65a701h +dd 01daf076eh +dd 029e13c26h +dd 070722590h +dd 007d69044h +dd 0ce344075h +dd 091c9b927h +dd 0231da43bh +dd 06075b469h +dd 0838ebed8h +dd 0832e744eh +dd 0b5025aceh +dd 0bee6ed62h +dd 00a483b51h +dd 0d34fa9e1h +dd 0cfc82b69h +dd 07ec25df1h +dd 050578ee6h +dd 0267dfe08h +dd 056068afbh +dd 08e32d687h +dd 08190064eh +dd 06b21a0eeh +dd 0c5186dcah +dd 0ad8677e4h +dd 0a82690f6h +dd 0f177b473h +dd 0c7627085h +dd 06519d490h +dd 0f7d60b61h +dd 00576603dh +dd 0999453aah +dd 05b9ab630h +dd 0e7d6f363h +dd 01905dc07h +dd 0402d37fdh +dd 03ceb7db3h +dd 0ca3b9952h +dd 028c38974h +dd 0e8523bd5h +dd 0288c3bdfh +dd 09c32d107h +dd 07516d2c0h +dd 03f7bfcbfh +dd 0ce422204h +dd 06c390bb2h +dd 00a9ca8dah +dd 02cce5e38h +dd 07a5070f2h +dd 04e1a1701h +dd 0e7839cadh +dd 013f89c8eh +dd 073ade90eh +dd 020da24eeh +dd 060f4163bh +dd 03c2e5b5ah +dd 0be13a8dah +dd 00bdb05adh +dd 066483d99h +dd 00080ff80h +dd 0c1923d8ch +dd 0c14c6415h +dd 0b1e03617h +dd 002905305h +dd 02a2d57aah +dd 0e2b57d2eh +dd 03af79132h +dd 036dc89aah +dd 0eb183f42h +dd 03ef2edach +dd 02fdf576ch +dd 03ccd70b8h +dd 070a29cach +dd 01d19df3dh +dd 0c0fce311h +dd 047c57d46h +dd 01ff3174eh +dd 06b230a51h +dd 0006aef3dh +dd 0701ea1fah +dd 07c8af19ch +dd 0a9262706h +dd 077bcd1c3h +dd 00292da9bh +dd 050eeb15ch +dd 010049454h +dd 066f7fe5dh +dd 0084d50a9h +dd 04cb41124h +dd 0dfb3a2deh +dd 0b28e13e3h +dd 0bd1ff108h +dd 0358f14c7h +dd 045f52182h +dd 058109333h +dd 0401ad6bah +dd 089aa1751h +dd 047293758h +dd 0adda37cch +dd 0792a0f5ah +dd 01b89b89dh +dd 0b6dd057ah +dd 081923545h +dd 067441f50h +dd 06d2f345eh +dd 01510a3d4h +dd 058d0580bh +dd 03111b305h +dd 07c0f566bh +dd 0328e69c5h +dd 09e56e246h +dd 06aff3b42h +dd 04bf1300dh +dd 043ec237ch +dd 0c8d939d2h +dd 0a7157b42h +dd 01f2e846bh +dd 09f30f800h +dd 0994f2745h +dd 0649b3a45h +dd 023231649h +dd 0bdd85276h +dd 0af665632h +dd 030c0496ah +dd 0e53e7c4dh +dd 06b16791bh +dd 05affc03dh +dd 09fa2edb8h +dd 094abf492h +dd 0e8f7e9bah +dd 08e6dd470h +dd 0cb856119h +dd 0491f76f8h +dd 0f3f110b3h +dd 010251495h +dd 0d24e8fefh +dd 0f1b5cd4bh +dd 0041cc845h +dd 0a0678416h +dd 0fa5c2096h +dd 01815b362h +dd 00fa77625h +dd 04c2cf873h +dd 04648ae5eh +dd 09ee70eech +dd 08bb3aaceh +dd 008b995a5h +dd 04891c96eh +dd 06364003ah +dd 0f0e4bbc3h +dd 0ad585ef2h +dd 0c4e2bf08h +dd 063dc176fh +dd 08530c3e3h +dd 00f767368h +dd 0f9b9ed59h +dd 083798610h +dd 0695125f9h +dd 0567d567ch +dd 091dda1dbh +dd 008b9a292h +dd 03a5d41aah +dd 0fe1b1af0h +dd 0556809d4h +dd 06de65005h +dd 00fd27062h +dd 0bd2b0c87h +dd 0e97f80afh +dd 01e423ccbh +dd 04fe2e3d6h +dd 0c07c38e4h +dd 0d94d49bdh +dd 091d559e9h +dd 003be2006h +dd 0141457feh +dd 0553ebe04h +dd 0b4a1e5c3h +dd 077136355h +dd 020ff7c4bh +dd 05b9461aah +dd 04c40e5d8h +dd 052a2e340h +dd 0c07f79f0h +dd 0d69d5b04h +dd 0a65b5408h +dd 0fd8c9d93h +dd 08ff83b87h +dd 00ac36b0ah +dd 06ac794f4h +dd 00b189891h +dd 08dc52dffh +dd 049e1aeb2h +dd 087df3b15h +dd 0bc71f89ah +dd 0a269e174h +dd 0312e34c6h +dd 0dee4a873h +dd 02d899781h +dd 0325c0a72h +dd 093483f6ch +dd 027c23170h +dd 013741ab3h +dd 0bb4eff95h +dd 0445af535h +dd 0a86139b7h +dd 001a5140dh +dd 047913aeeh +dd 0e15afa28h +dd 0292f63aeh +dd 0acde5123h +dd 03b39ca5fh +dd 06ab94e4dh +dd 0d61754efh +dd 0b3c58d5ah +dd 0cf304b8dh +dd 04deb9a79h +dd 055254f90h +dd 033a75f1ah +dd 089978aafh +dd 0d14e9aa6h +dd 00ed7cef4h +dd 085dc9a24h +dd 0ed785d73h +dd 0cdcc4d4fh +dd 0d25a8561h +dd 061b89928h +dd 047476ec2h +dd 001bed504h +dd 0c064190ch +dd 0ca9ffb67h +dd 0f49aba1ch +dd 0efb07ebbh +dd 0c89f4164h +dd 03c8b8670h +dd 02d7d10b5h +dd 03208661ch +dd 0c7963b49h +dd 001faf030h +dd 050b15ee6h +dd 0b4340acdh +dd 0106166a9h +dd 0ae0fdc54h +dd 082239a32h +dd 0bc7bc15ah +dd 0328bf5abh +dd 0ac38d5e2h +dd 097d96ea6h +dd 0af87643fh +dd 014503a4bh +dd 0375f72c2h +dd 0ecc0b66ah +dd 05ae489abh +dd 0257d5346h +dd 00f4e250ch +dd 0ed98ddb4h +dd 05519dae2h +dd 08a37c9a4h +dd 031ca3174h +dd 08377ed7bh +dd 0d5a4e123h +dd 01ff76d19h +dd 0b41d1237h +dd 05ffab49eh +dd 04f1387d4h +dd 03f2dbcfch +dd 0bce13af3h +dd 03db4fbdah +dd 0571d284fh +dd 0b10bdc88h +dd 099eee6c2h +dd 005f1e731h +dd 0996d2581h +dd 04e9bace4h +dd 08350396fh +dd 03299633fh +dd 09db6883fh +dd 02d254973h +dd 0348d9142h +dd 0af7b860bh +dd 01a99bc60h +dd 093329c2bh +dd 02a55f4cfh +dd 0a49e0421h +dd 0537ceafeh +dd 0ff7a7b77h +dd 09574805ah +dd 03e74f8c8h +dd 0cc1b7347h +dd 0723acc31h +dd 084382f7eh +dd 054975271h +dd 0db82a1f3h +dd 078fcfb67h +dd 042951df1h +dd 074e95236h +dd 07a2a8b19h +dd 050ba360dh +dd 08b7cc52bh +dd 0c1de1454h +dd 09893d1ach +dd 0fed56006h +dd 0be1d6433h +dd 03dc94f52h +dd 028d12a44h +dd 01fb1edf3h +dd 0a6bac71dh +dd 0f3ebf91fh +dd 02c7647e1h +dd 03e415871h +dd 0037a8e3eh +dd 0d5d9e84ah +dd 0c957f409h +dd 06ba6b57bh +dd 0033818fch +dd 0ec46c1adh +dd 02bc6b8c8h +dd 027ae63d6h +dd 06bde89aeh +dd 00af5f8cch +dd 03d3b0067h +dd 0ccdfaed3h +dd 0822a451fh +dd 05edc0d2fh +dd 017a01fe5h +dd 0adaae2e4h +dd 0b97aef38h +dd 0fd2f3258h +dd 0ea2f2f81h +dd 03fad40d4h +dd 0c351c4cch +dd 04eb5f987h +dd 0a2eff236h +dd 02bb2cbc2h +dd 061725f0dh +dd 0ba0bfa01h +dd 034c1450ah +dd 0147e0f7ch +dd 029d59bbdh +dd 0bc2126ach +dd 0f8c24217h +dd 054a4d1b0h +dd 0bb9f0541h +dd 040e91862h +dd 0e3073d00h +dd 00fb925a3h +dd 06bece261h +dd 0a6fa86adh +dd 0000c6b08h +dd 087e0b581h +dd 0fffd9db9h +dd 079cc635ch +dd 0b4b98312h +dd 0df039985h +dd 0c68af9c6h +dd 0906dacedh +dd 02f0996ceh +dd 0874aebb1h +dd 0a5386each +dd 081ddeeafh +dd 0b7b0b868h +dd 0e1f07cf1h +dd 0dd083f50h +dd 0b07d95b2h +dd 0f236087ah +dd 0d2e8dab2h +dd 07a6fd05fh +dd 02674dd58h +dd 0d8ec9772h +dd 0c0158f0eh +dd 0c8574368h +dd 05aa5ef50h +dd 036bfd7e8h +dd 0f83cdef3h +dd 0005703bah +dd 08789e3c5h +dd 0aa42491fh +dd 03f1de866h +dd 043a82c99h +dd 00c9c86d3h +dd 0157490ebh +dd 09685c2fch +dd 0a624360ch +dd 04d10eff0h +dd 07558bf20h +dd 041c0485ch +dd 0b9fe20a6h +dd 0e2bcae5bh +dd 0becff399h +dd 09e9f2f74h +dd 098bdc3cch +dd 0ddff2826h +dd 0c4d5d4edh +dd 0f4e913a9h +dd 083e593cdh +dd 084ebda1eh +dd 0fdef37c9h +dd 0959e0102h +dd 0bf09df3bh +dd 088f2cec3h +dd 0ee5dc665h +dd 0262fe8ebh +dd 0fdc166e8h +dd 0d2e5d822h +dd 0aadc6e7ah +dd 0b653513ch +dd 0aed7b87eh +dd 0fed025fbh +dd 0d57e5acah +dd 034483653h +dd 083ac92adh +dd 0b5044c2dh +dd 0a6e6bb26h +dd 01f33ee4ah +dd 0c3673d22h +dd 061b21963h +dd 067e1483eh +dd 0a50630b2h +dd 022124a4dh +dd 084b89e67h +dd 000e989f6h +dd 04d33ffbfh +dd 0515362ddh +dd 017d12427h +dd 0c4887c29h +dd 0b13b2326h +dd 0ea2da7ech +dd 043b9fce8h +dd 04f0b1d41h +dd 06d898c72h +dd 0347ed830h +dd 00755e972h +dd 0172c0d3ah +dd 03cdfebb1h +dd 047e9f20ch +dd 093e0cb22h +dd 0038404a2h +dd 01b5d2544h +dd 085b1dea7h +dd 02341bcf8h +dd 043ac70a6h +dd 0b4b76418h +dd 0d0ec66bbh +dd 0323e4e84h +dd 01db61a05h +dd 0cd362ae9h +dd 0ba5e0f95h +dd 0f2862291h +dd 05ef6edddh +dd 03ac4bd0ch +dd 0e8a016bch +dd 0ae6797a3h +dd 0a39cf328h +dd 0bfbe0b9bh +dd 0eba93720h +dd 0dd8f7b33h +dd 05221ae26h +dd 0a5965110h +dd 0ae72ceedh +dd 03122a656h +dd 02c611d27h +dd 035c78df9h +dd 0c319d90fh +dd 0b46e3821h +dd 0b3dfb921h +dd 03c1608bbh +dd 03fee80feh +dd 061483dd6h +dd 0d1cbc2aeh +dd 099aca524h +dd 04d7afff1h +dd 04117753ah +dd 0162025fah +dd 08d8110ddh +dd 0750d08a3h +dd 0ccec1b15h +dd 088d4045fh +dd 07dd79259h +dd 0623da4c3h +dd 0cce7e410h +dd 014c86179h +dd 033d8b7d9h +dd 03c3fb262h +dd 0a15796ach +dd 0afe7f768h +dd 0a78b953eh +dd 05174994ah +dd 0dde827efh +dd 08e562310h +dd 0eb7f40b8h +dd 0237006bah +dd 078a41faah +dd 08d83a59ah +dd 072951eefh +dd 03fa4ade9h +dd 08819509eh +dd 046aa8976h +dd 00e5088b4h +dd 0fb308393h +dd 0a7b641bfh +dd 065a82fdbh +dd 03fc06b5ah +dd 032a3b5a0h +dd 0b3b72bbah +dd 05f88d1bah +dd 0d778be1ch +dd 05265558fh +dd 0465799eeh +dd 038fdd2ceh +dd 06e90e121h +dd 0f0a48e97h +dd 0cc3383a6h +dd 049334ebfh +dd 02799f5d0h +dd 061843f86h +dd 04a8b8594h +dd 0c6fac048h +dd 077358e1eh +dd 0a8e196e6h +dd 0e3289fb9h +dd 0dc040e08h +dd 037a8e337h +dd 038d1257dh +dd 0aeb98ca1h +dd 052bd5c6ch +dd 047dcc62bh +dd 0af86b59ah +dd 0e97788cch +dd 010342697h +dd 03b6c1946h +dd 07932fa78h +dd 0da387e70h +dd 04cf07124h +dd 0c3681f68h +dd 055e18dd2h +dd 044359fb2h +dd 0f82befa1h +dd 0b677bfbah +dd 0ccb34b5eh +dd 070a75a1bh +dd 011cd0a65h +dd 0c157f891h +dd 09b7ae9afh +dd 0323c063fh +dd 06ad7399ch +dd 0142f8ae3h +dd 0ee078b35h +dd 0f2db8b72h +dd 01e2f1e83h +dd 01a151ea6h +dd 04420eeach +dd 015e12f5ch +dd 02212af70h +dd 0934e8ca3h +dd 07d674d25h +dd 0e0be8884h +dd 03668bf12h +dd 0281e471dh +dd 08b6ef8ceh +dd 098198132h +dd 056358cb4h +dd 00e99e73eh +dd 0aba4d710h +dd 0d83b454eh +dd 0ca2aafe0h +dd 04b69817eh +dd 0f193f5d8h +dd 0cae13344h +dd 0860ae58eh +dd 09f023116h +dd 0173b0a9eh +dd 0ddb687f9h +dd 018cac57eh +dd 0d4f2afc6h +dd 064f7e5bch +dd 092f4426ch +dd 062b9cb12h +dd 0624d8d82h +dd 0a5872b7bh +dd 02cc100b5h +dd 0380e37abh +dd 0e57c7472h +dd 0e2806af9h +dd 06960fb2ah +dd 08d8c1441h +dd 02f678df6h +dd 03db21cfeh +dd 09c1fc034h +dd 0cc3ff2f9h +dd 03df17e24h +dd 03cf1a7a0h +dd 0dcb64da3h +dd 071b4a860h +dd 08cc85fc7h +dd 05aa5f03bh +dd 019eff0c6h +dd 052185d10h +dd 088bb2035h +dd 02b6e0e4ch +dd 04fcded41h +dd 0e102d598h +dd 06699685dh +dd 0c81e7878h +dd 0800dfe02h +dd 0ad21b401h +dd 0c3e6a5c2h +dd 03279c33ch +dd 07e2e51dfh +dd 00a8cd2c3h +dd 081f601fdh +dd 011647d7eh +dd 0f90c2792h +dd 0af4a8ff3h +dd 0ee127c5ah +dd 0481a0802h +dd 0739e6844h +dd 0ca1af5dbh +dd 0ae4df30ch +dd 0b8664155h +dd 0ddde3544h +dd 054966bc1h +dd 0c6555fb2h +dd 08010717dh +dd 05aa3862dh +dd 0516294c3h +dd 0554c69cdh +dd 07bbd9daeh +dd 06c5e4317h +dd 0ac73950eh +dd 02f1b8b10h +dd 0dbaf2669h +dd 0a4d166d2h +dd 0e48cd755h +dd 01c79c7dfh +dd 06e4a926dh +dd 010430334h +dd 08637bbc4h +dd 03d446384h +dd 048724c48h +dd 094f2b515h +dd 031bdea07h +dd 0a6429994h +dd 08e18b508h +dd 0c48863a0h +dd 0d9d61b6ch +dd 01c8c38a6h +dd 0201232c8h +dd 03b400bc3h +dd 0e892787dh +dd 0198aef03h +dd 0c9e248fch +dd 0d6f0c9e3h +dd 0916c09d9h +dd 004954b57h +dd 05604afedh +dd 03d8bf169h +dd 0bdc158a8h +dd 0a33a78f2h +dd 0cf58fcd7h +dd 02cbd7908h +dd 05363815dh +dd 0fe9b0582h +dd 0ee8024f7h +dd 03c7162b0h +dd 0d58efa91h +dd 0fec72580h +dd 0d1696d2bh +dd 0070f8b43h +dd 021be77cah +dd 07e6dc28dh +dd 091f5021eh +dd 0e24cd586h +dd 0ce28befdh +dd 0775dca09h +dd 014d35c80h +dd 029d13727h +dd 0122b56c8h +dd 0cf26724eh +dd 0829c0b6bh +dd 06e0de2b0h +dd 02e894a8ch +dd 04b43e499h +dd 0410ee4aeh +dd 0a518309bh +dd 0aa304ac9h +dd 09c589912h +dd 073757737h +dd 06f1de699h +dd 04e28e31fh +dd 06db77fbeh +dd 0343cae35h +dd 0f13f8da7h +dd 011e5bca1h +dd 079e32e53h +dd 0a6f8433bh +dd 01853aecfh +dd 0add299bah +dd 09ea8783ah +dd 0bcfc6329h +dd 0561b3299h +dd 02de72f4ah +dd 0003ea003h +dd 01d8a9594h +dd 0923d23c7h +dd 06ee59792h +dd 0e23f6cbdh +dd 078f76373h +dd 07f06c103h +dd 07dbbe941h +dd 02de87ea9h +dd 0eb35ba13h +dd 0afdf18e2h +dd 0887ee023h +dd 09963c3b6h +dd 07b48d24dh +dd 02fa4ffdch +dd 0beaa2c09h +dd 08ee042e8h +dd 0badb9227h +dd 0bb1943d9h +dd 0596327c5h +dd 0bde98d30h +dd 0d08536f5h +dd 0e6bf7cdfh +dd 09b78b81bh +dd 012881be6h +dd 0b7b2cf61h +dd 089232956h +dd 0d1eaceb4h +dd 024c1102fh +dd 06539dbe7h +dd 01d6c0168h +dd 0663904c0h +dd 008b9323dh +dd 014bf331fh +dd 0ff651527h +dd 087bd7832h +dd 0ab302717h +dd 00a60b85ch +dd 04ba6a77eh +dd 09a978a0ch +dd 08fd3e5a4h +dd 0604a6b69h +dd 023ac4a25h +dd 02c92d92ch +dd 08b29eec2h +dd 0f30ad65fh +dd 0d935fec6h +dd 042c766b6h +dd 0a68ffd5eh +dd 04164360fh +dd 0bd35a4bfh +dd 0836d2140h +dd 09427e856h +dd 09df06a88h +dd 058b46059h +dd 0af5343bdh +dd 0b36d73eeh +dd 05d3c2a79h +dd 07fa958aeh +dd 0352423f1h +dd 051ae3630h +dd 071f3b3edh +dd 031b966aeh +dd 00c6ea6bch +dd 0daa8e8eeh +dd 08c17f54fh +dd 063d368a0h +dd 037d4e13fh +dd 0f2d9a692h +dd 0c62e8725h +dd 03d9e4129h +dd 09b58e01ah +dd 04311672dh +dd 0fea7ef0bh +dd 01848b455h +dd 09a3c0ee4h +dd 0ed14ae3dh +dd 0e2b0df71h +dd 01003cc9dh +dd 01ef13f04h +dd 07cc1db39h +dd 018fd258dh +dd 099d6eb96h +dd 0e207420fh +dd 084282801h +dd 0b9bbc9b7h +dd 0ff5921a4h +dd 09e6a3f5bh +dd 08ce485e4h +dd 02496cbdfh +dd 00dd37521h +dd 04e477a2bh +dd 0124c3e2dh +dd 0f08a6af8h +dd 05d0c486ah +dd 0d1e2dd6dh +dd 04b90a9bah +dd 0b907f725h +dd 03db59f11h +dd 0ba2ca5cdh +dd 065d0f845h +dd 096e4d831h +dd 0befe34a5h +dd 047e3785dh +dd 0ecf9fca8h +dd 06ed4b2e0h +dd 0fdc17897h +dd 063e57f76h +dd 0a43caa11h +dd 00210542bh +dd 0be1f5055h +dd 0e6a925edh +dd 0112456bbh +dd 0471f2a91h +dd 0519a5326h +dd 0bd5af7cdh +dd 02070c770h +dd 0dce4c9dfh +dd 0fd96639dh +dd 0296d37d3h +dd 0bd884616h +dd 01505b832h +dd 0acf5e417h +dd 0a5fd0e8ah +dd 0324167aeh +dd 06826f6f2h +dd 03bfeb545h +dd 0bc04ccb8h +dd 0c4f814bbh +dd 083056b54h +dd 02ebcf86fh +dd 0ce8a9008h +dd 02e1fedafh +dd 054a719bdh +dd 08f3ec211h +dd 0e5042b2ch +dd 08769ca4bh +dd 0152163e6h +dd 05bc40b9eh +dd 07e1d5c8bh +dd 06eae0725h +dd 093523e19h +dd 007d1a4b2h +dd 0dd6b70f6h +dd 0cb41af16h +dd 0bb1a4f02h +dd 08d074bfeh +dd 08f25d129h +dd 04a4e683bh +dd 07c37af5fh +dd 0d4a6af25h +dd 042f80d99h +dd 0e5019bb0h +dd 0f40cae6fh +dd 0e9b8210eh +dd 032238e9bh +dd 05d1b45c7h +dd 0877b6cadh +dd 051e9a20eh +dd 08dfdfaa1h +dd 006c2dc62h +dd 016932713h +dd 0db9bd535h +dd 0f236791dh +dd 0009d86c9h +dd 02ed45fa7h +dd 07f69e79eh +dd 0b26f2468h +dd 01f2ff4b5h +dd 0efe15865h +dd 0caa49db3h +dd 0134662d6h +dd 054dd5d84h +dd 0c3c6a714h +dd 0b658601dh +dd 0db018236h +dd 084df3916h +dd 0b19d5997h +dd 038283ad9h +dd 017d4b83bh +dd 03fe70368h +dd 09aab737ch +dd 00a6ff7dah +dd 0ef5cbca4h +dd 0ab03363ch +dd 05364bdb7h +dd 079ea5d16h +dd 09c7f4ceah +dd 0ff2497a0h +dd 07e8a5fdbh +dd 04de37373h +dd 012c098fah +dd 04aa93694h +dd 04d73b39ah +dd 0232ad1dfh +dd 01b703c99h +dd 0fc34f1d2h +dd 0bd3fded2h +dd 0d7183ebbh +dd 0efcfb599h +dd 0e441fec5h +dd 0644b1254h +dd 01d982dbah +dd 02b2ef7cdh +dd 0fc3e4c5bh +dd 0916326bch +dd 0cc1c094ch +dd 0fb6c0179h +dd 0e695c665h +dd 02e1c238fh +dd 0999f5c2eh +dd 006ee9370h +dd 0443986cdh +dd 07fd537d2h +dd 0c7485641h +dd 0fc8d7e3fh +dd 0646554d7h +dd 039cdb7a8h +dd 082afb2ebh +dd 04682f3aah +dd 05ec28620h +dd 00563d66fh +dd 029710621h +dd 0f24c6f85h +dd 07e6720adh +dd 0d8827713h +dd 015796163h +dd 0ac6d2952h +dd 0ca16fcb9h +dd 0505c8ed7h +dd 0b3eb9697h +dd 09eb14df7h +dd 08563143ah +dd 0465ad1a0h +dd 05aa0374bh +dd 0a14e3dcah +dd 07d31d9d1h +dd 0cc4d461eh +dd 03f385af0h +dd 0595567a5h +dd 0d07d67f3h +dd 0396b9b0fh +dd 00f29689dh +dd 037317ca2h +dd 009669f8ah +dd 046f0791dh +dd 0b98ea2c4h +dd 00443e597h +dd 06c21cabfh +dd 0edf1dcbdh +dd 0b4e5a8d9h +dd 0f5405a6ch +dd 0855bf145h +dd 03eec0185h +dd 070a8325ch +dd 0ab17f9d3h +dd 0a3f8ff40h +dd 0d4e2689dh +dd 08a915987h +dd 08ed70b9dh +dd 075d386d1h +dd 0989c65f7h +dd 05a65e294h +dd 0b82be45fh +dd 0545087d6h +dd 0facad085h +dd 006970dbfh +dd 0c511141bh +dd 055885427h +dd 05ce40cb2h +dd 098a2ccadh +dd 0fa664e73h +dd 0e8759be8h +dd 092d02c94h +dd 0383c6169h +dd 054615252h +dd 02f1349c5h +dd 054d0aadbh +dd 080293938h +dd 09ea77215h +dd 038b896e4h +dd 00925cd35h +dd 08185c719h +dd 0a8d3590ah +dd 09f1c3446h +dd 0c767e45eh +dd 04e223893h +dd 0b21cba32h +dd 0b8303e3ah +dd 04ce742d7h +dd 017dc5939h +dd 045b92cc9h +dd 0aa5c8f17h +dd 01ac89d03h +dd 03deb6b97h +dd 05edfa410h +dd 0baf2077fh +dd 003b890bch +dd 0fd36598bh +dd 0287cc9d7h +dd 0534cd0cch +dd 0a620505ah +dd 0997f385ch +dd 050f3e114h +dd 0b179de19h +dd 0e42beddeh +dd 0a1049e49h +dd 092a6b4a5h +dd 0a5cca8c6h +dd 041b2edb6h +dd 07fed7ccfh +dd 01491fae4h +dd 0c48baed3h +dd 00cd277dbh +dd 028c18bc8h +dd 094251671h +dd 04fc88a43h +dd 03cd7acb6h +dd 070ebb6ceh +dd 043f1e8abh +dd 08036a19dh +dd 0b90a1dc2h +dd 08ddfb5c8h +dd 055c4aa25h +dd 0fec08856h +dd 01537c810h +dd 02c19daddh +dd 04066b97fh +dd 0cb58f345h +dd 005d925cch +dd 0bb455a66h +dd 07186059bh +dd 0553f6046h +dd 007da23b6h +dd 003da4460h +dd 0baf10278h +dd 0a1ce2f19h +dd 024266f7eh +dd 0ce3ccb51h +dd 0b764f528h +dd 037013cd5h +dd 07fa2c3fah +dd 0e0995252h +dd 0079c4d7ah +dd 0cecbaad8h +dd 058fe58e9h +dd 021f47dddh +dd 0c1470950h +dd 0d228e971h +dd 0e2f0c9ech +dd 03ae06b2dh +dd 07842a217h +dd 0ce0b72d0h +dd 0f23d3ffch +dd 0537f75c3h +dd 031c47443h +dd 087ecf1c3h +dd 06d51b277h +dd 064d37f19h +dd 05d40c3c3h +dd 02d2da702h +dd 000c0348ch +dd 025069741h +dd 02fc896d6h +dd 0dac4b9fch +dd 0a062108eh +dd 03e872c13h +dd 06ac0546ah +dd 0f8029404h +dd 0fd9dac34h +dd 044917b80h +dd 0e7b5e919h +dd 068e7c99ah +dd 08c4b1b8ch +dd 06ec25cfdh +dd 02828c427h +dd 0236d26e4h +dd 0c708d767h +dd 02f82c8ech +dd 00f277642h +dd 01caf961ah +dd 0115e11f4h +dd 0654fefd8h +dd 04b4cb8ffh +dd 02d407f6ah +dd 00ad38d9dh +dd 0663bd681h +dd 0120f99c4h +dd 03dee1f04h +dd 080d91968h +dd 0f42a09c7h +dd 0383d275eh +dd 09d266201h +dd 01c31006ah +dd 00f8b8f92h +dd 0929b8bfch +dd 07737c673h +dd 049855108h +dd 0a05d78ddh +dd 0147f137fh +dd 026f45228h +dd 0b2cb5c4fh +dd 031506a03h +dd 06467219ch +dd 0e2307135h +dd 03adf1b88h +dd 0893f01b4h +dd 0c2b1706dh +dd 0eeda4db8h +dd 0c703ee20h +dd 06b216bc5h +dd 02326d985h +dd 0ffb95b7ah +dd 0cf3c6bcfh +dd 088fef117h +dd 02a37cccch +dd 021f3dc2fh +dd 0f09832aeh +dd 00ac2682fh +dd 0b3e406c1h +dd 05bab7091h +dd 09cd98c69h +dd 050e84ca8h +dd 009dd231fh +dd 05364a975h +dd 0a76b5f41h +dd 0b6c83fd9h +dd 007c18d8ah +dd 0dc3d8cb6h +dd 09e065d89h +dd 0a07dfb45h +dd 0b00af426h +dd 08246b3a7h +dd 068fbef11h +dd 0edda82f6h +dd 0d18674f1h +dd 0d96bc435h +dd 06af6fd40h +dd 0ba9940eah +dd 00ce03a40h +dd 0c01de0bah +dd 04dd0f9c1h +dd 021b88aadh +dd 07f21608ah +dd 05a884ce7h +dd 08c8da662h +dd 016641685h +dd 0eca4b638h +dd 0597f68dch +dd 09def7cd9h +dd 0e0c7247dh +dd 05194da8fh +dd 0d2c5e46fh +dd 0aa2b7f7dh +dd 06f9f3c77h +dd 0c5bd2b57h +dd 0c9238dabh +dd 08778ffc7h +dd 0cf49562ah +dd 062e75d50h +dd 02600b80ch +dd 029033be3h +dd 09b88a73ch +dd 03411dfcbh +dd 0b4cf9fd9h +dd 0cc38bad3h +dd 0600e296bh +dd 0cdb3b3d2h +dd 027f64479h +dd 0691325edh +dd 00fd3e0afh +dd 00b3d9116h +dd 06fa56cb4h +dd 021dd02e9h +dd 0c10762d6h +dd 0ffe4c781h +dd 0b48dc71ch +dd 07b49c5e6h +dd 0fde5503ah +dd 0efd4e433h +dd 02da04e64h +dd 0982a9b9ah +dd 0a4af33ach +dd 0228bbd77h +dd 0c20a9132h +dd 0f8aea284h +dd 00274bb61h +dd 02be0c2d4h +dd 0e8a3a0f1h +dd 02642dfach +dd 0f20be34dh +dd 02399cc30h +dd 062b36269h +dd 0564a6490h +dd 001cd10fbh +dd 0f9f8df92h +dd 056fa427dh +dd 01776274fh +dd 0d7514019h +dd 06d3643efh +dd 0c8a9f863h +dd 02e9e3b75h +dd 0d9369fd7h +dd 0bea96b37h +dd 0f681164eh +dd 0a4e9eb32h +dd 07b70f524h +dd 009c4f540h +dd 08719a0b7h +dd 08e27f176h +dd 013c18e7ah +dd 0680bd9ebh +dd 024680ddeh +dd 01d353bedh +dd 0395739fah +dd 0d0becf13h +dd 04e2a8b2dh +dd 0560aafd2h +dd 0167202b5h +dd 0f0fc517dh +dd 0e141f6bdh +dd 0ad78041ah +dd 064c8a397h +dd 0017dd61ah +dd 0bc3cccdbh +dd 02f3aa8c0h +dd 05f676c27h +dd 072f8f99bh +dd 0c483f58ch +dd 06f5c02ceh +dd 0e5473570h +dd 0d245bc95h +dd 0b1b60cd2h +dd 05920fb81h +dd 054e85051h +dd 05fbb7dc5h +dd 0a2c38659h +dd 0480c265bh +dd 0cd6d49cfh +dd 060875050h +dd 03488f09ch +dd 0eefcb167h +dd 0997af636h +dd 0a1b777d1h +dd 07e251a29h +dd 02332ca56h +dd 0b6c3d99ah +dd 0afcd3d59h +dd 033d4ada4h +dd 02b5c95d6h +dd 0d6f752b1h +dd 0d87b17d3h +dd 0e36509deh +dd 07cdc6bfch +dd 07005f080h +dd 003cba293h +dd 042e2c7cah +dd 04a59ff50h +dd 09f3c9994h +dd 0824ffb41h +dd 030b4e74ch +dd 01826baa7h +dd 0da5c76ach +dd 07a809966h +dd 0fdf7a49bh +dd 0a5501379h +dd 0650ea13ah +dd 03884b27ch +dd 034431320h +dd 0a87b36abh +dd 09f894c97h +dd 044098189h +dd 039c13531h +dd 0416e550eh +dd 0602d7a32h +dd 01b387267h +dd 0353179cch +dd 0bfeedb0fh +dd 06adaf2f8h +dd 088758ea0h +dd 019221425h +dd 0df5e5c95h +dd 05863a465h +dd 06426bbbah +dd 0f826db7eh +dd 0327253a2h +dd 06867b2bch +dd 098cd892ah +dd 0a9355d56h +dd 02840833ah +dd 0314ba64bh +dd 0c75e95eah +dd 032ae2f73h +dd 00ed6fabah +dd 03167f426h +dd 0b95fb488h +dd 0564447e7h +dd 071891546h +dd 00fc5a637h +dd 0df198166h +dd 0ceb5dc26h +dd 0ba5dedb7h +dd 0c1fb53cdh +dd 0807e7d1bh +dd 0f2d15a23h +dd 0924e055ah +dd 0caf6c7c1h +dd 022970766h +dd 025a0e866h +dd 0b4929d52h +dd 0073c7ecbh +dd 0d194997eh +dd 007b0cdech +dd 0639a4ff0h +dd 076781821h +dd 0c0612f9bh +dd 07664c8d0h +dd 09ac1f29ch +dd 01944cd43h +dd 000080ea2h +dd 0c244fb44h +dd 0c0fe52afh +dd 02cc8fd7ch +dd 0ad88e48ah +dd 0ffed0a37h +dd 04a00759eh +dd 09c9dac22h +dd 0f10c45b1h +dd 0ef581cc9h +dd 00b331fb0h +dd 06893b597h +dd 08e7549f0h +dd 03d4ced86h +dd 0cdce64c3h +dd 0b57f37feh +dd 080bb8374h +dd 0d3cfb41ch +dd 00216dfe1h +dd 0aafaeee5h +dd 0c210f742h +dd 010557e6fh +dd 0b1e11b37h +dd 02bb205fah +dd 0df8826ceh +dd 09c87979ah +dd 02ae87f20h +dd 05ae2d63fh +dd 0380f4b4ah +dd 02a475a05h +dd 0f1986945h +dd 006a6ee51h +dd 05bbd8440h +dd 07f5a226ch +dd 05d610130h +dd 0eb514a9ah +dd 00c9e48c8h +dd 006242d4dh +dd 0314f019fh +dd 024e264fdh +dd 082ce58c5h +dd 0c615f99eh +dd 0c7fa817dh +dd 0f0424cb6h +dd 04ebf6139h +dd 0adf6d6b6h +dd 0029e4d25h +dd 0426a6984h +dd 00d476fabh +dd 08700e429h +dd 057ffdac1h +dd 05d710252h +dd 0f0fd8140h +dd 037568b6ah +dd 0a8b8c170h +dd 056ad043eh +dd 0a37dbe7ah +dd 04a125165h +dd 0aa158bf3h +dd 0c0b08a85h +dd 0c26be5a9h +dd 020568334h +dd 0a2b4af0fh +dd 0d089a5dah +dd 0f981c80ah +dd 0115df9f2h +dd 0e2d2f395h +dd 03fe1a8a8h +dd 0c536f869h +dd 0e1ca8881h +dd 085978d3ch +dd 0f412d2e3h +dd 0cd095da9h +dd 03668b6a1h +dd 06b0e88fch +dd 07857acabh +dd 0fa3e0d3eh +dd 001b74f2ch +dd 060318908h +dd 056e285cah +dd 08ea15d5dh +dd 03be5b1f0h +dd 05207d6c9h +dd 0e652be49h +dd 009bc31cch +dd 02533aeb1h +dd 0abb8f9f5h +dd 0c6bf875ch +dd 0deaa1f69h +dd 0ff6a8a03h +dd 04bb42e17h +dd 0fec0c087h +dd 04efd40b5h +dd 005ed5de8h +dd 067dd749ch +dd 0e16cf158h +dd 013e306b8h +dd 00283b2b5h +dd 0bf4be590h +dd 09a8e9a14h +dd 0b2662240h +dd 06d9cce40h +dd 046f311c3h +dd 0ae8df444h +dd 0e748229ch +dd 046721664h +dd 06d2b8523h +dd 087f75390h +dd 0a718ef87h +dd 012321ae0h +dd 00a189ab0h +dd 070adf99eh +dd 02281090dh +dd 04daa5cadh +dd 01756ecd0h +dd 019528ce8h +dd 0422da6ech +dd 08fe9ed1dh +dd 0958b92ebh +dd 0247bc5a2h +dd 07e607c6ch +dd 0598e62aeh +dd 077f97741h +dd 0949f177fh +dd 02d9f66c6h +dd 0eac550f4h +dd 06b4627cbh +dd 06dda5855h +dd 09e5df1d5h +dd 0060b12a8h +dd 0af609d88h +dd 081b48bd1h +dd 0932d89c5h +dd 016a37d82h +dd 0b0a8c714h +dd 0bce99d67h +dd 0c4789962h +dd 008ecfe47h +dd 0196d305bh +dd 0f030a37ch +dd 0edb77a28h +dd 06168468dh +dd 071f40435h +dd 06c843f00h +dd 0c0f8eadbh +dd 0ba5d98d1h +dd 085be4744h +dd 04a480ae9h +dd 09a4cef34h +dd 0997fefbdh +dd 04234977eh +dd 0dd3818e6h +dd 0f63d8976h +dd 0bd523ff0h +dd 00dbfc2dch +dd 0ff1d34c4h +dd 0db60d2b1h +dd 04518ef9ch +dd 0099d99d4h +dd 0c03e0e12h +dd 023234502h +dd 0d1da3c80h +dd 0020cde0ch +dd 01b89bd22h +dd 01e87e8f4h +dd 05ea78e15h +dd 0d854d4feh +dd 06857f8e1h +dd 06a3ee7c2h +dd 0adb56468h +dd 00ddf3015h +dd 0b22095e8h +dd 0531c9a19h +dd 0d80e9734h +dd 04da39065h +dd 05c16db8fh +dd 0ae13e7e6h +dd 0f8b6ba44h +dd 09e6b9a8bh +dd 0651c4593h +dd 09c04d898h +dd 0fcb131f9h +dd 0df886631h +dd 03672195ah +dd 0e71486ffh +dd 0009cc96dh +dd 07ffb3586h +dd 0d7f449bah +dd 06b244838h +dd 0fbb8ace3h +dd 0c03a41b8h +dd 08d1af3d4h +dd 01a912b1bh +dd 0ee95b6f1h +dd 028ac081ah +dd 0ff6b024ch +dd 0dfe66729h +dd 0d513b4fdh +dd 0ee91ba1ch +dd 0d6de9547h +dd 0f30c8b8ah +dd 0dda06046h +dd 087185f48h +dd 01515311dh +dd 0fa1649bah +dd 013e12ef9h +dd 0f8a28c69h +dd 080a0b20ah +dd 0cc73faabh +dd 0e022c54dh +dd 04ac905f3h +dd 0285255e7h +dd 08660ad2eh +dd 0c97f9f5fh +dd 0f1af8dcbh +dd 046feee78h +dd 0a258b7b3h +dd 0c906f4b0h +dd 09e2d08b8h +dd 0e8f0d2bah +dd 07f21984ch +dd 031859b89h +dd 0fe2088c5h +dd 0da615b0eh +dd 03777b82eh +dd 0dcb193a9h +dd 04d4bde37h +dd 0c00f3886h +dd 09a60c4b2h +dd 0554ff388h +dd 0b2d8be90h +dd 08183073ah +dd 0a4005c5ah +dd 04d5e2ea2h +dd 09abb3a4bh +dd 06132abc2h +dd 08ca8ce8dh +dd 05fb41bddh +dd 06ae86d36h +dd 0cde9c1efh +dd 0794a8482h +dd 077fb46fdh +dd 0673d36c5h +dd 001a9711eh +dd 0d45069eah +dd 08b79f435h +dd 0d7fb402bh +dd 0fa35a99ah +dd 02f294370h +dd 00239c348h +dd 01c7c81f0h +dd 0c448864ch +dd 0d9e922cch +dd 05f943174h +dd 01d9df865h +dd 0c48d1108h +dd 0c47fbb28h +dd 0ff5cc7d6h +dd 0e682e379h +dd 094f8d310h +dd 0ba114610h +dd 0470d3ba6h +dd 0923f5a1ah +dd 0efef2091h +dd 026638f50h +dd 03a15366ah +dd 0b6dfe3e5h +dd 0296865fbh +dd 04c009e46h +dd 0713560c3h +dd 0cac249dah +dd 04d3eae9eh +dd 037fd75b8h +dd 08d1c346ch +dd 0c1718d51h +dd 013c19f0ah +dd 06ecf0bc3h +dd 0bfdc505fh +dd 0bf12a0b9h +dd 06c6c219bh +dd 031c1cc95h +dd 05419e32fh +dd 062ce7e69h +dd 01ff876c3h +dd 08f0db990h +dd 010251718h +dd 0538ca7b9h +dd 0bbc8fdeah +dd 000151d06h +dd 0c33603c8h +dd 0dc39f1cfh +dd 0f420c01dh +dd 03253adefh +dd 001e35bcfh +dd 05083d29ch +dd 0e2ed8b5ch +dd 0209c330fh +dd 04b28d747h +dd 0e0800af2h +dd 0c3b5b6deh +dd 05eb30abdh +dd 0708f571ch +dd 0a6ab1268h +dd 0626508b3h +dd 01ad5bd81h +dd 013d09425h +dd 08ae8b273h +dd 060090054h +dd 0cfebd495h +dd 094a16ae0h +dd 0decf9a8ch +dd 02efb7409h +dd 099ae62cfh +dd 0e2c66251h +dd 0a8d2cbe8h +dd 03b202e8fh +dd 07fe873feh +dd 0366b4e92h +dd 0b868663eh +dd 03817d2a1h +dd 084f67428h +dd 0e1311e8fh +dd 055945d22h +dd 02556e8ech +dd 0118bbf0dh +dd 0f5ebf6fbh +dd 0a349f231h +dd 048dc953eh +dd 013bf5d37h +dd 07ae9a47eh +dd 026195d21h +dd 078a34773h +dd 09a178de0h +dd 0022c71d0h +dd 00ca4e2ffh +dd 0653f2777h +dd 05bd8f716h +dd 0cdabda9fh +dd 020a6b223h +dd 01c7bfb3ch +dd 0d8798e44h +dd 070b4f034h +dd 0900b1bf7h +dd 040530148h +dd 063fdbf25h +dd 02463ba32h +dd 0f560b08bh +dd 079d8ff96h +dd 07fb02b1ah +dd 02b490544h +dd 0351c48fah +dd 00a1cc3adh +dd 08f83fe1fh +dd 06e0a92e8h +dd 0d10c9f13h +dd 083c987e9h +dd 0f143df10h +dd 0c82f7190h +dd 0c8550628h +dd 09f3e659bh +dd 082c48bc7h +dd 0d2fd1896h +dd 0256519f9h +dd 0d8d73e3ch +dd 0d8c1232ah +dd 01ba35274h +dd 0330717f7h +dd 0513f9528h +dd 03c92434eh +dd 0ba61d350h +dd 0b56fad36h +dd 0844d23ddh +dd 04d549ba8h +dd 05e6a5729h +dd 0072df37eh +dd 035c3ac91h +dd 07712078bh +dd 0ba30707eh +dd 0641eb14ch +dd 039542517h +dd 0a8ee3708h +dd 0f3807c10h +dd 0d526117eh +dd 0994fcc18h +dd 0241b4340h +dd 00aa85428h +dd 0039d1a96h +dd 041a4bac6h +dd 0944de84fh +dd 03dc508f0h +dd 05a2c1a66h +dd 0a47d141bh +dd 0829df137h +dd 0147a4bdch +dd 0c833bd14h +dd 080a1f6dfh +dd 03408ff2fh +dd 0a5fa5d28h +dd 0919c0509h +dd 019f5a928h +dd 07b3dd2b8h +dd 0e9600002h +dd 0e1176ecfh +dd 07d1a41e3h +dd 061c22a82h +dd 05bb3eac5h +dd 09dffa33dh +dd 061ac1720h +dd 03812b330h +dd 0ba56d346h +dd 0eaadd30fh +dd 058fdf19ch +dd 0bf7703b0h +dd 04735cf16h +dd 04e56fe39h +dd 08f6bd111h +dd 0fabcfaf6h +dd 0de68ce51h +dd 000c0abfdh +dd 0c5d745f5h +dd 0d9bc441eh +dd 0c7a29075h +dd 081a08389h +dd 017a01b87h +dd 0aa048763h +dd 0329c4665h +dd 04a20a8b8h +dd 09020ad90h +dd 0916e9575h +dd 06a0ad847h +dd 064961c3ah +dd 06c62d2f8h +dd 07cf2ce3fh +dd 096b4c1e9h +dd 01e2f0e74h +dd 07ced1ef7h +dd 0c108fd46h +dd 0af44140fh +dd 08d2bf835h +dd 05b508a3eh +dd 0cf906219h +dd 0f496c80fh +dd 0d3915d06h +dd 0e5cf4293h +dd 0c230403fh +dd 0d525095eh +dd 0b471ea63h +dd 05080e79ah +dd 0c60def4dh +dd 0f3aa8c01h +dd 0ffe01aedh +dd 06f955468h +dd 021e3aca4h +dd 0133826bdh +dd 0f6ae585ch +dd 025698392h +dd 079e48be2h +dd 0a2777746h +dd 08f0dd37ch +dd 02b7767b1h +dd 0831eeb65h +dd 0c1ff2b3fh +dd 0a145cd0ch +dd 053e66dcah +dd 0b9861dcbh +dd 088103db5h +dd 0ccb27c5fh +dd 0861fbaf2h +dd 09d64dd84h +dd 0d9bd6775h +dd 000a14f3fh +dd 02d91ff4bh +dd 0acf40185h +dd 02efc3240h +dd 07e52f632h +dd 002ac787fh +dd 0fdcf6b82h +dd 02387e37dh +dd 0d9801e5dh +dd 032c8e728h +dd 0639430b4h +dd 0c03a7894h +dd 09ae293fah +dd 0aaf8e7c4h +dd 00d44f88eh +dd 0ed9e595ch +dd 0f6ac1dcfh +dd 05f3519fch +dd 0af0e09e0h +dd 004a22a4ch +dd 0283672b2h +dd 0a2d8d4bfh +dd 09c9132c7h +dd 0969d41e6h +dd 0e48a942eh +dd 06e8501dch +dd 0225edc97h +dd 0f21263c0h +dd 0b9d35fcah +dd 0b904be31h +dd 06ec0110dh +dd 0b8c1943eh +dd 0fb8cfc4eh +dd 02fb0400ah +dd 063e5695ah +dd 07d53b42bh +dd 0a38f0c91h +dd 0a3f840c0h +dd 0d9ddc477h +dd 0461a392ah +dd 0b3b82209h +dd 097726556h +dd 007683440h +dd 0e368f0c2h +dd 0c15e6cd2h +dd 0c19a3e1ch +dd 0547f28e0h +dd 0ab045f0eh +dd 00998b7f4h +dd 031fc1525h +dd 06c6cf717h +dd 0d2bcaa8bh +dd 0f4904e6fh +dd 054af2b1bh +dd 0bf049f5ah +dd 0d0d2fb1ah +dd 035a5d249h +dd 01f0a1e70h +dd 017d8ec46h +dd 0a9640832h +dd 0e14a9ceeh +dd 0292209afh +dd 09e17c302h +dd 082ee77d0h +dd 08beb55b3h +dd 0e0901a51h +dd 033300583h +dd 091cd8767h +dd 0d8e6da56h +dd 09a1fdb1fh +dd 01d040559h +dd 08a0e1961h +dd 00d117314h +dd 0ce20ed60h +dd 0c52229bdh +dd 05fdec4afh +dd 0b6689351h +dd 06a26d736h +dd 0840a0122h +dd 00213e7d0h +dd 02a41981ah +dd 030036464h +dd 0eeaa2106h +dd 029b31b1bh +dd 0ce15fc23h +dd 08edd4632h +dd 05dad6884h +dd 0a2050ad5h +dd 042eaecc0h +dd 05cfafd01h +dd 0385ae21fh +dd 0f62d68d7h +dd 0afe8f433h +dd 0b22420e4h +dd 0611a7640h +dd 07d3b446fh +dd 0bd1429fbh +dd 097797019h +dd 012f7aa2bh +dd 08c6e4cfah +dd 049bb06abh +dd 0476f164ah +dd 05addd867h +dd 01b11324ah +dd 011e0f425h +dd 060c332d2h +dd 03aebd622h +dd 05298c549h +dd 0fc1ac6aah +dd 0072f93cfh +dd 0912891eeh +dd 0db2124bch +dd 00836c412h +dd 02c5535c8h +dd 0ff4f4689h +dd 06c0d6f28h +dd 0ec3c2c44h +dd 0a0aad1d1h +dd 0d08e630dh +dd 06bc13d29h +dd 0c45d8097h +dd 0d34e30d1h +dd 0e03f5c38h +dd 08ca8ae29h +dd 0ef8494fch +dd 0f2f31165h +dd 007d1290fh +dd 062564e6ch +dd 08fa070c5h +dd 067dfb6c9h +dd 0166237abh +dd 0bf0cbff6h +dd 02c912d0dh +dd 055f27c0fh +dd 0158818e8h +dd 0ca022a2ah +dd 05fa1fd8eh +dd 0919c595dh +dd 0e8007830h +dd 0ff751f37h +dd 0cf47aa59h +dd 0f97bc1b8h +dd 0ba1d305ah +dd 0c5abd8f7h +dd 0a789c624h +dd 081433a07h +dd 01bd1b32ah +dd 07f6981e7h +dd 0536c44a5h +dd 00c81fff1h +dd 015e8b589h +dd 0015a091bh +dd 0ae3ab7d6h +dd 0a00cc6c6h +dd 0ef0a195bh +dd 0fd54feaah +dd 0a5b84716h +dd 0b0fcb280h +dd 0b939514ah +dd 08a3aee55h +dd 0d6420fech +dd 02062241dh +dd 0e94d5130h +dd 07768718eh +dd 0cca9c56dh +dd 0cd429ca3h +dd 08d4623e0h +dd 064a2eaadh +dd 00a03c9fah +dd 0edfdc410h +dd 040fdf833h +dd 07b7a45dah +dd 0a812bd29h +dd 014c0a872h +dd 0110682feh +dd 087bb747ch +dd 0e33b90b4h +dd 09212ba1ah +dd 0c9c38171h +dd 071ce270eh +dd 0f79158a4h +dd 0d0a41464h +dd 0992a1ea8h +dd 012e98f83h +dd 01f35c47bh +dd 003ac328ah +dd 045be502dh +dd 04f32c031h +dd 061b7956eh +dd 0e23fd44dh +dd 09a5970a7h +dd 016b3953bh +dd 02bd4673ah +dd 019bf159eh +dd 04d5ce2feh +dd 03912f60dh +dd 0d4c097edh +dd 04095c635h +dd 0735d27c0h +dd 04c886538h +dd 0f81bae3bh +dd 06dcd0b83h +dd 042eece58h +dd 033a42684h +dd 0e8a0c8c7h +dd 0f3674826h +dd 0b835818bh +dd 0a7c067f6h +dd 04fc71740h +dd 07d5607b8h +dd 0394e5c3ch +dd 08f8b2175h +dd 02b58367bh +dd 08b6a3b41h +dd 0072f05ceh +dd 0257dfb6ah +dd 09bfeeefbh +dd 06b7be37ch +dd 05d4c567ah +dd 0d2e0fb84h +dd 0e7d74ce4h +dd 0047a4050h +dd 07d410110h +dd 0aef99647h +dd 0a180f433h +dd 092b7bfa5h +dd 0e12f38f6h +dd 0dc9b002fh +dd 05a280b56h +dd 0d38048ach +dd 0b3ca2e4ah +dd 0f1c05804h +dd 08fe76f54h +dd 0d97aca67h +dd 0efca6cabh +dd 0a63fe60ch +dd 0d6b7c505h +dd 0bd1402c0h +dd 05fb5b1bdh +dd 0b4cfea9fh +dd 06179e8ddh +dd 05f569dc0h +dd 080220267h +dd 02f18f2c8h +dd 0b90a6f28h +dd 0c694fc03h +dd 06f4a1fcbh +dd 0dae9a113h +dd 00f1096dfh +dd 0a3583d5eh +dd 0c2e8f8b3h +dd 013cdf79dh +dd 0d74c7378h +dd 0d6a3efb3h +dd 0397e49fch +dd 08fc65c1bh +dd 01916b92dh +dd 0c0317388h +dd 0eec3eaa9h +dd 0401b8e4fh +dd 031ed1572h +dd 08decac2ah +dd 077d6855ch +dd 07e4f600dh +dd 0f6a07514h +dd 0b88fc5b2h +dd 010b203cbh +dd 095576ee3h +dd 0cd23ac7dh +dd 0713c5d31h +dd 06ac3c512h +dd 05c4bd50eh +dd 062d83bc4h +dd 07fefb653h +dd 0e5fe7d8bh +dd 04dccf246h +dd 01386e0edh +dd 059cc2d9bh +dd 096d65924h +dd 06783fc4dh +dd 0e00fc3f1h +dd 0461488f2h +dd 0523fa367h +dd 0b6edf7e4h +dd 03a3b7378h +dd 014c790e7h +dd 06a7be86dh +dd 0cf5d7652h +dd 00e2a9b79h +dd 0ac913d8bh +dd 09549a0ffh +dd 014db11a3h +dd 0c40e425ah +dd 07fb214cah +dd 0d6484d3fh +dd 00dceaa26h +dd 0b649d3adh +dd 0bf8bc7cah +dd 05f95303ch +dd 0b42b79d5h +dd 0c245762fh +dd 0e681c0e3h +dd 0638f833ah +dd 0d871223bh +dd 05a6b0809h +dd 08ebbc044h +dd 0db879ce4h +dd 02e806d45h +dd 0601e5e37h +dd 0adfe3e36h +dd 0dafdf2edh +dd 0a896f9f0h +dd 0fdee4cdfh +dd 04e438261h +dd 003493743h +dd 00718b643h +dd 0dd4e11ffh +dd 068595b3ah +dd 0360edcf4h +dd 0c3bbaab6h +dd 0632b5e7eh +dd 04e8f33d3h +dd 01d4a5e5fh +dd 0259dfe88h +dd 07841065bh +dd 0c3da38b8h +dd 00de1bbdbh +dd 0e25c0a26h +dd 0909bcdc4h +dd 0dc478284h +dd 05ca9a88fh +dd 0825ba433h +dd 0de1efdd5h +dd 0fff92cc6h +dd 08206bc8ch +dd 02b216fdch +dd 0240eae1eh +dd 06cbf4dd6h +dd 046c94ccfh +dd 019096c93h +dd 08be9d609h +dd 043b7fb04h +dd 06840f973h +dd 0b7ad6473h +dd 0e0550164h +dd 0e6abafb4h +dd 0e1b22b8dh +dd 04c2f953bh +dd 00525e493h +dd 08fa8126bh +dd 082e27268h +dd 0b34ffe68h +dd 053164d4bh +dd 09d2c73e0h +dd 001ea9654h +dd 0ff4eaf3ch +dd 065fa87c6h +dd 0ed40bbf3h +dd 004560099h +dd 0b89a838ch +dd 0b633eb87h +dd 0eb1da232h +dd 0d04c7324h +dd 0b1e66243h +dd 0048009abh +dd 026e72d9ah +dd 0729acec2h +dd 06978eebeh +dd 092f7a75eh +dd 070b1c25dh +dd 0a53b90d1h +dd 09fae4524h +dd 079361e30h +dd 036d2ee27h +dd 047d07110h +dd 09c548cb6h +dd 0ed4aeae7h +dd 00305aa4bh +dd 0d312e0e9h +dd 083ea9ea6h +dd 00a6e32dch +dd 021a077f3h +dd 0f3cac772h +dd 09221efffh +dd 0456d2b12h +dd 095158f03h +dd 0a346126dh +dd 05cdbb641h +dd 0b1cc45ddh +dd 017e159a9h +dd 0519dfd4ch +dd 00b772c84h +dd 0d33ffa2eh +dd 060ea4df2h +dd 0ee648a4ah +dd 03694f6d2h +dd 0ed8d0e7dh +dd 0b9640caah +dd 0c1aa2c56h +dd 01a6c4396h +dd 0e92fc058h +dd 097dcb95dh +dd 0f3db6bc5h +dd 0d31a9d6ah +dd 03c2bd212h +dd 0018c3fc4h +dd 049e85619h +dd 080d2a0cah +dd 0cbd2c216h +dd 05e348f38h +dd 085e85085h +dd 0d88e323ch +dd 068d36a8bh +dd 047adba37h +dd 00d2efb48h +dd 0c181afb0h +dd 060d72750h +dd 0c6e19dd7h +dd 044753f4dh +dd 01bb58492h +dd 02da89f8ah +dd 01149a156h +dd 0d0e29656h +dd 031cf19f0h +dd 08921e465h +dd 0383ea870h +dd 075130601h +dd 0023e6e26h +dd 0c21d711ch +dd 0a62e41a5h +dd 0fcf19763h +dd 078280ffah +dd 0a1d489adh +dd 07500e85bh +dd 0ccd6ef5ch +dd 02f7aee43h +dd 0f295d71bh +dd 0a087830ah +dd 0ccee33d7h +dd 0647cea9eh +dd 08b8ce330h +dd 01759c53bh +dd 0d128a2d5h +dd 02d36c3dbh +dd 0ccb5a0edh +dd 017cacfb8h +dd 040cd2343h +dd 00b27244bh +dd 06a9a38a8h +dd 027f193b0h +dd 0bf29df4dh +dd 053f52affh +dd 066fbcd3ah +dd 0e033dbe0h +dd 0543e71f9h +dd 06f2489ebh +dd 07033130dh +dd 0478183bdh +dd 053b6472fh +dd 08d94b894h +dd 0858297dah +dd 0903f80d3h +dd 03cce6f6ah +dd 0036f5fd1h +dd 03e683219h +dd 0fdcb14c8h +dd 001490bd3h +dd 0d3bda7d8h +dd 0bf13aa7bh +dd 078716581h +dd 00fd3765dh +dd 01fb1ae0dh +dd 05335fa4fh +dd 0686ae1dfh +dd 0f9ee9ebch +dd 0f7da5d12h +dd 08e176f14h +dd 0d60268a9h +dd 0576a1a7dh +dd 0f69d5da8h +dd 0181bd467h +dd 045719c66h +dd 004f19056h +dd 0ffa9f691h +dd 03ecaea97h +dd 0b810da04h +dd 0d123fd5ah +dd 0c46ddf2bh +dd 028570255h +dd 029a48f7eh +dd 021f3acf6h +dd 0e13a4eedh +dd 0f44303e2h +dd 062a32cc9h +dd 01de776b6h +dd 029e7389fh +dd 09c189dcdh +dd 0fbfe8df2h +dd 0c4613715h +dd 0f94eb7e3h +dd 08644eec5h +dd 0770ecc08h +dd 0e6903c00h +dd 077287f60h +dd 000e44de9h +dd 0d4dc3bd7h +dd 034060310h +dd 006a5b809h +dd 0758837bfh +dd 086d62300h +dd 0b9f6e23dh +dd 07931709eh +dd 06bca23dfh +dd 02911e5d0h +dd 0fd330eaeh +dd 001141d19h +dd 0297ae799h +dd 0464e97b4h +dd 084d70bb6h +dd 053f8b1bfh +dd 034dbba2dh +dd 04db1c27fh +dd 062c4236ch +dd 08f6b333bh +dd 00a41a293h +dd 07ae6ac91h +dd 06985e48dh +dd 0b7ee3e26h +dd 01a571896h +dd 0d58fb0f9h +dd 07ae9263ah +dd 042053a15h +dd 0281cdb8ah +dd 02afa9a00h +dd 069197ec1h +dd 01821ffc6h +dd 006f933e6h +dd 036953b0dh +dd 046d13bbah +dd 03fc2901fh +dd 0113dee06h +dd 0b26a2ea8h +dd 0595de10eh +dd 0379a43f3h +dd 0daf25d1ah +dd 0ecb83cfdh +dd 079a50a84h +dd 09daea9b7h +dd 0f1aa2154h +dd 0dd8e3f36h +dd 0f284219eh +dd 0162cb175h +dd 0b6b8f0e1h +dd 044f927b5h +dd 035619a01h +dd 05b33273ah +dd 02128e67fh +dd 0abf36a1eh +dd 04f1373dfh +dd 06c852237h +dd 0f3b5d799h +dd 0911bcf20h +dd 03b3c9553h +dd 0c51e7ccbh +dd 0cee9d75ah +dd 00f3e9352h +dd 0512e1f92h +dd 04254bc27h +dd 09cb63b6dh +dd 040a9a924h +dd 05c851cc2h +dd 01b8385d5h +dd 092f1a430h +dd 0fd3b4277h +dd 0f8969c95h +dd 07e0fbbaah +dd 0d141b341h +dd 01e654cd2h +dd 09eba486bh +dd 0a66219e0h +dd 0ee2f7fd0h +dd 0ecf8c9e7h +dd 02aeb433bh +dd 08fb6b6d6h +dd 0c7e50829h +dd 073477ac0h +dd 033753edah +dd 0e62e8fb1h +dd 04a5c1698h +dd 09fdb70fdh +dd 02dc70da1h +dd 0b2a4bd7dh +dd 003947796h +dd 0af8993adh +dd 099a80558h +dd 0058aa0f3h +dd 0ed936ce2h +dd 03fae1a78h +dd 0ecfc4b28h +dd 09cfe3c50h +dd 0e7a43ed0h +dd 0d65d51dah +dd 0879eb398h +dd 002aa8665h +dd 0d123ca87h +dd 02c9af924h +dd 035cf5403h +dd 0d4a7fe18h +dd 06fcf5dedh +dd 04a3fd6e8h +dd 05862f0cbh +dd 0f22098fch +dd 04f4525b6h +dd 06b754e27h +dd 01623d497h +dd 02c6b2d08h +dd 04987e1e6h +dd 0ce66154bh +dd 0a3fbb1ffh +dd 0454fb2f3h +dd 0a27a844fh +dd 06caec53ah +dd 0bab9d35ah +dd 0d46aa0dah +dd 0fa8143cch +dd 07fd6ca19h +dd 0443f86cbh +dd 05ee167dfh +dd 038ff0e33h +dd 038fecb13h +dd 083b9554bh +dd 0f0bc88e1h +dd 052051dc3h +dd 01a156cfdh +dd 09982784fh +dd 044475510h +dd 01096fc51h +dd 033cd25f0h +dd 0f0d5c26ch +dd 073b43382h +dd 0384b28e0h +dd 0e2b3d594h +dd 0be8e9199h +dd 0afda4994h +dd 0852f431ch +dd 04c7e8786h +dd 00d753974h +dd 0bcbb0eebh +dd 092187eb6h +dd 00e5f6104h +dd 07d7484a2h +dd 08836ab62h +dd 02ece2c61h +dd 08bb203b6h +dd 0f4e98640h +dd 0b56bd4d8h +dd 027d0b463h +dd 0cd96b3e8h +dd 0ab565c8dh +dd 0a012d702h +dd 0c831f39eh +dd 0a1e85d70h +dd 08a7736e2h +dd 0985935ebh +dd 056ade232h +dd 0bd1d45bch +dd 02fdb9075h +dd 06873e87eh +dd 032d32ce0h +dd 0bac254b4h +dd 02e9021fch +dd 0faff458eh +dd 03a4647ech +dd 084ce89b3h +dd 0189dd805h +dd 0e21bde14h +dd 066d289fdh +dd 02200f989h +dd 09f6faec3h +dd 05a53becbh +dd 04ed422f5h +dd 0b3f70383h +dd 0f7a44aa7h +dd 07805765bh +dd 0c9419053h +dd 08db2373bh +dd 0211897fch +dd 03d9d07d4h +dd 06c9ee4e0h +dd 0f4ca431dh +dd 006088460h +dd 028d7db77h +dd 0c741e4e9h +dd 04e52b0f3h +dd 0fb7faaa6h +dd 04a576f3fh +dd 024de2a6ch +dd 0c5ecea85h +dd 0058ccec3h +dd 030fea033h +dd 020c85aefh +dd 002037ba2h +dd 007037148h +dd 06236d493h +dd 0ad606249h +dd 0994103a7h +dd 00b596d40h +dd 091cf0f2dh +dd 0c342bccch +dd 0621989cbh +dd 0da2fb76ah +dd 0eba1cd01h +dd 05f1c13b7h +dd 0b2fa9adbh +dd 0dc31fb65h +dd 0853b11a1h +dd 08d8024bbh +dd 0566e4f8eh +dd 0d1d59bb7h +dd 0414294cah +dd 01402275ah +dd 0359700bfh +dd 0555a5075h +dd 076e7d9feh +dd 0dc720203h +dd 0949e3aa5h +dd 0525e1697h +dd 0c952ec13h +dd 034ecaf77h +dd 0a9cb6d0ch +dd 09b6f4c30h +dd 012b4e113h +dd 0cdfed7c0h +dd 03ecf0397h +dd 03d681ee6h +dd 01b20b23bh +dd 0d51478cbh +dd 076520e5dh +dd 068fd588ch +dd 002690b57h +dd 0b1b9a238h +dd 0f6a7e928h +dd 09d45ce00h +dd 059db5474h +dd 0a4351518h +dd 00ae0e75fh +dd 029cb1ae2h +dd 0a05ce0ddh +dd 02f03eae3h +dd 044f1d875h +dd 0762b5af3h +dd 067055aa0h +dd 0cc765775h +dd 038df68a5h +dd 0f3429c17h +dd 0c8b65ee3h +dd 08648f4b0h +dd 07b8989cah +dd 06a683c20h +dd 0e2e73632h +dd 09d7b6c86h +dd 0ddf64600h +dd 0ea45a7c3h +dd 0ce833f0eh +dd 084bc8557h +dd 0064a23a2h +dd 036bd522ch +dd 05084c23dh +dd 06772772dh +dd 042eb7446h +dd 083d19d1fh +dd 0021c21d1h +dd 087833810h +dd 0be43fb2ch +dd 051f299cah +dd 0ee6119f9h +dd 022d32a72h +dd 0a66bc07ch +dd 0f07e74c9h +dd 0d0874e4ah +dd 097790da1h +dd 0ee97cea4h +dd 002b39955h +dd 06b98cbc6h +dd 06c223701h +dd 00d463c7ah +dd 0912d0dc9h +dd 0dc0c3700h +dd 0bbbbcd70h +dd 0c72ec290h +dd 0d51da3f7h +dd 0c231964bh +dd 0da3fdf22h +dd 05586b095h +dd 034701914h +dd 00dcbb5a8h +dd 0ec656bb0h +dd 09e838f1bh +dd 037560564h +dd 057de493eh +dd 0de866126h +dd 02e7afb67h +dd 099040e93h +dd 001c1965dh +dd 04c59b780h +dd 09eec182dh +dd 0abf00da4h +dd 097a70c6fh +dd 0d5e689b7h +dd 0f7ba01b6h +dd 062c32a5ch +dd 05ed40f16h +dd 0d37f05f0h +dd 0005057c8h +dd 0624915f6h +dd 01ac3a653h +dd 0315501efh +dd 0b7f368a4h +dd 088ede7bfh +dd 06073fb15h +dd 05e5c2e38h +dd 0b75106bbh +dd 020bbd202h +dd 09aba62c4h +dd 05961cd68h +dd 0beae7930h +dd 07bbc55cdh +dd 0f2bd7120h +dd 0577979c7h +dd 0687eac6ch +dd 0973b0d09h +dd 0ff28ac3dh +dd 0fc8bb854h +dd 0571f7771h +dd 0a36d37c8h +dd 0da502b52h +dd 0940e6204h +dd 0051e145fh +dd 05ce77each +dd 050e6709dh +dd 00888a9a0h +dd 06a1ec6d9h +dd 030f2978eh +dd 075b64372h +dd 0f8723f63h +dd 043ba2a45h +dd 0f875cc63h +dd 074f664edh +dd 095f0f41bh +dd 05bd3ac15h +dd 0d5582240h +dd 0893d8fb1h +dd 045d74feah +dd 030660147h +dd 04ca0702dh +dd 0c47f2562h +dd 0b3e943e5h +dd 0b6ad8f03h +dd 05d6dac19h +dd 09e40e23ah +dd 0cc39c0edh +dd 0300ebf68h +dd 0d111cc02h +dd 035752098h +dd 0882a52c5h +dd 0d4648c0bh +dd 026e09307h +dd 0867d591ch +dd 088bfc875h +dd 052e44170h +dd 0e49a2c1eh +dd 0c28c98abh +dd 0f3a4734bh +dd 041a71555h +dd 0427f604dh +dd 03edbc8dbh +dd 0fd26daaah +dd 086ce1b38h +dd 0420aa011h +dd 042a13efch +dd 0856d74b5h +dd 0070f98b6h +dd 0b31d0632h +dd 0d5c1231ah +dd 03b9f6246h +dd 05b0adf14h +dd 0f97c5d53h +dd 069328393h +dd 09bc83e16h +dd 032b92869h +dd 0fcc7c4eeh +dd 0fc547421h +dd 0f067053bh +dd 0d8c10321h +dd 0c7ec4616h +dd 0ce2f0648h +dd 03854bf78h +dd 043c72422h +dd 02d92f1cah +dd 0545fbecbh +dd 0f40b7a39h +dd 089dc115eh +dd 017afe12dh +dd 01236013ah +dd 05163dfebh +dd 046eec65ch +dd 0627f9408h +dd 090d3325bh +dd 0b9184662h +dd 0f23d35a7h +dd 089448398h +dd 0ee1e169ah +dd 0008bc3e3h +dd 0d08f90a5h +dd 0b8bf027bh +dd 05c704510h +dd 00f5e3cf7h +dd 067e8677bh +dd 09a893ca2h +dd 0fe0718b5h +dd 0700cdacch +dd 06d6a9800h +dd 057c5bc14h +dd 0bca179cdh +dd 0ab4b0ef2h +dd 05c11b5c6h +dd 08d42d819h +dd 03290fcc5h +dd 0c3c85edfh +dd 0f09b7f34h +dd 0cf1c3762h +dd 03dc3d5a0h +dd 0d9a5d0feh +dd 0fd30438eh +dd 0267bd54dh +dd 01ab3b70dh +dd 0cdafa6bbh +dd 0610be80fh +dd 01a8a8b1ch +dd 0c229834dh +dd 01dd268b0h +dd 054bcc779h +dd 0e7180b57h +dd 097c4767eh +dd 021a80ddch +dd 02e02dc66h +dd 083529096h +dd 06da2de03h +dd 057af3ec7h +dd 019db77cbh +dd 0894054b5h +dd 0c425a9ceh +dd 044cbb68ah +dd 0db9fdb92h +dd 07d930847h +dd 065691183h +dd 0fd43c6ffh +dd 0a82734cah +dd 03480a6b3h +dd 0400ff877h +dd 0c99ac06ch +dd 02fee5584h +dd 0d9bb181ah +dd 05c5caed5h +dd 0814b550bh +dd 0b933d43fh +dd 082fc8e3fh +dd 06e55334ch +dd 059d535edh +dd 02021bf05h +dd 0455df012h +dd 0edff8c5dh +dd 057df5cd9h +dd 0dbb7b69eh +dd 0cdd08b3ch +dd 09d65fe69h +dd 0d3b02008h +dd 02167ddebh +dd 086987cdeh +dd 01e1d32d2h +dd 062a0f306h +dd 04d752109h +dd 0ddf5323fh +dd 06af4c72eh +dd 0d4714cb3h +dd 0f8ed08b8h +dd 0612b122ah +dd 0507573f2h +dd 0bc030470h +dd 04dcfc976h +dd 0d98adc3ch +dd 075b024eeh +dd 0024ce3c8h +dd 0f0d4a853h +dd 02f60b9dfh +dd 0947b21a3h +dd 0f3f4a71ah +dd 084dadcb8h +dd 0594e2f29h +dd 0189e4e90h +dd 059ba5676h +dd 0aa78bfd5h +dd 004845724h +dd 026ecd85fh +dd 0924e27b8h +dd 03505ddd4h +dd 085fe747bh +dd 0d03ff98eh +dd 0eab6ae4dh +dd 0a573bd8eh +dd 0ab070ffah +dd 014812ad8h +dd 0e554b0cfh +dd 02613aa85h +dd 0b29b97b4h +dd 0049b2650h +dd 00b0e4876h +dd 061edbad2h +dd 02dbca775h +dd 0c7d6e1f5h +dd 0b98a7da4h +dd 0f554c702h +dd 0c3072c7bh +dd 0cb091c11h +dd 05ebdde1fh +dd 0106e8cd4h +dd 0f462b1e4h +dd 003397bcch +dd 04c406e31h +dd 0576bc49ch +dd 0175aee05h +dd 0dc82d556h +dd 0d801fa3bh +dd 03072f5abh +dd 09161a70dh +dd 00c0fb09dh +dd 0a97ff524h +dd 027e248cah +dd 0c60235c9h +dd 02887f7adh +dd 074d39fb4h +dd 0fd2879bch +dd 0d51eaa1bh +dd 095ef6235h +dd 075b09af4h +dd 0c8f860ddh +dd 09726c443h +dd 0405f5436h +dd 071f7bdd7h +dd 093f67b22h +dd 0bb07c588h +dd 082577cd8h +dd 0b4c372b3h +dd 0d8dd746fh +dd 0ba40162eh +dd 0d23d4a09h +dd 03838418ch +dd 0cfa3c5beh +dd 01e624b46h +dd 0c426943ah +dd 00e9aacffh +dd 0c37be919h +dd 033a0e125h +dd 0154dc541h +dd 0094403c6h +dd 0f5940f5dh +dd 06cce6524h +dd 0151a7b88h +dd 0fbeb76c9h +dd 0e5f900dfh +dd 0a5b573fdh +dd 0a08ec640h +dd 07fc48359h +dd 013bd2410h +dd 0df2adf36h +dd 05ea8d679h +dd 07ecbf4f8h +dd 0aff7d274h +dd 01e0eb73ch +dd 050fa1bffh +dd 0ff90967dh +dd 0490f9e76h +dd 067bf37bbh +dd 05bc0aac5h +dd 0ba5a6d64h +dd 07079e055h +dd 080b57913h +dd 0b84613abh +dd 03859264dh +dd 075682eb7h +dd 073edac99h +dd 009daca92h +dd 0ff2f34eeh +dd 008122660h +dd 0e295eba3h +dd 0ed0edd76h +dd 02d9a64d2h +dd 01f9bebe5h +dd 097c64b9dh +dd 05197d391h +dd 0737bb188h +dd 071197488h +dd 05b4cab7dh +dd 0b81043edh +dd 0dfc5cb42h +dd 0b92e3988h +dd 010053241h +dd 00a3b9076h +dd 04e5b1c2ah +dd 075f558aah +dd 00c80a5c0h +dd 0c9f00e89h +dd 0f60690eah +dd 0be9479b0h +dd 06aae13ech +dd 038829b6ah +dd 07beafcbah +dd 0dd0fec98h +dd 0f638ec2bh +dd 0e6ae3405h +dd 0518b2db0h +dd 0af83784ah +dd 097e82403h +dd 07af442fbh +dd 01e872ee1h +dd 00f348835h +dd 0dcc66fc9h +dd 0914fdebch +dd 03256963bh +dd 0c697f701h +dd 067350de1h +dd 0c6db775dh +dd 0666ce10eh +dd 041571840h +dd 0468cfa41h +dd 07c187100h +dd 07bb226e1h +dd 02e64e1c2h +dd 0d00ec927h +dd 015bd1f32h +dd 0ecc33e9fh +dd 02aa9fa93h +dd 0e86d8a26h +dd 09e5606cdh +dd 052f19aa9h +dd 0b05b1867h +dd 0a94ebd4ch +dd 06e6f8038h +dd 03e5c3ac5h +dd 0f5aed430h +dd 00f16ce05h +dd 0e363454ch +dd 0940c746ch +dd 0038e8aa2h +dd 0822af29ch +dd 0bf28844eh +dd 08b3b5e4eh +dd 00dcd29b5h +dd 05bdc1c39h +dd 09d1d6249h +dd 05af5f3dch +dd 056b4ad5ch +dd 08cc66f40h +dd 0b2ad0b8dh +dd 06d69a9d3h +dd 09b1b64fdh +dd 0bcb669f7h +dd 0846c8954h +dd 007aa7adbh +dd 07b42eea5h +dd 0a12dd8cah +dd 0a0d8b63ch +dd 07c350227h +dd 0112e0af3h +dd 090515585h +dd 01c45e334h +dd 0a28ef17ch +dd 016c42883h +dd 044eb66feh +dd 0641d2de4h +dd 0402ba5b1h +dd 06b4efb31h +dd 02495b458h +dd 0bec7d7eeh +dd 0e87face6h +dd 008021ecbh +dd 0e24166b6h +dd 08ff32bb9h +dd 083162a1ah +dd 0e9d39f92h +dd 05541bc06h +dd 0e05254a2h +dd 0d0df8a7bh +dd 00861d91bh +dd 0b684b58ch +dd 04990bd4ch +dd 0d5ffb2d2h +dd 02b1b3524h +dd 0b1ef3214h +dd 00a66c93bh +dd 0f1bf0794h +dd 0768cf756h +dd 028fa3b39h +dd 042296313h +dd 0844249f3h +dd 0cb0a6506h +dd 05da11ec8h +dd 00d0476dch +dd 085128010h +dd 0b2da2645h +dd 045a3f238h +dd 0d9e4ea21h +dd 08b52b634h +dd 0d736071fh +dd 09b77437ah +dd 0250e7b1fh +dd 00897009fh +dd 0ebb726cch +dd 0f8178877h +dd 0cd8d3c33h +dd 00665d85bh +dd 0c4e2d529h +dd 07aa4208fh +dd 080573943h +dd 07b3907a6h +dd 043eed0a0h +dd 0f770d25dh +dd 032fdda65h +dd 099ceeb0bh +dd 04f8788fdh +dd 0dcb35f9ah +dd 0b8b7abb1h +dd 0ab2eb34bh +dd 0776bf6e9h +dd 0224d4ebdh +dd 0c191c202h +dd 0c2c77cfbh +dd 0e3d040e6h +dd 0d3957b60h +dd 041b3c9edh +dd 08e0f900fh +dd 07450e0c7h +dd 054c60261h +dd 07eba8854h +dd 0179d0058h +dd 049488904h +dd 0989371d4h +dd 0f0e92061h +dd 081ff1408h +dd 00857e4ffh +dd 0b1e0cc42h +dd 0314701c0h +dd 0b46bee25h +dd 0579e103bh +dd 07e12ad44h +dd 09ff81178h +dd 01c341405h +dd 0eed46d3ch +dd 037795647h +dd 075592423h +dd 0b34f21d6h +dd 0627d0fd1h +dd 05d8451f7h +dd 0fed25181h +dd 053b378f1h +dd 0f8f6bda6h +dd 08dfd8d46h +dd 0facd4582h +dd 0b253fb11h +dd 0247da419h +dd 079523e03h +dd 081e5696fh +dd 0561a62e6h +dd 0095cbf89h +dd 09841dd8fh +dd 030b28653h +dd 0a710cc39h +dd 0305bcd1bh +dd 085be90f3h +dd 0a34d3a48h +dd 0f0a342eeh +dd 068eca939h +dd 03b430296h +dd 0a0c37095h +dd 089a4e138h +dd 0709a95f2h +dd 076691960h +dd 0cd280872h +dd 02cf0fa34h +dd 07442c0f7h +dd 072374ea1h +dd 08515ddaeh +dd 083212f52h +dd 0da1ced09h +dd 006d449edh +dd 0a6468402h +dd 0f230cdebh +dd 0bf30c108h +dd 06b2afa26h +dd 09d8e3504h +dd 0fc6afd70h +dd 090b02cc0h +dd 0b5623e5ah +dd 0b538077bh +dd 032ba01b6h +dd 007660bebh +dd 0b4a469d7h +dd 077509ca8h +dd 02e740125h +dd 0214fe0b1h +dd 032e41cc6h +dd 021635c61h +dd 053a26caeh +dd 047fb5a4dh +dd 0369e322bh +dd 045394b36h +dd 01cf00e5eh +dd 0e2c0d550h +dd 06a2079bdh +dd 039eaef73h +dd 017105409h +dd 09bdca9bah +dd 0d58ca471h +dd 0435cccafh +dd 0311f5ff6h +dd 0fb34fa31h +dd 0692e5d22h +dd 09dbe2d9ah +dd 05a59d2a1h +dd 089088a18h +dd 03406db50h +dd 0eacd5586h +dd 05b148e0ch +dd 055da1b73h +dd 060226e16h +dd 008fbd50ah +dd 0993d1dffh +dd 0622f6688h +dd 06e48396bh +dd 00e6b6bcfh +dd 0ea6fa5f4h +dd 05bb3744bh +dd 09bc6b7e1h +dd 04c9932bah +dd 019dc77efh +dd 0861f92d8h +dd 0adbbcd95h +dd 05d0db42ch +dd 02f1a513fh +dd 0b8288634h +dd 055e374c5h +dd 0c5531cc1h +dd 0afb45520h +dd 03d5acd00h +dd 0ae0835b0h +dd 094f119c6h +dd 09bd4cae9h +dd 04b3fedb9h +dd 05ceaf7b0h +dd 093b26bbbh +dd 0ce62505ch +dd 0825fa457h +dd 0a5ef7a1ch +dd 07260f262h +dd 0472e463eh +dd 047ee634bh +dd 0c4df4363h +dd 080a12e47h +dd 00477a9bch +dd 0e6149f59h +dd 0e193e6beh +dd 0c7a10d52h +dd 0d80f6349h +dd 0e974bc06h +dd 0dcd7e4d2h +dd 05b520a3ah +dd 063fc150ch +dd 046abfa92h +dd 0bc166475h +dd 0d068a624h +dd 0bc17cc52h +dd 0777116ebh +dd 0bc73b282h +dd 028fd4636h +dd 011aeb55fh +dd 09dce5a18h +dd 063157114h +dd 06c750412h +dd 0f62e3eeeh +dd 04686f4a2h +dd 080fe9597h +dd 082222fe6h +dd 0d74ee51fh +dd 096b298dah +dd 0cf924bceh +dd 088cbaba8h +dd 0598df76eh +dd 0bbdddb72h +dd 0b32d00c5h +dd 0c3a7eabbh +dd 0a207a43dh +dd 06b8af7a4h +dd 004ac4d1dh +dd 08eea77e3h +dd 0c780dde8h +dd 04604f7a6h +dd 0e7f6d57ch +dd 05183a1fah +dd 062b8f636h +dd 03b0e1af1h +dd 0c36ab065h +dd 03d31a623h +dd 0f858e367h +dd 0fa9695d6h +dd 092f6f586h +dd 0ddab8815h +dd 0201c998bh +dd 0b07c2525h +dd 0b3f2f53ch +dd 09eba2cddh +dd 09a25dc34h +dd 0c6a2ad1eh +dd 0d7a56bddh +dd 0052c1ac3h +dd 00d05f407h +dd 09f5aa4bdh +dd 02d4c434dh +dd 05f22dcfdh +dd 0b8918083h +dd 01e0834f8h +dd 0a11d381dh +dd 0fc1f11aeh +dd 09082b83eh +dd 0fe65d11ah +dd 02e9c60b2h +dd 02874c27bh +dd 0bfc0e140h +dd 08aef3fc9h +dd 015067ddeh +dd 0cb2acfa7h +dd 0bff4ed1fh +dd 03e9f5455h +dd 07a07ed37h +dd 0e514322dh +dd 02cf76763h +dd 0c5eee82ah +dd 0a3754296h +dd 06cfc267ah +dd 00c51b860h +dd 0c4df5487h +dd 00fb89b9dh +dd 080440ed0h +dd 0187e8c81h +dd 0625ea584h +dd 0fd46401dh +dd 0665f3038h +dd 0a764e745h +dd 0057cf905h +dd 09d7245e9h +dd 01a6c64f4h +dd 0ba9c6dc9h +dd 044967403h +dd 0cabeff3ah +dd 0d6d4fd06h +dd 065b3ec1fh +dd 02b21e4f0h +dd 09b2c708fh +dd 0672d2d2bh +dd 0e1acc205h +dd 0b2ec2aach +dd 0f7e52169h +dd 096286b6fh +dd 0e0e1d2a6h +dd 01625edb8h +dd 0f9cdb120h +dd 0cb854af5h +dd 03c65a813h +dd 018456d53h +dd 0a0f714dbh +dd 005d70bb3h +dd 0d062e8fdh +dd 02067b0efh +dd 0a1370a13h +dd 0b7917390h +dd 05da93f97h +dd 057c96624h +dd 04bb6b174h +dd 04c712a9eh +dd 062684975h +dd 0d641d379h +dd 0bd999180h +dd 09654a3b5h +dd 0a0854614h +dd 0d6f7bdf3h +dd 086030bf5h +dd 02530aacah +dd 06695709bh +dd 09fb9665ah +dd 02e553608h +dd 00163d3efh +dd 07e61fccfh +dd 0021e5dfah +dd 033d9362eh +dd 0095635dfh +dd 05a555bbch +dd 095cd8528h +dd 06d1715eeh +dd 032335d87h +dd 00dbde249h +dd 097728b79h +dd 0f8884b29h +dd 0b1e93ab1h +dd 0c224ad3ch +dd 04656adadh +dd 0a00f7ecdh +dd 056b261ebh +dd 06d31854ch +dd 0449672b1h +dd 0299ce318h +dd 04f6063fah +dd 0cc07117ch +dd 03ad3d029h +dd 01df74934h +dd 02a500bffh +dd 084f4c70bh +dd 03915c6f4h +dd 0b54f62efh +dd 03c0da1f6h +dd 0ebb949d0h +dd 063da9ef9h +dd 043b5b2f8h +dd 0a8373006h +dd 0967d8980h +dd 0273a1eedh +dd 058e1fef3h +dd 03e162b76h +dd 039520d8eh +dd 0f3bc06cbh +dd 073db80cdh +dd 0d8071810h +dd 0721ac4d3h +dd 0fabfcca7h +dd 025b76c09h +dd 0e8b84ad7h +dd 09000b4f1h +dd 0dff3eb94h +dd 03c134647h +dd 0660c20bdh +dd 0296dc82eh +dd 086c44e73h +dd 0ec8fb0a8h +dd 02a3afde1h +dd 08fc1bccdh +dd 072982534h +dd 0949e5590h +dd 07c145e02h +dd 08b109dc6h +dd 0727b3d6dh +dd 018c4999ch +dd 0737e7e1ah +dd 0068a585fh +dd 0a2810a48h +dd 0cc5f911bh +dd 02600e122h +dd 00c00be90h +dd 0c15d694ch +dd 052e4887dh +dd 00cf23952h +dd 0585e9befh +dd 0614ff76ch +dd 080f3ea59h +dd 0cf7e1786h +dd 0fb180a06h +dd 0cd734b01h +dd 057be721ch +dd 039eb680fh +dd 033f36511h +dd 08a26bdf4h +dd 0d85ecbcch +dd 0d115f882h +dd 0df046897h +dd 0044412ach +dd 075582e4ah +dd 08b1ae24eh +dd 0b8586d66h +dd 0274c9a6ah +dd 0ab8deb63h +dd 072d62636h +dd 0834f7111h +dd 0f71b4315h +dd 0ba23b8b0h +dd 0a8a222b0h +dd 047236b1fh +dd 061da52e7h +dd 0a2175a8eh +dd 0a0730e82h +dd 0b96905d5h +dd 079a8877eh +dd 04a65b7a9h +dd 07ee8aef6h +dd 05f6521ffh +dd 0e5ebb50eh +dd 07c4a9ffah +dd 0fe4e3197h +dd 06ea255bfh +dd 0046206cbh +dd 0c88c4c30h +dd 016dbcc07h +dd 0d92b9352h +dd 00ed39fd6h +dd 00c393fa9h +dd 00cb1d4d7h +dd 0c33a0b9ch +dd 0daaf6e90h +dd 0c8f090b4h +dd 0e0cf01dfh +dd 0656f1ef6h +dd 0fc22d9eeh +dd 0040567bfh +dd 0602bb7d9h +dd 076103cb6h +dd 0f1708b88h +dd 05c5e96dah +dd 0f0459e99h +dd 0df9b05fbh +dd 0b721c658h +dd 06dce2256h +dd 0948aa939h +dd 088738a43h +dd 01f4be6aeh +dd 08c6e2bbeh +dd 0ba7a6c0ch +dd 03a86cf6ah +dd 0a63eb5dbh +dd 0d8137995h +dd 013d0998dh +dd 00ef19383h +dd 0bb32e42bh +dd 00b302f5eh +dd 0c6d51cach +dd 075f8699fh +dd 054965970h +dd 0314e2f46h +dd 0b3cd98e3h +dd 0b4ff6568h +dd 084b00fb0h +dd 0e44725a7h +dd 02d376424h +dd 0d3982f41h +dd 01395b3f2h +dd 093e76210h +dd 009fd0fa9h +dd 042d3a127h +dd 037f0103dh +dd 08597f93bh +dd 03a6aa4b1h +dd 0243193dbh +dd 0c6482069h +dd 01a47c104h +dd 0600768a2h +dd 004c7cc72h +dd 04ad3d9bdh +dd 0a8f628dch +dd 02bccb65bh +dd 0673f494eh +dd 0dd1e1134h +dd 0c63e3bb9h +dd 00a11ae6bh +dd 0e2466986h +dd 0c1331718h +dd 0b0f47125h +dd 018df2dfbh +dd 01bb85ba8h +dd 07ec647d9h +dd 003ab7f7fh +dd 09d219559h +dd 03bd9822eh +dd 08678e441h +dd 03e2c0734h +dd 0e8004619h +dd 04586911ah +dd 052033ae2h +dd 0cc0c4068h +dd 0dc9bd14ah +dd 032652dd9h +dd 0315b79c9h +dd 0d77b4e61h +dd 023c77bbeh +dd 0c44dd510h +dd 067b03eedh +dd 04eb33569h +dd 0bb5d2df2h +dd 02dae896dh +dd 0e9b5fecbh +dd 0d79f0c8dh +dd 0db639d02h +dd 0c7db09b7h +dd 060deed35h +dd 08957ad27h +dd 0b5e3ad7bh +dd 08d93a13ah +dd 05932dedbh +dd 0c66a7f2eh +dd 03b614edbh +dd 042ad1495h +dd 0285bbda9h +dd 0b972611eh +dd 06b249800h +dd 00d5e022bh +dd 0307ed8e0h +dd 09ed08e9bh +dd 07e621333h +dd 0f4bda291h +dd 05bfe13ech +dd 0353cc74ch +dd 0a4c6ac6bh +dd 0fe2319a9h +dd 027e59a23h +dd 060ca38bbh +dd 0d07edba6h +dd 0ac8a9a1ah +dd 08ddfc166h +dd 0d22bbf39h +dd 062328c40h +dd 0ccf836e8h +dd 07ed72e9ah +dd 02db96986h +dd 0a7cc949dh +dd 0875ebb3fh +dd 04e5273f8h +dd 0c913da04h +dd 0b038abb1h +dd 0bc8f9ad4h +dd 0e343a69ch +dd 022b7acc5h +dd 0a11075d3h +dd 010aabfbah +dd 0a687cbe1h +dd 07effd75ah +dd 0c57ffa44h +dd 01e4f4c57h +dd 0bfa648eeh +dd 0831f4fcdh +dd 0659bf7bdh +dd 06e5ca091h +dd 0871b53f0h +dd 027efb507h +dd 0df982b13h +dd 016a8e19ah +dd 08348b35bh +dd 099ffe796h +dd 05a779fabh +dd 06268d631h +dd 0c9fbc1a8h +dd 0f6bba228h +dd 0af621c83h +dd 044fd7531h +dd 0542378e0h +dd 0bc08662ch +dd 0471b0e4eh +dd 0dd80ba3fh +dd 090811dc9h +dd 01dd79607h +dd 00c7b150ah +dd 01d85cb1eh +dd 0557150a8h +dd 0b25142f5h +dd 079af3f0bh +dd 05de53aa4h +dd 04458aaaeh +dd 069365f92h +dd 06ea9a02ch +dd 0c1db024fh +dd 033afab33h +dd 06140d1deh +dd 01c43155fh +dd 093ace4f0h +dd 077f802ach +dd 088d8f683h +dd 0d992e8a9h +dd 00db701b7h +dd 014880575h +dd 06a321234h +dd 072892556h +dd 0e6a91817h +dd 027b8398dh +dd 0e25be917h +dd 0a510f674h +dd 0a14f3a10h +dd 0847c3485h +dd 092493acch +dd 0f308fa2ch +dd 0d2cca72eh +dd 0dff576f9h +dd 071fa5bach +dd 04de3954ah +dd 06c40d174h +dd 065863c24h +dd 00ab9ebc5h +dd 0ca7b56deh +dd 0f9700ed9h +dd 08abecec1h +dd 0e1bc4a62h +dd 082aa1ccbh +dd 06fc61db2h +dd 0ebad0c9bh +dd 05b68626dh +dd 0c4cbade2h +dd 0b58820d8h +dd 01ae0038bh +dd 0668a455bh +dd 0017455f8h +dd 027ef291bh +dd 018f03ebah +dd 0eb9a90abh +dd 0653573c7h +dd 0c81381ebh +dd 0ff048624h +dd 087c4e594h +dd 040d024efh +dd 0d7218fadh +dd 0c7db051fh +dd 07f3e1573h +dd 0a69c967dh +dd 0c5464d54h +dd 099c839f7h +dd 0720109e0h +dd 00163c94eh +dd 0ff6a100ch +dd 0e38372eah +dd 0ed7ba947h +dd 004ceb1c0h +dd 06b16236ch +dd 04be49d3fh +dd 062442d01h +dd 0ede2ec0ah +dd 04debe497h +dd 0e901ccf6h +dd 006b606e5h +dd 0f2c6fde4h +dd 0247749a5h +dd 0b82f64ebh +dd 0af066b9ah +dd 0e26b1db2h +dd 002978804h +dd 096bee34ch +dd 05e03a549h +dd 033f6f3dfh +dd 0c727e741h +dd 09d934abbh +dd 0a2f4fc01h +dd 0e40b175fh +dd 085df41adh +dd 0e41751e2h +dd 06f3c941fh +dd 09991a9c3h +dd 0734d61e4h +dd 049511907h +dd 0374a3218h +dd 08c796205h +dd 06deb379dh +dd 09485ec60h +dd 00d2b5cb2h +dd 0aac54f38h +dd 066252b6ch +dd 0dedc4d4eh +dd 012ecf074h +dd 0a278f8f5h +dd 0bcc2a627h +dd 052feff87h +dd 00cb65c07h +dd 09009601bh +dd 0511f45b9h +dd 01d5cde72h +dd 02ec8acc6h +dd 065a835e5h +dd 0e0a0ec4ch +dd 030c67b7bh +dd 02cc1bd67h +dd 03e66eaf1h +dd 0d7388315h +dd 0bf36ca55h +dd 0cc7d6d76h +dd 0634623ach +dd 06cfdebcfh +dd 0c991e62dh +dd 07a640007h +dd 008332473h +dd 0c3ea58e5h +dd 0cdfe3e57h +dd 04faf8f2fh +dd 032f94735h +dd 023fb47a6h +dd 0a53f6c71h +dd 0af93c185h +dd 0c3a8d665h +dd 01d5218e9h +dd 088287963h +dd 0ae30d945h +dd 06bd83fa2h +dd 0b96b1949h +dd 0414fd2dah +dd 0cfa1b0c8h +dd 0ba083857h +dd 088b83167h +dd 0d8aad3c9h +dd 0f6fff5fdh +dd 0e6b9ea56h +dd 014140dfdh +dd 0ca7f0bfeh +dd 05283ab6eh +dd 07ca63c14h +dd 0d6d287d8h +dd 0e68acec7h +dd 03f32cf97h +dd 02bacefd6h +dd 0fc157866h +dd 006678525h +dd 0341fda55h +dd 07f65d4dfh +dd 0428b45e1h +dd 00e1f30cah +dd 03b856a00h +dd 0d840590ah +dd 00bf5595bh +dd 092a23bb3h +dd 02409f134h +dd 06ea59b18h +dd 012f4a55ah +dd 074a6ed3ch +dd 0831ca5f2h +dd 01480ec64h +dd 013be0dc2h +dd 071faa43ah +dd 0cda043deh +dd 0815de4cah +dd 0c08b3335h +dd 089942a1dh +dd 09982bc72h +dd 0549008c8h +dd 0671b67e2h +dd 0b690c820h +dd 0a803de9ah +dd 0f3448c21h +dd 0bd85ffa7h +dd 0c563493eh +dd 07bd96c37h +dd 05c7e5ff2h +dd 0927e0afbh +dd 03f01e7a9h +dd 0e98e1df1h +dd 018f08d62h +dd 050b8e0d8h +dd 099c58eb2h +dd 08cea2ea2h +dd 07ea349a8h +dd 075fba9fdh +dd 01866b19fh +dd 09fa92c84h +dd 0232fe794h +dd 06db86fc1h +dd 00b4c3ef0h +dd 0200a21c1h +dd 0bc453e36h +dd 078817ebah +dd 030c53a02h +dd 08a4cc8d6h +dd 001cbfb22h +dd 08de21d45h +dd 0cb1d5bb8h +dd 01fa48906h +dd 0f4e79babh +dd 073d563e1h +dd 06a687ddbh +dd 074b49810h +dd 07339cb45h +dd 0c409d113h +dd 016cc58ffh +dd 02f5d0ea7h +dd 0be291167h +dd 0367167cah +dd 067f5ea3ch +dd 02b5d99e4h +dd 0e7857c02h +dd 044bdfa90h +dd 04f6a7778h +dd 0d735c27ch +dd 052e18457h +dd 07790cdc0h +dd 02a858a3fh +dd 09c8bc7efh +dd 0fb374d27h +dd 082675871h +dd 074c56b55h +dd 02e5156f6h +dd 067bca59bh +dd 04b85b2d4h +dd 001788ed0h +dd 0fb5b054ch +dd 0e7412a11h +dd 05c23c470h +dd 01a9e02c2h +dd 0539db9edh +dd 0fcc20231h +dd 073570cc3h +dd 079e571fbh +dd 0146dc2ech +dd 0d3bd278eh +dd 02a503260h +dd 0473bf6a7h +dd 0ebe500a3h +dd 055106b4fh +dd 0e744bae8h +dd 05a773d25h +dd 0172bea77h +dd 00114dc32h +dd 040573a28h +dd 0be179ed6h +dd 08a2a3e61h +dd 069b3f757h +dd 0d8494462h +dd 0c630c57dh +dd 014b40c07h +dd 0e1ccfebeh +dd 00d9b267dh +dd 0b0f01631h +dd 0be9ecfc5h +dd 09a96c022h +dd 0680e5de3h +dd 019be85efh +dd 05d8e7e8fh +dd 0f5ba54e6h +dd 0c01616b0h +dd 01a79431eh +dd 06833e839h +dd 04d9e6a10h +dd 09fefc7ach +dd 047321e08h +dd 0d4977cf6h +dd 05b5681a6h +dd 07569820dh +dd 0b7231108h +dd 0333e0383h +dd 015102ae9h +dd 0952dc614h +dd 0ddbbab5ah +dd 007c0029dh +dd 0aaa2dd5eh +dd 0acf52bfdh +dd 033cdda2bh +dd 088d0796fh +dd 01c20faabh +dd 0d8ed4942h +dd 059ab9b82h +dd 0e58c0f8fh +dd 0292dee0ah +dd 0c44c39d6h +dd 0fd8a688dh +dd 0bf7d5ef6h +dd 0c5b80a0ah +dd 0436168e4h +dd 0f9cbbb36h +dd 0a9fe26f3h +dd 05828ecb9h +dd 009ab8131h +dd 00f3acbffh +dd 0925297ebh +dd 0f193147ah +dd 03fe340f0h +dd 0c9d5e395h +dd 06aff0f20h +dd 0793b2c66h +dd 0b3f3cd9dh +dd 0a1b4398dh +dd 04b4af22fh +dd 0a4db5b5dh +dd 0dda375b6h +dd 02eb9169fh +dd 0bb5296dch +dd 03610b9f6h +dd 025b572bdh +dd 07875a590h +dd 089edaac4h +dd 04f1448fah +dd 0b96d30e7h +dd 08cfc01fbh +dd 0d15a6c29h +dd 01cbc09fah +dd 0396a2ccch +dd 06fbc3794h +dd 0e7bfa7cah +dd 0d2fdf9b2h +dd 07501ca53h +dd 0fc791481h +dd 0d5fba507h +dd 0b310b362h +dd 0ff127f9eh +dd 0cf9b9e67h +dd 00ffc70cch +dd 0fba0bd37h +dd 0a455b400h +dd 0697ecf86h +dd 0161daf30h +dd 07e7347cbh +dd 0238c2d2bh +dd 04ea7d4b7h +dd 0ac6119f9h +dd 0dcb819b1h +dd 08107bd15h +dd 0571da452h +dd 03827be45h +dd 0f6d4a990h +dd 0d7df377fh +dd 0829092d6h +dd 065b9608eh +dd 00b55b2b4h +dd 0e0ce5bcah +dd 0b3e1ce86h +dd 042dc5677h +dd 0d34cde88h +dd 0d2a05189h +dd 02438e1eeh +dd 05845efafh +dd 0a0a224c7h +dd 0e8abc829h +dd 04738e47bh +dd 017f5861bh +dd 0f3c7d7c5h +dd 0b7246743h +dd 023a0c4f1h +dd 06a086e02h +dd 00e450d23h +dd 0a2fcb139h +dd 09d4c5260h +dd 0b213952dh +dd 076516ddbh +dd 09b721788h +dd 0331a66ach +dd 069a408f8h +dd 0a8e0efb2h +dd 08568234dh +dd 05f511a11h +dd 02daa19a2h +dd 0ac724119h +dd 046e0c333h +dd 06d57e6c1h +dd 0c22da33dh +dd 009c39647h +dd 014701508h +dd 04b8e4186h +dd 0f068c47ah +dd 0b060bcf3h +dd 0cd507ae0h +dd 08cba0bf3h +dd 04cea765ah +dd 067a44d37h +dd 035ac75dbh +dd 057210bd5h +dd 0d161a8f8h +dd 0ca6563feh +dd 03ca0ad49h +dd 07ec822c7h +dd 0adeb53efh +dd 063587f28h +dd 06f9a3ba7h +dd 003eef98fh +dd 0dd927fd6h +dd 0fe6583b1h +dd 0b1448c43h +dd 00d7a09efh +dd 042895f36h +dd 0627b511dh +dd 036f724c7h +dd 0ac925553h +dd 016d0223ah +dd 0f1baf5c0h +dd 0fad9a825h +dd 00fa53f52h +dd 0f79d3fb9h +dd 0e59cf8ceh +dd 0900aff14h +dd 0c0aeeec4h +dd 05569593ah +dd 07ad9f12eh +dd 0e4716fefh +dd 0f96eb686h +dd 0361b7c99h +dd 0279dcfb3h +dd 0b8025322h +dd 01b6ff2c9h +dd 070705fc9h +dd 05b0df586h +dd 0614c7188h +dd 074cdc996h +dd 09a9ac7b8h +dd 00b927143h +dd 0238faa28h +dd 0d870a887h +dd 00de445b2h +dd 0b4a54314h +dd 0d41c633ch +dd 05adcd966h +dd 01c34a448h +dd 0166fc88dh +dd 0273916e7h +dd 043e39cd6h +dd 0d9b110c9h +dd 0f1973c48h +dd 0462c952ch +dd 0c2b5549ch +dd 0fb0e902fh +dd 07053eabch +dd 0ab0b0637h +dd 07739cf20h +dd 045c2d155h +dd 0352d2cb1h +dd 0334948ceh +dd 05550a594h +dd 02d616ff2h +dd 0c099de2dh +dd 097d843fch +dd 033d80e03h +dd 057c36cd6h +dd 05671fbeah +dd 083b3609eh +dd 0aa2977abh +dd 07e6900d9h +dd 0527d5aa9h +dd 00fe32900h +dd 06ab4eaf4h +dd 0dac79949h +dd 00a7648feh +dd 079f2e711h +dd 0125fa200h +dd 029296dd6h +dd 086d85bbch +dd 04ea10752h +dd 014a37a27h +dd 07d7c0922h +dd 0e6bddc3ah +dd 0e6903c0bh +dd 07af5494ch +dd 06f8c8686h +dd 0d60760b2h +dd 053f4c068h +dd 04aa27692h +dd 018a26748h +dd 0e3451089h +dd 0560fa25bh +dd 0f68499b9h +dd 023249bdah +dd 0fbaac16ah +dd 02973a374h +dd 06edf3bc6h +dd 0818f673eh +dd 0cf6b7914h +dd 096a6486bh +dd 074a30dedh +dd 065956727h +dd 074107b1dh +dd 09a948ba8h +dd 07ca14215h +dd 0d1bfa441h +dd 04fe8bbeah +dd 0119c5b30h +dd 02e91c3b5h +dd 08f30f16fh +dd 03f1bc0ech +dd 09a50fc3fh +dd 040aec87fh +dd 0d7b800e7h +dd 07d1897cdh +dd 0087e1d63h +dd 0ddbc1fd1h +dd 011a55527h +dd 08f66de2bh +dd 0dc69b8b5h +dd 0b2dbb9c1h +dd 097844e9fh +dd 065d4dc0ch +dd 0c8669314h +dd 0034bf2bah +dd 0d7e2cdb9h +dd 0cfe0c664h +dd 0da280392h +dd 086344289h +dd 0d4bab74fh +dd 059e1a214h +dd 0c4dd79d7h +dd 0022a51c3h +dd 0805d07f2h +dd 0f8bae1cbh +dd 0c95648e8h +dd 0c27500c7h +dd 03e452891h +dd 0b9e0ab21h +dd 0d9f35246h +dd 02a60174bh +dd 0001ade32h +dd 0701d88c3h +dd 0461a3400h +dd 0edda96dfh +dd 032a9e309h +dd 025e42167h +dd 079542b65h +dd 08379356eh +dd 014ffb976h +dd 05f7620c2h +dd 093c02db2h +dd 053d02298h +dd 00c2b081eh +dd 002d04105h +dd 0c25c54c9h +dd 0b61e25c5h +dd 0951b0abbh +dd 06dee97d5h +dd 0d52f5a39h +dd 0ec8be267h +dd 05369d5b3h +dd 083280c49h +dd 00a1d8152h +dd 0aa983233h +dd 0fd7b43f7h +dd 0c8bf8be4h +dd 0812420b4h +dd 0d61784d6h +dd 056761a69h +dd 04754bf25h +dd 08d644a22h +dd 0d161c167h +dd 05de67cd7h +dd 089980534h +dd 0efa61875h +dd 0c094b77bh +dd 0de8d1752h +dd 0bc38e13dh +dd 04cf8cdc4h +dd 0c2625158h +dd 077319d96h +dd 0e5ea5647h +dd 0618d3b3bh +dd 0139f14e5h +dd 04345bb67h +dd 065f08b96h +dd 00cd2f5f8h +dd 0f0d5e84fh +dd 043cfa68dh +dd 0252fbe1ah +dd 0b3c3d308h +dd 01577f6cfh +dd 0e0dd9669h +dd 0bb2bbb16h +dd 017fa17f0h +dd 01e8d67a1h +dd 0fe91c0f6h +dd 07db4b94dh +dd 086e7521eh +dd 04612754ch +dd 04d2e4d9bh +dd 01896ff00h +dd 081e43ec5h +dd 03f725964h +dd 08209941eh +dd 038ef7f53h +dd 04ec2efedh +dd 0e1dde8c4h +dd 08eac4c52h +dd 0f8381e90h +dd 04abcad02h +dd 0985c99ffh +dd 0a8108fa2h +dd 00593e6aeh +dd 0ec4e0f20h +dd 0f692857ch +dd 03e0a879eh +dd 07aa38d74h +dd 0dd1c1023h +dd 03f51edaeh +dd 0f954a1afh +dd 045789ca9h +dd 073d160ceh +dd 0d62fa3b1h +dd 07d36e803h +dd 0ed4180feh +dd 044ae56a1h +dd 04ff7d613h +dd 032ef76c5h +dd 048013f1eh +dd 019685d0eh +dd 078fe58ach +dd 080e46d7ah +dd 08410ad38h +dd 07c1422e0h +dd 0d9d1dd6dh +dd 044ab605bh +dd 070c2388ah +dd 03bfba727h +dd 0395abef6h +dd 0aedb0b19h +dd 0a5417c44h +dd 0ee97c7a5h +dd 0c3c8e47bh +dd 04354b89ch +dd 0868a9bf7h +dd 0df703fe3h +dd 0fa55df08h +dd 01c6e9077h +dd 017b6ba3ch +dd 0330b35b7h +dd 0a63d5b2eh +dd 0228be2aah +dd 0d7d18cf0h +dd 07fbfc45ch +dd 056438b2dh +dd 0c59332b5h +dd 05e5ee1a5h +dd 02142e7f8h +dd 0196fc2d9h +dd 02239abf4h +dd 0791d242ah +dd 0e388f20ah +dd 0f39e016bh +dd 012be6f44h +dd 060e3cc32h +dd 011569015h +dd 0b74f9b14h +dd 0f95e7765h +dd 0734ee683h +dd 0c06640b3h +dd 093ba5b8fh +dd 0b893241ah +dd 07f7e7062h +dd 017e2ecebh +dd 091745042h +dd 05c4983bdh +dd 0b259db3ah +dd 0c42e9ef6h +dd 0c690fc73h +dd 0f0c112deh +dd 0f280c569h +dd 0223ce7efh +dd 0eb95cdeeh +dd 0651c1c3eh +dd 0486ce451h +dd 0a02d6b5eh +dd 06cd9f8e4h +dd 01bf54587h +dd 0ebf8df19h +dd 013f090a2h +dd 0a4e0e367h +dd 087e683c2h +dd 005da8e8eh +dd 0dee87fb1h +dd 02254d738h +dd 0dd1c5ebch +dd 016d4517dh +dd 0a9f94bc2h +dd 0f454d466h +dd 043688047h +dd 0c26bb5b8h +dd 0627fbee8h +dd 008e1b0f3h +dd 08afe8f19h +dd 03edd2a64h +dd 0f7cde1d2h +dd 0d8cdd437h +dd 09f380e50h +dd 08f116632h +dd 0a0e2cdb9h +dd 021d44eeah +dd 0e0e155e7h +dd 067ec73a1h +dd 04ecae83ch +dd 0ae965d7dh +dd 057adc291h +dd 0f6e85f18h +dd 06b3bc5a9h +dd 0065b486ah +dd 0e83574bch +dd 04a2d9c6ah +dd 03d422c4dh +dd 07f657827h +dd 06e193f5fh +dd 0574f9a21h +dd 051dc5e06h +dd 04bafe56eh +dd 0749247a5h +dd 061899535h +dd 059a2a58dh +dd 0f4986d04h +dd 056aa5742h +dd 0053c6efeh +dd 0b3056352h +dd 01f251ef6h +dd 0a8a235c4h +dd 062689612h +dd 0721c75f2h +dd 09b6ae6cdh +dd 0ed7f0335h +dd 08f483dcfh +dd 06bfea36fh +dd 0e4d80701h +dd 04a5ed5f0h +dd 088933b0dh +dd 0d27299aah +dd 0d6e1850ah +dd 01f72330fh +dd 02176c947h +dd 067be0ee4h +dd 03529f8d7h +dd 0a59eae2dh +dd 0ff4115a7h +dd 010c2a922h +dd 015b105dch +dd 08d6a569fh +dd 0d74e0668h +dd 0cf0fb1cdh +dd 03af2963ah +dd 0147b497eh +dd 08879be41h +dd 00b9b4ac9h +dd 065b86b2dh +dd 0b79dbd92h +dd 05374dc8bh +dd 09e976cafh +dd 0d8114a3fh +dd 033dacfc6h +dd 0351bf245h +dd 0cdc7b0a1h +dd 06e4d36a8h +dd 08af2f307h +dd 0eb0c88d4h +dd 0820d44fch +dd 099fba543h +dd 014387e8eh +dd 0a259e81ch +dd 08441d125h +dd 04b57d9f9h +dd 0d4277e24h +dd 00255848ch +dd 0d53b9e35h +dd 08d48e656h +dd 0df842ffdh +dd 0d907744fh +dd 0db075c76h +dd 0fbad1709h +dd 00a299423h +dd 04cec01bdh +dd 09559872eh +dd 03c898dc5h +dd 0b9a889c2h +dd 098492ff2h +dd 0748c8da8h +dd 0395dfd02h +dd 05ffe94c2h +dd 086673c54h +dd 03606ab89h +dd 0f901c018h +dd 0fad512a9h +dd 0f8f42bc4h +dd 05a3e7333h +dd 053cc3b23h +dd 050f65043h +dd 09db2f08dh +dd 054e26e0fh +dd 098b52fc7h +dd 006aecd2ah +dd 07b01f855h +dd 018ac3eaah +dd 01ef4a39eh +dd 0e82ea218h +dd 0da71db85h +dd 0d9aa5fd9h +dd 0626d1936h +dd 0c27a3ffch +dd 0e9c271f9h +dd 05be47284h +dd 043f65664h +dd 0fa38f612h +dd 0b7f258efh +dd 01fc6a78bh +dd 0e7477e63h +dd 012736dabh +dd 08c7fdf2ah +dd 0923080bdh +dd 009e07d06h +dd 03d25a845h +dd 0d5d52ec7h +dd 0a81c02d2h +dd 0211be7a1h +dd 0ef3c9862h +dd 01ab027fbh +dd 0cf8131d0h +dd 048113febh +dd 026f43209h +dd 0132eca8bh +dd 051e6fa72h +dd 09bb0da80h +dd 06590f5f4h +dd 0bb1282b6h +dd 077516080h +dd 02c1212c8h +dd 050625d12h +dd 0f24b65d8h +dd 069f1a8e8h +dd 002a47d49h +dd 08705f037h +dd 01721df47h +dd 01c149909h +dd 085037026h +dd 04f5f8c48h +dd 01dfd0716h +dd 02d3a25e3h +dd 0536e46a7h +dd 08141724ah +dd 076c7a6a7h +dd 059f570afh +dd 098e0a8bah +dd 02100f085h +dd 06909a896h +dd 09df5bfe4h +dd 0d36699dch +dd 044d58891h +dd 0e6f38fddh +dd 061de99b6h +dd 0ce862eadh +dd 07667a764h +dd 0a78fa234h +dd 0f3304b53h +dd 01737c0fdh +dd 00a4bf703h +dd 01a472db2h +dd 0f04a73ach +dd 0404b156ah +dd 03375cdcfh +dd 03ae2d208h +dd 03e504129h +dd 0d87b5e3ah +dd 0591b7a46h +dd 0121fd201h +dd 03f6ddaech +dd 0bad7a328h +dd 0b5473e25h +dd 0d22eb77fh +dd 0d8ab15c1h +dd 057c3f9cch +dd 0e27034ebh +dd 0ed7ef5b3h +dd 098dee5ebh +dd 0284c9e37h +dd 0a324f53bh +dd 0040c3160h +dd 0fc28b05eh +dd 0ea468d33h +dd 0247923ceh +dd 0539362d9h +dd 0eb4999ach +dd 0437dedfch +dd 0b5429ee2h +dd 03c995258h +dd 0cb6d5935h +dd 06abc2349h +dd 0ff97f395h +dd 01b52aa03h +dd 04bbab495h +dd 0dc7e34dah +dd 0a88eb0f3h +dd 048f1aca1h +dd 0ddf8a68eh +dd 068e87765h +dd 072148defh +dd 0fd55549bh +dd 05971c4a8h +dd 0561a19a8h +dd 03c995c93h +dd 0bad3cdc0h +dd 050f634e1h +dd 0168248c6h +dd 049161144h +dd 0a65e5ea6h +dd 08f2e8929h +dd 0ad6cb4a7h +dd 02dafc138h +dd 012d6bf6eh +dd 0c558804fh +dd 076d00e0eh +dd 0e00ea964h +dd 0e535340fh +dd 069c3a3dbh +dd 01c664c76h +dd 072a22a4eh +dd 087f2806dh +dd 0bbb66743h +dd 0008d5489h +dd 075366692h +dd 0eb79c42ah +dd 0d22fc638h +dd 0cf508af2h +dd 0b2ad56d2h +dd 0df5644dah +dd 0ae146bc6h +dd 0b4b3ba25h +dd 03292634dh +dd 0ef94483ah +dd 0dad93f21h +dd 016727e9dh +dd 06122ac72h +dd 0e059758dh +dd 0241220d2h +dd 01f8257d4h +dd 0d9ef1eb9h +dd 0482b4e81h +dd 051c2b7eeh +dd 0e8640d2dh +dd 0e10e9805h +dd 041db6fd9h +dd 0046f66fdh +dd 04c9c3678h +dd 0eeea9c98h +dd 04a579edch +dd 0458e50dfh +dd 0dc6e4877h +dd 07048b7a0h +dd 0ce8e3c2ah +dd 00772a81dh +dd 0a49dc364h +dd 0f10c2214h +dd 0b718e7eah +dd 08bc7912ah +dd 049a8209bh +dd 028b0e799h +dd 0e03ad136h +dd 0f9144733h +dd 0592ac9a1h +dd 0ea989042h +dd 004b280cdh +dd 0aef17de9h +dd 03adb0ba5h +dd 0731ba8adh +dd 074a0056ah +dd 09d893556h +dd 01f19790fh +dd 08e64915eh +dd 02de9b018h +dd 0342ff3efh +dd 07384f02fh +dd 04cd77aeah +dd 07a063c5bh +dd 08d2edf34h +dd 07ff5f8b3h +dd 0640e20f8h +dd 01104710dh +dd 0842732c4h +dd 0fa247185h +dd 051c37b16h +dd 08c5edb74h +dd 01dc1a542h +dd 0022792f0h +dd 0f34f9d82h +dd 0f77e748bh +dd 092227f2ah +dd 066dbdc38h +dd 048a5b607h +dd 0aedc6b0ch +dd 0d4384211h +dd 01a21fa3ah +dd 00fd735a2h +dd 0d37ddecch +dd 0c6feae60h +dd 0cf92f4d0h +dd 020310812h +dd 01058f4d6h +dd 050b80ea2h +dd 06f443eb0h +dd 02d4aac95h +dd 02ae945c2h +dd 06a4c52bch +dd 05eabaaa3h +dd 0e8550122h +dd 04731691dh +dd 0f9b39f9dh +dd 0e0927e13h +dd 0cb376233h +dd 075b7cf83h +dd 08fc3e63eh +dd 09a30c0feh +dd 0b53fe90bh +dd 048eb1d83h +dd 00d56be55h +dd 075c96c72h +dd 09f9171c6h +dd 08e3c96eah +dd 0a9b69942h +dd 041e89138h +dd 0bbad9226h +dd 0d1894587h +dd 06c8d6027h +dd 0d063bf95h +dd 085c772edh +dd 0ec778f7ch +dd 064391290h +dd 044c7a1dfh +dd 0638ec514h +dd 07ebde1c6h +dd 030ac7d18h +dd 0a412b372h +dd 0ca511b48h +dd 098d506cbh +dd 023a89fe4h +dd 040380411h +dd 0103db9bfh +dd 083665566h +dd 078459cf5h +dd 08e21245eh +dd 06dce7250h +dd 0de458d37h +dd 09d2a0dd3h +dd 0d1752ce7h +dd 09f08099dh +dd 02e2f1595h +dd 0f6a5c605h +dd 00d2ed3fch +dd 03aa10124h +dd 084b208beh +dd 0bb1d500eh +dd 065be05e7h +dd 019e290c0h +dd 0ddb8281eh +dd 08d1ab341h diff --git a/Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50657_05003003.inc b/Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50657_05003003.inc new file mode 100644 index 0000000..63e90df --- /dev/null +++ b/Silicon/Intel/PurleySiliconBinPkg/Microcode/mbf50657_05003003.inc @@ -0,0 +1,13058 @@ +; External header +dd 000000001h ; Header Version +dd 005003003h ; Patch ID +dd 006182020h ; DATE +dd 000050657h ; CPUID +dd 011302452h ; Checksum +dd 000000001h ; Loader Version +dd 0000000bfh ; Processor Flags +dd 00000cbd0h ; Data Size (excluding headers) 52176 bytes +dd 00000cc00h ; Total Size (including headers) 52224 bytes +dd 000000000h ; Reserved +dd 000000000h ; Reserved +dd 000000000h ; Reserved +; Data +dd 000000000h +dd 0000000a1h +dd 000020001h +dd 005003003h +dd 000000009h +dd 0000032f1h +dd 020200608h +dd 0000032f1h +dd 000000001h +dd 000050657h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 0000000bfh +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 000000000h +dd 03e01aa6dh +dd 007298f62h +dd 0c33f2e32h +dd 0ad4fb2a1h +dd 095c45900h +dd 032a0f1dfh +dd 0b63594dbh +dd 0d940b14eh +dd 07c8537b9h +dd 0af1d8034h +dd 05f971da0h +dd 065263cbch +dd 07a546db0h +dd 02f7300e1h +dd 0ff9d12dfh +dd 00d19cff6h +dd 0064e8f47h +dd 048569388h +dd 0613406e8h +dd 0f1cf0bdeh +dd 0fd59aed7h +dd 0167bb316h +dd 04f183063h +dd 0140638e3h +dd 05a284156h +dd 08929a411h +dd 03465ccbdh +dd 0521eedd8h +dd 04a517833h +dd 0b9e753c2h +dd 0e73f07a4h +dd 060ddb690h +dd 045d043cah +dd 0265553e8h +dd 0bb63cf23h +dd 062eb4566h +dd 0b9610b0ch +dd 01830b257h +dd 070ec8f64h +dd 0b5f305cbh +dd 072072bf6h +dd 0f9bb07f0h +dd 012b140f2h +dd 0d5f3ee00h +dd 0e0b43bc6h +dd 0ad77d13fh +dd 0bd734c91h +dd 09120bf19h +dd 087fb1faah +dd 0c1ab7aabh +dd 0de997fd3h +dd 07d0ee72ch +dd 0896db2d5h +dd 0418a04b6h +dd 0a867296ch +dd 05207cb37h +dd 0599aa1e2h +dd 05d142119h +dd 0b09e5da3h +dd 045474827h +dd 0a4ae1405h +dd 0b5ba58c1h +dd 0f18fac85h +dd 0e037bd19h +dd 068ef31d8h +dd 059bf6ab9h +dd 0f579b2c9h +dd 0bf9a1c39h +dd 0e9c21016h +dd 0bf6f5c4ah +dd 0fd068e0fh +dd 0a32b4d21h +dd 000000011h +dd 0a3ee45ceh +dd 02c5c063dh +dd 062fa993dh +dd 07c0c9e90h +dd 00d79a6efh +dd 00b1a57beh +dd 0f5d01e4ch +dd 08e1bda64h +dd 0a209c2e2h +dd 051122aa5h +dd 035d28f6fh +dd 01f304ed8h +dd 0a3fd3c3eh +dd 06f91cbfch +dd 0df13318eh +dd 0944487e7h +dd 0109d9522h +dd 03576b69bh +dd 06b590863h +dd 0a6d710adh +dd 072bacbach +dd 045dd2a23h +dd 0217d1be1h +dd 0d1ea1c2ah +dd 0917bb3e4h +dd 0d01f4a5bh +dd 09a0e38e7h +dd 09955f199h +dd 031ac469fh +dd 0ab02d731h +dd 0887abe7dh +dd 036d624eah +dd 0894f8c95h +dd 0ecdf135ch +dd 02dc3d427h +dd 0c728c01eh +dd 0ccd3e48eh +dd 01a10f16ch +dd 0490675a8h +dd 026c8a8d8h +dd 07faddac9h +dd 0d8bf7a2eh +dd 0af3f40d5h +dd 056601fbbh +dd 0665b6dd7h +dd 0827baa42h +dd 010197a1ch +dd 081225b58h +dd 076d4bb80h +dd 05cccb9bbh +dd 0c5a27d5ah +dd 03cb1b0fch +dd 0f598e20dh +dd 0cee961b6h +dd 0620a50a0h +dd 0ac92ee71h +dd 056caefb9h +dd 0fb9a3238h +dd 0d25d77d9h +dd 050a815deh +dd 0dcdf2455h +dd 00e40ee1ch +dd 0ce77e426h +dd 06d7998a2h +dd 0b2176e0dh +dd 04ce6659ah +dd 07ebbd61eh +dd 0e9fcf66bh +dd 0e364edefh +dd 04c1779e6h +dd 09cfd7408h +dd 0fbc0a422h +dd 0d0f2cf71h +dd 0e1a48bedh +dd 0f6b60109h +dd 06be2a6bbh +dd 0ada87536h +dd 08de06dcch +dd 044055bdeh +dd 0356ed3e1h +dd 00f4083e3h +dd 057a3bd91h +dd 0144cf49dh +dd 03e73e1beh +dd 041480f42h +dd 0d66c86d7h +dd 009ba00f7h +dd 0ef2830c0h +dd 0aeeec04ah +dd 0582ea04ch +dd 068d4c368h +dd 0fc6d485dh +dd 0e7df374fh +dd 0539ed05fh +dd 0f01254b2h +dd 030ea1ffeh +dd 017b6ca43h +dd 05a25ad33h +dd 0b4886809h +dd 05ca4cab2h +dd 0470004c8h +dd 04fbc2cf1h +dd 0bc770cdbh +dd 0858d75b4h +dd 05a490206h +dd 0e2658b75h +dd 09a4d8beeh +dd 0a3c045ceh +dd 08a8ca545h +dd 04924fda0h +dd 07e426544h +dd 0e3562fc1h +dd 0c0d41edah +dd 040a13ec8h +dd 0d54ed312h +dd 0fef72cdbh +dd 0de5d31fah +dd 096ebd8a0h +dd 0fc390a4ch +dd 013cb2a11h +dd 03346dc2ch +dd 092870ca6h +dd 0b29657e7h +dd 063692b72h +dd 0cb0874bfh +dd 0662fec6ah +dd 05349e40fh +dd 07215edb6h +dd 0d46a4491h +dd 034834ec5h +dd 002fa6254h +dd 013269699h +dd 02cb9fc0ah +dd 0959d46a9h +dd 0553612feh +dd 0b3c36056h +dd 001d8f6cdh +dd 0397d89c6h +dd 04bb753b9h +dd 029818c06h +dd 03e2215c3h +dd 02d3398b2h +dd 0df80b020h +dd 09ad9d73ch +dd 0b2b11a99h +dd 0965d59f7h +dd 0afc4019ch +dd 0bb270015h +dd 03d0159a0h +dd 086bd26beh +dd 078d25237h +dd 0c526425ah +dd 05761f533h +dd 0e416d2ach +dd 0d7f201e1h +dd 037b9f763h +dd 0acc24d9ch +dd 00541547dh +dd 0f32dbc48h +dd 0a9da39ach +dd 09c8ce70bh +dd 0bb41469ch +dd 08654dbe6h +dd 0b7557448h +dd 0ec772d5ch +dd 0d3fe726ch +dd 05b5191b8h +dd 085a02333h +dd 01c4f803bh +dd 0915e776fh +dd 07d5cfabfh +dd 04df369f6h +dd 0a5fe3ddah +dd 01253c98ah +dd 062732582h +dd 0c09200cdh +dd 04341002ah +dd 0785f5d0ah +dd 0c0ef6f85h +dd 04025fde5h +dd 0ef4b86a2h +dd 0a7f88e10h +dd 064077b04h +dd 0109d0c63h +dd 01238bf90h +dd 0f792edcfh +dd 0911a6cb6h +dd 0076caf6dh +dd 03c54787dh +dd 0b0270317h +dd 0fb91c49ch +dd 0ef1181edh +dd 09019c85fh +dd 069f7a9f6h +dd 084095b61h +dd 05bf6027fh +dd 0fb58df1fh +dd 0ae14a842h +dd 003cc716ah +dd 0cccd0cb0h +dd 0fe1b3d85h +dd 00dc6ee5ch +dd 027b42d23h +dd 0a7bc6075h +dd 098b0b293h +dd 0758c9fc1h +dd 0ed881badh +dd 08555e727h +dd 07bf2d729h +dd 04dcca2d6h +dd 0857fc387h +dd 0c99dcd7eh +dd 049e72571h +dd 0b25844a7h +dd 0e9e06244h +dd 0dd642ec2h +dd 0f0fcd330h +dd 0d6cd8384h +dd 07644d121h +dd 0eb3c45d6h +dd 0be742877h +dd 0490271d3h +dd 0b65ab15ah +dd 0cf868ab9h +dd 0aa0fa124h +dd 0ad5499fch +dd 01159418bh +dd 011916ceah +dd 05ea374d1h +dd 0c2586c04h +dd 0c57edd77h +dd 0ae457e3dh +dd 04373479bh +dd 0e49c64a0h +dd 0000038d6h +dd 09d7463d5h +dd 0510965d3h +dd 04c80ac85h +dd 00d5f05d5h +dd 0a42cc9b1h +dd 0c0ab4c3ch +dd 004e84217h +dd 0b335a2cfh +dd 06e122522h +dd 0ba99534eh +dd 0cccd7f4bh +dd 0284b42dfh +dd 0bcd82a83h +dd 0a77fc38bh +dd 0f7209ef4h +dd 0c6cff337h +dd 068f1fed8h +dd 0430e382dh +dd 0a23ecc87h +dd 0523fcaach +dd 08ca67021h +dd 017d35dceh +dd 0de48228fh +dd 0570b78d9h +dd 03431d47ah +dd 0133c28f8h +dd 0fa990e1ch +dd 0b25cd68eh +dd 047d06436h +dd 011838e5ch +dd 0db81ba9ch +dd 001ad1104h +dd 051650993h +dd 036381a5fh +dd 0177c7b1dh +dd 05c9acc94h +dd 0930ec70ah +dd 0aca4645ch +dd 0be5c4f55h +dd 0372e3cach +dd 04afb4b87h +dd 0de5f5290h +dd 09e69b165h +dd 02e419eabh +dd 0b88cf3e8h +dd 0e347832bh +dd 0be179064h +dd 0a4575feah +dd 0eeaa15f5h +dd 0588768e7h +dd 0c207e41dh +dd 0cdc7337eh +dd 002f73814h +dd 01b1040e1h +dd 054c9262ch +dd 0312d21c9h +dd 0ae369424h +dd 0215ff34bh +dd 0d45ff5bfh +dd 0e5a376c0h +dd 061a64db6h +dd 0f519aa35h +dd 0059c3fb0h +dd 0da7c2a1ah +dd 05b5a3b4ah +dd 00848443ah +dd 044dc478fh +dd 04722e8a0h +dd 0d13abd12h +dd 0f9cfda28h +dd 0c1feec5ch +dd 049dd2335h +dd 07f1da4cbh +dd 0c20ba138h +dd 07cb3436fh +dd 0e032058bh +dd 0b5f30c95h +dd 0576aadf2h +dd 0560a8c19h +dd 01ebff34ch +dd 04f268fcfh +dd 067246682h +dd 088b8e521h +dd 09e71553fh +dd 0c8899eb1h +dd 02408636fh +dd 037ebc701h +dd 05479e96fh +dd 0e602a12eh +dd 0df7d492dh +dd 0c41308bdh +dd 0934dc0dbh +dd 0da40537dh +dd 00770d917h +dd 085d08b27h +dd 00c358c67h +dd 09eb220d3h +dd 089bbee71h +dd 0d81721a3h +dd 02eca908dh +dd 075fcc2ech +dd 063e09840h +dd 048b03daah +dd 0e784e4d5h +dd 0e9fb7399h +dd 0795be241h +dd 0827f0057h +dd 03eedc1cdh +dd 052b71ffdh +dd 0c7c0acefh +dd 01ad763b8h +dd 0160de159h +dd 0d69d013ah +dd 0155ef2ach +dd 0c3c47cbch +dd 0cfc10585h +dd 033f1abe5h +dd 09f0439e5h +dd 0e4d4a152h +dd 0bce0a551h +dd 03fba19c3h +dd 03064fb85h +dd 055bc160ch +dd 0a2f733eah +dd 06e016dd0h +dd 038cd10c9h +dd 031f3e816h +dd 06e088144h +dd 0c37a6048h +dd 0a90b53c6h +dd 07f1d3569h +dd 0b6b97e22h +dd 02a6fe325h +dd 046064472h +dd 0c5487b76h +dd 00ba1cd5dh +dd 06a7de0ddh +dd 07c61d19dh +dd 01afccf2eh +dd 014374081h +dd 0cf1bb475h +dd 0e7bc01bdh +dd 07a747abfh +dd 07e3d7229h +dd 084e7b5f2h +dd 070ef5fa2h +dd 09f584eceh +dd 0f7348b5eh +dd 04161893eh +dd 02a2c48e1h +dd 0d649ed66h +dd 054ab0227h +dd 00ca89050h +dd 07d69bf39h +dd 0f3bce364h +dd 0bd505a49h +dd 05410afa1h +dd 0f6fdc15ch +dd 048ef6d9ah +dd 0c6e9d90eh +dd 00ac87304h +dd 0b4a3bdech +dd 0fe320a5dh +dd 0b1850802h +dd 051115a0fh +dd 03ad432ffh +dd 01e970773h +dd 0a7f9e1ebh +dd 0f8b3911dh +dd 07bf184fdh +dd 05e8e0debh +dd 00dbcbc1dh +dd 0d56eda35h +dd 0cfa2166eh +dd 0c97688cdh +dd 065df100eh +dd 0e06df35fh +dd 0ffacccbch +dd 078edbfdbh +dd 06695ac6ch +dd 0d29e5f05h +dd 0ef4eae71h +dd 0642d6af3h +dd 07247211ah +dd 02d831269h +dd 0e867b24ah +dd 0162c1679h +dd 0089a6695h +dd 0ab9fd4b8h +dd 04e761af2h +dd 0a85a3e45h +dd 024ddb5a4h +dd 025424b68h +dd 0ec08639bh +dd 029f6f1c3h +dd 016224641h +dd 021b56320h +dd 0cac3aab8h +dd 0e3d4ce1bh +dd 0f6f4300fh +dd 0ed49252bh +dd 02bb7c3b7h +dd 036ed0e6ch +dd 0557b5c9ah +dd 0ff2d350ah +dd 055ae6bf0h +dd 09016921ah +dd 0771a0b6eh +dd 0d3dd6769h +dd 0b067ee5bh +dd 0d8255a1fh +dd 096a2979ah +dd 0afe27fcch +dd 05c836d1ah +dd 0dde1cb49h +dd 000a4dd5ah +dd 01cf41adch +dd 0236fabd5h +dd 0fc88559eh +dd 0f2ba4789h +dd 0bb0a5b42h +dd 02e518275h +dd 06ee79e63h +dd 0abea1e08h +dd 0a4c9f356h +dd 050ca6033h +dd 08e285cb5h +dd 075a97e0ch +dd 0d3304348h +dd 02a04d6c6h +dd 0a0ca7fd9h +dd 05f606571h +dd 06afcf22ah +dd 0755abca8h +dd 006e4f01eh +dd 08a18f808h +dd 053f16da6h +dd 08f9e344dh +dd 00817046fh +dd 0087550ech +dd 0acb10564h +dd 06f615ce2h +dd 01882ca2ch +dd 0ef267f9ah +dd 045bb5070h +dd 01927de5fh +dd 0d61d36dah +dd 0337da9b1h +dd 0675d1cbch +dd 062cd72d3h +dd 0e0910676h +dd 0a2764ca5h +dd 0a848a4ceh +dd 065723c04h +dd 0ee397559h +dd 07e279ce0h +dd 0557c5b1bh +dd 08ed9fda7h +dd 00bfe8da6h +dd 00d3fb444h +dd 0e840d500h +dd 0f0d717d5h +dd 0680d8f60h +dd 01e5a6e14h +dd 0f42f8dd4h +dd 0cd6074abh +dd 020e53a17h +dd 034372c09h +dd 01ec647f2h +dd 0d526ab51h +dd 039fda68ch +dd 03f8d785fh +dd 02561cd88h +dd 03a7d9c94h +dd 036068f5dh +dd 07b0c41dfh +dd 0ea809ea3h +dd 0f89b94f6h +dd 0475784ceh +dd 06e310d66h +dd 0ff346abbh +dd 041e92972h +dd 01ae2a754h +dd 09cf379dah +dd 059ace922h +dd 00cf3b62ah +dd 03472d616h +dd 0b5ea9619h +dd 0c3f67889h +dd 0cd496d86h +dd 023650de8h +dd 044a38b52h +dd 0b3d1d13ch +dd 0d593b1b6h +dd 09951d858h +dd 031f1d49bh +dd 03a31ad03h +dd 0268df185h +dd 05077d1f6h +dd 034dcffa3h +dd 0670b227eh +dd 0311fbf42h +dd 0dd2d7d36h +dd 0388b9b4ch +dd 0ba6cb479h +dd 02ab9fba1h +dd 0bb0dbaa6h +dd 0c9f9a8edh +dd 013d418adh +dd 0ef3dee90h +dd 0093a94b7h +dd 0dd2a0ee7h +dd 0f65bc8bdh +dd 08e7c51b9h +dd 0ab732fa8h +dd 0973f5349h +dd 0d65fa793h +dd 0ce80d88ah +dd 077624cdch +dd 0e557749bh +dd 0461b01a7h +dd 03b9ed685h +dd 0b3762f5fh +dd 05ed89335h +dd 0f4eeb1c2h +dd 0d6a75acdh +dd 07d18f948h +dd 009522aeeh +dd 09ec30838h +dd 09d839a0dh +dd 041995b5ch +dd 059a7828bh +dd 0daad276fh +dd 022989b3ah +dd 0e9d1194ch +dd 07a870c8eh +dd 0e624c649h +dd 08bfd688dh +dd 0b82ce26dh +dd 00d0601e1h +dd 0598bf737h +dd 06dfd75eeh +dd 066eb169dh +dd 0b6a96a05h +dd 00f7844c3h +dd 0bd91ea8bh +dd 0119f6423h +dd 033f87e8dh +dd 0a5d3cc39h +dd 0b8d9293fh +dd 0b138a378h +dd 0ed6678e7h +dd 0791aa0b2h +dd 040d13ae3h +dd 0e9c39099h +dd 004a436b6h +dd 024dcfba9h +dd 0958f5fa8h +dd 0ebae595ch +dd 0c6810fe0h +dd 01f4c0b1eh +dd 09a082e7ch +dd 08ac7bfe1h +dd 08e0f7455h +dd 02eaa4c24h +dd 019822ff7h +dd 01b86c398h +dd 094f2d34fh +dd 0dae6536dh +dd 0d423a93eh +dd 05f282bc7h +dd 08258d36ch +dd 047d27a41h +dd 0701fa324h +dd 09c4efb15h +dd 038587249h +dd 0cf37323ah +dd 0f8c090ceh +dd 03a2a5ce6h +dd 00f38abd6h +dd 0d9f904dah +dd 0b53a0f11h +dd 0a26d716bh +dd 0d539276eh +dd 08d8e2930h +dd 0849feac2h +dd 0df44cb70h +dd 084cd2a74h +dd 04519ebe5h +dd 0df939192h +dd 0f49f7dd5h +dd 0d7dd9356h +dd 0a09c66cah +dd 043b90cb9h +dd 0f910468fh +dd 0026a102bh +dd 0a8b842d4h +dd 06abaf0b1h +dd 0cfd8bbd5h +dd 0dbf5e199h +dd 0b016b572h +dd 01b6d6200h +dd 07d0dbf39h +dd 0a49463d3h +dd 070635a5bh +dd 0899edd19h +dd 02232c437h +dd 0d46e7217h +dd 0aa84b392h +dd 0f96b106fh +dd 036d7c42eh +dd 0bf7403c0h +dd 07202cb13h +dd 0ab14b18ch +dd 0fe84a46dh +dd 022f16aa2h +dd 0e9536fefh +dd 088b1b061h +dd 027892a2bh +dd 0ef73c9beh +dd 0cd554e1fh +dd 0dc0a170ch +dd 06cd43204h +dd 062520806h +dd 0b2bc6f62h +dd 0dd658b5fh +dd 0d4d7435eh +dd 0bfd68621h +dd 03632107ah +dd 0b1249dfdh +dd 062464a14h +dd 097b51ea5h +dd 024bfc460h +dd 049a6aa2ah +dd 0aab8b899h +dd 026e6e92ah +dd 0227b106ah +dd 0e9fda200h +dd 0ea12a2e2h +dd 0ae518d4ch +dd 0a80ca03bh +dd 0944196cdh +dd 01952d53ah +dd 04b897cc4h +dd 03beb1712h +dd 0dccd93e5h +dd 0fca54d89h +dd 0b50e2e00h +dd 0133c1304h +dd 04e818784h +dd 072e4b338h +dd 0d2cc0a17h +dd 072c913bdh +dd 0a1484a0fh +dd 0f6a3a651h +dd 055aa902eh +dd 004a3c742h +dd 0a8ef11e2h +dd 033cac49ah +dd 023d80016h +dd 0dc327432h +dd 050bc452fh +dd 0bd8454e8h +dd 06ecaa1fah +dd 02f783dd8h +dd 009ede5efh +dd 091ce7abfh +dd 0b0bcf2ffh +dd 068c9d3d5h +dd 0893d4f7eh +dd 0da189365h +dd 0be848ea7h +dd 0f4ca1c22h +dd 025105dadh +dd 0356f3bb6h +dd 0fb2742f1h +dd 0931152c9h +dd 03cd43a59h +dd 0a44991aah +dd 0109d74abh +dd 043430ffeh +dd 0f8c5b041h +dd 07bd4c725h +dd 016f85fd5h +dd 03dc091d0h +dd 03ccf8850h +dd 033cf418fh +dd 092e9cb04h +dd 0946f4a64h +dd 02164e433h +dd 087ec1957h +dd 0e45db059h +dd 04eff328ch +dd 00ff5c89ah +dd 05347fcd5h +dd 0dd6e692ch +dd 0a117526eh +dd 01d5a3876h +dd 005825ec8h +dd 0f1916333h +dd 08dd20de7h +dd 0a7596fcdh +dd 006b0a464h +dd 028198661h +dd 0f3896c94h +dd 0fc0cec8ah +dd 024517602h +dd 067912156h +dd 06ca6fcd2h +dd 0bec1e56dh +dd 0646953b0h +dd 0ff310d4ah +dd 027688bbch +dd 03fcc3b32h +dd 0dfeaf808h +dd 07ce98c1bh +dd 0334acbc9h +dd 0dad2b56eh +dd 0262ee652h +dd 011c2baf9h +dd 001522503h +dd 0aab73a4ch +dd 046036bd9h +dd 07968ed57h +dd 0ba49c1ach +dd 040445d65h +dd 03d283a1ch +dd 0e845bd18h +dd 0bd8f33c5h +dd 0e953c69dh +dd 0f198ee9fh +dd 078a5298eh +dd 0dad3d08eh +dd 0c192ac6bh +dd 0b021b30ah +dd 0b89ca719h +dd 0cbb2907ch +dd 03f2b8a4fh +dd 03ba0bedfh +dd 00514dc8eh +dd 0705fbb02h +dd 043b1c4d4h +dd 0be80269dh +dd 04451221fh +dd 0df6da88ch +dd 0ea030684h +dd 07f778e81h +dd 02493438dh +dd 0a98bbf79h +dd 06eaf8452h +dd 069ef51d8h +dd 0683addfah +dd 0fa0fe92dh +dd 00826a4c8h +dd 04efb252eh +dd 08465bcc2h +dd 06d746238h +dd 0df4aab75h +dd 00c06cf33h +dd 0f24fe0aeh +dd 0cf06b2dbh +dd 0f0c705ffh +dd 09252b3fbh +dd 0d6278119h +dd 0915adad3h +dd 0a4b548dfh +dd 0841e5ed0h +dd 09e187515h +dd 09f052f8ch +dd 06b094f22h +dd 079bb1f36h +dd 07395df3dh +dd 0f88b5776h +dd 0d3c84f53h +dd 097cb70c5h +dd 0332823e1h +dd 098882f75h +dd 0d4105c3ah +dd 087fe139ch +dd 0dddc876ch +dd 01299603ah +dd 05537348ah +dd 0f827e525h +dd 0842098d5h +dd 041c3a228h +dd 0d681bd70h +dd 0be95b508h +dd 000499f17h +dd 040ed50b4h +dd 0cdc87cc1h +dd 06ba93783h +dd 0688b2ae9h +dd 0a9928e40h +dd 0c7f51b50h +dd 02865d3cdh +dd 0355f0c3ch +dd 09f3fac32h +dd 080313a16h +dd 08db20302h +dd 0984deac8h +dd 0eb54c841h +dd 0f7919803h +dd 03fedf1ceh +dd 021de5f10h +dd 0c4ecfcd4h +dd 066f27c51h +dd 0b35b91afh +dd 019e6a109h +dd 0918bb468h +dd 0c9a80e89h +dd 0476022aeh +dd 0d56809edh +dd 08d8a2fd3h +dd 0d2b58431h +dd 0db789611h +dd 0ddd32019h +dd 0fb674b8ch +dd 021f23bedh +dd 0ce79b16eh +dd 04aa8eeedh +dd 0e7c878abh +dd 0fde15839h +dd 0a80b11cch +dd 04912b6d5h +dd 09f9f4b37h +dd 0e911a5d0h +dd 0a800808fh +dd 0e9916bc4h +dd 04fbce33ah +dd 07e8b3a45h +dd 038d7ffbah +dd 009f9a1e3h +dd 0664f5dd7h +dd 0c7bc8421h +dd 0d477581dh +dd 0335caaa4h +dd 056386b12h +dd 022412065h +dd 0ea796263h +dd 0299c837eh +dd 0fe97740eh +dd 0ef9d9bech +dd 0bdcc9a88h +dd 0c0b23b7eh +dd 058e48bc2h +dd 0c1a4ad13h +dd 0f3fd181dh +dd 0bed605f0h +dd 025688a1bh +dd 03a92c2b8h +dd 0feaa2ee8h +dd 0744a0e3ah +dd 0fd2c7574h +dd 0ac6ae4deh +dd 01777a1d1h +dd 0aef337e1h +dd 0789e77dah +dd 03e991884h +dd 0c01abc60h +dd 0ca7382a5h +dd 09f3770d7h +dd 007a14f07h +dd 0f1d54609h +dd 0d882f719h +dd 08be8ec95h +dd 0be8ddd43h +dd 053fcd1afh +dd 005a79e4bh +dd 0786f54a0h +dd 02e384c3dh +dd 00fc00e7ah +dd 0a3f100b2h +dd 04577948eh +dd 06d9c6f37h +dd 0c2f2b70dh +dd 0f97b3b7fh +dd 0d9899ce0h +dd 0d116ac11h +dd 05289ae14h +dd 0e209094fh +dd 0d2e1ee1ah +dd 022c4a9f7h +dd 0aa987590h +dd 02e782808h +dd 0ba513b77h +dd 027ba5df3h +dd 0fc32c5a1h +dd 031afd9c0h +dd 09e08cfcdh +dd 0c25cc153h +dd 0177b6e5bh +dd 07c690b91h +dd 0e3b96602h +dd 0a7d12639h +dd 075808a26h +dd 0bc8ec3abh +dd 0cbd6f69fh +dd 0c2ade3b8h +dd 0840aa44ah +dd 0aab2d37eh +dd 08a6fb9b0h +dd 0cc6f50bdh +dd 0c3a03d43h +dd 088c76518h +dd 0ed4bd627h +dd 0658d902bh +dd 0d2b59988h +dd 013545376h +dd 0555a8e8dh +dd 042da4d2ch +dd 07c1aad8dh +dd 0d343cf05h +dd 07caa15cbh +dd 0e99e2507h +dd 0fb56a3c1h +dd 0b9243a3ch +dd 01dd33d44h +dd 0a342dfa4h +dd 0e001568ah +dd 07a1639e4h +dd 04bc8052dh +dd 07130103ah +dd 06bcdbb54h +dd 02c5daf95h +dd 08d9fad0fh +dd 0bcea3841h +dd 0757d88e2h +dd 0335294aah +dd 0a0787a19h +dd 0a548ed34h +dd 0f26e4d8eh +dd 06d198dbeh +dd 07d37a440h +dd 037968aabh +dd 0c1a981ffh +dd 01e313fb0h +dd 07f5fdd4fh +dd 0a88a8493h +dd 04a06e5d6h +dd 06ffb21f8h +dd 0731f96f2h +dd 0f5d734edh +dd 0e0d24cddh +dd 053d98f99h +dd 0aeb738dbh +dd 04e5765b3h +dd 060cfac5fh +dd 000093cf4h +dd 021268069h +dd 09271c966h +dd 0e651b2f3h +dd 091f08f1ch +dd 00df88e0bh +dd 06003030eh +dd 0e0fcc950h +dd 0a0389ff3h +dd 0a0cd2404h +dd 019add307h +dd 0d3bf1c69h +dd 0545d0583h +dd 077a82724h +dd 02e6376abh +dd 0d68dcfafh +dd 01f281288h +dd 0af54511fh +dd 04b4b8c03h +dd 0b634cb11h +dd 03f349ffch +dd 002ae7bbdh +dd 09ed418e1h +dd 0224d0f90h +dd 06b8af452h +dd 0b2c7af7fh +dd 0c55c3b60h +dd 0b349efc9h +dd 0265c8a2bh +dd 030c64e96h +dd 08db5a5a8h +dd 0174f0b85h +dd 02c44150bh +dd 0bf7174d3h +dd 09bcb87a0h +dd 0155862f3h +dd 055663ff6h +dd 070c25d94h +dd 004b9dd92h +dd 00e39e5d3h +dd 035db5d27h +dd 0a55c8218h +dd 0732a1cc8h +dd 04fa5f919h +dd 050dfc662h +dd 0306598e8h +dd 0cd626b18h +dd 0c8191ca2h +dd 0fbbeea4ah +dd 0f6f79a8dh +dd 03cc2cdefh +dd 047dc9f82h +dd 020edc65ch +dd 091ba58bdh +dd 0e8389707h +dd 0cfcc2fb8h +dd 0e50b0f96h +dd 0adcc6ebch +dd 046ed6441h +dd 08564c67eh +dd 0153edbfdh +dd 0885f84d7h +dd 02420c244h +dd 037db986fh +dd 048f46abfh +dd 08c7ac824h +dd 08b3e9251h +dd 029f2ff8eh +dd 0cf74c499h +dd 0973e8e2fh +dd 013effa1eh +dd 04f5ec7f8h +dd 04e3294c4h +dd 03f3ba327h +dd 01d403af0h +dd 0a519b615h +dd 06cae1964h +dd 0012829c7h +dd 01e9d1342h +dd 06d7c8a23h +dd 09cc49487h +dd 0e6662421h +dd 05725bdech +dd 046dd0e88h +dd 0398b2362h +dd 03f888307h +dd 0e4dc0b86h +dd 048c9d7b2h +dd 0afe3e991h +dd 0c6ad46d1h +dd 0a3449734h +dd 0bef3378fh +dd 037e9f8e4h +dd 081d4f138h +dd 0a8b742deh +dd 044fd8095h +dd 08b771279h +dd 06e9b3668h +dd 0c3c641fbh +dd 0b0179581h +dd 0a75ecfeeh +dd 016e68207h +dd 0b2217f85h +dd 0cf107619h +dd 0994c6a51h +dd 01e550c8dh +dd 0b8de91b2h +dd 0d113ad98h +dd 082afa78ch +dd 0afe1dd4fh +dd 005a1f7b1h +dd 034caf08bh +dd 0afcd7b90h +dd 0573ed235h +dd 00a7b1005h +dd 09cee052eh +dd 0e6f89d04h +dd 044787266h +dd 0acd69cf6h +dd 09ff19e1fh +dd 065bd6cddh +dd 04e1e8f57h +dd 0530b12a1h +dd 0172ee15ch +dd 0a4fb981ah +dd 04ac7f50bh +dd 0cfd76d96h +dd 0ffa0a0d1h +dd 0702164deh +dd 011eea927h +dd 0b63519b2h +dd 065dd2912h +dd 00f2bf9dah +dd 09a04d7c3h +dd 0f4558347h +dd 06b3e7b73h +dd 052dd9652h +dd 0425b68ebh +dd 0bdf708afh +dd 0fbb01c78h +dd 0fb615cb6h +dd 0d032ab01h +dd 0a9f512a0h +dd 07321ab4ch +dd 01f435977h +dd 07e510458h +dd 0fb7cdb8dh +dd 0f6581482h +dd 0c8975746h +dd 010409a7dh +dd 0e03e23b5h +dd 0f7028e41h +dd 01a25eb13h +dd 000c7daa7h +dd 0dbf6a796h +dd 0647b4253h +dd 0e785b24eh +dd 071fa4ebbh +dd 081272e8ah +dd 047b5f85eh +dd 05c3a1c10h +dd 043530a7bh +dd 02a9dd836h +dd 0f88530e7h +dd 037a6e4ech +dd 015a15c43h +dd 0d2761c48h +dd 0c3df655ch +dd 035354ec3h +dd 0fbf3f1d9h +dd 08911dac6h +dd 009476741h +dd 013c88859h +dd 0c64d1c90h +dd 0347324aeh +dd 085b4f48eh +dd 02cd47359h +dd 092c8e62fh +dd 026db5888h +dd 0c9cb98bch +dd 01127fb06h +dd 0e47aa47bh +dd 0610444e2h +dd 0503c895dh +dd 0404d902dh +dd 0d75286bdh +dd 0c2fa3081h +dd 0cc9f54aah +dd 016601c3fh +dd 03900a717h +dd 08953f408h +dd 095520360h +dd 011fe77fbh +dd 0240ae286h +dd 0fc85c7f7h +dd 0c080d28ch +dd 032868faeh +dd 06636144ch +dd 0dec457fah +dd 093ffb5e2h +dd 00566a9e3h +dd 09a560772h +dd 0e9d169f3h +dd 03a130ea7h +dd 01ff64800h +dd 0b963332fh +dd 06dd19343h +dd 027122a68h +dd 0bfe75659h +dd 0cfca6bach +dd 08ce100beh +dd 02b02bb7ch +dd 09caa2286h +dd 043d7a4a1h +dd 0ff92e2b3h +dd 0c83b61cfh +dd 0ac6f0899h +dd 0d920e605h +dd 0a7bee503h +dd 06b92cf6dh +dd 08ca1555bh +dd 049ad44dah +dd 058a5edceh +dd 0efbe523ah +dd 034eb24f4h +dd 0a741ecc9h +dd 0c2f1ce27h +dd 0f5b704f1h +dd 03c5cf0d3h +dd 00d6a7b84h +dd 002ac69f0h +dd 08e048e3ah +dd 08a10e099h +dd 0b442d464h +dd 0598deec9h +dd 06bd70ff3h +dd 062a22bfeh +dd 07c31dad9h +dd 0d98dbd7bh +dd 01210b8d0h +dd 08e093362h +dd 02e280df4h +dd 0e24c40fdh +dd 0b4ea28a5h +dd 0bd24a64eh +dd 02f1e41e4h +dd 0881a75b9h +dd 016c2959dh +dd 0fc33c6f2h +dd 00ca73051h +dd 065f1a37eh +dd 0eb612ebch +dd 0e7b5aafah +dd 0c886e2eah +dd 0a8fde106h +dd 0abcf9691h +dd 0c8fa78eeh +dd 0d080be82h +dd 032b23a8fh +dd 093e84c8ah +dd 07b43c865h +dd 0166a7b4bh +dd 03a230238h +dd 0b35bb9aeh +dd 046e1b084h +dd 006cf0221h +dd 0d7bb5b21h +dd 0b5eb2a17h +dd 0e6f36395h +dd 098801ab1h +dd 06c7c189ch +dd 046a8a316h +dd 041646d51h +dd 0ddac4c3ah +dd 0b74a25ddh +dd 01fce1279h +dd 067019b61h +dd 032907f9bh +dd 06b3e77a0h +dd 0045639e9h +dd 03fb73694h +dd 0dd8e66ddh +dd 0607b1865h +dd 0128f46a7h +dd 092296633h +dd 090651e9ah +dd 0d3df4d0dh +dd 00f1fdf60h +dd 05389737ch +dd 0ad563e3bh +dd 007a4c5ffh +dd 0b1de5056h +dd 0e87572fch +dd 066f73012h +dd 0c1b468a5h +dd 01b411bafh +dd 07f73e603h +dd 06d404d8ch +dd 0d24f4eafh +dd 05f62c805h +dd 01c6fc9b6h +dd 0d7e78da3h +dd 073367676h +dd 0b133a14ah +dd 082e1b71fh +dd 0f503fbd6h +dd 0187e6aa8h +dd 0814eb422h +dd 04308f44ch +dd 0266975f0h +dd 0452becddh +dd 0b9353131h +dd 0d8c9111eh +dd 0607dc1b0h +dd 0dd81b553h +dd 0acb15caeh +dd 0b66ec38ah +dd 010cce79dh +dd 045a1a86ch +dd 08062217dh +dd 01e2b1ab8h +dd 0a03e6f52h +dd 00a05bc82h +dd 0fd62bdd2h +dd 026432ebeh +dd 0af7a8901h +dd 0e694e042h +dd 0547da7c2h +dd 0ae25d54eh +dd 061b88a10h +dd 0b57ece24h +dd 08d88c749h +dd 031b43e64h +dd 0b1b0e8ech +dd 0c0f36461h +dd 0b15c967eh +dd 07da08caah +dd 0956187a3h +dd 0e7b61e6bh +dd 07a09847fh +dd 049caa121h +dd 0d8c3c59bh +dd 077521175h +dd 0054297bfh +dd 0dc80adbbh +dd 0b160ed67h +dd 04c62d450h +dd 0561b6c32h +dd 0926c618ch +dd 0b6ac3969h +dd 08971ede4h +dd 0abf9d22ah +dd 073bfe3ebh +dd 0aed02875h +dd 032e65607h +dd 042a162eah +dd 0fa156aeah +dd 02d0eff6dh +dd 04abd4fd2h +dd 0b1fd98a4h +dd 01630bd4fh +dd 099e85537h +dd 0e685d5ebh +dd 0046afca9h +dd 059255e75h +dd 0746bc352h +dd 0fd2e4ba6h +dd 0c628a76dh +dd 060d0da02h +dd 0e28f5d83h +dd 0e28ceeb5h +dd 0a052d046h +dd 0c885b307h +dd 01d11cd90h +dd 020f855f6h +dd 0c7310679h +dd 0b39dcb57h +dd 0e18872a7h +dd 0905e6c55h +dd 0667d0505h +dd 0a36ce3dbh +dd 05f39a6efh +dd 09404494ah +dd 0238a11c8h +dd 0d0bb12e0h +dd 0ebde3325h +dd 09c02396fh +dd 0a4e63dd5h +dd 026e440ech +dd 0785d0835h +dd 0fe468fe5h +dd 00968ecb0h +dd 081585879h +dd 019c851cbh +dd 0941e8951h +dd 0ea0d2b1fh +dd 03a7adaeeh +dd 0bc09d615h +dd 0376967c9h +dd 083a1001ah +dd 06ef18efeh +dd 08915477eh +dd 0013c5b06h +dd 08dc9bd81h +dd 0ad8dc2b2h +dd 06408086ah +dd 078f7659ah +dd 092d4d2d3h +dd 05ed4619ah +dd 01e314427h +dd 0f0dfd7bch +dd 0b7d8c689h +dd 014c6bea2h +dd 0d170e16ah +dd 0fb1b7c21h +dd 01652fc81h +dd 04eea0e98h +dd 0059ac858h +dd 004585281h +dd 04a7a9ec9h +dd 0e9099337h +dd 0f9d1f93dh +dd 0a5bf45e9h +dd 0f7d1ca88h +dd 03dac7037h +dd 0cca6f97bh +dd 0901e677fh +dd 0fca16481h +dd 0125e96a8h +dd 0ed9ed706h +dd 025625c76h +dd 0277a274eh +dd 06ac4b4a7h +dd 0d41d91ach +dd 063d71d99h +dd 09e3b7b8eh +dd 0e63b08f0h +dd 05ff039e3h +dd 0ec10bf6bh +dd 05eaf16b8h +dd 0dfaefc3dh +dd 0b1415390h +dd 01b775a1eh +dd 0d154757bh +dd 009ad64a1h +dd 02c053cbbh +dd 0c11b2ad2h +dd 0caa53778h +dd 086829d0fh +dd 0558b23afh +dd 0d61756fch +dd 0649b0f48h +dd 064225084h +dd 00f117496h +dd 07e6a4735h +dd 095d40c2bh +dd 0354c1cc6h +dd 0ee480930h +dd 02b6951dfh +dd 0823ddd90h +dd 02609cdbfh +dd 06dd2bb59h +dd 08ecaeab0h +dd 084c6f417h +dd 050244a48h +dd 040c00909h +dd 03965dd9bh +dd 0025739c1h +dd 00bf901d0h +dd 0c9184ad9h +dd 0b4042eb0h +dd 0ba17a87fh +dd 0bf85193dh +dd 0013ac636h +dd 031db704eh +dd 014d47612h +dd 088548726h +dd 09cb4d0d4h +dd 03914f4f8h +dd 018060e62h +dd 0632aa3c5h +dd 0feb5b5d7h +dd 0a5e98554h +dd 067d10b27h +dd 001c96ad1h +dd 09d8d52f2h +dd 0ea099bc7h +dd 0f67ce3c5h +dd 0023f3ef8h +dd 0fe06bdc4h +dd 02abd064eh +dd 0b1c4df5ah +dd 05dd7634fh +dd 088ec9aadh +dd 0c4756baeh +dd 045cb7cd5h +dd 010cc79dfh +dd 03774b026h +dd 08f0fd8dah +dd 09231c57fh +dd 0f7e37e39h +dd 0e5f687a9h +dd 0a6ef9932h +dd 00f1dce7fh +dd 0e7b89767h +dd 0cac0953fh +dd 0049081b1h +dd 00868ea8bh +dd 06e02b463h +dd 06dad1a61h +dd 09eee0f90h +dd 09a40bf96h +dd 03530a18fh +dd 020b1dc73h +dd 0217e6531h +dd 0c893ec82h +dd 001e60c00h +dd 0a840caafh +dd 077fe7e34h +dd 0279b2e50h +dd 0d59aad9eh +dd 0705b22deh +dd 057450efdh +dd 06c1106fah +dd 0c0753f45h +dd 04185e592h +dd 067cb29fah +dd 0f2063a97h +dd 03b32aafbh +dd 00030bf05h +dd 0d61f8119h +dd 04bc51debh +dd 0be1f8d06h +dd 030c3a934h +dd 0ccfc855eh +dd 05117fc8ch +dd 02302ad23h +dd 0a36e9a1bh +dd 085644809h +dd 036c29031h +dd 0453fc347h +dd 0e6ec6aa9h +dd 05e6bbb48h +dd 058364975h +dd 00c38e637h +dd 0e417feedh +dd 07099849dh +dd 0d7934ba9h +dd 0902b56ceh +dd 07e66f331h +dd 0fe77ab1eh +dd 0cba17f83h +dd 0c5b603f4h +dd 099cbdafeh +dd 031414389h +dd 069c8081dh +dd 00ad829c1h +dd 071641f9eh +dd 040ac0e74h +dd 0125efd70h +dd 058e9be23h +dd 0571e2f40h +dd 02a9b4493h +dd 0366399abh +dd 018950c3eh +dd 0c7ac35c8h +dd 0f1fed284h +dd 0454f5be6h +dd 0c824f166h +dd 044df081ch +dd 0b7db0987h +dd 0447a2321h +dd 0ff1e8e0bh +dd 0d5b58c13h +dd 05fbce33ah +dd 00897d42eh +dd 07a2c6a55h +dd 034ab7c9fh +dd 0430f2331h +dd 078c01104h +dd 053cc04eah +dd 0e9faf7a6h +dd 0461243c2h +dd 008d9c4dbh +dd 07da87c33h +dd 0fa60af51h +dd 0a8ffda9bh +dd 050a9b249h +dd 0d553e681h +dd 0dea723e7h +dd 0bdc283c6h +dd 0b5d49ed3h +dd 0f096d2aah +dd 0922c6c59h +dd 0197efdd8h +dd 0fe6cdd6dh +dd 09db20e9bh +dd 0c58755ffh +dd 0f86f7ae1h +dd 040421d28h +dd 01d9fed8dh +dd 05f7b613fh +dd 024c64b8ah +dd 080d05951h +dd 0d472922fh +dd 0d69147dch +dd 06eaf8088h +dd 0081b37ceh +dd 028bd09d2h +dd 0a500bc98h +dd 02fad6582h +dd 0fd1aef3eh +dd 0fe4f3384h +dd 07211172eh +dd 022a1f1b7h +dd 0b3ba0a0bh +dd 027a4d2d8h +dd 08de5cc45h +dd 0cffa8ddfh +dd 04f777198h +dd 0a64acf96h +dd 0d4370433h +dd 029f3b8b4h +dd 00d696cbdh +dd 045c79459h +dd 0381c7b1bh +dd 03bd578e1h +dd 08a7da754h +dd 01069e662h +dd 049f02731h +dd 0599e7890h +dd 0e1b0b122h +dd 0fdfc5025h +dd 086535b7dh +dd 07a95e524h +dd 06e03792dh +dd 006a05585h +dd 0ff743e69h +dd 0b5bf9ccdh +dd 09b539917h +dd 09f96cb58h +dd 0af1b926fh +dd 0811d9322h +dd 0b44113d7h +dd 08679b147h +dd 005121638h +dd 030080202h +dd 002bd35c1h +dd 0508b3e78h +dd 0b3b11b5dh +dd 0023d32d2h +dd 05a3a0345h +dd 0e7984255h +dd 0546dc719h +dd 020746323h +dd 0db56204eh +dd 04cb0fa66h +dd 090e41891h +dd 0857a3c01h +dd 044fc0d23h +dd 0dabefb9fh +dd 063110b7bh +dd 0963bcdc4h +dd 0a4d59f88h +dd 0d13c2baeh +dd 04a3fc3efh +dd 04185ce3ch +dd 0552e45c3h +dd 009618a24h +dd 02b7ae813h +dd 02276c212h +dd 08cab97c5h +dd 0caa794cbh +dd 0e897ab4ch +dd 07a4386d8h +dd 0d3a44abch +dd 09378cde0h +dd 0c6ef4e58h +dd 04508f52fh +dd 042cfd7f3h +dd 08b9f0915h +dd 0aa8d2cb1h +dd 0d8c5a69ah +dd 04eeedd66h +dd 0c5293a67h +dd 04592b726h +dd 0bf206760h +dd 0b26c9455h +dd 0d027e15bh +dd 0f01d47a9h +dd 0efe42c68h +dd 087d662c6h +dd 0bec75e9ch +dd 07661d028h +dd 04ba82edeh +dd 0b2b2f4ebh +dd 053ae6263h +dd 01c1fd555h +dd 013dfbab1h +dd 03d2c33abh +dd 08da6aa7ch +dd 0d48ded32h +dd 06ba66b01h +dd 009ef0ad9h +dd 05c863edah +dd 0bfc8d00fh +dd 0c278e161h +dd 0747fd57fh +dd 06d0ed017h +dd 00502a4c6h +dd 004410e23h +dd 0a1cb9431h +dd 0f008f0b8h +dd 03615e480h +dd 0e4c7e7ebh +dd 0c02f2734h +dd 05c8e8124h +dd 00b52811ah +dd 042629972h +dd 083e8d6eeh +dd 0b4509d5fh +dd 095d4c629h +dd 0799d51c3h +dd 0e3a50a29h +dd 02c869846h +dd 023691996h +dd 0c35bd618h +dd 0ae7f2436h +dd 05c0ac2aeh +dd 03e9f991ah +dd 0dad69872h +dd 038b1a86ch +dd 0429a0768h +dd 090468173h +dd 04845b180h +dd 080f1291fh +dd 0056d7ca4h +dd 08ee77e4ah +dd 01c36c878h +dd 0497eee96h +dd 00230d79fh +dd 0d1524eeah +dd 0901b057ch +dd 000e0c80eh +dd 01435299ah +dd 09ec38d0dh +dd 0205ce23bh +dd 01e4b9826h +dd 02ec2e7aeh +dd 046e4c22ah +dd 048653916h +dd 0bc654c4ah +dd 05004d410h +dd 0bf08d7dfh +dd 019897763h +dd 03d9b07eah +dd 07d058f4eh +dd 0bc2908c4h +dd 083c43807h +dd 0fa3bd5bbh +dd 037a7de83h +dd 03905cef3h +dd 0787fdae4h +dd 00bc0fc62h +dd 075990ce7h +dd 0db034b30h +dd 0ee2e8afeh +dd 0d6b17064h +dd 0964b2b20h +dd 0444c0ac2h +dd 03663ab36h +dd 0b4045b28h +dd 0e34152e4h +dd 0c2a0c501h +dd 0b05cb7b4h +dd 08c53adffh +dd 06dd0905eh +dd 04aff7568h +dd 0a573dc6bh +dd 096f2f502h +dd 0425ff4e1h +dd 07a97c748h +dd 0e203f32bh +dd 078b2fb8fh +dd 00e47c592h +dd 0e2d64048h +dd 002b6398ah +dd 06c2cc6e8h +dd 0dd938e03h +dd 0c18d0418h +dd 01fd7bdf2h +dd 0a6662347h +dd 07e80f6e7h +dd 06e3f5f07h +dd 0d1e7dc7ch +dd 0c590be80h +dd 0c2aaadfbh +dd 0e2609894h +dd 00d2221d6h +dd 0c7030c51h +dd 0e8a133bbh +dd 078b3ea8ch +dd 052c838aah +dd 0240c3ebeh +dd 0312f729ch +dd 0fa2f4456h +dd 0a959836ah +dd 055d7a022h +dd 0da7b8ae4h +dd 006e1d7d9h +dd 061cdebc1h +dd 040fd0d7dh +dd 0a3752653h +dd 095678098h +dd 0e287d59ch +dd 04daecfa9h +dd 0665caf24h +dd 0251ff3a7h +dd 0384d4d4ah +dd 02671a0bdh +dd 003887ca3h +dd 0cc626103h +dd 07b98bbdbh +dd 0d4c33757h +dd 0bd0c0c42h +dd 06c805e86h +dd 0ca88c660h +dd 0a11bff0bh +dd 021af2df6h +dd 0c908ce97h +dd 03d26e7deh +dd 08c6ffc29h +dd 0f56e4320h +dd 0c88ab5c4h +dd 0547a6202h +dd 08e2ea014h +dd 083ceab70h +dd 0aa84c523h +dd 0fad82a9bh +dd 033accb5eh +dd 0a8e89c97h +dd 013d708adh +dd 026c65f6bh +dd 0b12e0ec5h +dd 06b1ce85eh +dd 0191ccb19h +dd 0f12e3d62h +dd 0bc2d47f5h +dd 03c106dfeh +dd 06abda991h +dd 038440be5h +dd 0919cf9d2h +dd 0e1f18996h +dd 0a1984d14h +dd 0b12c0b24h +dd 0338fcaf0h +dd 0e7eff6edh +dd 0562211c1h +dd 0e2cbbca8h +dd 0fa34d853h +dd 0b82e1958h +dd 07a5561fdh +dd 0af1b6cb9h +dd 0459751d5h +dd 03fc1b12fh +dd 024b1086ch +dd 0b9b9b3cah +dd 0a6abdb6ch +dd 0e3321ab1h +dd 0cab166dah +dd 0e0eda172h +dd 0867ef48dh +dd 0a4c45d3bh +dd 0b392bb5ah +dd 0368b6b64h +dd 0e841ca18h +dd 0713e4ce7h +dd 00fa09906h +dd 06548672fh +dd 0ab3571b9h +dd 0578adf09h +dd 0a6be69eah +dd 0512464aeh +dd 04cd8dfb9h +dd 03245d25eh +dd 0b4ce5d95h +dd 03a485871h +dd 05cbf3225h +dd 0fc8f5a03h +dd 0f044ac75h +dd 0de500c6eh +dd 096d4acdch +dd 050ebef63h +dd 0e1e976d6h +dd 0a2dc2edbh +dd 0810a252fh +dd 0d1e5e14bh +dd 06071ff66h +dd 0a5c3fff7h +dd 065303b5ch +dd 0b8b4f5d3h +dd 0f79f2ecdh +dd 018a86a95h +dd 0b5ad8911h +dd 0b4f546beh +dd 0ef6c47e5h +dd 04441096bh +dd 029f0a046h +dd 08c121933h +dd 0194e7aefh +dd 0543573eah +dd 0262b1282h +dd 0a23446c3h +dd 00ae8152bh +dd 006d4b70bh +dd 08c40d3c2h +dd 0b0a19bf6h +dd 0236b224ch +dd 0e84e50bah +dd 0a55dead7h +dd 0d166bee6h +dd 02bbda226h +dd 0c419bbd5h +dd 0a3807237h +dd 003c10655h +dd 072461582h +dd 00cc266a2h +dd 0b3a3b2dbh +dd 0165dab38h +dd 070c7e274h +dd 000da74f3h +dd 0374705adh +dd 0741acdfah +dd 0f23cc0dah +dd 0447e7a44h +dd 0e9b182ebh +dd 037066d9ch +dd 06c99ef2fh +dd 092fe0b51h +dd 057897471h +dd 0f4f0d376h +dd 0331d14d7h +dd 0f64df6deh +dd 0e27fc08dh +dd 043ed775eh +dd 0d8c1c28dh +dd 017fcb060h +dd 0c5441f90h +dd 08618088ch +dd 0e51343d8h +dd 03c69545eh +dd 08d717298h +dd 0911ee57ah +dd 00d157e92h +dd 0e5a49effh +dd 067568a81h +dd 0e9449444h +dd 0cd7fa57dh +dd 0fc8c0301h +dd 0c2237074h +dd 028445155h +dd 0b369f685h +dd 067d42e4eh +dd 079d19833h +dd 07773182eh +dd 048120309h +dd 0d46dab7fh +dd 06de292c8h +dd 055a24d74h +dd 02ebabc61h +dd 0720f272fh +dd 0d18c61d2h +dd 0f7df20cah +dd 08408e920h +dd 0105a9f2eh +dd 0c6f6c1d9h +dd 0eea83ed1h +dd 0aff8c23eh +dd 022c6ab70h +dd 013ef3256h +dd 072b86772h +dd 05b9690deh +dd 04d1f1681h +dd 07db2ff11h +dd 06575894ch +dd 0646ca581h +dd 099a2a965h +dd 06430fd1fh +dd 03fef19d8h +dd 09e087c94h +dd 0c40ba086h +dd 0f7fba0b2h +dd 035c06378h +dd 0a4c32ec5h +dd 0cc5c284ah +dd 0381d45e3h +dd 0c6e03f9ch +dd 0841c9a67h +dd 0a266313ah +dd 035a35d46h +dd 02f7118beh +dd 0288afde8h +dd 0242a8335h +dd 0db2b5209h +dd 00a8d9e67h +dd 00edc1d3dh +dd 0a6d1b3cch +dd 07ef17a5dh +dd 0787cff9eh +dd 0c486b761h +dd 00bb20029h +dd 0a87a614bh +dd 0f5ca2290h +dd 0dccc7bbbh +dd 0c79d14dbh +dd 0e5bf4db4h +dd 03d3ae3dch +dd 08bdb932ch +dd 0c66ff088h +dd 01f31b897h +dd 087c962c2h +dd 0a93b5ad1h +dd 04851978dh +dd 07da4488ah +dd 04e420ad7h +dd 06315b466h +dd 091c5e5bbh +dd 06a086d8bh +dd 0fdec9bb5h +dd 0de182d6dh +dd 0fdfa0206h +dd 039184f3ah +dd 06d891dc3h +dd 0ebfa7787h +dd 06646d769h +dd 0651ab8a2h +dd 03d2e6d74h +dd 0f9516961h +dd 0eba2fb97h +dd 0e547bf03h +dd 0969da61eh +dd 0e3448b0bh +dd 04b5cc453h +dd 00e99df1eh +dd 0fd63559dh +dd 033d51ce3h +dd 0a540d865h +dd 0b42112c2h +dd 0d739a161h +dd 0f7cefefah +dd 0529fbc84h +dd 046ffb15ch +dd 07f3e27e8h +dd 07bb6c84ch +dd 056b6771eh +dd 04e31a734h +dd 034362a88h +dd 07cca5b3ah +dd 0166f0947h +dd 08891803dh +dd 0efa73c22h +dd 0934fd373h +dd 0cced2d5fh +dd 08d0b9906h +dd 0f1a87f05h +dd 00749855ch +dd 00c214a08h +dd 08d7fb367h +dd 0f572fd35h +dd 0f625a227h +dd 0de7a39a6h +dd 05165d002h +dd 0d9e37bd7h +dd 03862652eh +dd 04a8495e4h +dd 01528875ah +dd 02500beech +dd 02e2b43dfh +dd 0223d7088h +dd 042c1f9eeh +dd 0fc65bbd5h +dd 0b93b626ah +dd 07b901ba0h +dd 0f9b0c071h +dd 0480f4b08h +dd 07fa54a79h +dd 098c0e6abh +dd 06651759dh +dd 00c8371fbh +dd 0957a851fh +dd 03a1d8241h +dd 05aa1aa05h +dd 070ab91f5h +dd 0a01e8e45h +dd 04f703577h +dd 097ed1f84h +dd 0a9171bc9h +dd 0e6e89d98h +dd 07405914dh +dd 082459d1dh +dd 001384a1eh +dd 0e172099ah +dd 0867165a8h +dd 0d1a19e1ah +dd 0075aee01h +dd 0ac45c264h +dd 037435da7h +dd 08a5580dfh +dd 069c6b4f3h +dd 01aff126dh +dd 03209bb70h +dd 0a6dcfdc7h +dd 03177d892h +dd 02b2f919bh +dd 0b1940436h +dd 0676cb605h +dd 0fae454c5h +dd 0787d806ch +dd 0058c4595h +dd 0abfa688eh +dd 0c723c97fh +dd 04c9f591ah +dd 07faf83f4h +dd 0dbad4dd1h +dd 0bf80896ch +dd 022d5fb6ch +dd 01d021425h +dd 00ccc2320h +dd 0543619b3h +dd 06cf2ff7bh +dd 02467f3f0h +dd 03fab69ech +dd 0c31ef431h +dd 0d9cb034fh +dd 029ca6cfah +dd 005ea31ebh +dd 02733ba2ch +dd 08a3694d2h +dd 0c5adf9e3h +dd 012c57182h +dd 09b292326h +dd 0a1ad1cbeh +dd 063908138h +dd 06d52bdc6h +dd 0cdc3c1b5h +dd 074b8e818h +dd 0bf8d9d80h +dd 0a40d6414h +dd 07a4714deh +dd 07881a7d9h +dd 010decf8ah +dd 0a4dfb48fh +dd 00739bfb1h +dd 038ed8900h +dd 015c072f5h +dd 0d91f290dh +dd 02defabf4h +dd 05e362bffh +dd 0487659ddh +dd 0d63ab919h +dd 0f5411d1fh +dd 058ac960dh +dd 07fdfc27eh +dd 0370dd490h +dd 06ed7c58bh +dd 0457ab650h +dd 07a390b6ah +dd 0fe688a3dh +dd 0d80d7333h +dd 07b4ade89h +dd 0d59840d6h +dd 0481c2789h +dd 08a88fd96h +dd 0544ee80eh +dd 0d642c465h +dd 016939246h +dd 0dc482858h +dd 0f5ab5defh +dd 0d76da70ah +dd 054bebd92h +dd 0d580c124h +dd 0265cac5ah +dd 0cd9f4cfeh +dd 0ec711842h +dd 0a2094f96h +dd 001c29d06h +dd 04d758046h +dd 0f45ffabfh +dd 0f5530a73h +dd 055360c20h +dd 01f23205dh +dd 0f59d128fh +dd 02ad2b152h +dd 04bee049dh +dd 0a73b5f89h +dd 0e75190f4h +dd 086974c5eh +dd 0eda83895h +dd 0d3071725h +dd 0c5a0d076h +dd 0d1a83a2eh +dd 0b18233c3h +dd 08063b389h +dd 018d2ef28h +dd 0aabbc0a7h +dd 0de1ce983h +dd 048da7930h +dd 0b5cd065fh +dd 0177d0dd7h +dd 0217c5dc7h +dd 0b4ec5a60h +dd 06a15e6f9h +dd 0fff5a1a6h +dd 0550d01bbh +dd 09a2ea3a0h +dd 0ca9d17fah +dd 01a082733h +dd 0164bc34ch +dd 074e89d9fh +dd 0717a75f5h +dd 0fa41ccb9h +dd 0ed42a4c2h +dd 022cb0c2fh +dd 08a4d93feh +dd 0703f4b10h +dd 0db4e5cf1h +dd 0a38d3beeh +dd 03cfecde0h +dd 0fac33834h +dd 070fe8b58h +dd 0c1b90987h +dd 08ff76ab7h +dd 02aa9f389h +dd 00b8baef6h +dd 059f34116h +dd 0ab6c7422h +dd 01ed69d78h +dd 04d12bcfbh +dd 0291394e3h +dd 052092f7ch +dd 03ea45442h +dd 0dd184206h +dd 0ea72b902h +dd 053f28f88h +dd 0a1a05f6fh +dd 0136a4bdbh +dd 0f2507c91h +dd 0e9cca781h +dd 03b2f789fh +dd 030d66e31h +dd 0715b0af6h +dd 05e1ad673h +dd 05657fb73h +dd 0bc871e44h +dd 08766dc14h +dd 0f48d40beh +dd 0439efcf6h +dd 04a922aafh +dd 0b6614908h +dd 00c57e9fch +dd 0f4c41ecah +dd 0f90af8c1h +dd 05359ef56h +dd 0e55712b6h +dd 0fe062cb1h +dd 080c547aeh +dd 07084efcah +dd 0fc92cdd1h +dd 0a3ea93a4h +dd 0136a234fh +dd 0c4e42525h +dd 03e3e1dabh +dd 04af517d6h +dd 0e525429ch +dd 0d4a74378h +dd 069dd2548h +dd 01efccba6h +dd 0c0aa3efah +dd 09c25df7dh +dd 0e69a9c32h +dd 0fd73a314h +dd 080598ae9h +dd 052ba1dfch +dd 00cfaa809h +dd 0722f83fah +dd 0172def6ah +dd 01895d7aah +dd 0e1a1f0deh +dd 0c3f65134h +dd 083c56c3ah +dd 0cda25603h +dd 00c0c49b0h +dd 067319803h +dd 021b236ach +dd 0b4c17029h +dd 0392de7b5h +dd 0e64e8235h +dd 07261ba95h +dd 087c2fb7bh +dd 047f0d8dfh +dd 0f56cb292h +dd 0d6231788h +dd 040d6a36dh +dd 0aecf2e16h +dd 0794c1214h +dd 0698acdbdh +dd 0c2790323h +dd 00b12319ah +dd 08c45f53ch +dd 0093d06b0h +dd 09c69c7f5h +dd 0eb8e8211h +dd 0ae017be1h +dd 0f9dd8d66h +dd 01801cd58h +dd 0000710edh +dd 038b45742h +dd 03f87b4a4h +dd 028d34684h +dd 0d2fbd489h +dd 0d6fbc04ah +dd 0b4a85f1ch +dd 0828c7c23h +dd 07a3083c7h +dd 0e289a3d5h +dd 0f61a6126h +dd 0414ace9bh +dd 033065543h +dd 0577729d7h +dd 0e003effeh +dd 084733d93h +dd 0edb6f567h +dd 0b7e58f2ch +dd 0bb6c79e5h +dd 0c86f66e6h +dd 0102eda0eh +dd 07985f3cfh +dd 0806aabeeh +dd 03d47b7bch +dd 0e4e78cc3h +dd 0baef2249h +dd 0ee99b772h +dd 0ceb0344fh +dd 0aa3c7965h +dd 0c48c5971h +dd 080adcb75h +dd 0517c008fh +dd 033504121h +dd 0425e7ef5h +dd 0cb9e86efh +dd 0d9bdd292h +dd 0678ec701h +dd 0739d9750h +dd 00c07f3afh +dd 01f0419c0h +dd 0f7b4e85ch +dd 0a4ac5467h +dd 0c2bcf48fh +dd 0a4b6cfddh +dd 0e40bb6c7h +dd 0ecbd403ch +dd 072a65950h +dd 0ce2e10c7h +dd 0d4c608edh +dd 04dee7ee3h +dd 00a477d27h +dd 0ed0b9d01h +dd 067f9577fh +dd 0cd522f5ah +dd 0f44aabb5h +dd 041e2b891h +dd 0dad50cdeh +dd 0265bcda8h +dd 09ea2cfb3h +dd 0a5197410h +dd 043fade91h +dd 068f3bae3h +dd 0bd00d483h +dd 0c6da4026h +dd 0e005777bh +dd 0acc34767h +dd 0172541a1h +dd 0dfa16d05h +dd 09f99d056h +dd 017dd63c2h +dd 02bd360c0h +dd 090b1539eh +dd 0dc0f9f69h +dd 0a0c3f1dch +dd 05e1d961ah +dd 0ec14698bh +dd 0fcc3ddb2h +dd 0fc05789dh +dd 05afe599fh +dd 0c90de92ah +dd 0d2d6288bh +dd 093803927h +dd 08f8d6ab4h +dd 09ceacc01h +dd 04b35a87eh +dd 083c1d8cah +dd 0ed2cd203h +dd 07a88237fh +dd 0086e55bah +dd 0043df9a0h +dd 0460e8921h +dd 03c532bdbh +dd 0ecfbc9d5h +dd 0990cf7dah +dd 0e49b7594h +dd 0cd4726c5h +dd 0e449b510h +dd 0b259eca8h +dd 03a73cefeh +dd 0165c4127h +dd 029015063h +dd 0c03300ddh +dd 0da388752h +dd 02d150957h +dd 07b78f88ch +dd 0e0db7a96h +dd 0a1d7bf91h +dd 08349fa7dh +dd 025692cb4h +dd 0ec37302ah +dd 02c9b070fh +dd 038c8b4a4h +dd 0027e37e3h +dd 0e36bf438h +dd 0c40bdc09h +dd 07a39fc26h +dd 0561c9072h +dd 0df37e39eh +dd 014f1f02eh +dd 091687364h +dd 01e25f74fh +dd 0e655f6d2h +dd 0dba3e42fh +dd 0fa5441e8h +dd 0630bd0f6h +dd 0c6c63220h +dd 0ddf9e5bdh +dd 04733c5b2h +dd 032fbd686h +dd 0e9be97d1h +dd 047c1a913h +dd 004f0a73ah +dd 0e01f5c2ch +dd 08e8b9cedh +dd 08bbe848ch +dd 0c3dc4d15h +dd 0fcfad09dh +dd 0edd314beh +dd 03788eab5h +dd 0b0a7b1dbh +dd 0291e9738h +dd 006f9aaa6h +dd 078ae0bc0h +dd 0a7847272h +dd 0c55f38cch +dd 026c1af88h +dd 009c4db59h +dd 0d669ec6bh +dd 02ee51b55h +dd 055f5207dh +dd 010ed0f21h +dd 09ab74c53h +dd 0bab7cf2fh +dd 0191532bbh +dd 0649c0dc4h +dd 03f8d3edbh +dd 086afafefh +dd 0e731dd17h +dd 06938bed6h +dd 07e323be1h +dd 0bf341fd3h +dd 00634350dh +dd 040d3bfbeh +dd 021a686a5h +dd 008a8f8d2h +dd 0e858f104h +dd 02e867ce2h +dd 08cacca30h +dd 0e082ef8ah +dd 0041b128bh +dd 0acaf116fh +dd 0f77451f1h +dd 0f0d35f28h +dd 093600ff8h +dd 0aacf0dfeh +dd 03248f640h +dd 0568b70b5h +dd 097267a83h +dd 0d4966783h +dd 093cac332h +dd 02c05f804h +dd 0a68da9feh +dd 0c8ce4965h +dd 064ca2ea5h +dd 024b7c81eh +dd 066ed6799h +dd 01101ce88h +dd 0b76fc371h +dd 0e7f0e22eh +dd 0b15f6a46h +dd 0fa427074h +dd 0adfc353ah +dd 0884186d9h +dd 00c08d7d3h +dd 08015861ch +dd 0c0468a48h +dd 0a88cd859h +dd 004ddb974h +dd 06dc2ed22h +dd 0369ccdb1h +dd 01df993a6h +dd 070572b86h +dd 0e2d7d5d8h +dd 0699e7b12h +dd 03508c568h +dd 0fec5caaeh +dd 095cf7fc1h +dd 00e56812bh +dd 092b57e9ch +dd 0a7504d43h +dd 0d3774c1bh +dd 0311a8369h +dd 000765e6eh +dd 0757ae1cbh +dd 0c11d0d03h +dd 0d83ecbc1h +dd 097513d6eh +dd 0b32243d8h +dd 0ade31896h +dd 0034dab78h +dd 02651a62eh +dd 0abe427e6h +dd 068a98ea8h +dd 071ebf95ch +dd 08416c209h +dd 0ab202956h +dd 0c7107eadh +dd 02081dd3dh +dd 0c1b9c064h +dd 03adb58c2h +dd 058c93f8ah +dd 04e13465dh +dd 074d8897fh +dd 0eecb8850h +dd 00b1b4b8dh +dd 0b1141d7dh +dd 040f03880h +dd 047dd7a94h +dd 0cc9bc6d2h +dd 0c67e1be5h +dd 0f62b7217h +dd 054f663a0h +dd 0adc7e493h +dd 0d6939b7dh +dd 00996f8d1h +dd 014f6de4dh +dd 0f921abcbh +dd 02160c7f0h +dd 03db91d38h +dd 032a0d343h +dd 0dd0f13a8h +dd 088b6d190h +dd 050e25e9dh +dd 0631fce4dh +dd 06eb8ccb9h +dd 0ca39ffdch +dd 07498eebah +dd 0e5a3f582h +dd 06318d6b2h +dd 06a3fc806h +dd 05a7c1d23h +dd 04048867fh +dd 03435513eh +dd 0bd3e0bd4h +dd 05fc7046ah +dd 0f80a8f8ah +dd 00e4723bah +dd 063407c86h +dd 056861cc1h +dd 0d0240a0dh +dd 08be2ff41h +dd 0eeb18969h +dd 077dbbdd5h +dd 0facca6c5h +dd 06773f10ah +dd 087654bedh +dd 0ade6841ah +dd 0974d0d7fh +dd 07f0bf779h +dd 094743528h +dd 073013488h +dd 01495ff8ah +dd 01b0cc647h +dd 0b92aa29ah +dd 0417541d1h +dd 0d4b99665h +dd 02f25d717h +dd 09261532fh +dd 0f6ae48dah +dd 093a421cfh +dd 06119cb76h +dd 005ffe2b9h +dd 02b473a3eh +dd 09020b633h +dd 03d5ff80bh +dd 0435a2782h +dd 03926a2dbh +dd 0fbe92529h +dd 0331431fbh +dd 03635d698h +dd 0464df00ah +dd 0f5b74d97h +dd 0e690d919h +dd 0f2645b8bh +dd 0112b2797h +dd 061a87a3ch +dd 0929ac224h +dd 0f3c5f0f4h +dd 06258b1eah +dd 0e43d4512h +dd 001b9dd8dh +dd 0cb6549d7h +dd 04b5ece81h +dd 07c7b597ch +dd 0faecb419h +dd 033a80776h +dd 0683f3f58h +dd 0441512a0h +dd 082879f97h +dd 0e31a54c1h +dd 0b8178869h +dd 0144eac10h +dd 0396b2486h +dd 098231860h +dd 047ccec90h +dd 0dd5b3137h +dd 0d53c0f22h +dd 0d843ada1h +dd 0c7273e53h +dd 0fb1d5051h +dd 02af3a344h +dd 0c4f6abb9h +dd 0f4efa1f9h +dd 0673d2e0ch +dd 083f34784h +dd 0ded75842h +dd 0fa0b8398h +dd 0ab37021dh +dd 0814bd646h +dd 0231035eeh +dd 089e36343h +dd 086ed0b7ah +dd 035fe70dch +dd 04ef17edeh +dd 076c1c4fdh +dd 019948121h +dd 0abf4c901h +dd 02c703ccfh +dd 045407cf5h +dd 0e8e2a7a0h +dd 0bcc76946h +dd 09aa2379bh +dd 01f35211ch +dd 05aec236dh +dd 0885ea023h +dd 06822e7c0h +dd 0b75ab97dh +dd 070267fa8h +dd 07a6455f1h +dd 02611919ah +dd 071a0d739h +dd 049e1a6b7h +dd 02439bfa8h +dd 0cf26bdaah +dd 05d89d59fh +dd 0addffd96h +dd 03bb642e9h +dd 045354ce1h +dd 0cc3fa304h +dd 0d2d1f6cch +dd 0d60d4433h +dd 085c7d39ch +dd 03adf7707h +dd 0b06a036bh +dd 01d0e1b61h +dd 02939f79bh +dd 072d7cdc6h +dd 077f07cd2h +dd 00d7fd912h +dd 075ad8db7h +dd 0bf373994h +dd 0ef9ebf89h +dd 01a4a2faeh +dd 02df5b7ebh +dd 09b4f06abh +dd 077d386f8h +dd 08d203e3fh +dd 0c8359579h +dd 0f4d7746bh +dd 073134cdbh +dd 086b069c4h +dd 00e87fe51h +dd 0748228d7h +dd 06377ecdfh +dd 0c3a0dae1h +dd 0f0b4abd8h +dd 020767888h +dd 05904fd28h +dd 0e78afa6fh +dd 03ea9d25bh +dd 0e07daee3h +dd 0fe6099b7h +dd 0780bd11fh +dd 0445382aeh +dd 0aae609c0h +dd 0bf498dcfh +dd 0bcb2889bh +dd 0dc238712h +dd 0c902c9fch +dd 0b4337037h +dd 03a0a6b3eh +dd 0b6be0954h +dd 07b16b530h +dd 0bcc7e9a7h +dd 0f1a17c58h +dd 07620d739h +dd 0b0084241h +dd 05efeeec4h +dd 082bd5331h +dd 07b9363bch +dd 0311461fch +dd 08fd1d701h +dd 019e9b758h +dd 0109b4c7fh +dd 01828f18eh +dd 0d9b4d336h +dd 097b588d3h +dd 0248c43fdh +dd 07be2513ch +dd 02f0ab307h +dd 0ebda64b1h +dd 0f26fed55h +dd 013a22063h +dd 08395ebfeh +dd 0879bdfc6h +dd 040cc42cdh +dd 0b6cb42f9h +dd 07fc4bd11h +dd 0aadcd106h +dd 06bb23b84h +dd 0c44a5ae2h +dd 09ab143aah +dd 02c4af080h +dd 0aa98abcbh +dd 04bf198d2h +dd 04a44d0f9h +dd 0723526c8h +dd 019550fb7h +dd 0e1480a67h +dd 0c226e16ah +dd 071353658h +dd 069ba0363h +dd 07b021cfah +dd 04e0a5de1h +dd 069f6e77eh +dd 092154bach +dd 0dc1595edh +dd 0ec689a99h +dd 060db0f1dh +dd 0f6459a01h +dd 00651ce4ch +dd 05ddbfbedh +dd 08601ac1fh +dd 0fc95e712h +dd 05f545e0ah +dd 07a727541h +dd 0e42932ebh +dd 0755233b1h +dd 01d460ce9h +dd 091d009beh +dd 0c4a1e286h +dd 0ed1a3f9eh +dd 085919b28h +dd 0c5398b7dh +dd 0d305ab7dh +dd 03683ac0ah +dd 0ed0710a7h +dd 06c5f57cch +dd 03cc1124ah +dd 0ec447df3h +dd 08e64b4f5h +dd 055a61ddbh +dd 0b62eadbch +dd 08de18d8fh +dd 0f307fdf3h +dd 070946087h +dd 09ed46b1ch +dd 04fb8bc4ch +dd 0a7abb2ach +dd 055ea55e7h +dd 07bf90cadh +dd 0b1eef0ach +dd 0a5ef640eh +dd 0558ac1afh +dd 0d27b73d3h +dd 00dfa3faeh +dd 0efc43f94h +dd 03f962732h +dd 00944c33fh +dd 07ed3001fh +dd 004ffe693h +dd 0dd415993h +dd 099138713h +dd 04527fa0eh +dd 03c621fb0h +dd 043148447h +dd 0fcad370fh +dd 0c84a336bh +dd 0845abd9ah +dd 0b1a85a73h +dd 09d4ff68dh +dd 02d60787dh +dd 0de88767bh +dd 087414b03h +dd 0c5c53f20h +dd 014b73b6ah +dd 08574466bh +dd 0debacdb7h +dd 06ab1c438h +dd 0fa3c0832h +dd 057f07be3h +dd 039e84270h +dd 015d86ccdh +dd 090b29389h +dd 0980ace34h +dd 0fa083d9fh +dd 04e18a768h +dd 0f2d41ea8h +dd 09515af1dh +dd 0981d036ch +dd 0754b379bh +dd 00b33e4b1h +dd 03699ccfbh +dd 0f8933727h +dd 0de833903h +dd 0a3809d02h +dd 0d05c2567h +dd 0b9866b22h +dd 0a5c23f92h +dd 08fad7683h +dd 08add3eceh +dd 0fb8545bah +dd 04608b62eh +dd 0a231c496h +dd 0483073fah +dd 0f36e487ch +dd 02f4f31abh +dd 08eb44582h +dd 09aaa09e8h +dd 0a4530850h +dd 06cc7b291h +dd 0803850d0h +dd 0a0c9834fh +dd 09554e221h +dd 0815f46a4h +dd 0f423cf17h +dd 00783bbceh +dd 04a586754h +dd 094927288h +dd 08d83c052h +dd 0cbb12c14h +dd 040535fb5h +dd 0c34e0db6h +dd 00f1f5191h +dd 0cd0caafch +dd 021485267h +dd 0574e0172h +dd 04356e65eh +dd 0097e4723h +dd 08a7fed7eh +dd 0013b4f83h +dd 0d1ed36c3h +dd 013d28c9ah +dd 02067c576h +dd 0f6e099cbh +dd 0b88bcff7h +dd 00087ff02h +dd 0da6b1be4h +dd 043d5438dh +dd 0defb6d1dh +dd 07bc9052dh +dd 023ef54feh +dd 097f78cdbh +dd 0d2989579h +dd 0e0063b0ch +dd 01ef86a4ch +dd 00edd89f3h +dd 0da8cd797h +dd 00f35872fh +dd 0e752088bh +dd 009555ec9h +dd 0d720b609h +dd 04bdfba65h +dd 0caa3d0d6h +dd 0cd4f8236h +dd 0eaa3071eh +dd 02d8bb1a7h +dd 035d72971h +dd 01c92c5beh +dd 0d23bdf0ah +dd 064f8584dh +dd 0bb6f4c3bh +dd 07cde508ah +dd 0b45cca2fh +dd 0dc72b5d1h +dd 003135672h +dd 06ce917ddh +dd 0647799cfh +dd 0baa36cd9h +dd 00ee0eb5dh +dd 03127fe8dh +dd 0322bdf67h +dd 0de664ce1h +dd 07269b9ddh +dd 0cac59217h +dd 044ddd4b1h +dd 03eaaebc4h +dd 0229373f5h +dd 027935885h +dd 065c0a506h +dd 0617348f1h +dd 09f5e2842h +dd 0e84d0a9ch +dd 0b13f00a3h +dd 0f776ab3ch +dd 0a3d8fa0ch +dd 0861f430ah +dd 0d6dff31fh +dd 0244cea84h +dd 00dc24b73h +dd 0a18d3cd1h +dd 008f792fbh +dd 0d6ef692ah +dd 0a7a199abh +dd 0d2f100cdh +dd 055c78be3h +dd 049309434h +dd 0d88f9631h +dd 02d9c499bh +dd 0b511b3e3h +dd 05bd9a0aah +dd 047118c20h +dd 05762f39fh +dd 0c663ab04h +dd 03cac4c41h +dd 04bbca133h +dd 0414dc4d1h +dd 05e5c4952h +dd 092f6f988h +dd 03948bee7h +dd 065f42717h +dd 0a08aed43h +dd 080c83c2eh +dd 03c375a1ch +dd 0baa73019h +dd 09c2e3258h +dd 0c62ecbddh +dd 0aa884174h +dd 0e6c6f3c9h +dd 0f7816b48h +dd 02d7ceaefh +dd 0a7cc9c9fh +dd 0fc8ee163h +dd 0573022aah +dd 0d8535dach +dd 0f13c6b0eh +dd 0a6c8a9cah +dd 097fabc9fh +dd 06ee79e9dh +dd 07b616796h +dd 0fb443dd6h +dd 0ff1a2cdch +dd 0bb0eb141h +dd 00850abd7h +dd 0335b6f06h +dd 0bc79c583h +dd 0236a76b9h +dd 0e8f7519bh +dd 08e939205h +dd 08f93856ah +dd 08c72848eh +dd 0e6527f19h +dd 0d1d97346h +dd 00191a9eeh +dd 06516e33fh +dd 0d5ba416eh +dd 0bf4e7b26h +dd 02e5fd294h +dd 06038fc8dh +dd 013b7a14dh +dd 0333d6266h +dd 0605d3f1eh +dd 019e99565h +dd 02389d8b6h +dd 0112d2a3bh +dd 0c42b891fh +dd 037ac6021h +dd 0ab5e5a55h +dd 07aec18f4h +dd 018a6ab2eh +dd 0fd715906h +dd 0a5060f53h +dd 042a9de8fh +dd 0013db9c3h +dd 076dd7584h +dd 0164c0952h +dd 05dbced91h +dd 037a7838fh +dd 00386b322h +dd 009670ea8h +dd 0c509c100h +dd 0555a07f4h +dd 021379dbch +dd 0605621a5h +dd 062eafda9h +dd 06ca326b5h +dd 0a7fd78ach +dd 08a3e6c27h +dd 0044e34ebh +dd 06f840488h +dd 07714e275h +dd 0d8a37dabh +dd 0e63a183ah +dd 00e4246a5h +dd 0443e6f99h +dd 0529e52beh +dd 0d6a06ed3h +dd 090c4a3dah +dd 0e046c27eh +dd 0fd88e86ah +dd 0363f96e4h +dd 0b07b6246h +dd 05729acf8h +dd 004837207h +dd 0a1538828h +dd 0307808a5h +dd 0374598abh +dd 08a33350dh +dd 0a6ed5687h +dd 069021004h +dd 0ac49e09bh +dd 0d522a670h +dd 0f1c4d1e1h +dd 00fc46cb6h +dd 0a7d7df40h +dd 038182e75h +dd 01eb96c31h +dd 02d400bc1h +dd 03951f6b2h +dd 0b776e06ah +dd 0fb610c00h +dd 0f272bf85h +dd 01e9a67c4h +dd 05e49c600h +dd 08b2f17afh +dd 069e1ba50h +dd 0852e3c2bh +dd 031e999a5h +dd 067efe3feh +dd 036053e55h +dd 0956b5c99h +dd 0d07ef914h +dd 07cf4754fh +dd 043bc59adh +dd 0b329f5a7h +dd 016061b3bh +dd 0c94b3b99h +dd 09e4702e5h +dd 03bc98e9ch +dd 01218ed73h +dd 0c55dd0d4h +dd 02ad0c28dh +dd 020e73479h +dd 098b479b8h +dd 0791e42bch +dd 02e446d94h +dd 000511273h +dd 056a41e50h +dd 0e648bf0eh +dd 04bde1736h +dd 09daa9d42h +dd 0784d9736h +dd 0f36e182fh +dd 08d6b07feh +dd 018209b68h +dd 0a4402382h +dd 013259192h +dd 0cdf0134eh +dd 098e0a597h +dd 065a18ff9h +dd 024966af7h +dd 09f9b948dh +dd 0098bcfbch +dd 0fa5c6121h +dd 0f42657d7h +dd 030c8a4feh +dd 063e196fch +dd 0b56bbd4dh +dd 0b399e736h +dd 00ae740e4h +dd 0abaf7fe9h +dd 0563cde0fh +dd 04e0f248eh +dd 064213d39h +dd 0f14f837ch +dd 006cf19aah +dd 0efb5a65ch +dd 0e9af6252h +dd 05bd90f65h +dd 06765d6deh +dd 02e9b002ch +dd 01c5c25a5h +dd 0e9b2f0ffh +dd 009742dedh +dd 074367fcah +dd 0dc41bd0ah +dd 04ee56c2ah +dd 090453ea8h +dd 01c62939fh +dd 0c002293eh +dd 0829ca145h +dd 04242edafh +dd 01f1d6040h +dd 070e52b32h +dd 0b79063feh +dd 080146402h +dd 0c211a1ech +dd 0e9adda30h +dd 01d0c40d6h +dd 0c69d5a43h +dd 070948357h +dd 0cb50d509h +dd 01bf2e2a9h +dd 03905edc8h +dd 0be033ca8h +dd 08b0783a8h +dd 077adc2aah +dd 0bf72b677h +dd 0bd25bfb8h +dd 0180971d8h +dd 02c46d0bbh +dd 0f59587b3h +dd 0605cb714h +dd 0a94215dbh +dd 0875fa85eh +dd 07ea0f4f8h +dd 0b15de24eh +dd 0da8ab3c8h +dd 0173899ffh +dd 0e6b78250h +dd 06d4aefaeh +dd 06a843608h +dd 08cc9f433h +dd 094e44b02h +dd 05600b40bh +dd 0550779d7h +dd 05fc5c50bh +dd 054248b1ah +dd 09ac9df34h +dd 0b09122deh +dd 0ffce50cch +dd 0098871cch +dd 091bc9556h +dd 0897114fch +dd 09b2aea72h +dd 0ba019002h +dd 0b6a44244h +dd 00111d479h +dd 0486dad46h +dd 0f692d41eh +dd 0ec9f5c87h +dd 0b423c456h +dd 0c735d784h +dd 0b813c201h +dd 04ccb4ef1h +dd 0d3ec2f3ah +dd 04a4d15dah +dd 0abf45232h +dd 0f3d3df49h +dd 02c00e29fh +dd 01528da80h +dd 02a224477h +dd 0c4ab3d0fh +dd 01cc1ee19h +dd 05ec2d9a9h +dd 08d1d7591h +dd 0bfc20843h +dd 0cf9a3c3eh +dd 0065d80f6h +dd 0ffb02e40h +dd 01558d388h +dd 0db31af37h +dd 0ded57265h +dd 0f214f5c5h +dd 010a36a1ah +dd 09e2a11e3h +dd 0d5d1260dh +dd 0b896b8cah +dd 0d4769ad2h +dd 0ef17a501h +dd 05c728fafh +dd 0718117deh +dd 0747e3d38h +dd 08f27233bh +dd 06de0acc4h +dd 047f86d39h +dd 0a0f17e69h +dd 0462a4edch +dd 0408eb8edh +dd 0c7b0052eh +dd 01132c8bfh +dd 0441d1a6dh +dd 0a43c4444h +dd 053e6c67ch +dd 07c9967e8h +dd 056b37707h +dd 0e3fccac7h +dd 015abb7e3h +dd 0dafaf189h +dd 06c6367dah +dd 000839ce1h +dd 055426090h +dd 058db48dch +dd 0694666e1h +dd 090782565h +dd 058774a46h +dd 096d82e7dh +dd 0002dd5bch +dd 0946b2b76h +dd 09c916e8ch +dd 0e7379082h +dd 0aca00a99h +dd 0f1081c06h +dd 01b9ab998h +dd 0cf65d631h +dd 0e59c6e51h +dd 07760096ch +dd 06246d795h +dd 0e8420736h +dd 01bf4394eh +dd 07c6da6d2h +dd 0605256e4h +dd 0a658ecffh +dd 0b05fba27h +dd 088424deeh +dd 012db9636h +dd 0639c56a5h +dd 056a9e2beh +dd 09a888cc6h +dd 03dda39b7h +dd 0d982ff0fh +dd 062800890h +dd 09f9ef67ah +dd 079210ac0h +dd 04142577dh +dd 0dde3f6aeh +dd 038255955h +dd 0088ca5f3h +dd 0810fb1f2h +dd 0f7574d23h +dd 0f55bab29h +dd 063e0c691h +dd 0c9bb6b66h +dd 0eff5a908h +dd 03530bd45h +dd 0ae0051ach +dd 00ca710ceh +dd 07f713ebbh +dd 046776fceh +dd 09191291bh +dd 0058e2d33h +dd 0add415feh +dd 09a4e4497h +dd 0b5b8ab91h +dd 0efd6a69ah +dd 04a33a685h +dd 0252b6616h +dd 06a5f8764h +dd 0ee2a742eh +dd 0511711efh +dd 0b3e54f85h +dd 08b39d0fch +dd 0b21f13d8h +dd 038f4366eh +dd 0877ea961h +dd 0d418e5ceh +dd 0bc8fe2dbh +dd 03f2f660ch +dd 096ad53aeh +dd 0957639d5h +dd 0caf2f3b2h +dd 06396c8c3h +dd 038d87151h +dd 0774e2009h +dd 045a2b4dah +dd 034673d5eh +dd 083540975h +dd 0d9de0934h +dd 003ea8736h +dd 00405de0bh +dd 002659520h +dd 05241ee7ah +dd 0a4695f6bh +dd 0f34a3e47h +dd 07aaab957h +dd 01bc4f0b2h +dd 0217a369ch +dd 03a3c971bh +dd 05df64033h +dd 0bb4b875eh +dd 060df0f9fh +dd 048f68bfeh +dd 0d4e1c4b7h +dd 08c8dbba9h +dd 0e94e3bfbh +dd 075f3e4b4h +dd 0cc5e23fch +dd 02699cfa9h +dd 0e1b3946ch +dd 0ac322026h +dd 096703523h +dd 02f741b56h +dd 03934adcbh +dd 066da0ecch +dd 0ad307ddch +dd 0740f39f8h +dd 0c584f04dh +dd 0fc33b1c4h +dd 0a0d8fd45h +dd 06ebaae9ah +dd 0b8bb4ba7h +dd 0d9fd8fcdh +dd 0d63c88a5h +dd 082cee8adh +dd 030fa92b6h +dd 0f8f03e25h +dd 0abfc1874h +dd 0172bfe2ah +dd 0500a2529h +dd 0096dfcf4h +dd 0e4278a7ch +dd 0546bacb7h +dd 059f3cdbdh +dd 0a1a84b4bh +dd 0cf39e99bh +dd 01ced8ca8h +dd 0ca946024h +dd 0f84ca3a7h +dd 0bc9768c3h +dd 046bfcf7dh +dd 097de214ch +dd 06610a371h +dd 0796f9cdeh +dd 0542819b2h +dd 06480c628h +dd 073962007h +dd 0803d66fbh +dd 0e869d0cbh +dd 0a65e831bh +dd 0c104eccah +dd 05a4421f5h +dd 0925c9265h +dd 005cbba80h +dd 0c65eb5eeh +dd 048d270c2h +dd 0f76433a6h +dd 089a1c8a3h +dd 0022f90f3h +dd 049d85f1fh +dd 0242efe7eh +dd 0684b5192h +dd 0549494f0h +dd 09505a89ah +dd 01e6e0ab2h +dd 0770d1047h +dd 04923b329h +dd 0a100069eh +dd 0c890433ch +dd 075f64941h +dd 0c650d45dh +dd 0b6487c9eh +dd 051092d5bh +dd 0a879ceafh +dd 0ad88c2d6h +dd 028da3fb0h +dd 0cfd47544h +dd 0821cb503h +dd 0a68f1b58h +dd 09eab7fbfh +dd 0caf67a7eh +dd 048834c9ch +dd 005cf8beah +dd 01460147fh +dd 02b180052h +dd 033c0e5c2h +dd 05d6ab24fh +dd 04d3a31cfh +dd 011af679dh +dd 05590f1f3h +dd 036ba965eh +dd 0c6bbb688h +dd 06a388da3h +dd 0549a34c4h +dd 01a29dd81h +dd 0c5e99e07h +dd 0803cd65fh +dd 07b28a871h +dd 00da64103h +dd 046baf948h +dd 0f972dc91h +dd 01c5e741dh +dd 0b06b8512h +dd 09c1a3329h +dd 0892602eeh +dd 0eca793deh +dd 079d74cbah +dd 07bbc1804h +dd 0f2d1a8c4h +dd 0bddd54a5h +dd 08cda82fdh +dd 096c2b926h +dd 08ce27679h +dd 0335db202h +dd 08399666ch +dd 011de26b2h +dd 02bb84b86h +dd 0f9e7f9e2h +dd 06ed1a5c5h +dd 026342eaeh +dd 038bf42bbh +dd 087d5b2eeh +dd 07eb247dfh +dd 05154ae6dh +dd 07f33247ah +dd 017a18e8bh +dd 0d7db106ah +dd 0033111b6h +dd 0a27c8217h +dd 01eb873b0h +dd 0e0cfcf93h +dd 0c790676eh +dd 083910009h +dd 0590fb2cfh +dd 0911de5c5h +dd 0b8ca3a65h +dd 0e4eca289h +dd 0b9615e78h +dd 058095806h +dd 01c7734f4h +dd 0c865f86eh +dd 0db3935f5h +dd 08c72b6d2h +dd 0879c1d36h +dd 04969b979h +dd 080f7d5f3h +dd 0904cfe1fh +dd 0d63582a8h +dd 0e0364e71h +dd 08ad1fb1dh +dd 04dc7ba8dh +dd 0df81597ah +dd 026d48c25h +dd 0784c5cd6h +dd 03d7ced6ch +dd 00c24055bh +dd 014309956h +dd 00b045bc7h +dd 0962ac8ebh +dd 05590121dh +dd 0e3260031h +dd 0c212cc77h +dd 08c641eddh +dd 08677726dh +dd 0e9e8f846h +dd 0f1b34a5dh +dd 09198dec4h +dd 0da32f35dh +dd 01e7298a2h +dd 08bbf2ce7h +dd 054e4f580h +dd 0249bd2e5h +dd 056d6b494h +dd 04fc46ec0h +dd 047eb4e6ch +dd 049d91e70h +dd 0be49ceeeh +dd 0571fcfdfh +dd 0dbe46d95h +dd 0a871c0e4h +dd 046e262cah +dd 0f59b6982h +dd 09e232789h +dd 0ec617cedh +dd 0b803bf00h +dd 0286ae651h +dd 02843e0bfh +dd 0a51cf32dh +dd 00d67345dh +dd 0d652d5b2h +dd 0f9f004adh +dd 072bd3f30h +dd 09fcaea84h +dd 0aff25485h +dd 00762359eh +dd 08e1ce321h +dd 00c103a9bh +dd 0f6f85f02h +dd 08c2c812bh +dd 0b2bc3efbh +dd 00122247ah +dd 07febb523h +dd 065307435h +dd 0588566b1h +dd 0191085b7h +dd 0984313efh +dd 0fea855d6h +dd 0f99824f7h +dd 0597d30bah +dd 00ccf30b3h +dd 013850165h +dd 0b8f4f8bch +dd 0dac8047ch +dd 01ffb918bh +dd 02302bfbeh +dd 061dcc23fh +dd 0d4eab931h +dd 0ac092dc5h +dd 0a16eee72h +dd 0aad5cbb8h +dd 0b0363ddch +dd 0a89b1f20h +dd 01ca6d850h +dd 0da3faf6ch +dd 06df25033h +dd 0f19797ddh +dd 01ae0712ch +dd 0c2c4b1cbh +dd 06054a60eh +dd 070d2eb0bh +dd 0bbab2f7bh +dd 0b922cb98h +dd 060550268h +dd 07c6c3590h +dd 02c68032ch +dd 095c51b96h +dd 0e4cb7234h +dd 0fd3b7bddh +dd 0ba1997aah +dd 0f9d61714h +dd 012600822h +dd 06d170690h +dd 03b8d6288h +dd 0e3b6f2d8h +dd 08db56b58h +dd 067fa504fh +dd 0151849f1h +dd 0e0cfae94h +dd 0ef78a4eeh +dd 079e6aa02h +dd 0bf95d767h +dd 02d82bc9dh +dd 00adde375h +dd 093599dcbh +dd 0a6b931e5h +dd 0b18f7001h +dd 0174884d4h +dd 05e5efde5h +dd 064df9952h +dd 0858f16c9h +dd 06f64b088h +dd 0f266979bh +dd 06b2d066bh +dd 022a00a8bh +dd 0b1f99279h +dd 0a625e0d2h +dd 0b26ed3afh +dd 0e4f94576h +dd 05f5936c2h +dd 0e9f57e3eh +dd 095d89fc2h +dd 03f9a055dh +dd 0b79785e8h +dd 0fdf4adaah +dd 0592487cdh +dd 0648da3e5h +dd 09ddfbaa6h +dd 01059c117h +dd 048be4b73h +dd 04f671e48h +dd 066a7917ch +dd 0150b0debh +dd 00db7ab25h +dd 010f850b0h +dd 0befc0577h +dd 043573a2fh +dd 07a561ffeh +dd 008a2b685h +dd 003ba66c5h +dd 0d537179ah +dd 010b44cbdh +dd 043f07a36h +dd 0d88d7a97h +dd 01bcecf30h +dd 0bc670e72h +dd 05162f98ah +dd 003124e92h +dd 065a68378h +dd 0cae2cae1h +dd 0d1b7420fh +dd 00d10cce6h +dd 0c613fb86h +dd 07cbcba56h +dd 019434403h +dd 09e039725h +dd 0e289157bh +dd 06c82e58ch +dd 061c3997dh +dd 0afc1d3ddh +dd 06cdf1016h +dd 0c801b5a1h +dd 0b94174abh +dd 069d122e1h +dd 006769c3ch +dd 07d774f2dh +dd 08f3c1c59h +dd 0c66d6cb4h +dd 01af6a80fh +dd 031439ff8h +dd 06faf2676h +dd 043300345h +dd 0090ccca7h +dd 0e930e027h +dd 0d5158dbeh +dd 0a627e65eh +dd 0f51e7672h +dd 0e60d67bfh +dd 00dc74563h +dd 0762e3eb2h +dd 04b0ebe76h +dd 0717576b0h +dd 0511a3865h +dd 0c2df6872h +dd 094607874h +dd 0f22f4a7eh +dd 0720c837eh +dd 021471d46h +dd 0af493d4bh +dd 0b61ac520h +dd 01a93480eh +dd 0ee142f80h +dd 0cac9e881h +dd 046a770d9h +dd 0cbf71efbh +dd 0e2f8c494h +dd 0414968ceh +dd 0e144ed39h +dd 0dcfe3e3ah +dd 0dbf1fd00h +dd 03ec1f4c7h +dd 0f93e4b7ch +dd 0a013b557h +dd 0d7f47385h +dd 01afa8e8eh +dd 028bf3446h +dd 028a9855fh +dd 0a7c4dfa8h +dd 0b3c27e3eh +dd 0acadf516h +dd 0adfddc3dh +dd 081e71026h +dd 07b029946h +dd 0de47e019h +dd 093042dbdh +dd 0bca20825h +dd 08b2150deh +dd 0810364e2h +dd 05c9c8351h +dd 0e6bac0adh +dd 097e76470h +dd 0f18564e9h +dd 03f7040b6h +dd 0fb8d8efch +dd 0904d5f16h +dd 08f2603f3h +dd 05dbb294ch +dd 08979e1e1h +dd 0f2b5a662h +dd 0b72b9fech +dd 0598b838eh +dd 0a22699b2h +dd 0e2b9994eh +dd 01e5bc008h +dd 0e24a2b5bh +dd 03cd3cb12h +dd 0399d4686h +dd 018c205ebh +dd 08a404060h +dd 097c6dce5h +dd 0fa17815ch +dd 042d7b0a4h +dd 04ec8e992h +dd 0ba0080f8h +dd 0b5d43bc9h +dd 0939263d4h +dd 072c0f2b8h +dd 0601f47d0h +dd 0dad2cf60h +dd 0acde779ch +dd 0bb3b3cf9h +dd 0b3657b5ch +dd 0ba2f0528h +dd 068b7147fh +dd 0271e42f6h +dd 00b776da4h +dd 00422d49ah +dd 0b34e693dh +dd 0a314f4e7h +dd 090d52813h +dd 0e240e430h +dd 02ec18f1fh +dd 0b203437fh +dd 0f8d4be72h +dd 02671df89h +dd 0181cfbf3h +dd 01f2c6cadh +dd 0649e6980h +dd 0caaeeb6bh +dd 072857c91h +dd 0204c4edfh +dd 0aac662ddh +dd 097038c79h +dd 0ccc7cb13h +dd 0e46cc642h +dd 0fbc0b400h +dd 097d9ee39h +dd 021afe661h +dd 04b613b52h +dd 0b24711abh +dd 09ff7e18fh +dd 0a6ecef7eh +dd 0bb2ab202h +dd 0dbb22b86h +dd 0a5e5a4b7h +dd 0f6d17d21h +dd 0455f70c4h +dd 08de8b98ch +dd 057804ebdh +dd 0b98869c5h +dd 0a6733a4ah +dd 0a81eba22h +dd 016b6d901h +dd 0d372246bh +dd 078426db4h +dd 0f3745902h +dd 00a684420h +dd 08478a08ah +dd 0a2f1555ch +dd 0cb51c056h +dd 0454b8491h +dd 01babd7efh +dd 0f690daf6h +dd 0eea049d9h +dd 0ffe1d4beh +dd 088c5be4dh +dd 040002183h +dd 042e86b14h +dd 0e2b98f6fh +dd 021a948bbh +dd 09fd167b5h +dd 0855615b0h +dd 03ee69b3eh +dd 0163530e0h +dd 07ad2c64ah +dd 02bc70af7h +dd 061964f55h +dd 038e8513dh +dd 0e7d4444ch +dd 019df1c40h +dd 0f9d8a600h +dd 09b2ff5e0h +dd 014b95ae0h +dd 0cb8b17fbh +dd 03b1e603bh +dd 020f5c197h +dd 0dd8be72fh +dd 00684c06fh +dd 0633b9fb1h +dd 076dcc18bh +dd 0063160ebh +dd 06b43c862h +dd 0d0882f07h +dd 0108d061bh +dd 0549e531eh +dd 06f518533h +dd 0078f46cbh +dd 0aafce88fh +dd 0a06e7213h +dd 01799e026h +dd 0e87cd4b9h +dd 042c2d931h +dd 0e5c5fb75h +dd 0cda66129h +dd 07119b5bbh +dd 04dc3e2a8h +dd 097b61bc9h +dd 05d231917h +dd 0284db5ddh +dd 0367f7fb6h +dd 07cc3cd79h +dd 06c4af17ah +dd 0722564feh +dd 0c0b7d25eh +dd 0706480aeh +dd 0e96d2711h +dd 044ded2efh +dd 046171deeh +dd 0cdaf5806h +dd 0f2d7b3ebh +dd 096843deah +dd 079d7af06h +dd 06c64ebaah +dd 03c1ec42eh +dd 077a99532h +dd 07351f6a0h +dd 03a4def4eh +dd 044106e90h +dd 06fb71547h +dd 0d1c0e6cbh +dd 02429346dh +dd 0f434b121h +dd 06d0dfd15h +dd 0a32ae51fh +dd 0d561a514h +dd 0c64be00eh +dd 0714363dfh +dd 076dd7440h +dd 0e2feb646h +dd 07f30bc83h +dd 0a7046f48h +dd 002d7a90eh +dd 0da7da484h +dd 047ac688eh +dd 01662c82eh +dd 07819039ah +dd 0bab2a45bh +dd 0af8acd22h +dd 0e89ee59ch +dd 0aa51b913h +dd 0e54805eeh +dd 0ca85b271h +dd 035c53c09h +dd 01b9c881dh +dd 0e7679c24h +dd 0cada56d4h +dd 0ba26db78h +dd 0c54d9cb8h +dd 0887bef8eh +dd 0b54fccc4h +dd 017e0e66dh +dd 0fea2684eh +dd 0a38e4c7dh +dd 061e958c4h +dd 08aaf69afh +dd 0089f7d2dh +dd 04c118168h +dd 064f51840h +dd 04977ac15h +dd 0f2ca7802h +dd 0cafcf680h +dd 079bb135ch +dd 0c019fd8ch +dd 0946d2db7h +dd 0fb519020h +dd 016ed4adch +dd 0b78a6c67h +dd 059ce9c9ch +dd 04757f285h +dd 01d564a56h +dd 032b93cf4h +dd 058e52d87h +dd 06b4304bdh +dd 06fe79d3eh +dd 056f8f7abh +dd 0cae6e324h +dd 0f04890f0h +dd 01a0b0d36h +dd 0d401298ch +dd 05cf138c4h +dd 0e5876dech +dd 09317f53dh +dd 00b6e1e3bh +dd 0c5c80bf4h +dd 0d01c8d9bh +dd 0f104655dh +dd 028c846fbh +dd 02c3a3395h +dd 0073a9ebeh +dd 0523df79bh +dd 08a3e8e13h +dd 0b8816c02h +dd 047139a0eh +dd 0fca71645h +dd 0e5e8380eh +dd 06db133e7h +dd 020203530h +dd 014e486c3h +dd 0adb0968eh +dd 09fd20e28h +dd 0944ba831h +dd 0cdb51644h +dd 0e81ea20bh +dd 0c3e21fe1h +dd 0a0050266h +dd 0dcd647b5h +dd 03d2da9cfh +dd 07d398119h +dd 0252a4427h +dd 01c49d498h +dd 0725c7483h +dd 09c388261h +dd 01adc66e2h +dd 080a71bcfh +dd 0d75eef2eh +dd 0b74abea2h +dd 042f2a078h +dd 013e67787h +dd 033587d53h +dd 028916143h +dd 049614d92h +dd 098daa1aeh +dd 07f3146f7h +dd 08d39b632h +dd 0e0a863f7h +dd 034abd0e8h +dd 0f3ded62ch +dd 05c722d24h +dd 0414bb987h +dd 0228952edh +dd 033f17d0fh +dd 05323d8d3h +dd 03a2c2591h +dd 015d0ea98h +dd 0f66dd538h +dd 0a8752d83h +dd 08c665d82h +dd 06b2b21e4h +dd 034d3f3f1h +dd 0029615f8h +dd 0bd0f9e67h +dd 0b55439c1h +dd 09219e46dh +dd 0e7091b02h +dd 07ddd5718h +dd 01d4e812ch +dd 0bd4c4913h +dd 0958a01c4h +dd 0ac043814h +dd 01827e358h +dd 034e10fa6h +dd 04057ad14h +dd 056d015eah +dd 0b48be430h +dd 03b1f25e7h +dd 058767d37h +dd 04093c8f9h +dd 0e36d290ch +dd 07bf3503dh +dd 0a3e8398ah +dd 0ca37ca35h +dd 081ee9947h +dd 062014c34h +dd 0c75ede42h +dd 04f96f6a2h +dd 059c57e51h +dd 05bb6aadeh +dd 0a1087920h +dd 02d0f6efah +dd 0b8cd3601h +dd 0d181f00ch +dd 01dde4225h +dd 0e00c7271h +dd 0fc43c3cfh +dd 065c2135eh +dd 0f9f366bdh +dd 0c10d31c3h +dd 02e736bd6h +dd 04351be72h +dd 0d17c8ba2h +dd 04ff94682h +dd 0ee385f5fh +dd 0def0f868h +dd 07d925a4dh +dd 0ca418eb0h +dd 0f979f1b9h +dd 0e602e3f1h +dd 0c1fced47h +dd 035d8497ah +dd 03a8a5a36h +dd 0d662bc9ch +dd 00a6eadddh +dd 09d12476fh +dd 0322664c1h +dd 085c4151fh +dd 00d9da989h +dd 0728f6613h +dd 09a5612f1h +dd 0fcaf147eh +dd 0bfa745b0h +dd 0486a43dch +dd 011dc9010h +dd 0ca81a5deh +dd 000440030h +dd 0ee7cbe86h +dd 022799175h +dd 0ff553919h +dd 043b46447h +dd 0d3906f1dh +dd 08cdc5b13h +dd 03c3c4f30h +dd 02ca1c409h +dd 0984fa94fh +dd 0d4aa7e90h +dd 0a74da1eah +dd 03d659ac8h +dd 075275badh +dd 0b1bddb51h +dd 0fadf7a7fh +dd 0282e473bh +dd 0495f5c2ch +dd 09d1264eeh +dd 0845d2c6eh +dd 0b3c3b34ch +dd 09762f9b0h +dd 01fda58b6h +dd 08ffc85c5h +dd 0ecde0006h +dd 04c920ac2h +dd 09675ba60h +dd 0c2559dd7h +dd 0f2a5c075h +dd 07129e26fh +dd 0bbb6d31dh +dd 0c73e074ah +dd 0c0d8c562h +dd 09b9e50e0h +dd 0f2f06586h +dd 00650f343h +dd 09f732c65h +dd 077136f79h +dd 04de8f138h +dd 092e314d6h +dd 0a0e8a39ch +dd 01909edeah +dd 0839dcc85h +dd 089efcd09h +dd 02cad0ebah +dd 01fe79dfeh +dd 049658b5fh +dd 0a60930ech +dd 03da40a5eh +dd 016e188f9h +dd 02b1a8b03h +dd 09620b9f3h +dd 0a3371a4ch +dd 0e515487ch +dd 0aa5923cfh +dd 06c26b005h +dd 0d9cc1bf4h +dd 028a9b112h +dd 0f007ba58h +dd 0d6f77bbdh +dd 0a500bd52h +dd 0db02496dh +dd 00d5d55c2h +dd 035c97433h +dd 023f1ce67h +dd 09fa39ef1h +dd 055d7dbc2h +dd 088b0ae6ch +dd 0dec544e2h +dd 0a19e2b3bh +dd 089183a27h +dd 00ed304efh +dd 03be78bd0h +dd 099b6b46eh +dd 099fa8d07h +dd 0b531c015h +dd 09f64a0fah +dd 034683b33h +dd 0471550c3h +dd 0ffd0a72fh +dd 0408f2653h +dd 0934315c8h +dd 011f3d940h +dd 096bf1974h +dd 0d7ee8e20h +dd 0db28b07eh +dd 085977aa6h +dd 06cf45f1ah +dd 0ef8487cdh +dd 0f2876dd0h +dd 0280a6ecfh +dd 091b0e551h +dd 0acfd4c57h +dd 0f3841fb0h +dd 016538043h +dd 0deb4cf24h +dd 0a0561908h +dd 02698a55bh +dd 049cede95h +dd 01484e6f6h +dd 02455a090h +dd 0f5d0eaa0h +dd 089e7a291h +dd 0aa6de945h +dd 0c0c88000h +dd 0637b8a33h +dd 0918e7e7fh +dd 0b16e2b35h +dd 0f49bde50h +dd 0740a3f6fh +dd 0b6797612h +dd 00ade2deah +dd 09c620dbah +dd 0f318ebd0h +dd 0d701636ah +dd 0cac5d6b4h +dd 0d8c8c20bh +dd 0abffd4fbh +dd 00c1d1eabh +dd 01f88cc31h +dd 079335362h +dd 0b9bfdc2fh +dd 0fff329b8h +dd 0938ff213h +dd 04b872809h +dd 0ed988947h +dd 06e5f0e6eh +dd 0f2ddce4bh +dd 0422e675ch +dd 020e00623h +dd 04064399ah +dd 041f9f7f9h +dd 021a2f130h +dd 014290224h +dd 0e3a7274ch +dd 014a65931h +dd 0548c8a71h +dd 02ab31f94h +dd 03a493de8h +dd 06d469df3h +dd 088b7fb9eh +dd 001c0b105h +dd 09c6f14f4h +dd 0c2081b7ch +dd 087ecced7h +dd 0bfcee2dfh +dd 0bab5b06ah +dd 09f5d0571h +dd 0d1e021bfh +dd 0584fdd9eh +dd 09fbbdbfbh +dd 0594b90d0h +dd 0541475d1h +dd 0bff715f7h +dd 0407dbc36h +dd 0c2e216e4h +dd 09f7ad499h +dd 089393d40h +dd 067c5403ch +dd 0d535e4cah +dd 0821fcaabh +dd 02e2eb177h +dd 056316307h +dd 0d2ecfdb5h +dd 0b40f509bh +dd 05537eb82h +dd 02e383206h +dd 0bf80b5e4h +dd 01b57d258h +dd 0712c8788h +dd 094f443a3h +dd 0bb33e99dh +dd 05257f944h +dd 0710b7bd8h +dd 0a38ff717h +dd 0b1b3620fh +dd 06fe2c570h +dd 00ecccee0h +dd 0f537ea12h +dd 0158daa3ch +dd 036fae3cah +dd 0d3621719h +dd 078390fe2h +dd 02027763ah +dd 0fc47bda8h +dd 0681442d4h +dd 01507ee00h +dd 07b8ba301h +dd 0f4f331e9h +dd 007ab94aah +dd 0f42b38b3h +dd 0759bebe6h +dd 0328af7c3h +dd 05de0d95ah +dd 0f4628761h +dd 080048ce1h +dd 0b02aea96h +dd 0b8cb8aaeh +dd 00a99565ch +dd 0ebea02e6h +dd 0d5c814d1h +dd 0d1791a8bh +dd 0f133df04h +dd 0efc75d1ch +dd 0fa2c54ffh +dd 0134cac0eh +dd 031e52473h +dd 064c86768h +dd 030a8d635h +dd 0f5b2fc51h +dd 08b511252h +dd 060f901e5h +dd 060c6f8fbh +dd 0b66a5704h +dd 07da021d5h +dd 00eefbea5h +dd 06f0c8990h +dd 0e10d50ach +dd 00016ab91h +dd 037952217h +dd 0644ad9e9h +dd 09a217cc1h +dd 0a1d53445h +dd 093d91a77h +dd 01da44c03h +dd 03d7b1b0bh +dd 0f6a9da8ah +dd 04b9d13bfh +dd 089621484h +dd 0daa5503bh +dd 00a34a5d8h +dd 0b5dcd310h +dd 05c1848ebh +dd 05308139eh +dd 03493abf2h +dd 0d8639675h +dd 012f15518h +dd 0d845bbebh +dd 0c0d9ccedh +dd 07669a8a9h +dd 024bdba0dh +dd 0547bd820h +dd 0ea0f7332h +dd 0024688a6h +dd 00ba4acefh +dd 061b2b834h +dd 036d5519fh +dd 0f9229493h +dd 04a6ac1d7h +dd 0771eeb4fh +dd 0067af98dh +dd 09ef7df90h +dd 0cfd7e072h +dd 075c365bah +dd 05b5491fdh +dd 0159d4140h +dd 044274609h +dd 0ab28ad5dh +dd 0dbb2c862h +dd 02f866ee4h +dd 0797857f9h +dd 0b5a66546h +dd 0e17c2477h +dd 0473570e4h +dd 0a3aa8e02h +dd 0aa3fd413h +dd 0351f271dh +dd 0310f2353h +dd 0c82f0c69h +dd 031a2a64eh +dd 0f30e72bfh +dd 0c9b2f2d0h +dd 05fb643c1h +dd 05b7fb76fh +dd 05b3e5be5h +dd 089644260h +dd 0325177c3h +dd 0b65bce3dh +dd 08561bb47h +dd 0701d22ddh +dd 0d47a2ad2h +dd 098520867h +dd 0e1374667h +dd 0c0a26a9ah +dd 00cbfe042h +dd 0f0625e1ah +dd 01bb701ceh +dd 0fc609849h +dd 090f93b19h +dd 01b944c9ah +dd 007833b74h +dd 0501b9fb7h +dd 061331558h +dd 0298565f4h +dd 03f519996h +dd 09d2a4ac3h +dd 09612bc29h +dd 001a11fbeh +dd 00a8dfde9h +dd 0a5576ec0h +dd 06320af41h +dd 0c148c594h +dd 04643fe96h +dd 0e406fb58h +dd 0b712b36ah +dd 09a7fdb98h +dd 0268fee63h +dd 004b145fbh +dd 01d9311f4h +dd 0ce9d7c86h +dd 0722b995ah +dd 028b8b27ah +dd 0b049cea9h +dd 0aca0965eh +dd 02edd204dh +dd 008cd81d8h +dd 0861d1612h +dd 06a175746h +dd 03e3158b6h +dd 021777270h +dd 0df162512h +dd 01379d462h +dd 08f6cdb69h +dd 0e51ec4f5h +dd 0d276a963h +dd 024778ef4h +dd 01b311c14h +dd 0d4790bf8h +dd 0c56c34eah +dd 0fb7db858h +dd 096f420f4h +dd 0da791cf7h +dd 09be817ddh +dd 02fcd71b6h +dd 07228058bh +dd 0e72c9187h +dd 057157953h +dd 0178cbc53h +dd 02ed590dch +dd 0329a8e0fh +dd 013ba40d1h +dd 06e630b3ch +dd 07e917182h +dd 083a71469h +dd 049415089h +dd 0beaea7aeh +dd 09b881653h +dd 0c359e7d5h +dd 088152d29h +dd 09149a9b8h +dd 0dafb997bh +dd 0b9a3396fh +dd 0de0bd437h +dd 094b23f53h +dd 080eeb518h +dd 0a9cc5889h +dd 06b5ad23bh +dd 0adeab712h +dd 037acc638h +dd 075e3e386h +dd 01b1b66a9h +dd 0334d3e1bh +dd 0efd235e4h +dd 0250f57a7h +dd 061b162e5h +dd 0c3f2d674h +dd 08708e67ch +dd 0e0cc0ad8h +dd 0ca1fdf1fh +dd 0e82267c7h +dd 06b93a2c0h +dd 0219d404ch +dd 0a425f209h +dd 02411c607h +dd 0962f031fh +dd 09dad0afeh +dd 0f9a15b82h +dd 027a70f7ah +dd 0db3f50e6h +dd 087de0c6eh +dd 012b32882h +dd 0f066dfb6h +dd 0e18b2fcah +dd 0d8491d66h +dd 05b91b585h +dd 0cdf846ffh +dd 0d9263d45h +dd 05cab2012h +dd 0b1b0f9a6h +dd 0f0469913h +dd 05870b7c6h +dd 07baeb11eh +dd 0897636c5h +dd 04b282c99h +dd 06fa7b17eh +dd 06e86c7e5h +dd 0b947d23eh +dd 0dde64446h +dd 043e06a38h +dd 0507d46d7h +dd 0e08ce486h +dd 014d73ad0h +dd 06b93d9e1h +dd 0139bb9b5h +dd 0002387b4h +dd 09b6cb9c1h +dd 0052d5239h +dd 0482799ach +dd 05b580b83h +dd 0c499c20ah +dd 098d2e86bh +dd 0c937852fh +dd 0ea110d70h +dd 0fcc89b66h +dd 02b747f2dh +dd 0040b4e89h +dd 0a9e4e7e8h +dd 0ab1928e0h +dd 00aeaef2eh +dd 0091b37bfh +dd 07ae124bah +dd 013b15d1bh +dd 027ea5faeh +dd 00e6c88ech +dd 0f867dcfdh +dd 08fb045c0h +dd 0db2a5946h +dd 037e26edbh +dd 0d7bf4a14h +dd 0de39414bh +dd 0331ead5fh +dd 05f766e26h +dd 090563780h +dd 07f88de60h +dd 0cdebef11h +dd 0ea585b21h +dd 0f8edcbbah +dd 0b611d85dh +dd 0ed6e72eah +dd 0766432d8h +dd 086513ed6h +dd 0c011f5b8h +dd 0141a5fech +dd 09497600bh +dd 09499849bh +dd 09076bf8fh +dd 09190e2cbh +dd 08d280215h +dd 05cfc564eh +dd 05663b157h +dd 09302d88bh +dd 0dd6ba055h +dd 0f8a1d263h +dd 05c817291h +dd 0f471e680h +dd 01f10a47eh +dd 0bd2f511bh +dd 0440aaec0h +dd 024bfb2a4h +dd 0926aa36bh +dd 0c224503dh +dd 08c84a463h +dd 00f8ce1e4h +dd 09f42b6a2h +dd 0fb5ab20ch +dd 0f225a4b7h +dd 034dcfabdh +dd 0e2bd30b1h +dd 07c796f8dh +dd 031c0b981h +dd 029429523h +dd 0f4810c2fh +dd 081216758h +dd 0029eb9cah +dd 02e641113h +dd 0c6030404h +dd 01cb550b9h +dd 09c1d6081h +dd 010930d8dh +dd 076bb3fd7h +dd 0c04dfff4h +dd 06222227ch +dd 0f7a7f5ebh +dd 0551348a3h +dd 04e3391e4h +dd 07a1b2b25h +dd 0796aebc3h +dd 097ff0f14h +dd 09a0accdeh +dd 0b71bed86h +dd 007f27f7ah +dd 004eefe11h +dd 08ad2b0dbh +dd 0e3ab22c9h +dd 0d3ac5216h +dd 03a0036bch +dd 0a22c631bh +dd 0ccd5867ah +dd 06ef75db0h +dd 0f4a36407h +dd 080c5653dh +dd 058ea693ch +dd 0a886fd76h +dd 041165294h +dd 0a805a6c6h +dd 0891b6c75h +dd 0dcdf8389h +dd 001cec652h +dd 0f99ec796h +dd 0d88f75b9h +dd 0c3e94751h +dd 06586e978h +dd 09af1311ah +dd 02d30ac80h +dd 09ebd256ch +dd 0bbb12238h +dd 0422006d1h +dd 0b93b01e0h +dd 0707fcd93h +dd 03ef6b091h +dd 0e903f132h +dd 0c01cd8bdh +dd 0b5508754h +dd 08916c82fh +dd 093c5afd0h +dd 03915e944h +dd 0ac40d89ch +dd 02c14cccbh +dd 020a8558ah +dd 0eb38107bh +dd 063c8076fh +dd 0bb0ceb6bh +dd 06599ed4eh +dd 0ceb0fe77h +dd 0775577d7h +dd 0dfbeb60eh +dd 0311c16a7h +dd 00427f2f9h +dd 006738b81h +dd 09b221cf5h +dd 07258553ch +dd 066b3b879h +dd 0cd128a1dh +dd 05c3c9672h +dd 0f1137890h +dd 0d5f9fa0ah +dd 0e7e501a3h +dd 01a86eb4ah +dd 09e168ac5h +dd 026fac5f5h +dd 0f698659bh +dd 041d49c42h +dd 0673d5ef8h +dd 00eb7645ah +dd 065a1d020h +dd 069dbb8bch +dd 085628cb8h +dd 046d051e2h +dd 097a21490h +dd 0f593cba8h +dd 03eedf9a0h +dd 0e97e8c59h +dd 000e75780h +dd 0da997a08h +dd 06abd9ad6h +dd 07092986bh +dd 07fec81e7h +dd 02ec5e67fh +dd 0027edd15h +dd 089df08eah +dd 039f2f543h +dd 0c0e9c1d0h +dd 06b5ca564h +dd 0275c4fa0h +dd 08a33ddc3h +dd 0cd6bb715h +dd 08dbc9660h +dd 0dc231205h +dd 04911ebf3h +dd 025f03582h +dd 00372f29ch +dd 0531eec8bh +dd 0b0f17299h +dd 0b73e3ef3h +dd 04341e0c1h +dd 0fd1f4a19h +dd 01c6a341eh +dd 000773c7fh +dd 0ef2ae94dh +dd 062668730h +dd 06e5d37ech +dd 0ce906227h +dd 0c6e933cah +dd 028315f16h +dd 0854ad918h +dd 0c4b5aadah +dd 05f8fa850h +dd 0cf631c85h +dd 0a88ba6b8h +dd 01c176243h +dd 05c185454h +dd 098ed1ca7h +dd 0b66e8f6dh +dd 0624b3deah +dd 0046308e1h +dd 090195ac1h +dd 0d4b0789dh +dd 0012c198bh +dd 0ad7dc016h +dd 07b05028bh +dd 0a7c7a5e6h +dd 04e9c1577h +dd 0a82c5637h +dd 031b27a01h +dd 0fa5a2c09h +dd 042bddb3dh +dd 07fa248cfh +dd 0f41c7b99h +dd 00939596dh +dd 0ed6a6cebh +dd 0ef079b99h +dd 0b110c23eh +dd 0ca2bf56eh +dd 01f636300h +dd 0d6c7a083h +dd 09f2d23b6h +dd 02f73e976h +dd 070af3407h +dd 02dce53c1h +dd 03109e0f7h +dd 015e30ed9h +dd 05a224b4ch +dd 0fb23517fh +dd 05d04218fh +dd 08186358fh +dd 015fd6f68h +dd 0f8f7299bh +dd 06d456e6fh +dd 020270591h +dd 08c3c1ce4h +dd 0b5bb8c72h +dd 08b141433h +dd 0605e048bh +dd 0c6ec141ah +dd 0c676d2fbh +dd 0f34bbd1ch +dd 07f4d739ah +dd 0f2b5a91dh +dd 0f92ed8cdh +dd 0cd5e7e31h +dd 02f779c26h +dd 00b944266h +dd 0f0f22ca7h +dd 0eb00637eh +dd 022889989h +dd 06cf15085h +dd 0c4ddd430h +dd 020e6f415h +dd 0a536235bh +dd 00e4530c1h +dd 0c9f1f33dh +dd 0addecbd7h +dd 06eb6c680h +dd 0bc80b29fh +dd 09f1262dah +dd 043be482bh +dd 0db535d9eh +dd 00e79a727h +dd 0c7829961h +dd 0494c7281h +dd 0643e9949h +dd 0e792e8e3h +dd 04fbc5cfbh +dd 07536237eh +dd 01cdc2d2ah +dd 00694ca59h +dd 0ba2af640h +dd 06686583eh +dd 0c459d5a2h +dd 0cb5c9c57h +dd 0f5287baah +dd 03d958075h +dd 0786f4281h +dd 03a89cfb5h +dd 0db90dcb9h +dd 0ab7899ebh +dd 0cf015843h +dd 0c1664daeh +dd 02ef52f1bh +dd 07bc5cafeh +dd 0ba16e52dh +dd 0fc822d12h +dd 09bbff5ddh +dd 079f56788h +dd 0c6682024h +dd 09f336c4ch +dd 027c498d1h +dd 030dfe71ah +dd 0cc81c58bh +dd 0a1dc7c42h +dd 094c0ac41h +dd 06552b777h +dd 0a2c7b335h +dd 06b6c8e66h +dd 07a841886h +dd 0649c8fd5h +dd 05d920a29h +dd 0e4748c8bh +dd 0f2a622c3h +dd 07f9147c0h +dd 0288a4762h +dd 0619a148eh +dd 0e5a7fe78h +dd 002c0bdb2h +dd 0b235388ah +dd 07bb1d65ah +dd 034b74a86h +dd 03fe42891h +dd 07307b024h +dd 0f0aedf0dh +dd 0fea9cc0ah +dd 0a9bdc32ah +dd 0a1c20b56h +dd 0f58c4087h +dd 08238ddaeh +dd 05230d0bch +dd 0a8a3da81h +dd 06201a4d9h +dd 0763668f9h +dd 00665cf5dh +dd 0eba19782h +dd 09fde27fbh +dd 0e8f506ceh +dd 00b13f630h +dd 018dd07ffh +dd 02989f96fh +dd 0326e044ch +dd 06779ed90h +dd 0ecbc8af9h +dd 004175da4h +dd 033dc3ffah +dd 093014d16h +dd 014bfa8a1h +dd 02b8edebah +dd 098201c1ah +dd 05f9ea7ach +dd 0a35b6f74h +dd 0a7795789h +dd 0e0e71c93h +dd 014b62d45h +dd 0956cc439h +dd 02dc06681h +dd 09a474c92h +dd 0bcd451dbh +dd 00642bfceh +dd 06498a729h +dd 0acd672d4h +dd 03ebee7cdh +dd 0ff56e261h +dd 0f1f3dd86h +dd 07f57ad04h +dd 0d098e448h +dd 0e0b6cd89h +dd 0582ed973h +dd 09f6d3c31h +dd 01a02e43eh +dd 02cd1562fh +dd 0434337bfh +dd 0689ace69h +dd 0e70387cdh +dd 0b423066ah +dd 06c41afb4h +dd 0856d54f1h +dd 0785dedcah +dd 0c7bfe6f4h +dd 0cc394fafh +dd 0f9e88457h +dd 0fb2217b8h +dd 0e6e2a513h +dd 05f3816a1h +dd 09139447bh +dd 0ed35d9cch +dd 0445f6756h +dd 025c3a053h +dd 087c5f995h +dd 0fd60a6f0h +dd 0e2e6ec3dh +dd 0c407892eh +dd 0b1ab6f77h +dd 00df638ebh +dd 09d0ac094h +dd 0cbbce3b4h +dd 096b034b4h +dd 01708931fh +dd 0ae9aa423h +dd 0b62cbb2eh +dd 06482d626h +dd 03bb89c3dh +dd 0bc813544h +dd 0a2e27769h +dd 0bef6f0cbh +dd 067c75c82h +dd 0ce5618a1h +dd 0e67a7e22h +dd 0eabc8ab3h +dd 03c2ecf31h +dd 0f7d68ca5h +dd 08ab50dc6h +dd 0430019f5h +dd 0d4815290h +dd 0a1ab1200h +dd 02648b9a4h +dd 026e47241h +dd 02db203e0h +dd 0f3b7a8fah +dd 0a2d9b079h +dd 0a5770676h +dd 05c8317a7h +dd 026b713cdh +dd 0d43df66eh +dd 0886bdd8ch +dd 0171cf863h +dd 03b4ddfdfh +dd 09ce0534ah +dd 0e431e871h +dd 02af4c14eh +dd 0f6d31f77h +dd 00c9a03bbh +dd 03bde3857h +dd 0530b3b63h +dd 0a1c4e46ah +dd 0043beb1dh +dd 06c1f7fb2h +dd 03488b6e3h +dd 0fb979c41h +dd 06a62e775h +dd 00f40a149h +dd 07b59c430h +dd 0cb54633fh +dd 0fa58cca0h +dd 08725212eh +dd 0adab31e0h +dd 0d5240dbch +dd 070850992h +dd 0d884ff6fh +dd 0745812fah +dd 024d8c06ah +dd 0e9bcf999h +dd 079c1455fh +dd 0a334bf78h +dd 005f8cad8h +dd 052e55638h +dd 0f3018f41h +dd 06620615ch +dd 0838c97afh +dd 0a822d89fh +dd 0a6e4edc6h +dd 0fd34535fh +dd 05b45a4b7h +dd 080218ce3h +dd 0478adb66h +dd 0eb4589cch +dd 093c980f9h +dd 0fe34f8deh +dd 05dfe6dd0h +dd 02cfdcad1h +dd 08eddae69h +dd 03b3b50c9h +dd 08bc3440eh +dd 0682150c9h +dd 049f08001h +dd 019f82524h +dd 0c1fcf236h +dd 01e26471fh +dd 030e9e6fbh +dd 0490dc523h +dd 096cb1f30h +dd 003db3bedh +dd 01a84c39bh +dd 0ecd31ba5h +dd 096edcea0h +dd 07590d7deh +dd 04c307fe5h +dd 08d45bc12h +dd 0d92ab8a6h +dd 0d94a7d51h +dd 07dfd4d8dh +dd 031e8bda2h +dd 05c1a2007h +dd 0290893e2h +dd 0b5a19a2ah +dd 006261ee1h +dd 03000dd05h +dd 0859d66a3h +dd 00645a2d5h +dd 0989916a0h +dd 0fc48c930h +dd 0ae2138cbh +dd 00690a08fh +dd 09e069dc9h +dd 0cd862303h +dd 019c60375h +dd 0ac799d1ch +dd 072590a12h +dd 0ce6f68ebh +dd 0bf1605fch +dd 0ee864445h +dd 0bada5530h +dd 00b27b575h +dd 092da9b5ah +dd 04bd8e722h +dd 05273a5cfh +dd 0a5380ab4h +dd 01416cef0h +dd 0cd847970h +dd 0df363a9ah +dd 06d234536h +dd 026469a27h +dd 04ecde9e8h +dd 0f5b2f4f1h +dd 0337ee26ch +dd 0427c7b2fh +dd 0a13629f1h +dd 008c6a8e7h +dd 0d19fbeb1h +dd 076f2e678h +dd 0c7009c11h +dd 06f19c60fh +dd 00c2c52edh +dd 09ac1905bh +dd 0c4705494h +dd 0af138a48h +dd 07de3ae1ah +dd 0fefc05fdh +dd 044c320d3h +dd 0c8289cfdh +dd 05372f78eh +dd 0b7beba20h +dd 07385dd52h +dd 0a1286a61h +dd 086b87008h +dd 0e8388302h +dd 010b67715h +dd 05722ea71h +dd 0ca2ec532h +dd 099f1fa0ah +dd 04ca11ec8h +dd 092b2fc74h +dd 0d9504124h +dd 01b52d659h +dd 018d0ba04h +dd 09705dbcah +dd 0ab6868beh +dd 0d67640e3h +dd 01f1ac977h +dd 04d5d906ah +dd 0d1805daah +dd 07289ddb2h +dd 051957b76h +dd 0aa36828fh +dd 0a29c8f00h +dd 0caa4f1d1h +dd 0103e553ch +dd 029b77bd1h +dd 0d1c2a8f9h +dd 0e0ac50feh +dd 0fb935bf6h +dd 0730afe31h +dd 0df53c933h +dd 07b6158f5h +dd 05b5a3117h +dd 0842de711h +dd 0a6685311h +dd 0024dd52ah +dd 0fb7d028bh +dd 06e6bf391h +dd 013288e41h +dd 0b8bc5398h +dd 0c6ed29d1h +dd 0279ef4c2h +dd 055ea6886h +dd 0e0b8299ch +dd 031294656h +dd 033280e75h +dd 04b576f27h +dd 00c0f5720h +dd 01a6ad5ceh +dd 05418c9aeh +dd 0268912a8h +dd 0c87808edh +dd 08c0fa427h +dd 05f1a8461h +dd 03833a95ch +dd 08a1f6a92h +dd 057076a18h +dd 09d022d8bh +dd 0d2e434d5h +dd 0d5cbc010h +dd 0c4ee9c84h +dd 04cbd546dh +dd 01d0c8b12h +dd 0ed3e2a61h +dd 0923eddd1h +dd 0b62ffbadh +dd 081c84338h +dd 0a5ad7862h +dd 0c5000a47h +dd 0523ea35ah +dd 048563309h +dd 073d3648dh +dd 0a6969a4bh +dd 09157aa7dh +dd 01d60e34bh +dd 0222230dfh +dd 0a644ca05h +dd 02764ade8h +dd 0eb79e6fah +dd 01e808095h +dd 0622ac379h +dd 0412c841dh +dd 0962438b2h +dd 0687b750dh +dd 0af7b9fe2h +dd 079e01b8fh +dd 0c95919b8h +dd 093082af2h +dd 0f991ddfdh +dd 0014ae6e9h +dd 0694df910h +dd 03e00f196h +dd 0d8b9d922h +dd 01d28de1dh +dd 074d39846h +dd 0b41422ceh +dd 0cdfbf3ffh +dd 0ea8b014dh +dd 088b08794h +dd 0b02db3e8h +dd 01ed2bf45h +dd 07f43bfe1h +dd 03f4f284bh +dd 094da0237h +dd 0d0b0f1ebh +dd 0b99f34dfh +dd 03b5b4528h +dd 04dc784eeh +dd 094696c9bh +dd 0bc89a7bah +dd 04808885fh +dd 04f5beb85h +dd 0321bcc80h +dd 00574d439h +dd 08f64e6a4h +dd 08127f035h +dd 01d7aae8ch +dd 09803038ah +dd 034fda71bh +dd 0c0a7bd90h +dd 043f0e8b8h +dd 082f17e25h +dd 071e5c239h +dd 0a68a5e0bh +dd 029e6b6e1h +dd 093e12bbbh +dd 02f92e879h +dd 0cf945883h +dd 0468b25b3h +dd 066560cdah +dd 0cfcd06a5h +dd 065d531dfh +dd 04d9a7845h +dd 0a8f33dbah +dd 04b2ec181h +dd 041ba6ccch +dd 0359304d4h +dd 0678464f9h +dd 0d52f8de1h +dd 0e9f05843h +dd 038be708eh +dd 0f7ff804ch +dd 08fea1c4ah +dd 023ee3dc9h +dd 0934e9a79h +dd 0fcdb40dbh +dd 0daba8f6dh +dd 0bedc3321h +dd 013dda99dh +dd 003e86325h +dd 06a35511fh +dd 0c2b91cc6h +dd 047f8e7eeh +dd 0e9312d07h +dd 04e953850h +dd 0a1d98856h +dd 0e5b02489h +dd 08003edfeh +dd 068b015cbh +dd 04e1fac73h +dd 06548bcb8h +dd 0f088094fh +dd 05e3a48d5h +dd 0b9e7826bh +dd 0e0208f2ch +dd 00e8f60f4h +dd 0e14d2524h +dd 0b2b59513h +dd 09a6d7f3ch +dd 03b558fb7h +dd 03e28add9h +dd 03dc15c3ch +dd 0d6044a7bh +dd 0c9a32b42h +dd 0b9a99621h +dd 082c3000fh +dd 084b04aa0h +dd 0faecb1cah +dd 03cecc238h +dd 0dbb558e6h +dd 0fd429009h +dd 0882c022bh +dd 0ea2296f2h +dd 0c28e7549h +dd 0fb675d16h +dd 05367666eh +dd 0d47e0718h +dd 0cecb4e64h +dd 0314a72cch +dd 0ff81fd70h +dd 0075e1f29h +dd 03c9cbe44h +dd 04163ab92h +dd 0239c145fh +dd 097269302h +dd 0dac1e0cdh +dd 0f8acf484h +dd 0e09c22b1h +dd 026e91359h +dd 01a823f0ch +dd 01f61c38bh +dd 0c9584aebh +dd 0a7064b04h +dd 0d05251adh +dd 01d591874h +dd 0de3b0e52h +dd 003436d20h +dd 0d3456f66h +dd 0fcb1b366h +dd 04b7299a4h +dd 0a418891ch +dd 0167f6c79h +dd 02bd9741bh +dd 0ab15dbcch +dd 01b389b7eh +dd 05cad7c16h +dd 0cdc0d172h +dd 0a5647f02h +dd 07c88456ch +dd 0e98b93e8h +dd 086fab8d6h +dd 0c7206b03h +dd 03c03f30bh +dd 093037f07h +dd 0f449635ah +dd 06f28170fh +dd 037cf0fc9h +dd 0d082100bh +dd 07ab5a564h +dd 0eeb51964h +dd 009a39249h +dd 0b41f52b1h +dd 05eb6f162h +dd 0388685a5h +dd 004323f27h +dd 0ce584c06h +dd 0d99b09fch +dd 004705a15h +dd 030034e90h +dd 08061089eh +dd 0b6e78210h +dd 098a75465h +dd 047cd0704h +dd 0aecad423h +dd 0f1bc138dh +dd 04b24b68ah +dd 065048136h +dd 0f02dad34h +dd 09a00d6feh +dd 0a25095ebh +dd 07d60efc2h +dd 07087d157h +dd 03fcd52b8h +dd 005af88d3h +dd 004c9d6d3h +dd 071df010ch +dd 087ae0b39h +dd 0573b4dc1h +dd 080e92451h +dd 0469ffa37h +dd 0634276f2h +dd 0af364261h +dd 08eda9ae0h +dd 0e9d5bea9h +dd 07dfbfe43h +dd 09bfa9c54h +dd 004f0c1f6h +dd 06803d500h +dd 0b30723b8h +dd 02422c77eh +dd 02cbd64d6h +dd 0ab6c9cc3h +dd 09fc9749ch +dd 0633c4de0h +dd 02eb1fcb6h +dd 0eb8d507ah +dd 0ff2ce496h +dd 035caea23h +dd 0b3e83e32h +dd 098539de6h +dd 02f97fa78h +dd 0b63390feh +dd 09d43014bh +dd 0bf023762h +dd 01b6a01e4h +dd 0e7d931f5h +dd 0c6f92105h +dd 0cc81642ch +dd 0a5cf0c35h +dd 04dc1602eh +dd 090497bdch +dd 0df292d8dh +dd 0072ef836h +dd 0093ae6f7h +dd 08cf6210bh +dd 0848f100eh +dd 030551b60h +dd 0b41cab3dh +dd 0029938edh +dd 0a652ca11h +dd 05ea1cf90h +dd 0687e3a71h +dd 0e58e2dcch +dd 0ffbbb3b0h +dd 0107e402ah +dd 00002a59bh +dd 089a3af3bh +dd 0e3bfa20fh +dd 0bee4d0d4h +dd 0b64c0c38h +dd 083a26baeh +dd 00381060bh +dd 0b916383ah +dd 002716a0bh +dd 069eec02ch +dd 0b7f287aah +dd 081367762h +dd 035f8c76ch +dd 0d8f3e1d6h +dd 046df58e4h +dd 01bfccb0eh +dd 03273114ch +dd 0828c3838h +dd 045aab768h +dd 074a144f7h +dd 08daf760dh +dd 0e89dc251h +dd 0f2ff37b9h +dd 09d3905f9h +dd 0908953c6h +dd 03d5cddf1h +dd 007b88231h +dd 00d0a1f4dh +dd 058b150e9h +dd 00cfb011fh +dd 097a189b9h +dd 0b4263ee4h +dd 09b1656cah +dd 0be795a40h +dd 004d661ceh +dd 0c1488e87h +dd 0a07e237ch +dd 0a4a10605h +dd 0be5601a3h +dd 0454055cdh +dd 0f102e815h +dd 04ea9e919h +dd 0fe9c1389h +dd 00ba0e9ebh +dd 0ee7d8ee7h +dd 0b814499fh +dd 03a9630bdh +dd 0cf82caa2h +dd 0368ac5a0h +dd 0e20d113eh +dd 04920d242h +dd 05073eb1fh +dd 04314c57fh +dd 0c4a2af17h +dd 05f235389h +dd 0eaee37d3h +dd 09555b75bh +dd 09d07931ch +dd 0f9e52b0ch +dd 03d7cd73ah +dd 0d7f38e26h +dd 08e38c727h +dd 061e288a1h +dd 0de66bcd5h +dd 00ac7809eh +dd 07e0f01fah +dd 0d1cffcf2h +dd 022eca660h +dd 052cc94c9h +dd 0e896dfc0h +dd 074712170h +dd 00f02ecc8h +dd 093017413h +dd 0830b37e4h +dd 0e85e252ch +dd 01679b001h +dd 09e5bf759h +dd 0e804252ch +dd 00fd4875dh +dd 0d0efd286h +dd 02cc0074bh +dd 0b19eceb3h +dd 0088ed4d5h +dd 0351911b8h +dd 0f514ca00h +dd 0eecb70f1h +dd 080696532h +dd 06f0b956ch +dd 0dcc7e258h +dd 067914058h +dd 043a2f878h +dd 04a1403a8h +dd 06c0c25cdh +dd 0ff191efah +dd 07032c1f8h +dd 0a20cef47h +dd 068e496beh +dd 0eac3fe23h +dd 0114b9bddh +dd 01610b37dh +dd 01ca3f506h +dd 0792b8ab4h +dd 083120badh +dd 0a4d8ce43h +dd 08390af31h +dd 0b0fcc53dh +dd 0ea445d27h +dd 04f10c826h +dd 02f99c5ebh +dd 0b05eb4deh +dd 08b52504bh +dd 09dd91f6dh +dd 0def22126h +dd 0bfd407e4h +dd 0c837bee4h +dd 044ea5402h +dd 0514d0782h +dd 071772269h +dd 069f71dc6h +dd 08b71ba81h +dd 0bc41f944h +dd 0d3510a0dh +dd 07cff12d4h +dd 09d352bc4h +dd 08e897613h +dd 0a189f519h +dd 007286abbh +dd 0f8df56eeh +dd 08aeedfcfh +dd 0d5881a1fh +dd 0e3136e24h +dd 0c70ae0beh +dd 09a5b7825h +dd 025826308h +dd 08f73621ch +dd 07fb1648ch +dd 09710fe20h +dd 0e12f7dach +dd 0d7392bf7h +dd 0f984d822h +dd 07de06eafh +dd 05ce28083h +dd 0f2e6d57bh +dd 0a19b9437h +dd 019065df1h +dd 0e0a6ba24h +dd 04955ee65h +dd 0cf10bb5ah +dd 07c145e3dh +dd 026316386h +dd 052138e00h +dd 00b5c60fdh +dd 05394c66dh +dd 0f003499ah +dd 05748c9c4h +dd 0e4261ef5h +dd 03f0bb717h +dd 08d395c8dh +dd 0dc4fe777h +dd 079d2f329h +dd 03f09c0b0h +dd 0e713a914h +dd 005cf2eebh +dd 0230f9b59h +dd 0bab6df80h +dd 032cbdb2fh +dd 0a04fdeb0h +dd 07acd8177h +dd 0e765461fh +dd 0f12a6708h +dd 012bb806bh +dd 075449851h +dd 0b6c0de48h +dd 05fe519d3h +dd 0b3a62390h +dd 06d2151b2h +dd 0db931ce0h +dd 06af18f72h +dd 0ebd6055fh +dd 0fd7fe275h +dd 00580eceah +dd 06d1654c8h +dd 04c2e2c63h +dd 0dffbe2a1h +dd 08490e35fh +dd 056d4f96ah +dd 011ab5559h +dd 07a48032bh +dd 056dab5dah +dd 0f024cd67h +dd 0ee680590h +dd 0753eb924h +dd 0f66d771ch +dd 0d8ab3ba6h +dd 0dfdc1c96h +dd 0bd820ce3h +dd 082662390h +dd 0e831659bh +dd 0e51029c2h +dd 067116571h +dd 08393430ah +dd 067fedcdeh +dd 0e5ae9251h +dd 02797b272h +dd 083973ac4h +dd 0193b262bh +dd 0e120a95bh +dd 0d8d909d0h +dd 0d3ce5e89h +dd 0923908adh +dd 04b76b7d9h +dd 035e3b7a9h +dd 00df164a1h +dd 0a40f7866h +dd 088308c27h +dd 01cf5a046h +dd 0d6e91031h +dd 0958678abh +dd 063c4e642h +dd 008561a47h +dd 0efe92097h +dd 08a07bdb1h +dd 07fce8932h +dd 0f357bcabh +dd 0a345b4a3h +dd 04b4f8e7eh +dd 0b7ac0dddh +dd 0391e38b8h +dd 0b080a68eh +dd 00de22c98h +dd 0d1f43edah +dd 0c766c222h +dd 0a6f67850h +dd 0dcd0205ah +dd 0d8163941h +dd 045ad59cch +dd 096c396f0h +dd 076afcd63h +dd 0d03a81cbh +dd 02fbd80a8h +dd 079ada383h +dd 035349775h +dd 0ecbc3d1ch +dd 0afc2f7cbh +dd 059ef9f06h +dd 0c51b93b7h +dd 0285f9b0eh +dd 0a7d2dee1h +dd 098c278eah +dd 0aba0fa9eh +dd 077f3d65bh +dd 0b5c32df0h +dd 09c63c772h +dd 026293912h +dd 09d84cb57h +dd 0578b9464h +dd 0c1475d55h +dd 08c6dce3ch +dd 015680c61h +dd 09ca6cd98h +dd 07a007667h +dd 0572e612eh +dd 0e177e36ah +dd 09b3e4a28h +dd 02622d99bh +dd 093cce911h +dd 0ce842c5fh +dd 05140ce75h +dd 0cf49f32ah +dd 0a5ee32a7h +dd 045d1fcd6h +dd 00b8c6ccch +dd 0e5181742h +dd 0386b35edh +dd 0bc52a5efh +dd 0fdde245ah +dd 0ab81d300h +dd 0090ac506h +dd 00e9c8c2fh +dd 0f6e1e5c5h +dd 0df2b0f7ah +dd 0f9c5f60dh +dd 09c18fe8ah +dd 097f7e258h +dd 0e5804c88h +dd 062079eceh +dd 09bb2667dh +dd 04d03ee55h +dd 06435f285h +dd 0cafe2798h +dd 0fab81d85h +dd 0dfff256eh +dd 0565c0901h +dd 0d619a293h +dd 08aa54193h +dd 09d516f1eh +dd 06766b065h +dd 0745fd7ebh +dd 03b03b765h +dd 09ef0bf2dh +dd 0377f5322h +dd 01eb55039h +dd 0f1ea7d52h +dd 004e0b977h +dd 018d6081bh +dd 06bcb443ah +dd 0dbfc9ee3h +dd 0fe5a3ae1h +dd 023ee6696h +dd 09a830c1dh +dd 0a119e189h +dd 09ebabcf7h +dd 0dabdb9a6h +dd 00c4bc1b3h +dd 0d8946d0bh +dd 054d8f714h +dd 0d04f02e1h +dd 011a20764h +dd 0223795cbh +dd 0fc0f891ch +dd 0b96e1506h +dd 045698c4bh +dd 070e651ceh +dd 0d7cd62b0h +dd 07e81fb4dh +dd 04be36103h +dd 0eb80e421h +dd 0b6872499h +dd 04368d927h +dd 08578d070h +dd 0a4424989h +dd 06ce19d84h +dd 02a22004eh +dd 0b6d1fb85h +dd 022bb4315h +dd 0d9e78b32h +dd 09fc72b92h +dd 020f90948h +dd 01433f192h +dd 0b44a5c04h +dd 03025accbh +dd 080fd7e4ah +dd 060904e7fh +dd 04eb5c4f1h +dd 08b7b0266h +dd 0e608d891h +dd 0befb10a4h +dd 073a635b6h +dd 0de5916eeh +dd 0811909f9h +dd 0a34ea9afh +dd 0fdfdc9dah +dd 0e15d7edbh +dd 0eb9c5f68h +dd 0d43f4159h +dd 01820a13fh +dd 0a80a03ach +dd 05e665c61h +dd 00baa4e75h +dd 028ca25aah +dd 031f95997h +dd 051db3c14h +dd 0e28501beh +dd 014d34006h +dd 066150dd8h +dd 060334dd7h +dd 0b9ee1be0h +dd 0fd1f4ea3h +dd 02897ac64h +dd 079efe755h +dd 08ca1d681h +dd 0c8ea2903h +dd 05387a5c5h +dd 081d55ad1h +dd 0144d6eafh +dd 0e413c626h +dd 0c771d565h +dd 07fd85b8fh +dd 01d5ec0d2h +dd 0624abb8ah +dd 03c9d2c6ch +dd 0dad0982ah +dd 0b0585f61h +dd 0050e26b7h +dd 05b41a09ch +dd 09120f1b5h +dd 0b87dc3a6h +dd 099210a0bh +dd 0209823c4h +dd 0f4e466d1h +dd 0d5cf302ch +dd 05ee98981h +dd 0538d2f42h +dd 0ad70adebh +dd 02b4831c7h +dd 06a5b539bh +dd 09250775ah +dd 0fe2e6053h +dd 09ddef649h +dd 08c91cb41h +dd 0b726a88bh +dd 055812c20h +dd 0c7391ddbh +dd 0eb79d708h +dd 09eec9268h +dd 04455d4f0h +dd 06b93c4a6h +dd 081487ff4h +dd 04e24420bh +dd 004e11b4ah +dd 0e22d04feh +dd 055c2a400h +dd 05456a2b3h +dd 038ced586h +dd 0484362cah +dd 0d3ee2a46h +dd 01041ddddh +dd 0e1166174h +dd 01c4f3f11h +dd 05661140eh +dd 0c98849bah +dd 079aca837h +dd 09a98b420h +dd 0c1d25489h +dd 0ac3df8e3h +dd 098f2f4dch +dd 01ece1f45h +dd 0ae5d9b26h +dd 095697506h +dd 03e0d191dh +dd 049b163f1h +dd 0688037e3h +dd 097cbe651h +dd 035454b66h +dd 063ddd584h +dd 03cde8fbdh +dd 0961ae17dh +dd 00e7e1139h +dd 0270a96f7h +dd 033ab148ch +dd 042b5fe9ah +dd 00f6994cch +dd 02f8a9c03h +dd 0f06a23c5h +dd 00ce3e1aah +dd 0a23da62dh +dd 0953f7b9bh +dd 0ec9b814fh +dd 0398935e1h +dd 0e355577dh +dd 01e29f1bbh +dd 0debcfabbh +dd 0fbd862f4h +dd 0190397a2h +dd 08e3e1ac2h +dd 06281280fh +dd 08f2855ddh +dd 07050daa5h +dd 0e1ca5371h +dd 0468fca4dh +dd 0773ae214h +dd 0490d8f08h +dd 099f927c7h +dd 007f2f86bh +dd 0311c995dh +dd 03332b3bbh +dd 0a9fb341fh +dd 0d8c6e91bh +dd 061497f40h +dd 074cef4dfh +dd 007e784ddh +dd 03d2d320bh +dd 00664ec0ah +dd 002bd9bc4h +dd 01e1dcf07h +dd 0d88549c3h +dd 0347e4b4bh +dd 01c847e75h +dd 0064ba8f4h +dd 0ca5a276fh +dd 02db5139bh +dd 0e3725f3eh +dd 058c879b9h +dd 07c899bf3h +dd 08fc2ff20h +dd 0be4a63e8h +dd 056ebbcafh +dd 08b261b4fh +dd 095b3d0bbh +dd 07d451170h +dd 08a4090dbh +dd 035b7cd22h +dd 0b48b70a6h +dd 04543d3deh +dd 0dab6e92ah +dd 01f9aeda6h +dd 0c4253b90h +dd 01dc40b6dh +dd 0acdbcedfh +dd 0122141d5h +dd 0212ff2c1h +dd 04dd12570h +dd 027e324dah +dd 01b8e73c8h +dd 019283033h +dd 040f67a31h +dd 02440580ch +dd 0ac746cedh +dd 06e1ab101h +dd 07817df2dh +dd 0c5e6a596h +dd 03be33d94h +dd 091a34283h +dd 0b3480d90h +dd 04d75ae48h +dd 0d34e9a68h +dd 08cacbd8eh +dd 0b3883bb5h +dd 0c393266ah +dd 0167d52c9h +dd 04e75255fh +dd 03a562447h +dd 093fa3e0ah +dd 087c41d5ch +dd 0a2849d42h +dd 0108d5354h +dd 07a34da69h +dd 0123f285fh +dd 097101171h +dd 041cdc88ch +dd 003ecfc74h +dd 0fa7a8922h +dd 057231dc8h +dd 03fad9759h +dd 0027c1f27h +dd 0d1420583h +dd 00a33a9afh +dd 083f71d28h +dd 0db5e384bh +dd 0acb9e322h +dd 06be73fa5h +dd 080e6090ah +dd 00035747ch +dd 03fef82ceh +dd 06edef90dh +dd 0adebf5e9h +dd 09c08a935h +dd 0b72a4896h +dd 0dd742b3eh +dd 0541db20ch +dd 055ad384dh +dd 0d3153dbbh +dd 0fa7d787fh +dd 0dd6e5bf7h +dd 028bcf3f4h +dd 02c672335h +dd 0e79b6206h +dd 00f727053h +dd 022c6bfe7h +dd 03792f0c1h +dd 0841f38cah +dd 0ca43760fh +dd 0e133bd6fh +dd 0b4ff01c0h +dd 0369f4cd2h +dd 0a3883bcah +dd 0a03fa677h +dd 0e1dedc68h +dd 07191aa56h +dd 0cb68913dh +dd 08a40b324h +dd 0e17f6addh +dd 029c8572bh +dd 076baf869h +dd 0045def7dh +dd 035e8fe13h +dd 02f702242h +dd 0d764bdceh +dd 05b5a8130h +dd 0c516bad6h +dd 0aa859774h +dd 0463b5286h +dd 0af103dceh +dd 0b34a623ch +dd 0abf87854h +dd 0be8ef84dh +dd 068282738h +dd 0570ea5b3h +dd 013a1c654h +dd 07e12cd94h +dd 0480d7517h +dd 0bb8e0da9h +dd 010da1142h +dd 0a075d66eh +dd 01dbd7314h +dd 043d30e73h +dd 04e48d5fah +dd 0ca4b8fb7h +dd 09a62d7cah +dd 01fe283ceh +dd 071adbf7ah +dd 06fad66e8h +dd 0785385eah +dd 0b7afd36ah +dd 0273ff8a6h +dd 053a5d53dh +dd 01ea96b29h +dd 087d2a8a9h +dd 0a3d08122h +dd 0ad391017h +dd 061cca762h +dd 0c4c88341h +dd 0a1b27bc3h +dd 098b986d8h +dd 0e9813e33h +dd 092e96f67h +dd 088933800h +dd 0a0e2ec56h +dd 007186c8bh +dd 07da5930bh +dd 00b81c2f0h +dd 07fc39d74h +dd 06cf99433h +dd 06f162feeh +dd 0f96d8566h +dd 0b8f38ee3h +dd 0bdc7fe69h +dd 014b29248h +dd 0e2614ba5h +dd 0e801a2cdh +dd 0611c9b0eh +dd 02a7ac61eh +dd 02c6f21c4h +dd 02adbdee6h +dd 0bd9dd8f1h +dd 033e7a016h +dd 0f8fe0cebh +dd 0a9cb966bh +dd 0f8715225h +dd 0ac7a23a0h +dd 0b46de930h +dd 0aab2dbefh +dd 0e7f6068bh +dd 0d0f516edh +dd 0c6b792d7h +dd 09bec2165h +dd 0a1824d57h +dd 03de159fdh +dd 048747b71h +dd 05bedbb7dh +dd 03641bacbh +dd 0066752e0h +dd 06023e57fh +dd 0d7bc31c9h +dd 0f21a021ch +dd 0c13e97b0h +dd 0b75a67a3h +dd 05a9bb14bh +dd 0d3f40b96h +dd 0cde9c110h +dd 02d3130a8h +dd 0e341778eh +dd 0aafaf7e2h +dd 0cbced034h +dd 0675a9f09h +dd 0768ea6bdh +dd 00bca85d2h +dd 0c593bdebh +dd 0aadd5855h +dd 072d5c21ch +dd 042375d98h +dd 0585b9114h +dd 008bf17d8h +dd 0d2a834c1h +dd 0d59a9025h +dd 0ed97a3b0h +dd 06fa2b64ch +dd 0c108c2bdh +dd 0e0cc6864h +dd 0885a5e07h +dd 03d349be3h +dd 09cec33a2h +dd 0fb921fd3h +dd 021016c26h +dd 0c24d2b9ch +dd 0d3d7ae1bh +dd 036599f1ah +dd 0b35305b5h +dd 045e53145h +dd 01b29bf49h +dd 0dccb75c2h +dd 090dcf809h +dd 0052ff92eh +dd 052b63d12h +dd 02b3df10dh +dd 0ead0695fh +dd 00a8acb15h +dd 070d664c9h +dd 04daa12f8h +dd 01feceb39h +dd 0e92039edh +dd 0c95d069ah +dd 07bc2d884h +dd 0d9c18472h +dd 0e29e24f2h +dd 090eff266h +dd 032fe5233h +dd 02f88d763h +dd 0ad98fc54h +dd 01b7cac35h +dd 019b32ebeh +dd 0ce8fa9e9h +dd 0789d0009h +dd 0c56acdadh +dd 0561e83deh +dd 023745324h +dd 0d8ee56ech +dd 02cdcf082h +dd 0f5aa83c1h +dd 0faeeba12h +dd 0cdc3e923h +dd 087516ad1h +dd 0dc8edaa3h +dd 078c8dea8h +dd 0865902a1h +dd 017fc2004h +dd 05500e6fdh +dd 080f93e58h +dd 04f5b2b68h +dd 07a5f11d3h +dd 016afa271h +dd 06a5d5d5ah +dd 0c25c091bh +dd 0760fc06bh +dd 0971ee8c0h +dd 08e08699ah +dd 0fb67bfceh +dd 01e6bcd20h +dd 0283e8d1dh +dd 00f7315e5h +dd 0f246d0fah +dd 0d4342bf5h +dd 0550ce6e5h +dd 00d0181fbh +dd 0a2d7eda2h +dd 08bc33a12h +dd 0919a8d02h +dd 051e5dcdbh +dd 09b4bf704h +dd 099873d25h +dd 06829dfb3h +dd 0c6e404c5h +dd 04b184e3bh +dd 08a740157h +dd 02467cd97h +dd 0fc69ab3eh +dd 00dccab1ch +dd 0af1f402ah +dd 0a0bbe17dh +dd 03cb9814eh +dd 0bf4a6b8fh +dd 074e2265ah +dd 0ccc32aa4h +dd 0b68a574dh +dd 0769c786ah +dd 0aa7b819bh +dd 0a25f2118h +dd 03254f50ah +dd 060443df9h +dd 0789fae7bh +dd 006801c35h +dd 068f07837h +dd 00b0f7d08h +dd 04e0208fah +dd 086f2fd2ah +dd 0d3f8622ah +dd 05939e457h +dd 0a56707fbh +dd 0a66f9932h +dd 0c0f996aah +dd 07b19847bh +dd 06415a53fh +dd 06bac390ah +dd 06f4ffaach +dd 0f6f48190h +dd 059c95c79h +dd 047f8f302h +dd 0b983c8a4h +dd 0557aa067h +dd 0035b04e4h +dd 04a1ee2d2h +dd 0c53ded51h +dd 003d761a2h +dd 0ca4c27fdh +dd 029199769h +dd 05ccfc086h +dd 0984d3883h +dd 0ec0cd7aah +dd 0275c30f7h +dd 0b5c23246h +dd 067955553h +dd 044133379h +dd 0d02f7969h +dd 0250615e5h +dd 028210e1ch +dd 0c8fdbde3h +dd 07843c5f4h +dd 0a51bd0a1h +dd 073bcf667h +dd 0b758cd8dh +dd 067dd30cch +dd 028bae76ch +dd 04f4e8697h +dd 0883b0a7ch +dd 0fd1bed2dh +dd 0bc36c0f2h +dd 08354dba1h +dd 07e5f75e2h +dd 0568a5110h +dd 06663eb36h +dd 082bec212h +dd 090972116h +dd 097cc5bbeh +dd 0e5a44678h +dd 0a5050576h +dd 0c8478247h +dd 01828ba50h +dd 027e38fa5h +dd 07bc13f74h +dd 0690e966ch +dd 0dd95b77ah +dd 0ebd63d10h +dd 04995315ah +dd 01056d2efh +dd 0f0cbd405h +dd 072787b2fh +dd 0c82bf3bch +dd 05fc739dch +dd 019c1b659h +dd 08427a0b1h +dd 097d64964h +dd 0e440b7f0h +dd 0b99386abh +dd 094188e06h +dd 046f53cd4h +dd 0ef81c3f0h +dd 0e2975694h +dd 0dd0c46fdh +dd 0063447c7h +dd 057cf73cch +dd 0b22eb7a3h +dd 0e8869122h +dd 0a101c7e5h +dd 0ca7a828bh +dd 0112f51f7h +dd 0c113d34fh +dd 0774721f3h +dd 0fb2e4f49h +dd 08c2b601eh +dd 039cb67d1h +dd 0547076eah +dd 002bc85b0h +dd 0da181a02h +dd 0b822e0f6h +dd 07fcb98e8h +dd 0c72b9087h +dd 0b5be78a5h +dd 0beb769f8h +dd 0123f3dabh +dd 0e7866fadh +dd 0288df749h +dd 067ed4331h +dd 05f60b806h +dd 093070c78h +dd 0fef8c266h +dd 0f77ebbe9h +dd 001720f72h +dd 037e08d43h +dd 03a41ea90h +dd 06f35109ch +dd 0e0742774h +dd 0fc448689h +dd 0f0900df6h +dd 077c0fb8bh +dd 0bee5c97dh +dd 0e9e5f54bh +dd 08edc08d5h +dd 0af3a2414h +dd 08c7ddedbh +dd 0a7bdc6efh +dd 095dccdb8h +dd 0be857e1fh +dd 0680d0beeh +dd 0e452a113h +dd 003991485h +dd 0fa04a19bh +dd 07ad9593ch +dd 0879b9b42h +dd 0b2afeb87h +dd 09f22cb6eh +dd 00c24c4a4h +dd 0a9045534h +dd 0aef4054ch +dd 048592d21h +dd 033c52d0bh +dd 096315d1fh +dd 0a1585735h +dd 0a637c4f5h +dd 062cfbbaah +dd 03a488b26h +dd 080ef4ab9h +dd 0e731211bh +dd 091724cebh +dd 02d033a96h +dd 0d61cca42h +dd 026e22f00h +dd 04c9f7641h +dd 0701cbe1eh +dd 04ceabd35h +dd 095c57857h +dd 083c16e06h +dd 0527933d3h +dd 01b6335f2h +dd 04ed64463h +dd 0ce1788e9h +dd 0b39760e8h +dd 023caf3e3h +dd 0d28b59e2h +dd 0611be145h +dd 035a19597h +dd 0c8e017e6h +dd 0ff276b9ch +dd 0359fd3d8h +dd 01270a2d0h +dd 0e46d0db5h +dd 0aeb1e5a4h +dd 03afbd912h +dd 0ac1303c4h +dd 0693cf388h +dd 04adb76d3h +dd 0b5d37796h +dd 0788eb026h +dd 02c2d8ff1h +dd 0f8c38178h +dd 05117070ah +dd 0808d9a00h +dd 0b3a878fdh +dd 009052ef9h +dd 0e0dfa6c6h +dd 00fd7d5d3h +dd 05a779514h +dd 0b67211ech +dd 040ea3d14h +dd 02397e4aah +dd 0f88b41fah +dd 034ec3100h +dd 0789eeaa2h +dd 0149e7f1fh +dd 06e17b98dh +dd 00befb1ddh +dd 0cfd4bd12h +dd 0559b37eeh +dd 02e9945cch +dd 07a62b433h +dd 048f84eebh +dd 07fcae786h +dd 0cdfc84c3h +dd 079e4f681h +dd 0708b220ah +dd 032829ffah +dd 0b6de2326h +dd 0738083aeh +dd 095e60e51h +dd 0ed0de377h +dd 09be31350h +dd 0c1a2b57eh +dd 099257cc4h +dd 013cfaa45h +dd 09773b229h +dd 0ed7b02beh +dd 0b60798b2h +dd 0740fe309h +dd 0a5a5cf6ch +dd 05081e7e1h +dd 0d9cc0bb6h +dd 0813717fbh +dd 027051486h +dd 04655d48eh +dd 005cede95h +dd 0c91adc1dh +dd 0ba2377eeh +dd 08ce36dd1h +dd 0bc12f880h +dd 069ee1fc4h +dd 0b41daafeh +dd 012de8fdah +dd 0f6660b1fh +dd 089fc0f2fh +dd 0040c6299h +dd 096086e25h +dd 0c1b83988h +dd 0ba0181c2h +dd 06daec28ah +dd 067310258h +dd 0e5b9f3d5h +dd 080c6514ah +dd 0fa7749d0h +dd 0fc946fd8h +dd 07355b6b1h +dd 0e6c3b1aah +dd 04a393f41h +dd 0b19ab4d9h +dd 0a30f7d5ah +dd 06c9371d2h +dd 097115611h +dd 09d78671bh +dd 04daa88e4h +dd 0078237f2h +dd 00624a140h +dd 0b332e628h +dd 031032fach +dd 06e1f04e4h +dd 0135c1d08h +dd 0eaa0c192h +dd 02c8564bbh +dd 0216b5ffah +dd 0106e0ac2h +dd 0200c281eh +dd 01bacfc60h +dd 07c9b21d3h +dd 01ee8d569h +dd 024be18a5h +dd 0c7c36f1bh +dd 07264cb8dh +dd 01ed2a7c9h +dd 0d0f97942h +dd 0070b2d81h +dd 0474de26ah +dd 044162790h +dd 092ffaa46h +dd 04cc5e95bh +dd 079cea819h +dd 0cb8a997fh +dd 040508e90h +dd 0be78948eh +dd 030622fcah +dd 019c48055h +dd 03d17c11ch +dd 0e1df0878h +dd 0ad8737e5h +dd 0c678d535h +dd 0f99b6b76h +dd 0ae5375dah +dd 06269f975h +dd 02b3bec0eh +dd 021753cc7h +dd 07cbee90ah +dd 0fd77595ah +dd 06ea476e4h +dd 000493e9ah +dd 0c67cb1d6h +dd 0a3086b2ah +dd 0ca042642h +dd 0a97243bdh +dd 031450931h +dd 039f6285ch +dd 0ce4bec0ch +dd 077b215f7h +dd 05c393b11h +dd 0b6c46424h +dd 0956a4f35h +dd 0d113321fh +dd 0edd939bbh +dd 046f60f4fh +dd 05828105dh +dd 011e35060h +dd 0abbd3950h +dd 026947404h +dd 08406f161h +dd 049fc5896h +dd 0184b156bh +dd 0eaf36cfch +dd 09384bd1fh +dd 0642a774ch +dd 0239d5498h +dd 08348cfe1h +dd 038a86f18h +dd 0e420b7dbh +dd 07fda7267h +dd 0d0205ff9h +dd 0c147545eh +dd 0773220f6h +dd 021c1a79eh +dd 0a827e468h +dd 04a9d1250h +dd 0eb295b43h +dd 0949b13b8h +dd 0060b2c11h +dd 029dcc076h +dd 0d4bb9dd7h +dd 0248e62d2h +dd 0493e95b7h +dd 0ea2bfdd5h +dd 09927be15h +dd 0d6dc64a8h +dd 04c29abddh +dd 03e79f86eh +dd 0515e98f6h +dd 001875a54h +dd 0e00c64b2h +dd 00e2e41c3h +dd 08c7d2b10h +dd 0416928b0h +dd 016ae6225h +dd 0b150ebefh +dd 0dad4933bh +dd 0c167c835h +dd 0a0ccc139h +dd 0cb857e34h +dd 08d7ebb13h +dd 0e9440a2eh +dd 06bf1f929h +dd 0ef5099beh +dd 09d789549h +dd 07a658c22h +dd 0007a0174h +dd 07421a049h +dd 074dec516h +dd 0404f7179h +dd 0b21a6ad5h +dd 0ff844b95h +dd 0a3eb6782h +dd 0ef893b9ch +dd 0e815fc8dh +dd 0cbf678dch +dd 0a2fce095h +dd 00b584df9h +dd 08a7b2488h +dd 071a5b18eh +dd 0dc973078h +dd 08d756f1bh +dd 0fde8a2a4h +dd 066d7366fh +dd 0d47a6e7ch +dd 06ab1a817h +dd 0ff881f3bh +dd 06d0b7b18h +dd 0a1660b71h +dd 018ce3342h +dd 0fc92d0a5h +dd 03df4d1e4h +dd 055b7f4d1h +dd 0e6958750h +dd 0cfdbd82eh +dd 0577b06f2h +dd 066a57fbdh +dd 0bfb26a64h +dd 0fcf15973h +dd 064408827h +dd 0241ba135h +dd 0ab16b7e4h +dd 0eecbd764h +dd 04c743277h +dd 0d1a08724h +dd 0d1789dd9h +dd 0e3c2ed43h +dd 0e2d31d08h +dd 09d64e57bh +dd 0102969deh +dd 0d86e48e5h +dd 072f8c8e6h +dd 0ae08ca02h +dd 098480d7fh +dd 007daab20h +dd 0a0aaa341h +dd 0d359a03eh +dd 0ce1aee74h +dd 0864ae70bh +dd 06efa4599h +dd 0316b9fe8h +dd 0dcd4f940h +dd 0a9bd19b9h +dd 05c76d0a2h +dd 0709c14e8h +dd 0aec8e2d5h +dd 082f12dd7h +dd 026bdf75fh +dd 0e9467299h +dd 09a49d0c2h +dd 0b658cf6bh +dd 03960f072h +dd 098632808h +dd 02bc1c6f6h +dd 083c882c2h +dd 064415fc4h +dd 095060f84h +dd 058981f5ch +dd 019664e90h +dd 0607f2143h +dd 06c11234dh +dd 054753383h +dd 087e85ab8h +dd 0b33bc28dh +dd 0d49d64c8h +dd 04a3f7d70h +dd 0e58eb0d3h +dd 0b4149b91h +dd 009232227h +dd 0cbeea955h +dd 0a74d4ef6h +dd 030c6e909h +dd 0773e5950h +dd 0370abbf2h +dd 02cf57a15h +dd 051825feah +dd 056ba8adbh +dd 02eba2ad1h +dd 0f707c637h +dd 0a82a43b7h +dd 0eb51601eh +dd 0e3597727h +dd 0efa64142h +dd 0d7b533a3h +dd 0ea062fb3h +dd 0da3e9391h +dd 082d57cf0h +dd 04b8d1e72h +dd 0eb05b860h +dd 01e8b58f7h +dd 05b13a2c3h +dd 0f7a5eb6fh +dd 0bccc1990h +dd 0f5411594h +dd 04d2f5ed3h +dd 0588febedh +dd 07830bfc3h +dd 04e3db252h +dd 0e70edbe6h +dd 0fef9704ch +dd 0cb22090bh +dd 0e15b7deeh +dd 06e1a3c9eh +dd 019f4bea1h +dd 09a6f1e91h +dd 0fa1ff900h +dd 079a0df2bh +dd 0ffebf0ddh +dd 0997cedcbh +dd 0b9b9fcdfh +dd 035c68febh +dd 088bf2cedh +dd 00c006914h +dd 05a3ea7b8h +dd 027f4258fh +dd 08bbfa211h +dd 02e839ba6h +dd 0219f81d2h +dd 08dafbd12h +dd 0a91a97d9h +dd 0a1b73e0ah +dd 01478fc24h +dd 0febf60fdh +dd 06302a104h +dd 0feba0533h +dd 0764db8fch +dd 0a685339bh +dd 0ddb4205dh +dd 017c13a7ah +dd 0920a77f4h +dd 08dc2c719h +dd 0d0ad420dh +dd 0eef92f49h +dd 01cf95a2fh +dd 0121ed49eh +dd 02378eff9h +dd 0eae76e5fh +dd 0d0edb9efh +dd 0344598ffh +dd 035401e49h +dd 0c984670ah +dd 09c2cf3d7h +dd 0100f87b9h +dd 0d9a6263bh +dd 0f197b7a7h +dd 0075abb12h +dd 081613eceh +dd 00a4119f9h +dd 09116129bh +dd 029794d88h +dd 0ce09fa0dh +dd 033c8a179h +dd 030c08903h +dd 01d2f9c4eh +dd 01c5aad6dh +dd 0df90cd2fh +dd 0d0020bcah +dd 0f5d8b579h +dd 06facc4ebh +dd 0864fdcc3h +dd 092820b4dh +dd 0e09f5dc0h +dd 09c3b7642h +dd 0f74cde6eh +dd 0924af9e4h +dd 019b94f6fh +dd 016d2b4d3h +dd 0eea57f6eh +dd 0ab78ef22h +dd 05b720a80h +dd 079e3834ah +dd 082df7ca1h +dd 049102777h +dd 0c0ed2fcdh +dd 001c48bb4h +dd 0a5af2ddbh +dd 074968fe8h +dd 0f79831f0h +dd 049d09f52h +dd 0ab007868h +dd 0f7ff6249h +dd 0119a2913h +dd 00cd43c84h +dd 02b475573h +dd 0edab5f61h +dd 0c991ccedh +dd 07a8b6b90h +dd 02882ca86h +dd 02fc9858eh +dd 08c46ec71h +dd 0b5e64d49h +dd 0a97b2cf5h +dd 0adadca83h +dd 0f43bb85ah +dd 0ffc196d3h +dd 0706a4beah +dd 0a0f43191h +dd 0dbcbe327h +dd 0ab6e61b4h +dd 0995fd885h +dd 0936e0222h +dd 0f3ba83b8h +dd 055769fd4h +dd 0fb37115ah +dd 01ba2f099h +dd 015524aach +dd 0eeb99c9dh +dd 039e8449eh +dd 02ca50479h +dd 013b3e2fch +dd 0313d17ebh +dd 00321d257h +dd 00100b77ch +dd 012a033aeh +dd 0d841f0f7h +dd 01d6ff254h +dd 05639583ch +dd 0803606d2h +dd 03b4eca9fh +dd 0f39b3026h +dd 0f32bfe54h +dd 0b3c4c1e7h +dd 08d50a25dh +dd 063b55759h +dd 0d28ec7c1h +dd 016c83c36h +dd 008aa82cdh +dd 0e352f33fh +dd 0e0973992h +dd 0ba0aeb83h +dd 01a5e4f88h +dd 047142733h +dd 0c3f89aa2h +dd 081057384h +dd 049c1fb5eh +dd 02f814149h +dd 09b4163a2h +dd 0b5fe5676h +dd 01d1e15ceh +dd 0feef6c9dh +dd 098925e31h +dd 05cd2e80ch +dd 01b7af23dh +dd 031f62b44h +dd 01771fbf0h +dd 07d32f3aah +dd 075f3d830h +dd 0994f61ddh +dd 01e175515h +dd 09ccacfb5h +dd 023410cc0h +dd 0b6055331h +dd 093fd6a64h +dd 01916d5c6h +dd 0919e76a8h +dd 02d442b34h +dd 00e36a766h +dd 0cfd32cb9h +dd 0959fac20h +dd 08401d40ch +dd 0c320ca18h +dd 08bedd3f5h +dd 0108559b1h +dd 09f573cddh +dd 082e0447ah +dd 07c9115d5h +dd 0ee799050h +dd 0311a780bh +dd 060032054h +dd 0a2889ddch +dd 0205d1ca0h +dd 0d173e1e2h +dd 02f5c34cbh +dd 09fa17bfch +dd 02f217829h +dd 03b8f8540h +dd 0d2313609h +dd 09018c329h +dd 008bbd1e8h +dd 09e8d4caah +dd 08319585ah +dd 09faeffc5h +dd 0703b1bf6h +dd 0a9974d9ch +dd 05e15c27eh +dd 0c8b4780fh +dd 006ca2970h +dd 04513d876h +dd 0741b163eh +dd 015d8eab4h +dd 045752df7h +dd 024ad5329h +dd 040072fa7h +dd 09366f7c0h +dd 044a39792h +dd 02d33bbd2h +dd 06c54f8e2h +dd 0eb63370dh +dd 08b11310ch +dd 02e8a0dc4h +dd 0a4561c77h +dd 02afdfd38h +dd 02bb7bd37h +dd 05635ca7fh +dd 06684dd04h +dd 0d747597eh +dd 034517af2h +dd 0f5f3a5a7h +dd 07cd70843h +dd 069c78b2bh +dd 06ff92fdah +dd 08fafa96ah +dd 0dc29755bh +dd 0409d637ch +dd 0a481ecd8h +dd 07a8c83c0h +dd 0d946b915h +dd 083c98367h +dd 05282650dh +dd 02b301a69h +dd 027b5b04eh +dd 02412d01bh +dd 0c57fce43h +dd 033c2b8aeh +dd 07fa91db8h +dd 005279083h +dd 0219e8c6ch +dd 094146ce6h +dd 057e14029h +dd 028d43683h +dd 08ba21251h +dd 096476df7h +dd 0b9049b77h +dd 06d3ee52eh +dd 0a457cf6fh +dd 04f4023cdh +dd 062a52f18h +dd 087597665h +dd 0520d6a90h +dd 0cfc9db8eh +dd 0ed11f0e4h +dd 0ee480d3ah +dd 0052e2bcdh +dd 0609c7e18h +dd 0eca9655ch +dd 07458341fh +dd 0e8d4c12dh +dd 03d485b4bh +dd 04a7023efh +dd 0636b14aeh +dd 01ca9f461h +dd 0f6cbaeech +dd 09149354fh +dd 0f5d02116h +dd 05c88395dh +dd 054d7a3e8h +dd 0d2502857h +dd 0bca1c454h +dd 0b5eeb39ch +dd 017416232h +dd 0b7e32e64h +dd 09c6d29d0h +dd 01d1136e5h +dd 0d7bdbf92h +dd 0630f576ch +dd 0e245138eh +dd 07a5aebd7h +dd 0f7ab3f81h +dd 0fe637ebfh +dd 03ee6259dh +dd 074100f9ah +dd 0adfb633dh +dd 02e432516h +dd 0d4620f72h +dd 0b204093bh +dd 066b70c68h +dd 04d26cc73h +dd 078adde3bh +dd 038a2b5dch +dd 04f45050ah +dd 07995f096h +dd 043f1c2e6h +dd 0228c5460h +dd 05d86003ch +dd 016fc7a0ah +dd 01143e983h +dd 085b128c8h +dd 0cafa52b6h +dd 027c92d83h +dd 02eb17f9fh +dd 0e5392070h +dd 048920d55h +dd 01bf0fde7h +dd 035743b14h +dd 0c1cf2666h +dd 035368f65h +dd 0898f4474h +dd 0e8d702bdh +dd 00ade5a82h +dd 01f5c3b80h +dd 08740b3c5h +dd 012fa03abh +dd 0c0924b60h +dd 0ee706422h +dd 0d9b613fch +dd 0536099fbh +dd 00421aa6bh +dd 063e41201h +dd 0a569cd89h +dd 0042b2060h +dd 0205f5321h +dd 00d433dbfh +dd 0a2df140eh +dd 0274864b5h +dd 056d4d3bbh +dd 0a113142dh +dd 00b72b33fh +dd 0497e605ch +dd 035f9f108h +dd 0fe1749eah +dd 05dbbb840h +dd 0039fcbe0h +dd 04b0e71c2h +dd 0244efdf6h +dd 0770c9007h +dd 037e98b67h +dd 0daada945h +dd 0db397c5fh +dd 0463838e4h +dd 0eca42fd0h +dd 0a9caa3d8h +dd 0bb228184h +dd 0bac1557fh +dd 0825e2927h +dd 0f4a357dbh +dd 016451bd1h +dd 07969a619h +dd 09e895f1eh +dd 0b9ee46f3h +dd 02adeb4bbh +dd 0620a2e71h +dd 02801e140h +dd 01b562ff8h +dd 05ff143cfh +dd 03c2ef5b3h +dd 0fe5f8fb0h +dd 051f4f6a7h +dd 05a3983a7h +dd 083b4d105h +dd 0e5eda827h +dd 076f24b00h +dd 0f18cf40fh +dd 02f67706fh +dd 09d6241feh +dd 0fb9b1a33h +dd 0020e26a6h +dd 0948bd2b4h +dd 0a6840b90h +dd 078b8b822h +dd 08fff4cedh +dd 0707f7318h +dd 09feac138h +dd 067aabda7h +dd 02e115711h +dd 0dffe0a2dh +dd 0e5a11f2eh +dd 0cf9aabe9h +dd 0232091a4h +dd 0a63b284ah +dd 0216439cdh +dd 0fc588c4ch +dd 04325cd28h +dd 08df0c79dh +dd 07631aff8h +dd 089c62102h +dd 073d736b2h +dd 0d955c86ch +dd 0dc4d5edch +dd 0ff2d0d45h +dd 03f3432c1h +dd 02361f086h +dd 03390bc5bh +dd 043f20acch +dd 0b450fe78h +dd 0c774f01ch +dd 059e6181eh +dd 021d4f525h +dd 00eec317ch +dd 0e8d561d6h +dd 0307100e2h +dd 025165ab8h +dd 0593e6288h +dd 0c6418a2eh +dd 010931c1dh +dd 06b02d457h +dd 01397527ah +dd 074241e57h +dd 0eca257c0h +dd 0296bb466h +dd 02f6a0bc2h +dd 02086507dh +dd 0c1141c9eh +dd 00fe36f39h +dd 0ce2ae55fh +dd 0a5ecf618h +dd 06e0201a7h +dd 0951d4bb2h +dd 038e90169h +dd 08201300fh +dd 0e778bf52h +dd 0b5acb69ah +dd 03d5d97d0h +dd 06d65bd01h +dd 0b04c397fh +dd 01d48b899h +dd 0f1783f85h +dd 051e5b073h +dd 0a56e1867h +dd 0c7fec5aeh +dd 0a85b400dh +dd 0bdedcab8h +dd 04c362fc7h +dd 0df282892h +dd 0789a6e68h +dd 0165235e2h +dd 0fb1cc004h +dd 0762152d7h +dd 0817a3439h +dd 0741da6a4h +dd 04f485ba1h +dd 0cd8a5231h +dd 04c3c0a66h +dd 05a0b5292h +dd 0470b7521h +dd 0bcf6fc05h +dd 0b583f11ah +dd 028bd1f34h +dd 0b5eaba8fh +dd 0d2aa71fdh +dd 08281acf1h +dd 03bb86e3dh +dd 0e0a362e2h +dd 07098243ch +dd 0da58e538h +dd 091d63299h +dd 0f94dcd5ah +dd 0ed3f73e3h +dd 0693324a0h +dd 0a0e4126bh +dd 06be9a478h +dd 041ed31a1h +dd 00dd6246fh +dd 0df14a438h +dd 09429fc43h +dd 03b3ba34bh +dd 074853e11h +dd 04048e1c7h +dd 054c809bfh +dd 0672c72a1h +dd 073007c38h +dd 05bed3b37h +dd 0cd1e8a42h +dd 089aad9c0h +dd 0ae3289feh +dd 0cfaef913h +dd 07b5ab978h +dd 0b49c4ce3h +dd 0bcbf449dh +dd 0394f55c4h +dd 0e827467ch +dd 012f51fe5h +dd 07b534849h +dd 03369aa2bh +dd 0627d547dh +dd 0aabd40f1h +dd 01d5ac531h +dd 06c67fea2h +dd 05dc44966h +dd 09287d159h +dd 0e5c53f26h +dd 06fd6d07dh +dd 0e191e0e4h +dd 04705bc2dh +dd 04e77647ah +dd 0fd5697f1h +dd 0a9fcfbf0h +dd 06beacd64h +dd 0b328ceffh +dd 095170420h +dd 0e9f251e4h +dd 022a8b4feh +dd 01623e1bch +dd 0486f5013h +dd 096cf8cfbh +dd 0cd7b80ech +dd 0330862eeh +dd 0dc22dc86h +dd 0ca09027dh +dd 0d86cd90eh +dd 0b5cf7bd8h +dd 06671de1ah +dd 0677a1005h +dd 056f9d48ah +dd 03dbdbe7ah +dd 0694059cbh +dd 01b57a0edh +dd 08e51eb32h +dd 03ac392e6h +dd 0d669d073h +dd 044c6b09ah +dd 0a40000e7h +dd 0474bfdc1h +dd 0a25d3de5h +dd 0a4e6b4b5h +dd 04ba195b9h +dd 0533a081fh +dd 0b97f8ac9h +dd 0579c008eh +dd 04aba1449h +dd 07ca49b79h +dd 0e5bb23ebh +dd 007299912h +dd 0b5e27367h +dd 0b2019b93h +dd 0f9c9a153h +dd 02e5b1325h +dd 02b7c09afh +dd 0d5d805abh +dd 0fe618894h +dd 070190e2dh +dd 0f227d624h +dd 036d190f2h +dd 04fbb7db3h +dd 0fa39330dh +dd 083dbb341h +dd 0691d968fh +dd 0ead4d9b7h +dd 0c75cad5dh +dd 0bbbd2369h +dd 06cc7f373h +dd 081f8f4e7h +dd 071ba3246h +dd 0e27a7046h +dd 06a8abf17h +dd 031fdd476h +dd 08564ee30h +dd 03608be81h +dd 024026d2bh +dd 03ac731d7h +dd 0a8d255e1h +dd 06e264019h +dd 0d8cf55d6h +dd 0dc2c823fh +dd 0f807714eh +dd 01aced7a8h +dd 0b2227fdbh +dd 0fb8ded62h +dd 050f703efh +dd 077e4fceah +dd 0dd087a16h +dd 0615ea675h +dd 09f2cf0d1h +dd 0018e2abdh +dd 0616f4876h +dd 089896032h +dd 071f5ad09h +dd 092732a14h +dd 06bdbb1fdh +dd 0668c08feh +dd 032927619h +dd 0fb5e5a6bh +dd 0138031eeh +dd 00cec969bh +dd 0ae8be391h +dd 0a1a0614ch +dd 0286d1585h +dd 0215cc8d2h +dd 0a96b71cch +dd 079b204f7h +dd 094bafc80h +dd 08682294fh +dd 0b8493d9ah +dd 0b3a9663fh +dd 042bb758fh +dd 05b23b89dh +dd 09a735c79h +dd 0668ac92bh +dd 0b45820c4h +dd 004a2e212h +dd 09441ff5bh +dd 069bf538bh +dd 046abbe28h +dd 066c0f68ah +dd 03d42c5c2h +dd 09c9d33e7h +dd 0129c65feh +dd 0c4f30d91h +dd 0d1a3c23ch +dd 0d5a2a22bh +dd 074b1cd3eh +dd 011d30c64h +dd 07a9113dch +dd 01054e46dh +dd 01b8a2319h +dd 0b611497ch +dd 04b1f0bcbh +dd 0100e5514h +dd 051db5394h +dd 05cbd466ch +dd 07436dcbeh +dd 0660219fdh +dd 00179c840h +dd 057a5b4d1h +dd 0ceead99ah +dd 0eb302952h +dd 0b721a672h +dd 0569af9d8h +dd 07583a8e3h +dd 0df321d95h +dd 0c21b8c0ch +dd 0822f1deah +dd 0d38ccc57h +dd 021022e2ah +dd 046090cdbh +dd 04c840178h +dd 07f50e80bh +dd 066addd08h +dd 011e9475dh +dd 04344e237h +dd 0371b0b86h +dd 0b9a0b209h +dd 0738daf0eh +dd 0b85d42b3h +dd 0093d2028h +dd 0a1ad02e4h +dd 065367ef1h +dd 098885a55h +dd 0a34e11c0h +dd 0abca4e47h +dd 0c2b23474h +dd 0affbc615h +dd 0cac62812h +dd 0f2fd12c2h +dd 098af6f8bh +dd 0faf7a559h +dd 042259795h +dd 08fadd2d3h +dd 0d82ddec8h +dd 039d259eah +dd 0f6274ac9h +dd 0dbb45846h +dd 06fb5feb4h +dd 0f9437b1dh +dd 037ef1bdeh +dd 0e97e1b2ch +dd 03bc02341h +dd 0c6548a95h +dd 013e71ab3h +dd 006933783h +dd 0b30b9228h +dd 00205f7d6h +dd 028d40006h +dd 0dbbc206ch +dd 066864f1fh +dd 0f0c6ca6ah +dd 0afc5dd90h +dd 042b1026ch +dd 0ce2a0c01h +dd 045eaaaa1h +dd 088d9736eh +dd 0b976e4b7h +dd 0fb7778f0h +dd 05818c0ffh +dd 0bf25b2b6h +dd 0398203c7h +dd 0a55f4e11h +dd 0e368246eh +dd 0356ed803h +dd 08a6b1343h +dd 01d62a264h +dd 06060ea1bh +dd 00a144dbfh +dd 05787039dh +dd 093def043h +dd 03f3013fbh +dd 0280b2f80h +dd 088d29042h +dd 05631471ah +dd 067471ac5h +dd 0474aafech +dd 0473bc7beh +dd 08583a32ah +dd 0eb8d1912h +dd 07b76c620h +dd 0b1628c64h +dd 0d84fe4f8h +dd 0e09670e0h +dd 0152a26b1h +dd 02c30e8bah +dd 0824d5b24h +dd 04d9afa72h +dd 094a31372h +dd 00bf728b7h +dd 00e250f2fh +dd 095e31f69h +dd 0e472bab7h +dd 03a55fff8h +dd 09b96b285h +dd 0e1e6573ch +dd 0ac20d046h +dd 03be32089h +dd 085df3c5dh +dd 02fd4ae61h +dd 05ff5f49eh +dd 07d8b2c94h +dd 0217bb379h +dd 0474cc5ech +dd 0447440f1h +dd 04237bbc7h +dd 00995b081h +dd 00fa82120h +dd 0013e5887h +dd 077898ee6h +dd 0d131dca3h +dd 0a4d1c5d8h +dd 07550fce2h +dd 0dae1b913h +dd 0cca9a121h +dd 040706588h +dd 08fdd435eh +dd 089018e2bh +dd 05dc1fe57h +dd 0107885b6h +dd 03a34ebc1h +dd 01a4694b6h +dd 0a1a692f7h +dd 05aba5178h +dd 0865a553ah +dd 07ad9cd14h +dd 0bab824c9h +dd 0a9d6e889h +dd 067a8477ah +dd 06fc0d6b6h +dd 05bbc0b4bh +dd 0ed1cf454h +dd 0962b62adh +dd 0451fb0b3h +dd 0cfd537c8h +dd 038247a55h +dd 0965bc532h +dd 02f8bb38ch +dd 0e927548dh +dd 028064a5ah +dd 084978182h +dd 08c1a4185h +dd 09059b4d6h +dd 0e5127e73h +dd 025330302h +dd 0f47fecc8h +dd 0b63e82e5h +dd 02950c2e2h +dd 07b78b354h +dd 0f43e28deh +dd 08df76e05h +dd 07bb1c738h +dd 0f2697f86h +dd 01e825569h +dd 06c92a2beh +dd 047f53618h +dd 06fc05b4ah +dd 048b54600h +dd 060bdddd4h +dd 01be3e04bh +dd 0e210e22eh +dd 0349eb39eh +dd 0b33e8688h +dd 04cb16645h +dd 0038ad051h +dd 06545ac94h +dd 0888fda7ch +dd 0324723f5h +dd 05d053981h +dd 0a025a575h +dd 0d526689eh +dd 09ac9fcd8h +dd 03108f035h +dd 051bab520h +dd 01d52e409h +dd 0f405e2b7h +dd 0f0a3b828h +dd 0c5378112h +dd 0231c2f05h +dd 0a43d7f8ch +dd 01ca1468fh +dd 072d02de1h +dd 0a6ef7a5eh +dd 048487cf1h +dd 0d1c4e02fh +dd 047d9506eh +dd 0d74e466dh +dd 027ac3096h +dd 065ad6ef8h +dd 0bdd266a9h +dd 048d758ech +dd 07b2de286h +dd 0027dd6d7h +dd 0a6ca0deeh +dd 0f77efac2h +dd 0f2d54a39h +dd 05217b186h +dd 0ad8ffebeh +dd 0ac3959fdh +dd 0ebdc33dah +dd 00960e28ch +dd 06d98b3b9h +dd 0ccf9c4ceh +dd 0ce76b5b4h +dd 0f248f6e6h +dd 082646b03h +dd 0950a2c1ah +dd 0301fed96h +dd 05c22a0cfh +dd 00db1c3dfh +dd 0e3a25304h +dd 042517147h +dd 08412c004h +dd 005b13fc2h +dd 0a1708e62h +dd 086271ae1h +dd 0de69e580h +dd 09ac04772h +dd 04ffa80a0h +dd 00e92be8bh +dd 0eac0be7bh +dd 0339e76e9h +dd 00f2adb69h +dd 030e01f64h +dd 0834d6538h +dd 095c524bfh +dd 0e95d7cabh +dd 0207556b1h +dd 084eec694h +dd 08fe006cah +dd 0793238deh +dd 0741e08bdh +dd 02dca40f0h +dd 0c93b68f4h +dd 03ed64023h +dd 076addc5ah +dd 03b78854eh +dd 03aef44ffh +dd 027a884a8h +dd 0781f3c9eh +dd 0f89a53e3h +dd 01df01752h +dd 061d1099fh +dd 007fc25cch +dd 05c01ac31h +dd 0a8816902h +dd 0ab731de7h +dd 04a817cd9h +dd 094719625h +dd 003214f02h +dd 029b389e3h +dd 0ef34e788h +dd 05cf2a0e9h +dd 02000e33ah +dd 03e39982eh +dd 0fdfc7575h +dd 089ad1caeh +dd 0d53c4147h +dd 00ff022fbh +dd 02fb87784h +dd 07704cd8ah +dd 0d1ede229h +dd 014ea4f4fh +dd 07d696362h +dd 042aabba4h +dd 0acdfd731h +dd 04fde16f1h +dd 01723a21bh +dd 036f66243h +dd 016dfa6bdh +dd 0276992a2h +dd 0e5a9e2c6h +dd 05c72d0ebh +dd 0b01e3427h +dd 06c42f0d5h +dd 0cea620cah +dd 0816c15b4h +dd 0495e8ba4h +dd 02a1bff06h +dd 06b92ded4h +dd 02c360de4h +dd 079cebc97h +dd 039027fcfh +dd 013e174dah +dd 0bba3212fh +dd 07a6a1219h +dd 0731b3d7ah +dd 072430caeh +dd 0d62fec0eh +dd 0b47c6854h +dd 0366a0523h +dd 05f29473dh +dd 0d88a73a5h +dd 03783a86dh +dd 052bcd794h +dd 01a693734h +dd 0cc3623feh +dd 054318eddh +dd 03288ea85h +dd 0fe7a8a27h +dd 0dbc56488h +dd 0334e447ch +dd 07615d399h +dd 007789747h +dd 07503676eh +dd 088ebf5c2h +dd 01e9d33d3h +dd 03ed7f139h +dd 0dcb5d500h +dd 093a3c8d2h +dd 0b1c23405h +dd 0da5f63b2h +dd 0a44c0b10h +dd 07c4eb970h +dd 08fc9e7b7h +dd 0f373da8dh +dd 0e929618ah +dd 08f6eb1cah +dd 0b46714fbh +dd 0b7ad61cbh +dd 0b9d9d7fah +dd 072165423h +dd 0fadc4f45h +dd 06fa492e3h +dd 0ab4c40a9h +dd 0b8a63e8ch +dd 00c4bf437h +dd 0cc62b3c4h +dd 05b2b95b8h +dd 00461e265h +dd 0abda49ebh +dd 0707a8007h +dd 096a411e6h +dd 0d90390eeh +dd 062a13b4ah +dd 0f245dbf2h +dd 085297f83h +dd 0a8b039ffh +dd 0896e233dh +dd 0022b8c96h +dd 0f495a43bh +dd 0a429cc45h +dd 0a20f15ech +dd 077006c22h +dd 06924a39eh +dd 0b78f1769h +dd 055bfa6c6h +dd 0a095af4ch +dd 0e0ceb441h +dd 0a21bfaedh +dd 0cf822225h +dd 0408e3c68h +dd 0309f0073h +dd 03b1ddeaah +dd 04db3f02eh +dd 0e0433d1eh +dd 0d5c653d4h +dd 07e5437c3h +dd 0fd230185h +dd 022872eaeh +dd 0a750d3edh +dd 0a512887ch +dd 065c33b72h +dd 0d05321c3h +dd 0a172ff52h +dd 022df42c1h +dd 0e4de9e30h +dd 0e1fc2bd3h +dd 043a220c8h +dd 048f3acb0h +dd 0d3fbf8c2h +dd 0734309c6h +dd 06c8528e7h +dd 029f6f414h +dd 045794e27h +dd 04520cdd8h +dd 042fb6afbh +dd 06af357a8h +dd 0a8d3f8eah +dd 03fd4531eh +dd 0e714b1e9h +dd 0266229dbh +dd 031edd6b3h +dd 005d43ee6h +dd 02860e3e6h +dd 087d6655eh +dd 06ed5a869h +dd 0196c276ah +dd 05877d73eh +dd 0b4b6e109h +dd 083d687a8h +dd 0af3c273dh +dd 02b8c09e6h +dd 0eb8b2bb3h +dd 044891fadh +dd 01294815dh +dd 09e38df5fh +dd 050a3de66h +dd 0356c4082h +dd 0de8227e4h +dd 061070864h +dd 05de716cdh +dd 06694f694h +dd 05821675eh +dd 0e349e173h +dd 0b1f62046h +dd 033e7c64dh +dd 0ae64e02ch +dd 066280d36h +dd 062687506h +dd 0004b42cch +dd 07ac92b6ch +dd 0a2b2941ch +dd 0ebbf4f03h +dd 001141479h +dd 0aa638b59h +dd 0943b03afh +dd 0c9da404bh +dd 0617349c0h +dd 0c0a2d9c0h +dd 01f1e7dd5h +dd 0636222dbh +dd 003ee5c1fh +dd 0ec184ad3h +dd 0b9ecaa43h +dd 0fb9814a9h +dd 0edba73e0h +dd 009a18362h +dd 014f2e00eh +dd 033750db8h +dd 0aa63d5feh +dd 060eeedc4h +dd 0842e18bah +dd 08702b1e3h +dd 0c6b2aeaeh +dd 097a69ebeh +dd 0fb6e8ba4h +dd 07c26e681h +dd 0d577014dh +dd 0a802630bh +dd 0d2a4d100h +dd 0a14e5061h +dd 0214b1d7eh +dd 081f07678h +dd 08d0318cch +dd 04af94a3dh +dd 03b2354cbh +dd 0f705abf2h +dd 02d56064eh +dd 018a57b6ch +dd 03a644b10h +dd 0e744537bh +dd 01c2b1bb9h +dd 0c67ff721h +dd 06c43d05ah +dd 0cff13f60h +dd 037d1b223h +dd 0050a69b2h +dd 01cae3bfch +dd 0642db672h +dd 0f2a8350eh +dd 04333f076h +dd 0b1f3ce74h +dd 0cc76ee5bh +dd 0f2620116h +dd 0a6398dech +dd 0973fa62dh +dd 09605f8a5h +dd 0168d5085h +dd 06adaf052h +dd 0fe8d727ah +dd 037bacf39h +dd 0bc866ad4h +dd 0a0491d56h +dd 0fc68932fh +dd 0b50ac1f8h +dd 0e145d53bh +dd 0c9bc0f53h +dd 0ae142471h +dd 0e2e3749ch +dd 028409bf0h +dd 05dc0fa05h +dd 09699b649h +dd 03c66c045h +dd 072f17597h +dd 046e9d941h +dd 0dcf65ea5h +dd 0108101b2h +dd 0553849c3h +dd 01a105656h +dd 09ad8d23ch +dd 031bccab7h +dd 0d9ae66f0h +dd 09f7808afh +dd 00a2db9feh +dd 068a443aah +dd 039a1b34bh +dd 068785454h +dd 07797ef38h +dd 0c954e940h +dd 06e584971h +dd 005488784h +dd 07c3ad177h +dd 003dbe75ch +dd 0a037eab3h +dd 0241ba818h +dd 017b8de4dh +dd 052f9d9c8h +dd 0fa1f5754h +dd 035fa87cbh +dd 08093a8cch +dd 03d61d7bah +dd 082aacedah +dd 05ffe6831h +dd 04b8f59c7h +dd 0b798577dh +dd 071f5351dh +dd 0d0c0c71eh +dd 062a825dfh +dd 0d14a8a3fh +dd 05033ac9ch +dd 03bb62234h +dd 052749e78h +dd 08ca86914h +dd 090d393dfh +dd 0b14d0fcdh +dd 0e66e6e91h +dd 0620eb34bh +dd 07334d912h +dd 037a4f816h +dd 062bb3f6eh +dd 08d7b55cah +dd 06f3cf31fh +dd 0ab90d2a3h +dd 091bbbd5eh +dd 03797cd25h +dd 0ac41a54ch +dd 0ae654693h +dd 04297e877h +dd 0019ee45eh +dd 0a287f1c9h +dd 09a936eaeh +dd 0e1ebcefah +dd 075b6996ah +dd 0c6f949a1h +dd 05c8ce3e4h +dd 0482e09a1h +dd 06feafc3bh +dd 0a39bbe2bh +dd 01f6a22cah +dd 033f0024ah +dd 0f069eed8h +dd 05a499ca9h +dd 0e2a4f7f6h +dd 0328c200fh +dd 0d47c9dc7h +dd 006e5f19dh +dd 0b3e910c4h +dd 02d9781e9h +dd 028580ffbh +dd 08e0988dbh +dd 0576ca8c7h +dd 0021bcaf1h +dd 0a166b470h +dd 03894d0a1h +dd 0c89f1a51h +dd 0f77e9837h +dd 08f3026d2h +dd 0f0ecba7fh +dd 061dd3e6ch +dd 0e405711ch +dd 08f9a63fch +dd 00bb27dcdh +dd 0460bbf7ah +dd 0fd5aba13h +dd 00720447bh +dd 0d1aed1ffh +dd 01edd65fah +dd 0ec0e5630h +dd 09b49ba6bh +dd 0c4888abch +dd 0ce4a62d1h +dd 0678d90f3h +dd 0829aa5a9h +dd 053c727ach +dd 02f48cfa1h +dd 0aed7e360h +dd 089654ffbh +dd 041d8f028h +dd 0d15b128bh +dd 0da8beb06h +dd 048c07cc3h +dd 0e0481b2bh +dd 0e07aabbeh +dd 00afba50dh +dd 0d2e0a928h +dd 0c19a6bbfh +dd 0a20b11bah +dd 025f66f3fh +dd 0c7b466d1h +dd 0ac1818e5h +dd 0a7c92809h +dd 002a062b1h +dd 0666fceedh +dd 0cdf1e6a9h +dd 0d478d5ech +dd 0e3cb7c38h +dd 0f477f3e2h +dd 0217d25cch +dd 0edb15e80h +dd 06bf4838ch +dd 06bfe5f35h +dd 0d2369c5fh +dd 0284ac695h +dd 05e0367e6h +dd 082329934h +dd 0757c5a38h +dd 03ad1073ch +dd 064abd498h +dd 0335d270ch +dd 011ac017bh +dd 0c70e4165h +dd 0a4aeb054h +dd 0069d2ea9h +dd 0aadd3440h +dd 0b04eb970h +dd 0ffd8bb88h +dd 01c702563h +dd 06e111704h +dd 0f41bbe4ch +dd 0000d8abeh +dd 0255f9da0h +dd 072c39cc8h +dd 088c998c7h +dd 0cc693029h +dd 08a6c13efh +dd 0df3b5139h +dd 0ffdbc2f9h +dd 0a366d3e0h +dd 0736887d7h +dd 04f0711c3h +dd 02da23025h +dd 0e87c9443h +dd 02d83907ah +dd 024e07545h +dd 0bc24f5bfh +dd 0d5e897a5h +dd 030d4d420h +dd 007c9d710h +dd 01af64d43h +dd 0a2b3948ah +dd 0d8a2cce6h +dd 02c968054h +dd 0786b1346h +dd 058edd176h +dd 07461eec5h +dd 0d650d22ch +dd 0fe02672ah +dd 041de9923h +dd 0c5923ec0h +dd 070b76219h +dd 0bdf3ea04h +dd 05af0804ch +dd 016150ac0h +dd 06f408aebh +dd 0e1874f93h +dd 0ed0ddf02h +dd 00b99d1cdh +dd 0dc5ff2a7h +dd 0fd4b2b73h +dd 021f65a65h +dd 0f90ed745h +dd 0f275b76ch +dd 0db4cb621h +dd 0477ec94eh +dd 0014c39efh +dd 0d291150ch +dd 0c75ab3ebh +dd 0b461c977h +dd 02e59688eh +dd 08ba61636h +dd 0e412247dh +dd 082aaf8d3h +dd 00c802f53h +dd 0d3788547h +dd 07f8bbbfdh +dd 0e9612773h +dd 0ca4ea899h +dd 034b23320h +dd 0061d867dh +dd 0cb228c7fh +dd 07cce5857h +dd 084a7104ch +dd 066bca745h +dd 0df5709bfh +dd 0b0b34cbdh +dd 0ef295750h +dd 057eec550h +dd 0aa482a35h +dd 0ac4f8da5h +dd 0f4bb5c28h +dd 0c3c655f8h +dd 0181545eah +dd 0a1efcabdh +dd 07b670874h +dd 044170d28h +dd 080d5606eh +dd 0732d346dh +dd 01ecd749fh +dd 09416d0d0h +dd 0b9c62f9bh +dd 0d9c66c5eh +dd 03871ea46h +dd 09732fb46h +dd 0920d38d5h +dd 0d226ea2bh +dd 0f7a8c87eh +dd 0675cb828h +dd 07ef7c269h +dd 0a266398fh +dd 08ca7406bh +dd 037f81964h +dd 097a0460eh +dd 08d7c1a2eh +dd 0e49ff5aah +dd 0fcbdbddah +dd 07f3a4fcah +dd 0a92c5128h +dd 0053f1e21h +dd 013377251h +dd 00edd8d39h +dd 073816b50h +dd 0aac92087h +dd 00ff73283h +dd 075aca6c9h +dd 0eb098815h +dd 07a303520h +dd 006e0895eh +dd 069613b1ch +dd 077c429c4h +dd 0153b5212h +dd 08bbbd4d0h +dd 040b07b7dh +dd 0401ab9d1h +dd 01410dc51h +dd 0be3b3741h +dd 088a77270h +dd 0e10a4d9fh +dd 01cd1264dh +dd 0187d4daeh +dd 02845a6d4h +dd 0174779c1h +dd 09bd509a5h +dd 0e179a9cch +dd 0d91964c8h +dd 0526e4a00h +dd 0bffeb584h +dd 0caa91319h +dd 0d888e913h +dd 015e1856ah +dd 0f2ba2eaah +dd 0b83245ech +dd 06e956b28h +dd 0bfb44bb6h +dd 046df943fh +dd 0717d1d31h +dd 0a83a045bh +dd 07c90c52eh +dd 062cf9a54h +dd 09908144ch +dd 0ef880353h +dd 09ce45a82h +dd 09662dc4ah +dd 096b55a5bh +dd 03155503dh +dd 03aad1b0eh +dd 06aa912e7h +dd 0b46e2d57h +dd 0d7e40cceh +dd 0a5b23528h +dd 0501b1bd3h +dd 02b3b58feh +dd 0e9a0d65fh +dd 0827f2199h +dd 095921e53h +dd 0b700d770h +dd 0756d7f84h +dd 0275dd6d0h +dd 060c0c356h +dd 0dd4cc3dch +dd 08b4233dbh +dd 0f7169b96h +dd 09912fde3h +dd 0f0924d9ch +dd 08d9904beh +dd 0cb37312fh +dd 017d10066h +dd 06fdefaf9h +dd 0a58ccec1h +dd 06d7bc570h +dd 00c01b478h +dd 045884426h +dd 04303a742h +dd 083c60c19h +dd 0869af1c9h +dd 0d2638424h +dd 0eaec8db9h +dd 0f7001ac7h +dd 05e59616fh +dd 080c820f9h +dd 0b603d6ceh +dd 0d36a41b4h +dd 032abbe9ah +dd 01dbf0ea7h +dd 0bf798de6h +dd 0b05000a6h +dd 000a6397ah +dd 0b0ea52e4h +dd 0bcf37ffdh +dd 0f88874e6h +dd 09d24909fh +dd 038eb4692h +dd 068794937h +dd 09e61bcefh +dd 0d5fccd1eh +dd 0e42a8982h +dd 0481793d3h +dd 0de474f33h +dd 05fe06dach +dd 04c784b57h +dd 0dbdd6d77h +dd 0541ec5dbh +dd 086034a31h +dd 0d8f9e9b2h +dd 0332d27bch +dd 0f5fb7f41h +dd 09659de8fh +dd 0f75c8bdeh +dd 0d279ed1ch +dd 06aca4e3ch +dd 01816c5efh +dd 084424695h +dd 02db7c8adh +dd 0d182f9f1h +dd 028f55878h +dd 03dd5e667h +dd 0fa740644h +dd 0b7cf0e69h +dd 0f39b7936h +dd 0da13ed84h +dd 045d020dah +dd 0f2a50e4bh +dd 0e31e420bh +dd 0357872f6h +dd 05747c16ah +dd 093c27de5h +dd 08d53f79eh +dd 08733fd84h +dd 02dc6d90ch +dd 0cee2416eh +dd 0de131a5ch +dd 07c50d200h +dd 0e11a112dh +dd 04c4222fbh +dd 0e34803a0h +dd 086da47afh +dd 079c72b1dh +dd 07927098fh +dd 0d1c32d50h +dd 0b564ddabh +dd 06fabe614h +dd 07ee67dd6h +dd 0e8ad24c6h +dd 072e3b569h +dd 0fbb1a37eh +dd 09121db17h +dd 0762eac19h +dd 0c2658eech +dd 0f2776084h +dd 033ff6c88h +dd 0049b3241h +dd 0b3243397h +dd 07bad386ah +dd 0fd0d2c74h +dd 04e1a52a9h +dd 0300ba779h +dd 013399e50h +dd 023874f3ch +dd 0d090a4f4h +dd 08102ab3bh +dd 00ea95585h +dd 0bb7c98c5h +dd 012feb2deh +dd 0088b55ebh +dd 0a11050a5h +dd 02fb0e9d2h +dd 0735ff110h +dd 0259c1d81h +dd 002e5ef69h +dd 03c70248fh +dd 0dc7910b6h +dd 0729fddbbh +dd 0114d8251h +dd 0dfc2558dh +dd 0ba2cdf2ch +dd 0725277b4h +dd 000bb7f24h +dd 078603263h +dd 0576dd511h +dd 05e00e300h +dd 0fcce2463h +dd 099636ef3h +dd 069fa7aech +dd 0feb9745fh +dd 0259f51a2h +dd 01a4c7bb6h +dd 05a88c85ch +dd 0e4836cb9h +dd 0b9ce0007h +dd 049aaea3bh +dd 0ca3f9d68h +dd 0e24f5719h +dd 00cbc85fah +dd 018978e93h +dd 0e17f3ed4h +dd 0036e54f4h +dd 00a72d4a1h +dd 0b1bbaabbh +dd 0553ca503h +dd 06ea77e05h +dd 070dd341ah +dd 09985fa4dh +dd 0890c17bdh +dd 08287292fh +dd 081682e59h +dd 0c42c97f3h +dd 04f0b0c37h +dd 05c0f96b4h +dd 04dd089d4h +dd 09a35f4bbh +dd 01576b661h +dd 055e1d3eeh +dd 0fb8ea470h +dd 0356bbde3h +dd 035732bbbh +dd 0f4ec9fd3h +dd 001a19d46h +dd 02d20858dh +dd 01ab8d17eh +dd 03652d4e8h +dd 001535c60h +dd 06fc5a736h +dd 0f760ae38h +dd 0f3144f7eh +dd 03697a1f9h +dd 0f5c7de8dh +dd 001744a9fh +dd 0f82f729ah +dd 0949bd53ah +dd 00a89bce9h +dd 0e2449d3ah +dd 0f41b46adh +dd 05b77ce21h +dd 0b567e64bh +dd 0553057a5h +dd 05383e499h +dd 0629075d1h +dd 03323f461h +dd 0c455c580h +dd 09be3377fh +dd 0d02c117eh +dd 0efe635d5h +dd 0b87f5303h +dd 0daaac81fh +dd 07b7940b8h +dd 087a485d9h +dd 0baa1465ah +dd 0ed59dd7dh +dd 07da322b5h +dd 052df61e1h +dd 07c6c778bh +dd 0e3a4c07ch +dd 0e7b3f250h +dd 0b53ba626h +dd 02d6eda75h +dd 065ff6032h +dd 08a4484f4h +dd 0493dc966h +dd 06be93053h +dd 0009ae419h +dd 0935da54ch +dd 0529f78e7h +dd 0c7f7cafeh +dd 03d0b86b6h +dd 0d44d1fbah +dd 09df35c2fh +dd 010307376h +dd 04c84695fh +dd 0b3f6c873h +dd 0596ebd57h +dd 094d1d5e2h +dd 014915f0ah +dd 068761bc9h +dd 0c1c4d290h +dd 0f08e5b0ah +dd 0898d5178h +dd 0c961194fh +dd 087833e72h +dd 09e77dd90h +dd 0458c728fh +dd 0eda3ee29h +dd 01d268b5fh +dd 088567c16h +dd 0e6690c06h +dd 09464eac6h +dd 0284ccddbh +dd 03abf6349h +dd 065ba0f01h +dd 06bfe7c26h +dd 0307af226h +dd 036e1cd27h +dd 0dd37ea8dh +dd 06961ed09h +dd 04c4ef38fh +dd 04385f6c5h +dd 06936806fh +dd 01064fa14h +dd 0525729c5h +dd 090a0b898h +dd 0dbf3abeeh +dd 08bec92fdh +dd 03a2bd813h +dd 0b04f03cfh +dd 0fd526ab8h +dd 0052f26b7h +dd 0396c265ah +dd 00ad81781h +dd 0f411de1ch +dd 074db61bch +dd 01d7f4ccdh +dd 016f7c861h +dd 07060add2h +dd 09ea6924dh +dd 0e44af103h +dd 0b1e905ebh +dd 0af835c78h +dd 001d77ee7h +dd 0e1ca6633h +dd 02e36aa02h +dd 0f0cae31bh +dd 0d481c837h +dd 0c49d019fh +dd 07a0ee6dfh +dd 0b93635b6h +dd 0ef5b3395h +dd 090b744d1h +dd 0140d8402h +dd 0c5039a12h +dd 0982c8a09h +dd 005cbeee0h +dd 0f3c987c8h +dd 0926a1eceh +dd 0d43ea2c2h +dd 01bb22438h +dd 0d1936063h +dd 038fb78b9h +dd 07d8a18b3h +dd 022faea8ah +dd 0693df2fah +dd 0c83c391ah +dd 03190a13dh +dd 09146effeh +dd 07fc5ecf6h +dd 0c0356cb2h +dd 0aebb61c6h +dd 09f56108eh +dd 0cefff3efh +dd 017864306h +dd 090fc4898h +dd 0ed512fc6h +dd 0fd3b9b6eh +dd 093906c40h +dd 07e12c051h +dd 0fa29ae9dh +dd 0c40119f0h +dd 039e9f007h +dd 04fada8e2h +dd 0e95534d8h +dd 06f6f3d72h +dd 0cba79bdbh +dd 00b45b898h +dd 0b3df380fh +dd 0e85822e1h +dd 09bcdea46h +dd 0bc42a72eh +dd 0cb7c3358h +dd 0c4156fd8h +dd 05713deb5h +dd 0a46661c8h +dd 0109b8966h +dd 067f39a80h +dd 0c199535bh +dd 037dc3475h +dd 04ce93176h +dd 07093e236h +dd 09da937d5h +dd 0f692b632h +dd 0a0ab2a3bh +dd 08607e3bfh +dd 0b8225870h +dd 093f6a1d5h +dd 055918e74h +dd 0e8f5c8e8h +dd 08fc911d6h +dd 0c93eb686h +dd 004e18cc7h +dd 0cd435ce3h +dd 0c492e30bh +dd 07b8d0ad0h +dd 084e2e641h +dd 00b80076bh +dd 073d7c650h +dd 05e0c4052h +dd 09f9183afh +dd 050ce63aeh +dd 020a31bdbh +dd 0303cd42ah +dd 091badde6h +dd 0fb983f34h +dd 0d853f1f1h +dd 083302917h +dd 0ac25b420h +dd 0d4465414h +dd 07b7c2401h +dd 08637e8b2h +dd 059f1d4ebh +dd 0cb705480h +dd 0bae19ab6h +dd 05c14f199h +dd 0698d0344h +dd 057254e53h +dd 051615dc8h +dd 0898887bah +dd 0554dacb2h +dd 0f2b98327h +dd 080f5a514h +dd 05b2b2475h +dd 00eb23466h +dd 03d49a552h +dd 020e754dbh +dd 062772068h +dd 06e57abefh +dd 0356f7b99h +dd 0258d2640h +dd 0c91983f4h +dd 0c597a248h +dd 052ebe146h +dd 05157ccabh +dd 0ea23782bh +dd 04e831b32h +dd 0d12bf164h +dd 01c89cd3ch +dd 0bc04cfa5h +dd 0c4c82a2ch +dd 0487321e4h +dd 046bd6ad1h +dd 0c49b4226h +dd 0d028ec39h +dd 0d70da96ah +dd 088c6de20h +dd 09aefe7edh +dd 0e21d6fa4h +dd 096596273h +dd 0ca92e4d9h +dd 0d230be56h +dd 01e956353h +dd 049cd36d0h +dd 0266c51a0h +dd 0c5eeee75h +dd 03f264ab5h +dd 0acf2f575h +dd 059416b2ah +dd 0803b1ea9h +dd 0690a1f8eh +dd 05597d290h +dd 07ee3a44fh +dd 04078ea42h +dd 01dd38ff8h +dd 0949b7811h +dd 0dca2504bh +dd 0b24fe07ch +dd 04b86a48ah +dd 0f8d2c922h +dd 0519fb57ch +dd 0a8a4edc0h +dd 0021c7c3ah +dd 00167a958h +dd 0395fb86ah +dd 09318d777h +dd 094bf70bch +dd 097a31971h +dd 0358c4e41h +dd 0a0823bd9h +dd 04d0c665bh +dd 0ccdf59b6h +dd 08cf784afh +dd 017f530a9h +dd 0d1c47169h +dd 013576e20h +dd 03a427437h +dd 01cbd3cffh +dd 025bbe2d6h +dd 0c19775d3h +dd 0b9bb4363h +dd 06ee8059fh +dd 05260631ch +dd 0057de56dh +dd 0f3f4ae0fh +dd 03a2a9595h +dd 0e9a44b43h +dd 0c7cba2e2h +dd 0160df026h +dd 0feb39d0eh +dd 0a86e7c66h +dd 0ce1e7706h +dd 0b02572b4h +dd 0ea970bc3h +dd 084d3e71fh +dd 0a1ce9bceh +dd 0715f7f30h +dd 0dcca022dh +dd 0c5ac2fafh +dd 02c3c0c16h +dd 0f87ef10ah +dd 07f75b077h +dd 096bc8869h +dd 035e8a941h +dd 044700094h +dd 03048be7fh +dd 020a22e1eh +dd 021a70a1dh +dd 0fe34acc5h +dd 09fa99e62h +dd 072d3baf3h +dd 0bda76f3eh +dd 0f31a1d65h +dd 09bdca90ah +dd 00cf0513ch +dd 06b70905ch +dd 0cdc86657h +dd 0f2bf8cd7h +dd 0b873f16ah +dd 01694e0c1h +dd 01c378ba9h +dd 0b0395924h +dd 0a0d4d93bh +dd 0e1de7bd6h +dd 00e1c1395h +dd 01e9d0730h +dd 0e9b6f29bh +dd 011610262h +dd 0d1ed04ech +dd 013ac9532h +dd 0a83bc39fh +dd 07f560bb2h +dd 04ca2e016h +dd 0898e182eh +dd 054017809h +dd 012de14ebh +dd 0989b9723h +dd 03471ec63h +dd 08113a5d4h +dd 0a35e8438h +dd 02fe71034h +dd 0db4cfa75h +dd 0daa353eah +dd 0a68e913dh +dd 0a3ff20d9h +dd 058b77ecch +dd 0200e7a4ch +dd 033f8051eh +dd 0a5c2f0b2h +dd 0c4850c01h +dd 0be257387h +dd 06f3bd0abh +dd 0f6000845h +dd 0c731b6b5h +dd 08482e888h +dd 0d1710ed1h +dd 0e2a6c2e8h +dd 030aa81eah +dd 049022b0ah +dd 0d3cd43c2h +dd 016abaddeh +dd 07f3462cch +dd 0b860423fh +dd 090293550h +dd 09c50dc44h +dd 097d41e6ah +dd 0e33cbe7bh +dd 01cbedaaah +dd 016a0ccd8h +dd 061dedf6ch +dd 096ef8ce0h +dd 07e5bf429h +dd 0219eb4a1h +dd 067928dc9h +dd 096a64c70h +dd 0e453c2fdh +dd 0836d9482h +dd 0e4ea6d8ah +dd 0bb7a9e3ch +dd 06c4efd9bh +dd 008529a9ch +dd 071640c64h +dd 02655e66eh +dd 0a16f9cc8h +dd 04ac9ee2ah +dd 0bb4075e9h +dd 05982197eh +dd 0b33f9ed9h +dd 0d8ff13e1h +dd 088058c0ch +dd 0b28a98ddh +dd 0e17b8b27h +dd 049c197d0h +dd 018422a0fh +dd 016f6731dh +dd 041d86f75h +dd 044ebd104h +dd 02722d00ah +dd 0e440cf0bh +dd 051a17303h +dd 0f47c0678h +dd 0d91ae3a9h +dd 01683cd6bh +dd 0bdc2de6fh +dd 062faebe1h +dd 0c4bafb5ah +dd 02dbda7f3h +dd 0b9ef8440h +dd 059191c8ch +dd 0a1ff9e3fh +dd 0fbb056b4h +dd 0d41ff576h +dd 0540f73dch +dd 03cec79f8h +dd 0fc3dc563h +dd 015b567e5h +dd 07a31c896h +dd 01ff5993bh +dd 09b3e8038h +dd 0ec03f650h +dd 0d0bc5866h +dd 0e2f37f42h +dd 0766a783ch +dd 01ce3640ah +dd 0b7b45548h +dd 000358192h +dd 00186a66fh +dd 0d2946e8bh +dd 0f39f8615h +dd 0d42505b0h +dd 0e8c569b2h +dd 0533161c0h +dd 062833dcdh +dd 0905d827bh +dd 0897d48f4h +dd 041bbd5adh +dd 09b3423d4h +dd 0e49fe961h +dd 0fce6323eh +dd 0d32fec58h +dd 03daa5b63h +dd 04e7359ach +dd 0c6933d3ch +dd 0f2e92730h +dd 030029709h +dd 0d524d160h +dd 0fc044f02h +dd 0bea95301h +dd 02a02f1b1h +dd 0817503c4h +dd 0fc324d03h +dd 0d2d2e7b9h +dd 047198496h +dd 07c59fd5ah +dd 08fa79cbah +dd 033a7f4deh +dd 069639ebbh +dd 02d1be757h +dd 09970a485h +dd 076235838h +dd 0f09a8889h +dd 043ab4ebah +dd 0a94df34dh +dd 0bdaf81e5h +dd 0b8fb3052h +dd 0beb9ce8eh +dd 0b1b31813h +dd 05e3fc97ch +dd 091f25ea6h +dd 05aee38d2h +dd 0aa97dbc6h +dd 0a14b7572h +dd 0ef5c77b2h +dd 06f217e08h +dd 042e8132ah +dd 083943a06h +dd 027d3f857h +dd 069a4e866h +dd 0654f1d91h +dd 0be116ab3h +dd 06ac61116h +dd 04261b9eah +dd 04f74d93ah +dd 06b0fdb64h +dd 0d128db2eh +dd 0cde4d84dh +dd 0dcf00bc4h +dd 0f0d8ac54h +dd 0557b22f4h +dd 0ed5904b7h +dd 05cfe752bh +dd 04b201482h +dd 08fa3d1f6h +dd 03171889ch +dd 091d31955h +dd 0c7c21e78h +dd 09111f080h +dd 08c04dbe9h +dd 0e7193f2ch +dd 00756d6b0h +dd 0d6ff28d9h +dd 09012ff58h +dd 098b781e8h +dd 07cc3f683h +dd 0e69cb01dh +dd 016bc0efbh +dd 027737166h +dd 0d49c80e7h +dd 0a5858a07h +dd 0a0928cc7h +dd 01b04edb3h +dd 0e5ea006ah +dd 05307bb38h +dd 0c9c75130h +dd 0a5129cb6h +dd 0e1cdd371h +dd 000d3ba4bh +dd 03a86dae2h +dd 0e53a0401h +dd 0cd61d866h +dd 081f4d1a0h +dd 0b18bfeeeh +dd 00e1cffffh +dd 0c5e5ae9eh +dd 0c162faefh +dd 02e5e8243h +dd 049942018h +dd 0a3a2c6b2h +dd 03aeab7b6h +dd 046dcb2cah +dd 031b69283h +dd 057dde575h +dd 089099176h +dd 065d32063h +dd 04cb58e19h +dd 0d04263bbh +dd 0a27259bah +dd 0ff60911dh +dd 060c26ee4h +dd 0946bd937h +dd 0d72a3a11h +dd 0669d99aeh +dd 073506213h +dd 0f846e0e8h +dd 00e6b04a3h +dd 0066cb4b3h +dd 028ba831fh +dd 002f31856h +dd 06300ef02h +dd 00263319eh +dd 01b443500h +dd 02c7dbe7bh +dd 059af378bh +dd 0c7e4023eh +dd 0154cf827h +dd 07f19ac48h +dd 0c7a98f50h +dd 0eb2bcdc5h +dd 083b4e03bh +dd 05055fa89h +dd 0a21cd117h +dd 0e96e7ca8h +dd 0570f981ch +dd 0180cfd97h +dd 0234619ebh +dd 05d59d7ddh +dd 0c9b0e3a8h +dd 09655cb4ah +dd 008f9fb5eh +dd 07d4b87f9h +dd 0519b6d74h +dd 041ab9825h +dd 0dc37fb9dh +dd 0f2157bfbh +dd 0bad3c90fh +dd 0a92f868fh +dd 045ed6ddfh +dd 0262da860h +dd 060cc6e03h +dd 0f0faf57eh +dd 00c67c43ah +dd 02006e288h +dd 06552c825h +dd 06082fa78h +dd 0d51119ffh +dd 09cae3c2bh +dd 043debee1h +dd 0b0aa8d0ch +dd 0bf580eebh +dd 031fd4843h +dd 0f330021ch +dd 005ca5848h +dd 007f0b569h +dd 0113beaa4h +dd 0f54fceb1h +dd 0b2d42d4eh +dd 09cbf8639h +dd 0b839c1eah +dd 0f43997a1h +dd 01c9f4eabh +dd 0bd33f06fh +dd 024d17119h +dd 0afb6204ch +dd 0ff1378a9h +dd 03b53d19dh +dd 0f85ae7a5h +dd 018f75610h +dd 09b78c1fch +dd 0670ef580h +dd 0988f9644h +dd 0c66cabbfh +dd 074126156h +dd 051667636h +dd 085d25fd4h +dd 0cafe7cd4h +dd 0bf62fd21h +dd 08fbcdc3eh +dd 0727ba953h +dd 0f90c6f2fh +dd 0c7d5fddbh +dd 08329a292h +dd 0e914c87dh +dd 0ceaa34f4h +dd 08eb22a86h +dd 03bbd1477h +dd 0094a668fh +dd 04318ec6dh +dd 0eac560bdh +dd 0d473399eh +dd 0333bf5e9h +dd 08df8f0c4h +dd 09abf8a2dh +dd 066c643dbh +dd 0c70a6b86h +dd 0f90c3499h +dd 0fc5f0ad2h +dd 0fb9f117ch +dd 01ed678ceh +dd 02def9870h +dd 037727835h +dd 03e1e5700h +dd 081e8b796h +dd 045252e69h +dd 027b2e35eh +dd 09df04125h +dd 0e1141b43h +dd 049205680h +dd 0bad3e382h +dd 05e10a58dh +dd 0fc5a93ech +dd 062048a62h +dd 016b13311h +dd 04f94f009h +dd 0792835bbh +dd 0418a0197h +dd 0444b2d99h +dd 0889da784h +dd 0bcd8c58bh +dd 04a824b6dh +dd 054800028h +dd 02d642a52h +dd 012804c26h +dd 0f0e267f4h +dd 05551ef71h +dd 0e116d85ah +dd 0ba01cdc5h +dd 0a092140eh +dd 087cb4a40h +dd 0c8edb198h +dd 0631b0ddfh +dd 0955c4dbch +dd 0877337abh +dd 0f8ffde10h +dd 085c4efc2h +dd 0db40b177h +dd 04678b19bh +dd 0979de2c1h +dd 08af8c9b4h +dd 0efc784e6h +dd 052fbd028h +dd 0e96cc70dh +dd 05ab05385h +dd 0c766e2f6h +dd 0b8cefc55h +dd 0d6e807afh +dd 01c871a2eh +dd 0e2fde3e4h +dd 01b16dd46h +dd 01027c09ch +dd 07278bed2h +dd 0551136cah +dd 05838d7e5h +dd 031c3fe29h +dd 04a83dae5h +dd 0308f015dh +dd 083a612adh +dd 091af3c72h +dd 00d7293f7h +dd 0e540b360h +dd 06aa9c28eh +dd 00fec39fah +dd 0bfa16868h +dd 0223d649fh +dd 0f2c19cach +dd 04b307de2h +dd 033235182h +dd 0d415c04fh +dd 006a29bdbh +dd 0bac71b80h +dd 00a83ddc2h +dd 0aedb3f52h +dd 003524c86h +dd 00527f4b2h +dd 0d6b6bee1h +dd 037910c87h +dd 0fd3f4c1bh +dd 0d87295c8h +dd 0f3d0d198h +dd 07b1c522eh +dd 068c49363h +dd 012f7711eh +dd 0437f0752h +dd 018436a7dh +dd 0af0007b6h +dd 076778980h +dd 007a3eb1dh +dd 08e1c77c1h +dd 077487edah +dd 05a0bc115h +dd 06ed073a4h +dd 02082e7c0h +dd 040fb031ch +dd 02155c9d2h +dd 06fb6ca1eh +dd 05d7a10bdh +dd 06cbc2d13h +dd 0ddc6b268h +dd 01c374b34h +dd 0baa46b54h +dd 0589c1de2h +dd 0117e2a36h +dd 0749e1aadh +dd 074daf92ah +dd 0310e7915h +dd 0f7e42c1bh +dd 0475091fdh +dd 0ff56e860h +dd 076a60583h +dd 046bbe6a8h +dd 0f6caf7a2h +dd 046bf35a6h +dd 0b787ea57h +dd 0b676e279h +dd 052c2d5eah +dd 056b6816eh +dd 00ad7d781h +dd 050f460e5h +dd 0e67375feh +dd 0d5af9e08h +dd 0286855deh +dd 0a54ba0a9h +dd 00a7e1347h +dd 01d41fc77h +dd 03a0d808bh +dd 0de47a7e1h +dd 0a2714529h +dd 08976d3ceh +dd 04b622fcbh +dd 02bab78beh +dd 0a4534ef3h +dd 0a476bd77h +dd 0f7d976a7h +dd 0d5d2aedah +dd 09555fb18h +dd 047200ac9h +dd 00aa171adh +dd 0ecc5b06ah +dd 0fad76557h +dd 00e733cf1h +dd 065b0a481h +dd 0dcd10cd0h +dd 0aa63faa0h +dd 0ffd8e6cbh +dd 0d9ba4081h +dd 0973032bbh +dd 0a4c196afh +dd 090b50fe7h +dd 0eeb6e7cah +dd 00a000b2bh +dd 025c38c7dh +dd 078f2ad9bh +dd 08e5709e9h +dd 0ebc56608h +dd 07a26abadh +dd 035694969h +dd 0bfb24867h +dd 06baa6549h +dd 0b1301915h +dd 025b578a7h +dd 0f2f7a278h +dd 0cc3d08a9h +dd 0d527768dh +dd 0aebb0e55h +dd 0328ce90eh +dd 05f8c114eh +dd 05caab5d9h +dd 05a39f26ah +dd 0ddd37723h +dd 0d3b28b46h +dd 0b0536e09h +dd 09708e176h +dd 081666129h +dd 080fd23dfh +dd 098973a65h +dd 06481f1a1h +dd 05d8be26ch +dd 067eb0d7fh +dd 0930de3d2h +dd 0e421b0c5h +dd 08aaec4adh +dd 09029e044h +dd 0d68dc0a0h +dd 0c4af7cd9h +dd 0922dc616h +dd 03c4bd395h +dd 0a3bdbb36h +dd 07d2af848h +dd 01b40c97bh +dd 095d63d3dh +dd 0021c1d24h +dd 0a0866d7dh +dd 0fec530dch +dd 034dee53bh +dd 02f1267a3h +dd 09d770f23h +dd 0922dd184h +dd 009640cc8h +dd 09703f68eh +dd 0486c6each +dd 058c8f201h +dd 081e2493eh +dd 03de8aaf7h +dd 08831142eh +dd 0b0245ab6h +dd 09781af7dh +dd 0bc4a634bh +dd 0f68c325bh +dd 093385ddeh +dd 07c3d8bceh +dd 0395515a2h +dd 0b79e6f40h +dd 0dc27f5d8h +dd 0fad79e0ah +dd 0a67b017dh +dd 082dd58d8h +dd 0c0688fech +dd 05d6824b9h +dd 0e9944b6dh +dd 0846cd765h +dd 00417c4d8h +dd 0dc1375a5h +dd 0f21a0bbfh +dd 02ce4cef5h +dd 0af7e51d3h +dd 0ef026169h +dd 0d45aa071h +dd 099438dech +dd 0c1bdaf79h +dd 07262223ah +dd 0c79817c8h +dd 028b08389h +dd 0f942f900h +dd 0701d6c53h +dd 0473ab676h +dd 0fb602e37h +dd 04e0edfdah +dd 0b75827b7h +dd 0e790c81ah +dd 0b4a4ec8dh +dd 0e4988f49h +dd 006710278h +dd 0d1de4b07h +dd 0c6f2254bh +dd 0117075adh +dd 0140cca4dh +dd 0db770391h +dd 0f6f28092h +dd 0d59bd55fh +dd 09c05916fh +dd 03eab2fb2h +dd 0cf6a8ac2h +dd 0cc822233h +dd 07da3bac8h +dd 0633a4f66h +dd 04c2429a4h +dd 0ecc337a1h +dd 09bafe5eah +dd 0637f1589h +dd 0343d3f99h +dd 0021f13bah +dd 0c1e138dch +dd 0911cde0ah +dd 0d36b4061h +dd 077d55b89h +dd 093404c8ch +dd 092c349a3h +dd 06b1a8206h +dd 0cb1fda2ch +dd 0a55c5c35h +dd 003fe4ad3h +dd 04a2c8344h +dd 0b4671a88h +dd 022ef5781h +dd 0b34b081ch +dd 0e4eb3bb9h +dd 077a70704h +dd 064f98fcah +dd 0fbea6f44h +dd 086bdd019h +dd 07a8ec9a1h +dd 033737974h +dd 0ed2e38f2h +dd 089fa5e99h +dd 015e84804h +dd 08082f902h +dd 051e296b3h +dd 0802ade21h +dd 00ec1bb1fh +dd 092ec6876h +dd 0548c500eh +dd 056ee989bh +dd 0eff56d90h +dd 0b5f9f9f3h +dd 055c30c52h +dd 0cc1879fbh +dd 0775c432ah +dd 019294a96h +dd 0da2c8ab3h +dd 0bac552dfh +dd 0fb9ed1ddh +dd 0251f6c5bh +dd 0713c9247h +dd 02cac0742h +dd 0744cfc9dh +dd 038a759c7h +dd 03861e3e6h +dd 06df677a4h +dd 0fe826810h +dd 0dc4ff8cbh +dd 09d34f04ch +dd 0dd7a52e1h +dd 0e19842d7h +dd 0da577138h +dd 016bf24ech +dd 00c19707dh +dd 0370eacaah +dd 00de97005h +dd 0be8208a1h +dd 0a3075440h +dd 0fbfb4036h +dd 055ff59b2h +dd 0cf975364h +dd 02f4ad4a7h +dd 08c97b54ah +dd 0dcb161b4h +dd 0f446d3d5h +dd 012da8306h +dd 00fdff7b1h +dd 0ff618217h +dd 0618c86ddh +dd 053027b11h +dd 0086ab397h +dd 05b6861e0h +dd 038e0cbd5h +dd 05a588467h +dd 0e13a98e9h +dd 05a52579ah +dd 0bcb03439h +dd 0c77a5eeeh +dd 00c4ce8a8h +dd 052782a46h +dd 05adfe94ch +dd 0cf944258h +dd 0fa6f56fah +dd 03d19f003h +dd 01fadb669h +dd 09da82306h +dd 06a73afd4h +dd 019c71d0fh +dd 0ef9fa3a1h +dd 0f7c806b5h +dd 097e91c38h +dd 0c576a7efh +dd 0204822ffh +dd 03753a5c5h +dd 0b6fad9e5h +dd 06465189bh +dd 0be757239h +dd 00f6e2664h +dd 0b55e2013h +dd 08f444120h +dd 04271dd66h +dd 00f48f426h +dd 0c2466319h +dd 098bbe089h +dd 07ddd594ch +dd 09e88d38bh +dd 098775740h +dd 0d48e0dedh +dd 0beffaf91h +dd 04b0ff5e5h +dd 05edb3271h +dd 0717dcf26h +dd 0c31bbd53h +dd 081b0b0f0h +dd 0d44279cbh +dd 02cb68176h +dd 001df5999h +dd 00fcebfd9h +dd 0e66c3148h +dd 0c2dd8673h +dd 0374f8f76h +dd 06e5f7395h +dd 0cd64778eh +dd 021659e7dh +dd 021cd05a2h +dd 08c6aa6c2h +dd 009ce2ad7h +dd 0429313b0h +dd 06d4423f0h +dd 00ad52bf6h +dd 03d683bc1h +dd 067e5f74bh +dd 056024202h +dd 07e5b9515h +dd 00b6f0e1ch +dd 05599213bh +dd 0d772a872h +dd 06f0e9b96h +dd 0c38fca4dh +dd 0f3119688h +dd 0c1a6fe12h +dd 0e8a5b02bh +dd 090c80d1bh +dd 00631cf8ah +dd 062d30465h +dd 0dc072f85h +dd 0ce6378b5h +dd 08ea2caedh +dd 05372f71ah +dd 08883bf80h +dd 0066bba21h +dd 0ed2b10a3h +dd 03ca74cf9h +dd 02a2664b7h +dd 09d372872h +dd 025255562h +dd 0555cbc2ah +dd 0fcd33547h +dd 07dd89630h +dd 00cd70c47h +dd 092f078f2h +dd 0b0f457e1h +dd 096ace281h +dd 061ed70b3h +dd 0db708d81h +dd 06de697d6h +dd 0326fa42ah +dd 090da9a4ah +dd 019c6c613h +dd 08730f34ch +dd 0623d14a6h +dd 0f83731ffh +dd 09678fe49h +dd 0a2ce63cah +dd 05e23fe9bh +dd 071ff9c15h +dd 05d51b1c3h +dd 059cadaafh +dd 0e875d0cdh +dd 0b3a836f2h +dd 046c16d67h +dd 0f61edc2ah +dd 0a4499fd4h +dd 0e73465a0h +dd 0d8c437deh +dd 03046e08ah +dd 00790604ah +dd 088191cc8h +dd 010b03d24h +dd 00d57b364h +dd 0ffb48b3ah +dd 07530ce37h +dd 06057be28h +dd 0ac2dbbe6h +dd 02d7d9eb7h +dd 0ce29d495h +dd 007e6646dh +dd 01b30a8a5h +dd 0795a451ch +dd 0056bbb79h +dd 0155dc087h +dd 068ac741fh +dd 0e2397658h +dd 0765d62a6h +dd 0b904b15dh +dd 0b7853172h +dd 02db42cach +dd 0a15566c4h +dd 0b38e55a0h +dd 0b315462ch +dd 0cd9cad41h +dd 0b4d839aah +dd 047f724c5h +dd 0ad01bf4ah +dd 008dd0ff6h +dd 0517fef5fh +dd 0e10f9b79h +dd 017c07b04h +dd 04835c1eeh +dd 0691b240bh +dd 0e5369f85h +dd 0ef0094f5h +dd 00163f90fh +dd 0d5c4e44eh +dd 017f6314eh +dd 05740b0aah +dd 03f346a72h +dd 066221ab1h +dd 06f8cbcf8h +dd 0b1c72cc0h +dd 092696edbh +dd 0127ea157h +dd 0d83486c4h +dd 086819919h +dd 0d7c22ba9h +dd 028697dbdh +dd 0546a0335h +dd 0e2188f88h +dd 0b54d7bc4h +dd 0a6a5e37bh +dd 051f22667h +dd 0b72d1d97h +dd 0634aa873h +dd 017f270f5h +dd 089b2f21eh +dd 0348bec21h +dd 073e38576h +dd 08678ba5ch +dd 0687aa8afh +dd 09756afd3h +dd 0c928b7b1h +dd 095bb9e4ah +dd 0e83d2847h +dd 0a494005fh +dd 0e5c67105h +dd 0fdf16099h +dd 091e243d5h +dd 0b3bb4f96h +dd 04f3416ffh +dd 0a3e9fd3dh +dd 0e813391eh +dd 0666b97c5h +dd 0460f52c7h +dd 0c9b509beh +dd 0b8a3754bh +dd 0f01246adh +dd 0ee0c910eh +dd 05a56cc30h +dd 0c95046ech +dd 074ff019eh +dd 072ff0ff8h +dd 0295da0a4h +dd 0dde75257h +dd 0f4f6565ch +dd 03e001001h +dd 0ba7328d5h +dd 096dbcb5fh +dd 020f48f72h +dd 0d58efbbch +dd 0e4989a40h +dd 043785084h +dd 0f0c2681fh +dd 05e9413b9h +dd 009d4fdcfh +dd 0770f1244h +dd 0122103d8h +dd 042787f32h +dd 084854a69h +dd 0be45d598h +dd 0f8801f37h +dd 0879f7f0eh +dd 0f0914674h +dd 09017f501h +dd 02dd765d2h +dd 0d76b171ah +dd 039ae7310h +dd 07c4fd4e3h +dd 0a3254140h +dd 0a91afa5dh +dd 02bafb2f6h +dd 0673e3dfch +dd 02253a38bh +dd 0d46bb17eh +dd 0c8f24354h +dd 094990defh +dd 086dd70c3h +dd 066ff3518h +dd 0b3f5e505h +dd 0881af811h +dd 0ef11971ch +dd 09fe77230h +dd 0c62f1ce0h +dd 07dbe6cbch +dd 0ebba8fb7h +dd 0befa5ec5h +dd 0749de65fh +dd 09972d8eeh +dd 0eb96b82fh +dd 09acae818h +dd 0345ee5b0h +dd 0ccb41622h +dd 02e8b62eeh +dd 0dd538b69h +dd 0cdfa93b6h +dd 0fe7c5948h +dd 0798886cfh +dd 01a642a71h +dd 0d26c11c3h +dd 054eedd7dh +dd 09ccf05d4h +dd 0a5b92d49h +dd 011a4b1bch +dd 0b86dbd3dh +dd 0cdbee15bh +dd 003f093beh +dd 00e3b682eh +dd 0163e6c05h +dd 0bea3299eh +dd 0e9707bb3h +dd 05921485fh +dd 08d0929ebh +dd 02bc019d2h +dd 0e7b2c985h +dd 0c503949ah +dd 04f897103h +dd 0955f221ah +dd 055631df9h +dd 0ed06e423h +dd 002f5c9b4h +dd 07a5c9754h +dd 0ac4b0426h +dd 0930a96b4h +dd 0dbbff17ah +dd 0755c386dh +dd 018a6e992h +dd 04e1c3047h +dd 0db7761c6h +dd 034728f45h +dd 0c6dd9617h +dd 094ae0ce4h +dd 084f853a0h +dd 083508b66h +dd 06366a133h +dd 07b09c480h +dd 040460d1ch +dd 0a98602a9h +dd 07aa8f2c4h +dd 005fb7529h +dd 04ec11143h +dd 0dae1c7a7h +dd 08d86107ch +dd 0232602c0h +dd 018c59413h +dd 07e8de92ah +dd 08af2fc67h +dd 0ac5a6d7dh +dd 0faf9307dh +dd 04bc3f942h +dd 004f8478dh +dd 061c16ceeh +dd 08220af0dh +dd 0c47c06dah +dd 0b8d73d5fh +dd 0cc338489h +dd 0482aa8b7h +dd 0f40eb0c3h +dd 0fb7a25b0h +dd 039d4d6ach +dd 0fb1e88fbh +dd 047b851e7h +dd 0a62b7316h +dd 05ff9b198h +dd 044dd88a5h +dd 07bec5aefh +dd 03653b688h +dd 09023addch +dd 03a4d6a76h +dd 065152911h +dd 0f7bcf5d0h +dd 033d03bedh +dd 02e3eeeafh +dd 0165188e0h +dd 043a83a27h +dd 0fbd94c3dh +dd 04393de23h +dd 08cd8d180h +dd 06dd3387ch +dd 006f3576dh +dd 0dbd2c24eh +dd 037868f90h +dd 06d1adb52h +dd 0fdcfed21h +dd 060787f90h +dd 01aef013ch +dd 0d127359ah +dd 09242b418h +dd 094efd9fah +dd 062e9c734h +dd 0f4e5f55fh +dd 050ea9e86h +dd 09d0ab790h +dd 0aa974399h +dd 042c16af7h +dd 0e2faec43h +dd 0aa7e7d53h +dd 0dd42760ch +dd 0da89ea98h +dd 0eac96ff8h +dd 0e68ddd9fh +dd 064efc5a8h +dd 049704e6dh +dd 078bf826bh +dd 0930ad186h +dd 0c84335c1h +dd 0de39961ah +dd 03f94ed58h +dd 0b124b236h +dd 0c6fb9909h +dd 0de8bd5b5h +dd 0cd125f4ah +dd 064e343ach +dd 0702e888ch +dd 00b516b7fh +dd 0fae14019h +dd 0571460e9h +dd 00b02df97h +dd 0b55ecc27h +dd 00dad54a3h +dd 018970f1eh +dd 02a04b58ah +dd 0ee42631dh +dd 04750edc9h +dd 0022fce96h +dd 016881f1dh +dd 081d0d171h +dd 0b6134c7eh +dd 0f8a6f2dah +dd 0250458c4h +dd 0a4bb4a3ah +dd 0290a846fh +dd 06c54d5fch +dd 081f93942h +dd 03e070ac2h +dd 0683dcfa9h +dd 0c0a0940fh +dd 0c5b18885h +dd 00783948fh +dd 0cf08a9e5h +dd 0492ba670h +dd 0001b1109h +dd 098a7ee49h +dd 00e4144eeh +dd 0d2605ee4h +dd 0bf2a01e3h +dd 06b4f0d53h +dd 0c13f0b7eh +dd 001a48250h +dd 0b9f9a1fah +dd 0693426b4h +dd 0cfde635fh +dd 05defbd89h +dd 0f0f36bc5h +dd 0d3221fd4h +dd 00e4a52bah +dd 05ec8da5dh +dd 0b53a0e3fh +dd 03e78d9feh +dd 005d2a6aeh +dd 0e567df7fh +dd 00e63e9cch +dd 0867ca677h +dd 0bc9f577eh +dd 005683c9bh +dd 06b3c8f17h +dd 068a8e529h +dd 04d32e526h +dd 06fa903cdh +dd 0f6f32fd1h +dd 0ad2c720fh +dd 0547d0ba5h +dd 097d24184h +dd 08a99ca7fh +dd 0fab8d7c1h +dd 0cdcc9456h +dd 0a1ebea93h +dd 0d4a93cf2h +dd 05f7c28cfh +dd 0914881d0h +dd 09701e8f6h +dd 004fae893h +dd 0265fcf78h +dd 0f0eaca2ah +dd 06e6ed847h +dd 06aa7112ch +dd 0a788474eh +dd 0a9f151b5h +dd 03761b398h +dd 02e72b9eah +dd 0b45bc315h +dd 0c0677b5fh +dd 08d95c3ebh +dd 096e26af1h +dd 0fae6cca7h +dd 05ad06b32h +dd 0fc113182h +dd 092e8a4aah +dd 0cacd5d75h +dd 0a146d1e8h +dd 0491c56cah +dd 0d8628ad8h +dd 09a8234a4h +dd 0b385585ch +dd 05f3d9358h +dd 0c846dfd7h +dd 01083aa28h +dd 03f9da848h +dd 08ae9cbc5h +dd 030444bd5h +dd 0796d724dh +dd 08840e8c2h +dd 0e0e4972fh +dd 0a4829681h +dd 0d36ec5d6h +dd 0b63685fdh +dd 0085dc9f7h +dd 0f70f1850h +dd 0fd25c829h +dd 07127186eh +dd 0602f7d57h +dd 07fdf6bd3h +dd 05d50c825h +dd 027837b86h +dd 095191952h +dd 03a1e22cfh +dd 09c612886h +dd 04e020a97h +dd 05776183ch +dd 0caa85605h +dd 07c37ac07h +dd 0ae6e0ec3h +dd 0d9eab281h +dd 014bc51e7h +dd 0a76c5216h +dd 005c1ef62h +dd 07f3d2273h +dd 0c7ba8ea8h +dd 0b3bebfdfh +dd 0f6924e2dh +dd 042cb35f3h +dd 07d6e8e54h +dd 0fdeb7ca3h +dd 0aa5436a0h +dd 00a8e9241h +dd 0027c1493h +dd 0fe23fbf1h +dd 03d17b4c1h +dd 0707e8b8dh +dd 0b6362ee3h +dd 07b6b5719h +dd 024fafeefh +dd 0d1fe68d4h +dd 0439dde79h +dd 001b198d9h +dd 0ed822ad1h +dd 0932ccfffh +dd 063e08f8ah +dd 01b5632eeh +dd 0dbd25dbdh +dd 0f322cdc0h +dd 0cacc7627h +dd 05666acbfh +dd 0dc8d889ch +dd 0c72be5b2h +dd 0b7a1c90dh +dd 05d67ec79h +dd 08ebdf389h +dd 0b36c99fah +dd 0b286555bh +dd 0b53f8049h +dd 025140f3dh +dd 0c5054fbbh +dd 02ce7efd7h +dd 0c63e5958h +dd 0ec57f16fh +dd 0a1b0338eh +dd 0817c523eh +dd 074b4be89h +dd 0448401d2h +dd 01ffdf808h +dd 0c8b399c3h +dd 0a4dea16dh +dd 0c8198d4dh +dd 09996f4bfh +dd 0791ddb72h +dd 0f0ba5746h +dd 0fe63f3fah +dd 01a353f43h +dd 060328c77h +dd 03c2c5f94h +dd 07cb70491h +dd 0e7299d9dh +dd 0d469dec1h +dd 0461dd55ah +dd 0461074a8h +dd 084d21a58h +dd 038383dfeh +dd 08146f3f7h +dd 05182401fh +dd 0148b5da9h +dd 087310e91h +dd 0940a4f18h +dd 05abda956h +dd 03a69c7eah +dd 021d304ech +dd 0de7d3642h +dd 02c8afed2h +dd 069b177f1h +dd 0d329e6e0h +dd 0fe78f9edh +dd 0aa9b8fabh +dd 0c1acb7ebh +dd 01db94140h +dd 0debb389dh +dd 07e84ad90h +dd 0cd07341ah +dd 0e0089668h +dd 0268e3a00h +dd 0c703afe1h +dd 05cf3725fh +dd 06ca8ec62h +dd 0822a9572h +dd 019a258e2h +dd 0d1d61f20h +dd 0078c12dah +dd 0a389ae4bh +dd 04f3c9056h +dd 0081465b2h +dd 0444b0b46h +dd 022c91faah +dd 09a8e1b99h +dd 03c05e9ddh +dd 08fb10eb5h +dd 05cf8098dh +dd 05a18f731h +dd 08da01febh +dd 026750c4dh +dd 0f26f84c8h +dd 0df50c909h +dd 01cbc4541h +dd 0a3b974b7h +dd 02b749010h +dd 0324474f4h +dd 078260e91h +dd 0ee5b252eh +dd 0077fcc6dh +dd 0dca29eb9h +dd 0b36f8c8fh +dd 0fdfd28d4h +dd 01060fcb0h +dd 07bc1ecf6h +dd 085e1d201h +dd 01c31175ch +dd 088301701h +dd 07a03399dh +dd 0219e9573h +dd 0045dfb84h +dd 0b0bdd4c3h +dd 088cf0907h +dd 0738d61d4h +dd 02caeb990h +dd 096d21c69h +dd 01e4ca2cch +dd 0fa16d188h +dd 022134749h +dd 01ad13945h +dd 0fe501146h +dd 0fd6a5d08h +dd 09673c2eah +dd 0c7306db1h +dd 005d3e9d5h +dd 03ba398deh +dd 02399873fh +dd 04e022f69h +dd 0a421d879h +dd 00b9640a1h +dd 09232c841h +dd 0f5883464h +dd 09aeab666h +dd 0e4717700h +dd 055846f9ah +dd 0ace862efh +dd 00d97a4bfh +dd 0e694be85h +dd 0f38561dfh +dd 05d6d066bh +dd 06f1376f1h +dd 0abe157b4h +dd 0dd495fd1h +dd 00c19de3fh +dd 00287d309h +dd 009a4dd67h +dd 02fb9d737h +dd 0d5993fe9h +dd 00511e24ah +dd 02dbec519h +dd 0d2e2cb6dh +dd 0b9c9ff8ah +dd 012607e22h +dd 020a8adddh +dd 08b0a74aeh +dd 0fd53bda4h +dd 05dd6fba5h +dd 0cc000693h +dd 0116a3432h +dd 0c1847403h +dd 08b820240h +dd 0a3eadce2h +dd 0fa5f3e42h +dd 001ae4013h +dd 0e860f0c5h +dd 035f18c9ah +dd 0b94bf4ceh +dd 0514bb9ffh +dd 02458233ch +dd 0f76fd2dah +dd 0c7296135h +dd 06c23c8c8h +dd 0c2332b1eh +dd 0742be16eh +dd 0c14da129h +dd 0eeefec35h +dd 061aaf836h +dd 063da4762h +dd 0afaad7b4h +dd 055f63423h +dd 069c96342h +dd 0ffed3408h +dd 04f1f58c8h +dd 0c5dff293h +dd 0dc7bd512h +dd 046e5f167h +dd 05e91ca52h +dd 052870351h +dd 09d343e48h +dd 037385ff8h +dd 0c0842279h +dd 074486052h +dd 031387299h +dd 00d20b545h +dd 002d26500h +dd 0c6c9e51dh +dd 0f08dcb60h +dd 09efe6379h +dd 089b870bah +dd 01b3b5812h +dd 0dad7d545h +dd 08eb27f71h +dd 0f7e8b8cch +dd 006632317h +dd 06a8616aah +dd 01417a15eh +dd 0c57d683ah +dd 085a3b800h +dd 0519ac24ah +dd 0bef0c265h +dd 0d8e3c5e3h +dd 06e4f1257h +dd 0bea850d0h +dd 0a1e0e8f6h +dd 0ed1efcf3h +dd 090779932h +dd 03bcb0270h +dd 01752132eh +dd 08d7160f2h +dd 0dc56716bh +dd 0431bf547h +dd 05044f427h +dd 0445857dch +dd 062145bcch +dd 046b45013h +dd 00c634a63h +dd 080441510h +dd 07ee1c81ah +dd 0435994ceh +dd 098fda767h +dd 0f89c08beh +dd 050d48296h +dd 03b7858d9h +dd 04fee7a89h +dd 07ee8309fh +dd 0af1988e1h +dd 032ae1bfah +dd 027a825ach +dd 04e2d52dfh +dd 08ac122d1h +dd 053ae472eh +dd 07d3ce1d6h +dd 066105462h +dd 001feead0h +dd 02eb28bcbh +dd 019f3cbfah +dd 09c6f189ah +dd 042ea4295h +dd 07a0299c8h +dd 0ad74e181h +dd 04b80778ch +dd 0c1fb814fh +dd 0c2f4306fh +dd 073cc787bh +dd 0d8328f25h +dd 0afd93c3dh +dd 0dc85d54eh +dd 00108e84ch +dd 0a37d346eh +dd 03c6629e0h +dd 027e005a2h +dd 05ac8e834h +dd 0689804bch +dd 02b25b3f6h +dd 0953f80fdh +dd 08235eb19h +dd 061da4828h +dd 0901e5d5eh +dd 076c6ba3fh +dd 0753f1363h +dd 00c3c6083h +dd 0bab82abch +dd 08b4e6c80h +dd 09559514fh +dd 067191be6h +dd 06fdef38dh +dd 0cdfaf807h +dd 099fc3ba5h +dd 09efa9ff3h +dd 07d77d0fbh +dd 014b8145ch +dd 02c5ce07ah +dd 06bf08e15h +dd 0fbe2de1ch +dd 00c5dd7e8h +dd 0acb3fef3h +dd 07cb5b5cah +dd 05db329c3h +dd 0fbaf104bh +dd 081f2ebf8h +dd 0b8d24d52h +dd 0be4843f5h +dd 0ab18585ah +dd 093edece1h +dd 0458ed0e8h +dd 0c3e04919h +dd 091a27506h +dd 01dcbd943h +dd 01c1b458eh +dd 07e50676dh +dd 008e1f0fdh +dd 006e147c5h +dd 070f0f97ah +dd 00b30adaeh +dd 0e9601630h +dd 0f0db89efh +dd 0359cf5fdh +dd 0b68e7bffh +dd 010a691f6h +dd 0eb4445f6h +dd 0be28000ch +dd 02e7e396dh +dd 075494c5eh +dd 013c8c6d1h +dd 0aeea206ch +dd 07ae8e370h +dd 04a475786h +dd 03b17c3f6h +dd 0151cb72ch +dd 09a341cd4h +dd 028bb1000h +dd 0088b3d45h +dd 0611b8306h +dd 0dcc27a2fh +dd 01141ed0ah +dd 00fb8518ah +dd 0faac215ah +dd 05de0a4e3h +dd 0805f0877h +dd 0bc2d99b3h +dd 0d834e9f7h +dd 043a7db2ah +dd 01354c1c6h +dd 0b2e7dd43h +dd 0962c25f5h +dd 000c748d6h +dd 039ffc1b1h +dd 05c85a16bh +dd 0d60cb487h +dd 0d95b1d62h +dd 0191d0eb8h +dd 0d62fe647h +dd 0bb1bf568h +dd 0ab9d1af2h +dd 037574181h +dd 0776001aeh +dd 0aa0da69dh +dd 0b7367260h +dd 039547115h +dd 020ef1cd0h +dd 08fb8ae9ch +dd 0f6765f03h +dd 00dd9fa23h +dd 078d00fe6h +dd 0df4ce997h +dd 06377d498h +dd 080f59868h +dd 07c71bd7eh +dd 0f967cd82h +dd 052b7899bh +dd 0d4e1be69h +dd 04a45e69eh +dd 06a876e31h +dd 061d482c2h +dd 0b6f7a67dh +dd 05677abe3h +dd 028612f23h +dd 01edc9038h +dd 0d3eb674dh +dd 04189412ah +dd 09e6684c4h +dd 0fbfdc303h +dd 05159eb85h +dd 0a13fad55h +dd 0c07cd77ah +dd 02ac834a4h +dd 0ec665485h +dd 009d0e288h +dd 0fcaccfa3h +dd 02aa2c580h +dd 0c8428840h +dd 022fd2323h +dd 07ae74383h +dd 02353eec2h +dd 0655c65e1h +dd 0497d17fah +dd 050dd9a7ah +dd 0ea10ded0h +dd 045430201h +dd 094514989h +dd 0afa91e0dh +dd 0326ac067h +dd 0a4e59576h +dd 0af048064h +dd 08ad47015h +dd 047ce2e5dh +dd 0cef42534h +dd 02587175ch +dd 0eedf41abh +dd 01479b42ah +dd 089de6ca9h +dd 0536d8fcbh +dd 0fbd70631h +dd 01b16cf5dh +dd 076389410h +dd 0f4c34434h +dd 0b5024733h +dd 021177e6ch +dd 03a8ad85bh +dd 0789a2140h +dd 08c7ac4fbh +dd 006cf7817h +dd 05398c78dh +dd 039125257h +dd 021d3f556h +dd 06e3a2c0bh +dd 040b2de52h +dd 0f65c560ch +dd 0019154bdh +dd 02f9b85fbh +dd 018b2b8f0h +dd 041b984b7h +dd 002fd5aa7h +dd 0101472ach +dd 09170bddfh +dd 01e6ae78ch +dd 0b0f3ea01h +dd 05cb9cd0ch +dd 09bf2f6b6h +dd 0921e4d24h +dd 0e62a14c9h +dd 096d7de51h +dd 00b8e7336h +dd 0e129f05ch +dd 0098434fch +dd 0ba339afbh +dd 0a320f412h +dd 0280997d1h +dd 0879b5e05h +dd 07a4ac970h +dd 031854a7ch +dd 02aa5c721h +dd 02195e2e8h +dd 067dc14d6h +dd 07491661bh +dd 0b1e84a16h +dd 020e734e6h +dd 08fbc89b4h +dd 053b1a17ch +dd 070b544a8h +dd 041db1687h +dd 01d557f33h +dd 00ca87f41h +dd 005c93e95h +dd 09c24caa8h +dd 0e51b7326h +dd 0c5d78f12h +dd 07cb5ffafh +dd 02076b57bh +dd 01bb2636dh +dd 0bc30528dh +dd 01a1ed7cbh +dd 02ab368c3h +dd 06983c928h +dd 0f78b63beh +dd 0cecbb181h +dd 0403fc412h +dd 098c50cf5h +dd 064b91b6ah +dd 0ac1faa8ah +dd 0bb2a3d6fh +dd 0b55e53a6h +dd 01a6cd425h +dd 0b55503c6h +dd 026ef62b0h +dd 0cfd6af24h +dd 0ec0a7a57h +dd 00304a495h +dd 0d2273ebah +dd 03d9b8b7fh +dd 0121b303ch +dd 08fb1658dh +dd 0a62740aeh +dd 0f94d1b57h +dd 081a54531h +dd 083dfcd1ch +dd 004893353h +dd 09b810323h +dd 0a9750fe9h +dd 0519f2f37h +dd 064badfa5h +dd 02fc52f6dh +dd 01962aebah +dd 0391e34efh +dd 0fe959c59h +dd 0d801a071h +dd 0df933c56h +dd 09a166a10h +dd 07ccbc75eh +dd 081dd5895h +dd 00fa7e597h +dd 098966bd7h +dd 0f9929c6bh +dd 0a99d3de5h +dd 027cd6c54h +dd 0611e9b4ah +dd 00ad66c77h +dd 099c5b6cah +dd 0bc9c3095h +dd 0e0fd9c71h +dd 02d734f7bh +dd 0cab2720ah +dd 0911574aeh +dd 0d131e934h +dd 0532faa94h +dd 0f6f6e3efh +dd 09d5ba132h +dd 0ba89349ah +dd 03c9127e6h +dd 0fe83027fh +dd 0a4777312h +dd 05d408affh +dd 0176d7fc0h +dd 0002788afh +dd 0b9a26084h +dd 0a26bee95h +dd 0b0693e64h +dd 02882172eh +dd 0d02d28cdh +dd 0d576ac84h +dd 0280f283dh +dd 060d68761h +dd 0efd11997h +dd 047554fd2h +dd 0fe521914h +dd 07e99f8f4h +dd 08286482fh +dd 09bfa9407h +dd 00f589b67h +dd 0c97bdd56h +dd 0aec44edah +dd 08f74c7adh +dd 096105277h +dd 00b24890eh +dd 0cf0cdc7bh +dd 05a9e0a4eh +dd 08bcffad5h +dd 08093dc84h +dd 0fe86f9d3h +dd 0a380279dh +dd 026479ebdh +dd 09b4523b7h +dd 00c3199fdh +dd 08b379466h +dd 02b41f7a7h +dd 0bd1871a2h +dd 0ccd51e22h +dd 04c8e160fh +dd 0d3a0e42dh +dd 0845f4a60h +dd 069ab51e0h +dd 0eb07e132h +dd 03c605ca4h +dd 0554b64f3h +dd 0c5bbf251h +dd 0210dd55dh +dd 04d04d5c5h +dd 0575c4af6h +dd 027cb43deh +dd 02d78dad8h +dd 00617fa4bh +dd 061131611h +dd 0fce34ba6h +dd 06d1c3e95h +dd 033a4db00h +dd 0b40e4943h +dd 0afd5df4fh +dd 04e6dad7eh +dd 01e44aa52h +dd 0423cf1f2h +dd 05538d9f7h +dd 09f8e5841h +dd 05754aca1h +dd 0e11cc1f3h +dd 0f195e77fh +dd 00f14d200h +dd 023c16b7dh +dd 017850ecah +dd 0ce232ac5h +dd 094483f5fh +dd 0469bfbc3h +dd 0a2634b07h +dd 041bb2071h +dd 0dfbf40a4h +dd 090321e22h +dd 06b8d6324h +dd 0dc164417h +dd 076e6eb95h +dd 069f03c1dh +dd 0ebea60f5h +dd 0f113db4ah +dd 0351628e0h +dd 0436fe386h +dd 0327d05e3h +dd 07bb0fe34h +dd 0c521e6fdh +dd 01725ff34h +dd 093b1f078h +dd 03f8aa39ah +dd 0fb74511ah +dd 0dff742f0h +dd 03a2edaafh +dd 00613e544h +dd 09339a0bbh +dd 0c7913de8h +dd 0a1c6fbedh +dd 0904b3cach +dd 0d9d0136ch +dd 044c3f7a0h +dd 0dd0bcf1dh +dd 085954da6h +dd 00f3e1535h +dd 0f0f1f639h +dd 086bfc28fh +dd 002d5ec80h +dd 0aa0b9a25h +dd 03b5d08e7h +dd 07aa4d355h +dd 0900c4ce3h +dd 02edd709fh +dd 0480806ddh +dd 0fe0aca7dh +dd 01c39d30dh +dd 0c591fc77h +dd 0d63c6a96h +dd 052185d7bh +dd 0b8a478c0h +dd 0a0df69eeh +dd 0fd986b29h +dd 0cb1dfad0h +dd 02600744ch +dd 097bd67d8h +dd 01d5695dbh +dd 0a2c91df3h +dd 078cd86edh +dd 03b65af27h +dd 07951eb61h +dd 02154f532h +dd 00a18a1a8h +dd 09ef5bd2ah +dd 0df1a70e7h +dd 06d83c152h +dd 08ead8aech +dd 000eec6d8h +dd 0acb4f7a2h +dd 0546f9b25h +dd 07265cc00h +dd 0e7cbd74ch +dd 021e348e5h +dd 03765487ch +dd 09553c137h +dd 0ca18317eh +dd 0b4e05ef4h +dd 0db957a22h +dd 01cb6bdadh +dd 028e15fceh +dd 0f34a7af2h +dd 0829ffca3h +dd 0bd2b4a8fh +dd 09a2305b4h +dd 01fd7810fh +dd 0c60fe14ah +dd 03e687818h +dd 014d9ec47h +dd 0d06465ech +dd 0b547d522h +dd 06334ef73h +dd 0fc76ea1bh +dd 0adb2c9e2h +dd 0ffb8da8bh +dd 079088668h +dd 028c3a65fh +dd 088800c89h +dd 01ffa34f1h +dd 0599b780eh +dd 0d7b039a1h +dd 0e43f99deh +dd 03574b90ch +dd 0b2dea62eh +dd 02e85a21dh +dd 049f6bdb7h +dd 052564a26h +dd 0d948fec8h +dd 02bfbc43eh +dd 081a8999ah +dd 0441bbd62h +dd 0f887f6c0h +dd 068c81409h +dd 0ad7c95e3h +dd 0f8127c1dh +dd 018da21a0h +dd 09450eedfh +dd 078112750h +dd 02013f4d8h +dd 0e5cb93fch +dd 0179eb3c4h +dd 033bf85c8h +dd 061eaf3c4h +dd 0f7ec65e5h +dd 0218bcb2ah +dd 06ce365bbh +dd 0f68fbd0fh +dd 028ba32f4h +dd 00d256604h +dd 0a6483b30h +dd 097f73b33h +dd 07c47bad0h +dd 0f3d69ab5h +dd 043069dc5h +dd 0a015a2d9h +dd 0ad5901a1h +dd 0cedb1a5dh +dd 01b6fd66bh +dd 02de58e0dh +dd 0eebddaech +dd 0b113d70bh +dd 0087ba1fah +dd 02f2ba495h +dd 0dff16b56h +dd 031882276h +dd 015304b6bh +dd 0f9dcda7ch +dd 024d91c1bh +dd 0fa2aeb9fh +dd 090d59377h +dd 07ed42a10h +dd 0f2b2c79fh +dd 08f21ea35h +dd 0d8c02d57h +dd 02d17c65bh +dd 0342840d4h +dd 0e88fbefbh +dd 0343ffd02h +dd 0e5c64220h +dd 081c9bde6h +dd 097158eb3h +dd 0f360d945h +dd 0108e2e28h +dd 01db44c08h +dd 0cfba9928h +dd 03dcff6a0h +dd 0668c193ch +dd 091f3907eh +dd 0f82273e8h +dd 0eeaed647h +dd 013cb787bh +dd 0c615e989h +dd 04646b712h +dd 0fa40fe66h +dd 0614be150h +dd 0de943f9bh +dd 0818eea91h +dd 054daf693h +dd 057b18802h +dd 08f137887h +dd 0f0684b5bh +dd 00da3548fh +dd 05b222e2ah +dd 07f50907fh +dd 013654809h +dd 05950409fh +dd 0fd18f0b8h +dd 0e7a5d8d6h +dd 0a80864e9h +dd 0f147f4b7h +dd 0e3f0e1afh +dd 033012987h +dd 0f9225fb4h +dd 07f571192h +dd 0b1537950h +dd 09e5aa9dah +dd 0e945e2c4h +dd 02e1d9749h +dd 04b0acdabh +dd 00d138e68h +dd 0688e0b5ch +dd 0a26c03d4h +dd 00cdb2899h +dd 04f189d69h +dd 00d4e9cc6h +dd 08ec68c96h +dd 046770640h +dd 07b7f3a8fh +dd 0caa6cf03h +dd 04b6f97eah +dd 015214707h +dd 0044180aeh +dd 006002c71h +dd 0bee4e5bch +dd 00f0abba5h +dd 0b123999fh +dd 08cbaaa02h +dd 00c697770h +dd 099207d58h +dd 09d084d13h +dd 0d1bf8be8h +dd 08795745eh +dd 02e8d8bc8h +dd 0d450dc7ch +dd 0562c9566h +dd 089acf6dah +dd 03d1f4e27h +dd 0be3e38ffh +dd 0dad323f0h +dd 094a6ccedh +dd 075c8ff2dh +dd 0a9035e5eh +dd 081ff61c5h +dd 008a5494dh +dd 0e825b9cah +dd 056252d3fh +dd 086b4b7e3h +dd 08776d340h +dd 0de94c2d4h +dd 086542360h +dd 08b1034b7h +dd 08aed728ah +dd 0cf3adeedh +dd 0ff8eb4e3h +dd 0200655abh +dd 0b7301a03h +dd 01b6e865fh +dd 0e1645b3ah +dd 0aecf1fe6h +dd 0b42164aah +dd 078bcacd1h +dd 0a3ef9e02h +dd 0fe5b790fh +dd 0ec7c96e3h +dd 0be84a587h +dd 06163430dh +dd 04692615fh +dd 08cd2580eh +dd 0cd7b3abbh +dd 0c740a4aah +dd 0e7ee4de4h +dd 03dcb5319h +dd 0f120b843h +dd 007781c7fh +dd 0ebdc9aebh +dd 04f6e68e9h +dd 00a5ad21eh +dd 0f7e75758h +dd 0ed17a387h +dd 0ba23c156h +dd 0c386576ah +dd 0894fd57fh +dd 066129fc3h +dd 0339242b9h +dd 0a527754ah +dd 0263b1f35h +dd 059ad2656h +dd 0d62552fbh +dd 04918c294h +dd 045eea63fh +dd 0efc075f9h +dd 0b90fb47fh +dd 04759601dh +dd 01df37865h +dd 0ecafc3fch +dd 052444866h +dd 07ff70618h +dd 0198420a3h +dd 002c939d3h +dd 0c62d233dh +dd 0ad7f1948h +dd 04411d6bch +dd 046d9d081h +dd 088f962a1h +dd 07d9f4d90h +dd 032a832afh +dd 0432786d3h +dd 072bbc8a7h +dd 0093b6e00h +dd 0e42ce657h +dd 0efd8a5edh +dd 0f9d4c8a5h +dd 0ddc9c931h +dd 084202174h +dd 0fe5e2ff6h +dd 058306047h +dd 025665347h +dd 03d17834eh +dd 0f0afc1b7h +dd 044ad68c4h +dd 02c1780f1h +dd 07bd7382fh +dd 0807516f4h +dd 0f9940dc9h +dd 0875d4ae2h +dd 091799ca7h +dd 03fe5caa6h +dd 0eff2a822h +dd 0dff1fb2fh +dd 0a3fe1124h +dd 0e45cb1bdh +dd 05699b5cbh +dd 01cc72051h +dd 0057eedabh +dd 0be72c3feh +dd 04d9f1968h +dd 0c04db0b6h +dd 0da33126ah +dd 0247e3865h +dd 0072f079ah +dd 0ea94193ah +dd 0f9d5c381h +dd 082fe1d48h +dd 0fd8869afh +dd 03b55ab42h +dd 0b1a49393h +dd 06b4c764ah +dd 0dc3cc491h +dd 0d413c2c7h +dd 02b2a8f13h +dd 083270112h +dd 019987757h +dd 01e50afd3h +dd 03c5e0bebh +dd 0403c8ca7h +dd 0aa719431h +dd 06e12b445h +dd 02a3cd0e7h +dd 0ea87af26h +dd 09361ab32h +dd 04cbd3864h +dd 0990da2cch +dd 00c17754bh +dd 0e76e74aah +dd 0b781f472h +dd 04921c037h +dd 0fdabd775h +dd 04e99cdc4h +dd 03ed5b118h +dd 067f79333h +dd 0c1514bbeh +dd 04b6b7d85h +dd 0d4a3dc36h +dd 09d29d2ech +dd 0e840c5edh +dd 0f61b3258h +dd 03dea3af9h +dd 0f1b34671h +dd 0ae264781h +dd 03cce00f8h +dd 0f42e0a62h +dd 0e54a7872h +dd 03a653b62h +dd 007b56a32h +dd 0b14f8028h +dd 0f31f9759h +dd 0a2262778h +dd 0abad5f08h +dd 0f59e83b0h +dd 07ff82432h +dd 00d44e487h +dd 086e2a353h +dd 0bf848d9fh +dd 0ffc6d617h +dd 0c439ffbdh +dd 0a6edfaabh +dd 07bf999f0h +dd 02cea3eeah +dd 0ddc6e1d3h +dd 0ea153ee9h +dd 0ed5a157ch +dd 0159c2d42h +dd 05586b802h +dd 07993232eh +dd 03cf8a625h +dd 0dfd63489h +dd 01bf272ffh +dd 057f8f193h +dd 0c3665b90h +dd 0bc0db62bh +dd 038fdc35fh +dd 060a8b405h +dd 00894f74eh +dd 0739f0906h +dd 02099dabbh +dd 05ea5749ch +dd 0b6268d8dh +dd 0ca738dadh +dd 093987ec4h +dd 07eadc7d1h +dd 020614592h +dd 056677503h +dd 0edd10c98h +dd 039ea3056h +dd 0c538c482h +dd 0b4b44ea0h +dd 0f2e7e4f1h +dd 0f1416d15h +dd 0195b003dh +dd 01986f132h +dd 0f4344167h +dd 0cafe2837h +dd 06bcdc64ah +dd 0fec73853h +dd 02326d2c2h +dd 01d7bcf11h +dd 039b03f78h +dd 04f782201h +dd 0574f79b9h +dd 0be44bb94h +dd 0a65a1c39h +dd 0d22000c8h +dd 048841309h +dd 0586a3197h +dd 00f9f6e94h +dd 0e5afdcc1h +dd 0916aa053h +dd 06348b15eh +dd 08e3da2e3h +dd 0adf6dd26h +dd 0286961feh +dd 06589e623h +dd 00e4df672h +dd 04ea40398h +dd 0b0dd6de5h +dd 0f6ee39ddh +dd 0535f4bafh +dd 031cf29a1h +dd 079acbc1eh +dd 0cd095276h +dd 0d543f03ch +dd 0f6307580h +dd 03f80d737h +dd 00aaa320bh +dd 04795b0dbh +dd 0a6867ce0h +dd 09afa4c5ch +dd 00ffe77f5h +dd 0e61a5707h +dd 0a49248f2h +dd 0ac944082h +dd 0062861fch +dd 0e41dfbafh +dd 021ff18b8h +dd 0d57835c9h +dd 0ac6df729h +dd 0fe696876h +dd 0a8dcf01ch +dd 0b3bd716eh +dd 09c040bf9h +dd 08e0926f3h +dd 0b463f230h +dd 08877767fh +dd 0c03d2ff6h +dd 03df9a06bh +dd 00ae1f7f9h +dd 0343cd897h +dd 05b15eacfh +dd 05d09e59eh +dd 032156454h +dd 0b3b4b626h +dd 082623e32h +dd 0ec688556h +dd 0364c0f0fh +dd 04965fb2dh +dd 072db7b02h +dd 0cfd7c49dh +dd 0f4375052h +dd 0c73ad1e2h +dd 0aab52396h +dd 0783a754fh +dd 007f12411h +dd 0e01dc0a9h +dd 04385ba62h +dd 0d375f4d5h +dd 0a066128eh +dd 05dd21287h +dd 09ba29c51h +dd 058623c4eh +dd 0d5c0849ch +dd 0ce373521h +dd 076d236b3h +dd 014cef776h +dd 0baaf3ddah +dd 0963f67a9h +dd 0d37a63b9h +dd 0a579ec18h +dd 0e6a90dfbh +dd 0a6ed1a10h +dd 0734b4fe8h +dd 0b083c28ah +dd 02a72b429h +dd 0559d5b97h +dd 054f87bach +dd 05cc7231eh +dd 00f11b163h +dd 0af043677h +dd 057101b01h +dd 0c68888f1h +dd 042da3759h +dd 012b71969h +dd 092fcca35h +dd 065a73c38h +dd 0da895dc4h +dd 0a27ca10ch +dd 098db4583h +dd 0c1c8824bh +dd 0ca3e8735h +dd 065d12e04h +dd 0b5fba31ch +dd 096027286h +dd 0dace6a61h +dd 0487b7455h +dd 0aff715a6h +dd 009449d5ch +dd 041768f65h +dd 0cfb5490eh +dd 0e0023523h +dd 0c071a9a9h +dd 0fc670d32h +dd 0bc45bf12h +dd 0c29f5f83h +dd 0075ea71dh +dd 093bb0ba3h +dd 08cca840eh +dd 08f11d846h +dd 0e12b26ech +dd 05b83a05eh +dd 055381964h +dd 0f3e57a88h +dd 0f6eb9515h +dd 0687d0be1h +dd 068781244h +dd 0a312d8c5h +dd 05ff99d43h +dd 0cdbce3e6h +dd 076ba10b8h +dd 01bf66b21h +dd 04593b7a5h +dd 0e5c916deh +dd 07e94dbbch +dd 0b1c60045h +dd 0740c261ah +dd 07e5c08f5h +dd 04fac658dh +dd 085224b34h +dd 0cdcc8799h +dd 01d754ef5h +dd 03f2211ech +dd 0de5025b3h +dd 05c79ca6fh +dd 01b20a8dfh +dd 0d85a7a49h +dd 022649ad6h +dd 0836e7987h +dd 07d7c7cfch +dd 0cc6041ffh +dd 07136f6bah +dd 031b207e7h +dd 0a492db8bh +dd 028167590h +dd 0bc789056h +dd 01e2992d7h +dd 028c7fef3h +dd 0af3e46d3h +dd 0bab63c09h +dd 0817709ffh +dd 0599effeah +dd 0810acaaeh +dd 0e70ffb31h +dd 05b608ddbh +dd 0b0b6c8e7h +dd 0f8648441h +dd 023cad6fbh +dd 03798fe35h +dd 049368d24h +dd 020cf1496h +dd 0748d8c77h +dd 0097714f8h +dd 0f4566681h +dd 0387d025ch +dd 0f8e76c9dh +dd 0c6df6cdch +dd 0a688e853h +dd 002b10febh +dd 05d43df63h +dd 033cdbccah +dd 089948eabh +dd 0cd312292h +dd 0555b2769h +dd 0e4f7229ah +dd 0b476b8dah +dd 021bc7bdah +dd 08b755b87h +dd 09ea1b3ceh +dd 095823d5fh +dd 08cec1830h +dd 01e1513ebh +dd 022f9c530h +dd 0a709ef34h +dd 0f30b03b2h +dd 0c833357fh +dd 0e3bbfd76h +dd 01fe67e42h +dd 05476961eh +dd 04b15091dh +dd 0158e4a7eh +dd 059c589b2h +dd 096a43a2dh +dd 01e28257fh +dd 0350806b3h +dd 0fb2664cbh +dd 0678e4372h +dd 0b070007dh +dd 080f51c58h +dd 0adc76766h +dd 0e6f89ccch +dd 08b71fc84h +dd 0f7bec2efh +dd 08f7444cah +dd 00233b0cdh +dd 02ec8e640h +dd 0bd19cbe4h +dd 0bc552937h +dd 0346ed380h +dd 095d0de3fh +dd 0ace32a1bh +dd 0432fb1cch +dd 0df47b3d9h +dd 056056a17h +dd 0108e0d46h +dd 0696bf8b6h +dd 0c71ac4c2h +dd 097d438bah +dd 0908693bbh +dd 01bee9c42h +dd 0a82c7952h +dd 0592fe809h +dd 020d2f134h +dd 0121a872ch +dd 0069c2260h +dd 00ee47d02h +dd 06508af9ch +dd 069196f7bh +dd 069b739c4h +dd 0cf9db322h +dd 0e86635b6h +dd 00edd3eb5h +dd 0511f3fd3h +dd 0dd3f0827h +dd 07a495de2h +dd 0409fef2eh +dd 0130062c1h +dd 00ccff453h +dd 0371f7ffah +dd 0ce19624fh +dd 0349a1fd3h +dd 0c9c9bc24h +dd 013c241e9h +dd 0b1959b9fh +dd 0b8d6c1e0h +dd 0b84b1b27h +dd 0a9e606cdh +dd 043052693h +dd 043e216abh +dd 0f0a093a4h +dd 01dedc4c6h +dd 0f78cd926h +dd 002b327b8h +dd 03bbf3966h +dd 00a3d2e06h +dd 0316253ach +dd 0f37d2136h +dd 0443bbac0h +dd 06ee8bfe5h +dd 0c41ae562h +dd 0e589f0e9h +dd 0abeeb7bdh +dd 069d99ea5h +dd 027cf54c7h +dd 0b5ad1531h +dd 081322fbch +dd 0ae5a25ebh +dd 0b23b8200h +dd 077d83c60h +dd 007e1655bh +dd 056974852h +dd 09c3163beh +dd 07c488505h +dd 010ca57afh +dd 05ead6d85h +dd 05ab6907ch +dd 02b189f8ch +dd 07f6295d9h +dd 0344e24bfh +dd 0a1ab438eh +dd 0c90f9092h +dd 02856f166h +dd 0c37b60beh +dd 0de3da298h +dd 06131a357h +dd 05f97e5bah +dd 002fa716ah +dd 0f6a89b71h +dd 060dc76aeh +dd 089899d72h +dd 076bc64c8h +dd 010bd7e1ah +dd 084330547h +dd 05c8dc981h +dd 0fd192a27h +dd 03ddb1d67h +dd 0fd6dbffbh +dd 08adaf5ceh +dd 0ba9b650eh +dd 0adf40f41h +dd 04a21e63fh +dd 01497c6bah +dd 017597a33h +dd 01b89709ch +dd 08413dffbh +dd 02db601b2h +dd 08b612a54h +dd 06923fa54h +dd 0cdffc1c7h +dd 0d3406b78h +dd 0ef63258dh +dd 04a457c6ah +dd 028a6e1ffh +dd 0d3471aefh +dd 0484bda9dh +dd 0e7b66bf2h +dd 07a2aee21h +dd 0a40ef927h +dd 0b793c9fdh +dd 029de95ddh +dd 022c59ff2h +dd 086ea26afh +dd 071283d9dh +dd 0fc44eaafh +dd 0d5fbf844h +dd 0ccbf364ch +dd 0d06cef1ch +dd 0e761401ch +dd 06aca73e8h +dd 06e27a2d3h +dd 03e786d55h +dd 0d9830fcah +dd 0f8076285h +dd 09e76e51fh +dd 0bca783bdh +dd 0f12c05b3h +dd 084a71194h +dd 01e40085dh +dd 0a47be2b3h +dd 0cb91298ch +dd 058e6cc4ch +dd 09d87b9bah +dd 0cd3c65ceh +dd 0a7a3b464h +dd 0f6244b1ch +dd 0adfae6f8h +dd 0c3a6f474h +dd 055fc6167h +dd 02fd38781h +dd 08ef6c581h +dd 0ee886039h +dd 09dbe2fafh +dd 04d2c7d97h +dd 07cb1b678h +dd 05b03443fh +dd 00f3e9ecch +dd 04209b591h +dd 07dde3ee4h +dd 03c42d705h +dd 0bd4dec93h +dd 0382392d0h +dd 0bd693ca4h +dd 0ea33df0ch +dd 010aeb945h +dd 0b6080d0ah +dd 0776b0b89h +dd 074262affh +dd 06e0d0b86h +dd 093422b3fh +dd 05e3cdd32h +dd 0481c3422h +dd 093f8d2dbh +dd 00c08ea2ch +dd 0112590ffh +dd 0f052cba2h +dd 073928146h +dd 0568c4a70h +dd 04b5d2277h +dd 0f9420ad9h +dd 09bd67078h +dd 0d1c04f63h +dd 0bca277f9h +dd 035f2e875h +dd 0a2366731h +dd 04d57f317h +dd 07e655b6eh +dd 0d1d7f012h +dd 0024b5933h +dd 06867a018h +dd 0620ef58fh +dd 02d6371c6h +dd 0a0255dcch +dd 087f7f1deh +dd 0395e5875h +dd 0cd5248f1h +dd 0ee501a39h +dd 06d1f7566h +dd 0646e878eh +dd 007cf862eh +dd 05e1efe1dh +dd 0379d6091h +dd 07d8ff2cah +dd 0f3ae366fh +dd 0631497c9h +dd 0ebd79daah +dd 0cb864f18h +dd 0030e4d6ah +dd 0548aff13h +dd 063fee549h +dd 0ee5ea130h +dd 0725a4429h +dd 0c596b847h +dd 0f1bb9d7ah +dd 076ce9647h +dd 024a67fe4h +dd 05d1bda33h +dd 059350bc7h +dd 0d45fcf8ah +dd 0592faeeah +dd 000f9b0cch +dd 02ca0daach +dd 0a1c0be94h +dd 0a0b51353h +dd 0061e4e59h +dd 096f6aff7h +dd 05814e8a9h +dd 00438c803h +dd 0efb022ffh +dd 0c6cbf925h +dd 06737d168h +dd 0c8d21ca3h +dd 0f55b0ba7h +dd 0ffef7704h +dd 07230af93h +dd 0840683feh +dd 07d90a5e8h +dd 095381447h +dd 08da217c6h +dd 0770c50b8h +dd 01b7700f9h +dd 02bdf34bdh +dd 00209a59bh +dd 0bbe1900dh +dd 0f10bc30bh +dd 0ea2b3c9ah +dd 0b5ef37fbh +dd 0e9f45478h +dd 0b0450de4h +dd 0adbbb8cdh +dd 0a0cc9ca0h +dd 02a2dc150h +dd 0d2fe4919h +dd 0a1952893h +dd 05c22bf39h +dd 049673853h +dd 00654c44ch +dd 0d553d58ch +dd 0ffac6a53h +dd 0e1751354h +dd 02c30a7c8h +dd 061873dbfh +dd 0019611d8h +dd 0671b6893h +dd 0b308f989h +dd 0dac88c57h +dd 077262b27h +dd 0fa0f030eh +dd 03e22dc58h +dd 0713ffa1bh +dd 03bba3c2dh +dd 034c49ec4h +dd 09db4bb77h +dd 06cf610d5h +dd 0ae42100eh +dd 0e3900a70h +dd 05c5d9a8eh +dd 0f8a4e419h +dd 0afab388dh +dd 015fdca6eh +dd 016001711h +dd 00ece551fh +dd 01cf3a318h +dd 0dd8aec65h +dd 0f66eb211h +dd 0774642d8h +dd 01cc81e49h +dd 092c0991ah +dd 0eac4bdeah +dd 0b17416feh +dd 0a977a791h +dd 00e60a738h +dd 0816e558ch +dd 0cedea1dch +dd 0935557a8h +dd 0253594d7h +dd 04480ba52h +dd 080825c4eh +dd 0104a52ech +dd 0334999b5h +dd 094b08009h +dd 0e2fb0482h +dd 03d31c1e2h +dd 0ff36a3ffh +dd 0792778f7h +dd 01f49d7feh +dd 063741235h +dd 0bdb856e5h +dd 046e5ebd2h +dd 0587a3c10h +dd 09ff05b8ah +dd 0b4ef0976h +dd 0d360aca7h +dd 0e8ac581fh +dd 0238566d6h +dd 0c1603199h +dd 08e6f5c94h +dd 038eaebb2h +dd 0f3d8154dh +dd 04403ec26h +dd 0ddc9ef92h +dd 0025bddd4h +dd 0fd82e6f0h +dd 0e79be29dh +dd 03d5d335bh +dd 02f998138h +dd 0b29bcc79h +dd 084f40382h +dd 02b83721fh +dd 0668f9a8dh +dd 0a7595a63h +dd 077072e5ah +dd 0bc251115h +dd 0e966e146h +dd 0300cdc68h +dd 0b8d99e10h +dd 09bd3530bh +dd 074781158h +dd 04fdc8800h +dd 0872af0b7h +dd 0b7895adah +dd 0e06bcbefh +dd 08e1dd4d6h +dd 02f358526h +dd 0f2c6fb64h +dd 02a9171b3h +dd 0ff8044cbh +dd 02d8af4f3h +dd 0dd889175h +dd 0abad4b3fh +dd 0c9c25f5fh +dd 0d2b0e082h +dd 0a523b1d0h +dd 017ab7750h +dd 0ac930b5fh +dd 0cb550444h +dd 066e09c34h +dd 023e84d28h +dd 02f8a452dh +dd 06acfe1feh +dd 0ff2212e5h +dd 0f8198c9dh +dd 07671453fh +dd 0b2b1d268h +dd 08af4f07ch +dd 0c0718c93h +dd 04c16d75fh +dd 0f8eed6a5h +dd 0202fcb75h +dd 0b31ed307h +dd 05b899476h +dd 0770998cbh +dd 05712d213h +dd 02e535051h +dd 0814804efh +dd 0fae22fb7h +dd 0d8e002e9h +dd 0b08e9624h +dd 09ba83a46h +dd 0a5263600h +dd 0fb8e9a7fh +dd 02bafe55fh +dd 07e2a0ad0h +dd 04319c22eh +dd 073fd6c87h +dd 0d34e7ff6h +dd 00286f4a5h +dd 0c3d5cfc3h +dd 0a0c63f19h +dd 0b2240d8ah +dd 0ee1333e7h +dd 001aace97h +dd 0d4d7e053h +dd 05d2a8ecdh +dd 0ebcb05b7h +dd 06d95825fh +dd 0cb652e9ah +dd 059ac8d28h +dd 020dd2b6ch +dd 05b899217h +dd 01445b235h +dd 0c06e62b3h +dd 0cef80975h +dd 047767f2dh +dd 0cc439aech +dd 0a3916eb9h +dd 0141bf2edh +dd 05a0909dah +dd 0599158d8h +dd 045246955h +dd 051e3451dh +dd 09d5bf788h +dd 0dbaf9330h +dd 0d6b5c2dfh +dd 03fc0aa11h +dd 07bb4abf4h +dd 03f117eeah +dd 0f4493a70h +dd 0b5970d8fh +dd 033b79185h +dd 0d5e28152h +dd 036697246h +dd 0d6d6aef1h +dd 0c46118e3h +dd 0a8364beeh +dd 025674501h +dd 0a71dc6e3h +dd 084b8f530h +dd 03714509dh +dd 0a2df8871h +dd 02a6a22dah +dd 00e25490ah +dd 079d19253h +dd 040ca45d9h +dd 0ac36a40fh +dd 01940547ah +dd 01ce8aefdh +dd 01743949ch +dd 05c9d2db8h +dd 092f98b20h +dd 0d79b4fabh +dd 054e853d3h +dd 0fb711febh +dd 03fce1b72h +dd 038919ad5h +dd 0bde4de66h +dd 0553487e1h +dd 07812ebc6h +dd 09c401323h +dd 08ed4bf39h +dd 05dfe027dh +dd 044a0b4adh +dd 0c85c15eah +dd 094795dbch +dd 02b3c25cch +dd 05a3fe174h +dd 067e6a379h +dd 0325806cfh +dd 0a7da2871h +dd 02dd478cah +dd 0062a8446h +dd 00ff2097eh +dd 032632949h +dd 099353e64h +dd 093cea477h +dd 0ed4b120dh +dd 070e9f509h +dd 07a661181h +dd 06868a00eh +dd 04cc6aaceh +dd 0de2b0ae7h +dd 0313bd35fh +dd 04f094008h +dd 009b1f783h +dd 06236a1c5h +dd 00f8646feh +dd 07b6e31dch +dd 06bdaded4h +dd 01c3d3889h +dd 04eea1a07h +dd 07540c3b6h +dd 0a1231e9bh +dd 0a4b5a26eh +dd 0142cbed2h +dd 0b3ea1b3dh +dd 0ffd61df4h +dd 07c3038deh +dd 0c2eeca34h +dd 01f1dadd8h +dd 029c3213eh +dd 06f94bf8eh +dd 0745d329eh +dd 01ffd4f0bh +dd 0688405b6h +dd 05088c4d5h +dd 00edd43ebh +dd 043cf1554h +dd 025e97e77h +dd 0b5a4e3feh +dd 02eff0bb2h +dd 0bdaa782fh +dd 004fb88b1h +dd 0f2eb7288h +dd 069f9970fh +dd 090ade639h +dd 0f687c23dh +dd 0b94f0ab5h +dd 09af414ech +dd 0956e2a1dh +dd 0ef86c53ah +dd 05dbdc543h +dd 0b0166429h +dd 0446dad43h +dd 0ff67ca61h +dd 0acdea5bah +dd 02dc087f1h +dd 0268c0ba7h +dd 0a214eaeah +dd 095af5290h +dd 02e66055ah +dd 05013db57h +dd 08f40528eh +dd 0538a738ah +dd 0223f944ah +dd 0cba9a70fh +dd 06a6ad339h +dd 0a2f2d973h +dd 0186c2201h +dd 045da68b2h +dd 03114d086h +dd 0f7864e1bh +dd 00723d867h +dd 0e0245785h +dd 03b68e507h +dd 009fca12bh +dd 0ae882801h +dd 0e0d6b455h +dd 0e809b342h +dd 0d64f9f08h +dd 072bb9e27h +dd 076dd13b3h +dd 04a7e733fh +dd 037e4f4feh +dd 0d6153ad8h +dd 068914d61h +dd 04b988bc0h +dd 04c131d84h +dd 08b7362f4h +dd 0446aa464h +dd 0c84a13eah +dd 0f4e76809h +dd 0f917a7dch +dd 008e672bch +dd 071c2c49bh +dd 01841ea8eh +dd 015ceee1dh +dd 0d07a5ea2h +dd 076dccf76h +dd 0d4c0012eh +dd 0c8cb9546h +dd 050892ff3h +dd 0f5fcf16dh +dd 0e33b6208h +dd 0d8b8fde3h +dd 084b0d484h +dd 0a60d2ff1h +dd 0053f25aeh +dd 04a42f4b6h +dd 0557be87fh +dd 05dac02bah +dd 0b7b73f1ch +dd 0da502d40h +dd 0ed381b02h +dd 03f22b7f6h +dd 08ef5d519h +dd 06d9df8e4h +dd 0df6bced5h +dd 00ce7bc05h +dd 0b15b4ce5h +dd 01ba45890h +dd 0f4bcf93ah +dd 054bb5153h +dd 01d13e458h +dd 03db7ffc1h +dd 0f25a1d0ah +dd 04438e287h +dd 042b37e42h +dd 0685b25f4h +dd 01915c46ah +dd 0dd4dfdd1h +dd 040e77400h +dd 055ddc678h +dd 070b59f6dh +dd 0be73bb8dh +dd 0be0274ebh +dd 0bbe0c35dh +dd 052920ce1h +dd 08fda782dh +dd 0eb558abfh +dd 081dc1595h +dd 0f972fbfbh +dd 08f5b86ddh +dd 0c25be2b8h +dd 06e90138eh +dd 06aab6268h +dd 07f46d7c2h +dd 00f025a1eh +dd 023f7661ch +dd 06e903fcdh +dd 0df83dce5h +dd 02e5e62c5h +dd 08b84f709h +dd 07f1b7080h +dd 091218e35h +dd 044886a3ah +dd 07212ae51h +dd 0793f64bdh +dd 0556aa9d3h +dd 05888456fh +dd 047023a3dh +dd 0caaf9fech +dd 087ccdf5eh +dd 04fdd4ce4h +dd 038626bd6h +dd 0a3e4e15ch +dd 07660999ah +dd 06fddc2fdh +dd 0e3e5e05fh +dd 0fe514513h +dd 0f5d927b5h +dd 0e6117740h +dd 042f2d530h +dd 01d93f622h +dd 022fb9ba9h +dd 0b6e94844h +dd 037abb560h +dd 0a9b047a7h +dd 0ab68f298h +dd 027224e33h +dd 0b2d4f495h +dd 0f41ae3beh +dd 00d797e39h +dd 02f487fdah +dd 08b6a351eh +dd 02d07e292h +dd 0b35334e5h +dd 0ad0cd9adh +dd 0c488c934h +dd 043645235h +dd 0b5c56681h +dd 0b242cf02h +dd 0134d2951h +dd 09a03736ah +dd 0768a7112h +dd 0d5a90df2h +dd 039f7cba8h +dd 085121785h +dd 0aa95ed8ah +dd 08c96e73bh +dd 0d35c7a9bh +dd 056b72c97h +dd 0dd844e23h +dd 0e69b47a8h +dd 0e05e2e16h +dd 0acbde126h +dd 02c3e5ab1h +dd 07ad84ca3h +dd 0676c5e58h +dd 0b976ac91h +dd 0c094c880h +dd 01e5eb491h +dd 042a5bfe9h +dd 056cad278h +dd 0b6769705h +dd 0248da372h +dd 090dd705eh +dd 0b64af9c1h +dd 0a902a7d4h +dd 03d64528eh +dd 08a56c798h +dd 066175d4fh +dd 005af67a2h +dd 020cb3a2fh +dd 087ea3ce4h +dd 0edf4cb5eh +dd 0fdc1c6ach +dd 0287616a1h +dd 055bdb10dh +dd 0ff7eda7dh +dd 08b0a8f07h +dd 0ca59e9a8h +dd 03186f0fah +dd 0655577dah +dd 010bf1c97h +dd 0245221d0h +dd 0ee4d0e58h +dd 014543fc3h +dd 0bf0735c6h +dd 0b2b1ab43h +dd 092c6e3aeh +dd 072203ca1h +dd 017c3469ah +dd 0bd2152abh +dd 09e6225f5h +dd 0177c4703h +dd 0e3b8bc8ch +dd 00001b040h +dd 01c513461h +dd 048192d74h +dd 0989db8bbh +dd 0dbe36f22h +dd 0b497f1b3h +dd 0408fa49dh +dd 060879736h +dd 0ce8672e9h +dd 0a39b9322h +dd 0c62dd83bh +dd 0715d5950h +dd 0c041afcbh +dd 0c6a84a17h +dd 029766580h +dd 0c7ea9aa3h +dd 0d356a0dch +dd 0738eb1ddh +dd 047684165h +dd 07fdbd4fbh +dd 07c367148h +dd 02daa0eaah +dd 034e92825h +dd 0c2cd871dh +dd 0586ea042h +dd 066f7e74dh +dd 0132674d3h +dd 03630a44ch +dd 0ee36b078h +dd 0405c8e2fh +dd 035be629bh +dd 021bbf262h +dd 0b6ee11fdh +dd 068921f9fh +dd 0bfc795d6h +dd 02e8a056fh +dd 0403ad4c0h +dd 0ead608e1h +dd 087e4a673h +dd 0ac492053h +dd 050aeed38h +dd 061fde681h +dd 06c9c6319h +dd 046f39558h +dd 0f3596850h +dd 00bbab9fbh +dd 01adbca5ch +dd 04c7e0589h +dd 06984db44h +dd 0a5ad50d7h +dd 037640ad1h +dd 060a47f65h +dd 0dfc2639ch +dd 006ed44cbh +dd 082e16e4fh +dd 091f67b8bh +dd 00f4cea97h +dd 0c87e74b2h +dd 020ed6f3eh +dd 0647044aah +dd 09913b30dh +dd 0c1d161a3h +dd 0b683812eh +dd 057a4a81ah +dd 04a9ab423h +dd 098de525dh +dd 09be76282h +dd 0e90c3d91h +dd 04e0cd340h +dd 095cc49fah +dd 0d3179021h +dd 001134f56h +dd 0f34588adh +dd 0b9f22caeh +dd 05db98042h +dd 0b7323764h +dd 0aa82bb38h +dd 047da452ch +dd 032665ba5h +dd 063b513bfh +dd 037bb3be8h +dd 078ef84ffh +dd 0b306cf21h +dd 0a6d219c6h +dd 03ba87338h +dd 0a930278ch +dd 0758a4b51h +dd 0f86acf4fh +dd 0d2b1ef5dh +dd 0e2220642h +dd 0ec97c65ch +dd 0c455af48h +dd 05fb6c4bfh +dd 0c89cce60h +dd 0573b2404h +dd 033ed084eh +dd 0360700b4h +dd 0919b65b9h +dd 0ff63dc84h +dd 0bc04b6f0h +dd 014a0447fh +dd 0d613ae79h +dd 0a9303b6ch +dd 0d9b34abdh +dd 0a7c6f9a7h +dd 07069ab44h +dd 085bf02f7h +dd 094caee1fh +dd 07912bcd5h +dd 01ac50740h +dd 02c9c9e9eh +dd 058b49b46h +dd 06e18a83fh +dd 02b719deah +dd 0ff706562h +dd 0439b3c46h +dd 03f14ed5ch +dd 0b5e6cc07h +dd 02e96b234h +dd 03e640530h +dd 0a04f5b95h +dd 0070f4732h +dd 0e1024293h +dd 009fcfc0dh +dd 0d203250ch +dd 094fcc633h +dd 054de921ah +dd 0722caa0bh +dd 073187a79h +dd 0a229fd34h +dd 0d972b327h +dd 004c539cfh +dd 012a66e42h +dd 0e7ade44fh +dd 0881e1c77h +dd 07c4d0e07h +dd 074037e54h +dd 001ebec3bh +dd 060a16854h +dd 0a7ad80bdh +dd 0255e9043h +dd 0f706b2bdh +dd 078c70225h +dd 0dade2bddh +dd 09b564462h +dd 0940ba63bh +dd 0532db489h +dd 0fcb1736fh +dd 0b29d4e44h +dd 0bc9f008dh +dd 00e5c7fabh +dd 0c121b4f0h +dd 099b3b9e7h +dd 059bc3dfeh +dd 0a5de4841h +dd 0dcbb4fa6h +dd 0e1a2269ch +dd 091f987a6h +dd 0920de306h +dd 0979307b9h +dd 0d933f2f1h +dd 0d92a766dh +dd 0a5ef49e0h +dd 02b68cc1ah +dd 0e633aa79h +dd 0bed7950eh +dd 05c7716b7h +dd 0963dbfc3h +dd 0579057b4h +dd 0fe2675edh +dd 021590eadh +dd 0c5a9fa20h +dd 0e36fdd49h +dd 0bf578327h +dd 060faa420h +dd 09b55755bh +dd 0663d76eeh +dd 0b50f23c0h +dd 0d23166a9h +dd 06101f078h +dd 0a9ce92f2h +dd 0cc2601a1h +dd 03aed4bd9h +dd 060b86728h +dd 05ee24298h +dd 0a2c82e5fh +dd 028e3019ch +dd 0aa8a2e72h +dd 012e595a2h +dd 0fe4188d0h +dd 020e62376h +dd 092ea690bh +dd 06b808e48h +dd 0147f06dbh +dd 0bf39f35ah +dd 06db78c62h +dd 0380c1002h +dd 0c718d150h +dd 0534a0981h +dd 08204420ah +dd 04d46e818h +dd 000f180afh +dd 08a4a1ec5h +dd 077be5900h +dd 0bb5cce14h +dd 0330fc1fah +dd 0bcdfa985h +dd 0bed2e659h +dd 0165c6cf0h +dd 0ec9d01cbh +dd 05cc557aeh +dd 0bdf2f859h +dd 08744c27ah +dd 03fb9c72fh +dd 00cae586ah +dd 0e521e3b0h +dd 05cb78dc8h +dd 09f1ca36eh +dd 0206f4440h +dd 0c4208fd2h +dd 095e5de95h +dd 04cbeab18h +dd 0bdcad68ch +dd 008564423h +dd 04ae2f57dh +dd 0e3dd2451h +dd 0d4444590h +dd 0e19ca873h +dd 0ff8dfbd6h +dd 062fd1ac4h +dd 012d71075h +dd 0c58fdf33h +dd 02b41f707h +dd 050de602ah +dd 0a651a744h +dd 08831022fh +dd 05271ad66h +dd 02017a4d3h +dd 0de1dffa4h +dd 0d3f90dfch +dd 0de099af6h +dd 058ee3b43h +dd 07c6bf4feh +dd 07b88077ch +dd 094175eeah +dd 02b425b47h +dd 04a948752h +dd 0b77cf4b9h +dd 0be37992ch +dd 0b6709331h +dd 040c07076h +dd 0013cf707h +dd 07d357146h +dd 0cc4dbd0ch +dd 0b6a4dfc9h +dd 000561f72h +dd 038ca7426h +dd 02e1014f2h +dd 0395e7368h +dd 0542f2fd4h +dd 0e47e55dbh +dd 095fdfb08h +dd 04795679eh +dd 065102510h +dd 0978c2061h +dd 0b537a3eeh +dd 0b65f9000h +dd 09c253c61h +dd 0c646dfe2h +dd 0bb7de60dh +dd 0a220c21fh +dd 09ba1ca45h +dd 063bb049eh +dd 00e73a962h +dd 0a4f9c808h +dd 03e5b8c1eh +dd 0c3151620h +dd 07e427a2bh +dd 0081e7e1dh +dd 0a7f4462dh +dd 0ebeb0563h +dd 02a8a1dc9h +dd 024fc1f50h +dd 039a55f17h +dd 052b85b78h +dd 0218d532dh +dd 0c8928873h +dd 0f454b8eah +dd 03c55919ah +dd 0afcf1353h +dd 09ef306a5h +dd 0b540d7c1h +dd 0a01f796bh +dd 0e94e76a3h +dd 03863f211h +dd 01b9ea301h +dd 09635ca46h +dd 0f81f8124h +dd 0dd6130ech +dd 011620f57h +dd 0cae68e44h +dd 010edb1f2h +dd 00c1f7ec9h +dd 07d5d56c1h +dd 03a8a3c8bh +dd 0eac11ec1h +dd 060dc8059h +dd 0b600ef0ah +dd 032f8221bh +dd 0be8169d8h +dd 00289685ch +dd 07a1f9892h +dd 04845c074h +dd 0959f6223h +dd 0c45e0cech +dd 0dd3eaa80h +dd 0779c1070h +dd 053c121bfh +dd 0f49fbac9h +dd 07c0f621ch +dd 0482e2b95h +dd 0a1a31105h +dd 00ff28161h +dd 03b17e792h +dd 06960e45ch +dd 0eb2f729bh +dd 05b125318h +dd 0b1341fe6h +dd 0a16765e6h +dd 0be3d4157h +dd 017a48fdah +dd 0b0a293d9h +dd 0d313d6c8h +dd 04eb2055ah +dd 0537b1da1h +dd 0edee3365h +dd 03f43ea82h +dd 0537e9915h +dd 074803e11h +dd 04e282194h +dd 028852509h +dd 0f671a38ch +dd 045ffc395h +dd 0936281a7h +dd 0df1f4e71h +dd 072131428h +dd 006b159d6h +dd 0368c736ah +dd 02ce5b535h +dd 02d2dd207h +dd 08fa9e3e1h +dd 0eba889c3h +dd 0c7e8ac55h +dd 0da242ba8h +dd 0132663dch +dd 0a8174f9ch +dd 0a81ec8a8h +dd 09b889887h +dd 02cc94fdbh +dd 0e43c90a1h +dd 0c5f7c5ebh +dd 0762c8640h +dd 0403226b5h +dd 0f43b07e5h +dd 0c40b751fh +dd 08786f195h +dd 00ca12374h +dd 011b9018ch +dd 04efc121bh +dd 03c375117h +dd 03716c8bch +dd 098ea9f0eh +dd 05760d6cfh +dd 0a4e1b982h +dd 04bc095c4h +dd 0c585b278h +dd 0e53dc3c9h +dd 0ac192ffah +dd 0b3e6e171h +dd 0d1bd72aah +dd 0cf133dcfh +dd 0c7207ed1h +dd 0a1363472h +dd 0e18df568h +dd 0b8d2d3feh +dd 0330b5029h +dd 0fe06b784h +dd 07f449b3bh +dd 08442dbd4h +dd 0b2fc54ebh +dd 02c8578e9h +dd 08bebec24h +dd 035e68c54h +dd 0eacea0fah +dd 07f7454e5h +dd 0181f58bfh +dd 08c1c31a0h +dd 0f315cbceh +dd 09afd2e76h +dd 00df9989fh +dd 0d930a6efh +dd 00d06f91ah +dd 072610bb2h +dd 0826eb156h +dd 01d21e4b4h +dd 07054e0d0h +dd 07934bb97h +dd 0a8ca5a63h +dd 00108600ch +dd 0228685d6h +dd 09cd7e5efh +dd 083d39036h +dd 0ec61cf58h +dd 0ba4bd475h +dd 014040b0ah +dd 0f5a14d51h +dd 08f6aa667h +dd 0cf57b854h +dd 04c3559aeh +dd 0e01a9576h +dd 0a3a30485h +dd 0adbed3dch +dd 0f59df73eh +dd 0456ba124h +dd 091e25e19h +dd 0a0d5e8b7h +dd 060427926h +dd 0cb72a685h +dd 0b1e297bch +dd 017baa5d5h +dd 0d7846226h +dd 02b837471h +dd 09737fbe3h +dd 0acb9bf89h +dd 0c52008deh +dd 046bf0354h +dd 08b1f01a8h +dd 0df4e6347h +dd 0e03cd0f5h +dd 06fe2fdd9h +dd 04129b185h +dd 0800a468fh +dd 0394e6f23h +dd 00d9b248ah +dd 0cd65fac2h +dd 0ce464a6bh +dd 04fb90a00h +dd 01942e758h +dd 0bcf955f0h +dd 0a4e89ac9h +dd 06013a01ah +dd 04931bdaeh +dd 004d3ed42h +dd 0b0a94218h +dd 0bec49ddbh +dd 0d0c22e50h +dd 09c15ec34h +dd 092b5ed7eh +dd 0f7b8a8e9h +dd 09b3a604ch +dd 0cb5b0997h +dd 02469c5f3h +dd 03ab12a41h +dd 056d8916eh +dd 0faaa815bh +dd 0bd14638dh +dd 0d46ff025h +dd 003cba5c5h +dd 058d0aa04h +dd 01470e5b4h +dd 0d9bb8180h +dd 0daf4a3c5h +dd 0f2710349h +dd 0f42891fah +dd 098c7b87dh +dd 00f862f49h +dd 05ecb256eh +dd 0266ed8dch +dd 0ad864587h +dd 03367ee64h +dd 03a8789ech +dd 0e210492ch +dd 08691f616h +dd 04f1343b5h +dd 0c88487a0h +dd 088e137dch +dd 0bfaa139bh +dd 00ea5b4d1h +dd 07bfc8272h +dd 09280f13eh +dd 01c3df1d7h +dd 0557f364ch +dd 07520bd84h +dd 0d1907c9eh +dd 057e6238ch +dd 0cb77f4d8h +dd 09b3bb58bh +dd 02fc9cbe0h +dd 0928b42cbh +dd 02b41541ah +dd 0f06ae1beh +dd 0e7068931h +dd 0576d3cd4h +dd 05b4f5826h +dd 0dbf6c91fh +dd 0c1cc252ah +dd 0953d9326h +dd 019f68f21h +dd 0cb7ddbddh +dd 0b9e08e30h +dd 044ff033ah +dd 02f1197adh +dd 08f36acd7h +dd 0b33f56cdh +dd 04f6b983eh +dd 077db749eh +dd 07732b53dh +dd 015943c1dh +dd 084185a5bh +dd 051a8379dh +dd 0f85953d0h +dd 09180c2bch +dd 0f3ee4e20h +dd 0d9561b36h +dd 04062084ch +dd 007c8a347h +dd 0b5eed546h +dd 03e44266ch +dd 0d30e0845h +dd 029985174h +dd 0f9b46881h +dd 081805db9h +dd 0ff82300bh +dd 0f434e4dfh +dd 01d9db58eh +dd 0fdd3e99eh +dd 00f85947ah +dd 0059855ach +dd 01083a5b6h +dd 02fa59b3fh +dd 048392734h +dd 033238516h +dd 0f62c5d7ah +dd 0cc4b5fb9h +dd 03af8259ch +dd 0b5d7f3e5h +dd 033410afbh +dd 04c83e8fch +dd 0d565669ch +dd 0ffd93d96h +dd 0bb8f9f48h +dd 0290e10b5h +dd 02f9662c3h +dd 0702c64bfh +dd 0a56c0f3ch +dd 0062a793bh +dd 0f22b2fe0h +dd 030ff175ah +dd 0817a35bch +dd 04c44caa9h +dd 03c67136bh +dd 084cd9f2bh +dd 0fdfd90b7h +dd 05def146ah +dd 0f4307df9h +dd 08a9544c1h +dd 09b846cc5h +dd 0dd174b03h +dd 03a8584fch +dd 0be8dec42h +dd 066e06a6ah +dd 0ff7bd55bh +dd 0f6a69fc1h +dd 004ca4e51h +dd 004f86784h +dd 0b89f8ce7h +dd 08f874708h +dd 0e7a3363dh +dd 0d0db1345h +dd 0ea30d42ah +dd 0bc44f9f5h +dd 0b3d4810ah +dd 087d73c79h +dd 0d1f54a54h +dd 09c11eba0h +dd 03060950fh +dd 014a13b5fh +dd 06018a918h +dd 04b9629b9h +dd 04d3cc33ah +dd 0556d59dch +dd 0686ce789h +dd 020a063fah +dd 0f33f9695h +dd 038d37189h +dd 032e492aah +dd 0189a9a4dh +dd 07272296ah +dd 0c7a776cah +dd 02a262c52h +dd 041fea160h +dd 0153f3916h +dd 0cb074b00h +dd 0b7fff172h +dd 07c9fee79h +dd 02cf01e1eh +dd 04f7b932bh +dd 00d18038ch +dd 0e2a4af26h +dd 03e633aabh +dd 04b9e9037h +dd 02ef27eceh +dd 0568dce1ah +dd 044357a84h +dd 0d52bd94eh +dd 067782314h +dd 0aeae2289h +dd 096b1187bh +dd 0daa504f2h +dd 076e693efh +dd 005c44c63h +dd 0c66fc6deh +dd 029704965h +dd 05a1f6a3ch +dd 08ff339dch +dd 0224931abh +dd 02cb127b6h +dd 04c316041h +dd 090e9a437h +dd 0c3f9d9f0h +dd 0cab0dfedh +dd 07ce601adh +dd 09224de5fh +dd 05b0d2b12h +dd 0d41c8c79h +dd 0403432e8h +dd 0abe1e207h +dd 0d14a53eah +dd 04ddcfab0h +dd 073fa1ea4h +dd 005cdd37ah +dd 0acbf52b4h +dd 017ae1600h +dd 08dba1db4h +dd 0aa58de8ah +dd 0c6200ac8h +dd 07a855ec5h +dd 0638012d8h +dd 0110e02cdh +dd 0c8308e12h +dd 0814bbf20h +dd 0d1547298h +dd 09eb19130h +dd 0b3c298ffh +dd 0467cea96h +dd 0fd9e1e3ah +dd 0fcd39b48h +dd 01b8fa5d8h +dd 0b5812f7ch +dd 02385aa1dh +dd 01f2b2c08h +dd 0ef5e8e31h +dd 0a33e0c6eh +dd 01ba2e5d7h +dd 014b6adb5h +dd 080897928h +dd 036ee6c82h +dd 0fc6723c7h +dd 09eeb5348h +dd 0c18e4f2ah +dd 00facfff4h +dd 0fd1b136fh +dd 0ea92058dh +dd 091235d61h +dd 01f7ac3a6h +dd 08e480321h +dd 018871b4ah +dd 007067b30h +dd 09e097f54h +dd 0773ea17bh +dd 099248155h +dd 034709751h +dd 0f8b39f35h +dd 0c0ba91b6h +dd 05bc8db64h +dd 02d5dcbd2h +dd 04d9d648bh +dd 070a578b7h +dd 0a57aef99h +dd 0050cc268h +dd 0b4a80b42h +dd 0d588a3a2h +dd 00ba72ec3h +dd 06acd4508h +dd 0b016b9fch +dd 09ec10087h +dd 0a555a587h +dd 0d73d8013h +dd 049ee2eadh +dd 0d9db398ah +dd 081db79bfh +dd 0282ca99ah +dd 0a95767b2h +dd 025586633h +dd 028ee41abh +dd 05ffa307ch +dd 003aec235h +dd 0283e6afdh +dd 0d7f307ech +dd 09c6b1e7dh +dd 0a7c4de0eh +dd 02f505935h +dd 0dcb19c1fh +dd 0ec5e3692h +dd 00173bd1ah +dd 077ca32a1h +dd 08f8e72cfh +dd 01f56d031h +dd 0b0966d22h +dd 05cffc146h +dd 086b9c2a9h +dd 04e2725b1h +dd 0eafe514ah +dd 0df3752c8h +dd 000d959beh +dd 08495abf5h +dd 062aeb79ah +dd 0be083321h +dd 0ef618a08h +dd 0aba4cc0bh +dd 0c5bba5eeh +dd 0c46d7cbfh +dd 082a3459bh +dd 05eda9082h +dd 0a6f98715h +dd 0844ad007h +dd 051a1bec9h +dd 041842d08h +dd 0e658420eh +dd 02f5c47f8h +dd 081d6e42eh +dd 03d924ecbh +dd 0e488fc75h +dd 0bb9b71fah +dd 09465953bh +dd 0ca64bc66h +dd 03d38b4c4h +dd 01b7c81beh +dd 088fb56c5h +dd 0cc173a7ch +dd 03e75286dh +dd 0ef7512c4h +dd 0e02fa009h +dd 0058387d0h +dd 0abefa1c0h +dd 0fe7b7cceh +dd 0a317f2cah +dd 0ed354fd3h +dd 03430586bh +dd 036cafbcbh +dd 0613f8452h +dd 0c6ad06ffh +dd 0d7fc8f33h +dd 0bb0ffb6eh +dd 039bfd9ebh +dd 0918a5a26h +dd 0be345766h +dd 0e3b6aac4h +dd 074195691h +dd 0d0d12f83h +dd 0962ba78eh +dd 0c85a73feh +dd 0d0ec6bb3h +dd 0f001c132h +dd 0cd57d8feh +dd 04ed0bef4h +dd 0af0131d5h +dd 01bc1c116h +dd 00a853980h +dd 01b093a97h +dd 018312295h +dd 0e9d3cc36h +dd 005968f64h +dd 0366673ebh +dd 09668bcc4h +dd 0141b345ch +dd 0f2fdcaa5h +dd 02c509d13h +dd 0c7b58c67h +dd 089de5dedh +dd 0db020d0ah +dd 0ee6dcea3h +dd 0fbf9bb80h +dd 02283a6e9h +dd 0d7a7a1ceh +dd 04ab4bd7ch +dd 0dad0dc34h +dd 07d95a209h +dd 08d8f8955h +dd 028f027f5h +dd 059a26d5dh +dd 0d1170482h +dd 04c76d775h +dd 097eea36ah +dd 0caeedd6bh +dd 0ddab10efh +dd 0fab1a476h +dd 0e39e7cf0h +dd 07d80880eh +dd 0054233b1h +dd 00bcaa69dh +dd 0a785c235h +dd 020d5b1f7h +dd 0610a6a52h +dd 0918a32efh +dd 0ce1c8940h +dd 07e6709f6h +dd 0b25ed2fch +dd 07f6b79f9h +dd 0bf0fb18fh +dd 039673006h +dd 0e65feba0h +dd 0bd8f0104h +dd 07792a85eh +dd 0e00d40c8h +dd 0cd2d5fb3h +dd 09971b09ah +dd 00709b9d9h +dd 005113822h +dd 029aaab37h +dd 04af00035h +dd 0433a0025h +dd 04a46a917h +dd 0f47c10ach +dd 030b8b013h +dd 0241de726h +dd 0c26baf15h +dd 0c871eae3h +dd 0a04d56cbh +dd 0af5b3198h +dd 0a82cd499h +dd 096e8dc43h +dd 03f0c772bh +dd 04b45f1eeh +dd 02008f2e9h +dd 09a83e237h +dd 06f2d9b93h +dd 0fb0e6862h +dd 01c816f34h +dd 08eee9c82h +dd 03dff4aedh +dd 00e81d9ech +dd 01a26457ch +dd 0c2c50d08h +dd 0b3f9f739h +dd 0effc5e49h +dd 0101ba1a9h +dd 031bd2c76h +dd 0ab5d8be9h +dd 0c0f5dd39h +dd 0859d3060h +dd 0012ca933h +dd 09ec992ddh +dd 0f045cfaah +dd 0c2047986h +dd 05644ac36h +dd 0c1c3689eh +dd 020055ddfh +dd 06c78d8a1h +dd 036ae165bh +dd 054a08592h +dd 0cd495573h +dd 015739c00h +dd 00f10fa60h +dd 0dfeaf3efh +dd 0011ed920h +dd 03f9f1a5fh +dd 0b80987a8h +dd 0f14e9618h +dd 05ba78e2ah +dd 0f2a63593h +dd 00f802711h +dd 09b4ace7ah +dd 0e7eb4e06h +dd 08662562ah +dd 0cbbbc6d2h +dd 084f4b711h +dd 02ee4e19eh +dd 0404d784eh +dd 02655cf77h +dd 0f53ad92ch +dd 06d091054h +dd 002b4404ah +dd 0a80c7cb0h +dd 0d3525e6bh +dd 0cc322af8h +dd 00c41899bh +dd 065c670a2h +dd 0baa3ca85h +dd 0210f5ceeh +dd 036fd65cah +dd 0d1a09a78h +dd 09853aa7ah +dd 0e581b8f2h +dd 02f36c1f0h +dd 0dccfd0ech +dd 082a6f98dh +dd 007815e5eh +dd 0717385c5h +dd 0c4f1e337h +dd 08b14d81ch +dd 00ef140f0h +dd 015a7c799h +dd 03cd25848h +dd 0fffb5888h +dd 0e4e0fa63h +dd 08213dfc6h +dd 01eaa03f6h +dd 018b50e79h +dd 0b7e4051eh +dd 05c5499b6h +dd 035c72233h +dd 0f4c90faah +dd 06fa1be29h +dd 08954f1a7h +dd 018b025eeh +dd 0edd695ach +dd 077e9157ch +dd 0542e1032h +dd 0d81f9355h +dd 0c8a7177dh +dd 05b027a2bh +dd 0e1185823h +dd 04d9a4295h +dd 0b681ec37h +dd 09b32d200h +dd 08179e302h +dd 042726a8dh +dd 08d161650h +dd 005bfea2bh +dd 02df90b6eh +dd 022f256aah +dd 09bf2c918h +dd 08898fdc4h +dd 0fe0adae9h +dd 0e1f1b365h +dd 0871de9fah +dd 06af5f3c8h +dd 0bacfe4bch +dd 0f34cceb0h +dd 0b8cf877bh +dd 05f95cf5eh +dd 020f776f4h +dd 032962238h +dd 0cc680858h +dd 0e635b7cch +dd 05e0cb45ah +dd 0dd700762h +dd 02b05336bh +dd 09b8e271fh +dd 02e8d7df1h +dd 00933bad9h +dd 01e732f62h +dd 058e1e4deh +dd 025e9f316h +dd 04610622ah +dd 037b9215dh +dd 0c316dd04h +dd 004847f74h +dd 024b581eah +dd 0506f6fa8h +dd 0144a9bf9h +dd 04e6eda38h +dd 0bce80d18h +dd 052b97cc3h +dd 0c5985a3dh +dd 04c2dd3c5h +dd 0feaa61c1h +dd 021ef1fcbh +dd 0131555e5h +dd 020b56760h +dd 03cb704a1h +dd 023af44fdh +dd 02c671148h +dd 0b0c8200bh +dd 08f68348eh +dd 0c29f75afh +dd 0fdf74c97h +dd 0aa7732deh +dd 0a7b27c4ah +dd 010034c03h +dd 0b8d1ce54h +dd 0538a535eh +dd 0b9b61316h +dd 03b95fd35h +dd 0c655bd46h +dd 07c3d85e8h +dd 0bfaf3c34h +dd 0b185e60ch +dd 027a00d63h +dd 0ab0ad960h +dd 0eeecc66eh +dd 085642936h +dd 0e89b88cch +dd 084ef1728h +dd 032ecc67eh +dd 0b959f4c6h +dd 0fd955a84h +dd 0dd3243f0h +dd 076362172h +dd 0eaac32f8h +dd 01510be7ch +dd 0c41e893fh +dd 0276dc853h +dd 0f514eae0h +dd 0fbcd0fc6h +dd 0da9cf844h +dd 07628a3cch +dd 0da641edah +dd 0afafc886h +dd 022ec0b95h +dd 04ff12be2h +dd 0b6290f06h +dd 024587bc5h +dd 03f54491ah +dd 00b93ae18h +dd 04424facbh +dd 021b5e9ddh +dd 09643c047h +dd 067895761h +dd 02feb6da5h +dd 0ce07e8abh +dd 015d73492h +dd 0f934df7bh +dd 06d961387h +dd 0d1d0f6b8h +dd 0cc18e346h +dd 0ea5f52e8h +dd 0d993b886h +dd 01c76fc58h +dd 0fac4371ch +dd 0bb7f9616h +dd 0cc364e2bh +dd 08343b0f2h +dd 0e6277110h +dd 065c9f9ach +dd 0642ef37bh +dd 07cc5e4b0h +dd 0bff13132h +dd 0d280b663h +dd 06d8c8465h +dd 09271174fh +dd 0eaba3866h +dd 0f2274556h +dd 0e8cf4cabh +dd 0fc6c98eeh +dd 0889ca468h +dd 0e3de7d22h +dd 00acb5fc4h +dd 024348f1ch +dd 0af047bbdh +dd 0f78fc293h +dd 0bbdee3dah +dd 0d0240285h +dd 09e4dce33h +dd 02b652754h +dd 0b4b9d053h +dd 0467d29f2h +dd 07a2d0c69h +dd 0777b3247h +dd 0bab394bdh +dd 08097ed86h +dd 0ec250e09h +dd 04c7e73e3h +dd 061265267h +dd 0ba24fc23h +dd 0b7991f60h +dd 0f79eb78eh +dd 0b053a882h +dd 0fe37b42ah +dd 0cc853d03h +dd 062fac0b6h +dd 0213123ceh +dd 0785a2039h +dd 0ca9eceach +dd 01a9319e6h +dd 002beb12dh +dd 0951da0a5h +dd 02a4eada7h +dd 0cffa4676h +dd 05f4802a5h +dd 092630663h +dd 0e7237fc4h +dd 06064cd3fh +dd 0cf1a5b65h +dd 098aa3656h +dd 00a549981h +dd 01aca6197h +dd 0fd8ef535h +dd 0772d2a8bh +dd 03affb88dh +dd 0d47bb1f0h +dd 01af66afeh +dd 0eef031d8h +dd 08b149e7dh +dd 0a6e8877ch +dd 06427d3f2h +dd 067aa92b7h +dd 07b998fbeh +dd 043cf93f4h +dd 05b3e40fch +dd 0da8cb4a0h +dd 0d14ce1f8h +dd 07889d400h +dd 0296b66bfh +dd 085a99990h +dd 01cd9af1fh +dd 082bffbcch +dd 0dc19395ah +dd 0b6128bfah +dd 02d8ce299h +dd 01e143daeh +dd 0b328ec98h +dd 097db7f49h +dd 012dc2123h +dd 003216b0ch +dd 0390d70d4h +dd 0bf7eaadah +dd 0075cccd0h +dd 095e972f4h +dd 075e1d60fh +dd 08373dc9eh +dd 015d776b9h +dd 0e461b257h +dd 02cfce4e5h +dd 0bce36239h +dd 05f47a4a5h +dd 02357bf60h +dd 003b21355h +dd 0ab4406eeh +dd 07b4dc242h +dd 0fb654dddh +dd 0433ebe25h +dd 047186083h +dd 0c1b820ceh +dd 05f41a116h +dd 0d9eb1410h +dd 00f453788h +dd 0b75156f2h +dd 008ce51cfh +dd 02ba7a86bh +dd 0811937a2h +dd 0e430cc30h +dd 0da2d0bd8h +dd 09bec15efh +dd 0703b8752h +dd 0fea760bbh +dd 05be856a8h +dd 00b881658h +dd 07a24e480h +dd 01e92e722h +dd 09ad51da8h +dd 0605989ddh +dd 0320c4b36h +dd 0d7455078h +dd 06995160fh +dd 098309ac3h +dd 051a30e37h +dd 0f832dd59h +dd 0ae80b266h +dd 031384fc1h +dd 0002c4b96h +dd 0a5813f07h +dd 07962f22eh +dd 0e90fafc2h +dd 0bb4bfb75h +dd 0c990156ch +dd 000316aceh +dd 08713f6e1h +dd 08394994ch +dd 0f21722c7h +dd 0e91e229dh +dd 0dbc25237h +dd 0af531df4h +dd 001db7a1eh +dd 03b59a55dh +dd 0f68cce25h +dd 09cded7ceh +dd 00319fc11h +dd 0a6d7fcf8h +dd 0b1a73089h +dd 053331800h +dd 0ad20c3b0h +dd 0c5ead782h +dd 0c314e259h +dd 01f686924h +dd 0d92749f8h +dd 02f3985e5h +dd 02913d451h +dd 0f5716f43h +dd 0edbd77e4h +dd 05fba52ebh +dd 06517cd4ah +dd 06bc6b303h +dd 01faf0ec0h +dd 06b8a3e5fh +dd 0dd0004a2h +dd 0c18be1feh +dd 05bdb1f0ah +dd 03984302dh +dd 0cba25c3fh +dd 0622652a4h +dd 0025b295ch +dd 01b896c38h +dd 0f9469aabh +dd 04927e0cfh +dd 0fd3b3cc2h +dd 0863c4d54h +dd 0a174b9f0h +dd 09fa447cfh +dd 024ef1989h +dd 07593473dh +dd 02a5d18eah +dd 0d6f58fdah +dd 04fc40835h +dd 0540b7c4ah +dd 0d4a7d150h +dd 0e766d6bch +dd 0a8bf5c62h +dd 0961602d7h +dd 0e25810d2h +dd 0aac2a1fdh +dd 02e4a1891h +dd 0986c5869h +dd 093c42d6bh +dd 01082e46ch +dd 095408673h +dd 0c2fb8f35h +dd 0e9219f5ah +dd 03e441439h +dd 0da3bc969h +dd 0cf678881h +dd 03ea067cfh +dd 0c70bff22h +dd 08b7a7977h +dd 0fe56845dh +dd 06a7f4acah +dd 049730ee6h +dd 0fea86e8bh +dd 089559495h +dd 003542a8dh +dd 0eb7402d9h +dd 03e23e18dh +dd 09976965ah +dd 077ef41c1h +dd 0886a2cf5h +dd 04cec99fch +dd 0e2955161h +dd 0b02d0fd1h +dd 0261ee8e2h +dd 0e1db271bh +dd 0045a5e9bh +dd 0ded2459ah +dd 0c518b2d1h +dd 06b2bfe4bh +dd 07e52f5afh +dd 00ef5708bh +dd 0133eb820h +dd 0b01332a4h +dd 047b4bc8ah +dd 03012d0eah +dd 040de47ach +dd 07ce22c7ah +dd 0e261e33eh +dd 05fc7bd14h +dd 0b6287bc1h +dd 021220eb9h +dd 0dd9a9b44h +dd 0f51b0880h +dd 09740682bh +dd 0ed9ee0cdh +dd 0fcb213d9h +dd 077c8ebe2h +dd 030161523h +dd 05120ca9bh +dd 0ae76bce9h +dd 0327fd4ceh +dd 0043aeba5h +dd 0aa4385f9h +dd 0d07ece91h +dd 023df5024h +dd 05be54ddah +dd 07aedb474h +dd 0bed76977h +dd 090541dbdh +dd 036f8ce61h +dd 0c65ba8ebh +dd 0b018306ch +dd 0e3714a27h +dd 015a8faddh +dd 01cf98f2ah +dd 01240790dh +dd 02b836b3dh +dd 028726776h +dd 0344ffb6ch +dd 01cb49918h +dd 051d4d640h +dd 0310a0e7dh +dd 05f1cd67eh +dd 04cd3d183h +dd 0a87248cbh +dd 086b2297bh +dd 0c71b32c0h +dd 0f0a85d24h +dd 001b9c174h +dd 0329cdbaah +dd 0a243024ah +dd 0553e89cah +dd 04f3b1d2bh +dd 0c9e4525eh +dd 01982be89h +dd 09815e925h +dd 081b140e4h +dd 059a260f2h +dd 0a2d3f857h +dd 0c1c54482h +dd 02110c21ch +dd 0af22d6fah +dd 0dd320766h +dd 06b13c53bh +dd 063b72a99h +dd 09db00bf1h +dd 0338502bfh +dd 08d5d05e9h +dd 086fe00d9h +dd 0d991f371h +dd 05740e527h +dd 081ac77a9h +dd 0ccb661dbh +dd 0c286d90ah +dd 07c49f9d6h +dd 0f9a25f95h +dd 08d4d2937h +dd 0fba55a27h +dd 0570fde27h +dd 015e90433h +dd 05efa47f9h +dd 0a4bb5318h +dd 06c6cf265h +dd 01aa69bfbh +dd 03f647563h +dd 031a2f888h +dd 0fb09f3e7h +dd 040656701h +dd 0ff7db662h +dd 0ec767164h +dd 051189271h +dd 0fe922ee1h +dd 0c8cdb052h +dd 0c37a9bc3h +dd 0434ce3e8h +dd 0957cbc92h +dd 0a791ca0ah +dd 06de49598h +dd 0c4a65956h +dd 0b77ad1f9h +dd 0102bee8dh +dd 0925c158fh +dd 087d30916h +dd 0f42dcb84h +dd 0a1b2a454h +dd 0898b404ah +dd 053f5c641h +dd 05bba9bd2h +dd 080885a89h +dd 0554b70d7h +dd 039e712f6h +dd 099478033h +dd 065687920h +dd 0c39d1909h +dd 0d73dbaa9h +dd 0a0a4614eh +dd 046ea806eh +dd 0dd7816dch +dd 0fd6f6b31h +dd 0d0e771beh +dd 0d4fbada5h +dd 0a020b8e8h +dd 045d85390h +dd 0b4e3f6d4h +dd 02b073025h +dd 06968233bh +dd 02c59e1f1h +dd 01c323fb1h +dd 0eb96bcadh +dd 09b714dd0h +dd 09c74e7f5h +dd 00b4b7d9ah +dd 0a81f0d41h +dd 0eacbae91h +dd 06d3abd86h +dd 03a685bedh +dd 0c33df0dch +dd 0a1ae2c74h +dd 07c0a7a7eh +dd 00d8fb625h +dd 03e701f5dh +dd 0060d18c4h +dd 0f3a5e1f7h +dd 0942a603eh +dd 02a686ac5h +dd 09ad75189h +dd 0897ae5e3h +dd 04b84bb2bh +dd 0f6dc1ef6h +dd 0718ddb4bh +dd 0d149a22dh +dd 0391ef6c9h +dd 0d1058390h +dd 0793ec5a3h +dd 0cc734537h +dd 0c89c0a5ah +dd 097a607c6h +dd 025643884h +dd 03a1e8db4h +dd 04bd2e751h +dd 063d10df3h +dd 03ddf8970h +dd 0eaeb749ch +dd 0e0d5883ch +dd 0d025260ch +dd 098a189a4h +dd 0d6a0591ch +dd 036c12b1ah +dd 0ca9dead9h +dd 03e06d467h +dd 0d2be0ab0h +dd 06020f78ch +dd 0767c385bh +dd 0fb81b8c9h +dd 0b45c6f9dh +dd 0f295e231h +dd 0e6b2d6cdh +dd 00acf2b01h +dd 04b1a8bb0h +dd 0aee0c4eeh +dd 00d6147ffh +dd 03a93759fh +dd 0dab93474h +dd 0f4e9fcceh +dd 0ad7f818fh +dd 01a7382a8h +dd 08cb2b4b7h +dd 09f5b548ch +dd 053ed8c0ch +dd 00571d023h +dd 0aba353a7h +dd 0e24f296fh +dd 06c306bffh +dd 02455b026h +dd 022c85836h +dd 0472e4f66h +dd 0e02b2837h +dd 01c636024h +dd 086a5d502h +dd 071b2b26fh +dd 0bb6001f9h +dd 0ebeb6294h +dd 0e69b9916h +dd 0ee9362ach +dd 0bfd9dd1fh +dd 0cdc13a93h +dd 049cb793bh +dd 0da2c8f03h +dd 0224f736bh +dd 06b315996h +dd 0b7fc731eh +dd 0da01a345h +dd 0cbcd7b11h +dd 0a9ee9db7h +dd 0374c5041h +dd 063d33f70h +dd 0caad0c58h +dd 002f64d27h +dd 0039bfdbeh +dd 0bfb9fc01h +dd 0539e5036h +dd 05499ed81h +dd 08bc03805h +dd 09180d003h +dd 06beaf2a7h +dd 060eed5c1h +dd 087ac4946h +dd 099795cceh +dd 0ddd71805h +dd 047b538b0h +dd 0ac3e2f31h +dd 0b4cc9e7bh +dd 0117fddc2h +dd 0fb2f60fbh +dd 09dce5e7fh +dd 01d5590f7h +dd 0ab04ef1dh +dd 0b456bacah +dd 077752b1ah +dd 0dad260deh +dd 0b8b9c0feh +dd 05bb1d532h +dd 098965069h -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver. 2021-06-17 0:51 [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Nate DeSimone ` (3 preceding siblings ...) 2021-06-17 0:51 ` [edk2-non-osi][PATCH] PurleySiliconBinPkg : Microcode udpates for latest SKX/CLX CPU Nate DeSimone @ 2021-06-17 0:51 ` Nate DeSimone 2021-06-25 18:57 ` [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Oram, Isaac W 5 siblings, 0 replies; 11+ messages in thread From: Nate DeSimone @ 2021-06-17 0:51 UTC (permalink / raw) To: devel Cc: manickavasakam karpagavinayagam, Isaac Oram, Felix Polyudov, Harikrishna Doppalapudi, Manish Jha, Zachary Bobroff From: manickavasakam karpagavinayagam <manickavasakamk@ami.com> Overriden generic PciBus Driver with Platform specific instance of PciBus driver To skip SPI controller initialization during PCI enumeration to avoid SET variable assert issue during POST To skip executing a specific MLX card UEFI OPROM Move PurleyOpenBoardPkg/Override/edk2/MdeModulePkg/Bus/Pci/PciBusDxe to PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../BoardTiogaPass/CoreDxeInclude.dsc | 5 +- .../BoardTiogaPass/CoreUefiBootInclude.fdf | 5 +- .../Bus/Pci/PciBusDxe/ComponentName.c | 170 + .../Bus/Pci/PciBusDxe/ComponentName.h | 146 + .../MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c | 460 +++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h | 396 +++ .../Bus/Pci/PciBusDxe/PciBusDxe.inf | 112 + .../Bus/Pci/PciBusDxe/PciBusDxe.uni | 16 + .../Bus/Pci/PciBusDxe/PciBusDxeExtra.uni | 14 + .../Bus/Pci/PciBusDxe/PciCommand.c | 267 ++ .../Bus/Pci/PciBusDxe/PciCommand.h | 232 ++ .../Bus/Pci/PciBusDxe/PciDeviceSupport.c | 1056 ++++++ .../Bus/Pci/PciBusDxe/PciDeviceSupport.h | 266 ++ .../Bus/Pci/PciBusDxe/PciDriverOverride.c | 188 ++ .../Bus/Pci/PciBusDxe/PciDriverOverride.h | 83 + .../Bus/Pci/PciBusDxe/PciEnumerator.c | 2210 +++++++++++++ .../Bus/Pci/PciBusDxe/PciEnumerator.h | 515 +++ .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 2885 +++++++++++++++++ .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.h | 480 +++ .../Bus/Pci/PciBusDxe/PciHotPlugSupport.c | 484 +++ .../Bus/Pci/PciBusDxe/PciHotPlugSupport.h | 205 ++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c | 2087 ++++++++++++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h | 660 ++++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c | 1809 +++++++++++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h | 179 + .../Bus/Pci/PciBusDxe/PciOptionRomSupport.c | 776 +++++ .../Bus/Pci/PciBusDxe/PciOptionRomSupport.h | 136 + .../Bus/Pci/PciBusDxe/PciPowerManagement.c | 82 + .../Bus/Pci/PciBusDxe/PciPowerManagement.h | 28 + .../Bus/Pci/PciBusDxe/PciResourceSupport.c | 2292 +++++++++++++ .../Bus/Pci/PciBusDxe/PciResourceSupport.h | 456 +++ .../Bus/Pci/PciBusDxe/PciRomTable.c | 135 + .../Bus/Pci/PciBusDxe/PciRomTable.h | 48 + 33 files changed, 18881 insertions(+), 2 deletions(-) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc index 7dcb892dd5..b0660d72dd 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc @@ -78,7 +78,10 @@ PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf #MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf - MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override START :Skip OPROM for specific Mellanox card & SPI Controller + #MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override END MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf index 478a818546..141ce5dda3 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf @@ -42,7 +42,10 @@ INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf #INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf -INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override START :Skip OPROM for specific Mellanox card & SPI Controller + #INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + INF $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override END INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c new file mode 100644 index 0000000000..f3554507e2 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c @@ -0,0 +1,170 @@ +/** @file + EFI Component Name functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// EFI Component Name Protocol +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName = { + PciBusComponentNameGetDriverName, + PciBusComponentNameGetControllerName, + "eng" +}; + +// +// EFI Component Name 2 Protocol +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2 = { + (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) PciBusComponentNameGetDriverName, + (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) PciBusComponentNameGetControllerName, + "en" +}; + + +GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mPciBusDriverNameTable[] = { + { "eng;en", (CHAR16 *) L"PCI Bus Driver" }, + { NULL , NULL } +}; + +/** + Retrieves a Unicode string that is the user readable name of the driver. + + This function retrieves the user readable name of a driver in the form of a + Unicode string. If the driver specified by This has a user readable name in + the language specified by Language, then a pointer to the driver name is + returned in DriverName, and EFI_SUCCESS is returned. If the driver specified + by This does not support the language specified by Language, + then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified + in RFC 4646 or ISO 639-2 language code format. + + @param DriverName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + driver specified by This in the language + specified by Language. + + @retval EFI_SUCCESS The Unicode string for the Driver specified by + This and the language specified by Language was + returned in DriverName. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER DriverName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetDriverName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN CHAR8 *Language, + OUT CHAR16 **DriverName + ) +{ + return LookupUnicodeString2 ( + Language, + This->SupportedLanguages, + mPciBusDriverNameTable, + DriverName, + (BOOLEAN)(This == &gPciBusComponentName) + ); +} + +/** + Retrieves a Unicode string that is the user readable name of the controller + that is being managed by a driver. + + This function retrieves the user readable name of the controller specified by + ControllerHandle and ChildHandle in the form of a Unicode string. If the + driver specified by This has a user readable name in the language specified by + Language, then a pointer to the controller name is returned in ControllerName, + and EFI_SUCCESS is returned. If the driver specified by This is not currently + managing the controller specified by ControllerHandle and ChildHandle, + then EFI_UNSUPPORTED is returned. If the driver specified by This does not + support the language specified by Language, then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param ControllerHandle[in] The handle of a controller that the driver + specified by This is managing. This handle + specifies the controller whose name is to be + returned. + + @param ChildHandle[in] The handle of the child controller to retrieve + the name of. This is an optional parameter that + may be NULL. It will be NULL for device + drivers. It will also be NULL for a bus drivers + that wish to retrieve the name of the bus + controller. It will not be NULL for a bus + driver that wishes to retrieve the name of a + child controller. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified in + RFC 4646 or ISO 639-2 language code format. + + @param ControllerName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + controller specified by ControllerHandle and + ChildHandle in the language specified by + Language from the point of view of the driver + specified by This. + + @retval EFI_SUCCESS The Unicode string for the user readable name in + the language specified by Language for the + driver specified by This was returned in + DriverName. + + @retval EFI_INVALID_PARAMETER ControllerHandle is NULL. + + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid + EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER ControllerName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This is not currently + managing the controller specified by + ControllerHandle and ChildHandle. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetControllerName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE ChildHandle OPTIONAL, + IN CHAR8 *Language, + OUT CHAR16 **ControllerName + ) +{ + return EFI_UNSUPPORTED; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h new file mode 100644 index 0000000000..fc3c672760 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h @@ -0,0 +1,146 @@ +/** @file + EFI Component Name functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_BUS_COMPONENT_NAME_H_ +#define _EFI_PCI_BUS_COMPONENT_NAME_H_ + +extern EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName; +extern EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2; + +// +// EFI Component Name Functions +// +/** + Retrieves a Unicode string that is the user readable name of the driver. + + This function retrieves the user readable name of a driver in the form of a + Unicode string. If the driver specified by This has a user readable name in + the language specified by Language, then a pointer to the driver name is + returned in DriverName, and EFI_SUCCESS is returned. If the driver specified + by This does not support the language specified by Language, + then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified + in RFC 4646 or ISO 639-2 language code format. + + @param DriverName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + driver specified by This in the language + specified by Language. + + @retval EFI_SUCCESS The Unicode string for the Driver specified by + This and the language specified by Language was + returned in DriverName. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER DriverName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetDriverName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN CHAR8 *Language, + OUT CHAR16 **DriverName + ); + + +/** + Retrieves a Unicode string that is the user readable name of the controller + that is being managed by a driver. + + This function retrieves the user readable name of the controller specified by + ControllerHandle and ChildHandle in the form of a Unicode string. If the + driver specified by This has a user readable name in the language specified by + Language, then a pointer to the controller name is returned in ControllerName, + and EFI_SUCCESS is returned. If the driver specified by This is not currently + managing the controller specified by ControllerHandle and ChildHandle, + then EFI_UNSUPPORTED is returned. If the driver specified by This does not + support the language specified by Language, then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param ControllerHandle[in] The handle of a controller that the driver + specified by This is managing. This handle + specifies the controller whose name is to be + returned. + + @param ChildHandle[in] The handle of the child controller to retrieve + the name of. This is an optional parameter that + may be NULL. It will be NULL for device + drivers. It will also be NULL for a bus drivers + that wish to retrieve the name of the bus + controller. It will not be NULL for a bus + driver that wishes to retrieve the name of a + child controller. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified in + RFC 4646 or ISO 639-2 language code format. + + @param ControllerName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + controller specified by ControllerHandle and + ChildHandle in the language specified by + Language from the point of view of the driver + specified by This. + + @retval EFI_SUCCESS The Unicode string for the user readable name in + the language specified by Language for the + driver specified by This was returned in + DriverName. + + @retval EFI_INVALID_PARAMETER ControllerHandle is NULL. + + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid + EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER ControllerName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This is not currently + managing the controller specified by + ControllerHandle and ChildHandle. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetControllerName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE ChildHandle OPTIONAL, + IN CHAR8 *Language, + OUT CHAR16 **ControllerName + ); + + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c new file mode 100644 index 0000000000..682b2dac38 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c @@ -0,0 +1,460 @@ +/** @file + Driver Binding functions for PCI Bus module. + + Single PCI bus driver instance will manager all PCI Root Bridges in one EFI based firmware, + since all PCI Root Bridges' resources need to be managed together. + Supported() function will try to get PCI Root Bridge IO Protocol. + Start() function will get PCI Host Bridge Resource Allocation Protocol to manage all + PCI Root Bridges. So it means platform needs install PCI Root Bridge IO protocol for each + PCI Root Bus and install PCI Host Bridge Resource Allocation Protocol. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// PCI Bus Driver Global Variables +// +EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding = { + PciBusDriverBindingSupported, + PciBusDriverBindingStart, + PciBusDriverBindingStop, + 0xa, + NULL, + NULL +}; + +EFI_HANDLE gPciHostBrigeHandles[PCI_MAX_HOST_BRIDGE_NUM]; +EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *gIncompatiblePciDeviceSupport = NULL; +UINTN gPciHostBridgeNumber = 0; +BOOLEAN gFullEnumeration = TRUE; +UINT64 gAllOne = 0xFFFFFFFFFFFFFFFFULL; +UINT64 gAllZero = 0; + +EFI_PCI_PLATFORM_PROTOCOL *gPciPlatformProtocol; +EFI_PCI_OVERRIDE_PROTOCOL *gPciOverrideProtocol; +EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; +EDKII_DEVICE_SECURITY_PROTOCOL *mDeviceSecurityProtocol; + +GLOBAL_REMOVE_IF_UNREFERENCED EFI_PCI_HOTPLUG_REQUEST_PROTOCOL mPciHotPlugRequest = { + PciHotPlugRequestNotify +}; + +/** + The Entry Point for PCI Bus module. The user code starts with this function. + + Installs driver module protocols and. Creates virtual device handles for ConIn, + ConOut, and StdErr. Installs Simple Text In protocol, Simple Text In Ex protocol, + Simple Pointer protocol, Absolute Pointer protocol on those virtual handlers. + Installs Graphics Output protocol and/or UGA Draw protocol if needed. + + @param[in] ImageHandle The firmware allocated handle for the EFI image. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval other Some error occurred when executing this entry point. + +**/ +EFI_STATUS +EFIAPI +PciBusEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_HANDLE Handle; + + // + // Initializes PCI devices pool + // + InitializePciDevicePool (); + + // + // Install driver model protocol(s). + // + Status = EfiLibInstallDriverBindingComponentName2 ( + ImageHandle, + SystemTable, + &gPciBusDriverBinding, + ImageHandle, + &gPciBusComponentName, + &gPciBusComponentName2 + ); + ASSERT_EFI_ERROR (Status); + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // If Hot Plug is supported, install EFI PCI Hot Plug Request protocol. + // + Handle = NULL; + Status = gBS->InstallProtocolInterface ( + &Handle, + &gEfiPciHotPlugRequestProtocolGuid, + EFI_NATIVE_INTERFACE, + &mPciHotPlugRequest + ); + } + + return Status; +} + +/** + Test to see if this driver supports ControllerHandle. Any ControllerHandle + than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be supported. + + @param This Protocol instance pointer. + @param Controller Handle of device to test. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver supports this device. + @retval EFI_ALREADY_STARTED This driver is already running on this device. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingSupported ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ) +{ + EFI_STATUS Status; + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + EFI_DEV_PATH_PTR Node; + + // + // Check RemainingDevicePath validation + // + if (RemainingDevicePath != NULL) { + // + // Check if RemainingDevicePath is the End of Device Path Node, + // if yes, go on checking other conditions + // + if (!IsDevicePathEnd (RemainingDevicePath)) { + // + // If RemainingDevicePath isn't the End of Device Path Node, + // check its validation + // + Node.DevPath = RemainingDevicePath; + if (Node.DevPath->Type != HARDWARE_DEVICE_PATH || + Node.DevPath->SubType != HW_PCI_DP || + DevicePathNodeLength(Node.DevPath) != sizeof(PCI_DEVICE_PATH)) { + return EFI_UNSUPPORTED; + } + } + } + + // + // Check if Pci Root Bridge IO protocol is installed by platform + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + This->DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + if (Status == EFI_ALREADY_STARTED) { + return EFI_SUCCESS; + } + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Close the I/O Abstraction(s) used to perform the supported test + // + gBS->CloseProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + This->DriverBindingHandle, + Controller + ); + + // + // Open the EFI Device Path protocol needed to perform the supported test + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + (VOID **) &ParentDevicePath, + This->DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + if (Status == EFI_ALREADY_STARTED) { + return EFI_SUCCESS; + } + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Close protocol, don't use device path protocol in the Support() function + // + gBS->CloseProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + This->DriverBindingHandle, + Controller + ); + + return EFI_SUCCESS; +} + +/** + Start this driver on ControllerHandle and enumerate Pci bus and start + all device under PCI bus. + + @param This Protocol instance pointer. + @param Controller Handle of device to bind driver to. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver is added to ControllerHandle. + @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStart ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ) +{ + EFI_STATUS Status; + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + // + // Initialize PciRootBridgeIo to suppress incorrect compiler warning. + // + PciRootBridgeIo = NULL; + + // + // Check RemainingDevicePath validation + // + if (RemainingDevicePath != NULL) { + // + // Check if RemainingDevicePath is the End of Device Path Node, + // if yes, return EFI_SUCCESS + // + if (IsDevicePathEnd (RemainingDevicePath)) { + return EFI_SUCCESS; + } + } + + gBS->LocateProtocol ( + &gEfiIncompatiblePciDeviceSupportProtocolGuid, + NULL, + (VOID **) &gIncompatiblePciDeviceSupport + ); + + // + // If PCI Platform protocol is available, get it now. + // If the platform implements this, it must be installed before BDS phase + // + gPciPlatformProtocol = NULL; + gBS->LocateProtocol ( + &gEfiPciPlatformProtocolGuid, + NULL, + (VOID **) &gPciPlatformProtocol + ); + + // + // If PCI Platform protocol doesn't exist, try to Pci Override Protocol. + // + if (gPciPlatformProtocol == NULL) { + gPciOverrideProtocol = NULL; + gBS->LocateProtocol ( + &gEfiPciOverrideProtocolGuid, + NULL, + (VOID **) &gPciOverrideProtocol + ); + } + + if (mIoMmuProtocol == NULL) { + gBS->LocateProtocol ( + &gEdkiiIoMmuProtocolGuid, + NULL, + (VOID **) &mIoMmuProtocol + ); + } + + if (mDeviceSecurityProtocol == NULL) { + gBS->LocateProtocol ( + &gEdkiiDeviceSecurityProtocolGuid, + NULL, + (VOID **) &mDeviceSecurityProtocol + ); + } + + if (PcdGetBool (PcdPciDisableBusEnumeration)) { + gFullEnumeration = FALSE; + } else { + gFullEnumeration = (BOOLEAN) ((SearchHostBridgeHandle (Controller) ? FALSE : TRUE)); + } + + // + // Open Device Path Protocol for PCI root bridge + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + (VOID **) &ParentDevicePath, + This->DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + ASSERT_EFI_ERROR (Status); + + // + // Report Status Code to indicate PCI bus starts + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + (EFI_IO_BUS_PCI | EFI_IOB_PC_INIT), + ParentDevicePath + ); + + Status = EFI_SUCCESS; + // + // Enumerate the entire host bridge + // After enumeration, a database that records all the device information will be created + // + // + if (gFullEnumeration) { + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (!EFI_ERROR (Status)) { + Status = PciEnumerator (Controller, PciRootBridgeIo->ParentHandle); + } + } else { + // + // If PCI bus has already done the full enumeration, never do it again + // + Status = PciEnumeratorLight (Controller); + } + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Start all the devices under the entire host bridge. + // + StartPciDevices (Controller); + + if (gFullEnumeration) { + gFullEnumeration = FALSE; + + Status = gBS->InstallProtocolInterface ( + &PciRootBridgeIo->ParentHandle, + &gEfiPciEnumerationCompleteProtocolGuid, + EFI_NATIVE_INTERFACE, + NULL + ); + ASSERT_EFI_ERROR (Status); + } + + return Status; +} + +/** + Stop this driver on ControllerHandle. Support stopping any child handles + created by this driver. + + @param This Protocol instance pointer. + @param Controller Handle of device to stop driver on. + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of + children is zero stop the entire bus driver. + @param ChildHandleBuffer List of Child Handles to Stop. + + @retval EFI_SUCCESS This driver is removed ControllerHandle. + @retval other This driver was not removed from this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStop ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN UINTN NumberOfChildren, + IN EFI_HANDLE *ChildHandleBuffer + ) +{ + EFI_STATUS Status; + UINTN Index; + BOOLEAN AllChildrenStopped; + + if (NumberOfChildren == 0) { + // + // Close the bus driver + // + gBS->CloseProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + This->DriverBindingHandle, + Controller + ); + gBS->CloseProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + This->DriverBindingHandle, + Controller + ); + + DestroyRootBridgeByHandle ( + Controller + ); + + return EFI_SUCCESS; + } + + // + // Stop all the children + // + + AllChildrenStopped = TRUE; + + for (Index = 0; Index < NumberOfChildren; Index++) { + + // + // De register all the pci device + // + Status = DeRegisterPciDevice (Controller, ChildHandleBuffer[Index]); + + if (EFI_ERROR (Status)) { + AllChildrenStopped = FALSE; + } + } + + if (!AllChildrenStopped) { + return EFI_DEVICE_ERROR; + } + + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h new file mode 100644 index 0000000000..967933e278 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h @@ -0,0 +1,396 @@ +/** @file + Header files and data structures needed by PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_BUS_H_ +#define _EFI_PCI_BUS_H_ + +#include <PiDxe.h> + +#include <Protocol/LoadedImage.h> +#include <Protocol/PciHostBridgeResourceAllocation.h> +#include <Protocol/PciIo.h> +#include <Protocol/LoadFile2.h> +#include <Protocol/PciRootBridgeIo.h> +#include <Protocol/PciHotPlugRequest.h> +#include <Protocol/DevicePath.h> +#include <Protocol/PciPlatform.h> +#include <Protocol/PciHotPlugInit.h> +#include <Protocol/Decompress.h> +#include <Protocol/BusSpecificDriverOverride.h> +#include <Protocol/IncompatiblePciDeviceSupport.h> +#include <Protocol/PciOverride.h> +#include <Protocol/PciEnumerationComplete.h> +#include <Protocol/IoMmu.h> +#include <Protocol/DeviceSecurity.h> + +#include <Library/DebugLib.h> +#include <Library/UefiDriverEntryPoint.h> +#include <Library/BaseLib.h> +#include <Library/UefiLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/ReportStatusCodeLib.h> +#include <Library/MemoryAllocationLib.h> +#include <Library/UefiBootServicesTableLib.h> +#include <Library/DevicePathLib.h> +#include <Library/PcdLib.h> + +#include <IndustryStandard/Pci.h> +#include <IndustryStandard/PeImage.h> +#include <IndustryStandard/Acpi.h> + +typedef struct _PCI_IO_DEVICE PCI_IO_DEVICE; +typedef struct _PCI_BAR PCI_BAR; + +#define EFI_PCI_RID(Bus, Device, Function) (((UINT32)Bus << 8) + ((UINT32)Device << 3) + (UINT32)Function) +#define EFI_PCI_BUS_OF_RID(RID) ((UINT32)RID >> 8) + +#define EFI_PCI_IOV_POLICY_ARI 0x0001 +#define EFI_PCI_IOV_POLICY_SRIOV 0x0002 +#define EFI_PCI_IOV_POLICY_MRIOV 0x0004 + +typedef enum { + PciBarTypeUnknown = 0, + PciBarTypeIo16, + PciBarTypeIo32, + PciBarTypeMem32, + PciBarTypePMem32, + PciBarTypeMem64, + PciBarTypePMem64, + PciBarTypeOpRom, + PciBarTypeIo, + PciBarTypeMem, + PciBarTypeMaxType +} PCI_BAR_TYPE; + +#include "ComponentName.h" +#include "PciIo.h" +#include "PciCommand.h" +#include "PciDeviceSupport.h" +#include "PciEnumerator.h" +#include "PciEnumeratorSupport.h" +#include "PciDriverOverride.h" +#include "PciRomTable.h" +#include "PciOptionRomSupport.h" +#include "PciPowerManagement.h" +#include "PciHotPlugSupport.h" +#include "PciLib.h" + +#define VGABASE1 0x3B0 +#define VGALIMIT1 0x3BB + +#define VGABASE2 0x3C0 +#define VGALIMIT2 0x3DF + +#define ISABASE 0x100 +#define ISALIMIT 0x3FF + +// +// PCI BAR parameters +// +struct _PCI_BAR { + UINT64 BaseAddress; + UINT64 Length; + UINT64 Alignment; + PCI_BAR_TYPE BarType; + BOOLEAN BarTypeFixed; + UINT16 Offset; +}; + +// +// defined in PCI Card Specification, 8.0 +// +#define PCI_CARD_MEMORY_BASE_0 0x1C +#define PCI_CARD_MEMORY_LIMIT_0 0x20 +#define PCI_CARD_MEMORY_BASE_1 0x24 +#define PCI_CARD_MEMORY_LIMIT_1 0x28 +#define PCI_CARD_IO_BASE_0_LOWER 0x2C +#define PCI_CARD_IO_BASE_0_UPPER 0x2E +#define PCI_CARD_IO_LIMIT_0_LOWER 0x30 +#define PCI_CARD_IO_LIMIT_0_UPPER 0x32 +#define PCI_CARD_IO_BASE_1_LOWER 0x34 +#define PCI_CARD_IO_BASE_1_UPPER 0x36 +#define PCI_CARD_IO_LIMIT_1_LOWER 0x38 +#define PCI_CARD_IO_LIMIT_1_UPPER 0x3A +#define PCI_CARD_BRIDGE_CONTROL 0x3E + +#define PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE BIT8 +#define PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE BIT9 + +#define RB_IO_RANGE 1 +#define RB_MEM32_RANGE 2 +#define RB_PMEM32_RANGE 3 +#define RB_MEM64_RANGE 4 +#define RB_PMEM64_RANGE 5 + +#define PPB_BAR_0 0 +#define PPB_BAR_1 1 +#define PPB_IO_RANGE 2 +#define PPB_MEM32_RANGE 3 +#define PPB_PMEM32_RANGE 4 +#define PPB_PMEM64_RANGE 5 +#define PPB_MEM64_RANGE 0xFF + +#define P2C_BAR_0 0 +#define P2C_MEM_1 1 +#define P2C_MEM_2 2 +#define P2C_IO_1 3 +#define P2C_IO_2 4 + +#define EFI_BRIDGE_IO32_DECODE_SUPPORTED 0x0001 +#define EFI_BRIDGE_PMEM32_DECODE_SUPPORTED 0x0002 +#define EFI_BRIDGE_PMEM64_DECODE_SUPPORTED 0x0004 +#define EFI_BRIDGE_IO16_DECODE_SUPPORTED 0x0008 +#define EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED 0x0010 +#define EFI_BRIDGE_MEM64_DECODE_SUPPORTED 0x0020 +#define EFI_BRIDGE_MEM32_DECODE_SUPPORTED 0x0040 + +#define PCI_MAX_HOST_BRIDGE_NUM 0x0010 + +// +// Define option for attribute +// +#define EFI_SET_SUPPORTS 0 +#define EFI_SET_ATTRIBUTES 1 + +#define PCI_IO_DEVICE_SIGNATURE SIGNATURE_32 ('p', 'c', 'i', 'o') + +struct _PCI_IO_DEVICE { + UINT32 Signature; + EFI_HANDLE Handle; + EFI_PCI_IO_PROTOCOL PciIo; + LIST_ENTRY Link; + + EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL PciDriverOverride; + EFI_DEVICE_PATH_PROTOCOL *DevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + EFI_LOAD_FILE2_PROTOCOL LoadFile2; + + // + // PCI configuration space header type + // + PCI_TYPE00 Pci; + + // + // Bus number, Device number, Function number + // + UINT8 BusNumber; + UINT8 DeviceNumber; + UINT8 FunctionNumber; + + // + // BAR for this PCI Device + // + PCI_BAR PciBar[PCI_MAX_BAR]; + + // + // The bridge device this pci device is subject to + // + PCI_IO_DEVICE *Parent; + + // + // A linked list for children Pci Device if it is bridge device + // + LIST_ENTRY ChildList; + + // + // TRUE if the PCI bus driver creates the handle for this PCI device + // + BOOLEAN Registered; + + // + // TRUE if the PCI bus driver successfully allocates the resource required by + // this PCI device + // + BOOLEAN Allocated; + + // + // The attribute this PCI device currently set + // + UINT64 Attributes; + + // + // The attributes this PCI device actually supports + // + UINT64 Supports; + + // + // The resource decode the bridge supports + // + UINT32 Decodes; + + // + // TRUE if the ROM image is from the PCI Option ROM BAR + // + BOOLEAN EmbeddedRom; + + // + // The OptionRom Size + // + UINT32 RomSize; + + // + // TRUE if all OpROM (in device or in platform specific position) have been processed + // + BOOLEAN AllOpRomProcessed; + + // + // TRUE if there is any EFI driver in the OptionRom + // + BOOLEAN BusOverride; + + // + // A list tracking reserved resource on a bridge device + // + LIST_ENTRY ReservedResourceList; + + // + // A list tracking image handle of platform specific overriding driver + // + LIST_ENTRY OptionRomDriverList; + + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *ResourcePaddingDescriptors; + EFI_HPC_PADDING_ATTRIBUTES PaddingAttributes; + + // + // Bus number ranges for a PCI Root Bridge device + // + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; + + BOOLEAN IsPciExp; + // + // For SR-IOV + // + UINT8 PciExpressCapabilityOffset; + UINT32 AriCapabilityOffset; + UINT32 SrIovCapabilityOffset; + UINT32 MrIovCapabilityOffset; + PCI_BAR VfPciBar[PCI_MAX_BAR]; + UINT32 SystemPageSize; + UINT16 InitialVFs; + UINT16 ReservedBusNum; + // + // Per PCI to PCI Bridge spec, I/O window is 4K aligned, + // but some chipsets support non-standard I/O window alignments less than 4K. + // This field is used to support this case. + // + UINT16 BridgeIoAlignment; + UINT32 ResizableBarOffset; + UINT32 ResizableBarNumber; +}; + +#define PCI_IO_DEVICE_FROM_PCI_IO_THIS(a) \ + CR (a, PCI_IO_DEVICE, PciIo, PCI_IO_DEVICE_SIGNATURE) + +#define PCI_IO_DEVICE_FROM_PCI_DRIVER_OVERRIDE_THIS(a) \ + CR (a, PCI_IO_DEVICE, PciDriverOverride, PCI_IO_DEVICE_SIGNATURE) + +#define PCI_IO_DEVICE_FROM_LINK(a) \ + CR (a, PCI_IO_DEVICE, Link, PCI_IO_DEVICE_SIGNATURE) + +#define PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS(a) \ + CR (a, PCI_IO_DEVICE, LoadFile2, PCI_IO_DEVICE_SIGNATURE) + + + +// +// Global Variables +// +extern EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *gIncompatiblePciDeviceSupport; +extern EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName; +extern EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2; +extern BOOLEAN gFullEnumeration; +extern UINTN gPciHostBridgeNumber; +extern EFI_HANDLE gPciHostBrigeHandles[PCI_MAX_HOST_BRIDGE_NUM]; +extern UINT64 gAllOne; +extern UINT64 gAllZero; +extern EFI_PCI_PLATFORM_PROTOCOL *gPciPlatformProtocol; +extern EFI_PCI_OVERRIDE_PROTOCOL *gPciOverrideProtocol; +extern BOOLEAN mReserveIsaAliases; +extern BOOLEAN mReserveVgaAliases; + +/** + Macro that checks whether device is a GFX device. + + @param _p Specified device. + + @retval TRUE Device is a GFX device. + @retval FALSE Device is not a GFX device. + +**/ +#define IS_PCI_GFX(_p) IS_CLASS2 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_OTHER) + +/** + Test to see if this driver supports ControllerHandle. Any ControllerHandle + than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be supported. + + @param This Protocol instance pointer. + @param Controller Handle of device to test. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver supports this device. + @retval EFI_ALREADY_STARTED This driver is already running on this device. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingSupported ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ); + +/** + Start this driver on ControllerHandle and enumerate Pci bus and start + all device under PCI bus. + + @param This Protocol instance pointer. + @param Controller Handle of device to bind driver to. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver is added to ControllerHandle. + @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStart ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ); + +/** + Stop this driver on ControllerHandle. Support stopping any child handles + created by this driver. + + @param This Protocol instance pointer. + @param Controller Handle of device to stop driver on. + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of + children is zero stop the entire bus driver. + @param ChildHandleBuffer List of Child Handles to Stop. + + @retval EFI_SUCCESS This driver is removed ControllerHandle. + @retval other This driver was not removed from this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStop ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN UINTN NumberOfChildren, + IN EFI_HANDLE *ChildHandleBuffer + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf new file mode 100644 index 0000000000..9d999f973b --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf @@ -0,0 +1,112 @@ +## @file +# The PCI bus driver will probe all PCI devices and allocate MMIO and IO space for these devices. +# Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting. +# +# Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = PciBusDxe + MODULE_UNI_FILE = PciBusDxe.uni + FILE_GUID = 93B80004-9FB3-11d4-9A3A-0090273FC14D + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + ENTRY_POINT = PciBusEntryPoint + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 +# +# DRIVER_BINDING = gPciBusDriverBinding +# COMPONENT_NAME = gPciBusComponentName +# COMPONENT_NAME2 = gPciBusComponentName2 +# + +[Sources] + PciLib.c + PciIo.c + PciBus.c + PciDeviceSupport.c + ComponentName.c + ComponentName.h + PciCommand.c + PciResourceSupport.c + PciEnumeratorSupport.c + PciEnumerator.c + PciOptionRomSupport.c + PciDriverOverride.c + PciPowerManagement.c + PciPowerManagement.h + PciDriverOverride.h + PciRomTable.c + PciHotPlugSupport.c + PciLib.h + PciHotPlugSupport.h + PciRomTable.h + PciOptionRomSupport.h + PciEnumeratorSupport.h + PciEnumerator.h + PciResourceSupport.h + PciDeviceSupport.h + PciCommand.h + PciIo.h + PciBus.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + PcdLib + DevicePathLib + UefiBootServicesTableLib + MemoryAllocationLib + ReportStatusCodeLib + BaseMemoryLib + UefiLib + BaseLib + UefiDriverEntryPoint + DebugLib + +[Protocols] + gEfiPciHotPlugRequestProtocolGuid ## SOMETIMES_PRODUCES + gEfiPciIoProtocolGuid ## BY_START + gEfiDevicePathProtocolGuid ## BY_START + gEfiBusSpecificDriverOverrideProtocolGuid ## BY_START + gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES + gEfiDecompressProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciHotPlugInitProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciHostBridgeResourceAllocationProtocolGuid ## TO_START + gEfiPciPlatformProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciOverrideProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciEnumerationCompleteProtocolGuid ## PRODUCES + gEfiPciRootBridgeIoProtocolGuid ## TO_START + gEfiIncompatiblePciDeviceSupportProtocolGuid ## SOMETIMES_CONSUMES + gEfiLoadFile2ProtocolGuid ## SOMETIMES_PRODUCES + gEdkiiIoMmuProtocolGuid ## SOMETIMES_CONSUMES + gEdkiiDeviceSecurityProtocolGuid ## SOMETIMES_CONSUMES + gEdkiiDeviceIdentifierTypePciGuid ## SOMETIMES_CONSUMES + gEfiLoadedImageDevicePathProtocolGuid ## CONSUMES + +[FeaturePcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom ## CONSUMES + +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport ## CONSUMES + +[UserExtensions.TianoCore."ExtraFiles"] + PciBusDxeExtra.uni diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni new file mode 100644 index 0000000000..81bfc2c9ef --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni @@ -0,0 +1,16 @@ +// /** @file +// The PCI bus driver will probe all PCI devices and allocate MMIO and IO space for these devices. +// +// Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting. +// +// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> +// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Probes all PCI devices and allocate MMIO and IO space for these devices" + +#string STR_MODULE_DESCRIPTION #language en-US "Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting." + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni new file mode 100644 index 0000000000..f6a7cdae00 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni @@ -0,0 +1,14 @@ +// /** @file +// PciBusDxe Localized Strings and Content +// +// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> +// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"PCI Bus DXE Driver" + + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c new file mode 100644 index 0000000000..3111448643 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c @@ -0,0 +1,267 @@ +/** @file + PCI command register operations supporting functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + Operate the PCI register via PciIo function interface. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + @param Command Operator command. + @param Offset The address within the PCI configuration space for the PCI controller. + @param Operation Type of Operation. + @param PtrCommand Return buffer holding old PCI command, if operation is not EFI_SET_REGISTER. + + @return Status of PciIo operation. + +**/ +EFI_STATUS +PciOperateRegister ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT8 Offset, + IN UINT8 Operation, + OUT UINT16 *PtrCommand + ) +{ + UINT16 OldCommand; + EFI_STATUS Status; + EFI_PCI_IO_PROTOCOL *PciIo; + + OldCommand = 0; + PciIo = &PciIoDevice->PciIo; + + if (Operation != EFI_SET_REGISTER) { + Status = PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + Offset, + 1, + &OldCommand + ); + + if (Operation == EFI_GET_REGISTER) { + *PtrCommand = OldCommand; + return Status; + } + } + + if (Operation == EFI_ENABLE_REGISTER) { + OldCommand = (UINT16) (OldCommand | Command); + } else if (Operation == EFI_DISABLE_REGISTER) { + OldCommand = (UINT16) (OldCommand & ~(Command)); + } else { + OldCommand = Command; + } + + return PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + Offset, + 1, + &OldCommand + ); +} + +/** + Check the capability supporting by given device. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + + @retval TRUE Capability supported. + @retval FALSE Capability not supported. + +**/ +BOOLEAN +PciCapabilitySupport ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + if ((PciIoDevice->Pci.Hdr.Status & EFI_PCI_STATUS_CAPABILITY) != 0) { + return TRUE; + } + + return FALSE; +} + +/** + Locate capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocateCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 CapId, + IN OUT UINT8 *Offset, + OUT UINT8 *NextRegBlock OPTIONAL + ) +{ + UINT8 CapabilityPtr; + UINT16 CapabilityEntry; + UINT8 CapabilityID; + + // + // To check the capability of this device supports + // + if (!PciCapabilitySupport (PciIoDevice)) { + return EFI_UNSUPPORTED; + } + + if (*Offset != 0) { + CapabilityPtr = *Offset; + } else { + + CapabilityPtr = 0; + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + + PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint8, + EFI_PCI_CARDBUS_BRIDGE_CAPABILITY_PTR, + 1, + &CapabilityPtr + ); + } else { + + PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint8, + PCI_CAPBILITY_POINTER_OFFSET, + 1, + &CapabilityPtr + ); + } + } + + while ((CapabilityPtr >= 0x40) && ((CapabilityPtr & 0x03) == 0x00)) { + PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + CapabilityPtr, + 1, + &CapabilityEntry + ); + + CapabilityID = (UINT8) CapabilityEntry; + + if (CapabilityID == CapId) { + *Offset = CapabilityPtr; + if (NextRegBlock != NULL) { + *NextRegBlock = (UINT8) (CapabilityEntry >> 8); + } + + return EFI_SUCCESS; + } + + // + // Certain PCI device may incorrectly have capability pointing to itself, + // break to avoid dead loop. + // + if (CapabilityPtr == (UINT8) (CapabilityEntry >> 8)) { + break; + } + + CapabilityPtr = (UINT8) (CapabilityEntry >> 8); + } + + return EFI_NOT_FOUND; +} + +/** + Locate PciExpress capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocatePciExpressCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 CapId, + IN OUT UINT32 *Offset, + OUT UINT32 *NextRegBlock OPTIONAL + ) +{ + EFI_STATUS Status; + UINT32 CapabilityPtr; + UINT32 CapabilityEntry; + UINT16 CapabilityID; + + // + // To check the capability of this device supports + // + if (!PciIoDevice->IsPciExp) { + return EFI_UNSUPPORTED; + } + + if (*Offset != 0) { + CapabilityPtr = *Offset; + } else { + CapabilityPtr = EFI_PCIE_CAPABILITY_BASE_OFFSET; + } + + while (CapabilityPtr != 0) { + // + // Mask it to DWORD alignment per PCI spec + // + CapabilityPtr &= 0xFFC; + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint32, + CapabilityPtr, + 1, + &CapabilityEntry + ); + if (EFI_ERROR (Status)) { + break; + } + + if (CapabilityEntry == MAX_UINT32) { + DEBUG (( + DEBUG_WARN, + "%a: [%02x|%02x|%02x] failed to access config space at offset 0x%x\n", + __FUNCTION__, + PciIoDevice->BusNumber, + PciIoDevice->DeviceNumber, + PciIoDevice->FunctionNumber, + CapabilityPtr + )); + break; + } + + CapabilityID = (UINT16) CapabilityEntry; + + if (CapabilityID == CapId) { + *Offset = CapabilityPtr; + if (NextRegBlock != NULL) { + *NextRegBlock = (CapabilityEntry >> 20) & 0xFFF; + } + + return EFI_SUCCESS; + } + + CapabilityPtr = (CapabilityEntry >> 20) & 0xFFF; + } + + return EFI_NOT_FOUND; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h new file mode 100644 index 0000000000..5eabd56bf2 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h @@ -0,0 +1,232 @@ +/** @file + PCI command register operations supporting functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_COMMAND_H_ +#define _EFI_PCI_COMMAND_H_ + +// +// The PCI Command register bits owned by PCI Bus driver. +// +// They should be cleared at the beginning. The other registers +// are owned by chipset, we should not touch them. +// +#define EFI_PCI_COMMAND_BITS_OWNED ( \ + EFI_PCI_COMMAND_IO_SPACE | \ + EFI_PCI_COMMAND_MEMORY_SPACE | \ + EFI_PCI_COMMAND_BUS_MASTER | \ + EFI_PCI_COMMAND_MEMORY_WRITE_AND_INVALIDATE | \ + EFI_PCI_COMMAND_VGA_PALETTE_SNOOP | \ + EFI_PCI_COMMAND_FAST_BACK_TO_BACK \ + ) + +// +// The PCI Bridge Control register bits owned by PCI Bus driver. +// +// They should be cleared at the beginning. The other registers +// are owned by chipset, we should not touch them. +// +#define EFI_PCI_BRIDGE_CONTROL_BITS_OWNED ( \ + EFI_PCI_BRIDGE_CONTROL_ISA | \ + EFI_PCI_BRIDGE_CONTROL_VGA | \ + EFI_PCI_BRIDGE_CONTROL_VGA_16 | \ + EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK \ + ) + +// +// The PCCard Bridge Control register bits owned by PCI Bus driver. +// +// They should be cleared at the beginning. The other registers +// are owned by chipset, we should not touch them. +// +#define EFI_PCCARD_BRIDGE_CONTROL_BITS_OWNED ( \ + EFI_PCI_BRIDGE_CONTROL_ISA | \ + EFI_PCI_BRIDGE_CONTROL_VGA | \ + EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK \ + ) + + +#define EFI_GET_REGISTER 1 +#define EFI_SET_REGISTER 2 +#define EFI_ENABLE_REGISTER 3 +#define EFI_DISABLE_REGISTER 4 + +/** + Operate the PCI register via PciIo function interface. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + @param Command Operator command. + @param Offset The address within the PCI configuration space for the PCI controller. + @param Operation Type of Operation. + @param PtrCommand Return buffer holding old PCI command, if operation is not EFI_SET_REGISTER. + + @return Status of PciIo operation. + +**/ +EFI_STATUS +PciOperateRegister ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT8 Offset, + IN UINT8 Operation, + OUT UINT16 *PtrCommand + ); + +/** + Check the capability supporting by given device. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + + @retval TRUE Capability supported. + @retval FALSE Capability not supported. + +**/ +BOOLEAN +PciCapabilitySupport ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Locate capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocateCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 CapId, + IN OUT UINT8 *Offset, + OUT UINT8 *NextRegBlock OPTIONAL + ); + +/** + Locate PciExpress capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocatePciExpressCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 CapId, + IN OUT UINT32 *Offset, + OUT UINT32 *NextRegBlock OPTIONAL + ); + +/** + Macro that reads command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[out] Pointer to the 16-bit value read from command register. + + @return status of PciIo operation + +**/ +#define PCI_READ_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, 0, PCI_COMMAND_OFFSET, EFI_GET_REGISTER, b) + +/** + Macro that writes command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The 16-bit value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_SET_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, EFI_SET_REGISTER, NULL) + +/** + Macro that enables command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The enabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_ENABLE_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, EFI_ENABLE_REGISTER, NULL) + +/** + Macro that disables command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The disabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_DISABLE_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, EFI_DISABLE_REGISTER, NULL) + +/** + Macro that reads PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[out] The 16-bit value read from control register. + + @return status of PciIo operation + +**/ +#define PCI_READ_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, 0, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_GET_REGISTER, b) + +/** + Macro that writes PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The 16-bit value written into control register. + + @return status of PciIo operation + +**/ +#define PCI_SET_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_SET_REGISTER, NULL) + +/** + Macro that enables PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The enabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_ENABLE_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_ENABLE_REGISTER, NULL) + +/** + Macro that disables PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The disabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_DISABLE_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_DISABLE_REGISTER, NULL) + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c new file mode 100644 index 0000000000..7effbd5053 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c @@ -0,0 +1,1056 @@ +/** @file + Supporting functions implementation for PCI devices management. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2018 Hewlett Packard Enterprise Development LP<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// This device structure is serviced as a header. +// Its next field points to the first root bridge device node. +// +LIST_ENTRY mPciDevicePool; + +/** + Initialize the PCI devices pool. + +**/ +VOID +InitializePciDevicePool ( + VOID + ) +{ + InitializeListHead (&mPciDevicePool); +} + +/** + Insert a root bridge into PCI device pool. + + @param RootBridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +InsertRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ) +{ + InsertTailList (&mPciDevicePool, &(RootBridge->Link)); +} + +/** + This function is used to insert a PCI device node under + a bridge. + + @param Bridge The PCI bridge. + @param PciDeviceNode The PCI device needs inserting. + +**/ +VOID +InsertPciDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciDeviceNode + ) +{ + InsertTailList (&Bridge->ChildList, &(PciDeviceNode->Link)); + PciDeviceNode->Parent = Bridge; +} + +/** + Destroy root bridge and remove it from device tree. + + @param RootBridge The bridge want to be removed. + +**/ +VOID +DestroyRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ) +{ + DestroyPciDeviceTree (RootBridge); + + FreePciDevice (RootBridge); +} + +/** + Destroy a pci device node. + + All direct or indirect allocated resource for this node will be freed. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE to be destroyed. + +**/ +VOID +FreePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + ASSERT (PciIoDevice != NULL); + // + // Assume all children have been removed underneath this device + // + if (PciIoDevice->ResourcePaddingDescriptors != NULL) { + FreePool (PciIoDevice->ResourcePaddingDescriptors); + } + + if (PciIoDevice->DevicePath != NULL) { + FreePool (PciIoDevice->DevicePath); + } + + if (PciIoDevice->BusNumberRanges != NULL) { + FreePool (PciIoDevice->BusNumberRanges); + } + + FreePool (PciIoDevice); +} + +/** + Destroy all the pci device node under the bridge. + Bridge itself is not included. + + @param Bridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +DestroyPciDeviceTree ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + while (!IsListEmpty (&Bridge->ChildList)) { + + CurrentLink = Bridge->ChildList.ForwardLink; + + // + // Remove this node from the linked list + // + RemoveEntryList (CurrentLink); + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (!IsListEmpty (&Temp->ChildList)) { + DestroyPciDeviceTree (Temp); + } + + FreePciDevice (Temp); + } +} + +/** + Destroy all device nodes under the root bridge + specified by Controller. + + The root bridge itself is also included. + + @param Controller Root bridge handle. + + @retval EFI_SUCCESS Destroy all device nodes successfully. + @retval EFI_NOT_FOUND Cannot find any PCI device under specified + root bridge. + +**/ +EFI_STATUS +DestroyRootBridgeByHandle ( + IN EFI_HANDLE Controller + ) +{ + + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (Temp->Handle == Controller) { + + RemoveEntryList (CurrentLink); + + DestroyPciDeviceTree (Temp); + + FreePciDevice (Temp); + + return EFI_SUCCESS; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_NOT_FOUND; +} + +/** + This function registers the PCI IO device. + + It creates a handle for this PCI IO device (if the handle does not exist), attaches + appropriate protocols onto the handle, does necessary initialization, and sets up + parent/child relationship with its bus controller. + + @param Controller An EFI handle for the PCI bus controller. + @param PciIoDevice A PCI_IO_DEVICE pointer to the PCI IO device to be registered. + @param Handle A pointer to hold the returned EFI handle for the PCI IO device. + + @retval EFI_SUCCESS The PCI device is successfully registered. + @retval other An error occurred when registering the PCI device. + +**/ +EFI_STATUS +RegisterPciDevice ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *PciIoDevice, + OUT EFI_HANDLE *Handle OPTIONAL + ) +{ + EFI_STATUS Status; + VOID *PlatformOpRomBuffer; + UINTN PlatformOpRomSize; + EFI_PCI_IO_PROTOCOL *PciIo; + UINT8 Data8; + BOOLEAN HasEfiImage; + + // + // Install the pciio protocol, device path protocol + // + Status = gBS->InstallMultipleProtocolInterfaces ( + &PciIoDevice->Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Force Interrupt line to "Unknown" or "No Connection" + // + PciIo = &(PciIoDevice->PciIo); + Data8 = PCI_INT_LINE_UNKNOWN; + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &Data8); + + // + // Process OpRom + // + if (!PciIoDevice->AllOpRomProcessed) { + + // + // Get the OpRom provided by platform + // + if (gPciPlatformProtocol != NULL) { + Status = gPciPlatformProtocol->GetPciRom ( + gPciPlatformProtocol, + PciIoDevice->Handle, + &PlatformOpRomBuffer, + &PlatformOpRomSize + ); + if (!EFI_ERROR (Status)) { + PciIoDevice->EmbeddedRom = FALSE; + PciIoDevice->RomSize = (UINT32) PlatformOpRomSize; + PciIoDevice->PciIo.RomSize = PlatformOpRomSize; + PciIoDevice->PciIo.RomImage = PlatformOpRomBuffer; + // + // For OpROM read from gPciPlatformProtocol: + // Add the Rom Image to internal database for later PCI light enumeration + // + PciRomAddImageMapping ( + NULL, + PciIoDevice->PciRootBridgeIo->SegmentNumber, + PciIoDevice->BusNumber, + PciIoDevice->DeviceNumber, + PciIoDevice->FunctionNumber, + PciIoDevice->PciIo.RomImage, + PciIoDevice->PciIo.RomSize + ); + } + } else if (gPciOverrideProtocol != NULL) { + Status = gPciOverrideProtocol->GetPciRom ( + gPciOverrideProtocol, + PciIoDevice->Handle, + &PlatformOpRomBuffer, + &PlatformOpRomSize + ); + if (!EFI_ERROR (Status)) { + PciIoDevice->EmbeddedRom = FALSE; + PciIoDevice->RomSize = (UINT32) PlatformOpRomSize; + PciIoDevice->PciIo.RomSize = PlatformOpRomSize; + PciIoDevice->PciIo.RomImage = PlatformOpRomBuffer; + // + // For OpROM read from gPciOverrideProtocol: + // Add the Rom Image to internal database for later PCI light enumeration + // + PciRomAddImageMapping ( + NULL, + PciIoDevice->PciRootBridgeIo->SegmentNumber, + PciIoDevice->BusNumber, + PciIoDevice->DeviceNumber, + PciIoDevice->FunctionNumber, + PciIoDevice->PciIo.RomImage, + PciIoDevice->PciIo.RomSize + ); + } + } + } + + // + // Determine if there are EFI images in the option rom + // + HasEfiImage = ContainEfiImage (PciIoDevice->PciIo.RomImage, PciIoDevice->PciIo.RomSize); + + if (HasEfiImage) { + Status = gBS->InstallMultipleProtocolInterfaces ( + &PciIoDevice->Handle, + &gEfiLoadFile2ProtocolGuid, + &PciIoDevice->LoadFile2, + NULL + ); + if (EFI_ERROR (Status)) { + gBS->UninstallMultipleProtocolInterfaces ( + PciIoDevice->Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + return Status; + } + } + + + if (!PciIoDevice->AllOpRomProcessed) { + + PciIoDevice->AllOpRomProcessed = TRUE; + + // + // Dispatch the EFI OpRom for the PCI device. + // The OpRom is got from platform in the above code + // or loaded from device in the previous round of bus enumeration + // + if (HasEfiImage) { + ProcessOpRomImage (PciIoDevice); + } + } + + if (PciIoDevice->BusOverride) { + // + // Install Bus Specific Driver Override Protocol + // + Status = gBS->InstallMultipleProtocolInterfaces ( + &PciIoDevice->Handle, + &gEfiBusSpecificDriverOverrideProtocolGuid, + &PciIoDevice->PciDriverOverride, + NULL + ); + if (EFI_ERROR (Status)) { + gBS->UninstallMultipleProtocolInterfaces ( + PciIoDevice->Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + if (HasEfiImage) { + gBS->UninstallMultipleProtocolInterfaces ( + PciIoDevice->Handle, + &gEfiLoadFile2ProtocolGuid, + &PciIoDevice->LoadFile2, + NULL + ); + } + + return Status; + } + } + + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &(PciIoDevice->PciRootBridgeIo), + gPciBusDriverBinding.DriverBindingHandle, + PciIoDevice->Handle, + EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER + ); + if (EFI_ERROR (Status)) { + return Status; + } + + if (Handle != NULL) { + *Handle = PciIoDevice->Handle; + } + + // + // Indicate the pci device is registered + // + PciIoDevice->Registered = TRUE; + + return EFI_SUCCESS; +} + +/** + This function is used to remove the whole PCI devices on the specified bridge from + the root bridge. + + @param RootBridgeHandle The root bridge device handle. + @param Bridge The bridge device to be removed. + +**/ +VOID +RemoveAllPciDeviceOnBridge ( + EFI_HANDLE RootBridgeHandle, + PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + while (!IsListEmpty (&Bridge->ChildList)) { + + CurrentLink = Bridge->ChildList.ForwardLink; + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + // + // Check if the current node has been deregistered before + // If it is not, then deregister it + // + if (Temp->Registered) { + DeRegisterPciDevice (RootBridgeHandle, Temp->Handle); + } + + // + // Remove this node from the linked list + // + RemoveEntryList (CurrentLink); + + if (!IsListEmpty (&Temp->ChildList)) { + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Temp); + } + + FreePciDevice (Temp); + } +} + +/** + This function is used to de-register the PCI IO device. + + That includes un-installing PciIo protocol from the specified PCI + device handle. + + @param Controller An EFI handle for the PCI bus controller. + @param Handle PCI device handle. + + @retval EFI_SUCCESS The PCI device is successfully de-registered. + @retval other An error occurred when de-registering the PCI device. + +**/ +EFI_STATUS +DeRegisterPciDevice ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE Handle + ) + +{ + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + PCI_IO_DEVICE *Node; + LIST_ENTRY *CurrentLink; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + Status = gBS->OpenProtocol ( + Handle, + &gEfiPciIoProtocolGuid, + (VOID **) &PciIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + if (!EFI_ERROR (Status)) { + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (PciIo); + + // + // If it is already de-registered + // + if (!PciIoDevice->Registered) { + return EFI_SUCCESS; + } + + // + // If it is PPB, first de-register its children + // + + if (!IsListEmpty (&PciIoDevice->ChildList)) { + + CurrentLink = PciIoDevice->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + Node = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + Status = DeRegisterPciDevice (Controller, Node->Handle); + + if (EFI_ERROR (Status)) { + return Status; + } + + CurrentLink = CurrentLink->ForwardLink; + } + } + + // + // Close the child handle + // + Status = gBS->CloseProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + gPciBusDriverBinding.DriverBindingHandle, + Handle + ); + + // + // Un-install the Device Path protocol and PCI I/O protocol + // and Bus Specific Driver Override protocol if needed. + // + if (PciIoDevice->BusOverride) { + Status = gBS->UninstallMultipleProtocolInterfaces ( + Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + &gEfiBusSpecificDriverOverrideProtocolGuid, + &PciIoDevice->PciDriverOverride, + NULL + ); + } else { + Status = gBS->UninstallMultipleProtocolInterfaces ( + Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + } + + if (!EFI_ERROR (Status)) { + // + // Try to uninstall LoadFile2 protocol if exists + // + Status = gBS->OpenProtocol ( + Handle, + &gEfiLoadFile2ProtocolGuid, + NULL, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_TEST_PROTOCOL + ); + if (!EFI_ERROR (Status)) { + Status = gBS->UninstallMultipleProtocolInterfaces ( + Handle, + &gEfiLoadFile2ProtocolGuid, + &PciIoDevice->LoadFile2, + NULL + ); + } + // + // Restore Status + // + Status = EFI_SUCCESS; + } + + + if (EFI_ERROR (Status)) { + gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + Handle, + EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER + ); + return Status; + } + + // + // The Device Driver should disable this device after disconnect + // so the Pci Bus driver will not touch this device any more. + // Restore the register field to the original value + // + PciIoDevice->Registered = FALSE; + PciIoDevice->Handle = NULL; + } else { + + // + // Handle may be closed before + // + return EFI_SUCCESS; + } + + return EFI_SUCCESS; +} + +/** + Start to manage the PCI device on the specified root bridge or PCI-PCI Bridge. + + @param Controller The root bridge handle. + @param RootBridge A pointer to the PCI_IO_DEVICE. + @param RemainingDevicePath A pointer to the EFI_DEVICE_PATH_PROTOCOL. + @param NumberOfChildren Children number. + @param ChildHandleBuffer A pointer to the child handle buffer. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_UNSUPPORTED Device only support PCI-PCI bridge. + @retval EFI_NOT_FOUND Can not find the specific device. + @retval EFI_SUCCESS Success to start Pci devices on bridge. + +**/ +EFI_STATUS +StartPciDevicesOnBridge ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *RootBridge, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE *ChildHandleBuffer + ) + +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_DEV_PATH_PTR Node; + EFI_DEVICE_PATH_PROTOCOL *CurrentDevicePath; + EFI_STATUS Status; + LIST_ENTRY *CurrentLink; + UINT64 Supports; + + PciIoDevice = NULL; + CurrentLink = RootBridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &RootBridge->ChildList) { + + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (RemainingDevicePath != NULL) { + + Node.DevPath = RemainingDevicePath; + + if (Node.Pci->Device != PciIoDevice->DeviceNumber || + Node.Pci->Function != PciIoDevice->FunctionNumber) { + CurrentLink = CurrentLink->ForwardLink; + continue; + } + + // + // Check if the device has been assigned with required resource + // + if (!PciIoDevice->Allocated) { + return EFI_NOT_READY; + } + + // + // Check if the current node has been registered before + // If it is not, register it + // + if (!PciIoDevice->Registered) { + Status = RegisterPciDevice ( + Controller, + PciIoDevice, + NULL + ); + + } + + if (NumberOfChildren != NULL && ChildHandleBuffer != NULL && PciIoDevice->Registered) { + ChildHandleBuffer[*NumberOfChildren] = PciIoDevice->Handle; + (*NumberOfChildren)++; + } + + // + // Get the next device path + // + CurrentDevicePath = NextDevicePathNode (RemainingDevicePath); + if (IsDevicePathEnd (CurrentDevicePath)) { + return EFI_SUCCESS; + } + + // + // If it is a PPB + // + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + Status = StartPciDevicesOnBridge ( + Controller, + PciIoDevice, + CurrentDevicePath, + NumberOfChildren, + ChildHandleBuffer + ); + + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationSupported, + 0, + &Supports + ); + Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE; + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationEnable, + Supports, + NULL + ); + + return Status; + } else { + + // + // Currently, the PCI bus driver only support PCI-PCI bridge + // + return EFI_UNSUPPORTED; + } + + } else { + + // + // If remaining device path is NULL, + // try to enable all the pci devices under this bridge + // + if (!PciIoDevice->Registered && PciIoDevice->Allocated) { + Status = RegisterPciDevice ( + Controller, + PciIoDevice, + NULL + ); + + } + + if (NumberOfChildren != NULL && ChildHandleBuffer != NULL && PciIoDevice->Registered) { + ChildHandleBuffer[*NumberOfChildren] = PciIoDevice->Handle; + (*NumberOfChildren)++; + } + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + Status = StartPciDevicesOnBridge ( + Controller, + PciIoDevice, + RemainingDevicePath, + NumberOfChildren, + ChildHandleBuffer + ); + + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationSupported, + 0, + &Supports + ); + Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE; + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationEnable, + Supports, + NULL + ); + + } + + CurrentLink = CurrentLink->ForwardLink; + } + } + + if (PciIoDevice == NULL) { + return EFI_NOT_FOUND; + } else { + return EFI_SUCCESS; + } +} + +/** + Start to manage all the PCI devices it found previously under + the entire host bridge. + + @param Controller The root bridge handle. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_SUCCESS Success to start Pci device on host bridge. + +**/ +EFI_STATUS +StartPciDevices ( + IN EFI_HANDLE Controller + ) +{ + PCI_IO_DEVICE *RootBridge; + EFI_HANDLE ThisHostBridge; + LIST_ENTRY *CurrentLink; + + RootBridge = GetRootBridgeByHandle (Controller); + ASSERT (RootBridge != NULL); + ThisHostBridge = RootBridge->PciRootBridgeIo->ParentHandle; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + + RootBridge = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + // + // Locate the right root bridge to start + // + if (RootBridge->PciRootBridgeIo->ParentHandle == ThisHostBridge) { + StartPciDevicesOnBridge ( + RootBridge->Handle, + RootBridge, + NULL, + NULL, + NULL + ); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_SUCCESS; +} + +/** + Create root bridge device. + + @param RootBridgeHandle Specified root bridge handle. + + @return The crated root bridge device instance, NULL means no + root bridge device instance created. + +**/ +PCI_IO_DEVICE * +CreateRootBridge ( + IN EFI_HANDLE RootBridgeHandle + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *Dev; + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + Dev = AllocateZeroPool (sizeof (PCI_IO_DEVICE)); + if (Dev == NULL) { + return NULL; + } + + Dev->Signature = PCI_IO_DEVICE_SIGNATURE; + Dev->Handle = RootBridgeHandle; + InitializeListHead (&Dev->ChildList); + + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiDevicePathProtocolGuid, + (VOID **) &ParentDevicePath, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + FreePool (Dev); + return NULL; + } + + // + // Record the root bridge parent device path + // + Dev->DevicePath = DuplicateDevicePath (ParentDevicePath); + + // + // Get the pci root bridge io protocol + // + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + FreePciDevice (Dev); + return NULL; + } + + Dev->PciRootBridgeIo = PciRootBridgeIo; + + // + // Initialize the PCI I/O instance structure + // + InitializePciIoInstance (Dev); + InitializePciDriverOverrideInstance (Dev); + InitializePciLoadFile2 (Dev); + + // + // Initialize reserved resource list and + // option rom driver list + // + InitializeListHead (&Dev->ReservedResourceList); + InitializeListHead (&Dev->OptionRomDriverList); + + return Dev; +} + +/** + Get root bridge device instance by specific root bridge handle. + + @param RootBridgeHandle Given root bridge handle. + + @return The root bridge device instance, NULL means no root bridge + device instance found. + +**/ +PCI_IO_DEVICE * +GetRootBridgeByHandle ( + EFI_HANDLE RootBridgeHandle + ) +{ + PCI_IO_DEVICE *RootBridgeDev; + LIST_ENTRY *CurrentLink; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + + RootBridgeDev = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (RootBridgeDev->Handle == RootBridgeHandle) { + return RootBridgeDev; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return NULL; +} + +/** + Judge whether Pci device existed. + + @param Bridge Parent bridge instance. + @param PciIoDevice Device instance. + + @retval TRUE Pci device existed. + @retval FALSE Pci device did not exist. + +**/ +BOOLEAN +PciDeviceExisted ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (Temp == PciIoDevice) { + return TRUE; + } + + if (!IsListEmpty (&Temp->ChildList)) { + if (PciDeviceExisted (Temp, PciIoDevice)) { + return TRUE; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return FALSE; +} + +/** + Get the active VGA device on the specified Host Bridge. + + @param HostBridgeHandle Host Bridge handle. + + @return The active VGA device on the specified Host Bridge. + +**/ +PCI_IO_DEVICE * +LocateVgaDeviceOnHostBridge ( + IN EFI_HANDLE HostBridgeHandle + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *PciIoDevice; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (PciIoDevice->PciRootBridgeIo->ParentHandle== HostBridgeHandle) { + + PciIoDevice = LocateVgaDevice (PciIoDevice); + + if (PciIoDevice != NULL) { + return PciIoDevice; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return NULL; +} + +/** + Locate the active VGA device under the bridge. + + @param Bridge PCI IO instance for the bridge. + + @return The active VGA device. + +**/ +PCI_IO_DEVICE * +LocateVgaDevice ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *PciIoDevice; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_PCI_VGA(&PciIoDevice->Pci) && + (PciIoDevice->Attributes & + (EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | + EFI_PCI_IO_ATTRIBUTE_VGA_IO | + EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { + return PciIoDevice; + } + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + + PciIoDevice = LocateVgaDevice (PciIoDevice); + + if (PciIoDevice != NULL) { + return PciIoDevice; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return NULL; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h new file mode 100644 index 0000000000..acc0edc0bb --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h @@ -0,0 +1,266 @@ +/** @file + Supporting functions declaration for PCI devices management. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_DEVICE_SUPPORT_H_ +#define _EFI_PCI_DEVICE_SUPPORT_H_ + +/** + Initialize the PCI devices pool. + +**/ +VOID +InitializePciDevicePool ( + VOID + ); + +/** + Insert a root bridge into PCI device pool. + + @param RootBridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +InsertRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ); + +/** + This function is used to insert a PCI device node under + a bridge. + + @param Bridge The PCI bridge. + @param PciDeviceNode The PCI device needs inserting. + +**/ +VOID +InsertPciDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciDeviceNode + ); + +/** + Destroy root bridge and remove it from device tree. + + @param RootBridge The bridge want to be removed. + +**/ +VOID +DestroyRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ); + +/** + Destroy all the pci device node under the bridge. + Bridge itself is not included. + + @param Bridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +DestroyPciDeviceTree ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Destroy all device nodes under the root bridge + specified by Controller. + + The root bridge itself is also included. + + @param Controller Root bridge handle. + + @retval EFI_SUCCESS Destroy all device nodes successfully. + @retval EFI_NOT_FOUND Cannot find any PCI device under specified + root bridge. + +**/ +EFI_STATUS +DestroyRootBridgeByHandle ( + IN EFI_HANDLE Controller + ); + +/** + This function registers the PCI IO device. + + It creates a handle for this PCI IO device (if the handle does not exist), attaches + appropriate protocols onto the handle, does necessary initialization, and sets up + parent/child relationship with its bus controller. + + @param Controller An EFI handle for the PCI bus controller. + @param PciIoDevice A PCI_IO_DEVICE pointer to the PCI IO device to be registered. + @param Handle A pointer to hold the returned EFI handle for the PCI IO device. + + @retval EFI_SUCCESS The PCI device is successfully registered. + @retval other An error occurred when registering the PCI device. + +**/ +EFI_STATUS +RegisterPciDevice ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *PciIoDevice, + OUT EFI_HANDLE *Handle OPTIONAL + ); + +/** + This function is used to remove the whole PCI devices on the specified bridge from + the root bridge. + + @param RootBridgeHandle The root bridge device handle. + @param Bridge The bridge device to be removed. + +**/ +VOID +RemoveAllPciDeviceOnBridge ( + EFI_HANDLE RootBridgeHandle, + PCI_IO_DEVICE *Bridge + ); + +/** + This function is used to de-register the PCI IO device. + + That includes un-installing PciIo protocol from the specified PCI + device handle. + + @param Controller An EFI handle for the PCI bus controller. + @param Handle PCI device handle. + + @retval EFI_SUCCESS The PCI device is successfully de-registered. + @retval other An error occurred when de-registering the PCI device. + +**/ +EFI_STATUS +DeRegisterPciDevice ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE Handle + ); + +/** + Start to manage the PCI device on the specified root bridge or PCI-PCI Bridge. + + @param Controller The root bridge handle. + @param RootBridge A pointer to the PCI_IO_DEVICE. + @param RemainingDevicePath A pointer to the EFI_DEVICE_PATH_PROTOCOL. + @param NumberOfChildren Children number. + @param ChildHandleBuffer A pointer to the child handle buffer. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_UNSUPPORTED Device only support PCI-PCI bridge. + @retval EFI_NOT_FOUND Can not find the specific device. + @retval EFI_SUCCESS Success to start Pci devices on bridge. + +**/ +EFI_STATUS +StartPciDevicesOnBridge ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *RootBridge, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE *ChildHandleBuffer + ); + +/** + Start to manage all the PCI devices it found previously under + the entire host bridge. + + @param Controller The root bridge handle. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_SUCCESS Success to start Pci device on host bridge. + +**/ +EFI_STATUS +StartPciDevices ( + IN EFI_HANDLE Controller + ); + +/** + Create root bridge device. + + @param RootBridgeHandle Specified root bridge handle. + + @return The crated root bridge device instance, NULL means no + root bridge device instance created. + +**/ +PCI_IO_DEVICE * +CreateRootBridge ( + IN EFI_HANDLE RootBridgeHandle + ); + +/** + Get root bridge device instance by specific root bridge handle. + + @param RootBridgeHandle Given root bridge handle. + + @return The root bridge device instance, NULL means no root bridge + device instance found. + +**/ +PCI_IO_DEVICE * +GetRootBridgeByHandle ( + EFI_HANDLE RootBridgeHandle + ); + + +/** + Judge whether Pci device existed. + + @param Bridge Parent bridge instance. + @param PciIoDevice Device instance. + + @retval TRUE Pci device existed. + @retval FALSE Pci device did not exist. + +**/ +BOOLEAN +PciDeviceExisted ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Get the active VGA device on the specified Host Bridge. + + @param HostBridgeHandle Host Bridge handle. + + @return The active VGA device on the specified Host Bridge. + +**/ +PCI_IO_DEVICE * +LocateVgaDeviceOnHostBridge ( + IN EFI_HANDLE HostBridgeHandle + ); + +/** + Locate the active VGA device under the bridge. + + @param Bridge PCI IO instance for the bridge. + + @return The active VGA device. + +**/ +PCI_IO_DEVICE * +LocateVgaDevice ( + IN PCI_IO_DEVICE *Bridge + ); + + +/** + Destroy a pci device node. + + All direct or indirect allocated resource for this node will be freed. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE to be destroyed. + +**/ +VOID +FreePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c new file mode 100644 index 0000000000..0c3f684c8c --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c @@ -0,0 +1,188 @@ +/** @file + Functions implementation for Bus Specific Driver Override protocol. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + Initializes a PCI Driver Override Instance. + + @param PciIoDevice PCI Device instance. + +**/ +VOID +InitializePciDriverOverrideInstance ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ) +{ + PciIoDevice->PciDriverOverride.GetDriver = GetDriver; +} + +/** + Find the image handle whose path equals to ImagePath. + + @param ImagePath Image path. + + @return Image handle. +**/ +EFI_HANDLE +LocateImageHandle ( + IN EFI_DEVICE_PATH_PROTOCOL *ImagePath + ) +{ + EFI_STATUS Status; + EFI_HANDLE *Handles; + UINTN Index; + UINTN HandleNum; + EFI_DEVICE_PATH_PROTOCOL *DevicePath; + UINTN ImagePathSize; + EFI_HANDLE ImageHandle; + + Status = gBS->LocateHandleBuffer ( + ByProtocol, + &gEfiLoadedImageDevicePathProtocolGuid, + NULL, + &HandleNum, + &Handles + ); + if (EFI_ERROR (Status)) { + return NULL; + } + + ImageHandle = NULL; + ImagePathSize = GetDevicePathSize (ImagePath); + + for (Index = 0; Index < HandleNum; Index++) { + Status = gBS->HandleProtocol (Handles[Index], &gEfiLoadedImageDevicePathProtocolGuid, (VOID **) &DevicePath); + if (EFI_ERROR (Status)) { + continue; + } + if ((ImagePathSize == GetDevicePathSize (DevicePath)) && + (CompareMem (ImagePath, DevicePath, ImagePathSize) == 0) + ) { + ImageHandle = Handles[Index]; + break; + } + } + + FreePool (Handles); + return ImageHandle; +} + +/** + Uses a bus specific algorithm to retrieve a driver image handle for a controller. + + @param This A pointer to the EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance. + @param DriverImageHandle On input, a pointer to the previous driver image handle returned + by GetDriver(). On output, a pointer to the next driver + image handle. Passing in a NULL, will return the first driver + image handle. + + @retval EFI_SUCCESS A bus specific override driver is returned in DriverImageHandle. + @retval EFI_NOT_FOUND The end of the list of override drivers was reached. + A bus specific override driver is not returned in DriverImageHandle. + @retval EFI_INVALID_PARAMETER DriverImageHandle is not a handle that was returned on a + previous call to GetDriver(). + +**/ +EFI_STATUS +EFIAPI +GetDriver ( + IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This, + IN OUT EFI_HANDLE *DriverImageHandle + ) +{ + PCI_IO_DEVICE *PciIoDevice; + LIST_ENTRY *Link; + PCI_DRIVER_OVERRIDE_LIST *Override; + BOOLEAN ReturnNext; + + Override = NULL; + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_DRIVER_OVERRIDE_THIS (This); + ReturnNext = (BOOLEAN) (*DriverImageHandle == NULL); + for ( Link = GetFirstNode (&PciIoDevice->OptionRomDriverList) + ; !IsNull (&PciIoDevice->OptionRomDriverList, Link) + ; Link = GetNextNode (&PciIoDevice->OptionRomDriverList, Link) + ) { + + Override = DRIVER_OVERRIDE_FROM_LINK (Link); + + if (ReturnNext) { + if (Override->DriverImageHandle == NULL) { + Override->DriverImageHandle = LocateImageHandle (Override->DriverImagePath); + } + + if (Override->DriverImageHandle == NULL) { + // + // The Option ROM identified by Override->DriverImagePath is not loaded. + // + continue; + } else { + *DriverImageHandle = Override->DriverImageHandle; + return EFI_SUCCESS; + } + } + + if (*DriverImageHandle == Override->DriverImageHandle) { + ReturnNext = TRUE; + } + } + + ASSERT (IsNull (&PciIoDevice->OptionRomDriverList, Link)); + // + // ReturnNext indicates a handle match happens. + // If all nodes are checked without handle match happening, + // the DriverImageHandle should be a invalid handle. + // + if (ReturnNext) { + return EFI_NOT_FOUND; + } else { + return EFI_INVALID_PARAMETER; + } +} + +/** + Add an overriding driver image. + + @param PciIoDevice Instance of PciIo device. + @param DriverImageHandle Image handle of newly added driver image. + @param DriverImagePath Device path of newly added driver image. + + @retval EFI_SUCCESS Successfully added driver. + @retval EFI_OUT_OF_RESOURCES No memory resource for new driver instance. + @retval other Some error occurred when locating gEfiLoadedImageProtocolGuid. + +**/ +EFI_STATUS +AddDriver ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_HANDLE DriverImageHandle, + IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath + ) +{ + PCI_DRIVER_OVERRIDE_LIST *Node; + + // + // Caller should pass in either Image Handle or Image Path, but not both. + // + ASSERT ((DriverImageHandle == NULL) || (DriverImagePath == NULL)); + + Node = AllocateZeroPool (sizeof (PCI_DRIVER_OVERRIDE_LIST)); + if (Node == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + Node->Signature = DRIVER_OVERRIDE_SIGNATURE; + Node->DriverImageHandle = DriverImageHandle; + Node->DriverImagePath = DuplicateDevicePath (DriverImagePath); + + InsertTailList (&PciIoDevice->OptionRomDriverList, &Node->Link); + + PciIoDevice->BusOverride = TRUE; + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h new file mode 100644 index 0000000000..ab058fa762 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h @@ -0,0 +1,83 @@ +/** @file + Functions declaration for Bus Specific Driver Override protocol. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_DRIVER_OVERRRIDE_H_ +#define _EFI_PCI_DRIVER_OVERRRIDE_H_ + +#define DRIVER_OVERRIDE_SIGNATURE SIGNATURE_32 ('d', 'r', 'o', 'v') + +// +// PCI driver override driver image list +// +typedef struct { + UINT32 Signature; + LIST_ENTRY Link; + EFI_HANDLE DriverImageHandle; + EFI_DEVICE_PATH_PROTOCOL *DriverImagePath; +} PCI_DRIVER_OVERRIDE_LIST; + + +#define DRIVER_OVERRIDE_FROM_LINK(a) \ + CR (a, PCI_DRIVER_OVERRIDE_LIST, Link, DRIVER_OVERRIDE_SIGNATURE) + +/** + Initializes a PCI Driver Override Instance. + + @param PciIoDevice PCI Device instance. + +**/ +VOID +InitializePciDriverOverrideInstance ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ); + +/** + Add an overriding driver image. + + @param PciIoDevice Instance of PciIo device. + @param DriverImageHandle Image handle of newly added driver image. + @param DriverImagePath Device path of newly added driver image. + + @retval EFI_SUCCESS Successfully added driver. + @retval EFI_OUT_OF_RESOURCES No memory resource for new driver instance. + @retval other Some error occurred when locating gEfiLoadedImageProtocolGuid. + +**/ +EFI_STATUS +AddDriver ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_HANDLE DriverImageHandle, + IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath + ); + + +/** + Uses a bus specific algorithm to retrieve a driver image handle for a controller. + + @param This A pointer to the EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance. + @param DriverImageHandle On input, a pointer to the previous driver image handle returned + by GetDriver(). On output, a pointer to the next driver + image handle. Passing in a NULL, will return the first driver + image handle. + + @retval EFI_SUCCESS A bus specific override driver is returned in DriverImageHandle. + @retval EFI_NOT_FOUND The end of the list of override drivers was reached. + A bus specific override driver is not returned in DriverImageHandle. + @retval EFI_INVALID_PARAMETER DriverImageHandle is not a handle that was returned on a + previous call to GetDriver(). + +**/ +EFI_STATUS +EFIAPI +GetDriver ( + IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This, + IN OUT EFI_HANDLE *DriverImageHandle + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c new file mode 100644 index 0000000000..4e1c328b7e --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c @@ -0,0 +1,2210 @@ +/** @file + PCI eunmeration implementation on entire PCI bus system for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + @param Controller Parent controller handle. + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumerator ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE HostBridgeHandle + ) +{ + EFI_STATUS Status; + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc; + + // + // Get the pci host bridge resource allocation protocol + // + Status = gBS->OpenProtocol ( + HostBridgeHandle, + &gEfiPciHostBridgeResourceAllocationProtocolGuid, + (VOID **) &PciResAlloc, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Notify the pci bus enumeration is about to begin + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginEnumeration); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Start the bus allocation phase + // + Status = PciHostBridgeEnumerator (PciResAlloc); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Submit the resource request + // + Status = PciHostBridgeResourceAllocator (PciResAlloc); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Notify the pci bus enumeration is about to complete + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeEndEnumeration); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Process P2C + // + Status = PciHostBridgeP2CProcess (PciResAlloc); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Process attributes for devices on this host bridge + // + Status = PciHostBridgeDeviceAttribute (PciResAlloc); + if (EFI_ERROR (Status)) { + return Status; + } + + return EFI_SUCCESS; +} + +/** + Enumerate PCI root bridge. + + @param PciResAlloc Pointer to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + @param RootBridgeDev Instance of root bridge device. + + @retval EFI_SUCCESS Successfully enumerated root bridge. + @retval other Failed to enumerate root bridge. + +**/ +EFI_STATUS +PciRootBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + EFI_STATUS Status; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration1; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration2; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration3; + UINT8 SubBusNumber; + UINT8 StartBusNumber; + UINT8 PaddedBusRange; + EFI_HANDLE RootBridgeHandle; + UINT8 Desc; + UINT64 AddrLen; + UINT64 AddrRangeMin; + + SubBusNumber = 0; + StartBusNumber = 0; + PaddedBusRange = 0; + + // + // Get the root bridge handle + // + RootBridgeHandle = RootBridgeDev->Handle; + + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_PCI_BUS_ENUM, + RootBridgeDev->DevicePath + ); + + // + // Get the Bus information + // + Status = PciResAlloc->StartBusEnumeration ( + PciResAlloc, + RootBridgeHandle, + (VOID **) &Configuration + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + if (Configuration == NULL || Configuration->Desc == ACPI_END_TAG_DESCRIPTOR) { + return EFI_INVALID_PARAMETER; + } + RootBridgeDev->BusNumberRanges = Configuration; + + // + // Sort the descriptors in ascending order + // + for (Configuration1 = Configuration; Configuration1->Desc != ACPI_END_TAG_DESCRIPTOR; Configuration1++) { + Configuration2 = Configuration1; + for (Configuration3 = Configuration1 + 1; Configuration3->Desc != ACPI_END_TAG_DESCRIPTOR; Configuration3++) { + if (Configuration2->AddrRangeMin > Configuration3->AddrRangeMin) { + Configuration2 = Configuration3; + } + } + // + // All other fields other than AddrRangeMin and AddrLen are ignored in a descriptor, + // so only need to swap these two fields. + // + if (Configuration2 != Configuration1) { + AddrRangeMin = Configuration1->AddrRangeMin; + Configuration1->AddrRangeMin = Configuration2->AddrRangeMin; + Configuration2->AddrRangeMin = AddrRangeMin; + + AddrLen = Configuration1->AddrLen; + Configuration1->AddrLen = Configuration2->AddrLen; + Configuration2->AddrLen = AddrLen; + } + } + + // + // Get the bus number to start with + // + StartBusNumber = (UINT8) (Configuration->AddrRangeMin); + + // + // Initialize the subordinate bus number + // + SubBusNumber = StartBusNumber; + + // + // Reset all assigned PCI bus number + // + ResetAllPpbBusNumber ( + RootBridgeDev, + StartBusNumber + ); + + // + // Assign bus number + // + Status = PciScanBus ( + RootBridgeDev, + StartBusNumber, + &SubBusNumber, + &PaddedBusRange + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + + // + // Assign max bus number scanned + // + + Status = PciAllocateBusNumber (RootBridgeDev, SubBusNumber, PaddedBusRange, &SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Find the bus range which contains the higest bus number, then returns the number of buses + // that should be decoded. + // + while (Configuration->AddrRangeMin + Configuration->AddrLen - 1 < SubBusNumber) { + Configuration++; + } + AddrLen = Configuration->AddrLen; + Configuration->AddrLen = SubBusNumber - Configuration->AddrRangeMin + 1; + + // + // Save the Desc field of the next descriptor. Mark the next descriptor as an END descriptor. + // + Configuration++; + Desc = Configuration->Desc; + Configuration->Desc = ACPI_END_TAG_DESCRIPTOR; + + // + // Set bus number + // + Status = PciResAlloc->SetBusNumbers ( + PciResAlloc, + RootBridgeHandle, + RootBridgeDev->BusNumberRanges + ); + + // + // Restore changed fields + // + Configuration->Desc = Desc; + (Configuration - 1)->AddrLen = AddrLen; + + return Status; +} + +/** + This routine is used to process all PCI devices' Option Rom + on a certain root bridge. + + @param Bridge Given parent's root bridge. + @param RomBase Base address of ROM driver loaded from. + @param MaxLength Maximum rom size. + +**/ +VOID +ProcessOptionRom ( + IN PCI_IO_DEVICE *Bridge, + IN UINT64 RomBase, + IN UINT64 MaxLength + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + // + // Go through bridges to reach all devices + // + CurrentLink = Bridge->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (!IsListEmpty (&Temp->ChildList)) { + + // + // Go further to process the option rom under this bridge + // + ProcessOptionRom (Temp, RomBase, MaxLength); + } + + if (Temp->RomSize != 0 && Temp->RomSize <= MaxLength) { + + // + // Load and process the option rom + // + LoadOpRomImage (Temp, RomBase); + } + + CurrentLink = CurrentLink->ForwardLink; + } +} + +/** + This routine is used to assign bus number to the given PCI bus system + + @param Bridge Parent root bridge instance. + @param StartBusNumber Number of beginning. + @param SubBusNumber The number of sub bus. + + @retval EFI_SUCCESS Successfully assigned bus number. + @retval EFI_DEVICE_ERROR Failed to assign bus number. + +**/ +EFI_STATUS +PciAssignBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT8 Func; + UINT64 Address; + UINTN SecondBus; + UINT16 Register; + UINT8 Register8; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + PciRootBridgeIo = Bridge->PciRootBridgeIo; + + SecondBus = 0; + Register = 0; + + *SubBusNumber = StartBusNumber; + + // + // First check to see whether the parent is ppb + // + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether a pci device is present + // + Status = PciDevicePresent ( + PciRootBridgeIo, + &Pci, + StartBusNumber, + Device, + Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (!EFI_ERROR (Status) && + (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci))) { + + // + // Reserved one bus for cardbus bridge + // + Status = PciAllocateBusNumber (Bridge, *SubBusNumber, 1, SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + SecondBus = *SubBusNumber; + + Register = (UINT16) ((SecondBus << 8) | (UINT16) StartBusNumber); + + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x18); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint16, + Address, + 1, + &Register + ); + + // + // Initialize SubBusNumber to SecondBus + // + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x1A); + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + SubBusNumber + ); + // + // If it is PPB, resursively search down this bridge + // + if (IS_PCI_BRIDGE (&Pci)) { + + Register8 = 0xFF; + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + &Register8 + ); + + Status = PciAssignBusNumber ( + Bridge, + (UINT8) (SecondBus), + SubBusNumber + ); + + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + } + + // + // Set the current maximum bus number under the PPB + // + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x1A); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + SubBusNumber + ); + + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + + // + // Skip sub functions, this is not a multi function device + // + Func = PCI_MAX_FUNC; + } + } + } + + return EFI_SUCCESS; +} + +/** + This routine is used to determine the root bridge attribute by interfacing + the host bridge resource allocation protocol. + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param RootBridgeDev Root bridge instance + + @retval EFI_SUCCESS Successfully got root bridge's attribute. + @retval other Failed to get attribute. + +**/ +EFI_STATUS +DetermineRootBridgeAttributes ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + UINT64 Attributes; + EFI_STATUS Status; + EFI_HANDLE RootBridgeHandle; + + Attributes = 0; + RootBridgeHandle = RootBridgeDev->Handle; + + // + // Get root bridge attribute by calling into pci host bridge resource allocation protocol + // + Status = PciResAlloc->GetAllocAttributes ( + PciResAlloc, + RootBridgeHandle, + &Attributes + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Here is the point where PCI bus driver calls HOST bridge allocation protocol + // Currently we hardcoded for ea815 + // + if ((Attributes & EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM) != 0) { + RootBridgeDev->Decodes |= EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED; + } + + if ((Attributes & EFI_PCI_HOST_BRIDGE_MEM64_DECODE) != 0) { + RootBridgeDev->Decodes |= EFI_BRIDGE_MEM64_DECODE_SUPPORTED; + RootBridgeDev->Decodes |= EFI_BRIDGE_PMEM64_DECODE_SUPPORTED; + } + + RootBridgeDev->Decodes |= EFI_BRIDGE_MEM32_DECODE_SUPPORTED; + RootBridgeDev->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; + RootBridgeDev->Decodes |= EFI_BRIDGE_IO16_DECODE_SUPPORTED; + + return EFI_SUCCESS; +} + +/** + Get Max Option Rom size on specified bridge. + + @param Bridge Given bridge device instance. + + @return Max size of option rom needed. + +**/ +UINT32 +GetMaxOptionRomSize ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + UINT32 MaxOptionRomSize; + UINT32 TempOptionRomSize; + + MaxOptionRomSize = 0; + + // + // Go through bridges to reach all devices + // + CurrentLink = Bridge->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (!IsListEmpty (&Temp->ChildList)) { + + // + // Get max option rom size under this bridge + // + TempOptionRomSize = GetMaxOptionRomSize (Temp); + + // + // Compare with the option rom size of the bridge + // Get the larger one + // + if (Temp->RomSize > TempOptionRomSize) { + TempOptionRomSize = Temp->RomSize; + } + + } else { + + // + // For devices get the rom size directly + // + TempOptionRomSize = Temp->RomSize; + } + + // + // Get the largest rom size on this bridge + // + if (TempOptionRomSize > MaxOptionRomSize) { + MaxOptionRomSize = TempOptionRomSize; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return MaxOptionRomSize; +} + +/** + Process attributes of devices on this host bridge + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully process attribute. + @retval EFI_NOT_FOUND Can not find the specific root bridge device. + @retval other Failed to determine the root bridge device's attribute. + +**/ +EFI_STATUS +PciHostBridgeDeviceAttribute ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + EFI_HANDLE RootBridgeHandle; + PCI_IO_DEVICE *RootBridgeDev; + EFI_STATUS Status; + + RootBridgeHandle = NULL; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Set the attributes for devcies behind the Root Bridge + // + Status = DetermineDeviceAttribute (RootBridgeDev); + if (EFI_ERROR (Status)) { + return Status; + } + + } + + return EFI_SUCCESS; +} + +/** + Get resource allocation status from the ACPI resource descriptor. + + @param AcpiConfig Point to Acpi configuration table. + @param IoResStatus Return the status of I/O resource. + @param Mem32ResStatus Return the status of 32-bit Memory resource. + @param PMem32ResStatus Return the status of 32-bit Prefetchable Memory resource. + @param Mem64ResStatus Return the status of 64-bit Memory resource. + @param PMem64ResStatus Return the status of 64-bit Prefetchable Memory resource. + +**/ +VOID +GetResourceAllocationStatus ( + VOID *AcpiConfig, + OUT UINT64 *IoResStatus, + OUT UINT64 *Mem32ResStatus, + OUT UINT64 *PMem32ResStatus, + OUT UINT64 *Mem64ResStatus, + OUT UINT64 *PMem64ResStatus + ) +{ + UINT8 *Temp; + UINT64 ResStatus; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *ACPIAddressDesc; + + Temp = (UINT8 *) AcpiConfig; + + while (*Temp == ACPI_ADDRESS_SPACE_DESCRIPTOR) { + + ACPIAddressDesc = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Temp; + ResStatus = ACPIAddressDesc->AddrTranslationOffset; + + switch (ACPIAddressDesc->ResType) { + case 0: + if (ACPIAddressDesc->AddrSpaceGranularity == 32) { + if (ACPIAddressDesc->SpecificFlag == 0x06) { + // + // Pmem32 + // + *PMem32ResStatus = ResStatus; + } else { + // + // Mem32 + // + *Mem32ResStatus = ResStatus; + } + } + + if (ACPIAddressDesc->AddrSpaceGranularity == 64) { + if (ACPIAddressDesc->SpecificFlag == 0x06) { + // + // PMem64 + // + *PMem64ResStatus = ResStatus; + } else { + // + // Mem64 + // + *Mem64ResStatus = ResStatus; + } + } + + break; + + case 1: + // + // Io + // + *IoResStatus = ResStatus; + break; + + default: + break; + } + + Temp += sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR); + } +} + +/** + Remove a PCI device from device pool and mark its bar. + + @param PciDevice Instance of Pci device. + + @retval EFI_SUCCESS Successfully remove the PCI device. + @retval EFI_ABORTED Pci device is a root bridge or a PCI-PCI bridge. + +**/ +EFI_STATUS +RejectPciDevice ( + IN PCI_IO_DEVICE *PciDevice + ) +{ + PCI_IO_DEVICE *Bridge; + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + + // + // Remove the padding resource from a bridge + // + if ( IS_PCI_BRIDGE(&PciDevice->Pci) && + PciDevice->ResourcePaddingDescriptors != NULL ) { + FreePool (PciDevice->ResourcePaddingDescriptors); + PciDevice->ResourcePaddingDescriptors = NULL; + return EFI_SUCCESS; + } + + // + // Skip RB and PPB + // + if (IS_PCI_BRIDGE (&PciDevice->Pci) || (PciDevice->Parent == NULL)) { + return EFI_ABORTED; + } + + if (IS_CARDBUS_BRIDGE (&PciDevice->Pci)) { + // + // Get the root bridge device + // + Bridge = PciDevice; + while (Bridge->Parent != NULL) { + Bridge = Bridge->Parent; + } + + RemoveAllPciDeviceOnBridge (Bridge->Handle, PciDevice); + + // + // Mark its bar + // + InitializeP2C (PciDevice); + } + + // + // Remove the device + // + Bridge = PciDevice->Parent; + CurrentLink = Bridge->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (Temp == PciDevice) { + InitializePciDevice (Temp); + RemoveEntryList (CurrentLink); + return EFI_SUCCESS; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_ABORTED; +} + +/** + Determine whethter a PCI device can be rejected. + + @param PciResNode Pointer to Pci resource node instance. + + @retval TRUE The PCI device can be rejected. + @retval TRUE The PCI device cannot be rejected. + +**/ +BOOLEAN +IsRejectiveDevice ( + IN PCI_RESOURCE_NODE *PciResNode + ) +{ + PCI_IO_DEVICE *Temp; + + Temp = PciResNode->PciDev; + + // + // Ensure the device is present + // + if (Temp == NULL) { + return FALSE; + } + + // + // PPB and RB should go ahead + // + if (IS_PCI_BRIDGE (&Temp->Pci) || (Temp->Parent == NULL)) { + return TRUE; + } + + // + // Skip device on Bus0 + // + if ((Temp->Parent != NULL) && (Temp->BusNumber == 0)) { + return FALSE; + } + + // + // Skip VGA + // + if (IS_PCI_VGA (&Temp->Pci)) { + return FALSE; + } + + return TRUE; +} + +/** + Compare two resource nodes and get the larger resource consumer. + + @param PciResNode1 resource node 1 want to be compared + @param PciResNode2 resource node 2 want to be compared + + @return Larger resource node. + +**/ +PCI_RESOURCE_NODE * +GetLargerConsumerDevice ( + IN PCI_RESOURCE_NODE *PciResNode1, + IN PCI_RESOURCE_NODE *PciResNode2 + ) +{ + if (PciResNode2 == NULL) { + return PciResNode1; + } + + if ((IS_PCI_BRIDGE(&(PciResNode2->PciDev->Pci)) || (PciResNode2->PciDev->Parent == NULL)) \ + && (PciResNode2->ResourceUsage != PciResUsagePadding) ) + { + return PciResNode1; + } + + if (PciResNode1 == NULL) { + return PciResNode2; + } + + if ((PciResNode1->Length) > (PciResNode2->Length)) { + return PciResNode1; + } + + return PciResNode2; +} + + +/** + Get the max resource consumer in the host resource pool. + + @param ResPool Pointer to resource pool node. + + @return The max resource consumer in the host resource pool. + +**/ +PCI_RESOURCE_NODE * +GetMaxResourceConsumerDevice ( + IN PCI_RESOURCE_NODE *ResPool + ) +{ + PCI_RESOURCE_NODE *Temp; + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *PciResNode; + PCI_RESOURCE_NODE *PPBResNode; + + PciResNode = NULL; + + CurrentLink = ResPool->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &ResPool->ChildList) { + + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (!IsRejectiveDevice (Temp)) { + CurrentLink = CurrentLink->ForwardLink; + continue; + } + + if ((IS_PCI_BRIDGE (&(Temp->PciDev->Pci)) || (Temp->PciDev->Parent == NULL)) \ + && (Temp->ResourceUsage != PciResUsagePadding)) + { + PPBResNode = GetMaxResourceConsumerDevice (Temp); + PciResNode = GetLargerConsumerDevice (PciResNode, PPBResNode); + } else { + PciResNode = GetLargerConsumerDevice (PciResNode, Temp); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return PciResNode; +} + +/** + Adjust host bridge allocation so as to reduce resource requirement + + @param IoPool Pointer to instance of I/O resource Node. + @param Mem32Pool Pointer to instance of 32-bit memory resource Node. + @param PMem32Pool Pointer to instance of 32-bit Prefetchable memory resource node. + @param Mem64Pool Pointer to instance of 64-bit memory resource node. + @param PMem64Pool Pointer to instance of 64-bit Prefetchable memory resource node. + @param IoResStatus Status of I/O resource Node. + @param Mem32ResStatus Status of 32-bit memory resource Node. + @param PMem32ResStatus Status of 32-bit Prefetchable memory resource node. + @param Mem64ResStatus Status of 64-bit memory resource node. + @param PMem64ResStatus Status of 64-bit Prefetchable memory resource node. + + @retval EFI_SUCCESS Successfully adjusted resource on host bridge. + @retval EFI_ABORTED Host bridge hasn't this resource type or no resource be adjusted. + +**/ +EFI_STATUS +PciHostBridgeAdjustAllocation ( + IN PCI_RESOURCE_NODE *IoPool, + IN PCI_RESOURCE_NODE *Mem32Pool, + IN PCI_RESOURCE_NODE *PMem32Pool, + IN PCI_RESOURCE_NODE *Mem64Pool, + IN PCI_RESOURCE_NODE *PMem64Pool, + IN UINT64 IoResStatus, + IN UINT64 Mem32ResStatus, + IN UINT64 PMem32ResStatus, + IN UINT64 Mem64ResStatus, + IN UINT64 PMem64ResStatus + ) +{ + BOOLEAN AllocationAjusted; + PCI_RESOURCE_NODE *PciResNode; + PCI_RESOURCE_NODE *ResPool[5]; + PCI_IO_DEVICE *RemovedPciDev[5]; + UINT64 ResStatus[5]; + UINTN RemovedPciDevNum; + UINTN DevIndex; + UINTN ResType; + EFI_STATUS Status; + EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD AllocFailExtendedData; + + PciResNode = NULL; + ZeroMem (RemovedPciDev, 5 * sizeof (PCI_IO_DEVICE *)); + RemovedPciDevNum = 0; + + ResPool[0] = IoPool; + ResPool[1] = Mem32Pool; + ResPool[2] = PMem32Pool; + ResPool[3] = Mem64Pool; + ResPool[4] = PMem64Pool; + + ResStatus[0] = IoResStatus; + ResStatus[1] = Mem32ResStatus; + ResStatus[2] = PMem32ResStatus; + ResStatus[3] = Mem64ResStatus; + ResStatus[4] = PMem64ResStatus; + + AllocationAjusted = FALSE; + + for (ResType = 0; ResType < 5; ResType++) { + + if (ResStatus[ResType] == EFI_RESOURCE_SATISFIED) { + continue; + } + + if (ResStatus[ResType] == EFI_RESOURCE_NOT_SATISFIED) { + // + // Host bridge hasn't this resource type + // + return EFI_ABORTED; + } + + // + // Hostbridge hasn't enough resource + // + PciResNode = GetMaxResourceConsumerDevice (ResPool[ResType]); + if (PciResNode == NULL) { + continue; + } + + // + // Check if the device has been removed before + // + for (DevIndex = 0; DevIndex < RemovedPciDevNum; DevIndex++) { + if (PciResNode->PciDev == RemovedPciDev[DevIndex]) { + break; + } + } + + if (DevIndex != RemovedPciDevNum) { + continue; + } + + // + // Remove the device if it isn't in the array + // + Status = RejectPciDevice (PciResNode->PciDev); + if (Status == EFI_SUCCESS) { + DEBUG (( + EFI_D_ERROR, + "PciBus: [%02x|%02x|%02x] was rejected due to resource confliction.\n", + PciResNode->PciDev->BusNumber, PciResNode->PciDev->DeviceNumber, PciResNode->PciDev->FunctionNumber + )); + + // + // Raise the EFI_IOB_EC_RESOURCE_CONFLICT status code + // + // + // Have no way to get ReqRes, AllocRes & Bar here + // + ZeroMem (&AllocFailExtendedData, sizeof (AllocFailExtendedData)); + AllocFailExtendedData.DevicePathSize = (UINT16) sizeof (EFI_DEVICE_PATH_PROTOCOL); + AllocFailExtendedData.DevicePath = (UINT8 *) PciResNode->PciDev->DevicePath; + AllocFailExtendedData.Bar = PciResNode->Bar; + + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_EC_RESOURCE_CONFLICT, + (VOID *) &AllocFailExtendedData, + sizeof (AllocFailExtendedData) + ); + + // + // Add it to the array and indicate at least a device has been rejected + // + RemovedPciDev[RemovedPciDevNum++] = PciResNode->PciDev; + AllocationAjusted = TRUE; + } + } + // + // End for + // + + if (AllocationAjusted) { + return EFI_SUCCESS; + } else { + return EFI_ABORTED; + } +} + +/** + Summary requests for all resource type, and construct ACPI resource + requestor instance. + + @param Bridge detecting bridge + @param IoNode Pointer to instance of I/O resource Node + @param Mem32Node Pointer to instance of 32-bit memory resource Node + @param PMem32Node Pointer to instance of 32-bit Pmemory resource node + @param Mem64Node Pointer to instance of 64-bit memory resource node + @param PMem64Node Pointer to instance of 64-bit Pmemory resource node + @param Config Output buffer holding new constructed APCI resource requestor + + @retval EFI_SUCCESS Successfully constructed ACPI resource. + @retval EFI_OUT_OF_RESOURCES No memory available. + +**/ +EFI_STATUS +ConstructAcpiResourceRequestor ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node, + OUT VOID **Config + ) +{ + UINT8 NumConfig; + UINT8 Aperture; + UINT8 *Configuration; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + EFI_ACPI_END_TAG_DESCRIPTOR *PtrEnd; + + NumConfig = 0; + Aperture = 0; + + *Config = NULL; + + // + // if there is io request, add to the io aperture + // + if (ResourceRequestExisted (IoNode)) { + NumConfig++; + Aperture |= 0x01; + } + + // + // if there is mem32 request, add to the mem32 aperture + // + if (ResourceRequestExisted (Mem32Node)) { + NumConfig++; + Aperture |= 0x02; + } + + // + // if there is pmem32 request, add to the pmem32 aperture + // + if (ResourceRequestExisted (PMem32Node)) { + NumConfig++; + Aperture |= 0x04; + } + + // + // if there is mem64 request, add to the mem64 aperture + // + if (ResourceRequestExisted (Mem64Node)) { + NumConfig++; + Aperture |= 0x08; + } + + // + // if there is pmem64 request, add to the pmem64 aperture + // + if (ResourceRequestExisted (PMem64Node)) { + NumConfig++; + Aperture |= 0x10; + } + + if (NumConfig != 0) { + + // + // If there is at least one type of resource request, + // allocate a acpi resource node + // + Configuration = AllocateZeroPool (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) * NumConfig + sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); + if (Configuration == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; + + // + // Deal with io aperture + // + if ((Aperture & 0x01) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Io + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; + // + // non ISA range + // + Ptr->SpecificFlag = 1; + Ptr->AddrLen = IoNode->Length; + Ptr->AddrRangeMax = IoNode->Alignment; + + Ptr++; + } + // + // Deal with mem32 aperture + // + if ((Aperture & 0x02) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // Nonprefechable + // + Ptr->SpecificFlag = 0; + // + // 32 bit + // + Ptr->AddrSpaceGranularity = 32; + Ptr->AddrLen = Mem32Node->Length; + Ptr->AddrRangeMax = Mem32Node->Alignment; + + Ptr++; + } + + // + // Deal with Pmem32 aperture + // + if ((Aperture & 0x04) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // prefechable + // + Ptr->SpecificFlag = 0x6; + // + // 32 bit + // + Ptr->AddrSpaceGranularity = 32; + Ptr->AddrLen = PMem32Node->Length; + Ptr->AddrRangeMax = PMem32Node->Alignment; + + Ptr++; + } + // + // Deal with mem64 aperture + // + if ((Aperture & 0x08) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // nonprefechable + // + Ptr->SpecificFlag = 0; + // + // 64 bit + // + Ptr->AddrSpaceGranularity = 64; + Ptr->AddrLen = Mem64Node->Length; + Ptr->AddrRangeMax = Mem64Node->Alignment; + + Ptr++; + } + // + // Deal with Pmem64 aperture + // + if ((Aperture & 0x10) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // prefechable + // + Ptr->SpecificFlag = 0x06; + // + // 64 bit + // + Ptr->AddrSpaceGranularity = 64; + Ptr->AddrLen = PMem64Node->Length; + Ptr->AddrRangeMax = PMem64Node->Alignment; + + Ptr++; + } + + // + // put the checksum + // + PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) Ptr; + + PtrEnd->Desc = ACPI_END_TAG_DESCRIPTOR; + PtrEnd->Checksum = 0; + + } else { + + // + // If there is no resource request + // + Configuration = AllocateZeroPool (sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); + if (Configuration == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Configuration); + PtrEnd->Desc = ACPI_END_TAG_DESCRIPTOR; + PtrEnd->Checksum = 0; + } + + *Config = Configuration; + + return EFI_SUCCESS; +} + +/** + Get resource base from an acpi configuration descriptor. + + @param Config An acpi configuration descriptor. + @param IoBase Output of I/O resource base address. + @param Mem32Base Output of 32-bit memory base address. + @param PMem32Base Output of 32-bit prefetchable memory base address. + @param Mem64Base Output of 64-bit memory base address. + @param PMem64Base Output of 64-bit prefetchable memory base address. + +**/ +VOID +GetResourceBase ( + IN VOID *Config, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ) +{ + UINT8 *Temp; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + UINT64 ResStatus; + + ASSERT (Config != NULL); + + *IoBase = 0xFFFFFFFFFFFFFFFFULL; + *Mem32Base = 0xFFFFFFFFFFFFFFFFULL; + *PMem32Base = 0xFFFFFFFFFFFFFFFFULL; + *Mem64Base = 0xFFFFFFFFFFFFFFFFULL; + *PMem64Base = 0xFFFFFFFFFFFFFFFFULL; + + Temp = (UINT8 *) Config; + + while (*Temp == ACPI_ADDRESS_SPACE_DESCRIPTOR) { + + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Temp; + ResStatus = Ptr->AddrTranslationOffset; + + if (ResStatus == EFI_RESOURCE_SATISFIED) { + + switch (Ptr->ResType) { + + // + // Memory type aperture + // + case 0: + + // + // Check to see the granularity + // + if (Ptr->AddrSpaceGranularity == 32) { + if ((Ptr->SpecificFlag & 0x06) != 0) { + *PMem32Base = Ptr->AddrRangeMin; + } else { + *Mem32Base = Ptr->AddrRangeMin; + } + } + + if (Ptr->AddrSpaceGranularity == 64) { + if ((Ptr->SpecificFlag & 0x06) != 0) { + *PMem64Base = Ptr->AddrRangeMin; + } else { + *Mem64Base = Ptr->AddrRangeMin; + } + } + break; + + case 1: + + // + // Io type aperture + // + *IoBase = Ptr->AddrRangeMin; + break; + + default: + break; + + } + // + // End switch + // + } + // + // End for + // + Temp += sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR); + } +} + +/** + Enumerate pci bridge, allocate resource and determine attribute + for devices on this bridge. + + @param BridgeDev Pointer to instance of bridge device. + + @retval EFI_SUCCESS Successfully enumerated PCI bridge. + @retval other Failed to enumerate. + +**/ +EFI_STATUS +PciBridgeEnumerator ( + IN PCI_IO_DEVICE *BridgeDev + ) +{ + UINT8 SubBusNumber; + UINT8 StartBusNumber; + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + + SubBusNumber = 0; + StartBusNumber = 0; + PciIo = &(BridgeDev->PciIo); + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x19, 1, &StartBusNumber); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciAssignBusNumber ( + BridgeDev, + StartBusNumber, + &SubBusNumber + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciPciDeviceInfoCollector (BridgeDev, StartBusNumber); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciBridgeResourceAllocator (BridgeDev); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = DetermineDeviceAttribute (BridgeDev); + + if (EFI_ERROR (Status)) { + return Status; + } + + return EFI_SUCCESS; + +} + +/** + Allocate all kinds of resource for PCI bridge. + + @param Bridge Pointer to bridge instance. + + @retval EFI_SUCCESS Successfully allocated resource for PCI bridge. + @retval other Failed to allocate resource for bridge. + +**/ +EFI_STATUS +PciBridgeResourceAllocator ( + IN PCI_IO_DEVICE *Bridge + ) +{ + PCI_RESOURCE_NODE *IoBridge; + PCI_RESOURCE_NODE *Mem32Bridge; + PCI_RESOURCE_NODE *PMem32Bridge; + PCI_RESOURCE_NODE *Mem64Bridge; + PCI_RESOURCE_NODE *PMem64Bridge; + UINT64 IoBase; + UINT64 Mem32Base; + UINT64 PMem32Base; + UINT64 Mem64Base; + UINT64 PMem64Base; + EFI_STATUS Status; + + IoBridge = CreateResourceNode ( + Bridge, + 0, + Bridge->BridgeIoAlignment, + 0, + PciBarTypeIo16, + PciResUsageTypical + ); + + Mem32Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypeMem32, + PciResUsageTypical + ); + + PMem32Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypePMem32, + PciResUsageTypical + ); + + Mem64Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypeMem64, + PciResUsageTypical + ); + + PMem64Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypePMem64, + PciResUsageTypical + ); + + // + // Create resourcemap by going through all the devices subject to this root bridge + // + CreateResourceMap ( + Bridge, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge + ); + + Status = GetResourceBaseFromBridge ( + Bridge, + &IoBase, + &Mem32Base, + &PMem32Base, + &Mem64Base, + &PMem64Base + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Program IO resources + // + ProgramResource ( + IoBase, + IoBridge + ); + + // + // Program Mem32 resources + // + ProgramResource ( + Mem32Base, + Mem32Bridge + ); + + // + // Program PMem32 resources + // + ProgramResource ( + PMem32Base, + PMem32Bridge + ); + + // + // Program Mem64 resources + // + ProgramResource ( + Mem64Base, + Mem64Bridge + ); + + // + // Program PMem64 resources + // + ProgramResource ( + PMem64Base, + PMem64Bridge + ); + + DestroyResourceTree (IoBridge); + DestroyResourceTree (Mem32Bridge); + DestroyResourceTree (PMem32Bridge); + DestroyResourceTree (PMem64Bridge); + DestroyResourceTree (Mem64Bridge); + + gBS->FreePool (IoBridge); + gBS->FreePool (Mem32Bridge); + gBS->FreePool (PMem32Bridge); + gBS->FreePool (PMem64Bridge); + gBS->FreePool (Mem64Bridge); + + return EFI_SUCCESS; +} + +/** + Get resource base address for a pci bridge device. + + @param Bridge Given Pci driver instance. + @param IoBase Output for base address of I/O type resource. + @param Mem32Base Output for base address of 32-bit memory type resource. + @param PMem32Base Ooutput for base address of 32-bit Pmemory type resource. + @param Mem64Base Output for base address of 64-bit memory type resource. + @param PMem64Base Output for base address of 64-bit Pmemory type resource. + + @retval EFI_SUCCESS Successfully got resource base address. + @retval EFI_OUT_OF_RESOURCES PCI bridge is not available. + +**/ +EFI_STATUS +GetResourceBaseFromBridge ( + IN PCI_IO_DEVICE *Bridge, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ) +{ + if (!Bridge->Allocated) { + return EFI_OUT_OF_RESOURCES; + } + + *IoBase = gAllOne; + *Mem32Base = gAllOne; + *PMem32Base = gAllOne; + *Mem64Base = gAllOne; + *PMem64Base = gAllOne; + + if (IS_PCI_BRIDGE (&Bridge->Pci)) { + + if (Bridge->PciBar[PPB_IO_RANGE].Length > 0) { + *IoBase = Bridge->PciBar[PPB_IO_RANGE].BaseAddress; + } + + if (Bridge->PciBar[PPB_MEM32_RANGE].Length > 0) { + *Mem32Base = Bridge->PciBar[PPB_MEM32_RANGE].BaseAddress; + } + + if (Bridge->PciBar[PPB_PMEM32_RANGE].Length > 0) { + *PMem32Base = Bridge->PciBar[PPB_PMEM32_RANGE].BaseAddress; + } + + if (Bridge->PciBar[PPB_PMEM64_RANGE].Length > 0) { + *PMem64Base = Bridge->PciBar[PPB_PMEM64_RANGE].BaseAddress; + } else { + *PMem64Base = gAllOne; + } + + } + + if (IS_CARDBUS_BRIDGE (&Bridge->Pci)) { + if (Bridge->PciBar[P2C_IO_1].Length > 0) { + *IoBase = Bridge->PciBar[P2C_IO_1].BaseAddress; + } else { + if (Bridge->PciBar[P2C_IO_2].Length > 0) { + *IoBase = Bridge->PciBar[P2C_IO_2].BaseAddress; + } + } + + if (Bridge->PciBar[P2C_MEM_1].Length > 0) { + if (Bridge->PciBar[P2C_MEM_1].BarType == PciBarTypePMem32) { + *PMem32Base = Bridge->PciBar[P2C_MEM_1].BaseAddress; + } + + if (Bridge->PciBar[P2C_MEM_1].BarType == PciBarTypeMem32) { + *Mem32Base = Bridge->PciBar[P2C_MEM_1].BaseAddress; + } + } + + if (Bridge->PciBar[P2C_MEM_2].Length > 0) { + if (Bridge->PciBar[P2C_MEM_2].BarType == PciBarTypePMem32) { + *PMem32Base = Bridge->PciBar[P2C_MEM_2].BaseAddress; + } + + if (Bridge->PciBar[P2C_MEM_2].BarType == PciBarTypeMem32) { + *Mem32Base = Bridge->PciBar[P2C_MEM_2].BaseAddress; + } + } + } + + return EFI_SUCCESS; +} + +/** + These are the notifications from the PCI bus driver that it is about to enter a certain + phase of the PCI enumeration process. + + This member function can be used to notify the host bridge driver to perform specific actions, + including any chipset-specific initialization, so that the chipset is ready to enter the next phase. + Eight notification points are defined at this time. See belows: + EfiPciHostBridgeBeginEnumeration Resets the host bridge PCI apertures and internal data + structures. The PCI enumerator should issue this notification + before starting a fresh enumeration process. Enumeration cannot + be restarted after sending any other notification such as + EfiPciHostBridgeBeginBusAllocation. + EfiPciHostBridgeBeginBusAllocation The bus allocation phase is about to begin. No specific action is + required here. This notification can be used to perform any + chipset-specific programming. + EfiPciHostBridgeEndBusAllocation The bus allocation and bus programming phase is complete. No + specific action is required here. This notification can be used to + perform any chipset-specific programming. + EfiPciHostBridgeBeginResourceAllocation + The resource allocation phase is about to begin. No specific + action is required here. This notification can be used to perform + any chipset-specific programming. + EfiPciHostBridgeAllocateResources Allocates resources per previously submitted requests for all the PCI + root bridges. These resource settings are returned on the next call to + GetProposedResources(). Before calling NotifyPhase() with a Phase of + EfiPciHostBridgeAllocateResource, the PCI bus enumerator is responsible + for gathering I/O and memory requests for + all the PCI root bridges and submitting these requests using + SubmitResources(). This function pads the resource amount + to suit the root bridge hardware, takes care of dependencies between + the PCI root bridges, and calls the Global Coherency Domain (GCD) + with the allocation request. In the case of padding, the allocated range + could be bigger than what was requested. + EfiPciHostBridgeSetResources Programs the host bridge hardware to decode previously allocated + resources (proposed resources) for all the PCI root bridges. After the + hardware is programmed, reassigning resources will not be supported. + The bus settings are not affected. + EfiPciHostBridgeFreeResources Deallocates resources that were previously allocated for all the PCI + root bridges and resets the I/O and memory apertures to their initial + state. The bus settings are not affected. If the request to allocate + resources fails, the PCI enumerator can use this notification to + deallocate previous resources, adjust the requests, and retry + allocation. + EfiPciHostBridgeEndResourceAllocation The resource allocation phase is completed. No specific action is + required here. This notification can be used to perform any chipsetspecific + programming. + + @param[in] PciResAlloc The instance pointer of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param[in] Phase The phase during enumeration + + @retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error + is valid for a Phase of EfiPciHostBridgeAllocateResources if + SubmitResources() has not been called for one or more + PCI root bridges before this call + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid + for a Phase of EfiPciHostBridgeSetResources. + @retval EFI_INVALID_PARAMETER Invalid phase parameter + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + This error is valid for a Phase of EfiPciHostBridgeAllocateResources if the + previously submitted resource requests cannot be fulfilled or + were only partially fulfilled. + @retval EFI_SUCCESS The notification was accepted without any errors. + +**/ +EFI_STATUS +NotifyPhase ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase + ) +{ + EFI_HANDLE HostBridgeHandle; + EFI_HANDLE RootBridgeHandle; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + EFI_STATUS Status; + + HostBridgeHandle = NULL; + RootBridgeHandle = NULL; + if (gPciPlatformProtocol != NULL) { + // + // Get Host Bridge Handle. + // + PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle); + + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->HandleProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo + ); + + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + HostBridgeHandle = PciRootBridgeIo->ParentHandle; + + // + // Call PlatformPci::PlatformNotify() if the protocol is present. + // + gPciPlatformProtocol->PlatformNotify ( + gPciPlatformProtocol, + HostBridgeHandle, + Phase, + ChipsetEntry + ); + } else if (gPciOverrideProtocol != NULL){ + // + // Get Host Bridge Handle. + // + PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle); + + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->HandleProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo + ); + + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + HostBridgeHandle = PciRootBridgeIo->ParentHandle; + + // + // Call PlatformPci::PhaseNotify() if the protocol is present. + // + gPciOverrideProtocol->PlatformNotify ( + gPciOverrideProtocol, + HostBridgeHandle, + Phase, + ChipsetEntry + ); + } + + Status = PciResAlloc->NotifyPhase ( + PciResAlloc, + Phase + ); + + if (gPciPlatformProtocol != NULL) { + // + // Call PlatformPci::PlatformNotify() if the protocol is present. + // + gPciPlatformProtocol->PlatformNotify ( + gPciPlatformProtocol, + HostBridgeHandle, + Phase, + ChipsetExit + ); + + } else if (gPciOverrideProtocol != NULL) { + // + // Call PlatformPci::PhaseNotify() if the protocol is present. + // + gPciOverrideProtocol->PlatformNotify ( + gPciOverrideProtocol, + HostBridgeHandle, + Phase, + ChipsetExit + ); + } + + return Status; +} + +/** + Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various + stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual + PCI controllers before enumeration. + + This function is called during the PCI enumeration process. No specific action is expected from this + member function. It allows the host bridge driver to preinitialize individual PCI controllers before + enumeration. + + @param Bridge Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance. + @param Bus The bus number of the pci device. + @param Device The device number of the pci device. + @param Func The function number of the pci device. + @param Phase The phase of the PCI device enumeration. + + @retval EFI_SUCCESS The requested parameters were returned. + @retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle. + @retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in + EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE. + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator should + not enumerate this device, including its child devices if it is a PCI-to-PCI + bridge. + +**/ +EFI_STATUS +PreprocessController ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase + ) +{ + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS RootBridgePciAddress; + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc; + EFI_HANDLE RootBridgeHandle; + EFI_HANDLE HostBridgeHandle; + EFI_STATUS Status; + + // + // Get the host bridge handle + // + HostBridgeHandle = Bridge->PciRootBridgeIo->ParentHandle; + + // + // Get the pci host bridge resource allocation protocol + // + Status = gBS->OpenProtocol ( + HostBridgeHandle, + &gEfiPciHostBridgeResourceAllocationProtocolGuid, + (VOID **) &PciResAlloc, + NULL, + NULL, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Get Root Brige Handle + // + while (Bridge->Parent != NULL) { + Bridge = Bridge->Parent; + } + + RootBridgeHandle = Bridge->Handle; + + RootBridgePciAddress.Register = 0; + RootBridgePciAddress.Function = Func; + RootBridgePciAddress.Device = Device; + RootBridgePciAddress.Bus = Bus; + RootBridgePciAddress.ExtendedRegister = 0; + + if (gPciPlatformProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciPlatformProtocol->PlatformPrepController ( + gPciPlatformProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetEntry + ); + } else if (gPciOverrideProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciOverrideProtocol->PlatformPrepController ( + gPciOverrideProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetEntry + ); + } + + Status = PciResAlloc->PreprocessController ( + PciResAlloc, + RootBridgeHandle, + RootBridgePciAddress, + Phase + ); + + if (gPciPlatformProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciPlatformProtocol->PlatformPrepController ( + gPciPlatformProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetExit + ); + } else if (gPciOverrideProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciOverrideProtocol->PlatformPrepController ( + gPciOverrideProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetExit + ); + } + + return EFI_SUCCESS; +} + +/** + This function allows the PCI bus driver to be notified to act as requested when a hot-plug event has + happened on the hot-plug controller. Currently, the operations include add operation and remove operation.. + + @param This A pointer to the hot plug request protocol. + @param Operation The operation the PCI bus driver is requested to make. + @param Controller The handle of the hot-plug controller. + @param RemainingDevicePath The remaining device path for the PCI-like hot-plug device. + @param NumberOfChildren The number of child handles. + For a add operation, it is an output parameter. + For a remove operation, it's an input parameter. + @param ChildHandleBuffer The buffer which contains the child handles. + + @retval EFI_INVALID_PARAMETER Operation is not a legal value. + Controller is NULL or not a valid handle. + NumberOfChildren is NULL. + ChildHandleBuffer is NULL while Operation is add. + @retval EFI_OUT_OF_RESOURCES There are no enough resources to start the devices. + @retval EFI_NOT_FOUND Can not find bridge according to controller handle. + @retval EFI_SUCCESS The handles for the specified device have been created or destroyed + as requested, and for an add operation, the new handles are + returned in ChildHandleBuffer. +**/ +EFI_STATUS +EFIAPI +PciHotPlugRequestNotify ( + IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This, + IN EFI_PCI_HOTPLUG_OPERATION Operation, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE * ChildHandleBuffer + ) +{ + PCI_IO_DEVICE *Bridge; + PCI_IO_DEVICE *Temp; + EFI_PCI_IO_PROTOCOL *PciIo; + UINTN Index; + EFI_HANDLE RootBridgeHandle; + EFI_STATUS Status; + + // + // Check input parameter validity + // + if ((Controller == NULL) || (NumberOfChildren == NULL)){ + return EFI_INVALID_PARAMETER; + } + + if ((Operation != EfiPciHotPlugRequestAdd) && (Operation != EfiPciHotplugRequestRemove)) { + return EFI_INVALID_PARAMETER; + } + + if (Operation == EfiPciHotPlugRequestAdd){ + if (ChildHandleBuffer == NULL) { + return EFI_INVALID_PARAMETER; + } + } else if ((Operation == EfiPciHotplugRequestRemove) && (*NumberOfChildren != 0)) { + if (ChildHandleBuffer == NULL) { + return EFI_INVALID_PARAMETER; + } + } + + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciIoProtocolGuid, + (VOID **) &PciIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + Bridge = PCI_IO_DEVICE_FROM_PCI_IO_THIS (PciIo); + + // + // Get root bridge handle + // + Temp = Bridge; + while (Temp->Parent != NULL) { + Temp = Temp->Parent; + } + + RootBridgeHandle = Temp->Handle; + + if (Operation == EfiPciHotPlugRequestAdd) { + // + // Report Status Code to indicate hot plug happens + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + (EFI_IO_BUS_PCI | EFI_IOB_PC_HOTPLUG), + Temp->DevicePath + ); + + if (NumberOfChildren != NULL) { + *NumberOfChildren = 0; + } + + if (IsListEmpty (&Bridge->ChildList)) { + + Status = PciBridgeEnumerator (Bridge); + + if (EFI_ERROR (Status)) { + return Status; + } + } + + Status = StartPciDevicesOnBridge ( + RootBridgeHandle, + Bridge, + RemainingDevicePath, + NumberOfChildren, + ChildHandleBuffer + ); + + return Status; + } + + if (Operation == EfiPciHotplugRequestRemove) { + + if (*NumberOfChildren == 0) { + // + // Remove all devices on the bridge + // + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Bridge); + return EFI_SUCCESS; + + } + + for (Index = 0; Index < *NumberOfChildren; Index++) { + // + // De register all the pci device + // + Status = DeRegisterPciDevice (RootBridgeHandle, ChildHandleBuffer[Index]); + + if (EFI_ERROR (Status)) { + return Status; + } + + } + // + // End for + // + return EFI_SUCCESS; + } + + return EFI_SUCCESS; +} + +/** + Search hostbridge according to given handle + + @param RootBridgeHandle Host bridge handle. + + @retval TRUE Found host bridge handle. + @retval FALSE Not found hot bridge handle. + +**/ +BOOLEAN +SearchHostBridgeHandle ( + IN EFI_HANDLE RootBridgeHandle + ) +{ + EFI_HANDLE HostBridgeHandle; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + UINTN Index; + EFI_STATUS Status; + + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return FALSE; + } + + HostBridgeHandle = PciRootBridgeIo->ParentHandle; + for (Index = 0; Index < gPciHostBridgeNumber; Index++) { + if (HostBridgeHandle == gPciHostBrigeHandles[Index]) { + return TRUE; + } + } + + return FALSE; +} + +/** + Add host bridge handle to global variable for enumerating. + + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS Successfully added host bridge. + @retval EFI_ABORTED Host bridge is NULL, or given host bridge + has been in host bridge list. + +**/ +EFI_STATUS +AddHostBridgeEnumerator ( + IN EFI_HANDLE HostBridgeHandle + ) +{ + UINTN Index; + + if (HostBridgeHandle == NULL) { + return EFI_ABORTED; + } + + for (Index = 0; Index < gPciHostBridgeNumber; Index++) { + if (HostBridgeHandle == gPciHostBrigeHandles[Index]) { + return EFI_ABORTED; + } + } + + if (Index < PCI_MAX_HOST_BRIDGE_NUM) { + gPciHostBrigeHandles[Index] = HostBridgeHandle; + gPciHostBridgeNumber++; + } + + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h new file mode 100644 index 0000000000..2a34c9043c --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h @@ -0,0 +1,515 @@ +/** @file + PCI bus enumeration logic function declaration for PCI bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_ENUMERATOR_H_ +#define _EFI_PCI_ENUMERATOR_H_ + +#include "PciResourceSupport.h" + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + @param Controller Parent controller handle. + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumerator ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE HostBridgeHandle + ); + +/** + Enumerate PCI root bridge. + + @param PciResAlloc Pointer to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + @param RootBridgeDev Instance of root bridge device. + + @retval EFI_SUCCESS Successfully enumerated root bridge. + @retval other Failed to enumerate root bridge. + +**/ +EFI_STATUS +PciRootBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ); + +/** + This routine is used to process all PCI devices' Option Rom + on a certain root bridge. + + @param Bridge Given parent's root bridge. + @param RomBase Base address of ROM driver loaded from. + @param MaxLength Maximum rom size. + +**/ +VOID +ProcessOptionRom ( + IN PCI_IO_DEVICE *Bridge, + IN UINT64 RomBase, + IN UINT64 MaxLength + ); + +/** + This routine is used to assign bus number to the given PCI bus system + + @param Bridge Parent root bridge instance. + @param StartBusNumber Number of beginning. + @param SubBusNumber The number of sub bus. + + @retval EFI_SUCCESS Successfully assigned bus number. + @retval EFI_DEVICE_ERROR Failed to assign bus number. + +**/ +EFI_STATUS +PciAssignBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber + ); + +/** + This routine is used to determine the root bridge attribute by interfacing + the host bridge resource allocation protocol. + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param RootBridgeDev Root bridge instance + + @retval EFI_SUCCESS Successfully got root bridge's attribute. + @retval other Failed to get attribute. + +**/ +EFI_STATUS +DetermineRootBridgeAttributes ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ); + +/** + Get Max Option Rom size on specified bridge. + + @param Bridge Given bridge device instance. + + @return Max size of option rom needed. + +**/ +UINT32 +GetMaxOptionRomSize ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Process attributes of devices on this host bridge + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully process attribute. + @retval EFI_NOT_FOUND Can not find the specific root bridge device. + @retval other Failed to determine the root bridge device's attribute. + +**/ +EFI_STATUS +PciHostBridgeDeviceAttribute ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + Get resource allocation status from the ACPI resource descriptor. + + @param AcpiConfig Point to Acpi configuration table. + @param IoResStatus Return the status of I/O resource. + @param Mem32ResStatus Return the status of 32-bit Memory resource. + @param PMem32ResStatus Return the status of 32-bit Prefetchable Memory resource. + @param Mem64ResStatus Return the status of 64-bit Memory resource. + @param PMem64ResStatus Return the status of 64-bit Prefetchable Memory resource. + +**/ +VOID +GetResourceAllocationStatus ( + VOID *AcpiConfig, + OUT UINT64 *IoResStatus, + OUT UINT64 *Mem32ResStatus, + OUT UINT64 *PMem32ResStatus, + OUT UINT64 *Mem64ResStatus, + OUT UINT64 *PMem64ResStatus + ); + +/** + Remove a PCI device from device pool and mark its bar. + + @param PciDevice Instance of Pci device. + + @retval EFI_SUCCESS Successfully remove the PCI device. + @retval EFI_ABORTED Pci device is a root bridge or a PCI-PCI bridge. + +**/ +EFI_STATUS +RejectPciDevice ( + IN PCI_IO_DEVICE *PciDevice + ); + +/** + Determine whethter a PCI device can be rejected. + + @param PciResNode Pointer to Pci resource node instance. + + @retval TRUE The PCI device can be rejected. + @retval TRUE The PCI device cannot be rejected. + +**/ +BOOLEAN +IsRejectiveDevice ( + IN PCI_RESOURCE_NODE *PciResNode + ); + +/** + Compare two resource nodes and get the larger resource consumer. + + @param PciResNode1 resource node 1 want to be compared + @param PciResNode2 resource node 2 want to be compared + + @return Larger resource node. + +**/ +PCI_RESOURCE_NODE * +GetLargerConsumerDevice ( + IN PCI_RESOURCE_NODE *PciResNode1, + IN PCI_RESOURCE_NODE *PciResNode2 + ); + +/** + Get the max resource consumer in the host resource pool. + + @param ResPool Pointer to resource pool node. + + @return The max resource consumer in the host resource pool. + +**/ +PCI_RESOURCE_NODE * +GetMaxResourceConsumerDevice ( + IN PCI_RESOURCE_NODE *ResPool + ); + +/** + Adjust host bridge allocation so as to reduce resource requirement + + @param IoPool Pointer to instance of I/O resource Node. + @param Mem32Pool Pointer to instance of 32-bit memory resource Node. + @param PMem32Pool Pointer to instance of 32-bit Prefetchable memory resource node. + @param Mem64Pool Pointer to instance of 64-bit memory resource node. + @param PMem64Pool Pointer to instance of 64-bit Prefetchable memory resource node. + @param IoResStatus Status of I/O resource Node. + @param Mem32ResStatus Status of 32-bit memory resource Node. + @param PMem32ResStatus Status of 32-bit Prefetchable memory resource node. + @param Mem64ResStatus Status of 64-bit memory resource node. + @param PMem64ResStatus Status of 64-bit Prefetchable memory resource node. + + @retval EFI_SUCCESS Successfully adjusted resource on host bridge. + @retval EFI_ABORTED Host bridge hasn't this resource type or no resource be adjusted. + +**/ +EFI_STATUS +PciHostBridgeAdjustAllocation ( + IN PCI_RESOURCE_NODE *IoPool, + IN PCI_RESOURCE_NODE *Mem32Pool, + IN PCI_RESOURCE_NODE *PMem32Pool, + IN PCI_RESOURCE_NODE *Mem64Pool, + IN PCI_RESOURCE_NODE *PMem64Pool, + IN UINT64 IoResStatus, + IN UINT64 Mem32ResStatus, + IN UINT64 PMem32ResStatus, + IN UINT64 Mem64ResStatus, + IN UINT64 PMem64ResStatus + ); + +/** + Summary requests for all resource type, and construct ACPI resource + requestor instance. + + @param Bridge detecting bridge + @param IoNode Pointer to instance of I/O resource Node + @param Mem32Node Pointer to instance of 32-bit memory resource Node + @param PMem32Node Pointer to instance of 32-bit Pmemory resource node + @param Mem64Node Pointer to instance of 64-bit memory resource node + @param PMem64Node Pointer to instance of 64-bit Pmemory resource node + @param Config Output buffer holding new constructed APCI resource requestor + + @retval EFI_SUCCESS Successfully constructed ACPI resource. + @retval EFI_OUT_OF_RESOURCES No memory available. + +**/ +EFI_STATUS +ConstructAcpiResourceRequestor ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node, + OUT VOID **Config + ); + +/** + Get resource base from an acpi configuration descriptor. + + @param Config An acpi configuration descriptor. + @param IoBase Output of I/O resource base address. + @param Mem32Base Output of 32-bit memory base address. + @param PMem32Base Output of 32-bit prefetchable memory base address. + @param Mem64Base Output of 64-bit memory base address. + @param PMem64Base Output of 64-bit prefetchable memory base address. + +**/ +VOID +GetResourceBase ( + IN VOID *Config, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ); + +/** + Enumerate pci bridge, allocate resource and determine attribute + for devices on this bridge. + + @param BridgeDev Pointer to instance of bridge device. + + @retval EFI_SUCCESS Successfully enumerated PCI bridge. + @retval other Failed to enumerate. + +**/ +EFI_STATUS +PciBridgeEnumerator ( + IN PCI_IO_DEVICE *BridgeDev + ); + +/** + Allocate all kinds of resource for PCI bridge. + + @param Bridge Pointer to bridge instance. + + @retval EFI_SUCCESS Successfully allocated resource for PCI bridge. + @retval other Failed to allocate resource for bridge. + +**/ +EFI_STATUS +PciBridgeResourceAllocator ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Get resource base address for a pci bridge device. + + @param Bridge Given Pci driver instance. + @param IoBase Output for base address of I/O type resource. + @param Mem32Base Output for base address of 32-bit memory type resource. + @param PMem32Base Ooutput for base address of 32-bit Pmemory type resource. + @param Mem64Base Output for base address of 64-bit memory type resource. + @param PMem64Base Output for base address of 64-bit Pmemory type resource. + + @retval EFI_SUCCESS Successfully got resource base address. + @retval EFI_OUT_OF_RESOURCES PCI bridge is not available. + +**/ +EFI_STATUS +GetResourceBaseFromBridge ( + IN PCI_IO_DEVICE *Bridge, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ); + +/** + Process Option Rom on this host bridge + + @param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_NOT_FOUND Can not find the root bridge instance. + @retval EFI_SUCCESS Success process. +**/ +EFI_STATUS +PciHostBridgeP2CProcess ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + These are the notifications from the PCI bus driver that it is about to enter a certain + phase of the PCI enumeration process. + + This member function can be used to notify the host bridge driver to perform specific actions, + including any chipset-specific initialization, so that the chipset is ready to enter the next phase. + Eight notification points are defined at this time. See belows: + EfiPciHostBridgeBeginEnumeration Resets the host bridge PCI apertures and internal data + structures. The PCI enumerator should issue this notification + before starting a fresh enumeration process. Enumeration cannot + be restarted after sending any other notification such as + EfiPciHostBridgeBeginBusAllocation. + EfiPciHostBridgeBeginBusAllocation The bus allocation phase is about to begin. No specific action is + required here. This notification can be used to perform any + chipset-specific programming. + EfiPciHostBridgeEndBusAllocation The bus allocation and bus programming phase is complete. No + specific action is required here. This notification can be used to + perform any chipset-specific programming. + EfiPciHostBridgeBeginResourceAllocation + The resource allocation phase is about to begin. No specific + action is required here. This notification can be used to perform + any chipset-specific programming. + EfiPciHostBridgeAllocateResources Allocates resources per previously submitted requests for all the PCI + root bridges. These resource settings are returned on the next call to + GetProposedResources(). Before calling NotifyPhase() with a Phase of + EfiPciHostBridgeAllocateResource, the PCI bus enumerator is responsible + for gathering I/O and memory requests for + all the PCI root bridges and submitting these requests using + SubmitResources(). This function pads the resource amount + to suit the root bridge hardware, takes care of dependencies between + the PCI root bridges, and calls the Global Coherency Domain (GCD) + with the allocation request. In the case of padding, the allocated range + could be bigger than what was requested. + EfiPciHostBridgeSetResources Programs the host bridge hardware to decode previously allocated + resources (proposed resources) for all the PCI root bridges. After the + hardware is programmed, reassigning resources will not be supported. + The bus settings are not affected. + EfiPciHostBridgeFreeResources Deallocates resources that were previously allocated for all the PCI + root bridges and resets the I/O and memory apertures to their initial + state. The bus settings are not affected. If the request to allocate + resources fails, the PCI enumerator can use this notification to + deallocate previous resources, adjust the requests, and retry + allocation. + EfiPciHostBridgeEndResourceAllocation The resource allocation phase is completed. No specific action is + required here. This notification can be used to perform any chipsetspecific + programming. + + @param[in] PciResAlloc The instance pointer of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param[in] Phase The phase during enumeration + + @retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error + is valid for a Phase of EfiPciHostBridgeAllocateResources if + SubmitResources() has not been called for one or more + PCI root bridges before this call + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid + for a Phase of EfiPciHostBridgeSetResources. + @retval EFI_INVALID_PARAMETER Invalid phase parameter + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + This error is valid for a Phase of EfiPciHostBridgeAllocateResources if the + previously submitted resource requests cannot be fulfilled or + were only partially fulfilled. + @retval EFI_SUCCESS The notification was accepted without any errors. + +**/ +EFI_STATUS +NotifyPhase ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase + ); + +/** + Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various + stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual + PCI controllers before enumeration. + + This function is called during the PCI enumeration process. No specific action is expected from this + member function. It allows the host bridge driver to preinitialize individual PCI controllers before + enumeration. + + @param Bridge Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance. + @param Bus The bus number of the pci device. + @param Device The device number of the pci device. + @param Func The function number of the pci device. + @param Phase The phase of the PCI device enumeration. + + @retval EFI_SUCCESS The requested parameters were returned. + @retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle. + @retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in + EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE. + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator should + not enumerate this device, including its child devices if it is a PCI-to-PCI + bridge. + +**/ +EFI_STATUS +PreprocessController ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase + ); + +/** + This function allows the PCI bus driver to be notified to act as requested when a hot-plug event has + happened on the hot-plug controller. Currently, the operations include add operation and remove operation.. + + @param This A pointer to the hot plug request protocol. + @param Operation The operation the PCI bus driver is requested to make. + @param Controller The handle of the hot-plug controller. + @param RemainingDevicePath The remaining device path for the PCI-like hot-plug device. + @param NumberOfChildren The number of child handles. + For a add operation, it is an output parameter. + For a remove operation, it's an input parameter. + @param ChildHandleBuffer The buffer which contains the child handles. + + @retval EFI_INVALID_PARAMETER Operation is not a legal value. + Controller is NULL or not a valid handle. + NumberOfChildren is NULL. + ChildHandleBuffer is NULL while Operation is add. + @retval EFI_OUT_OF_RESOURCES There are no enough resources to start the devices. + @retval EFI_NOT_FOUND Can not find bridge according to controller handle. + @retval EFI_SUCCESS The handles for the specified device have been created or destroyed + as requested, and for an add operation, the new handles are + returned in ChildHandleBuffer. +**/ +EFI_STATUS +EFIAPI +PciHotPlugRequestNotify ( + IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This, + IN EFI_PCI_HOTPLUG_OPERATION Operation, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE * ChildHandleBuffer + ); + +/** + Search hostbridge according to given handle + + @param RootBridgeHandle Host bridge handle. + + @retval TRUE Found host bridge handle. + @retval FALSE Not found hot bridge handle. + +**/ +BOOLEAN +SearchHostBridgeHandle ( + IN EFI_HANDLE RootBridgeHandle + ); + +/** + Add host bridge handle to global variable for enumerating. + + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS Successfully added host bridge. + @retval EFI_ABORTED Host bridge is NULL, or given host bridge + has been in host bridge list. + +**/ +EFI_STATUS +AddHostBridgeEnumerator ( + IN EFI_HANDLE HostBridgeHandle + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c new file mode 100644 index 0000000000..99b04a462b --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c @@ -0,0 +1,2885 @@ +/** @file + PCI emumeration support functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +extern CHAR16 *mBarTypeStr[]; +extern EDKII_DEVICE_SECURITY_PROTOCOL *mDeviceSecurityProtocol; + +#define OLD_ALIGN 0xFFFFFFFFFFFFFFFFULL +#define EVEN_ALIGN 0xFFFFFFFFFFFFFFFEULL +#define SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL +#define DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL + +/** + This routine is used to check whether the pci device is present. + + @param PciRootBridgeIo Pointer to instance of EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL. + @param Pci Output buffer for PCI device configuration space. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI Func NO. + + @retval EFI_NOT_FOUND PCI device not present. + @retval EFI_SUCCESS PCI device is found. + +**/ +EFI_STATUS +PciDevicePresent ( + IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo, + OUT PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + UINT64 Address; + EFI_STATUS Status; + + // + // Create PCI address map in terms of Bus, Device and Func + // + Address = EFI_PCI_ADDRESS (Bus, Device, Func, 0); + + +//TiogaPass Override START : Skip SPI controller from Enumeration + +// +// +// It is necessary to skip SPI controller from Enumeration process otherwise SPI access runing DXE/DXE SMM +// will causes failures writting to SPI. This is a WA for LBG since currently OS hidde is not working. +// + if(( Bus == 0x0) && ( Device == 0x1F) && (Func == 0x05)){ + DEBUG ((EFI_D_INFO, "DEBUG - Address - 0x%x BUS %x DEV %x Func %x SKIP\n", Address, Bus, Device, Func)); + return EFI_NOT_FOUND; + } + +//TiogaPass Override END + + // + // Read the Vendor ID register + // + Status = PciRootBridgeIo->Pci.Read ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + Pci + ); + + if (!EFI_ERROR (Status) && (Pci->Hdr).VendorId != 0xffff) { + // + // Read the entire config header for the device + // + Status = PciRootBridgeIo->Pci.Read ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + sizeof (PCI_TYPE00) / sizeof (UINT32), + Pci + ); + + return EFI_SUCCESS; + } + + return EFI_NOT_FOUND; +} + +/** + Collect all the resource information under this root bridge. + + A database that records all the information about pci device subject to this + root bridge will then be created. + + @param Bridge Parent bridge instance. + @param StartBusNumber Bus number of beginning. + + @retval EFI_SUCCESS PCI device is found. + @retval other Some error occurred when reading PCI bridge information. + +**/ +EFI_STATUS +PciPciDeviceInfoCollector ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT8 Func; + UINT8 SecBus; + PCI_IO_DEVICE *PciIoDevice; + EFI_PCI_IO_PROTOCOL *PciIo; + + Status = EFI_SUCCESS; + SecBus = 0; + + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether PCI device is present + // + Status = PciDevicePresent ( + Bridge->PciRootBridgeIo, + &Pci, + (UINT8) StartBusNumber, + (UINT8) Device, + (UINT8) Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (!EFI_ERROR (Status)) { + + // + // Call back to host bridge function + // + PreprocessController (Bridge, (UINT8) StartBusNumber, Device, Func, EfiPciBeforeResourceCollection); + + // + // Collect all the information about the PCI device discovered + // + Status = PciSearchDevice ( + Bridge, + &Pci, + (UINT8) StartBusNumber, + Device, + Func, + &PciIoDevice + ); + + // + // Recursively scan PCI busses on the other side of PCI-PCI bridges + // + // + if (!EFI_ERROR (Status) && (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci))) { + + // + // If it is PPB, we need to get the secondary bus to continue the enumeration + // + PciIo = &(PciIoDevice->PciIo); + + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, PCI_BRIDGE_SECONDARY_BUS_REGISTER_OFFSET, 1, &SecBus); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Ensure secondary bus number is greater than the primary bus number to avoid + // any potential dead loop when PcdPciDisableBusEnumeration is set to TRUE + // + if (SecBus <= StartBusNumber) { + break; + } + + // + // Get resource padding for PPB + // + GetResourcePaddingPpb (PciIoDevice); + + // + // Deep enumerate the next level bus + // + Status = PciPciDeviceInfoCollector ( + PciIoDevice, + (UINT8) (SecBus) + ); + + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + + // + // Skip sub functions, this is not a multi function device + // + Func = PCI_MAX_FUNC; + } + } + + } + } + + return EFI_SUCCESS; +} + +/** + Search required device and create PCI device instance. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI func NO. + @param PciDevice Output of searched PCI device instance. + + @retval EFI_SUCCESS Successfully created PCI device instance. + @retval EFI_OUT_OF_RESOURCES Cannot get PCI device information. + +**/ +EFI_STATUS +PciSearchDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + OUT PCI_IO_DEVICE **PciDevice + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = NULL; + + DEBUG (( + EFI_D_INFO, + "PciBus: Discovered %s @ [%02x|%02x|%02x]\n", + IS_PCI_BRIDGE (Pci) ? L"PPB" : + IS_CARDBUS_BRIDGE (Pci) ? L"P2C" : + L"PCI", + Bus, Device, Func + )); + + if (!IS_PCI_BRIDGE (Pci)) { + + if (IS_CARDBUS_BRIDGE (Pci)) { + PciIoDevice = GatherP2CInfo ( + Bridge, + Pci, + Bus, + Device, + Func + ); + if ((PciIoDevice != NULL) && gFullEnumeration) { + InitializeP2C (PciIoDevice); + } + } else { + + // + // Create private data for Pci Device + // + PciIoDevice = GatherDeviceInfo ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + } + + } else { + + // + // Create private data for PPB + // + PciIoDevice = GatherPpbInfo ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + // + // Special initialization for PPB including making the PPB quiet + // + if ((PciIoDevice != NULL) && gFullEnumeration) { + InitializePpb (PciIoDevice); + } + } + + if (PciIoDevice == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Update the bar information for this PCI device so as to support some specific device + // + UpdatePciInfo (PciIoDevice); + + if (PciIoDevice->DevicePath == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Detect this function has option rom + // + if (gFullEnumeration) { + + if (!IS_CARDBUS_BRIDGE (Pci)) { + + GetOpRomInfo (PciIoDevice); + + } + + ResetPowerManagementFeature (PciIoDevice); + + } + + // + // Insert it into a global tree for future reference + // + InsertPciDevice (Bridge, PciIoDevice); + + // + // Determine PCI device attributes + // + + if (PciDevice != NULL) { + *PciDevice = PciIoDevice; + } + + return EFI_SUCCESS; +} + +/** + Dump the PPB padding resource information. + + @param PciIoDevice PCI IO instance. + @param ResourceType The desired resource type to dump. + PciBarTypeUnknown means to dump all types of resources. +**/ +VOID +DumpPpbPaddingResource ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_BAR_TYPE ResourceType + ) +{ + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; + PCI_BAR_TYPE Type; + + if (PciIoDevice->ResourcePaddingDescriptors == NULL) { + return; + } + + if (ResourceType == PciBarTypeIo16 || ResourceType == PciBarTypeIo32) { + ResourceType = PciBarTypeIo; + } + + for (Descriptor = PciIoDevice->ResourcePaddingDescriptors; Descriptor->Desc != ACPI_END_TAG_DESCRIPTOR; Descriptor++) { + + Type = PciBarTypeUnknown; + if (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_IO) { + Type = PciBarTypeIo; + } else if (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { + + if (Descriptor->AddrSpaceGranularity == 32) { + // + // prefetchable + // + if (Descriptor->SpecificFlag == EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE) { + Type = PciBarTypePMem32; + } + + // + // Non-prefetchable + // + if (Descriptor->SpecificFlag == 0) { + Type = PciBarTypeMem32; + } + } + + if (Descriptor->AddrSpaceGranularity == 64) { + // + // prefetchable + // + if (Descriptor->SpecificFlag == EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE) { + Type = PciBarTypePMem64; + } + + // + // Non-prefetchable + // + if (Descriptor->SpecificFlag == 0) { + Type = PciBarTypeMem64; + } + } + } + + if ((Type != PciBarTypeUnknown) && ((ResourceType == PciBarTypeUnknown) || (ResourceType == Type))) { + DEBUG (( + EFI_D_INFO, + " Padding: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx\n", + mBarTypeStr[Type], Descriptor->AddrRangeMax, Descriptor->AddrLen + )); + } + } + +} + +/** + Dump the PCI BAR information. + + @param PciIoDevice PCI IO instance. +**/ +VOID +DumpPciBars ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINTN Index; + + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + if (PciIoDevice->PciBar[Index].BarType == PciBarTypeUnknown) { + continue; + } + + DEBUG (( + EFI_D_INFO, + " BAR[%d]: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx;\tOffset = 0x%02x\n", + Index, mBarTypeStr[MIN (PciIoDevice->PciBar[Index].BarType, PciBarTypeMaxType)], + PciIoDevice->PciBar[Index].Alignment, PciIoDevice->PciBar[Index].Length, PciIoDevice->PciBar[Index].Offset + )); + } + + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + if ((PciIoDevice->VfPciBar[Index].BarType == PciBarTypeUnknown) && (PciIoDevice->VfPciBar[Index].Length == 0)) { + continue; + } + + DEBUG (( + EFI_D_INFO, + " VFBAR[%d]: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx;\tOffset = 0x%02x\n", + Index, mBarTypeStr[MIN (PciIoDevice->VfPciBar[Index].BarType, PciBarTypeMaxType)], + PciIoDevice->VfPciBar[Index].Alignment, PciIoDevice->VfPciBar[Index].Length, PciIoDevice->VfPciBar[Index].Offset + )); + } + DEBUG ((EFI_D_INFO, "\n")); +} + +/** + Create PCI device instance for PCI device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherDeviceInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + UINTN Offset; + UINTN BarIndex; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = CreatePciIoDevice ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + if (PciIoDevice == NULL) { + return NULL; + } + + // + // If it is a full enumeration, disconnect the device in advance + // + if (gFullEnumeration) { + + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_BITS_OWNED); + + } + + // + // Start to parse the bars + // + for (Offset = 0x10, BarIndex = 0; Offset <= 0x24 && BarIndex < PCI_MAX_BAR; BarIndex++) { + Offset = PciParseBar (PciIoDevice, Offset, BarIndex); + } + + // + // Parse the SR-IOV VF bars + // + if (PcdGetBool (PcdSrIovSupport) && PciIoDevice->SrIovCapabilityOffset != 0) { + for (Offset = PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_BAR0, BarIndex = 0; + Offset <= PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_BAR5; + BarIndex++) { + + ASSERT (BarIndex < PCI_MAX_BAR); + Offset = PciIovParseVfBar (PciIoDevice, Offset, BarIndex); + } + } + + DEBUG_CODE (DumpPciBars (PciIoDevice);); + return PciIoDevice; +} + +/** + Create PCI device instance for PCI-PCI bridge. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherPpbInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_STATUS Status; + UINT8 Value; + EFI_PCI_IO_PROTOCOL *PciIo; + UINT8 Temp; + UINT32 PMemBaseLimit; + UINT16 PrefetchableMemoryBase; + UINT16 PrefetchableMemoryLimit; + + PciIoDevice = CreatePciIoDevice ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + if (PciIoDevice == NULL) { + return NULL; + } + + if (gFullEnumeration) { + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_BITS_OWNED); + + // + // Initialize the bridge control register + // + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCI_BRIDGE_CONTROL_BITS_OWNED); + + } + + // + // PPB can have two BARs + // + if (PciParseBar (PciIoDevice, 0x10, PPB_BAR_0) == 0x14) { + // + // Not 64-bit bar + // + PciParseBar (PciIoDevice, 0x14, PPB_BAR_1); + } + + PciIo = &PciIoDevice->PciIo; + + // + // Test whether it support 32 decode or not + // + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &gAllOne); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); + + if (Value != 0) { + if ((Value & 0x01) != 0) { + PciIoDevice->Decodes |= EFI_BRIDGE_IO32_DECODE_SUPPORTED; + } else { + PciIoDevice->Decodes |= EFI_BRIDGE_IO16_DECODE_SUPPORTED; + } + } + + // + // if PcdPciBridgeIoAlignmentProbe is TRUE, PCI bus driver probes + // PCI bridge supporting non-standard I/O window alignment less than 4K. + // + + PciIoDevice->BridgeIoAlignment = 0xFFF; + if (FeaturePcdGet (PcdPciBridgeIoAlignmentProbe)) { + // + // Check any bits of bit 3-1 of I/O Base Register are writable. + // if so, it is assumed non-standard I/O window alignment is supported by this bridge. + // Per spec, bit 3-1 of I/O Base Register are reserved bits, so its content can't be assumed. + // + Value = (UINT8)(Temp ^ (BIT3 | BIT2 | BIT1)); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); + Value = (UINT8)((Value ^ Temp) & (BIT3 | BIT2 | BIT1)); + switch (Value) { + case BIT3: + PciIoDevice->BridgeIoAlignment = 0x7FF; + break; + case BIT3 | BIT2: + PciIoDevice->BridgeIoAlignment = 0x3FF; + break; + case BIT3 | BIT2 | BIT1: + PciIoDevice->BridgeIoAlignment = 0x1FF; + break; + } + } + + Status = BarExisted ( + PciIoDevice, + 0x24, + NULL, + &PMemBaseLimit + ); + + // + // Test if it supports 64 memory or not + // + // The bottom 4 bits of both the Prefetchable Memory Base and Prefetchable Memory Limit + // registers: + // 0 - the bridge supports only 32 bit addresses. + // 1 - the bridge supports 64-bit addresses. + // + PrefetchableMemoryBase = (UINT16)(PMemBaseLimit & 0xffff); + PrefetchableMemoryLimit = (UINT16)(PMemBaseLimit >> 16); + if (!EFI_ERROR (Status) && + (PrefetchableMemoryBase & 0x000f) == 0x0001 && + (PrefetchableMemoryLimit & 0x000f) == 0x0001) { + Status = BarExisted ( + PciIoDevice, + 0x28, + NULL, + NULL + ); + + if (!EFI_ERROR (Status)) { + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM64_DECODE_SUPPORTED; + } else { + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; + } + } + + // + // Memory 32 code is required for ppb + // + PciIoDevice->Decodes |= EFI_BRIDGE_MEM32_DECODE_SUPPORTED; + + GetResourcePaddingPpb (PciIoDevice); + + DEBUG_CODE ( + DumpPpbPaddingResource (PciIoDevice, PciBarTypeUnknown); + DumpPciBars (PciIoDevice); + ); + + return PciIoDevice; +} + + +/** + Create PCI device instance for PCI Card bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherP2CInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = CreatePciIoDevice ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + if (PciIoDevice == NULL) { + return NULL; + } + + if (gFullEnumeration) { + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_BITS_OWNED); + + // + // Initialize the bridge control register + // + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCCARD_BRIDGE_CONTROL_BITS_OWNED); + } + + // + // P2C only has one bar that is in 0x10 + // + PciParseBar (PciIoDevice, 0x10, P2C_BAR_0); + + // + // Read PciBar information from the bar register + // + GetBackPcCardBar (PciIoDevice); + PciIoDevice->Decodes = EFI_BRIDGE_MEM32_DECODE_SUPPORTED | + EFI_BRIDGE_PMEM32_DECODE_SUPPORTED | + EFI_BRIDGE_IO32_DECODE_SUPPORTED; + + DEBUG_CODE (DumpPciBars (PciIoDevice);); + + return PciIoDevice; +} + +/** + Create device path for pci device. + + @param ParentDevicePath Parent bridge's path. + @param PciIoDevice Pci device instance. + + @return Device path protocol instance for specific pci device. + +**/ +EFI_DEVICE_PATH_PROTOCOL * +CreatePciDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + + PCI_DEVICE_PATH PciNode; + + // + // Create PCI device path + // + PciNode.Header.Type = HARDWARE_DEVICE_PATH; + PciNode.Header.SubType = HW_PCI_DP; + SetDevicePathNodeLength (&PciNode.Header, sizeof (PciNode)); + + PciNode.Device = PciIoDevice->DeviceNumber; + PciNode.Function = PciIoDevice->FunctionNumber; + PciIoDevice->DevicePath = AppendDevicePathNode (ParentDevicePath, &PciNode.Header); + + return PciIoDevice->DevicePath; +} + +/** + Check whether the PCI IOV VF bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +VfBarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT32 OriginalValue; + UINT32 Value; + EFI_TPL OldTpl; + + // + // Ensure it is called properly + // + ASSERT (PciIoDevice->SrIovCapabilityOffset != 0); + if (PciIoDevice->SrIovCapabilityOffset == 0) { + return EFI_NOT_FOUND; + } + + PciIo = &PciIoDevice->PciIo; + + // + // Preserve the original value + // + + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &OriginalValue); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &gAllOne); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &Value); + + // + // Write back the original value + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &OriginalValue); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + if (BarLengthValue != NULL) { + *BarLengthValue = Value; + } + + if (OriginalBarValue != NULL) { + *OriginalBarValue = OriginalValue; + } + + if (Value == 0) { + return EFI_NOT_FOUND; + } else { + return EFI_SUCCESS; + } +} + +/** + Check whether the bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +BarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT32 OriginalValue; + UINT32 Value; + EFI_TPL OldTpl; + + PciIo = &PciIoDevice->PciIo; + + // + // Preserve the original value + // + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &OriginalValue); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &gAllOne); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &Value); + + // + // Write back the original value + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &OriginalValue); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + if (BarLengthValue != NULL) { + *BarLengthValue = Value; + } + + if (OriginalBarValue != NULL) { + *OriginalBarValue = OriginalValue; + } + + if (Value == 0) { + return EFI_NOT_FOUND; + } else { + return EFI_SUCCESS; + } +} + +/** + Test whether the device can support given attributes. + + @param PciIoDevice Pci device instance. + @param Command Input command register value, and + returned supported register value. + @param BridgeControl Input bridge control value for PPB or P2C, and + returned supported bridge control value. + @param OldCommand Returned and stored old command register offset. + @param OldBridgeControl Returned and stored old Bridge control value for PPB or P2C. + +**/ +VOID +PciTestSupportedAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN OUT UINT16 *Command, + IN OUT UINT16 *BridgeControl, + OUT UINT16 *OldCommand, + OUT UINT16 *OldBridgeControl + ) +{ + EFI_TPL OldTpl; + + // + // Preserve the original value + // + PCI_READ_COMMAND_REGISTER (PciIoDevice, OldCommand); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PCI_SET_COMMAND_REGISTER (PciIoDevice, *Command); + PCI_READ_COMMAND_REGISTER (PciIoDevice, Command); + + // + // Write back the original value + // + PCI_SET_COMMAND_REGISTER (PciIoDevice, *OldCommand); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + + // + // Preserve the original value + // + PCI_READ_BRIDGE_CONTROL_REGISTER (PciIoDevice, OldBridgeControl); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PCI_SET_BRIDGE_CONTROL_REGISTER (PciIoDevice, *BridgeControl); + PCI_READ_BRIDGE_CONTROL_REGISTER (PciIoDevice, BridgeControl); + + // + // Write back the original value + // + PCI_SET_BRIDGE_CONTROL_REGISTER (PciIoDevice, *OldBridgeControl); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + } else { + *OldBridgeControl = 0; + *BridgeControl = 0; + } +} + +/** + Set the supported or current attributes of a PCI device. + + @param PciIoDevice Structure pointer for PCI device. + @param Command Command register value. + @param BridgeControl Bridge control value for PPB or P2C. + @param Option Make a choice of EFI_SET_SUPPORTS or EFI_SET_ATTRIBUTES. + +**/ +VOID +PciSetDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT16 BridgeControl, + IN UINTN Option + ) +{ + UINT64 Attributes; + + Attributes = 0; + + if ((Command & EFI_PCI_COMMAND_IO_SPACE) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_IO; + } + + if ((Command & EFI_PCI_COMMAND_MEMORY_SPACE) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_MEMORY; + } + + if ((Command & EFI_PCI_COMMAND_BUS_MASTER) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_BUS_MASTER; + } + + if ((Command & EFI_PCI_COMMAND_VGA_PALETTE_SNOOP) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; + } + + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_ISA) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_ISA_IO; + } + + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_VGA) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_IO; + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY; + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; + } + + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_VGA_16) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_IO_16; + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16; + } + + if (Option == EFI_SET_SUPPORTS) { + + Attributes |= (UINT64) (EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE | + EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED | + EFI_PCI_IO_ATTRIBUTE_MEMORY_DISABLE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); + + if (IS_PCI_LPC (&PciIoDevice->Pci)) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_ISA_MOTHERBOARD_IO; + Attributes |= (mReserveIsaAliases ? (UINT64) EFI_PCI_IO_ATTRIBUTE_ISA_IO : \ + (UINT64) EFI_PCI_IO_ATTRIBUTE_ISA_IO_16); + } + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + // + // For bridge, it should support IDE attributes + // + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO; + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO; + + if (mReserveVgaAliases) { + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | \ + EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16); + } else { + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_VGA_IO | \ + EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO); + } + } else { + + if (IS_PCI_IDE (&PciIoDevice->Pci)) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO; + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO; + } + + if (IS_PCI_VGA (&PciIoDevice->Pci)) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY; + Attributes |= (mReserveVgaAliases ? (UINT64) EFI_PCI_IO_ATTRIBUTE_VGA_IO : \ + (UINT64) EFI_PCI_IO_ATTRIBUTE_VGA_IO_16); + } + } + + PciIoDevice->Supports = Attributes; + PciIoDevice->Supports &= ( (PciIoDevice->Parent->Supports) | \ + EFI_PCI_IO_ATTRIBUTE_IO | EFI_PCI_IO_ATTRIBUTE_MEMORY | \ + EFI_PCI_IO_ATTRIBUTE_BUS_MASTER ); + + } else { + // + // When this attribute is clear, the RomImage and RomSize fields in the PCI IO were + // initialized based on the PCI option ROM found through the ROM BAR of the PCI controller. + // When this attribute is set, the PCI option ROM described by the RomImage and RomSize + // fields is not from the the ROM BAR of the PCI controller. + // + if (!PciIoDevice->EmbeddedRom) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM; + } + PciIoDevice->Attributes = Attributes; + } +} + +/** + Determine if the device can support Fast Back to Back attribute. + + @param PciIoDevice Pci device instance. + @param StatusIndex Status register value. + + @retval EFI_SUCCESS This device support Fast Back to Back attribute. + @retval EFI_UNSUPPORTED This device doesn't support Fast Back to Back attribute. + +**/ +EFI_STATUS +GetFastBackToBackSupport ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 StatusIndex + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + UINT32 StatusRegister; + + // + // Read the status register + // + PciIo = &PciIoDevice->PciIo; + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint16, StatusIndex, 1, &StatusRegister); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Check the Fast B2B bit + // + if ((StatusRegister & EFI_PCI_FAST_BACK_TO_BACK_CAPABLE) != 0) { + return EFI_SUCCESS; + } else { + return EFI_UNSUPPORTED; + } +} + +/** + Process the option ROM for all the children of the specified parent PCI device. + It can only be used after the first full Option ROM process. + + @param PciIoDevice Pci device instance. + +**/ +VOID +ProcessOptionRomLight ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + + // + // For RootBridge, PPB , P2C, go recursively to traverse all its children + // + CurrentLink = PciIoDevice->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (!IsListEmpty (&Temp->ChildList)) { + ProcessOptionRomLight (Temp); + } + + Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp); + + CurrentLink = CurrentLink->ForwardLink; + } +} + +/** + Determine the related attributes of all devices under a Root Bridge. + + @param PciIoDevice PCI device instance. + +**/ +EFI_STATUS +DetermineDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT16 Command; + UINT16 BridgeControl; + UINT16 OldCommand; + UINT16 OldBridgeControl; + BOOLEAN FastB2BSupport; + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + EFI_STATUS Status; + + // + // For Root Bridge, just copy it by RootBridgeIo protocol + // so as to keep consistent with the actual attribute + // + if (PciIoDevice->Parent == NULL) { + Status = PciIoDevice->PciRootBridgeIo->GetAttributes ( + PciIoDevice->PciRootBridgeIo, + &PciIoDevice->Supports, + &PciIoDevice->Attributes + ); + if (EFI_ERROR (Status)) { + return Status; + } + // + // Assume the PCI Root Bridge supports DAC + // + PciIoDevice->Supports |= (UINT64)(EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); + + } else { + + // + // Set the attributes to be checked for common PCI devices and PPB or P2C + // Since some devices only support part of them, it is better to set the + // attribute according to its command or bridge control register + // + Command = EFI_PCI_COMMAND_IO_SPACE | + EFI_PCI_COMMAND_MEMORY_SPACE | + EFI_PCI_COMMAND_BUS_MASTER | + EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; + + BridgeControl = EFI_PCI_BRIDGE_CONTROL_ISA | EFI_PCI_BRIDGE_CONTROL_VGA | EFI_PCI_BRIDGE_CONTROL_VGA_16; + + // + // Test whether the device can support attributes above + // + PciTestSupportedAttribute (PciIoDevice, &Command, &BridgeControl, &OldCommand, &OldBridgeControl); + + // + // Set the supported attributes for specified PCI device + // + PciSetDeviceAttribute (PciIoDevice, Command, BridgeControl, EFI_SET_SUPPORTS); + + // + // Set the current attributes for specified PCI device + // + PciSetDeviceAttribute (PciIoDevice, OldCommand, OldBridgeControl, EFI_SET_ATTRIBUTES); + + // + // Enable other PCI supported attributes but not defined in PCI_IO_PROTOCOL + // For PCI Express devices, Memory Write and Invalidate is hardwired to 0b so only enable it for PCI devices. + if (!PciIoDevice->IsPciExp) { + PCI_ENABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_MEMORY_WRITE_AND_INVALIDATE); + } + } + + FastB2BSupport = TRUE; + + // + // P2C can not support FB2B on the secondary side + // + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + FastB2BSupport = FALSE; + } + + // + // For RootBridge, PPB , P2C, go recursively to traverse all its children + // + CurrentLink = PciIoDevice->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + Status = DetermineDeviceAttribute (Temp); + if (EFI_ERROR (Status)) { + return Status; + } + // + // Detect Fast Back to Back support for the device under the bridge + // + Status = GetFastBackToBackSupport (Temp, PCI_PRIMARY_STATUS_OFFSET); + if (FastB2BSupport && EFI_ERROR (Status)) { + FastB2BSupport = FALSE; + } + + CurrentLink = CurrentLink->ForwardLink; + } + // + // Set or clear Fast Back to Back bit for the whole bridge + // + if (!IsListEmpty (&PciIoDevice->ChildList)) { + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + + Status = GetFastBackToBackSupport (PciIoDevice, PCI_BRIDGE_STATUS_REGISTER_OFFSET); + + if (EFI_ERROR (Status) || (!FastB2BSupport)) { + FastB2BSupport = FALSE; + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK); + } else { + PCI_ENABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK); + } + } + + CurrentLink = PciIoDevice->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (FastB2BSupport) { + PCI_ENABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_FAST_BACK_TO_BACK); + } else { + PCI_DISABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_FAST_BACK_TO_BACK); + } + + CurrentLink = CurrentLink->ForwardLink; + } + } + // + // End for IsListEmpty + // + return EFI_SUCCESS; +} + +/** + This routine is used to update the bar information for those incompatible PCI device. + + @param PciIoDevice Input Pci device instance. Output Pci device instance with updated + Bar information. + + @retval EFI_SUCCESS Successfully updated bar information. + @retval EFI_UNSUPPORTED Given PCI device doesn't belong to incompatible PCI device list. + +**/ +EFI_STATUS +UpdatePciInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + UINTN BarIndex; + BOOLEAN SetFlag; + VOID *Configuration; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + + Configuration = NULL; + Status = EFI_SUCCESS; + + if (gIncompatiblePciDeviceSupport == NULL) { + // + // It can only be supported after the Incompatible PCI Device + // Support Protocol has been installed + // + Status = gBS->LocateProtocol ( + &gEfiIncompatiblePciDeviceSupportProtocolGuid, + NULL, + (VOID **) &gIncompatiblePciDeviceSupport + ); + } + if (Status == EFI_SUCCESS) { + // + // Check whether the device belongs to incompatible devices from protocol or not + // If it is , then get its special requirement in the ACPI table + // + Status = gIncompatiblePciDeviceSupport->CheckDevice ( + gIncompatiblePciDeviceSupport, + PciIoDevice->Pci.Hdr.VendorId, + PciIoDevice->Pci.Hdr.DeviceId, + PciIoDevice->Pci.Hdr.RevisionID, + PciIoDevice->Pci.Device.SubsystemVendorID, + PciIoDevice->Pci.Device.SubsystemID, + &Configuration + ); + + } + + if (EFI_ERROR (Status) || Configuration == NULL ) { + return EFI_UNSUPPORTED; + } + + // + // Update PCI device information from the ACPI table + // + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; + + while (Ptr->Desc != ACPI_END_TAG_DESCRIPTOR) { + + if (Ptr->Desc != ACPI_ADDRESS_SPACE_DESCRIPTOR) { + // + // The format is not support + // + break; + } + + for (BarIndex = 0; BarIndex < PCI_MAX_BAR; BarIndex++) { + if ((Ptr->AddrTranslationOffset != MAX_UINT64) && + (Ptr->AddrTranslationOffset != MAX_UINT8) && + (Ptr->AddrTranslationOffset != BarIndex) + ) { + // + // Skip updating when AddrTranslationOffset is not MAX_UINT64 or MAX_UINT8 (wide match). + // Skip updating when current BarIndex doesn't equal to AddrTranslationOffset. + // Comparing against MAX_UINT8 is to keep backward compatibility. + // + continue; + } + + SetFlag = FALSE; + switch (Ptr->ResType) { + case ACPI_ADDRESS_SPACE_TYPE_MEM: + + // + // Make sure the bar is memory type + // + if (CheckBarType (PciIoDevice, (UINT8) BarIndex, PciBarTypeMem)) { + SetFlag = TRUE; + + // + // Ignored if granularity is 0. + // Ignored if PCI BAR is I/O or 32-bit memory. + // If PCI BAR is 64-bit memory and granularity is 32, then + // the PCI BAR resource is allocated below 4GB. + // If PCI BAR is 64-bit memory and granularity is 64, then + // the PCI BAR resource is allocated above 4GB. + // + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeMem64) { + switch (Ptr->AddrSpaceGranularity) { + case 32: + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem32; + case 64: + PciIoDevice->PciBar[BarIndex].BarTypeFixed = TRUE; + break; + default: + break; + } + } + + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypePMem64) { + switch (Ptr->AddrSpaceGranularity) { + case 32: + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem32; + case 64: + PciIoDevice->PciBar[BarIndex].BarTypeFixed = TRUE; + break; + default: + break; + } + } + } + break; + + case ACPI_ADDRESS_SPACE_TYPE_IO: + + // + // Make sure the bar is IO type + // + if (CheckBarType (PciIoDevice, (UINT8) BarIndex, PciBarTypeIo)) { + SetFlag = TRUE; + } + break; + } + + if (SetFlag) { + + // + // Update the new alignment for the device + // + SetNewAlign (&(PciIoDevice->PciBar[BarIndex].Alignment), Ptr->AddrRangeMax); + + // + // Update the new length for the device + // + if (Ptr->AddrLen != 0) { + PciIoDevice->PciBar[BarIndex].Length = Ptr->AddrLen; + } + } + } + + Ptr++; + } + + FreePool (Configuration); + + return EFI_SUCCESS; +} + +/** + This routine will update the alignment with the new alignment. + Compare with OLD_ALIGN/EVEN_ALIGN/SQUAD_ALIGN/DQUAD_ALIGN is to keep + backward compatibility. + + @param Alignment Input Old alignment. Output updated alignment. + @param NewAlignment New alignment. + +**/ +VOID +SetNewAlign ( + IN OUT UINT64 *Alignment, + IN UINT64 NewAlignment + ) +{ + UINT64 OldAlignment; + UINTN ShiftBit; + + // + // The new alignment is the same as the original, + // so skip it + // + if ((NewAlignment == 0) || (NewAlignment == OLD_ALIGN)) { + return ; + } + // + // Check the validity of the parameter + // + if (NewAlignment != EVEN_ALIGN && + NewAlignment != SQUAD_ALIGN && + NewAlignment != DQUAD_ALIGN ) { + *Alignment = NewAlignment; + return ; + } + + OldAlignment = (*Alignment) + 1; + ShiftBit = 0; + + // + // Get the first non-zero hex value of the length + // + while ((OldAlignment & 0x0F) == 0x00) { + OldAlignment = RShiftU64 (OldAlignment, 4); + ShiftBit += 4; + } + + // + // Adjust the alignment to even, quad or double quad boundary + // + if (NewAlignment == EVEN_ALIGN) { + if ((OldAlignment & 0x01) != 0) { + OldAlignment = OldAlignment + 2 - (OldAlignment & 0x01); + } + } else if (NewAlignment == SQUAD_ALIGN) { + if ((OldAlignment & 0x03) != 0) { + OldAlignment = OldAlignment + 4 - (OldAlignment & 0x03); + } + } else if (NewAlignment == DQUAD_ALIGN) { + if ((OldAlignment & 0x07) != 0) { + OldAlignment = OldAlignment + 8 - (OldAlignment & 0x07); + } + } + + // + // Update the old value + // + NewAlignment = LShiftU64 (OldAlignment, ShiftBit) - 1; + *Alignment = NewAlignment; + + return ; +} + +/** + Parse PCI IOV VF bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciIovParseVfBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ) +{ + UINT32 Value; + UINT32 OriginalValue; + UINT32 Mask; + EFI_STATUS Status; + + // + // Ensure it is called properly + // + ASSERT (PciIoDevice->SrIovCapabilityOffset != 0); + if (PciIoDevice->SrIovCapabilityOffset == 0) { + return 0; + } + + OriginalValue = 0; + Value = 0; + + Status = VfBarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0; + PciIoDevice->VfPciBar[BarIndex].Length = 0; + PciIoDevice->VfPciBar[BarIndex].Alignment = 0; + + // + // Scan all the BARs anyway + // + PciIoDevice->VfPciBar[BarIndex].Offset = (UINT16) Offset; + return Offset + 4; + } + + PciIoDevice->VfPciBar[BarIndex].Offset = (UINT16) Offset; + if ((Value & 0x01) != 0) { + // + // Device I/Os. Impossible + // + ASSERT (FALSE); + return Offset + 4; + + } else { + + Mask = 0xfffffff0; + + PciIoDevice->VfPciBar[BarIndex].BaseAddress = OriginalValue & Mask; + + switch (Value & 0x07) { + + // + //memory space; anywhere in 32 bit address space + // + case 0x00: + if ((Value & 0x08) != 0) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypePMem32; + } else { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeMem32; + } + + PciIoDevice->VfPciBar[BarIndex].Length = (~(Value & Mask)) + 1; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + // + // Adjust Length + // + PciIoDevice->VfPciBar[BarIndex].Length = MultU64x32 (PciIoDevice->VfPciBar[BarIndex].Length, PciIoDevice->InitialVFs); + // + // Adjust Alignment + // + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + break; + + // + // memory space; anywhere in 64 bit address space + // + case 0x04: + if ((Value & 0x08) != 0) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypePMem64; + } else { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeMem64; + } + + // + // According to PCI 2.2,if the bar indicates a memory 64 decoding, next bar + // is regarded as an extension for the first bar. As a result + // the sizing will be conducted on combined 64 bit value + // Here just store the masked first 32bit value for future size + // calculation + // + PciIoDevice->VfPciBar[BarIndex].Length = Value & Mask; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + // + // Increment the offset to point to next DWORD + // + Offset += 4; + + Status = VfBarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; + return Offset + 4; + } + + // + // Fix the length to support some special 64 bit BAR + // + Value |= ((UINT32) -1 << HighBitSet32 (Value)); + + // + // Calculate the size of 64bit bar + // + PciIoDevice->VfPciBar[BarIndex].BaseAddress |= LShiftU64 ((UINT64) OriginalValue, 32); + + PciIoDevice->VfPciBar[BarIndex].Length = PciIoDevice->VfPciBar[BarIndex].Length | LShiftU64 ((UINT64) Value, 32); + PciIoDevice->VfPciBar[BarIndex].Length = (~(PciIoDevice->VfPciBar[BarIndex].Length)) + 1; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + // + // Adjust Length + // + PciIoDevice->VfPciBar[BarIndex].Length = MultU64x32 (PciIoDevice->VfPciBar[BarIndex].Length, PciIoDevice->InitialVFs); + // + // Adjust Alignment + // + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + break; + + // + // reserved + // + default: + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->VfPciBar[BarIndex].Length = (~(Value & Mask)) + 1; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + break; + } + } + + // + // Check the length again so as to keep compatible with some special bars + // + if (PciIoDevice->VfPciBar[BarIndex].Length == 0) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0; + PciIoDevice->VfPciBar[BarIndex].Alignment = 0; + } + + // + // Increment number of bar + // + return Offset + 4; +} + +/** + Parse PCI bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciParseBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ) +{ + UINT32 Value; + UINT32 OriginalValue; + UINT32 Mask; + EFI_STATUS Status; + + OriginalValue = 0; + Value = 0; + + Status = BarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + PciIoDevice->PciBar[BarIndex].BaseAddress = 0; + PciIoDevice->PciBar[BarIndex].Length = 0; + PciIoDevice->PciBar[BarIndex].Alignment = 0; + + // + // Some devices don't fully comply to PCI spec 2.2. So be to scan all the BARs anyway + // + PciIoDevice->PciBar[BarIndex].Offset = (UINT8) Offset; + return Offset + 4; + } + + PciIoDevice->PciBar[BarIndex].BarTypeFixed = FALSE; + PciIoDevice->PciBar[BarIndex].Offset = (UINT8) Offset; + if ((Value & 0x01) != 0) { + // + // Device I/Os + // + Mask = 0xfffffffc; + + if ((Value & 0xFFFF0000) != 0) { + // + // It is a IO32 bar + // + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeIo32; + PciIoDevice->PciBar[BarIndex].Length = ((~(Value & Mask)) + 1); + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + + } else { + // + // It is a IO16 bar + // + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeIo16; + PciIoDevice->PciBar[BarIndex].Length = 0x0000FFFF & ((~(Value & Mask)) + 1); + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + + } + // + // Workaround. Some platforms implement IO bar with 0 length + // Need to treat it as no-bar + // + if (PciIoDevice->PciBar[BarIndex].Length == 0) { + PciIoDevice->PciBar[BarIndex].BarType = (PCI_BAR_TYPE) 0; + } + + PciIoDevice->PciBar[BarIndex].BaseAddress = OriginalValue & Mask; + + } else { + + Mask = 0xfffffff0; + + PciIoDevice->PciBar[BarIndex].BaseAddress = OriginalValue & Mask; + + switch (Value & 0x07) { + + // + //memory space; anywhere in 32 bit address space + // + case 0x00: + if ((Value & 0x08) != 0) { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem32; + } else { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem32; + } + + PciIoDevice->PciBar[BarIndex].Length = (~(Value & Mask)) + 1; + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { + // + // Force minimum 4KByte alignment for Virtualization technology for Directed I/O + // + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); + } else { + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + } + break; + + // + // memory space; anywhere in 64 bit address space + // + case 0x04: + if ((Value & 0x08) != 0) { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem64; + } else { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem64; + } + + // + // According to PCI 2.2,if the bar indicates a memory 64 decoding, next bar + // is regarded as an extension for the first bar. As a result + // the sizing will be conducted on combined 64 bit value + // Here just store the masked first 32bit value for future size + // calculation + // + PciIoDevice->PciBar[BarIndex].Length = Value & Mask; + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + + // + // Increment the offset to point to next DWORD + // + Offset += 4; + + Status = BarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + // + // the high 32 bit does not claim any BAR, we need to re-check the low 32 bit BAR again + // + if (PciIoDevice->PciBar[BarIndex].Length == 0) { + // + // some device implement MMIO bar with 0 length, need to treat it as no-bar + // + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; + return Offset + 4; + } + } + + // + // Fix the length to support some special 64 bit BAR + // + if (Value == 0) { + DEBUG ((EFI_D_INFO, "[PciBus]BAR probing for upper 32bit of MEM64 BAR returns 0, change to 0xFFFFFFFF.\n")); + Value = (UINT32) -1; + } else { + Value |= ((UINT32)(-1) << HighBitSet32 (Value)); + } + + // + // Calculate the size of 64bit bar + // + PciIoDevice->PciBar[BarIndex].BaseAddress |= LShiftU64 ((UINT64) OriginalValue, 32); + + PciIoDevice->PciBar[BarIndex].Length = PciIoDevice->PciBar[BarIndex].Length | LShiftU64 ((UINT64) Value, 32); + PciIoDevice->PciBar[BarIndex].Length = (~(PciIoDevice->PciBar[BarIndex].Length)) + 1; + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { + // + // Force minimum 4KByte alignment for Virtualization technology for Directed I/O + // + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); + } else { + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + } + + break; + + // + // reserved + // + default: + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->PciBar[BarIndex].Length = (~(Value & Mask)) + 1; + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { + // + // Force minimum 4KByte alignment for Virtualization technology for Directed I/O + // + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); + } else { + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + } + break; + } + } + + // + // Check the length again so as to keep compatible with some special bars + // + if (PciIoDevice->PciBar[BarIndex].Length == 0) { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->PciBar[BarIndex].BaseAddress = 0; + PciIoDevice->PciBar[BarIndex].Alignment = 0; + } + + // + // Increment number of bar + // + return Offset + 4; +} + +/** + This routine is used to initialize the bar of a PCI device. + + @param PciIoDevice Pci device instance. + + @note It can be called typically when a device is going to be rejected. + +**/ +VOID +InitializePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT8 Offset; + + PciIo = &(PciIoDevice->PciIo); + + // + // Put all the resource apertures + // Resource base is set to all ones so as to indicate its resource + // has not been allocated + // + for (Offset = 0x10; Offset <= 0x24; Offset += sizeof (UINT32)) { + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, Offset, 1, &gAllOne); + } +} + +/** + This routine is used to initialize the bar of a PCI-PCI Bridge device. + + @param PciIoDevice PCI-PCI bridge device instance. + +**/ +VOID +InitializePpb ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + + PciIo = &(PciIoDevice->PciIo); + + // + // Put all the resource apertures including IO16 + // Io32, pMem32, pMem64 to quiescent state + // Resource base all ones, Resource limit all zeros + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1D, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x20, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x22, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x24, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x26, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x28, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x2C, 1, &gAllZero); + + // + // Don't support use io32 as for now + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x30, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x32, 1, &gAllZero); + + // + // Force Interrupt line to zero for cards that come up randomly + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &gAllZero); +} + +/** + This routine is used to initialize the bar of a PCI Card Bridge device. + + @param PciIoDevice PCI Card bridge device. + +**/ +VOID +InitializeP2C ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + + PciIo = &(PciIoDevice->PciIo); + + // + // Put all the resource apertures including IO16 + // Io32, pMem32, pMem64 to quiescent state( + // Resource base all ones, Resource limit all zeros + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x1c, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x20, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x24, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x28, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x2c, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x30, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x34, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x38, 1, &gAllZero); + + // + // Force Interrupt line to zero for cards that come up randomly + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &gAllZero); +} + +/** + Authenticate the PCI device by using DeviceSecurityProtocol. + + @param PciIoDevice PCI device. + + @retval EFI_SUCCESS The device passes the authentication. + @return not EFI_SUCCESS The device failes the authentication or + unexpected error happen during authentication. +**/ +EFI_STATUS +AuthenticatePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EDKII_DEVICE_IDENTIFIER DeviceIdentifier; + EFI_STATUS Status; + + if (mDeviceSecurityProtocol != NULL) { + // + // Prepare the parameter + // + DeviceIdentifier.Version = EDKII_DEVICE_IDENTIFIER_REVISION; + CopyGuid (&DeviceIdentifier.DeviceType, &gEdkiiDeviceIdentifierTypePciGuid); + DeviceIdentifier.DeviceHandle = NULL; + Status = gBS->InstallMultipleProtocolInterfaces ( + &DeviceIdentifier.DeviceHandle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEdkiiDeviceIdentifierTypePciGuid, + &PciIoDevice->PciIo, + NULL + ); + if (EFI_ERROR(Status)) { + return Status; + } + + // + // Do DeviceAuthentication + // + Status = mDeviceSecurityProtocol->DeviceAuthenticate (mDeviceSecurityProtocol, &DeviceIdentifier); + // + // Always uninstall, because they are only for Authentication. + // No need to check return Status. + // + gBS->UninstallMultipleProtocolInterfaces ( + DeviceIdentifier.DeviceHandle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEdkiiDeviceIdentifierTypePciGuid, + &PciIoDevice->PciIo, + NULL + ); + return Status; + } + + // + // Device Security Protocol is not found, just return success + // + return EFI_SUCCESS; +} + +/** + Create and initialize general PCI I/O device instance for + PCI device/bridge device/hotplug bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input Pci information block. + @param Bus Device Bus NO. + @param Device Device device NO. + @param Func Device func NO. + + @return Instance of PCI device. NULL means no instance created. + +**/ +PCI_IO_DEVICE * +CreatePciIoDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + + PciIoDevice = AllocateZeroPool (sizeof (PCI_IO_DEVICE)); + if (PciIoDevice == NULL) { + return NULL; + } + + PciIoDevice->Signature = PCI_IO_DEVICE_SIGNATURE; + PciIoDevice->Handle = NULL; + PciIoDevice->PciRootBridgeIo = Bridge->PciRootBridgeIo; + PciIoDevice->DevicePath = NULL; + PciIoDevice->BusNumber = Bus; + PciIoDevice->DeviceNumber = Device; + PciIoDevice->FunctionNumber = Func; + PciIoDevice->Decodes = 0; + + if (gFullEnumeration) { + PciIoDevice->Allocated = FALSE; + } else { + PciIoDevice->Allocated = TRUE; + } + + PciIoDevice->Registered = FALSE; + PciIoDevice->Attributes = 0; + PciIoDevice->Supports = 0; + PciIoDevice->BusOverride = FALSE; + PciIoDevice->AllOpRomProcessed = FALSE; + + PciIoDevice->IsPciExp = FALSE; + + CopyMem (&(PciIoDevice->Pci), Pci, sizeof (PCI_TYPE01)); + + // + // Initialize the PCI I/O instance structure + // + InitializePciIoInstance (PciIoDevice); + InitializePciDriverOverrideInstance (PciIoDevice); + InitializePciLoadFile2 (PciIoDevice); + PciIo = &PciIoDevice->PciIo; + + // + // Create a device path for this PCI device and store it into its private data + // + CreatePciDevicePath ( + Bridge->DevicePath, + PciIoDevice + ); + + // + // Detect if PCI Express Device + // + PciIoDevice->PciExpressCapabilityOffset = 0; + Status = LocateCapabilityRegBlock ( + PciIoDevice, + EFI_PCI_CAPABILITY_ID_PCIEXP, + &PciIoDevice->PciExpressCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + PciIoDevice->IsPciExp = TRUE; + } + + // + // Now we can do the authentication check for the device. + // + Status = AuthenticatePciDevice (PciIoDevice); + // + // If authentication fails, skip this device. + // + if (EFI_ERROR(Status)) { + if (PciIoDevice->DevicePath != NULL) { + FreePool (PciIoDevice->DevicePath); + } + FreePool (PciIoDevice); + return NULL; + } + + if (PcdGetBool (PcdAriSupport)) { + // + // Check if the device is an ARI device. + // + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + EFI_PCIE_CAPABILITY_ID_ARI, + &PciIoDevice->AriCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + // + // We need to enable ARI feature before calculate BusReservation, + // because FirstVFOffset and VFStride may change after that. + // + EFI_PCI_IO_PROTOCOL *ParentPciIo; + UINT32 Data32; + + // + // Check if its parent supports ARI forwarding. + // + ParentPciIo = &Bridge->PciIo; + ParentPciIo->Pci.Read ( + ParentPciIo, + EfiPciIoWidthUint32, + Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_OFFSET, + 1, + &Data32 + ); + if ((Data32 & EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_ARI_FORWARDING) != 0) { + // + // ARI forward support in bridge, so enable it. + // + ParentPciIo->Pci.Read ( + ParentPciIo, + EfiPciIoWidthUint32, + Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_OFFSET, + 1, + &Data32 + ); + if ((Data32 & EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_ARI_FORWARDING) == 0) { + Data32 |= EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_ARI_FORWARDING; + ParentPciIo->Pci.Write ( + ParentPciIo, + EfiPciIoWidthUint32, + Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_OFFSET, + 1, + &Data32 + ); + DEBUG (( + EFI_D_INFO, + " ARI: forwarding enabled for PPB[%02x:%02x:%02x]\n", + Bridge->BusNumber, + Bridge->DeviceNumber, + Bridge->FunctionNumber + )); + } + } + + DEBUG ((EFI_D_INFO, " ARI: CapOffset = 0x%x\n", PciIoDevice->AriCapabilityOffset)); + } + } + + // + // Initialization for SR-IOV + // + + if (PcdGetBool (PcdSrIovSupport)) { + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + EFI_PCIE_CAPABILITY_ID_SRIOV, + &PciIoDevice->SrIovCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + UINT32 SupportedPageSize; + UINT16 VFStride; + UINT16 FirstVFOffset; + UINT16 Data16; + UINT32 PFRid; + UINT32 LastVF; + + // + // If the SR-IOV device is an ARI device, then Set ARI Capable Hierarchy for the device. + // + if (PcdGetBool (PcdAriSupport) && PciIoDevice->AriCapabilityOffset != 0) { + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL, + 1, + &Data16 + ); + Data16 |= EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL_ARI_HIERARCHY; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL, + 1, + &Data16 + ); + } + + // + // Calculate SystemPageSize + // + + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint32, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_SUPPORTED_PAGE_SIZE, + 1, + &SupportedPageSize + ); + PciIoDevice->SystemPageSize = (PcdGet32 (PcdSrIovSystemPageSize) & SupportedPageSize); + ASSERT (PciIoDevice->SystemPageSize != 0); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_SYSTEM_PAGE_SIZE, + 1, + &PciIoDevice->SystemPageSize + ); + // + // Adjust SystemPageSize for Alignment usage later + // + PciIoDevice->SystemPageSize <<= 12; + + // + // Calculate BusReservation for PCI IOV + // + + // + // Read First FirstVFOffset, InitialVFs, and VFStride + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_FIRSTVF, + 1, + &FirstVFOffset + ); + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_INITIALVFS, + 1, + &PciIoDevice->InitialVFs + ); + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_VFSTRIDE, + 1, + &VFStride + ); + // + // Calculate LastVF + // + PFRid = EFI_PCI_RID(Bus, Device, Func); + LastVF = PFRid + FirstVFOffset + (PciIoDevice->InitialVFs - 1) * VFStride; + + // + // Calculate ReservedBusNum for this PF + // + PciIoDevice->ReservedBusNum = (UINT16)(EFI_PCI_BUS_OF_RID (LastVF) - Bus + 1); + + DEBUG (( + EFI_D_INFO, + " SR-IOV: SupportedPageSize = 0x%x; SystemPageSize = 0x%x; FirstVFOffset = 0x%x;\n", + SupportedPageSize, PciIoDevice->SystemPageSize >> 12, FirstVFOffset + )); + DEBUG (( + EFI_D_INFO, + " InitialVFs = 0x%x; ReservedBusNum = 0x%x; CapOffset = 0x%x\n", + PciIoDevice->InitialVFs, PciIoDevice->ReservedBusNum, PciIoDevice->SrIovCapabilityOffset + )); + } + } + + if (PcdGetBool (PcdMrIovSupport)) { + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + EFI_PCIE_CAPABILITY_ID_MRIOV, + &PciIoDevice->MrIovCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + DEBUG ((EFI_D_INFO, " MR-IOV: CapOffset = 0x%x\n", PciIoDevice->MrIovCapabilityOffset)); + } + } + + PciIoDevice->ResizableBarOffset = 0; + if (PcdGetBool (PcdPcieResizableBarSupport)) { + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + PCI_EXPRESS_EXTENDED_CAPABILITY_RESIZABLE_BAR_ID, + &PciIoDevice->ResizableBarOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL ResizableBarControl; + UINT32 Offset; + Offset = PciIoDevice->ResizableBarOffset + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER) + + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CAPABILITY), + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint8, + Offset, + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL), + &ResizableBarControl + ); + PciIoDevice->ResizableBarNumber = ResizableBarControl.Bits.ResizableBarNumber; + PciProgramResizableBar (PciIoDevice, PciResizableBarMax); + } + } + + // + // Initialize the reserved resource list + // + InitializeListHead (&PciIoDevice->ReservedResourceList); + + // + // Initialize the driver list + // + InitializeListHead (&PciIoDevice->OptionRomDriverList); + + // + // Initialize the child list + // + InitializeListHead (&PciIoDevice->ChildList); + + return PciIoDevice; +} + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + It is only called on the second start on the same Root Bridge. + + @param Controller Parent bridge handler. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumeratorLight ( + IN EFI_HANDLE Controller + ) +{ + + EFI_STATUS Status; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + PCI_IO_DEVICE *RootBridgeDev; + UINT16 MinBus; + UINT16 MaxBus; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + + MinBus = 0; + MaxBus = PCI_MAX_BUS; + Descriptors = NULL; + + // + // If this root bridge has been already enumerated, then return successfully + // + if (GetRootBridgeByHandle (Controller) != NULL) { + return EFI_SUCCESS; + } + + // + // Open pci root bridge io protocol + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) { + return Status; + } + + Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **) &Descriptors); + + if (EFI_ERROR (Status)) { + return Status; + } + + while (PciGetBusRange (&Descriptors, &MinBus, &MaxBus, NULL) == EFI_SUCCESS) { + + // + // Create a device node for root bridge device with a NULL host bridge controller handle + // + RootBridgeDev = CreateRootBridge (Controller); + + if (RootBridgeDev == NULL) { + Descriptors++; + continue; + } + + // + // Record the root bridge-io protocol + // + RootBridgeDev->PciRootBridgeIo = PciRootBridgeIo; + + Status = PciPciDeviceInfoCollector ( + RootBridgeDev, + (UINT8) MinBus + ); + + if (!EFI_ERROR (Status)) { + + // + // Remove those PCI devices which are rejected when full enumeration + // + RemoveRejectedPciDevices (RootBridgeDev->Handle, RootBridgeDev); + + // + // Process option rom light + // + ProcessOptionRomLight (RootBridgeDev); + + // + // Determine attributes for all devices under this root bridge + // + DetermineDeviceAttribute (RootBridgeDev); + + // + // If successfully, insert the node into device pool + // + InsertRootBridge (RootBridgeDev); + } else { + + // + // If unsuccessfully, destroy the entire node + // + DestroyRootBridge (RootBridgeDev); + } + + Descriptors++; + } + + return EFI_SUCCESS; +} + +/** + Get bus range from PCI resource descriptor list. + + @param Descriptors A pointer to the address space descriptor. + @param MinBus The min bus returned. + @param MaxBus The max bus returned. + @param BusRange The bus range returned. + + @retval EFI_SUCCESS Successfully got bus range. + @retval EFI_NOT_FOUND Can not find the specific bus. + +**/ +EFI_STATUS +PciGetBusRange ( + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, + OUT UINT16 *MinBus, + OUT UINT16 *MaxBus, + OUT UINT16 *BusRange + ) +{ + while ((*Descriptors)->Desc != ACPI_END_TAG_DESCRIPTOR) { + if ((*Descriptors)->ResType == ACPI_ADDRESS_SPACE_TYPE_BUS) { + if (MinBus != NULL) { + *MinBus = (UINT16) (*Descriptors)->AddrRangeMin; + } + + if (MaxBus != NULL) { + *MaxBus = (UINT16) (*Descriptors)->AddrRangeMax; + } + + if (BusRange != NULL) { + *BusRange = (UINT16) (*Descriptors)->AddrLen; + } + + return EFI_SUCCESS; + } + + (*Descriptors)++; + } + + return EFI_NOT_FOUND; +} + +/** + This routine can be used to start the root bridge. + + @param RootBridgeDev Pci device instance. + + @retval EFI_SUCCESS This device started. + @retval other Failed to get PCI Root Bridge I/O protocol. + +**/ +EFI_STATUS +StartManagingRootBridge ( + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + EFI_HANDLE RootBridgeHandle; + EFI_STATUS Status; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + // + // Get the root bridge handle + // + RootBridgeHandle = RootBridgeDev->Handle; + PciRootBridgeIo = NULL; + + // + // Get the pci root bridge io protocol + // + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + + if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) { + return Status; + } + + // + // Store the PciRootBridgeIo protocol into root bridge private data + // + RootBridgeDev->PciRootBridgeIo = PciRootBridgeIo; + + return EFI_SUCCESS; + +} + +/** + This routine can be used to check whether a PCI device should be rejected when light enumeration. + + @param PciIoDevice Pci device instance. + + @retval TRUE This device should be rejected. + @retval FALSE This device shouldn't be rejected. + +**/ +BOOLEAN +IsPciDeviceRejected ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + UINT32 TestValue; + UINT32 OldValue; + UINT32 Mask; + UINT8 BarOffset; + + // + // PPB should be skip! + // + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + return FALSE; + } + + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + // + // Only test base registers for P2C + // + for (BarOffset = 0x1C; BarOffset <= 0x38; BarOffset += 2 * sizeof (UINT32)) { + + Mask = (BarOffset < 0x2C) ? 0xFFFFF000 : 0xFFFFFFFC; + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); + if (EFI_ERROR (Status)) { + continue; + } + + TestValue = TestValue & Mask; + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + // + // The bar isn't programed, so it should be rejected + // + return TRUE; + } + } + + return FALSE; + } + + for (BarOffset = 0x14; BarOffset <= 0x24; BarOffset += sizeof (UINT32)) { + // + // Test PCI devices + // + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); + if (EFI_ERROR (Status)) { + continue; + } + + if ((TestValue & 0x01) != 0) { + + // + // IO Bar + // + Mask = 0xFFFFFFFC; + TestValue = TestValue & Mask; + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + return TRUE; + } + + } else { + + // + // Mem Bar + // + Mask = 0xFFFFFFF0; + TestValue = TestValue & Mask; + + if ((TestValue & 0x07) == 0x04) { + + // + // Mem64 or PMem64 + // + BarOffset += sizeof (UINT32); + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + + // + // Test its high 32-Bit BAR + // + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); + if (TestValue == OldValue) { + return TRUE; + } + } + + } else { + + // + // Mem32 or PMem32 + // + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + return TRUE; + } + } + } + } + + return FALSE; +} + +/** + Reset all bus number from specific bridge. + + @param Bridge Parent specific bridge. + @param StartBusNumber Start bus number. + +**/ +VOID +ResetAllPpbBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT32 Register; + UINT8 Func; + UINT64 Address; + UINT8 SecondaryBus; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + PciRootBridgeIo = Bridge->PciRootBridgeIo; + + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether a pci device is present + // + Status = PciDevicePresent ( + PciRootBridgeIo, + &Pci, + StartBusNumber, + Device, + Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (!EFI_ERROR (Status) && (IS_PCI_BRIDGE (&Pci))) { + + Register = 0; + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x18); + Status = PciRootBridgeIo->Pci.Read ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &Register + ); + SecondaryBus = (UINT8)(Register >> 8); + + if (SecondaryBus != 0) { + ResetAllPpbBusNumber (Bridge, SecondaryBus); + } + + // + // Reset register 18h, 19h, 1Ah on PCI Bridge + // + Register &= 0xFF000000; + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &Register + ); + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + // + // Skip sub functions, this is not a multi function device + // + Func = PCI_MAX_FUNC; + } + } + } +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h new file mode 100644 index 0000000000..1d39c5171d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h @@ -0,0 +1,480 @@ +/** @file + PCI enumeration support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_ENUMERATOR_SUPPORT_H_ +#define _EFI_PCI_ENUMERATOR_SUPPORT_H_ + +/** + This routine is used to check whether the pci device is present. + + @param PciRootBridgeIo Pointer to instance of EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL. + @param Pci Output buffer for PCI device configuration space. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI Func NO. + + @retval EFI_NOT_FOUND PCI device not present. + @retval EFI_SUCCESS PCI device is found. + +**/ +EFI_STATUS +PciDevicePresent ( + IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo, + OUT PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Collect all the resource information under this root bridge. + + A database that records all the information about pci device subject to this + root bridge will then be created. + + @param Bridge Parent bridge instance. + @param StartBusNumber Bus number of beginning. + + @retval EFI_SUCCESS PCI device is found. + @retval other Some error occurred when reading PCI bridge information. + +**/ +EFI_STATUS +PciPciDeviceInfoCollector ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ); + +/** + Search required device and create PCI device instance. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI func NO. + @param PciDevice Output of searched PCI device instance. + + @retval EFI_SUCCESS Successfully created PCI device instance. + @retval EFI_OUT_OF_RESOURCES Cannot get PCI device information. + +**/ +EFI_STATUS +PciSearchDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + OUT PCI_IO_DEVICE **PciDevice + ); + +/** + Create PCI device instance for PCI device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherDeviceInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Create PCI device instance for PCI-PCI bridge. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherPpbInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Create PCI device instance for PCI Card bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherP2CInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Create device path for pci device. + + @param ParentDevicePath Parent bridge's path. + @param PciIoDevice Pci device instance. + + @return Device path protocol instance for specific pci device. + +**/ +EFI_DEVICE_PATH_PROTOCOL * +CreatePciDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Check whether the PCI IOV VF bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +VfBarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ); + +/** + Check whether the bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +BarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ); + +/** + Test whether the device can support given attributes. + + @param PciIoDevice Pci device instance. + @param Command Input command register value, and + returned supported register value. + @param BridgeControl Input bridge control value for PPB or P2C, and + returned supported bridge control value. + @param OldCommand Returned and stored old command register offset. + @param OldBridgeControl Returned and stored old Bridge control value for PPB or P2C. + +**/ +VOID +PciTestSupportedAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN OUT UINT16 *Command, + IN OUT UINT16 *BridgeControl, + OUT UINT16 *OldCommand, + OUT UINT16 *OldBridgeControl + ); + +/** + Set the supported or current attributes of a PCI device. + + @param PciIoDevice Structure pointer for PCI device. + @param Command Command register value. + @param BridgeControl Bridge control value for PPB or P2C. + @param Option Make a choice of EFI_SET_SUPPORTS or EFI_SET_ATTRIBUTES. + +**/ +VOID +PciSetDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT16 BridgeControl, + IN UINTN Option + ); + +/** + Determine if the device can support Fast Back to Back attribute. + + @param PciIoDevice Pci device instance. + @param StatusIndex Status register value. + + @retval EFI_SUCCESS This device support Fast Back to Back attribute. + @retval EFI_UNSUPPORTED This device doesn't support Fast Back to Back attribute. + +**/ +EFI_STATUS +GetFastBackToBackSupport ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 StatusIndex + ); + +/** + Determine the related attributes of all devices under a Root Bridge. + + @param PciIoDevice PCI device instance. + +**/ +EFI_STATUS +DetermineDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine is used to update the bar information for those incompatible PCI device. + + @param PciIoDevice Input Pci device instance. Output Pci device instance with updated + Bar information. + + @retval EFI_SUCCESS Successfully updated bar information. + @retval EFI_UNSUPPORTED Given PCI device doesn't belong to incompatible PCI device list. + +**/ +EFI_STATUS +UpdatePciInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine will update the alignment with the new alignment. + + @param Alignment Input Old alignment. Output updated alignment. + @param NewAlignment New alignment. + +**/ +VOID +SetNewAlign ( + IN OUT UINT64 *Alignment, + IN UINT64 NewAlignment + ); + +/** + Parse PCI bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciParseBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ); + +/** + Parse PCI IOV VF bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciIovParseVfBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ); + +/** + This routine is used to initialize the bar of a PCI device. + + @param PciIoDevice Pci device instance. + + @note It can be called typically when a device is going to be rejected. + +**/ +VOID +InitializePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine is used to initialize the bar of a PCI-PCI Bridge device. + + @param PciIoDevice PCI-PCI bridge device instance. + +**/ +VOID +InitializePpb ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine is used to initialize the bar of a PCI Card Bridge device. + + @param PciIoDevice PCI Card bridge device. + +**/ +VOID +InitializeP2C ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Create and initialize general PCI I/O device instance for + PCI device/bridge device/hotplug bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input Pci information block. + @param Bus Device Bus NO. + @param Device Device device NO. + @param Func Device func NO. + + @return Instance of PCI device. NULL means no instance created. + +**/ +PCI_IO_DEVICE * +CreatePciIoDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + It is only called on the second start on the same Root Bridge. + + @param Controller Parent bridge handler. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumeratorLight ( + IN EFI_HANDLE Controller + ); + +/** + Get bus range from PCI resource descriptor list. + + @param Descriptors A pointer to the address space descriptor. + @param MinBus The min bus returned. + @param MaxBus The max bus returned. + @param BusRange The bus range returned. + + @retval EFI_SUCCESS Successfully got bus range. + @retval EFI_NOT_FOUND Can not find the specific bus. + +**/ +EFI_STATUS +PciGetBusRange ( + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, + OUT UINT16 *MinBus, + OUT UINT16 *MaxBus, + OUT UINT16 *BusRange + ); + +/** + This routine can be used to start the root bridge. + + @param RootBridgeDev Pci device instance. + + @retval EFI_SUCCESS This device started. + @retval other Failed to get PCI Root Bridge I/O protocol. + +**/ +EFI_STATUS +StartManagingRootBridge ( + IN PCI_IO_DEVICE *RootBridgeDev + ); + +/** + This routine can be used to check whether a PCI device should be rejected when light enumeration. + + @param PciIoDevice Pci device instance. + + @retval TRUE This device should be rejected. + @retval FALSE This device shouldn't be rejected. + +**/ +BOOLEAN +IsPciDeviceRejected ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Reset all bus number from specific bridge. + + @param Bridge Parent specific bridge. + @param StartBusNumber Start bus number. + +**/ +VOID +ResetAllPpbBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ); + +/** + Dump the PPB padding resource information. + + @param PciIoDevice PCI IO instance. + @param ResourceType The desired resource type to dump. + PciBarTypeUnknown means to dump all types of resources. +**/ +VOID +DumpPpbPaddingResource ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_BAR_TYPE ResourceType + ); + +/** + Dump the PCI BAR information. + + @param PciIoDevice PCI IO instance. +**/ +VOID +DumpPciBars ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c new file mode 100644 index 0000000000..d6d06b061a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c @@ -0,0 +1,484 @@ +/** @file + PCI Hot Plug support functions implementation for PCI Bus module.. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +EFI_PCI_HOT_PLUG_INIT_PROTOCOL *gPciHotPlugInit = NULL; +EFI_HPC_LOCATION *gPciRootHpcPool = NULL; +UINTN gPciRootHpcCount = 0; +ROOT_HPC_DATA *gPciRootHpcData = NULL; + + +/** + Event notification function to set Hot Plug controller status. + + @param Event The event that invoke this function. + @param Context The calling context, pointer to ROOT_HPC_DATA. + +**/ +VOID +EFIAPI +PciHPCInitialized ( + IN EFI_EVENT Event, + IN VOID *Context + ) +{ + ROOT_HPC_DATA *HpcData; + + HpcData = (ROOT_HPC_DATA *) Context; + HpcData->Initialized = TRUE; +} + +/** + Compare two device paths to check if they are exactly same. + + @param DevicePath1 A pointer to the first device path data structure. + @param DevicePath2 A pointer to the second device path data structure. + + @retval TRUE They are same. + @retval FALSE They are not same. + +**/ +BOOLEAN +EfiCompareDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath1, + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath2 + ) +{ + UINTN Size1; + UINTN Size2; + + Size1 = GetDevicePathSize (DevicePath1); + Size2 = GetDevicePathSize (DevicePath2); + + if (Size1 != Size2) { + return FALSE; + } + + if (CompareMem (DevicePath1, DevicePath2, Size1) != 0) { + return FALSE; + } + + return TRUE; +} + +/** + Check hot plug support and initialize root hot plug private data. + + If Hot Plug is supported by the platform, call PCI Hot Plug Init protocol + to get PCI Hot Plug controller's information and constructor the root hot plug + private data structure. + + @retval EFI_SUCCESS They are same. + @retval EFI_UNSUPPORTED No PCI Hot Plug controller on the platform. + @retval EFI_OUT_OF_RESOURCES No memory to constructor root hot plug private + data structure. + +**/ +EFI_STATUS +InitializeHotPlugSupport ( + VOID + ) +{ + EFI_STATUS Status; + EFI_HPC_LOCATION *HpcList; + UINTN HpcCount; + + // + // Locate the PciHotPlugInit Protocol + // If it doesn't exist, that means there is no + // hot plug controller supported on the platform + // the PCI Bus driver is running on. HotPlug Support + // is an optional feature, so absence of the protocol + // won't incur the penalty. + // + Status = gBS->LocateProtocol ( + &gEfiPciHotPlugInitProtocolGuid, + NULL, + (VOID **) &gPciHotPlugInit + ); + + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + Status = gPciHotPlugInit->GetRootHpcList ( + gPciHotPlugInit, + &HpcCount, + &HpcList + ); + + if (!EFI_ERROR (Status)) { + + gPciRootHpcPool = HpcList; + gPciRootHpcCount = HpcCount; + gPciRootHpcData = AllocateZeroPool (sizeof (ROOT_HPC_DATA) * gPciRootHpcCount); + if (gPciRootHpcData == NULL) { + return EFI_OUT_OF_RESOURCES; + } + } + + return EFI_SUCCESS; +} + +/** + Test whether device path is for root pci hot plug bus. + + @param HpbDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug bus. + @retval FALSE The device path is not for root pci hot plug bus. + +**/ +BOOLEAN +IsRootPciHotPlugBus ( + IN EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath, + OUT UINTN *HpIndex OPTIONAL + ) +{ + UINTN Index; + + for (Index = 0; Index < gPciRootHpcCount; Index++) { + + if (EfiCompareDevicePath (gPciRootHpcPool[Index].HpbDevicePath, HpbDevicePath)) { + + if (HpIndex != NULL) { + *HpIndex = Index; + } + + return TRUE; + } + } + + return FALSE; +} + +/** + Test whether device path is for root pci hot plug controller. + + @param HpcDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug controller. + @retval FALSE The device path is not for root pci hot plug controller. + +**/ +BOOLEAN +IsRootPciHotPlugController ( + IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath, + OUT UINTN *HpIndex + ) +{ + UINTN Index; + + for (Index = 0; Index < gPciRootHpcCount; Index++) { + + if (EfiCompareDevicePath (gPciRootHpcPool[Index].HpcDevicePath, HpcDevicePath)) { + + if (HpIndex != NULL) { + *HpIndex = Index; + } + + return TRUE; + } + } + + return FALSE; +} + +/** + Creating event object for PCI Hot Plug controller. + + @param HpIndex Index of hot plug device in global array. + @param Event The returned event that invoke this function. + + @return Status of create event. + +**/ +EFI_STATUS +CreateEventForHpc ( + IN UINTN HpIndex, + OUT EFI_EVENT *Event + ) +{ + EFI_STATUS Status; + + Status = gBS->CreateEvent ( + EVT_NOTIFY_SIGNAL, + TPL_CALLBACK, + PciHPCInitialized, + gPciRootHpcData + HpIndex, + &((gPciRootHpcData + HpIndex)->Event) + ); + + if (!EFI_ERROR (Status)) { + *Event = (gPciRootHpcData + HpIndex)->Event; + } + + return Status; +} + +/** + Wait for all root PCI Hot Plug controller finished initializing. + + @param TimeoutInMicroSeconds Microseconds to wait for all root HPCs' initialization. + + @retval EFI_SUCCESS All HPCs initialization finished. + @retval EFI_TIMEOUT Not ALL HPCs initialization finished in Microseconds. + +**/ +EFI_STATUS +AllRootHPCInitialized ( + IN UINTN TimeoutInMicroSeconds + ) +{ + UINT32 Delay; + UINTN Index; + + Delay = (UINT32) ((TimeoutInMicroSeconds / 30) + 1); + + do { + for (Index = 0; Index < gPciRootHpcCount; Index++) { + + if (gPciRootHpcData[Index].Found && !gPciRootHpcData[Index].Initialized) { + break; + } + } + + if (Index == gPciRootHpcCount) { + return EFI_SUCCESS; + } + + // + // Stall for 30 microseconds.. + // + gBS->Stall (30); + + Delay--; + + } while (Delay > 0); + + return EFI_TIMEOUT; +} + +/** + Check whether PCI-PCI bridge has PCI Hot Plug capability register block. + + @param PciIoDevice A Pointer to the PCI-PCI bridge. + + @retval TRUE PCI device is HPC. + @retval FALSE PCI device is not HPC. + +**/ +BOOLEAN +IsSHPC ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + + EFI_STATUS Status; + UINT8 Offset; + + if (PciIoDevice == NULL) { + return FALSE; + } + + Offset = 0; + Status = LocateCapabilityRegBlock ( + PciIoDevice, + EFI_PCI_CAPABILITY_ID_SHPC, + &Offset, + NULL + ); + + // + // If the PCI-PCI bridge has the hot plug controller build-in, + // then return TRUE; + // + if (!EFI_ERROR (Status)) { + return TRUE; + } + + return FALSE; +} + +/** + Check whether PciIoDevice supports PCIe hotplug. + + This is equivalent to the following condition: + - the device is either a PCIe switch downstream port or a root port, + - and the device has the SlotImplemented bit set in its PCIe capability + register, + - and the device has the HotPlugCapable bit set in its slot capabilities + register. + + @param[in] PciIoDevice The device being checked. + + @retval TRUE PciIoDevice is a PCIe port that accepts a hot-plugged device. + @retval FALSE Otherwise. + +**/ +BOOLEAN +SupportsPcieHotplug ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT32 Offset; + EFI_STATUS Status; + PCI_REG_PCIE_CAPABILITY Capability; + PCI_REG_PCIE_SLOT_CAPABILITY SlotCapability; + + if (PciIoDevice == NULL) { + return FALSE; + } + + // + // Read the PCI Express Capabilities Register + // + if (!PciIoDevice->IsPciExp) { + return FALSE; + } + Offset = PciIoDevice->PciExpressCapabilityOffset + + OFFSET_OF (PCI_CAPABILITY_PCIEXP, Capability); + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + Offset, + 1, + &Capability + ); + if (EFI_ERROR (Status)) { + return FALSE; + } + + // + // Check the contents of the register + // + switch (Capability.Bits.DevicePortType) { + case PCIE_DEVICE_PORT_TYPE_ROOT_PORT: + case PCIE_DEVICE_PORT_TYPE_DOWNSTREAM_PORT: + break; + default: + return FALSE; + } + if (!Capability.Bits.SlotImplemented) { + return FALSE; + } + + // + // Read the Slot Capabilities Register + // + Offset = PciIoDevice->PciExpressCapabilityOffset + + OFFSET_OF (PCI_CAPABILITY_PCIEXP, SlotCapability); + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint32, + Offset, + 1, + &SlotCapability + ); + if (EFI_ERROR (Status)) { + return FALSE; + } + + // + // Check the contents of the register + // + if (SlotCapability.Bits.HotPlugCapable) { + return TRUE; + } + return FALSE; +} + +/** + Get resource padding if the specified PCI bridge is a hot plug bus. + + @param PciIoDevice PCI bridge instance. + +**/ +VOID +GetResourcePaddingForHpb ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + EFI_HPC_STATE State; + UINT64 PciAddress; + EFI_HPC_PADDING_ATTRIBUTES Attributes; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + + if (IsPciHotPlugBus (PciIoDevice)) { + // + // If PCI-PCI bridge device is PCI Hot Plug bus. + // + PciAddress = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber, 0); + Status = gPciHotPlugInit->GetResourcePadding ( + gPciHotPlugInit, + PciIoDevice->DevicePath, + PciAddress, + &State, + (VOID **) &Descriptors, + &Attributes + ); + + if (EFI_ERROR (Status)) { + return; + } + + if ((State & EFI_HPC_STATE_ENABLED) != 0 && (State & EFI_HPC_STATE_INITIALIZED) != 0) { + PciIoDevice->ResourcePaddingDescriptors = Descriptors; + PciIoDevice->PaddingAttributes = Attributes; + } + + return; + } +} + +/** + Test whether PCI device is hot plug bus. + + @param PciIoDevice PCI device instance. + + @retval TRUE PCI device is a hot plug bus. + @retval FALSE PCI device is not a hot plug bus. + +**/ +BOOLEAN +IsPciHotPlugBus ( + PCI_IO_DEVICE *PciIoDevice + ) +{ + if (IsSHPC (PciIoDevice)) { + // + // If the PPB has the hot plug controller build-in, + // then return TRUE; + // + return TRUE; + } + + if (SupportsPcieHotplug (PciIoDevice)) { + // + // If the PPB is a PCIe root complex port or a switch downstream port, and + // implements a hot-plug capable slot, then also return TRUE. + // + return TRUE; + } + + // + // Otherwise, see if it is a Root HPC + // + if(IsRootPciHotPlugBus (PciIoDevice->DevicePath, NULL)) { + return TRUE; + } + + return FALSE; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h new file mode 100644 index 0000000000..0b69237a3d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h @@ -0,0 +1,205 @@ +/** @file + PCI Hot Plug support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_HOT_PLUG_SUPPORT_H_ +#define _EFI_PCI_HOT_PLUG_SUPPORT_H_ + +// +// stall 1 second, its unit is 100ns +// +#define STALL_1_SECOND 1000000 + +// +// PCI Hot Plug controller private data +// +typedef struct { + EFI_EVENT Event; + BOOLEAN Found; + BOOLEAN Initialized; + VOID *Padding; +} ROOT_HPC_DATA; + +// +// Reference of some global variables +// +extern EFI_PCI_HOT_PLUG_INIT_PROTOCOL *gPciHotPlugInit; +extern EFI_HPC_LOCATION *gPciRootHpcPool; +extern ROOT_HPC_DATA *gPciRootHpcData; + +/** + Event notification function to set Hot Plug controller status. + + @param Event The event that invoke this function. + @param Context The calling context, pointer to ROOT_HPC_DATA. + +**/ +VOID +EFIAPI +PciHPCInitialized ( + IN EFI_EVENT Event, + IN VOID *Context + ); + +/** + Compare two device paths to check if they are exactly same. + + @param DevicePath1 A pointer to the first device path data structure. + @param DevicePath2 A pointer to the second device path data structure. + + @retval TRUE They are same. + @retval FALSE They are not same. + +**/ +BOOLEAN +EfiCompareDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath1, + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath2 + ); + +/** + Check hot plug support and initialize root hot plug private data. + + If Hot Plug is supported by the platform, call PCI Hot Plug Init protocol + to get PCI Hot Plug controller's information and constructor the root hot plug + private data structure. + + @retval EFI_SUCCESS They are same. + @retval EFI_UNSUPPORTED No PCI Hot Plug controller on the platform. + @retval EFI_OUT_OF_RESOURCES No memory to constructor root hot plug private + data structure. + +**/ +EFI_STATUS +InitializeHotPlugSupport ( + VOID + ); + +/** + Test whether PCI device is hot plug bus. + + @param PciIoDevice PCI device instance. + + @retval TRUE PCI device is a hot plug bus. + @retval FALSE PCI device is not a hot plug bus. + +**/ +BOOLEAN +IsPciHotPlugBus ( + PCI_IO_DEVICE *PciIoDevice + ); + +/** + Test whether device path is for root pci hot plug bus. + + @param HpbDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug bus. + @retval FALSE The device path is not for root pci hot plug bus. + +**/ +BOOLEAN +IsRootPciHotPlugBus ( + IN EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath, + OUT UINTN *HpIndex OPTIONAL + ); + +/** + Test whether device path is for root pci hot plug controller. + + @param HpcDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug controller. + @retval FALSE The device path is not for root pci hot plug controller. + +**/ +BOOLEAN +IsRootPciHotPlugController ( + IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath, + OUT UINTN *HpIndex + ); + +/** + Creating event object for PCI Hot Plug controller. + + @param HpIndex Index of hot plug device in global array. + @param Event The returned event that invoke this function. + + @return Status of create event. + +**/ +EFI_STATUS +CreateEventForHpc ( + IN UINTN HpIndex, + OUT EFI_EVENT *Event + ); + +/** + Wait for all root PCI Hot Plug controller finished initializing. + + @param TimeoutInMicroSeconds Microseconds to wait for all root HPCs' initialization. + + @retval EFI_SUCCESS All HPCs initialization finished. + @retval EFI_TIMEOUT Not ALL HPCs initialization finished in Microseconds. + +**/ +EFI_STATUS +AllRootHPCInitialized ( + IN UINTN TimeoutInMicroSeconds + ); + +/** + Check whether PCI-PCI bridge has PCI Hot Plug capability register block. + + @param PciIoDevice A Pointer to the PCI-PCI bridge. + + @retval TRUE PCI device is HPC. + @retval FALSE PCI device is not HPC. + +**/ +BOOLEAN +IsSHPC ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Check whether PciIoDevice supports PCIe hotplug. + + This is equivalent to the following condition: + - the device is either a PCIe switch downstream port or a root port, + - and the device has the SlotImplemented bit set in its PCIe capability + register, + - and the device has the HotPlugCapable bit set in its slot capabilities + register. + + @param[in] PciIoDevice The device being checked. + + @retval TRUE PciIoDevice is a PCIe port that accepts a hot-plugged device. + @retval FALSE Otherwise. + +**/ +BOOLEAN +SupportsPcieHotplug ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Get resource padding if the specified PCI bridge is a hot plug bus. + + @param PciIoDevice PCI bridge instance. + +**/ +VOID +GetResourcePaddingForHpb ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c new file mode 100644 index 0000000000..c656056315 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c @@ -0,0 +1,2087 @@ +/** @file + EFI PCI IO protocol functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +extern EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; + +// +// Pci Io Protocol Interface +// +EFI_PCI_IO_PROTOCOL mPciIoInterface = { + PciIoPollMem, + PciIoPollIo, + { + PciIoMemRead, + PciIoMemWrite + }, + { + PciIoIoRead, + PciIoIoWrite + }, + { + PciIoConfigRead, + PciIoConfigWrite + }, + PciIoCopyMem, + PciIoMap, + PciIoUnmap, + PciIoAllocateBuffer, + PciIoFreeBuffer, + PciIoFlush, + PciIoGetLocation, + PciIoAttributes, + PciIoGetBarAttributes, + PciIoSetBarAttributes, + 0, + NULL +}; + +/** + Initializes a PCI I/O Instance. + + @param PciIoDevice Pci device instance. + +**/ +VOID +InitializePciIoInstance ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + CopyMem (&PciIoDevice->PciIo, &mPciIoInterface, sizeof (EFI_PCI_IO_PROTOCOL)); +} + +/** + Verifies access to a PCI Base Address Register (BAR). + + @param PciIoDevice Pci device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Type Operation type could be memory or I/O. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width/BarIndex or Bar type. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyBarAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE Type, + IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN IN UINTN Count, + IN UINT64 *Offset + ) +{ + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (BarIndex == EFI_PCI_IO_PASS_THROUGH_BAR) { + return EFI_SUCCESS; + } + + // + // BarIndex 0-5 is legal + // + if (BarIndex >= PCI_MAX_BAR) { + return EFI_INVALID_PARAMETER; + } + + if (!CheckBarType (PciIoDevice, BarIndex, Type)) { + return EFI_INVALID_PARAMETER; + } + + // + // If Width is EfiPciIoWidthFifoUintX then convert to EfiPciIoWidthUintX + // If Width is EfiPciIoWidthFillUintX then convert to EfiPciIoWidthUintX + // + if (Width >= EfiPciIoWidthFifoUint8 && Width <= EfiPciIoWidthFifoUint64) { + Count = 1; + } + + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & 0x03); + + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= PciIoDevice->PciBar[BarIndex].Length) { + return EFI_INVALID_PARAMETER; + } + + *Offset = *Offset + PciIoDevice->PciBar[BarIndex].BaseAddress; + + return EFI_SUCCESS; +} + +/** + Verifies access to a PCI Configuration Header. + + @param PciIoDevice Pci device instance. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width + @retval EFI_UNSUPPORTED Offset overflowed. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyConfigAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINTN Count, + IN UINT64 *Offset + ) +{ + UINT64 ExtendOffset; + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + // + // If Width is EfiPciIoWidthFillUintX then convert to EfiPciIoWidthUintX + // + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & 0x03); + + if (PciIoDevice->IsPciExp) { + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= PCI_EXP_MAX_CONFIG_OFFSET) { + return EFI_UNSUPPORTED; + } + + ExtendOffset = LShiftU64 (*Offset, 32); + *Offset = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber, 0); + *Offset = (*Offset) | ExtendOffset; + + } else { + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= PCI_MAX_CONFIG_OFFSET) { + return EFI_UNSUPPORTED; + } + + *Offset = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber, *Offset); + } + + return EFI_SUCCESS; +} + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, Width, 1, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + if (Width > EfiPciIoWidthUint64) { + return EFI_INVALID_PARAMETER; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value || Delay == 0) { + return EFI_SUCCESS; + } + do { + // + // Stall 10 us = 100 * 100ns + // + gBS->Stall (10); + + Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value) { + return EFI_SUCCESS; + } + if (Delay <= 100) { + return EFI_TIMEOUT; + } + Delay -= 100; + } while (TRUE); + } + } + + Status = PciIoDevice->PciRootBridgeIo->PollMem ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Mask, + Value, + Delay, + Result + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollIo ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width > EfiPciIoWidthUint64) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, 1, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value || Delay == 0) { + return EFI_SUCCESS; + } + do { + // + // Stall 10 us = 100 * 100ns + // + gBS->Stall (10); + + Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value) { + return EFI_SUCCESS; + } + if (Delay <= 100) { + return EFI_TIMEOUT; + } + Delay -= 100; + } while (TRUE); + } + } + + Status = PciIoDevice->PciRootBridgeIo->PollIo ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Mask, + Value, + Delay, + Result + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + + Status = PciIoDevice->PciRootBridgeIo->Mem.Read ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Mem.Write ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Io.Read ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Io.Write ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 Address; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Address = Offset; + Status = PciIoVerifyConfigAccess (PciIoDevice, Width, Count, &Address); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Pci.Read ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Address, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 Address; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Address = Offset; + Status = PciIoVerifyConfigAccess (PciIoDevice, Width, Count, &Address); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Pci.Write ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Address, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enables a PCI driver to copy one region of PCI memory space to another region of PCI + memory space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param DestBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param DestOffset The destination offset within the BAR specified by DestBarIndex to + start the memory writes for the copy operation. + @param SrcBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param SrcOffset The source offset within the BAR specified by SrcBarIndex to start + the memory reads for the copy operation. + @param Count The number of memory operations to perform. Bytes moved is Width + size * Count, starting at DestOffset and SrcOffset. + + @retval EFI_SUCCESS The data was copied from one memory region to another memory region. + @retval EFI_UNSUPPORTED DestBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED SrcBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by DestOffset, Width, and Count + is not valid for the PCI BAR specified by DestBarIndex. + @retval EFI_UNSUPPORTED The address range specified by SrcOffset, Width, and Count is + not valid for the PCI BAR specified by SrcBarIndex. + @retval EFI_INVALID_PARAMETER Width is invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + +**/ +EFI_STATUS +EFIAPI +PciIoCopyMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 DestBarIndex, + IN UINT64 DestOffset, + IN UINT8 SrcBarIndex, + IN UINT64 SrcOffset, + IN UINTN Count + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Width == EfiPciIoWidthFifoUint8 || + Width == EfiPciIoWidthFifoUint16 || + Width == EfiPciIoWidthFifoUint32 || + Width == EfiPciIoWidthFifoUint64 || + Width == EfiPciIoWidthFillUint8 || + Width == EfiPciIoWidthFillUint16 || + Width == EfiPciIoWidthFillUint32 || + Width == EfiPciIoWidthFillUint64) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, DestBarIndex, PciBarTypeMem, Width, Count, &DestOffset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, SrcBarIndex, PciBarTypeMem, Width, Count, &SrcOffset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((SrcOffset & ((1 << (Width & 0x03)) - 1)) != 0 || (DestOffset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->CopyMem ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + DestOffset, + SrcOffset, + Count + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Provides the PCI controller-specific addresses needed to access system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation Indicates if the bus master is going to read or write to system memory. + @param HostAddress The system memory address to map to the PCI controller. + @param NumberOfBytes On input the number of bytes to map. On output the number of bytes + that were mapped. + @param DeviceAddress The resulting map address for the bus master PCI controller to use to + access the hosts HostAddress. + @param Mapping A resulting value to pass to Unmap(). + + @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. + @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_DEVICE_ERROR The system hardware could not map the requested address. + +**/ +EFI_STATUS +EFIAPI +PciIoMap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, + IN VOID *HostAddress, + IN OUT UINTN *NumberOfBytes, + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, + OUT VOID **Mapping + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 IoMmuAttribute; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION RootBridgeIoOperation; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Operation >= EfiPciIoOperationMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (HostAddress == NULL || NumberOfBytes == NULL || DeviceAddress == NULL || Mapping == NULL) { + return EFI_INVALID_PARAMETER; + } + + RootBridgeIoOperation = (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION)Operation; + if ((PciIoDevice->Attributes & EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE) != 0) { + RootBridgeIoOperation = (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION)(Operation + EfiPciOperationBusMasterRead64); + } + + Status = PciIoDevice->PciRootBridgeIo->Map ( + PciIoDevice->PciRootBridgeIo, + RootBridgeIoOperation, + HostAddress, + NumberOfBytes, + DeviceAddress, + Mapping + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + if (mIoMmuProtocol != NULL) { + if (!EFI_ERROR (Status)) { + switch (Operation) { + case EfiPciIoOperationBusMasterRead: + IoMmuAttribute = EDKII_IOMMU_ACCESS_READ; + break; + case EfiPciIoOperationBusMasterWrite: + IoMmuAttribute = EDKII_IOMMU_ACCESS_WRITE; + break; + case EfiPciIoOperationBusMasterCommonBuffer: + IoMmuAttribute = EDKII_IOMMU_ACCESS_READ | EDKII_IOMMU_ACCESS_WRITE; + break; + default: + ASSERT(FALSE); + return EFI_INVALID_PARAMETER; + } + mIoMmuProtocol->SetAttribute ( + mIoMmuProtocol, + PciIoDevice->Handle, + *Mapping, + IoMmuAttribute + ); + } + } + + return Status; +} + +/** + Completes the Map() operation and releases any corresponding resources. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Mapping The mapping value returned from Map(). + + @retval EFI_SUCCESS The range was unmapped. + @retval EFI_DEVICE_ERROR The data was not committed to the target system memory. + +**/ +EFI_STATUS +EFIAPI +PciIoUnmap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN VOID *Mapping + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if (mIoMmuProtocol != NULL) { + mIoMmuProtocol->SetAttribute ( + mIoMmuProtocol, + PciIoDevice->Handle, + Mapping, + 0 + ); + } + + Status = PciIoDevice->PciRootBridgeIo->Unmap ( + PciIoDevice->PciRootBridgeIo, + Mapping + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Allocates pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer + or EfiPciOperationBusMasterCommonBuffer64 mapping. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Type This parameter is not used and must be ignored. + @param MemoryType The type of memory to allocate, EfiBootServicesData or + EfiRuntimeServicesData. + @param Pages The number of pages to allocate. + @param HostAddress A pointer to store the base system memory address of the + allocated range. + @param Attributes The requested bit mask of attributes for the allocated range. + + @retval EFI_SUCCESS The requested memory pages were allocated. + @retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are + MEMORY_WRITE_COMBINE, MEMORY_CACHED and DUAL_ADDRESS_CYCLE. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. + +**/ +EFI_STATUS +EFIAPI +PciIoAllocateBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_ALLOCATE_TYPE Type, + IN EFI_MEMORY_TYPE MemoryType, + IN UINTN Pages, + OUT VOID **HostAddress, + IN UINT64 Attributes + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + if ((Attributes & + (~(EFI_PCI_ATTRIBUTE_MEMORY_WRITE_COMBINE | EFI_PCI_ATTRIBUTE_MEMORY_CACHED))) != 0){ + return EFI_UNSUPPORTED; + } + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((PciIoDevice->Attributes & EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE) != 0) { + Attributes |= EFI_PCI_ATTRIBUTE_DUAL_ADDRESS_CYCLE; + } + + Status = PciIoDevice->PciRootBridgeIo->AllocateBuffer ( + PciIoDevice->PciRootBridgeIo, + Type, + MemoryType, + Pages, + HostAddress, + Attributes + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Frees memory that was allocated with AllocateBuffer(). + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Pages The number of pages to free. + @param HostAddress The base system memory address of the allocated range. + + @retval EFI_SUCCESS The requested memory pages were freed. + @retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages + was not allocated with AllocateBuffer(). + +**/ +EFI_STATUS +EFIAPI +PciIoFreeBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINTN Pages, + IN VOID *HostAddress + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Status = PciIoDevice->PciRootBridgeIo->FreeBuffer ( + PciIoDevice->PciRootBridgeIo, + Pages, + HostAddress + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Flushes all PCI posted write transactions from a PCI host bridge to system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + + @retval EFI_SUCCESS The PCI posted write transactions were flushed from the PCI host + bridge to system memory. + @retval EFI_DEVICE_ERROR The PCI posted write transactions were not flushed from the PCI + host bridge due to a hardware error. + +**/ +EFI_STATUS +EFIAPI +PciIoFlush ( + IN EFI_PCI_IO_PROTOCOL *This + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Status = PciIoDevice->PciRootBridgeIo->Flush ( + PciIoDevice->PciRootBridgeIo + ); + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Retrieves this PCI controller's current PCI bus number, device number, and function number. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param SegmentNumber The PCI controller's current PCI segment number. + @param BusNumber The PCI controller's current PCI bus number. + @param DeviceNumber The PCI controller's current PCI device number. + @param FunctionNumber The PCI controller's current PCI function number. + + @retval EFI_SUCCESS The PCI controller location was returned. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoGetLocation ( + IN EFI_PCI_IO_PROTOCOL *This, + OUT UINTN *Segment, + OUT UINTN *Bus, + OUT UINTN *Device, + OUT UINTN *Function + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if (Segment == NULL || Bus == NULL || Device == NULL || Function == NULL) { + return EFI_INVALID_PARAMETER; + } + + *Segment = PciIoDevice->PciRootBridgeIo->SegmentNumber; + *Bus = PciIoDevice->BusNumber; + *Device = PciIoDevice->DeviceNumber; + *Function = PciIoDevice->FunctionNumber; + + return EFI_SUCCESS; +} + +/** + Check BAR type for PCI resource. + + @param PciIoDevice PCI device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param BarType Memory or I/O. + + @retval TRUE Pci device's bar type is same with input BarType. + @retval TRUE Pci device's bar type is not same with input BarType. + +**/ +BOOLEAN +CheckBarType ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE BarType + ) +{ + switch (BarType) { + + case PciBarTypeMem: + + if (PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeMem32 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypePMem32 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypePMem64 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeMem64 ) { + return FALSE; + } + + return TRUE; + + case PciBarTypeIo: + if (PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeIo32 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeIo16){ + return FALSE; + } + + return TRUE; + + default: + break; + } + + return FALSE; +} + +/** + Set/Disable new attributes to a Root Bridge. + + @param PciIoDevice Pci device instance. + @param Attributes New attribute want to be set. + @param Operation Set or Disable. + + @retval EFI_UNSUPPORTED If root bridge does not support change attribute. + @retval EFI_SUCCESS Successfully set new attributes. + +**/ +EFI_STATUS +ModifyRootBridgeAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT64 Attributes, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ) +{ + UINT64 PciRootBridgeSupports; + UINT64 PciRootBridgeAttributes; + UINT64 NewPciRootBridgeAttributes; + EFI_STATUS Status; + + // + // Get the current attributes of this PCI device's PCI Root Bridge + // + Status = PciIoDevice->PciRootBridgeIo->GetAttributes ( + PciIoDevice->PciRootBridgeIo, + &PciRootBridgeSupports, + &PciRootBridgeAttributes + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Mask off attributes not supported by PCI root bridge. + // + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); + + // + // Record the new attribute of the Root Bridge + // + if (Operation == EfiPciIoAttributeOperationEnable) { + NewPciRootBridgeAttributes = PciRootBridgeAttributes | Attributes; + } else { + NewPciRootBridgeAttributes = PciRootBridgeAttributes & (~Attributes); + } + + // + // Call the PCI Root Bridge to attempt to modify the attributes + // + if ((NewPciRootBridgeAttributes ^ PciRootBridgeAttributes) != 0) { + + Status = PciIoDevice->PciRootBridgeIo->SetAttributes ( + PciIoDevice->PciRootBridgeIo, + NewPciRootBridgeAttributes, + NULL, + NULL + ); + if (EFI_ERROR (Status)) { + // + // The PCI Root Bridge could not modify the attributes, so return the error. + // + return EFI_UNSUPPORTED; + } + } + + // + // Also update the attributes for this Root Bridge structure + // + PciIoDevice->Attributes = NewPciRootBridgeAttributes; + + return EFI_SUCCESS; +} + +/** + Check whether this device can be enable/disable to snoop. + + @param PciIoDevice Pci device instance. + @param Operation Enable/Disable. + + @retval EFI_UNSUPPORTED Pci device is not GFX device or not support snoop. + @retval EFI_SUCCESS Snoop can be supported. + +**/ +EFI_STATUS +SupportPaletteSnoopAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ) +{ + PCI_IO_DEVICE *Temp; + UINT16 VGACommand; + + // + // Snoop attribute can be only modified by GFX + // + if (!IS_PCI_GFX (&PciIoDevice->Pci)) { + return EFI_UNSUPPORTED; + } + + // + // Get the boot VGA on the same Host Bridge + // + Temp = LocateVgaDeviceOnHostBridge (PciIoDevice->PciRootBridgeIo->ParentHandle); + + if (Temp == NULL) { + // + // If there is no VGA device on the segment, set + // this graphics card to decode the palette range + // + return EFI_SUCCESS; + } + + // + // Check these two agents are on the same path + // + if (!PciDevicesOnTheSamePath (Temp, PciIoDevice)) { + // + // they are not on the same path, so snoop can be enabled or disabled + // + return EFI_SUCCESS; + } + // + // Check if they are on the same bus + // + if (Temp->Parent == PciIoDevice->Parent) { + + PCI_READ_COMMAND_REGISTER (Temp, &VGACommand); + + // + // If they are on the same bus, either one can + // be set to snoop, the other set to decode + // + if ((VGACommand & EFI_PCI_COMMAND_VGA_PALETTE_SNOOP) != 0) { + // + // VGA has set to snoop, so GFX can be only set to disable snoop + // + if (Operation == EfiPciIoAttributeOperationEnable) { + return EFI_UNSUPPORTED; + } + } else { + // + // VGA has disabled to snoop, so GFX can be only enabled + // + if (Operation == EfiPciIoAttributeOperationDisable) { + return EFI_UNSUPPORTED; + } + } + + return EFI_SUCCESS; + } + + // + // If they are on the same path but on the different bus + // The first agent is set to snoop, the second one set to + // decode + // + + if (Temp->BusNumber < PciIoDevice->BusNumber) { + // + // GFX should be set to decode + // + if (Operation == EfiPciIoAttributeOperationDisable) { + PCI_ENABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); + Temp->Attributes |= EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; + } else { + return EFI_UNSUPPORTED; + } + + } else { + // + // GFX should be set to snoop + // + if (Operation == EfiPciIoAttributeOperationEnable) { + PCI_DISABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); + Temp->Attributes &= (~(UINT64)EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); + } else { + return EFI_UNSUPPORTED; + } + + } + + return EFI_SUCCESS; +} + +/** + Performs an operation on the attributes that this PCI controller supports. The operations include + getting the set of supported attributes, retrieving the current attributes, setting the current + attributes, enabling attributes, and disabling attributes. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation The operation to perform on the attributes for this PCI controller. + @param Attributes The mask of attributes that are used for Set, Enable, and Disable + operations. + @param Result A pointer to the result mask of attributes that are returned for the Get + and Supported operations. + + @retval EFI_SUCCESS The operation on the PCI controller's attributes was completed. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_UNSUPPORTED one or more of the bits set in + Attributes are not supported by this PCI controller or one of + its parent bridges when Operation is Set, Enable or Disable. + +**/ +EFI_STATUS +EFIAPI +PciIoAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, + IN UINT64 Attributes, + OUT UINT64 *Result OPTIONAL + ) +{ + EFI_STATUS Status; + + PCI_IO_DEVICE *PciIoDevice; + PCI_IO_DEVICE *UpStreamBridge; + PCI_IO_DEVICE *Temp; + + UINT64 Supports; + UINT64 UpStreamAttributes; + UINT16 BridgeControl; + UINT16 Command; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + switch (Operation) { + case EfiPciIoAttributeOperationGet: + if (Result == NULL) { + return EFI_INVALID_PARAMETER; + } + + *Result = PciIoDevice->Attributes; + return EFI_SUCCESS; + + case EfiPciIoAttributeOperationSupported: + if (Result == NULL) { + return EFI_INVALID_PARAMETER; + } + + *Result = PciIoDevice->Supports; + return EFI_SUCCESS; + + case EfiPciIoAttributeOperationSet: + Status = PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationEnable, + Attributes, + NULL + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + Status = PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationDisable, + (~Attributes) & (PciIoDevice->Supports), + NULL + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + return EFI_SUCCESS; + + case EfiPciIoAttributeOperationEnable: + case EfiPciIoAttributeOperationDisable: + break; + + default: + return EFI_INVALID_PARAMETER; + } + // + // Just a trick for ENABLE attribute + // EFI_PCI_DEVICE_ENABLE is not defined in UEFI spec, which is the internal usage. + // So, this logic doesn't conform to UEFI spec, which should be removed. + // But this trick logic is still kept for some binary drivers that depend on it. + // + if ((Attributes & EFI_PCI_DEVICE_ENABLE) == EFI_PCI_DEVICE_ENABLE) { + Attributes &= (PciIoDevice->Supports); + + // + // Raise the EFI_P_PC_ENABLE Status code + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_P_PC_ENABLE, + PciIoDevice->DevicePath + ); + } + + // + // Check VGA and VGA16, they can not be set at the same time + // + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO)) != 0) { + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { + return EFI_UNSUPPORTED; + } + } + + // + // If no attributes can be supported, then return. + // Otherwise, set the attributes that it can support. + // + Supports = (PciIoDevice->Supports) & Attributes; + if (Supports != Attributes) { + return EFI_UNSUPPORTED; + } + + // + // For Root Bridge, just call RootBridgeIo to set attributes; + // + if (PciIoDevice->Parent == NULL) { + Status = ModifyRootBridgeAttributes (PciIoDevice, Attributes, Operation); + return Status; + } + + Command = 0; + BridgeControl = 0; + + // + // For PPB & P2C, set relevant attribute bits + // + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_VGA; + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_ISA_IO) != 0) { + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_ISA; + } + + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { + Command |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; + } + + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16 | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_VGA_16; + } + + } else { + // + // Do with the attributes on VGA + // Only for VGA's legacy resource, we just can enable once. + // + if ((Attributes & + (EFI_PCI_IO_ATTRIBUTE_VGA_IO | + EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | + EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY)) != 0) { + // + // Check if a VGA has been enabled before enabling a new one + // + if (Operation == EfiPciIoAttributeOperationEnable) { + // + // Check if there have been an active VGA device on the same Host Bridge + // + Temp = LocateVgaDeviceOnHostBridge (PciIoDevice->PciRootBridgeIo->ParentHandle); + if (Temp != NULL && Temp != PciIoDevice) { + // + // An active VGA has been detected, so can not enable another + // + return EFI_UNSUPPORTED; + } + } + } + + // + // Do with the attributes on GFX + // + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { + + if (Operation == EfiPciIoAttributeOperationEnable) { + // + // Check if snoop can be enabled in current configuration + // + Status = SupportPaletteSnoopAttributes (PciIoDevice, Operation); + + if (EFI_ERROR (Status)) { + + // + // Enable operation is forbidden, so mask the bit in attributes + // so as to keep consistent with the actual Status + // + // Attributes &= (~EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO); + // + // + // + return EFI_UNSUPPORTED; + + } + } + + // + // It can be supported, so get ready to set the bit + // + Command |= EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; + } + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_IO) != 0) { + Command |= EFI_PCI_COMMAND_IO_SPACE; + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_MEMORY) != 0) { + Command |= EFI_PCI_COMMAND_MEMORY_SPACE; + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_BUS_MASTER) != 0) { + Command |= EFI_PCI_COMMAND_BUS_MASTER; + } + // + // The upstream bridge should be also set to relevant attribute + // expect for IO, Mem and BusMaster + // + UpStreamAttributes = Attributes & + (~(EFI_PCI_IO_ATTRIBUTE_IO | + EFI_PCI_IO_ATTRIBUTE_MEMORY | + EFI_PCI_IO_ATTRIBUTE_BUS_MASTER + ) + ); + UpStreamBridge = PciIoDevice->Parent; + + if (Operation == EfiPciIoAttributeOperationEnable) { + // + // Enable relevant attributes to command register and bridge control register + // + Status = PCI_ENABLE_COMMAND_REGISTER (PciIoDevice, Command); + if (BridgeControl != 0) { + Status = PCI_ENABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, BridgeControl); + } + + PciIoDevice->Attributes |= Attributes; + + // + // Enable attributes of the upstream bridge + // + Status = UpStreamBridge->PciIo.Attributes ( + &(UpStreamBridge->PciIo), + EfiPciIoAttributeOperationEnable, + UpStreamAttributes, + NULL + ); + } else { + + // + // Disable relevant attributes to command register and bridge control register + // + Status = PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, Command); + if (BridgeControl != 0) { + Status = PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, BridgeControl); + } + + PciIoDevice->Attributes &= (~Attributes); + Status = EFI_SUCCESS; + + } + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Retrieve the AddrTranslationOffset from RootBridgeIo for the + specified range. + + @param RootBridgeIo Root Bridge IO instance. + @param AddrRangeMin The base address of the MMIO. + @param AddrLen The length of the MMIO. + + @retval The AddrTranslationOffset from RootBridgeIo for the + specified range, or (UINT64) -1 if the range is not + found in RootBridgeIo. +**/ +UINT64 +GetMmioAddressTranslationOffset ( + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *RootBridgeIo, + UINT64 AddrRangeMin, + UINT64 AddrLen + ) +{ + EFI_STATUS Status; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; + + Status = RootBridgeIo->Configuration ( + RootBridgeIo, + (VOID **) &Configuration + ); + if (EFI_ERROR (Status)) { + return (UINT64) -1; + } + + // According to UEFI 2.7, EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL::Configuration() + // returns host address instead of device address, while AddrTranslationOffset + // is not zero, and device address = host address + AddrTranslationOffset, so + // we convert host address to device address for range compare. + while (Configuration->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR) { + if ((Configuration->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) && + (Configuration->AddrRangeMin + Configuration->AddrTranslationOffset <= AddrRangeMin) && + (Configuration->AddrRangeMin + Configuration->AddrLen + Configuration->AddrTranslationOffset >= AddrRangeMin + AddrLen) + ) { + return Configuration->AddrTranslationOffset; + } + Configuration++; + } + + // + // The resource occupied by BAR should be in the range reported by RootBridge. + // + ASSERT (FALSE); + return (UINT64) -1; +} + +/** + Gets the attributes that this PCI controller supports setting on a BAR using + SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Supports A pointer to the mask of attributes that this PCI controller supports + setting for this BAR with SetBarAttributes(). + @param Resources A pointer to the resource descriptors that describe the current + configuration of this BAR of the PCI controller. + + @retval EFI_SUCCESS If Supports is not NULL, then the attributes that the PCI + controller supports are returned in Supports. If Resources + is not NULL, then the resource descriptors that the PCI + controller is currently using are returned in Resources. + @retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources available to allocate + Resources. + +**/ +EFI_STATUS +EFIAPI +PciIoGetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN UINT8 BarIndex, + OUT UINT64 *Supports, OPTIONAL + OUT VOID **Resources OPTIONAL + ) +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; + EFI_ACPI_END_TAG_DESCRIPTOR *End; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if (Supports == NULL && Resources == NULL) { + return EFI_INVALID_PARAMETER; + } + + if ((BarIndex >= PCI_MAX_BAR) || (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeUnknown)) { + return EFI_UNSUPPORTED; + } + + // + // This driver does not support modifications to the WRITE_COMBINE or + // CACHED attributes for BAR ranges. + // + if (Supports != NULL) { + *Supports = PciIoDevice->Supports & EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED & EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE; + } + + if (Resources != NULL) { + Descriptor = AllocateZeroPool (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) + sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); + if (Descriptor == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + *Resources = Descriptor; + + Descriptor->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Descriptor->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + Descriptor->AddrRangeMin = PciIoDevice->PciBar[BarIndex].BaseAddress; + Descriptor->AddrLen = PciIoDevice->PciBar[BarIndex].Length; + Descriptor->AddrRangeMax = PciIoDevice->PciBar[BarIndex].Alignment; + + switch (PciIoDevice->PciBar[BarIndex].BarType) { + case PciBarTypeIo16: + case PciBarTypeIo32: + // + // Io + // + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; + break; + + case PciBarTypePMem32: + // + // prefetchable + // + Descriptor->SpecificFlag = EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE; + // + // Fall through + // + case PciBarTypeMem32: + // + // Mem + // + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // 32 bit + // + Descriptor->AddrSpaceGranularity = 32; + break; + + case PciBarTypePMem64: + // + // prefetchable + // + Descriptor->SpecificFlag = EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE; + // + // Fall through + // + case PciBarTypeMem64: + // + // Mem + // + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // 64 bit + // + Descriptor->AddrSpaceGranularity = 64; + break; + + default: + break; + } + + // + // put the checksum + // + End = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Descriptor + 1); + End->Desc = ACPI_END_TAG_DESCRIPTOR; + End->Checksum = 0; + + // + // Get the Address Translation Offset + // + if (Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { + Descriptor->AddrTranslationOffset = GetMmioAddressTranslationOffset ( + PciIoDevice->PciRootBridgeIo, + Descriptor->AddrRangeMin, + Descriptor->AddrLen + ); + if (Descriptor->AddrTranslationOffset == (UINT64) -1) { + FreePool (Descriptor); + return EFI_UNSUPPORTED; + } + } + + // According to UEFI spec 2.7, we need return host address for + // PciIo->GetBarAttributes, and host address = device address - translation. + Descriptor->AddrRangeMin -= Descriptor->AddrTranslationOffset; + } + + return EFI_SUCCESS; +} + +/** + Sets the attributes for a range of a BAR on a PCI controller. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Attributes The mask of attributes to set for the resource range specified by + BarIndex, Offset, and Length. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Offset A pointer to the BAR relative base address of the resource range to be + modified by the attributes specified by Attributes. + @param Length A pointer to the length of the resource range to be modified by the + attributes specified by Attributes. + + @retval EFI_SUCCESS The set of attributes specified by Attributes for the resource + range specified by BarIndex, Offset, and Length were + set on the PCI controller, and the actual resource range is returned + in Offset and Length. + @retval EFI_INVALID_PARAMETER Offset or Length is NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources to set the attributes on the + resource range specified by BarIndex, Offset, and + Length. + +**/ +EFI_STATUS +EFIAPI +PciIoSetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINT64 Attributes, + IN UINT8 BarIndex, + IN OUT UINT64 *Offset, + IN OUT UINT64 *Length + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 NonRelativeOffset; + UINT64 Supports; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + // + // Make sure Offset and Length are not NULL + // + if (Offset == NULL || Length == NULL) { + return EFI_INVALID_PARAMETER; + } + + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeUnknown) { + return EFI_UNSUPPORTED; + } + // + // This driver does not support setting the WRITE_COMBINE or the CACHED attributes. + // If Attributes is not 0, then return EFI_UNSUPPORTED. + // + Supports = PciIoDevice->Supports & EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED & EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE; + + if (Attributes != (Attributes & Supports)) { + return EFI_UNSUPPORTED; + } + // + // Attributes must be supported. Make sure the BAR range described by BarIndex, Offset, and + // Length are valid for this PCI device. + // + NonRelativeOffset = *Offset; + Status = PciIoVerifyBarAccess ( + PciIoDevice, + BarIndex, + PciBarTypeMem, + EfiPciIoWidthUint8, + (UINT32) *Length, + &NonRelativeOffset + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + return EFI_SUCCESS; +} + + +/** + Test whether two Pci devices has same parent bridge. + + @param PciDevice1 The first pci device for testing. + @param PciDevice2 The second pci device for testing. + + @retval TRUE Two Pci device has the same parent bridge. + @retval FALSE Two Pci device has not the same parent bridge. + +**/ +BOOLEAN +PciDevicesOnTheSamePath ( + IN PCI_IO_DEVICE *PciDevice1, + IN PCI_IO_DEVICE *PciDevice2 + ) +{ + BOOLEAN Existed1; + BOOLEAN Existed2; + + if (PciDevice1->Parent == PciDevice2->Parent) { + return TRUE; + } + + Existed1 = PciDeviceExisted (PciDevice1->Parent, PciDevice2); + Existed2 = PciDeviceExisted (PciDevice2->Parent, PciDevice1); + + return (BOOLEAN) (Existed1 || Existed2); +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h new file mode 100644 index 0000000000..c00516ee6a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h @@ -0,0 +1,660 @@ +/** @file + EFI PCI IO protocol functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_IO_PROTOCOL_H_ +#define _EFI_PCI_IO_PROTOCOL_H_ + +/** + Initializes a PCI I/O Instance. + + @param PciIoDevice Pci device instance. + +**/ +VOID +InitializePciIoInstance ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Verifies access to a PCI Base Address Register (BAR). + + @param PciIoDevice Pci device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Type Operation type could be memory or I/O. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width/BarIndex or Bar type. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyBarAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE Type, + IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN IN UINTN Count, + IN UINT64 *Offset + ); + +/** + Verifies access to a PCI Configuration Header. + + @param PciIoDevice Pci device instance. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width + @retval EFI_UNSUPPORTED Offset overflowed. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyConfigAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINTN Count, + IN UINT64 *Offset + ); + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ); + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollIo ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enables a PCI driver to copy one region of PCI memory space to another region of PCI + memory space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param DestBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param DestOffset The destination offset within the BAR specified by DestBarIndex to + start the memory writes for the copy operation. + @param SrcBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param SrcOffset The source offset within the BAR specified by SrcBarIndex to start + the memory reads for the copy operation. + @param Count The number of memory operations to perform. Bytes moved is Width + size * Count, starting at DestOffset and SrcOffset. + + @retval EFI_SUCCESS The data was copied from one memory region to another memory region. + @retval EFI_UNSUPPORTED DestBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED SrcBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by DestOffset, Width, and Count + is not valid for the PCI BAR specified by DestBarIndex. + @retval EFI_UNSUPPORTED The address range specified by SrcOffset, Width, and Count is + not valid for the PCI BAR specified by SrcBarIndex. + @retval EFI_INVALID_PARAMETER Width is invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + +**/ +EFI_STATUS +EFIAPI +PciIoCopyMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 DestBarIndex, + IN UINT64 DestOffset, + IN UINT8 SrcBarIndex, + IN UINT64 SrcOffset, + IN UINTN Count + ); + +/** + Provides the PCI controller-specific addresses needed to access system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation Indicates if the bus master is going to read or write to system memory. + @param HostAddress The system memory address to map to the PCI controller. + @param NumberOfBytes On input the number of bytes to map. On output the number of bytes + that were mapped. + @param DeviceAddress The resulting map address for the bus master PCI controller to use to + access the hosts HostAddress. + @param Mapping A resulting value to pass to Unmap(). + + @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. + @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_DEVICE_ERROR The system hardware could not map the requested address. + +**/ +EFI_STATUS +EFIAPI +PciIoMap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, + IN VOID *HostAddress, + IN OUT UINTN *NumberOfBytes, + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, + OUT VOID **Mapping + ); + +/** + Completes the Map() operation and releases any corresponding resources. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Mapping The mapping value returned from Map(). + + @retval EFI_SUCCESS The range was unmapped. + @retval EFI_DEVICE_ERROR The data was not committed to the target system memory. + +**/ +EFI_STATUS +EFIAPI +PciIoUnmap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN VOID *Mapping + ); + +/** + Allocates pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer + or EfiPciOperationBusMasterCommonBuffer64 mapping. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Type This parameter is not used and must be ignored. + @param MemoryType The type of memory to allocate, EfiBootServicesData or + EfiRuntimeServicesData. + @param Pages The number of pages to allocate. + @param HostAddress A pointer to store the base system memory address of the + allocated range. + @param Attributes The requested bit mask of attributes for the allocated range. + + @retval EFI_SUCCESS The requested memory pages were allocated. + @retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are + MEMORY_WRITE_COMBINE, MEMORY_CACHED and DUAL_ADDRESS_CYCLE. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. + +**/ +EFI_STATUS +EFIAPI +PciIoAllocateBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_ALLOCATE_TYPE Type, + IN EFI_MEMORY_TYPE MemoryType, + IN UINTN Pages, + OUT VOID **HostAddress, + IN UINT64 Attributes + ); + +/** + Frees memory that was allocated with AllocateBuffer(). + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Pages The number of pages to free. + @param HostAddress The base system memory address of the allocated range. + + @retval EFI_SUCCESS The requested memory pages were freed. + @retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages + was not allocated with AllocateBuffer(). + +**/ +EFI_STATUS +EFIAPI +PciIoFreeBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINTN Pages, + IN VOID *HostAddress + ); + +/** + Flushes all PCI posted write transactions from a PCI host bridge to system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + + @retval EFI_SUCCESS The PCI posted write transactions were flushed from the PCI host + bridge to system memory. + @retval EFI_DEVICE_ERROR The PCI posted write transactions were not flushed from the PCI + host bridge due to a hardware error. + +**/ +EFI_STATUS +EFIAPI +PciIoFlush ( + IN EFI_PCI_IO_PROTOCOL *This + ); + +/** + Retrieves this PCI controller's current PCI bus number, device number, and function number. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param SegmentNumber The PCI controller's current PCI segment number. + @param BusNumber The PCI controller's current PCI bus number. + @param DeviceNumber The PCI controller's current PCI device number. + @param FunctionNumber The PCI controller's current PCI function number. + + @retval EFI_SUCCESS The PCI controller location was returned. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoGetLocation ( + IN EFI_PCI_IO_PROTOCOL *This, + OUT UINTN *Segment, + OUT UINTN *Bus, + OUT UINTN *Device, + OUT UINTN *Function + ); + +/** + Check BAR type for PCI resource. + + @param PciIoDevice PCI device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param BarType Memory or I/O. + + @retval TRUE Pci device's bar type is same with input BarType. + @retval TRUE Pci device's bar type is not same with input BarType. + +**/ +BOOLEAN +CheckBarType ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE BarType + ); + +/** + Set/Disable new attributes to a Root Bridge. + + @param PciIoDevice Pci device instance. + @param Attributes New attribute want to be set. + @param Operation Set or Disable. + + @retval EFI_UNSUPPORTED If root bridge does not support change attribute. + @retval EFI_SUCCESS Successfully set new attributes. + +**/ +EFI_STATUS +ModifyRootBridgeAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT64 Attributes, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ); + +/** + Check whether this device can be enable/disable to snoop. + + @param PciIoDevice Pci device instance. + @param Operation Enable/Disable. + + @retval EFI_UNSUPPORTED Pci device is not GFX device or not support snoop. + @retval EFI_SUCCESS Snoop can be supported. + +**/ +EFI_STATUS +SupportPaletteSnoopAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ); + +/** + Performs an operation on the attributes that this PCI controller supports. The operations include + getting the set of supported attributes, retrieving the current attributes, setting the current + attributes, enabling attributes, and disabling attributes. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation The operation to perform on the attributes for this PCI controller. + @param Attributes The mask of attributes that are used for Set, Enable, and Disable + operations. + @param Result A pointer to the result mask of attributes that are returned for the Get + and Supported operations. + + @retval EFI_SUCCESS The operation on the PCI controller's attributes was completed. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_UNSUPPORTED one or more of the bits set in + Attributes are not supported by this PCI controller or one of + its parent bridges when Operation is Set, Enable or Disable. + +**/ +EFI_STATUS +EFIAPI +PciIoAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, + IN UINT64 Attributes, + OUT UINT64 *Result OPTIONAL + ); + +/** + Gets the attributes that this PCI controller supports setting on a BAR using + SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Supports A pointer to the mask of attributes that this PCI controller supports + setting for this BAR with SetBarAttributes(). + @param Resources A pointer to the resource descriptors that describe the current + configuration of this BAR of the PCI controller. + + @retval EFI_SUCCESS If Supports is not NULL, then the attributes that the PCI + controller supports are returned in Supports. If Resources + is not NULL, then the resource descriptors that the PCI + controller is currently using are returned in Resources. + @retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources available to allocate + Resources. + +**/ +EFI_STATUS +EFIAPI +PciIoGetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN UINT8 BarIndex, + OUT UINT64 *Supports, OPTIONAL + OUT VOID **Resources OPTIONAL + ); + +/** + Sets the attributes for a range of a BAR on a PCI controller. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Attributes The mask of attributes to set for the resource range specified by + BarIndex, Offset, and Length. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Offset A pointer to the BAR relative base address of the resource range to be + modified by the attributes specified by Attributes. + @param Length A pointer to the length of the resource range to be modified by the + attributes specified by Attributes. + + @retval EFI_SUCCESS The set of attributes specified by Attributes for the resource + range specified by BarIndex, Offset, and Length were + set on the PCI controller, and the actual resource range is returned + in Offset and Length. + @retval EFI_INVALID_PARAMETER Offset or Length is NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources to set the attributes on the + resource range specified by BarIndex, Offset, and + Length. + +**/ +EFI_STATUS +EFIAPI +PciIoSetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINT64 Attributes, + IN UINT8 BarIndex, + IN OUT UINT64 *Offset, + IN OUT UINT64 *Length + ); + + +/** + Test whether two Pci devices has same parent bridge. + + @param PciDevice1 The first pci device for testing. + @param PciDevice2 The second pci device for testing. + + @retval TRUE Two Pci device has the same parent bridge. + @retval FALSE Two Pci device has not the same parent bridge. + +**/ +BOOLEAN +PciDevicesOnTheSamePath ( + IN PCI_IO_DEVICE *PciDevice1, + IN PCI_IO_DEVICE *PciDevice2 + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c new file mode 100644 index 0000000000..2b76100740 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c @@ -0,0 +1,1809 @@ +/** @file + Internal library implementation for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +GLOBAL_REMOVE_IF_UNREFERENCED +CHAR16 *mBarTypeStr[] = { + L"Unknow", + L" Io16", + L" Io32", + L" Mem32", + L"PMem32", + L" Mem64", + L"PMem64", + L" OpRom", + L" Io", + L" Mem", + L"Unknow" + }; + +/** + Retrieve the max bus number that is assigned to the Root Bridge hierarchy. + It can support the case that there are multiple bus ranges. + + @param Bridge Bridge device instance. + + @retval The max bus number that is assigned to this Root Bridge hierarchy. + +**/ +UINT16 +PciGetMaxBusNumber ( + IN PCI_IO_DEVICE *Bridge + ) +{ + PCI_IO_DEVICE *RootBridge; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; + UINT64 MaxNumberInRange; + + // + // Get PCI Root Bridge device + // + RootBridge = Bridge; + while (RootBridge->Parent != NULL) { + RootBridge = RootBridge->Parent; + } + MaxNumberInRange = 0; + // + // Iterate the bus number ranges to get max PCI bus number + // + BusNumberRanges = RootBridge->BusNumberRanges; + while (BusNumberRanges->Desc != ACPI_END_TAG_DESCRIPTOR) { + MaxNumberInRange = BusNumberRanges->AddrRangeMin + BusNumberRanges->AddrLen - 1; + BusNumberRanges++; + } + return (UINT16) MaxNumberInRange; +} + +/** + Retrieve the PCI Card device BAR information via PciIo interface. + + @param PciIoDevice PCI Card device instance. + +**/ +VOID +GetBackPcCardBar ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT32 Address; + + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + return; + } + + // + // Read PciBar information from the bar register + // + if (!gFullEnumeration) { + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_0, + 1, + &Address + ); + + (PciIoDevice->PciBar)[P2C_MEM_1].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_MEM_1].Length = 0x2000000; + (PciIoDevice->PciBar)[P2C_MEM_1].BarType = PciBarTypeMem32; + + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_1, + 1, + &Address + ); + (PciIoDevice->PciBar)[P2C_MEM_2].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_MEM_2].Length = 0x2000000; + (PciIoDevice->PciBar)[P2C_MEM_2].BarType = PciBarTypePMem32; + + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_0_LOWER, + 1, + &Address + ); + (PciIoDevice->PciBar)[P2C_IO_1].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_IO_1].Length = 0x100; + (PciIoDevice->PciBar)[P2C_IO_1].BarType = PciBarTypeIo16; + + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_1_LOWER, + 1, + &Address + ); + (PciIoDevice->PciBar)[P2C_IO_2].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_IO_2].Length = 0x100; + (PciIoDevice->PciBar)[P2C_IO_2].BarType = PciBarTypeIo16; + + } + + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + GetResourcePaddingForHpb (PciIoDevice); + } +} + +/** + Remove rejected pci device from specific root bridge + handle. + + @param RootBridgeHandle Specific parent root bridge handle. + @param Bridge Bridge device instance. + +**/ +VOID +RemoveRejectedPciDevices ( + IN EFI_HANDLE RootBridgeHandle, + IN PCI_IO_DEVICE *Bridge + ) +{ + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + LIST_ENTRY *LastLink; + + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + return; + } + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_PCI_BRIDGE (&Temp->Pci)) { + // + // Remove rejected devices recusively + // + RemoveRejectedPciDevices (RootBridgeHandle, Temp); + } else { + // + // Skip rejection for all PPBs, while detect rejection for others + // + if (IsPciDeviceRejected (Temp)) { + + // + // For P2C, remove all devices on it + // + if (!IsListEmpty (&Temp->ChildList)) { + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Temp); + } + + // + // Finally remove itself + // + LastLink = CurrentLink->BackLink; + RemoveEntryList (CurrentLink); + FreePciDevice (Temp); + + CurrentLink = LastLink; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } +} + +/** + Dump the resourc map of the bridge device. + + @param[in] BridgeResource Resource descriptor of the bridge device. +**/ +VOID +DumpBridgeResource ( + IN PCI_RESOURCE_NODE *BridgeResource + ) +{ + LIST_ENTRY *Link; + PCI_RESOURCE_NODE *Resource; + PCI_BAR *Bar; + + if ((BridgeResource != NULL) && (BridgeResource->Length != 0)) { + DEBUG (( + EFI_D_INFO, "Type = %s; Base = 0x%lx;\tLength = 0x%lx;\tAlignment = 0x%lx\n", + mBarTypeStr[MIN (BridgeResource->ResType, PciBarTypeMaxType)], + BridgeResource->PciDev->PciBar[BridgeResource->Bar].BaseAddress, + BridgeResource->Length, BridgeResource->Alignment + )); + for ( Link = GetFirstNode (&BridgeResource->ChildList) + ; !IsNull (&BridgeResource->ChildList, Link) + ; Link = GetNextNode (&BridgeResource->ChildList, Link) + ) { + Resource = RESOURCE_NODE_FROM_LINK (Link); + if (Resource->ResourceUsage == PciResUsageTypical) { + Bar = Resource->Virtual ? Resource->PciDev->VfPciBar : Resource->PciDev->PciBar; + DEBUG (( + EFI_D_INFO, " Base = 0x%lx;\tLength = 0x%lx;\tAlignment = 0x%lx;\tOwner = %s [%02x|%02x|%02x:", + Bar[Resource->Bar].BaseAddress, Resource->Length, Resource->Alignment, + IS_PCI_BRIDGE (&Resource->PciDev->Pci) ? L"PPB" : + IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci) ? L"P2C" : + L"PCI", + Resource->PciDev->BusNumber, Resource->PciDev->DeviceNumber, + Resource->PciDev->FunctionNumber + )); + + if ((!IS_PCI_BRIDGE (&Resource->PciDev->Pci) && !IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci)) || + (IS_PCI_BRIDGE (&Resource->PciDev->Pci) && (Resource->Bar < PPB_IO_RANGE)) || + (IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci) && (Resource->Bar < P2C_MEM_1)) + ) { + // + // The resource requirement comes from the device itself. + // + DEBUG ((EFI_D_INFO, "%02x]", Bar[Resource->Bar].Offset)); + } else { + // + // The resource requirement comes from the subordinate devices. + // + DEBUG ((EFI_D_INFO, "**]")); + } + } else { + DEBUG ((EFI_D_INFO, " Base = Padding;\tLength = 0x%lx;\tAlignment = 0x%lx", Resource->Length, Resource->Alignment)); + } + if (BridgeResource->ResType != Resource->ResType) { + DEBUG ((EFI_D_INFO, "; Type = %s", mBarTypeStr[MIN (Resource->ResType, PciBarTypeMaxType)])); + } + DEBUG ((EFI_D_INFO, "\n")); + } + } +} + +/** + Find the corresponding resource node for the Device in child list of BridgeResource. + + @param[in] Device Pointer to PCI_IO_DEVICE. + @param[in] BridgeResource Pointer to PCI_RESOURCE_NODE. + @param[out] DeviceResources Pointer to a buffer to receive resources for the Device. + + @return Count of the resource descriptors returned. +**/ +UINTN +FindResourceNode ( + IN PCI_IO_DEVICE *Device, + IN PCI_RESOURCE_NODE *BridgeResource, + OUT PCI_RESOURCE_NODE **DeviceResources OPTIONAL + ) +{ + LIST_ENTRY *Link; + PCI_RESOURCE_NODE *Resource; + UINTN Count; + + Count = 0; + for ( Link = BridgeResource->ChildList.ForwardLink + ; Link != &BridgeResource->ChildList + ; Link = Link->ForwardLink + ) { + Resource = RESOURCE_NODE_FROM_LINK (Link); + if (Resource->PciDev == Device) { + if (DeviceResources != NULL) { + DeviceResources[Count] = Resource; + } + Count++; + } + } + + return Count; +} + +/** + Dump the resource map of all the devices under Bridge. + + @param[in] Bridge Bridge device instance. + @param[in] Resources Resource descriptors for the bridge device. + @param[in] ResourceCount Count of resource descriptors. +**/ +VOID +DumpResourceMap ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE **Resources, + IN UINTN ResourceCount + ) +{ + EFI_STATUS Status; + LIST_ENTRY *Link; + PCI_IO_DEVICE *Device; + UINTN Index; + CHAR16 *Str; + PCI_RESOURCE_NODE **ChildResources; + UINTN ChildResourceCount; + + DEBUG ((EFI_D_INFO, "PciBus: Resource Map for ")); + + Status = gBS->OpenProtocol ( + Bridge->Handle, + &gEfiPciRootBridgeIoProtocolGuid, + NULL, + NULL, + NULL, + EFI_OPEN_PROTOCOL_TEST_PROTOCOL + ); + if (EFI_ERROR (Status)) { + DEBUG (( + EFI_D_INFO, "Bridge [%02x|%02x|%02x]\n", + Bridge->BusNumber, Bridge->DeviceNumber, Bridge->FunctionNumber + )); + } else { + Str = ConvertDevicePathToText ( + DevicePathFromHandle (Bridge->Handle), + FALSE, + FALSE + ); + DEBUG ((EFI_D_INFO, "Root Bridge %s\n", Str != NULL ? Str : L"")); + if (Str != NULL) { + FreePool (Str); + } + } + + for (Index = 0; Index < ResourceCount; Index++) { + DumpBridgeResource (Resources[Index]); + } + DEBUG ((EFI_D_INFO, "\n")); + + for ( Link = Bridge->ChildList.ForwardLink + ; Link != &Bridge->ChildList + ; Link = Link->ForwardLink + ) { + Device = PCI_IO_DEVICE_FROM_LINK (Link); + if (IS_PCI_BRIDGE (&Device->Pci)) { + + ChildResourceCount = 0; + for (Index = 0; Index < ResourceCount; Index++) { + ChildResourceCount += FindResourceNode (Device, Resources[Index], NULL); + } + ChildResources = AllocatePool (sizeof (PCI_RESOURCE_NODE *) * ChildResourceCount); + ASSERT (ChildResources != NULL); + ChildResourceCount = 0; + for (Index = 0; Index < ResourceCount; Index++) { + ChildResourceCount += FindResourceNode (Device, Resources[Index], &ChildResources[ChildResourceCount]); + } + + DumpResourceMap (Device, ChildResources, ChildResourceCount); + FreePool (ChildResources); + } + } +} + +/** + Adjust the Devices' BAR size to minimum value if it support Resizeable BAR capability. + + @param RootBridgeDev Pointer to instance of PCI_IO_DEVICE.. + + @return TRUE if BAR size is adjusted. + +**/ +BOOLEAN +AdjustPciDeviceBarSize ( + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + PCI_IO_DEVICE *PciIoDevice; + LIST_ENTRY *CurrentLink; + BOOLEAN Adjusted; + UINTN Offset; + UINTN BarIndex; + + Adjusted = FALSE; + CurrentLink = RootBridgeDev->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &RootBridgeDev->ChildList) { + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + if (AdjustPciDeviceBarSize (PciIoDevice)) { + Adjusted = TRUE; + } + } else { + if (PciIoDevice->ResizableBarOffset != 0) { + DEBUG (( + DEBUG_ERROR, + "PciBus: [%02x|%02x|%02x] Adjust Pci Device Bar Size\n", + PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber + )); + PciProgramResizableBar (PciIoDevice, PciResizableBarMin); + // + // Start to parse the bars + // + for (Offset = 0x10, BarIndex = 0; Offset <= 0x24 && BarIndex < PCI_MAX_BAR; BarIndex++) { + Offset = PciParseBar (PciIoDevice, Offset, BarIndex); + } + Adjusted = TRUE; + DEBUG_CODE (DumpPciBars (PciIoDevice);); + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return Adjusted; +} + +/** + Submits the I/O and memory resource requirements for the specified PCI Host Bridge. + + @param PciResAlloc Point to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully finished resource allocation. + @retval EFI_NOT_FOUND Cannot get root bridge instance. + @retval EFI_OUT_OF_RESOURCES Platform failed to program the resources if no hot plug supported. + @retval other Some error occurred when allocating resources for the PCI Host Bridge. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciHostBridgeResourceAllocator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + PCI_IO_DEVICE *RootBridgeDev; + EFI_HANDLE RootBridgeHandle; + VOID *AcpiConfig; + EFI_STATUS Status; + UINT64 IoBase; + UINT64 Mem32Base; + UINT64 PMem32Base; + UINT64 Mem64Base; + UINT64 PMem64Base; + UINT64 IoResStatus; + UINT64 Mem32ResStatus; + UINT64 PMem32ResStatus; + UINT64 Mem64ResStatus; + UINT64 PMem64ResStatus; + UINT32 MaxOptionRomSize; + PCI_RESOURCE_NODE *IoBridge; + PCI_RESOURCE_NODE *Mem32Bridge; + PCI_RESOURCE_NODE *PMem32Bridge; + PCI_RESOURCE_NODE *Mem64Bridge; + PCI_RESOURCE_NODE *PMem64Bridge; + PCI_RESOURCE_NODE IoPool; + PCI_RESOURCE_NODE Mem32Pool; + PCI_RESOURCE_NODE PMem32Pool; + PCI_RESOURCE_NODE Mem64Pool; + PCI_RESOURCE_NODE PMem64Pool; + EFI_DEVICE_HANDLE_EXTENDED_DATA_PAYLOAD HandleExtendedData; + EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD AllocFailExtendedData; + BOOLEAN ResizableBarNeedAdjust; + BOOLEAN ResizableBarAdjusted; + + ResizableBarNeedAdjust = PcdGetBool (PcdPcieResizableBarSupport); + + // + // It may try several times if the resource allocation fails + // + while (TRUE) { + // + // Initialize resource pool + // + InitializeResourcePool (&IoPool, PciBarTypeIo16); + InitializeResourcePool (&Mem32Pool, PciBarTypeMem32); + InitializeResourcePool (&PMem32Pool, PciBarTypePMem32); + InitializeResourcePool (&Mem64Pool, PciBarTypeMem64); + InitializeResourcePool (&PMem64Pool, PciBarTypePMem64); + + RootBridgeDev = NULL; + RootBridgeHandle = 0; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + // + // Get Root Bridge Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Create the entire system resource map from the information collected by + // enumerator. Several resource tree was created + // + + // + // If non-standard PCI Bridge I/O window alignment is supported, + // set I/O aligment to minimum possible alignment for root bridge. + // + IoBridge = CreateResourceNode ( + RootBridgeDev, + 0, + FeaturePcdGet (PcdPciBridgeIoAlignmentProbe) ? 0x1FF: 0xFFF, + RB_IO_RANGE, + PciBarTypeIo16, + PciResUsageTypical + ); + + Mem32Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_MEM32_RANGE, + PciBarTypeMem32, + PciResUsageTypical + ); + + PMem32Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_PMEM32_RANGE, + PciBarTypePMem32, + PciResUsageTypical + ); + + Mem64Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_MEM64_RANGE, + PciBarTypeMem64, + PciResUsageTypical + ); + + PMem64Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_PMEM64_RANGE, + PciBarTypePMem64, + PciResUsageTypical + ); + + // + // Get the max ROM size that the root bridge can process + // Insert to resource map so that there will be dedicate MEM32 resource range for Option ROM. + // All devices' Option ROM share the same MEM32 resource. + // + MaxOptionRomSize = GetMaxOptionRomSize (RootBridgeDev); + if (MaxOptionRomSize != 0) { + RootBridgeDev->PciBar[0].BarType = PciBarTypeOpRom; + RootBridgeDev->PciBar[0].Length = MaxOptionRomSize; + RootBridgeDev->PciBar[0].Alignment = MaxOptionRomSize - 1; + GetResourceFromDevice (RootBridgeDev, IoBridge, Mem32Bridge, PMem32Bridge, Mem64Bridge, PMem64Bridge); + } + + // + // Create resourcemap by going through all the devices subject to this root bridge + // + CreateResourceMap ( + RootBridgeDev, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge + ); + + // + // Based on the all the resource tree, construct ACPI resource node to + // submit the resource aperture to pci host bridge protocol + // + Status = ConstructAcpiResourceRequestor ( + RootBridgeDev, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge, + &AcpiConfig + ); + + // + // Insert these resource nodes into the database + // + InsertResourceNode (&IoPool, IoBridge); + InsertResourceNode (&Mem32Pool, Mem32Bridge); + InsertResourceNode (&PMem32Pool, PMem32Bridge); + InsertResourceNode (&Mem64Pool, Mem64Bridge); + InsertResourceNode (&PMem64Pool, PMem64Bridge); + + if (Status == EFI_SUCCESS) { + // + // Submit the resource requirement + // + Status = PciResAlloc->SubmitResources ( + PciResAlloc, + RootBridgeDev->Handle, + AcpiConfig + ); + // + // If SubmitResources returns error, PciBus isn't able to start. + // It's a fatal error so assertion is added. + // + DEBUG ((EFI_D_INFO, "PciBus: HostBridge->SubmitResources() - %r\n", Status)); + ASSERT_EFI_ERROR (Status); + } + + // + // Free acpi resource node + // + if (AcpiConfig != NULL) { + FreePool (AcpiConfig); + } + + if (EFI_ERROR (Status)) { + // + // Destroy all the resource tree + // + DestroyResourceTree (&IoPool); + DestroyResourceTree (&Mem32Pool); + DestroyResourceTree (&PMem32Pool); + DestroyResourceTree (&Mem64Pool); + DestroyResourceTree (&PMem64Pool); + return Status; + } + } + // + // End while, at least one Root Bridge should be found. + // + ASSERT (RootBridgeDev != NULL); + + // + // Notify platform to start to program the resource + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeAllocateResources); + DEBUG ((EFI_D_INFO, "PciBus: HostBridge->NotifyPhase(AllocateResources) - %r\n", Status)); + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // If Hot Plug is not supported + // + if (EFI_ERROR (Status)) { + // + // Allocation failed, then return + // + return EFI_OUT_OF_RESOURCES; + } + // + // Allocation succeed. + // Get host bridge handle for status report, and then skip the main while + // + HandleExtendedData.Handle = RootBridgeDev->PciRootBridgeIo->ParentHandle; + + break; + + } else { + // + // If Hot Plug is supported + // + if (!EFI_ERROR (Status)) { + // + // Allocation succeed, then continue the following + // + break; + } + + // + // If the resource allocation is unsuccessful, free resources on bridge + // + + RootBridgeDev = NULL; + RootBridgeHandle = 0; + + IoResStatus = EFI_RESOURCE_SATISFIED; + Mem32ResStatus = EFI_RESOURCE_SATISFIED; + PMem32ResStatus = EFI_RESOURCE_SATISFIED; + Mem64ResStatus = EFI_RESOURCE_SATISFIED; + PMem64ResStatus = EFI_RESOURCE_SATISFIED; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Get host bridge handle for status report + // + HandleExtendedData.Handle = RootBridgeDev->PciRootBridgeIo->ParentHandle; + + // + // Get acpi resource node for all the resource types + // + AcpiConfig = NULL; + + Status = PciResAlloc->GetProposedResources ( + PciResAlloc, + RootBridgeDev->Handle, + &AcpiConfig + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + if (AcpiConfig != NULL) { + // + // Adjust resource allocation policy for each RB + // + GetResourceAllocationStatus ( + AcpiConfig, + &IoResStatus, + &Mem32ResStatus, + &PMem32ResStatus, + &Mem64ResStatus, + &PMem64ResStatus + ); + FreePool (AcpiConfig); + } + } + // + // End while + // + + // + // Raise the EFI_IOB_EC_RESOURCE_CONFLICT status code + // + // + // It is very difficult to follow the spec here + // Device path , Bar index can not be get here + // + ZeroMem (&AllocFailExtendedData, sizeof (AllocFailExtendedData)); + + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_EC_RESOURCE_CONFLICT, + (VOID *) &AllocFailExtendedData, + sizeof (AllocFailExtendedData) + ); + + // + // When resource conflict happens, adjust the BAR size first. + // Only when adjusting BAR size doesn't help or BAR size cannot be adjusted, + // reject the device who requests largest resource that causes conflict. + // + ResizableBarAdjusted = FALSE; + if (ResizableBarNeedAdjust) { + ResizableBarAdjusted = AdjustPciDeviceBarSize (RootBridgeDev); + ResizableBarNeedAdjust = FALSE; + } + if (!ResizableBarAdjusted) { + Status = PciHostBridgeAdjustAllocation ( + &IoPool, + &Mem32Pool, + &PMem32Pool, + &Mem64Pool, + &PMem64Pool, + IoResStatus, + Mem32ResStatus, + PMem32ResStatus, + Mem64ResStatus, + PMem64ResStatus + ); + } + // + // Destroy all the resource tree + // + DestroyResourceTree (&IoPool); + DestroyResourceTree (&Mem32Pool); + DestroyResourceTree (&PMem32Pool); + DestroyResourceTree (&Mem64Pool); + DestroyResourceTree (&PMem64Pool); + + NotifyPhase (PciResAlloc, EfiPciHostBridgeFreeResources); + + if (EFI_ERROR (Status)) { + return Status; + } + } + } + // + // End main while + // + + // + // Raise the EFI_IOB_PCI_RES_ALLOC status code + // + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_PCI_RES_ALLOC, + (VOID *) &HandleExtendedData, + sizeof (HandleExtendedData) + ); + + // + // Notify pci bus driver starts to program the resource + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeSetResources); + + if (EFI_ERROR (Status)) { + return Status; + } + + RootBridgeDev = NULL; + + RootBridgeHandle = 0; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Get acpi resource node for all the resource types + // + AcpiConfig = NULL; + Status = PciResAlloc->GetProposedResources ( + PciResAlloc, + RootBridgeDev->Handle, + &AcpiConfig + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Get the resource base by interpreting acpi resource node + // + // + GetResourceBase ( + AcpiConfig, + &IoBase, + &Mem32Base, + &PMem32Base, + &Mem64Base, + &PMem64Base + ); + + // + // Create the entire system resource map from the information collected by + // enumerator. Several resource tree was created + // + FindResourceNode (RootBridgeDev, &IoPool, &IoBridge); + FindResourceNode (RootBridgeDev, &Mem32Pool, &Mem32Bridge); + FindResourceNode (RootBridgeDev, &PMem32Pool, &PMem32Bridge); + FindResourceNode (RootBridgeDev, &Mem64Pool, &Mem64Bridge); + FindResourceNode (RootBridgeDev, &PMem64Pool, &PMem64Bridge); + + ASSERT (IoBridge != NULL); + ASSERT (Mem32Bridge != NULL); + ASSERT (PMem32Bridge != NULL); + ASSERT (Mem64Bridge != NULL); + ASSERT (PMem64Bridge != NULL); + + // + // Program IO resources + // + ProgramResource ( + IoBase, + IoBridge + ); + + // + // Program Mem32 resources + // + ProgramResource ( + Mem32Base, + Mem32Bridge + ); + + // + // Program PMem32 resources + // + ProgramResource ( + PMem32Base, + PMem32Bridge + ); + + // + // Program Mem64 resources + // + ProgramResource ( + Mem64Base, + Mem64Bridge + ); + + // + // Program PMem64 resources + // + ProgramResource ( + PMem64Base, + PMem64Bridge + ); + + // + // Process Option ROM for this root bridge after all BARs are programmed. + // The PPB's MEM32 RANGE BAR is re-programmed to the Option ROM BAR Base in order to + // shadow the Option ROM of the devices under the PPB. + // After the shadow, Option ROM BAR decoding is turned off and the PPB's MEM32 RANGE + // BAR is restored back to the original value. + // The original value is programmed by ProgramResource() above. + // + DEBUG (( + DEBUG_INFO, "Process Option ROM: BAR Base/Length = %lx/%lx\n", + RootBridgeDev->PciBar[0].BaseAddress, RootBridgeDev->PciBar[0].Length + )); + ProcessOptionRom (RootBridgeDev, RootBridgeDev->PciBar[0].BaseAddress, RootBridgeDev->PciBar[0].Length); + + IoBridge ->PciDev->PciBar[IoBridge ->Bar].BaseAddress = IoBase; + Mem32Bridge ->PciDev->PciBar[Mem32Bridge ->Bar].BaseAddress = Mem32Base; + PMem32Bridge->PciDev->PciBar[PMem32Bridge->Bar].BaseAddress = PMem32Base; + Mem64Bridge ->PciDev->PciBar[Mem64Bridge ->Bar].BaseAddress = Mem64Base; + PMem64Bridge->PciDev->PciBar[PMem64Bridge->Bar].BaseAddress = PMem64Base; + + // + // Dump the resource map for current root bridge + // + DEBUG_CODE ( + PCI_RESOURCE_NODE *Resources[5]; + Resources[0] = IoBridge; + Resources[1] = Mem32Bridge; + Resources[2] = PMem32Bridge; + Resources[3] = Mem64Bridge; + Resources[4] = PMem64Bridge; + DumpResourceMap (RootBridgeDev, Resources, ARRAY_SIZE (Resources)); + ); + + FreePool (AcpiConfig); + } + + // + // Destroy all the resource tree + // + DestroyResourceTree (&IoPool); + DestroyResourceTree (&Mem32Pool); + DestroyResourceTree (&PMem32Pool); + DestroyResourceTree (&Mem64Pool); + DestroyResourceTree (&PMem64Pool); + + // + // Notify the resource allocation phase is to end + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeEndResourceAllocation); + + return Status; +} + +/** + Allocate NumberOfBuses buses and return the next available PCI bus number. + + @param Bridge Bridge device instance. + @param StartBusNumber Current available PCI bus number. + @param NumberOfBuses Number of buses enumerated below the StartBusNumber. + @param NextBusNumber Next available PCI bus number. + + @retval EFI_SUCCESS Available bus number resource is enough. Next available PCI bus number + is returned in NextBusNumber. + @retval EFI_OUT_OF_RESOURCES Available bus number resource is not enough for allocation. + +**/ +EFI_STATUS +PciAllocateBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + IN UINT8 NumberOfBuses, + OUT UINT8 *NextBusNumber + ) +{ + PCI_IO_DEVICE *RootBridge; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; + UINT8 NextNumber; + UINT64 MaxNumberInRange; + + // + // Get PCI Root Bridge device + // + RootBridge = Bridge; + while (RootBridge->Parent != NULL) { + RootBridge = RootBridge->Parent; + } + + // + // Get next available PCI bus number + // + BusNumberRanges = RootBridge->BusNumberRanges; + while (BusNumberRanges->Desc != ACPI_END_TAG_DESCRIPTOR) { + MaxNumberInRange = BusNumberRanges->AddrRangeMin + BusNumberRanges->AddrLen - 1; + if (StartBusNumber >= BusNumberRanges->AddrRangeMin && StartBusNumber <= MaxNumberInRange) { + NextNumber = (UINT8)(StartBusNumber + NumberOfBuses); + while (NextNumber > MaxNumberInRange) { + ++BusNumberRanges; + if (BusNumberRanges->Desc == ACPI_END_TAG_DESCRIPTOR) { + return EFI_OUT_OF_RESOURCES; + } + NextNumber = (UINT8)(NextNumber + (BusNumberRanges->AddrRangeMin - (MaxNumberInRange + 1))); + MaxNumberInRange = BusNumberRanges->AddrRangeMin + BusNumberRanges->AddrLen - 1; + } + *NextBusNumber = NextNumber; + return EFI_SUCCESS; + } + BusNumberRanges++; + } + return EFI_OUT_OF_RESOURCES; +} + +/** + Scan pci bus and assign bus number to the given PCI bus system. + + @param Bridge Bridge device instance. + @param StartBusNumber start point. + @param SubBusNumber Point to sub bus number. + @param PaddedBusRange Customized bus number. + + @retval EFI_SUCCESS Successfully scanned and assigned bus number. + @retval other Some error occurred when scanning pci bus. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciScanBus ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber, + OUT UINT8 *PaddedBusRange + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT8 Func; + UINT64 Address; + UINT8 SecondBus; + UINT8 PaddedSubBus; + UINT16 Register; + UINTN HpIndex; + PCI_IO_DEVICE *PciDevice; + EFI_EVENT Event; + EFI_HPC_STATE State; + UINT64 PciAddress; + EFI_HPC_PADDING_ATTRIBUTES Attributes; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *NextDescriptors; + UINT16 BusRange; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + BOOLEAN BusPadding; + UINT32 TempReservedBusNum; + + PciRootBridgeIo = Bridge->PciRootBridgeIo; + SecondBus = 0; + Register = 0; + State = 0; + Attributes = (EFI_HPC_PADDING_ATTRIBUTES) 0; + BusRange = 0; + BusPadding = FALSE; + PciDevice = NULL; + PciAddress = 0; + + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + TempReservedBusNum = 0; + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether a pci device is present + // + Status = PciDevicePresent ( + PciRootBridgeIo, + &Pci, + StartBusNumber, + Device, + Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (EFI_ERROR (Status)) { + continue; + } + + // + // Get the PCI device information + // + Status = PciSearchDevice ( + Bridge, + &Pci, + StartBusNumber, + Device, + Func, + &PciDevice + ); + + if (EFI_ERROR (Status)) { + continue; + } + + PciAddress = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0); + + if (!IS_PCI_BRIDGE (&Pci)) { + // + // PCI bridges will be called later + // Here just need for PCI device or PCI to cardbus controller + // EfiPciBeforeChildBusEnumeration for PCI Device Node + // + PreprocessController ( + PciDevice, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + EfiPciBeforeChildBusEnumeration + ); + } + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // For Pci Hotplug controller devcie only + // + if (gPciHotPlugInit != NULL) { + // + // Check if it is a Hotplug PCI controller + // + if (IsRootPciHotPlugController (PciDevice->DevicePath, &HpIndex)) { + gPciRootHpcData[HpIndex].Found = TRUE; + + if (!gPciRootHpcData[HpIndex].Initialized) { + + Status = CreateEventForHpc (HpIndex, &Event); + + ASSERT (!EFI_ERROR (Status)); + + Status = gPciHotPlugInit->InitializeRootHpc ( + gPciHotPlugInit, + gPciRootHpcPool[HpIndex].HpcDevicePath, + PciAddress, + Event, + &State + ); + + PreprocessController ( + PciDevice, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + EfiPciBeforeChildBusEnumeration + ); + } + } + } + } + + if (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci)) { + // + // For PPB + // + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // If Hot Plug is supported, + // Get the bridge information + // + BusPadding = FALSE; + if (gPciHotPlugInit != NULL) { + + if (IsPciHotPlugBus (PciDevice)) { + + // + // If it is initialized, get the padded bus range + // + Status = gPciHotPlugInit->GetResourcePadding ( + gPciHotPlugInit, + PciDevice->DevicePath, + PciAddress, + &State, + (VOID **) &Descriptors, + &Attributes + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + BusRange = 0; + NextDescriptors = Descriptors; + Status = PciGetBusRange ( + &NextDescriptors, + NULL, + NULL, + &BusRange + ); + + FreePool (Descriptors); + + if (!EFI_ERROR (Status)) { + BusPadding = TRUE; + } else if (Status != EFI_NOT_FOUND) { + // + // EFI_NOT_FOUND is not a real error. It indicates no bus number padding requested. + // + return Status; + } + } + } + } + + Status = PciAllocateBusNumber (Bridge, *SubBusNumber, 1, SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + SecondBus = *SubBusNumber; + + Register = (UINT16) ((SecondBus << 8) | (UINT16) StartBusNumber); + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, PCI_BRIDGE_PRIMARY_BUS_REGISTER_OFFSET); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint16, + Address, + 1, + &Register + ); + + + // + // If it is PPB, resursively search down this bridge + // + if (IS_PCI_BRIDGE (&Pci)) { + + // + // Temporarily initialize SubBusNumber to maximum bus number to ensure the + // PCI configuration transaction to go through any PPB + // + Register = PciGetMaxBusNumber (Bridge); + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET); + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + &Register + ); + + // + // Nofify EfiPciBeforeChildBusEnumeration for PCI Brige + // + PreprocessController ( + PciDevice, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + EfiPciBeforeChildBusEnumeration + ); + + Status = PciScanBus ( + PciDevice, + SecondBus, + SubBusNumber, + PaddedBusRange + ); + if (EFI_ERROR (Status)) { + return Status; + } + } + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport) && BusPadding) { + // + // Ensure the device is enabled and initialized + // + if ((Attributes == EfiPaddingPciRootBridge) && + (State & EFI_HPC_STATE_ENABLED) != 0 && + (State & EFI_HPC_STATE_INITIALIZED) != 0) { + *PaddedBusRange = (UINT8) ((UINT8) (BusRange) + *PaddedBusRange); + } else { + // + // Reserve the larger one between the actual occupied bus number and padded bus number + // + Status = PciAllocateBusNumber (PciDevice, SecondBus, (UINT8) (BusRange), &PaddedSubBus); + if (EFI_ERROR (Status)) { + return Status; + } + *SubBusNumber = MAX (PaddedSubBus, *SubBusNumber); + } + } + + // + // Set the current maximum bus number under the PPB + // + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + SubBusNumber + ); + } else { + // + // It is device. Check PCI IOV for Bus reservation + // Go through each function, just reserve the MAX ReservedBusNum for one device + // + if (PcdGetBool (PcdSrIovSupport) && PciDevice->SrIovCapabilityOffset != 0) { + if (TempReservedBusNum < PciDevice->ReservedBusNum) { + + Status = PciAllocateBusNumber (PciDevice, *SubBusNumber, (UINT8) (PciDevice->ReservedBusNum - TempReservedBusNum), SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + TempReservedBusNum = PciDevice->ReservedBusNum; + + if (Func == 0) { + DEBUG ((EFI_D_INFO, "PCI-IOV ScanBus - SubBusNumber - 0x%x\n", *SubBusNumber)); + } else { + DEBUG ((EFI_D_INFO, "PCI-IOV ScanBus - SubBusNumber - 0x%x (Update)\n", *SubBusNumber)); + } + } + } + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + + // + // Skip sub functions, this is not a multi function device + // + + Func = PCI_MAX_FUNC; + } + } + } + + return EFI_SUCCESS; +} + +/** + Process Option Rom on the specified root bridge. + + @param Bridge Pci root bridge device instance. + + @retval EFI_SUCCESS Success process. + @retval other Some error occurred when processing Option Rom on the root bridge. + +**/ +EFI_STATUS +PciRootBridgeP2CProcess ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + EFI_HPC_STATE State; + UINT64 PciAddress; + EFI_STATUS Status; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_CARDBUS_BRIDGE (&Temp->Pci)) { + + if (gPciHotPlugInit != NULL && Temp->Allocated && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + + // + // Raise the EFI_IOB_PCI_HPC_INIT status code + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_PCI_HPC_INIT, + Temp->DevicePath + ); + + PciAddress = EFI_PCI_ADDRESS (Temp->BusNumber, Temp->DeviceNumber, Temp->FunctionNumber, 0); + Status = gPciHotPlugInit->InitializeRootHpc ( + gPciHotPlugInit, + Temp->DevicePath, + PciAddress, + NULL, + &State + ); + + if (!EFI_ERROR (Status)) { + Status = PciBridgeEnumerator (Temp); + + if (EFI_ERROR (Status)) { + return Status; + } + } + + CurrentLink = CurrentLink->ForwardLink; + continue; + + } + } + + if (!IsListEmpty (&Temp->ChildList)) { + Status = PciRootBridgeP2CProcess (Temp); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_SUCCESS; +} + +/** + Process Option Rom on the specified host bridge. + + @param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Success process. + @retval EFI_NOT_FOUND Can not find the root bridge instance. + @retval other Some error occurred when processing Option Rom on the host bridge. + +**/ +EFI_STATUS +PciHostBridgeP2CProcess ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + EFI_HANDLE RootBridgeHandle; + PCI_IO_DEVICE *RootBridgeDev; + EFI_STATUS Status; + + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + return EFI_SUCCESS; + } + + RootBridgeHandle = NULL; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + Status = PciRootBridgeP2CProcess (RootBridgeDev); + if (EFI_ERROR (Status)) { + return Status; + } + + } + + return EFI_SUCCESS; +} + +/** + This function is used to enumerate the entire host bridge + in a given platform. + + @param PciResAlloc A pointer to the PCI Host Resource Allocation protocol. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval EFI_OUT_OF_RESOURCES No enough memory available. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciHostBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + EFI_HANDLE RootBridgeHandle; + PCI_IO_DEVICE *RootBridgeDev; + EFI_STATUS Status; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + UINT16 MinBus; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; + UINT8 StartBusNumber; + LIST_ENTRY RootBridgeList; + LIST_ENTRY *Link; + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + InitializeHotPlugSupport (); + } + + InitializeListHead (&RootBridgeList); + + // + // Notify the bus allocation phase is about to start + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginBusAllocation); + + if (EFI_ERROR (Status)) { + return Status; + } + + DEBUG((EFI_D_INFO, "PCI Bus First Scanning\n")); + RootBridgeHandle = NULL; + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // if a root bridge instance is found, create root bridge device for it + // + + RootBridgeDev = CreateRootBridge (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Enumerate all the buses under this root bridge + // + Status = PciRootBridgeEnumerator ( + PciResAlloc, + RootBridgeDev + ); + + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + InsertTailList (&RootBridgeList, &(RootBridgeDev->Link)); + } else { + DestroyRootBridge (RootBridgeDev); + } + if (EFI_ERROR (Status)) { + return Status; + } + } + + // + // Notify the bus allocation phase is finished for the first time + // + NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); + + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // Reset all assigned PCI bus number in all PPB + // + RootBridgeHandle = NULL; + Link = GetFirstNode (&RootBridgeList); + while ((PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) && + (!IsNull (&RootBridgeList, Link))) { + RootBridgeDev = PCI_IO_DEVICE_FROM_LINK (Link); + // + // Get the Bus information + // + Status = PciResAlloc->StartBusEnumeration ( + PciResAlloc, + RootBridgeHandle, + (VOID **) &Configuration + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Get the bus number to start with + // + StartBusNumber = (UINT8) (Configuration->AddrRangeMin); + + ResetAllPpbBusNumber ( + RootBridgeDev, + StartBusNumber + ); + + FreePool (Configuration); + Link = RemoveEntryList (Link); + DestroyRootBridge (RootBridgeDev); + } + + // + // Wait for all HPC initialized + // + Status = AllRootHPCInitialized (STALL_1_SECOND * 15); + + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "Some root HPC failed to initialize\n")); + return Status; + } + + // + // Notify the bus allocation phase is about to start for the 2nd time + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginBusAllocation); + + if (EFI_ERROR (Status)) { + return Status; + } + + DEBUG((EFI_D_INFO, "PCI Bus Second Scanning\n")); + RootBridgeHandle = NULL; + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // if a root bridge instance is found, create root bridge device for it + // + RootBridgeDev = CreateRootBridge (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Enumerate all the buses under this root bridge + // + Status = PciRootBridgeEnumerator ( + PciResAlloc, + RootBridgeDev + ); + + DestroyRootBridge (RootBridgeDev); + if (EFI_ERROR (Status)) { + return Status; + } + } + + // + // Notify the bus allocation phase is to end for the 2nd time + // + NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); + } + + // + // Notify the resource allocation phase is to start + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginResourceAllocation); + + if (EFI_ERROR (Status)) { + return Status; + } + + RootBridgeHandle = NULL; + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // if a root bridge instance is found, create root bridge device for it + // + RootBridgeDev = CreateRootBridge (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + Status = StartManagingRootBridge (RootBridgeDev); + + if (EFI_ERROR (Status)) { + return Status; + } + + PciRootBridgeIo = RootBridgeDev->PciRootBridgeIo; + Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **) &Descriptors); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciGetBusRange (&Descriptors, &MinBus, NULL, NULL); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Determine root bridge attribute by calling interface of Pcihostbridge + // protocol + // + DetermineRootBridgeAttributes ( + PciResAlloc, + RootBridgeDev + ); + + // + // Collect all the resource information under this root bridge + // A database that records all the information about pci device subject to this + // root bridge will then be created + // + Status = PciPciDeviceInfoCollector ( + RootBridgeDev, + (UINT8) MinBus + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + InsertRootBridge (RootBridgeDev); + + // + // Record the hostbridge handle + // + AddHostBridgeEnumerator (RootBridgeDev->PciRootBridgeIo->ParentHandle); + } + + return EFI_SUCCESS; +} + +/** + This function is used to program the Resizable BAR Register. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param ResizableBarOp PciResizableBarMax: Set BAR to max size + PciResizableBarMin: set BAR to min size. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciProgramResizableBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_RESIZABLE_BAR_OPERATION ResizableBarOp + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Capabilities; + UINT32 Index; + UINT32 Offset; + INTN Bit; + UINTN ResizableBarNumber; + EFI_STATUS Status; + PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY Entries[PCI_MAX_BAR]; + + ASSERT (PciIoDevice->ResizableBarOffset != 0); + + DEBUG ((DEBUG_INFO, " Programs Resizable BAR register, offset: 0x%08x, number: %d\n", + PciIoDevice->ResizableBarOffset, PciIoDevice->ResizableBarNumber)); + + ResizableBarNumber = MIN (PciIoDevice->ResizableBarNumber, PCI_MAX_BAR); + PciIo = &PciIoDevice->PciIo; + Status = PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint8, + PciIoDevice->ResizableBarOffset + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER), + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY) * ResizableBarNumber, + (VOID *)(&Entries) + ); + ASSERT_EFI_ERROR (Status); + + for (Index = 0; Index < ResizableBarNumber; Index++) { + + // + // When the bit of Capabilities Set, indicates that the Function supports + // operating with the BAR sized to (2^Bit) MB. + // Example: + // Bit 0 is set: supports operating with the BAR sized to 1 MB + // Bit 1 is set: supports operating with the BAR sized to 2 MB + // Bit n is set: supports operating with the BAR sized to (2^n) MB + // + Capabilities = LShiftU64(Entries[Index].ResizableBarControl.Bits.BarSizeCapability, 28) + | Entries[Index].ResizableBarCapability.Bits.BarSizeCapability; + + if (ResizableBarOp == PciResizableBarMax) { + Bit = HighBitSet64(Capabilities); + } else { + ASSERT (ResizableBarOp == PciResizableBarMin); + Bit = LowBitSet64(Capabilities); + } + + ASSERT (Bit >= 0); + + Offset = PciIoDevice->ResizableBarOffset + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER) + + Index * sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY) + + OFFSET_OF (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY, ResizableBarControl); + + Entries[Index].ResizableBarControl.Bits.BarSize = (UINT32) Bit; + DEBUG (( + DEBUG_INFO, + " Resizable Bar: Offset = 0x%x, Bar Size Capability = 0x%016lx, New Bar Size = 0x%lx\n", + OFFSET_OF (PCI_TYPE00, Device.Bar[Entries[Index].ResizableBarControl.Bits.BarIndex]), + Capabilities, LShiftU64 (SIZE_1MB, Bit) + )); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + Offset, + 1, + &Entries[Index].ResizableBarControl.Uint32 + ); + } + + return EFI_SUCCESS; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h new file mode 100644 index 0000000000..70ab07a8c3 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h @@ -0,0 +1,179 @@ +/** @file + Internal library declaration for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_LIB_H_ +#define _EFI_PCI_LIB_H_ + + +typedef struct { + EFI_HANDLE Handle; +} EFI_DEVICE_HANDLE_EXTENDED_DATA_PAYLOAD; + +typedef struct { + UINT32 Bar; + UINT16 DevicePathSize; + UINT16 ReqResSize; + UINT16 AllocResSize; + UINT8 *DevicePath; + UINT8 *ReqRes; + UINT8 *AllocRes; +} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD; + +typedef enum { + PciResizableBarMin = 0x00, + PciResizableBarMax = 0xFF +} PCI_RESIZABLE_BAR_OPERATION; + +/** + Retrieve the PCI Card device BAR information via PciIo interface. + + @param PciIoDevice PCI Card device instance. + +**/ +VOID +GetBackPcCardBar ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Remove rejected pci device from specific root bridge + handle. + + @param RootBridgeHandle Specific parent root bridge handle. + @param Bridge Bridge device instance. + +**/ +VOID +RemoveRejectedPciDevices ( + IN EFI_HANDLE RootBridgeHandle, + IN PCI_IO_DEVICE *Bridge + ); + +/** + Submits the I/O and memory resource requirements for the specified PCI Host Bridge. + + @param PciResAlloc Point to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully finished resource allocation. + @retval EFI_NOT_FOUND Cannot get root bridge instance. + @retval EFI_OUT_OF_RESOURCES Platform failed to program the resources if no hot plug supported. + @retval other Some error occurred when allocating resources for the PCI Host Bridge. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciHostBridgeResourceAllocator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + Allocate NumberOfBuses buses and return the next available PCI bus number. + + @param Bridge Bridge device instance. + @param StartBusNumber Current available PCI bus number. + @param NumberOfBuses Number of buses enumerated below the StartBusNumber. + @param NextBusNumber Next available PCI bus number. + + @retval EFI_SUCCESS Available bus number resource is enough. Next available PCI bus number + is returned in NextBusNumber. + @retval EFI_OUT_OF_RESOURCES Available bus number resource is not enough for allocation. + +**/ +EFI_STATUS +PciAllocateBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + IN UINT8 NumberOfBuses, + OUT UINT8 *NextBusNumber + ); + +/** + Scan pci bus and assign bus number to the given PCI bus system. + + @param Bridge Bridge device instance. + @param StartBusNumber start point. + @param SubBusNumber Point to sub bus number. + @param PaddedBusRange Customized bus number. + + @retval EFI_SUCCESS Successfully scanned and assigned bus number. + @retval other Some error occurred when scanning pci bus. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciScanBus ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber, + OUT UINT8 *PaddedBusRange + ); + +/** + Process Option Rom on the specified root bridge. + + @param Bridge Pci root bridge device instance. + + @retval EFI_SUCCESS Success process. + @retval other Some error occurred when processing Option Rom on the root bridge. + +**/ +EFI_STATUS +PciRootBridgeP2CProcess ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Process Option Rom on the specified host bridge. + + @param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Success process. + @retval EFI_NOT_FOUND Can not find the root bridge instance. + @retval other Some error occurred when processing Option Rom on the host bridge. + +**/ +EFI_STATUS +PciHostBridgeP2CProcess ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + This function is used to enumerate the entire host bridge + in a given platform. + + @param PciResAlloc A pointer to the PCI Host Resource Allocation protocol. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval EFI_OUT_OF_RESOURCES No enough memory available. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciHostBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + This function is used to program the Resizable BAR Register. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param ResizableBarOp PciResizableBarMax: Set BAR to max size + PciResizableBarMin: set BAR to min size. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciProgramResizableBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_RESIZABLE_BAR_OPERATION ResizableBarOp + ); +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c new file mode 100644 index 0000000000..efdfa2d415 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c @@ -0,0 +1,776 @@ +/** @file + PCI Rom supporting funtions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + Load the EFI Image from Option ROM + + @param PciIoDevice PCI IO device instance. + @param FilePath The file path of the EFI Image + @param BufferSize On input the size of Buffer in bytes. On output with a return + code of EFI_SUCCESS, the amount of data transferred to Buffer. + On output with a return code of EFI_BUFFER_TOO_SMALL, + the size of Buffer required to retrieve the requested file. + @param Buffer The memory buffer to transfer the file to. If Buffer is NULL, + then no the size of the requested file is returned in BufferSize. + + @retval EFI_SUCCESS The file was loaded. + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or + BufferSize is NULL. + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom image. + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current directory entry. + BufferSize has been updated with the size needed to complete the request. +**/ +EFI_STATUS +LocalLoadFile2 ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, + IN OUT UINTN *BufferSize, + IN VOID *Buffer OPTIONAL + ) +{ + EFI_STATUS Status; + MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *EfiOpRomImageNode; + EFI_PCI_EXPANSION_ROM_HEADER *EfiRomHeader; + PCI_DATA_STRUCTURE *Pcir; + UINT32 ImageSize; + UINT8 *ImageBuffer; + UINT32 ImageLength; + UINT32 DestinationSize; + UINT32 ScratchSize; + VOID *Scratch; + EFI_DECOMPRESS_PROTOCOL *Decompress; + UINT32 InitializationSize; + + EfiOpRomImageNode = (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *) FilePath; + if ((EfiOpRomImageNode == NULL) || + (DevicePathType (FilePath) != MEDIA_DEVICE_PATH) || + (DevicePathSubType (FilePath) != MEDIA_RELATIVE_OFFSET_RANGE_DP) || + (DevicePathNodeLength (FilePath) != sizeof (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH)) || + (!IsDevicePathEnd (NextDevicePathNode (FilePath))) || + (EfiOpRomImageNode->StartingOffset > EfiOpRomImageNode->EndingOffset) || + (EfiOpRomImageNode->EndingOffset >= PciIoDevice->RomSize) || + (BufferSize == NULL) + ) { + return EFI_INVALID_PARAMETER; + } + + EfiRomHeader = (EFI_PCI_EXPANSION_ROM_HEADER *) ( + (UINT8 *) PciIoDevice->PciIo.RomImage + EfiOpRomImageNode->StartingOffset + ); + if (EfiRomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + return EFI_NOT_FOUND; + } + + + Pcir = (PCI_DATA_STRUCTURE *) ((UINT8 *) EfiRomHeader + EfiRomHeader->PcirOffset); + ASSERT (Pcir->Signature == PCI_DATA_STRUCTURE_SIGNATURE); + + if ((Pcir->CodeType == PCI_CODE_TYPE_EFI_IMAGE) && + (EfiRomHeader->EfiSignature == EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE) && + ((EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) || + (EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER)) && + (EfiRomHeader->CompressionType <= EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) + ) { + + ImageSize = Pcir->ImageLength * 512; + InitializationSize = (UINT32) EfiRomHeader->InitializationSize * 512; + if (InitializationSize > ImageSize || EfiRomHeader->EfiImageHeaderOffset >= InitializationSize) { + return EFI_NOT_FOUND; + } + + ImageBuffer = (UINT8 *) EfiRomHeader + EfiRomHeader->EfiImageHeaderOffset; + ImageLength = InitializationSize - EfiRomHeader->EfiImageHeaderOffset; + + if (EfiRomHeader->CompressionType != EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) { + // + // Uncompressed: Copy the EFI Image directly to user's buffer + // + if (Buffer == NULL || *BufferSize < ImageLength) { + *BufferSize = ImageLength; + return EFI_BUFFER_TOO_SMALL; + } + + *BufferSize = ImageLength; + CopyMem (Buffer, ImageBuffer, ImageLength); + return EFI_SUCCESS; + + } else { + // + // Compressed: Uncompress before copying + // + Status = gBS->LocateProtocol (&gEfiDecompressProtocolGuid, NULL, (VOID **) &Decompress); + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + Status = Decompress->GetInfo ( + Decompress, + ImageBuffer, + ImageLength, + &DestinationSize, + &ScratchSize + ); + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + + if (Buffer == NULL || *BufferSize < DestinationSize) { + *BufferSize = DestinationSize; + return EFI_BUFFER_TOO_SMALL; + } + + *BufferSize = DestinationSize; + Scratch = AllocatePool (ScratchSize); + if (Scratch == NULL) { + return EFI_DEVICE_ERROR; + } + + Status = Decompress->Decompress ( + Decompress, + ImageBuffer, + ImageLength, + Buffer, + DestinationSize, + Scratch, + ScratchSize + ); + FreePool (Scratch); + + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + return EFI_SUCCESS; + } + } + + return EFI_NOT_FOUND; +} + +/** + Initialize a PCI LoadFile2 instance. + + @param PciIoDevice PCI IO Device. + +**/ +VOID +InitializePciLoadFile2 ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + PciIoDevice->LoadFile2.LoadFile = LoadFile2; +} + +/** + Causes the driver to load a specified file. + + @param This Indicates a pointer to the calling context. + @param FilePath The device specific path of the file to load. + @param BootPolicy Should always be FALSE. + @param BufferSize On input the size of Buffer in bytes. On output with a return + code of EFI_SUCCESS, the amount of data transferred to Buffer. + On output with a return code of EFI_BUFFER_TOO_SMALL, + the size of Buffer required to retrieve the requested file. + @param Buffer The memory buffer to transfer the file to. If Buffer is NULL, + then no the size of the requested file is returned in BufferSize. + + @retval EFI_SUCCESS The file was loaded. + @retval EFI_UNSUPPORTED BootPolicy is TRUE. + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or + BufferSize is NULL. + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom image. + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current directory entry. + BufferSize has been updated with the size needed to complete the request. + +**/ +EFI_STATUS +EFIAPI +LoadFile2 ( + IN EFI_LOAD_FILE2_PROTOCOL *This, + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, + IN BOOLEAN BootPolicy, + IN OUT UINTN *BufferSize, + IN VOID *Buffer OPTIONAL + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + if (BootPolicy) { + return EFI_UNSUPPORTED; + } + PciIoDevice = PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS (This); + + return LocalLoadFile2 ( + PciIoDevice, + FilePath, + BufferSize, + Buffer + ); +} + +/** + Get Pci device's oprom information. + + @param PciIoDevice Input Pci device instance. + Output Pci device instance with updated OptionRom size. + + @retval EFI_NOT_FOUND Pci device has not Option Rom. + @retval EFI_SUCCESS Pci device has Option Rom. + +**/ +EFI_STATUS +GetOpRomInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT8 RomBarIndex; + UINT32 AllOnes; + UINT64 Address; + EFI_STATUS Status; + UINT8 Bus; + UINT8 Device; + UINT8 Function; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + Bus = PciIoDevice->BusNumber; + Device = PciIoDevice->DeviceNumber; + Function = PciIoDevice->FunctionNumber; + + PciRootBridgeIo = PciIoDevice->PciRootBridgeIo; + + // + // Offset is 0x30 if is not ppb + // + + // + // 0x30 + // + RomBarIndex = PCI_EXPANSION_ROM_BASE; + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + // + // If is ppb, 0x38 + // + RomBarIndex = PCI_BRIDGE_ROMBAR; + } + // + // The bit0 is 0 to prevent the enabling of the Rom address decoder + // + AllOnes = 0xfffffffe; + Address = EFI_PCI_ADDRESS (Bus, Device, Function, RomBarIndex); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &AllOnes + ); + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + // + // Read back + // + Status = PciRootBridgeIo->Pci.Read( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &AllOnes + ); + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + // + // Bits [1, 10] are reserved + // + AllOnes &= 0xFFFFF800; + if ((AllOnes == 0) || (AllOnes == 0xFFFFF800)) { + return EFI_NOT_FOUND; + } + + PciIoDevice->RomSize = (~AllOnes) + 1; + return EFI_SUCCESS; +} + +/** + Check if the RomImage contains EFI Images. + + @param RomImage The ROM address of Image for check. + @param RomSize Size of ROM for check. + + @retval TRUE ROM contain EFI Image. + @retval FALSE ROM not contain EFI Image. + +**/ +BOOLEAN +ContainEfiImage ( + IN VOID *RomImage, + IN UINT64 RomSize + ) +{ + PCI_EXPANSION_ROM_HEADER *RomHeader; + PCI_DATA_STRUCTURE *RomPcir; + UINT8 Indicator; + + Indicator = 0; + RomHeader = RomImage; + if (RomHeader == NULL) { + return FALSE; + } + + do { + if (RomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + RomHeader = (PCI_EXPANSION_ROM_HEADER *) ((UINT8 *) RomHeader + 512); + continue; + } + + // + // The PCI Data Structure must be DWORD aligned. + // + if (RomHeader->PcirOffset == 0 || + (RomHeader->PcirOffset & 3) != 0 || + (UINT8 *) RomHeader + RomHeader->PcirOffset + sizeof (PCI_DATA_STRUCTURE) > (UINT8 *) RomImage + RomSize) { + break; + } + + RomPcir = (PCI_DATA_STRUCTURE *) ((UINT8 *) RomHeader + RomHeader->PcirOffset); + if (RomPcir->Signature != PCI_DATA_STRUCTURE_SIGNATURE) { + break; + } + + if (RomPcir->CodeType == PCI_CODE_TYPE_EFI_IMAGE) { + return TRUE; + } + + Indicator = RomPcir->Indicator; + RomHeader = (PCI_EXPANSION_ROM_HEADER *) ((UINT8 *) RomHeader + RomPcir->ImageLength * 512); + } while (((UINT8 *) RomHeader < (UINT8 *) RomImage + RomSize) && ((Indicator & 0x80) == 0x00)); + + return FALSE; +} + +/** + Load Option Rom image for specified PCI device. + + @param PciDevice Pci device instance. + @param RomBase Base address of Option Rom. + + @retval EFI_OUT_OF_RESOURCES No enough memory to hold image. + @retval EFI_SUCESS Successfully loaded Option Rom. + +**/ +EFI_STATUS +LoadOpRomImage ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT64 RomBase + ) +{ + UINT8 RomBarIndex; + UINT8 Indicator; + UINT16 OffsetPcir; + UINT32 RomBarOffset; + UINT32 RomBar; + EFI_STATUS RetStatus; + BOOLEAN FirstCheck; + UINT8 *Image; + PCI_EXPANSION_ROM_HEADER *RomHeader; + PCI_DATA_STRUCTURE *RomPcir; + UINT64 RomSize; + UINT64 RomImageSize; + UINT32 LegacyImageLength; + UINT8 *RomInMemory; + UINT8 CodeType; + + RomSize = PciDevice->RomSize; + + Indicator = 0; + RomImageSize = 0; + RomInMemory = NULL; + CodeType = 0xFF; + + // + // Get the RomBarIndex + // + + // + // 0x30 + // + RomBarIndex = PCI_EXPANSION_ROM_BASE; + if (IS_PCI_BRIDGE (&(PciDevice->Pci))) { + // + // if is ppb + // + + // + // 0x38 + // + RomBarIndex = PCI_BRIDGE_ROMBAR; + } + // + // Allocate memory for Rom header and PCIR + // + RomHeader = AllocatePool (sizeof (PCI_EXPANSION_ROM_HEADER)); + if (RomHeader == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + RomPcir = AllocatePool (sizeof (PCI_DATA_STRUCTURE)); + if (RomPcir == NULL) { + FreePool (RomHeader); + return EFI_OUT_OF_RESOURCES; + } + + RomBar = (UINT32) RomBase; + + // + // Enable RomBar + // + RomDecode (PciDevice, RomBarIndex, RomBar, TRUE); + + RomBarOffset = RomBar; + RetStatus = EFI_NOT_FOUND; + FirstCheck = TRUE; + LegacyImageLength = 0; + + do { + PciDevice->PciRootBridgeIo->Mem.Read ( + PciDevice->PciRootBridgeIo, + EfiPciWidthUint8, + RomBarOffset, + sizeof (PCI_EXPANSION_ROM_HEADER), + (UINT8 *) RomHeader + ); + + if (RomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + RomBarOffset = RomBarOffset + 512; + if (FirstCheck) { + break; + } else { + RomImageSize = RomImageSize + 512; + continue; + } + } + + FirstCheck = FALSE; + OffsetPcir = RomHeader->PcirOffset; + // + // If the pointer to the PCI Data Structure is invalid, no further images can be located. + // The PCI Data Structure must be DWORD aligned. + // + if (OffsetPcir == 0 || + (OffsetPcir & 3) != 0 || + RomImageSize + OffsetPcir + sizeof (PCI_DATA_STRUCTURE) > RomSize) { + break; + } + PciDevice->PciRootBridgeIo->Mem.Read ( + PciDevice->PciRootBridgeIo, + EfiPciWidthUint8, + RomBarOffset + OffsetPcir, + sizeof (PCI_DATA_STRUCTURE), + (UINT8 *) RomPcir + ); + // + // If a valid signature is not present in the PCI Data Structure, no further images can be located. + // + if (RomPcir->Signature != PCI_DATA_STRUCTURE_SIGNATURE) { + break; + } + if (RomImageSize + RomPcir->ImageLength * 512 > RomSize) { + break; + } + if (RomPcir->CodeType == PCI_CODE_TYPE_PCAT_IMAGE) { + CodeType = PCI_CODE_TYPE_PCAT_IMAGE; + LegacyImageLength = ((UINT32)((EFI_LEGACY_EXPANSION_ROM_HEADER *)RomHeader)->Size512) * 512; + } + Indicator = RomPcir->Indicator; + RomImageSize = RomImageSize + RomPcir->ImageLength * 512; + RomBarOffset = RomBarOffset + RomPcir->ImageLength * 512; + } while (((Indicator & 0x80) == 0x00) && ((RomBarOffset - RomBar) < RomSize)); + + // + // Some Legacy Cards do not report the correct ImageLength so used the maximum + // of the legacy length and the PCIR Image Length + // + if (CodeType == PCI_CODE_TYPE_PCAT_IMAGE) { + RomImageSize = MAX (RomImageSize, LegacyImageLength); + } + + if (RomImageSize > 0) { + RetStatus = EFI_SUCCESS; + Image = AllocatePool ((UINT32) RomImageSize); + if (Image == NULL) { + RomDecode (PciDevice, RomBarIndex, RomBar, FALSE); + FreePool (RomHeader); + FreePool (RomPcir); + return EFI_OUT_OF_RESOURCES; + } + + // + // Copy Rom image into memory + // + PciDevice->PciRootBridgeIo->Mem.Read ( + PciDevice->PciRootBridgeIo, + EfiPciWidthUint8, + RomBar, + (UINT32) RomImageSize, + Image + ); + RomInMemory = Image; + } + + RomDecode (PciDevice, RomBarIndex, RomBar, FALSE); + + PciDevice->EmbeddedRom = TRUE; + PciDevice->PciIo.RomSize = RomImageSize; + PciDevice->PciIo.RomImage = RomInMemory; + + //TiogaPass Override START : Skip OPROM - Mellanox card which has SSVID 0x15B3 and SSDID 0x0031 + if (PciDevice->Pci.Hdr.VendorId == 0x15B3 && PciDevice->Pci.Hdr.DeviceId == 0x1015) { + if (PciDevice->Pci.Device.SubsystemVendorID == 0x15B3 && PciDevice->Pci.Device.SubsystemID == 0x0031) { + PciDevice->PciIo.RomImage = NULL; + PciDevice->PciIo.RomSize = 0; + DEBUG((DEBUG_ERROR,"Device_MLX @ [B%X|D%X|F%X], VID=%X, DID=%X SVID=%X, SVDID=%XOverrides ROM file @ %X size=%X .\n\n", + PciDevice->BusNumber, PciDevice->DeviceNumber, PciDevice->FunctionNumber, + PciDevice->Pci.Hdr.VendorId, PciDevice->Pci.Hdr.DeviceId, PciDevice->Pci.Device.SubsystemVendorID,PciDevice->Pci.Device.SubsystemID,PciDevice->PciIo.RomImage, PciDevice->PciIo.RomSize)); + } + } + //TiogaPass Override END + + // For OpROM read from PCI device: + // Add the Rom Image to internal database for later PCI light enumeration + // + PciRomAddImageMapping ( + NULL, + PciDevice->PciRootBridgeIo->SegmentNumber, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + PciDevice->PciIo.RomImage, + PciDevice->PciIo.RomSize + ); + + // + // Free allocated memory + // + FreePool (RomHeader); + FreePool (RomPcir); + + return RetStatus; +} + +/** + Enable/Disable Option Rom decode. + + @param PciDevice Pci device instance. + @param RomBarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param RomBar Base address of Option Rom. + @param Enable Flag for enable/disable decode. + +**/ +VOID +RomDecode ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT8 RomBarIndex, + IN UINT32 RomBar, + IN BOOLEAN Enable + ) +{ + UINT32 Value32; + EFI_PCI_IO_PROTOCOL *PciIo; + + PciIo = &PciDevice->PciIo; + if (Enable) { + + // + // set the Rom base address: now is hardcode + // enable its decoder + // + Value32 = RomBar | 0x1; + PciIo->Pci.Write ( + PciIo, + (EFI_PCI_IO_PROTOCOL_WIDTH) EfiPciWidthUint32, + RomBarIndex, + 1, + &Value32 + ); + + // + // Programe all upstream bridge + // + ProgramUpstreamBridgeForRom (PciDevice, RomBar, TRUE); + + // + // Setting the memory space bit in the function's command register + // + PCI_ENABLE_COMMAND_REGISTER(PciDevice, EFI_PCI_COMMAND_MEMORY_SPACE); + + } else { + + // + // disable command register decode to memory + // + PCI_DISABLE_COMMAND_REGISTER(PciDevice, EFI_PCI_COMMAND_MEMORY_SPACE); + + // + // Destroy the programmed bar in all the upstream bridge. + // + ProgramUpstreamBridgeForRom (PciDevice, RomBar, FALSE); + + // + // disable rom decode + // + Value32 = 0xFFFFFFFE; + PciIo->Pci.Write ( + PciIo, + (EFI_PCI_IO_PROTOCOL_WIDTH) EfiPciWidthUint32, + RomBarIndex, + 1, + &Value32 + ); + + } +} + +/** + Load and start the Option Rom image. + + @param PciDevice Pci device instance. + + @retval EFI_SUCCESS Successfully loaded and started PCI Option Rom image. + @retval EFI_NOT_FOUND Failed to process PCI Option Rom image. + +**/ +EFI_STATUS +ProcessOpRomImage ( + IN PCI_IO_DEVICE *PciDevice + ) +{ + UINT8 Indicator; + UINT32 ImageSize; + VOID *RomBar; + UINT8 *RomBarOffset; + EFI_HANDLE ImageHandle; + EFI_STATUS Status; + EFI_STATUS RetStatus; + EFI_PCI_EXPANSION_ROM_HEADER *EfiRomHeader; + PCI_DATA_STRUCTURE *Pcir; + EFI_DEVICE_PATH_PROTOCOL *PciOptionRomImageDevicePath; + MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH EfiOpRomImageNode; + VOID *Buffer; + UINTN BufferSize; + + Indicator = 0; + + // + // Get the Address of the Option Rom image + // + RomBar = PciDevice->PciIo.RomImage; + RomBarOffset = (UINT8 *) RomBar; + RetStatus = EFI_NOT_FOUND; + + if (RomBar == NULL) { + return RetStatus; + } + ASSERT (((EFI_PCI_EXPANSION_ROM_HEADER *) RomBarOffset)->Signature == PCI_EXPANSION_ROM_HEADER_SIGNATURE); + + do { + EfiRomHeader = (EFI_PCI_EXPANSION_ROM_HEADER *) RomBarOffset; + if (EfiRomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + RomBarOffset += 512; + continue; + } + + Pcir = (PCI_DATA_STRUCTURE *) (RomBarOffset + EfiRomHeader->PcirOffset); + ASSERT (Pcir->Signature == PCI_DATA_STRUCTURE_SIGNATURE); + ImageSize = (UINT32) (Pcir->ImageLength * 512); + Indicator = Pcir->Indicator; + + // + // Skip the image if it is not an EFI PCI Option ROM image + // + if (Pcir->CodeType != PCI_CODE_TYPE_EFI_IMAGE) { + goto NextImage; + } + + // + // Ignore the EFI PCI Option ROM image if it is an EFI application + // + if (EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION) { + goto NextImage; + } + + // + // Create Pci Option Rom Image device path header + // + EfiOpRomImageNode.Header.Type = MEDIA_DEVICE_PATH; + EfiOpRomImageNode.Header.SubType = MEDIA_RELATIVE_OFFSET_RANGE_DP; + SetDevicePathNodeLength (&EfiOpRomImageNode.Header, sizeof (EfiOpRomImageNode)); + EfiOpRomImageNode.StartingOffset = (UINTN) RomBarOffset - (UINTN) RomBar; + EfiOpRomImageNode.EndingOffset = (UINTN) RomBarOffset + ImageSize - 1 - (UINTN) RomBar; + + PciOptionRomImageDevicePath = AppendDevicePathNode (PciDevice->DevicePath, &EfiOpRomImageNode.Header); + ASSERT (PciOptionRomImageDevicePath != NULL); + + // + // load image and start image + // + BufferSize = 0; + Buffer = NULL; + ImageHandle = NULL; + + Status = gBS->LoadImage ( + FALSE, + gPciBusDriverBinding.DriverBindingHandle, + PciOptionRomImageDevicePath, + Buffer, + BufferSize, + &ImageHandle + ); + if (EFI_ERROR (Status)) { + // + // Record the Option ROM Image device path when LoadImage fails. + // PciOverride.GetDriver() will try to look for the Image Handle using the device path later. + // + AddDriver (PciDevice, NULL, PciOptionRomImageDevicePath); + } else { + Status = gBS->StartImage (ImageHandle, NULL, NULL); + if (!EFI_ERROR (Status)) { + // + // Record the Option ROM Image Handle + // + AddDriver (PciDevice, ImageHandle, NULL); + PciRomAddImageMapping ( + ImageHandle, + PciDevice->PciRootBridgeIo->SegmentNumber, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + PciDevice->PciIo.RomImage, + PciDevice->PciIo.RomSize + ); + RetStatus = EFI_SUCCESS; + } + } + FreePool (PciOptionRomImageDevicePath); + +NextImage: + RomBarOffset += ImageSize; + + } while (((Indicator & 0x80) == 0x00) && (((UINTN) RomBarOffset - (UINTN) RomBar) < PciDevice->RomSize)); + + return RetStatus; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h new file mode 100644 index 0000000000..60e147a7b9 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h @@ -0,0 +1,136 @@ +/** @file + PCI Rom supporting functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_OPTION_ROM_SUPPORT_H_ +#define _EFI_PCI_OPTION_ROM_SUPPORT_H_ + + +/** + Initialize a PCI LoadFile2 instance. + + @param PciIoDevice PCI IO Device. + +**/ +VOID +InitializePciLoadFile2 ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Causes the driver to load a specified file. + + @param This Indicates a pointer to the calling context. + @param FilePath The device specific path of the file to load. + @param BootPolicy Should always be FALSE. + @param BufferSize On input the size of Buffer in bytes. On output with a return + code of EFI_SUCCESS, the amount of data transferred to Buffer. + On output with a return code of EFI_BUFFER_TOO_SMALL, + the size of Buffer required to retrieve the requested file. + @param Buffer The memory buffer to transfer the file to. If Buffer is NULL, + then no the size of the requested file is returned in BufferSize. + + @retval EFI_SUCCESS The file was loaded. + @retval EFI_UNSUPPORTED BootPolicy is TRUE. + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or + BufferSize is NULL. + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom image. + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current directory entry. + BufferSize has been updated with the size needed to complete the request. + +**/ +EFI_STATUS +EFIAPI +LoadFile2 ( + IN EFI_LOAD_FILE2_PROTOCOL *This, + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, + IN BOOLEAN BootPolicy, + IN OUT UINTN *BufferSize, + IN VOID *Buffer OPTIONAL + ); + +/** + Check if the RomImage contains EFI Images. + + @param RomImage The ROM address of Image for check. + @param RomSize Size of ROM for check. + + @retval TRUE ROM contain EFI Image. + @retval FALSE ROM not contain EFI Image. + +**/ +BOOLEAN +ContainEfiImage ( + IN VOID *RomImage, + IN UINT64 RomSize + ); + +/** + Get Pci device's oprom information. + + @param PciIoDevice Input Pci device instance. + Output Pci device instance with updated OptionRom size. + + @retval EFI_NOT_FOUND Pci device has not Option Rom. + @retval EFI_SUCCESS Pci device has Option Rom. + +**/ +EFI_STATUS +GetOpRomInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ); + +/** + Load Option Rom image for specified PCI device. + + @param PciDevice Pci device instance. + @param RomBase Base address of Option Rom. + + @retval EFI_OUT_OF_RESOURCES No enough memory to hold image. + @retval EFI_SUCESS Successfully loaded Option Rom. + +**/ +EFI_STATUS +LoadOpRomImage ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT64 RomBase + ); + +/** + Enable/Disable Option Rom decode. + + @param PciDevice Pci device instance. + @param RomBarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param RomBar Base address of Option Rom. + @param Enable Flag for enable/disable decode. + +**/ +VOID +RomDecode ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT8 RomBarIndex, + IN UINT32 RomBar, + IN BOOLEAN Enable + ); + +/** + Load and start the Option Rom image. + + @param PciDevice Pci device instance. + + @retval EFI_SUCCESS Successfully loaded and started PCI Option Rom image. + @retval EFI_NOT_FOUND Failed to process PCI Option Rom image. + +**/ +EFI_STATUS +ProcessOpRomImage ( + IN PCI_IO_DEVICE *PciDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c new file mode 100644 index 0000000000..cf3f8164cd --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c @@ -0,0 +1,82 @@ +/** @file + Power management support functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + This function is intended to turn off PWE assertion and + put the device to D0 state if the device supports + PCI Power Management. + + @param PciIoDevice PCI device instance. + + @retval EFI_UNSUPPORTED PCI Device does not support power management. + @retval EFI_SUCCESS Turned off PWE successfully. + +**/ +EFI_STATUS +ResetPowerManagementFeature ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + UINT8 PowerManagementRegBlock; + UINT16 PowerManagementCSR; + + PowerManagementRegBlock = 0; + + Status = LocateCapabilityRegBlock ( + PciIoDevice, + EFI_PCI_CAPABILITY_ID_PMI, + &PowerManagementRegBlock, + NULL + ); + + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Turn off the PWE assertion and put the device into D0 State + // + + // + // Read PMCSR + // + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + PowerManagementRegBlock + 4, + 1, + &PowerManagementCSR + ); + + if (!EFI_ERROR (Status)) { + // + // Clear PME_Status bit + // + PowerManagementCSR |= BIT15; + // + // Clear PME_En bit. PowerState = D0. + // + PowerManagementCSR &= ~(BIT8 | BIT1 | BIT0); + + // + // Write PMCSR + // + Status = PciIoDevice->PciIo.Pci.Write ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + PowerManagementRegBlock + 4, + 1, + &PowerManagementCSR + ); + } + return Status; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h new file mode 100644 index 0000000000..44e97ec45a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h @@ -0,0 +1,28 @@ +/** @file + Power management support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_POWER_MANAGEMENT_H_ +#define _EFI_PCI_POWER_MANAGEMENT_H_ + +/** + This function is intended to turn off PWE assertion and + put the device to D0 state if the device supports + PCI Power Management. + + @param PciIoDevice PCI device instance. + + @retval EFI_UNSUPPORTED PCI Device does not support power management. + @retval EFI_SUCCESS Turned off PWE successfully. + +**/ +EFI_STATUS +ResetPowerManagementFeature ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c new file mode 100644 index 0000000000..1461af7d5d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c @@ -0,0 +1,2292 @@ +/** @file + PCI resources support functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// The default policy for the PCI bus driver is NOT to reserve I/O ranges for both ISA aliases and VGA aliases. +// +BOOLEAN mReserveIsaAliases = FALSE; +BOOLEAN mReserveVgaAliases = FALSE; +BOOLEAN mPolicyDetermined = FALSE; + +/** + The function is used to skip VGA range. + + @param Start Returned start address including VGA range. + @param Length The length of VGA range. + +**/ +VOID +SkipVGAAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ) +{ + UINT64 Original; + UINT64 Mask; + UINT64 StartOffset; + UINT64 LimitOffset; + + ASSERT (Start != NULL); + // + // For legacy VGA, bit 10 to bit 15 is not decoded + // + Mask = 0x3FF; + + Original = *Start; + StartOffset = Original & Mask; + LimitOffset = ((*Start) + Length - 1) & Mask; + if (LimitOffset >= VGABASE1) { + *Start = *Start - StartOffset + VGALIMIT2 + 1; + } +} + +/** + This function is used to skip ISA aliasing aperture. + + @param Start Returned start address including ISA aliasing aperture. + @param Length The length of ISA aliasing aperture. + +**/ +VOID +SkipIsaAliasAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ) +{ + + UINT64 Original; + UINT64 Mask; + UINT64 StartOffset; + UINT64 LimitOffset; + + ASSERT (Start != NULL); + + // + // For legacy ISA, bit 10 to bit 15 is not decoded + // + Mask = 0x3FF; + + Original = *Start; + StartOffset = Original & Mask; + LimitOffset = ((*Start) + Length - 1) & Mask; + + if (LimitOffset >= ISABASE) { + *Start = *Start - StartOffset + ISALIMIT + 1; + } +} + +/** + This function inserts a resource node into the resource list. + The resource list is sorted in descend order. + + @param Bridge PCI resource node for bridge. + @param ResNode Resource node want to be inserted. + +**/ +VOID +InsertResourceNode ( + IN OUT PCI_RESOURCE_NODE *Bridge, + IN PCI_RESOURCE_NODE *ResNode + ) +{ + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Temp; + UINT64 ResNodeAlignRest; + UINT64 TempAlignRest; + + ASSERT (Bridge != NULL); + ASSERT (ResNode != NULL); + + InsertHeadList (&Bridge->ChildList, &ResNode->Link); + + CurrentLink = Bridge->ChildList.ForwardLink->ForwardLink; + while (CurrentLink != &Bridge->ChildList) { + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (ResNode->Alignment > Temp->Alignment) { + break; + } else if (ResNode->Alignment == Temp->Alignment) { + ResNodeAlignRest = ResNode->Length & ResNode->Alignment; + TempAlignRest = Temp->Length & Temp->Alignment; + if ((ResNodeAlignRest == 0) || (ResNodeAlignRest >= TempAlignRest)) { + break; + } + } + + SwapListEntries (&ResNode->Link, CurrentLink); + + CurrentLink = ResNode->Link.ForwardLink; + } +} + +/** + This routine is used to merge two different resource trees in need of + resource degradation. + + For example, if an upstream PPB doesn't support, + prefetchable memory decoding, the PCI bus driver will choose to call this function + to merge prefetchable memory resource list into normal memory list. + + If the TypeMerge is TRUE, Res resource type is changed to the type of destination resource + type. + If Dst is NULL or Res is NULL, ASSERT (). + + @param Dst Point to destination resource tree. + @param Res Point to source resource tree. + @param TypeMerge If the TypeMerge is TRUE, Res resource type is changed to the type of + destination resource type. + +**/ +VOID +MergeResourceTree ( + IN PCI_RESOURCE_NODE *Dst, + IN PCI_RESOURCE_NODE *Res, + IN BOOLEAN TypeMerge + ) +{ + + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Temp; + + ASSERT (Dst != NULL); + ASSERT (Res != NULL); + + while (!IsListEmpty (&Res->ChildList)) { + CurrentLink = Res->ChildList.ForwardLink; + + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (TypeMerge) { + Temp->ResType = Dst->ResType; + } + + RemoveEntryList (CurrentLink); + InsertResourceNode (Dst, Temp); + } +} + +/** + This function is used to calculate the IO16 aperture + for a bridge. + + @param Bridge PCI resource node for bridge. + +**/ +VOID +CalculateApertureIo16 ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + EFI_STATUS Status; + UINT64 Aperture; + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Node; + UINT64 Offset; + EFI_PCI_PLATFORM_POLICY PciPolicy; + UINT64 PaddingAperture; + + if (!mPolicyDetermined) { + // + // Check PciPlatform policy + // + Status = EFI_NOT_FOUND; + PciPolicy = 0; + if (gPciPlatformProtocol != NULL) { + Status = gPciPlatformProtocol->GetPlatformPolicy ( + gPciPlatformProtocol, + &PciPolicy + ); + } + + if (EFI_ERROR (Status) && gPciOverrideProtocol != NULL) { + Status = gPciOverrideProtocol->GetPlatformPolicy ( + gPciOverrideProtocol, + &PciPolicy + ); + } + + if (!EFI_ERROR (Status)) { + if ((PciPolicy & EFI_RESERVE_ISA_IO_ALIAS) != 0) { + mReserveIsaAliases = TRUE; + } + if ((PciPolicy & EFI_RESERVE_VGA_IO_ALIAS) != 0) { + mReserveVgaAliases = TRUE; + } + } + mPolicyDetermined = TRUE; + } + + Aperture = 0; + PaddingAperture = 0; + + if (Bridge == NULL) { + return ; + } + + // + // Assume the bridge is aligned + // + for ( CurrentLink = GetFirstNode (&Bridge->ChildList) + ; !IsNull (&Bridge->ChildList, CurrentLink) + ; CurrentLink = GetNextNode (&Bridge->ChildList, CurrentLink) + ) { + + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + if (Node->ResourceUsage == PciResUsagePadding) { + ASSERT (PaddingAperture == 0); + PaddingAperture = Node->Length; + continue; + } + // + // Consider the aperture alignment + // + Offset = Aperture & (Node->Alignment); + + if (Offset != 0) { + + Aperture = Aperture + (Node->Alignment + 1) - Offset; + + } + + // + // IsaEnable and VGAEnable can not be implemented now. + // If both of them are enabled, then the IO resource would + // become too limited to meet the requirement of most of devices. + // + if (mReserveIsaAliases || mReserveVgaAliases) { + if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci)) && !IS_CARDBUS_BRIDGE (&(Node->PciDev->Pci))) { + // + // Check if there is need to support ISA/VGA decoding + // If so, we need to avoid isa/vga aliasing range + // + if (mReserveIsaAliases) { + SkipIsaAliasAperture ( + &Aperture, + Node->Length + ); + Offset = Aperture & (Node->Alignment); + if (Offset != 0) { + Aperture = Aperture + (Node->Alignment + 1) - Offset; + } + } else if (mReserveVgaAliases) { + SkipVGAAperture ( + &Aperture, + Node->Length + ); + Offset = Aperture & (Node->Alignment); + if (Offset != 0) { + Aperture = Aperture + (Node->Alignment + 1) - Offset; + } + } + } + } + + Node->Offset = Aperture; + + // + // Increment aperture by the length of node + // + Aperture += Node->Length; + } + + // + // Adjust the aperture with the bridge's alignment + // + Offset = Aperture & (Bridge->Alignment); + + if (Offset != 0) { + Aperture = Aperture + (Bridge->Alignment + 1) - Offset; + } + + Bridge->Length = Aperture; + // + // At last, adjust the bridge's alignment to the first child's alignment + // if the bridge has at least one child + // + CurrentLink = Bridge->ChildList.ForwardLink; + if (CurrentLink != &Bridge->ChildList) { + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + if (Node->Alignment > Bridge->Alignment) { + Bridge->Alignment = Node->Alignment; + } + } + + // + // Hotplug controller needs padding resources. + // Use the larger one between the padding resource and actual occupied resource. + // + Bridge->Length = MAX (Bridge->Length, PaddingAperture); +} + +/** + This function is used to calculate the resource aperture + for a given bridge device. + + @param Bridge PCI resource node for given bridge device. + +**/ +VOID +CalculateResourceAperture ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + UINT64 Aperture[2]; + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Node; + + if (Bridge == NULL) { + return ; + } + + if (Bridge->ResType == PciBarTypeIo16) { + + CalculateApertureIo16 (Bridge); + return ; + } + + Aperture[PciResUsageTypical] = 0; + Aperture[PciResUsagePadding] = 0; + // + // Assume the bridge is aligned + // + for ( CurrentLink = GetFirstNode (&Bridge->ChildList) + ; !IsNull (&Bridge->ChildList, CurrentLink) + ; CurrentLink = GetNextNode (&Bridge->ChildList, CurrentLink) + ) { + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + + // + // It's possible for a bridge to contain multiple padding resource + // nodes due to DegradeResource(). + // + ASSERT ((Node->ResourceUsage == PciResUsageTypical) || + (Node->ResourceUsage == PciResUsagePadding)); + ASSERT (Node->ResourceUsage < ARRAY_SIZE (Aperture)); + // + // Recode current aperture as a offset + // Apply padding resource to meet alignment requirement + // Node offset will be used in future real allocation + // + Node->Offset = ALIGN_VALUE (Aperture[Node->ResourceUsage], Node->Alignment + 1); + + // + // Record the total aperture. + // + Aperture[Node->ResourceUsage] = Node->Offset + Node->Length; + } + + // + // Adjust the aperture with the bridge's alignment + // + Aperture[PciResUsageTypical] = ALIGN_VALUE (Aperture[PciResUsageTypical], Bridge->Alignment + 1); + Aperture[PciResUsagePadding] = ALIGN_VALUE (Aperture[PciResUsagePadding], Bridge->Alignment + 1); + + // + // Hotplug controller needs padding resources. + // Use the larger one between the padding resource and actual occupied resource. + // + Bridge->Length = MAX (Aperture[PciResUsageTypical], Aperture[PciResUsagePadding]); + + // + // Adjust the bridge's alignment to the MAX (first) alignment of all children. + // + CurrentLink = Bridge->ChildList.ForwardLink; + if (CurrentLink != &Bridge->ChildList) { + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + if (Node->Alignment > Bridge->Alignment) { + Bridge->Alignment = Node->Alignment; + } + } +} + +/** + Get IO/Memory resource info for given PCI device. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO . + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +GetResourceFromDevice ( + IN PCI_IO_DEVICE *PciDev, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ) +{ + + UINT8 Index; + PCI_RESOURCE_NODE *Node; + BOOLEAN ResourceRequested; + + Node = NULL; + ResourceRequested = FALSE; + + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + + switch ((PciDev->PciBar)[Index].BarType) { + + case PciBarTypeMem32: + case PciBarTypeOpRom: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + (PciDev->PciBar)[Index].BarType, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem32Node, + Node + ); + + ResourceRequested = TRUE; + break; + + case PciBarTypeMem64: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypeMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem64Node, + Node + ); + + ResourceRequested = TRUE; + break; + + case PciBarTypePMem64: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypePMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem64Node, + Node + ); + + ResourceRequested = TRUE; + break; + + case PciBarTypePMem32: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypePMem32, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem32Node, + Node + ); + ResourceRequested = TRUE; + break; + + case PciBarTypeIo16: + case PciBarTypeIo32: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypeIo16, + PciResUsageTypical + ); + + InsertResourceNode ( + IoNode, + Node + ); + ResourceRequested = TRUE; + break; + + case PciBarTypeUnknown: + break; + + default: + break; + } + } + + // + // Add VF resource + // + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + + switch ((PciDev->VfPciBar)[Index].BarType) { + + case PciBarTypeMem32: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypeMem32, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem32Node, + Node + ); + + break; + + case PciBarTypeMem64: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypeMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem64Node, + Node + ); + + break; + + case PciBarTypePMem64: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypePMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem64Node, + Node + ); + + break; + + case PciBarTypePMem32: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypePMem32, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem32Node, + Node + ); + break; + + case PciBarTypeIo16: + case PciBarTypeIo32: + break; + + case PciBarTypeUnknown: + break; + + default: + break; + } + } + // If there is no resource requested from this device, + // then we indicate this device has been allocated naturally. + // + if (!ResourceRequested) { + PciDev->Allocated = TRUE; + } +} + +/** + This function is used to create a resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ) +{ + PCI_RESOURCE_NODE *Node; + + Node = NULL; + + Node = AllocateZeroPool (sizeof (PCI_RESOURCE_NODE)); + ASSERT (Node != NULL); + if (Node == NULL) { + return NULL; + } + + Node->Signature = PCI_RESOURCE_SIGNATURE; + Node->PciDev = PciDev; + Node->Length = Length; + Node->Alignment = Alignment; + Node->Bar = Bar; + Node->ResType = ResType; + Node->Reserved = FALSE; + Node->ResourceUsage = ResUsage; + InitializeListHead (&Node->ChildList); + + return Node; +} + +/** + This function is used to create a IOV VF resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given VF PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateVfResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ) +{ + PCI_RESOURCE_NODE *Node; + + Node = CreateResourceNode (PciDev, Length, Alignment, Bar, ResType, ResUsage); + if (Node == NULL) { + return Node; + } + + Node->Virtual = TRUE; + + return Node; +} + +/** + This function is used to extract resource request from + device node list. + + @param Bridge Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +CreateResourceMap ( + IN PCI_IO_DEVICE *Bridge, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ) +{ + PCI_IO_DEVICE *Temp; + PCI_RESOURCE_NODE *IoBridge; + PCI_RESOURCE_NODE *Mem32Bridge; + PCI_RESOURCE_NODE *PMem32Bridge; + PCI_RESOURCE_NODE *Mem64Bridge; + PCI_RESOURCE_NODE *PMem64Bridge; + LIST_ENTRY *CurrentLink; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + // + // Create resource nodes for this device by scanning the + // Bar array in the device private data + // If the upstream bridge doesn't support this device, + // no any resource node will be created for this device + // + GetResourceFromDevice ( + Temp, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + + if (IS_PCI_BRIDGE (&Temp->Pci)) { + + // + // If the device has children, create a bridge resource node for this PPB + // Note: For PPB, memory aperture is aligned with 1MB and IO aperture + // is aligned with 4KB (smaller alignments may be supported). + // + IoBridge = CreateResourceNode ( + Temp, + 0, + Temp->BridgeIoAlignment, + PPB_IO_RANGE, + PciBarTypeIo16, + PciResUsageTypical + ); + + Mem32Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_MEM32_RANGE, + PciBarTypeMem32, + PciResUsageTypical + ); + + PMem32Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_PMEM32_RANGE, + PciBarTypePMem32, + PciResUsageTypical + ); + + Mem64Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_MEM64_RANGE, + PciBarTypeMem64, + PciResUsageTypical + ); + + PMem64Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_PMEM64_RANGE, + PciBarTypePMem64, + PciResUsageTypical + ); + + // + // Recursively create resource map on this bridge + // + CreateResourceMap ( + Temp, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge + ); + + if (ResourceRequestExisted (IoBridge)) { + InsertResourceNode ( + IoNode, + IoBridge + ); + } else { + FreePool (IoBridge); + IoBridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (Mem32Bridge)) { + InsertResourceNode ( + Mem32Node, + Mem32Bridge + ); + } else { + FreePool (Mem32Bridge); + Mem32Bridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (PMem32Bridge)) { + InsertResourceNode ( + PMem32Node, + PMem32Bridge + ); + } else { + FreePool (PMem32Bridge); + PMem32Bridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (Mem64Bridge)) { + InsertResourceNode ( + Mem64Node, + Mem64Bridge + ); + } else { + FreePool (Mem64Bridge); + Mem64Bridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (PMem64Bridge)) { + InsertResourceNode ( + PMem64Node, + PMem64Bridge + ); + } else { + FreePool (PMem64Bridge); + PMem64Bridge = NULL; + } + + } + + // + // If it is P2C, apply hard coded resource padding + // + if (IS_CARDBUS_BRIDGE (&Temp->Pci)) { + ResourcePaddingForCardBusBridge ( + Temp, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + // + // To do some platform specific resource padding ... + // + ResourcePaddingPolicy ( + Bridge, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + + // + // Degrade resource if necessary + // + DegradeResource ( + Bridge, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + + // + // Calculate resource aperture for this bridge device + // + CalculateResourceAperture (Mem32Node); + CalculateResourceAperture (PMem32Node); + CalculateResourceAperture (Mem64Node); + CalculateResourceAperture (PMem64Node); + CalculateResourceAperture (IoNode); +} + +/** + This function is used to do the resource padding for a specific platform. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingPolicy ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + // + // Create padding resource node + // + if (PciDev->ResourcePaddingDescriptors != NULL) { + ApplyResourcePadding ( + PciDev, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + } +} + +/** + This function is used to degrade resource if the upstream bridge + doesn't support certain resource. Degradation path is + PMEM64 -> MEM64 -> MEM32 + PMEM64 -> PMEM32 -> MEM32 + IO32 -> IO16. + + @param Bridge Pci device instance. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +DegradeResource ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + PCI_IO_DEVICE *PciIoDevice; + LIST_ENTRY *ChildDeviceLink; + LIST_ENTRY *ChildNodeLink; + LIST_ENTRY *NextChildNodeLink; + PCI_RESOURCE_NODE *ResourceNode; + + if (FeaturePcdGet (PcdPciDegradeResourceForOptionRom)) { + // + // If any child device has both option ROM and 64-bit BAR, degrade its PMEM64/MEM64 + // requests in case that if a legacy option ROM image can not access 64-bit resources. + // + ChildDeviceLink = Bridge->ChildList.ForwardLink; + while (ChildDeviceLink != NULL && ChildDeviceLink != &Bridge->ChildList) { + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (ChildDeviceLink); + if (PciIoDevice->RomSize != 0) { + if (!IsListEmpty (&Mem64Node->ChildList)) { + ChildNodeLink = Mem64Node->ChildList.ForwardLink; + while (ChildNodeLink != &Mem64Node->ChildList) { + ResourceNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); + NextChildNodeLink = ChildNodeLink->ForwardLink; + + if ((ResourceNode->PciDev == PciIoDevice) && + (ResourceNode->Virtual || !PciIoDevice->PciBar[ResourceNode->Bar].BarTypeFixed) + ) { + RemoveEntryList (ChildNodeLink); + InsertResourceNode (Mem32Node, ResourceNode); + } + ChildNodeLink = NextChildNodeLink; + } + } + + if (!IsListEmpty (&PMem64Node->ChildList)) { + ChildNodeLink = PMem64Node->ChildList.ForwardLink; + while (ChildNodeLink != &PMem64Node->ChildList) { + ResourceNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); + NextChildNodeLink = ChildNodeLink->ForwardLink; + + if ((ResourceNode->PciDev == PciIoDevice) && + (ResourceNode->Virtual || !PciIoDevice->PciBar[ResourceNode->Bar].BarTypeFixed) + ) { + RemoveEntryList (ChildNodeLink); + InsertResourceNode (PMem32Node, ResourceNode); + } + ChildNodeLink = NextChildNodeLink; + } + } + + } + ChildDeviceLink = ChildDeviceLink->ForwardLink; + } + } + + // + // If firmware is in 32-bit mode, + // then degrade PMEM64/MEM64 requests + // + if (sizeof (UINTN) <= 4) { + MergeResourceTree ( + Mem32Node, + Mem64Node, + TRUE + ); + + MergeResourceTree ( + PMem32Node, + PMem64Node, + TRUE + ); + } else { + // + // if the bridge does not support MEM64, degrade MEM64 to MEM32 + // + if (!BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_MEM64_DECODE_SUPPORTED)) { + MergeResourceTree ( + Mem32Node, + Mem64Node, + TRUE + ); + } + + // + // if the bridge does not support PMEM64, degrade PMEM64 to PMEM32 + // + if (!BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_PMEM64_DECODE_SUPPORTED)) { + MergeResourceTree ( + PMem32Node, + PMem64Node, + TRUE + ); + } + + // + // if both PMEM64 and PMEM32 requests from child devices, which can not be satisfied + // by a P2P bridge simultaneously, keep PMEM64 and degrade PMEM32 to MEM32. + // + if (!IsListEmpty (&PMem64Node->ChildList) && Bridge->Parent != NULL) { + MergeResourceTree ( + Mem32Node, + PMem32Node, + TRUE + ); + } + } + + // + // If bridge doesn't support Pmem32 + // degrade it to mem32 + // + if (!BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_PMEM32_DECODE_SUPPORTED)) { + MergeResourceTree ( + Mem32Node, + PMem32Node, + TRUE + ); + } + + // + // if root bridge supports combined Pmem Mem decoding + // merge these two type of resource + // + if (BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED)) { + MergeResourceTree ( + Mem32Node, + PMem32Node, + FALSE + ); + + // + // No need to check if to degrade MEM64 after merge, because + // if there are PMEM64 still here, 64-bit decode should be supported + // by the root bride. + // + MergeResourceTree ( + Mem64Node, + PMem64Node, + FALSE + ); + } +} + +/** + Test whether bridge device support decode resource. + + @param Bridge Bridge device instance. + @param Decode Decode type according to resource type. + + @return TRUE The bridge device support decode resource. + @return FALSE The bridge device don't support decode resource. + +**/ +BOOLEAN +BridgeSupportResourceDecode ( + IN PCI_IO_DEVICE *Bridge, + IN UINT32 Decode + ) +{ + if (((Bridge->Decodes) & Decode) != 0) { + return TRUE; + } + + return FALSE; +} + +/** + This function is used to program the resource allocated + for each resource node under specified bridge. + + @param Base Base address of resource to be programmed. + @param Bridge PCI resource node for the bridge device. + + @retval EFI_SUCCESS Successfully to program all resources + on given PCI bridge device. + @retval EFI_OUT_OF_RESOURCES Base is all one. + +**/ +EFI_STATUS +ProgramResource ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Node; + EFI_STATUS Status; + + if (Base == gAllOne) { + return EFI_OUT_OF_RESOURCES; + } + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != &Bridge->ChildList) { + + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci))) { + + if (IS_CARDBUS_BRIDGE (&(Node->PciDev->Pci))) { + // + // Program the PCI Card Bus device + // + ProgramP2C (Base, Node); + } else { + // + // Program the PCI device BAR + // + ProgramBar (Base, Node); + } + } else { + // + // Program the PCI devices under this bridge + // + Status = ProgramResource (Base + Node->Offset, Node); + if (EFI_ERROR (Status)) { + return Status; + } + + ProgramPpbApperture (Base, Node); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_SUCCESS; +} + +/** + Program Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +VOID +ProgramBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT32 Address32; + + ASSERT (Node->Bar < PCI_MAX_BAR); + + // + // Check VF BAR + // + if (Node->Virtual) { + ProgramVfBar (Base, Node); + return; + } + + Address = 0; + PciIo = &(Node->PciDev->PciIo); + + Address = Base + Node->Offset; + + // + // Indicate pci bus driver has allocated + // resource for this device + // It might be a temporary solution here since + // pci device could have multiple bar + // + Node->PciDev->Allocated = TRUE; + + switch ((Node->PciDev->PciBar[Node->Bar]).BarType) { + + case PciBarTypeIo16: + case PciBarTypeIo32: + case PciBarTypeMem32: + case PciBarTypePMem32: + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address + ); + // + // Continue to the case PciBarTypeOpRom to set the BaseAddress. + // PciBarTypeOpRom is a virtual BAR only in root bridge, to capture + // the MEM32 resource requirement for Option ROM shadow. + // + + case PciBarTypeOpRom: + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + + break; + + case PciBarTypeMem64: + case PciBarTypePMem64: + + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4), + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + + break; + + default: + break; + } +} + +/** + Program IOV VF Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +EFI_STATUS +ProgramVfBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT32 Address32; + + ASSERT (Node->Bar < PCI_MAX_BAR); + ASSERT (Node->Virtual); + + Address = 0; + PciIo = &(Node->PciDev->PciIo); + + Address = Base + Node->Offset; + + // + // Indicate pci bus driver has allocated + // resource for this device + // It might be a temporary solution here since + // pci device could have multiple bar + // + Node->PciDev->Allocated = TRUE; + + switch ((Node->PciDev->VfPciBar[Node->Bar]).BarType) { + + case PciBarTypeMem32: + case PciBarTypePMem32: + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->VfPciBar[Node->Bar]).Offset, + 1, + &Address + ); + + Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address; + break; + + case PciBarTypeMem64: + case PciBarTypePMem64: + + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->VfPciBar[Node->Bar]).Offset, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + ((Node->PciDev->VfPciBar[Node->Bar]).Offset + 4), + 1, + &Address32 + ); + + Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address; + break; + + case PciBarTypeIo16: + case PciBarTypeIo32: + break; + + default: + break; + } + + return EFI_SUCCESS; +} + +/** + Program PCI-PCI bridge aperture. + + @param Base Base address for resource. + @param Node Point to resource node structure. + +**/ +VOID +ProgramPpbApperture ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT32 Address32; + + Address = 0; + // + // If no device resource of this PPB, return anyway + // Aperture is set default in the initialization code + // + if (Node->Length == 0 || Node->ResourceUsage == PciResUsagePadding) { + // + // For padding resource node, just ignore when programming + // + return ; + } + + PciIo = &(Node->PciDev->PciIo); + Address = Base + Node->Offset; + + // + // Indicate the PPB resource has been allocated + // + Node->PciDev->Allocated = TRUE; + + switch (Node->Bar) { + + case PPB_BAR_0: + case PPB_BAR_1: + switch ((Node->PciDev->PciBar[Node->Bar]).BarType) { + + case PciBarTypeIo16: + case PciBarTypeIo32: + case PciBarTypeMem32: + case PciBarTypePMem32: + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case PciBarTypeMem64: + case PciBarTypePMem64: + + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4), + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + default: + break; + } + break; + + case PPB_IO_RANGE: + + Address32 = ((UINT32) (Address)) >> 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint8, + 0x1C, + 1, + &Address32 + ); + + Address32 >>= 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x30, + 1, + &Address32 + ); + + Address32 = (UINT32) (Address + Node->Length - 1); + Address32 = ((UINT32) (Address32)) >> 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint8, + 0x1D, + 1, + &Address32 + ); + + Address32 >>= 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x32, + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case PPB_MEM32_RANGE: + + Address32 = ((UINT32) (Address)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x20, + 1, + &Address32 + ); + + Address32 = (UINT32) (Address + Node->Length - 1); + Address32 = ((UINT32) (Address32)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x22, + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case PPB_PMEM32_RANGE: + case PPB_PMEM64_RANGE: + + Address32 = ((UINT32) (Address)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x24, + 1, + &Address32 + ); + + Address32 = (UINT32) (Address + Node->Length - 1); + Address32 = ((UINT32) (Address32)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x26, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + 0x28, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 ((Address + Node->Length - 1), 32); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + 0x2C, + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + default: + break; + } +} + +/** + Program parent bridge for Option Rom. + + @param PciDevice Pci device instance. + @param OptionRomBase Base address for Option Rom. + @param Enable Enable or disable PCI memory. + +**/ +VOID +ProgramUpstreamBridgeForRom ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT32 OptionRomBase, + IN BOOLEAN Enable + ) +{ + PCI_IO_DEVICE *Parent; + EFI_PCI_IO_PROTOCOL *PciIo; + UINT16 Base; + UINT16 Limit; + // + // For root bridge, just return. + // + Parent = PciDevice->Parent; + while (Parent != NULL) { + if (!IS_PCI_BRIDGE (&Parent->Pci)) { + break; + } + + PciIo = &Parent->PciIo; + + // + // Program PPB to only open a single <= 16MB aperture + // + if (Enable) { + // + // Only cover MMIO for Option ROM. + // + Base = (UINT16) (OptionRomBase >> 16); + Limit = (UINT16) ((OptionRomBase + PciDevice->RomSize - 1) >> 16); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryBase), 1, &Base); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryLimit), 1, &Limit); + + PCI_ENABLE_COMMAND_REGISTER (Parent, EFI_PCI_COMMAND_MEMORY_SPACE); + } else { + // + // Cover 32bit MMIO for devices below the bridge. + // + if (Parent->PciBar[PPB_MEM32_RANGE].Length == 0) { + // + // When devices under the bridge contains Option ROM and doesn't require 32bit MMIO. + // + Base = (UINT16) gAllOne; + Limit = (UINT16) gAllZero; + } else { + Base = (UINT16) ((UINT32) Parent->PciBar[PPB_MEM32_RANGE].BaseAddress >> 16); + Limit = (UINT16) ((UINT32) (Parent->PciBar[PPB_MEM32_RANGE].BaseAddress + + Parent->PciBar[PPB_MEM32_RANGE].Length - 1) >> 16); + } + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryBase), 1, &Base); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryLimit), 1, &Limit); + + PCI_DISABLE_COMMAND_REGISTER (Parent, EFI_PCI_COMMAND_MEMORY_SPACE); + } + + Parent = Parent->Parent; + } +} + +/** + Test whether resource exists for a bridge. + + @param Bridge Point to resource node for a bridge. + + @retval TRUE There is resource on the given bridge. + @retval FALSE There isn't resource on the given bridge. + +**/ +BOOLEAN +ResourceRequestExisted ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + if (Bridge != NULL) { + if (!IsListEmpty (&Bridge->ChildList) || Bridge->Length != 0) { + return TRUE; + } + } + + return FALSE; +} + +/** + Initialize resource pool structure. + + @param ResourcePool Point to resource pool structure. This pool + is reset to all zero when returned. + @param ResourceType Type of resource. + +**/ +VOID +InitializeResourcePool ( + IN OUT PCI_RESOURCE_NODE *ResourcePool, + IN PCI_BAR_TYPE ResourceType + ) +{ + ZeroMem (ResourcePool, sizeof (PCI_RESOURCE_NODE)); + ResourcePool->ResType = ResourceType; + ResourcePool->Signature = PCI_RESOURCE_SIGNATURE; + InitializeListHead (&ResourcePool->ChildList); +} + +/** + Destroy given resource tree. + + @param Bridge PCI resource root node of resource tree. + +**/ +VOID +DestroyResourceTree ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + PCI_RESOURCE_NODE *Temp; + LIST_ENTRY *CurrentLink; + + while (!IsListEmpty (&Bridge->ChildList)) { + + CurrentLink = Bridge->ChildList.ForwardLink; + + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + ASSERT (Temp); + + RemoveEntryList (CurrentLink); + + if (IS_PCI_BRIDGE (&(Temp->PciDev->Pci))) { + DestroyResourceTree (Temp); + } + + FreePool (Temp); + } +} + +/** + Insert resource padding for P2C. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingForCardBusBridge ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + PCI_RESOURCE_NODE *Node; + + Node = NULL; + + // + // Memory Base/Limit Register 0 + // Bar 1 decodes memory range 0 + // + Node = CreateResourceNode ( + PciDev, + 0x2000000, + 0x1ffffff, + 1, + PciBarTypeMem32, + PciResUsagePadding + ); + + InsertResourceNode ( + Mem32Node, + Node + ); + + // + // Memory Base/Limit Register 1 + // Bar 2 decodes memory range1 + // + Node = CreateResourceNode ( + PciDev, + 0x2000000, + 0x1ffffff, + 2, + PciBarTypePMem32, + PciResUsagePadding + ); + + InsertResourceNode ( + PMem32Node, + Node + ); + + // + // Io Base/Limit + // Bar 3 decodes io range 0 + // + Node = CreateResourceNode ( + PciDev, + 0x100, + 0xff, + 3, + PciBarTypeIo16, + PciResUsagePadding + ); + + InsertResourceNode ( + IoNode, + Node + ); + + // + // Io Base/Limit + // Bar 4 decodes io range 0 + // + Node = CreateResourceNode ( + PciDev, + 0x100, + 0xff, + 4, + PciBarTypeIo16, + PciResUsagePadding + ); + + InsertResourceNode ( + IoNode, + Node + ); +} + +/** + Program PCI Card device register for given resource node. + + @param Base Base address of PCI Card device to be programmed. + @param Node Given resource node. + +**/ +VOID +ProgramP2C ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT64 TempAddress; + UINT16 BridgeControl; + + Address = 0; + PciIo = &(Node->PciDev->PciIo); + + Address = Base + Node->Offset; + + // + // Indicate pci bus driver has allocated + // resource for this device + // It might be a temporary solution here since + // pci device could have multiple bar + // + Node->PciDev->Allocated = TRUE; + + switch (Node->Bar) { + + case P2C_BAR_0: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case P2C_MEM_1: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_0, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_LIMIT_0, + 1, + &TempAddress + ); + + if (Node->ResType == PciBarTypeMem32) { + // + // Set non-prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl &= (UINT16) ~PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + } else { + // + // Set prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl |= PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + } + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + + break; + + case P2C_MEM_2: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_1, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_LIMIT_1, + 1, + &TempAddress + ); + + if (Node->ResType == PciBarTypeMem32) { + + // + // Set non-prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl &= (UINT16) ~(PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + } else { + + // + // Set prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl |= PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + } + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + break; + + case P2C_IO_1: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_0_LOWER, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_LIMIT_0_LOWER, + 1, + &TempAddress + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + + break; + + case P2C_IO_2: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_1_LOWER, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_LIMIT_1_LOWER, + 1, + &TempAddress + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + break; + + default: + break; + } +} + +/** + Create padding resource node. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ApplyResourcePadding ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + PCI_RESOURCE_NODE *Node; + UINT8 DummyBarIndex; + + DummyBarIndex = 0; + Ptr = PciDev->ResourcePaddingDescriptors; + + while (((EFI_ACPI_END_TAG_DESCRIPTOR *) Ptr)->Desc != ACPI_END_TAG_DESCRIPTOR) { + + if (Ptr->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Ptr->ResType == ACPI_ADDRESS_SPACE_TYPE_IO) { + if (Ptr->AddrLen != 0) { + + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypeIo16, + PciResUsagePadding + ); + InsertResourceNode ( + IoNode, + Node + ); + } + + Ptr++; + continue; + } + + if (Ptr->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Ptr->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { + + if (Ptr->AddrSpaceGranularity == 32) { + + // + // prefetchable + // + if (Ptr->SpecificFlag == 0x6) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypePMem32, + PciResUsagePadding + ); + InsertResourceNode ( + PMem32Node, + Node + ); + } + + Ptr++; + continue; + } + + // + // Non-prefetchable + // + if (Ptr->SpecificFlag == 0) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypeMem32, + PciResUsagePadding + ); + InsertResourceNode ( + Mem32Node, + Node + ); + } + + Ptr++; + continue; + } + } + + if (Ptr->AddrSpaceGranularity == 64) { + + // + // prefetchable + // + if (Ptr->SpecificFlag == 0x6) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypePMem64, + PciResUsagePadding + ); + InsertResourceNode ( + PMem64Node, + Node + ); + } + + Ptr++; + continue; + } + + // + // Non-prefetchable + // + if (Ptr->SpecificFlag == 0) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypeMem64, + PciResUsagePadding + ); + InsertResourceNode ( + Mem64Node, + Node + ); + } + + Ptr++; + continue; + } + } + } + + Ptr++; + } +} + +/** + Get padding resource for PCI-PCI bridge. + + @param PciIoDevice PCI-PCI bridge device instance. + + @note Feature flag PcdPciBusHotplugDeviceSupport determines + whether need to pad resource for them. +**/ +VOID +GetResourcePaddingPpb ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + if (PciIoDevice->ResourcePaddingDescriptors == NULL) { + GetResourcePaddingForHpb (PciIoDevice); + } + } +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h new file mode 100644 index 0000000000..2a33f77e55 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h @@ -0,0 +1,456 @@ +/** @file + PCI resources support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_RESOURCE_SUPPORT_H_ +#define _EFI_PCI_RESOURCE_SUPPORT_H_ + +typedef enum { + PciResUsageTypical, + PciResUsagePadding +} PCI_RESOURCE_USAGE; + +#define PCI_RESOURCE_SIGNATURE SIGNATURE_32 ('p', 'c', 'r', 'c') + +typedef struct { + UINT32 Signature; + LIST_ENTRY Link; + LIST_ENTRY ChildList; + PCI_IO_DEVICE *PciDev; + UINT64 Alignment; + UINT64 Offset; + UINT8 Bar; + PCI_BAR_TYPE ResType; + UINT64 Length; + BOOLEAN Reserved; + PCI_RESOURCE_USAGE ResourceUsage; + BOOLEAN Virtual; +} PCI_RESOURCE_NODE; + +#define RESOURCE_NODE_FROM_LINK(a) \ + CR (a, PCI_RESOURCE_NODE, Link, PCI_RESOURCE_SIGNATURE) + +/** + The function is used to skip VGA range. + + @param Start Returned start address including VGA range. + @param Length The length of VGA range. + +**/ +VOID +SkipVGAAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ); + +/** + This function is used to skip ISA aliasing aperture. + + @param Start Returned start address including ISA aliasing aperture. + @param Length The length of ISA aliasing aperture. + +**/ +VOID +SkipIsaAliasAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ); + +/** + This function inserts a resource node into the resource list. + The resource list is sorted in descend order. + + @param Bridge PCI resource node for bridge. + @param ResNode Resource node want to be inserted. + +**/ +VOID +InsertResourceNode ( + IN OUT PCI_RESOURCE_NODE *Bridge, + IN PCI_RESOURCE_NODE *ResNode + ); + +/** + This routine is used to merge two different resource trees in need of + resource degradation. + + For example, if an upstream PPB doesn't support, + prefetchable memory decoding, the PCI bus driver will choose to call this function + to merge prefetchable memory resource list into normal memory list. + + If the TypeMerge is TRUE, Res resource type is changed to the type of destination resource + type. + If Dst is NULL or Res is NULL, ASSERT (). + + @param Dst Point to destination resource tree. + @param Res Point to source resource tree. + @param TypeMerge If the TypeMerge is TRUE, Res resource type is changed to the type of + destination resource type. + +**/ +VOID +MergeResourceTree ( + IN PCI_RESOURCE_NODE *Dst, + IN PCI_RESOURCE_NODE *Res, + IN BOOLEAN TypeMerge + ); + +/** + This function is used to calculate the IO16 aperture + for a bridge. + + @param Bridge PCI resource node for bridge. + +**/ +VOID +CalculateApertureIo16 ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + This function is used to calculate the resource aperture + for a given bridge device. + + @param Bridge PCI resource node for given bridge device. + +**/ +VOID +CalculateResourceAperture ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Get IO/Memory resource info for given PCI device. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO . + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +GetResourceFromDevice ( + IN PCI_IO_DEVICE *PciDev, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ); + +/** + This function is used to create a resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ); + +/** + This function is used to create a IOV VF resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given VF PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateVfResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ); + +/** + This function is used to extract resource request from + device node list. + + @param Bridge Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +CreateResourceMap ( + IN PCI_IO_DEVICE *Bridge, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ); + +/** + This function is used to do the resource padding for a specific platform. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingPolicy ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + This function is used to degrade resource if the upstream bridge + doesn't support certain resource. Degradation path is + PMEM64 -> MEM64 -> MEM32 + PMEM64 -> PMEM32 -> MEM32 + IO32 -> IO16. + + @param Bridge Pci device instance. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +DegradeResource ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + Test whether bridge device support decode resource. + + @param Bridge Bridge device instance. + @param Decode Decode type according to resource type. + + @return TRUE The bridge device support decode resource. + @return FALSE The bridge device don't support decode resource. + +**/ +BOOLEAN +BridgeSupportResourceDecode ( + IN PCI_IO_DEVICE *Bridge, + IN UINT32 Decode + ); + +/** + This function is used to program the resource allocated + for each resource node under specified bridge. + + @param Base Base address of resource to be programmed. + @param Bridge PCI resource node for the bridge device. + + @retval EFI_SUCCESS Successfully to program all resources + on given PCI bridge device. + @retval EFI_OUT_OF_RESOURCES Base is all one. + +**/ +EFI_STATUS +ProgramResource ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Program Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +VOID +ProgramBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Program IOV VF Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +EFI_STATUS +ProgramVfBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Program PCI-PCI bridge aperture. + + @param Base Base address for resource. + @param Node Point to resource node structure. + +**/ +VOID +ProgramPpbApperture ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Program parent bridge for Option Rom. + + @param PciDevice Pci device instance. + @param OptionRomBase Base address for Option Rom. + @param Enable Enable or disable PCI memory. + +**/ +VOID +ProgramUpstreamBridgeForRom ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT32 OptionRomBase, + IN BOOLEAN Enable + ); + +/** + Test whether resource exists for a bridge. + + @param Bridge Point to resource node for a bridge. + + @retval TRUE There is resource on the given bridge. + @retval FALSE There isn't resource on the given bridge. + +**/ +BOOLEAN +ResourceRequestExisted ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Initialize resource pool structure. + + @param ResourcePool Point to resource pool structure. This pool + is reset to all zero when returned. + @param ResourceType Type of resource. + +**/ +VOID +InitializeResourcePool ( + IN OUT PCI_RESOURCE_NODE *ResourcePool, + IN PCI_BAR_TYPE ResourceType + ); + +/** + Destroy given resource tree. + + @param Bridge PCI resource root node of resource tree. + +**/ +VOID +DestroyResourceTree ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Insert resource padding for P2C. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingForCardBusBridge ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + Program PCI Card device register for given resource node. + + @param Base Base address of PCI Card device to be programmed. + @param Node Given resource node. + +**/ +VOID +ProgramP2C ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Create padding resource node. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ApplyResourcePadding ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + Get padding resource for PCI-PCI bridge. + + @param PciIoDevice PCI-PCI bridge device instance. + + @note Feature flag PcdPciBusHotplugDeviceSupport determines + whether need to pad resource for them. +**/ +VOID +GetResourcePaddingPpb ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c new file mode 100644 index 0000000000..507aed5cfe --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c @@ -0,0 +1,135 @@ +/** @file + Set up ROM Table for PCI Bus module. + +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// PCI ROM image information +// +typedef struct { + EFI_HANDLE ImageHandle; + UINTN Seg; + UINT8 Bus; + UINT8 Dev; + UINT8 Func; + VOID *RomImage; + UINT64 RomSize; +} PCI_ROM_IMAGE; + +UINTN mNumberOfPciRomImages = 0; +UINTN mMaxNumberOfPciRomImages = 0; +PCI_ROM_IMAGE *mRomImageTable = NULL; + +/** + Add the Rom Image to internal database for later PCI light enumeration. + + @param ImageHandle Option Rom image handle. + @param Seg Segment of PCI space. + @param Bus Bus NO of PCI space. + @param Dev Dev NO of PCI space. + @param Func Func NO of PCI space. + @param RomImage Option Rom buffer. + @param RomSize Size of Option Rom buffer. +**/ +VOID +PciRomAddImageMapping ( + IN EFI_HANDLE ImageHandle, + IN UINTN Seg, + IN UINT8 Bus, + IN UINT8 Dev, + IN UINT8 Func, + IN VOID *RomImage, + IN UINT64 RomSize + ) +{ + UINTN Index; + PCI_ROM_IMAGE *NewTable; + + for (Index = 0; Index < mNumberOfPciRomImages; Index++) { + if (mRomImageTable[Index].Seg == Seg && + mRomImageTable[Index].Bus == Bus && + mRomImageTable[Index].Dev == Dev && + mRomImageTable[Index].Func == Func) { + // + // Expect once RomImage and RomSize are recorded, they will be passed in + // later when updating ImageHandle + // + ASSERT ((mRomImageTable[Index].RomImage == NULL) || (RomImage == mRomImageTable[Index].RomImage)); + ASSERT ((mRomImageTable[Index].RomSize == 0 ) || (RomSize == mRomImageTable[Index].RomSize )); + break; + } + } + + if (Index == mNumberOfPciRomImages) { + // + // Rom Image Table buffer needs to grow. + // + if (mNumberOfPciRomImages == mMaxNumberOfPciRomImages) { + NewTable = ReallocatePool ( + mMaxNumberOfPciRomImages * sizeof (PCI_ROM_IMAGE), + (mMaxNumberOfPciRomImages + 0x20) * sizeof (PCI_ROM_IMAGE), + mRomImageTable + ); + if (NewTable == NULL) { + return ; + } + + mRomImageTable = NewTable; + mMaxNumberOfPciRomImages += 0x20; + } + // + // Record the new PCI device + // + mRomImageTable[Index].Seg = Seg; + mRomImageTable[Index].Bus = Bus; + mRomImageTable[Index].Dev = Dev; + mRomImageTable[Index].Func = Func; + mNumberOfPciRomImages++; + } + + mRomImageTable[Index].ImageHandle = ImageHandle; + mRomImageTable[Index].RomImage = RomImage; + mRomImageTable[Index].RomSize = RomSize; +} + +/** + Get Option rom driver's mapping for PCI device. + + @param PciIoDevice Device instance. + + @retval TRUE Found Image mapping. + @retval FALSE Cannot found image mapping. + +**/ +BOOLEAN +PciRomGetImageMapping ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + UINTN Index; + + PciRootBridgeIo = PciIoDevice->PciRootBridgeIo; + + for (Index = 0; Index < mNumberOfPciRomImages; Index++) { + if (mRomImageTable[Index].Seg == PciRootBridgeIo->SegmentNumber && + mRomImageTable[Index].Bus == PciIoDevice->BusNumber && + mRomImageTable[Index].Dev == PciIoDevice->DeviceNumber && + mRomImageTable[Index].Func == PciIoDevice->FunctionNumber ) { + + if (mRomImageTable[Index].ImageHandle != NULL) { + AddDriver (PciIoDevice, mRomImageTable[Index].ImageHandle, NULL); + } + PciIoDevice->PciIo.RomImage = mRomImageTable[Index].RomImage; + PciIoDevice->PciIo.RomSize = mRomImageTable[Index].RomSize; + return TRUE; + } + } + + return FALSE; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h new file mode 100644 index 0000000000..fb356bd6de --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h @@ -0,0 +1,48 @@ +/** @file + Set up ROM Table for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_ROM_TABLE_H_ +#define _EFI_PCI_ROM_TABLE_H_ + +/** + Add the Rom Image to internal database for later PCI light enumeration. + + @param ImageHandle Option Rom image handle. + @param Seg Segment of PCI space. + @param Bus Bus NO of PCI space. + @param Dev Dev NO of PCI space. + @param Func Func NO of PCI space. + @param RomImage Option Rom buffer. + @param RomSize Size of Option Rom buffer. +**/ +VOID +PciRomAddImageMapping ( + IN EFI_HANDLE ImageHandle, + IN UINTN Seg, + IN UINT8 Bus, + IN UINT8 Dev, + IN UINT8 Func, + IN VOID *RomImage, + IN UINT64 RomSize + ); + +/** + Get Option rom driver's mapping for PCI device. + + @param PciIoDevice Device instance. + + @retval TRUE Found Image mapping. + @retval FALSE Cannot found image mapping. + +**/ +BOOLEAN +PciRomGetImageMapping ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot 2021-06-17 0:51 [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Nate DeSimone ` (4 preceding siblings ...) 2021-06-17 0:51 ` [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver Nate DeSimone @ 2021-06-25 18:57 ` Oram, Isaac W 2021-06-29 14:32 ` [EXTERNAL] " manickavasakam karpagavinayagam 5 siblings, 1 reply; 11+ messages in thread From: Oram, Isaac W @ 2021-06-25 18:57 UTC (permalink / raw) To: Desimone, Nathaniel L, devel@edk2.groups.io Cc: KARPAGAVINAYAGAM, MANICKAVASAKAM, Felix Polyudov, DOPPALAPUDI, HARIKRISHNA, Jha, Manish, Bobroff, Zachary Manic, I don't think that there is much value in having two different flash maps for LinuxBoot enabled or disabled. It strikes me as unnecessary code to maintain. LinuxKernel.inf is missing a properly formatted file header. LinuxBoot.c should be run through code style compliance tools. Also there is unnecessary commented out code and things like #if 1 that should be removed. LinuxBoot.h has tabs in the source disrupting structure layout and not following coding style. Please rename LinuxBootPkg as it is not an edk2 package and the name is a bit misleading. We should do an RFC to talk about the various LinuxBoot integrations that we see across the community and maybe discuss at the design meeting. I think you are fine to commit this version as it is fairly specific to your use case, so that design discussion shouldn't block this fix. Regards, Isaac -----Original Message----- From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> Sent: Wednesday, June 16, 2021 5:52 PM To: devel@edk2.groups.io Cc: KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Felix Polyudov <Felixp@ami.com>; DOPPALAPUDI, HARIKRISHNA <harikrishnad@ami.com>; Jha, Manish <manishj@ami.com>; Bobroff, Zachary <zacharyb@ami.com> Subject: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot From: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> Support for LINUX Boot To enable/disable feature, PcdLinuxBootEnable can be used 1. Follow directions on http://osresearch.net/Building/ to compile the heads kernel and initrd for qemu-system_x86_64 2. Copy the following built files (1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz (2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../BoardTiogaPass/CoreDxeInclude.dsc | 5 +- .../BoardTiogaPass/CoreUefiBootInclude.fdf | 5 +- .../BoardTiogaPass/OpenBoardPkg.dsc | 7 + .../BoardTiogaPass/OpenBoardPkg.fdf | 57 ++- .../BoardTiogaPass/PlatformPkgConfig.dsc | 7 + .../LinuxBinaries/LinuxKernel.inf | 9 + .../LinuxBootPkg/LinuxBinaries/initrd.cpio.xz | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBinaries/linux.efi | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBoot.c | 422 ++++++++++++++++++ .../LinuxBootPkg/LinuxBoot.h | 193 ++++++++ .../LinuxBootPkg/LinuxBoot.inf | 46 ++ .../LinuxBootPkg/LinuxBootNull.c | 43 ++ .../LinuxBootPkg/LinuxBootNull.inf | 31 ++ .../Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec | 2 + .../DxePlatformBootManagerLib/BdsPlatform.c | 9 + .../DxePlatformBootManagerLib.inf | 2 + Platform/Intel/Readme.md | 42 ++ 17 files changed, 872 insertions(+), 8 deletions(-) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc index b0660d72dd..a17015704b 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.ds +++ c @@ -83,6 +83,7 @@ $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -97,10 +98,11 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf - +!endif #MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -124,6 +126,7 @@ <LibraryClasses> PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf } +!endif !if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == FALSE MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf index 141ce5dda3..6cd8ba6626 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclu +++ de.fdf @@ -47,6 +47,7 @@ INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf INF $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -62,10 +63,12 @@ INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF FatPkg/EnhancedFatDxe/Fat.inf +!endif #INF MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -79,4 +82,4 @@ INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf - +!endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc index e4c8e7fbf1..06ed3f610e 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc @@ -104,6 +104,13 @@ ################################################################################ [LibraryClasses.common] +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBoot.inf + LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf +!else + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBootNull.inf +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == FALSE PlatformBootManagerLib|$(PLATFORM_PACKAGE)/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf !else diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf index 43cd8d94e1..adbf28a936 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf @@ -19,6 +19,38 @@ # Also all values will have a PCD assigned so that they can be used in the system, and # the FlashMap edit tool can be used to change the values here, without effecting the code. # This requires all code to only use the PCD tokens to recover the values. +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00300000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00400000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00500000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00600000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00600000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!else + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00500000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00500000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00600000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00700000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00200000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00900000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!endif + [FD.Platform] BaseAddress = 0xFF000000 | gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress @@ -27,27 +59,27 @@ ErasePolarity = 1 BlockSize = 0x10000 NumBlocks = 0x100 -0x00000000|0x00500000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvAdvancedSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize FV = FvAdvanced -0x00500000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvSecuritySize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize FV = FvSecurity -0x00600000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset|gMinPlatformPkgTok +enSpaceGuid.PcdFlashFvOsBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize FV = FvOsBoot -0x00700000|0x00200000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset|gMinPlatformPkgToken +SpaceGuid.PcdFlashFvFspUSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize FV = FvLateSiliconCompressed -0x00900000|0x00300000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvUefiBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize FV = FvUefiBoot -0x00C00000|0x0007C000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset|gEfiMdeMo +dulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize #NV_VARIABLE_STORE DATA = { @@ -303,6 +335,19 @@ FILE DRIVER = db90bb7e-e4ba-4f07-96d6-b7076713bd2c { INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +FILE DRIVER = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 { + SECTION DXE_DEPEX_EXP = {FALSE} + SECTION PE32 = +$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/linux.efi +} + +FILE FREEFORM = 16b60e5d-f1c5-42f0-9b34-08C81C430473 { + SECTION RAW = +$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +} + +!endif + [FV.FvUefiBoot] FvAlignment = 16 diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc index 36a29c8d68..ff27252233 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig +++ .dsc @@ -51,7 +51,14 @@ gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable|TRUE + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE + +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + gPlatformTokenSpaceGuid.PcdFastBoot|TRUE +!else gPlatformTokenSpaceGuid.PcdFastBoot|FALSE +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == TRUE gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|FALSE diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf new file mode 100644 index 0000000000..a249027d22 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/Linux +++ Kernel.inf @@ -0,0 +1,9 @@ +[Defines] + INF_VERSION = 1.27 + BASE_NAME = LinuxKernel + FILE_GUID = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + +[Binaries.common.AARCH64] + PE32|linux.efi|* diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c new file mode 100644 index 0000000000..eec05824d6 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c @@ -0,0 +1,422 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------- +------ + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/DebugLib.h> +#include <Library/UefiRuntimeServicesTableLib.h> +#include <Library/MemoryAllocationLib.h> #include +<Library/UefiBootServicesTableLib.h> +#include <Guid/DxeServices.h> +#include <Library/DxeServicesTableLib.h> #include <Library/UefiLib.h> +#include <Protocol/FirmwareVolume2.h> #include <Protocol/LoadedImage.h> +#include <Guid/MemoryTypeInformation.h> #include <Pi/PiDxeCis.h> +#include <Pi/PiHob.h> #include <Library/PcdLib.h> #include +<Library/DxeServicesLib.h> #include "LinuxBoot.h" + +//16b60e5d-f1c5-42f0-9b34-08C81C430473 +#define LINUX_BOOT_INITRD_GUID \ + { \ + 0x16b60e5d, 0xf1c5, 0x42f0, {0x9b, 0x34, 0x08, 0xc8, 0x1c, 0x43, +0x04, 0x73} \ + } + +#define LINUX_BOOT_KERNEL_GUID \ + { \ + 0x81339b04, 0xfa8c, 0x4be0, {0x9c, 0xa7, 0x91, 0x6f, 0xc5, 0x31, +0x9e, 0xb5} \ + } + + +EFI_STATUS +EFIAPI +LoadLinuxCheckKernelSetup ( + IN VOID *KernelSetup, + IN UINTN KernelSetupSize + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelSetupPages ( + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxInitializeKernelSetup ( + IN VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxSetCommandLine ( + IN OUT VOID *KernelSetup, + IN CHAR8 *CommandLine + ); + +EFI_STATUS +EFIAPI +LoadLinux ( + IN VOID *Kernel, + IN OUT VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateInitrdPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_GUID gLinuxBootInitrdFileGuid = LINUX_BOOT_INITRD_GUID; + +EFI_GUID gLinuxBootKernelFileGuid = LINUX_BOOT_KERNEL_GUID; + +//--------------------------------------------------------------------- +------ + +/** + Dump some hexadecimal data to the screen. + + @note Function taken from + ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c in EDKII + + @param[in] Indent How many spaces to indent the output. + @param[in] Offset The offset of the printing. + @param[in] DataSize The size in bytes of UserData. + @param[in] UserData The data to print out. +**/ +static +VOID +DumpHex ( + IN UINTN Indent, + IN UINTN Offset, + IN UINTN DataSize, + IN VOID *UserData + ) +{ + UINT8 *Data; + CHAR8 Val[50]; + CHAR8 Str[20]; + UINT8 TempByte; + UINTN Size; + UINTN Index; + CHAR8 Hex[] = { + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' + }; + + DEBUG((DEBUG_INFO, "%*a 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F\n", Indent, "")); + DEBUG((DEBUG_INFO, "%*a ------------------------------------------------\n", Indent, "")); + + Data = UserData; + while (DataSize != 0) { + Size = 16; + if (Size > DataSize) { + Size = DataSize; + } + + for (Index = 0; Index < Size; Index += 1) { + TempByte = Data[Index]; + Val[Index * 3 + 0] = Hex[TempByte >> 4]; + Val[Index * 3 + 1] = Hex[TempByte & 0xF]; + Val[Index * 3 + 2] = (CHAR8) ((Index == 7) ? '-' : ' '); + Str[Index] = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte); + } + + Val[Index * 3] = 0; + Str[Index] = 0; + DEBUG((DEBUG_INFO, "%*a%08X: %-48a %a\n", Indent, "", Offset, Val, + Str)); + + Data += Size; + Offset += Size; + DataSize -= Size; + } +} + + +/** + * This function completes a minimal amount of the necessary BDS +functions to prepare + * for booting the kernel. + * + * @param None + * + * @retval EFI_SUCCESS Successfully completed remaining tasks + * @return EFI_ERROR Could not complete BDS tasks + */ +EFI_STATUS +CompleteBdsTasks ( + VOID +) +{ + + return EFI_SUCCESS; +} + +/** + * This function will load and launch the Linux kernel from a BIOS FV. + * + * @note This function is not intended to return. Any exiting from this function indicates + * a problem loading or launching the kernel. + * + * @param None + * + * @return EFI_ERROR Any error code + */ +EFI_STATUS +LoadAndLaunchKernel ( + VOID +) +{ + EFI_LOADED_IMAGE_PROTOCOL *LoadedImage = NULL; + EFI_STATUS Status; + EFI_HANDLE KernelHandle = NULL; + VOID *KernelBuffer = NULL; + VOID *KernelFfsBuffer = NULL; + UINTN KernelFfsSize = 0; + VOID *InitrdData = NULL; + VOID *InitrdBuffer = NULL; + UINTN InitrdSize = 0; + struct boot_params *BootParams = NULL; + struct boot_params *HandoverParams = NULL; + UINT32 StartOffset = 0; + UINT32 KernelLength = 0; + UINT8 *Temp; + UINT8 CmdLine[] = " "; + + DEBUG((DEBUG_INFO, "LoadAndLaunchKernel Entry\n")); + + /// + /// Kernel load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the kernel...\n")); + + // Retrieve the kernel from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootKernelFileGuid, + EFI_SECTION_PE32, + 0, + &KernelFfsBuffer, + &KernelFfsSize + ); + + DEBUG((DEBUG_INFO, "Status %r\n",Status)); + DEBUG((DEBUG_INFO, "KernelFfsBuffer %x\n",KernelFfsBuffer)); + DEBUG((DEBUG_INFO, "KernelFfsSize %x\n",KernelFfsSize)); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve kernel; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded kernel to buffer at 0x%p with size 0x%X.\n", KernelFfsBuffer, KernelFfsSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", + MIN(KernelFfsSize, 0x100))); + + DumpHex(2, 0, MIN(0x100, KernelFfsSize), KernelFfsBuffer); + + // Create a LoadImage protocol for the kernel + Status = gBS->LoadImage(TRUE, gImageHandle, NULL, KernelFfsBuffer, KernelFfsSize, &KernelHandle); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not create LoadImage for kernel %r\n", Status)); + goto FatalError; + } + + // Get the new LoadedImage protocol to retrieve information about the kernel + Status = gBS->HandleProtocol(KernelHandle, &gEfiLoadedImageProtocolGuid, (VOID **) &LoadedImage); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not get kernel LoadedImage protocol; %r\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Kernel LoadedImage information:\n")); + DEBUG((DEBUG_INFO, " ImageBase = 0x%p\n", LoadedImage->ImageBase)); + DEBUG((DEBUG_INFO, " ImageSize = 0x%p\n", + LoadedImage->ImageSize)); + + // Verify the kernel boot parameters from the LoadedImage and allocate an initalization buffer once verified + BootParams = (struct boot_params*) LoadedImage->ImageBase; + + Status = LoadLinuxCheckKernelSetup((VOID *) BootParams, sizeof(struct boot_params)); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "LoadLinuxCheckKernelSetup failed; %r.\n", Status)); + goto FatalError; + } + + HandoverParams = LoadLinuxAllocateKernelSetupPages(EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (HandoverParams == NULL) { + DEBUG((DEBUG_ERROR, "Could not allocate memory for kernel handover parameters.\n")); + goto FatalError; + } + DEBUG((DEBUG_INFO, "Handover parameters allocated at 0x%p\n", + HandoverParams)); + + gBS->CopyMem(&HandoverParams->hdr, &BootParams->hdr, sizeof(struct + setup_header)); + + Status = LoadLinuxInitializeKernelSetup(HandoverParams); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "Unable to initialize the handover parameters; %r.\n", Status)); + goto FatalError; + } + + // Allocate space for the kernel and copy it into the new buffer + KernelBuffer = LoadLinuxAllocateKernelPages(HandoverParams, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (KernelBuffer == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for kernel.\n")); + goto FatalError; + } + + StartOffset = (HandoverParams->hdr.setup_secs + 1) * 512; + KernelLength = (UINT32) (KernelFfsSize - StartOffset); + Temp = (UINT8 *) LoadedImage->ImageBase; + + DEBUG((DEBUG_INFO, "Kernel starts at offset 0x%X with length + 0x%X\n", StartOffset, KernelLength)); + + gBS->CopyMem(KernelBuffer, (Temp + StartOffset), KernelLength); + DEBUG((DEBUG_INFO, "First 0x%X bytes of new kernel buffer + contents:\n", MIN(0x100, KernelLength))); + + DumpHex(2, 0, MIN(0x100, KernelLength), KernelBuffer); + + // Prepare the command line + Status = LoadLinuxSetCommandLine(HandoverParams, (UINT8 *) &CmdLine); + if (EFI_ERROR (Status)) { + DEBUG((EFI_D_INFO, "Unable to set linux command line; %r.\n", Status)); + goto FatalError; + } + + HandoverParams->hdr.code32_start = (UINT32)(UINTN) KernelBuffer; + HandoverParams->hdr.loader_id = 0x21; + + DEBUG((DEBUG_INFO, "Kernel loaded.\n")); + +#if 1 +//#if defined(INTEGRATED_INITRAM_FS) && (INTEGRATED_INITRAM_FS ==0) + /// + /// Initrd load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the initrd...\n")); + + // Retrieve the initrd from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootInitrdFileGuid, + EFI_SECTION_RAW, + 0, + &InitrdBuffer, + &InitrdSize + ); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve initrd; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded initrd to buffer at 0x%p with size 0x%X.\n", InitrdBuffer, InitrdSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdBuffer); + + // Allocate the initrd for the kernel and copy it in + InitrdData = LoadLinuxAllocateInitrdPages(HandoverParams, EFI_SIZE_TO_PAGES(InitrdSize)); + if (InitrdData == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for initrd.\n")); + goto FatalError; + } + + gBS->CopyMem(InitrdData, InitrdBuffer, InitrdSize); + + HandoverParams->hdr.ramdisk_start = (UINT32)(UINTN) InitrdData; + HandoverParams->hdr.ramdisk_len = (UINT32) InitrdSize; + + DEBUG((DEBUG_INFO, "Initrd loaded.\n")); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes of initrd buffer:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdData); + + // General cleanup before launching the kernel + gBS->FreePool(InitrdBuffer); + InitrdBuffer = NULL; +#endif + + gBS->UnloadImage(KernelHandle); + gBS->FreePool(KernelFfsBuffer); + KernelFfsBuffer = NULL; + + DEBUG((DEBUG_ERROR, "Launching the kernel\n")); + + + // + // Signal the EFI_EVENT_GROUP_READY_TO_BOOT event. + // + EfiSignalEventReadyToBoot(); + + + // Launch the kernel + Status = LoadLinux(KernelBuffer, HandoverParams); + + /// + /// LoadLinux should never return if the kernel boots. Anything past here is an error scenario + /// + DEBUG((DEBUG_ERROR, "ERROR: LoadLinux has returned with status; + %r.\n", Status)); + +FatalError: + // Free everything + if (InitrdData != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) InitrdData, EFI_SIZE_TO_PAGES(InitrdSize)); + if (KernelBuffer != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) KernelBuffer, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (HandoverParams != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) HandoverParams, EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (InitrdBuffer != NULL) gBS->FreePool(InitrdBuffer); + if (KernelHandle != NULL) gBS->UnloadImage(KernelHandle); + if (KernelFfsBuffer != NULL) gBS->FreePool(KernelFfsBuffer); + + return EFI_NOT_FOUND; +} + +/** + * This is the main function for this feature. This will handle +finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + EFI_STATUS Status = EFI_SUCCESS; + + // Finish BDS and then try to launch the kernel + //Status = CompleteBdsTasks(); + + if (!EFI_ERROR(Status)) { + LoadAndLaunchKernel(); + } + + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + DEBUG((DEBUG_ERROR, " ERROR: Kernel failed to launch.\n")); + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + return Status; +} + +//--------------------------------------------------------------------- +------ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h new file mode 100644 index 0000000000..479fb8cbfd --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h @@ -0,0 +1,193 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * Header for library definitions and prototypes. + * + */ + +#ifndef __LINUX_BOOT_PRIVATE__H__ +#define __LINUX_BOOT_PRIVATE__H__ +#ifdef __cplusplus +extern "C" { +#endif // #ifdef __cplusplus + +//--------------------------------------------------------------------- +------ + +//#include <Token.h> + +#define BOOTSIG 0x1FE +#define SETUP_HDR 0x53726448 /* 0x53726448 == "HdrS" */ + +#define E820_RAM 1 +#define E820_RESERVED 2 +#define E820_ACPI 3 +#define E820_NVS 4 +#define E820_UNUSABLE 5 + +#pragma pack(1) + +struct setup_header { + UINT8 setup_secs; /* Sectors for setup code */ + UINT16 root_flags; + UINT32 sys_size; + UINT16 ram_size; + UINT16 video_mode; + UINT16 root_dev; + UINT16 signature; /* Boot signature */ + UINT16 jump; + UINT32 header; + UINT16 version; + UINT16 su_switch; + UINT16 setup_seg; + UINT16 start_sys; + UINT16 kernel_ver; + UINT8 loader_id; + UINT8 load_flags; + UINT16 movesize; + UINT32 code32_start; /* Start of code loaded high */ + UINT32 ramdisk_start; /* Start of initial ramdisk */ + UINT32 ramdisk_len; /* Length of initial ramdisk */ + UINT32 bootsect_kludge; + UINT16 heap_end; + UINT8 ext_loader_ver; /* Extended boot loader version */ + UINT8 ext_loader_type; /* Extended boot loader ID */ + UINT32 cmd_line_ptr; /* 32-bit pointer to the kernel command line */ + UINT32 ramdisk_max; /* Highest legal initrd address */ + UINT32 kernel_alignment; /* Physical addr alignment required for kernel */ + UINT8 relocatable_kernel; /* Whether kernel is relocatable or not */ + UINT8 min_alignment; + UINT16 xloadflags; + UINT32 cmdline_size; + UINT32 hardware_subarch; + UINT64 hardware_subarch_data; + UINT32 payload_offset; + UINT32 payload_length; + UINT64 setup_data; + UINT64 pref_address; + UINT32 init_size; + UINT32 handover_offset; +}; + +struct efi_info { + UINT32 efi_loader_signature; + UINT32 efi_systab; + UINT32 efi_memdesc_size; + UINT32 efi_memdesc_version; + UINT32 efi_memmap; + UINT32 efi_memmap_size; + UINT32 efi_systab_hi; + UINT32 efi_memmap_hi; +}; + +struct e820_entry { + UINT64 addr; /* start of memory segment */ + UINT64 size; /* size of memory segment */ + UINT32 type; /* type of memory segment */ +}; + +struct screen_info { + UINT8 orig_x; /* 0x00 */ + UINT8 orig_y; /* 0x01 */ + UINT16 ext_mem_k; /* 0x02 */ + UINT16 orig_video_page; /* 0x04 */ + UINT8 orig_video_mode; /* 0x06 */ + UINT8 orig_video_cols; /* 0x07 */ + UINT8 flags; /* 0x08 */ + UINT8 unused2; /* 0x09 */ + UINT16 orig_video_ega_bx;/* 0x0a */ + UINT16 unused3; /* 0x0c */ + UINT8 orig_video_lines; /* 0x0e */ + UINT8 orig_video_isVGA; /* 0x0f */ + UINT16 orig_video_points;/* 0x10 */ + + /* VESA graphic mode -- linear frame buffer */ + UINT16 lfb_width; /* 0x12 */ + UINT16 lfb_height; /* 0x14 */ + UINT16 lfb_depth; /* 0x16 */ + UINT32 lfb_base; /* 0x18 */ + UINT32 lfb_size; /* 0x1c */ + UINT16 cl_magic, cl_offset; /* 0x20 */ + UINT16 lfb_linelength; /* 0x24 */ + UINT8 red_size; /* 0x26 */ + UINT8 red_pos; /* 0x27 */ + UINT8 green_size; /* 0x28 */ + UINT8 green_pos; /* 0x29 */ + UINT8 blue_size; /* 0x2a */ + UINT8 blue_pos; /* 0x2b */ + UINT8 rsvd_size; /* 0x2c */ + UINT8 rsvd_pos; /* 0x2d */ + UINT16 vesapm_seg; /* 0x2e */ + UINT16 vesapm_off; /* 0x30 */ + UINT16 pages; /* 0x32 */ + UINT16 vesa_attributes; /* 0x34 */ + UINT32 capabilities; /* 0x36 */ + UINT8 _reserved[6]; /* 0x3a */ +}; + +struct boot_params { + struct screen_info screen_info; + UINT8 apm_bios_info[0x14]; + UINT8 _pad2[4]; + UINT64 tboot_addr; + UINT8 ist_info[0x10]; + UINT8 _pad3[16]; + UINT8 hd0_info[16]; + UINT8 hd1_info[16]; + UINT8 sys_desc_table[0x10]; + UINT8 olpc_ofw_header[0x10]; + UINT8 _pad4[128]; + UINT8 edid_info[0x80]; + struct efi_info efi_info; + UINT32 alt_mem_k; + UINT32 scratch; + UINT8 e820_entries; + UINT8 eddbuf_entries; + UINT8 edd_mbr_sig_buf_entries; + UINT8 _pad6[6]; + struct setup_header hdr; + UINT8 _pad7[0x290-0x1f1-sizeof(struct setup_header)]; + UINT32 edd_mbr_sig_buffer[16]; + struct e820_entry e820_map[128]; + UINT8 _pad8[48]; + UINT8 eddbuf[0x1ec]; + UINT8 _pad9[276]; +}; +#pragma pack () + +//--------------------------------------------------------------------- +------ + +#ifndef MIN +#define MIN(x,y) ((x) < (y) ? (x) : (y)) +#endif // #ifndef MIN + +#define KERNEL_SETUP_SIZE 16384 + +//--------------------------------------------------------------------- +------ + +/// +/// Function prototypes from Bds module /// VOID ConnectEverything(); +VOID RecoverTheMemoryAbove4Gb(); VOID SignalAllDriversConnectedEvent(); +VOID SignalProtocolEvent(IN EFI_GUID *ProtocolGuid); + +#if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 +VOID SignalExitPmAuthProtocolEvent(VOID); +#endif // #if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 + +typedef VOID (BDS_CONTROL_FLOW_FUNCTION)(); + +//--------------------------------------------------------------------- +------ + +/****** DO NOT WRITE BELOW THIS LINE *******/ #ifdef __cplusplus } +#endif // #ifdef __cplusplus #endif // #ifndef +__LINUX_BOOT_PRIVATE__H__ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf new file mode 100644 index 0000000000..62e09a75c8 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf @@ -0,0 +1,46 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 74a41ddc-fac5-4787-afad-d81ee30a8b63 # {0x74a41ddc, 0xfac5, 0x4787, {0xaf, 0xad, 0xd8, 0x1e, 0xe3, 0x0a, 0x8b, 0x63}} + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBoot.c + LinuxBoot.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib + BaseMemoryLib + DebugLib + UefiRuntimeServicesTableLib + UefiBootServicesTableLib + UefiLib + LoadLinuxLib + +[Guids] + +[Protocols] + gEfiLoadedImageProtocolGuid + +[Pcd] diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c new file mode 100644 index 0000000000..fa6ea117f4 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c @@ -0,0 +1,43 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------- +------ + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/UefiBootServicesTableLib.h> + + +/** + * This is the main function for this feature. This will handle +finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + + return EFI_SUCCESS; +} + +//--------------------------------------------------------------------- +------ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf new file mode 100644 index 0000000000..3ed53c6ba0 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf @@ -0,0 +1,31 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 0551B6D3-0594-4B02-AF42-5A9C7515CEC8 + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBootNull.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec index 4dcec5430b..0c1ab318b8 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec +++ b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec @@ -49,6 +49,8 @@ gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|TRUE|BOOLEAN|0x30000035 + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE|BOOLEAN|0x30000036 + [PcdsDynamicEx] gPlatformTokenSpaceGuid.PcdDfxAdvDebugJumper|FALSE|BOOLEAN|0x6000001D diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c index b3b8ceba6f..bd0509ab10 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatf +++ ormPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c @@ -2,6 +2,7 @@ This file include all platform action which can be customized by IBV/OEM. Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -31,6 +32,12 @@ BOOLEAN gPPRequireUIConfirm; extern UINTN mBootMenuOptionNumber; +EFI_STATUS +LinuxBootStart ( + VOID + ); + + GLOBAL_REMOVE_IF_UNREFERENCED USB_CLASS_FORMAT_DEVICE_PATH gUsbClassKeyboardDevicePath = { { { @@ -1268,6 +1275,8 @@ PlatformBootManagerAfterConsole ( LocalBootMode = gBootMode; DEBUG ((DEBUG_INFO, "Current local bootmode - %x\n", LocalBootMode)); + LinuxBootStart(); + // // Go the different platform policy with different boot mode // Notes: this part code can be change with the table policy diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf index 5790743565..21ac65257c 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatf +++ ormPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerL +++ ib.inf @@ -2,6 +2,7 @@ # Component name for module DxePlatformBootManagerLib # # Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -40,6 +41,7 @@ PerformanceLib TimerLib Tcg2PhysicalPresenceLib + LinuxBootLib [Packages] MdePkg/MdePkg.dec diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index 06c5f32b1e..a34784ccb8 100644 --- a/Platform/Intel/Readme.md +++ b/Platform/Intel/Readme.md @@ -87,6 +87,11 @@ A UEFI firmware implementation using MinPlatformPkg is constructed using the fol ----------------------------------------|--------------------------------------------|------------------------------|--------------------| | Mt. Olympus | Purley | PurleyOpenBoardPkg | BoardMtOlympus | +| Machine Name | Supported Chipsets | BoardPkg | Board Name | +----------------------------------------|--------------------------------------------|------------------------------|--------------------| +| TiogaPass | Purley | PurleyOpenBoardPkg | BoardTiogaPass | + + #### Simics | Machine Name | Supported Chipsets | BoardPkg | Board Name | @@ -250,6 +255,12 @@ return back to the minimum platform caller. | | | | build settings, environment variables. | | | |---build_board.py: Optional board-specific pre-build, | | | build, post-build and clean functions. + | | |------PurleyOpenBoardPkg + | | | |------BoardTiogaPass + | | | |---build_config.cfg: BoardTiogaPass specific + | | | | build settings, environment variables. + | | | |---build_board.py: Optional board-specific pre-build, + | | | build, post-build and clean functions. | | | | | |------SimicsOpenBoardPkg | | | |------BoardX58Ich10 @@ -292,6 +303,18 @@ For PurleyOpenBoardPkg "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, used "BinCache" as default path. +For PurleyOpenBoardPkg (TiogaPass) +1. Open command window, go to the workspace directory, e.g. c:\Edk2Workspace. +2. Type "cd edk2-platforms\Platform\Intel\PurleyOpenBoardPkg\BoardTiogaPass". +3. Type "GitEdk2MinBoardTiogaPass.bat" to setup GIT environment. +4. Type "bld" to build Purley BoardTiogaPass board UEFI firmware image, "bld release" for release build, "bld clean" to + remove intermediate files."bld cache-produce" Generate a cache of binary files in the specified directory, + "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, + used "BinCache" as default path. +5. Final BIOS image will be Build\PurleyOpenBoardPkg\BoardTiagoPass\DEBUG_VS2015x86\FV\PLATFORM.fd or + Build\PurleyOpenBoardPkg\BoardTiagoPass\RELEASE_VS2015x86\FV\PLATFORM.fd, depending on bld batch script input. +6. This BIOS image needs to be merged with SPS FW + ### **Known limitations** **KabylakeOpenBoardPkg** @@ -307,6 +330,25 @@ For PurleyOpenBoardPkg 2. This firmware project does not build with the GCC compiler. 3. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +**PurleyOpenBoardPkg Tioga Pass ** +1. This firmware project has only been tested on the Tioga Pass hardware. +2. This firmware project build has only been tested using the Microsoft Visual Studio 2015 build tools. +3. This firmware project does not build with the GCC compiler. +4. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +5. Installed and booted to UEFI Windows 2016 on M.2 NVME slot 6. +Installed and booted to UEFI Windows 2019 on M.2 NVME slot and with SATA HDD. +7. Installed and booted to UEFI RHEL 7.3 on SATA HDD 8. Installed and +booted to Ubuntu 18.04 on M.2 NVME slot. +9. Verified Mellanox card detection during POST and OS 10. LINUX Boot +Support (PcdLinuxBootEnable needs to be enabled) + +1. Follow directions on http://osresearch.net/Building/ to compile the heads kernel and initrd for qemu-system_x86_64 +2. Copy the following built files +(1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +(2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi + + + **SimicsOpenBoardPkg** 1. This firmware project has only been tested booting to Microsoft Windows 10 x64 and Ubuntu 17.10 with AHCI mode. -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [EXTERNAL] RE: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot 2021-06-25 18:57 ` [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Oram, Isaac W @ 2021-06-29 14:32 ` manickavasakam karpagavinayagam 2021-06-29 16:41 ` [edk2-devel] " Oram, Isaac W 0 siblings, 1 reply; 11+ messages in thread From: manickavasakam karpagavinayagam @ 2021-06-29 14:32 UTC (permalink / raw) To: Oram, Isaac W, Desimone, Nathaniel L, devel@edk2.groups.io Cc: Felix Polyudov, Harikrishna Doppalapudi, Manish Jha, Zachary Bobroff Isaac : >From our understanding, features under edk2-platform/Intel/XXXXOpenBoardPkg are named without pkg https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel/PurleyOpenBoardPkg (ex: Pci/PciPlatform, Acpi/BoardAcpiDxe) Can we name it as "LinuxBoot" or ServerLinuxBoot"? Thank you -Manic -----Original Message----- From: Oram, Isaac W <isaac.w.oram@intel.com> Sent: Friday, June 25, 2021 2:57 PM To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com>; Felix Polyudov <Felixp@ami.com>; Harikrishna Doppalapudi <Harikrishnad@ami.com>; Manish Jha <manishj@ami.com>; Zachary Bobroff <zacharyb@ami.com> Subject: [EXTERNAL] RE: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot **CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.** Manic, I don't think that there is much value in having two different flash maps for LinuxBoot enabled or disabled. It strikes me as unnecessary code to maintain. LinuxKernel.inf is missing a properly formatted file header. LinuxBoot.c should be run through code style compliance tools. Also there is unnecessary commented out code and things like #if 1 that should be removed. LinuxBoot.h has tabs in the source disrupting structure layout and not following coding style. Please rename LinuxBootPkg as it is not an edk2 package and the name is a bit misleading. We should do an RFC to talk about the various LinuxBoot integrations that we see across the community and maybe discuss at the design meeting. I think you are fine to commit this version as it is fairly specific to your use case, so that design discussion shouldn't block this fix. Regards, Isaac -----Original Message----- From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> Sent: Wednesday, June 16, 2021 5:52 PM To: devel@edk2.groups.io Cc: KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Felix Polyudov <Felixp@ami.com>; DOPPALAPUDI, HARIKRISHNA <harikrishnad@ami.com>; Jha, Manish <manishj@ami.com>; Bobroff, Zachary <zacharyb@ami.com> Subject: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot From: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> Support for LINUX Boot To enable/disable feature, PcdLinuxBootEnable can be used 1. Follow directions on https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fosresearch.net%2FBuilding%2F&data=04%7C01%7Cmanickavasakamk%40ami.com%7C0e17ba01178e4475fd4608d9380b131f%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C637602442487974382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ancbqqKtQUlzJJLmDOfpIOQdZ2UNIZRd74njHBEkeLk%3D&reserved=0 to compile the heads kernel and initrd for qemu-system_x86_64 2. Copy the following built files (1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz (2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../BoardTiogaPass/CoreDxeInclude.dsc | 5 +- .../BoardTiogaPass/CoreUefiBootInclude.fdf | 5 +- .../BoardTiogaPass/OpenBoardPkg.dsc | 7 + .../BoardTiogaPass/OpenBoardPkg.fdf | 57 ++- .../BoardTiogaPass/PlatformPkgConfig.dsc | 7 + .../LinuxBinaries/LinuxKernel.inf | 9 + .../LinuxBootPkg/LinuxBinaries/initrd.cpio.xz | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBinaries/linux.efi | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBoot.c | 422 ++++++++++++++++++ .../LinuxBootPkg/LinuxBoot.h | 193 ++++++++ .../LinuxBootPkg/LinuxBoot.inf | 46 ++ .../LinuxBootPkg/LinuxBootNull.c | 43 ++ .../LinuxBootPkg/LinuxBootNull.inf | 31 ++ .../Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec | 2 + .../DxePlatformBootManagerLib/BdsPlatform.c | 9 + .../DxePlatformBootManagerLib.inf | 2 + Platform/Intel/Readme.md | 42 ++ 17 files changed, 872 insertions(+), 8 deletions(-) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc index b0660d72dd..a17015704b 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.ds +++ c @@ -83,6 +83,7 @@ $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -97,10 +98,11 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf - +!endif #MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -124,6 +126,7 @@ <LibraryClasses> PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf } +!endif !if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == FALSE MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf index 141ce5dda3..6cd8ba6626 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclu +++ de.fdf @@ -47,6 +47,7 @@ INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf INF $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -62,10 +63,12 @@ INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF FatPkg/EnhancedFatDxe/Fat.inf +!endif #INF MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -79,4 +82,4 @@ INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf - +!endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc index e4c8e7fbf1..06ed3f610e 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc @@ -104,6 +104,13 @@ ################################################################################ [LibraryClasses.common] +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBoot.inf + LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf +!else + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBootNull.inf +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == FALSE PlatformBootManagerLib|$(PLATFORM_PACKAGE)/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf !else diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf index 43cd8d94e1..adbf28a936 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf @@ -19,6 +19,38 @@ # Also all values will have a PCD assigned so that they can be used in the system, and # the FlashMap edit tool can be used to change the values here, without effecting the code. # This requires all code to only use the PCD tokens to recover the values. +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00300000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00400000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00500000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00600000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00600000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!else + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00500000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00500000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00600000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00700000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00200000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00900000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!endif + [FD.Platform] BaseAddress = 0xFF000000 | gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress @@ -27,27 +59,27 @@ ErasePolarity = 1 BlockSize = 0x10000 NumBlocks = 0x100 -0x00000000|0x00500000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvAdvancedSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize FV = FvAdvanced -0x00500000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvSecuritySize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize FV = FvSecurity -0x00600000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset|gMinPlatformPkgTok +enSpaceGuid.PcdFlashFvOsBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize FV = FvOsBoot -0x00700000|0x00200000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset|gMinPlatformPkgToken +SpaceGuid.PcdFlashFvFspUSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize FV = FvLateSiliconCompressed -0x00900000|0x00300000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvUefiBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize FV = FvUefiBoot -0x00C00000|0x0007C000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset|gEfiMdeMo +dulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize #NV_VARIABLE_STORE DATA = { @@ -303,6 +335,19 @@ FILE DRIVER = db90bb7e-e4ba-4f07-96d6-b7076713bd2c { INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +FILE DRIVER = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 { + SECTION DXE_DEPEX_EXP = {FALSE} + SECTION PE32 = +$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/linux.efi +} + +FILE FREEFORM = 16b60e5d-f1c5-42f0-9b34-08C81C430473 { + SECTION RAW = +$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +} + +!endif + [FV.FvUefiBoot] FvAlignment = 16 diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc index 36a29c8d68..ff27252233 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig +++ .dsc @@ -51,7 +51,14 @@ gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable|TRUE + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE + +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + gPlatformTokenSpaceGuid.PcdFastBoot|TRUE +!else gPlatformTokenSpaceGuid.PcdFastBoot|FALSE +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == TRUE gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|FALSE diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf new file mode 100644 index 0000000000..a249027d22 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/Linux +++ Kernel.inf @@ -0,0 +1,9 @@ +[Defines] + INF_VERSION = 1.27 + BASE_NAME = LinuxKernel + FILE_GUID = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + +[Binaries.common.AARCH64] + PE32|linux.efi|* diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c new file mode 100644 index 0000000000..eec05824d6 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c @@ -0,0 +1,422 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------- +------ + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/DebugLib.h> +#include <Library/UefiRuntimeServicesTableLib.h> +#include <Library/MemoryAllocationLib.h> #include +<Library/UefiBootServicesTableLib.h> +#include <Guid/DxeServices.h> +#include <Library/DxeServicesTableLib.h> #include <Library/UefiLib.h> +#include <Protocol/FirmwareVolume2.h> #include <Protocol/LoadedImage.h> +#include <Guid/MemoryTypeInformation.h> #include <Pi/PiDxeCis.h> +#include <Pi/PiHob.h> #include <Library/PcdLib.h> #include +<Library/DxeServicesLib.h> #include "LinuxBoot.h" + +//16b60e5d-f1c5-42f0-9b34-08C81C430473 +#define LINUX_BOOT_INITRD_GUID \ + { \ + 0x16b60e5d, 0xf1c5, 0x42f0, {0x9b, 0x34, 0x08, 0xc8, 0x1c, 0x43, +0x04, 0x73} \ + } + +#define LINUX_BOOT_KERNEL_GUID \ + { \ + 0x81339b04, 0xfa8c, 0x4be0, {0x9c, 0xa7, 0x91, 0x6f, 0xc5, 0x31, +0x9e, 0xb5} \ + } + + +EFI_STATUS +EFIAPI +LoadLinuxCheckKernelSetup ( + IN VOID *KernelSetup, + IN UINTN KernelSetupSize + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelSetupPages ( + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxInitializeKernelSetup ( + IN VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxSetCommandLine ( + IN OUT VOID *KernelSetup, + IN CHAR8 *CommandLine + ); + +EFI_STATUS +EFIAPI +LoadLinux ( + IN VOID *Kernel, + IN OUT VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateInitrdPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_GUID gLinuxBootInitrdFileGuid = LINUX_BOOT_INITRD_GUID; + +EFI_GUID gLinuxBootKernelFileGuid = LINUX_BOOT_KERNEL_GUID; + +//--------------------------------------------------------------------- +------ + +/** + Dump some hexadecimal data to the screen. + + @note Function taken from + ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c in EDKII + + @param[in] Indent How many spaces to indent the output. + @param[in] Offset The offset of the printing. + @param[in] DataSize The size in bytes of UserData. + @param[in] UserData The data to print out. +**/ +static +VOID +DumpHex ( + IN UINTN Indent, + IN UINTN Offset, + IN UINTN DataSize, + IN VOID *UserData + ) +{ + UINT8 *Data; + CHAR8 Val[50]; + CHAR8 Str[20]; + UINT8 TempByte; + UINTN Size; + UINTN Index; + CHAR8 Hex[] = { + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' + }; + + DEBUG((DEBUG_INFO, "%*a 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F\n", Indent, "")); + DEBUG((DEBUG_INFO, "%*a ------------------------------------------------\n", Indent, "")); + + Data = UserData; + while (DataSize != 0) { + Size = 16; + if (Size > DataSize) { + Size = DataSize; + } + + for (Index = 0; Index < Size; Index += 1) { + TempByte = Data[Index]; + Val[Index * 3 + 0] = Hex[TempByte >> 4]; + Val[Index * 3 + 1] = Hex[TempByte & 0xF]; + Val[Index * 3 + 2] = (CHAR8) ((Index == 7) ? '-' : ' '); + Str[Index] = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte); + } + + Val[Index * 3] = 0; + Str[Index] = 0; + DEBUG((DEBUG_INFO, "%*a%08X: %-48a %a\n", Indent, "", Offset, Val, + Str)); + + Data += Size; + Offset += Size; + DataSize -= Size; + } +} + + +/** + * This function completes a minimal amount of the necessary BDS +functions to prepare + * for booting the kernel. + * + * @param None + * + * @retval EFI_SUCCESS Successfully completed remaining tasks + * @return EFI_ERROR Could not complete BDS tasks + */ +EFI_STATUS +CompleteBdsTasks ( + VOID +) +{ + + return EFI_SUCCESS; +} + +/** + * This function will load and launch the Linux kernel from a BIOS FV. + * + * @note This function is not intended to return. Any exiting from this function indicates + * a problem loading or launching the kernel. + * + * @param None + * + * @return EFI_ERROR Any error code + */ +EFI_STATUS +LoadAndLaunchKernel ( + VOID +) +{ + EFI_LOADED_IMAGE_PROTOCOL *LoadedImage = NULL; + EFI_STATUS Status; + EFI_HANDLE KernelHandle = NULL; + VOID *KernelBuffer = NULL; + VOID *KernelFfsBuffer = NULL; + UINTN KernelFfsSize = 0; + VOID *InitrdData = NULL; + VOID *InitrdBuffer = NULL; + UINTN InitrdSize = 0; + struct boot_params *BootParams = NULL; + struct boot_params *HandoverParams = NULL; + UINT32 StartOffset = 0; + UINT32 KernelLength = 0; + UINT8 *Temp; + UINT8 CmdLine[] = " "; + + DEBUG((DEBUG_INFO, "LoadAndLaunchKernel Entry\n")); + + /// + /// Kernel load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the kernel...\n")); + + // Retrieve the kernel from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootKernelFileGuid, + EFI_SECTION_PE32, + 0, + &KernelFfsBuffer, + &KernelFfsSize + ); + + DEBUG((DEBUG_INFO, "Status %r\n",Status)); + DEBUG((DEBUG_INFO, "KernelFfsBuffer %x\n",KernelFfsBuffer)); + DEBUG((DEBUG_INFO, "KernelFfsSize %x\n",KernelFfsSize)); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve kernel; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded kernel to buffer at 0x%p with size 0x%X.\n", KernelFfsBuffer, KernelFfsSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", + MIN(KernelFfsSize, 0x100))); + + DumpHex(2, 0, MIN(0x100, KernelFfsSize), KernelFfsBuffer); + + // Create a LoadImage protocol for the kernel + Status = gBS->LoadImage(TRUE, gImageHandle, NULL, KernelFfsBuffer, KernelFfsSize, &KernelHandle); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not create LoadImage for kernel %r\n", Status)); + goto FatalError; + } + + // Get the new LoadedImage protocol to retrieve information about the kernel + Status = gBS->HandleProtocol(KernelHandle, &gEfiLoadedImageProtocolGuid, (VOID **) &LoadedImage); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not get kernel LoadedImage protocol; %r\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Kernel LoadedImage information:\n")); + DEBUG((DEBUG_INFO, " ImageBase = 0x%p\n", LoadedImage->ImageBase)); + DEBUG((DEBUG_INFO, " ImageSize = 0x%p\n", + LoadedImage->ImageSize)); + + // Verify the kernel boot parameters from the LoadedImage and allocate an initalization buffer once verified + BootParams = (struct boot_params*) LoadedImage->ImageBase; + + Status = LoadLinuxCheckKernelSetup((VOID *) BootParams, sizeof(struct boot_params)); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "LoadLinuxCheckKernelSetup failed; %r.\n", Status)); + goto FatalError; + } + + HandoverParams = LoadLinuxAllocateKernelSetupPages(EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (HandoverParams == NULL) { + DEBUG((DEBUG_ERROR, "Could not allocate memory for kernel handover parameters.\n")); + goto FatalError; + } + DEBUG((DEBUG_INFO, "Handover parameters allocated at 0x%p\n", + HandoverParams)); + + gBS->CopyMem(&HandoverParams->hdr, &BootParams->hdr, sizeof(struct + setup_header)); + + Status = LoadLinuxInitializeKernelSetup(HandoverParams); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "Unable to initialize the handover parameters; %r.\n", Status)); + goto FatalError; + } + + // Allocate space for the kernel and copy it into the new buffer + KernelBuffer = LoadLinuxAllocateKernelPages(HandoverParams, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (KernelBuffer == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for kernel.\n")); + goto FatalError; + } + + StartOffset = (HandoverParams->hdr.setup_secs + 1) * 512; + KernelLength = (UINT32) (KernelFfsSize - StartOffset); + Temp = (UINT8 *) LoadedImage->ImageBase; + + DEBUG((DEBUG_INFO, "Kernel starts at offset 0x%X with length + 0x%X\n", StartOffset, KernelLength)); + + gBS->CopyMem(KernelBuffer, (Temp + StartOffset), KernelLength); + DEBUG((DEBUG_INFO, "First 0x%X bytes of new kernel buffer + contents:\n", MIN(0x100, KernelLength))); + + DumpHex(2, 0, MIN(0x100, KernelLength), KernelBuffer); + + // Prepare the command line + Status = LoadLinuxSetCommandLine(HandoverParams, (UINT8 *) &CmdLine); + if (EFI_ERROR (Status)) { + DEBUG((EFI_D_INFO, "Unable to set linux command line; %r.\n", Status)); + goto FatalError; + } + + HandoverParams->hdr.code32_start = (UINT32)(UINTN) KernelBuffer; + HandoverParams->hdr.loader_id = 0x21; + + DEBUG((DEBUG_INFO, "Kernel loaded.\n")); + +#if 1 +//#if defined(INTEGRATED_INITRAM_FS) && (INTEGRATED_INITRAM_FS ==0) + /// + /// Initrd load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the initrd...\n")); + + // Retrieve the initrd from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootInitrdFileGuid, + EFI_SECTION_RAW, + 0, + &InitrdBuffer, + &InitrdSize + ); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve initrd; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded initrd to buffer at 0x%p with size 0x%X.\n", InitrdBuffer, InitrdSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdBuffer); + + // Allocate the initrd for the kernel and copy it in + InitrdData = LoadLinuxAllocateInitrdPages(HandoverParams, EFI_SIZE_TO_PAGES(InitrdSize)); + if (InitrdData == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for initrd.\n")); + goto FatalError; + } + + gBS->CopyMem(InitrdData, InitrdBuffer, InitrdSize); + + HandoverParams->hdr.ramdisk_start = (UINT32)(UINTN) InitrdData; + HandoverParams->hdr.ramdisk_len = (UINT32) InitrdSize; + + DEBUG((DEBUG_INFO, "Initrd loaded.\n")); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes of initrd buffer:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdData); + + // General cleanup before launching the kernel + gBS->FreePool(InitrdBuffer); + InitrdBuffer = NULL; +#endif + + gBS->UnloadImage(KernelHandle); + gBS->FreePool(KernelFfsBuffer); + KernelFfsBuffer = NULL; + + DEBUG((DEBUG_ERROR, "Launching the kernel\n")); + + + // + // Signal the EFI_EVENT_GROUP_READY_TO_BOOT event. + // + EfiSignalEventReadyToBoot(); + + + // Launch the kernel + Status = LoadLinux(KernelBuffer, HandoverParams); + + /// + /// LoadLinux should never return if the kernel boots. Anything past here is an error scenario + /// + DEBUG((DEBUG_ERROR, "ERROR: LoadLinux has returned with status; + %r.\n", Status)); + +FatalError: + // Free everything + if (InitrdData != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) InitrdData, EFI_SIZE_TO_PAGES(InitrdSize)); + if (KernelBuffer != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) KernelBuffer, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (HandoverParams != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) HandoverParams, EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (InitrdBuffer != NULL) gBS->FreePool(InitrdBuffer); + if (KernelHandle != NULL) gBS->UnloadImage(KernelHandle); + if (KernelFfsBuffer != NULL) gBS->FreePool(KernelFfsBuffer); + + return EFI_NOT_FOUND; +} + +/** + * This is the main function for this feature. This will handle +finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + EFI_STATUS Status = EFI_SUCCESS; + + // Finish BDS and then try to launch the kernel + //Status = CompleteBdsTasks(); + + if (!EFI_ERROR(Status)) { + LoadAndLaunchKernel(); + } + + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + DEBUG((DEBUG_ERROR, " ERROR: Kernel failed to launch.\n")); + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + return Status; +} + +//--------------------------------------------------------------------- +------ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h new file mode 100644 index 0000000000..479fb8cbfd --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h @@ -0,0 +1,193 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * Header for library definitions and prototypes. + * + */ + +#ifndef __LINUX_BOOT_PRIVATE__H__ +#define __LINUX_BOOT_PRIVATE__H__ +#ifdef __cplusplus +extern "C" { +#endif // #ifdef __cplusplus + +//--------------------------------------------------------------------- +------ + +//#include <Token.h> + +#define BOOTSIG 0x1FE +#define SETUP_HDR 0x53726448 /* 0x53726448 == "HdrS" */ + +#define E820_RAM 1 +#define E820_RESERVED 2 +#define E820_ACPI 3 +#define E820_NVS 4 +#define E820_UNUSABLE 5 + +#pragma pack(1) + +struct setup_header { + UINT8 setup_secs; /* Sectors for setup code */ + UINT16 root_flags; + UINT32 sys_size; + UINT16 ram_size; + UINT16 video_mode; + UINT16 root_dev; + UINT16 signature; /* Boot signature */ + UINT16 jump; + UINT32 header; + UINT16 version; + UINT16 su_switch; + UINT16 setup_seg; + UINT16 start_sys; + UINT16 kernel_ver; + UINT8 loader_id; + UINT8 load_flags; + UINT16 movesize; + UINT32 code32_start; /* Start of code loaded high */ + UINT32 ramdisk_start; /* Start of initial ramdisk */ + UINT32 ramdisk_len; /* Length of initial ramdisk */ + UINT32 bootsect_kludge; + UINT16 heap_end; + UINT8 ext_loader_ver; /* Extended boot loader version */ + UINT8 ext_loader_type; /* Extended boot loader ID */ + UINT32 cmd_line_ptr; /* 32-bit pointer to the kernel command line */ + UINT32 ramdisk_max; /* Highest legal initrd address */ + UINT32 kernel_alignment; /* Physical addr alignment required for kernel */ + UINT8 relocatable_kernel; /* Whether kernel is relocatable or not */ + UINT8 min_alignment; + UINT16 xloadflags; + UINT32 cmdline_size; + UINT32 hardware_subarch; + UINT64 hardware_subarch_data; + UINT32 payload_offset; + UINT32 payload_length; + UINT64 setup_data; + UINT64 pref_address; + UINT32 init_size; + UINT32 handover_offset; +}; + +struct efi_info { + UINT32 efi_loader_signature; + UINT32 efi_systab; + UINT32 efi_memdesc_size; + UINT32 efi_memdesc_version; + UINT32 efi_memmap; + UINT32 efi_memmap_size; + UINT32 efi_systab_hi; + UINT32 efi_memmap_hi; +}; + +struct e820_entry { + UINT64 addr; /* start of memory segment */ + UINT64 size; /* size of memory segment */ + UINT32 type; /* type of memory segment */ +}; + +struct screen_info { + UINT8 orig_x; /* 0x00 */ + UINT8 orig_y; /* 0x01 */ + UINT16 ext_mem_k; /* 0x02 */ + UINT16 orig_video_page; /* 0x04 */ + UINT8 orig_video_mode; /* 0x06 */ + UINT8 orig_video_cols; /* 0x07 */ + UINT8 flags; /* 0x08 */ + UINT8 unused2; /* 0x09 */ + UINT16 orig_video_ega_bx;/* 0x0a */ + UINT16 unused3; /* 0x0c */ + UINT8 orig_video_lines; /* 0x0e */ + UINT8 orig_video_isVGA; /* 0x0f */ + UINT16 orig_video_points;/* 0x10 */ + + /* VESA graphic mode -- linear frame buffer */ + UINT16 lfb_width; /* 0x12 */ + UINT16 lfb_height; /* 0x14 */ + UINT16 lfb_depth; /* 0x16 */ + UINT32 lfb_base; /* 0x18 */ + UINT32 lfb_size; /* 0x1c */ + UINT16 cl_magic, cl_offset; /* 0x20 */ + UINT16 lfb_linelength; /* 0x24 */ + UINT8 red_size; /* 0x26 */ + UINT8 red_pos; /* 0x27 */ + UINT8 green_size; /* 0x28 */ + UINT8 green_pos; /* 0x29 */ + UINT8 blue_size; /* 0x2a */ + UINT8 blue_pos; /* 0x2b */ + UINT8 rsvd_size; /* 0x2c */ + UINT8 rsvd_pos; /* 0x2d */ + UINT16 vesapm_seg; /* 0x2e */ + UINT16 vesapm_off; /* 0x30 */ + UINT16 pages; /* 0x32 */ + UINT16 vesa_attributes; /* 0x34 */ + UINT32 capabilities; /* 0x36 */ + UINT8 _reserved[6]; /* 0x3a */ +}; + +struct boot_params { + struct screen_info screen_info; + UINT8 apm_bios_info[0x14]; + UINT8 _pad2[4]; + UINT64 tboot_addr; + UINT8 ist_info[0x10]; + UINT8 _pad3[16]; + UINT8 hd0_info[16]; + UINT8 hd1_info[16]; + UINT8 sys_desc_table[0x10]; + UINT8 olpc_ofw_header[0x10]; + UINT8 _pad4[128]; + UINT8 edid_info[0x80]; + struct efi_info efi_info; + UINT32 alt_mem_k; + UINT32 scratch; + UINT8 e820_entries; + UINT8 eddbuf_entries; + UINT8 edd_mbr_sig_buf_entries; + UINT8 _pad6[6]; + struct setup_header hdr; + UINT8 _pad7[0x290-0x1f1-sizeof(struct setup_header)]; + UINT32 edd_mbr_sig_buffer[16]; + struct e820_entry e820_map[128]; + UINT8 _pad8[48]; + UINT8 eddbuf[0x1ec]; + UINT8 _pad9[276]; +}; +#pragma pack () + +//--------------------------------------------------------------------- +------ + +#ifndef MIN +#define MIN(x,y) ((x) < (y) ? (x) : (y)) +#endif // #ifndef MIN + +#define KERNEL_SETUP_SIZE 16384 + +//--------------------------------------------------------------------- +------ + +/// +/// Function prototypes from Bds module /// VOID ConnectEverything(); +VOID RecoverTheMemoryAbove4Gb(); VOID SignalAllDriversConnectedEvent(); +VOID SignalProtocolEvent(IN EFI_GUID *ProtocolGuid); + +#if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 +VOID SignalExitPmAuthProtocolEvent(VOID); +#endif // #if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 + +typedef VOID (BDS_CONTROL_FLOW_FUNCTION)(); + +//--------------------------------------------------------------------- +------ + +/****** DO NOT WRITE BELOW THIS LINE *******/ #ifdef __cplusplus } +#endif // #ifdef __cplusplus #endif // #ifndef +__LINUX_BOOT_PRIVATE__H__ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf new file mode 100644 index 0000000000..62e09a75c8 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf @@ -0,0 +1,46 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 74a41ddc-fac5-4787-afad-d81ee30a8b63 # {0x74a41ddc, 0xfac5, 0x4787, {0xaf, 0xad, 0xd8, 0x1e, 0xe3, 0x0a, 0x8b, 0x63}} + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBoot.c + LinuxBoot.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib + BaseMemoryLib + DebugLib + UefiRuntimeServicesTableLib + UefiBootServicesTableLib + UefiLib + LoadLinuxLib + +[Guids] + +[Protocols] + gEfiLoadedImageProtocolGuid + +[Pcd] diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c new file mode 100644 index 0000000000..fa6ea117f4 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c @@ -0,0 +1,43 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------- +------ + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/UefiBootServicesTableLib.h> + + +/** + * This is the main function for this feature. This will handle +finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + + return EFI_SUCCESS; +} + +//--------------------------------------------------------------------- +------ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf new file mode 100644 index 0000000000..3ed53c6ba0 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf @@ -0,0 +1,31 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 0551B6D3-0594-4B02-AF42-5A9C7515CEC8 + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBootNull.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec index 4dcec5430b..0c1ab318b8 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec +++ b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec @@ -49,6 +49,8 @@ gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|TRUE|BOOLEAN|0x30000035 + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE|BOOLEAN|0x30000036 + [PcdsDynamicEx] gPlatformTokenSpaceGuid.PcdDfxAdvDebugJumper|FALSE|BOOLEAN|0x6000001D diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c index b3b8ceba6f..bd0509ab10 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatf +++ ormPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c @@ -2,6 +2,7 @@ This file include all platform action which can be customized by IBV/OEM. Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -31,6 +32,12 @@ BOOLEAN gPPRequireUIConfirm; extern UINTN mBootMenuOptionNumber; +EFI_STATUS +LinuxBootStart ( + VOID + ); + + GLOBAL_REMOVE_IF_UNREFERENCED USB_CLASS_FORMAT_DEVICE_PATH gUsbClassKeyboardDevicePath = { { { @@ -1268,6 +1275,8 @@ PlatformBootManagerAfterConsole ( LocalBootMode = gBootMode; DEBUG ((DEBUG_INFO, "Current local bootmode - %x\n", LocalBootMode)); + LinuxBootStart(); + // // Go the different platform policy with different boot mode // Notes: this part code can be change with the table policy diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf index 5790743565..21ac65257c 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatf +++ ormPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerL +++ ib.inf @@ -2,6 +2,7 @@ # Component name for module DxePlatformBootManagerLib # # Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -40,6 +41,7 @@ PerformanceLib TimerLib Tcg2PhysicalPresenceLib + LinuxBootLib [Packages] MdePkg/MdePkg.dec diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index 06c5f32b1e..a34784ccb8 100644 --- a/Platform/Intel/Readme.md +++ b/Platform/Intel/Readme.md @@ -87,6 +87,11 @@ A UEFI firmware implementation using MinPlatformPkg is constructed using the fol ----------------------------------------|--------------------------------------------|------------------------------|--------------------| | Mt. Olympus | Purley | PurleyOpenBoardPkg | BoardMtOlympus | +| Machine Name | Supported Chipsets | BoardPkg | Board Name | +----------------------------------------|--------------------------------------------|------------------------------|--------------------| +| TiogaPass | Purley | PurleyOpenBoardPkg | BoardTiogaPass | + + #### Simics | Machine Name | Supported Chipsets | BoardPkg | Board Name | @@ -250,6 +255,12 @@ return back to the minimum platform caller. | | | | build settings, environment variables. | | | |---build_board.py: Optional board-specific pre-build, | | | build, post-build and clean functions. + | | |------PurleyOpenBoardPkg + | | | |------BoardTiogaPass + | | | |---build_config.cfg: BoardTiogaPass specific + | | | | build settings, environment variables. + | | | |---build_board.py: Optional board-specific pre-build, + | | | build, post-build and clean functions. | | | | | |------SimicsOpenBoardPkg | | | |------BoardX58Ich10 @@ -292,6 +303,18 @@ For PurleyOpenBoardPkg "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, used "BinCache" as default path. +For PurleyOpenBoardPkg (TiogaPass) +1. Open command window, go to the workspace directory, e.g. c:\Edk2Workspace. +2. Type "cd edk2-platforms\Platform\Intel\PurleyOpenBoardPkg\BoardTiogaPass". +3. Type "GitEdk2MinBoardTiogaPass.bat" to setup GIT environment. +4. Type "bld" to build Purley BoardTiogaPass board UEFI firmware image, "bld release" for release build, "bld clean" to + remove intermediate files."bld cache-produce" Generate a cache of binary files in the specified directory, + "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, + used "BinCache" as default path. +5. Final BIOS image will be Build\PurleyOpenBoardPkg\BoardTiagoPass\DEBUG_VS2015x86\FV\PLATFORM.fd or + Build\PurleyOpenBoardPkg\BoardTiagoPass\RELEASE_VS2015x86\FV\PLATFORM.fd, depending on bld batch script input. +6. This BIOS image needs to be merged with SPS FW + ### **Known limitations** **KabylakeOpenBoardPkg** @@ -307,6 +330,25 @@ For PurleyOpenBoardPkg 2. This firmware project does not build with the GCC compiler. 3. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +**PurleyOpenBoardPkg Tioga Pass ** +1. This firmware project has only been tested on the Tioga Pass hardware. +2. This firmware project build has only been tested using the Microsoft Visual Studio 2015 build tools. +3. This firmware project does not build with the GCC compiler. +4. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +5. Installed and booted to UEFI Windows 2016 on M.2 NVME slot 6. +Installed and booted to UEFI Windows 2019 on M.2 NVME slot and with SATA HDD. +7. Installed and booted to UEFI RHEL 7.3 on SATA HDD 8. Installed and +booted to Ubuntu 18.04 on M.2 NVME slot. +9. Verified Mellanox card detection during POST and OS 10. LINUX Boot +Support (PcdLinuxBootEnable needs to be enabled) + +1. Follow directions on https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fosresearch.net%2FBuilding%2F&data=04%7C01%7Cmanickavasakamk%40ami.com%7C0e17ba01178e4475fd4608d9380b131f%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C637602442487974382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ancbqqKtQUlzJJLmDOfpIOQdZ2UNIZRd74njHBEkeLk%3D&reserved=0 to compile the heads kernel and initrd for qemu-system_x86_64 +2. Copy the following built files +(1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +(2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi + + + **SimicsOpenBoardPkg** 1. This firmware project has only been tested booting to Microsoft Windows 10 x64 and Ubuntu 17.10 with AHCI mode. -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 -The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [edk2-devel] [EXTERNAL] RE: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot 2021-06-29 14:32 ` [EXTERNAL] " manickavasakam karpagavinayagam @ 2021-06-29 16:41 ` Oram, Isaac W 0 siblings, 0 replies; 11+ messages in thread From: Oram, Isaac W @ 2021-06-29 16:41 UTC (permalink / raw) To: devel@edk2.groups.io, KARPAGAVINAYAGAM, MANICKAVASAKAM, Desimone, Nathaniel L Cc: Felix Polyudov, DOPPALAPUDI, HARIKRISHNA, Jha, Manish, Bobroff, Zachary I think Features/LinuxBoot would be consistent with other OpenBoardPkg organization. Regards, Isaac -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of manickavasakam karpagavinayagam Sent: Tuesday, June 29, 2021 7:32 AM To: Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io Cc: Felix Polyudov <Felixp@ami.com>; DOPPALAPUDI, HARIKRISHNA <harikrishnad@ami.com>; Jha, Manish <manishj@ami.com>; Bobroff, Zachary <zacharyb@ami.com> Subject: Re: [edk2-devel] [EXTERNAL] RE: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Isaac : >From our understanding, features under edk2-platform/Intel/XXXXOpenBoardPkg are named without pkg https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel/PurleyOpenBoardPkg (ex: Pci/PciPlatform, Acpi/BoardAcpiDxe) Can we name it as "LinuxBoot" or ServerLinuxBoot"? Thank you -Manic -----Original Message----- From: Oram, Isaac W <isaac.w.oram@intel.com> Sent: Friday, June 25, 2021 2:57 PM To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com>; Felix Polyudov <Felixp@ami.com>; Harikrishna Doppalapudi <Harikrishnad@ami.com>; Manish Jha <manishj@ami.com>; Zachary Bobroff <zacharyb@ami.com> Subject: [EXTERNAL] RE: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot **CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.** Manic, I don't think that there is much value in having two different flash maps for LinuxBoot enabled or disabled. It strikes me as unnecessary code to maintain. LinuxKernel.inf is missing a properly formatted file header. LinuxBoot.c should be run through code style compliance tools. Also there is unnecessary commented out code and things like #if 1 that should be removed. LinuxBoot.h has tabs in the source disrupting structure layout and not following coding style. Please rename LinuxBootPkg as it is not an edk2 package and the name is a bit misleading. We should do an RFC to talk about the various LinuxBoot integrations that we see across the community and maybe discuss at the design meeting. I think you are fine to commit this version as it is fairly specific to your use case, so that design discussion shouldn't block this fix. Regards, Isaac -----Original Message----- From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> Sent: Wednesday, June 16, 2021 5:52 PM To: devel@edk2.groups.io Cc: KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Felix Polyudov <Felixp@ami.com>; DOPPALAPUDI, HARIKRISHNA <harikrishnad@ami.com>; Jha, Manish <manishj@ami.com>; Bobroff, Zachary <zacharyb@ami.com> Subject: [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot From: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> Support for LINUX Boot To enable/disable feature, PcdLinuxBootEnable can be used 1. Follow directions on https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fosresearch.net%2FBuilding%2F&data=04%7C01%7Cmanickavasakamk%40ami.com%7C0e17ba01178e4475fd4608d9380b131f%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C637602442487974382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ancbqqKtQUlzJJLmDOfpIOQdZ2UNIZRd74njHBEkeLk%3D&reserved=0 to compile the heads kernel and initrd for qemu-system_x86_64 2. Copy the following built files (1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz (2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi Cc: Isaac Oram <isaac.w.oram@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Cc: Harikrishna Doppalapudi <harikrishnad@ami.com> Cc: Manish Jha <manishj@ami.com> Cc: Zachary Bobroff <zacharyb@ami.com> Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com> --- .../BoardTiogaPass/CoreDxeInclude.dsc | 5 +- .../BoardTiogaPass/CoreUefiBootInclude.fdf | 5 +- .../BoardTiogaPass/OpenBoardPkg.dsc | 7 + .../BoardTiogaPass/OpenBoardPkg.fdf | 57 ++- .../BoardTiogaPass/PlatformPkgConfig.dsc | 7 + .../LinuxBinaries/LinuxKernel.inf | 9 + .../LinuxBootPkg/LinuxBinaries/initrd.cpio.xz | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBinaries/linux.efi | Bin 0 -> 16 bytes .../LinuxBootPkg/LinuxBoot.c | 422 ++++++++++++++++++ .../LinuxBootPkg/LinuxBoot.h | 193 ++++++++ .../LinuxBootPkg/LinuxBoot.inf | 46 ++ .../LinuxBootPkg/LinuxBootNull.c | 43 ++ .../LinuxBootPkg/LinuxBootNull.inf | 31 ++ .../Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec | 2 + .../DxePlatformBootManagerLib/BdsPlatform.c | 9 + .../DxePlatformBootManagerLib.inf | 2 + Platform/Intel/Readme.md | 42 ++ 17 files changed, 872 insertions(+), 8 deletions(-) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc index b0660d72dd..a17015704b 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.ds +++ c @@ -83,6 +83,7 @@ $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -97,10 +98,11 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf - +!endif #MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -124,6 +126,7 @@ <LibraryClasses> PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf } +!endif !if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly == FALSE MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf index 141ce5dda3..6cd8ba6626 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclu +++ de.fdf @@ -47,6 +47,7 @@ INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf INF $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf #TiogaPass Override END +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -62,10 +63,12 @@ INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF FatPkg/EnhancedFatDxe/Fat.inf +!endif #INF MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == FALSE INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf @@ -79,4 +82,4 @@ INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf - +!endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc index e4c8e7fbf1..06ed3f610e 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.dsc @@ -104,6 +104,13 @@ ################################################################################ [LibraryClasses.common] +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBoot.inf + LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf +!else + LinuxBootLib|$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBootNull.inf +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == FALSE PlatformBootManagerLib|$(PLATFORM_PACKAGE)/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf !else diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf index 43cd8d94e1..adbf28a936 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/OpenBoardPkg.fdf @@ -19,6 +19,38 @@ # Also all values will have a PCD assigned so that they can be used in the system, and # the FlashMap edit tool can be used to change the values here, without effecting the code. # This requires all code to only use the PCD tokens to recover the values. +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00300000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00400000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00500000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00600000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00600000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!else + +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset = 0x00000000 # Flash addr (0xFF840000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize = 0x00500000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset = 0x00500000 # Flash addr (0xFF8A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset = 0x00600000 # Flash addr (0xFF910000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize = 0x00100000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset = 0x00700000 # Flash addr (0xFFE00000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize = 0x00200000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset = 0x00900000 # Flash addr (0xFF9A0000) +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize = 0x00300000 # +SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset = 0x00C00000 # Flash addr (0xFF800000) +SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = 0x0007C000 # + +!endif + [FD.Platform] BaseAddress = 0xFF000000 | gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress @@ -27,27 +59,27 @@ ErasePolarity = 1 BlockSize = 0x10000 NumBlocks = 0x100 -0x00000000|0x00500000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvAdvancedSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize FV = FvAdvanced -0x00500000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvSecuritySize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize FV = FvSecurity -0x00600000|0x00100000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset|gMinPlatformPkgTok +enSpaceGuid.PcdFlashFvOsBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize FV = FvOsBoot -0x00700000|0x00200000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset|gMinPlatformPkgToken +SpaceGuid.PcdFlashFvFspUSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize FV = FvLateSiliconCompressed -0x00900000|0x00300000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset|gMinPlatformPkgT +okenSpaceGuid.PcdFlashFvUefiBootSize gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase|gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize FV = FvUefiBoot -0x00C00000|0x0007C000 +gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset|gEfiMdeMo +dulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize #NV_VARIABLE_STORE DATA = { @@ -303,6 +335,19 @@ FILE DRIVER = db90bb7e-e4ba-4f07-96d6-b7076713bd2c { INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + +FILE DRIVER = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 { + SECTION DXE_DEPEX_EXP = {FALSE} + SECTION PE32 = +$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/linux.efi +} + +FILE FREEFORM = 16b60e5d-f1c5-42f0-9b34-08C81C430473 { + SECTION RAW = +$(PLATFORM_BOARD_PACKAGE)/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +} + +!endif + [FV.FvUefiBoot] FvAlignment = 16 diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc index 36a29c8d68..ff27252233 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/PlatformPkgConfig +++ .dsc @@ -51,7 +51,14 @@ gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable|TRUE + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE + +!if gPlatformTokenSpaceGuid.PcdLinuxBootEnable == TRUE + gPlatformTokenSpaceGuid.PcdFastBoot|TRUE +!else gPlatformTokenSpaceGuid.PcdFastBoot|FALSE +!endif + !if gPlatformTokenSpaceGuid.PcdFastBoot == TRUE gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|FALSE diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/LinuxKernel.inf new file mode 100644 index 0000000000..a249027d22 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/Linux +++ Kernel.inf @@ -0,0 +1,9 @@ +[Defines] + INF_VERSION = 1.27 + BASE_NAME = LinuxKernel + FILE_GUID = 81339b04-fa8c-4be0-9ca7-916fc5319eb5 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + +[Binaries.common.AARCH64] + PE32|linux.efi|* diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/initrd.cpio.xz new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBinaries/linux.efi new file mode 100644 index 0000000000000000000000000000000000000000..01d633b27e8ea9b17084fc911d0c8cc43a4170a9 GIT binary patch literal 16 KcmZQzKm`B*5C8!H literal 0 HcmV?d00001 diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c new file mode 100644 index 0000000000..eec05824d6 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.c @@ -0,0 +1,422 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------- +------ + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/DebugLib.h> +#include <Library/UefiRuntimeServicesTableLib.h> +#include <Library/MemoryAllocationLib.h> #include +<Library/UefiBootServicesTableLib.h> +#include <Guid/DxeServices.h> +#include <Library/DxeServicesTableLib.h> #include <Library/UefiLib.h> +#include <Protocol/FirmwareVolume2.h> #include <Protocol/LoadedImage.h> +#include <Guid/MemoryTypeInformation.h> #include <Pi/PiDxeCis.h> +#include <Pi/PiHob.h> #include <Library/PcdLib.h> #include +<Library/DxeServicesLib.h> #include "LinuxBoot.h" + +//16b60e5d-f1c5-42f0-9b34-08C81C430473 +#define LINUX_BOOT_INITRD_GUID \ + { \ + 0x16b60e5d, 0xf1c5, 0x42f0, {0x9b, 0x34, 0x08, 0xc8, 0x1c, 0x43, +0x04, 0x73} \ + } + +#define LINUX_BOOT_KERNEL_GUID \ + { \ + 0x81339b04, 0xfa8c, 0x4be0, {0x9c, 0xa7, 0x91, 0x6f, 0xc5, 0x31, +0x9e, 0xb5} \ + } + + +EFI_STATUS +EFIAPI +LoadLinuxCheckKernelSetup ( + IN VOID *KernelSetup, + IN UINTN KernelSetupSize + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelSetupPages ( + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxInitializeKernelSetup ( + IN VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateKernelPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_STATUS +EFIAPI +LoadLinuxSetCommandLine ( + IN OUT VOID *KernelSetup, + IN CHAR8 *CommandLine + ); + +EFI_STATUS +EFIAPI +LoadLinux ( + IN VOID *Kernel, + IN OUT VOID *KernelSetup + ); + +VOID* +EFIAPI +LoadLinuxAllocateInitrdPages ( + IN VOID *KernelSetup, + IN UINTN Pages + ); + +EFI_GUID gLinuxBootInitrdFileGuid = LINUX_BOOT_INITRD_GUID; + +EFI_GUID gLinuxBootKernelFileGuid = LINUX_BOOT_KERNEL_GUID; + +//--------------------------------------------------------------------- +------ + +/** + Dump some hexadecimal data to the screen. + + @note Function taken from + ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c in EDKII + + @param[in] Indent How many spaces to indent the output. + @param[in] Offset The offset of the printing. + @param[in] DataSize The size in bytes of UserData. + @param[in] UserData The data to print out. +**/ +static +VOID +DumpHex ( + IN UINTN Indent, + IN UINTN Offset, + IN UINTN DataSize, + IN VOID *UserData + ) +{ + UINT8 *Data; + CHAR8 Val[50]; + CHAR8 Str[20]; + UINT8 TempByte; + UINTN Size; + UINTN Index; + CHAR8 Hex[] = { + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' + }; + + DEBUG((DEBUG_INFO, "%*a 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F\n", Indent, "")); + DEBUG((DEBUG_INFO, "%*a ------------------------------------------------\n", Indent, "")); + + Data = UserData; + while (DataSize != 0) { + Size = 16; + if (Size > DataSize) { + Size = DataSize; + } + + for (Index = 0; Index < Size; Index += 1) { + TempByte = Data[Index]; + Val[Index * 3 + 0] = Hex[TempByte >> 4]; + Val[Index * 3 + 1] = Hex[TempByte & 0xF]; + Val[Index * 3 + 2] = (CHAR8) ((Index == 7) ? '-' : ' '); + Str[Index] = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte); + } + + Val[Index * 3] = 0; + Str[Index] = 0; + DEBUG((DEBUG_INFO, "%*a%08X: %-48a %a\n", Indent, "", Offset, Val, + Str)); + + Data += Size; + Offset += Size; + DataSize -= Size; + } +} + + +/** + * This function completes a minimal amount of the necessary BDS +functions to prepare + * for booting the kernel. + * + * @param None + * + * @retval EFI_SUCCESS Successfully completed remaining tasks + * @return EFI_ERROR Could not complete BDS tasks + */ +EFI_STATUS +CompleteBdsTasks ( + VOID +) +{ + + return EFI_SUCCESS; +} + +/** + * This function will load and launch the Linux kernel from a BIOS FV. + * + * @note This function is not intended to return. Any exiting from this function indicates + * a problem loading or launching the kernel. + * + * @param None + * + * @return EFI_ERROR Any error code + */ +EFI_STATUS +LoadAndLaunchKernel ( + VOID +) +{ + EFI_LOADED_IMAGE_PROTOCOL *LoadedImage = NULL; + EFI_STATUS Status; + EFI_HANDLE KernelHandle = NULL; + VOID *KernelBuffer = NULL; + VOID *KernelFfsBuffer = NULL; + UINTN KernelFfsSize = 0; + VOID *InitrdData = NULL; + VOID *InitrdBuffer = NULL; + UINTN InitrdSize = 0; + struct boot_params *BootParams = NULL; + struct boot_params *HandoverParams = NULL; + UINT32 StartOffset = 0; + UINT32 KernelLength = 0; + UINT8 *Temp; + UINT8 CmdLine[] = " "; + + DEBUG((DEBUG_INFO, "LoadAndLaunchKernel Entry\n")); + + /// + /// Kernel load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the kernel...\n")); + + // Retrieve the kernel from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootKernelFileGuid, + EFI_SECTION_PE32, + 0, + &KernelFfsBuffer, + &KernelFfsSize + ); + + DEBUG((DEBUG_INFO, "Status %r\n",Status)); + DEBUG((DEBUG_INFO, "KernelFfsBuffer %x\n",KernelFfsBuffer)); + DEBUG((DEBUG_INFO, "KernelFfsSize %x\n",KernelFfsSize)); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve kernel; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded kernel to buffer at 0x%p with size 0x%X.\n", KernelFfsBuffer, KernelFfsSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", + MIN(KernelFfsSize, 0x100))); + + DumpHex(2, 0, MIN(0x100, KernelFfsSize), KernelFfsBuffer); + + // Create a LoadImage protocol for the kernel + Status = gBS->LoadImage(TRUE, gImageHandle, NULL, KernelFfsBuffer, KernelFfsSize, &KernelHandle); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not create LoadImage for kernel %r\n", Status)); + goto FatalError; + } + + // Get the new LoadedImage protocol to retrieve information about the kernel + Status = gBS->HandleProtocol(KernelHandle, &gEfiLoadedImageProtocolGuid, (VOID **) &LoadedImage); + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not get kernel LoadedImage protocol; %r\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Kernel LoadedImage information:\n")); + DEBUG((DEBUG_INFO, " ImageBase = 0x%p\n", LoadedImage->ImageBase)); + DEBUG((DEBUG_INFO, " ImageSize = 0x%p\n", + LoadedImage->ImageSize)); + + // Verify the kernel boot parameters from the LoadedImage and allocate an initalization buffer once verified + BootParams = (struct boot_params*) LoadedImage->ImageBase; + + Status = LoadLinuxCheckKernelSetup((VOID *) BootParams, sizeof(struct boot_params)); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "LoadLinuxCheckKernelSetup failed; %r.\n", Status)); + goto FatalError; + } + + HandoverParams = LoadLinuxAllocateKernelSetupPages(EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (HandoverParams == NULL) { + DEBUG((DEBUG_ERROR, "Could not allocate memory for kernel handover parameters.\n")); + goto FatalError; + } + DEBUG((DEBUG_INFO, "Handover parameters allocated at 0x%p\n", + HandoverParams)); + + gBS->CopyMem(&HandoverParams->hdr, &BootParams->hdr, sizeof(struct + setup_header)); + + Status = LoadLinuxInitializeKernelSetup(HandoverParams); + if (EFI_ERROR (Status)) { + DEBUG((DEBUG_ERROR, "Unable to initialize the handover parameters; %r.\n", Status)); + goto FatalError; + } + + // Allocate space for the kernel and copy it into the new buffer + KernelBuffer = LoadLinuxAllocateKernelPages(HandoverParams, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (KernelBuffer == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for kernel.\n")); + goto FatalError; + } + + StartOffset = (HandoverParams->hdr.setup_secs + 1) * 512; + KernelLength = (UINT32) (KernelFfsSize - StartOffset); + Temp = (UINT8 *) LoadedImage->ImageBase; + + DEBUG((DEBUG_INFO, "Kernel starts at offset 0x%X with length + 0x%X\n", StartOffset, KernelLength)); + + gBS->CopyMem(KernelBuffer, (Temp + StartOffset), KernelLength); + DEBUG((DEBUG_INFO, "First 0x%X bytes of new kernel buffer + contents:\n", MIN(0x100, KernelLength))); + + DumpHex(2, 0, MIN(0x100, KernelLength), KernelBuffer); + + // Prepare the command line + Status = LoadLinuxSetCommandLine(HandoverParams, (UINT8 *) &CmdLine); + if (EFI_ERROR (Status)) { + DEBUG((EFI_D_INFO, "Unable to set linux command line; %r.\n", Status)); + goto FatalError; + } + + HandoverParams->hdr.code32_start = (UINT32)(UINTN) KernelBuffer; + HandoverParams->hdr.loader_id = 0x21; + + DEBUG((DEBUG_INFO, "Kernel loaded.\n")); + +#if 1 +//#if defined(INTEGRATED_INITRAM_FS) && (INTEGRATED_INITRAM_FS ==0) + /// + /// Initrd load and preparation + /// + DEBUG((DEBUG_INFO, "Preparing the initrd...\n")); + + // Retrieve the initrd from the firmware volume + Status = GetSectionFromAnyFv( + &gLinuxBootInitrdFileGuid, + EFI_SECTION_RAW, + 0, + &InitrdBuffer, + &InitrdSize + ); + + if (EFI_ERROR(Status)) { + DEBUG((DEBUG_ERROR, "Could not retrieve initrd; %r.\n", Status)); + goto FatalError; + } + + DEBUG((DEBUG_INFO, "Loaded initrd to buffer at 0x%p with size 0x%X.\n", InitrdBuffer, InitrdSize)); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdBuffer); + + // Allocate the initrd for the kernel and copy it in + InitrdData = LoadLinuxAllocateInitrdPages(HandoverParams, EFI_SIZE_TO_PAGES(InitrdSize)); + if (InitrdData == NULL) { + DEBUG((DEBUG_ERROR, "Unable to allocate memory for initrd.\n")); + goto FatalError; + } + + gBS->CopyMem(InitrdData, InitrdBuffer, InitrdSize); + + HandoverParams->hdr.ramdisk_start = (UINT32)(UINTN) InitrdData; + HandoverParams->hdr.ramdisk_len = (UINT32) InitrdSize; + + DEBUG((DEBUG_INFO, "Initrd loaded.\n")); + DEBUG((DEBUG_INFO, "Printing first 0x%X bytes of initrd buffer:\n", MIN(0x100, InitrdSize))); + DumpHex(2, 0, MIN(0x100, InitrdSize), InitrdData); + + // General cleanup before launching the kernel + gBS->FreePool(InitrdBuffer); + InitrdBuffer = NULL; +#endif + + gBS->UnloadImage(KernelHandle); + gBS->FreePool(KernelFfsBuffer); + KernelFfsBuffer = NULL; + + DEBUG((DEBUG_ERROR, "Launching the kernel\n")); + + + // + // Signal the EFI_EVENT_GROUP_READY_TO_BOOT event. + // + EfiSignalEventReadyToBoot(); + + + // Launch the kernel + Status = LoadLinux(KernelBuffer, HandoverParams); + + /// + /// LoadLinux should never return if the kernel boots. Anything past here is an error scenario + /// + DEBUG((DEBUG_ERROR, "ERROR: LoadLinux has returned with status; + %r.\n", Status)); + +FatalError: + // Free everything + if (InitrdData != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) InitrdData, EFI_SIZE_TO_PAGES(InitrdSize)); + if (KernelBuffer != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) KernelBuffer, EFI_SIZE_TO_PAGES(HandoverParams->hdr.init_size)); + if (HandoverParams != NULL) gBS->FreePages((EFI_PHYSICAL_ADDRESS) HandoverParams, EFI_SIZE_TO_PAGES(KERNEL_SETUP_SIZE)); + if (InitrdBuffer != NULL) gBS->FreePool(InitrdBuffer); + if (KernelHandle != NULL) gBS->UnloadImage(KernelHandle); + if (KernelFfsBuffer != NULL) gBS->FreePool(KernelFfsBuffer); + + return EFI_NOT_FOUND; +} + +/** + * This is the main function for this feature. This will handle +finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + EFI_STATUS Status = EFI_SUCCESS; + + // Finish BDS and then try to launch the kernel + //Status = CompleteBdsTasks(); + + if (!EFI_ERROR(Status)) { + LoadAndLaunchKernel(); + } + + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + DEBUG((DEBUG_ERROR, " ERROR: Kernel failed to launch.\n")); + DEBUG((DEBUG_ERROR, "-----------------------------------\n")); + return Status; +} + +//--------------------------------------------------------------------- +------ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h new file mode 100644 index 0000000000..479fb8cbfd --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.h @@ -0,0 +1,193 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * Header for library definitions and prototypes. + * + */ + +#ifndef __LINUX_BOOT_PRIVATE__H__ +#define __LINUX_BOOT_PRIVATE__H__ +#ifdef __cplusplus +extern "C" { +#endif // #ifdef __cplusplus + +//--------------------------------------------------------------------- +------ + +//#include <Token.h> + +#define BOOTSIG 0x1FE +#define SETUP_HDR 0x53726448 /* 0x53726448 == "HdrS" */ + +#define E820_RAM 1 +#define E820_RESERVED 2 +#define E820_ACPI 3 +#define E820_NVS 4 +#define E820_UNUSABLE 5 + +#pragma pack(1) + +struct setup_header { + UINT8 setup_secs; /* Sectors for setup code */ + UINT16 root_flags; + UINT32 sys_size; + UINT16 ram_size; + UINT16 video_mode; + UINT16 root_dev; + UINT16 signature; /* Boot signature */ + UINT16 jump; + UINT32 header; + UINT16 version; + UINT16 su_switch; + UINT16 setup_seg; + UINT16 start_sys; + UINT16 kernel_ver; + UINT8 loader_id; + UINT8 load_flags; + UINT16 movesize; + UINT32 code32_start; /* Start of code loaded high */ + UINT32 ramdisk_start; /* Start of initial ramdisk */ + UINT32 ramdisk_len; /* Length of initial ramdisk */ + UINT32 bootsect_kludge; + UINT16 heap_end; + UINT8 ext_loader_ver; /* Extended boot loader version */ + UINT8 ext_loader_type; /* Extended boot loader ID */ + UINT32 cmd_line_ptr; /* 32-bit pointer to the kernel command line */ + UINT32 ramdisk_max; /* Highest legal initrd address */ + UINT32 kernel_alignment; /* Physical addr alignment required for kernel */ + UINT8 relocatable_kernel; /* Whether kernel is relocatable or not */ + UINT8 min_alignment; + UINT16 xloadflags; + UINT32 cmdline_size; + UINT32 hardware_subarch; + UINT64 hardware_subarch_data; + UINT32 payload_offset; + UINT32 payload_length; + UINT64 setup_data; + UINT64 pref_address; + UINT32 init_size; + UINT32 handover_offset; +}; + +struct efi_info { + UINT32 efi_loader_signature; + UINT32 efi_systab; + UINT32 efi_memdesc_size; + UINT32 efi_memdesc_version; + UINT32 efi_memmap; + UINT32 efi_memmap_size; + UINT32 efi_systab_hi; + UINT32 efi_memmap_hi; +}; + +struct e820_entry { + UINT64 addr; /* start of memory segment */ + UINT64 size; /* size of memory segment */ + UINT32 type; /* type of memory segment */ +}; + +struct screen_info { + UINT8 orig_x; /* 0x00 */ + UINT8 orig_y; /* 0x01 */ + UINT16 ext_mem_k; /* 0x02 */ + UINT16 orig_video_page; /* 0x04 */ + UINT8 orig_video_mode; /* 0x06 */ + UINT8 orig_video_cols; /* 0x07 */ + UINT8 flags; /* 0x08 */ + UINT8 unused2; /* 0x09 */ + UINT16 orig_video_ega_bx;/* 0x0a */ + UINT16 unused3; /* 0x0c */ + UINT8 orig_video_lines; /* 0x0e */ + UINT8 orig_video_isVGA; /* 0x0f */ + UINT16 orig_video_points;/* 0x10 */ + + /* VESA graphic mode -- linear frame buffer */ + UINT16 lfb_width; /* 0x12 */ + UINT16 lfb_height; /* 0x14 */ + UINT16 lfb_depth; /* 0x16 */ + UINT32 lfb_base; /* 0x18 */ + UINT32 lfb_size; /* 0x1c */ + UINT16 cl_magic, cl_offset; /* 0x20 */ + UINT16 lfb_linelength; /* 0x24 */ + UINT8 red_size; /* 0x26 */ + UINT8 red_pos; /* 0x27 */ + UINT8 green_size; /* 0x28 */ + UINT8 green_pos; /* 0x29 */ + UINT8 blue_size; /* 0x2a */ + UINT8 blue_pos; /* 0x2b */ + UINT8 rsvd_size; /* 0x2c */ + UINT8 rsvd_pos; /* 0x2d */ + UINT16 vesapm_seg; /* 0x2e */ + UINT16 vesapm_off; /* 0x30 */ + UINT16 pages; /* 0x32 */ + UINT16 vesa_attributes; /* 0x34 */ + UINT32 capabilities; /* 0x36 */ + UINT8 _reserved[6]; /* 0x3a */ +}; + +struct boot_params { + struct screen_info screen_info; + UINT8 apm_bios_info[0x14]; + UINT8 _pad2[4]; + UINT64 tboot_addr; + UINT8 ist_info[0x10]; + UINT8 _pad3[16]; + UINT8 hd0_info[16]; + UINT8 hd1_info[16]; + UINT8 sys_desc_table[0x10]; + UINT8 olpc_ofw_header[0x10]; + UINT8 _pad4[128]; + UINT8 edid_info[0x80]; + struct efi_info efi_info; + UINT32 alt_mem_k; + UINT32 scratch; + UINT8 e820_entries; + UINT8 eddbuf_entries; + UINT8 edd_mbr_sig_buf_entries; + UINT8 _pad6[6]; + struct setup_header hdr; + UINT8 _pad7[0x290-0x1f1-sizeof(struct setup_header)]; + UINT32 edd_mbr_sig_buffer[16]; + struct e820_entry e820_map[128]; + UINT8 _pad8[48]; + UINT8 eddbuf[0x1ec]; + UINT8 _pad9[276]; +}; +#pragma pack () + +//--------------------------------------------------------------------- +------ + +#ifndef MIN +#define MIN(x,y) ((x) < (y) ? (x) : (y)) +#endif // #ifndef MIN + +#define KERNEL_SETUP_SIZE 16384 + +//--------------------------------------------------------------------- +------ + +/// +/// Function prototypes from Bds module /// VOID ConnectEverything(); +VOID RecoverTheMemoryAbove4Gb(); VOID SignalAllDriversConnectedEvent(); +VOID SignalProtocolEvent(IN EFI_GUID *ProtocolGuid); + +#if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 +VOID SignalExitPmAuthProtocolEvent(VOID); +#endif // #if LINUXBOOT_SIGNAL_EXITPMAUTH == 1 + +typedef VOID (BDS_CONTROL_FLOW_FUNCTION)(); + +//--------------------------------------------------------------------- +------ + +/****** DO NOT WRITE BELOW THIS LINE *******/ #ifdef __cplusplus } +#endif // #ifdef __cplusplus #endif // #ifndef +__LINUX_BOOT_PRIVATE__H__ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf new file mode 100644 index 0000000000..62e09a75c8 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBoot.inf @@ -0,0 +1,46 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 74a41ddc-fac5-4787-afad-d81ee30a8b63 # {0x74a41ddc, 0xfac5, 0x4787, {0xaf, 0xad, 0xd8, 0x1e, 0xe3, 0x0a, 0x8b, 0x63}} + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBoot.c + LinuxBoot.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + MinPlatformPkg/MinPlatformPkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib + BaseMemoryLib + DebugLib + UefiRuntimeServicesTableLib + UefiBootServicesTableLib + UefiLib + LoadLinuxLib + +[Guids] + +[Protocols] + gEfiLoadedImageProtocolGuid + +[Pcd] diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c new file mode 100644 index 0000000000..fa6ea117f4 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.c @@ -0,0 +1,43 @@ +/** @file + +Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +/** + * + * This library will load the Linux kernel and initrd from the BIOS and launch it. + * + */ + +//--------------------------------------------------------------------- +------ + +#include <PiDxe.h> +#include <Uefi.h> +#include <Library/BaseLib.h> +#include <Library/UefiBootServicesTableLib.h> + + +/** + * This is the main function for this feature. This will handle +finding and launching + * the Linux kernel. + * + * @note In general, this function will never return to BDS. The LINUXBOOT_ALLOW_RETURN_TO_BDS + * token will allow you to return to BDS if the kernel fails to launch for some reason. + * + * @param None + * + * @retval None + */ + +EFI_STATUS +LinuxBootStart ( + VOID + ) +{ + + return EFI_SUCCESS; +} + +//--------------------------------------------------------------------- +------ diff --git a/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf new file mode 100644 index 0000000000..3ed53c6ba0 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/LinuxBootPkg/LinuxBootNull.inf @@ -0,0 +1,31 @@ +## @file +# +# Copyright (c) 2021, American Megatrends International LLC. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +## +# +# This library links with the Bds module to launch the Linux kernel. +# +## + +[Defines] + INF_VERSION = 0x00010005 + VERSION_STRING = 1.0 + BASE_NAME = LinuxBoot + FILE_GUID = 0551B6D3-0594-4B02-AF42-5A9C7515CEC8 + MODULE_TYPE = DXE_DRIVER + LIBRARY_CLASS = LinuxBootLib|DXE_DRIVER +[Sources] + LinuxBootNull.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + DxeServicesLib \ No newline at end of file diff --git a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec index 4dcec5430b..0c1ab318b8 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec +++ b/Platform/Intel/PurleyOpenBoardPkg/OpenBoardPkg.dec @@ -49,6 +49,8 @@ gPlatformTokenSpaceGuid.PcdUpdateConsoleInBds|TRUE|BOOLEAN|0x30000035 + gPlatformTokenSpaceGuid.PcdLinuxBootEnable|FALSE|BOOLEAN|0x30000036 + [PcdsDynamicEx] gPlatformTokenSpaceGuid.PcdDfxAdvDebugJumper|FALSE|BOOLEAN|0x6000001D diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c index b3b8ceba6f..bd0509ab10 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatf +++ ormPkg/Bds/Library/DxePlatformBootManagerLib/BdsPlatform.c @@ -2,6 +2,7 @@ This file include all platform action which can be customized by IBV/OEM. Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -31,6 +32,12 @@ BOOLEAN gPPRequireUIConfirm; extern UINTN mBootMenuOptionNumber; +EFI_STATUS +LinuxBootStart ( + VOID + ); + + GLOBAL_REMOVE_IF_UNREFERENCED USB_CLASS_FORMAT_DEVICE_PATH gUsbClassKeyboardDevicePath = { { { @@ -1268,6 +1275,8 @@ PlatformBootManagerAfterConsole ( LocalBootMode = gBootMode; DEBUG ((DEBUG_INFO, "Current local bootmode - %x\n", LocalBootMode)); + LinuxBootStart(); + // // Go the different platform policy with different boot mode // Notes: this part code can be change with the table policy diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf index 5790743565..21ac65257c 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerLib.inf +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/Platform/Intel/MinPlatf +++ ormPkg/Bds/Library/DxePlatformBootManagerLib/DxePlatformBootManagerL +++ ib.inf @@ -2,6 +2,7 @@ # Component name for module DxePlatformBootManagerLib # # Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2021, American Megatrends International LLC.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -40,6 +41,7 @@ PerformanceLib TimerLib Tcg2PhysicalPresenceLib + LinuxBootLib [Packages] MdePkg/MdePkg.dec diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index 06c5f32b1e..a34784ccb8 100644 --- a/Platform/Intel/Readme.md +++ b/Platform/Intel/Readme.md @@ -87,6 +87,11 @@ A UEFI firmware implementation using MinPlatformPkg is constructed using the fol ----------------------------------------|--------------------------------------------|------------------------------|--------------------| | Mt. Olympus | Purley | PurleyOpenBoardPkg | BoardMtOlympus | +| Machine Name | Supported Chipsets | BoardPkg | Board Name | +----------------------------------------|--------------------------------------------|------------------------------|--------------------| +| TiogaPass | Purley | PurleyOpenBoardPkg | BoardTiogaPass | + + #### Simics | Machine Name | Supported Chipsets | BoardPkg | Board Name | @@ -250,6 +255,12 @@ return back to the minimum platform caller. | | | | build settings, environment variables. | | | |---build_board.py: Optional board-specific pre-build, | | | build, post-build and clean functions. + | | |------PurleyOpenBoardPkg + | | | |------BoardTiogaPass + | | | |---build_config.cfg: BoardTiogaPass specific + | | | | build settings, environment variables. + | | | |---build_board.py: Optional board-specific pre-build, + | | | build, post-build and clean functions. | | | | | |------SimicsOpenBoardPkg | | | |------BoardX58Ich10 @@ -292,6 +303,18 @@ For PurleyOpenBoardPkg "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, used "BinCache" as default path. +For PurleyOpenBoardPkg (TiogaPass) +1. Open command window, go to the workspace directory, e.g. c:\Edk2Workspace. +2. Type "cd edk2-platforms\Platform\Intel\PurleyOpenBoardPkg\BoardTiogaPass". +3. Type "GitEdk2MinBoardTiogaPass.bat" to setup GIT environment. +4. Type "bld" to build Purley BoardTiogaPass board UEFI firmware image, "bld release" for release build, "bld clean" to + remove intermediate files."bld cache-produce" Generate a cache of binary files in the specified directory, + "bld cache-consume" Consume a cache of binary files from the specified directory, BINARY_CACHE_PATH is empty, + used "BinCache" as default path. +5. Final BIOS image will be Build\PurleyOpenBoardPkg\BoardTiagoPass\DEBUG_VS2015x86\FV\PLATFORM.fd or + Build\PurleyOpenBoardPkg\BoardTiagoPass\RELEASE_VS2015x86\FV\PLATFORM.fd, depending on bld batch script input. +6. This BIOS image needs to be merged with SPS FW + ### **Known limitations** **KabylakeOpenBoardPkg** @@ -307,6 +330,25 @@ For PurleyOpenBoardPkg 2. This firmware project does not build with the GCC compiler. 3. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +**PurleyOpenBoardPkg Tioga Pass ** +1. This firmware project has only been tested on the Tioga Pass hardware. +2. This firmware project build has only been tested using the Microsoft Visual Studio 2015 build tools. +3. This firmware project does not build with the GCC compiler. +4. The validated version of iASL compiler that can build MinPurley is 20180629. Older versions may generate ACPI build errors. +5. Installed and booted to UEFI Windows 2016 on M.2 NVME slot 6. +Installed and booted to UEFI Windows 2019 on M.2 NVME slot and with SATA HDD. +7. Installed and booted to UEFI RHEL 7.3 on SATA HDD 8. Installed and +booted to Ubuntu 18.04 on M.2 NVME slot. +9. Verified Mellanox card detection during POST and OS 10. LINUX Boot +Support (PcdLinuxBootEnable needs to be enabled) + +1. Follow directions on https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fosresearch.net%2FBuilding%2F&data=04%7C01%7Cmanickavasakamk%40ami.com%7C0e17ba01178e4475fd4608d9380b131f%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C637602442487974382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ancbqqKtQUlzJJLmDOfpIOQdZ2UNIZRd74njHBEkeLk%3D&reserved=0 to compile the heads kernel and initrd for qemu-system_x86_64 +2. Copy the following built files +(1) initrd.cpio.xz to LinuxBootPkg/LinuxBinaries/initrd.cpio.xz +(2) bzimage to LinuxBootPkg/LinuxBinaries/linux.efi + + + **SimicsOpenBoardPkg** 1. This firmware project has only been tested booting to Microsoft Windows 10 x64 and Ubuntu 17.10 with AHCI mode. -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. GitPatchExtractor 1.1 -The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver. @ 2021-06-16 21:47 manickavasakam karpagavinayagam 2021-07-29 2:10 ` Nate DeSimone 0 siblings, 1 reply; 11+ messages in thread From: manickavasakam karpagavinayagam @ 2021-06-16 21:47 UTC (permalink / raw) To: devel Cc: isaac.w.oram, nathaniel.l.desimone, Felixp, Harikrishnad, manishj, zacharyb, manickavasakamk Overriden generic PciBus Driver with Platform specific instance of PciBus driver To skip SPI controller initialization during PCI enumeration to avoid SET variable assert issue during POST To skip executing a specific MLX card UEFI OPROM Move PurleyOpenBoardPkg/Override/edk2/MdeModulePkg/Bus/Pci/PciBusDxe to PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe --- .../BoardTiogaPass/CoreDxeInclude.dsc | 5 +- .../BoardTiogaPass/CoreUefiBootInclude.fdf | 5 +- .../Bus/Pci/PciBusDxe/ComponentName.c | 170 + .../Bus/Pci/PciBusDxe/ComponentName.h | 146 + .../MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c | 460 +++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h | 396 +++ .../Bus/Pci/PciBusDxe/PciBusDxe.inf | 112 + .../Bus/Pci/PciBusDxe/PciBusDxe.uni | 16 + .../Bus/Pci/PciBusDxe/PciBusDxeExtra.uni | 14 + .../Bus/Pci/PciBusDxe/PciCommand.c | 267 ++ .../Bus/Pci/PciBusDxe/PciCommand.h | 232 ++ .../Bus/Pci/PciBusDxe/PciDeviceSupport.c | 1056 ++++++ .../Bus/Pci/PciBusDxe/PciDeviceSupport.h | 266 ++ .../Bus/Pci/PciBusDxe/PciDriverOverride.c | 188 ++ .../Bus/Pci/PciBusDxe/PciDriverOverride.h | 83 + .../Bus/Pci/PciBusDxe/PciEnumerator.c | 2210 +++++++++++++ .../Bus/Pci/PciBusDxe/PciEnumerator.h | 515 +++ .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 2885 +++++++++++++++++ .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.h | 480 +++ .../Bus/Pci/PciBusDxe/PciHotPlugSupport.c | 484 +++ .../Bus/Pci/PciBusDxe/PciHotPlugSupport.h | 205 ++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c | 2087 ++++++++++++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h | 660 ++++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c | 1809 +++++++++++ .../MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h | 179 + .../Bus/Pci/PciBusDxe/PciOptionRomSupport.c | 776 +++++ .../Bus/Pci/PciBusDxe/PciOptionRomSupport.h | 136 + .../Bus/Pci/PciBusDxe/PciPowerManagement.c | 82 + .../Bus/Pci/PciBusDxe/PciPowerManagement.h | 28 + .../Bus/Pci/PciBusDxe/PciResourceSupport.c | 2292 +++++++++++++ .../Bus/Pci/PciBusDxe/PciResourceSupport.h | 456 +++ .../Bus/Pci/PciBusDxe/PciRomTable.c | 135 + .../Bus/Pci/PciBusDxe/PciRomTable.h | 48 + 33 files changed, 18881 insertions(+), 2 deletions(-) create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c create mode 100644 Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc index 7dcb892dd5..b0660d72dd 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc @@ -78,7 +78,10 @@ PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf #MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf - MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override START :Skip OPROM for specific Mellanox card & SPI Controller + #MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override END MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf index 478a818546..141ce5dda3 100644 --- a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf +++ b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclude.fdf @@ -42,7 +42,10 @@ INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf #INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf -INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override START :Skip OPROM for specific Mellanox card & SPI Controller + #INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + INF $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +#TiogaPass Override END INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c new file mode 100644 index 0000000000..f3554507e2 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.c @@ -0,0 +1,170 @@ +/** @file + EFI Component Name functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// EFI Component Name Protocol +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName = { + PciBusComponentNameGetDriverName, + PciBusComponentNameGetControllerName, + "eng" +}; + +// +// EFI Component Name 2 Protocol +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2 = { + (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) PciBusComponentNameGetDriverName, + (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) PciBusComponentNameGetControllerName, + "en" +}; + + +GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mPciBusDriverNameTable[] = { + { "eng;en", (CHAR16 *) L"PCI Bus Driver" }, + { NULL , NULL } +}; + +/** + Retrieves a Unicode string that is the user readable name of the driver. + + This function retrieves the user readable name of a driver in the form of a + Unicode string. If the driver specified by This has a user readable name in + the language specified by Language, then a pointer to the driver name is + returned in DriverName, and EFI_SUCCESS is returned. If the driver specified + by This does not support the language specified by Language, + then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified + in RFC 4646 or ISO 639-2 language code format. + + @param DriverName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + driver specified by This in the language + specified by Language. + + @retval EFI_SUCCESS The Unicode string for the Driver specified by + This and the language specified by Language was + returned in DriverName. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER DriverName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetDriverName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN CHAR8 *Language, + OUT CHAR16 **DriverName + ) +{ + return LookupUnicodeString2 ( + Language, + This->SupportedLanguages, + mPciBusDriverNameTable, + DriverName, + (BOOLEAN)(This == &gPciBusComponentName) + ); +} + +/** + Retrieves a Unicode string that is the user readable name of the controller + that is being managed by a driver. + + This function retrieves the user readable name of the controller specified by + ControllerHandle and ChildHandle in the form of a Unicode string. If the + driver specified by This has a user readable name in the language specified by + Language, then a pointer to the controller name is returned in ControllerName, + and EFI_SUCCESS is returned. If the driver specified by This is not currently + managing the controller specified by ControllerHandle and ChildHandle, + then EFI_UNSUPPORTED is returned. If the driver specified by This does not + support the language specified by Language, then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param ControllerHandle[in] The handle of a controller that the driver + specified by This is managing. This handle + specifies the controller whose name is to be + returned. + + @param ChildHandle[in] The handle of the child controller to retrieve + the name of. This is an optional parameter that + may be NULL. It will be NULL for device + drivers. It will also be NULL for a bus drivers + that wish to retrieve the name of the bus + controller. It will not be NULL for a bus + driver that wishes to retrieve the name of a + child controller. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified in + RFC 4646 or ISO 639-2 language code format. + + @param ControllerName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + controller specified by ControllerHandle and + ChildHandle in the language specified by + Language from the point of view of the driver + specified by This. + + @retval EFI_SUCCESS The Unicode string for the user readable name in + the language specified by Language for the + driver specified by This was returned in + DriverName. + + @retval EFI_INVALID_PARAMETER ControllerHandle is NULL. + + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid + EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER ControllerName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This is not currently + managing the controller specified by + ControllerHandle and ChildHandle. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetControllerName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE ChildHandle OPTIONAL, + IN CHAR8 *Language, + OUT CHAR16 **ControllerName + ) +{ + return EFI_UNSUPPORTED; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h new file mode 100644 index 0000000000..fc3c672760 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/ComponentName.h @@ -0,0 +1,146 @@ +/** @file + EFI Component Name functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_BUS_COMPONENT_NAME_H_ +#define _EFI_PCI_BUS_COMPONENT_NAME_H_ + +extern EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName; +extern EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2; + +// +// EFI Component Name Functions +// +/** + Retrieves a Unicode string that is the user readable name of the driver. + + This function retrieves the user readable name of a driver in the form of a + Unicode string. If the driver specified by This has a user readable name in + the language specified by Language, then a pointer to the driver name is + returned in DriverName, and EFI_SUCCESS is returned. If the driver specified + by This does not support the language specified by Language, + then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified + in RFC 4646 or ISO 639-2 language code format. + + @param DriverName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + driver specified by This in the language + specified by Language. + + @retval EFI_SUCCESS The Unicode string for the Driver specified by + This and the language specified by Language was + returned in DriverName. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER DriverName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetDriverName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN CHAR8 *Language, + OUT CHAR16 **DriverName + ); + + +/** + Retrieves a Unicode string that is the user readable name of the controller + that is being managed by a driver. + + This function retrieves the user readable name of the controller specified by + ControllerHandle and ChildHandle in the form of a Unicode string. If the + driver specified by This has a user readable name in the language specified by + Language, then a pointer to the controller name is returned in ControllerName, + and EFI_SUCCESS is returned. If the driver specified by This is not currently + managing the controller specified by ControllerHandle and ChildHandle, + then EFI_UNSUPPORTED is returned. If the driver specified by This does not + support the language specified by Language, then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param ControllerHandle[in] The handle of a controller that the driver + specified by This is managing. This handle + specifies the controller whose name is to be + returned. + + @param ChildHandle[in] The handle of the child controller to retrieve + the name of. This is an optional parameter that + may be NULL. It will be NULL for device + drivers. It will also be NULL for a bus drivers + that wish to retrieve the name of the bus + controller. It will not be NULL for a bus + driver that wishes to retrieve the name of a + child controller. + + @param Language[in] A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller is + requesting, and it must match one of the + languages specified in SupportedLanguages. The + number of languages supported by a driver is up + to the driver writer. Language is specified in + RFC 4646 or ISO 639-2 language code format. + + @param ControllerName[out] A pointer to the Unicode string to return. + This Unicode string is the name of the + controller specified by ControllerHandle and + ChildHandle in the language specified by + Language from the point of view of the driver + specified by This. + + @retval EFI_SUCCESS The Unicode string for the user readable name in + the language specified by Language for the + driver specified by This was returned in + DriverName. + + @retval EFI_INVALID_PARAMETER ControllerHandle is NULL. + + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid + EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER ControllerName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This is not currently + managing the controller specified by + ControllerHandle and ChildHandle. + + @retval EFI_UNSUPPORTED The driver specified by This does not support + the language specified by Language. + +**/ +EFI_STATUS +EFIAPI +PciBusComponentNameGetControllerName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE ChildHandle OPTIONAL, + IN CHAR8 *Language, + OUT CHAR16 **ControllerName + ); + + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c new file mode 100644 index 0000000000..682b2dac38 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c @@ -0,0 +1,460 @@ +/** @file + Driver Binding functions for PCI Bus module. + + Single PCI bus driver instance will manager all PCI Root Bridges in one EFI based firmware, + since all PCI Root Bridges' resources need to be managed together. + Supported() function will try to get PCI Root Bridge IO Protocol. + Start() function will get PCI Host Bridge Resource Allocation Protocol to manage all + PCI Root Bridges. So it means platform needs install PCI Root Bridge IO protocol for each + PCI Root Bus and install PCI Host Bridge Resource Allocation Protocol. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// PCI Bus Driver Global Variables +// +EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding = { + PciBusDriverBindingSupported, + PciBusDriverBindingStart, + PciBusDriverBindingStop, + 0xa, + NULL, + NULL +}; + +EFI_HANDLE gPciHostBrigeHandles[PCI_MAX_HOST_BRIDGE_NUM]; +EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *gIncompatiblePciDeviceSupport = NULL; +UINTN gPciHostBridgeNumber = 0; +BOOLEAN gFullEnumeration = TRUE; +UINT64 gAllOne = 0xFFFFFFFFFFFFFFFFULL; +UINT64 gAllZero = 0; + +EFI_PCI_PLATFORM_PROTOCOL *gPciPlatformProtocol; +EFI_PCI_OVERRIDE_PROTOCOL *gPciOverrideProtocol; +EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; +EDKII_DEVICE_SECURITY_PROTOCOL *mDeviceSecurityProtocol; + +GLOBAL_REMOVE_IF_UNREFERENCED EFI_PCI_HOTPLUG_REQUEST_PROTOCOL mPciHotPlugRequest = { + PciHotPlugRequestNotify +}; + +/** + The Entry Point for PCI Bus module. The user code starts with this function. + + Installs driver module protocols and. Creates virtual device handles for ConIn, + ConOut, and StdErr. Installs Simple Text In protocol, Simple Text In Ex protocol, + Simple Pointer protocol, Absolute Pointer protocol on those virtual handlers. + Installs Graphics Output protocol and/or UGA Draw protocol if needed. + + @param[in] ImageHandle The firmware allocated handle for the EFI image. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval other Some error occurred when executing this entry point. + +**/ +EFI_STATUS +EFIAPI +PciBusEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_HANDLE Handle; + + // + // Initializes PCI devices pool + // + InitializePciDevicePool (); + + // + // Install driver model protocol(s). + // + Status = EfiLibInstallDriverBindingComponentName2 ( + ImageHandle, + SystemTable, + &gPciBusDriverBinding, + ImageHandle, + &gPciBusComponentName, + &gPciBusComponentName2 + ); + ASSERT_EFI_ERROR (Status); + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // If Hot Plug is supported, install EFI PCI Hot Plug Request protocol. + // + Handle = NULL; + Status = gBS->InstallProtocolInterface ( + &Handle, + &gEfiPciHotPlugRequestProtocolGuid, + EFI_NATIVE_INTERFACE, + &mPciHotPlugRequest + ); + } + + return Status; +} + +/** + Test to see if this driver supports ControllerHandle. Any ControllerHandle + than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be supported. + + @param This Protocol instance pointer. + @param Controller Handle of device to test. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver supports this device. + @retval EFI_ALREADY_STARTED This driver is already running on this device. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingSupported ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ) +{ + EFI_STATUS Status; + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + EFI_DEV_PATH_PTR Node; + + // + // Check RemainingDevicePath validation + // + if (RemainingDevicePath != NULL) { + // + // Check if RemainingDevicePath is the End of Device Path Node, + // if yes, go on checking other conditions + // + if (!IsDevicePathEnd (RemainingDevicePath)) { + // + // If RemainingDevicePath isn't the End of Device Path Node, + // check its validation + // + Node.DevPath = RemainingDevicePath; + if (Node.DevPath->Type != HARDWARE_DEVICE_PATH || + Node.DevPath->SubType != HW_PCI_DP || + DevicePathNodeLength(Node.DevPath) != sizeof(PCI_DEVICE_PATH)) { + return EFI_UNSUPPORTED; + } + } + } + + // + // Check if Pci Root Bridge IO protocol is installed by platform + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + This->DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + if (Status == EFI_ALREADY_STARTED) { + return EFI_SUCCESS; + } + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Close the I/O Abstraction(s) used to perform the supported test + // + gBS->CloseProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + This->DriverBindingHandle, + Controller + ); + + // + // Open the EFI Device Path protocol needed to perform the supported test + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + (VOID **) &ParentDevicePath, + This->DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + if (Status == EFI_ALREADY_STARTED) { + return EFI_SUCCESS; + } + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Close protocol, don't use device path protocol in the Support() function + // + gBS->CloseProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + This->DriverBindingHandle, + Controller + ); + + return EFI_SUCCESS; +} + +/** + Start this driver on ControllerHandle and enumerate Pci bus and start + all device under PCI bus. + + @param This Protocol instance pointer. + @param Controller Handle of device to bind driver to. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver is added to ControllerHandle. + @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStart ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ) +{ + EFI_STATUS Status; + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + // + // Initialize PciRootBridgeIo to suppress incorrect compiler warning. + // + PciRootBridgeIo = NULL; + + // + // Check RemainingDevicePath validation + // + if (RemainingDevicePath != NULL) { + // + // Check if RemainingDevicePath is the End of Device Path Node, + // if yes, return EFI_SUCCESS + // + if (IsDevicePathEnd (RemainingDevicePath)) { + return EFI_SUCCESS; + } + } + + gBS->LocateProtocol ( + &gEfiIncompatiblePciDeviceSupportProtocolGuid, + NULL, + (VOID **) &gIncompatiblePciDeviceSupport + ); + + // + // If PCI Platform protocol is available, get it now. + // If the platform implements this, it must be installed before BDS phase + // + gPciPlatformProtocol = NULL; + gBS->LocateProtocol ( + &gEfiPciPlatformProtocolGuid, + NULL, + (VOID **) &gPciPlatformProtocol + ); + + // + // If PCI Platform protocol doesn't exist, try to Pci Override Protocol. + // + if (gPciPlatformProtocol == NULL) { + gPciOverrideProtocol = NULL; + gBS->LocateProtocol ( + &gEfiPciOverrideProtocolGuid, + NULL, + (VOID **) &gPciOverrideProtocol + ); + } + + if (mIoMmuProtocol == NULL) { + gBS->LocateProtocol ( + &gEdkiiIoMmuProtocolGuid, + NULL, + (VOID **) &mIoMmuProtocol + ); + } + + if (mDeviceSecurityProtocol == NULL) { + gBS->LocateProtocol ( + &gEdkiiDeviceSecurityProtocolGuid, + NULL, + (VOID **) &mDeviceSecurityProtocol + ); + } + + if (PcdGetBool (PcdPciDisableBusEnumeration)) { + gFullEnumeration = FALSE; + } else { + gFullEnumeration = (BOOLEAN) ((SearchHostBridgeHandle (Controller) ? FALSE : TRUE)); + } + + // + // Open Device Path Protocol for PCI root bridge + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + (VOID **) &ParentDevicePath, + This->DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + ASSERT_EFI_ERROR (Status); + + // + // Report Status Code to indicate PCI bus starts + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + (EFI_IO_BUS_PCI | EFI_IOB_PC_INIT), + ParentDevicePath + ); + + Status = EFI_SUCCESS; + // + // Enumerate the entire host bridge + // After enumeration, a database that records all the device information will be created + // + // + if (gFullEnumeration) { + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (!EFI_ERROR (Status)) { + Status = PciEnumerator (Controller, PciRootBridgeIo->ParentHandle); + } + } else { + // + // If PCI bus has already done the full enumeration, never do it again + // + Status = PciEnumeratorLight (Controller); + } + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Start all the devices under the entire host bridge. + // + StartPciDevices (Controller); + + if (gFullEnumeration) { + gFullEnumeration = FALSE; + + Status = gBS->InstallProtocolInterface ( + &PciRootBridgeIo->ParentHandle, + &gEfiPciEnumerationCompleteProtocolGuid, + EFI_NATIVE_INTERFACE, + NULL + ); + ASSERT_EFI_ERROR (Status); + } + + return Status; +} + +/** + Stop this driver on ControllerHandle. Support stopping any child handles + created by this driver. + + @param This Protocol instance pointer. + @param Controller Handle of device to stop driver on. + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of + children is zero stop the entire bus driver. + @param ChildHandleBuffer List of Child Handles to Stop. + + @retval EFI_SUCCESS This driver is removed ControllerHandle. + @retval other This driver was not removed from this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStop ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN UINTN NumberOfChildren, + IN EFI_HANDLE *ChildHandleBuffer + ) +{ + EFI_STATUS Status; + UINTN Index; + BOOLEAN AllChildrenStopped; + + if (NumberOfChildren == 0) { + // + // Close the bus driver + // + gBS->CloseProtocol ( + Controller, + &gEfiDevicePathProtocolGuid, + This->DriverBindingHandle, + Controller + ); + gBS->CloseProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + This->DriverBindingHandle, + Controller + ); + + DestroyRootBridgeByHandle ( + Controller + ); + + return EFI_SUCCESS; + } + + // + // Stop all the children + // + + AllChildrenStopped = TRUE; + + for (Index = 0; Index < NumberOfChildren; Index++) { + + // + // De register all the pci device + // + Status = DeRegisterPciDevice (Controller, ChildHandleBuffer[Index]); + + if (EFI_ERROR (Status)) { + AllChildrenStopped = FALSE; + } + } + + if (!AllChildrenStopped) { + return EFI_DEVICE_ERROR; + } + + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h new file mode 100644 index 0000000000..967933e278 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h @@ -0,0 +1,396 @@ +/** @file + Header files and data structures needed by PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_BUS_H_ +#define _EFI_PCI_BUS_H_ + +#include <PiDxe.h> + +#include <Protocol/LoadedImage.h> +#include <Protocol/PciHostBridgeResourceAllocation.h> +#include <Protocol/PciIo.h> +#include <Protocol/LoadFile2.h> +#include <Protocol/PciRootBridgeIo.h> +#include <Protocol/PciHotPlugRequest.h> +#include <Protocol/DevicePath.h> +#include <Protocol/PciPlatform.h> +#include <Protocol/PciHotPlugInit.h> +#include <Protocol/Decompress.h> +#include <Protocol/BusSpecificDriverOverride.h> +#include <Protocol/IncompatiblePciDeviceSupport.h> +#include <Protocol/PciOverride.h> +#include <Protocol/PciEnumerationComplete.h> +#include <Protocol/IoMmu.h> +#include <Protocol/DeviceSecurity.h> + +#include <Library/DebugLib.h> +#include <Library/UefiDriverEntryPoint.h> +#include <Library/BaseLib.h> +#include <Library/UefiLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/ReportStatusCodeLib.h> +#include <Library/MemoryAllocationLib.h> +#include <Library/UefiBootServicesTableLib.h> +#include <Library/DevicePathLib.h> +#include <Library/PcdLib.h> + +#include <IndustryStandard/Pci.h> +#include <IndustryStandard/PeImage.h> +#include <IndustryStandard/Acpi.h> + +typedef struct _PCI_IO_DEVICE PCI_IO_DEVICE; +typedef struct _PCI_BAR PCI_BAR; + +#define EFI_PCI_RID(Bus, Device, Function) (((UINT32)Bus << 8) + ((UINT32)Device << 3) + (UINT32)Function) +#define EFI_PCI_BUS_OF_RID(RID) ((UINT32)RID >> 8) + +#define EFI_PCI_IOV_POLICY_ARI 0x0001 +#define EFI_PCI_IOV_POLICY_SRIOV 0x0002 +#define EFI_PCI_IOV_POLICY_MRIOV 0x0004 + +typedef enum { + PciBarTypeUnknown = 0, + PciBarTypeIo16, + PciBarTypeIo32, + PciBarTypeMem32, + PciBarTypePMem32, + PciBarTypeMem64, + PciBarTypePMem64, + PciBarTypeOpRom, + PciBarTypeIo, + PciBarTypeMem, + PciBarTypeMaxType +} PCI_BAR_TYPE; + +#include "ComponentName.h" +#include "PciIo.h" +#include "PciCommand.h" +#include "PciDeviceSupport.h" +#include "PciEnumerator.h" +#include "PciEnumeratorSupport.h" +#include "PciDriverOverride.h" +#include "PciRomTable.h" +#include "PciOptionRomSupport.h" +#include "PciPowerManagement.h" +#include "PciHotPlugSupport.h" +#include "PciLib.h" + +#define VGABASE1 0x3B0 +#define VGALIMIT1 0x3BB + +#define VGABASE2 0x3C0 +#define VGALIMIT2 0x3DF + +#define ISABASE 0x100 +#define ISALIMIT 0x3FF + +// +// PCI BAR parameters +// +struct _PCI_BAR { + UINT64 BaseAddress; + UINT64 Length; + UINT64 Alignment; + PCI_BAR_TYPE BarType; + BOOLEAN BarTypeFixed; + UINT16 Offset; +}; + +// +// defined in PCI Card Specification, 8.0 +// +#define PCI_CARD_MEMORY_BASE_0 0x1C +#define PCI_CARD_MEMORY_LIMIT_0 0x20 +#define PCI_CARD_MEMORY_BASE_1 0x24 +#define PCI_CARD_MEMORY_LIMIT_1 0x28 +#define PCI_CARD_IO_BASE_0_LOWER 0x2C +#define PCI_CARD_IO_BASE_0_UPPER 0x2E +#define PCI_CARD_IO_LIMIT_0_LOWER 0x30 +#define PCI_CARD_IO_LIMIT_0_UPPER 0x32 +#define PCI_CARD_IO_BASE_1_LOWER 0x34 +#define PCI_CARD_IO_BASE_1_UPPER 0x36 +#define PCI_CARD_IO_LIMIT_1_LOWER 0x38 +#define PCI_CARD_IO_LIMIT_1_UPPER 0x3A +#define PCI_CARD_BRIDGE_CONTROL 0x3E + +#define PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE BIT8 +#define PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE BIT9 + +#define RB_IO_RANGE 1 +#define RB_MEM32_RANGE 2 +#define RB_PMEM32_RANGE 3 +#define RB_MEM64_RANGE 4 +#define RB_PMEM64_RANGE 5 + +#define PPB_BAR_0 0 +#define PPB_BAR_1 1 +#define PPB_IO_RANGE 2 +#define PPB_MEM32_RANGE 3 +#define PPB_PMEM32_RANGE 4 +#define PPB_PMEM64_RANGE 5 +#define PPB_MEM64_RANGE 0xFF + +#define P2C_BAR_0 0 +#define P2C_MEM_1 1 +#define P2C_MEM_2 2 +#define P2C_IO_1 3 +#define P2C_IO_2 4 + +#define EFI_BRIDGE_IO32_DECODE_SUPPORTED 0x0001 +#define EFI_BRIDGE_PMEM32_DECODE_SUPPORTED 0x0002 +#define EFI_BRIDGE_PMEM64_DECODE_SUPPORTED 0x0004 +#define EFI_BRIDGE_IO16_DECODE_SUPPORTED 0x0008 +#define EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED 0x0010 +#define EFI_BRIDGE_MEM64_DECODE_SUPPORTED 0x0020 +#define EFI_BRIDGE_MEM32_DECODE_SUPPORTED 0x0040 + +#define PCI_MAX_HOST_BRIDGE_NUM 0x0010 + +// +// Define option for attribute +// +#define EFI_SET_SUPPORTS 0 +#define EFI_SET_ATTRIBUTES 1 + +#define PCI_IO_DEVICE_SIGNATURE SIGNATURE_32 ('p', 'c', 'i', 'o') + +struct _PCI_IO_DEVICE { + UINT32 Signature; + EFI_HANDLE Handle; + EFI_PCI_IO_PROTOCOL PciIo; + LIST_ENTRY Link; + + EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL PciDriverOverride; + EFI_DEVICE_PATH_PROTOCOL *DevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + EFI_LOAD_FILE2_PROTOCOL LoadFile2; + + // + // PCI configuration space header type + // + PCI_TYPE00 Pci; + + // + // Bus number, Device number, Function number + // + UINT8 BusNumber; + UINT8 DeviceNumber; + UINT8 FunctionNumber; + + // + // BAR for this PCI Device + // + PCI_BAR PciBar[PCI_MAX_BAR]; + + // + // The bridge device this pci device is subject to + // + PCI_IO_DEVICE *Parent; + + // + // A linked list for children Pci Device if it is bridge device + // + LIST_ENTRY ChildList; + + // + // TRUE if the PCI bus driver creates the handle for this PCI device + // + BOOLEAN Registered; + + // + // TRUE if the PCI bus driver successfully allocates the resource required by + // this PCI device + // + BOOLEAN Allocated; + + // + // The attribute this PCI device currently set + // + UINT64 Attributes; + + // + // The attributes this PCI device actually supports + // + UINT64 Supports; + + // + // The resource decode the bridge supports + // + UINT32 Decodes; + + // + // TRUE if the ROM image is from the PCI Option ROM BAR + // + BOOLEAN EmbeddedRom; + + // + // The OptionRom Size + // + UINT32 RomSize; + + // + // TRUE if all OpROM (in device or in platform specific position) have been processed + // + BOOLEAN AllOpRomProcessed; + + // + // TRUE if there is any EFI driver in the OptionRom + // + BOOLEAN BusOverride; + + // + // A list tracking reserved resource on a bridge device + // + LIST_ENTRY ReservedResourceList; + + // + // A list tracking image handle of platform specific overriding driver + // + LIST_ENTRY OptionRomDriverList; + + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *ResourcePaddingDescriptors; + EFI_HPC_PADDING_ATTRIBUTES PaddingAttributes; + + // + // Bus number ranges for a PCI Root Bridge device + // + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; + + BOOLEAN IsPciExp; + // + // For SR-IOV + // + UINT8 PciExpressCapabilityOffset; + UINT32 AriCapabilityOffset; + UINT32 SrIovCapabilityOffset; + UINT32 MrIovCapabilityOffset; + PCI_BAR VfPciBar[PCI_MAX_BAR]; + UINT32 SystemPageSize; + UINT16 InitialVFs; + UINT16 ReservedBusNum; + // + // Per PCI to PCI Bridge spec, I/O window is 4K aligned, + // but some chipsets support non-standard I/O window alignments less than 4K. + // This field is used to support this case. + // + UINT16 BridgeIoAlignment; + UINT32 ResizableBarOffset; + UINT32 ResizableBarNumber; +}; + +#define PCI_IO_DEVICE_FROM_PCI_IO_THIS(a) \ + CR (a, PCI_IO_DEVICE, PciIo, PCI_IO_DEVICE_SIGNATURE) + +#define PCI_IO_DEVICE_FROM_PCI_DRIVER_OVERRIDE_THIS(a) \ + CR (a, PCI_IO_DEVICE, PciDriverOverride, PCI_IO_DEVICE_SIGNATURE) + +#define PCI_IO_DEVICE_FROM_LINK(a) \ + CR (a, PCI_IO_DEVICE, Link, PCI_IO_DEVICE_SIGNATURE) + +#define PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS(a) \ + CR (a, PCI_IO_DEVICE, LoadFile2, PCI_IO_DEVICE_SIGNATURE) + + + +// +// Global Variables +// +extern EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *gIncompatiblePciDeviceSupport; +extern EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName; +extern EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2; +extern BOOLEAN gFullEnumeration; +extern UINTN gPciHostBridgeNumber; +extern EFI_HANDLE gPciHostBrigeHandles[PCI_MAX_HOST_BRIDGE_NUM]; +extern UINT64 gAllOne; +extern UINT64 gAllZero; +extern EFI_PCI_PLATFORM_PROTOCOL *gPciPlatformProtocol; +extern EFI_PCI_OVERRIDE_PROTOCOL *gPciOverrideProtocol; +extern BOOLEAN mReserveIsaAliases; +extern BOOLEAN mReserveVgaAliases; + +/** + Macro that checks whether device is a GFX device. + + @param _p Specified device. + + @retval TRUE Device is a GFX device. + @retval FALSE Device is not a GFX device. + +**/ +#define IS_PCI_GFX(_p) IS_CLASS2 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_OTHER) + +/** + Test to see if this driver supports ControllerHandle. Any ControllerHandle + than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be supported. + + @param This Protocol instance pointer. + @param Controller Handle of device to test. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver supports this device. + @retval EFI_ALREADY_STARTED This driver is already running on this device. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingSupported ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ); + +/** + Start this driver on ControllerHandle and enumerate Pci bus and start + all device under PCI bus. + + @param This Protocol instance pointer. + @param Controller Handle of device to bind driver to. + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver is added to ControllerHandle. + @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle. + @retval other This driver does not support this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStart ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ); + +/** + Stop this driver on ControllerHandle. Support stopping any child handles + created by this driver. + + @param This Protocol instance pointer. + @param Controller Handle of device to stop driver on. + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of + children is zero stop the entire bus driver. + @param ChildHandleBuffer List of Child Handles to Stop. + + @retval EFI_SUCCESS This driver is removed ControllerHandle. + @retval other This driver was not removed from this device. + +**/ +EFI_STATUS +EFIAPI +PciBusDriverBindingStop ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Controller, + IN UINTN NumberOfChildren, + IN EFI_HANDLE *ChildHandleBuffer + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf new file mode 100644 index 0000000000..9d999f973b --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf @@ -0,0 +1,112 @@ +## @file +# The PCI bus driver will probe all PCI devices and allocate MMIO and IO space for these devices. +# Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting. +# +# Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = PciBusDxe + MODULE_UNI_FILE = PciBusDxe.uni + FILE_GUID = 93B80004-9FB3-11d4-9A3A-0090273FC14D + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + ENTRY_POINT = PciBusEntryPoint + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 +# +# DRIVER_BINDING = gPciBusDriverBinding +# COMPONENT_NAME = gPciBusComponentName +# COMPONENT_NAME2 = gPciBusComponentName2 +# + +[Sources] + PciLib.c + PciIo.c + PciBus.c + PciDeviceSupport.c + ComponentName.c + ComponentName.h + PciCommand.c + PciResourceSupport.c + PciEnumeratorSupport.c + PciEnumerator.c + PciOptionRomSupport.c + PciDriverOverride.c + PciPowerManagement.c + PciPowerManagement.h + PciDriverOverride.h + PciRomTable.c + PciHotPlugSupport.c + PciLib.h + PciHotPlugSupport.h + PciRomTable.h + PciOptionRomSupport.h + PciEnumeratorSupport.h + PciEnumerator.h + PciResourceSupport.h + PciDeviceSupport.h + PciCommand.h + PciIo.h + PciBus.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + PcdLib + DevicePathLib + UefiBootServicesTableLib + MemoryAllocationLib + ReportStatusCodeLib + BaseMemoryLib + UefiLib + BaseLib + UefiDriverEntryPoint + DebugLib + +[Protocols] + gEfiPciHotPlugRequestProtocolGuid ## SOMETIMES_PRODUCES + gEfiPciIoProtocolGuid ## BY_START + gEfiDevicePathProtocolGuid ## BY_START + gEfiBusSpecificDriverOverrideProtocolGuid ## BY_START + gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES + gEfiDecompressProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciHotPlugInitProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciHostBridgeResourceAllocationProtocolGuid ## TO_START + gEfiPciPlatformProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciOverrideProtocolGuid ## SOMETIMES_CONSUMES + gEfiPciEnumerationCompleteProtocolGuid ## PRODUCES + gEfiPciRootBridgeIoProtocolGuid ## TO_START + gEfiIncompatiblePciDeviceSupportProtocolGuid ## SOMETIMES_CONSUMES + gEfiLoadFile2ProtocolGuid ## SOMETIMES_PRODUCES + gEdkiiIoMmuProtocolGuid ## SOMETIMES_CONSUMES + gEdkiiDeviceSecurityProtocolGuid ## SOMETIMES_CONSUMES + gEdkiiDeviceIdentifierTypePciGuid ## SOMETIMES_CONSUMES + gEfiLoadedImageDevicePathProtocolGuid ## CONSUMES + +[FeaturePcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom ## CONSUMES + +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport ## CONSUMES + +[UserExtensions.TianoCore."ExtraFiles"] + PciBusDxeExtra.uni diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni new file mode 100644 index 0000000000..81bfc2c9ef --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.uni @@ -0,0 +1,16 @@ +// /** @file +// The PCI bus driver will probe all PCI devices and allocate MMIO and IO space for these devices. +// +// Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting. +// +// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> +// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Probes all PCI devices and allocate MMIO and IO space for these devices" + +#string STR_MODULE_DESCRIPTION #language en-US "Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting." + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni new file mode 100644 index 0000000000..f6a7cdae00 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxeExtra.uni @@ -0,0 +1,14 @@ +// /** @file +// PciBusDxe Localized Strings and Content +// +// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> +// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"PCI Bus DXE Driver" + + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c new file mode 100644 index 0000000000..3111448643 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.c @@ -0,0 +1,267 @@ +/** @file + PCI command register operations supporting functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + Operate the PCI register via PciIo function interface. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + @param Command Operator command. + @param Offset The address within the PCI configuration space for the PCI controller. + @param Operation Type of Operation. + @param PtrCommand Return buffer holding old PCI command, if operation is not EFI_SET_REGISTER. + + @return Status of PciIo operation. + +**/ +EFI_STATUS +PciOperateRegister ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT8 Offset, + IN UINT8 Operation, + OUT UINT16 *PtrCommand + ) +{ + UINT16 OldCommand; + EFI_STATUS Status; + EFI_PCI_IO_PROTOCOL *PciIo; + + OldCommand = 0; + PciIo = &PciIoDevice->PciIo; + + if (Operation != EFI_SET_REGISTER) { + Status = PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + Offset, + 1, + &OldCommand + ); + + if (Operation == EFI_GET_REGISTER) { + *PtrCommand = OldCommand; + return Status; + } + } + + if (Operation == EFI_ENABLE_REGISTER) { + OldCommand = (UINT16) (OldCommand | Command); + } else if (Operation == EFI_DISABLE_REGISTER) { + OldCommand = (UINT16) (OldCommand & ~(Command)); + } else { + OldCommand = Command; + } + + return PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + Offset, + 1, + &OldCommand + ); +} + +/** + Check the capability supporting by given device. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + + @retval TRUE Capability supported. + @retval FALSE Capability not supported. + +**/ +BOOLEAN +PciCapabilitySupport ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + if ((PciIoDevice->Pci.Hdr.Status & EFI_PCI_STATUS_CAPABILITY) != 0) { + return TRUE; + } + + return FALSE; +} + +/** + Locate capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocateCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 CapId, + IN OUT UINT8 *Offset, + OUT UINT8 *NextRegBlock OPTIONAL + ) +{ + UINT8 CapabilityPtr; + UINT16 CapabilityEntry; + UINT8 CapabilityID; + + // + // To check the capability of this device supports + // + if (!PciCapabilitySupport (PciIoDevice)) { + return EFI_UNSUPPORTED; + } + + if (*Offset != 0) { + CapabilityPtr = *Offset; + } else { + + CapabilityPtr = 0; + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + + PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint8, + EFI_PCI_CARDBUS_BRIDGE_CAPABILITY_PTR, + 1, + &CapabilityPtr + ); + } else { + + PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint8, + PCI_CAPBILITY_POINTER_OFFSET, + 1, + &CapabilityPtr + ); + } + } + + while ((CapabilityPtr >= 0x40) && ((CapabilityPtr & 0x03) == 0x00)) { + PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + CapabilityPtr, + 1, + &CapabilityEntry + ); + + CapabilityID = (UINT8) CapabilityEntry; + + if (CapabilityID == CapId) { + *Offset = CapabilityPtr; + if (NextRegBlock != NULL) { + *NextRegBlock = (UINT8) (CapabilityEntry >> 8); + } + + return EFI_SUCCESS; + } + + // + // Certain PCI device may incorrectly have capability pointing to itself, + // break to avoid dead loop. + // + if (CapabilityPtr == (UINT8) (CapabilityEntry >> 8)) { + break; + } + + CapabilityPtr = (UINT8) (CapabilityEntry >> 8); + } + + return EFI_NOT_FOUND; +} + +/** + Locate PciExpress capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocatePciExpressCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 CapId, + IN OUT UINT32 *Offset, + OUT UINT32 *NextRegBlock OPTIONAL + ) +{ + EFI_STATUS Status; + UINT32 CapabilityPtr; + UINT32 CapabilityEntry; + UINT16 CapabilityID; + + // + // To check the capability of this device supports + // + if (!PciIoDevice->IsPciExp) { + return EFI_UNSUPPORTED; + } + + if (*Offset != 0) { + CapabilityPtr = *Offset; + } else { + CapabilityPtr = EFI_PCIE_CAPABILITY_BASE_OFFSET; + } + + while (CapabilityPtr != 0) { + // + // Mask it to DWORD alignment per PCI spec + // + CapabilityPtr &= 0xFFC; + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint32, + CapabilityPtr, + 1, + &CapabilityEntry + ); + if (EFI_ERROR (Status)) { + break; + } + + if (CapabilityEntry == MAX_UINT32) { + DEBUG (( + DEBUG_WARN, + "%a: [%02x|%02x|%02x] failed to access config space at offset 0x%x\n", + __FUNCTION__, + PciIoDevice->BusNumber, + PciIoDevice->DeviceNumber, + PciIoDevice->FunctionNumber, + CapabilityPtr + )); + break; + } + + CapabilityID = (UINT16) CapabilityEntry; + + if (CapabilityID == CapId) { + *Offset = CapabilityPtr; + if (NextRegBlock != NULL) { + *NextRegBlock = (CapabilityEntry >> 20) & 0xFFF; + } + + return EFI_SUCCESS; + } + + CapabilityPtr = (CapabilityEntry >> 20) & 0xFFF; + } + + return EFI_NOT_FOUND; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h new file mode 100644 index 0000000000..5eabd56bf2 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciCommand.h @@ -0,0 +1,232 @@ +/** @file + PCI command register operations supporting functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_COMMAND_H_ +#define _EFI_PCI_COMMAND_H_ + +// +// The PCI Command register bits owned by PCI Bus driver. +// +// They should be cleared at the beginning. The other registers +// are owned by chipset, we should not touch them. +// +#define EFI_PCI_COMMAND_BITS_OWNED ( \ + EFI_PCI_COMMAND_IO_SPACE | \ + EFI_PCI_COMMAND_MEMORY_SPACE | \ + EFI_PCI_COMMAND_BUS_MASTER | \ + EFI_PCI_COMMAND_MEMORY_WRITE_AND_INVALIDATE | \ + EFI_PCI_COMMAND_VGA_PALETTE_SNOOP | \ + EFI_PCI_COMMAND_FAST_BACK_TO_BACK \ + ) + +// +// The PCI Bridge Control register bits owned by PCI Bus driver. +// +// They should be cleared at the beginning. The other registers +// are owned by chipset, we should not touch them. +// +#define EFI_PCI_BRIDGE_CONTROL_BITS_OWNED ( \ + EFI_PCI_BRIDGE_CONTROL_ISA | \ + EFI_PCI_BRIDGE_CONTROL_VGA | \ + EFI_PCI_BRIDGE_CONTROL_VGA_16 | \ + EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK \ + ) + +// +// The PCCard Bridge Control register bits owned by PCI Bus driver. +// +// They should be cleared at the beginning. The other registers +// are owned by chipset, we should not touch them. +// +#define EFI_PCCARD_BRIDGE_CONTROL_BITS_OWNED ( \ + EFI_PCI_BRIDGE_CONTROL_ISA | \ + EFI_PCI_BRIDGE_CONTROL_VGA | \ + EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK \ + ) + + +#define EFI_GET_REGISTER 1 +#define EFI_SET_REGISTER 2 +#define EFI_ENABLE_REGISTER 3 +#define EFI_DISABLE_REGISTER 4 + +/** + Operate the PCI register via PciIo function interface. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + @param Command Operator command. + @param Offset The address within the PCI configuration space for the PCI controller. + @param Operation Type of Operation. + @param PtrCommand Return buffer holding old PCI command, if operation is not EFI_SET_REGISTER. + + @return Status of PciIo operation. + +**/ +EFI_STATUS +PciOperateRegister ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT8 Offset, + IN UINT8 Operation, + OUT UINT16 *PtrCommand + ); + +/** + Check the capability supporting by given device. + + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. + + @retval TRUE Capability supported. + @retval FALSE Capability not supported. + +**/ +BOOLEAN +PciCapabilitySupport ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Locate capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocateCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 CapId, + IN OUT UINT8 *Offset, + OUT UINT8 *NextRegBlock OPTIONAL + ); + +/** + Locate PciExpress capability register block per capability ID. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param CapId The capability ID. + @param Offset A pointer to the offset returned. + @param NextRegBlock A pointer to the next block returned. + + @retval EFI_SUCCESS Successfully located capability register block. + @retval EFI_UNSUPPORTED Pci device does not support capability. + @retval EFI_NOT_FOUND Pci device support but can not find register block. + +**/ +EFI_STATUS +LocatePciExpressCapabilityRegBlock ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 CapId, + IN OUT UINT32 *Offset, + OUT UINT32 *NextRegBlock OPTIONAL + ); + +/** + Macro that reads command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[out] Pointer to the 16-bit value read from command register. + + @return status of PciIo operation + +**/ +#define PCI_READ_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, 0, PCI_COMMAND_OFFSET, EFI_GET_REGISTER, b) + +/** + Macro that writes command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The 16-bit value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_SET_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, EFI_SET_REGISTER, NULL) + +/** + Macro that enables command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The enabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_ENABLE_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, EFI_ENABLE_REGISTER, NULL) + +/** + Macro that disables command register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The disabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_DISABLE_COMMAND_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, EFI_DISABLE_REGISTER, NULL) + +/** + Macro that reads PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[out] The 16-bit value read from control register. + + @return status of PciIo operation + +**/ +#define PCI_READ_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, 0, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_GET_REGISTER, b) + +/** + Macro that writes PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The 16-bit value written into control register. + + @return status of PciIo operation + +**/ +#define PCI_SET_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_SET_REGISTER, NULL) + +/** + Macro that enables PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The enabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_ENABLE_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_ENABLE_REGISTER, NULL) + +/** + Macro that disables PCI bridge control register. + + @param a[in] Pointer to instance of PCI_IO_DEVICE. + @param b[in] The disabled value written into command register. + + @return status of PciIo operation + +**/ +#define PCI_DISABLE_BRIDGE_CONTROL_REGISTER(a,b) \ + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_DISABLE_REGISTER, NULL) + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c new file mode 100644 index 0000000000..7effbd5053 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c @@ -0,0 +1,1056 @@ +/** @file + Supporting functions implementation for PCI devices management. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2018 Hewlett Packard Enterprise Development LP<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// This device structure is serviced as a header. +// Its next field points to the first root bridge device node. +// +LIST_ENTRY mPciDevicePool; + +/** + Initialize the PCI devices pool. + +**/ +VOID +InitializePciDevicePool ( + VOID + ) +{ + InitializeListHead (&mPciDevicePool); +} + +/** + Insert a root bridge into PCI device pool. + + @param RootBridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +InsertRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ) +{ + InsertTailList (&mPciDevicePool, &(RootBridge->Link)); +} + +/** + This function is used to insert a PCI device node under + a bridge. + + @param Bridge The PCI bridge. + @param PciDeviceNode The PCI device needs inserting. + +**/ +VOID +InsertPciDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciDeviceNode + ) +{ + InsertTailList (&Bridge->ChildList, &(PciDeviceNode->Link)); + PciDeviceNode->Parent = Bridge; +} + +/** + Destroy root bridge and remove it from device tree. + + @param RootBridge The bridge want to be removed. + +**/ +VOID +DestroyRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ) +{ + DestroyPciDeviceTree (RootBridge); + + FreePciDevice (RootBridge); +} + +/** + Destroy a pci device node. + + All direct or indirect allocated resource for this node will be freed. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE to be destroyed. + +**/ +VOID +FreePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + ASSERT (PciIoDevice != NULL); + // + // Assume all children have been removed underneath this device + // + if (PciIoDevice->ResourcePaddingDescriptors != NULL) { + FreePool (PciIoDevice->ResourcePaddingDescriptors); + } + + if (PciIoDevice->DevicePath != NULL) { + FreePool (PciIoDevice->DevicePath); + } + + if (PciIoDevice->BusNumberRanges != NULL) { + FreePool (PciIoDevice->BusNumberRanges); + } + + FreePool (PciIoDevice); +} + +/** + Destroy all the pci device node under the bridge. + Bridge itself is not included. + + @param Bridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +DestroyPciDeviceTree ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + while (!IsListEmpty (&Bridge->ChildList)) { + + CurrentLink = Bridge->ChildList.ForwardLink; + + // + // Remove this node from the linked list + // + RemoveEntryList (CurrentLink); + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (!IsListEmpty (&Temp->ChildList)) { + DestroyPciDeviceTree (Temp); + } + + FreePciDevice (Temp); + } +} + +/** + Destroy all device nodes under the root bridge + specified by Controller. + + The root bridge itself is also included. + + @param Controller Root bridge handle. + + @retval EFI_SUCCESS Destroy all device nodes successfully. + @retval EFI_NOT_FOUND Cannot find any PCI device under specified + root bridge. + +**/ +EFI_STATUS +DestroyRootBridgeByHandle ( + IN EFI_HANDLE Controller + ) +{ + + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (Temp->Handle == Controller) { + + RemoveEntryList (CurrentLink); + + DestroyPciDeviceTree (Temp); + + FreePciDevice (Temp); + + return EFI_SUCCESS; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_NOT_FOUND; +} + +/** + This function registers the PCI IO device. + + It creates a handle for this PCI IO device (if the handle does not exist), attaches + appropriate protocols onto the handle, does necessary initialization, and sets up + parent/child relationship with its bus controller. + + @param Controller An EFI handle for the PCI bus controller. + @param PciIoDevice A PCI_IO_DEVICE pointer to the PCI IO device to be registered. + @param Handle A pointer to hold the returned EFI handle for the PCI IO device. + + @retval EFI_SUCCESS The PCI device is successfully registered. + @retval other An error occurred when registering the PCI device. + +**/ +EFI_STATUS +RegisterPciDevice ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *PciIoDevice, + OUT EFI_HANDLE *Handle OPTIONAL + ) +{ + EFI_STATUS Status; + VOID *PlatformOpRomBuffer; + UINTN PlatformOpRomSize; + EFI_PCI_IO_PROTOCOL *PciIo; + UINT8 Data8; + BOOLEAN HasEfiImage; + + // + // Install the pciio protocol, device path protocol + // + Status = gBS->InstallMultipleProtocolInterfaces ( + &PciIoDevice->Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Force Interrupt line to "Unknown" or "No Connection" + // + PciIo = &(PciIoDevice->PciIo); + Data8 = PCI_INT_LINE_UNKNOWN; + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &Data8); + + // + // Process OpRom + // + if (!PciIoDevice->AllOpRomProcessed) { + + // + // Get the OpRom provided by platform + // + if (gPciPlatformProtocol != NULL) { + Status = gPciPlatformProtocol->GetPciRom ( + gPciPlatformProtocol, + PciIoDevice->Handle, + &PlatformOpRomBuffer, + &PlatformOpRomSize + ); + if (!EFI_ERROR (Status)) { + PciIoDevice->EmbeddedRom = FALSE; + PciIoDevice->RomSize = (UINT32) PlatformOpRomSize; + PciIoDevice->PciIo.RomSize = PlatformOpRomSize; + PciIoDevice->PciIo.RomImage = PlatformOpRomBuffer; + // + // For OpROM read from gPciPlatformProtocol: + // Add the Rom Image to internal database for later PCI light enumeration + // + PciRomAddImageMapping ( + NULL, + PciIoDevice->PciRootBridgeIo->SegmentNumber, + PciIoDevice->BusNumber, + PciIoDevice->DeviceNumber, + PciIoDevice->FunctionNumber, + PciIoDevice->PciIo.RomImage, + PciIoDevice->PciIo.RomSize + ); + } + } else if (gPciOverrideProtocol != NULL) { + Status = gPciOverrideProtocol->GetPciRom ( + gPciOverrideProtocol, + PciIoDevice->Handle, + &PlatformOpRomBuffer, + &PlatformOpRomSize + ); + if (!EFI_ERROR (Status)) { + PciIoDevice->EmbeddedRom = FALSE; + PciIoDevice->RomSize = (UINT32) PlatformOpRomSize; + PciIoDevice->PciIo.RomSize = PlatformOpRomSize; + PciIoDevice->PciIo.RomImage = PlatformOpRomBuffer; + // + // For OpROM read from gPciOverrideProtocol: + // Add the Rom Image to internal database for later PCI light enumeration + // + PciRomAddImageMapping ( + NULL, + PciIoDevice->PciRootBridgeIo->SegmentNumber, + PciIoDevice->BusNumber, + PciIoDevice->DeviceNumber, + PciIoDevice->FunctionNumber, + PciIoDevice->PciIo.RomImage, + PciIoDevice->PciIo.RomSize + ); + } + } + } + + // + // Determine if there are EFI images in the option rom + // + HasEfiImage = ContainEfiImage (PciIoDevice->PciIo.RomImage, PciIoDevice->PciIo.RomSize); + + if (HasEfiImage) { + Status = gBS->InstallMultipleProtocolInterfaces ( + &PciIoDevice->Handle, + &gEfiLoadFile2ProtocolGuid, + &PciIoDevice->LoadFile2, + NULL + ); + if (EFI_ERROR (Status)) { + gBS->UninstallMultipleProtocolInterfaces ( + PciIoDevice->Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + return Status; + } + } + + + if (!PciIoDevice->AllOpRomProcessed) { + + PciIoDevice->AllOpRomProcessed = TRUE; + + // + // Dispatch the EFI OpRom for the PCI device. + // The OpRom is got from platform in the above code + // or loaded from device in the previous round of bus enumeration + // + if (HasEfiImage) { + ProcessOpRomImage (PciIoDevice); + } + } + + if (PciIoDevice->BusOverride) { + // + // Install Bus Specific Driver Override Protocol + // + Status = gBS->InstallMultipleProtocolInterfaces ( + &PciIoDevice->Handle, + &gEfiBusSpecificDriverOverrideProtocolGuid, + &PciIoDevice->PciDriverOverride, + NULL + ); + if (EFI_ERROR (Status)) { + gBS->UninstallMultipleProtocolInterfaces ( + PciIoDevice->Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + if (HasEfiImage) { + gBS->UninstallMultipleProtocolInterfaces ( + PciIoDevice->Handle, + &gEfiLoadFile2ProtocolGuid, + &PciIoDevice->LoadFile2, + NULL + ); + } + + return Status; + } + } + + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &(PciIoDevice->PciRootBridgeIo), + gPciBusDriverBinding.DriverBindingHandle, + PciIoDevice->Handle, + EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER + ); + if (EFI_ERROR (Status)) { + return Status; + } + + if (Handle != NULL) { + *Handle = PciIoDevice->Handle; + } + + // + // Indicate the pci device is registered + // + PciIoDevice->Registered = TRUE; + + return EFI_SUCCESS; +} + +/** + This function is used to remove the whole PCI devices on the specified bridge from + the root bridge. + + @param RootBridgeHandle The root bridge device handle. + @param Bridge The bridge device to be removed. + +**/ +VOID +RemoveAllPciDeviceOnBridge ( + EFI_HANDLE RootBridgeHandle, + PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + while (!IsListEmpty (&Bridge->ChildList)) { + + CurrentLink = Bridge->ChildList.ForwardLink; + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + // + // Check if the current node has been deregistered before + // If it is not, then deregister it + // + if (Temp->Registered) { + DeRegisterPciDevice (RootBridgeHandle, Temp->Handle); + } + + // + // Remove this node from the linked list + // + RemoveEntryList (CurrentLink); + + if (!IsListEmpty (&Temp->ChildList)) { + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Temp); + } + + FreePciDevice (Temp); + } +} + +/** + This function is used to de-register the PCI IO device. + + That includes un-installing PciIo protocol from the specified PCI + device handle. + + @param Controller An EFI handle for the PCI bus controller. + @param Handle PCI device handle. + + @retval EFI_SUCCESS The PCI device is successfully de-registered. + @retval other An error occurred when de-registering the PCI device. + +**/ +EFI_STATUS +DeRegisterPciDevice ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE Handle + ) + +{ + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + PCI_IO_DEVICE *Node; + LIST_ENTRY *CurrentLink; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + Status = gBS->OpenProtocol ( + Handle, + &gEfiPciIoProtocolGuid, + (VOID **) &PciIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + if (!EFI_ERROR (Status)) { + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (PciIo); + + // + // If it is already de-registered + // + if (!PciIoDevice->Registered) { + return EFI_SUCCESS; + } + + // + // If it is PPB, first de-register its children + // + + if (!IsListEmpty (&PciIoDevice->ChildList)) { + + CurrentLink = PciIoDevice->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + Node = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + Status = DeRegisterPciDevice (Controller, Node->Handle); + + if (EFI_ERROR (Status)) { + return Status; + } + + CurrentLink = CurrentLink->ForwardLink; + } + } + + // + // Close the child handle + // + Status = gBS->CloseProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + gPciBusDriverBinding.DriverBindingHandle, + Handle + ); + + // + // Un-install the Device Path protocol and PCI I/O protocol + // and Bus Specific Driver Override protocol if needed. + // + if (PciIoDevice->BusOverride) { + Status = gBS->UninstallMultipleProtocolInterfaces ( + Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + &gEfiBusSpecificDriverOverrideProtocolGuid, + &PciIoDevice->PciDriverOverride, + NULL + ); + } else { + Status = gBS->UninstallMultipleProtocolInterfaces ( + Handle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEfiPciIoProtocolGuid, + &PciIoDevice->PciIo, + NULL + ); + } + + if (!EFI_ERROR (Status)) { + // + // Try to uninstall LoadFile2 protocol if exists + // + Status = gBS->OpenProtocol ( + Handle, + &gEfiLoadFile2ProtocolGuid, + NULL, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_TEST_PROTOCOL + ); + if (!EFI_ERROR (Status)) { + Status = gBS->UninstallMultipleProtocolInterfaces ( + Handle, + &gEfiLoadFile2ProtocolGuid, + &PciIoDevice->LoadFile2, + NULL + ); + } + // + // Restore Status + // + Status = EFI_SUCCESS; + } + + + if (EFI_ERROR (Status)) { + gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + Handle, + EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER + ); + return Status; + } + + // + // The Device Driver should disable this device after disconnect + // so the Pci Bus driver will not touch this device any more. + // Restore the register field to the original value + // + PciIoDevice->Registered = FALSE; + PciIoDevice->Handle = NULL; + } else { + + // + // Handle may be closed before + // + return EFI_SUCCESS; + } + + return EFI_SUCCESS; +} + +/** + Start to manage the PCI device on the specified root bridge or PCI-PCI Bridge. + + @param Controller The root bridge handle. + @param RootBridge A pointer to the PCI_IO_DEVICE. + @param RemainingDevicePath A pointer to the EFI_DEVICE_PATH_PROTOCOL. + @param NumberOfChildren Children number. + @param ChildHandleBuffer A pointer to the child handle buffer. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_UNSUPPORTED Device only support PCI-PCI bridge. + @retval EFI_NOT_FOUND Can not find the specific device. + @retval EFI_SUCCESS Success to start Pci devices on bridge. + +**/ +EFI_STATUS +StartPciDevicesOnBridge ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *RootBridge, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE *ChildHandleBuffer + ) + +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_DEV_PATH_PTR Node; + EFI_DEVICE_PATH_PROTOCOL *CurrentDevicePath; + EFI_STATUS Status; + LIST_ENTRY *CurrentLink; + UINT64 Supports; + + PciIoDevice = NULL; + CurrentLink = RootBridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &RootBridge->ChildList) { + + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (RemainingDevicePath != NULL) { + + Node.DevPath = RemainingDevicePath; + + if (Node.Pci->Device != PciIoDevice->DeviceNumber || + Node.Pci->Function != PciIoDevice->FunctionNumber) { + CurrentLink = CurrentLink->ForwardLink; + continue; + } + + // + // Check if the device has been assigned with required resource + // + if (!PciIoDevice->Allocated) { + return EFI_NOT_READY; + } + + // + // Check if the current node has been registered before + // If it is not, register it + // + if (!PciIoDevice->Registered) { + Status = RegisterPciDevice ( + Controller, + PciIoDevice, + NULL + ); + + } + + if (NumberOfChildren != NULL && ChildHandleBuffer != NULL && PciIoDevice->Registered) { + ChildHandleBuffer[*NumberOfChildren] = PciIoDevice->Handle; + (*NumberOfChildren)++; + } + + // + // Get the next device path + // + CurrentDevicePath = NextDevicePathNode (RemainingDevicePath); + if (IsDevicePathEnd (CurrentDevicePath)) { + return EFI_SUCCESS; + } + + // + // If it is a PPB + // + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + Status = StartPciDevicesOnBridge ( + Controller, + PciIoDevice, + CurrentDevicePath, + NumberOfChildren, + ChildHandleBuffer + ); + + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationSupported, + 0, + &Supports + ); + Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE; + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationEnable, + Supports, + NULL + ); + + return Status; + } else { + + // + // Currently, the PCI bus driver only support PCI-PCI bridge + // + return EFI_UNSUPPORTED; + } + + } else { + + // + // If remaining device path is NULL, + // try to enable all the pci devices under this bridge + // + if (!PciIoDevice->Registered && PciIoDevice->Allocated) { + Status = RegisterPciDevice ( + Controller, + PciIoDevice, + NULL + ); + + } + + if (NumberOfChildren != NULL && ChildHandleBuffer != NULL && PciIoDevice->Registered) { + ChildHandleBuffer[*NumberOfChildren] = PciIoDevice->Handle; + (*NumberOfChildren)++; + } + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + Status = StartPciDevicesOnBridge ( + Controller, + PciIoDevice, + RemainingDevicePath, + NumberOfChildren, + ChildHandleBuffer + ); + + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationSupported, + 0, + &Supports + ); + Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE; + PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationEnable, + Supports, + NULL + ); + + } + + CurrentLink = CurrentLink->ForwardLink; + } + } + + if (PciIoDevice == NULL) { + return EFI_NOT_FOUND; + } else { + return EFI_SUCCESS; + } +} + +/** + Start to manage all the PCI devices it found previously under + the entire host bridge. + + @param Controller The root bridge handle. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_SUCCESS Success to start Pci device on host bridge. + +**/ +EFI_STATUS +StartPciDevices ( + IN EFI_HANDLE Controller + ) +{ + PCI_IO_DEVICE *RootBridge; + EFI_HANDLE ThisHostBridge; + LIST_ENTRY *CurrentLink; + + RootBridge = GetRootBridgeByHandle (Controller); + ASSERT (RootBridge != NULL); + ThisHostBridge = RootBridge->PciRootBridgeIo->ParentHandle; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + + RootBridge = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + // + // Locate the right root bridge to start + // + if (RootBridge->PciRootBridgeIo->ParentHandle == ThisHostBridge) { + StartPciDevicesOnBridge ( + RootBridge->Handle, + RootBridge, + NULL, + NULL, + NULL + ); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_SUCCESS; +} + +/** + Create root bridge device. + + @param RootBridgeHandle Specified root bridge handle. + + @return The crated root bridge device instance, NULL means no + root bridge device instance created. + +**/ +PCI_IO_DEVICE * +CreateRootBridge ( + IN EFI_HANDLE RootBridgeHandle + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *Dev; + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + Dev = AllocateZeroPool (sizeof (PCI_IO_DEVICE)); + if (Dev == NULL) { + return NULL; + } + + Dev->Signature = PCI_IO_DEVICE_SIGNATURE; + Dev->Handle = RootBridgeHandle; + InitializeListHead (&Dev->ChildList); + + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiDevicePathProtocolGuid, + (VOID **) &ParentDevicePath, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + FreePool (Dev); + return NULL; + } + + // + // Record the root bridge parent device path + // + Dev->DevicePath = DuplicateDevicePath (ParentDevicePath); + + // + // Get the pci root bridge io protocol + // + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + FreePciDevice (Dev); + return NULL; + } + + Dev->PciRootBridgeIo = PciRootBridgeIo; + + // + // Initialize the PCI I/O instance structure + // + InitializePciIoInstance (Dev); + InitializePciDriverOverrideInstance (Dev); + InitializePciLoadFile2 (Dev); + + // + // Initialize reserved resource list and + // option rom driver list + // + InitializeListHead (&Dev->ReservedResourceList); + InitializeListHead (&Dev->OptionRomDriverList); + + return Dev; +} + +/** + Get root bridge device instance by specific root bridge handle. + + @param RootBridgeHandle Given root bridge handle. + + @return The root bridge device instance, NULL means no root bridge + device instance found. + +**/ +PCI_IO_DEVICE * +GetRootBridgeByHandle ( + EFI_HANDLE RootBridgeHandle + ) +{ + PCI_IO_DEVICE *RootBridgeDev; + LIST_ENTRY *CurrentLink; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + + RootBridgeDev = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (RootBridgeDev->Handle == RootBridgeHandle) { + return RootBridgeDev; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return NULL; +} + +/** + Judge whether Pci device existed. + + @param Bridge Parent bridge instance. + @param PciIoDevice Device instance. + + @retval TRUE Pci device existed. + @retval FALSE Pci device did not exist. + +**/ +BOOLEAN +PciDeviceExisted ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (Temp == PciIoDevice) { + return TRUE; + } + + if (!IsListEmpty (&Temp->ChildList)) { + if (PciDeviceExisted (Temp, PciIoDevice)) { + return TRUE; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return FALSE; +} + +/** + Get the active VGA device on the specified Host Bridge. + + @param HostBridgeHandle Host Bridge handle. + + @return The active VGA device on the specified Host Bridge. + +**/ +PCI_IO_DEVICE * +LocateVgaDeviceOnHostBridge ( + IN EFI_HANDLE HostBridgeHandle + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *PciIoDevice; + + CurrentLink = mPciDevicePool.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { + + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (PciIoDevice->PciRootBridgeIo->ParentHandle== HostBridgeHandle) { + + PciIoDevice = LocateVgaDevice (PciIoDevice); + + if (PciIoDevice != NULL) { + return PciIoDevice; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return NULL; +} + +/** + Locate the active VGA device under the bridge. + + @param Bridge PCI IO instance for the bridge. + + @return The active VGA device. + +**/ +PCI_IO_DEVICE * +LocateVgaDevice ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *PciIoDevice; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_PCI_VGA(&PciIoDevice->Pci) && + (PciIoDevice->Attributes & + (EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | + EFI_PCI_IO_ATTRIBUTE_VGA_IO | + EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { + return PciIoDevice; + } + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + + PciIoDevice = LocateVgaDevice (PciIoDevice); + + if (PciIoDevice != NULL) { + return PciIoDevice; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return NULL; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h new file mode 100644 index 0000000000..acc0edc0bb --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.h @@ -0,0 +1,266 @@ +/** @file + Supporting functions declaration for PCI devices management. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_DEVICE_SUPPORT_H_ +#define _EFI_PCI_DEVICE_SUPPORT_H_ + +/** + Initialize the PCI devices pool. + +**/ +VOID +InitializePciDevicePool ( + VOID + ); + +/** + Insert a root bridge into PCI device pool. + + @param RootBridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +InsertRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ); + +/** + This function is used to insert a PCI device node under + a bridge. + + @param Bridge The PCI bridge. + @param PciDeviceNode The PCI device needs inserting. + +**/ +VOID +InsertPciDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciDeviceNode + ); + +/** + Destroy root bridge and remove it from device tree. + + @param RootBridge The bridge want to be removed. + +**/ +VOID +DestroyRootBridge ( + IN PCI_IO_DEVICE *RootBridge + ); + +/** + Destroy all the pci device node under the bridge. + Bridge itself is not included. + + @param Bridge A pointer to the PCI_IO_DEVICE. + +**/ +VOID +DestroyPciDeviceTree ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Destroy all device nodes under the root bridge + specified by Controller. + + The root bridge itself is also included. + + @param Controller Root bridge handle. + + @retval EFI_SUCCESS Destroy all device nodes successfully. + @retval EFI_NOT_FOUND Cannot find any PCI device under specified + root bridge. + +**/ +EFI_STATUS +DestroyRootBridgeByHandle ( + IN EFI_HANDLE Controller + ); + +/** + This function registers the PCI IO device. + + It creates a handle for this PCI IO device (if the handle does not exist), attaches + appropriate protocols onto the handle, does necessary initialization, and sets up + parent/child relationship with its bus controller. + + @param Controller An EFI handle for the PCI bus controller. + @param PciIoDevice A PCI_IO_DEVICE pointer to the PCI IO device to be registered. + @param Handle A pointer to hold the returned EFI handle for the PCI IO device. + + @retval EFI_SUCCESS The PCI device is successfully registered. + @retval other An error occurred when registering the PCI device. + +**/ +EFI_STATUS +RegisterPciDevice ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *PciIoDevice, + OUT EFI_HANDLE *Handle OPTIONAL + ); + +/** + This function is used to remove the whole PCI devices on the specified bridge from + the root bridge. + + @param RootBridgeHandle The root bridge device handle. + @param Bridge The bridge device to be removed. + +**/ +VOID +RemoveAllPciDeviceOnBridge ( + EFI_HANDLE RootBridgeHandle, + PCI_IO_DEVICE *Bridge + ); + +/** + This function is used to de-register the PCI IO device. + + That includes un-installing PciIo protocol from the specified PCI + device handle. + + @param Controller An EFI handle for the PCI bus controller. + @param Handle PCI device handle. + + @retval EFI_SUCCESS The PCI device is successfully de-registered. + @retval other An error occurred when de-registering the PCI device. + +**/ +EFI_STATUS +DeRegisterPciDevice ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE Handle + ); + +/** + Start to manage the PCI device on the specified root bridge or PCI-PCI Bridge. + + @param Controller The root bridge handle. + @param RootBridge A pointer to the PCI_IO_DEVICE. + @param RemainingDevicePath A pointer to the EFI_DEVICE_PATH_PROTOCOL. + @param NumberOfChildren Children number. + @param ChildHandleBuffer A pointer to the child handle buffer. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_UNSUPPORTED Device only support PCI-PCI bridge. + @retval EFI_NOT_FOUND Can not find the specific device. + @retval EFI_SUCCESS Success to start Pci devices on bridge. + +**/ +EFI_STATUS +StartPciDevicesOnBridge ( + IN EFI_HANDLE Controller, + IN PCI_IO_DEVICE *RootBridge, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE *ChildHandleBuffer + ); + +/** + Start to manage all the PCI devices it found previously under + the entire host bridge. + + @param Controller The root bridge handle. + + @retval EFI_NOT_READY Device is not allocated. + @retval EFI_SUCCESS Success to start Pci device on host bridge. + +**/ +EFI_STATUS +StartPciDevices ( + IN EFI_HANDLE Controller + ); + +/** + Create root bridge device. + + @param RootBridgeHandle Specified root bridge handle. + + @return The crated root bridge device instance, NULL means no + root bridge device instance created. + +**/ +PCI_IO_DEVICE * +CreateRootBridge ( + IN EFI_HANDLE RootBridgeHandle + ); + +/** + Get root bridge device instance by specific root bridge handle. + + @param RootBridgeHandle Given root bridge handle. + + @return The root bridge device instance, NULL means no root bridge + device instance found. + +**/ +PCI_IO_DEVICE * +GetRootBridgeByHandle ( + EFI_HANDLE RootBridgeHandle + ); + + +/** + Judge whether Pci device existed. + + @param Bridge Parent bridge instance. + @param PciIoDevice Device instance. + + @retval TRUE Pci device existed. + @retval FALSE Pci device did not exist. + +**/ +BOOLEAN +PciDeviceExisted ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Get the active VGA device on the specified Host Bridge. + + @param HostBridgeHandle Host Bridge handle. + + @return The active VGA device on the specified Host Bridge. + +**/ +PCI_IO_DEVICE * +LocateVgaDeviceOnHostBridge ( + IN EFI_HANDLE HostBridgeHandle + ); + +/** + Locate the active VGA device under the bridge. + + @param Bridge PCI IO instance for the bridge. + + @return The active VGA device. + +**/ +PCI_IO_DEVICE * +LocateVgaDevice ( + IN PCI_IO_DEVICE *Bridge + ); + + +/** + Destroy a pci device node. + + All direct or indirect allocated resource for this node will be freed. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE to be destroyed. + +**/ +VOID +FreePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c new file mode 100644 index 0000000000..0c3f684c8c --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.c @@ -0,0 +1,188 @@ +/** @file + Functions implementation for Bus Specific Driver Override protocol. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + Initializes a PCI Driver Override Instance. + + @param PciIoDevice PCI Device instance. + +**/ +VOID +InitializePciDriverOverrideInstance ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ) +{ + PciIoDevice->PciDriverOverride.GetDriver = GetDriver; +} + +/** + Find the image handle whose path equals to ImagePath. + + @param ImagePath Image path. + + @return Image handle. +**/ +EFI_HANDLE +LocateImageHandle ( + IN EFI_DEVICE_PATH_PROTOCOL *ImagePath + ) +{ + EFI_STATUS Status; + EFI_HANDLE *Handles; + UINTN Index; + UINTN HandleNum; + EFI_DEVICE_PATH_PROTOCOL *DevicePath; + UINTN ImagePathSize; + EFI_HANDLE ImageHandle; + + Status = gBS->LocateHandleBuffer ( + ByProtocol, + &gEfiLoadedImageDevicePathProtocolGuid, + NULL, + &HandleNum, + &Handles + ); + if (EFI_ERROR (Status)) { + return NULL; + } + + ImageHandle = NULL; + ImagePathSize = GetDevicePathSize (ImagePath); + + for (Index = 0; Index < HandleNum; Index++) { + Status = gBS->HandleProtocol (Handles[Index], &gEfiLoadedImageDevicePathProtocolGuid, (VOID **) &DevicePath); + if (EFI_ERROR (Status)) { + continue; + } + if ((ImagePathSize == GetDevicePathSize (DevicePath)) && + (CompareMem (ImagePath, DevicePath, ImagePathSize) == 0) + ) { + ImageHandle = Handles[Index]; + break; + } + } + + FreePool (Handles); + return ImageHandle; +} + +/** + Uses a bus specific algorithm to retrieve a driver image handle for a controller. + + @param This A pointer to the EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance. + @param DriverImageHandle On input, a pointer to the previous driver image handle returned + by GetDriver(). On output, a pointer to the next driver + image handle. Passing in a NULL, will return the first driver + image handle. + + @retval EFI_SUCCESS A bus specific override driver is returned in DriverImageHandle. + @retval EFI_NOT_FOUND The end of the list of override drivers was reached. + A bus specific override driver is not returned in DriverImageHandle. + @retval EFI_INVALID_PARAMETER DriverImageHandle is not a handle that was returned on a + previous call to GetDriver(). + +**/ +EFI_STATUS +EFIAPI +GetDriver ( + IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This, + IN OUT EFI_HANDLE *DriverImageHandle + ) +{ + PCI_IO_DEVICE *PciIoDevice; + LIST_ENTRY *Link; + PCI_DRIVER_OVERRIDE_LIST *Override; + BOOLEAN ReturnNext; + + Override = NULL; + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_DRIVER_OVERRIDE_THIS (This); + ReturnNext = (BOOLEAN) (*DriverImageHandle == NULL); + for ( Link = GetFirstNode (&PciIoDevice->OptionRomDriverList) + ; !IsNull (&PciIoDevice->OptionRomDriverList, Link) + ; Link = GetNextNode (&PciIoDevice->OptionRomDriverList, Link) + ) { + + Override = DRIVER_OVERRIDE_FROM_LINK (Link); + + if (ReturnNext) { + if (Override->DriverImageHandle == NULL) { + Override->DriverImageHandle = LocateImageHandle (Override->DriverImagePath); + } + + if (Override->DriverImageHandle == NULL) { + // + // The Option ROM identified by Override->DriverImagePath is not loaded. + // + continue; + } else { + *DriverImageHandle = Override->DriverImageHandle; + return EFI_SUCCESS; + } + } + + if (*DriverImageHandle == Override->DriverImageHandle) { + ReturnNext = TRUE; + } + } + + ASSERT (IsNull (&PciIoDevice->OptionRomDriverList, Link)); + // + // ReturnNext indicates a handle match happens. + // If all nodes are checked without handle match happening, + // the DriverImageHandle should be a invalid handle. + // + if (ReturnNext) { + return EFI_NOT_FOUND; + } else { + return EFI_INVALID_PARAMETER; + } +} + +/** + Add an overriding driver image. + + @param PciIoDevice Instance of PciIo device. + @param DriverImageHandle Image handle of newly added driver image. + @param DriverImagePath Device path of newly added driver image. + + @retval EFI_SUCCESS Successfully added driver. + @retval EFI_OUT_OF_RESOURCES No memory resource for new driver instance. + @retval other Some error occurred when locating gEfiLoadedImageProtocolGuid. + +**/ +EFI_STATUS +AddDriver ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_HANDLE DriverImageHandle, + IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath + ) +{ + PCI_DRIVER_OVERRIDE_LIST *Node; + + // + // Caller should pass in either Image Handle or Image Path, but not both. + // + ASSERT ((DriverImageHandle == NULL) || (DriverImagePath == NULL)); + + Node = AllocateZeroPool (sizeof (PCI_DRIVER_OVERRIDE_LIST)); + if (Node == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + Node->Signature = DRIVER_OVERRIDE_SIGNATURE; + Node->DriverImageHandle = DriverImageHandle; + Node->DriverImagePath = DuplicateDevicePath (DriverImagePath); + + InsertTailList (&PciIoDevice->OptionRomDriverList, &Node->Link); + + PciIoDevice->BusOverride = TRUE; + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h new file mode 100644 index 0000000000..ab058fa762 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h @@ -0,0 +1,83 @@ +/** @file + Functions declaration for Bus Specific Driver Override protocol. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#ifndef _EFI_PCI_DRIVER_OVERRRIDE_H_ +#define _EFI_PCI_DRIVER_OVERRRIDE_H_ + +#define DRIVER_OVERRIDE_SIGNATURE SIGNATURE_32 ('d', 'r', 'o', 'v') + +// +// PCI driver override driver image list +// +typedef struct { + UINT32 Signature; + LIST_ENTRY Link; + EFI_HANDLE DriverImageHandle; + EFI_DEVICE_PATH_PROTOCOL *DriverImagePath; +} PCI_DRIVER_OVERRIDE_LIST; + + +#define DRIVER_OVERRIDE_FROM_LINK(a) \ + CR (a, PCI_DRIVER_OVERRIDE_LIST, Link, DRIVER_OVERRIDE_SIGNATURE) + +/** + Initializes a PCI Driver Override Instance. + + @param PciIoDevice PCI Device instance. + +**/ +VOID +InitializePciDriverOverrideInstance ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ); + +/** + Add an overriding driver image. + + @param PciIoDevice Instance of PciIo device. + @param DriverImageHandle Image handle of newly added driver image. + @param DriverImagePath Device path of newly added driver image. + + @retval EFI_SUCCESS Successfully added driver. + @retval EFI_OUT_OF_RESOURCES No memory resource for new driver instance. + @retval other Some error occurred when locating gEfiLoadedImageProtocolGuid. + +**/ +EFI_STATUS +AddDriver ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_HANDLE DriverImageHandle, + IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath + ); + + +/** + Uses a bus specific algorithm to retrieve a driver image handle for a controller. + + @param This A pointer to the EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance. + @param DriverImageHandle On input, a pointer to the previous driver image handle returned + by GetDriver(). On output, a pointer to the next driver + image handle. Passing in a NULL, will return the first driver + image handle. + + @retval EFI_SUCCESS A bus specific override driver is returned in DriverImageHandle. + @retval EFI_NOT_FOUND The end of the list of override drivers was reached. + A bus specific override driver is not returned in DriverImageHandle. + @retval EFI_INVALID_PARAMETER DriverImageHandle is not a handle that was returned on a + previous call to GetDriver(). + +**/ +EFI_STATUS +EFIAPI +GetDriver ( + IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This, + IN OUT EFI_HANDLE *DriverImageHandle + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c new file mode 100644 index 0000000000..4e1c328b7e --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c @@ -0,0 +1,2210 @@ +/** @file + PCI eunmeration implementation on entire PCI bus system for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + @param Controller Parent controller handle. + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumerator ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE HostBridgeHandle + ) +{ + EFI_STATUS Status; + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc; + + // + // Get the pci host bridge resource allocation protocol + // + Status = gBS->OpenProtocol ( + HostBridgeHandle, + &gEfiPciHostBridgeResourceAllocationProtocolGuid, + (VOID **) &PciResAlloc, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Notify the pci bus enumeration is about to begin + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginEnumeration); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Start the bus allocation phase + // + Status = PciHostBridgeEnumerator (PciResAlloc); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Submit the resource request + // + Status = PciHostBridgeResourceAllocator (PciResAlloc); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Notify the pci bus enumeration is about to complete + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeEndEnumeration); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Process P2C + // + Status = PciHostBridgeP2CProcess (PciResAlloc); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Process attributes for devices on this host bridge + // + Status = PciHostBridgeDeviceAttribute (PciResAlloc); + if (EFI_ERROR (Status)) { + return Status; + } + + return EFI_SUCCESS; +} + +/** + Enumerate PCI root bridge. + + @param PciResAlloc Pointer to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + @param RootBridgeDev Instance of root bridge device. + + @retval EFI_SUCCESS Successfully enumerated root bridge. + @retval other Failed to enumerate root bridge. + +**/ +EFI_STATUS +PciRootBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + EFI_STATUS Status; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration1; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration2; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration3; + UINT8 SubBusNumber; + UINT8 StartBusNumber; + UINT8 PaddedBusRange; + EFI_HANDLE RootBridgeHandle; + UINT8 Desc; + UINT64 AddrLen; + UINT64 AddrRangeMin; + + SubBusNumber = 0; + StartBusNumber = 0; + PaddedBusRange = 0; + + // + // Get the root bridge handle + // + RootBridgeHandle = RootBridgeDev->Handle; + + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_PCI_BUS_ENUM, + RootBridgeDev->DevicePath + ); + + // + // Get the Bus information + // + Status = PciResAlloc->StartBusEnumeration ( + PciResAlloc, + RootBridgeHandle, + (VOID **) &Configuration + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + if (Configuration == NULL || Configuration->Desc == ACPI_END_TAG_DESCRIPTOR) { + return EFI_INVALID_PARAMETER; + } + RootBridgeDev->BusNumberRanges = Configuration; + + // + // Sort the descriptors in ascending order + // + for (Configuration1 = Configuration; Configuration1->Desc != ACPI_END_TAG_DESCRIPTOR; Configuration1++) { + Configuration2 = Configuration1; + for (Configuration3 = Configuration1 + 1; Configuration3->Desc != ACPI_END_TAG_DESCRIPTOR; Configuration3++) { + if (Configuration2->AddrRangeMin > Configuration3->AddrRangeMin) { + Configuration2 = Configuration3; + } + } + // + // All other fields other than AddrRangeMin and AddrLen are ignored in a descriptor, + // so only need to swap these two fields. + // + if (Configuration2 != Configuration1) { + AddrRangeMin = Configuration1->AddrRangeMin; + Configuration1->AddrRangeMin = Configuration2->AddrRangeMin; + Configuration2->AddrRangeMin = AddrRangeMin; + + AddrLen = Configuration1->AddrLen; + Configuration1->AddrLen = Configuration2->AddrLen; + Configuration2->AddrLen = AddrLen; + } + } + + // + // Get the bus number to start with + // + StartBusNumber = (UINT8) (Configuration->AddrRangeMin); + + // + // Initialize the subordinate bus number + // + SubBusNumber = StartBusNumber; + + // + // Reset all assigned PCI bus number + // + ResetAllPpbBusNumber ( + RootBridgeDev, + StartBusNumber + ); + + // + // Assign bus number + // + Status = PciScanBus ( + RootBridgeDev, + StartBusNumber, + &SubBusNumber, + &PaddedBusRange + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + + // + // Assign max bus number scanned + // + + Status = PciAllocateBusNumber (RootBridgeDev, SubBusNumber, PaddedBusRange, &SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Find the bus range which contains the higest bus number, then returns the number of buses + // that should be decoded. + // + while (Configuration->AddrRangeMin + Configuration->AddrLen - 1 < SubBusNumber) { + Configuration++; + } + AddrLen = Configuration->AddrLen; + Configuration->AddrLen = SubBusNumber - Configuration->AddrRangeMin + 1; + + // + // Save the Desc field of the next descriptor. Mark the next descriptor as an END descriptor. + // + Configuration++; + Desc = Configuration->Desc; + Configuration->Desc = ACPI_END_TAG_DESCRIPTOR; + + // + // Set bus number + // + Status = PciResAlloc->SetBusNumbers ( + PciResAlloc, + RootBridgeHandle, + RootBridgeDev->BusNumberRanges + ); + + // + // Restore changed fields + // + Configuration->Desc = Desc; + (Configuration - 1)->AddrLen = AddrLen; + + return Status; +} + +/** + This routine is used to process all PCI devices' Option Rom + on a certain root bridge. + + @param Bridge Given parent's root bridge. + @param RomBase Base address of ROM driver loaded from. + @param MaxLength Maximum rom size. + +**/ +VOID +ProcessOptionRom ( + IN PCI_IO_DEVICE *Bridge, + IN UINT64 RomBase, + IN UINT64 MaxLength + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + + // + // Go through bridges to reach all devices + // + CurrentLink = Bridge->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (!IsListEmpty (&Temp->ChildList)) { + + // + // Go further to process the option rom under this bridge + // + ProcessOptionRom (Temp, RomBase, MaxLength); + } + + if (Temp->RomSize != 0 && Temp->RomSize <= MaxLength) { + + // + // Load and process the option rom + // + LoadOpRomImage (Temp, RomBase); + } + + CurrentLink = CurrentLink->ForwardLink; + } +} + +/** + This routine is used to assign bus number to the given PCI bus system + + @param Bridge Parent root bridge instance. + @param StartBusNumber Number of beginning. + @param SubBusNumber The number of sub bus. + + @retval EFI_SUCCESS Successfully assigned bus number. + @retval EFI_DEVICE_ERROR Failed to assign bus number. + +**/ +EFI_STATUS +PciAssignBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT8 Func; + UINT64 Address; + UINTN SecondBus; + UINT16 Register; + UINT8 Register8; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + PciRootBridgeIo = Bridge->PciRootBridgeIo; + + SecondBus = 0; + Register = 0; + + *SubBusNumber = StartBusNumber; + + // + // First check to see whether the parent is ppb + // + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether a pci device is present + // + Status = PciDevicePresent ( + PciRootBridgeIo, + &Pci, + StartBusNumber, + Device, + Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (!EFI_ERROR (Status) && + (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci))) { + + // + // Reserved one bus for cardbus bridge + // + Status = PciAllocateBusNumber (Bridge, *SubBusNumber, 1, SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + SecondBus = *SubBusNumber; + + Register = (UINT16) ((SecondBus << 8) | (UINT16) StartBusNumber); + + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x18); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint16, + Address, + 1, + &Register + ); + + // + // Initialize SubBusNumber to SecondBus + // + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x1A); + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + SubBusNumber + ); + // + // If it is PPB, resursively search down this bridge + // + if (IS_PCI_BRIDGE (&Pci)) { + + Register8 = 0xFF; + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + &Register8 + ); + + Status = PciAssignBusNumber ( + Bridge, + (UINT8) (SecondBus), + SubBusNumber + ); + + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + } + + // + // Set the current maximum bus number under the PPB + // + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x1A); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + SubBusNumber + ); + + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + + // + // Skip sub functions, this is not a multi function device + // + Func = PCI_MAX_FUNC; + } + } + } + + return EFI_SUCCESS; +} + +/** + This routine is used to determine the root bridge attribute by interfacing + the host bridge resource allocation protocol. + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param RootBridgeDev Root bridge instance + + @retval EFI_SUCCESS Successfully got root bridge's attribute. + @retval other Failed to get attribute. + +**/ +EFI_STATUS +DetermineRootBridgeAttributes ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + UINT64 Attributes; + EFI_STATUS Status; + EFI_HANDLE RootBridgeHandle; + + Attributes = 0; + RootBridgeHandle = RootBridgeDev->Handle; + + // + // Get root bridge attribute by calling into pci host bridge resource allocation protocol + // + Status = PciResAlloc->GetAllocAttributes ( + PciResAlloc, + RootBridgeHandle, + &Attributes + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Here is the point where PCI bus driver calls HOST bridge allocation protocol + // Currently we hardcoded for ea815 + // + if ((Attributes & EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM) != 0) { + RootBridgeDev->Decodes |= EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED; + } + + if ((Attributes & EFI_PCI_HOST_BRIDGE_MEM64_DECODE) != 0) { + RootBridgeDev->Decodes |= EFI_BRIDGE_MEM64_DECODE_SUPPORTED; + RootBridgeDev->Decodes |= EFI_BRIDGE_PMEM64_DECODE_SUPPORTED; + } + + RootBridgeDev->Decodes |= EFI_BRIDGE_MEM32_DECODE_SUPPORTED; + RootBridgeDev->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; + RootBridgeDev->Decodes |= EFI_BRIDGE_IO16_DECODE_SUPPORTED; + + return EFI_SUCCESS; +} + +/** + Get Max Option Rom size on specified bridge. + + @param Bridge Given bridge device instance. + + @return Max size of option rom needed. + +**/ +UINT32 +GetMaxOptionRomSize ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + UINT32 MaxOptionRomSize; + UINT32 TempOptionRomSize; + + MaxOptionRomSize = 0; + + // + // Go through bridges to reach all devices + // + CurrentLink = Bridge->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (!IsListEmpty (&Temp->ChildList)) { + + // + // Get max option rom size under this bridge + // + TempOptionRomSize = GetMaxOptionRomSize (Temp); + + // + // Compare with the option rom size of the bridge + // Get the larger one + // + if (Temp->RomSize > TempOptionRomSize) { + TempOptionRomSize = Temp->RomSize; + } + + } else { + + // + // For devices get the rom size directly + // + TempOptionRomSize = Temp->RomSize; + } + + // + // Get the largest rom size on this bridge + // + if (TempOptionRomSize > MaxOptionRomSize) { + MaxOptionRomSize = TempOptionRomSize; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return MaxOptionRomSize; +} + +/** + Process attributes of devices on this host bridge + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully process attribute. + @retval EFI_NOT_FOUND Can not find the specific root bridge device. + @retval other Failed to determine the root bridge device's attribute. + +**/ +EFI_STATUS +PciHostBridgeDeviceAttribute ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + EFI_HANDLE RootBridgeHandle; + PCI_IO_DEVICE *RootBridgeDev; + EFI_STATUS Status; + + RootBridgeHandle = NULL; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Set the attributes for devcies behind the Root Bridge + // + Status = DetermineDeviceAttribute (RootBridgeDev); + if (EFI_ERROR (Status)) { + return Status; + } + + } + + return EFI_SUCCESS; +} + +/** + Get resource allocation status from the ACPI resource descriptor. + + @param AcpiConfig Point to Acpi configuration table. + @param IoResStatus Return the status of I/O resource. + @param Mem32ResStatus Return the status of 32-bit Memory resource. + @param PMem32ResStatus Return the status of 32-bit Prefetchable Memory resource. + @param Mem64ResStatus Return the status of 64-bit Memory resource. + @param PMem64ResStatus Return the status of 64-bit Prefetchable Memory resource. + +**/ +VOID +GetResourceAllocationStatus ( + VOID *AcpiConfig, + OUT UINT64 *IoResStatus, + OUT UINT64 *Mem32ResStatus, + OUT UINT64 *PMem32ResStatus, + OUT UINT64 *Mem64ResStatus, + OUT UINT64 *PMem64ResStatus + ) +{ + UINT8 *Temp; + UINT64 ResStatus; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *ACPIAddressDesc; + + Temp = (UINT8 *) AcpiConfig; + + while (*Temp == ACPI_ADDRESS_SPACE_DESCRIPTOR) { + + ACPIAddressDesc = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Temp; + ResStatus = ACPIAddressDesc->AddrTranslationOffset; + + switch (ACPIAddressDesc->ResType) { + case 0: + if (ACPIAddressDesc->AddrSpaceGranularity == 32) { + if (ACPIAddressDesc->SpecificFlag == 0x06) { + // + // Pmem32 + // + *PMem32ResStatus = ResStatus; + } else { + // + // Mem32 + // + *Mem32ResStatus = ResStatus; + } + } + + if (ACPIAddressDesc->AddrSpaceGranularity == 64) { + if (ACPIAddressDesc->SpecificFlag == 0x06) { + // + // PMem64 + // + *PMem64ResStatus = ResStatus; + } else { + // + // Mem64 + // + *Mem64ResStatus = ResStatus; + } + } + + break; + + case 1: + // + // Io + // + *IoResStatus = ResStatus; + break; + + default: + break; + } + + Temp += sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR); + } +} + +/** + Remove a PCI device from device pool and mark its bar. + + @param PciDevice Instance of Pci device. + + @retval EFI_SUCCESS Successfully remove the PCI device. + @retval EFI_ABORTED Pci device is a root bridge or a PCI-PCI bridge. + +**/ +EFI_STATUS +RejectPciDevice ( + IN PCI_IO_DEVICE *PciDevice + ) +{ + PCI_IO_DEVICE *Bridge; + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + + // + // Remove the padding resource from a bridge + // + if ( IS_PCI_BRIDGE(&PciDevice->Pci) && + PciDevice->ResourcePaddingDescriptors != NULL ) { + FreePool (PciDevice->ResourcePaddingDescriptors); + PciDevice->ResourcePaddingDescriptors = NULL; + return EFI_SUCCESS; + } + + // + // Skip RB and PPB + // + if (IS_PCI_BRIDGE (&PciDevice->Pci) || (PciDevice->Parent == NULL)) { + return EFI_ABORTED; + } + + if (IS_CARDBUS_BRIDGE (&PciDevice->Pci)) { + // + // Get the root bridge device + // + Bridge = PciDevice; + while (Bridge->Parent != NULL) { + Bridge = Bridge->Parent; + } + + RemoveAllPciDeviceOnBridge (Bridge->Handle, PciDevice); + + // + // Mark its bar + // + InitializeP2C (PciDevice); + } + + // + // Remove the device + // + Bridge = PciDevice->Parent; + CurrentLink = Bridge->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (Temp == PciDevice) { + InitializePciDevice (Temp); + RemoveEntryList (CurrentLink); + return EFI_SUCCESS; + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_ABORTED; +} + +/** + Determine whethter a PCI device can be rejected. + + @param PciResNode Pointer to Pci resource node instance. + + @retval TRUE The PCI device can be rejected. + @retval TRUE The PCI device cannot be rejected. + +**/ +BOOLEAN +IsRejectiveDevice ( + IN PCI_RESOURCE_NODE *PciResNode + ) +{ + PCI_IO_DEVICE *Temp; + + Temp = PciResNode->PciDev; + + // + // Ensure the device is present + // + if (Temp == NULL) { + return FALSE; + } + + // + // PPB and RB should go ahead + // + if (IS_PCI_BRIDGE (&Temp->Pci) || (Temp->Parent == NULL)) { + return TRUE; + } + + // + // Skip device on Bus0 + // + if ((Temp->Parent != NULL) && (Temp->BusNumber == 0)) { + return FALSE; + } + + // + // Skip VGA + // + if (IS_PCI_VGA (&Temp->Pci)) { + return FALSE; + } + + return TRUE; +} + +/** + Compare two resource nodes and get the larger resource consumer. + + @param PciResNode1 resource node 1 want to be compared + @param PciResNode2 resource node 2 want to be compared + + @return Larger resource node. + +**/ +PCI_RESOURCE_NODE * +GetLargerConsumerDevice ( + IN PCI_RESOURCE_NODE *PciResNode1, + IN PCI_RESOURCE_NODE *PciResNode2 + ) +{ + if (PciResNode2 == NULL) { + return PciResNode1; + } + + if ((IS_PCI_BRIDGE(&(PciResNode2->PciDev->Pci)) || (PciResNode2->PciDev->Parent == NULL)) \ + && (PciResNode2->ResourceUsage != PciResUsagePadding) ) + { + return PciResNode1; + } + + if (PciResNode1 == NULL) { + return PciResNode2; + } + + if ((PciResNode1->Length) > (PciResNode2->Length)) { + return PciResNode1; + } + + return PciResNode2; +} + + +/** + Get the max resource consumer in the host resource pool. + + @param ResPool Pointer to resource pool node. + + @return The max resource consumer in the host resource pool. + +**/ +PCI_RESOURCE_NODE * +GetMaxResourceConsumerDevice ( + IN PCI_RESOURCE_NODE *ResPool + ) +{ + PCI_RESOURCE_NODE *Temp; + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *PciResNode; + PCI_RESOURCE_NODE *PPBResNode; + + PciResNode = NULL; + + CurrentLink = ResPool->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &ResPool->ChildList) { + + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (!IsRejectiveDevice (Temp)) { + CurrentLink = CurrentLink->ForwardLink; + continue; + } + + if ((IS_PCI_BRIDGE (&(Temp->PciDev->Pci)) || (Temp->PciDev->Parent == NULL)) \ + && (Temp->ResourceUsage != PciResUsagePadding)) + { + PPBResNode = GetMaxResourceConsumerDevice (Temp); + PciResNode = GetLargerConsumerDevice (PciResNode, PPBResNode); + } else { + PciResNode = GetLargerConsumerDevice (PciResNode, Temp); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return PciResNode; +} + +/** + Adjust host bridge allocation so as to reduce resource requirement + + @param IoPool Pointer to instance of I/O resource Node. + @param Mem32Pool Pointer to instance of 32-bit memory resource Node. + @param PMem32Pool Pointer to instance of 32-bit Prefetchable memory resource node. + @param Mem64Pool Pointer to instance of 64-bit memory resource node. + @param PMem64Pool Pointer to instance of 64-bit Prefetchable memory resource node. + @param IoResStatus Status of I/O resource Node. + @param Mem32ResStatus Status of 32-bit memory resource Node. + @param PMem32ResStatus Status of 32-bit Prefetchable memory resource node. + @param Mem64ResStatus Status of 64-bit memory resource node. + @param PMem64ResStatus Status of 64-bit Prefetchable memory resource node. + + @retval EFI_SUCCESS Successfully adjusted resource on host bridge. + @retval EFI_ABORTED Host bridge hasn't this resource type or no resource be adjusted. + +**/ +EFI_STATUS +PciHostBridgeAdjustAllocation ( + IN PCI_RESOURCE_NODE *IoPool, + IN PCI_RESOURCE_NODE *Mem32Pool, + IN PCI_RESOURCE_NODE *PMem32Pool, + IN PCI_RESOURCE_NODE *Mem64Pool, + IN PCI_RESOURCE_NODE *PMem64Pool, + IN UINT64 IoResStatus, + IN UINT64 Mem32ResStatus, + IN UINT64 PMem32ResStatus, + IN UINT64 Mem64ResStatus, + IN UINT64 PMem64ResStatus + ) +{ + BOOLEAN AllocationAjusted; + PCI_RESOURCE_NODE *PciResNode; + PCI_RESOURCE_NODE *ResPool[5]; + PCI_IO_DEVICE *RemovedPciDev[5]; + UINT64 ResStatus[5]; + UINTN RemovedPciDevNum; + UINTN DevIndex; + UINTN ResType; + EFI_STATUS Status; + EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD AllocFailExtendedData; + + PciResNode = NULL; + ZeroMem (RemovedPciDev, 5 * sizeof (PCI_IO_DEVICE *)); + RemovedPciDevNum = 0; + + ResPool[0] = IoPool; + ResPool[1] = Mem32Pool; + ResPool[2] = PMem32Pool; + ResPool[3] = Mem64Pool; + ResPool[4] = PMem64Pool; + + ResStatus[0] = IoResStatus; + ResStatus[1] = Mem32ResStatus; + ResStatus[2] = PMem32ResStatus; + ResStatus[3] = Mem64ResStatus; + ResStatus[4] = PMem64ResStatus; + + AllocationAjusted = FALSE; + + for (ResType = 0; ResType < 5; ResType++) { + + if (ResStatus[ResType] == EFI_RESOURCE_SATISFIED) { + continue; + } + + if (ResStatus[ResType] == EFI_RESOURCE_NOT_SATISFIED) { + // + // Host bridge hasn't this resource type + // + return EFI_ABORTED; + } + + // + // Hostbridge hasn't enough resource + // + PciResNode = GetMaxResourceConsumerDevice (ResPool[ResType]); + if (PciResNode == NULL) { + continue; + } + + // + // Check if the device has been removed before + // + for (DevIndex = 0; DevIndex < RemovedPciDevNum; DevIndex++) { + if (PciResNode->PciDev == RemovedPciDev[DevIndex]) { + break; + } + } + + if (DevIndex != RemovedPciDevNum) { + continue; + } + + // + // Remove the device if it isn't in the array + // + Status = RejectPciDevice (PciResNode->PciDev); + if (Status == EFI_SUCCESS) { + DEBUG (( + EFI_D_ERROR, + "PciBus: [%02x|%02x|%02x] was rejected due to resource confliction.\n", + PciResNode->PciDev->BusNumber, PciResNode->PciDev->DeviceNumber, PciResNode->PciDev->FunctionNumber + )); + + // + // Raise the EFI_IOB_EC_RESOURCE_CONFLICT status code + // + // + // Have no way to get ReqRes, AllocRes & Bar here + // + ZeroMem (&AllocFailExtendedData, sizeof (AllocFailExtendedData)); + AllocFailExtendedData.DevicePathSize = (UINT16) sizeof (EFI_DEVICE_PATH_PROTOCOL); + AllocFailExtendedData.DevicePath = (UINT8 *) PciResNode->PciDev->DevicePath; + AllocFailExtendedData.Bar = PciResNode->Bar; + + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_EC_RESOURCE_CONFLICT, + (VOID *) &AllocFailExtendedData, + sizeof (AllocFailExtendedData) + ); + + // + // Add it to the array and indicate at least a device has been rejected + // + RemovedPciDev[RemovedPciDevNum++] = PciResNode->PciDev; + AllocationAjusted = TRUE; + } + } + // + // End for + // + + if (AllocationAjusted) { + return EFI_SUCCESS; + } else { + return EFI_ABORTED; + } +} + +/** + Summary requests for all resource type, and construct ACPI resource + requestor instance. + + @param Bridge detecting bridge + @param IoNode Pointer to instance of I/O resource Node + @param Mem32Node Pointer to instance of 32-bit memory resource Node + @param PMem32Node Pointer to instance of 32-bit Pmemory resource node + @param Mem64Node Pointer to instance of 64-bit memory resource node + @param PMem64Node Pointer to instance of 64-bit Pmemory resource node + @param Config Output buffer holding new constructed APCI resource requestor + + @retval EFI_SUCCESS Successfully constructed ACPI resource. + @retval EFI_OUT_OF_RESOURCES No memory available. + +**/ +EFI_STATUS +ConstructAcpiResourceRequestor ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node, + OUT VOID **Config + ) +{ + UINT8 NumConfig; + UINT8 Aperture; + UINT8 *Configuration; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + EFI_ACPI_END_TAG_DESCRIPTOR *PtrEnd; + + NumConfig = 0; + Aperture = 0; + + *Config = NULL; + + // + // if there is io request, add to the io aperture + // + if (ResourceRequestExisted (IoNode)) { + NumConfig++; + Aperture |= 0x01; + } + + // + // if there is mem32 request, add to the mem32 aperture + // + if (ResourceRequestExisted (Mem32Node)) { + NumConfig++; + Aperture |= 0x02; + } + + // + // if there is pmem32 request, add to the pmem32 aperture + // + if (ResourceRequestExisted (PMem32Node)) { + NumConfig++; + Aperture |= 0x04; + } + + // + // if there is mem64 request, add to the mem64 aperture + // + if (ResourceRequestExisted (Mem64Node)) { + NumConfig++; + Aperture |= 0x08; + } + + // + // if there is pmem64 request, add to the pmem64 aperture + // + if (ResourceRequestExisted (PMem64Node)) { + NumConfig++; + Aperture |= 0x10; + } + + if (NumConfig != 0) { + + // + // If there is at least one type of resource request, + // allocate a acpi resource node + // + Configuration = AllocateZeroPool (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) * NumConfig + sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); + if (Configuration == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; + + // + // Deal with io aperture + // + if ((Aperture & 0x01) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Io + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; + // + // non ISA range + // + Ptr->SpecificFlag = 1; + Ptr->AddrLen = IoNode->Length; + Ptr->AddrRangeMax = IoNode->Alignment; + + Ptr++; + } + // + // Deal with mem32 aperture + // + if ((Aperture & 0x02) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // Nonprefechable + // + Ptr->SpecificFlag = 0; + // + // 32 bit + // + Ptr->AddrSpaceGranularity = 32; + Ptr->AddrLen = Mem32Node->Length; + Ptr->AddrRangeMax = Mem32Node->Alignment; + + Ptr++; + } + + // + // Deal with Pmem32 aperture + // + if ((Aperture & 0x04) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // prefechable + // + Ptr->SpecificFlag = 0x6; + // + // 32 bit + // + Ptr->AddrSpaceGranularity = 32; + Ptr->AddrLen = PMem32Node->Length; + Ptr->AddrRangeMax = PMem32Node->Alignment; + + Ptr++; + } + // + // Deal with mem64 aperture + // + if ((Aperture & 0x08) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // nonprefechable + // + Ptr->SpecificFlag = 0; + // + // 64 bit + // + Ptr->AddrSpaceGranularity = 64; + Ptr->AddrLen = Mem64Node->Length; + Ptr->AddrRangeMax = Mem64Node->Alignment; + + Ptr++; + } + // + // Deal with Pmem64 aperture + // + if ((Aperture & 0x10) != 0) { + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + // + // Mem + // + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // prefechable + // + Ptr->SpecificFlag = 0x06; + // + // 64 bit + // + Ptr->AddrSpaceGranularity = 64; + Ptr->AddrLen = PMem64Node->Length; + Ptr->AddrRangeMax = PMem64Node->Alignment; + + Ptr++; + } + + // + // put the checksum + // + PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) Ptr; + + PtrEnd->Desc = ACPI_END_TAG_DESCRIPTOR; + PtrEnd->Checksum = 0; + + } else { + + // + // If there is no resource request + // + Configuration = AllocateZeroPool (sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); + if (Configuration == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Configuration); + PtrEnd->Desc = ACPI_END_TAG_DESCRIPTOR; + PtrEnd->Checksum = 0; + } + + *Config = Configuration; + + return EFI_SUCCESS; +} + +/** + Get resource base from an acpi configuration descriptor. + + @param Config An acpi configuration descriptor. + @param IoBase Output of I/O resource base address. + @param Mem32Base Output of 32-bit memory base address. + @param PMem32Base Output of 32-bit prefetchable memory base address. + @param Mem64Base Output of 64-bit memory base address. + @param PMem64Base Output of 64-bit prefetchable memory base address. + +**/ +VOID +GetResourceBase ( + IN VOID *Config, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ) +{ + UINT8 *Temp; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + UINT64 ResStatus; + + ASSERT (Config != NULL); + + *IoBase = 0xFFFFFFFFFFFFFFFFULL; + *Mem32Base = 0xFFFFFFFFFFFFFFFFULL; + *PMem32Base = 0xFFFFFFFFFFFFFFFFULL; + *Mem64Base = 0xFFFFFFFFFFFFFFFFULL; + *PMem64Base = 0xFFFFFFFFFFFFFFFFULL; + + Temp = (UINT8 *) Config; + + while (*Temp == ACPI_ADDRESS_SPACE_DESCRIPTOR) { + + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Temp; + ResStatus = Ptr->AddrTranslationOffset; + + if (ResStatus == EFI_RESOURCE_SATISFIED) { + + switch (Ptr->ResType) { + + // + // Memory type aperture + // + case 0: + + // + // Check to see the granularity + // + if (Ptr->AddrSpaceGranularity == 32) { + if ((Ptr->SpecificFlag & 0x06) != 0) { + *PMem32Base = Ptr->AddrRangeMin; + } else { + *Mem32Base = Ptr->AddrRangeMin; + } + } + + if (Ptr->AddrSpaceGranularity == 64) { + if ((Ptr->SpecificFlag & 0x06) != 0) { + *PMem64Base = Ptr->AddrRangeMin; + } else { + *Mem64Base = Ptr->AddrRangeMin; + } + } + break; + + case 1: + + // + // Io type aperture + // + *IoBase = Ptr->AddrRangeMin; + break; + + default: + break; + + } + // + // End switch + // + } + // + // End for + // + Temp += sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR); + } +} + +/** + Enumerate pci bridge, allocate resource and determine attribute + for devices on this bridge. + + @param BridgeDev Pointer to instance of bridge device. + + @retval EFI_SUCCESS Successfully enumerated PCI bridge. + @retval other Failed to enumerate. + +**/ +EFI_STATUS +PciBridgeEnumerator ( + IN PCI_IO_DEVICE *BridgeDev + ) +{ + UINT8 SubBusNumber; + UINT8 StartBusNumber; + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + + SubBusNumber = 0; + StartBusNumber = 0; + PciIo = &(BridgeDev->PciIo); + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x19, 1, &StartBusNumber); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciAssignBusNumber ( + BridgeDev, + StartBusNumber, + &SubBusNumber + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciPciDeviceInfoCollector (BridgeDev, StartBusNumber); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciBridgeResourceAllocator (BridgeDev); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = DetermineDeviceAttribute (BridgeDev); + + if (EFI_ERROR (Status)) { + return Status; + } + + return EFI_SUCCESS; + +} + +/** + Allocate all kinds of resource for PCI bridge. + + @param Bridge Pointer to bridge instance. + + @retval EFI_SUCCESS Successfully allocated resource for PCI bridge. + @retval other Failed to allocate resource for bridge. + +**/ +EFI_STATUS +PciBridgeResourceAllocator ( + IN PCI_IO_DEVICE *Bridge + ) +{ + PCI_RESOURCE_NODE *IoBridge; + PCI_RESOURCE_NODE *Mem32Bridge; + PCI_RESOURCE_NODE *PMem32Bridge; + PCI_RESOURCE_NODE *Mem64Bridge; + PCI_RESOURCE_NODE *PMem64Bridge; + UINT64 IoBase; + UINT64 Mem32Base; + UINT64 PMem32Base; + UINT64 Mem64Base; + UINT64 PMem64Base; + EFI_STATUS Status; + + IoBridge = CreateResourceNode ( + Bridge, + 0, + Bridge->BridgeIoAlignment, + 0, + PciBarTypeIo16, + PciResUsageTypical + ); + + Mem32Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypeMem32, + PciResUsageTypical + ); + + PMem32Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypePMem32, + PciResUsageTypical + ); + + Mem64Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypeMem64, + PciResUsageTypical + ); + + PMem64Bridge = CreateResourceNode ( + Bridge, + 0, + 0xFFFFF, + 0, + PciBarTypePMem64, + PciResUsageTypical + ); + + // + // Create resourcemap by going through all the devices subject to this root bridge + // + CreateResourceMap ( + Bridge, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge + ); + + Status = GetResourceBaseFromBridge ( + Bridge, + &IoBase, + &Mem32Base, + &PMem32Base, + &Mem64Base, + &PMem64Base + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Program IO resources + // + ProgramResource ( + IoBase, + IoBridge + ); + + // + // Program Mem32 resources + // + ProgramResource ( + Mem32Base, + Mem32Bridge + ); + + // + // Program PMem32 resources + // + ProgramResource ( + PMem32Base, + PMem32Bridge + ); + + // + // Program Mem64 resources + // + ProgramResource ( + Mem64Base, + Mem64Bridge + ); + + // + // Program PMem64 resources + // + ProgramResource ( + PMem64Base, + PMem64Bridge + ); + + DestroyResourceTree (IoBridge); + DestroyResourceTree (Mem32Bridge); + DestroyResourceTree (PMem32Bridge); + DestroyResourceTree (PMem64Bridge); + DestroyResourceTree (Mem64Bridge); + + gBS->FreePool (IoBridge); + gBS->FreePool (Mem32Bridge); + gBS->FreePool (PMem32Bridge); + gBS->FreePool (PMem64Bridge); + gBS->FreePool (Mem64Bridge); + + return EFI_SUCCESS; +} + +/** + Get resource base address for a pci bridge device. + + @param Bridge Given Pci driver instance. + @param IoBase Output for base address of I/O type resource. + @param Mem32Base Output for base address of 32-bit memory type resource. + @param PMem32Base Ooutput for base address of 32-bit Pmemory type resource. + @param Mem64Base Output for base address of 64-bit memory type resource. + @param PMem64Base Output for base address of 64-bit Pmemory type resource. + + @retval EFI_SUCCESS Successfully got resource base address. + @retval EFI_OUT_OF_RESOURCES PCI bridge is not available. + +**/ +EFI_STATUS +GetResourceBaseFromBridge ( + IN PCI_IO_DEVICE *Bridge, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ) +{ + if (!Bridge->Allocated) { + return EFI_OUT_OF_RESOURCES; + } + + *IoBase = gAllOne; + *Mem32Base = gAllOne; + *PMem32Base = gAllOne; + *Mem64Base = gAllOne; + *PMem64Base = gAllOne; + + if (IS_PCI_BRIDGE (&Bridge->Pci)) { + + if (Bridge->PciBar[PPB_IO_RANGE].Length > 0) { + *IoBase = Bridge->PciBar[PPB_IO_RANGE].BaseAddress; + } + + if (Bridge->PciBar[PPB_MEM32_RANGE].Length > 0) { + *Mem32Base = Bridge->PciBar[PPB_MEM32_RANGE].BaseAddress; + } + + if (Bridge->PciBar[PPB_PMEM32_RANGE].Length > 0) { + *PMem32Base = Bridge->PciBar[PPB_PMEM32_RANGE].BaseAddress; + } + + if (Bridge->PciBar[PPB_PMEM64_RANGE].Length > 0) { + *PMem64Base = Bridge->PciBar[PPB_PMEM64_RANGE].BaseAddress; + } else { + *PMem64Base = gAllOne; + } + + } + + if (IS_CARDBUS_BRIDGE (&Bridge->Pci)) { + if (Bridge->PciBar[P2C_IO_1].Length > 0) { + *IoBase = Bridge->PciBar[P2C_IO_1].BaseAddress; + } else { + if (Bridge->PciBar[P2C_IO_2].Length > 0) { + *IoBase = Bridge->PciBar[P2C_IO_2].BaseAddress; + } + } + + if (Bridge->PciBar[P2C_MEM_1].Length > 0) { + if (Bridge->PciBar[P2C_MEM_1].BarType == PciBarTypePMem32) { + *PMem32Base = Bridge->PciBar[P2C_MEM_1].BaseAddress; + } + + if (Bridge->PciBar[P2C_MEM_1].BarType == PciBarTypeMem32) { + *Mem32Base = Bridge->PciBar[P2C_MEM_1].BaseAddress; + } + } + + if (Bridge->PciBar[P2C_MEM_2].Length > 0) { + if (Bridge->PciBar[P2C_MEM_2].BarType == PciBarTypePMem32) { + *PMem32Base = Bridge->PciBar[P2C_MEM_2].BaseAddress; + } + + if (Bridge->PciBar[P2C_MEM_2].BarType == PciBarTypeMem32) { + *Mem32Base = Bridge->PciBar[P2C_MEM_2].BaseAddress; + } + } + } + + return EFI_SUCCESS; +} + +/** + These are the notifications from the PCI bus driver that it is about to enter a certain + phase of the PCI enumeration process. + + This member function can be used to notify the host bridge driver to perform specific actions, + including any chipset-specific initialization, so that the chipset is ready to enter the next phase. + Eight notification points are defined at this time. See belows: + EfiPciHostBridgeBeginEnumeration Resets the host bridge PCI apertures and internal data + structures. The PCI enumerator should issue this notification + before starting a fresh enumeration process. Enumeration cannot + be restarted after sending any other notification such as + EfiPciHostBridgeBeginBusAllocation. + EfiPciHostBridgeBeginBusAllocation The bus allocation phase is about to begin. No specific action is + required here. This notification can be used to perform any + chipset-specific programming. + EfiPciHostBridgeEndBusAllocation The bus allocation and bus programming phase is complete. No + specific action is required here. This notification can be used to + perform any chipset-specific programming. + EfiPciHostBridgeBeginResourceAllocation + The resource allocation phase is about to begin. No specific + action is required here. This notification can be used to perform + any chipset-specific programming. + EfiPciHostBridgeAllocateResources Allocates resources per previously submitted requests for all the PCI + root bridges. These resource settings are returned on the next call to + GetProposedResources(). Before calling NotifyPhase() with a Phase of + EfiPciHostBridgeAllocateResource, the PCI bus enumerator is responsible + for gathering I/O and memory requests for + all the PCI root bridges and submitting these requests using + SubmitResources(). This function pads the resource amount + to suit the root bridge hardware, takes care of dependencies between + the PCI root bridges, and calls the Global Coherency Domain (GCD) + with the allocation request. In the case of padding, the allocated range + could be bigger than what was requested. + EfiPciHostBridgeSetResources Programs the host bridge hardware to decode previously allocated + resources (proposed resources) for all the PCI root bridges. After the + hardware is programmed, reassigning resources will not be supported. + The bus settings are not affected. + EfiPciHostBridgeFreeResources Deallocates resources that were previously allocated for all the PCI + root bridges and resets the I/O and memory apertures to their initial + state. The bus settings are not affected. If the request to allocate + resources fails, the PCI enumerator can use this notification to + deallocate previous resources, adjust the requests, and retry + allocation. + EfiPciHostBridgeEndResourceAllocation The resource allocation phase is completed. No specific action is + required here. This notification can be used to perform any chipsetspecific + programming. + + @param[in] PciResAlloc The instance pointer of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param[in] Phase The phase during enumeration + + @retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error + is valid for a Phase of EfiPciHostBridgeAllocateResources if + SubmitResources() has not been called for one or more + PCI root bridges before this call + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid + for a Phase of EfiPciHostBridgeSetResources. + @retval EFI_INVALID_PARAMETER Invalid phase parameter + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + This error is valid for a Phase of EfiPciHostBridgeAllocateResources if the + previously submitted resource requests cannot be fulfilled or + were only partially fulfilled. + @retval EFI_SUCCESS The notification was accepted without any errors. + +**/ +EFI_STATUS +NotifyPhase ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase + ) +{ + EFI_HANDLE HostBridgeHandle; + EFI_HANDLE RootBridgeHandle; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + EFI_STATUS Status; + + HostBridgeHandle = NULL; + RootBridgeHandle = NULL; + if (gPciPlatformProtocol != NULL) { + // + // Get Host Bridge Handle. + // + PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle); + + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->HandleProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo + ); + + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + HostBridgeHandle = PciRootBridgeIo->ParentHandle; + + // + // Call PlatformPci::PlatformNotify() if the protocol is present. + // + gPciPlatformProtocol->PlatformNotify ( + gPciPlatformProtocol, + HostBridgeHandle, + Phase, + ChipsetEntry + ); + } else if (gPciOverrideProtocol != NULL){ + // + // Get Host Bridge Handle. + // + PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle); + + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->HandleProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo + ); + + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + HostBridgeHandle = PciRootBridgeIo->ParentHandle; + + // + // Call PlatformPci::PhaseNotify() if the protocol is present. + // + gPciOverrideProtocol->PlatformNotify ( + gPciOverrideProtocol, + HostBridgeHandle, + Phase, + ChipsetEntry + ); + } + + Status = PciResAlloc->NotifyPhase ( + PciResAlloc, + Phase + ); + + if (gPciPlatformProtocol != NULL) { + // + // Call PlatformPci::PlatformNotify() if the protocol is present. + // + gPciPlatformProtocol->PlatformNotify ( + gPciPlatformProtocol, + HostBridgeHandle, + Phase, + ChipsetExit + ); + + } else if (gPciOverrideProtocol != NULL) { + // + // Call PlatformPci::PhaseNotify() if the protocol is present. + // + gPciOverrideProtocol->PlatformNotify ( + gPciOverrideProtocol, + HostBridgeHandle, + Phase, + ChipsetExit + ); + } + + return Status; +} + +/** + Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various + stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual + PCI controllers before enumeration. + + This function is called during the PCI enumeration process. No specific action is expected from this + member function. It allows the host bridge driver to preinitialize individual PCI controllers before + enumeration. + + @param Bridge Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance. + @param Bus The bus number of the pci device. + @param Device The device number of the pci device. + @param Func The function number of the pci device. + @param Phase The phase of the PCI device enumeration. + + @retval EFI_SUCCESS The requested parameters were returned. + @retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle. + @retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in + EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE. + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator should + not enumerate this device, including its child devices if it is a PCI-to-PCI + bridge. + +**/ +EFI_STATUS +PreprocessController ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase + ) +{ + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS RootBridgePciAddress; + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc; + EFI_HANDLE RootBridgeHandle; + EFI_HANDLE HostBridgeHandle; + EFI_STATUS Status; + + // + // Get the host bridge handle + // + HostBridgeHandle = Bridge->PciRootBridgeIo->ParentHandle; + + // + // Get the pci host bridge resource allocation protocol + // + Status = gBS->OpenProtocol ( + HostBridgeHandle, + &gEfiPciHostBridgeResourceAllocationProtocolGuid, + (VOID **) &PciResAlloc, + NULL, + NULL, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Get Root Brige Handle + // + while (Bridge->Parent != NULL) { + Bridge = Bridge->Parent; + } + + RootBridgeHandle = Bridge->Handle; + + RootBridgePciAddress.Register = 0; + RootBridgePciAddress.Function = Func; + RootBridgePciAddress.Device = Device; + RootBridgePciAddress.Bus = Bus; + RootBridgePciAddress.ExtendedRegister = 0; + + if (gPciPlatformProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciPlatformProtocol->PlatformPrepController ( + gPciPlatformProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetEntry + ); + } else if (gPciOverrideProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciOverrideProtocol->PlatformPrepController ( + gPciOverrideProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetEntry + ); + } + + Status = PciResAlloc->PreprocessController ( + PciResAlloc, + RootBridgeHandle, + RootBridgePciAddress, + Phase + ); + + if (gPciPlatformProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciPlatformProtocol->PlatformPrepController ( + gPciPlatformProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetExit + ); + } else if (gPciOverrideProtocol != NULL) { + // + // Call PlatformPci::PrepController() if the protocol is present. + // + gPciOverrideProtocol->PlatformPrepController ( + gPciOverrideProtocol, + HostBridgeHandle, + RootBridgeHandle, + RootBridgePciAddress, + Phase, + ChipsetExit + ); + } + + return EFI_SUCCESS; +} + +/** + This function allows the PCI bus driver to be notified to act as requested when a hot-plug event has + happened on the hot-plug controller. Currently, the operations include add operation and remove operation.. + + @param This A pointer to the hot plug request protocol. + @param Operation The operation the PCI bus driver is requested to make. + @param Controller The handle of the hot-plug controller. + @param RemainingDevicePath The remaining device path for the PCI-like hot-plug device. + @param NumberOfChildren The number of child handles. + For a add operation, it is an output parameter. + For a remove operation, it's an input parameter. + @param ChildHandleBuffer The buffer which contains the child handles. + + @retval EFI_INVALID_PARAMETER Operation is not a legal value. + Controller is NULL or not a valid handle. + NumberOfChildren is NULL. + ChildHandleBuffer is NULL while Operation is add. + @retval EFI_OUT_OF_RESOURCES There are no enough resources to start the devices. + @retval EFI_NOT_FOUND Can not find bridge according to controller handle. + @retval EFI_SUCCESS The handles for the specified device have been created or destroyed + as requested, and for an add operation, the new handles are + returned in ChildHandleBuffer. +**/ +EFI_STATUS +EFIAPI +PciHotPlugRequestNotify ( + IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This, + IN EFI_PCI_HOTPLUG_OPERATION Operation, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE * ChildHandleBuffer + ) +{ + PCI_IO_DEVICE *Bridge; + PCI_IO_DEVICE *Temp; + EFI_PCI_IO_PROTOCOL *PciIo; + UINTN Index; + EFI_HANDLE RootBridgeHandle; + EFI_STATUS Status; + + // + // Check input parameter validity + // + if ((Controller == NULL) || (NumberOfChildren == NULL)){ + return EFI_INVALID_PARAMETER; + } + + if ((Operation != EfiPciHotPlugRequestAdd) && (Operation != EfiPciHotplugRequestRemove)) { + return EFI_INVALID_PARAMETER; + } + + if (Operation == EfiPciHotPlugRequestAdd){ + if (ChildHandleBuffer == NULL) { + return EFI_INVALID_PARAMETER; + } + } else if ((Operation == EfiPciHotplugRequestRemove) && (*NumberOfChildren != 0)) { + if (ChildHandleBuffer == NULL) { + return EFI_INVALID_PARAMETER; + } + } + + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciIoProtocolGuid, + (VOID **) &PciIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + Bridge = PCI_IO_DEVICE_FROM_PCI_IO_THIS (PciIo); + + // + // Get root bridge handle + // + Temp = Bridge; + while (Temp->Parent != NULL) { + Temp = Temp->Parent; + } + + RootBridgeHandle = Temp->Handle; + + if (Operation == EfiPciHotPlugRequestAdd) { + // + // Report Status Code to indicate hot plug happens + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + (EFI_IO_BUS_PCI | EFI_IOB_PC_HOTPLUG), + Temp->DevicePath + ); + + if (NumberOfChildren != NULL) { + *NumberOfChildren = 0; + } + + if (IsListEmpty (&Bridge->ChildList)) { + + Status = PciBridgeEnumerator (Bridge); + + if (EFI_ERROR (Status)) { + return Status; + } + } + + Status = StartPciDevicesOnBridge ( + RootBridgeHandle, + Bridge, + RemainingDevicePath, + NumberOfChildren, + ChildHandleBuffer + ); + + return Status; + } + + if (Operation == EfiPciHotplugRequestRemove) { + + if (*NumberOfChildren == 0) { + // + // Remove all devices on the bridge + // + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Bridge); + return EFI_SUCCESS; + + } + + for (Index = 0; Index < *NumberOfChildren; Index++) { + // + // De register all the pci device + // + Status = DeRegisterPciDevice (RootBridgeHandle, ChildHandleBuffer[Index]); + + if (EFI_ERROR (Status)) { + return Status; + } + + } + // + // End for + // + return EFI_SUCCESS; + } + + return EFI_SUCCESS; +} + +/** + Search hostbridge according to given handle + + @param RootBridgeHandle Host bridge handle. + + @retval TRUE Found host bridge handle. + @retval FALSE Not found hot bridge handle. + +**/ +BOOLEAN +SearchHostBridgeHandle ( + IN EFI_HANDLE RootBridgeHandle + ) +{ + EFI_HANDLE HostBridgeHandle; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + UINTN Index; + EFI_STATUS Status; + + // + // Get the rootbridge Io protocol to find the host bridge handle + // + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + + if (EFI_ERROR (Status)) { + return FALSE; + } + + HostBridgeHandle = PciRootBridgeIo->ParentHandle; + for (Index = 0; Index < gPciHostBridgeNumber; Index++) { + if (HostBridgeHandle == gPciHostBrigeHandles[Index]) { + return TRUE; + } + } + + return FALSE; +} + +/** + Add host bridge handle to global variable for enumerating. + + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS Successfully added host bridge. + @retval EFI_ABORTED Host bridge is NULL, or given host bridge + has been in host bridge list. + +**/ +EFI_STATUS +AddHostBridgeEnumerator ( + IN EFI_HANDLE HostBridgeHandle + ) +{ + UINTN Index; + + if (HostBridgeHandle == NULL) { + return EFI_ABORTED; + } + + for (Index = 0; Index < gPciHostBridgeNumber; Index++) { + if (HostBridgeHandle == gPciHostBrigeHandles[Index]) { + return EFI_ABORTED; + } + } + + if (Index < PCI_MAX_HOST_BRIDGE_NUM) { + gPciHostBrigeHandles[Index] = HostBridgeHandle; + gPciHostBridgeNumber++; + } + + return EFI_SUCCESS; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h new file mode 100644 index 0000000000..2a34c9043c --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h @@ -0,0 +1,515 @@ +/** @file + PCI bus enumeration logic function declaration for PCI bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_ENUMERATOR_H_ +#define _EFI_PCI_ENUMERATOR_H_ + +#include "PciResourceSupport.h" + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + @param Controller Parent controller handle. + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumerator ( + IN EFI_HANDLE Controller, + IN EFI_HANDLE HostBridgeHandle + ); + +/** + Enumerate PCI root bridge. + + @param PciResAlloc Pointer to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + @param RootBridgeDev Instance of root bridge device. + + @retval EFI_SUCCESS Successfully enumerated root bridge. + @retval other Failed to enumerate root bridge. + +**/ +EFI_STATUS +PciRootBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ); + +/** + This routine is used to process all PCI devices' Option Rom + on a certain root bridge. + + @param Bridge Given parent's root bridge. + @param RomBase Base address of ROM driver loaded from. + @param MaxLength Maximum rom size. + +**/ +VOID +ProcessOptionRom ( + IN PCI_IO_DEVICE *Bridge, + IN UINT64 RomBase, + IN UINT64 MaxLength + ); + +/** + This routine is used to assign bus number to the given PCI bus system + + @param Bridge Parent root bridge instance. + @param StartBusNumber Number of beginning. + @param SubBusNumber The number of sub bus. + + @retval EFI_SUCCESS Successfully assigned bus number. + @retval EFI_DEVICE_ERROR Failed to assign bus number. + +**/ +EFI_STATUS +PciAssignBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber + ); + +/** + This routine is used to determine the root bridge attribute by interfacing + the host bridge resource allocation protocol. + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param RootBridgeDev Root bridge instance + + @retval EFI_SUCCESS Successfully got root bridge's attribute. + @retval other Failed to get attribute. + +**/ +EFI_STATUS +DetermineRootBridgeAttributes ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + IN PCI_IO_DEVICE *RootBridgeDev + ); + +/** + Get Max Option Rom size on specified bridge. + + @param Bridge Given bridge device instance. + + @return Max size of option rom needed. + +**/ +UINT32 +GetMaxOptionRomSize ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Process attributes of devices on this host bridge + + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully process attribute. + @retval EFI_NOT_FOUND Can not find the specific root bridge device. + @retval other Failed to determine the root bridge device's attribute. + +**/ +EFI_STATUS +PciHostBridgeDeviceAttribute ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + Get resource allocation status from the ACPI resource descriptor. + + @param AcpiConfig Point to Acpi configuration table. + @param IoResStatus Return the status of I/O resource. + @param Mem32ResStatus Return the status of 32-bit Memory resource. + @param PMem32ResStatus Return the status of 32-bit Prefetchable Memory resource. + @param Mem64ResStatus Return the status of 64-bit Memory resource. + @param PMem64ResStatus Return the status of 64-bit Prefetchable Memory resource. + +**/ +VOID +GetResourceAllocationStatus ( + VOID *AcpiConfig, + OUT UINT64 *IoResStatus, + OUT UINT64 *Mem32ResStatus, + OUT UINT64 *PMem32ResStatus, + OUT UINT64 *Mem64ResStatus, + OUT UINT64 *PMem64ResStatus + ); + +/** + Remove a PCI device from device pool and mark its bar. + + @param PciDevice Instance of Pci device. + + @retval EFI_SUCCESS Successfully remove the PCI device. + @retval EFI_ABORTED Pci device is a root bridge or a PCI-PCI bridge. + +**/ +EFI_STATUS +RejectPciDevice ( + IN PCI_IO_DEVICE *PciDevice + ); + +/** + Determine whethter a PCI device can be rejected. + + @param PciResNode Pointer to Pci resource node instance. + + @retval TRUE The PCI device can be rejected. + @retval TRUE The PCI device cannot be rejected. + +**/ +BOOLEAN +IsRejectiveDevice ( + IN PCI_RESOURCE_NODE *PciResNode + ); + +/** + Compare two resource nodes and get the larger resource consumer. + + @param PciResNode1 resource node 1 want to be compared + @param PciResNode2 resource node 2 want to be compared + + @return Larger resource node. + +**/ +PCI_RESOURCE_NODE * +GetLargerConsumerDevice ( + IN PCI_RESOURCE_NODE *PciResNode1, + IN PCI_RESOURCE_NODE *PciResNode2 + ); + +/** + Get the max resource consumer in the host resource pool. + + @param ResPool Pointer to resource pool node. + + @return The max resource consumer in the host resource pool. + +**/ +PCI_RESOURCE_NODE * +GetMaxResourceConsumerDevice ( + IN PCI_RESOURCE_NODE *ResPool + ); + +/** + Adjust host bridge allocation so as to reduce resource requirement + + @param IoPool Pointer to instance of I/O resource Node. + @param Mem32Pool Pointer to instance of 32-bit memory resource Node. + @param PMem32Pool Pointer to instance of 32-bit Prefetchable memory resource node. + @param Mem64Pool Pointer to instance of 64-bit memory resource node. + @param PMem64Pool Pointer to instance of 64-bit Prefetchable memory resource node. + @param IoResStatus Status of I/O resource Node. + @param Mem32ResStatus Status of 32-bit memory resource Node. + @param PMem32ResStatus Status of 32-bit Prefetchable memory resource node. + @param Mem64ResStatus Status of 64-bit memory resource node. + @param PMem64ResStatus Status of 64-bit Prefetchable memory resource node. + + @retval EFI_SUCCESS Successfully adjusted resource on host bridge. + @retval EFI_ABORTED Host bridge hasn't this resource type or no resource be adjusted. + +**/ +EFI_STATUS +PciHostBridgeAdjustAllocation ( + IN PCI_RESOURCE_NODE *IoPool, + IN PCI_RESOURCE_NODE *Mem32Pool, + IN PCI_RESOURCE_NODE *PMem32Pool, + IN PCI_RESOURCE_NODE *Mem64Pool, + IN PCI_RESOURCE_NODE *PMem64Pool, + IN UINT64 IoResStatus, + IN UINT64 Mem32ResStatus, + IN UINT64 PMem32ResStatus, + IN UINT64 Mem64ResStatus, + IN UINT64 PMem64ResStatus + ); + +/** + Summary requests for all resource type, and construct ACPI resource + requestor instance. + + @param Bridge detecting bridge + @param IoNode Pointer to instance of I/O resource Node + @param Mem32Node Pointer to instance of 32-bit memory resource Node + @param PMem32Node Pointer to instance of 32-bit Pmemory resource node + @param Mem64Node Pointer to instance of 64-bit memory resource node + @param PMem64Node Pointer to instance of 64-bit Pmemory resource node + @param Config Output buffer holding new constructed APCI resource requestor + + @retval EFI_SUCCESS Successfully constructed ACPI resource. + @retval EFI_OUT_OF_RESOURCES No memory available. + +**/ +EFI_STATUS +ConstructAcpiResourceRequestor ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node, + OUT VOID **Config + ); + +/** + Get resource base from an acpi configuration descriptor. + + @param Config An acpi configuration descriptor. + @param IoBase Output of I/O resource base address. + @param Mem32Base Output of 32-bit memory base address. + @param PMem32Base Output of 32-bit prefetchable memory base address. + @param Mem64Base Output of 64-bit memory base address. + @param PMem64Base Output of 64-bit prefetchable memory base address. + +**/ +VOID +GetResourceBase ( + IN VOID *Config, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ); + +/** + Enumerate pci bridge, allocate resource and determine attribute + for devices on this bridge. + + @param BridgeDev Pointer to instance of bridge device. + + @retval EFI_SUCCESS Successfully enumerated PCI bridge. + @retval other Failed to enumerate. + +**/ +EFI_STATUS +PciBridgeEnumerator ( + IN PCI_IO_DEVICE *BridgeDev + ); + +/** + Allocate all kinds of resource for PCI bridge. + + @param Bridge Pointer to bridge instance. + + @retval EFI_SUCCESS Successfully allocated resource for PCI bridge. + @retval other Failed to allocate resource for bridge. + +**/ +EFI_STATUS +PciBridgeResourceAllocator ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Get resource base address for a pci bridge device. + + @param Bridge Given Pci driver instance. + @param IoBase Output for base address of I/O type resource. + @param Mem32Base Output for base address of 32-bit memory type resource. + @param PMem32Base Ooutput for base address of 32-bit Pmemory type resource. + @param Mem64Base Output for base address of 64-bit memory type resource. + @param PMem64Base Output for base address of 64-bit Pmemory type resource. + + @retval EFI_SUCCESS Successfully got resource base address. + @retval EFI_OUT_OF_RESOURCES PCI bridge is not available. + +**/ +EFI_STATUS +GetResourceBaseFromBridge ( + IN PCI_IO_DEVICE *Bridge, + OUT UINT64 *IoBase, + OUT UINT64 *Mem32Base, + OUT UINT64 *PMem32Base, + OUT UINT64 *Mem64Base, + OUT UINT64 *PMem64Base + ); + +/** + Process Option Rom on this host bridge + + @param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_NOT_FOUND Can not find the root bridge instance. + @retval EFI_SUCCESS Success process. +**/ +EFI_STATUS +PciHostBridgeP2CProcess ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + These are the notifications from the PCI bus driver that it is about to enter a certain + phase of the PCI enumeration process. + + This member function can be used to notify the host bridge driver to perform specific actions, + including any chipset-specific initialization, so that the chipset is ready to enter the next phase. + Eight notification points are defined at this time. See belows: + EfiPciHostBridgeBeginEnumeration Resets the host bridge PCI apertures and internal data + structures. The PCI enumerator should issue this notification + before starting a fresh enumeration process. Enumeration cannot + be restarted after sending any other notification such as + EfiPciHostBridgeBeginBusAllocation. + EfiPciHostBridgeBeginBusAllocation The bus allocation phase is about to begin. No specific action is + required here. This notification can be used to perform any + chipset-specific programming. + EfiPciHostBridgeEndBusAllocation The bus allocation and bus programming phase is complete. No + specific action is required here. This notification can be used to + perform any chipset-specific programming. + EfiPciHostBridgeBeginResourceAllocation + The resource allocation phase is about to begin. No specific + action is required here. This notification can be used to perform + any chipset-specific programming. + EfiPciHostBridgeAllocateResources Allocates resources per previously submitted requests for all the PCI + root bridges. These resource settings are returned on the next call to + GetProposedResources(). Before calling NotifyPhase() with a Phase of + EfiPciHostBridgeAllocateResource, the PCI bus enumerator is responsible + for gathering I/O and memory requests for + all the PCI root bridges and submitting these requests using + SubmitResources(). This function pads the resource amount + to suit the root bridge hardware, takes care of dependencies between + the PCI root bridges, and calls the Global Coherency Domain (GCD) + with the allocation request. In the case of padding, the allocated range + could be bigger than what was requested. + EfiPciHostBridgeSetResources Programs the host bridge hardware to decode previously allocated + resources (proposed resources) for all the PCI root bridges. After the + hardware is programmed, reassigning resources will not be supported. + The bus settings are not affected. + EfiPciHostBridgeFreeResources Deallocates resources that were previously allocated for all the PCI + root bridges and resets the I/O and memory apertures to their initial + state. The bus settings are not affected. If the request to allocate + resources fails, the PCI enumerator can use this notification to + deallocate previous resources, adjust the requests, and retry + allocation. + EfiPciHostBridgeEndResourceAllocation The resource allocation phase is completed. No specific action is + required here. This notification can be used to perform any chipsetspecific + programming. + + @param[in] PciResAlloc The instance pointer of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param[in] Phase The phase during enumeration + + @retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error + is valid for a Phase of EfiPciHostBridgeAllocateResources if + SubmitResources() has not been called for one or more + PCI root bridges before this call + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid + for a Phase of EfiPciHostBridgeSetResources. + @retval EFI_INVALID_PARAMETER Invalid phase parameter + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + This error is valid for a Phase of EfiPciHostBridgeAllocateResources if the + previously submitted resource requests cannot be fulfilled or + were only partially fulfilled. + @retval EFI_SUCCESS The notification was accepted without any errors. + +**/ +EFI_STATUS +NotifyPhase ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase + ); + +/** + Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various + stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual + PCI controllers before enumeration. + + This function is called during the PCI enumeration process. No specific action is expected from this + member function. It allows the host bridge driver to preinitialize individual PCI controllers before + enumeration. + + @param Bridge Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance. + @param Bus The bus number of the pci device. + @param Device The device number of the pci device. + @param Func The function number of the pci device. + @param Phase The phase of the PCI device enumeration. + + @retval EFI_SUCCESS The requested parameters were returned. + @retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle. + @retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in + EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE. + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator should + not enumerate this device, including its child devices if it is a PCI-to-PCI + bridge. + +**/ +EFI_STATUS +PreprocessController ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase + ); + +/** + This function allows the PCI bus driver to be notified to act as requested when a hot-plug event has + happened on the hot-plug controller. Currently, the operations include add operation and remove operation.. + + @param This A pointer to the hot plug request protocol. + @param Operation The operation the PCI bus driver is requested to make. + @param Controller The handle of the hot-plug controller. + @param RemainingDevicePath The remaining device path for the PCI-like hot-plug device. + @param NumberOfChildren The number of child handles. + For a add operation, it is an output parameter. + For a remove operation, it's an input parameter. + @param ChildHandleBuffer The buffer which contains the child handles. + + @retval EFI_INVALID_PARAMETER Operation is not a legal value. + Controller is NULL or not a valid handle. + NumberOfChildren is NULL. + ChildHandleBuffer is NULL while Operation is add. + @retval EFI_OUT_OF_RESOURCES There are no enough resources to start the devices. + @retval EFI_NOT_FOUND Can not find bridge according to controller handle. + @retval EFI_SUCCESS The handles for the specified device have been created or destroyed + as requested, and for an add operation, the new handles are + returned in ChildHandleBuffer. +**/ +EFI_STATUS +EFIAPI +PciHotPlugRequestNotify ( + IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This, + IN EFI_PCI_HOTPLUG_OPERATION Operation, + IN EFI_HANDLE Controller, + IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL, + IN OUT UINT8 *NumberOfChildren, + IN OUT EFI_HANDLE * ChildHandleBuffer + ); + +/** + Search hostbridge according to given handle + + @param RootBridgeHandle Host bridge handle. + + @retval TRUE Found host bridge handle. + @retval FALSE Not found hot bridge handle. + +**/ +BOOLEAN +SearchHostBridgeHandle ( + IN EFI_HANDLE RootBridgeHandle + ); + +/** + Add host bridge handle to global variable for enumerating. + + @param HostBridgeHandle Host bridge handle. + + @retval EFI_SUCCESS Successfully added host bridge. + @retval EFI_ABORTED Host bridge is NULL, or given host bridge + has been in host bridge list. + +**/ +EFI_STATUS +AddHostBridgeEnumerator ( + IN EFI_HANDLE HostBridgeHandle + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c new file mode 100644 index 0000000000..99b04a462b --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c @@ -0,0 +1,2885 @@ +/** @file + PCI emumeration support functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +extern CHAR16 *mBarTypeStr[]; +extern EDKII_DEVICE_SECURITY_PROTOCOL *mDeviceSecurityProtocol; + +#define OLD_ALIGN 0xFFFFFFFFFFFFFFFFULL +#define EVEN_ALIGN 0xFFFFFFFFFFFFFFFEULL +#define SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL +#define DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL + +/** + This routine is used to check whether the pci device is present. + + @param PciRootBridgeIo Pointer to instance of EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL. + @param Pci Output buffer for PCI device configuration space. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI Func NO. + + @retval EFI_NOT_FOUND PCI device not present. + @retval EFI_SUCCESS PCI device is found. + +**/ +EFI_STATUS +PciDevicePresent ( + IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo, + OUT PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + UINT64 Address; + EFI_STATUS Status; + + // + // Create PCI address map in terms of Bus, Device and Func + // + Address = EFI_PCI_ADDRESS (Bus, Device, Func, 0); + + +//TiogaPass Override START : Skip SPI controller from Enumeration + +// +// +// It is necessary to skip SPI controller from Enumeration process otherwise SPI access runing DXE/DXE SMM +// will causes failures writting to SPI. This is a WA for LBG since currently OS hidde is not working. +// + if(( Bus == 0x0) && ( Device == 0x1F) && (Func == 0x05)){ + DEBUG ((EFI_D_INFO, "DEBUG - Address - 0x%x BUS %x DEV %x Func %x SKIP\n", Address, Bus, Device, Func)); + return EFI_NOT_FOUND; + } + +//TiogaPass Override END + + // + // Read the Vendor ID register + // + Status = PciRootBridgeIo->Pci.Read ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + Pci + ); + + if (!EFI_ERROR (Status) && (Pci->Hdr).VendorId != 0xffff) { + // + // Read the entire config header for the device + // + Status = PciRootBridgeIo->Pci.Read ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + sizeof (PCI_TYPE00) / sizeof (UINT32), + Pci + ); + + return EFI_SUCCESS; + } + + return EFI_NOT_FOUND; +} + +/** + Collect all the resource information under this root bridge. + + A database that records all the information about pci device subject to this + root bridge will then be created. + + @param Bridge Parent bridge instance. + @param StartBusNumber Bus number of beginning. + + @retval EFI_SUCCESS PCI device is found. + @retval other Some error occurred when reading PCI bridge information. + +**/ +EFI_STATUS +PciPciDeviceInfoCollector ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT8 Func; + UINT8 SecBus; + PCI_IO_DEVICE *PciIoDevice; + EFI_PCI_IO_PROTOCOL *PciIo; + + Status = EFI_SUCCESS; + SecBus = 0; + + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether PCI device is present + // + Status = PciDevicePresent ( + Bridge->PciRootBridgeIo, + &Pci, + (UINT8) StartBusNumber, + (UINT8) Device, + (UINT8) Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (!EFI_ERROR (Status)) { + + // + // Call back to host bridge function + // + PreprocessController (Bridge, (UINT8) StartBusNumber, Device, Func, EfiPciBeforeResourceCollection); + + // + // Collect all the information about the PCI device discovered + // + Status = PciSearchDevice ( + Bridge, + &Pci, + (UINT8) StartBusNumber, + Device, + Func, + &PciIoDevice + ); + + // + // Recursively scan PCI busses on the other side of PCI-PCI bridges + // + // + if (!EFI_ERROR (Status) && (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci))) { + + // + // If it is PPB, we need to get the secondary bus to continue the enumeration + // + PciIo = &(PciIoDevice->PciIo); + + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, PCI_BRIDGE_SECONDARY_BUS_REGISTER_OFFSET, 1, &SecBus); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Ensure secondary bus number is greater than the primary bus number to avoid + // any potential dead loop when PcdPciDisableBusEnumeration is set to TRUE + // + if (SecBus <= StartBusNumber) { + break; + } + + // + // Get resource padding for PPB + // + GetResourcePaddingPpb (PciIoDevice); + + // + // Deep enumerate the next level bus + // + Status = PciPciDeviceInfoCollector ( + PciIoDevice, + (UINT8) (SecBus) + ); + + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + + // + // Skip sub functions, this is not a multi function device + // + Func = PCI_MAX_FUNC; + } + } + + } + } + + return EFI_SUCCESS; +} + +/** + Search required device and create PCI device instance. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI func NO. + @param PciDevice Output of searched PCI device instance. + + @retval EFI_SUCCESS Successfully created PCI device instance. + @retval EFI_OUT_OF_RESOURCES Cannot get PCI device information. + +**/ +EFI_STATUS +PciSearchDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + OUT PCI_IO_DEVICE **PciDevice + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = NULL; + + DEBUG (( + EFI_D_INFO, + "PciBus: Discovered %s @ [%02x|%02x|%02x]\n", + IS_PCI_BRIDGE (Pci) ? L"PPB" : + IS_CARDBUS_BRIDGE (Pci) ? L"P2C" : + L"PCI", + Bus, Device, Func + )); + + if (!IS_PCI_BRIDGE (Pci)) { + + if (IS_CARDBUS_BRIDGE (Pci)) { + PciIoDevice = GatherP2CInfo ( + Bridge, + Pci, + Bus, + Device, + Func + ); + if ((PciIoDevice != NULL) && gFullEnumeration) { + InitializeP2C (PciIoDevice); + } + } else { + + // + // Create private data for Pci Device + // + PciIoDevice = GatherDeviceInfo ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + } + + } else { + + // + // Create private data for PPB + // + PciIoDevice = GatherPpbInfo ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + // + // Special initialization for PPB including making the PPB quiet + // + if ((PciIoDevice != NULL) && gFullEnumeration) { + InitializePpb (PciIoDevice); + } + } + + if (PciIoDevice == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Update the bar information for this PCI device so as to support some specific device + // + UpdatePciInfo (PciIoDevice); + + if (PciIoDevice->DevicePath == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Detect this function has option rom + // + if (gFullEnumeration) { + + if (!IS_CARDBUS_BRIDGE (Pci)) { + + GetOpRomInfo (PciIoDevice); + + } + + ResetPowerManagementFeature (PciIoDevice); + + } + + // + // Insert it into a global tree for future reference + // + InsertPciDevice (Bridge, PciIoDevice); + + // + // Determine PCI device attributes + // + + if (PciDevice != NULL) { + *PciDevice = PciIoDevice; + } + + return EFI_SUCCESS; +} + +/** + Dump the PPB padding resource information. + + @param PciIoDevice PCI IO instance. + @param ResourceType The desired resource type to dump. + PciBarTypeUnknown means to dump all types of resources. +**/ +VOID +DumpPpbPaddingResource ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_BAR_TYPE ResourceType + ) +{ + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; + PCI_BAR_TYPE Type; + + if (PciIoDevice->ResourcePaddingDescriptors == NULL) { + return; + } + + if (ResourceType == PciBarTypeIo16 || ResourceType == PciBarTypeIo32) { + ResourceType = PciBarTypeIo; + } + + for (Descriptor = PciIoDevice->ResourcePaddingDescriptors; Descriptor->Desc != ACPI_END_TAG_DESCRIPTOR; Descriptor++) { + + Type = PciBarTypeUnknown; + if (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_IO) { + Type = PciBarTypeIo; + } else if (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { + + if (Descriptor->AddrSpaceGranularity == 32) { + // + // prefetchable + // + if (Descriptor->SpecificFlag == EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE) { + Type = PciBarTypePMem32; + } + + // + // Non-prefetchable + // + if (Descriptor->SpecificFlag == 0) { + Type = PciBarTypeMem32; + } + } + + if (Descriptor->AddrSpaceGranularity == 64) { + // + // prefetchable + // + if (Descriptor->SpecificFlag == EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE) { + Type = PciBarTypePMem64; + } + + // + // Non-prefetchable + // + if (Descriptor->SpecificFlag == 0) { + Type = PciBarTypeMem64; + } + } + } + + if ((Type != PciBarTypeUnknown) && ((ResourceType == PciBarTypeUnknown) || (ResourceType == Type))) { + DEBUG (( + EFI_D_INFO, + " Padding: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx\n", + mBarTypeStr[Type], Descriptor->AddrRangeMax, Descriptor->AddrLen + )); + } + } + +} + +/** + Dump the PCI BAR information. + + @param PciIoDevice PCI IO instance. +**/ +VOID +DumpPciBars ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINTN Index; + + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + if (PciIoDevice->PciBar[Index].BarType == PciBarTypeUnknown) { + continue; + } + + DEBUG (( + EFI_D_INFO, + " BAR[%d]: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx;\tOffset = 0x%02x\n", + Index, mBarTypeStr[MIN (PciIoDevice->PciBar[Index].BarType, PciBarTypeMaxType)], + PciIoDevice->PciBar[Index].Alignment, PciIoDevice->PciBar[Index].Length, PciIoDevice->PciBar[Index].Offset + )); + } + + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + if ((PciIoDevice->VfPciBar[Index].BarType == PciBarTypeUnknown) && (PciIoDevice->VfPciBar[Index].Length == 0)) { + continue; + } + + DEBUG (( + EFI_D_INFO, + " VFBAR[%d]: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx;\tOffset = 0x%02x\n", + Index, mBarTypeStr[MIN (PciIoDevice->VfPciBar[Index].BarType, PciBarTypeMaxType)], + PciIoDevice->VfPciBar[Index].Alignment, PciIoDevice->VfPciBar[Index].Length, PciIoDevice->VfPciBar[Index].Offset + )); + } + DEBUG ((EFI_D_INFO, "\n")); +} + +/** + Create PCI device instance for PCI device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherDeviceInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + UINTN Offset; + UINTN BarIndex; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = CreatePciIoDevice ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + if (PciIoDevice == NULL) { + return NULL; + } + + // + // If it is a full enumeration, disconnect the device in advance + // + if (gFullEnumeration) { + + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_BITS_OWNED); + + } + + // + // Start to parse the bars + // + for (Offset = 0x10, BarIndex = 0; Offset <= 0x24 && BarIndex < PCI_MAX_BAR; BarIndex++) { + Offset = PciParseBar (PciIoDevice, Offset, BarIndex); + } + + // + // Parse the SR-IOV VF bars + // + if (PcdGetBool (PcdSrIovSupport) && PciIoDevice->SrIovCapabilityOffset != 0) { + for (Offset = PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_BAR0, BarIndex = 0; + Offset <= PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_BAR5; + BarIndex++) { + + ASSERT (BarIndex < PCI_MAX_BAR); + Offset = PciIovParseVfBar (PciIoDevice, Offset, BarIndex); + } + } + + DEBUG_CODE (DumpPciBars (PciIoDevice);); + return PciIoDevice; +} + +/** + Create PCI device instance for PCI-PCI bridge. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherPpbInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_STATUS Status; + UINT8 Value; + EFI_PCI_IO_PROTOCOL *PciIo; + UINT8 Temp; + UINT32 PMemBaseLimit; + UINT16 PrefetchableMemoryBase; + UINT16 PrefetchableMemoryLimit; + + PciIoDevice = CreatePciIoDevice ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + if (PciIoDevice == NULL) { + return NULL; + } + + if (gFullEnumeration) { + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_BITS_OWNED); + + // + // Initialize the bridge control register + // + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCI_BRIDGE_CONTROL_BITS_OWNED); + + } + + // + // PPB can have two BARs + // + if (PciParseBar (PciIoDevice, 0x10, PPB_BAR_0) == 0x14) { + // + // Not 64-bit bar + // + PciParseBar (PciIoDevice, 0x14, PPB_BAR_1); + } + + PciIo = &PciIoDevice->PciIo; + + // + // Test whether it support 32 decode or not + // + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &gAllOne); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); + + if (Value != 0) { + if ((Value & 0x01) != 0) { + PciIoDevice->Decodes |= EFI_BRIDGE_IO32_DECODE_SUPPORTED; + } else { + PciIoDevice->Decodes |= EFI_BRIDGE_IO16_DECODE_SUPPORTED; + } + } + + // + // if PcdPciBridgeIoAlignmentProbe is TRUE, PCI bus driver probes + // PCI bridge supporting non-standard I/O window alignment less than 4K. + // + + PciIoDevice->BridgeIoAlignment = 0xFFF; + if (FeaturePcdGet (PcdPciBridgeIoAlignmentProbe)) { + // + // Check any bits of bit 3-1 of I/O Base Register are writable. + // if so, it is assumed non-standard I/O window alignment is supported by this bridge. + // Per spec, bit 3-1 of I/O Base Register are reserved bits, so its content can't be assumed. + // + Value = (UINT8)(Temp ^ (BIT3 | BIT2 | BIT1)); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); + Value = (UINT8)((Value ^ Temp) & (BIT3 | BIT2 | BIT1)); + switch (Value) { + case BIT3: + PciIoDevice->BridgeIoAlignment = 0x7FF; + break; + case BIT3 | BIT2: + PciIoDevice->BridgeIoAlignment = 0x3FF; + break; + case BIT3 | BIT2 | BIT1: + PciIoDevice->BridgeIoAlignment = 0x1FF; + break; + } + } + + Status = BarExisted ( + PciIoDevice, + 0x24, + NULL, + &PMemBaseLimit + ); + + // + // Test if it supports 64 memory or not + // + // The bottom 4 bits of both the Prefetchable Memory Base and Prefetchable Memory Limit + // registers: + // 0 - the bridge supports only 32 bit addresses. + // 1 - the bridge supports 64-bit addresses. + // + PrefetchableMemoryBase = (UINT16)(PMemBaseLimit & 0xffff); + PrefetchableMemoryLimit = (UINT16)(PMemBaseLimit >> 16); + if (!EFI_ERROR (Status) && + (PrefetchableMemoryBase & 0x000f) == 0x0001 && + (PrefetchableMemoryLimit & 0x000f) == 0x0001) { + Status = BarExisted ( + PciIoDevice, + 0x28, + NULL, + NULL + ); + + if (!EFI_ERROR (Status)) { + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM64_DECODE_SUPPORTED; + } else { + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; + } + } + + // + // Memory 32 code is required for ppb + // + PciIoDevice->Decodes |= EFI_BRIDGE_MEM32_DECODE_SUPPORTED; + + GetResourcePaddingPpb (PciIoDevice); + + DEBUG_CODE ( + DumpPpbPaddingResource (PciIoDevice, PciBarTypeUnknown); + DumpPciBars (PciIoDevice); + ); + + return PciIoDevice; +} + + +/** + Create PCI device instance for PCI Card bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherP2CInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = CreatePciIoDevice ( + Bridge, + Pci, + Bus, + Device, + Func + ); + + if (PciIoDevice == NULL) { + return NULL; + } + + if (gFullEnumeration) { + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_BITS_OWNED); + + // + // Initialize the bridge control register + // + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCCARD_BRIDGE_CONTROL_BITS_OWNED); + } + + // + // P2C only has one bar that is in 0x10 + // + PciParseBar (PciIoDevice, 0x10, P2C_BAR_0); + + // + // Read PciBar information from the bar register + // + GetBackPcCardBar (PciIoDevice); + PciIoDevice->Decodes = EFI_BRIDGE_MEM32_DECODE_SUPPORTED | + EFI_BRIDGE_PMEM32_DECODE_SUPPORTED | + EFI_BRIDGE_IO32_DECODE_SUPPORTED; + + DEBUG_CODE (DumpPciBars (PciIoDevice);); + + return PciIoDevice; +} + +/** + Create device path for pci device. + + @param ParentDevicePath Parent bridge's path. + @param PciIoDevice Pci device instance. + + @return Device path protocol instance for specific pci device. + +**/ +EFI_DEVICE_PATH_PROTOCOL * +CreatePciDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + + PCI_DEVICE_PATH PciNode; + + // + // Create PCI device path + // + PciNode.Header.Type = HARDWARE_DEVICE_PATH; + PciNode.Header.SubType = HW_PCI_DP; + SetDevicePathNodeLength (&PciNode.Header, sizeof (PciNode)); + + PciNode.Device = PciIoDevice->DeviceNumber; + PciNode.Function = PciIoDevice->FunctionNumber; + PciIoDevice->DevicePath = AppendDevicePathNode (ParentDevicePath, &PciNode.Header); + + return PciIoDevice->DevicePath; +} + +/** + Check whether the PCI IOV VF bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +VfBarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT32 OriginalValue; + UINT32 Value; + EFI_TPL OldTpl; + + // + // Ensure it is called properly + // + ASSERT (PciIoDevice->SrIovCapabilityOffset != 0); + if (PciIoDevice->SrIovCapabilityOffset == 0) { + return EFI_NOT_FOUND; + } + + PciIo = &PciIoDevice->PciIo; + + // + // Preserve the original value + // + + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &OriginalValue); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &gAllOne); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &Value); + + // + // Write back the original value + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &OriginalValue); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + if (BarLengthValue != NULL) { + *BarLengthValue = Value; + } + + if (OriginalBarValue != NULL) { + *OriginalBarValue = OriginalValue; + } + + if (Value == 0) { + return EFI_NOT_FOUND; + } else { + return EFI_SUCCESS; + } +} + +/** + Check whether the bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +BarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT32 OriginalValue; + UINT32 Value; + EFI_TPL OldTpl; + + PciIo = &PciIoDevice->PciIo; + + // + // Preserve the original value + // + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &OriginalValue); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &gAllOne); + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &Value); + + // + // Write back the original value + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &OriginalValue); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + if (BarLengthValue != NULL) { + *BarLengthValue = Value; + } + + if (OriginalBarValue != NULL) { + *OriginalBarValue = OriginalValue; + } + + if (Value == 0) { + return EFI_NOT_FOUND; + } else { + return EFI_SUCCESS; + } +} + +/** + Test whether the device can support given attributes. + + @param PciIoDevice Pci device instance. + @param Command Input command register value, and + returned supported register value. + @param BridgeControl Input bridge control value for PPB or P2C, and + returned supported bridge control value. + @param OldCommand Returned and stored old command register offset. + @param OldBridgeControl Returned and stored old Bridge control value for PPB or P2C. + +**/ +VOID +PciTestSupportedAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN OUT UINT16 *Command, + IN OUT UINT16 *BridgeControl, + OUT UINT16 *OldCommand, + OUT UINT16 *OldBridgeControl + ) +{ + EFI_TPL OldTpl; + + // + // Preserve the original value + // + PCI_READ_COMMAND_REGISTER (PciIoDevice, OldCommand); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PCI_SET_COMMAND_REGISTER (PciIoDevice, *Command); + PCI_READ_COMMAND_REGISTER (PciIoDevice, Command); + + // + // Write back the original value + // + PCI_SET_COMMAND_REGISTER (PciIoDevice, *OldCommand); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + + // + // Preserve the original value + // + PCI_READ_BRIDGE_CONTROL_REGISTER (PciIoDevice, OldBridgeControl); + + // + // Raise TPL to high level to disable timer interrupt while the BAR is probed + // + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + + PCI_SET_BRIDGE_CONTROL_REGISTER (PciIoDevice, *BridgeControl); + PCI_READ_BRIDGE_CONTROL_REGISTER (PciIoDevice, BridgeControl); + + // + // Write back the original value + // + PCI_SET_BRIDGE_CONTROL_REGISTER (PciIoDevice, *OldBridgeControl); + + // + // Restore TPL to its original level + // + gBS->RestoreTPL (OldTpl); + + } else { + *OldBridgeControl = 0; + *BridgeControl = 0; + } +} + +/** + Set the supported or current attributes of a PCI device. + + @param PciIoDevice Structure pointer for PCI device. + @param Command Command register value. + @param BridgeControl Bridge control value for PPB or P2C. + @param Option Make a choice of EFI_SET_SUPPORTS or EFI_SET_ATTRIBUTES. + +**/ +VOID +PciSetDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT16 BridgeControl, + IN UINTN Option + ) +{ + UINT64 Attributes; + + Attributes = 0; + + if ((Command & EFI_PCI_COMMAND_IO_SPACE) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_IO; + } + + if ((Command & EFI_PCI_COMMAND_MEMORY_SPACE) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_MEMORY; + } + + if ((Command & EFI_PCI_COMMAND_BUS_MASTER) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_BUS_MASTER; + } + + if ((Command & EFI_PCI_COMMAND_VGA_PALETTE_SNOOP) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; + } + + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_ISA) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_ISA_IO; + } + + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_VGA) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_IO; + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY; + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; + } + + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_VGA_16) != 0) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_IO_16; + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16; + } + + if (Option == EFI_SET_SUPPORTS) { + + Attributes |= (UINT64) (EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE | + EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED | + EFI_PCI_IO_ATTRIBUTE_MEMORY_DISABLE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); + + if (IS_PCI_LPC (&PciIoDevice->Pci)) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_ISA_MOTHERBOARD_IO; + Attributes |= (mReserveIsaAliases ? (UINT64) EFI_PCI_IO_ATTRIBUTE_ISA_IO : \ + (UINT64) EFI_PCI_IO_ATTRIBUTE_ISA_IO_16); + } + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + // + // For bridge, it should support IDE attributes + // + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO; + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO; + + if (mReserveVgaAliases) { + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | \ + EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16); + } else { + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_VGA_IO | \ + EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO); + } + } else { + + if (IS_PCI_IDE (&PciIoDevice->Pci)) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO; + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO; + } + + if (IS_PCI_VGA (&PciIoDevice->Pci)) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY; + Attributes |= (mReserveVgaAliases ? (UINT64) EFI_PCI_IO_ATTRIBUTE_VGA_IO : \ + (UINT64) EFI_PCI_IO_ATTRIBUTE_VGA_IO_16); + } + } + + PciIoDevice->Supports = Attributes; + PciIoDevice->Supports &= ( (PciIoDevice->Parent->Supports) | \ + EFI_PCI_IO_ATTRIBUTE_IO | EFI_PCI_IO_ATTRIBUTE_MEMORY | \ + EFI_PCI_IO_ATTRIBUTE_BUS_MASTER ); + + } else { + // + // When this attribute is clear, the RomImage and RomSize fields in the PCI IO were + // initialized based on the PCI option ROM found through the ROM BAR of the PCI controller. + // When this attribute is set, the PCI option ROM described by the RomImage and RomSize + // fields is not from the the ROM BAR of the PCI controller. + // + if (!PciIoDevice->EmbeddedRom) { + Attributes |= EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM; + } + PciIoDevice->Attributes = Attributes; + } +} + +/** + Determine if the device can support Fast Back to Back attribute. + + @param PciIoDevice Pci device instance. + @param StatusIndex Status register value. + + @retval EFI_SUCCESS This device support Fast Back to Back attribute. + @retval EFI_UNSUPPORTED This device doesn't support Fast Back to Back attribute. + +**/ +EFI_STATUS +GetFastBackToBackSupport ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 StatusIndex + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + UINT32 StatusRegister; + + // + // Read the status register + // + PciIo = &PciIoDevice->PciIo; + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint16, StatusIndex, 1, &StatusRegister); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Check the Fast B2B bit + // + if ((StatusRegister & EFI_PCI_FAST_BACK_TO_BACK_CAPABLE) != 0) { + return EFI_SUCCESS; + } else { + return EFI_UNSUPPORTED; + } +} + +/** + Process the option ROM for all the children of the specified parent PCI device. + It can only be used after the first full Option ROM process. + + @param PciIoDevice Pci device instance. + +**/ +VOID +ProcessOptionRomLight ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + + // + // For RootBridge, PPB , P2C, go recursively to traverse all its children + // + CurrentLink = PciIoDevice->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (!IsListEmpty (&Temp->ChildList)) { + ProcessOptionRomLight (Temp); + } + + Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp); + + CurrentLink = CurrentLink->ForwardLink; + } +} + +/** + Determine the related attributes of all devices under a Root Bridge. + + @param PciIoDevice PCI device instance. + +**/ +EFI_STATUS +DetermineDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT16 Command; + UINT16 BridgeControl; + UINT16 OldCommand; + UINT16 OldBridgeControl; + BOOLEAN FastB2BSupport; + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + EFI_STATUS Status; + + // + // For Root Bridge, just copy it by RootBridgeIo protocol + // so as to keep consistent with the actual attribute + // + if (PciIoDevice->Parent == NULL) { + Status = PciIoDevice->PciRootBridgeIo->GetAttributes ( + PciIoDevice->PciRootBridgeIo, + &PciIoDevice->Supports, + &PciIoDevice->Attributes + ); + if (EFI_ERROR (Status)) { + return Status; + } + // + // Assume the PCI Root Bridge supports DAC + // + PciIoDevice->Supports |= (UINT64)(EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); + + } else { + + // + // Set the attributes to be checked for common PCI devices and PPB or P2C + // Since some devices only support part of them, it is better to set the + // attribute according to its command or bridge control register + // + Command = EFI_PCI_COMMAND_IO_SPACE | + EFI_PCI_COMMAND_MEMORY_SPACE | + EFI_PCI_COMMAND_BUS_MASTER | + EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; + + BridgeControl = EFI_PCI_BRIDGE_CONTROL_ISA | EFI_PCI_BRIDGE_CONTROL_VGA | EFI_PCI_BRIDGE_CONTROL_VGA_16; + + // + // Test whether the device can support attributes above + // + PciTestSupportedAttribute (PciIoDevice, &Command, &BridgeControl, &OldCommand, &OldBridgeControl); + + // + // Set the supported attributes for specified PCI device + // + PciSetDeviceAttribute (PciIoDevice, Command, BridgeControl, EFI_SET_SUPPORTS); + + // + // Set the current attributes for specified PCI device + // + PciSetDeviceAttribute (PciIoDevice, OldCommand, OldBridgeControl, EFI_SET_ATTRIBUTES); + + // + // Enable other PCI supported attributes but not defined in PCI_IO_PROTOCOL + // For PCI Express devices, Memory Write and Invalidate is hardwired to 0b so only enable it for PCI devices. + if (!PciIoDevice->IsPciExp) { + PCI_ENABLE_COMMAND_REGISTER (PciIoDevice, EFI_PCI_COMMAND_MEMORY_WRITE_AND_INVALIDATE); + } + } + + FastB2BSupport = TRUE; + + // + // P2C can not support FB2B on the secondary side + // + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + FastB2BSupport = FALSE; + } + + // + // For RootBridge, PPB , P2C, go recursively to traverse all its children + // + CurrentLink = PciIoDevice->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + Status = DetermineDeviceAttribute (Temp); + if (EFI_ERROR (Status)) { + return Status; + } + // + // Detect Fast Back to Back support for the device under the bridge + // + Status = GetFastBackToBackSupport (Temp, PCI_PRIMARY_STATUS_OFFSET); + if (FastB2BSupport && EFI_ERROR (Status)) { + FastB2BSupport = FALSE; + } + + CurrentLink = CurrentLink->ForwardLink; + } + // + // Set or clear Fast Back to Back bit for the whole bridge + // + if (!IsListEmpty (&PciIoDevice->ChildList)) { + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + + Status = GetFastBackToBackSupport (PciIoDevice, PCI_BRIDGE_STATUS_REGISTER_OFFSET); + + if (EFI_ERROR (Status) || (!FastB2BSupport)) { + FastB2BSupport = FALSE; + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK); + } else { + PCI_ENABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK); + } + } + + CurrentLink = PciIoDevice->ChildList.ForwardLink; + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + if (FastB2BSupport) { + PCI_ENABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_FAST_BACK_TO_BACK); + } else { + PCI_DISABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_FAST_BACK_TO_BACK); + } + + CurrentLink = CurrentLink->ForwardLink; + } + } + // + // End for IsListEmpty + // + return EFI_SUCCESS; +} + +/** + This routine is used to update the bar information for those incompatible PCI device. + + @param PciIoDevice Input Pci device instance. Output Pci device instance with updated + Bar information. + + @retval EFI_SUCCESS Successfully updated bar information. + @retval EFI_UNSUPPORTED Given PCI device doesn't belong to incompatible PCI device list. + +**/ +EFI_STATUS +UpdatePciInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + UINTN BarIndex; + BOOLEAN SetFlag; + VOID *Configuration; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + + Configuration = NULL; + Status = EFI_SUCCESS; + + if (gIncompatiblePciDeviceSupport == NULL) { + // + // It can only be supported after the Incompatible PCI Device + // Support Protocol has been installed + // + Status = gBS->LocateProtocol ( + &gEfiIncompatiblePciDeviceSupportProtocolGuid, + NULL, + (VOID **) &gIncompatiblePciDeviceSupport + ); + } + if (Status == EFI_SUCCESS) { + // + // Check whether the device belongs to incompatible devices from protocol or not + // If it is , then get its special requirement in the ACPI table + // + Status = gIncompatiblePciDeviceSupport->CheckDevice ( + gIncompatiblePciDeviceSupport, + PciIoDevice->Pci.Hdr.VendorId, + PciIoDevice->Pci.Hdr.DeviceId, + PciIoDevice->Pci.Hdr.RevisionID, + PciIoDevice->Pci.Device.SubsystemVendorID, + PciIoDevice->Pci.Device.SubsystemID, + &Configuration + ); + + } + + if (EFI_ERROR (Status) || Configuration == NULL ) { + return EFI_UNSUPPORTED; + } + + // + // Update PCI device information from the ACPI table + // + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; + + while (Ptr->Desc != ACPI_END_TAG_DESCRIPTOR) { + + if (Ptr->Desc != ACPI_ADDRESS_SPACE_DESCRIPTOR) { + // + // The format is not support + // + break; + } + + for (BarIndex = 0; BarIndex < PCI_MAX_BAR; BarIndex++) { + if ((Ptr->AddrTranslationOffset != MAX_UINT64) && + (Ptr->AddrTranslationOffset != MAX_UINT8) && + (Ptr->AddrTranslationOffset != BarIndex) + ) { + // + // Skip updating when AddrTranslationOffset is not MAX_UINT64 or MAX_UINT8 (wide match). + // Skip updating when current BarIndex doesn't equal to AddrTranslationOffset. + // Comparing against MAX_UINT8 is to keep backward compatibility. + // + continue; + } + + SetFlag = FALSE; + switch (Ptr->ResType) { + case ACPI_ADDRESS_SPACE_TYPE_MEM: + + // + // Make sure the bar is memory type + // + if (CheckBarType (PciIoDevice, (UINT8) BarIndex, PciBarTypeMem)) { + SetFlag = TRUE; + + // + // Ignored if granularity is 0. + // Ignored if PCI BAR is I/O or 32-bit memory. + // If PCI BAR is 64-bit memory and granularity is 32, then + // the PCI BAR resource is allocated below 4GB. + // If PCI BAR is 64-bit memory and granularity is 64, then + // the PCI BAR resource is allocated above 4GB. + // + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeMem64) { + switch (Ptr->AddrSpaceGranularity) { + case 32: + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem32; + case 64: + PciIoDevice->PciBar[BarIndex].BarTypeFixed = TRUE; + break; + default: + break; + } + } + + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypePMem64) { + switch (Ptr->AddrSpaceGranularity) { + case 32: + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem32; + case 64: + PciIoDevice->PciBar[BarIndex].BarTypeFixed = TRUE; + break; + default: + break; + } + } + } + break; + + case ACPI_ADDRESS_SPACE_TYPE_IO: + + // + // Make sure the bar is IO type + // + if (CheckBarType (PciIoDevice, (UINT8) BarIndex, PciBarTypeIo)) { + SetFlag = TRUE; + } + break; + } + + if (SetFlag) { + + // + // Update the new alignment for the device + // + SetNewAlign (&(PciIoDevice->PciBar[BarIndex].Alignment), Ptr->AddrRangeMax); + + // + // Update the new length for the device + // + if (Ptr->AddrLen != 0) { + PciIoDevice->PciBar[BarIndex].Length = Ptr->AddrLen; + } + } + } + + Ptr++; + } + + FreePool (Configuration); + + return EFI_SUCCESS; +} + +/** + This routine will update the alignment with the new alignment. + Compare with OLD_ALIGN/EVEN_ALIGN/SQUAD_ALIGN/DQUAD_ALIGN is to keep + backward compatibility. + + @param Alignment Input Old alignment. Output updated alignment. + @param NewAlignment New alignment. + +**/ +VOID +SetNewAlign ( + IN OUT UINT64 *Alignment, + IN UINT64 NewAlignment + ) +{ + UINT64 OldAlignment; + UINTN ShiftBit; + + // + // The new alignment is the same as the original, + // so skip it + // + if ((NewAlignment == 0) || (NewAlignment == OLD_ALIGN)) { + return ; + } + // + // Check the validity of the parameter + // + if (NewAlignment != EVEN_ALIGN && + NewAlignment != SQUAD_ALIGN && + NewAlignment != DQUAD_ALIGN ) { + *Alignment = NewAlignment; + return ; + } + + OldAlignment = (*Alignment) + 1; + ShiftBit = 0; + + // + // Get the first non-zero hex value of the length + // + while ((OldAlignment & 0x0F) == 0x00) { + OldAlignment = RShiftU64 (OldAlignment, 4); + ShiftBit += 4; + } + + // + // Adjust the alignment to even, quad or double quad boundary + // + if (NewAlignment == EVEN_ALIGN) { + if ((OldAlignment & 0x01) != 0) { + OldAlignment = OldAlignment + 2 - (OldAlignment & 0x01); + } + } else if (NewAlignment == SQUAD_ALIGN) { + if ((OldAlignment & 0x03) != 0) { + OldAlignment = OldAlignment + 4 - (OldAlignment & 0x03); + } + } else if (NewAlignment == DQUAD_ALIGN) { + if ((OldAlignment & 0x07) != 0) { + OldAlignment = OldAlignment + 8 - (OldAlignment & 0x07); + } + } + + // + // Update the old value + // + NewAlignment = LShiftU64 (OldAlignment, ShiftBit) - 1; + *Alignment = NewAlignment; + + return ; +} + +/** + Parse PCI IOV VF bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciIovParseVfBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ) +{ + UINT32 Value; + UINT32 OriginalValue; + UINT32 Mask; + EFI_STATUS Status; + + // + // Ensure it is called properly + // + ASSERT (PciIoDevice->SrIovCapabilityOffset != 0); + if (PciIoDevice->SrIovCapabilityOffset == 0) { + return 0; + } + + OriginalValue = 0; + Value = 0; + + Status = VfBarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0; + PciIoDevice->VfPciBar[BarIndex].Length = 0; + PciIoDevice->VfPciBar[BarIndex].Alignment = 0; + + // + // Scan all the BARs anyway + // + PciIoDevice->VfPciBar[BarIndex].Offset = (UINT16) Offset; + return Offset + 4; + } + + PciIoDevice->VfPciBar[BarIndex].Offset = (UINT16) Offset; + if ((Value & 0x01) != 0) { + // + // Device I/Os. Impossible + // + ASSERT (FALSE); + return Offset + 4; + + } else { + + Mask = 0xfffffff0; + + PciIoDevice->VfPciBar[BarIndex].BaseAddress = OriginalValue & Mask; + + switch (Value & 0x07) { + + // + //memory space; anywhere in 32 bit address space + // + case 0x00: + if ((Value & 0x08) != 0) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypePMem32; + } else { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeMem32; + } + + PciIoDevice->VfPciBar[BarIndex].Length = (~(Value & Mask)) + 1; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + // + // Adjust Length + // + PciIoDevice->VfPciBar[BarIndex].Length = MultU64x32 (PciIoDevice->VfPciBar[BarIndex].Length, PciIoDevice->InitialVFs); + // + // Adjust Alignment + // + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + break; + + // + // memory space; anywhere in 64 bit address space + // + case 0x04: + if ((Value & 0x08) != 0) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypePMem64; + } else { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeMem64; + } + + // + // According to PCI 2.2,if the bar indicates a memory 64 decoding, next bar + // is regarded as an extension for the first bar. As a result + // the sizing will be conducted on combined 64 bit value + // Here just store the masked first 32bit value for future size + // calculation + // + PciIoDevice->VfPciBar[BarIndex].Length = Value & Mask; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + // + // Increment the offset to point to next DWORD + // + Offset += 4; + + Status = VfBarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; + return Offset + 4; + } + + // + // Fix the length to support some special 64 bit BAR + // + Value |= ((UINT32) -1 << HighBitSet32 (Value)); + + // + // Calculate the size of 64bit bar + // + PciIoDevice->VfPciBar[BarIndex].BaseAddress |= LShiftU64 ((UINT64) OriginalValue, 32); + + PciIoDevice->VfPciBar[BarIndex].Length = PciIoDevice->VfPciBar[BarIndex].Length | LShiftU64 ((UINT64) Value, 32); + PciIoDevice->VfPciBar[BarIndex].Length = (~(PciIoDevice->VfPciBar[BarIndex].Length)) + 1; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + // + // Adjust Length + // + PciIoDevice->VfPciBar[BarIndex].Length = MultU64x32 (PciIoDevice->VfPciBar[BarIndex].Length, PciIoDevice->InitialVFs); + // + // Adjust Alignment + // + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + break; + + // + // reserved + // + default: + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->VfPciBar[BarIndex].Length = (~(Value & Mask)) + 1; + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->VfPciBar[BarIndex].Length - 1; + + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice->SystemPageSize - 1) { + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice->SystemPageSize - 1; + } + + break; + } + } + + // + // Check the length again so as to keep compatible with some special bars + // + if (PciIoDevice->VfPciBar[BarIndex].Length == 0) { + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0; + PciIoDevice->VfPciBar[BarIndex].Alignment = 0; + } + + // + // Increment number of bar + // + return Offset + 4; +} + +/** + Parse PCI bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciParseBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ) +{ + UINT32 Value; + UINT32 OriginalValue; + UINT32 Mask; + EFI_STATUS Status; + + OriginalValue = 0; + Value = 0; + + Status = BarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + PciIoDevice->PciBar[BarIndex].BaseAddress = 0; + PciIoDevice->PciBar[BarIndex].Length = 0; + PciIoDevice->PciBar[BarIndex].Alignment = 0; + + // + // Some devices don't fully comply to PCI spec 2.2. So be to scan all the BARs anyway + // + PciIoDevice->PciBar[BarIndex].Offset = (UINT8) Offset; + return Offset + 4; + } + + PciIoDevice->PciBar[BarIndex].BarTypeFixed = FALSE; + PciIoDevice->PciBar[BarIndex].Offset = (UINT8) Offset; + if ((Value & 0x01) != 0) { + // + // Device I/Os + // + Mask = 0xfffffffc; + + if ((Value & 0xFFFF0000) != 0) { + // + // It is a IO32 bar + // + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeIo32; + PciIoDevice->PciBar[BarIndex].Length = ((~(Value & Mask)) + 1); + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + + } else { + // + // It is a IO16 bar + // + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeIo16; + PciIoDevice->PciBar[BarIndex].Length = 0x0000FFFF & ((~(Value & Mask)) + 1); + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + + } + // + // Workaround. Some platforms implement IO bar with 0 length + // Need to treat it as no-bar + // + if (PciIoDevice->PciBar[BarIndex].Length == 0) { + PciIoDevice->PciBar[BarIndex].BarType = (PCI_BAR_TYPE) 0; + } + + PciIoDevice->PciBar[BarIndex].BaseAddress = OriginalValue & Mask; + + } else { + + Mask = 0xfffffff0; + + PciIoDevice->PciBar[BarIndex].BaseAddress = OriginalValue & Mask; + + switch (Value & 0x07) { + + // + //memory space; anywhere in 32 bit address space + // + case 0x00: + if ((Value & 0x08) != 0) { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem32; + } else { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem32; + } + + PciIoDevice->PciBar[BarIndex].Length = (~(Value & Mask)) + 1; + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { + // + // Force minimum 4KByte alignment for Virtualization technology for Directed I/O + // + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); + } else { + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + } + break; + + // + // memory space; anywhere in 64 bit address space + // + case 0x04: + if ((Value & 0x08) != 0) { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem64; + } else { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem64; + } + + // + // According to PCI 2.2,if the bar indicates a memory 64 decoding, next bar + // is regarded as an extension for the first bar. As a result + // the sizing will be conducted on combined 64 bit value + // Here just store the masked first 32bit value for future size + // calculation + // + PciIoDevice->PciBar[BarIndex].Length = Value & Mask; + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + + // + // Increment the offset to point to next DWORD + // + Offset += 4; + + Status = BarExisted ( + PciIoDevice, + Offset, + &Value, + &OriginalValue + ); + + if (EFI_ERROR (Status)) { + // + // the high 32 bit does not claim any BAR, we need to re-check the low 32 bit BAR again + // + if (PciIoDevice->PciBar[BarIndex].Length == 0) { + // + // some device implement MMIO bar with 0 length, need to treat it as no-bar + // + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; + return Offset + 4; + } + } + + // + // Fix the length to support some special 64 bit BAR + // + if (Value == 0) { + DEBUG ((EFI_D_INFO, "[PciBus]BAR probing for upper 32bit of MEM64 BAR returns 0, change to 0xFFFFFFFF.\n")); + Value = (UINT32) -1; + } else { + Value |= ((UINT32)(-1) << HighBitSet32 (Value)); + } + + // + // Calculate the size of 64bit bar + // + PciIoDevice->PciBar[BarIndex].BaseAddress |= LShiftU64 ((UINT64) OriginalValue, 32); + + PciIoDevice->PciBar[BarIndex].Length = PciIoDevice->PciBar[BarIndex].Length | LShiftU64 ((UINT64) Value, 32); + PciIoDevice->PciBar[BarIndex].Length = (~(PciIoDevice->PciBar[BarIndex].Length)) + 1; + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { + // + // Force minimum 4KByte alignment for Virtualization technology for Directed I/O + // + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); + } else { + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + } + + break; + + // + // reserved + // + default: + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->PciBar[BarIndex].Length = (~(Value & Mask)) + 1; + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { + // + // Force minimum 4KByte alignment for Virtualization technology for Directed I/O + // + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); + } else { + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice->PciBar[BarIndex].Length - 1; + } + break; + } + } + + // + // Check the length again so as to keep compatible with some special bars + // + if (PciIoDevice->PciBar[BarIndex].Length == 0) { + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; + PciIoDevice->PciBar[BarIndex].BaseAddress = 0; + PciIoDevice->PciBar[BarIndex].Alignment = 0; + } + + // + // Increment number of bar + // + return Offset + 4; +} + +/** + This routine is used to initialize the bar of a PCI device. + + @param PciIoDevice Pci device instance. + + @note It can be called typically when a device is going to be rejected. + +**/ +VOID +InitializePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT8 Offset; + + PciIo = &(PciIoDevice->PciIo); + + // + // Put all the resource apertures + // Resource base is set to all ones so as to indicate its resource + // has not been allocated + // + for (Offset = 0x10; Offset <= 0x24; Offset += sizeof (UINT32)) { + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, Offset, 1, &gAllOne); + } +} + +/** + This routine is used to initialize the bar of a PCI-PCI Bridge device. + + @param PciIoDevice PCI-PCI bridge device instance. + +**/ +VOID +InitializePpb ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + + PciIo = &(PciIoDevice->PciIo); + + // + // Put all the resource apertures including IO16 + // Io32, pMem32, pMem64 to quiescent state + // Resource base all ones, Resource limit all zeros + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1D, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x20, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x22, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x24, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x26, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x28, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x2C, 1, &gAllZero); + + // + // Don't support use io32 as for now + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x30, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x32, 1, &gAllZero); + + // + // Force Interrupt line to zero for cards that come up randomly + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &gAllZero); +} + +/** + This routine is used to initialize the bar of a PCI Card Bridge device. + + @param PciIoDevice PCI Card bridge device. + +**/ +VOID +InitializeP2C ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + + PciIo = &(PciIoDevice->PciIo); + + // + // Put all the resource apertures including IO16 + // Io32, pMem32, pMem64 to quiescent state( + // Resource base all ones, Resource limit all zeros + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x1c, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x20, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x24, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x28, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x2c, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x30, 1, &gAllZero); + + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x34, 1, &gAllOne); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x38, 1, &gAllZero); + + // + // Force Interrupt line to zero for cards that come up randomly + // + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &gAllZero); +} + +/** + Authenticate the PCI device by using DeviceSecurityProtocol. + + @param PciIoDevice PCI device. + + @retval EFI_SUCCESS The device passes the authentication. + @return not EFI_SUCCESS The device failes the authentication or + unexpected error happen during authentication. +**/ +EFI_STATUS +AuthenticatePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EDKII_DEVICE_IDENTIFIER DeviceIdentifier; + EFI_STATUS Status; + + if (mDeviceSecurityProtocol != NULL) { + // + // Prepare the parameter + // + DeviceIdentifier.Version = EDKII_DEVICE_IDENTIFIER_REVISION; + CopyGuid (&DeviceIdentifier.DeviceType, &gEdkiiDeviceIdentifierTypePciGuid); + DeviceIdentifier.DeviceHandle = NULL; + Status = gBS->InstallMultipleProtocolInterfaces ( + &DeviceIdentifier.DeviceHandle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEdkiiDeviceIdentifierTypePciGuid, + &PciIoDevice->PciIo, + NULL + ); + if (EFI_ERROR(Status)) { + return Status; + } + + // + // Do DeviceAuthentication + // + Status = mDeviceSecurityProtocol->DeviceAuthenticate (mDeviceSecurityProtocol, &DeviceIdentifier); + // + // Always uninstall, because they are only for Authentication. + // No need to check return Status. + // + gBS->UninstallMultipleProtocolInterfaces ( + DeviceIdentifier.DeviceHandle, + &gEfiDevicePathProtocolGuid, + PciIoDevice->DevicePath, + &gEdkiiDeviceIdentifierTypePciGuid, + &PciIoDevice->PciIo, + NULL + ); + return Status; + } + + // + // Device Security Protocol is not found, just return success + // + return EFI_SUCCESS; +} + +/** + Create and initialize general PCI I/O device instance for + PCI device/bridge device/hotplug bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input Pci information block. + @param Bus Device Bus NO. + @param Device Device device NO. + @param Func Device func NO. + + @return Instance of PCI device. NULL means no instance created. + +**/ +PCI_IO_DEVICE * +CreatePciIoDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ) +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_PCI_IO_PROTOCOL *PciIo; + EFI_STATUS Status; + + PciIoDevice = AllocateZeroPool (sizeof (PCI_IO_DEVICE)); + if (PciIoDevice == NULL) { + return NULL; + } + + PciIoDevice->Signature = PCI_IO_DEVICE_SIGNATURE; + PciIoDevice->Handle = NULL; + PciIoDevice->PciRootBridgeIo = Bridge->PciRootBridgeIo; + PciIoDevice->DevicePath = NULL; + PciIoDevice->BusNumber = Bus; + PciIoDevice->DeviceNumber = Device; + PciIoDevice->FunctionNumber = Func; + PciIoDevice->Decodes = 0; + + if (gFullEnumeration) { + PciIoDevice->Allocated = FALSE; + } else { + PciIoDevice->Allocated = TRUE; + } + + PciIoDevice->Registered = FALSE; + PciIoDevice->Attributes = 0; + PciIoDevice->Supports = 0; + PciIoDevice->BusOverride = FALSE; + PciIoDevice->AllOpRomProcessed = FALSE; + + PciIoDevice->IsPciExp = FALSE; + + CopyMem (&(PciIoDevice->Pci), Pci, sizeof (PCI_TYPE01)); + + // + // Initialize the PCI I/O instance structure + // + InitializePciIoInstance (PciIoDevice); + InitializePciDriverOverrideInstance (PciIoDevice); + InitializePciLoadFile2 (PciIoDevice); + PciIo = &PciIoDevice->PciIo; + + // + // Create a device path for this PCI device and store it into its private data + // + CreatePciDevicePath ( + Bridge->DevicePath, + PciIoDevice + ); + + // + // Detect if PCI Express Device + // + PciIoDevice->PciExpressCapabilityOffset = 0; + Status = LocateCapabilityRegBlock ( + PciIoDevice, + EFI_PCI_CAPABILITY_ID_PCIEXP, + &PciIoDevice->PciExpressCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + PciIoDevice->IsPciExp = TRUE; + } + + // + // Now we can do the authentication check for the device. + // + Status = AuthenticatePciDevice (PciIoDevice); + // + // If authentication fails, skip this device. + // + if (EFI_ERROR(Status)) { + if (PciIoDevice->DevicePath != NULL) { + FreePool (PciIoDevice->DevicePath); + } + FreePool (PciIoDevice); + return NULL; + } + + if (PcdGetBool (PcdAriSupport)) { + // + // Check if the device is an ARI device. + // + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + EFI_PCIE_CAPABILITY_ID_ARI, + &PciIoDevice->AriCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + // + // We need to enable ARI feature before calculate BusReservation, + // because FirstVFOffset and VFStride may change after that. + // + EFI_PCI_IO_PROTOCOL *ParentPciIo; + UINT32 Data32; + + // + // Check if its parent supports ARI forwarding. + // + ParentPciIo = &Bridge->PciIo; + ParentPciIo->Pci.Read ( + ParentPciIo, + EfiPciIoWidthUint32, + Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_OFFSET, + 1, + &Data32 + ); + if ((Data32 & EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_ARI_FORWARDING) != 0) { + // + // ARI forward support in bridge, so enable it. + // + ParentPciIo->Pci.Read ( + ParentPciIo, + EfiPciIoWidthUint32, + Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_OFFSET, + 1, + &Data32 + ); + if ((Data32 & EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_ARI_FORWARDING) == 0) { + Data32 |= EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_ARI_FORWARDING; + ParentPciIo->Pci.Write ( + ParentPciIo, + EfiPciIoWidthUint32, + Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_OFFSET, + 1, + &Data32 + ); + DEBUG (( + EFI_D_INFO, + " ARI: forwarding enabled for PPB[%02x:%02x:%02x]\n", + Bridge->BusNumber, + Bridge->DeviceNumber, + Bridge->FunctionNumber + )); + } + } + + DEBUG ((EFI_D_INFO, " ARI: CapOffset = 0x%x\n", PciIoDevice->AriCapabilityOffset)); + } + } + + // + // Initialization for SR-IOV + // + + if (PcdGetBool (PcdSrIovSupport)) { + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + EFI_PCIE_CAPABILITY_ID_SRIOV, + &PciIoDevice->SrIovCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + UINT32 SupportedPageSize; + UINT16 VFStride; + UINT16 FirstVFOffset; + UINT16 Data16; + UINT32 PFRid; + UINT32 LastVF; + + // + // If the SR-IOV device is an ARI device, then Set ARI Capable Hierarchy for the device. + // + if (PcdGetBool (PcdAriSupport) && PciIoDevice->AriCapabilityOffset != 0) { + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL, + 1, + &Data16 + ); + Data16 |= EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL_ARI_HIERARCHY; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL, + 1, + &Data16 + ); + } + + // + // Calculate SystemPageSize + // + + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint32, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_SUPPORTED_PAGE_SIZE, + 1, + &SupportedPageSize + ); + PciIoDevice->SystemPageSize = (PcdGet32 (PcdSrIovSystemPageSize) & SupportedPageSize); + ASSERT (PciIoDevice->SystemPageSize != 0); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_SYSTEM_PAGE_SIZE, + 1, + &PciIoDevice->SystemPageSize + ); + // + // Adjust SystemPageSize for Alignment usage later + // + PciIoDevice->SystemPageSize <<= 12; + + // + // Calculate BusReservation for PCI IOV + // + + // + // Read First FirstVFOffset, InitialVFs, and VFStride + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_FIRSTVF, + 1, + &FirstVFOffset + ); + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_INITIALVFS, + 1, + &PciIoDevice->InitialVFs + ); + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PciIoDevice->SrIovCapabilityOffset + EFI_PCIE_CAPABILITY_ID_SRIOV_VFSTRIDE, + 1, + &VFStride + ); + // + // Calculate LastVF + // + PFRid = EFI_PCI_RID(Bus, Device, Func); + LastVF = PFRid + FirstVFOffset + (PciIoDevice->InitialVFs - 1) * VFStride; + + // + // Calculate ReservedBusNum for this PF + // + PciIoDevice->ReservedBusNum = (UINT16)(EFI_PCI_BUS_OF_RID (LastVF) - Bus + 1); + + DEBUG (( + EFI_D_INFO, + " SR-IOV: SupportedPageSize = 0x%x; SystemPageSize = 0x%x; FirstVFOffset = 0x%x;\n", + SupportedPageSize, PciIoDevice->SystemPageSize >> 12, FirstVFOffset + )); + DEBUG (( + EFI_D_INFO, + " InitialVFs = 0x%x; ReservedBusNum = 0x%x; CapOffset = 0x%x\n", + PciIoDevice->InitialVFs, PciIoDevice->ReservedBusNum, PciIoDevice->SrIovCapabilityOffset + )); + } + } + + if (PcdGetBool (PcdMrIovSupport)) { + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + EFI_PCIE_CAPABILITY_ID_MRIOV, + &PciIoDevice->MrIovCapabilityOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + DEBUG ((EFI_D_INFO, " MR-IOV: CapOffset = 0x%x\n", PciIoDevice->MrIovCapabilityOffset)); + } + } + + PciIoDevice->ResizableBarOffset = 0; + if (PcdGetBool (PcdPcieResizableBarSupport)) { + Status = LocatePciExpressCapabilityRegBlock ( + PciIoDevice, + PCI_EXPRESS_EXTENDED_CAPABILITY_RESIZABLE_BAR_ID, + &PciIoDevice->ResizableBarOffset, + NULL + ); + if (!EFI_ERROR (Status)) { + PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL ResizableBarControl; + UINT32 Offset; + Offset = PciIoDevice->ResizableBarOffset + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER) + + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CAPABILITY), + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint8, + Offset, + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL), + &ResizableBarControl + ); + PciIoDevice->ResizableBarNumber = ResizableBarControl.Bits.ResizableBarNumber; + PciProgramResizableBar (PciIoDevice, PciResizableBarMax); + } + } + + // + // Initialize the reserved resource list + // + InitializeListHead (&PciIoDevice->ReservedResourceList); + + // + // Initialize the driver list + // + InitializeListHead (&PciIoDevice->OptionRomDriverList); + + // + // Initialize the child list + // + InitializeListHead (&PciIoDevice->ChildList); + + return PciIoDevice; +} + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + It is only called on the second start on the same Root Bridge. + + @param Controller Parent bridge handler. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumeratorLight ( + IN EFI_HANDLE Controller + ) +{ + + EFI_STATUS Status; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + PCI_IO_DEVICE *RootBridgeDev; + UINT16 MinBus; + UINT16 MaxBus; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + + MinBus = 0; + MaxBus = PCI_MAX_BUS; + Descriptors = NULL; + + // + // If this root bridge has been already enumerated, then return successfully + // + if (GetRootBridgeByHandle (Controller) != NULL) { + return EFI_SUCCESS; + } + + // + // Open pci root bridge io protocol + // + Status = gBS->OpenProtocol ( + Controller, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + Controller, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) { + return Status; + } + + Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **) &Descriptors); + + if (EFI_ERROR (Status)) { + return Status; + } + + while (PciGetBusRange (&Descriptors, &MinBus, &MaxBus, NULL) == EFI_SUCCESS) { + + // + // Create a device node for root bridge device with a NULL host bridge controller handle + // + RootBridgeDev = CreateRootBridge (Controller); + + if (RootBridgeDev == NULL) { + Descriptors++; + continue; + } + + // + // Record the root bridge-io protocol + // + RootBridgeDev->PciRootBridgeIo = PciRootBridgeIo; + + Status = PciPciDeviceInfoCollector ( + RootBridgeDev, + (UINT8) MinBus + ); + + if (!EFI_ERROR (Status)) { + + // + // Remove those PCI devices which are rejected when full enumeration + // + RemoveRejectedPciDevices (RootBridgeDev->Handle, RootBridgeDev); + + // + // Process option rom light + // + ProcessOptionRomLight (RootBridgeDev); + + // + // Determine attributes for all devices under this root bridge + // + DetermineDeviceAttribute (RootBridgeDev); + + // + // If successfully, insert the node into device pool + // + InsertRootBridge (RootBridgeDev); + } else { + + // + // If unsuccessfully, destroy the entire node + // + DestroyRootBridge (RootBridgeDev); + } + + Descriptors++; + } + + return EFI_SUCCESS; +} + +/** + Get bus range from PCI resource descriptor list. + + @param Descriptors A pointer to the address space descriptor. + @param MinBus The min bus returned. + @param MaxBus The max bus returned. + @param BusRange The bus range returned. + + @retval EFI_SUCCESS Successfully got bus range. + @retval EFI_NOT_FOUND Can not find the specific bus. + +**/ +EFI_STATUS +PciGetBusRange ( + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, + OUT UINT16 *MinBus, + OUT UINT16 *MaxBus, + OUT UINT16 *BusRange + ) +{ + while ((*Descriptors)->Desc != ACPI_END_TAG_DESCRIPTOR) { + if ((*Descriptors)->ResType == ACPI_ADDRESS_SPACE_TYPE_BUS) { + if (MinBus != NULL) { + *MinBus = (UINT16) (*Descriptors)->AddrRangeMin; + } + + if (MaxBus != NULL) { + *MaxBus = (UINT16) (*Descriptors)->AddrRangeMax; + } + + if (BusRange != NULL) { + *BusRange = (UINT16) (*Descriptors)->AddrLen; + } + + return EFI_SUCCESS; + } + + (*Descriptors)++; + } + + return EFI_NOT_FOUND; +} + +/** + This routine can be used to start the root bridge. + + @param RootBridgeDev Pci device instance. + + @retval EFI_SUCCESS This device started. + @retval other Failed to get PCI Root Bridge I/O protocol. + +**/ +EFI_STATUS +StartManagingRootBridge ( + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + EFI_HANDLE RootBridgeHandle; + EFI_STATUS Status; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + // + // Get the root bridge handle + // + RootBridgeHandle = RootBridgeDev->Handle; + PciRootBridgeIo = NULL; + + // + // Get the pci root bridge io protocol + // + Status = gBS->OpenProtocol ( + RootBridgeHandle, + &gEfiPciRootBridgeIoProtocolGuid, + (VOID **) &PciRootBridgeIo, + gPciBusDriverBinding.DriverBindingHandle, + RootBridgeHandle, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + + if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) { + return Status; + } + + // + // Store the PciRootBridgeIo protocol into root bridge private data + // + RootBridgeDev->PciRootBridgeIo = PciRootBridgeIo; + + return EFI_SUCCESS; + +} + +/** + This routine can be used to check whether a PCI device should be rejected when light enumeration. + + @param PciIoDevice Pci device instance. + + @retval TRUE This device should be rejected. + @retval FALSE This device shouldn't be rejected. + +**/ +BOOLEAN +IsPciDeviceRejected ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + UINT32 TestValue; + UINT32 OldValue; + UINT32 Mask; + UINT8 BarOffset; + + // + // PPB should be skip! + // + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + return FALSE; + } + + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + // + // Only test base registers for P2C + // + for (BarOffset = 0x1C; BarOffset <= 0x38; BarOffset += 2 * sizeof (UINT32)) { + + Mask = (BarOffset < 0x2C) ? 0xFFFFF000 : 0xFFFFFFFC; + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); + if (EFI_ERROR (Status)) { + continue; + } + + TestValue = TestValue & Mask; + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + // + // The bar isn't programed, so it should be rejected + // + return TRUE; + } + } + + return FALSE; + } + + for (BarOffset = 0x14; BarOffset <= 0x24; BarOffset += sizeof (UINT32)) { + // + // Test PCI devices + // + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); + if (EFI_ERROR (Status)) { + continue; + } + + if ((TestValue & 0x01) != 0) { + + // + // IO Bar + // + Mask = 0xFFFFFFFC; + TestValue = TestValue & Mask; + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + return TRUE; + } + + } else { + + // + // Mem Bar + // + Mask = 0xFFFFFFF0; + TestValue = TestValue & Mask; + + if ((TestValue & 0x07) == 0x04) { + + // + // Mem64 or PMem64 + // + BarOffset += sizeof (UINT32); + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + + // + // Test its high 32-Bit BAR + // + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); + if (TestValue == OldValue) { + return TRUE; + } + } + + } else { + + // + // Mem32 or PMem32 + // + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { + return TRUE; + } + } + } + } + + return FALSE; +} + +/** + Reset all bus number from specific bridge. + + @param Bridge Parent specific bridge. + @param StartBusNumber Start bus number. + +**/ +VOID +ResetAllPpbBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT32 Register; + UINT8 Func; + UINT64 Address; + UINT8 SecondaryBus; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + PciRootBridgeIo = Bridge->PciRootBridgeIo; + + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether a pci device is present + // + Status = PciDevicePresent ( + PciRootBridgeIo, + &Pci, + StartBusNumber, + Device, + Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (!EFI_ERROR (Status) && (IS_PCI_BRIDGE (&Pci))) { + + Register = 0; + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x18); + Status = PciRootBridgeIo->Pci.Read ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &Register + ); + SecondaryBus = (UINT8)(Register >> 8); + + if (SecondaryBus != 0) { + ResetAllPpbBusNumber (Bridge, SecondaryBus); + } + + // + // Reset register 18h, 19h, 1Ah on PCI Bridge + // + Register &= 0xFF000000; + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &Register + ); + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + // + // Skip sub functions, this is not a multi function device + // + Func = PCI_MAX_FUNC; + } + } + } +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h new file mode 100644 index 0000000000..1d39c5171d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.h @@ -0,0 +1,480 @@ +/** @file + PCI enumeration support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_ENUMERATOR_SUPPORT_H_ +#define _EFI_PCI_ENUMERATOR_SUPPORT_H_ + +/** + This routine is used to check whether the pci device is present. + + @param PciRootBridgeIo Pointer to instance of EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL. + @param Pci Output buffer for PCI device configuration space. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI Func NO. + + @retval EFI_NOT_FOUND PCI device not present. + @retval EFI_SUCCESS PCI device is found. + +**/ +EFI_STATUS +PciDevicePresent ( + IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo, + OUT PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Collect all the resource information under this root bridge. + + A database that records all the information about pci device subject to this + root bridge will then be created. + + @param Bridge Parent bridge instance. + @param StartBusNumber Bus number of beginning. + + @retval EFI_SUCCESS PCI device is found. + @retval other Some error occurred when reading PCI bridge information. + +**/ +EFI_STATUS +PciPciDeviceInfoCollector ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ); + +/** + Search required device and create PCI device instance. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI bus NO. + @param Device PCI device NO. + @param Func PCI func NO. + @param PciDevice Output of searched PCI device instance. + + @retval EFI_SUCCESS Successfully created PCI device instance. + @retval EFI_OUT_OF_RESOURCES Cannot get PCI device information. + +**/ +EFI_STATUS +PciSearchDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func, + OUT PCI_IO_DEVICE **PciDevice + ); + +/** + Create PCI device instance for PCI device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherDeviceInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Create PCI device instance for PCI-PCI bridge. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherPpbInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Create PCI device instance for PCI Card bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input PCI device information block. + @param Bus PCI device Bus NO. + @param Device PCI device Device NO. + @param Func PCI device's func NO. + + @return Created PCI device instance. + +**/ +PCI_IO_DEVICE * +GatherP2CInfo ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + Create device path for pci device. + + @param ParentDevicePath Parent bridge's path. + @param PciIoDevice Pci device instance. + + @return Device path protocol instance for specific pci device. + +**/ +EFI_DEVICE_PATH_PROTOCOL * +CreatePciDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Check whether the PCI IOV VF bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +VfBarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ); + +/** + Check whether the bar is existed or not. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param Offset The offset. + @param BarLengthValue The bar length value returned. + @param OriginalBarValue The original bar value returned. + + @retval EFI_NOT_FOUND The bar doesn't exist. + @retval EFI_SUCCESS The bar exist. + +**/ +EFI_STATUS +BarExisted ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + OUT UINT32 *BarLengthValue, + OUT UINT32 *OriginalBarValue + ); + +/** + Test whether the device can support given attributes. + + @param PciIoDevice Pci device instance. + @param Command Input command register value, and + returned supported register value. + @param BridgeControl Input bridge control value for PPB or P2C, and + returned supported bridge control value. + @param OldCommand Returned and stored old command register offset. + @param OldBridgeControl Returned and stored old Bridge control value for PPB or P2C. + +**/ +VOID +PciTestSupportedAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN OUT UINT16 *Command, + IN OUT UINT16 *BridgeControl, + OUT UINT16 *OldCommand, + OUT UINT16 *OldBridgeControl + ); + +/** + Set the supported or current attributes of a PCI device. + + @param PciIoDevice Structure pointer for PCI device. + @param Command Command register value. + @param BridgeControl Bridge control value for PPB or P2C. + @param Option Make a choice of EFI_SET_SUPPORTS or EFI_SET_ATTRIBUTES. + +**/ +VOID +PciSetDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT16 Command, + IN UINT16 BridgeControl, + IN UINTN Option + ); + +/** + Determine if the device can support Fast Back to Back attribute. + + @param PciIoDevice Pci device instance. + @param StatusIndex Status register value. + + @retval EFI_SUCCESS This device support Fast Back to Back attribute. + @retval EFI_UNSUPPORTED This device doesn't support Fast Back to Back attribute. + +**/ +EFI_STATUS +GetFastBackToBackSupport ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 StatusIndex + ); + +/** + Determine the related attributes of all devices under a Root Bridge. + + @param PciIoDevice PCI device instance. + +**/ +EFI_STATUS +DetermineDeviceAttribute ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine is used to update the bar information for those incompatible PCI device. + + @param PciIoDevice Input Pci device instance. Output Pci device instance with updated + Bar information. + + @retval EFI_SUCCESS Successfully updated bar information. + @retval EFI_UNSUPPORTED Given PCI device doesn't belong to incompatible PCI device list. + +**/ +EFI_STATUS +UpdatePciInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine will update the alignment with the new alignment. + + @param Alignment Input Old alignment. Output updated alignment. + @param NewAlignment New alignment. + +**/ +VOID +SetNewAlign ( + IN OUT UINT64 *Alignment, + IN UINT64 NewAlignment + ); + +/** + Parse PCI bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciParseBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ); + +/** + Parse PCI IOV VF bar information and fill them into PCI device instance. + + @param PciIoDevice Pci device instance. + @param Offset Bar offset. + @param BarIndex Bar index. + + @return Next bar offset. + +**/ +UINTN +PciIovParseVfBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINTN Offset, + IN UINTN BarIndex + ); + +/** + This routine is used to initialize the bar of a PCI device. + + @param PciIoDevice Pci device instance. + + @note It can be called typically when a device is going to be rejected. + +**/ +VOID +InitializePciDevice ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine is used to initialize the bar of a PCI-PCI Bridge device. + + @param PciIoDevice PCI-PCI bridge device instance. + +**/ +VOID +InitializePpb ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + This routine is used to initialize the bar of a PCI Card Bridge device. + + @param PciIoDevice PCI Card bridge device. + +**/ +VOID +InitializeP2C ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Create and initialize general PCI I/O device instance for + PCI device/bridge device/hotplug bridge device. + + @param Bridge Parent bridge instance. + @param Pci Input Pci information block. + @param Bus Device Bus NO. + @param Device Device device NO. + @param Func Device func NO. + + @return Instance of PCI device. NULL means no instance created. + +**/ +PCI_IO_DEVICE * +CreatePciIoDevice ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_TYPE00 *Pci, + IN UINT8 Bus, + IN UINT8 Device, + IN UINT8 Func + ); + +/** + This routine is used to enumerate entire pci bus system + in a given platform. + + It is only called on the second start on the same Root Bridge. + + @param Controller Parent bridge handler. + + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. + +**/ +EFI_STATUS +PciEnumeratorLight ( + IN EFI_HANDLE Controller + ); + +/** + Get bus range from PCI resource descriptor list. + + @param Descriptors A pointer to the address space descriptor. + @param MinBus The min bus returned. + @param MaxBus The max bus returned. + @param BusRange The bus range returned. + + @retval EFI_SUCCESS Successfully got bus range. + @retval EFI_NOT_FOUND Can not find the specific bus. + +**/ +EFI_STATUS +PciGetBusRange ( + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, + OUT UINT16 *MinBus, + OUT UINT16 *MaxBus, + OUT UINT16 *BusRange + ); + +/** + This routine can be used to start the root bridge. + + @param RootBridgeDev Pci device instance. + + @retval EFI_SUCCESS This device started. + @retval other Failed to get PCI Root Bridge I/O protocol. + +**/ +EFI_STATUS +StartManagingRootBridge ( + IN PCI_IO_DEVICE *RootBridgeDev + ); + +/** + This routine can be used to check whether a PCI device should be rejected when light enumeration. + + @param PciIoDevice Pci device instance. + + @retval TRUE This device should be rejected. + @retval FALSE This device shouldn't be rejected. + +**/ +BOOLEAN +IsPciDeviceRejected ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Reset all bus number from specific bridge. + + @param Bridge Parent specific bridge. + @param StartBusNumber Start bus number. + +**/ +VOID +ResetAllPpbBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber + ); + +/** + Dump the PPB padding resource information. + + @param PciIoDevice PCI IO instance. + @param ResourceType The desired resource type to dump. + PciBarTypeUnknown means to dump all types of resources. +**/ +VOID +DumpPpbPaddingResource ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_BAR_TYPE ResourceType + ); + +/** + Dump the PCI BAR information. + + @param PciIoDevice PCI IO instance. +**/ +VOID +DumpPciBars ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c new file mode 100644 index 0000000000..d6d06b061a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.c @@ -0,0 +1,484 @@ +/** @file + PCI Hot Plug support functions implementation for PCI Bus module.. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +EFI_PCI_HOT_PLUG_INIT_PROTOCOL *gPciHotPlugInit = NULL; +EFI_HPC_LOCATION *gPciRootHpcPool = NULL; +UINTN gPciRootHpcCount = 0; +ROOT_HPC_DATA *gPciRootHpcData = NULL; + + +/** + Event notification function to set Hot Plug controller status. + + @param Event The event that invoke this function. + @param Context The calling context, pointer to ROOT_HPC_DATA. + +**/ +VOID +EFIAPI +PciHPCInitialized ( + IN EFI_EVENT Event, + IN VOID *Context + ) +{ + ROOT_HPC_DATA *HpcData; + + HpcData = (ROOT_HPC_DATA *) Context; + HpcData->Initialized = TRUE; +} + +/** + Compare two device paths to check if they are exactly same. + + @param DevicePath1 A pointer to the first device path data structure. + @param DevicePath2 A pointer to the second device path data structure. + + @retval TRUE They are same. + @retval FALSE They are not same. + +**/ +BOOLEAN +EfiCompareDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath1, + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath2 + ) +{ + UINTN Size1; + UINTN Size2; + + Size1 = GetDevicePathSize (DevicePath1); + Size2 = GetDevicePathSize (DevicePath2); + + if (Size1 != Size2) { + return FALSE; + } + + if (CompareMem (DevicePath1, DevicePath2, Size1) != 0) { + return FALSE; + } + + return TRUE; +} + +/** + Check hot plug support and initialize root hot plug private data. + + If Hot Plug is supported by the platform, call PCI Hot Plug Init protocol + to get PCI Hot Plug controller's information and constructor the root hot plug + private data structure. + + @retval EFI_SUCCESS They are same. + @retval EFI_UNSUPPORTED No PCI Hot Plug controller on the platform. + @retval EFI_OUT_OF_RESOURCES No memory to constructor root hot plug private + data structure. + +**/ +EFI_STATUS +InitializeHotPlugSupport ( + VOID + ) +{ + EFI_STATUS Status; + EFI_HPC_LOCATION *HpcList; + UINTN HpcCount; + + // + // Locate the PciHotPlugInit Protocol + // If it doesn't exist, that means there is no + // hot plug controller supported on the platform + // the PCI Bus driver is running on. HotPlug Support + // is an optional feature, so absence of the protocol + // won't incur the penalty. + // + Status = gBS->LocateProtocol ( + &gEfiPciHotPlugInitProtocolGuid, + NULL, + (VOID **) &gPciHotPlugInit + ); + + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + Status = gPciHotPlugInit->GetRootHpcList ( + gPciHotPlugInit, + &HpcCount, + &HpcList + ); + + if (!EFI_ERROR (Status)) { + + gPciRootHpcPool = HpcList; + gPciRootHpcCount = HpcCount; + gPciRootHpcData = AllocateZeroPool (sizeof (ROOT_HPC_DATA) * gPciRootHpcCount); + if (gPciRootHpcData == NULL) { + return EFI_OUT_OF_RESOURCES; + } + } + + return EFI_SUCCESS; +} + +/** + Test whether device path is for root pci hot plug bus. + + @param HpbDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug bus. + @retval FALSE The device path is not for root pci hot plug bus. + +**/ +BOOLEAN +IsRootPciHotPlugBus ( + IN EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath, + OUT UINTN *HpIndex OPTIONAL + ) +{ + UINTN Index; + + for (Index = 0; Index < gPciRootHpcCount; Index++) { + + if (EfiCompareDevicePath (gPciRootHpcPool[Index].HpbDevicePath, HpbDevicePath)) { + + if (HpIndex != NULL) { + *HpIndex = Index; + } + + return TRUE; + } + } + + return FALSE; +} + +/** + Test whether device path is for root pci hot plug controller. + + @param HpcDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug controller. + @retval FALSE The device path is not for root pci hot plug controller. + +**/ +BOOLEAN +IsRootPciHotPlugController ( + IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath, + OUT UINTN *HpIndex + ) +{ + UINTN Index; + + for (Index = 0; Index < gPciRootHpcCount; Index++) { + + if (EfiCompareDevicePath (gPciRootHpcPool[Index].HpcDevicePath, HpcDevicePath)) { + + if (HpIndex != NULL) { + *HpIndex = Index; + } + + return TRUE; + } + } + + return FALSE; +} + +/** + Creating event object for PCI Hot Plug controller. + + @param HpIndex Index of hot plug device in global array. + @param Event The returned event that invoke this function. + + @return Status of create event. + +**/ +EFI_STATUS +CreateEventForHpc ( + IN UINTN HpIndex, + OUT EFI_EVENT *Event + ) +{ + EFI_STATUS Status; + + Status = gBS->CreateEvent ( + EVT_NOTIFY_SIGNAL, + TPL_CALLBACK, + PciHPCInitialized, + gPciRootHpcData + HpIndex, + &((gPciRootHpcData + HpIndex)->Event) + ); + + if (!EFI_ERROR (Status)) { + *Event = (gPciRootHpcData + HpIndex)->Event; + } + + return Status; +} + +/** + Wait for all root PCI Hot Plug controller finished initializing. + + @param TimeoutInMicroSeconds Microseconds to wait for all root HPCs' initialization. + + @retval EFI_SUCCESS All HPCs initialization finished. + @retval EFI_TIMEOUT Not ALL HPCs initialization finished in Microseconds. + +**/ +EFI_STATUS +AllRootHPCInitialized ( + IN UINTN TimeoutInMicroSeconds + ) +{ + UINT32 Delay; + UINTN Index; + + Delay = (UINT32) ((TimeoutInMicroSeconds / 30) + 1); + + do { + for (Index = 0; Index < gPciRootHpcCount; Index++) { + + if (gPciRootHpcData[Index].Found && !gPciRootHpcData[Index].Initialized) { + break; + } + } + + if (Index == gPciRootHpcCount) { + return EFI_SUCCESS; + } + + // + // Stall for 30 microseconds.. + // + gBS->Stall (30); + + Delay--; + + } while (Delay > 0); + + return EFI_TIMEOUT; +} + +/** + Check whether PCI-PCI bridge has PCI Hot Plug capability register block. + + @param PciIoDevice A Pointer to the PCI-PCI bridge. + + @retval TRUE PCI device is HPC. + @retval FALSE PCI device is not HPC. + +**/ +BOOLEAN +IsSHPC ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + + EFI_STATUS Status; + UINT8 Offset; + + if (PciIoDevice == NULL) { + return FALSE; + } + + Offset = 0; + Status = LocateCapabilityRegBlock ( + PciIoDevice, + EFI_PCI_CAPABILITY_ID_SHPC, + &Offset, + NULL + ); + + // + // If the PCI-PCI bridge has the hot plug controller build-in, + // then return TRUE; + // + if (!EFI_ERROR (Status)) { + return TRUE; + } + + return FALSE; +} + +/** + Check whether PciIoDevice supports PCIe hotplug. + + This is equivalent to the following condition: + - the device is either a PCIe switch downstream port or a root port, + - and the device has the SlotImplemented bit set in its PCIe capability + register, + - and the device has the HotPlugCapable bit set in its slot capabilities + register. + + @param[in] PciIoDevice The device being checked. + + @retval TRUE PciIoDevice is a PCIe port that accepts a hot-plugged device. + @retval FALSE Otherwise. + +**/ +BOOLEAN +SupportsPcieHotplug ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT32 Offset; + EFI_STATUS Status; + PCI_REG_PCIE_CAPABILITY Capability; + PCI_REG_PCIE_SLOT_CAPABILITY SlotCapability; + + if (PciIoDevice == NULL) { + return FALSE; + } + + // + // Read the PCI Express Capabilities Register + // + if (!PciIoDevice->IsPciExp) { + return FALSE; + } + Offset = PciIoDevice->PciExpressCapabilityOffset + + OFFSET_OF (PCI_CAPABILITY_PCIEXP, Capability); + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + Offset, + 1, + &Capability + ); + if (EFI_ERROR (Status)) { + return FALSE; + } + + // + // Check the contents of the register + // + switch (Capability.Bits.DevicePortType) { + case PCIE_DEVICE_PORT_TYPE_ROOT_PORT: + case PCIE_DEVICE_PORT_TYPE_DOWNSTREAM_PORT: + break; + default: + return FALSE; + } + if (!Capability.Bits.SlotImplemented) { + return FALSE; + } + + // + // Read the Slot Capabilities Register + // + Offset = PciIoDevice->PciExpressCapabilityOffset + + OFFSET_OF (PCI_CAPABILITY_PCIEXP, SlotCapability); + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint32, + Offset, + 1, + &SlotCapability + ); + if (EFI_ERROR (Status)) { + return FALSE; + } + + // + // Check the contents of the register + // + if (SlotCapability.Bits.HotPlugCapable) { + return TRUE; + } + return FALSE; +} + +/** + Get resource padding if the specified PCI bridge is a hot plug bus. + + @param PciIoDevice PCI bridge instance. + +**/ +VOID +GetResourcePaddingForHpb ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + EFI_HPC_STATE State; + UINT64 PciAddress; + EFI_HPC_PADDING_ATTRIBUTES Attributes; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + + if (IsPciHotPlugBus (PciIoDevice)) { + // + // If PCI-PCI bridge device is PCI Hot Plug bus. + // + PciAddress = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber, 0); + Status = gPciHotPlugInit->GetResourcePadding ( + gPciHotPlugInit, + PciIoDevice->DevicePath, + PciAddress, + &State, + (VOID **) &Descriptors, + &Attributes + ); + + if (EFI_ERROR (Status)) { + return; + } + + if ((State & EFI_HPC_STATE_ENABLED) != 0 && (State & EFI_HPC_STATE_INITIALIZED) != 0) { + PciIoDevice->ResourcePaddingDescriptors = Descriptors; + PciIoDevice->PaddingAttributes = Attributes; + } + + return; + } +} + +/** + Test whether PCI device is hot plug bus. + + @param PciIoDevice PCI device instance. + + @retval TRUE PCI device is a hot plug bus. + @retval FALSE PCI device is not a hot plug bus. + +**/ +BOOLEAN +IsPciHotPlugBus ( + PCI_IO_DEVICE *PciIoDevice + ) +{ + if (IsSHPC (PciIoDevice)) { + // + // If the PPB has the hot plug controller build-in, + // then return TRUE; + // + return TRUE; + } + + if (SupportsPcieHotplug (PciIoDevice)) { + // + // If the PPB is a PCIe root complex port or a switch downstream port, and + // implements a hot-plug capable slot, then also return TRUE. + // + return TRUE; + } + + // + // Otherwise, see if it is a Root HPC + // + if(IsRootPciHotPlugBus (PciIoDevice->DevicePath, NULL)) { + return TRUE; + } + + return FALSE; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h new file mode 100644 index 0000000000..0b69237a3d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciHotPlugSupport.h @@ -0,0 +1,205 @@ +/** @file + PCI Hot Plug support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_HOT_PLUG_SUPPORT_H_ +#define _EFI_PCI_HOT_PLUG_SUPPORT_H_ + +// +// stall 1 second, its unit is 100ns +// +#define STALL_1_SECOND 1000000 + +// +// PCI Hot Plug controller private data +// +typedef struct { + EFI_EVENT Event; + BOOLEAN Found; + BOOLEAN Initialized; + VOID *Padding; +} ROOT_HPC_DATA; + +// +// Reference of some global variables +// +extern EFI_PCI_HOT_PLUG_INIT_PROTOCOL *gPciHotPlugInit; +extern EFI_HPC_LOCATION *gPciRootHpcPool; +extern ROOT_HPC_DATA *gPciRootHpcData; + +/** + Event notification function to set Hot Plug controller status. + + @param Event The event that invoke this function. + @param Context The calling context, pointer to ROOT_HPC_DATA. + +**/ +VOID +EFIAPI +PciHPCInitialized ( + IN EFI_EVENT Event, + IN VOID *Context + ); + +/** + Compare two device paths to check if they are exactly same. + + @param DevicePath1 A pointer to the first device path data structure. + @param DevicePath2 A pointer to the second device path data structure. + + @retval TRUE They are same. + @retval FALSE They are not same. + +**/ +BOOLEAN +EfiCompareDevicePath ( + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath1, + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath2 + ); + +/** + Check hot plug support and initialize root hot plug private data. + + If Hot Plug is supported by the platform, call PCI Hot Plug Init protocol + to get PCI Hot Plug controller's information and constructor the root hot plug + private data structure. + + @retval EFI_SUCCESS They are same. + @retval EFI_UNSUPPORTED No PCI Hot Plug controller on the platform. + @retval EFI_OUT_OF_RESOURCES No memory to constructor root hot plug private + data structure. + +**/ +EFI_STATUS +InitializeHotPlugSupport ( + VOID + ); + +/** + Test whether PCI device is hot plug bus. + + @param PciIoDevice PCI device instance. + + @retval TRUE PCI device is a hot plug bus. + @retval FALSE PCI device is not a hot plug bus. + +**/ +BOOLEAN +IsPciHotPlugBus ( + PCI_IO_DEVICE *PciIoDevice + ); + +/** + Test whether device path is for root pci hot plug bus. + + @param HpbDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug bus. + @retval FALSE The device path is not for root pci hot plug bus. + +**/ +BOOLEAN +IsRootPciHotPlugBus ( + IN EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath, + OUT UINTN *HpIndex OPTIONAL + ); + +/** + Test whether device path is for root pci hot plug controller. + + @param HpcDevicePath A pointer to device path data structure to be tested. + @param HpIndex If HpIndex is not NULL, return the index of root hot + plug in global array when TRUE is returned. + + @retval TRUE The device path is for root pci hot plug controller. + @retval FALSE The device path is not for root pci hot plug controller. + +**/ +BOOLEAN +IsRootPciHotPlugController ( + IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath, + OUT UINTN *HpIndex + ); + +/** + Creating event object for PCI Hot Plug controller. + + @param HpIndex Index of hot plug device in global array. + @param Event The returned event that invoke this function. + + @return Status of create event. + +**/ +EFI_STATUS +CreateEventForHpc ( + IN UINTN HpIndex, + OUT EFI_EVENT *Event + ); + +/** + Wait for all root PCI Hot Plug controller finished initializing. + + @param TimeoutInMicroSeconds Microseconds to wait for all root HPCs' initialization. + + @retval EFI_SUCCESS All HPCs initialization finished. + @retval EFI_TIMEOUT Not ALL HPCs initialization finished in Microseconds. + +**/ +EFI_STATUS +AllRootHPCInitialized ( + IN UINTN TimeoutInMicroSeconds + ); + +/** + Check whether PCI-PCI bridge has PCI Hot Plug capability register block. + + @param PciIoDevice A Pointer to the PCI-PCI bridge. + + @retval TRUE PCI device is HPC. + @retval FALSE PCI device is not HPC. + +**/ +BOOLEAN +IsSHPC ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Check whether PciIoDevice supports PCIe hotplug. + + This is equivalent to the following condition: + - the device is either a PCIe switch downstream port or a root port, + - and the device has the SlotImplemented bit set in its PCIe capability + register, + - and the device has the HotPlugCapable bit set in its slot capabilities + register. + + @param[in] PciIoDevice The device being checked. + + @retval TRUE PciIoDevice is a PCIe port that accepts a hot-plugged device. + @retval FALSE Otherwise. + +**/ +BOOLEAN +SupportsPcieHotplug ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Get resource padding if the specified PCI bridge is a hot plug bus. + + @param PciIoDevice PCI bridge instance. + +**/ +VOID +GetResourcePaddingForHpb ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c new file mode 100644 index 0000000000..c656056315 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c @@ -0,0 +1,2087 @@ +/** @file + EFI PCI IO protocol functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +extern EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; + +// +// Pci Io Protocol Interface +// +EFI_PCI_IO_PROTOCOL mPciIoInterface = { + PciIoPollMem, + PciIoPollIo, + { + PciIoMemRead, + PciIoMemWrite + }, + { + PciIoIoRead, + PciIoIoWrite + }, + { + PciIoConfigRead, + PciIoConfigWrite + }, + PciIoCopyMem, + PciIoMap, + PciIoUnmap, + PciIoAllocateBuffer, + PciIoFreeBuffer, + PciIoFlush, + PciIoGetLocation, + PciIoAttributes, + PciIoGetBarAttributes, + PciIoSetBarAttributes, + 0, + NULL +}; + +/** + Initializes a PCI I/O Instance. + + @param PciIoDevice Pci device instance. + +**/ +VOID +InitializePciIoInstance ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + CopyMem (&PciIoDevice->PciIo, &mPciIoInterface, sizeof (EFI_PCI_IO_PROTOCOL)); +} + +/** + Verifies access to a PCI Base Address Register (BAR). + + @param PciIoDevice Pci device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Type Operation type could be memory or I/O. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width/BarIndex or Bar type. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyBarAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE Type, + IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN IN UINTN Count, + IN UINT64 *Offset + ) +{ + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (BarIndex == EFI_PCI_IO_PASS_THROUGH_BAR) { + return EFI_SUCCESS; + } + + // + // BarIndex 0-5 is legal + // + if (BarIndex >= PCI_MAX_BAR) { + return EFI_INVALID_PARAMETER; + } + + if (!CheckBarType (PciIoDevice, BarIndex, Type)) { + return EFI_INVALID_PARAMETER; + } + + // + // If Width is EfiPciIoWidthFifoUintX then convert to EfiPciIoWidthUintX + // If Width is EfiPciIoWidthFillUintX then convert to EfiPciIoWidthUintX + // + if (Width >= EfiPciIoWidthFifoUint8 && Width <= EfiPciIoWidthFifoUint64) { + Count = 1; + } + + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & 0x03); + + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= PciIoDevice->PciBar[BarIndex].Length) { + return EFI_INVALID_PARAMETER; + } + + *Offset = *Offset + PciIoDevice->PciBar[BarIndex].BaseAddress; + + return EFI_SUCCESS; +} + +/** + Verifies access to a PCI Configuration Header. + + @param PciIoDevice Pci device instance. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width + @retval EFI_UNSUPPORTED Offset overflowed. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyConfigAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINTN Count, + IN UINT64 *Offset + ) +{ + UINT64 ExtendOffset; + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + // + // If Width is EfiPciIoWidthFillUintX then convert to EfiPciIoWidthUintX + // + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & 0x03); + + if (PciIoDevice->IsPciExp) { + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= PCI_EXP_MAX_CONFIG_OFFSET) { + return EFI_UNSUPPORTED; + } + + ExtendOffset = LShiftU64 (*Offset, 32); + *Offset = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber, 0); + *Offset = (*Offset) | ExtendOffset; + + } else { + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= PCI_MAX_CONFIG_OFFSET) { + return EFI_UNSUPPORTED; + } + + *Offset = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber, *Offset); + } + + return EFI_SUCCESS; +} + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, Width, 1, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + if (Width > EfiPciIoWidthUint64) { + return EFI_INVALID_PARAMETER; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value || Delay == 0) { + return EFI_SUCCESS; + } + do { + // + // Stall 10 us = 100 * 100ns + // + gBS->Stall (10); + + Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value) { + return EFI_SUCCESS; + } + if (Delay <= 100) { + return EFI_TIMEOUT; + } + Delay -= 100; + } while (TRUE); + } + } + + Status = PciIoDevice->PciRootBridgeIo->PollMem ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Mask, + Value, + Delay, + Result + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollIo ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width > EfiPciIoWidthUint64) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, 1, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value || Delay == 0) { + return EFI_SUCCESS; + } + do { + // + // Stall 10 us = 100 * 100ns + // + gBS->Stall (10); + + Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result); + if (EFI_ERROR (Status)) { + return Status; + } + if ((*Result & Mask) == Value) { + return EFI_SUCCESS; + } + if (Delay <= 100) { + return EFI_TIMEOUT; + } + Delay -= 100; + } while (TRUE); + } + } + + Status = PciIoDevice->PciRootBridgeIo->PollIo ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Mask, + Value, + Delay, + Result + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + + Status = PciIoDevice->PciRootBridgeIo->Mem.Read ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Mem.Write ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Io.Read ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Buffer == NULL) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, Count, &Offset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Io.Write ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Offset, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 Address; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Address = Offset; + Status = PciIoVerifyConfigAccess (PciIoDevice, Width, Count, &Address); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Pci.Read ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Address, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 Address; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Address = Offset; + Status = PciIoVerifyConfigAccess (PciIoDevice, Width, Count, &Address); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->Pci.Write ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + Address, + Count, + Buffer + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Enables a PCI driver to copy one region of PCI memory space to another region of PCI + memory space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param DestBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param DestOffset The destination offset within the BAR specified by DestBarIndex to + start the memory writes for the copy operation. + @param SrcBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param SrcOffset The source offset within the BAR specified by SrcBarIndex to start + the memory reads for the copy operation. + @param Count The number of memory operations to perform. Bytes moved is Width + size * Count, starting at DestOffset and SrcOffset. + + @retval EFI_SUCCESS The data was copied from one memory region to another memory region. + @retval EFI_UNSUPPORTED DestBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED SrcBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by DestOffset, Width, and Count + is not valid for the PCI BAR specified by DestBarIndex. + @retval EFI_UNSUPPORTED The address range specified by SrcOffset, Width, and Count is + not valid for the PCI BAR specified by SrcBarIndex. + @retval EFI_INVALID_PARAMETER Width is invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + +**/ +EFI_STATUS +EFIAPI +PciIoCopyMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 DestBarIndex, + IN UINT64 DestOffset, + IN UINT8 SrcBarIndex, + IN UINT64 SrcOffset, + IN UINTN Count + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Width >= EfiPciIoWidthMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (Width == EfiPciIoWidthFifoUint8 || + Width == EfiPciIoWidthFifoUint16 || + Width == EfiPciIoWidthFifoUint32 || + Width == EfiPciIoWidthFifoUint64 || + Width == EfiPciIoWidthFillUint8 || + Width == EfiPciIoWidthFillUint16 || + Width == EfiPciIoWidthFillUint32 || + Width == EfiPciIoWidthFillUint64) { + return EFI_INVALID_PARAMETER; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, DestBarIndex, PciBarTypeMem, Width, Count, &DestOffset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + Status = PciIoVerifyBarAccess (PciIoDevice, SrcBarIndex, PciBarTypeMem, Width, Count, &SrcOffset); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 + // + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { + if ((SrcOffset & ((1 << (Width & 0x03)) - 1)) != 0 || (DestOffset & ((1 << (Width & 0x03)) - 1)) != 0) { + Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); + } + } + + Status = PciIoDevice->PciRootBridgeIo->CopyMem ( + PciIoDevice->PciRootBridgeIo, + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, + DestOffset, + SrcOffset, + Count + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Provides the PCI controller-specific addresses needed to access system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation Indicates if the bus master is going to read or write to system memory. + @param HostAddress The system memory address to map to the PCI controller. + @param NumberOfBytes On input the number of bytes to map. On output the number of bytes + that were mapped. + @param DeviceAddress The resulting map address for the bus master PCI controller to use to + access the hosts HostAddress. + @param Mapping A resulting value to pass to Unmap(). + + @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. + @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_DEVICE_ERROR The system hardware could not map the requested address. + +**/ +EFI_STATUS +EFIAPI +PciIoMap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, + IN VOID *HostAddress, + IN OUT UINTN *NumberOfBytes, + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, + OUT VOID **Mapping + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 IoMmuAttribute; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION RootBridgeIoOperation; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((UINT32)Operation >= EfiPciIoOperationMaximum) { + return EFI_INVALID_PARAMETER; + } + + if (HostAddress == NULL || NumberOfBytes == NULL || DeviceAddress == NULL || Mapping == NULL) { + return EFI_INVALID_PARAMETER; + } + + RootBridgeIoOperation = (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION)Operation; + if ((PciIoDevice->Attributes & EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE) != 0) { + RootBridgeIoOperation = (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION)(Operation + EfiPciOperationBusMasterRead64); + } + + Status = PciIoDevice->PciRootBridgeIo->Map ( + PciIoDevice->PciRootBridgeIo, + RootBridgeIoOperation, + HostAddress, + NumberOfBytes, + DeviceAddress, + Mapping + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + if (mIoMmuProtocol != NULL) { + if (!EFI_ERROR (Status)) { + switch (Operation) { + case EfiPciIoOperationBusMasterRead: + IoMmuAttribute = EDKII_IOMMU_ACCESS_READ; + break; + case EfiPciIoOperationBusMasterWrite: + IoMmuAttribute = EDKII_IOMMU_ACCESS_WRITE; + break; + case EfiPciIoOperationBusMasterCommonBuffer: + IoMmuAttribute = EDKII_IOMMU_ACCESS_READ | EDKII_IOMMU_ACCESS_WRITE; + break; + default: + ASSERT(FALSE); + return EFI_INVALID_PARAMETER; + } + mIoMmuProtocol->SetAttribute ( + mIoMmuProtocol, + PciIoDevice->Handle, + *Mapping, + IoMmuAttribute + ); + } + } + + return Status; +} + +/** + Completes the Map() operation and releases any corresponding resources. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Mapping The mapping value returned from Map(). + + @retval EFI_SUCCESS The range was unmapped. + @retval EFI_DEVICE_ERROR The data was not committed to the target system memory. + +**/ +EFI_STATUS +EFIAPI +PciIoUnmap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN VOID *Mapping + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if (mIoMmuProtocol != NULL) { + mIoMmuProtocol->SetAttribute ( + mIoMmuProtocol, + PciIoDevice->Handle, + Mapping, + 0 + ); + } + + Status = PciIoDevice->PciRootBridgeIo->Unmap ( + PciIoDevice->PciRootBridgeIo, + Mapping + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Allocates pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer + or EfiPciOperationBusMasterCommonBuffer64 mapping. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Type This parameter is not used and must be ignored. + @param MemoryType The type of memory to allocate, EfiBootServicesData or + EfiRuntimeServicesData. + @param Pages The number of pages to allocate. + @param HostAddress A pointer to store the base system memory address of the + allocated range. + @param Attributes The requested bit mask of attributes for the allocated range. + + @retval EFI_SUCCESS The requested memory pages were allocated. + @retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are + MEMORY_WRITE_COMBINE, MEMORY_CACHED and DUAL_ADDRESS_CYCLE. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. + +**/ +EFI_STATUS +EFIAPI +PciIoAllocateBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_ALLOCATE_TYPE Type, + IN EFI_MEMORY_TYPE MemoryType, + IN UINTN Pages, + OUT VOID **HostAddress, + IN UINT64 Attributes + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + if ((Attributes & + (~(EFI_PCI_ATTRIBUTE_MEMORY_WRITE_COMBINE | EFI_PCI_ATTRIBUTE_MEMORY_CACHED))) != 0){ + return EFI_UNSUPPORTED; + } + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if ((PciIoDevice->Attributes & EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE) != 0) { + Attributes |= EFI_PCI_ATTRIBUTE_DUAL_ADDRESS_CYCLE; + } + + Status = PciIoDevice->PciRootBridgeIo->AllocateBuffer ( + PciIoDevice->PciRootBridgeIo, + Type, + MemoryType, + Pages, + HostAddress, + Attributes + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Frees memory that was allocated with AllocateBuffer(). + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Pages The number of pages to free. + @param HostAddress The base system memory address of the allocated range. + + @retval EFI_SUCCESS The requested memory pages were freed. + @retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages + was not allocated with AllocateBuffer(). + +**/ +EFI_STATUS +EFIAPI +PciIoFreeBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINTN Pages, + IN VOID *HostAddress + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Status = PciIoDevice->PciRootBridgeIo->FreeBuffer ( + PciIoDevice->PciRootBridgeIo, + Pages, + HostAddress + ); + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Flushes all PCI posted write transactions from a PCI host bridge to system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + + @retval EFI_SUCCESS The PCI posted write transactions were flushed from the PCI host + bridge to system memory. + @retval EFI_DEVICE_ERROR The PCI posted write transactions were not flushed from the PCI + host bridge due to a hardware error. + +**/ +EFI_STATUS +EFIAPI +PciIoFlush ( + IN EFI_PCI_IO_PROTOCOL *This + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + Status = PciIoDevice->PciRootBridgeIo->Flush ( + PciIoDevice->PciRootBridgeIo + ); + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Retrieves this PCI controller's current PCI bus number, device number, and function number. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param SegmentNumber The PCI controller's current PCI segment number. + @param BusNumber The PCI controller's current PCI bus number. + @param DeviceNumber The PCI controller's current PCI device number. + @param FunctionNumber The PCI controller's current PCI function number. + + @retval EFI_SUCCESS The PCI controller location was returned. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoGetLocation ( + IN EFI_PCI_IO_PROTOCOL *This, + OUT UINTN *Segment, + OUT UINTN *Bus, + OUT UINTN *Device, + OUT UINTN *Function + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if (Segment == NULL || Bus == NULL || Device == NULL || Function == NULL) { + return EFI_INVALID_PARAMETER; + } + + *Segment = PciIoDevice->PciRootBridgeIo->SegmentNumber; + *Bus = PciIoDevice->BusNumber; + *Device = PciIoDevice->DeviceNumber; + *Function = PciIoDevice->FunctionNumber; + + return EFI_SUCCESS; +} + +/** + Check BAR type for PCI resource. + + @param PciIoDevice PCI device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param BarType Memory or I/O. + + @retval TRUE Pci device's bar type is same with input BarType. + @retval TRUE Pci device's bar type is not same with input BarType. + +**/ +BOOLEAN +CheckBarType ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE BarType + ) +{ + switch (BarType) { + + case PciBarTypeMem: + + if (PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeMem32 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypePMem32 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypePMem64 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeMem64 ) { + return FALSE; + } + + return TRUE; + + case PciBarTypeIo: + if (PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeIo32 && + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeIo16){ + return FALSE; + } + + return TRUE; + + default: + break; + } + + return FALSE; +} + +/** + Set/Disable new attributes to a Root Bridge. + + @param PciIoDevice Pci device instance. + @param Attributes New attribute want to be set. + @param Operation Set or Disable. + + @retval EFI_UNSUPPORTED If root bridge does not support change attribute. + @retval EFI_SUCCESS Successfully set new attributes. + +**/ +EFI_STATUS +ModifyRootBridgeAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT64 Attributes, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ) +{ + UINT64 PciRootBridgeSupports; + UINT64 PciRootBridgeAttributes; + UINT64 NewPciRootBridgeAttributes; + EFI_STATUS Status; + + // + // Get the current attributes of this PCI device's PCI Root Bridge + // + Status = PciIoDevice->PciRootBridgeIo->GetAttributes ( + PciIoDevice->PciRootBridgeIo, + &PciRootBridgeSupports, + &PciRootBridgeAttributes + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Mask off attributes not supported by PCI root bridge. + // + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); + + // + // Record the new attribute of the Root Bridge + // + if (Operation == EfiPciIoAttributeOperationEnable) { + NewPciRootBridgeAttributes = PciRootBridgeAttributes | Attributes; + } else { + NewPciRootBridgeAttributes = PciRootBridgeAttributes & (~Attributes); + } + + // + // Call the PCI Root Bridge to attempt to modify the attributes + // + if ((NewPciRootBridgeAttributes ^ PciRootBridgeAttributes) != 0) { + + Status = PciIoDevice->PciRootBridgeIo->SetAttributes ( + PciIoDevice->PciRootBridgeIo, + NewPciRootBridgeAttributes, + NULL, + NULL + ); + if (EFI_ERROR (Status)) { + // + // The PCI Root Bridge could not modify the attributes, so return the error. + // + return EFI_UNSUPPORTED; + } + } + + // + // Also update the attributes for this Root Bridge structure + // + PciIoDevice->Attributes = NewPciRootBridgeAttributes; + + return EFI_SUCCESS; +} + +/** + Check whether this device can be enable/disable to snoop. + + @param PciIoDevice Pci device instance. + @param Operation Enable/Disable. + + @retval EFI_UNSUPPORTED Pci device is not GFX device or not support snoop. + @retval EFI_SUCCESS Snoop can be supported. + +**/ +EFI_STATUS +SupportPaletteSnoopAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ) +{ + PCI_IO_DEVICE *Temp; + UINT16 VGACommand; + + // + // Snoop attribute can be only modified by GFX + // + if (!IS_PCI_GFX (&PciIoDevice->Pci)) { + return EFI_UNSUPPORTED; + } + + // + // Get the boot VGA on the same Host Bridge + // + Temp = LocateVgaDeviceOnHostBridge (PciIoDevice->PciRootBridgeIo->ParentHandle); + + if (Temp == NULL) { + // + // If there is no VGA device on the segment, set + // this graphics card to decode the palette range + // + return EFI_SUCCESS; + } + + // + // Check these two agents are on the same path + // + if (!PciDevicesOnTheSamePath (Temp, PciIoDevice)) { + // + // they are not on the same path, so snoop can be enabled or disabled + // + return EFI_SUCCESS; + } + // + // Check if they are on the same bus + // + if (Temp->Parent == PciIoDevice->Parent) { + + PCI_READ_COMMAND_REGISTER (Temp, &VGACommand); + + // + // If they are on the same bus, either one can + // be set to snoop, the other set to decode + // + if ((VGACommand & EFI_PCI_COMMAND_VGA_PALETTE_SNOOP) != 0) { + // + // VGA has set to snoop, so GFX can be only set to disable snoop + // + if (Operation == EfiPciIoAttributeOperationEnable) { + return EFI_UNSUPPORTED; + } + } else { + // + // VGA has disabled to snoop, so GFX can be only enabled + // + if (Operation == EfiPciIoAttributeOperationDisable) { + return EFI_UNSUPPORTED; + } + } + + return EFI_SUCCESS; + } + + // + // If they are on the same path but on the different bus + // The first agent is set to snoop, the second one set to + // decode + // + + if (Temp->BusNumber < PciIoDevice->BusNumber) { + // + // GFX should be set to decode + // + if (Operation == EfiPciIoAttributeOperationDisable) { + PCI_ENABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); + Temp->Attributes |= EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; + } else { + return EFI_UNSUPPORTED; + } + + } else { + // + // GFX should be set to snoop + // + if (Operation == EfiPciIoAttributeOperationEnable) { + PCI_DISABLE_COMMAND_REGISTER (Temp, EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); + Temp->Attributes &= (~(UINT64)EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); + } else { + return EFI_UNSUPPORTED; + } + + } + + return EFI_SUCCESS; +} + +/** + Performs an operation on the attributes that this PCI controller supports. The operations include + getting the set of supported attributes, retrieving the current attributes, setting the current + attributes, enabling attributes, and disabling attributes. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation The operation to perform on the attributes for this PCI controller. + @param Attributes The mask of attributes that are used for Set, Enable, and Disable + operations. + @param Result A pointer to the result mask of attributes that are returned for the Get + and Supported operations. + + @retval EFI_SUCCESS The operation on the PCI controller's attributes was completed. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_UNSUPPORTED one or more of the bits set in + Attributes are not supported by this PCI controller or one of + its parent bridges when Operation is Set, Enable or Disable. + +**/ +EFI_STATUS +EFIAPI +PciIoAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, + IN UINT64 Attributes, + OUT UINT64 *Result OPTIONAL + ) +{ + EFI_STATUS Status; + + PCI_IO_DEVICE *PciIoDevice; + PCI_IO_DEVICE *UpStreamBridge; + PCI_IO_DEVICE *Temp; + + UINT64 Supports; + UINT64 UpStreamAttributes; + UINT16 BridgeControl; + UINT16 Command; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + switch (Operation) { + case EfiPciIoAttributeOperationGet: + if (Result == NULL) { + return EFI_INVALID_PARAMETER; + } + + *Result = PciIoDevice->Attributes; + return EFI_SUCCESS; + + case EfiPciIoAttributeOperationSupported: + if (Result == NULL) { + return EFI_INVALID_PARAMETER; + } + + *Result = PciIoDevice->Supports; + return EFI_SUCCESS; + + case EfiPciIoAttributeOperationSet: + Status = PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationEnable, + Attributes, + NULL + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + Status = PciIoDevice->PciIo.Attributes ( + &(PciIoDevice->PciIo), + EfiPciIoAttributeOperationDisable, + (~Attributes) & (PciIoDevice->Supports), + NULL + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + return EFI_SUCCESS; + + case EfiPciIoAttributeOperationEnable: + case EfiPciIoAttributeOperationDisable: + break; + + default: + return EFI_INVALID_PARAMETER; + } + // + // Just a trick for ENABLE attribute + // EFI_PCI_DEVICE_ENABLE is not defined in UEFI spec, which is the internal usage. + // So, this logic doesn't conform to UEFI spec, which should be removed. + // But this trick logic is still kept for some binary drivers that depend on it. + // + if ((Attributes & EFI_PCI_DEVICE_ENABLE) == EFI_PCI_DEVICE_ENABLE) { + Attributes &= (PciIoDevice->Supports); + + // + // Raise the EFI_P_PC_ENABLE Status code + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_P_PC_ENABLE, + PciIoDevice->DevicePath + ); + } + + // + // Check VGA and VGA16, they can not be set at the same time + // + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO)) != 0) { + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { + return EFI_UNSUPPORTED; + } + } + + // + // If no attributes can be supported, then return. + // Otherwise, set the attributes that it can support. + // + Supports = (PciIoDevice->Supports) & Attributes; + if (Supports != Attributes) { + return EFI_UNSUPPORTED; + } + + // + // For Root Bridge, just call RootBridgeIo to set attributes; + // + if (PciIoDevice->Parent == NULL) { + Status = ModifyRootBridgeAttributes (PciIoDevice, Attributes, Operation); + return Status; + } + + Command = 0; + BridgeControl = 0; + + // + // For PPB & P2C, set relevant attribute bits + // + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { + + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_VGA; + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_ISA_IO) != 0) { + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_ISA; + } + + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { + Command |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; + } + + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16 | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_VGA_16; + } + + } else { + // + // Do with the attributes on VGA + // Only for VGA's legacy resource, we just can enable once. + // + if ((Attributes & + (EFI_PCI_IO_ATTRIBUTE_VGA_IO | + EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | + EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY)) != 0) { + // + // Check if a VGA has been enabled before enabling a new one + // + if (Operation == EfiPciIoAttributeOperationEnable) { + // + // Check if there have been an active VGA device on the same Host Bridge + // + Temp = LocateVgaDeviceOnHostBridge (PciIoDevice->PciRootBridgeIo->ParentHandle); + if (Temp != NULL && Temp != PciIoDevice) { + // + // An active VGA has been detected, so can not enable another + // + return EFI_UNSUPPORTED; + } + } + } + + // + // Do with the attributes on GFX + // + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { + + if (Operation == EfiPciIoAttributeOperationEnable) { + // + // Check if snoop can be enabled in current configuration + // + Status = SupportPaletteSnoopAttributes (PciIoDevice, Operation); + + if (EFI_ERROR (Status)) { + + // + // Enable operation is forbidden, so mask the bit in attributes + // so as to keep consistent with the actual Status + // + // Attributes &= (~EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO); + // + // + // + return EFI_UNSUPPORTED; + + } + } + + // + // It can be supported, so get ready to set the bit + // + Command |= EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; + } + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_IO) != 0) { + Command |= EFI_PCI_COMMAND_IO_SPACE; + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_MEMORY) != 0) { + Command |= EFI_PCI_COMMAND_MEMORY_SPACE; + } + + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_BUS_MASTER) != 0) { + Command |= EFI_PCI_COMMAND_BUS_MASTER; + } + // + // The upstream bridge should be also set to relevant attribute + // expect for IO, Mem and BusMaster + // + UpStreamAttributes = Attributes & + (~(EFI_PCI_IO_ATTRIBUTE_IO | + EFI_PCI_IO_ATTRIBUTE_MEMORY | + EFI_PCI_IO_ATTRIBUTE_BUS_MASTER + ) + ); + UpStreamBridge = PciIoDevice->Parent; + + if (Operation == EfiPciIoAttributeOperationEnable) { + // + // Enable relevant attributes to command register and bridge control register + // + Status = PCI_ENABLE_COMMAND_REGISTER (PciIoDevice, Command); + if (BridgeControl != 0) { + Status = PCI_ENABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, BridgeControl); + } + + PciIoDevice->Attributes |= Attributes; + + // + // Enable attributes of the upstream bridge + // + Status = UpStreamBridge->PciIo.Attributes ( + &(UpStreamBridge->PciIo), + EfiPciIoAttributeOperationEnable, + UpStreamAttributes, + NULL + ); + } else { + + // + // Disable relevant attributes to command register and bridge control register + // + Status = PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, Command); + if (BridgeControl != 0) { + Status = PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, BridgeControl); + } + + PciIoDevice->Attributes &= (~Attributes); + Status = EFI_SUCCESS; + + } + + if (EFI_ERROR (Status)) { + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_ERROR_CODE | EFI_ERROR_MINOR, + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, + PciIoDevice->DevicePath + ); + } + + return Status; +} + +/** + Retrieve the AddrTranslationOffset from RootBridgeIo for the + specified range. + + @param RootBridgeIo Root Bridge IO instance. + @param AddrRangeMin The base address of the MMIO. + @param AddrLen The length of the MMIO. + + @retval The AddrTranslationOffset from RootBridgeIo for the + specified range, or (UINT64) -1 if the range is not + found in RootBridgeIo. +**/ +UINT64 +GetMmioAddressTranslationOffset ( + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *RootBridgeIo, + UINT64 AddrRangeMin, + UINT64 AddrLen + ) +{ + EFI_STATUS Status; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; + + Status = RootBridgeIo->Configuration ( + RootBridgeIo, + (VOID **) &Configuration + ); + if (EFI_ERROR (Status)) { + return (UINT64) -1; + } + + // According to UEFI 2.7, EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL::Configuration() + // returns host address instead of device address, while AddrTranslationOffset + // is not zero, and device address = host address + AddrTranslationOffset, so + // we convert host address to device address for range compare. + while (Configuration->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR) { + if ((Configuration->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) && + (Configuration->AddrRangeMin + Configuration->AddrTranslationOffset <= AddrRangeMin) && + (Configuration->AddrRangeMin + Configuration->AddrLen + Configuration->AddrTranslationOffset >= AddrRangeMin + AddrLen) + ) { + return Configuration->AddrTranslationOffset; + } + Configuration++; + } + + // + // The resource occupied by BAR should be in the range reported by RootBridge. + // + ASSERT (FALSE); + return (UINT64) -1; +} + +/** + Gets the attributes that this PCI controller supports setting on a BAR using + SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Supports A pointer to the mask of attributes that this PCI controller supports + setting for this BAR with SetBarAttributes(). + @param Resources A pointer to the resource descriptors that describe the current + configuration of this BAR of the PCI controller. + + @retval EFI_SUCCESS If Supports is not NULL, then the attributes that the PCI + controller supports are returned in Supports. If Resources + is not NULL, then the resource descriptors that the PCI + controller is currently using are returned in Resources. + @retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources available to allocate + Resources. + +**/ +EFI_STATUS +EFIAPI +PciIoGetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN UINT8 BarIndex, + OUT UINT64 *Supports, OPTIONAL + OUT VOID **Resources OPTIONAL + ) +{ + PCI_IO_DEVICE *PciIoDevice; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; + EFI_ACPI_END_TAG_DESCRIPTOR *End; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + if (Supports == NULL && Resources == NULL) { + return EFI_INVALID_PARAMETER; + } + + if ((BarIndex >= PCI_MAX_BAR) || (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeUnknown)) { + return EFI_UNSUPPORTED; + } + + // + // This driver does not support modifications to the WRITE_COMBINE or + // CACHED attributes for BAR ranges. + // + if (Supports != NULL) { + *Supports = PciIoDevice->Supports & EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED & EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE; + } + + if (Resources != NULL) { + Descriptor = AllocateZeroPool (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) + sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); + if (Descriptor == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + *Resources = Descriptor; + + Descriptor->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; + Descriptor->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); + Descriptor->AddrRangeMin = PciIoDevice->PciBar[BarIndex].BaseAddress; + Descriptor->AddrLen = PciIoDevice->PciBar[BarIndex].Length; + Descriptor->AddrRangeMax = PciIoDevice->PciBar[BarIndex].Alignment; + + switch (PciIoDevice->PciBar[BarIndex].BarType) { + case PciBarTypeIo16: + case PciBarTypeIo32: + // + // Io + // + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; + break; + + case PciBarTypePMem32: + // + // prefetchable + // + Descriptor->SpecificFlag = EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE; + // + // Fall through + // + case PciBarTypeMem32: + // + // Mem + // + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // 32 bit + // + Descriptor->AddrSpaceGranularity = 32; + break; + + case PciBarTypePMem64: + // + // prefetchable + // + Descriptor->SpecificFlag = EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE; + // + // Fall through + // + case PciBarTypeMem64: + // + // Mem + // + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; + // + // 64 bit + // + Descriptor->AddrSpaceGranularity = 64; + break; + + default: + break; + } + + // + // put the checksum + // + End = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Descriptor + 1); + End->Desc = ACPI_END_TAG_DESCRIPTOR; + End->Checksum = 0; + + // + // Get the Address Translation Offset + // + if (Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { + Descriptor->AddrTranslationOffset = GetMmioAddressTranslationOffset ( + PciIoDevice->PciRootBridgeIo, + Descriptor->AddrRangeMin, + Descriptor->AddrLen + ); + if (Descriptor->AddrTranslationOffset == (UINT64) -1) { + FreePool (Descriptor); + return EFI_UNSUPPORTED; + } + } + + // According to UEFI spec 2.7, we need return host address for + // PciIo->GetBarAttributes, and host address = device address - translation. + Descriptor->AddrRangeMin -= Descriptor->AddrTranslationOffset; + } + + return EFI_SUCCESS; +} + +/** + Sets the attributes for a range of a BAR on a PCI controller. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Attributes The mask of attributes to set for the resource range specified by + BarIndex, Offset, and Length. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Offset A pointer to the BAR relative base address of the resource range to be + modified by the attributes specified by Attributes. + @param Length A pointer to the length of the resource range to be modified by the + attributes specified by Attributes. + + @retval EFI_SUCCESS The set of attributes specified by Attributes for the resource + range specified by BarIndex, Offset, and Length were + set on the PCI controller, and the actual resource range is returned + in Offset and Length. + @retval EFI_INVALID_PARAMETER Offset or Length is NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources to set the attributes on the + resource range specified by BarIndex, Offset, and + Length. + +**/ +EFI_STATUS +EFIAPI +PciIoSetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINT64 Attributes, + IN UINT8 BarIndex, + IN OUT UINT64 *Offset, + IN OUT UINT64 *Length + ) +{ + EFI_STATUS Status; + PCI_IO_DEVICE *PciIoDevice; + UINT64 NonRelativeOffset; + UINT64 Supports; + + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); + + // + // Make sure Offset and Length are not NULL + // + if (Offset == NULL || Length == NULL) { + return EFI_INVALID_PARAMETER; + } + + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeUnknown) { + return EFI_UNSUPPORTED; + } + // + // This driver does not support setting the WRITE_COMBINE or the CACHED attributes. + // If Attributes is not 0, then return EFI_UNSUPPORTED. + // + Supports = PciIoDevice->Supports & EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED & EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE; + + if (Attributes != (Attributes & Supports)) { + return EFI_UNSUPPORTED; + } + // + // Attributes must be supported. Make sure the BAR range described by BarIndex, Offset, and + // Length are valid for this PCI device. + // + NonRelativeOffset = *Offset; + Status = PciIoVerifyBarAccess ( + PciIoDevice, + BarIndex, + PciBarTypeMem, + EfiPciIoWidthUint8, + (UINT32) *Length, + &NonRelativeOffset + ); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + return EFI_SUCCESS; +} + + +/** + Test whether two Pci devices has same parent bridge. + + @param PciDevice1 The first pci device for testing. + @param PciDevice2 The second pci device for testing. + + @retval TRUE Two Pci device has the same parent bridge. + @retval FALSE Two Pci device has not the same parent bridge. + +**/ +BOOLEAN +PciDevicesOnTheSamePath ( + IN PCI_IO_DEVICE *PciDevice1, + IN PCI_IO_DEVICE *PciDevice2 + ) +{ + BOOLEAN Existed1; + BOOLEAN Existed2; + + if (PciDevice1->Parent == PciDevice2->Parent) { + return TRUE; + } + + Existed1 = PciDeviceExisted (PciDevice1->Parent, PciDevice2); + Existed2 = PciDeviceExisted (PciDevice2->Parent, PciDevice1); + + return (BOOLEAN) (Existed1 || Existed2); +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h new file mode 100644 index 0000000000..c00516ee6a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h @@ -0,0 +1,660 @@ +/** @file + EFI PCI IO protocol functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_IO_PROTOCOL_H_ +#define _EFI_PCI_IO_PROTOCOL_H_ + +/** + Initializes a PCI I/O Instance. + + @param PciIoDevice Pci device instance. + +**/ +VOID +InitializePciIoInstance ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Verifies access to a PCI Base Address Register (BAR). + + @param PciIoDevice Pci device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Type Operation type could be memory or I/O. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width/BarIndex or Bar type. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyBarAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE Type, + IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN IN UINTN Count, + IN UINT64 *Offset + ); + +/** + Verifies access to a PCI Configuration Header. + + @param PciIoDevice Pci device instance. + @param Width Signifies the width of the memory or I/O operations. + @param Count The number of memory or I/O operations to perform. + @param Offset The offset within the PCI configuration space for the PCI controller. + + @retval EFI_INVALID_PARAMETER Invalid Width + @retval EFI_UNSUPPORTED Offset overflowed. + @retval EFI_SUCCESS Successfully verified. + +**/ +EFI_STATUS +PciIoVerifyConfigAccess ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINTN Count, + IN UINT64 *Offset + ); + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ); + +/** + Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is + satisfied or after a defined duration. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param Offset The offset within the selected BAR to start the memory operation. + @param Mask Mask used for the polling criteria. + @param Value The comparison value used for the polling exit criteria. + @param Delay The number of 100 ns units to poll. + @param Result Pointer to the last value read from the memory location. + + @retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller. + @retval EFI_TIMEOUT Delay expired before a match occurred. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoPollIo ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINT64 Mask, + IN UINT64 Value, + IN UINT64 Delay, + OUT UINT64 *Result + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoMemWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory or I/O operations. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param Offset The offset within the selected BAR to start the memory or I/O operation. + @param Count The number of memory or I/O operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI BAR specified by BarIndex. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoIoWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 BarIndex, + IN UINT64 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigRead ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enable a PCI driver to access PCI controller registers in PCI configuration space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param Offset The offset within the PCI configuration space for the PCI controller. + @param Count The number of PCI configuration operations to perform. + @param Buffer For read operations, the destination buffer to store the results. For write + operations, the source buffer to write data from. + + + @retval EFI_SUCCESS The data was read from or written to the PCI controller. + @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not + valid for the PCI configuration header of the PCI controller. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoConfigWrite ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT32 Offset, + IN UINTN Count, + IN OUT VOID *Buffer + ); + +/** + Enables a PCI driver to copy one region of PCI memory space to another region of PCI + memory space. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Width Signifies the width of the memory operations. + @param DestBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param DestOffset The destination offset within the BAR specified by DestBarIndex to + start the memory writes for the copy operation. + @param SrcBarIndex The BAR index in the standard PCI Configuration header to use as the + base address for the memory operation to perform. + @param SrcOffset The source offset within the BAR specified by SrcBarIndex to start + the memory reads for the copy operation. + @param Count The number of memory operations to perform. Bytes moved is Width + size * Count, starting at DestOffset and SrcOffset. + + @retval EFI_SUCCESS The data was copied from one memory region to another memory region. + @retval EFI_UNSUPPORTED DestBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED SrcBarIndex not valid for this PCI controller. + @retval EFI_UNSUPPORTED The address range specified by DestOffset, Width, and Count + is not valid for the PCI BAR specified by DestBarIndex. + @retval EFI_UNSUPPORTED The address range specified by SrcOffset, Width, and Count is + not valid for the PCI BAR specified by SrcBarIndex. + @retval EFI_INVALID_PARAMETER Width is invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + +**/ +EFI_STATUS +EFIAPI +PciIoCopyMem ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, + IN UINT8 DestBarIndex, + IN UINT64 DestOffset, + IN UINT8 SrcBarIndex, + IN UINT64 SrcOffset, + IN UINTN Count + ); + +/** + Provides the PCI controller-specific addresses needed to access system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation Indicates if the bus master is going to read or write to system memory. + @param HostAddress The system memory address to map to the PCI controller. + @param NumberOfBytes On input the number of bytes to map. On output the number of bytes + that were mapped. + @param DeviceAddress The resulting map address for the bus master PCI controller to use to + access the hosts HostAddress. + @param Mapping A resulting value to pass to Unmap(). + + @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. + @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + @retval EFI_DEVICE_ERROR The system hardware could not map the requested address. + +**/ +EFI_STATUS +EFIAPI +PciIoMap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, + IN VOID *HostAddress, + IN OUT UINTN *NumberOfBytes, + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, + OUT VOID **Mapping + ); + +/** + Completes the Map() operation and releases any corresponding resources. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Mapping The mapping value returned from Map(). + + @retval EFI_SUCCESS The range was unmapped. + @retval EFI_DEVICE_ERROR The data was not committed to the target system memory. + +**/ +EFI_STATUS +EFIAPI +PciIoUnmap ( + IN EFI_PCI_IO_PROTOCOL *This, + IN VOID *Mapping + ); + +/** + Allocates pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer + or EfiPciOperationBusMasterCommonBuffer64 mapping. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Type This parameter is not used and must be ignored. + @param MemoryType The type of memory to allocate, EfiBootServicesData or + EfiRuntimeServicesData. + @param Pages The number of pages to allocate. + @param HostAddress A pointer to store the base system memory address of the + allocated range. + @param Attributes The requested bit mask of attributes for the allocated range. + + @retval EFI_SUCCESS The requested memory pages were allocated. + @retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are + MEMORY_WRITE_COMBINE, MEMORY_CACHED and DUAL_ADDRESS_CYCLE. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. + +**/ +EFI_STATUS +EFIAPI +PciIoAllocateBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN EFI_ALLOCATE_TYPE Type, + IN EFI_MEMORY_TYPE MemoryType, + IN UINTN Pages, + OUT VOID **HostAddress, + IN UINT64 Attributes + ); + +/** + Frees memory that was allocated with AllocateBuffer(). + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Pages The number of pages to free. + @param HostAddress The base system memory address of the allocated range. + + @retval EFI_SUCCESS The requested memory pages were freed. + @retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages + was not allocated with AllocateBuffer(). + +**/ +EFI_STATUS +EFIAPI +PciIoFreeBuffer ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINTN Pages, + IN VOID *HostAddress + ); + +/** + Flushes all PCI posted write transactions from a PCI host bridge to system memory. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + + @retval EFI_SUCCESS The PCI posted write transactions were flushed from the PCI host + bridge to system memory. + @retval EFI_DEVICE_ERROR The PCI posted write transactions were not flushed from the PCI + host bridge due to a hardware error. + +**/ +EFI_STATUS +EFIAPI +PciIoFlush ( + IN EFI_PCI_IO_PROTOCOL *This + ); + +/** + Retrieves this PCI controller's current PCI bus number, device number, and function number. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param SegmentNumber The PCI controller's current PCI segment number. + @param BusNumber The PCI controller's current PCI bus number. + @param DeviceNumber The PCI controller's current PCI device number. + @param FunctionNumber The PCI controller's current PCI function number. + + @retval EFI_SUCCESS The PCI controller location was returned. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + +**/ +EFI_STATUS +EFIAPI +PciIoGetLocation ( + IN EFI_PCI_IO_PROTOCOL *This, + OUT UINTN *Segment, + OUT UINTN *Bus, + OUT UINTN *Device, + OUT UINTN *Function + ); + +/** + Check BAR type for PCI resource. + + @param PciIoDevice PCI device instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for the memory or I/O operation to perform. + @param BarType Memory or I/O. + + @retval TRUE Pci device's bar type is same with input BarType. + @retval TRUE Pci device's bar type is not same with input BarType. + +**/ +BOOLEAN +CheckBarType ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT8 BarIndex, + IN PCI_BAR_TYPE BarType + ); + +/** + Set/Disable new attributes to a Root Bridge. + + @param PciIoDevice Pci device instance. + @param Attributes New attribute want to be set. + @param Operation Set or Disable. + + @retval EFI_UNSUPPORTED If root bridge does not support change attribute. + @retval EFI_SUCCESS Successfully set new attributes. + +**/ +EFI_STATUS +ModifyRootBridgeAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN UINT64 Attributes, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ); + +/** + Check whether this device can be enable/disable to snoop. + + @param PciIoDevice Pci device instance. + @param Operation Enable/Disable. + + @retval EFI_UNSUPPORTED Pci device is not GFX device or not support snoop. + @retval EFI_SUCCESS Snoop can be supported. + +**/ +EFI_STATUS +SupportPaletteSnoopAttributes ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation + ); + +/** + Performs an operation on the attributes that this PCI controller supports. The operations include + getting the set of supported attributes, retrieving the current attributes, setting the current + attributes, enabling attributes, and disabling attributes. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Operation The operation to perform on the attributes for this PCI controller. + @param Attributes The mask of attributes that are used for Set, Enable, and Disable + operations. + @param Result A pointer to the result mask of attributes that are returned for the Get + and Supported operations. + + @retval EFI_SUCCESS The operation on the PCI controller's attributes was completed. + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. + @retval EFI_UNSUPPORTED one or more of the bits set in + Attributes are not supported by this PCI controller or one of + its parent bridges when Operation is Set, Enable or Disable. + +**/ +EFI_STATUS +EFIAPI +PciIoAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, + IN UINT64 Attributes, + OUT UINT64 *Result OPTIONAL + ); + +/** + Gets the attributes that this PCI controller supports setting on a BAR using + SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Supports A pointer to the mask of attributes that this PCI controller supports + setting for this BAR with SetBarAttributes(). + @param Resources A pointer to the resource descriptors that describe the current + configuration of this BAR of the PCI controller. + + @retval EFI_SUCCESS If Supports is not NULL, then the attributes that the PCI + controller supports are returned in Supports. If Resources + is not NULL, then the resource descriptors that the PCI + controller is currently using are returned in Resources. + @retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources available to allocate + Resources. + +**/ +EFI_STATUS +EFIAPI +PciIoGetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL * This, + IN UINT8 BarIndex, + OUT UINT64 *Supports, OPTIONAL + OUT VOID **Resources OPTIONAL + ); + +/** + Sets the attributes for a range of a BAR on a PCI controller. + + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. + @param Attributes The mask of attributes to set for the resource range specified by + BarIndex, Offset, and Length. + @param BarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param Offset A pointer to the BAR relative base address of the resource range to be + modified by the attributes specified by Attributes. + @param Length A pointer to the length of the resource range to be modified by the + attributes specified by Attributes. + + @retval EFI_SUCCESS The set of attributes specified by Attributes for the resource + range specified by BarIndex, Offset, and Length were + set on the PCI controller, and the actual resource range is returned + in Offset and Length. + @retval EFI_INVALID_PARAMETER Offset or Length is NULL. + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. + @retval EFI_OUT_OF_RESOURCES There are not enough resources to set the attributes on the + resource range specified by BarIndex, Offset, and + Length. + +**/ +EFI_STATUS +EFIAPI +PciIoSetBarAttributes ( + IN EFI_PCI_IO_PROTOCOL *This, + IN UINT64 Attributes, + IN UINT8 BarIndex, + IN OUT UINT64 *Offset, + IN OUT UINT64 *Length + ); + + +/** + Test whether two Pci devices has same parent bridge. + + @param PciDevice1 The first pci device for testing. + @param PciDevice2 The second pci device for testing. + + @retval TRUE Two Pci device has the same parent bridge. + @retval FALSE Two Pci device has not the same parent bridge. + +**/ +BOOLEAN +PciDevicesOnTheSamePath ( + IN PCI_IO_DEVICE *PciDevice1, + IN PCI_IO_DEVICE *PciDevice2 + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c new file mode 100644 index 0000000000..2b76100740 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c @@ -0,0 +1,1809 @@ +/** @file + Internal library implementation for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +GLOBAL_REMOVE_IF_UNREFERENCED +CHAR16 *mBarTypeStr[] = { + L"Unknow", + L" Io16", + L" Io32", + L" Mem32", + L"PMem32", + L" Mem64", + L"PMem64", + L" OpRom", + L" Io", + L" Mem", + L"Unknow" + }; + +/** + Retrieve the max bus number that is assigned to the Root Bridge hierarchy. + It can support the case that there are multiple bus ranges. + + @param Bridge Bridge device instance. + + @retval The max bus number that is assigned to this Root Bridge hierarchy. + +**/ +UINT16 +PciGetMaxBusNumber ( + IN PCI_IO_DEVICE *Bridge + ) +{ + PCI_IO_DEVICE *RootBridge; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; + UINT64 MaxNumberInRange; + + // + // Get PCI Root Bridge device + // + RootBridge = Bridge; + while (RootBridge->Parent != NULL) { + RootBridge = RootBridge->Parent; + } + MaxNumberInRange = 0; + // + // Iterate the bus number ranges to get max PCI bus number + // + BusNumberRanges = RootBridge->BusNumberRanges; + while (BusNumberRanges->Desc != ACPI_END_TAG_DESCRIPTOR) { + MaxNumberInRange = BusNumberRanges->AddrRangeMin + BusNumberRanges->AddrLen - 1; + BusNumberRanges++; + } + return (UINT16) MaxNumberInRange; +} + +/** + Retrieve the PCI Card device BAR information via PciIo interface. + + @param PciIoDevice PCI Card device instance. + +**/ +VOID +GetBackPcCardBar ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT32 Address; + + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + return; + } + + // + // Read PciBar information from the bar register + // + if (!gFullEnumeration) { + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_0, + 1, + &Address + ); + + (PciIoDevice->PciBar)[P2C_MEM_1].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_MEM_1].Length = 0x2000000; + (PciIoDevice->PciBar)[P2C_MEM_1].BarType = PciBarTypeMem32; + + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_1, + 1, + &Address + ); + (PciIoDevice->PciBar)[P2C_MEM_2].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_MEM_2].Length = 0x2000000; + (PciIoDevice->PciBar)[P2C_MEM_2].BarType = PciBarTypePMem32; + + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_0_LOWER, + 1, + &Address + ); + (PciIoDevice->PciBar)[P2C_IO_1].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_IO_1].Length = 0x100; + (PciIoDevice->PciBar)[P2C_IO_1].BarType = PciBarTypeIo16; + + Address = 0; + PciIoDevice->PciIo.Pci.Read ( + &(PciIoDevice->PciIo), + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_1_LOWER, + 1, + &Address + ); + (PciIoDevice->PciBar)[P2C_IO_2].BaseAddress = (UINT64) (Address); + (PciIoDevice->PciBar)[P2C_IO_2].Length = 0x100; + (PciIoDevice->PciBar)[P2C_IO_2].BarType = PciBarTypeIo16; + + } + + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + GetResourcePaddingForHpb (PciIoDevice); + } +} + +/** + Remove rejected pci device from specific root bridge + handle. + + @param RootBridgeHandle Specific parent root bridge handle. + @param Bridge Bridge device instance. + +**/ +VOID +RemoveRejectedPciDevices ( + IN EFI_HANDLE RootBridgeHandle, + IN PCI_IO_DEVICE *Bridge + ) +{ + PCI_IO_DEVICE *Temp; + LIST_ENTRY *CurrentLink; + LIST_ENTRY *LastLink; + + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + return; + } + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_PCI_BRIDGE (&Temp->Pci)) { + // + // Remove rejected devices recusively + // + RemoveRejectedPciDevices (RootBridgeHandle, Temp); + } else { + // + // Skip rejection for all PPBs, while detect rejection for others + // + if (IsPciDeviceRejected (Temp)) { + + // + // For P2C, remove all devices on it + // + if (!IsListEmpty (&Temp->ChildList)) { + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Temp); + } + + // + // Finally remove itself + // + LastLink = CurrentLink->BackLink; + RemoveEntryList (CurrentLink); + FreePciDevice (Temp); + + CurrentLink = LastLink; + } + } + + CurrentLink = CurrentLink->ForwardLink; + } +} + +/** + Dump the resourc map of the bridge device. + + @param[in] BridgeResource Resource descriptor of the bridge device. +**/ +VOID +DumpBridgeResource ( + IN PCI_RESOURCE_NODE *BridgeResource + ) +{ + LIST_ENTRY *Link; + PCI_RESOURCE_NODE *Resource; + PCI_BAR *Bar; + + if ((BridgeResource != NULL) && (BridgeResource->Length != 0)) { + DEBUG (( + EFI_D_INFO, "Type = %s; Base = 0x%lx;\tLength = 0x%lx;\tAlignment = 0x%lx\n", + mBarTypeStr[MIN (BridgeResource->ResType, PciBarTypeMaxType)], + BridgeResource->PciDev->PciBar[BridgeResource->Bar].BaseAddress, + BridgeResource->Length, BridgeResource->Alignment + )); + for ( Link = GetFirstNode (&BridgeResource->ChildList) + ; !IsNull (&BridgeResource->ChildList, Link) + ; Link = GetNextNode (&BridgeResource->ChildList, Link) + ) { + Resource = RESOURCE_NODE_FROM_LINK (Link); + if (Resource->ResourceUsage == PciResUsageTypical) { + Bar = Resource->Virtual ? Resource->PciDev->VfPciBar : Resource->PciDev->PciBar; + DEBUG (( + EFI_D_INFO, " Base = 0x%lx;\tLength = 0x%lx;\tAlignment = 0x%lx;\tOwner = %s [%02x|%02x|%02x:", + Bar[Resource->Bar].BaseAddress, Resource->Length, Resource->Alignment, + IS_PCI_BRIDGE (&Resource->PciDev->Pci) ? L"PPB" : + IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci) ? L"P2C" : + L"PCI", + Resource->PciDev->BusNumber, Resource->PciDev->DeviceNumber, + Resource->PciDev->FunctionNumber + )); + + if ((!IS_PCI_BRIDGE (&Resource->PciDev->Pci) && !IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci)) || + (IS_PCI_BRIDGE (&Resource->PciDev->Pci) && (Resource->Bar < PPB_IO_RANGE)) || + (IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci) && (Resource->Bar < P2C_MEM_1)) + ) { + // + // The resource requirement comes from the device itself. + // + DEBUG ((EFI_D_INFO, "%02x]", Bar[Resource->Bar].Offset)); + } else { + // + // The resource requirement comes from the subordinate devices. + // + DEBUG ((EFI_D_INFO, "**]")); + } + } else { + DEBUG ((EFI_D_INFO, " Base = Padding;\tLength = 0x%lx;\tAlignment = 0x%lx", Resource->Length, Resource->Alignment)); + } + if (BridgeResource->ResType != Resource->ResType) { + DEBUG ((EFI_D_INFO, "; Type = %s", mBarTypeStr[MIN (Resource->ResType, PciBarTypeMaxType)])); + } + DEBUG ((EFI_D_INFO, "\n")); + } + } +} + +/** + Find the corresponding resource node for the Device in child list of BridgeResource. + + @param[in] Device Pointer to PCI_IO_DEVICE. + @param[in] BridgeResource Pointer to PCI_RESOURCE_NODE. + @param[out] DeviceResources Pointer to a buffer to receive resources for the Device. + + @return Count of the resource descriptors returned. +**/ +UINTN +FindResourceNode ( + IN PCI_IO_DEVICE *Device, + IN PCI_RESOURCE_NODE *BridgeResource, + OUT PCI_RESOURCE_NODE **DeviceResources OPTIONAL + ) +{ + LIST_ENTRY *Link; + PCI_RESOURCE_NODE *Resource; + UINTN Count; + + Count = 0; + for ( Link = BridgeResource->ChildList.ForwardLink + ; Link != &BridgeResource->ChildList + ; Link = Link->ForwardLink + ) { + Resource = RESOURCE_NODE_FROM_LINK (Link); + if (Resource->PciDev == Device) { + if (DeviceResources != NULL) { + DeviceResources[Count] = Resource; + } + Count++; + } + } + + return Count; +} + +/** + Dump the resource map of all the devices under Bridge. + + @param[in] Bridge Bridge device instance. + @param[in] Resources Resource descriptors for the bridge device. + @param[in] ResourceCount Count of resource descriptors. +**/ +VOID +DumpResourceMap ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE **Resources, + IN UINTN ResourceCount + ) +{ + EFI_STATUS Status; + LIST_ENTRY *Link; + PCI_IO_DEVICE *Device; + UINTN Index; + CHAR16 *Str; + PCI_RESOURCE_NODE **ChildResources; + UINTN ChildResourceCount; + + DEBUG ((EFI_D_INFO, "PciBus: Resource Map for ")); + + Status = gBS->OpenProtocol ( + Bridge->Handle, + &gEfiPciRootBridgeIoProtocolGuid, + NULL, + NULL, + NULL, + EFI_OPEN_PROTOCOL_TEST_PROTOCOL + ); + if (EFI_ERROR (Status)) { + DEBUG (( + EFI_D_INFO, "Bridge [%02x|%02x|%02x]\n", + Bridge->BusNumber, Bridge->DeviceNumber, Bridge->FunctionNumber + )); + } else { + Str = ConvertDevicePathToText ( + DevicePathFromHandle (Bridge->Handle), + FALSE, + FALSE + ); + DEBUG ((EFI_D_INFO, "Root Bridge %s\n", Str != NULL ? Str : L"")); + if (Str != NULL) { + FreePool (Str); + } + } + + for (Index = 0; Index < ResourceCount; Index++) { + DumpBridgeResource (Resources[Index]); + } + DEBUG ((EFI_D_INFO, "\n")); + + for ( Link = Bridge->ChildList.ForwardLink + ; Link != &Bridge->ChildList + ; Link = Link->ForwardLink + ) { + Device = PCI_IO_DEVICE_FROM_LINK (Link); + if (IS_PCI_BRIDGE (&Device->Pci)) { + + ChildResourceCount = 0; + for (Index = 0; Index < ResourceCount; Index++) { + ChildResourceCount += FindResourceNode (Device, Resources[Index], NULL); + } + ChildResources = AllocatePool (sizeof (PCI_RESOURCE_NODE *) * ChildResourceCount); + ASSERT (ChildResources != NULL); + ChildResourceCount = 0; + for (Index = 0; Index < ResourceCount; Index++) { + ChildResourceCount += FindResourceNode (Device, Resources[Index], &ChildResources[ChildResourceCount]); + } + + DumpResourceMap (Device, ChildResources, ChildResourceCount); + FreePool (ChildResources); + } + } +} + +/** + Adjust the Devices' BAR size to minimum value if it support Resizeable BAR capability. + + @param RootBridgeDev Pointer to instance of PCI_IO_DEVICE.. + + @return TRUE if BAR size is adjusted. + +**/ +BOOLEAN +AdjustPciDeviceBarSize ( + IN PCI_IO_DEVICE *RootBridgeDev + ) +{ + PCI_IO_DEVICE *PciIoDevice; + LIST_ENTRY *CurrentLink; + BOOLEAN Adjusted; + UINTN Offset; + UINTN BarIndex; + + Adjusted = FALSE; + CurrentLink = RootBridgeDev->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &RootBridgeDev->ChildList) { + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + if (AdjustPciDeviceBarSize (PciIoDevice)) { + Adjusted = TRUE; + } + } else { + if (PciIoDevice->ResizableBarOffset != 0) { + DEBUG (( + DEBUG_ERROR, + "PciBus: [%02x|%02x|%02x] Adjust Pci Device Bar Size\n", + PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice->FunctionNumber + )); + PciProgramResizableBar (PciIoDevice, PciResizableBarMin); + // + // Start to parse the bars + // + for (Offset = 0x10, BarIndex = 0; Offset <= 0x24 && BarIndex < PCI_MAX_BAR; BarIndex++) { + Offset = PciParseBar (PciIoDevice, Offset, BarIndex); + } + Adjusted = TRUE; + DEBUG_CODE (DumpPciBars (PciIoDevice);); + } + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return Adjusted; +} + +/** + Submits the I/O and memory resource requirements for the specified PCI Host Bridge. + + @param PciResAlloc Point to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully finished resource allocation. + @retval EFI_NOT_FOUND Cannot get root bridge instance. + @retval EFI_OUT_OF_RESOURCES Platform failed to program the resources if no hot plug supported. + @retval other Some error occurred when allocating resources for the PCI Host Bridge. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciHostBridgeResourceAllocator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + PCI_IO_DEVICE *RootBridgeDev; + EFI_HANDLE RootBridgeHandle; + VOID *AcpiConfig; + EFI_STATUS Status; + UINT64 IoBase; + UINT64 Mem32Base; + UINT64 PMem32Base; + UINT64 Mem64Base; + UINT64 PMem64Base; + UINT64 IoResStatus; + UINT64 Mem32ResStatus; + UINT64 PMem32ResStatus; + UINT64 Mem64ResStatus; + UINT64 PMem64ResStatus; + UINT32 MaxOptionRomSize; + PCI_RESOURCE_NODE *IoBridge; + PCI_RESOURCE_NODE *Mem32Bridge; + PCI_RESOURCE_NODE *PMem32Bridge; + PCI_RESOURCE_NODE *Mem64Bridge; + PCI_RESOURCE_NODE *PMem64Bridge; + PCI_RESOURCE_NODE IoPool; + PCI_RESOURCE_NODE Mem32Pool; + PCI_RESOURCE_NODE PMem32Pool; + PCI_RESOURCE_NODE Mem64Pool; + PCI_RESOURCE_NODE PMem64Pool; + EFI_DEVICE_HANDLE_EXTENDED_DATA_PAYLOAD HandleExtendedData; + EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD AllocFailExtendedData; + BOOLEAN ResizableBarNeedAdjust; + BOOLEAN ResizableBarAdjusted; + + ResizableBarNeedAdjust = PcdGetBool (PcdPcieResizableBarSupport); + + // + // It may try several times if the resource allocation fails + // + while (TRUE) { + // + // Initialize resource pool + // + InitializeResourcePool (&IoPool, PciBarTypeIo16); + InitializeResourcePool (&Mem32Pool, PciBarTypeMem32); + InitializeResourcePool (&PMem32Pool, PciBarTypePMem32); + InitializeResourcePool (&Mem64Pool, PciBarTypeMem64); + InitializeResourcePool (&PMem64Pool, PciBarTypePMem64); + + RootBridgeDev = NULL; + RootBridgeHandle = 0; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + // + // Get Root Bridge Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Create the entire system resource map from the information collected by + // enumerator. Several resource tree was created + // + + // + // If non-standard PCI Bridge I/O window alignment is supported, + // set I/O aligment to minimum possible alignment for root bridge. + // + IoBridge = CreateResourceNode ( + RootBridgeDev, + 0, + FeaturePcdGet (PcdPciBridgeIoAlignmentProbe) ? 0x1FF: 0xFFF, + RB_IO_RANGE, + PciBarTypeIo16, + PciResUsageTypical + ); + + Mem32Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_MEM32_RANGE, + PciBarTypeMem32, + PciResUsageTypical + ); + + PMem32Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_PMEM32_RANGE, + PciBarTypePMem32, + PciResUsageTypical + ); + + Mem64Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_MEM64_RANGE, + PciBarTypeMem64, + PciResUsageTypical + ); + + PMem64Bridge = CreateResourceNode ( + RootBridgeDev, + 0, + 0xFFFFF, + RB_PMEM64_RANGE, + PciBarTypePMem64, + PciResUsageTypical + ); + + // + // Get the max ROM size that the root bridge can process + // Insert to resource map so that there will be dedicate MEM32 resource range for Option ROM. + // All devices' Option ROM share the same MEM32 resource. + // + MaxOptionRomSize = GetMaxOptionRomSize (RootBridgeDev); + if (MaxOptionRomSize != 0) { + RootBridgeDev->PciBar[0].BarType = PciBarTypeOpRom; + RootBridgeDev->PciBar[0].Length = MaxOptionRomSize; + RootBridgeDev->PciBar[0].Alignment = MaxOptionRomSize - 1; + GetResourceFromDevice (RootBridgeDev, IoBridge, Mem32Bridge, PMem32Bridge, Mem64Bridge, PMem64Bridge); + } + + // + // Create resourcemap by going through all the devices subject to this root bridge + // + CreateResourceMap ( + RootBridgeDev, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge + ); + + // + // Based on the all the resource tree, construct ACPI resource node to + // submit the resource aperture to pci host bridge protocol + // + Status = ConstructAcpiResourceRequestor ( + RootBridgeDev, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge, + &AcpiConfig + ); + + // + // Insert these resource nodes into the database + // + InsertResourceNode (&IoPool, IoBridge); + InsertResourceNode (&Mem32Pool, Mem32Bridge); + InsertResourceNode (&PMem32Pool, PMem32Bridge); + InsertResourceNode (&Mem64Pool, Mem64Bridge); + InsertResourceNode (&PMem64Pool, PMem64Bridge); + + if (Status == EFI_SUCCESS) { + // + // Submit the resource requirement + // + Status = PciResAlloc->SubmitResources ( + PciResAlloc, + RootBridgeDev->Handle, + AcpiConfig + ); + // + // If SubmitResources returns error, PciBus isn't able to start. + // It's a fatal error so assertion is added. + // + DEBUG ((EFI_D_INFO, "PciBus: HostBridge->SubmitResources() - %r\n", Status)); + ASSERT_EFI_ERROR (Status); + } + + // + // Free acpi resource node + // + if (AcpiConfig != NULL) { + FreePool (AcpiConfig); + } + + if (EFI_ERROR (Status)) { + // + // Destroy all the resource tree + // + DestroyResourceTree (&IoPool); + DestroyResourceTree (&Mem32Pool); + DestroyResourceTree (&PMem32Pool); + DestroyResourceTree (&Mem64Pool); + DestroyResourceTree (&PMem64Pool); + return Status; + } + } + // + // End while, at least one Root Bridge should be found. + // + ASSERT (RootBridgeDev != NULL); + + // + // Notify platform to start to program the resource + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeAllocateResources); + DEBUG ((EFI_D_INFO, "PciBus: HostBridge->NotifyPhase(AllocateResources) - %r\n", Status)); + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // If Hot Plug is not supported + // + if (EFI_ERROR (Status)) { + // + // Allocation failed, then return + // + return EFI_OUT_OF_RESOURCES; + } + // + // Allocation succeed. + // Get host bridge handle for status report, and then skip the main while + // + HandleExtendedData.Handle = RootBridgeDev->PciRootBridgeIo->ParentHandle; + + break; + + } else { + // + // If Hot Plug is supported + // + if (!EFI_ERROR (Status)) { + // + // Allocation succeed, then continue the following + // + break; + } + + // + // If the resource allocation is unsuccessful, free resources on bridge + // + + RootBridgeDev = NULL; + RootBridgeHandle = 0; + + IoResStatus = EFI_RESOURCE_SATISFIED; + Mem32ResStatus = EFI_RESOURCE_SATISFIED; + PMem32ResStatus = EFI_RESOURCE_SATISFIED; + Mem64ResStatus = EFI_RESOURCE_SATISFIED; + PMem64ResStatus = EFI_RESOURCE_SATISFIED; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Get host bridge handle for status report + // + HandleExtendedData.Handle = RootBridgeDev->PciRootBridgeIo->ParentHandle; + + // + // Get acpi resource node for all the resource types + // + AcpiConfig = NULL; + + Status = PciResAlloc->GetProposedResources ( + PciResAlloc, + RootBridgeDev->Handle, + &AcpiConfig + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + if (AcpiConfig != NULL) { + // + // Adjust resource allocation policy for each RB + // + GetResourceAllocationStatus ( + AcpiConfig, + &IoResStatus, + &Mem32ResStatus, + &PMem32ResStatus, + &Mem64ResStatus, + &PMem64ResStatus + ); + FreePool (AcpiConfig); + } + } + // + // End while + // + + // + // Raise the EFI_IOB_EC_RESOURCE_CONFLICT status code + // + // + // It is very difficult to follow the spec here + // Device path , Bar index can not be get here + // + ZeroMem (&AllocFailExtendedData, sizeof (AllocFailExtendedData)); + + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_EC_RESOURCE_CONFLICT, + (VOID *) &AllocFailExtendedData, + sizeof (AllocFailExtendedData) + ); + + // + // When resource conflict happens, adjust the BAR size first. + // Only when adjusting BAR size doesn't help or BAR size cannot be adjusted, + // reject the device who requests largest resource that causes conflict. + // + ResizableBarAdjusted = FALSE; + if (ResizableBarNeedAdjust) { + ResizableBarAdjusted = AdjustPciDeviceBarSize (RootBridgeDev); + ResizableBarNeedAdjust = FALSE; + } + if (!ResizableBarAdjusted) { + Status = PciHostBridgeAdjustAllocation ( + &IoPool, + &Mem32Pool, + &PMem32Pool, + &Mem64Pool, + &PMem64Pool, + IoResStatus, + Mem32ResStatus, + PMem32ResStatus, + Mem64ResStatus, + PMem64ResStatus + ); + } + // + // Destroy all the resource tree + // + DestroyResourceTree (&IoPool); + DestroyResourceTree (&Mem32Pool); + DestroyResourceTree (&PMem32Pool); + DestroyResourceTree (&Mem64Pool); + DestroyResourceTree (&PMem64Pool); + + NotifyPhase (PciResAlloc, EfiPciHostBridgeFreeResources); + + if (EFI_ERROR (Status)) { + return Status; + } + } + } + // + // End main while + // + + // + // Raise the EFI_IOB_PCI_RES_ALLOC status code + // + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_PCI_RES_ALLOC, + (VOID *) &HandleExtendedData, + sizeof (HandleExtendedData) + ); + + // + // Notify pci bus driver starts to program the resource + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeSetResources); + + if (EFI_ERROR (Status)) { + return Status; + } + + RootBridgeDev = NULL; + + RootBridgeHandle = 0; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + // + // Get acpi resource node for all the resource types + // + AcpiConfig = NULL; + Status = PciResAlloc->GetProposedResources ( + PciResAlloc, + RootBridgeDev->Handle, + &AcpiConfig + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Get the resource base by interpreting acpi resource node + // + // + GetResourceBase ( + AcpiConfig, + &IoBase, + &Mem32Base, + &PMem32Base, + &Mem64Base, + &PMem64Base + ); + + // + // Create the entire system resource map from the information collected by + // enumerator. Several resource tree was created + // + FindResourceNode (RootBridgeDev, &IoPool, &IoBridge); + FindResourceNode (RootBridgeDev, &Mem32Pool, &Mem32Bridge); + FindResourceNode (RootBridgeDev, &PMem32Pool, &PMem32Bridge); + FindResourceNode (RootBridgeDev, &Mem64Pool, &Mem64Bridge); + FindResourceNode (RootBridgeDev, &PMem64Pool, &PMem64Bridge); + + ASSERT (IoBridge != NULL); + ASSERT (Mem32Bridge != NULL); + ASSERT (PMem32Bridge != NULL); + ASSERT (Mem64Bridge != NULL); + ASSERT (PMem64Bridge != NULL); + + // + // Program IO resources + // + ProgramResource ( + IoBase, + IoBridge + ); + + // + // Program Mem32 resources + // + ProgramResource ( + Mem32Base, + Mem32Bridge + ); + + // + // Program PMem32 resources + // + ProgramResource ( + PMem32Base, + PMem32Bridge + ); + + // + // Program Mem64 resources + // + ProgramResource ( + Mem64Base, + Mem64Bridge + ); + + // + // Program PMem64 resources + // + ProgramResource ( + PMem64Base, + PMem64Bridge + ); + + // + // Process Option ROM for this root bridge after all BARs are programmed. + // The PPB's MEM32 RANGE BAR is re-programmed to the Option ROM BAR Base in order to + // shadow the Option ROM of the devices under the PPB. + // After the shadow, Option ROM BAR decoding is turned off and the PPB's MEM32 RANGE + // BAR is restored back to the original value. + // The original value is programmed by ProgramResource() above. + // + DEBUG (( + DEBUG_INFO, "Process Option ROM: BAR Base/Length = %lx/%lx\n", + RootBridgeDev->PciBar[0].BaseAddress, RootBridgeDev->PciBar[0].Length + )); + ProcessOptionRom (RootBridgeDev, RootBridgeDev->PciBar[0].BaseAddress, RootBridgeDev->PciBar[0].Length); + + IoBridge ->PciDev->PciBar[IoBridge ->Bar].BaseAddress = IoBase; + Mem32Bridge ->PciDev->PciBar[Mem32Bridge ->Bar].BaseAddress = Mem32Base; + PMem32Bridge->PciDev->PciBar[PMem32Bridge->Bar].BaseAddress = PMem32Base; + Mem64Bridge ->PciDev->PciBar[Mem64Bridge ->Bar].BaseAddress = Mem64Base; + PMem64Bridge->PciDev->PciBar[PMem64Bridge->Bar].BaseAddress = PMem64Base; + + // + // Dump the resource map for current root bridge + // + DEBUG_CODE ( + PCI_RESOURCE_NODE *Resources[5]; + Resources[0] = IoBridge; + Resources[1] = Mem32Bridge; + Resources[2] = PMem32Bridge; + Resources[3] = Mem64Bridge; + Resources[4] = PMem64Bridge; + DumpResourceMap (RootBridgeDev, Resources, ARRAY_SIZE (Resources)); + ); + + FreePool (AcpiConfig); + } + + // + // Destroy all the resource tree + // + DestroyResourceTree (&IoPool); + DestroyResourceTree (&Mem32Pool); + DestroyResourceTree (&PMem32Pool); + DestroyResourceTree (&Mem64Pool); + DestroyResourceTree (&PMem64Pool); + + // + // Notify the resource allocation phase is to end + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeEndResourceAllocation); + + return Status; +} + +/** + Allocate NumberOfBuses buses and return the next available PCI bus number. + + @param Bridge Bridge device instance. + @param StartBusNumber Current available PCI bus number. + @param NumberOfBuses Number of buses enumerated below the StartBusNumber. + @param NextBusNumber Next available PCI bus number. + + @retval EFI_SUCCESS Available bus number resource is enough. Next available PCI bus number + is returned in NextBusNumber. + @retval EFI_OUT_OF_RESOURCES Available bus number resource is not enough for allocation. + +**/ +EFI_STATUS +PciAllocateBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + IN UINT8 NumberOfBuses, + OUT UINT8 *NextBusNumber + ) +{ + PCI_IO_DEVICE *RootBridge; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; + UINT8 NextNumber; + UINT64 MaxNumberInRange; + + // + // Get PCI Root Bridge device + // + RootBridge = Bridge; + while (RootBridge->Parent != NULL) { + RootBridge = RootBridge->Parent; + } + + // + // Get next available PCI bus number + // + BusNumberRanges = RootBridge->BusNumberRanges; + while (BusNumberRanges->Desc != ACPI_END_TAG_DESCRIPTOR) { + MaxNumberInRange = BusNumberRanges->AddrRangeMin + BusNumberRanges->AddrLen - 1; + if (StartBusNumber >= BusNumberRanges->AddrRangeMin && StartBusNumber <= MaxNumberInRange) { + NextNumber = (UINT8)(StartBusNumber + NumberOfBuses); + while (NextNumber > MaxNumberInRange) { + ++BusNumberRanges; + if (BusNumberRanges->Desc == ACPI_END_TAG_DESCRIPTOR) { + return EFI_OUT_OF_RESOURCES; + } + NextNumber = (UINT8)(NextNumber + (BusNumberRanges->AddrRangeMin - (MaxNumberInRange + 1))); + MaxNumberInRange = BusNumberRanges->AddrRangeMin + BusNumberRanges->AddrLen - 1; + } + *NextBusNumber = NextNumber; + return EFI_SUCCESS; + } + BusNumberRanges++; + } + return EFI_OUT_OF_RESOURCES; +} + +/** + Scan pci bus and assign bus number to the given PCI bus system. + + @param Bridge Bridge device instance. + @param StartBusNumber start point. + @param SubBusNumber Point to sub bus number. + @param PaddedBusRange Customized bus number. + + @retval EFI_SUCCESS Successfully scanned and assigned bus number. + @retval other Some error occurred when scanning pci bus. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciScanBus ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber, + OUT UINT8 *PaddedBusRange + ) +{ + EFI_STATUS Status; + PCI_TYPE00 Pci; + UINT8 Device; + UINT8 Func; + UINT64 Address; + UINT8 SecondBus; + UINT8 PaddedSubBus; + UINT16 Register; + UINTN HpIndex; + PCI_IO_DEVICE *PciDevice; + EFI_EVENT Event; + EFI_HPC_STATE State; + UINT64 PciAddress; + EFI_HPC_PADDING_ATTRIBUTES Attributes; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *NextDescriptors; + UINT16 BusRange; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + BOOLEAN BusPadding; + UINT32 TempReservedBusNum; + + PciRootBridgeIo = Bridge->PciRootBridgeIo; + SecondBus = 0; + Register = 0; + State = 0; + Attributes = (EFI_HPC_PADDING_ATTRIBUTES) 0; + BusRange = 0; + BusPadding = FALSE; + PciDevice = NULL; + PciAddress = 0; + + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { + TempReservedBusNum = 0; + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { + + // + // Check to see whether a pci device is present + // + Status = PciDevicePresent ( + PciRootBridgeIo, + &Pci, + StartBusNumber, + Device, + Func + ); + + if (EFI_ERROR (Status) && Func == 0) { + // + // go to next device if there is no Function 0 + // + break; + } + + if (EFI_ERROR (Status)) { + continue; + } + + // + // Get the PCI device information + // + Status = PciSearchDevice ( + Bridge, + &Pci, + StartBusNumber, + Device, + Func, + &PciDevice + ); + + if (EFI_ERROR (Status)) { + continue; + } + + PciAddress = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0); + + if (!IS_PCI_BRIDGE (&Pci)) { + // + // PCI bridges will be called later + // Here just need for PCI device or PCI to cardbus controller + // EfiPciBeforeChildBusEnumeration for PCI Device Node + // + PreprocessController ( + PciDevice, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + EfiPciBeforeChildBusEnumeration + ); + } + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // For Pci Hotplug controller devcie only + // + if (gPciHotPlugInit != NULL) { + // + // Check if it is a Hotplug PCI controller + // + if (IsRootPciHotPlugController (PciDevice->DevicePath, &HpIndex)) { + gPciRootHpcData[HpIndex].Found = TRUE; + + if (!gPciRootHpcData[HpIndex].Initialized) { + + Status = CreateEventForHpc (HpIndex, &Event); + + ASSERT (!EFI_ERROR (Status)); + + Status = gPciHotPlugInit->InitializeRootHpc ( + gPciHotPlugInit, + gPciRootHpcPool[HpIndex].HpcDevicePath, + PciAddress, + Event, + &State + ); + + PreprocessController ( + PciDevice, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + EfiPciBeforeChildBusEnumeration + ); + } + } + } + } + + if (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci)) { + // + // For PPB + // + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // If Hot Plug is supported, + // Get the bridge information + // + BusPadding = FALSE; + if (gPciHotPlugInit != NULL) { + + if (IsPciHotPlugBus (PciDevice)) { + + // + // If it is initialized, get the padded bus range + // + Status = gPciHotPlugInit->GetResourcePadding ( + gPciHotPlugInit, + PciDevice->DevicePath, + PciAddress, + &State, + (VOID **) &Descriptors, + &Attributes + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + BusRange = 0; + NextDescriptors = Descriptors; + Status = PciGetBusRange ( + &NextDescriptors, + NULL, + NULL, + &BusRange + ); + + FreePool (Descriptors); + + if (!EFI_ERROR (Status)) { + BusPadding = TRUE; + } else if (Status != EFI_NOT_FOUND) { + // + // EFI_NOT_FOUND is not a real error. It indicates no bus number padding requested. + // + return Status; + } + } + } + } + + Status = PciAllocateBusNumber (Bridge, *SubBusNumber, 1, SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + SecondBus = *SubBusNumber; + + Register = (UINT16) ((SecondBus << 8) | (UINT16) StartBusNumber); + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, PCI_BRIDGE_PRIMARY_BUS_REGISTER_OFFSET); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint16, + Address, + 1, + &Register + ); + + + // + // If it is PPB, resursively search down this bridge + // + if (IS_PCI_BRIDGE (&Pci)) { + + // + // Temporarily initialize SubBusNumber to maximum bus number to ensure the + // PCI configuration transaction to go through any PPB + // + Register = PciGetMaxBusNumber (Bridge); + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET); + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + &Register + ); + + // + // Nofify EfiPciBeforeChildBusEnumeration for PCI Brige + // + PreprocessController ( + PciDevice, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + EfiPciBeforeChildBusEnumeration + ); + + Status = PciScanBus ( + PciDevice, + SecondBus, + SubBusNumber, + PaddedBusRange + ); + if (EFI_ERROR (Status)) { + return Status; + } + } + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport) && BusPadding) { + // + // Ensure the device is enabled and initialized + // + if ((Attributes == EfiPaddingPciRootBridge) && + (State & EFI_HPC_STATE_ENABLED) != 0 && + (State & EFI_HPC_STATE_INITIALIZED) != 0) { + *PaddedBusRange = (UINT8) ((UINT8) (BusRange) + *PaddedBusRange); + } else { + // + // Reserve the larger one between the actual occupied bus number and padded bus number + // + Status = PciAllocateBusNumber (PciDevice, SecondBus, (UINT8) (BusRange), &PaddedSubBus); + if (EFI_ERROR (Status)) { + return Status; + } + *SubBusNumber = MAX (PaddedSubBus, *SubBusNumber); + } + } + + // + // Set the current maximum bus number under the PPB + // + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint8, + Address, + 1, + SubBusNumber + ); + } else { + // + // It is device. Check PCI IOV for Bus reservation + // Go through each function, just reserve the MAX ReservedBusNum for one device + // + if (PcdGetBool (PcdSrIovSupport) && PciDevice->SrIovCapabilityOffset != 0) { + if (TempReservedBusNum < PciDevice->ReservedBusNum) { + + Status = PciAllocateBusNumber (PciDevice, *SubBusNumber, (UINT8) (PciDevice->ReservedBusNum - TempReservedBusNum), SubBusNumber); + if (EFI_ERROR (Status)) { + return Status; + } + TempReservedBusNum = PciDevice->ReservedBusNum; + + if (Func == 0) { + DEBUG ((EFI_D_INFO, "PCI-IOV ScanBus - SubBusNumber - 0x%x\n", *SubBusNumber)); + } else { + DEBUG ((EFI_D_INFO, "PCI-IOV ScanBus - SubBusNumber - 0x%x (Update)\n", *SubBusNumber)); + } + } + } + } + + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { + + // + // Skip sub functions, this is not a multi function device + // + + Func = PCI_MAX_FUNC; + } + } + } + + return EFI_SUCCESS; +} + +/** + Process Option Rom on the specified root bridge. + + @param Bridge Pci root bridge device instance. + + @retval EFI_SUCCESS Success process. + @retval other Some error occurred when processing Option Rom on the root bridge. + +**/ +EFI_STATUS +PciRootBridgeP2CProcess ( + IN PCI_IO_DEVICE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_IO_DEVICE *Temp; + EFI_HPC_STATE State; + UINT64 PciAddress; + EFI_STATUS Status; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + if (IS_CARDBUS_BRIDGE (&Temp->Pci)) { + + if (gPciHotPlugInit != NULL && Temp->Allocated && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + + // + // Raise the EFI_IOB_PCI_HPC_INIT status code + // + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( + EFI_PROGRESS_CODE, + EFI_IO_BUS_PCI | EFI_IOB_PCI_HPC_INIT, + Temp->DevicePath + ); + + PciAddress = EFI_PCI_ADDRESS (Temp->BusNumber, Temp->DeviceNumber, Temp->FunctionNumber, 0); + Status = gPciHotPlugInit->InitializeRootHpc ( + gPciHotPlugInit, + Temp->DevicePath, + PciAddress, + NULL, + &State + ); + + if (!EFI_ERROR (Status)) { + Status = PciBridgeEnumerator (Temp); + + if (EFI_ERROR (Status)) { + return Status; + } + } + + CurrentLink = CurrentLink->ForwardLink; + continue; + + } + } + + if (!IsListEmpty (&Temp->ChildList)) { + Status = PciRootBridgeP2CProcess (Temp); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_SUCCESS; +} + +/** + Process Option Rom on the specified host bridge. + + @param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Success process. + @retval EFI_NOT_FOUND Can not find the root bridge instance. + @retval other Some error occurred when processing Option Rom on the host bridge. + +**/ +EFI_STATUS +PciHostBridgeP2CProcess ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + EFI_HANDLE RootBridgeHandle; + PCI_IO_DEVICE *RootBridgeDev; + EFI_STATUS Status; + + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + return EFI_SUCCESS; + } + + RootBridgeHandle = NULL; + + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // Get RootBridg Device by handle + // + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_NOT_FOUND; + } + + Status = PciRootBridgeP2CProcess (RootBridgeDev); + if (EFI_ERROR (Status)) { + return Status; + } + + } + + return EFI_SUCCESS; +} + +/** + This function is used to enumerate the entire host bridge + in a given platform. + + @param PciResAlloc A pointer to the PCI Host Resource Allocation protocol. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval EFI_OUT_OF_RESOURCES No enough memory available. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciHostBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ) +{ + EFI_HANDLE RootBridgeHandle; + PCI_IO_DEVICE *RootBridgeDev; + EFI_STATUS Status; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + UINT16 MinBus; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; + UINT8 StartBusNumber; + LIST_ENTRY RootBridgeList; + LIST_ENTRY *Link; + + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + InitializeHotPlugSupport (); + } + + InitializeListHead (&RootBridgeList); + + // + // Notify the bus allocation phase is about to start + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginBusAllocation); + + if (EFI_ERROR (Status)) { + return Status; + } + + DEBUG((EFI_D_INFO, "PCI Bus First Scanning\n")); + RootBridgeHandle = NULL; + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // if a root bridge instance is found, create root bridge device for it + // + + RootBridgeDev = CreateRootBridge (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Enumerate all the buses under this root bridge + // + Status = PciRootBridgeEnumerator ( + PciResAlloc, + RootBridgeDev + ); + + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + InsertTailList (&RootBridgeList, &(RootBridgeDev->Link)); + } else { + DestroyRootBridge (RootBridgeDev); + } + if (EFI_ERROR (Status)) { + return Status; + } + } + + // + // Notify the bus allocation phase is finished for the first time + // + NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); + + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + // + // Reset all assigned PCI bus number in all PPB + // + RootBridgeHandle = NULL; + Link = GetFirstNode (&RootBridgeList); + while ((PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) && + (!IsNull (&RootBridgeList, Link))) { + RootBridgeDev = PCI_IO_DEVICE_FROM_LINK (Link); + // + // Get the Bus information + // + Status = PciResAlloc->StartBusEnumeration ( + PciResAlloc, + RootBridgeHandle, + (VOID **) &Configuration + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Get the bus number to start with + // + StartBusNumber = (UINT8) (Configuration->AddrRangeMin); + + ResetAllPpbBusNumber ( + RootBridgeDev, + StartBusNumber + ); + + FreePool (Configuration); + Link = RemoveEntryList (Link); + DestroyRootBridge (RootBridgeDev); + } + + // + // Wait for all HPC initialized + // + Status = AllRootHPCInitialized (STALL_1_SECOND * 15); + + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "Some root HPC failed to initialize\n")); + return Status; + } + + // + // Notify the bus allocation phase is about to start for the 2nd time + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginBusAllocation); + + if (EFI_ERROR (Status)) { + return Status; + } + + DEBUG((EFI_D_INFO, "PCI Bus Second Scanning\n")); + RootBridgeHandle = NULL; + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // if a root bridge instance is found, create root bridge device for it + // + RootBridgeDev = CreateRootBridge (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + // + // Enumerate all the buses under this root bridge + // + Status = PciRootBridgeEnumerator ( + PciResAlloc, + RootBridgeDev + ); + + DestroyRootBridge (RootBridgeDev); + if (EFI_ERROR (Status)) { + return Status; + } + } + + // + // Notify the bus allocation phase is to end for the 2nd time + // + NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); + } + + // + // Notify the resource allocation phase is to start + // + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginResourceAllocation); + + if (EFI_ERROR (Status)) { + return Status; + } + + RootBridgeHandle = NULL; + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) == EFI_SUCCESS) { + + // + // if a root bridge instance is found, create root bridge device for it + // + RootBridgeDev = CreateRootBridge (RootBridgeHandle); + + if (RootBridgeDev == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + Status = StartManagingRootBridge (RootBridgeDev); + + if (EFI_ERROR (Status)) { + return Status; + } + + PciRootBridgeIo = RootBridgeDev->PciRootBridgeIo; + Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **) &Descriptors); + + if (EFI_ERROR (Status)) { + return Status; + } + + Status = PciGetBusRange (&Descriptors, &MinBus, NULL, NULL); + + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Determine root bridge attribute by calling interface of Pcihostbridge + // protocol + // + DetermineRootBridgeAttributes ( + PciResAlloc, + RootBridgeDev + ); + + // + // Collect all the resource information under this root bridge + // A database that records all the information about pci device subject to this + // root bridge will then be created + // + Status = PciPciDeviceInfoCollector ( + RootBridgeDev, + (UINT8) MinBus + ); + + if (EFI_ERROR (Status)) { + return Status; + } + + InsertRootBridge (RootBridgeDev); + + // + // Record the hostbridge handle + // + AddHostBridgeEnumerator (RootBridgeDev->PciRootBridgeIo->ParentHandle); + } + + return EFI_SUCCESS; +} + +/** + This function is used to program the Resizable BAR Register. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param ResizableBarOp PciResizableBarMax: Set BAR to max size + PciResizableBarMin: set BAR to min size. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciProgramResizableBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_RESIZABLE_BAR_OPERATION ResizableBarOp + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Capabilities; + UINT32 Index; + UINT32 Offset; + INTN Bit; + UINTN ResizableBarNumber; + EFI_STATUS Status; + PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY Entries[PCI_MAX_BAR]; + + ASSERT (PciIoDevice->ResizableBarOffset != 0); + + DEBUG ((DEBUG_INFO, " Programs Resizable BAR register, offset: 0x%08x, number: %d\n", + PciIoDevice->ResizableBarOffset, PciIoDevice->ResizableBarNumber)); + + ResizableBarNumber = MIN (PciIoDevice->ResizableBarNumber, PCI_MAX_BAR); + PciIo = &PciIoDevice->PciIo; + Status = PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint8, + PciIoDevice->ResizableBarOffset + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER), + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY) * ResizableBarNumber, + (VOID *)(&Entries) + ); + ASSERT_EFI_ERROR (Status); + + for (Index = 0; Index < ResizableBarNumber; Index++) { + + // + // When the bit of Capabilities Set, indicates that the Function supports + // operating with the BAR sized to (2^Bit) MB. + // Example: + // Bit 0 is set: supports operating with the BAR sized to 1 MB + // Bit 1 is set: supports operating with the BAR sized to 2 MB + // Bit n is set: supports operating with the BAR sized to (2^n) MB + // + Capabilities = LShiftU64(Entries[Index].ResizableBarControl.Bits.BarSizeCapability, 28) + | Entries[Index].ResizableBarCapability.Bits.BarSizeCapability; + + if (ResizableBarOp == PciResizableBarMax) { + Bit = HighBitSet64(Capabilities); + } else { + ASSERT (ResizableBarOp == PciResizableBarMin); + Bit = LowBitSet64(Capabilities); + } + + ASSERT (Bit >= 0); + + Offset = PciIoDevice->ResizableBarOffset + sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER) + + Index * sizeof (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY) + + OFFSET_OF (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY, ResizableBarControl); + + Entries[Index].ResizableBarControl.Bits.BarSize = (UINT32) Bit; + DEBUG (( + DEBUG_INFO, + " Resizable Bar: Offset = 0x%x, Bar Size Capability = 0x%016lx, New Bar Size = 0x%lx\n", + OFFSET_OF (PCI_TYPE00, Device.Bar[Entries[Index].ResizableBarControl.Bits.BarIndex]), + Capabilities, LShiftU64 (SIZE_1MB, Bit) + )); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + Offset, + 1, + &Entries[Index].ResizableBarControl.Uint32 + ); + } + + return EFI_SUCCESS; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h new file mode 100644 index 0000000000..70ab07a8c3 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h @@ -0,0 +1,179 @@ +/** @file + Internal library declaration for PCI Bus module. + +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_LIB_H_ +#define _EFI_PCI_LIB_H_ + + +typedef struct { + EFI_HANDLE Handle; +} EFI_DEVICE_HANDLE_EXTENDED_DATA_PAYLOAD; + +typedef struct { + UINT32 Bar; + UINT16 DevicePathSize; + UINT16 ReqResSize; + UINT16 AllocResSize; + UINT8 *DevicePath; + UINT8 *ReqRes; + UINT8 *AllocRes; +} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD; + +typedef enum { + PciResizableBarMin = 0x00, + PciResizableBarMax = 0xFF +} PCI_RESIZABLE_BAR_OPERATION; + +/** + Retrieve the PCI Card device BAR information via PciIo interface. + + @param PciIoDevice PCI Card device instance. + +**/ +VOID +GetBackPcCardBar ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Remove rejected pci device from specific root bridge + handle. + + @param RootBridgeHandle Specific parent root bridge handle. + @param Bridge Bridge device instance. + +**/ +VOID +RemoveRejectedPciDevices ( + IN EFI_HANDLE RootBridgeHandle, + IN PCI_IO_DEVICE *Bridge + ); + +/** + Submits the I/O and memory resource requirements for the specified PCI Host Bridge. + + @param PciResAlloc Point to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Successfully finished resource allocation. + @retval EFI_NOT_FOUND Cannot get root bridge instance. + @retval EFI_OUT_OF_RESOURCES Platform failed to program the resources if no hot plug supported. + @retval other Some error occurred when allocating resources for the PCI Host Bridge. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciHostBridgeResourceAllocator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + Allocate NumberOfBuses buses and return the next available PCI bus number. + + @param Bridge Bridge device instance. + @param StartBusNumber Current available PCI bus number. + @param NumberOfBuses Number of buses enumerated below the StartBusNumber. + @param NextBusNumber Next available PCI bus number. + + @retval EFI_SUCCESS Available bus number resource is enough. Next available PCI bus number + is returned in NextBusNumber. + @retval EFI_OUT_OF_RESOURCES Available bus number resource is not enough for allocation. + +**/ +EFI_STATUS +PciAllocateBusNumber ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + IN UINT8 NumberOfBuses, + OUT UINT8 *NextBusNumber + ); + +/** + Scan pci bus and assign bus number to the given PCI bus system. + + @param Bridge Bridge device instance. + @param StartBusNumber start point. + @param SubBusNumber Point to sub bus number. + @param PaddedBusRange Customized bus number. + + @retval EFI_SUCCESS Successfully scanned and assigned bus number. + @retval other Some error occurred when scanning pci bus. + + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug. + +**/ +EFI_STATUS +PciScanBus ( + IN PCI_IO_DEVICE *Bridge, + IN UINT8 StartBusNumber, + OUT UINT8 *SubBusNumber, + OUT UINT8 *PaddedBusRange + ); + +/** + Process Option Rom on the specified root bridge. + + @param Bridge Pci root bridge device instance. + + @retval EFI_SUCCESS Success process. + @retval other Some error occurred when processing Option Rom on the root bridge. + +**/ +EFI_STATUS +PciRootBridgeP2CProcess ( + IN PCI_IO_DEVICE *Bridge + ); + +/** + Process Option Rom on the specified host bridge. + + @param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + + @retval EFI_SUCCESS Success process. + @retval EFI_NOT_FOUND Can not find the root bridge instance. + @retval other Some error occurred when processing Option Rom on the host bridge. + +**/ +EFI_STATUS +PciHostBridgeP2CProcess ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + This function is used to enumerate the entire host bridge + in a given platform. + + @param PciResAlloc A pointer to the PCI Host Resource Allocation protocol. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval EFI_OUT_OF_RESOURCES No enough memory available. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciHostBridgeEnumerator ( + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc + ); + +/** + This function is used to program the Resizable BAR Register. + + @param PciIoDevice A pointer to the PCI_IO_DEVICE. + @param ResizableBarOp PciResizableBarMax: Set BAR to max size + PciResizableBarMin: set BAR to min size. + + @retval EFI_SUCCESS Successfully enumerated the host bridge. + @retval other Some error occurred when enumerating the host bridge. + +**/ +EFI_STATUS +PciProgramResizableBar ( + IN PCI_IO_DEVICE *PciIoDevice, + IN PCI_RESIZABLE_BAR_OPERATION ResizableBarOp + ); +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c new file mode 100644 index 0000000000..efdfa2d415 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c @@ -0,0 +1,776 @@ +/** @file + PCI Rom supporting funtions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2021, American Megatrends International LLC.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + Load the EFI Image from Option ROM + + @param PciIoDevice PCI IO device instance. + @param FilePath The file path of the EFI Image + @param BufferSize On input the size of Buffer in bytes. On output with a return + code of EFI_SUCCESS, the amount of data transferred to Buffer. + On output with a return code of EFI_BUFFER_TOO_SMALL, + the size of Buffer required to retrieve the requested file. + @param Buffer The memory buffer to transfer the file to. If Buffer is NULL, + then no the size of the requested file is returned in BufferSize. + + @retval EFI_SUCCESS The file was loaded. + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or + BufferSize is NULL. + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom image. + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current directory entry. + BufferSize has been updated with the size needed to complete the request. +**/ +EFI_STATUS +LocalLoadFile2 ( + IN PCI_IO_DEVICE *PciIoDevice, + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, + IN OUT UINTN *BufferSize, + IN VOID *Buffer OPTIONAL + ) +{ + EFI_STATUS Status; + MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *EfiOpRomImageNode; + EFI_PCI_EXPANSION_ROM_HEADER *EfiRomHeader; + PCI_DATA_STRUCTURE *Pcir; + UINT32 ImageSize; + UINT8 *ImageBuffer; + UINT32 ImageLength; + UINT32 DestinationSize; + UINT32 ScratchSize; + VOID *Scratch; + EFI_DECOMPRESS_PROTOCOL *Decompress; + UINT32 InitializationSize; + + EfiOpRomImageNode = (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *) FilePath; + if ((EfiOpRomImageNode == NULL) || + (DevicePathType (FilePath) != MEDIA_DEVICE_PATH) || + (DevicePathSubType (FilePath) != MEDIA_RELATIVE_OFFSET_RANGE_DP) || + (DevicePathNodeLength (FilePath) != sizeof (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH)) || + (!IsDevicePathEnd (NextDevicePathNode (FilePath))) || + (EfiOpRomImageNode->StartingOffset > EfiOpRomImageNode->EndingOffset) || + (EfiOpRomImageNode->EndingOffset >= PciIoDevice->RomSize) || + (BufferSize == NULL) + ) { + return EFI_INVALID_PARAMETER; + } + + EfiRomHeader = (EFI_PCI_EXPANSION_ROM_HEADER *) ( + (UINT8 *) PciIoDevice->PciIo.RomImage + EfiOpRomImageNode->StartingOffset + ); + if (EfiRomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + return EFI_NOT_FOUND; + } + + + Pcir = (PCI_DATA_STRUCTURE *) ((UINT8 *) EfiRomHeader + EfiRomHeader->PcirOffset); + ASSERT (Pcir->Signature == PCI_DATA_STRUCTURE_SIGNATURE); + + if ((Pcir->CodeType == PCI_CODE_TYPE_EFI_IMAGE) && + (EfiRomHeader->EfiSignature == EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE) && + ((EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) || + (EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER)) && + (EfiRomHeader->CompressionType <= EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) + ) { + + ImageSize = Pcir->ImageLength * 512; + InitializationSize = (UINT32) EfiRomHeader->InitializationSize * 512; + if (InitializationSize > ImageSize || EfiRomHeader->EfiImageHeaderOffset >= InitializationSize) { + return EFI_NOT_FOUND; + } + + ImageBuffer = (UINT8 *) EfiRomHeader + EfiRomHeader->EfiImageHeaderOffset; + ImageLength = InitializationSize - EfiRomHeader->EfiImageHeaderOffset; + + if (EfiRomHeader->CompressionType != EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) { + // + // Uncompressed: Copy the EFI Image directly to user's buffer + // + if (Buffer == NULL || *BufferSize < ImageLength) { + *BufferSize = ImageLength; + return EFI_BUFFER_TOO_SMALL; + } + + *BufferSize = ImageLength; + CopyMem (Buffer, ImageBuffer, ImageLength); + return EFI_SUCCESS; + + } else { + // + // Compressed: Uncompress before copying + // + Status = gBS->LocateProtocol (&gEfiDecompressProtocolGuid, NULL, (VOID **) &Decompress); + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + Status = Decompress->GetInfo ( + Decompress, + ImageBuffer, + ImageLength, + &DestinationSize, + &ScratchSize + ); + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + + if (Buffer == NULL || *BufferSize < DestinationSize) { + *BufferSize = DestinationSize; + return EFI_BUFFER_TOO_SMALL; + } + + *BufferSize = DestinationSize; + Scratch = AllocatePool (ScratchSize); + if (Scratch == NULL) { + return EFI_DEVICE_ERROR; + } + + Status = Decompress->Decompress ( + Decompress, + ImageBuffer, + ImageLength, + Buffer, + DestinationSize, + Scratch, + ScratchSize + ); + FreePool (Scratch); + + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + return EFI_SUCCESS; + } + } + + return EFI_NOT_FOUND; +} + +/** + Initialize a PCI LoadFile2 instance. + + @param PciIoDevice PCI IO Device. + +**/ +VOID +InitializePciLoadFile2 ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + PciIoDevice->LoadFile2.LoadFile = LoadFile2; +} + +/** + Causes the driver to load a specified file. + + @param This Indicates a pointer to the calling context. + @param FilePath The device specific path of the file to load. + @param BootPolicy Should always be FALSE. + @param BufferSize On input the size of Buffer in bytes. On output with a return + code of EFI_SUCCESS, the amount of data transferred to Buffer. + On output with a return code of EFI_BUFFER_TOO_SMALL, + the size of Buffer required to retrieve the requested file. + @param Buffer The memory buffer to transfer the file to. If Buffer is NULL, + then no the size of the requested file is returned in BufferSize. + + @retval EFI_SUCCESS The file was loaded. + @retval EFI_UNSUPPORTED BootPolicy is TRUE. + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or + BufferSize is NULL. + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom image. + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current directory entry. + BufferSize has been updated with the size needed to complete the request. + +**/ +EFI_STATUS +EFIAPI +LoadFile2 ( + IN EFI_LOAD_FILE2_PROTOCOL *This, + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, + IN BOOLEAN BootPolicy, + IN OUT UINTN *BufferSize, + IN VOID *Buffer OPTIONAL + ) +{ + PCI_IO_DEVICE *PciIoDevice; + + if (BootPolicy) { + return EFI_UNSUPPORTED; + } + PciIoDevice = PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS (This); + + return LocalLoadFile2 ( + PciIoDevice, + FilePath, + BufferSize, + Buffer + ); +} + +/** + Get Pci device's oprom information. + + @param PciIoDevice Input Pci device instance. + Output Pci device instance with updated OptionRom size. + + @retval EFI_NOT_FOUND Pci device has not Option Rom. + @retval EFI_SUCCESS Pci device has Option Rom. + +**/ +EFI_STATUS +GetOpRomInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ) +{ + UINT8 RomBarIndex; + UINT32 AllOnes; + UINT64 Address; + EFI_STATUS Status; + UINT8 Bus; + UINT8 Device; + UINT8 Function; + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + + Bus = PciIoDevice->BusNumber; + Device = PciIoDevice->DeviceNumber; + Function = PciIoDevice->FunctionNumber; + + PciRootBridgeIo = PciIoDevice->PciRootBridgeIo; + + // + // Offset is 0x30 if is not ppb + // + + // + // 0x30 + // + RomBarIndex = PCI_EXPANSION_ROM_BASE; + + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { + // + // If is ppb, 0x38 + // + RomBarIndex = PCI_BRIDGE_ROMBAR; + } + // + // The bit0 is 0 to prevent the enabling of the Rom address decoder + // + AllOnes = 0xfffffffe; + Address = EFI_PCI_ADDRESS (Bus, Device, Function, RomBarIndex); + + Status = PciRootBridgeIo->Pci.Write ( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &AllOnes + ); + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + // + // Read back + // + Status = PciRootBridgeIo->Pci.Read( + PciRootBridgeIo, + EfiPciWidthUint32, + Address, + 1, + &AllOnes + ); + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + // + // Bits [1, 10] are reserved + // + AllOnes &= 0xFFFFF800; + if ((AllOnes == 0) || (AllOnes == 0xFFFFF800)) { + return EFI_NOT_FOUND; + } + + PciIoDevice->RomSize = (~AllOnes) + 1; + return EFI_SUCCESS; +} + +/** + Check if the RomImage contains EFI Images. + + @param RomImage The ROM address of Image for check. + @param RomSize Size of ROM for check. + + @retval TRUE ROM contain EFI Image. + @retval FALSE ROM not contain EFI Image. + +**/ +BOOLEAN +ContainEfiImage ( + IN VOID *RomImage, + IN UINT64 RomSize + ) +{ + PCI_EXPANSION_ROM_HEADER *RomHeader; + PCI_DATA_STRUCTURE *RomPcir; + UINT8 Indicator; + + Indicator = 0; + RomHeader = RomImage; + if (RomHeader == NULL) { + return FALSE; + } + + do { + if (RomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + RomHeader = (PCI_EXPANSION_ROM_HEADER *) ((UINT8 *) RomHeader + 512); + continue; + } + + // + // The PCI Data Structure must be DWORD aligned. + // + if (RomHeader->PcirOffset == 0 || + (RomHeader->PcirOffset & 3) != 0 || + (UINT8 *) RomHeader + RomHeader->PcirOffset + sizeof (PCI_DATA_STRUCTURE) > (UINT8 *) RomImage + RomSize) { + break; + } + + RomPcir = (PCI_DATA_STRUCTURE *) ((UINT8 *) RomHeader + RomHeader->PcirOffset); + if (RomPcir->Signature != PCI_DATA_STRUCTURE_SIGNATURE) { + break; + } + + if (RomPcir->CodeType == PCI_CODE_TYPE_EFI_IMAGE) { + return TRUE; + } + + Indicator = RomPcir->Indicator; + RomHeader = (PCI_EXPANSION_ROM_HEADER *) ((UINT8 *) RomHeader + RomPcir->ImageLength * 512); + } while (((UINT8 *) RomHeader < (UINT8 *) RomImage + RomSize) && ((Indicator & 0x80) == 0x00)); + + return FALSE; +} + +/** + Load Option Rom image for specified PCI device. + + @param PciDevice Pci device instance. + @param RomBase Base address of Option Rom. + + @retval EFI_OUT_OF_RESOURCES No enough memory to hold image. + @retval EFI_SUCESS Successfully loaded Option Rom. + +**/ +EFI_STATUS +LoadOpRomImage ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT64 RomBase + ) +{ + UINT8 RomBarIndex; + UINT8 Indicator; + UINT16 OffsetPcir; + UINT32 RomBarOffset; + UINT32 RomBar; + EFI_STATUS RetStatus; + BOOLEAN FirstCheck; + UINT8 *Image; + PCI_EXPANSION_ROM_HEADER *RomHeader; + PCI_DATA_STRUCTURE *RomPcir; + UINT64 RomSize; + UINT64 RomImageSize; + UINT32 LegacyImageLength; + UINT8 *RomInMemory; + UINT8 CodeType; + + RomSize = PciDevice->RomSize; + + Indicator = 0; + RomImageSize = 0; + RomInMemory = NULL; + CodeType = 0xFF; + + // + // Get the RomBarIndex + // + + // + // 0x30 + // + RomBarIndex = PCI_EXPANSION_ROM_BASE; + if (IS_PCI_BRIDGE (&(PciDevice->Pci))) { + // + // if is ppb + // + + // + // 0x38 + // + RomBarIndex = PCI_BRIDGE_ROMBAR; + } + // + // Allocate memory for Rom header and PCIR + // + RomHeader = AllocatePool (sizeof (PCI_EXPANSION_ROM_HEADER)); + if (RomHeader == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + RomPcir = AllocatePool (sizeof (PCI_DATA_STRUCTURE)); + if (RomPcir == NULL) { + FreePool (RomHeader); + return EFI_OUT_OF_RESOURCES; + } + + RomBar = (UINT32) RomBase; + + // + // Enable RomBar + // + RomDecode (PciDevice, RomBarIndex, RomBar, TRUE); + + RomBarOffset = RomBar; + RetStatus = EFI_NOT_FOUND; + FirstCheck = TRUE; + LegacyImageLength = 0; + + do { + PciDevice->PciRootBridgeIo->Mem.Read ( + PciDevice->PciRootBridgeIo, + EfiPciWidthUint8, + RomBarOffset, + sizeof (PCI_EXPANSION_ROM_HEADER), + (UINT8 *) RomHeader + ); + + if (RomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + RomBarOffset = RomBarOffset + 512; + if (FirstCheck) { + break; + } else { + RomImageSize = RomImageSize + 512; + continue; + } + } + + FirstCheck = FALSE; + OffsetPcir = RomHeader->PcirOffset; + // + // If the pointer to the PCI Data Structure is invalid, no further images can be located. + // The PCI Data Structure must be DWORD aligned. + // + if (OffsetPcir == 0 || + (OffsetPcir & 3) != 0 || + RomImageSize + OffsetPcir + sizeof (PCI_DATA_STRUCTURE) > RomSize) { + break; + } + PciDevice->PciRootBridgeIo->Mem.Read ( + PciDevice->PciRootBridgeIo, + EfiPciWidthUint8, + RomBarOffset + OffsetPcir, + sizeof (PCI_DATA_STRUCTURE), + (UINT8 *) RomPcir + ); + // + // If a valid signature is not present in the PCI Data Structure, no further images can be located. + // + if (RomPcir->Signature != PCI_DATA_STRUCTURE_SIGNATURE) { + break; + } + if (RomImageSize + RomPcir->ImageLength * 512 > RomSize) { + break; + } + if (RomPcir->CodeType == PCI_CODE_TYPE_PCAT_IMAGE) { + CodeType = PCI_CODE_TYPE_PCAT_IMAGE; + LegacyImageLength = ((UINT32)((EFI_LEGACY_EXPANSION_ROM_HEADER *)RomHeader)->Size512) * 512; + } + Indicator = RomPcir->Indicator; + RomImageSize = RomImageSize + RomPcir->ImageLength * 512; + RomBarOffset = RomBarOffset + RomPcir->ImageLength * 512; + } while (((Indicator & 0x80) == 0x00) && ((RomBarOffset - RomBar) < RomSize)); + + // + // Some Legacy Cards do not report the correct ImageLength so used the maximum + // of the legacy length and the PCIR Image Length + // + if (CodeType == PCI_CODE_TYPE_PCAT_IMAGE) { + RomImageSize = MAX (RomImageSize, LegacyImageLength); + } + + if (RomImageSize > 0) { + RetStatus = EFI_SUCCESS; + Image = AllocatePool ((UINT32) RomImageSize); + if (Image == NULL) { + RomDecode (PciDevice, RomBarIndex, RomBar, FALSE); + FreePool (RomHeader); + FreePool (RomPcir); + return EFI_OUT_OF_RESOURCES; + } + + // + // Copy Rom image into memory + // + PciDevice->PciRootBridgeIo->Mem.Read ( + PciDevice->PciRootBridgeIo, + EfiPciWidthUint8, + RomBar, + (UINT32) RomImageSize, + Image + ); + RomInMemory = Image; + } + + RomDecode (PciDevice, RomBarIndex, RomBar, FALSE); + + PciDevice->EmbeddedRom = TRUE; + PciDevice->PciIo.RomSize = RomImageSize; + PciDevice->PciIo.RomImage = RomInMemory; + + //TiogaPass Override START : Skip OPROM - Mellanox card which has SSVID 0x15B3 and SSDID 0x0031 + if (PciDevice->Pci.Hdr.VendorId == 0x15B3 && PciDevice->Pci.Hdr.DeviceId == 0x1015) { + if (PciDevice->Pci.Device.SubsystemVendorID == 0x15B3 && PciDevice->Pci.Device.SubsystemID == 0x0031) { + PciDevice->PciIo.RomImage = NULL; + PciDevice->PciIo.RomSize = 0; + DEBUG((DEBUG_ERROR,"Device_MLX @ [B%X|D%X|F%X], VID=%X, DID=%X SVID=%X, SVDID=%XOverrides ROM file @ %X size=%X .\n\n", + PciDevice->BusNumber, PciDevice->DeviceNumber, PciDevice->FunctionNumber, + PciDevice->Pci.Hdr.VendorId, PciDevice->Pci.Hdr.DeviceId, PciDevice->Pci.Device.SubsystemVendorID,PciDevice->Pci.Device.SubsystemID,PciDevice->PciIo.RomImage, PciDevice->PciIo.RomSize)); + } + } + //TiogaPass Override END + + // For OpROM read from PCI device: + // Add the Rom Image to internal database for later PCI light enumeration + // + PciRomAddImageMapping ( + NULL, + PciDevice->PciRootBridgeIo->SegmentNumber, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + PciDevice->PciIo.RomImage, + PciDevice->PciIo.RomSize + ); + + // + // Free allocated memory + // + FreePool (RomHeader); + FreePool (RomPcir); + + return RetStatus; +} + +/** + Enable/Disable Option Rom decode. + + @param PciDevice Pci device instance. + @param RomBarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param RomBar Base address of Option Rom. + @param Enable Flag for enable/disable decode. + +**/ +VOID +RomDecode ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT8 RomBarIndex, + IN UINT32 RomBar, + IN BOOLEAN Enable + ) +{ + UINT32 Value32; + EFI_PCI_IO_PROTOCOL *PciIo; + + PciIo = &PciDevice->PciIo; + if (Enable) { + + // + // set the Rom base address: now is hardcode + // enable its decoder + // + Value32 = RomBar | 0x1; + PciIo->Pci.Write ( + PciIo, + (EFI_PCI_IO_PROTOCOL_WIDTH) EfiPciWidthUint32, + RomBarIndex, + 1, + &Value32 + ); + + // + // Programe all upstream bridge + // + ProgramUpstreamBridgeForRom (PciDevice, RomBar, TRUE); + + // + // Setting the memory space bit in the function's command register + // + PCI_ENABLE_COMMAND_REGISTER(PciDevice, EFI_PCI_COMMAND_MEMORY_SPACE); + + } else { + + // + // disable command register decode to memory + // + PCI_DISABLE_COMMAND_REGISTER(PciDevice, EFI_PCI_COMMAND_MEMORY_SPACE); + + // + // Destroy the programmed bar in all the upstream bridge. + // + ProgramUpstreamBridgeForRom (PciDevice, RomBar, FALSE); + + // + // disable rom decode + // + Value32 = 0xFFFFFFFE; + PciIo->Pci.Write ( + PciIo, + (EFI_PCI_IO_PROTOCOL_WIDTH) EfiPciWidthUint32, + RomBarIndex, + 1, + &Value32 + ); + + } +} + +/** + Load and start the Option Rom image. + + @param PciDevice Pci device instance. + + @retval EFI_SUCCESS Successfully loaded and started PCI Option Rom image. + @retval EFI_NOT_FOUND Failed to process PCI Option Rom image. + +**/ +EFI_STATUS +ProcessOpRomImage ( + IN PCI_IO_DEVICE *PciDevice + ) +{ + UINT8 Indicator; + UINT32 ImageSize; + VOID *RomBar; + UINT8 *RomBarOffset; + EFI_HANDLE ImageHandle; + EFI_STATUS Status; + EFI_STATUS RetStatus; + EFI_PCI_EXPANSION_ROM_HEADER *EfiRomHeader; + PCI_DATA_STRUCTURE *Pcir; + EFI_DEVICE_PATH_PROTOCOL *PciOptionRomImageDevicePath; + MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH EfiOpRomImageNode; + VOID *Buffer; + UINTN BufferSize; + + Indicator = 0; + + // + // Get the Address of the Option Rom image + // + RomBar = PciDevice->PciIo.RomImage; + RomBarOffset = (UINT8 *) RomBar; + RetStatus = EFI_NOT_FOUND; + + if (RomBar == NULL) { + return RetStatus; + } + ASSERT (((EFI_PCI_EXPANSION_ROM_HEADER *) RomBarOffset)->Signature == PCI_EXPANSION_ROM_HEADER_SIGNATURE); + + do { + EfiRomHeader = (EFI_PCI_EXPANSION_ROM_HEADER *) RomBarOffset; + if (EfiRomHeader->Signature != PCI_EXPANSION_ROM_HEADER_SIGNATURE) { + RomBarOffset += 512; + continue; + } + + Pcir = (PCI_DATA_STRUCTURE *) (RomBarOffset + EfiRomHeader->PcirOffset); + ASSERT (Pcir->Signature == PCI_DATA_STRUCTURE_SIGNATURE); + ImageSize = (UINT32) (Pcir->ImageLength * 512); + Indicator = Pcir->Indicator; + + // + // Skip the image if it is not an EFI PCI Option ROM image + // + if (Pcir->CodeType != PCI_CODE_TYPE_EFI_IMAGE) { + goto NextImage; + } + + // + // Ignore the EFI PCI Option ROM image if it is an EFI application + // + if (EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION) { + goto NextImage; + } + + // + // Create Pci Option Rom Image device path header + // + EfiOpRomImageNode.Header.Type = MEDIA_DEVICE_PATH; + EfiOpRomImageNode.Header.SubType = MEDIA_RELATIVE_OFFSET_RANGE_DP; + SetDevicePathNodeLength (&EfiOpRomImageNode.Header, sizeof (EfiOpRomImageNode)); + EfiOpRomImageNode.StartingOffset = (UINTN) RomBarOffset - (UINTN) RomBar; + EfiOpRomImageNode.EndingOffset = (UINTN) RomBarOffset + ImageSize - 1 - (UINTN) RomBar; + + PciOptionRomImageDevicePath = AppendDevicePathNode (PciDevice->DevicePath, &EfiOpRomImageNode.Header); + ASSERT (PciOptionRomImageDevicePath != NULL); + + // + // load image and start image + // + BufferSize = 0; + Buffer = NULL; + ImageHandle = NULL; + + Status = gBS->LoadImage ( + FALSE, + gPciBusDriverBinding.DriverBindingHandle, + PciOptionRomImageDevicePath, + Buffer, + BufferSize, + &ImageHandle + ); + if (EFI_ERROR (Status)) { + // + // Record the Option ROM Image device path when LoadImage fails. + // PciOverride.GetDriver() will try to look for the Image Handle using the device path later. + // + AddDriver (PciDevice, NULL, PciOptionRomImageDevicePath); + } else { + Status = gBS->StartImage (ImageHandle, NULL, NULL); + if (!EFI_ERROR (Status)) { + // + // Record the Option ROM Image Handle + // + AddDriver (PciDevice, ImageHandle, NULL); + PciRomAddImageMapping ( + ImageHandle, + PciDevice->PciRootBridgeIo->SegmentNumber, + PciDevice->BusNumber, + PciDevice->DeviceNumber, + PciDevice->FunctionNumber, + PciDevice->PciIo.RomImage, + PciDevice->PciIo.RomSize + ); + RetStatus = EFI_SUCCESS; + } + } + FreePool (PciOptionRomImageDevicePath); + +NextImage: + RomBarOffset += ImageSize; + + } while (((Indicator & 0x80) == 0x00) && (((UINTN) RomBarOffset - (UINTN) RomBar) < PciDevice->RomSize)); + + return RetStatus; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h new file mode 100644 index 0000000000..60e147a7b9 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.h @@ -0,0 +1,136 @@ +/** @file + PCI Rom supporting functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_OPTION_ROM_SUPPORT_H_ +#define _EFI_PCI_OPTION_ROM_SUPPORT_H_ + + +/** + Initialize a PCI LoadFile2 instance. + + @param PciIoDevice PCI IO Device. + +**/ +VOID +InitializePciLoadFile2 ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +/** + Causes the driver to load a specified file. + + @param This Indicates a pointer to the calling context. + @param FilePath The device specific path of the file to load. + @param BootPolicy Should always be FALSE. + @param BufferSize On input the size of Buffer in bytes. On output with a return + code of EFI_SUCCESS, the amount of data transferred to Buffer. + On output with a return code of EFI_BUFFER_TOO_SMALL, + the size of Buffer required to retrieve the requested file. + @param Buffer The memory buffer to transfer the file to. If Buffer is NULL, + then no the size of the requested file is returned in BufferSize. + + @retval EFI_SUCCESS The file was loaded. + @retval EFI_UNSUPPORTED BootPolicy is TRUE. + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or + BufferSize is NULL. + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom image. + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current directory entry. + BufferSize has been updated with the size needed to complete the request. + +**/ +EFI_STATUS +EFIAPI +LoadFile2 ( + IN EFI_LOAD_FILE2_PROTOCOL *This, + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, + IN BOOLEAN BootPolicy, + IN OUT UINTN *BufferSize, + IN VOID *Buffer OPTIONAL + ); + +/** + Check if the RomImage contains EFI Images. + + @param RomImage The ROM address of Image for check. + @param RomSize Size of ROM for check. + + @retval TRUE ROM contain EFI Image. + @retval FALSE ROM not contain EFI Image. + +**/ +BOOLEAN +ContainEfiImage ( + IN VOID *RomImage, + IN UINT64 RomSize + ); + +/** + Get Pci device's oprom information. + + @param PciIoDevice Input Pci device instance. + Output Pci device instance with updated OptionRom size. + + @retval EFI_NOT_FOUND Pci device has not Option Rom. + @retval EFI_SUCCESS Pci device has Option Rom. + +**/ +EFI_STATUS +GetOpRomInfo ( + IN OUT PCI_IO_DEVICE *PciIoDevice + ); + +/** + Load Option Rom image for specified PCI device. + + @param PciDevice Pci device instance. + @param RomBase Base address of Option Rom. + + @retval EFI_OUT_OF_RESOURCES No enough memory to hold image. + @retval EFI_SUCESS Successfully loaded Option Rom. + +**/ +EFI_STATUS +LoadOpRomImage ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT64 RomBase + ); + +/** + Enable/Disable Option Rom decode. + + @param PciDevice Pci device instance. + @param RomBarIndex The BAR index of the standard PCI Configuration header to use as the + base address for resource range. The legal range for this field is 0..5. + @param RomBar Base address of Option Rom. + @param Enable Flag for enable/disable decode. + +**/ +VOID +RomDecode ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT8 RomBarIndex, + IN UINT32 RomBar, + IN BOOLEAN Enable + ); + +/** + Load and start the Option Rom image. + + @param PciDevice Pci device instance. + + @retval EFI_SUCCESS Successfully loaded and started PCI Option Rom image. + @retval EFI_NOT_FOUND Failed to process PCI Option Rom image. + +**/ +EFI_STATUS +ProcessOpRomImage ( + IN PCI_IO_DEVICE *PciDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c new file mode 100644 index 0000000000..cf3f8164cd --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.c @@ -0,0 +1,82 @@ +/** @file + Power management support functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +/** + This function is intended to turn off PWE assertion and + put the device to D0 state if the device supports + PCI Power Management. + + @param PciIoDevice PCI device instance. + + @retval EFI_UNSUPPORTED PCI Device does not support power management. + @retval EFI_SUCCESS Turned off PWE successfully. + +**/ +EFI_STATUS +ResetPowerManagementFeature ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_STATUS Status; + UINT8 PowerManagementRegBlock; + UINT16 PowerManagementCSR; + + PowerManagementRegBlock = 0; + + Status = LocateCapabilityRegBlock ( + PciIoDevice, + EFI_PCI_CAPABILITY_ID_PMI, + &PowerManagementRegBlock, + NULL + ); + + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; + } + + // + // Turn off the PWE assertion and put the device into D0 State + // + + // + // Read PMCSR + // + Status = PciIoDevice->PciIo.Pci.Read ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + PowerManagementRegBlock + 4, + 1, + &PowerManagementCSR + ); + + if (!EFI_ERROR (Status)) { + // + // Clear PME_Status bit + // + PowerManagementCSR |= BIT15; + // + // Clear PME_En bit. PowerState = D0. + // + PowerManagementCSR &= ~(BIT8 | BIT1 | BIT0); + + // + // Write PMCSR + // + Status = PciIoDevice->PciIo.Pci.Write ( + &PciIoDevice->PciIo, + EfiPciIoWidthUint16, + PowerManagementRegBlock + 4, + 1, + &PowerManagementCSR + ); + } + return Status; +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h new file mode 100644 index 0000000000..44e97ec45a --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciPowerManagement.h @@ -0,0 +1,28 @@ +/** @file + Power management support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_POWER_MANAGEMENT_H_ +#define _EFI_PCI_POWER_MANAGEMENT_H_ + +/** + This function is intended to turn off PWE assertion and + put the device to D0 state if the device supports + PCI Power Management. + + @param PciIoDevice PCI device instance. + + @retval EFI_UNSUPPORTED PCI Device does not support power management. + @retval EFI_SUCCESS Turned off PWE successfully. + +**/ +EFI_STATUS +ResetPowerManagementFeature ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c new file mode 100644 index 0000000000..1461af7d5d --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c @@ -0,0 +1,2292 @@ +/** @file + PCI resources support functions implementation for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// The default policy for the PCI bus driver is NOT to reserve I/O ranges for both ISA aliases and VGA aliases. +// +BOOLEAN mReserveIsaAliases = FALSE; +BOOLEAN mReserveVgaAliases = FALSE; +BOOLEAN mPolicyDetermined = FALSE; + +/** + The function is used to skip VGA range. + + @param Start Returned start address including VGA range. + @param Length The length of VGA range. + +**/ +VOID +SkipVGAAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ) +{ + UINT64 Original; + UINT64 Mask; + UINT64 StartOffset; + UINT64 LimitOffset; + + ASSERT (Start != NULL); + // + // For legacy VGA, bit 10 to bit 15 is not decoded + // + Mask = 0x3FF; + + Original = *Start; + StartOffset = Original & Mask; + LimitOffset = ((*Start) + Length - 1) & Mask; + if (LimitOffset >= VGABASE1) { + *Start = *Start - StartOffset + VGALIMIT2 + 1; + } +} + +/** + This function is used to skip ISA aliasing aperture. + + @param Start Returned start address including ISA aliasing aperture. + @param Length The length of ISA aliasing aperture. + +**/ +VOID +SkipIsaAliasAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ) +{ + + UINT64 Original; + UINT64 Mask; + UINT64 StartOffset; + UINT64 LimitOffset; + + ASSERT (Start != NULL); + + // + // For legacy ISA, bit 10 to bit 15 is not decoded + // + Mask = 0x3FF; + + Original = *Start; + StartOffset = Original & Mask; + LimitOffset = ((*Start) + Length - 1) & Mask; + + if (LimitOffset >= ISABASE) { + *Start = *Start - StartOffset + ISALIMIT + 1; + } +} + +/** + This function inserts a resource node into the resource list. + The resource list is sorted in descend order. + + @param Bridge PCI resource node for bridge. + @param ResNode Resource node want to be inserted. + +**/ +VOID +InsertResourceNode ( + IN OUT PCI_RESOURCE_NODE *Bridge, + IN PCI_RESOURCE_NODE *ResNode + ) +{ + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Temp; + UINT64 ResNodeAlignRest; + UINT64 TempAlignRest; + + ASSERT (Bridge != NULL); + ASSERT (ResNode != NULL); + + InsertHeadList (&Bridge->ChildList, &ResNode->Link); + + CurrentLink = Bridge->ChildList.ForwardLink->ForwardLink; + while (CurrentLink != &Bridge->ChildList) { + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (ResNode->Alignment > Temp->Alignment) { + break; + } else if (ResNode->Alignment == Temp->Alignment) { + ResNodeAlignRest = ResNode->Length & ResNode->Alignment; + TempAlignRest = Temp->Length & Temp->Alignment; + if ((ResNodeAlignRest == 0) || (ResNodeAlignRest >= TempAlignRest)) { + break; + } + } + + SwapListEntries (&ResNode->Link, CurrentLink); + + CurrentLink = ResNode->Link.ForwardLink; + } +} + +/** + This routine is used to merge two different resource trees in need of + resource degradation. + + For example, if an upstream PPB doesn't support, + prefetchable memory decoding, the PCI bus driver will choose to call this function + to merge prefetchable memory resource list into normal memory list. + + If the TypeMerge is TRUE, Res resource type is changed to the type of destination resource + type. + If Dst is NULL or Res is NULL, ASSERT (). + + @param Dst Point to destination resource tree. + @param Res Point to source resource tree. + @param TypeMerge If the TypeMerge is TRUE, Res resource type is changed to the type of + destination resource type. + +**/ +VOID +MergeResourceTree ( + IN PCI_RESOURCE_NODE *Dst, + IN PCI_RESOURCE_NODE *Res, + IN BOOLEAN TypeMerge + ) +{ + + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Temp; + + ASSERT (Dst != NULL); + ASSERT (Res != NULL); + + while (!IsListEmpty (&Res->ChildList)) { + CurrentLink = Res->ChildList.ForwardLink; + + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (TypeMerge) { + Temp->ResType = Dst->ResType; + } + + RemoveEntryList (CurrentLink); + InsertResourceNode (Dst, Temp); + } +} + +/** + This function is used to calculate the IO16 aperture + for a bridge. + + @param Bridge PCI resource node for bridge. + +**/ +VOID +CalculateApertureIo16 ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + EFI_STATUS Status; + UINT64 Aperture; + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Node; + UINT64 Offset; + EFI_PCI_PLATFORM_POLICY PciPolicy; + UINT64 PaddingAperture; + + if (!mPolicyDetermined) { + // + // Check PciPlatform policy + // + Status = EFI_NOT_FOUND; + PciPolicy = 0; + if (gPciPlatformProtocol != NULL) { + Status = gPciPlatformProtocol->GetPlatformPolicy ( + gPciPlatformProtocol, + &PciPolicy + ); + } + + if (EFI_ERROR (Status) && gPciOverrideProtocol != NULL) { + Status = gPciOverrideProtocol->GetPlatformPolicy ( + gPciOverrideProtocol, + &PciPolicy + ); + } + + if (!EFI_ERROR (Status)) { + if ((PciPolicy & EFI_RESERVE_ISA_IO_ALIAS) != 0) { + mReserveIsaAliases = TRUE; + } + if ((PciPolicy & EFI_RESERVE_VGA_IO_ALIAS) != 0) { + mReserveVgaAliases = TRUE; + } + } + mPolicyDetermined = TRUE; + } + + Aperture = 0; + PaddingAperture = 0; + + if (Bridge == NULL) { + return ; + } + + // + // Assume the bridge is aligned + // + for ( CurrentLink = GetFirstNode (&Bridge->ChildList) + ; !IsNull (&Bridge->ChildList, CurrentLink) + ; CurrentLink = GetNextNode (&Bridge->ChildList, CurrentLink) + ) { + + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + if (Node->ResourceUsage == PciResUsagePadding) { + ASSERT (PaddingAperture == 0); + PaddingAperture = Node->Length; + continue; + } + // + // Consider the aperture alignment + // + Offset = Aperture & (Node->Alignment); + + if (Offset != 0) { + + Aperture = Aperture + (Node->Alignment + 1) - Offset; + + } + + // + // IsaEnable and VGAEnable can not be implemented now. + // If both of them are enabled, then the IO resource would + // become too limited to meet the requirement of most of devices. + // + if (mReserveIsaAliases || mReserveVgaAliases) { + if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci)) && !IS_CARDBUS_BRIDGE (&(Node->PciDev->Pci))) { + // + // Check if there is need to support ISA/VGA decoding + // If so, we need to avoid isa/vga aliasing range + // + if (mReserveIsaAliases) { + SkipIsaAliasAperture ( + &Aperture, + Node->Length + ); + Offset = Aperture & (Node->Alignment); + if (Offset != 0) { + Aperture = Aperture + (Node->Alignment + 1) - Offset; + } + } else if (mReserveVgaAliases) { + SkipVGAAperture ( + &Aperture, + Node->Length + ); + Offset = Aperture & (Node->Alignment); + if (Offset != 0) { + Aperture = Aperture + (Node->Alignment + 1) - Offset; + } + } + } + } + + Node->Offset = Aperture; + + // + // Increment aperture by the length of node + // + Aperture += Node->Length; + } + + // + // Adjust the aperture with the bridge's alignment + // + Offset = Aperture & (Bridge->Alignment); + + if (Offset != 0) { + Aperture = Aperture + (Bridge->Alignment + 1) - Offset; + } + + Bridge->Length = Aperture; + // + // At last, adjust the bridge's alignment to the first child's alignment + // if the bridge has at least one child + // + CurrentLink = Bridge->ChildList.ForwardLink; + if (CurrentLink != &Bridge->ChildList) { + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + if (Node->Alignment > Bridge->Alignment) { + Bridge->Alignment = Node->Alignment; + } + } + + // + // Hotplug controller needs padding resources. + // Use the larger one between the padding resource and actual occupied resource. + // + Bridge->Length = MAX (Bridge->Length, PaddingAperture); +} + +/** + This function is used to calculate the resource aperture + for a given bridge device. + + @param Bridge PCI resource node for given bridge device. + +**/ +VOID +CalculateResourceAperture ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + UINT64 Aperture[2]; + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Node; + + if (Bridge == NULL) { + return ; + } + + if (Bridge->ResType == PciBarTypeIo16) { + + CalculateApertureIo16 (Bridge); + return ; + } + + Aperture[PciResUsageTypical] = 0; + Aperture[PciResUsagePadding] = 0; + // + // Assume the bridge is aligned + // + for ( CurrentLink = GetFirstNode (&Bridge->ChildList) + ; !IsNull (&Bridge->ChildList, CurrentLink) + ; CurrentLink = GetNextNode (&Bridge->ChildList, CurrentLink) + ) { + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + + // + // It's possible for a bridge to contain multiple padding resource + // nodes due to DegradeResource(). + // + ASSERT ((Node->ResourceUsage == PciResUsageTypical) || + (Node->ResourceUsage == PciResUsagePadding)); + ASSERT (Node->ResourceUsage < ARRAY_SIZE (Aperture)); + // + // Recode current aperture as a offset + // Apply padding resource to meet alignment requirement + // Node offset will be used in future real allocation + // + Node->Offset = ALIGN_VALUE (Aperture[Node->ResourceUsage], Node->Alignment + 1); + + // + // Record the total aperture. + // + Aperture[Node->ResourceUsage] = Node->Offset + Node->Length; + } + + // + // Adjust the aperture with the bridge's alignment + // + Aperture[PciResUsageTypical] = ALIGN_VALUE (Aperture[PciResUsageTypical], Bridge->Alignment + 1); + Aperture[PciResUsagePadding] = ALIGN_VALUE (Aperture[PciResUsagePadding], Bridge->Alignment + 1); + + // + // Hotplug controller needs padding resources. + // Use the larger one between the padding resource and actual occupied resource. + // + Bridge->Length = MAX (Aperture[PciResUsageTypical], Aperture[PciResUsagePadding]); + + // + // Adjust the bridge's alignment to the MAX (first) alignment of all children. + // + CurrentLink = Bridge->ChildList.ForwardLink; + if (CurrentLink != &Bridge->ChildList) { + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + if (Node->Alignment > Bridge->Alignment) { + Bridge->Alignment = Node->Alignment; + } + } +} + +/** + Get IO/Memory resource info for given PCI device. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO . + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +GetResourceFromDevice ( + IN PCI_IO_DEVICE *PciDev, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ) +{ + + UINT8 Index; + PCI_RESOURCE_NODE *Node; + BOOLEAN ResourceRequested; + + Node = NULL; + ResourceRequested = FALSE; + + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + + switch ((PciDev->PciBar)[Index].BarType) { + + case PciBarTypeMem32: + case PciBarTypeOpRom: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + (PciDev->PciBar)[Index].BarType, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem32Node, + Node + ); + + ResourceRequested = TRUE; + break; + + case PciBarTypeMem64: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypeMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem64Node, + Node + ); + + ResourceRequested = TRUE; + break; + + case PciBarTypePMem64: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypePMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem64Node, + Node + ); + + ResourceRequested = TRUE; + break; + + case PciBarTypePMem32: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypePMem32, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem32Node, + Node + ); + ResourceRequested = TRUE; + break; + + case PciBarTypeIo16: + case PciBarTypeIo32: + + Node = CreateResourceNode ( + PciDev, + (PciDev->PciBar)[Index].Length, + (PciDev->PciBar)[Index].Alignment, + Index, + PciBarTypeIo16, + PciResUsageTypical + ); + + InsertResourceNode ( + IoNode, + Node + ); + ResourceRequested = TRUE; + break; + + case PciBarTypeUnknown: + break; + + default: + break; + } + } + + // + // Add VF resource + // + for (Index = 0; Index < PCI_MAX_BAR; Index++) { + + switch ((PciDev->VfPciBar)[Index].BarType) { + + case PciBarTypeMem32: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypeMem32, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem32Node, + Node + ); + + break; + + case PciBarTypeMem64: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypeMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + Mem64Node, + Node + ); + + break; + + case PciBarTypePMem64: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypePMem64, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem64Node, + Node + ); + + break; + + case PciBarTypePMem32: + + Node = CreateVfResourceNode ( + PciDev, + (PciDev->VfPciBar)[Index].Length, + (PciDev->VfPciBar)[Index].Alignment, + Index, + PciBarTypePMem32, + PciResUsageTypical + ); + + InsertResourceNode ( + PMem32Node, + Node + ); + break; + + case PciBarTypeIo16: + case PciBarTypeIo32: + break; + + case PciBarTypeUnknown: + break; + + default: + break; + } + } + // If there is no resource requested from this device, + // then we indicate this device has been allocated naturally. + // + if (!ResourceRequested) { + PciDev->Allocated = TRUE; + } +} + +/** + This function is used to create a resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ) +{ + PCI_RESOURCE_NODE *Node; + + Node = NULL; + + Node = AllocateZeroPool (sizeof (PCI_RESOURCE_NODE)); + ASSERT (Node != NULL); + if (Node == NULL) { + return NULL; + } + + Node->Signature = PCI_RESOURCE_SIGNATURE; + Node->PciDev = PciDev; + Node->Length = Length; + Node->Alignment = Alignment; + Node->Bar = Bar; + Node->ResType = ResType; + Node->Reserved = FALSE; + Node->ResourceUsage = ResUsage; + InitializeListHead (&Node->ChildList); + + return Node; +} + +/** + This function is used to create a IOV VF resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given VF PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateVfResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ) +{ + PCI_RESOURCE_NODE *Node; + + Node = CreateResourceNode (PciDev, Length, Alignment, Bar, ResType, ResUsage); + if (Node == NULL) { + return Node; + } + + Node->Virtual = TRUE; + + return Node; +} + +/** + This function is used to extract resource request from + device node list. + + @param Bridge Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +CreateResourceMap ( + IN PCI_IO_DEVICE *Bridge, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ) +{ + PCI_IO_DEVICE *Temp; + PCI_RESOURCE_NODE *IoBridge; + PCI_RESOURCE_NODE *Mem32Bridge; + PCI_RESOURCE_NODE *PMem32Bridge; + PCI_RESOURCE_NODE *Mem64Bridge; + PCI_RESOURCE_NODE *PMem64Bridge; + LIST_ENTRY *CurrentLink; + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { + + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); + + // + // Create resource nodes for this device by scanning the + // Bar array in the device private data + // If the upstream bridge doesn't support this device, + // no any resource node will be created for this device + // + GetResourceFromDevice ( + Temp, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + + if (IS_PCI_BRIDGE (&Temp->Pci)) { + + // + // If the device has children, create a bridge resource node for this PPB + // Note: For PPB, memory aperture is aligned with 1MB and IO aperture + // is aligned with 4KB (smaller alignments may be supported). + // + IoBridge = CreateResourceNode ( + Temp, + 0, + Temp->BridgeIoAlignment, + PPB_IO_RANGE, + PciBarTypeIo16, + PciResUsageTypical + ); + + Mem32Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_MEM32_RANGE, + PciBarTypeMem32, + PciResUsageTypical + ); + + PMem32Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_PMEM32_RANGE, + PciBarTypePMem32, + PciResUsageTypical + ); + + Mem64Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_MEM64_RANGE, + PciBarTypeMem64, + PciResUsageTypical + ); + + PMem64Bridge = CreateResourceNode ( + Temp, + 0, + 0xFFFFF, + PPB_PMEM64_RANGE, + PciBarTypePMem64, + PciResUsageTypical + ); + + // + // Recursively create resource map on this bridge + // + CreateResourceMap ( + Temp, + IoBridge, + Mem32Bridge, + PMem32Bridge, + Mem64Bridge, + PMem64Bridge + ); + + if (ResourceRequestExisted (IoBridge)) { + InsertResourceNode ( + IoNode, + IoBridge + ); + } else { + FreePool (IoBridge); + IoBridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (Mem32Bridge)) { + InsertResourceNode ( + Mem32Node, + Mem32Bridge + ); + } else { + FreePool (Mem32Bridge); + Mem32Bridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (PMem32Bridge)) { + InsertResourceNode ( + PMem32Node, + PMem32Bridge + ); + } else { + FreePool (PMem32Bridge); + PMem32Bridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (Mem64Bridge)) { + InsertResourceNode ( + Mem64Node, + Mem64Bridge + ); + } else { + FreePool (Mem64Bridge); + Mem64Bridge = NULL; + } + + // + // If there is node under this resource bridge, + // then calculate bridge's aperture of this type + // and insert it into the respective resource tree. + // If no, delete this resource bridge + // + if (ResourceRequestExisted (PMem64Bridge)) { + InsertResourceNode ( + PMem64Node, + PMem64Bridge + ); + } else { + FreePool (PMem64Bridge); + PMem64Bridge = NULL; + } + + } + + // + // If it is P2C, apply hard coded resource padding + // + if (IS_CARDBUS_BRIDGE (&Temp->Pci)) { + ResourcePaddingForCardBusBridge ( + Temp, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + // + // To do some platform specific resource padding ... + // + ResourcePaddingPolicy ( + Bridge, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + + // + // Degrade resource if necessary + // + DegradeResource ( + Bridge, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + + // + // Calculate resource aperture for this bridge device + // + CalculateResourceAperture (Mem32Node); + CalculateResourceAperture (PMem32Node); + CalculateResourceAperture (Mem64Node); + CalculateResourceAperture (PMem64Node); + CalculateResourceAperture (IoNode); +} + +/** + This function is used to do the resource padding for a specific platform. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingPolicy ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + // + // Create padding resource node + // + if (PciDev->ResourcePaddingDescriptors != NULL) { + ApplyResourcePadding ( + PciDev, + IoNode, + Mem32Node, + PMem32Node, + Mem64Node, + PMem64Node + ); + } +} + +/** + This function is used to degrade resource if the upstream bridge + doesn't support certain resource. Degradation path is + PMEM64 -> MEM64 -> MEM32 + PMEM64 -> PMEM32 -> MEM32 + IO32 -> IO16. + + @param Bridge Pci device instance. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +DegradeResource ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + PCI_IO_DEVICE *PciIoDevice; + LIST_ENTRY *ChildDeviceLink; + LIST_ENTRY *ChildNodeLink; + LIST_ENTRY *NextChildNodeLink; + PCI_RESOURCE_NODE *ResourceNode; + + if (FeaturePcdGet (PcdPciDegradeResourceForOptionRom)) { + // + // If any child device has both option ROM and 64-bit BAR, degrade its PMEM64/MEM64 + // requests in case that if a legacy option ROM image can not access 64-bit resources. + // + ChildDeviceLink = Bridge->ChildList.ForwardLink; + while (ChildDeviceLink != NULL && ChildDeviceLink != &Bridge->ChildList) { + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (ChildDeviceLink); + if (PciIoDevice->RomSize != 0) { + if (!IsListEmpty (&Mem64Node->ChildList)) { + ChildNodeLink = Mem64Node->ChildList.ForwardLink; + while (ChildNodeLink != &Mem64Node->ChildList) { + ResourceNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); + NextChildNodeLink = ChildNodeLink->ForwardLink; + + if ((ResourceNode->PciDev == PciIoDevice) && + (ResourceNode->Virtual || !PciIoDevice->PciBar[ResourceNode->Bar].BarTypeFixed) + ) { + RemoveEntryList (ChildNodeLink); + InsertResourceNode (Mem32Node, ResourceNode); + } + ChildNodeLink = NextChildNodeLink; + } + } + + if (!IsListEmpty (&PMem64Node->ChildList)) { + ChildNodeLink = PMem64Node->ChildList.ForwardLink; + while (ChildNodeLink != &PMem64Node->ChildList) { + ResourceNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); + NextChildNodeLink = ChildNodeLink->ForwardLink; + + if ((ResourceNode->PciDev == PciIoDevice) && + (ResourceNode->Virtual || !PciIoDevice->PciBar[ResourceNode->Bar].BarTypeFixed) + ) { + RemoveEntryList (ChildNodeLink); + InsertResourceNode (PMem32Node, ResourceNode); + } + ChildNodeLink = NextChildNodeLink; + } + } + + } + ChildDeviceLink = ChildDeviceLink->ForwardLink; + } + } + + // + // If firmware is in 32-bit mode, + // then degrade PMEM64/MEM64 requests + // + if (sizeof (UINTN) <= 4) { + MergeResourceTree ( + Mem32Node, + Mem64Node, + TRUE + ); + + MergeResourceTree ( + PMem32Node, + PMem64Node, + TRUE + ); + } else { + // + // if the bridge does not support MEM64, degrade MEM64 to MEM32 + // + if (!BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_MEM64_DECODE_SUPPORTED)) { + MergeResourceTree ( + Mem32Node, + Mem64Node, + TRUE + ); + } + + // + // if the bridge does not support PMEM64, degrade PMEM64 to PMEM32 + // + if (!BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_PMEM64_DECODE_SUPPORTED)) { + MergeResourceTree ( + PMem32Node, + PMem64Node, + TRUE + ); + } + + // + // if both PMEM64 and PMEM32 requests from child devices, which can not be satisfied + // by a P2P bridge simultaneously, keep PMEM64 and degrade PMEM32 to MEM32. + // + if (!IsListEmpty (&PMem64Node->ChildList) && Bridge->Parent != NULL) { + MergeResourceTree ( + Mem32Node, + PMem32Node, + TRUE + ); + } + } + + // + // If bridge doesn't support Pmem32 + // degrade it to mem32 + // + if (!BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_PMEM32_DECODE_SUPPORTED)) { + MergeResourceTree ( + Mem32Node, + PMem32Node, + TRUE + ); + } + + // + // if root bridge supports combined Pmem Mem decoding + // merge these two type of resource + // + if (BridgeSupportResourceDecode (Bridge, EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED)) { + MergeResourceTree ( + Mem32Node, + PMem32Node, + FALSE + ); + + // + // No need to check if to degrade MEM64 after merge, because + // if there are PMEM64 still here, 64-bit decode should be supported + // by the root bride. + // + MergeResourceTree ( + Mem64Node, + PMem64Node, + FALSE + ); + } +} + +/** + Test whether bridge device support decode resource. + + @param Bridge Bridge device instance. + @param Decode Decode type according to resource type. + + @return TRUE The bridge device support decode resource. + @return FALSE The bridge device don't support decode resource. + +**/ +BOOLEAN +BridgeSupportResourceDecode ( + IN PCI_IO_DEVICE *Bridge, + IN UINT32 Decode + ) +{ + if (((Bridge->Decodes) & Decode) != 0) { + return TRUE; + } + + return FALSE; +} + +/** + This function is used to program the resource allocated + for each resource node under specified bridge. + + @param Base Base address of resource to be programmed. + @param Bridge PCI resource node for the bridge device. + + @retval EFI_SUCCESS Successfully to program all resources + on given PCI bridge device. + @retval EFI_OUT_OF_RESOURCES Base is all one. + +**/ +EFI_STATUS +ProgramResource ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Bridge + ) +{ + LIST_ENTRY *CurrentLink; + PCI_RESOURCE_NODE *Node; + EFI_STATUS Status; + + if (Base == gAllOne) { + return EFI_OUT_OF_RESOURCES; + } + + CurrentLink = Bridge->ChildList.ForwardLink; + + while (CurrentLink != &Bridge->ChildList) { + + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); + + if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci))) { + + if (IS_CARDBUS_BRIDGE (&(Node->PciDev->Pci))) { + // + // Program the PCI Card Bus device + // + ProgramP2C (Base, Node); + } else { + // + // Program the PCI device BAR + // + ProgramBar (Base, Node); + } + } else { + // + // Program the PCI devices under this bridge + // + Status = ProgramResource (Base + Node->Offset, Node); + if (EFI_ERROR (Status)) { + return Status; + } + + ProgramPpbApperture (Base, Node); + } + + CurrentLink = CurrentLink->ForwardLink; + } + + return EFI_SUCCESS; +} + +/** + Program Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +VOID +ProgramBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT32 Address32; + + ASSERT (Node->Bar < PCI_MAX_BAR); + + // + // Check VF BAR + // + if (Node->Virtual) { + ProgramVfBar (Base, Node); + return; + } + + Address = 0; + PciIo = &(Node->PciDev->PciIo); + + Address = Base + Node->Offset; + + // + // Indicate pci bus driver has allocated + // resource for this device + // It might be a temporary solution here since + // pci device could have multiple bar + // + Node->PciDev->Allocated = TRUE; + + switch ((Node->PciDev->PciBar[Node->Bar]).BarType) { + + case PciBarTypeIo16: + case PciBarTypeIo32: + case PciBarTypeMem32: + case PciBarTypePMem32: + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address + ); + // + // Continue to the case PciBarTypeOpRom to set the BaseAddress. + // PciBarTypeOpRom is a virtual BAR only in root bridge, to capture + // the MEM32 resource requirement for Option ROM shadow. + // + + case PciBarTypeOpRom: + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + + break; + + case PciBarTypeMem64: + case PciBarTypePMem64: + + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4), + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + + break; + + default: + break; + } +} + +/** + Program IOV VF Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +EFI_STATUS +ProgramVfBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT32 Address32; + + ASSERT (Node->Bar < PCI_MAX_BAR); + ASSERT (Node->Virtual); + + Address = 0; + PciIo = &(Node->PciDev->PciIo); + + Address = Base + Node->Offset; + + // + // Indicate pci bus driver has allocated + // resource for this device + // It might be a temporary solution here since + // pci device could have multiple bar + // + Node->PciDev->Allocated = TRUE; + + switch ((Node->PciDev->VfPciBar[Node->Bar]).BarType) { + + case PciBarTypeMem32: + case PciBarTypePMem32: + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->VfPciBar[Node->Bar]).Offset, + 1, + &Address + ); + + Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address; + break; + + case PciBarTypeMem64: + case PciBarTypePMem64: + + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->VfPciBar[Node->Bar]).Offset, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + ((Node->PciDev->VfPciBar[Node->Bar]).Offset + 4), + 1, + &Address32 + ); + + Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address; + break; + + case PciBarTypeIo16: + case PciBarTypeIo32: + break; + + default: + break; + } + + return EFI_SUCCESS; +} + +/** + Program PCI-PCI bridge aperture. + + @param Base Base address for resource. + @param Node Point to resource node structure. + +**/ +VOID +ProgramPpbApperture ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT32 Address32; + + Address = 0; + // + // If no device resource of this PPB, return anyway + // Aperture is set default in the initialization code + // + if (Node->Length == 0 || Node->ResourceUsage == PciResUsagePadding) { + // + // For padding resource node, just ignore when programming + // + return ; + } + + PciIo = &(Node->PciDev->PciIo); + Address = Base + Node->Offset; + + // + // Indicate the PPB resource has been allocated + // + Node->PciDev->Allocated = TRUE; + + switch (Node->Bar) { + + case PPB_BAR_0: + case PPB_BAR_1: + switch ((Node->PciDev->PciBar[Node->Bar]).BarType) { + + case PciBarTypeIo16: + case PciBarTypeIo32: + case PciBarTypeMem32: + case PciBarTypePMem32: + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case PciBarTypeMem64: + case PciBarTypePMem64: + + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4), + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + default: + break; + } + break; + + case PPB_IO_RANGE: + + Address32 = ((UINT32) (Address)) >> 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint8, + 0x1C, + 1, + &Address32 + ); + + Address32 >>= 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x30, + 1, + &Address32 + ); + + Address32 = (UINT32) (Address + Node->Length - 1); + Address32 = ((UINT32) (Address32)) >> 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint8, + 0x1D, + 1, + &Address32 + ); + + Address32 >>= 8; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x32, + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case PPB_MEM32_RANGE: + + Address32 = ((UINT32) (Address)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x20, + 1, + &Address32 + ); + + Address32 = (UINT32) (Address + Node->Length - 1); + Address32 = ((UINT32) (Address32)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x22, + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case PPB_PMEM32_RANGE: + case PPB_PMEM64_RANGE: + + Address32 = ((UINT32) (Address)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x24, + 1, + &Address32 + ); + + Address32 = (UINT32) (Address + Node->Length - 1); + Address32 = ((UINT32) (Address32)) >> 16; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + 0x26, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 (Address, 32); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + 0x28, + 1, + &Address32 + ); + + Address32 = (UINT32) RShiftU64 ((Address + Node->Length - 1), 32); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + 0x2C, + 1, + &Address32 + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + default: + break; + } +} + +/** + Program parent bridge for Option Rom. + + @param PciDevice Pci device instance. + @param OptionRomBase Base address for Option Rom. + @param Enable Enable or disable PCI memory. + +**/ +VOID +ProgramUpstreamBridgeForRom ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT32 OptionRomBase, + IN BOOLEAN Enable + ) +{ + PCI_IO_DEVICE *Parent; + EFI_PCI_IO_PROTOCOL *PciIo; + UINT16 Base; + UINT16 Limit; + // + // For root bridge, just return. + // + Parent = PciDevice->Parent; + while (Parent != NULL) { + if (!IS_PCI_BRIDGE (&Parent->Pci)) { + break; + } + + PciIo = &Parent->PciIo; + + // + // Program PPB to only open a single <= 16MB aperture + // + if (Enable) { + // + // Only cover MMIO for Option ROM. + // + Base = (UINT16) (OptionRomBase >> 16); + Limit = (UINT16) ((OptionRomBase + PciDevice->RomSize - 1) >> 16); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryBase), 1, &Base); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryLimit), 1, &Limit); + + PCI_ENABLE_COMMAND_REGISTER (Parent, EFI_PCI_COMMAND_MEMORY_SPACE); + } else { + // + // Cover 32bit MMIO for devices below the bridge. + // + if (Parent->PciBar[PPB_MEM32_RANGE].Length == 0) { + // + // When devices under the bridge contains Option ROM and doesn't require 32bit MMIO. + // + Base = (UINT16) gAllOne; + Limit = (UINT16) gAllZero; + } else { + Base = (UINT16) ((UINT32) Parent->PciBar[PPB_MEM32_RANGE].BaseAddress >> 16); + Limit = (UINT16) ((UINT32) (Parent->PciBar[PPB_MEM32_RANGE].BaseAddress + + Parent->PciBar[PPB_MEM32_RANGE].Length - 1) >> 16); + } + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryBase), 1, &Base); + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, Bridge.MemoryLimit), 1, &Limit); + + PCI_DISABLE_COMMAND_REGISTER (Parent, EFI_PCI_COMMAND_MEMORY_SPACE); + } + + Parent = Parent->Parent; + } +} + +/** + Test whether resource exists for a bridge. + + @param Bridge Point to resource node for a bridge. + + @retval TRUE There is resource on the given bridge. + @retval FALSE There isn't resource on the given bridge. + +**/ +BOOLEAN +ResourceRequestExisted ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + if (Bridge != NULL) { + if (!IsListEmpty (&Bridge->ChildList) || Bridge->Length != 0) { + return TRUE; + } + } + + return FALSE; +} + +/** + Initialize resource pool structure. + + @param ResourcePool Point to resource pool structure. This pool + is reset to all zero when returned. + @param ResourceType Type of resource. + +**/ +VOID +InitializeResourcePool ( + IN OUT PCI_RESOURCE_NODE *ResourcePool, + IN PCI_BAR_TYPE ResourceType + ) +{ + ZeroMem (ResourcePool, sizeof (PCI_RESOURCE_NODE)); + ResourcePool->ResType = ResourceType; + ResourcePool->Signature = PCI_RESOURCE_SIGNATURE; + InitializeListHead (&ResourcePool->ChildList); +} + +/** + Destroy given resource tree. + + @param Bridge PCI resource root node of resource tree. + +**/ +VOID +DestroyResourceTree ( + IN PCI_RESOURCE_NODE *Bridge + ) +{ + PCI_RESOURCE_NODE *Temp; + LIST_ENTRY *CurrentLink; + + while (!IsListEmpty (&Bridge->ChildList)) { + + CurrentLink = Bridge->ChildList.ForwardLink; + + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); + ASSERT (Temp); + + RemoveEntryList (CurrentLink); + + if (IS_PCI_BRIDGE (&(Temp->PciDev->Pci))) { + DestroyResourceTree (Temp); + } + + FreePool (Temp); + } +} + +/** + Insert resource padding for P2C. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingForCardBusBridge ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + PCI_RESOURCE_NODE *Node; + + Node = NULL; + + // + // Memory Base/Limit Register 0 + // Bar 1 decodes memory range 0 + // + Node = CreateResourceNode ( + PciDev, + 0x2000000, + 0x1ffffff, + 1, + PciBarTypeMem32, + PciResUsagePadding + ); + + InsertResourceNode ( + Mem32Node, + Node + ); + + // + // Memory Base/Limit Register 1 + // Bar 2 decodes memory range1 + // + Node = CreateResourceNode ( + PciDev, + 0x2000000, + 0x1ffffff, + 2, + PciBarTypePMem32, + PciResUsagePadding + ); + + InsertResourceNode ( + PMem32Node, + Node + ); + + // + // Io Base/Limit + // Bar 3 decodes io range 0 + // + Node = CreateResourceNode ( + PciDev, + 0x100, + 0xff, + 3, + PciBarTypeIo16, + PciResUsagePadding + ); + + InsertResourceNode ( + IoNode, + Node + ); + + // + // Io Base/Limit + // Bar 4 decodes io range 0 + // + Node = CreateResourceNode ( + PciDev, + 0x100, + 0xff, + 4, + PciBarTypeIo16, + PciResUsagePadding + ); + + InsertResourceNode ( + IoNode, + Node + ); +} + +/** + Program PCI Card device register for given resource node. + + @param Base Base address of PCI Card device to be programmed. + @param Node Given resource node. + +**/ +VOID +ProgramP2C ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ) +{ + EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 Address; + UINT64 TempAddress; + UINT16 BridgeControl; + + Address = 0; + PciIo = &(Node->PciDev->PciIo); + + Address = Base + Node->Offset; + + // + // Indicate pci bus driver has allocated + // resource for this device + // It might be a temporary solution here since + // pci device could have multiple bar + // + Node->PciDev->Allocated = TRUE; + + switch (Node->Bar) { + + case P2C_BAR_0: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + (Node->PciDev->PciBar[Node->Bar]).Offset, + 1, + &Address + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + break; + + case P2C_MEM_1: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_0, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_LIMIT_0, + 1, + &TempAddress + ); + + if (Node->ResType == PciBarTypeMem32) { + // + // Set non-prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl &= (UINT16) ~PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + } else { + // + // Set prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl |= PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + } + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + + break; + + case P2C_MEM_2: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_BASE_1, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_MEMORY_LIMIT_1, + 1, + &TempAddress + ); + + if (Node->ResType == PciBarTypeMem32) { + + // + // Set non-prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl &= (UINT16) ~(PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE); + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + } else { + + // + // Set prefetchable bit + // + PciIo->Pci.Read ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + + BridgeControl |= PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint16, + PCI_CARD_BRIDGE_CONTROL, + 1, + &BridgeControl + ); + } + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + break; + + case P2C_IO_1: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_0_LOWER, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_LIMIT_0_LOWER, + 1, + &TempAddress + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + + break; + + case P2C_IO_2: + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_BASE_1_LOWER, + 1, + &Address + ); + + TempAddress = Address + Node->Length - 1; + PciIo->Pci.Write ( + PciIo, + EfiPciIoWidthUint32, + PCI_CARD_IO_LIMIT_1_LOWER, + 1, + &TempAddress + ); + + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; + break; + + default: + break; + } +} + +/** + Create padding resource node. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ApplyResourcePadding ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ) +{ + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; + PCI_RESOURCE_NODE *Node; + UINT8 DummyBarIndex; + + DummyBarIndex = 0; + Ptr = PciDev->ResourcePaddingDescriptors; + + while (((EFI_ACPI_END_TAG_DESCRIPTOR *) Ptr)->Desc != ACPI_END_TAG_DESCRIPTOR) { + + if (Ptr->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Ptr->ResType == ACPI_ADDRESS_SPACE_TYPE_IO) { + if (Ptr->AddrLen != 0) { + + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypeIo16, + PciResUsagePadding + ); + InsertResourceNode ( + IoNode, + Node + ); + } + + Ptr++; + continue; + } + + if (Ptr->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Ptr->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { + + if (Ptr->AddrSpaceGranularity == 32) { + + // + // prefetchable + // + if (Ptr->SpecificFlag == 0x6) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypePMem32, + PciResUsagePadding + ); + InsertResourceNode ( + PMem32Node, + Node + ); + } + + Ptr++; + continue; + } + + // + // Non-prefetchable + // + if (Ptr->SpecificFlag == 0) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypeMem32, + PciResUsagePadding + ); + InsertResourceNode ( + Mem32Node, + Node + ); + } + + Ptr++; + continue; + } + } + + if (Ptr->AddrSpaceGranularity == 64) { + + // + // prefetchable + // + if (Ptr->SpecificFlag == 0x6) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypePMem64, + PciResUsagePadding + ); + InsertResourceNode ( + PMem64Node, + Node + ); + } + + Ptr++; + continue; + } + + // + // Non-prefetchable + // + if (Ptr->SpecificFlag == 0) { + if (Ptr->AddrLen != 0) { + Node = CreateResourceNode ( + PciDev, + Ptr->AddrLen, + Ptr->AddrRangeMax, + DummyBarIndex, + PciBarTypeMem64, + PciResUsagePadding + ); + InsertResourceNode ( + Mem64Node, + Node + ); + } + + Ptr++; + continue; + } + } + } + + Ptr++; + } +} + +/** + Get padding resource for PCI-PCI bridge. + + @param PciIoDevice PCI-PCI bridge device instance. + + @note Feature flag PcdPciBusHotplugDeviceSupport determines + whether need to pad resource for them. +**/ +VOID +GetResourcePaddingPpb ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + if (gPciHotPlugInit != NULL && FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { + if (PciIoDevice->ResourcePaddingDescriptors == NULL) { + GetResourcePaddingForHpb (PciIoDevice); + } + } +} + diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h new file mode 100644 index 0000000000..2a33f77e55 --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.h @@ -0,0 +1,456 @@ +/** @file + PCI resources support functions declaration for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_RESOURCE_SUPPORT_H_ +#define _EFI_PCI_RESOURCE_SUPPORT_H_ + +typedef enum { + PciResUsageTypical, + PciResUsagePadding +} PCI_RESOURCE_USAGE; + +#define PCI_RESOURCE_SIGNATURE SIGNATURE_32 ('p', 'c', 'r', 'c') + +typedef struct { + UINT32 Signature; + LIST_ENTRY Link; + LIST_ENTRY ChildList; + PCI_IO_DEVICE *PciDev; + UINT64 Alignment; + UINT64 Offset; + UINT8 Bar; + PCI_BAR_TYPE ResType; + UINT64 Length; + BOOLEAN Reserved; + PCI_RESOURCE_USAGE ResourceUsage; + BOOLEAN Virtual; +} PCI_RESOURCE_NODE; + +#define RESOURCE_NODE_FROM_LINK(a) \ + CR (a, PCI_RESOURCE_NODE, Link, PCI_RESOURCE_SIGNATURE) + +/** + The function is used to skip VGA range. + + @param Start Returned start address including VGA range. + @param Length The length of VGA range. + +**/ +VOID +SkipVGAAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ); + +/** + This function is used to skip ISA aliasing aperture. + + @param Start Returned start address including ISA aliasing aperture. + @param Length The length of ISA aliasing aperture. + +**/ +VOID +SkipIsaAliasAperture ( + OUT UINT64 *Start, + IN UINT64 Length + ); + +/** + This function inserts a resource node into the resource list. + The resource list is sorted in descend order. + + @param Bridge PCI resource node for bridge. + @param ResNode Resource node want to be inserted. + +**/ +VOID +InsertResourceNode ( + IN OUT PCI_RESOURCE_NODE *Bridge, + IN PCI_RESOURCE_NODE *ResNode + ); + +/** + This routine is used to merge two different resource trees in need of + resource degradation. + + For example, if an upstream PPB doesn't support, + prefetchable memory decoding, the PCI bus driver will choose to call this function + to merge prefetchable memory resource list into normal memory list. + + If the TypeMerge is TRUE, Res resource type is changed to the type of destination resource + type. + If Dst is NULL or Res is NULL, ASSERT (). + + @param Dst Point to destination resource tree. + @param Res Point to source resource tree. + @param TypeMerge If the TypeMerge is TRUE, Res resource type is changed to the type of + destination resource type. + +**/ +VOID +MergeResourceTree ( + IN PCI_RESOURCE_NODE *Dst, + IN PCI_RESOURCE_NODE *Res, + IN BOOLEAN TypeMerge + ); + +/** + This function is used to calculate the IO16 aperture + for a bridge. + + @param Bridge PCI resource node for bridge. + +**/ +VOID +CalculateApertureIo16 ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + This function is used to calculate the resource aperture + for a given bridge device. + + @param Bridge PCI resource node for given bridge device. + +**/ +VOID +CalculateResourceAperture ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Get IO/Memory resource info for given PCI device. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO . + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +GetResourceFromDevice ( + IN PCI_IO_DEVICE *PciDev, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ); + +/** + This function is used to create a resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ); + +/** + This function is used to create a IOV VF resource node. + + @param PciDev Pci device instance. + @param Length Length of Io/Memory resource. + @param Alignment Alignment of resource. + @param Bar Bar index. + @param ResType Type of resource: IO/Memory. + @param ResUsage Resource usage. + + @return PCI resource node created for given VF PCI device. + NULL means PCI resource node is not created. + +**/ +PCI_RESOURCE_NODE * +CreateVfResourceNode ( + IN PCI_IO_DEVICE *PciDev, + IN UINT64 Length, + IN UINT64 Alignment, + IN UINT8 Bar, + IN PCI_BAR_TYPE ResType, + IN PCI_RESOURCE_USAGE ResUsage + ); + +/** + This function is used to extract resource request from + device node list. + + @param Bridge Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +CreateResourceMap ( + IN PCI_IO_DEVICE *Bridge, + IN OUT PCI_RESOURCE_NODE *IoNode, + IN OUT PCI_RESOURCE_NODE *Mem32Node, + IN OUT PCI_RESOURCE_NODE *PMem32Node, + IN OUT PCI_RESOURCE_NODE *Mem64Node, + IN OUT PCI_RESOURCE_NODE *PMem64Node + ); + +/** + This function is used to do the resource padding for a specific platform. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingPolicy ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + This function is used to degrade resource if the upstream bridge + doesn't support certain resource. Degradation path is + PMEM64 -> MEM64 -> MEM32 + PMEM64 -> PMEM32 -> MEM32 + IO32 -> IO16. + + @param Bridge Pci device instance. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +DegradeResource ( + IN PCI_IO_DEVICE *Bridge, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + Test whether bridge device support decode resource. + + @param Bridge Bridge device instance. + @param Decode Decode type according to resource type. + + @return TRUE The bridge device support decode resource. + @return FALSE The bridge device don't support decode resource. + +**/ +BOOLEAN +BridgeSupportResourceDecode ( + IN PCI_IO_DEVICE *Bridge, + IN UINT32 Decode + ); + +/** + This function is used to program the resource allocated + for each resource node under specified bridge. + + @param Base Base address of resource to be programmed. + @param Bridge PCI resource node for the bridge device. + + @retval EFI_SUCCESS Successfully to program all resources + on given PCI bridge device. + @retval EFI_OUT_OF_RESOURCES Base is all one. + +**/ +EFI_STATUS +ProgramResource ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Program Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +VOID +ProgramBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Program IOV VF Bar register for PCI device. + + @param Base Base address for PCI device resource to be programmed. + @param Node Point to resource node structure. + +**/ +EFI_STATUS +ProgramVfBar ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Program PCI-PCI bridge aperture. + + @param Base Base address for resource. + @param Node Point to resource node structure. + +**/ +VOID +ProgramPpbApperture ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Program parent bridge for Option Rom. + + @param PciDevice Pci device instance. + @param OptionRomBase Base address for Option Rom. + @param Enable Enable or disable PCI memory. + +**/ +VOID +ProgramUpstreamBridgeForRom ( + IN PCI_IO_DEVICE *PciDevice, + IN UINT32 OptionRomBase, + IN BOOLEAN Enable + ); + +/** + Test whether resource exists for a bridge. + + @param Bridge Point to resource node for a bridge. + + @retval TRUE There is resource on the given bridge. + @retval FALSE There isn't resource on the given bridge. + +**/ +BOOLEAN +ResourceRequestExisted ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Initialize resource pool structure. + + @param ResourcePool Point to resource pool structure. This pool + is reset to all zero when returned. + @param ResourceType Type of resource. + +**/ +VOID +InitializeResourcePool ( + IN OUT PCI_RESOURCE_NODE *ResourcePool, + IN PCI_BAR_TYPE ResourceType + ); + +/** + Destroy given resource tree. + + @param Bridge PCI resource root node of resource tree. + +**/ +VOID +DestroyResourceTree ( + IN PCI_RESOURCE_NODE *Bridge + ); + +/** + Insert resource padding for P2C. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ResourcePaddingForCardBusBridge ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + Program PCI Card device register for given resource node. + + @param Base Base address of PCI Card device to be programmed. + @param Node Given resource node. + +**/ +VOID +ProgramP2C ( + IN UINT64 Base, + IN PCI_RESOURCE_NODE *Node + ); + +/** + Create padding resource node. + + @param PciDev Pci device instance. + @param IoNode Resource info node for IO. + @param Mem32Node Resource info node for 32-bit memory. + @param PMem32Node Resource info node for 32-bit Prefetchable Memory. + @param Mem64Node Resource info node for 64-bit memory. + @param PMem64Node Resource info node for 64-bit Prefetchable Memory. + +**/ +VOID +ApplyResourcePadding ( + IN PCI_IO_DEVICE *PciDev, + IN PCI_RESOURCE_NODE *IoNode, + IN PCI_RESOURCE_NODE *Mem32Node, + IN PCI_RESOURCE_NODE *PMem32Node, + IN PCI_RESOURCE_NODE *Mem64Node, + IN PCI_RESOURCE_NODE *PMem64Node + ); + +/** + Get padding resource for PCI-PCI bridge. + + @param PciIoDevice PCI-PCI bridge device instance. + + @note Feature flag PcdPciBusHotplugDeviceSupport determines + whether need to pad resource for them. +**/ +VOID +GetResourcePaddingPpb ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c new file mode 100644 index 0000000000..507aed5cfe --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.c @@ -0,0 +1,135 @@ +/** @file + Set up ROM Table for PCI Bus module. + +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "PciBus.h" + +// +// PCI ROM image information +// +typedef struct { + EFI_HANDLE ImageHandle; + UINTN Seg; + UINT8 Bus; + UINT8 Dev; + UINT8 Func; + VOID *RomImage; + UINT64 RomSize; +} PCI_ROM_IMAGE; + +UINTN mNumberOfPciRomImages = 0; +UINTN mMaxNumberOfPciRomImages = 0; +PCI_ROM_IMAGE *mRomImageTable = NULL; + +/** + Add the Rom Image to internal database for later PCI light enumeration. + + @param ImageHandle Option Rom image handle. + @param Seg Segment of PCI space. + @param Bus Bus NO of PCI space. + @param Dev Dev NO of PCI space. + @param Func Func NO of PCI space. + @param RomImage Option Rom buffer. + @param RomSize Size of Option Rom buffer. +**/ +VOID +PciRomAddImageMapping ( + IN EFI_HANDLE ImageHandle, + IN UINTN Seg, + IN UINT8 Bus, + IN UINT8 Dev, + IN UINT8 Func, + IN VOID *RomImage, + IN UINT64 RomSize + ) +{ + UINTN Index; + PCI_ROM_IMAGE *NewTable; + + for (Index = 0; Index < mNumberOfPciRomImages; Index++) { + if (mRomImageTable[Index].Seg == Seg && + mRomImageTable[Index].Bus == Bus && + mRomImageTable[Index].Dev == Dev && + mRomImageTable[Index].Func == Func) { + // + // Expect once RomImage and RomSize are recorded, they will be passed in + // later when updating ImageHandle + // + ASSERT ((mRomImageTable[Index].RomImage == NULL) || (RomImage == mRomImageTable[Index].RomImage)); + ASSERT ((mRomImageTable[Index].RomSize == 0 ) || (RomSize == mRomImageTable[Index].RomSize )); + break; + } + } + + if (Index == mNumberOfPciRomImages) { + // + // Rom Image Table buffer needs to grow. + // + if (mNumberOfPciRomImages == mMaxNumberOfPciRomImages) { + NewTable = ReallocatePool ( + mMaxNumberOfPciRomImages * sizeof (PCI_ROM_IMAGE), + (mMaxNumberOfPciRomImages + 0x20) * sizeof (PCI_ROM_IMAGE), + mRomImageTable + ); + if (NewTable == NULL) { + return ; + } + + mRomImageTable = NewTable; + mMaxNumberOfPciRomImages += 0x20; + } + // + // Record the new PCI device + // + mRomImageTable[Index].Seg = Seg; + mRomImageTable[Index].Bus = Bus; + mRomImageTable[Index].Dev = Dev; + mRomImageTable[Index].Func = Func; + mNumberOfPciRomImages++; + } + + mRomImageTable[Index].ImageHandle = ImageHandle; + mRomImageTable[Index].RomImage = RomImage; + mRomImageTable[Index].RomSize = RomSize; +} + +/** + Get Option rom driver's mapping for PCI device. + + @param PciIoDevice Device instance. + + @retval TRUE Found Image mapping. + @retval FALSE Cannot found image mapping. + +**/ +BOOLEAN +PciRomGetImageMapping ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; + UINTN Index; + + PciRootBridgeIo = PciIoDevice->PciRootBridgeIo; + + for (Index = 0; Index < mNumberOfPciRomImages; Index++) { + if (mRomImageTable[Index].Seg == PciRootBridgeIo->SegmentNumber && + mRomImageTable[Index].Bus == PciIoDevice->BusNumber && + mRomImageTable[Index].Dev == PciIoDevice->DeviceNumber && + mRomImageTable[Index].Func == PciIoDevice->FunctionNumber ) { + + if (mRomImageTable[Index].ImageHandle != NULL) { + AddDriver (PciIoDevice, mRomImageTable[Index].ImageHandle, NULL); + } + PciIoDevice->PciIo.RomImage = mRomImageTable[Index].RomImage; + PciIoDevice->PciIo.RomSize = mRomImageTable[Index].RomSize; + return TRUE; + } + } + + return FALSE; +} diff --git a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h new file mode 100644 index 0000000000..fb356bd6de --- /dev/null +++ b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe/PciRomTable.h @@ -0,0 +1,48 @@ +/** @file + Set up ROM Table for PCI Bus module. + +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _EFI_PCI_ROM_TABLE_H_ +#define _EFI_PCI_ROM_TABLE_H_ + +/** + Add the Rom Image to internal database for later PCI light enumeration. + + @param ImageHandle Option Rom image handle. + @param Seg Segment of PCI space. + @param Bus Bus NO of PCI space. + @param Dev Dev NO of PCI space. + @param Func Func NO of PCI space. + @param RomImage Option Rom buffer. + @param RomSize Size of Option Rom buffer. +**/ +VOID +PciRomAddImageMapping ( + IN EFI_HANDLE ImageHandle, + IN UINTN Seg, + IN UINT8 Bus, + IN UINT8 Dev, + IN UINT8 Func, + IN VOID *RomImage, + IN UINT64 RomSize + ); + +/** + Get Option rom driver's mapping for PCI device. + + @param PciIoDevice Device instance. + + @retval TRUE Found Image mapping. + @retval FALSE Cannot found image mapping. + +**/ +BOOLEAN +PciRomGetImageMapping ( + IN PCI_IO_DEVICE *PciIoDevice + ); + +#endif -- 2.25.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver. 2021-06-16 21:47 [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver manickavasakam karpagavinayagam @ 2021-07-29 2:10 ` Nate DeSimone 0 siblings, 0 replies; 11+ messages in thread From: Nate DeSimone @ 2021-07-29 2:10 UTC (permalink / raw) To: KARPAGAVINAYAGAM, MANICKAVASAKAM, devel@edk2.groups.io Cc: Oram, Isaac W, Felixp@ami.com, DOPPALAPUDI, HARIKRISHNA, Jha, Manish, Bobroff, Zachary, KARPAGAVINAYAGAM, MANICKAVASAKAM Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> > -----Original Message----- > From: manickavasakam karpagavinayagam <manickavasakamk@ami.com> > Sent: Wednesday, June 16, 2021 2:48 PM > To: devel@edk2.groups.io > Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desimone@intel.com>; Felixp@ami.com; DOPPALAPUDI, > HARIKRISHNA <harikrishnad@ami.com>; Jha, Manish <manishj@ami.com>; > Bobroff, Zachary <zacharyb@ami.com>; KARPAGAVINAYAGAM, > MANICKAVASAKAM <manickavasakamk@ami.com> > Subject: [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override > generic PciBus Driver with Platform specific instance of PciBus driver. > > Overriden generic PciBus Driver with Platform specific instance of PciBus > driver > To skip SPI controller initialization during PCI enumeration to avoid SET > variable > assert issue during POST > To skip executing a specific MLX card UEFI OPROM > Move > PurleyOpenBoardPkg/Override/edk2/MdeModulePkg/Bus/Pci/PciBusDxe to > PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/PciBusDxe > --- > .../BoardTiogaPass/CoreDxeInclude.dsc | 5 +- > .../BoardTiogaPass/CoreUefiBootInclude.fdf | 5 +- > .../Bus/Pci/PciBusDxe/ComponentName.c | 170 + > .../Bus/Pci/PciBusDxe/ComponentName.h | 146 + > .../MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c | 460 +++ > .../MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h | 396 +++ > .../Bus/Pci/PciBusDxe/PciBusDxe.inf | 112 + > .../Bus/Pci/PciBusDxe/PciBusDxe.uni | 16 + > .../Bus/Pci/PciBusDxe/PciBusDxeExtra.uni | 14 + > .../Bus/Pci/PciBusDxe/PciCommand.c | 267 ++ > .../Bus/Pci/PciBusDxe/PciCommand.h | 232 ++ > .../Bus/Pci/PciBusDxe/PciDeviceSupport.c | 1056 ++++++ > .../Bus/Pci/PciBusDxe/PciDeviceSupport.h | 266 ++ > .../Bus/Pci/PciBusDxe/PciDriverOverride.c | 188 ++ > .../Bus/Pci/PciBusDxe/PciDriverOverride.h | 83 + > .../Bus/Pci/PciBusDxe/PciEnumerator.c | 2210 +++++++++++++ > .../Bus/Pci/PciBusDxe/PciEnumerator.h | 515 +++ > .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 2885 > +++++++++++++++++ > .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.h | 480 +++ > .../Bus/Pci/PciBusDxe/PciHotPlugSupport.c | 484 +++ > .../Bus/Pci/PciBusDxe/PciHotPlugSupport.h | 205 ++ > .../MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c | 2087 ++++++++++++ > .../MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h | 660 ++++ > .../MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c | 1809 +++++++++++ > .../MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.h | 179 + > .../Bus/Pci/PciBusDxe/PciOptionRomSupport.c | 776 +++++ > .../Bus/Pci/PciBusDxe/PciOptionRomSupport.h | 136 + > .../Bus/Pci/PciBusDxe/PciPowerManagement.c | 82 + > .../Bus/Pci/PciBusDxe/PciPowerManagement.h | 28 + > .../Bus/Pci/PciBusDxe/PciResourceSupport.c | 2292 +++++++++++++ > .../Bus/Pci/PciBusDxe/PciResourceSupport.h | 456 +++ > .../Bus/Pci/PciBusDxe/PciRomTable.c | 135 + > .../Bus/Pci/PciBusDxe/PciRomTable.h | 48 + > 33 files changed, 18881 insertions(+), 2 deletions(-) > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/ComponentName.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/ComponentName.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciBus.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciBus.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciBusDxe.inf > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciBusDxe.uni > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciBusDxeExtra.uni > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciCommand.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciCommand.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciDeviceSupport.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciDeviceSupport.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciDriverOverride.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciDriverOverride.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciEnumerator.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciEnumerator.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciEnumeratorSupport.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciEnumeratorSupport.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciHotPlugSupport.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciHotPlugSupport.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciIo.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciIo.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciLib.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciLib.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciOptionRomSupport.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciOptionRomSupport.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciPowerManagement.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciPowerManagement.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciResourceSupport.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciResourceSupport.h > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciRomTable.c > create mode 100644 > Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/Pci > BusDxe/PciRomTable.h > > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc > b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc > index 7dcb892dd5..b0660d72dd 100644 > --- > a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc > +++ > b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreDxeInclude.dsc > @@ -78,7 +78,10 @@ > PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf > > #MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf > - MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf > +#TiogaPass Override START :Skip OPROM for specific Mellanox card & SPI > Controller > + #MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf > + > $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBus > Dxe/PciBusDxe.inf > +#TiogaPass Override END > > MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf > MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclud > e.fdf > b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclud > e.fdf > index 478a818546..141ce5dda3 100644 > --- > a/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclud > e.fdf > +++ > b/Platform/Intel/PurleyOpenBoardPkg/BoardTiogaPass/CoreUefiBootInclud > e.fdf > @@ -42,7 +42,10 @@ INF > MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntime > Dxe.inf > INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf > > #INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf > -INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf > +#TiogaPass Override START :Skip OPROM for specific Mellanox card & SPI > Controller > + #INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf > + INF > $(PLATFORM_BOARD_PACKAGE)/Override/MdeModulePkg/Bus/Pci/PciBus > Dxe/PciBusDxe.inf > +#TiogaPass Override END > > INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf > INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/ComponentName.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/ComponentName.c > new file mode 100644 > index 0000000000..f3554507e2 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/ComponentName.c > @@ -0,0 +1,170 @@ > +/** @file > + EFI Component Name functions implementation for PCI Bus module. > + > +Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +// > +// EFI Component Name Protocol > +// > +GLOBAL_REMOVE_IF_UNREFERENCED > EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName = { > + PciBusComponentNameGetDriverName, > + PciBusComponentNameGetControllerName, > + "eng" > +}; > + > +// > +// EFI Component Name 2 Protocol > +// > +GLOBAL_REMOVE_IF_UNREFERENCED > EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2 = { > + (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) > PciBusComponentNameGetDriverName, > + (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) > PciBusComponentNameGetControllerName, > + "en" > +}; > + > + > +GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE > mPciBusDriverNameTable[] = { > + { "eng;en", (CHAR16 *) L"PCI Bus Driver" }, > + { NULL , NULL } > +}; > + > +/** > + Retrieves a Unicode string that is the user readable name of the driver. > + > + This function retrieves the user readable name of a driver in the form of a > + Unicode string. If the driver specified by This has a user readable name in > + the language specified by Language, then a pointer to the driver name is > + returned in DriverName, and EFI_SUCCESS is returned. If the driver > specified > + by This does not support the language specified by Language, > + then EFI_UNSUPPORTED is returned. > + > + @param This[in] A pointer to the > EFI_COMPONENT_NAME2_PROTOCOL or > + EFI_COMPONENT_NAME_PROTOCOL instance. > + > + @param Language[in] A pointer to a Null-terminated ASCII string > + array indicating the language. This is the > + language of the driver name that the caller is > + requesting, and it must match one of the > + languages specified in SupportedLanguages. The > + number of languages supported by a driver is up > + to the driver writer. Language is specified > + in RFC 4646 or ISO 639-2 language code format. > + > + @param DriverName[out] A pointer to the Unicode string to return. > + This Unicode string is the name of the > + driver specified by This in the language > + specified by Language. > + > + @retval EFI_SUCCESS The Unicode string for the Driver specified by > + This and the language specified by Language was > + returned in DriverName. > + > + @retval EFI_INVALID_PARAMETER Language is NULL. > + > + @retval EFI_INVALID_PARAMETER DriverName is NULL. > + > + @retval EFI_UNSUPPORTED The driver specified by This does not > support > + the language specified by Language. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusComponentNameGetDriverName ( > + IN EFI_COMPONENT_NAME_PROTOCOL *This, > + IN CHAR8 *Language, > + OUT CHAR16 **DriverName > + ) > +{ > + return LookupUnicodeString2 ( > + Language, > + This->SupportedLanguages, > + mPciBusDriverNameTable, > + DriverName, > + (BOOLEAN)(This == &gPciBusComponentName) > + ); > +} > + > +/** > + Retrieves a Unicode string that is the user readable name of the controller > + that is being managed by a driver. > + > + This function retrieves the user readable name of the controller specified > by > + ControllerHandle and ChildHandle in the form of a Unicode string. If the > + driver specified by This has a user readable name in the language specified > by > + Language, then a pointer to the controller name is returned in > ControllerName, > + and EFI_SUCCESS is returned. If the driver specified by This is not currently > + managing the controller specified by ControllerHandle and ChildHandle, > + then EFI_UNSUPPORTED is returned. If the driver specified by This does > not > + support the language specified by Language, then EFI_UNSUPPORTED is > returned. > + > + @param This[in] A pointer to the > EFI_COMPONENT_NAME2_PROTOCOL or > + EFI_COMPONENT_NAME_PROTOCOL instance. > + > + @param ControllerHandle[in] The handle of a controller that the driver > + specified by This is managing. This handle > + specifies the controller whose name is to be > + returned. > + > + @param ChildHandle[in] The handle of the child controller to retrieve > + the name of. This is an optional parameter that > + may be NULL. It will be NULL for device > + drivers. It will also be NULL for a bus drivers > + that wish to retrieve the name of the bus > + controller. It will not be NULL for a bus > + driver that wishes to retrieve the name of a > + child controller. > + > + @param Language[in] A pointer to a Null-terminated ASCII string > + array indicating the language. This is the > + language of the driver name that the caller is > + requesting, and it must match one of the > + languages specified in SupportedLanguages. The > + number of languages supported by a driver is up > + to the driver writer. Language is specified in > + RFC 4646 or ISO 639-2 language code format. > + > + @param ControllerName[out] A pointer to the Unicode string to return. > + This Unicode string is the name of the > + controller specified by ControllerHandle and > + ChildHandle in the language specified by > + Language from the point of view of the driver > + specified by This. > + > + @retval EFI_SUCCESS The Unicode string for the user readable name > in > + the language specified by Language for the > + driver specified by This was returned in > + DriverName. > + > + @retval EFI_INVALID_PARAMETER ControllerHandle is NULL. > + > + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a > valid > + EFI_HANDLE. > + > + @retval EFI_INVALID_PARAMETER Language is NULL. > + > + @retval EFI_INVALID_PARAMETER ControllerName is NULL. > + > + @retval EFI_UNSUPPORTED The driver specified by This is not currently > + managing the controller specified by > + ControllerHandle and ChildHandle. > + > + @retval EFI_UNSUPPORTED The driver specified by This does not > support > + the language specified by Language. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusComponentNameGetControllerName ( > + IN EFI_COMPONENT_NAME_PROTOCOL *This, > + IN EFI_HANDLE ControllerHandle, > + IN EFI_HANDLE ChildHandle OPTIONAL, > + IN CHAR8 *Language, > + OUT CHAR16 **ControllerName > + ) > +{ > + return EFI_UNSUPPORTED; > +} > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/ComponentName.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/ComponentName.h > new file mode 100644 > index 0000000000..fc3c672760 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/ComponentName.h > @@ -0,0 +1,146 @@ > +/** @file > + EFI Component Name functions declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > + > +#ifndef _EFI_PCI_BUS_COMPONENT_NAME_H_ > +#define _EFI_PCI_BUS_COMPONENT_NAME_H_ > + > +extern EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName; > +extern EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2; > + > +// > +// EFI Component Name Functions > +// > +/** > + Retrieves a Unicode string that is the user readable name of the driver. > + > + This function retrieves the user readable name of a driver in the form of a > + Unicode string. If the driver specified by This has a user readable name in > + the language specified by Language, then a pointer to the driver name is > + returned in DriverName, and EFI_SUCCESS is returned. If the driver > specified > + by This does not support the language specified by Language, > + then EFI_UNSUPPORTED is returned. > + > + @param This[in] A pointer to the > EFI_COMPONENT_NAME2_PROTOCOL or > + EFI_COMPONENT_NAME_PROTOCOL instance. > + > + @param Language[in] A pointer to a Null-terminated ASCII string > + array indicating the language. This is the > + language of the driver name that the caller is > + requesting, and it must match one of the > + languages specified in SupportedLanguages. The > + number of languages supported by a driver is up > + to the driver writer. Language is specified > + in RFC 4646 or ISO 639-2 language code format. > + > + @param DriverName[out] A pointer to the Unicode string to return. > + This Unicode string is the name of the > + driver specified by This in the language > + specified by Language. > + > + @retval EFI_SUCCESS The Unicode string for the Driver specified by > + This and the language specified by Language was > + returned in DriverName. > + > + @retval EFI_INVALID_PARAMETER Language is NULL. > + > + @retval EFI_INVALID_PARAMETER DriverName is NULL. > + > + @retval EFI_UNSUPPORTED The driver specified by This does not > support > + the language specified by Language. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusComponentNameGetDriverName ( > + IN EFI_COMPONENT_NAME_PROTOCOL *This, > + IN CHAR8 *Language, > + OUT CHAR16 **DriverName > + ); > + > + > +/** > + Retrieves a Unicode string that is the user readable name of the controller > + that is being managed by a driver. > + > + This function retrieves the user readable name of the controller specified > by > + ControllerHandle and ChildHandle in the form of a Unicode string. If the > + driver specified by This has a user readable name in the language specified > by > + Language, then a pointer to the controller name is returned in > ControllerName, > + and EFI_SUCCESS is returned. If the driver specified by This is not currently > + managing the controller specified by ControllerHandle and ChildHandle, > + then EFI_UNSUPPORTED is returned. If the driver specified by This does > not > + support the language specified by Language, then EFI_UNSUPPORTED is > returned. > + > + @param This[in] A pointer to the > EFI_COMPONENT_NAME2_PROTOCOL or > + EFI_COMPONENT_NAME_PROTOCOL instance. > + > + @param ControllerHandle[in] The handle of a controller that the driver > + specified by This is managing. This handle > + specifies the controller whose name is to be > + returned. > + > + @param ChildHandle[in] The handle of the child controller to retrieve > + the name of. This is an optional parameter that > + may be NULL. It will be NULL for device > + drivers. It will also be NULL for a bus drivers > + that wish to retrieve the name of the bus > + controller. It will not be NULL for a bus > + driver that wishes to retrieve the name of a > + child controller. > + > + @param Language[in] A pointer to a Null-terminated ASCII string > + array indicating the language. This is the > + language of the driver name that the caller is > + requesting, and it must match one of the > + languages specified in SupportedLanguages. The > + number of languages supported by a driver is up > + to the driver writer. Language is specified in > + RFC 4646 or ISO 639-2 language code format. > + > + @param ControllerName[out] A pointer to the Unicode string to return. > + This Unicode string is the name of the > + controller specified by ControllerHandle and > + ChildHandle in the language specified by > + Language from the point of view of the driver > + specified by This. > + > + @retval EFI_SUCCESS The Unicode string for the user readable name > in > + the language specified by Language for the > + driver specified by This was returned in > + DriverName. > + > + @retval EFI_INVALID_PARAMETER ControllerHandle is NULL. > + > + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a > valid > + EFI_HANDLE. > + > + @retval EFI_INVALID_PARAMETER Language is NULL. > + > + @retval EFI_INVALID_PARAMETER ControllerName is NULL. > + > + @retval EFI_UNSUPPORTED The driver specified by This is not currently > + managing the controller specified by > + ControllerHandle and ChildHandle. > + > + @retval EFI_UNSUPPORTED The driver specified by This does not > support > + the language specified by Language. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusComponentNameGetControllerName ( > + IN EFI_COMPONENT_NAME_PROTOCOL *This, > + IN EFI_HANDLE ControllerHandle, > + IN EFI_HANDLE ChildHandle OPTIONAL, > + IN CHAR8 *Language, > + OUT CHAR16 **ControllerName > + ); > + > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBus.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBus.c > new file mode 100644 > index 0000000000..682b2dac38 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBus.c > @@ -0,0 +1,460 @@ > +/** @file > + Driver Binding functions for PCI Bus module. > + > + Single PCI bus driver instance will manager all PCI Root Bridges in one EFI > based firmware, > + since all PCI Root Bridges' resources need to be managed together. > + Supported() function will try to get PCI Root Bridge IO Protocol. > + Start() function will get PCI Host Bridge Resource Allocation Protocol to > manage all > + PCI Root Bridges. So it means platform needs install PCI Root Bridge IO > protocol for each > + PCI Root Bus and install PCI Host Bridge Resource Allocation Protocol. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +// > +// PCI Bus Driver Global Variables > +// > +EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding = { > + PciBusDriverBindingSupported, > + PciBusDriverBindingStart, > + PciBusDriverBindingStop, > + 0xa, > + NULL, > + NULL > +}; > + > +EFI_HANDLE > gPciHostBrigeHandles[PCI_MAX_HOST_BRIDGE_NUM]; > +EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL > *gIncompatiblePciDeviceSupport = NULL; > +UINTN gPciHostBridgeNumber = 0; > +BOOLEAN gFullEnumeration = TRUE; > +UINT64 gAllOne = 0xFFFFFFFFFFFFFFFFULL; > +UINT64 gAllZero = 0; > + > +EFI_PCI_PLATFORM_PROTOCOL *gPciPlatformProtocol; > +EFI_PCI_OVERRIDE_PROTOCOL *gPciOverrideProtocol; > +EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; > +EDKII_DEVICE_SECURITY_PROTOCOL *mDeviceSecurityProtocol; > + > +GLOBAL_REMOVE_IF_UNREFERENCED > EFI_PCI_HOTPLUG_REQUEST_PROTOCOL mPciHotPlugRequest = { > + PciHotPlugRequestNotify > +}; > + > +/** > + The Entry Point for PCI Bus module. The user code starts with this function. > + > + Installs driver module protocols and. Creates virtual device handles for > ConIn, > + ConOut, and StdErr. Installs Simple Text In protocol, Simple Text In Ex > protocol, > + Simple Pointer protocol, Absolute Pointer protocol on those virtual > handlers. > + Installs Graphics Output protocol and/or UGA Draw protocol if needed. > + > + @param[in] ImageHandle The firmware allocated handle for the EFI > image. > + @param[in] SystemTable A pointer to the EFI System Table. > + > + @retval EFI_SUCCESS The entry point is executed successfully. > + @retval other Some error occurred when executing this entry point. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusEntryPoint ( > + IN EFI_HANDLE ImageHandle, > + IN EFI_SYSTEM_TABLE *SystemTable > + ) > +{ > + EFI_STATUS Status; > + EFI_HANDLE Handle; > + > + // > + // Initializes PCI devices pool > + // > + InitializePciDevicePool (); > + > + // > + // Install driver model protocol(s). > + // > + Status = EfiLibInstallDriverBindingComponentName2 ( > + ImageHandle, > + SystemTable, > + &gPciBusDriverBinding, > + ImageHandle, > + &gPciBusComponentName, > + &gPciBusComponentName2 > + ); > + ASSERT_EFI_ERROR (Status); > + > + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + // > + // If Hot Plug is supported, install EFI PCI Hot Plug Request protocol. > + // > + Handle = NULL; > + Status = gBS->InstallProtocolInterface ( > + &Handle, > + &gEfiPciHotPlugRequestProtocolGuid, > + EFI_NATIVE_INTERFACE, > + &mPciHotPlugRequest > + ); > + } > + > + return Status; > +} > + > +/** > + Test to see if this driver supports ControllerHandle. Any ControllerHandle > + than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be > supported. > + > + @param This Protocol instance pointer. > + @param Controller Handle of device to test. > + @param RemainingDevicePath Optional parameter use to pick a specific > child > + device to start. > + > + @retval EFI_SUCCESS This driver supports this device. > + @retval EFI_ALREADY_STARTED This driver is already running on this > device. > + @retval other This driver does not support this device. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusDriverBindingSupported ( > + IN EFI_DRIVER_BINDING_PROTOCOL *This, > + IN EFI_HANDLE Controller, > + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath > + ) > +{ > + EFI_STATUS Status; > + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + EFI_DEV_PATH_PTR Node; > + > + // > + // Check RemainingDevicePath validation > + // > + if (RemainingDevicePath != NULL) { > + // > + // Check if RemainingDevicePath is the End of Device Path Node, > + // if yes, go on checking other conditions > + // > + if (!IsDevicePathEnd (RemainingDevicePath)) { > + // > + // If RemainingDevicePath isn't the End of Device Path Node, > + // check its validation > + // > + Node.DevPath = RemainingDevicePath; > + if (Node.DevPath->Type != HARDWARE_DEVICE_PATH || > + Node.DevPath->SubType != HW_PCI_DP || > + DevicePathNodeLength(Node.DevPath) != sizeof(PCI_DEVICE_PATH)) > { > + return EFI_UNSUPPORTED; > + } > + } > + } > + > + // > + // Check if Pci Root Bridge IO protocol is installed by platform > + // > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo, > + This->DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_BY_DRIVER > + ); > + if (Status == EFI_ALREADY_STARTED) { > + return EFI_SUCCESS; > + } > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Close the I/O Abstraction(s) used to perform the supported test > + // > + gBS->CloseProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + This->DriverBindingHandle, > + Controller > + ); > + > + // > + // Open the EFI Device Path protocol needed to perform the supported > test > + // > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiDevicePathProtocolGuid, > + (VOID **) &ParentDevicePath, > + This->DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_BY_DRIVER > + ); > + if (Status == EFI_ALREADY_STARTED) { > + return EFI_SUCCESS; > + } > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Close protocol, don't use device path protocol in the Support() function > + // > + gBS->CloseProtocol ( > + Controller, > + &gEfiDevicePathProtocolGuid, > + This->DriverBindingHandle, > + Controller > + ); > + > + return EFI_SUCCESS; > +} > + > +/** > + Start this driver on ControllerHandle and enumerate Pci bus and start > + all device under PCI bus. > + > + @param This Protocol instance pointer. > + @param Controller Handle of device to bind driver to. > + @param RemainingDevicePath Optional parameter use to pick a specific > child > + device to start. > + > + @retval EFI_SUCCESS This driver is added to ControllerHandle. > + @retval EFI_ALREADY_STARTED This driver is already running on > ControllerHandle. > + @retval other This driver does not support this device. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusDriverBindingStart ( > + IN EFI_DRIVER_BINDING_PROTOCOL *This, > + IN EFI_HANDLE Controller, > + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath > + ) > +{ > + EFI_STATUS Status; > + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + > + // > + // Initialize PciRootBridgeIo to suppress incorrect compiler warning. > + // > + PciRootBridgeIo = NULL; > + > + // > + // Check RemainingDevicePath validation > + // > + if (RemainingDevicePath != NULL) { > + // > + // Check if RemainingDevicePath is the End of Device Path Node, > + // if yes, return EFI_SUCCESS > + // > + if (IsDevicePathEnd (RemainingDevicePath)) { > + return EFI_SUCCESS; > + } > + } > + > + gBS->LocateProtocol ( > + &gEfiIncompatiblePciDeviceSupportProtocolGuid, > + NULL, > + (VOID **) &gIncompatiblePciDeviceSupport > + ); > + > + // > + // If PCI Platform protocol is available, get it now. > + // If the platform implements this, it must be installed before BDS phase > + // > + gPciPlatformProtocol = NULL; > + gBS->LocateProtocol ( > + &gEfiPciPlatformProtocolGuid, > + NULL, > + (VOID **) &gPciPlatformProtocol > + ); > + > + // > + // If PCI Platform protocol doesn't exist, try to Pci Override Protocol. > + // > + if (gPciPlatformProtocol == NULL) { > + gPciOverrideProtocol = NULL; > + gBS->LocateProtocol ( > + &gEfiPciOverrideProtocolGuid, > + NULL, > + (VOID **) &gPciOverrideProtocol > + ); > + } > + > + if (mIoMmuProtocol == NULL) { > + gBS->LocateProtocol ( > + &gEdkiiIoMmuProtocolGuid, > + NULL, > + (VOID **) &mIoMmuProtocol > + ); > + } > + > + if (mDeviceSecurityProtocol == NULL) { > + gBS->LocateProtocol ( > + &gEdkiiDeviceSecurityProtocolGuid, > + NULL, > + (VOID **) &mDeviceSecurityProtocol > + ); > + } > + > + if (PcdGetBool (PcdPciDisableBusEnumeration)) { > + gFullEnumeration = FALSE; > + } else { > + gFullEnumeration = (BOOLEAN) ((SearchHostBridgeHandle (Controller) ? > FALSE : TRUE)); > + } > + > + // > + // Open Device Path Protocol for PCI root bridge > + // > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiDevicePathProtocolGuid, > + (VOID **) &ParentDevicePath, > + This->DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + ASSERT_EFI_ERROR (Status); > + > + // > + // Report Status Code to indicate PCI bus starts > + // > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_PROGRESS_CODE, > + (EFI_IO_BUS_PCI | EFI_IOB_PC_INIT), > + ParentDevicePath > + ); > + > + Status = EFI_SUCCESS; > + // > + // Enumerate the entire host bridge > + // After enumeration, a database that records all the device information > will be created > + // > + // > + if (gFullEnumeration) { > + // > + // Get the rootbridge Io protocol to find the host bridge handle > + // > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo, > + gPciBusDriverBinding.DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + > + if (!EFI_ERROR (Status)) { > + Status = PciEnumerator (Controller, PciRootBridgeIo->ParentHandle); > + } > + } else { > + // > + // If PCI bus has already done the full enumeration, never do it again > + // > + Status = PciEnumeratorLight (Controller); > + } > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Start all the devices under the entire host bridge. > + // > + StartPciDevices (Controller); > + > + if (gFullEnumeration) { > + gFullEnumeration = FALSE; > + > + Status = gBS->InstallProtocolInterface ( > + &PciRootBridgeIo->ParentHandle, > + &gEfiPciEnumerationCompleteProtocolGuid, > + EFI_NATIVE_INTERFACE, > + NULL > + ); > + ASSERT_EFI_ERROR (Status); > + } > + > + return Status; > +} > + > +/** > + Stop this driver on ControllerHandle. Support stopping any child handles > + created by this driver. > + > + @param This Protocol instance pointer. > + @param Controller Handle of device to stop driver on. > + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If > number of > + children is zero stop the entire bus driver. > + @param ChildHandleBuffer List of Child Handles to Stop. > + > + @retval EFI_SUCCESS This driver is removed ControllerHandle. > + @retval other This driver was not removed from this device. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusDriverBindingStop ( > + IN EFI_DRIVER_BINDING_PROTOCOL *This, > + IN EFI_HANDLE Controller, > + IN UINTN NumberOfChildren, > + IN EFI_HANDLE *ChildHandleBuffer > + ) > +{ > + EFI_STATUS Status; > + UINTN Index; > + BOOLEAN AllChildrenStopped; > + > + if (NumberOfChildren == 0) { > + // > + // Close the bus driver > + // > + gBS->CloseProtocol ( > + Controller, > + &gEfiDevicePathProtocolGuid, > + This->DriverBindingHandle, > + Controller > + ); > + gBS->CloseProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + This->DriverBindingHandle, > + Controller > + ); > + > + DestroyRootBridgeByHandle ( > + Controller > + ); > + > + return EFI_SUCCESS; > + } > + > + // > + // Stop all the children > + // > + > + AllChildrenStopped = TRUE; > + > + for (Index = 0; Index < NumberOfChildren; Index++) { > + > + // > + // De register all the pci device > + // > + Status = DeRegisterPciDevice (Controller, ChildHandleBuffer[Index]); > + > + if (EFI_ERROR (Status)) { > + AllChildrenStopped = FALSE; > + } > + } > + > + if (!AllChildrenStopped) { > + return EFI_DEVICE_ERROR; > + } > + > + return EFI_SUCCESS; > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBus.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBus.h > new file mode 100644 > index 0000000000..967933e278 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBus.h > @@ -0,0 +1,396 @@ > +/** @file > + Header files and data structures needed by PCI Bus module. > + > +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > + > +#ifndef _EFI_PCI_BUS_H_ > +#define _EFI_PCI_BUS_H_ > + > +#include <PiDxe.h> > + > +#include <Protocol/LoadedImage.h> > +#include <Protocol/PciHostBridgeResourceAllocation.h> > +#include <Protocol/PciIo.h> > +#include <Protocol/LoadFile2.h> > +#include <Protocol/PciRootBridgeIo.h> > +#include <Protocol/PciHotPlugRequest.h> > +#include <Protocol/DevicePath.h> > +#include <Protocol/PciPlatform.h> > +#include <Protocol/PciHotPlugInit.h> > +#include <Protocol/Decompress.h> > +#include <Protocol/BusSpecificDriverOverride.h> > +#include <Protocol/IncompatiblePciDeviceSupport.h> > +#include <Protocol/PciOverride.h> > +#include <Protocol/PciEnumerationComplete.h> > +#include <Protocol/IoMmu.h> > +#include <Protocol/DeviceSecurity.h> > + > +#include <Library/DebugLib.h> > +#include <Library/UefiDriverEntryPoint.h> > +#include <Library/BaseLib.h> > +#include <Library/UefiLib.h> > +#include <Library/BaseMemoryLib.h> > +#include <Library/ReportStatusCodeLib.h> > +#include <Library/MemoryAllocationLib.h> > +#include <Library/UefiBootServicesTableLib.h> > +#include <Library/DevicePathLib.h> > +#include <Library/PcdLib.h> > + > +#include <IndustryStandard/Pci.h> > +#include <IndustryStandard/PeImage.h> > +#include <IndustryStandard/Acpi.h> > + > +typedef struct _PCI_IO_DEVICE PCI_IO_DEVICE; > +typedef struct _PCI_BAR PCI_BAR; > + > +#define EFI_PCI_RID(Bus, Device, Function) (((UINT32)Bus << 8) + > ((UINT32)Device << 3) + (UINT32)Function) > +#define EFI_PCI_BUS_OF_RID(RID) ((UINT32)RID >> 8) > + > +#define EFI_PCI_IOV_POLICY_ARI 0x0001 > +#define EFI_PCI_IOV_POLICY_SRIOV 0x0002 > +#define EFI_PCI_IOV_POLICY_MRIOV 0x0004 > + > +typedef enum { > + PciBarTypeUnknown = 0, > + PciBarTypeIo16, > + PciBarTypeIo32, > + PciBarTypeMem32, > + PciBarTypePMem32, > + PciBarTypeMem64, > + PciBarTypePMem64, > + PciBarTypeOpRom, > + PciBarTypeIo, > + PciBarTypeMem, > + PciBarTypeMaxType > +} PCI_BAR_TYPE; > + > +#include "ComponentName.h" > +#include "PciIo.h" > +#include "PciCommand.h" > +#include "PciDeviceSupport.h" > +#include "PciEnumerator.h" > +#include "PciEnumeratorSupport.h" > +#include "PciDriverOverride.h" > +#include "PciRomTable.h" > +#include "PciOptionRomSupport.h" > +#include "PciPowerManagement.h" > +#include "PciHotPlugSupport.h" > +#include "PciLib.h" > + > +#define VGABASE1 0x3B0 > +#define VGALIMIT1 0x3BB > + > +#define VGABASE2 0x3C0 > +#define VGALIMIT2 0x3DF > + > +#define ISABASE 0x100 > +#define ISALIMIT 0x3FF > + > +// > +// PCI BAR parameters > +// > +struct _PCI_BAR { > + UINT64 BaseAddress; > + UINT64 Length; > + UINT64 Alignment; > + PCI_BAR_TYPE BarType; > + BOOLEAN BarTypeFixed; > + UINT16 Offset; > +}; > + > +// > +// defined in PCI Card Specification, 8.0 > +// > +#define PCI_CARD_MEMORY_BASE_0 0x1C > +#define PCI_CARD_MEMORY_LIMIT_0 0x20 > +#define PCI_CARD_MEMORY_BASE_1 0x24 > +#define PCI_CARD_MEMORY_LIMIT_1 0x28 > +#define PCI_CARD_IO_BASE_0_LOWER 0x2C > +#define PCI_CARD_IO_BASE_0_UPPER 0x2E > +#define PCI_CARD_IO_LIMIT_0_LOWER 0x30 > +#define PCI_CARD_IO_LIMIT_0_UPPER 0x32 > +#define PCI_CARD_IO_BASE_1_LOWER 0x34 > +#define PCI_CARD_IO_BASE_1_UPPER 0x36 > +#define PCI_CARD_IO_LIMIT_1_LOWER 0x38 > +#define PCI_CARD_IO_LIMIT_1_UPPER 0x3A > +#define PCI_CARD_BRIDGE_CONTROL 0x3E > + > +#define PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE BIT8 > +#define PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE BIT9 > + > +#define RB_IO_RANGE 1 > +#define RB_MEM32_RANGE 2 > +#define RB_PMEM32_RANGE 3 > +#define RB_MEM64_RANGE 4 > +#define RB_PMEM64_RANGE 5 > + > +#define PPB_BAR_0 0 > +#define PPB_BAR_1 1 > +#define PPB_IO_RANGE 2 > +#define PPB_MEM32_RANGE 3 > +#define PPB_PMEM32_RANGE 4 > +#define PPB_PMEM64_RANGE 5 > +#define PPB_MEM64_RANGE 0xFF > + > +#define P2C_BAR_0 0 > +#define P2C_MEM_1 1 > +#define P2C_MEM_2 2 > +#define P2C_IO_1 3 > +#define P2C_IO_2 4 > + > +#define EFI_BRIDGE_IO32_DECODE_SUPPORTED 0x0001 > +#define EFI_BRIDGE_PMEM32_DECODE_SUPPORTED 0x0002 > +#define EFI_BRIDGE_PMEM64_DECODE_SUPPORTED 0x0004 > +#define EFI_BRIDGE_IO16_DECODE_SUPPORTED 0x0008 > +#define EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED 0x0010 > +#define EFI_BRIDGE_MEM64_DECODE_SUPPORTED 0x0020 > +#define EFI_BRIDGE_MEM32_DECODE_SUPPORTED 0x0040 > + > +#define PCI_MAX_HOST_BRIDGE_NUM 0x0010 > + > +// > +// Define option for attribute > +// > +#define EFI_SET_SUPPORTS 0 > +#define EFI_SET_ATTRIBUTES 1 > + > +#define PCI_IO_DEVICE_SIGNATURE SIGNATURE_32 ('p', 'c', 'i', 'o') > + > +struct _PCI_IO_DEVICE { > + UINT32 Signature; > + EFI_HANDLE Handle; > + EFI_PCI_IO_PROTOCOL PciIo; > + LIST_ENTRY Link; > + > + EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL PciDriverOverride; > + EFI_DEVICE_PATH_PROTOCOL *DevicePath; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + EFI_LOAD_FILE2_PROTOCOL LoadFile2; > + > + // > + // PCI configuration space header type > + // > + PCI_TYPE00 Pci; > + > + // > + // Bus number, Device number, Function number > + // > + UINT8 BusNumber; > + UINT8 DeviceNumber; > + UINT8 FunctionNumber; > + > + // > + // BAR for this PCI Device > + // > + PCI_BAR PciBar[PCI_MAX_BAR]; > + > + // > + // The bridge device this pci device is subject to > + // > + PCI_IO_DEVICE *Parent; > + > + // > + // A linked list for children Pci Device if it is bridge device > + // > + LIST_ENTRY ChildList; > + > + // > + // TRUE if the PCI bus driver creates the handle for this PCI device > + // > + BOOLEAN Registered; > + > + // > + // TRUE if the PCI bus driver successfully allocates the resource required by > + // this PCI device > + // > + BOOLEAN Allocated; > + > + // > + // The attribute this PCI device currently set > + // > + UINT64 Attributes; > + > + // > + // The attributes this PCI device actually supports > + // > + UINT64 Supports; > + > + // > + // The resource decode the bridge supports > + // > + UINT32 Decodes; > + > + // > + // TRUE if the ROM image is from the PCI Option ROM BAR > + // > + BOOLEAN EmbeddedRom; > + > + // > + // The OptionRom Size > + // > + UINT32 RomSize; > + > + // > + // TRUE if all OpROM (in device or in platform specific position) have been > processed > + // > + BOOLEAN AllOpRomProcessed; > + > + // > + // TRUE if there is any EFI driver in the OptionRom > + // > + BOOLEAN BusOverride; > + > + // > + // A list tracking reserved resource on a bridge device > + // > + LIST_ENTRY ReservedResourceList; > + > + // > + // A list tracking image handle of platform specific overriding driver > + // > + LIST_ENTRY OptionRomDriverList; > + > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR > *ResourcePaddingDescriptors; > + EFI_HPC_PADDING_ATTRIBUTES PaddingAttributes; > + > + // > + // Bus number ranges for a PCI Root Bridge device > + // > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; > + > + BOOLEAN IsPciExp; > + // > + // For SR-IOV > + // > + UINT8 PciExpressCapabilityOffset; > + UINT32 AriCapabilityOffset; > + UINT32 SrIovCapabilityOffset; > + UINT32 MrIovCapabilityOffset; > + PCI_BAR VfPciBar[PCI_MAX_BAR]; > + UINT32 SystemPageSize; > + UINT16 InitialVFs; > + UINT16 ReservedBusNum; > + // > + // Per PCI to PCI Bridge spec, I/O window is 4K aligned, > + // but some chipsets support non-standard I/O window alignments less > than 4K. > + // This field is used to support this case. > + // > + UINT16 BridgeIoAlignment; > + UINT32 ResizableBarOffset; > + UINT32 ResizableBarNumber; > +}; > + > +#define PCI_IO_DEVICE_FROM_PCI_IO_THIS(a) \ > + CR (a, PCI_IO_DEVICE, PciIo, PCI_IO_DEVICE_SIGNATURE) > + > +#define PCI_IO_DEVICE_FROM_PCI_DRIVER_OVERRIDE_THIS(a) \ > + CR (a, PCI_IO_DEVICE, PciDriverOverride, PCI_IO_DEVICE_SIGNATURE) > + > +#define PCI_IO_DEVICE_FROM_LINK(a) \ > + CR (a, PCI_IO_DEVICE, Link, PCI_IO_DEVICE_SIGNATURE) > + > +#define PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS(a) \ > + CR (a, PCI_IO_DEVICE, LoadFile2, PCI_IO_DEVICE_SIGNATURE) > + > + > + > +// > +// Global Variables > +// > +extern EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL > *gIncompatiblePciDeviceSupport; > +extern EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding; > +extern EFI_COMPONENT_NAME_PROTOCOL > gPciBusComponentName; > +extern EFI_COMPONENT_NAME2_PROTOCOL > gPciBusComponentName2; > +extern BOOLEAN gFullEnumeration; > +extern UINTN gPciHostBridgeNumber; > +extern EFI_HANDLE > gPciHostBrigeHandles[PCI_MAX_HOST_BRIDGE_NUM]; > +extern UINT64 gAllOne; > +extern UINT64 gAllZero; > +extern EFI_PCI_PLATFORM_PROTOCOL *gPciPlatformProtocol; > +extern EFI_PCI_OVERRIDE_PROTOCOL *gPciOverrideProtocol; > +extern BOOLEAN mReserveIsaAliases; > +extern BOOLEAN mReserveVgaAliases; > + > +/** > + Macro that checks whether device is a GFX device. > + > + @param _p Specified device. > + > + @retval TRUE Device is a GFX device. > + @retval FALSE Device is not a GFX device. > + > +**/ > +#define IS_PCI_GFX(_p) IS_CLASS2 (_p, PCI_CLASS_DISPLAY, > PCI_CLASS_DISPLAY_OTHER) > + > +/** > + Test to see if this driver supports ControllerHandle. Any ControllerHandle > + than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be > supported. > + > + @param This Protocol instance pointer. > + @param Controller Handle of device to test. > + @param RemainingDevicePath Optional parameter use to pick a specific > child > + device to start. > + > + @retval EFI_SUCCESS This driver supports this device. > + @retval EFI_ALREADY_STARTED This driver is already running on this > device. > + @retval other This driver does not support this device. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusDriverBindingSupported ( > + IN EFI_DRIVER_BINDING_PROTOCOL *This, > + IN EFI_HANDLE Controller, > + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath > + ); > + > +/** > + Start this driver on ControllerHandle and enumerate Pci bus and start > + all device under PCI bus. > + > + @param This Protocol instance pointer. > + @param Controller Handle of device to bind driver to. > + @param RemainingDevicePath Optional parameter use to pick a specific > child > + device to start. > + > + @retval EFI_SUCCESS This driver is added to ControllerHandle. > + @retval EFI_ALREADY_STARTED This driver is already running on > ControllerHandle. > + @retval other This driver does not support this device. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusDriverBindingStart ( > + IN EFI_DRIVER_BINDING_PROTOCOL *This, > + IN EFI_HANDLE Controller, > + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath > + ); > + > +/** > + Stop this driver on ControllerHandle. Support stopping any child handles > + created by this driver. > + > + @param This Protocol instance pointer. > + @param Controller Handle of device to stop driver on. > + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If > number of > + children is zero stop the entire bus driver. > + @param ChildHandleBuffer List of Child Handles to Stop. > + > + @retval EFI_SUCCESS This driver is removed ControllerHandle. > + @retval other This driver was not removed from this device. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciBusDriverBindingStop ( > + IN EFI_DRIVER_BINDING_PROTOCOL *This, > + IN EFI_HANDLE Controller, > + IN UINTN NumberOfChildren, > + IN EFI_HANDLE *ChildHandleBuffer > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxe.inf > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxe.inf > new file mode 100644 > index 0000000000..9d999f973b > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxe.inf > @@ -0,0 +1,112 @@ > +## @file > +# The PCI bus driver will probe all PCI devices and allocate MMIO and IO > space for these devices. > +# Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable > hot plug supporting. > +# > +# Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> > +# > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +# > +## > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME = PciBusDxe > + MODULE_UNI_FILE = PciBusDxe.uni > + FILE_GUID = 93B80004-9FB3-11d4-9A3A-0090273FC14D > + MODULE_TYPE = UEFI_DRIVER > + VERSION_STRING = 1.0 > + ENTRY_POINT = PciBusEntryPoint > + > +# > +# The following information is for reference only and not required by the > build tools. > +# > +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 > +# > +# DRIVER_BINDING = gPciBusDriverBinding > +# COMPONENT_NAME = gPciBusComponentName > +# COMPONENT_NAME2 = gPciBusComponentName2 > +# > + > +[Sources] > + PciLib.c > + PciIo.c > + PciBus.c > + PciDeviceSupport.c > + ComponentName.c > + ComponentName.h > + PciCommand.c > + PciResourceSupport.c > + PciEnumeratorSupport.c > + PciEnumerator.c > + PciOptionRomSupport.c > + PciDriverOverride.c > + PciPowerManagement.c > + PciPowerManagement.h > + PciDriverOverride.h > + PciRomTable.c > + PciHotPlugSupport.c > + PciLib.h > + PciHotPlugSupport.h > + PciRomTable.h > + PciOptionRomSupport.h > + PciEnumeratorSupport.h > + PciEnumerator.h > + PciResourceSupport.h > + PciDeviceSupport.h > + PciCommand.h > + PciIo.h > + PciBus.h > + > +[Packages] > + MdePkg/MdePkg.dec > + MdeModulePkg/MdeModulePkg.dec > + > +[LibraryClasses] > + PcdLib > + DevicePathLib > + UefiBootServicesTableLib > + MemoryAllocationLib > + ReportStatusCodeLib > + BaseMemoryLib > + UefiLib > + BaseLib > + UefiDriverEntryPoint > + DebugLib > + > +[Protocols] > + gEfiPciHotPlugRequestProtocolGuid ## SOMETIMES_PRODUCES > + gEfiPciIoProtocolGuid ## BY_START > + gEfiDevicePathProtocolGuid ## BY_START > + gEfiBusSpecificDriverOverrideProtocolGuid ## BY_START > + gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES > + gEfiDecompressProtocolGuid ## SOMETIMES_CONSUMES > + gEfiPciHotPlugInitProtocolGuid ## SOMETIMES_CONSUMES > + gEfiPciHostBridgeResourceAllocationProtocolGuid ## TO_START > + gEfiPciPlatformProtocolGuid ## SOMETIMES_CONSUMES > + gEfiPciOverrideProtocolGuid ## SOMETIMES_CONSUMES > + gEfiPciEnumerationCompleteProtocolGuid ## PRODUCES > + gEfiPciRootBridgeIoProtocolGuid ## TO_START > + gEfiIncompatiblePciDeviceSupportProtocolGuid ## > SOMETIMES_CONSUMES > + gEfiLoadFile2ProtocolGuid ## SOMETIMES_PRODUCES > + gEdkiiIoMmuProtocolGuid ## SOMETIMES_CONSUMES > + gEdkiiDeviceSecurityProtocolGuid ## SOMETIMES_CONSUMES > + gEdkiiDeviceIdentifierTypePciGuid ## SOMETIMES_CONSUMES > + gEfiLoadedImageDevicePathProtocolGuid ## CONSUMES > + > +[FeaturePcd] > + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport > ## CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe ## > CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable ## > CONSUMES > + > gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom > ## CONSUMES > + > +[Pcd] > + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize ## > SOMETIMES_CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport ## > CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport ## > CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport ## > CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration ## > SOMETIMES_CONSUMES > + gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport ## > CONSUMES > + > +[UserExtensions.TianoCore."ExtraFiles"] > + PciBusDxeExtra.uni > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxe.uni > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxe.uni > new file mode 100644 > index 0000000000..81bfc2c9ef > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxe.uni > @@ -0,0 +1,16 @@ > +// /** @file > +// The PCI bus driver will probe all PCI devices and allocate MMIO and IO > space for these devices. > +// > +// Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable > hot plug supporting. > +// > +// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> > +// > +// SPDX-License-Identifier: BSD-2-Clause-Patent > +// > +// **/ > + > + > +#string STR_MODULE_ABSTRACT #language en-US "Probes all PCI > devices and allocate MMIO and IO space for these devices" > + > +#string STR_MODULE_DESCRIPTION #language en-US "Please use PCD > feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting." > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxeExtra.uni > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxeExtra.uni > new file mode 100644 > index 0000000000..f6a7cdae00 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciBusDxeExtra.uni > @@ -0,0 +1,14 @@ > +// /** @file > +// PciBusDxe Localized Strings and Content > +// > +// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> > +// > +// SPDX-License-Identifier: BSD-2-Clause-Patent > +// > +// **/ > + > +#string STR_PROPERTIES_MODULE_NAME > +#language en-US > +"PCI Bus DXE Driver" > + > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciCommand.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciCommand.c > new file mode 100644 > index 0000000000..3111448643 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciCommand.c > @@ -0,0 +1,267 @@ > +/** @file > + PCI command register operations supporting functions implementation for > PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +/** > + Operate the PCI register via PciIo function interface. > + > + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. > + @param Command Operator command. > + @param Offset The address within the PCI configuration space for the > PCI controller. > + @param Operation Type of Operation. > + @param PtrCommand Return buffer holding old PCI command, if > operation is not EFI_SET_REGISTER. > + > + @return Status of PciIo operation. > + > +**/ > +EFI_STATUS > +PciOperateRegister ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT16 Command, > + IN UINT8 Offset, > + IN UINT8 Operation, > + OUT UINT16 *PtrCommand > + ) > +{ > + UINT16 OldCommand; > + EFI_STATUS Status; > + EFI_PCI_IO_PROTOCOL *PciIo; > + > + OldCommand = 0; > + PciIo = &PciIoDevice->PciIo; > + > + if (Operation != EFI_SET_REGISTER) { > + Status = PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + Offset, > + 1, > + &OldCommand > + ); > + > + if (Operation == EFI_GET_REGISTER) { > + *PtrCommand = OldCommand; > + return Status; > + } > + } > + > + if (Operation == EFI_ENABLE_REGISTER) { > + OldCommand = (UINT16) (OldCommand | Command); > + } else if (Operation == EFI_DISABLE_REGISTER) { > + OldCommand = (UINT16) (OldCommand & ~(Command)); > + } else { > + OldCommand = Command; > + } > + > + return PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + Offset, > + 1, > + &OldCommand > + ); > +} > + > +/** > + Check the capability supporting by given device. > + > + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. > + > + @retval TRUE Capability supported. > + @retval FALSE Capability not supported. > + > +**/ > +BOOLEAN > +PciCapabilitySupport ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + if ((PciIoDevice->Pci.Hdr.Status & EFI_PCI_STATUS_CAPABILITY) != 0) { > + return TRUE; > + } > + > + return FALSE; > +} > + > +/** > + Locate capability register block per capability ID. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param CapId The capability ID. > + @param Offset A pointer to the offset returned. > + @param NextRegBlock A pointer to the next block returned. > + > + @retval EFI_SUCCESS Successfully located capability register block. > + @retval EFI_UNSUPPORTED Pci device does not support capability. > + @retval EFI_NOT_FOUND Pci device support but can not find register > block. > + > +**/ > +EFI_STATUS > +LocateCapabilityRegBlock ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 CapId, > + IN OUT UINT8 *Offset, > + OUT UINT8 *NextRegBlock OPTIONAL > + ) > +{ > + UINT8 CapabilityPtr; > + UINT16 CapabilityEntry; > + UINT8 CapabilityID; > + > + // > + // To check the capability of this device supports > + // > + if (!PciCapabilitySupport (PciIoDevice)) { > + return EFI_UNSUPPORTED; > + } > + > + if (*Offset != 0) { > + CapabilityPtr = *Offset; > + } else { > + > + CapabilityPtr = 0; > + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { > + > + PciIoDevice->PciIo.Pci.Read ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint8, > + EFI_PCI_CARDBUS_BRIDGE_CAPABILITY_PTR, > + 1, > + &CapabilityPtr > + ); > + } else { > + > + PciIoDevice->PciIo.Pci.Read ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint8, > + PCI_CAPBILITY_POINTER_OFFSET, > + 1, > + &CapabilityPtr > + ); > + } > + } > + > + while ((CapabilityPtr >= 0x40) && ((CapabilityPtr & 0x03) == 0x00)) { > + PciIoDevice->PciIo.Pci.Read ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint16, > + CapabilityPtr, > + 1, > + &CapabilityEntry > + ); > + > + CapabilityID = (UINT8) CapabilityEntry; > + > + if (CapabilityID == CapId) { > + *Offset = CapabilityPtr; > + if (NextRegBlock != NULL) { > + *NextRegBlock = (UINT8) (CapabilityEntry >> 8); > + } > + > + return EFI_SUCCESS; > + } > + > + // > + // Certain PCI device may incorrectly have capability pointing to itself, > + // break to avoid dead loop. > + // > + if (CapabilityPtr == (UINT8) (CapabilityEntry >> 8)) { > + break; > + } > + > + CapabilityPtr = (UINT8) (CapabilityEntry >> 8); > + } > + > + return EFI_NOT_FOUND; > +} > + > +/** > + Locate PciExpress capability register block per capability ID. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param CapId The capability ID. > + @param Offset A pointer to the offset returned. > + @param NextRegBlock A pointer to the next block returned. > + > + @retval EFI_SUCCESS Successfully located capability register block. > + @retval EFI_UNSUPPORTED Pci device does not support capability. > + @retval EFI_NOT_FOUND Pci device support but can not find register > block. > + > +**/ > +EFI_STATUS > +LocatePciExpressCapabilityRegBlock ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT16 CapId, > + IN OUT UINT32 *Offset, > + OUT UINT32 *NextRegBlock OPTIONAL > + ) > +{ > + EFI_STATUS Status; > + UINT32 CapabilityPtr; > + UINT32 CapabilityEntry; > + UINT16 CapabilityID; > + > + // > + // To check the capability of this device supports > + // > + if (!PciIoDevice->IsPciExp) { > + return EFI_UNSUPPORTED; > + } > + > + if (*Offset != 0) { > + CapabilityPtr = *Offset; > + } else { > + CapabilityPtr = EFI_PCIE_CAPABILITY_BASE_OFFSET; > + } > + > + while (CapabilityPtr != 0) { > + // > + // Mask it to DWORD alignment per PCI spec > + // > + CapabilityPtr &= 0xFFC; > + Status = PciIoDevice->PciIo.Pci.Read ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint32, > + CapabilityPtr, > + 1, > + &CapabilityEntry > + ); > + if (EFI_ERROR (Status)) { > + break; > + } > + > + if (CapabilityEntry == MAX_UINT32) { > + DEBUG (( > + DEBUG_WARN, > + "%a: [%02x|%02x|%02x] failed to access config space at offset 0x%x\n", > + __FUNCTION__, > + PciIoDevice->BusNumber, > + PciIoDevice->DeviceNumber, > + PciIoDevice->FunctionNumber, > + CapabilityPtr > + )); > + break; > + } > + > + CapabilityID = (UINT16) CapabilityEntry; > + > + if (CapabilityID == CapId) { > + *Offset = CapabilityPtr; > + if (NextRegBlock != NULL) { > + *NextRegBlock = (CapabilityEntry >> 20) & 0xFFF; > + } > + > + return EFI_SUCCESS; > + } > + > + CapabilityPtr = (CapabilityEntry >> 20) & 0xFFF; > + } > + > + return EFI_NOT_FOUND; > +} > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciCommand.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciCommand.h > new file mode 100644 > index 0000000000..5eabd56bf2 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciCommand.h > @@ -0,0 +1,232 @@ > +/** @file > + PCI command register operations supporting functions declaration for PCI > Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > + > +#ifndef _EFI_PCI_COMMAND_H_ > +#define _EFI_PCI_COMMAND_H_ > + > +// > +// The PCI Command register bits owned by PCI Bus driver. > +// > +// They should be cleared at the beginning. The other registers > +// are owned by chipset, we should not touch them. > +// > +#define EFI_PCI_COMMAND_BITS_OWNED ( \ > + EFI_PCI_COMMAND_IO_SPACE | \ > + EFI_PCI_COMMAND_MEMORY_SPACE | \ > + EFI_PCI_COMMAND_BUS_MASTER | \ > + EFI_PCI_COMMAND_MEMORY_WRITE_AND_INVALIDATE | \ > + EFI_PCI_COMMAND_VGA_PALETTE_SNOOP | \ > + EFI_PCI_COMMAND_FAST_BACK_TO_BACK \ > + ) > + > +// > +// The PCI Bridge Control register bits owned by PCI Bus driver. > +// > +// They should be cleared at the beginning. The other registers > +// are owned by chipset, we should not touch them. > +// > +#define EFI_PCI_BRIDGE_CONTROL_BITS_OWNED ( \ > + EFI_PCI_BRIDGE_CONTROL_ISA | \ > + EFI_PCI_BRIDGE_CONTROL_VGA | \ > + EFI_PCI_BRIDGE_CONTROL_VGA_16 | \ > + EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK \ > + ) > + > +// > +// The PCCard Bridge Control register bits owned by PCI Bus driver. > +// > +// They should be cleared at the beginning. The other registers > +// are owned by chipset, we should not touch them. > +// > +#define EFI_PCCARD_BRIDGE_CONTROL_BITS_OWNED ( \ > + EFI_PCI_BRIDGE_CONTROL_ISA | \ > + EFI_PCI_BRIDGE_CONTROL_VGA | \ > + EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK \ > + ) > + > + > +#define EFI_GET_REGISTER 1 > +#define EFI_SET_REGISTER 2 > +#define EFI_ENABLE_REGISTER 3 > +#define EFI_DISABLE_REGISTER 4 > + > +/** > + Operate the PCI register via PciIo function interface. > + > + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. > + @param Command Operator command. > + @param Offset The address within the PCI configuration space for the > PCI controller. > + @param Operation Type of Operation. > + @param PtrCommand Return buffer holding old PCI command, if > operation is not EFI_SET_REGISTER. > + > + @return Status of PciIo operation. > + > +**/ > +EFI_STATUS > +PciOperateRegister ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT16 Command, > + IN UINT8 Offset, > + IN UINT8 Operation, > + OUT UINT16 *PtrCommand > + ); > + > +/** > + Check the capability supporting by given device. > + > + @param PciIoDevice Pointer to instance of PCI_IO_DEVICE. > + > + @retval TRUE Capability supported. > + @retval FALSE Capability not supported. > + > +**/ > +BOOLEAN > +PciCapabilitySupport ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Locate capability register block per capability ID. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param CapId The capability ID. > + @param Offset A pointer to the offset returned. > + @param NextRegBlock A pointer to the next block returned. > + > + @retval EFI_SUCCESS Successfully located capability register block. > + @retval EFI_UNSUPPORTED Pci device does not support capability. > + @retval EFI_NOT_FOUND Pci device support but can not find register > block. > + > +**/ > +EFI_STATUS > +LocateCapabilityRegBlock ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 CapId, > + IN OUT UINT8 *Offset, > + OUT UINT8 *NextRegBlock OPTIONAL > + ); > + > +/** > + Locate PciExpress capability register block per capability ID. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param CapId The capability ID. > + @param Offset A pointer to the offset returned. > + @param NextRegBlock A pointer to the next block returned. > + > + @retval EFI_SUCCESS Successfully located capability register block. > + @retval EFI_UNSUPPORTED Pci device does not support capability. > + @retval EFI_NOT_FOUND Pci device support but can not find register > block. > + > +**/ > +EFI_STATUS > +LocatePciExpressCapabilityRegBlock ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT16 CapId, > + IN OUT UINT32 *Offset, > + OUT UINT32 *NextRegBlock OPTIONAL > + ); > + > +/** > + Macro that reads command register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[out] Pointer to the 16-bit value read from command > register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_READ_COMMAND_REGISTER(a,b) \ > + PciOperateRegister (a, 0, PCI_COMMAND_OFFSET, EFI_GET_REGISTER, > b) > + > +/** > + Macro that writes command register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[in] The 16-bit value written into command register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_SET_COMMAND_REGISTER(a,b) \ > + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, EFI_SET_REGISTER, > NULL) > + > +/** > + Macro that enables command register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[in] The enabled value written into command register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_ENABLE_COMMAND_REGISTER(a,b) \ > + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, > EFI_ENABLE_REGISTER, NULL) > + > +/** > + Macro that disables command register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[in] The disabled value written into command register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_DISABLE_COMMAND_REGISTER(a,b) \ > + PciOperateRegister (a, b, PCI_COMMAND_OFFSET, > EFI_DISABLE_REGISTER, NULL) > + > +/** > + Macro that reads PCI bridge control register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[out] The 16-bit value read from control register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_READ_BRIDGE_CONTROL_REGISTER(a,b) \ > + PciOperateRegister (a, 0, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, > EFI_GET_REGISTER, b) > + > +/** > + Macro that writes PCI bridge control register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[in] The 16-bit value written into control register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_SET_BRIDGE_CONTROL_REGISTER(a,b) \ > + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, > EFI_SET_REGISTER, NULL) > + > +/** > + Macro that enables PCI bridge control register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[in] The enabled value written into command register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_ENABLE_BRIDGE_CONTROL_REGISTER(a,b) \ > + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, > EFI_ENABLE_REGISTER, NULL) > + > +/** > + Macro that disables PCI bridge control register. > + > + @param a[in] Pointer to instance of PCI_IO_DEVICE. > + @param b[in] The disabled value written into command register. > + > + @return status of PciIo operation > + > +**/ > +#define PCI_DISABLE_BRIDGE_CONTROL_REGISTER(a,b) \ > + PciOperateRegister (a, b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, > EFI_DISABLE_REGISTER, NULL) > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDeviceSupport.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDeviceSupport.c > new file mode 100644 > index 0000000000..7effbd5053 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDeviceSupport.c > @@ -0,0 +1,1056 @@ > +/** @file > + Supporting functions implementation for PCI devices management. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +(C) Copyright 2018 Hewlett Packard Enterprise Development LP<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +// > +// This device structure is serviced as a header. > +// Its next field points to the first root bridge device node. > +// > +LIST_ENTRY mPciDevicePool; > + > +/** > + Initialize the PCI devices pool. > + > +**/ > +VOID > +InitializePciDevicePool ( > + VOID > + ) > +{ > + InitializeListHead (&mPciDevicePool); > +} > + > +/** > + Insert a root bridge into PCI device pool. > + > + @param RootBridge A pointer to the PCI_IO_DEVICE. > + > +**/ > +VOID > +InsertRootBridge ( > + IN PCI_IO_DEVICE *RootBridge > + ) > +{ > + InsertTailList (&mPciDevicePool, &(RootBridge->Link)); > +} > + > +/** > + This function is used to insert a PCI device node under > + a bridge. > + > + @param Bridge The PCI bridge. > + @param PciDeviceNode The PCI device needs inserting. > + > +**/ > +VOID > +InsertPciDevice ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_IO_DEVICE *PciDeviceNode > + ) > +{ > + InsertTailList (&Bridge->ChildList, &(PciDeviceNode->Link)); > + PciDeviceNode->Parent = Bridge; > +} > + > +/** > + Destroy root bridge and remove it from device tree. > + > + @param RootBridge The bridge want to be removed. > + > +**/ > +VOID > +DestroyRootBridge ( > + IN PCI_IO_DEVICE *RootBridge > + ) > +{ > + DestroyPciDeviceTree (RootBridge); > + > + FreePciDevice (RootBridge); > +} > + > +/** > + Destroy a pci device node. > + > + All direct or indirect allocated resource for this node will be freed. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE to be destroyed. > + > +**/ > +VOID > +FreePciDevice ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + ASSERT (PciIoDevice != NULL); > + // > + // Assume all children have been removed underneath this device > + // > + if (PciIoDevice->ResourcePaddingDescriptors != NULL) { > + FreePool (PciIoDevice->ResourcePaddingDescriptors); > + } > + > + if (PciIoDevice->DevicePath != NULL) { > + FreePool (PciIoDevice->DevicePath); > + } > + > + if (PciIoDevice->BusNumberRanges != NULL) { > + FreePool (PciIoDevice->BusNumberRanges); > + } > + > + FreePool (PciIoDevice); > +} > + > +/** > + Destroy all the pci device node under the bridge. > + Bridge itself is not included. > + > + @param Bridge A pointer to the PCI_IO_DEVICE. > + > +**/ > +VOID > +DestroyPciDeviceTree ( > + IN PCI_IO_DEVICE *Bridge > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *Temp; > + > + while (!IsListEmpty (&Bridge->ChildList)) { > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + // > + // Remove this node from the linked list > + // > + RemoveEntryList (CurrentLink); > + > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (!IsListEmpty (&Temp->ChildList)) { > + DestroyPciDeviceTree (Temp); > + } > + > + FreePciDevice (Temp); > + } > +} > + > +/** > + Destroy all device nodes under the root bridge > + specified by Controller. > + > + The root bridge itself is also included. > + > + @param Controller Root bridge handle. > + > + @retval EFI_SUCCESS Destroy all device nodes successfully. > + @retval EFI_NOT_FOUND Cannot find any PCI device under specified > + root bridge. > + > +**/ > +EFI_STATUS > +DestroyRootBridgeByHandle ( > + IN EFI_HANDLE Controller > + ) > +{ > + > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *Temp; > + > + CurrentLink = mPciDevicePool.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (Temp->Handle == Controller) { > + > + RemoveEntryList (CurrentLink); > + > + DestroyPciDeviceTree (Temp); > + > + FreePciDevice (Temp); > + > + return EFI_SUCCESS; > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return EFI_NOT_FOUND; > +} > + > +/** > + This function registers the PCI IO device. > + > + It creates a handle for this PCI IO device (if the handle does not exist), > attaches > + appropriate protocols onto the handle, does necessary initialization, and > sets up > + parent/child relationship with its bus controller. > + > + @param Controller An EFI handle for the PCI bus controller. > + @param PciIoDevice A PCI_IO_DEVICE pointer to the PCI IO device to be > registered. > + @param Handle A pointer to hold the returned EFI handle for the PCI > IO device. > + > + @retval EFI_SUCCESS The PCI device is successfully registered. > + @retval other An error occurred when registering the PCI device. > + > +**/ > +EFI_STATUS > +RegisterPciDevice ( > + IN EFI_HANDLE Controller, > + IN PCI_IO_DEVICE *PciIoDevice, > + OUT EFI_HANDLE *Handle OPTIONAL > + ) > +{ > + EFI_STATUS Status; > + VOID *PlatformOpRomBuffer; > + UINTN PlatformOpRomSize; > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT8 Data8; > + BOOLEAN HasEfiImage; > + > + // > + // Install the pciio protocol, device path protocol > + // > + Status = gBS->InstallMultipleProtocolInterfaces ( > + &PciIoDevice->Handle, > + &gEfiDevicePathProtocolGuid, > + PciIoDevice->DevicePath, > + &gEfiPciIoProtocolGuid, > + &PciIoDevice->PciIo, > + NULL > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Force Interrupt line to "Unknown" or "No Connection" > + // > + PciIo = &(PciIoDevice->PciIo); > + Data8 = PCI_INT_LINE_UNKNOWN; > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &Data8); > + > + // > + // Process OpRom > + // > + if (!PciIoDevice->AllOpRomProcessed) { > + > + // > + // Get the OpRom provided by platform > + // > + if (gPciPlatformProtocol != NULL) { > + Status = gPciPlatformProtocol->GetPciRom ( > + gPciPlatformProtocol, > + PciIoDevice->Handle, > + &PlatformOpRomBuffer, > + &PlatformOpRomSize > + ); > + if (!EFI_ERROR (Status)) { > + PciIoDevice->EmbeddedRom = FALSE; > + PciIoDevice->RomSize = (UINT32) PlatformOpRomSize; > + PciIoDevice->PciIo.RomSize = PlatformOpRomSize; > + PciIoDevice->PciIo.RomImage = PlatformOpRomBuffer; > + // > + // For OpROM read from gPciPlatformProtocol: > + // Add the Rom Image to internal database for later PCI light > enumeration > + // > + PciRomAddImageMapping ( > + NULL, > + PciIoDevice->PciRootBridgeIo->SegmentNumber, > + PciIoDevice->BusNumber, > + PciIoDevice->DeviceNumber, > + PciIoDevice->FunctionNumber, > + PciIoDevice->PciIo.RomImage, > + PciIoDevice->PciIo.RomSize > + ); > + } > + } else if (gPciOverrideProtocol != NULL) { > + Status = gPciOverrideProtocol->GetPciRom ( > + gPciOverrideProtocol, > + PciIoDevice->Handle, > + &PlatformOpRomBuffer, > + &PlatformOpRomSize > + ); > + if (!EFI_ERROR (Status)) { > + PciIoDevice->EmbeddedRom = FALSE; > + PciIoDevice->RomSize = (UINT32) PlatformOpRomSize; > + PciIoDevice->PciIo.RomSize = PlatformOpRomSize; > + PciIoDevice->PciIo.RomImage = PlatformOpRomBuffer; > + // > + // For OpROM read from gPciOverrideProtocol: > + // Add the Rom Image to internal database for later PCI light > enumeration > + // > + PciRomAddImageMapping ( > + NULL, > + PciIoDevice->PciRootBridgeIo->SegmentNumber, > + PciIoDevice->BusNumber, > + PciIoDevice->DeviceNumber, > + PciIoDevice->FunctionNumber, > + PciIoDevice->PciIo.RomImage, > + PciIoDevice->PciIo.RomSize > + ); > + } > + } > + } > + > + // > + // Determine if there are EFI images in the option rom > + // > + HasEfiImage = ContainEfiImage (PciIoDevice->PciIo.RomImage, > PciIoDevice->PciIo.RomSize); > + > + if (HasEfiImage) { > + Status = gBS->InstallMultipleProtocolInterfaces ( > + &PciIoDevice->Handle, > + &gEfiLoadFile2ProtocolGuid, > + &PciIoDevice->LoadFile2, > + NULL > + ); > + if (EFI_ERROR (Status)) { > + gBS->UninstallMultipleProtocolInterfaces ( > + PciIoDevice->Handle, > + &gEfiDevicePathProtocolGuid, > + PciIoDevice->DevicePath, > + &gEfiPciIoProtocolGuid, > + &PciIoDevice->PciIo, > + NULL > + ); > + return Status; > + } > + } > + > + > + if (!PciIoDevice->AllOpRomProcessed) { > + > + PciIoDevice->AllOpRomProcessed = TRUE; > + > + // > + // Dispatch the EFI OpRom for the PCI device. > + // The OpRom is got from platform in the above code > + // or loaded from device in the previous round of bus enumeration > + // > + if (HasEfiImage) { > + ProcessOpRomImage (PciIoDevice); > + } > + } > + > + if (PciIoDevice->BusOverride) { > + // > + // Install Bus Specific Driver Override Protocol > + // > + Status = gBS->InstallMultipleProtocolInterfaces ( > + &PciIoDevice->Handle, > + &gEfiBusSpecificDriverOverrideProtocolGuid, > + &PciIoDevice->PciDriverOverride, > + NULL > + ); > + if (EFI_ERROR (Status)) { > + gBS->UninstallMultipleProtocolInterfaces ( > + PciIoDevice->Handle, > + &gEfiDevicePathProtocolGuid, > + PciIoDevice->DevicePath, > + &gEfiPciIoProtocolGuid, > + &PciIoDevice->PciIo, > + NULL > + ); > + if (HasEfiImage) { > + gBS->UninstallMultipleProtocolInterfaces ( > + PciIoDevice->Handle, > + &gEfiLoadFile2ProtocolGuid, > + &PciIoDevice->LoadFile2, > + NULL > + ); > + } > + > + return Status; > + } > + } > + > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &(PciIoDevice->PciRootBridgeIo), > + gPciBusDriverBinding.DriverBindingHandle, > + PciIoDevice->Handle, > + EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + if (Handle != NULL) { > + *Handle = PciIoDevice->Handle; > + } > + > + // > + // Indicate the pci device is registered > + // > + PciIoDevice->Registered = TRUE; > + > + return EFI_SUCCESS; > +} > + > +/** > + This function is used to remove the whole PCI devices on the specified > bridge from > + the root bridge. > + > + @param RootBridgeHandle The root bridge device handle. > + @param Bridge The bridge device to be removed. > + > +**/ > +VOID > +RemoveAllPciDeviceOnBridge ( > + EFI_HANDLE RootBridgeHandle, > + PCI_IO_DEVICE *Bridge > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *Temp; > + > + while (!IsListEmpty (&Bridge->ChildList)) { > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + // > + // Check if the current node has been deregistered before > + // If it is not, then deregister it > + // > + if (Temp->Registered) { > + DeRegisterPciDevice (RootBridgeHandle, Temp->Handle); > + } > + > + // > + // Remove this node from the linked list > + // > + RemoveEntryList (CurrentLink); > + > + if (!IsListEmpty (&Temp->ChildList)) { > + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Temp); > + } > + > + FreePciDevice (Temp); > + } > +} > + > +/** > + This function is used to de-register the PCI IO device. > + > + That includes un-installing PciIo protocol from the specified PCI > + device handle. > + > + @param Controller An EFI handle for the PCI bus controller. > + @param Handle PCI device handle. > + > + @retval EFI_SUCCESS The PCI device is successfully de-registered. > + @retval other An error occurred when de-registering the PCI device. > + > +**/ > +EFI_STATUS > +DeRegisterPciDevice ( > + IN EFI_HANDLE Controller, > + IN EFI_HANDLE Handle > + ) > + > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + PCI_IO_DEVICE *Node; > + LIST_ENTRY *CurrentLink; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + > + Status = gBS->OpenProtocol ( > + Handle, > + &gEfiPciIoProtocolGuid, > + (VOID **) &PciIo, > + gPciBusDriverBinding.DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + if (!EFI_ERROR (Status)) { > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (PciIo); > + > + // > + // If it is already de-registered > + // > + if (!PciIoDevice->Registered) { > + return EFI_SUCCESS; > + } > + > + // > + // If it is PPB, first de-register its children > + // > + > + if (!IsListEmpty (&PciIoDevice->ChildList)) { > + > + CurrentLink = PciIoDevice->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { > + Node = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + Status = DeRegisterPciDevice (Controller, Node->Handle); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + } > + > + // > + // Close the child handle > + // > + Status = gBS->CloseProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + gPciBusDriverBinding.DriverBindingHandle, > + Handle > + ); > + > + // > + // Un-install the Device Path protocol and PCI I/O protocol > + // and Bus Specific Driver Override protocol if needed. > + // > + if (PciIoDevice->BusOverride) { > + Status = gBS->UninstallMultipleProtocolInterfaces ( > + Handle, > + &gEfiDevicePathProtocolGuid, > + PciIoDevice->DevicePath, > + &gEfiPciIoProtocolGuid, > + &PciIoDevice->PciIo, > + &gEfiBusSpecificDriverOverrideProtocolGuid, > + &PciIoDevice->PciDriverOverride, > + NULL > + ); > + } else { > + Status = gBS->UninstallMultipleProtocolInterfaces ( > + Handle, > + &gEfiDevicePathProtocolGuid, > + PciIoDevice->DevicePath, > + &gEfiPciIoProtocolGuid, > + &PciIoDevice->PciIo, > + NULL > + ); > + } > + > + if (!EFI_ERROR (Status)) { > + // > + // Try to uninstall LoadFile2 protocol if exists > + // > + Status = gBS->OpenProtocol ( > + Handle, > + &gEfiLoadFile2ProtocolGuid, > + NULL, > + gPciBusDriverBinding.DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_TEST_PROTOCOL > + ); > + if (!EFI_ERROR (Status)) { > + Status = gBS->UninstallMultipleProtocolInterfaces ( > + Handle, > + &gEfiLoadFile2ProtocolGuid, > + &PciIoDevice->LoadFile2, > + NULL > + ); > + } > + // > + // Restore Status > + // > + Status = EFI_SUCCESS; > + } > + > + > + if (EFI_ERROR (Status)) { > + gBS->OpenProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo, > + gPciBusDriverBinding.DriverBindingHandle, > + Handle, > + EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER > + ); > + return Status; > + } > + > + // > + // The Device Driver should disable this device after disconnect > + // so the Pci Bus driver will not touch this device any more. > + // Restore the register field to the original value > + // > + PciIoDevice->Registered = FALSE; > + PciIoDevice->Handle = NULL; > + } else { > + > + // > + // Handle may be closed before > + // > + return EFI_SUCCESS; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Start to manage the PCI device on the specified root bridge or PCI-PCI > Bridge. > + > + @param Controller The root bridge handle. > + @param RootBridge A pointer to the PCI_IO_DEVICE. > + @param RemainingDevicePath A pointer to the > EFI_DEVICE_PATH_PROTOCOL. > + @param NumberOfChildren Children number. > + @param ChildHandleBuffer A pointer to the child handle buffer. > + > + @retval EFI_NOT_READY Device is not allocated. > + @retval EFI_UNSUPPORTED Device only support PCI-PCI bridge. > + @retval EFI_NOT_FOUND Can not find the specific device. > + @retval EFI_SUCCESS Success to start Pci devices on bridge. > + > +**/ > +EFI_STATUS > +StartPciDevicesOnBridge ( > + IN EFI_HANDLE Controller, > + IN PCI_IO_DEVICE *RootBridge, > + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, > + IN OUT UINT8 *NumberOfChildren, > + IN OUT EFI_HANDLE *ChildHandleBuffer > + ) > + > +{ > + PCI_IO_DEVICE *PciIoDevice; > + EFI_DEV_PATH_PTR Node; > + EFI_DEVICE_PATH_PROTOCOL *CurrentDevicePath; > + EFI_STATUS Status; > + LIST_ENTRY *CurrentLink; > + UINT64 Supports; > + > + PciIoDevice = NULL; > + CurrentLink = RootBridge->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &RootBridge->ChildList) { > + > + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + if (RemainingDevicePath != NULL) { > + > + Node.DevPath = RemainingDevicePath; > + > + if (Node.Pci->Device != PciIoDevice->DeviceNumber || > + Node.Pci->Function != PciIoDevice->FunctionNumber) { > + CurrentLink = CurrentLink->ForwardLink; > + continue; > + } > + > + // > + // Check if the device has been assigned with required resource > + // > + if (!PciIoDevice->Allocated) { > + return EFI_NOT_READY; > + } > + > + // > + // Check if the current node has been registered before > + // If it is not, register it > + // > + if (!PciIoDevice->Registered) { > + Status = RegisterPciDevice ( > + Controller, > + PciIoDevice, > + NULL > + ); > + > + } > + > + if (NumberOfChildren != NULL && ChildHandleBuffer != NULL && > PciIoDevice->Registered) { > + ChildHandleBuffer[*NumberOfChildren] = PciIoDevice->Handle; > + (*NumberOfChildren)++; > + } > + > + // > + // Get the next device path > + // > + CurrentDevicePath = NextDevicePathNode (RemainingDevicePath); > + if (IsDevicePathEnd (CurrentDevicePath)) { > + return EFI_SUCCESS; > + } > + > + // > + // If it is a PPB > + // > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { > + Status = StartPciDevicesOnBridge ( > + Controller, > + PciIoDevice, > + CurrentDevicePath, > + NumberOfChildren, > + ChildHandleBuffer > + ); > + > + PciIoDevice->PciIo.Attributes ( > + &(PciIoDevice->PciIo), > + EfiPciIoAttributeOperationSupported, > + 0, > + &Supports > + ); > + Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE; > + PciIoDevice->PciIo.Attributes ( > + &(PciIoDevice->PciIo), > + EfiPciIoAttributeOperationEnable, > + Supports, > + NULL > + ); > + > + return Status; > + } else { > + > + // > + // Currently, the PCI bus driver only support PCI-PCI bridge > + // > + return EFI_UNSUPPORTED; > + } > + > + } else { > + > + // > + // If remaining device path is NULL, > + // try to enable all the pci devices under this bridge > + // > + if (!PciIoDevice->Registered && PciIoDevice->Allocated) { > + Status = RegisterPciDevice ( > + Controller, > + PciIoDevice, > + NULL > + ); > + > + } > + > + if (NumberOfChildren != NULL && ChildHandleBuffer != NULL && > PciIoDevice->Registered) { > + ChildHandleBuffer[*NumberOfChildren] = PciIoDevice->Handle; > + (*NumberOfChildren)++; > + } > + > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { > + Status = StartPciDevicesOnBridge ( > + Controller, > + PciIoDevice, > + RemainingDevicePath, > + NumberOfChildren, > + ChildHandleBuffer > + ); > + > + PciIoDevice->PciIo.Attributes ( > + &(PciIoDevice->PciIo), > + EfiPciIoAttributeOperationSupported, > + 0, > + &Supports > + ); > + Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE; > + PciIoDevice->PciIo.Attributes ( > + &(PciIoDevice->PciIo), > + EfiPciIoAttributeOperationEnable, > + Supports, > + NULL > + ); > + > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + } > + > + if (PciIoDevice == NULL) { > + return EFI_NOT_FOUND; > + } else { > + return EFI_SUCCESS; > + } > +} > + > +/** > + Start to manage all the PCI devices it found previously under > + the entire host bridge. > + > + @param Controller The root bridge handle. > + > + @retval EFI_NOT_READY Device is not allocated. > + @retval EFI_SUCCESS Success to start Pci device on host bridge. > + > +**/ > +EFI_STATUS > +StartPciDevices ( > + IN EFI_HANDLE Controller > + ) > +{ > + PCI_IO_DEVICE *RootBridge; > + EFI_HANDLE ThisHostBridge; > + LIST_ENTRY *CurrentLink; > + > + RootBridge = GetRootBridgeByHandle (Controller); > + ASSERT (RootBridge != NULL); > + ThisHostBridge = RootBridge->PciRootBridgeIo->ParentHandle; > + > + CurrentLink = mPciDevicePool.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { > + > + RootBridge = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + // > + // Locate the right root bridge to start > + // > + if (RootBridge->PciRootBridgeIo->ParentHandle == ThisHostBridge) { > + StartPciDevicesOnBridge ( > + RootBridge->Handle, > + RootBridge, > + NULL, > + NULL, > + NULL > + ); > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Create root bridge device. > + > + @param RootBridgeHandle Specified root bridge handle. > + > + @return The crated root bridge device instance, NULL means no > + root bridge device instance created. > + > +**/ > +PCI_IO_DEVICE * > +CreateRootBridge ( > + IN EFI_HANDLE RootBridgeHandle > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *Dev; > + EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + > + Dev = AllocateZeroPool (sizeof (PCI_IO_DEVICE)); > + if (Dev == NULL) { > + return NULL; > + } > + > + Dev->Signature = PCI_IO_DEVICE_SIGNATURE; > + Dev->Handle = RootBridgeHandle; > + InitializeListHead (&Dev->ChildList); > + > + Status = gBS->OpenProtocol ( > + RootBridgeHandle, > + &gEfiDevicePathProtocolGuid, > + (VOID **) &ParentDevicePath, > + gPciBusDriverBinding.DriverBindingHandle, > + RootBridgeHandle, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + > + if (EFI_ERROR (Status)) { > + FreePool (Dev); > + return NULL; > + } > + > + // > + // Record the root bridge parent device path > + // > + Dev->DevicePath = DuplicateDevicePath (ParentDevicePath); > + > + // > + // Get the pci root bridge io protocol > + // > + Status = gBS->OpenProtocol ( > + RootBridgeHandle, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo, > + gPciBusDriverBinding.DriverBindingHandle, > + RootBridgeHandle, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + > + if (EFI_ERROR (Status)) { > + FreePciDevice (Dev); > + return NULL; > + } > + > + Dev->PciRootBridgeIo = PciRootBridgeIo; > + > + // > + // Initialize the PCI I/O instance structure > + // > + InitializePciIoInstance (Dev); > + InitializePciDriverOverrideInstance (Dev); > + InitializePciLoadFile2 (Dev); > + > + // > + // Initialize reserved resource list and > + // option rom driver list > + // > + InitializeListHead (&Dev->ReservedResourceList); > + InitializeListHead (&Dev->OptionRomDriverList); > + > + return Dev; > +} > + > +/** > + Get root bridge device instance by specific root bridge handle. > + > + @param RootBridgeHandle Given root bridge handle. > + > + @return The root bridge device instance, NULL means no root bridge > + device instance found. > + > +**/ > +PCI_IO_DEVICE * > +GetRootBridgeByHandle ( > + EFI_HANDLE RootBridgeHandle > + ) > +{ > + PCI_IO_DEVICE *RootBridgeDev; > + LIST_ENTRY *CurrentLink; > + > + CurrentLink = mPciDevicePool.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { > + > + RootBridgeDev = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + if (RootBridgeDev->Handle == RootBridgeHandle) { > + return RootBridgeDev; > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return NULL; > +} > + > +/** > + Judge whether Pci device existed. > + > + @param Bridge Parent bridge instance. > + @param PciIoDevice Device instance. > + > + @retval TRUE Pci device existed. > + @retval FALSE Pci device did not exist. > + > +**/ > +BOOLEAN > +PciDeviceExisted ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + > + PCI_IO_DEVICE *Temp; > + LIST_ENTRY *CurrentLink; > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (Temp == PciIoDevice) { > + return TRUE; > + } > + > + if (!IsListEmpty (&Temp->ChildList)) { > + if (PciDeviceExisted (Temp, PciIoDevice)) { > + return TRUE; > + } > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return FALSE; > +} > + > +/** > + Get the active VGA device on the specified Host Bridge. > + > + @param HostBridgeHandle Host Bridge handle. > + > + @return The active VGA device on the specified Host Bridge. > + > +**/ > +PCI_IO_DEVICE * > +LocateVgaDeviceOnHostBridge ( > + IN EFI_HANDLE HostBridgeHandle > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *PciIoDevice; > + > + CurrentLink = mPciDevicePool.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &mPciDevicePool) { > + > + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (PciIoDevice->PciRootBridgeIo->ParentHandle== HostBridgeHandle) { > + > + PciIoDevice = LocateVgaDevice (PciIoDevice); > + > + if (PciIoDevice != NULL) { > + return PciIoDevice; > + } > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return NULL; > +} > + > +/** > + Locate the active VGA device under the bridge. > + > + @param Bridge PCI IO instance for the bridge. > + > + @return The active VGA device. > + > +**/ > +PCI_IO_DEVICE * > +LocateVgaDevice ( > + IN PCI_IO_DEVICE *Bridge > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *PciIoDevice; > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + > + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (IS_PCI_VGA(&PciIoDevice->Pci) && > + (PciIoDevice->Attributes & > + (EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | > + EFI_PCI_IO_ATTRIBUTE_VGA_IO | > + EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { > + return PciIoDevice; > + } > + > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { > + > + PciIoDevice = LocateVgaDevice (PciIoDevice); > + > + if (PciIoDevice != NULL) { > + return PciIoDevice; > + } > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return NULL; > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDeviceSupport.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDeviceSupport.h > new file mode 100644 > index 0000000000..acc0edc0bb > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDeviceSupport.h > @@ -0,0 +1,266 @@ > +/** @file > + Supporting functions declaration for PCI devices management. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_DEVICE_SUPPORT_H_ > +#define _EFI_PCI_DEVICE_SUPPORT_H_ > + > +/** > + Initialize the PCI devices pool. > + > +**/ > +VOID > +InitializePciDevicePool ( > + VOID > + ); > + > +/** > + Insert a root bridge into PCI device pool. > + > + @param RootBridge A pointer to the PCI_IO_DEVICE. > + > +**/ > +VOID > +InsertRootBridge ( > + IN PCI_IO_DEVICE *RootBridge > + ); > + > +/** > + This function is used to insert a PCI device node under > + a bridge. > + > + @param Bridge The PCI bridge. > + @param PciDeviceNode The PCI device needs inserting. > + > +**/ > +VOID > +InsertPciDevice ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_IO_DEVICE *PciDeviceNode > + ); > + > +/** > + Destroy root bridge and remove it from device tree. > + > + @param RootBridge The bridge want to be removed. > + > +**/ > +VOID > +DestroyRootBridge ( > + IN PCI_IO_DEVICE *RootBridge > + ); > + > +/** > + Destroy all the pci device node under the bridge. > + Bridge itself is not included. > + > + @param Bridge A pointer to the PCI_IO_DEVICE. > + > +**/ > +VOID > +DestroyPciDeviceTree ( > + IN PCI_IO_DEVICE *Bridge > + ); > + > +/** > + Destroy all device nodes under the root bridge > + specified by Controller. > + > + The root bridge itself is also included. > + > + @param Controller Root bridge handle. > + > + @retval EFI_SUCCESS Destroy all device nodes successfully. > + @retval EFI_NOT_FOUND Cannot find any PCI device under specified > + root bridge. > + > +**/ > +EFI_STATUS > +DestroyRootBridgeByHandle ( > + IN EFI_HANDLE Controller > + ); > + > +/** > + This function registers the PCI IO device. > + > + It creates a handle for this PCI IO device (if the handle does not exist), > attaches > + appropriate protocols onto the handle, does necessary initialization, and > sets up > + parent/child relationship with its bus controller. > + > + @param Controller An EFI handle for the PCI bus controller. > + @param PciIoDevice A PCI_IO_DEVICE pointer to the PCI IO device to be > registered. > + @param Handle A pointer to hold the returned EFI handle for the PCI > IO device. > + > + @retval EFI_SUCCESS The PCI device is successfully registered. > + @retval other An error occurred when registering the PCI device. > + > +**/ > +EFI_STATUS > +RegisterPciDevice ( > + IN EFI_HANDLE Controller, > + IN PCI_IO_DEVICE *PciIoDevice, > + OUT EFI_HANDLE *Handle OPTIONAL > + ); > + > +/** > + This function is used to remove the whole PCI devices on the specified > bridge from > + the root bridge. > + > + @param RootBridgeHandle The root bridge device handle. > + @param Bridge The bridge device to be removed. > + > +**/ > +VOID > +RemoveAllPciDeviceOnBridge ( > + EFI_HANDLE RootBridgeHandle, > + PCI_IO_DEVICE *Bridge > + ); > + > +/** > + This function is used to de-register the PCI IO device. > + > + That includes un-installing PciIo protocol from the specified PCI > + device handle. > + > + @param Controller An EFI handle for the PCI bus controller. > + @param Handle PCI device handle. > + > + @retval EFI_SUCCESS The PCI device is successfully de-registered. > + @retval other An error occurred when de-registering the PCI device. > + > +**/ > +EFI_STATUS > +DeRegisterPciDevice ( > + IN EFI_HANDLE Controller, > + IN EFI_HANDLE Handle > + ); > + > +/** > + Start to manage the PCI device on the specified root bridge or PCI-PCI > Bridge. > + > + @param Controller The root bridge handle. > + @param RootBridge A pointer to the PCI_IO_DEVICE. > + @param RemainingDevicePath A pointer to the > EFI_DEVICE_PATH_PROTOCOL. > + @param NumberOfChildren Children number. > + @param ChildHandleBuffer A pointer to the child handle buffer. > + > + @retval EFI_NOT_READY Device is not allocated. > + @retval EFI_UNSUPPORTED Device only support PCI-PCI bridge. > + @retval EFI_NOT_FOUND Can not find the specific device. > + @retval EFI_SUCCESS Success to start Pci devices on bridge. > + > +**/ > +EFI_STATUS > +StartPciDevicesOnBridge ( > + IN EFI_HANDLE Controller, > + IN PCI_IO_DEVICE *RootBridge, > + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, > + IN OUT UINT8 *NumberOfChildren, > + IN OUT EFI_HANDLE *ChildHandleBuffer > + ); > + > +/** > + Start to manage all the PCI devices it found previously under > + the entire host bridge. > + > + @param Controller The root bridge handle. > + > + @retval EFI_NOT_READY Device is not allocated. > + @retval EFI_SUCCESS Success to start Pci device on host bridge. > + > +**/ > +EFI_STATUS > +StartPciDevices ( > + IN EFI_HANDLE Controller > + ); > + > +/** > + Create root bridge device. > + > + @param RootBridgeHandle Specified root bridge handle. > + > + @return The crated root bridge device instance, NULL means no > + root bridge device instance created. > + > +**/ > +PCI_IO_DEVICE * > +CreateRootBridge ( > + IN EFI_HANDLE RootBridgeHandle > + ); > + > +/** > + Get root bridge device instance by specific root bridge handle. > + > + @param RootBridgeHandle Given root bridge handle. > + > + @return The root bridge device instance, NULL means no root bridge > + device instance found. > + > +**/ > +PCI_IO_DEVICE * > +GetRootBridgeByHandle ( > + EFI_HANDLE RootBridgeHandle > + ); > + > + > +/** > + Judge whether Pci device existed. > + > + @param Bridge Parent bridge instance. > + @param PciIoDevice Device instance. > + > + @retval TRUE Pci device existed. > + @retval FALSE Pci device did not exist. > + > +**/ > +BOOLEAN > +PciDeviceExisted ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Get the active VGA device on the specified Host Bridge. > + > + @param HostBridgeHandle Host Bridge handle. > + > + @return The active VGA device on the specified Host Bridge. > + > +**/ > +PCI_IO_DEVICE * > +LocateVgaDeviceOnHostBridge ( > + IN EFI_HANDLE HostBridgeHandle > + ); > + > +/** > + Locate the active VGA device under the bridge. > + > + @param Bridge PCI IO instance for the bridge. > + > + @return The active VGA device. > + > +**/ > +PCI_IO_DEVICE * > +LocateVgaDevice ( > + IN PCI_IO_DEVICE *Bridge > + ); > + > + > +/** > + Destroy a pci device node. > + > + All direct or indirect allocated resource for this node will be freed. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE to be destroyed. > + > +**/ > +VOID > +FreePciDevice ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDriverOverride.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDriverOverride.c > new file mode 100644 > index 0000000000..0c3f684c8c > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDriverOverride.c > @@ -0,0 +1,188 @@ > +/** @file > + Functions implementation for Bus Specific Driver Override protocol. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +/** > + Initializes a PCI Driver Override Instance. > + > + @param PciIoDevice PCI Device instance. > + > +**/ > +VOID > +InitializePciDriverOverrideInstance ( > + IN OUT PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + PciIoDevice->PciDriverOverride.GetDriver = GetDriver; > +} > + > +/** > + Find the image handle whose path equals to ImagePath. > + > + @param ImagePath Image path. > + > + @return Image handle. > +**/ > +EFI_HANDLE > +LocateImageHandle ( > + IN EFI_DEVICE_PATH_PROTOCOL *ImagePath > + ) > +{ > + EFI_STATUS Status; > + EFI_HANDLE *Handles; > + UINTN Index; > + UINTN HandleNum; > + EFI_DEVICE_PATH_PROTOCOL *DevicePath; > + UINTN ImagePathSize; > + EFI_HANDLE ImageHandle; > + > + Status = gBS->LocateHandleBuffer ( > + ByProtocol, > + &gEfiLoadedImageDevicePathProtocolGuid, > + NULL, > + &HandleNum, > + &Handles > + ); > + if (EFI_ERROR (Status)) { > + return NULL; > + } > + > + ImageHandle = NULL; > + ImagePathSize = GetDevicePathSize (ImagePath); > + > + for (Index = 0; Index < HandleNum; Index++) { > + Status = gBS->HandleProtocol (Handles[Index], > &gEfiLoadedImageDevicePathProtocolGuid, (VOID **) &DevicePath); > + if (EFI_ERROR (Status)) { > + continue; > + } > + if ((ImagePathSize == GetDevicePathSize (DevicePath)) && > + (CompareMem (ImagePath, DevicePath, ImagePathSize) == 0) > + ) { > + ImageHandle = Handles[Index]; > + break; > + } > + } > + > + FreePool (Handles); > + return ImageHandle; > +} > + > +/** > + Uses a bus specific algorithm to retrieve a driver image handle for a > controller. > + > + @param This A pointer to the > EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance. > + @param DriverImageHandle On input, a pointer to the previous driver > image handle returned > + by GetDriver(). On output, a pointer to the next driver > + image handle. Passing in a NULL, will return the first driver > + image handle. > + > + @retval EFI_SUCCESS A bus specific override driver is returned in > DriverImageHandle. > + @retval EFI_NOT_FOUND The end of the list of override drivers was > reached. > + A bus specific override driver is not returned in > DriverImageHandle. > + @retval EFI_INVALID_PARAMETER DriverImageHandle is not a handle that > was returned on a > + previous call to GetDriver(). > + > +**/ > +EFI_STATUS > +EFIAPI > +GetDriver ( > + IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This, > + IN OUT EFI_HANDLE *DriverImageHandle > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + LIST_ENTRY *Link; > + PCI_DRIVER_OVERRIDE_LIST *Override; > + BOOLEAN ReturnNext; > + > + Override = NULL; > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_DRIVER_OVERRIDE_THIS (This); > + ReturnNext = (BOOLEAN) (*DriverImageHandle == NULL); > + for ( Link = GetFirstNode (&PciIoDevice->OptionRomDriverList) > + ; !IsNull (&PciIoDevice->OptionRomDriverList, Link) > + ; Link = GetNextNode (&PciIoDevice->OptionRomDriverList, Link) > + ) { > + > + Override = DRIVER_OVERRIDE_FROM_LINK (Link); > + > + if (ReturnNext) { > + if (Override->DriverImageHandle == NULL) { > + Override->DriverImageHandle = LocateImageHandle (Override- > >DriverImagePath); > + } > + > + if (Override->DriverImageHandle == NULL) { > + // > + // The Option ROM identified by Override->DriverImagePath is not > loaded. > + // > + continue; > + } else { > + *DriverImageHandle = Override->DriverImageHandle; > + return EFI_SUCCESS; > + } > + } > + > + if (*DriverImageHandle == Override->DriverImageHandle) { > + ReturnNext = TRUE; > + } > + } > + > + ASSERT (IsNull (&PciIoDevice->OptionRomDriverList, Link)); > + // > + // ReturnNext indicates a handle match happens. > + // If all nodes are checked without handle match happening, > + // the DriverImageHandle should be a invalid handle. > + // > + if (ReturnNext) { > + return EFI_NOT_FOUND; > + } else { > + return EFI_INVALID_PARAMETER; > + } > +} > + > +/** > + Add an overriding driver image. > + > + @param PciIoDevice Instance of PciIo device. > + @param DriverImageHandle Image handle of newly added driver image. > + @param DriverImagePath Device path of newly added driver image. > + > + @retval EFI_SUCCESS Successfully added driver. > + @retval EFI_OUT_OF_RESOURCES No memory resource for new driver > instance. > + @retval other Some error occurred when locating > gEfiLoadedImageProtocolGuid. > + > +**/ > +EFI_STATUS > +AddDriver ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN EFI_HANDLE DriverImageHandle, > + IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath > + ) > +{ > + PCI_DRIVER_OVERRIDE_LIST *Node; > + > + // > + // Caller should pass in either Image Handle or Image Path, but not both. > + // > + ASSERT ((DriverImageHandle == NULL) || (DriverImagePath == NULL)); > + > + Node = AllocateZeroPool (sizeof (PCI_DRIVER_OVERRIDE_LIST)); > + if (Node == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + Node->Signature = DRIVER_OVERRIDE_SIGNATURE; > + Node->DriverImageHandle = DriverImageHandle; > + Node->DriverImagePath = DuplicateDevicePath (DriverImagePath); > + > + InsertTailList (&PciIoDevice->OptionRomDriverList, &Node->Link); > + > + PciIoDevice->BusOverride = TRUE; > + return EFI_SUCCESS; > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDriverOverride.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDriverOverride.h > new file mode 100644 > index 0000000000..ab058fa762 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciDriverOverride.h > @@ -0,0 +1,83 @@ > +/** @file > + Functions declaration for Bus Specific Driver Override protocol. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > + > +#ifndef _EFI_PCI_DRIVER_OVERRRIDE_H_ > +#define _EFI_PCI_DRIVER_OVERRRIDE_H_ > + > +#define DRIVER_OVERRIDE_SIGNATURE SIGNATURE_32 ('d', 'r', 'o', 'v') > + > +// > +// PCI driver override driver image list > +// > +typedef struct { > + UINT32 Signature; > + LIST_ENTRY Link; > + EFI_HANDLE DriverImageHandle; > + EFI_DEVICE_PATH_PROTOCOL *DriverImagePath; > +} PCI_DRIVER_OVERRIDE_LIST; > + > + > +#define DRIVER_OVERRIDE_FROM_LINK(a) \ > + CR (a, PCI_DRIVER_OVERRIDE_LIST, Link, DRIVER_OVERRIDE_SIGNATURE) > + > +/** > + Initializes a PCI Driver Override Instance. > + > + @param PciIoDevice PCI Device instance. > + > +**/ > +VOID > +InitializePciDriverOverrideInstance ( > + IN OUT PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Add an overriding driver image. > + > + @param PciIoDevice Instance of PciIo device. > + @param DriverImageHandle Image handle of newly added driver image. > + @param DriverImagePath Device path of newly added driver image. > + > + @retval EFI_SUCCESS Successfully added driver. > + @retval EFI_OUT_OF_RESOURCES No memory resource for new driver > instance. > + @retval other Some error occurred when locating > gEfiLoadedImageProtocolGuid. > + > +**/ > +EFI_STATUS > +AddDriver ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN EFI_HANDLE DriverImageHandle, > + IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath > + ); > + > + > +/** > + Uses a bus specific algorithm to retrieve a driver image handle for a > controller. > + > + @param This A pointer to the > EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance. > + @param DriverImageHandle On input, a pointer to the previous driver > image handle returned > + by GetDriver(). On output, a pointer to the next driver > + image handle. Passing in a NULL, will return the first driver > + image handle. > + > + @retval EFI_SUCCESS A bus specific override driver is returned in > DriverImageHandle. > + @retval EFI_NOT_FOUND The end of the list of override drivers was > reached. > + A bus specific override driver is not returned in > DriverImageHandle. > + @retval EFI_INVALID_PARAMETER DriverImageHandle is not a handle that > was returned on a > + previous call to GetDriver(). > + > +**/ > +EFI_STATUS > +EFIAPI > +GetDriver ( > + IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This, > + IN OUT EFI_HANDLE *DriverImageHandle > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumerator.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumerator.c > new file mode 100644 > index 0000000000..4e1c328b7e > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumerator.c > @@ -0,0 +1,2210 @@ > +/** @file > + PCI eunmeration implementation on entire PCI bus system for PCI Bus > module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +/** > + This routine is used to enumerate entire pci bus system > + in a given platform. > + > + @param Controller Parent controller handle. > + @param HostBridgeHandle Host bridge handle. > + > + @retval EFI_SUCCESS PCI enumeration finished successfully. > + @retval other Some error occurred when enumerating the pci bus > system. > + > +**/ > +EFI_STATUS > +PciEnumerator ( > + IN EFI_HANDLE Controller, > + IN EFI_HANDLE HostBridgeHandle > + ) > +{ > + EFI_STATUS Status; > + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc; > + > + // > + // Get the pci host bridge resource allocation protocol > + // > + Status = gBS->OpenProtocol ( > + HostBridgeHandle, > + &gEfiPciHostBridgeResourceAllocationProtocolGuid, > + (VOID **) &PciResAlloc, > + gPciBusDriverBinding.DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Notify the pci bus enumeration is about to begin > + // > + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginEnumeration); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Start the bus allocation phase > + // > + Status = PciHostBridgeEnumerator (PciResAlloc); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Submit the resource request > + // > + Status = PciHostBridgeResourceAllocator (PciResAlloc); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Notify the pci bus enumeration is about to complete > + // > + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeEndEnumeration); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Process P2C > + // > + Status = PciHostBridgeP2CProcess (PciResAlloc); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Process attributes for devices on this host bridge > + // > + Status = PciHostBridgeDeviceAttribute (PciResAlloc); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Enumerate PCI root bridge. > + > + @param PciResAlloc Pointer to protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + @param RootBridgeDev Instance of root bridge device. > + > + @retval EFI_SUCCESS Successfully enumerated root bridge. > + @retval other Failed to enumerate root bridge. > + > +**/ > +EFI_STATUS > +PciRootBridgeEnumerator ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc, > + IN PCI_IO_DEVICE *RootBridgeDev > + ) > +{ > + EFI_STATUS Status; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration1; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration2; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration3; > + UINT8 SubBusNumber; > + UINT8 StartBusNumber; > + UINT8 PaddedBusRange; > + EFI_HANDLE RootBridgeHandle; > + UINT8 Desc; > + UINT64 AddrLen; > + UINT64 AddrRangeMin; > + > + SubBusNumber = 0; > + StartBusNumber = 0; > + PaddedBusRange = 0; > + > + // > + // Get the root bridge handle > + // > + RootBridgeHandle = RootBridgeDev->Handle; > + > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_PROGRESS_CODE, > + EFI_IO_BUS_PCI | EFI_IOB_PCI_BUS_ENUM, > + RootBridgeDev->DevicePath > + ); > + > + // > + // Get the Bus information > + // > + Status = PciResAlloc->StartBusEnumeration ( > + PciResAlloc, > + RootBridgeHandle, > + (VOID **) &Configuration > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + if (Configuration == NULL || Configuration->Desc == > ACPI_END_TAG_DESCRIPTOR) { > + return EFI_INVALID_PARAMETER; > + } > + RootBridgeDev->BusNumberRanges = Configuration; > + > + // > + // Sort the descriptors in ascending order > + // > + for (Configuration1 = Configuration; Configuration1->Desc != > ACPI_END_TAG_DESCRIPTOR; Configuration1++) { > + Configuration2 = Configuration1; > + for (Configuration3 = Configuration1 + 1; Configuration3->Desc != > ACPI_END_TAG_DESCRIPTOR; Configuration3++) { > + if (Configuration2->AddrRangeMin > Configuration3->AddrRangeMin) { > + Configuration2 = Configuration3; > + } > + } > + // > + // All other fields other than AddrRangeMin and AddrLen are ignored in a > descriptor, > + // so only need to swap these two fields. > + // > + if (Configuration2 != Configuration1) { > + AddrRangeMin = Configuration1->AddrRangeMin; > + Configuration1->AddrRangeMin = Configuration2->AddrRangeMin; > + Configuration2->AddrRangeMin = AddrRangeMin; > + > + AddrLen = Configuration1->AddrLen; > + Configuration1->AddrLen = Configuration2->AddrLen; > + Configuration2->AddrLen = AddrLen; > + } > + } > + > + // > + // Get the bus number to start with > + // > + StartBusNumber = (UINT8) (Configuration->AddrRangeMin); > + > + // > + // Initialize the subordinate bus number > + // > + SubBusNumber = StartBusNumber; > + > + // > + // Reset all assigned PCI bus number > + // > + ResetAllPpbBusNumber ( > + RootBridgeDev, > + StartBusNumber > + ); > + > + // > + // Assign bus number > + // > + Status = PciScanBus ( > + RootBridgeDev, > + StartBusNumber, > + &SubBusNumber, > + &PaddedBusRange > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + > + // > + // Assign max bus number scanned > + // > + > + Status = PciAllocateBusNumber (RootBridgeDev, SubBusNumber, > PaddedBusRange, &SubBusNumber); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Find the bus range which contains the higest bus number, then returns > the number of buses > + // that should be decoded. > + // > + while (Configuration->AddrRangeMin + Configuration->AddrLen - 1 < > SubBusNumber) { > + Configuration++; > + } > + AddrLen = Configuration->AddrLen; > + Configuration->AddrLen = SubBusNumber - Configuration- > >AddrRangeMin + 1; > + > + // > + // Save the Desc field of the next descriptor. Mark the next descriptor as > an END descriptor. > + // > + Configuration++; > + Desc = Configuration->Desc; > + Configuration->Desc = ACPI_END_TAG_DESCRIPTOR; > + > + // > + // Set bus number > + // > + Status = PciResAlloc->SetBusNumbers ( > + PciResAlloc, > + RootBridgeHandle, > + RootBridgeDev->BusNumberRanges > + ); > + > + // > + // Restore changed fields > + // > + Configuration->Desc = Desc; > + (Configuration - 1)->AddrLen = AddrLen; > + > + return Status; > +} > + > +/** > + This routine is used to process all PCI devices' Option Rom > + on a certain root bridge. > + > + @param Bridge Given parent's root bridge. > + @param RomBase Base address of ROM driver loaded from. > + @param MaxLength Maximum rom size. > + > +**/ > +VOID > +ProcessOptionRom ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT64 RomBase, > + IN UINT64 MaxLength > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *Temp; > + > + // > + // Go through bridges to reach all devices > + // > + CurrentLink = Bridge->ChildList.ForwardLink; > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + if (!IsListEmpty (&Temp->ChildList)) { > + > + // > + // Go further to process the option rom under this bridge > + // > + ProcessOptionRom (Temp, RomBase, MaxLength); > + } > + > + if (Temp->RomSize != 0 && Temp->RomSize <= MaxLength) { > + > + // > + // Load and process the option rom > + // > + LoadOpRomImage (Temp, RomBase); > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > +} > + > +/** > + This routine is used to assign bus number to the given PCI bus system > + > + @param Bridge Parent root bridge instance. > + @param StartBusNumber Number of beginning. > + @param SubBusNumber The number of sub bus. > + > + @retval EFI_SUCCESS Successfully assigned bus number. > + @retval EFI_DEVICE_ERROR Failed to assign bus number. > + > +**/ > +EFI_STATUS > +PciAssignBusNumber ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber, > + OUT UINT8 *SubBusNumber > + ) > +{ > + EFI_STATUS Status; > + PCI_TYPE00 Pci; > + UINT8 Device; > + UINT8 Func; > + UINT64 Address; > + UINTN SecondBus; > + UINT16 Register; > + UINT8 Register8; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + > + PciRootBridgeIo = Bridge->PciRootBridgeIo; > + > + SecondBus = 0; > + Register = 0; > + > + *SubBusNumber = StartBusNumber; > + > + // > + // First check to see whether the parent is ppb > + // > + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { > + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { > + > + // > + // Check to see whether a pci device is present > + // > + Status = PciDevicePresent ( > + PciRootBridgeIo, > + &Pci, > + StartBusNumber, > + Device, > + Func > + ); > + > + if (EFI_ERROR (Status) && Func == 0) { > + // > + // go to next device if there is no Function 0 > + // > + break; > + } > + > + if (!EFI_ERROR (Status) && > + (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci))) { > + > + // > + // Reserved one bus for cardbus bridge > + // > + Status = PciAllocateBusNumber (Bridge, *SubBusNumber, 1, > SubBusNumber); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + SecondBus = *SubBusNumber; > + > + Register = (UINT16) ((SecondBus << 8) | (UINT16) StartBusNumber); > + > + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x18); > + > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint16, > + Address, > + 1, > + &Register > + ); > + > + // > + // Initialize SubBusNumber to SecondBus > + // > + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x1A); > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint8, > + Address, > + 1, > + SubBusNumber > + ); > + // > + // If it is PPB, resursively search down this bridge > + // > + if (IS_PCI_BRIDGE (&Pci)) { > + > + Register8 = 0xFF; > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint8, > + Address, > + 1, > + &Register8 > + ); > + > + Status = PciAssignBusNumber ( > + Bridge, > + (UINT8) (SecondBus), > + SubBusNumber > + ); > + > + if (EFI_ERROR (Status)) { > + return EFI_DEVICE_ERROR; > + } > + } > + > + // > + // Set the current maximum bus number under the PPB > + // > + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x1A); > + > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint8, > + Address, > + 1, > + SubBusNumber > + ); > + > + } > + > + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { > + > + // > + // Skip sub functions, this is not a multi function device > + // > + Func = PCI_MAX_FUNC; > + } > + } > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + This routine is used to determine the root bridge attribute by interfacing > + the host bridge resource allocation protocol. > + > + @param PciResAlloc Protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > + @param RootBridgeDev Root bridge instance > + > + @retval EFI_SUCCESS Successfully got root bridge's attribute. > + @retval other Failed to get attribute. > + > +**/ > +EFI_STATUS > +DetermineRootBridgeAttributes ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc, > + IN PCI_IO_DEVICE *RootBridgeDev > + ) > +{ > + UINT64 Attributes; > + EFI_STATUS Status; > + EFI_HANDLE RootBridgeHandle; > + > + Attributes = 0; > + RootBridgeHandle = RootBridgeDev->Handle; > + > + // > + // Get root bridge attribute by calling into pci host bridge resource > allocation protocol > + // > + Status = PciResAlloc->GetAllocAttributes ( > + PciResAlloc, > + RootBridgeHandle, > + &Attributes > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Here is the point where PCI bus driver calls HOST bridge allocation > protocol > + // Currently we hardcoded for ea815 > + // > + if ((Attributes & EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM) != 0) { > + RootBridgeDev->Decodes |= > EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED; > + } > + > + if ((Attributes & EFI_PCI_HOST_BRIDGE_MEM64_DECODE) != 0) { > + RootBridgeDev->Decodes |= EFI_BRIDGE_MEM64_DECODE_SUPPORTED; > + RootBridgeDev->Decodes |= > EFI_BRIDGE_PMEM64_DECODE_SUPPORTED; > + } > + > + RootBridgeDev->Decodes |= EFI_BRIDGE_MEM32_DECODE_SUPPORTED; > + RootBridgeDev->Decodes |= > EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; > + RootBridgeDev->Decodes |= EFI_BRIDGE_IO16_DECODE_SUPPORTED; > + > + return EFI_SUCCESS; > +} > + > +/** > + Get Max Option Rom size on specified bridge. > + > + @param Bridge Given bridge device instance. > + > + @return Max size of option rom needed. > + > +**/ > +UINT32 > +GetMaxOptionRomSize ( > + IN PCI_IO_DEVICE *Bridge > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *Temp; > + UINT32 MaxOptionRomSize; > + UINT32 TempOptionRomSize; > + > + MaxOptionRomSize = 0; > + > + // > + // Go through bridges to reach all devices > + // > + CurrentLink = Bridge->ChildList.ForwardLink; > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + if (!IsListEmpty (&Temp->ChildList)) { > + > + // > + // Get max option rom size under this bridge > + // > + TempOptionRomSize = GetMaxOptionRomSize (Temp); > + > + // > + // Compare with the option rom size of the bridge > + // Get the larger one > + // > + if (Temp->RomSize > TempOptionRomSize) { > + TempOptionRomSize = Temp->RomSize; > + } > + > + } else { > + > + // > + // For devices get the rom size directly > + // > + TempOptionRomSize = Temp->RomSize; > + } > + > + // > + // Get the largest rom size on this bridge > + // > + if (TempOptionRomSize > MaxOptionRomSize) { > + MaxOptionRomSize = TempOptionRomSize; > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return MaxOptionRomSize; > +} > + > +/** > + Process attributes of devices on this host bridge > + > + @param PciResAlloc Protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + > + @retval EFI_SUCCESS Successfully process attribute. > + @retval EFI_NOT_FOUND Can not find the specific root bridge device. > + @retval other Failed to determine the root bridge device's attribute. > + > +**/ > +EFI_STATUS > +PciHostBridgeDeviceAttribute ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ) > +{ > + EFI_HANDLE RootBridgeHandle; > + PCI_IO_DEVICE *RootBridgeDev; > + EFI_STATUS Status; > + > + RootBridgeHandle = NULL; > + > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) > == EFI_SUCCESS) { > + > + // > + // Get RootBridg Device by handle > + // > + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); > + > + if (RootBridgeDev == NULL) { > + return EFI_NOT_FOUND; > + } > + > + // > + // Set the attributes for devcies behind the Root Bridge > + // > + Status = DetermineDeviceAttribute (RootBridgeDev); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Get resource allocation status from the ACPI resource descriptor. > + > + @param AcpiConfig Point to Acpi configuration table. > + @param IoResStatus Return the status of I/O resource. > + @param Mem32ResStatus Return the status of 32-bit Memory resource. > + @param PMem32ResStatus Return the status of 32-bit Prefetchable > Memory resource. > + @param Mem64ResStatus Return the status of 64-bit Memory resource. > + @param PMem64ResStatus Return the status of 64-bit Prefetchable > Memory resource. > + > +**/ > +VOID > +GetResourceAllocationStatus ( > + VOID *AcpiConfig, > + OUT UINT64 *IoResStatus, > + OUT UINT64 *Mem32ResStatus, > + OUT UINT64 *PMem32ResStatus, > + OUT UINT64 *Mem64ResStatus, > + OUT UINT64 *PMem64ResStatus > + ) > +{ > + UINT8 *Temp; > + UINT64 ResStatus; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *ACPIAddressDesc; > + > + Temp = (UINT8 *) AcpiConfig; > + > + while (*Temp == ACPI_ADDRESS_SPACE_DESCRIPTOR) { > + > + ACPIAddressDesc = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) > Temp; > + ResStatus = ACPIAddressDesc->AddrTranslationOffset; > + > + switch (ACPIAddressDesc->ResType) { > + case 0: > + if (ACPIAddressDesc->AddrSpaceGranularity == 32) { > + if (ACPIAddressDesc->SpecificFlag == 0x06) { > + // > + // Pmem32 > + // > + *PMem32ResStatus = ResStatus; > + } else { > + // > + // Mem32 > + // > + *Mem32ResStatus = ResStatus; > + } > + } > + > + if (ACPIAddressDesc->AddrSpaceGranularity == 64) { > + if (ACPIAddressDesc->SpecificFlag == 0x06) { > + // > + // PMem64 > + // > + *PMem64ResStatus = ResStatus; > + } else { > + // > + // Mem64 > + // > + *Mem64ResStatus = ResStatus; > + } > + } > + > + break; > + > + case 1: > + // > + // Io > + // > + *IoResStatus = ResStatus; > + break; > + > + default: > + break; > + } > + > + Temp += sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR); > + } > +} > + > +/** > + Remove a PCI device from device pool and mark its bar. > + > + @param PciDevice Instance of Pci device. > + > + @retval EFI_SUCCESS Successfully remove the PCI device. > + @retval EFI_ABORTED Pci device is a root bridge or a PCI-PCI bridge. > + > +**/ > +EFI_STATUS > +RejectPciDevice ( > + IN PCI_IO_DEVICE *PciDevice > + ) > +{ > + PCI_IO_DEVICE *Bridge; > + PCI_IO_DEVICE *Temp; > + LIST_ENTRY *CurrentLink; > + > + // > + // Remove the padding resource from a bridge > + // > + if ( IS_PCI_BRIDGE(&PciDevice->Pci) && > + PciDevice->ResourcePaddingDescriptors != NULL ) { > + FreePool (PciDevice->ResourcePaddingDescriptors); > + PciDevice->ResourcePaddingDescriptors = NULL; > + return EFI_SUCCESS; > + } > + > + // > + // Skip RB and PPB > + // > + if (IS_PCI_BRIDGE (&PciDevice->Pci) || (PciDevice->Parent == NULL)) { > + return EFI_ABORTED; > + } > + > + if (IS_CARDBUS_BRIDGE (&PciDevice->Pci)) { > + // > + // Get the root bridge device > + // > + Bridge = PciDevice; > + while (Bridge->Parent != NULL) { > + Bridge = Bridge->Parent; > + } > + > + RemoveAllPciDeviceOnBridge (Bridge->Handle, PciDevice); > + > + // > + // Mark its bar > + // > + InitializeP2C (PciDevice); > + } > + > + // > + // Remove the device > + // > + Bridge = PciDevice->Parent; > + CurrentLink = Bridge->ChildList.ForwardLink; > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + if (Temp == PciDevice) { > + InitializePciDevice (Temp); > + RemoveEntryList (CurrentLink); > + return EFI_SUCCESS; > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return EFI_ABORTED; > +} > + > +/** > + Determine whethter a PCI device can be rejected. > + > + @param PciResNode Pointer to Pci resource node instance. > + > + @retval TRUE The PCI device can be rejected. > + @retval TRUE The PCI device cannot be rejected. > + > +**/ > +BOOLEAN > +IsRejectiveDevice ( > + IN PCI_RESOURCE_NODE *PciResNode > + ) > +{ > + PCI_IO_DEVICE *Temp; > + > + Temp = PciResNode->PciDev; > + > + // > + // Ensure the device is present > + // > + if (Temp == NULL) { > + return FALSE; > + } > + > + // > + // PPB and RB should go ahead > + // > + if (IS_PCI_BRIDGE (&Temp->Pci) || (Temp->Parent == NULL)) { > + return TRUE; > + } > + > + // > + // Skip device on Bus0 > + // > + if ((Temp->Parent != NULL) && (Temp->BusNumber == 0)) { > + return FALSE; > + } > + > + // > + // Skip VGA > + // > + if (IS_PCI_VGA (&Temp->Pci)) { > + return FALSE; > + } > + > + return TRUE; > +} > + > +/** > + Compare two resource nodes and get the larger resource consumer. > + > + @param PciResNode1 resource node 1 want to be compared > + @param PciResNode2 resource node 2 want to be compared > + > + @return Larger resource node. > + > +**/ > +PCI_RESOURCE_NODE * > +GetLargerConsumerDevice ( > + IN PCI_RESOURCE_NODE *PciResNode1, > + IN PCI_RESOURCE_NODE *PciResNode2 > + ) > +{ > + if (PciResNode2 == NULL) { > + return PciResNode1; > + } > + > + if ((IS_PCI_BRIDGE(&(PciResNode2->PciDev->Pci)) || (PciResNode2- > >PciDev->Parent == NULL)) \ > + && (PciResNode2->ResourceUsage != PciResUsagePadding) ) > + { > + return PciResNode1; > + } > + > + if (PciResNode1 == NULL) { > + return PciResNode2; > + } > + > + if ((PciResNode1->Length) > (PciResNode2->Length)) { > + return PciResNode1; > + } > + > + return PciResNode2; > +} > + > + > +/** > + Get the max resource consumer in the host resource pool. > + > + @param ResPool Pointer to resource pool node. > + > + @return The max resource consumer in the host resource pool. > + > +**/ > +PCI_RESOURCE_NODE * > +GetMaxResourceConsumerDevice ( > + IN PCI_RESOURCE_NODE *ResPool > + ) > +{ > + PCI_RESOURCE_NODE *Temp; > + LIST_ENTRY *CurrentLink; > + PCI_RESOURCE_NODE *PciResNode; > + PCI_RESOURCE_NODE *PPBResNode; > + > + PciResNode = NULL; > + > + CurrentLink = ResPool->ChildList.ForwardLink; > + while (CurrentLink != NULL && CurrentLink != &ResPool->ChildList) { > + > + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); > + > + if (!IsRejectiveDevice (Temp)) { > + CurrentLink = CurrentLink->ForwardLink; > + continue; > + } > + > + if ((IS_PCI_BRIDGE (&(Temp->PciDev->Pci)) || (Temp->PciDev->Parent > == NULL)) \ > + && (Temp->ResourceUsage != PciResUsagePadding)) > + { > + PPBResNode = GetMaxResourceConsumerDevice (Temp); > + PciResNode = GetLargerConsumerDevice (PciResNode, PPBResNode); > + } else { > + PciResNode = GetLargerConsumerDevice (PciResNode, Temp); > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return PciResNode; > +} > + > +/** > + Adjust host bridge allocation so as to reduce resource requirement > + > + @param IoPool Pointer to instance of I/O resource Node. > + @param Mem32Pool Pointer to instance of 32-bit memory resource > Node. > + @param PMem32Pool Pointer to instance of 32-bit Prefetchable > memory resource node. > + @param Mem64Pool Pointer to instance of 64-bit memory resource > node. > + @param PMem64Pool Pointer to instance of 64-bit Prefetchable > memory resource node. > + @param IoResStatus Status of I/O resource Node. > + @param Mem32ResStatus Status of 32-bit memory resource Node. > + @param PMem32ResStatus Status of 32-bit Prefetchable memory > resource node. > + @param Mem64ResStatus Status of 64-bit memory resource node. > + @param PMem64ResStatus Status of 64-bit Prefetchable memory > resource node. > + > + @retval EFI_SUCCESS Successfully adjusted resource on host bridge. > + @retval EFI_ABORTED Host bridge hasn't this resource type or no > resource be adjusted. > + > +**/ > +EFI_STATUS > +PciHostBridgeAdjustAllocation ( > + IN PCI_RESOURCE_NODE *IoPool, > + IN PCI_RESOURCE_NODE *Mem32Pool, > + IN PCI_RESOURCE_NODE *PMem32Pool, > + IN PCI_RESOURCE_NODE *Mem64Pool, > + IN PCI_RESOURCE_NODE *PMem64Pool, > + IN UINT64 IoResStatus, > + IN UINT64 Mem32ResStatus, > + IN UINT64 PMem32ResStatus, > + IN UINT64 Mem64ResStatus, > + IN UINT64 PMem64ResStatus > + ) > +{ > + BOOLEAN AllocationAjusted; > + PCI_RESOURCE_NODE *PciResNode; > + PCI_RESOURCE_NODE *ResPool[5]; > + PCI_IO_DEVICE *RemovedPciDev[5]; > + UINT64 ResStatus[5]; > + UINTN RemovedPciDevNum; > + UINTN DevIndex; > + UINTN ResType; > + EFI_STATUS Status; > + EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD > AllocFailExtendedData; > + > + PciResNode = NULL; > + ZeroMem (RemovedPciDev, 5 * sizeof (PCI_IO_DEVICE *)); > + RemovedPciDevNum = 0; > + > + ResPool[0] = IoPool; > + ResPool[1] = Mem32Pool; > + ResPool[2] = PMem32Pool; > + ResPool[3] = Mem64Pool; > + ResPool[4] = PMem64Pool; > + > + ResStatus[0] = IoResStatus; > + ResStatus[1] = Mem32ResStatus; > + ResStatus[2] = PMem32ResStatus; > + ResStatus[3] = Mem64ResStatus; > + ResStatus[4] = PMem64ResStatus; > + > + AllocationAjusted = FALSE; > + > + for (ResType = 0; ResType < 5; ResType++) { > + > + if (ResStatus[ResType] == EFI_RESOURCE_SATISFIED) { > + continue; > + } > + > + if (ResStatus[ResType] == EFI_RESOURCE_NOT_SATISFIED) { > + // > + // Host bridge hasn't this resource type > + // > + return EFI_ABORTED; > + } > + > + // > + // Hostbridge hasn't enough resource > + // > + PciResNode = GetMaxResourceConsumerDevice (ResPool[ResType]); > + if (PciResNode == NULL) { > + continue; > + } > + > + // > + // Check if the device has been removed before > + // > + for (DevIndex = 0; DevIndex < RemovedPciDevNum; DevIndex++) { > + if (PciResNode->PciDev == RemovedPciDev[DevIndex]) { > + break; > + } > + } > + > + if (DevIndex != RemovedPciDevNum) { > + continue; > + } > + > + // > + // Remove the device if it isn't in the array > + // > + Status = RejectPciDevice (PciResNode->PciDev); > + if (Status == EFI_SUCCESS) { > + DEBUG (( > + EFI_D_ERROR, > + "PciBus: [%02x|%02x|%02x] was rejected due to resource > confliction.\n", > + PciResNode->PciDev->BusNumber, PciResNode->PciDev- > >DeviceNumber, PciResNode->PciDev->FunctionNumber > + )); > + > + // > + // Raise the EFI_IOB_EC_RESOURCE_CONFLICT status code > + // > + // > + // Have no way to get ReqRes, AllocRes & Bar here > + // > + ZeroMem (&AllocFailExtendedData, sizeof (AllocFailExtendedData)); > + AllocFailExtendedData.DevicePathSize = (UINT16) sizeof > (EFI_DEVICE_PATH_PROTOCOL); > + AllocFailExtendedData.DevicePath = (UINT8 *) PciResNode->PciDev- > >DevicePath; > + AllocFailExtendedData.Bar = PciResNode->Bar; > + > + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( > + EFI_PROGRESS_CODE, > + EFI_IO_BUS_PCI | EFI_IOB_EC_RESOURCE_CONFLICT, > + (VOID *) &AllocFailExtendedData, > + sizeof (AllocFailExtendedData) > + ); > + > + // > + // Add it to the array and indicate at least a device has been rejected > + // > + RemovedPciDev[RemovedPciDevNum++] = PciResNode->PciDev; > + AllocationAjusted = TRUE; > + } > + } > + // > + // End for > + // > + > + if (AllocationAjusted) { > + return EFI_SUCCESS; > + } else { > + return EFI_ABORTED; > + } > +} > + > +/** > + Summary requests for all resource type, and construct ACPI resource > + requestor instance. > + > + @param Bridge detecting bridge > + @param IoNode Pointer to instance of I/O resource Node > + @param Mem32Node Pointer to instance of 32-bit memory resource > Node > + @param PMem32Node Pointer to instance of 32-bit Pmemory resource > node > + @param Mem64Node Pointer to instance of 64-bit memory resource > node > + @param PMem64Node Pointer to instance of 64-bit Pmemory resource > node > + @param Config Output buffer holding new constructed APCI resource > requestor > + > + @retval EFI_SUCCESS Successfully constructed ACPI resource. > + @retval EFI_OUT_OF_RESOURCES No memory available. > + > +**/ > +EFI_STATUS > +ConstructAcpiResourceRequestor ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node, > + OUT VOID **Config > + ) > +{ > + UINT8 NumConfig; > + UINT8 Aperture; > + UINT8 *Configuration; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; > + EFI_ACPI_END_TAG_DESCRIPTOR *PtrEnd; > + > + NumConfig = 0; > + Aperture = 0; > + > + *Config = NULL; > + > + // > + // if there is io request, add to the io aperture > + // > + if (ResourceRequestExisted (IoNode)) { > + NumConfig++; > + Aperture |= 0x01; > + } > + > + // > + // if there is mem32 request, add to the mem32 aperture > + // > + if (ResourceRequestExisted (Mem32Node)) { > + NumConfig++; > + Aperture |= 0x02; > + } > + > + // > + // if there is pmem32 request, add to the pmem32 aperture > + // > + if (ResourceRequestExisted (PMem32Node)) { > + NumConfig++; > + Aperture |= 0x04; > + } > + > + // > + // if there is mem64 request, add to the mem64 aperture > + // > + if (ResourceRequestExisted (Mem64Node)) { > + NumConfig++; > + Aperture |= 0x08; > + } > + > + // > + // if there is pmem64 request, add to the pmem64 aperture > + // > + if (ResourceRequestExisted (PMem64Node)) { > + NumConfig++; > + Aperture |= 0x10; > + } > + > + if (NumConfig != 0) { > + > + // > + // If there is at least one type of resource request, > + // allocate a acpi resource node > + // > + Configuration = AllocateZeroPool (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) * NumConfig + sizeof > (EFI_ACPI_END_TAG_DESCRIPTOR)); > + if (Configuration == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; > + > + // > + // Deal with io aperture > + // > + if ((Aperture & 0x01) != 0) { > + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) > - 3); > + // > + // Io > + // > + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; > + // > + // non ISA range > + // > + Ptr->SpecificFlag = 1; > + Ptr->AddrLen = IoNode->Length; > + Ptr->AddrRangeMax = IoNode->Alignment; > + > + Ptr++; > + } > + // > + // Deal with mem32 aperture > + // > + if ((Aperture & 0x02) != 0) { > + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) > - 3); > + // > + // Mem > + // > + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + // > + // Nonprefechable > + // > + Ptr->SpecificFlag = 0; > + // > + // 32 bit > + // > + Ptr->AddrSpaceGranularity = 32; > + Ptr->AddrLen = Mem32Node->Length; > + Ptr->AddrRangeMax = Mem32Node->Alignment; > + > + Ptr++; > + } > + > + // > + // Deal with Pmem32 aperture > + // > + if ((Aperture & 0x04) != 0) { > + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) > - 3); > + // > + // Mem > + // > + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + // > + // prefechable > + // > + Ptr->SpecificFlag = 0x6; > + // > + // 32 bit > + // > + Ptr->AddrSpaceGranularity = 32; > + Ptr->AddrLen = PMem32Node->Length; > + Ptr->AddrRangeMax = PMem32Node->Alignment; > + > + Ptr++; > + } > + // > + // Deal with mem64 aperture > + // > + if ((Aperture & 0x08) != 0) { > + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) > - 3); > + // > + // Mem > + // > + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + // > + // nonprefechable > + // > + Ptr->SpecificFlag = 0; > + // > + // 64 bit > + // > + Ptr->AddrSpaceGranularity = 64; > + Ptr->AddrLen = Mem64Node->Length; > + Ptr->AddrRangeMax = Mem64Node->Alignment; > + > + Ptr++; > + } > + // > + // Deal with Pmem64 aperture > + // > + if ((Aperture & 0x10) != 0) { > + Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > + Ptr->Len = (UINT16) (sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) > - 3); > + // > + // Mem > + // > + Ptr->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + // > + // prefechable > + // > + Ptr->SpecificFlag = 0x06; > + // > + // 64 bit > + // > + Ptr->AddrSpaceGranularity = 64; > + Ptr->AddrLen = PMem64Node->Length; > + Ptr->AddrRangeMax = PMem64Node->Alignment; > + > + Ptr++; > + } > + > + // > + // put the checksum > + // > + PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) Ptr; > + > + PtrEnd->Desc = ACPI_END_TAG_DESCRIPTOR; > + PtrEnd->Checksum = 0; > + > + } else { > + > + // > + // If there is no resource request > + // > + Configuration = AllocateZeroPool (sizeof > (EFI_ACPI_END_TAG_DESCRIPTOR)); > + if (Configuration == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Configuration); > + PtrEnd->Desc = ACPI_END_TAG_DESCRIPTOR; > + PtrEnd->Checksum = 0; > + } > + > + *Config = Configuration; > + > + return EFI_SUCCESS; > +} > + > +/** > + Get resource base from an acpi configuration descriptor. > + > + @param Config An acpi configuration descriptor. > + @param IoBase Output of I/O resource base address. > + @param Mem32Base Output of 32-bit memory base address. > + @param PMem32Base Output of 32-bit prefetchable memory base > address. > + @param Mem64Base Output of 64-bit memory base address. > + @param PMem64Base Output of 64-bit prefetchable memory base > address. > + > +**/ > +VOID > +GetResourceBase ( > + IN VOID *Config, > + OUT UINT64 *IoBase, > + OUT UINT64 *Mem32Base, > + OUT UINT64 *PMem32Base, > + OUT UINT64 *Mem64Base, > + OUT UINT64 *PMem64Base > + ) > +{ > + UINT8 *Temp; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; > + UINT64 ResStatus; > + > + ASSERT (Config != NULL); > + > + *IoBase = 0xFFFFFFFFFFFFFFFFULL; > + *Mem32Base = 0xFFFFFFFFFFFFFFFFULL; > + *PMem32Base = 0xFFFFFFFFFFFFFFFFULL; > + *Mem64Base = 0xFFFFFFFFFFFFFFFFULL; > + *PMem64Base = 0xFFFFFFFFFFFFFFFFULL; > + > + Temp = (UINT8 *) Config; > + > + while (*Temp == ACPI_ADDRESS_SPACE_DESCRIPTOR) { > + > + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Temp; > + ResStatus = Ptr->AddrTranslationOffset; > + > + if (ResStatus == EFI_RESOURCE_SATISFIED) { > + > + switch (Ptr->ResType) { > + > + // > + // Memory type aperture > + // > + case 0: > + > + // > + // Check to see the granularity > + // > + if (Ptr->AddrSpaceGranularity == 32) { > + if ((Ptr->SpecificFlag & 0x06) != 0) { > + *PMem32Base = Ptr->AddrRangeMin; > + } else { > + *Mem32Base = Ptr->AddrRangeMin; > + } > + } > + > + if (Ptr->AddrSpaceGranularity == 64) { > + if ((Ptr->SpecificFlag & 0x06) != 0) { > + *PMem64Base = Ptr->AddrRangeMin; > + } else { > + *Mem64Base = Ptr->AddrRangeMin; > + } > + } > + break; > + > + case 1: > + > + // > + // Io type aperture > + // > + *IoBase = Ptr->AddrRangeMin; > + break; > + > + default: > + break; > + > + } > + // > + // End switch > + // > + } > + // > + // End for > + // > + Temp += sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR); > + } > +} > + > +/** > + Enumerate pci bridge, allocate resource and determine attribute > + for devices on this bridge. > + > + @param BridgeDev Pointer to instance of bridge device. > + > + @retval EFI_SUCCESS Successfully enumerated PCI bridge. > + @retval other Failed to enumerate. > + > +**/ > +EFI_STATUS > +PciBridgeEnumerator ( > + IN PCI_IO_DEVICE *BridgeDev > + ) > +{ > + UINT8 SubBusNumber; > + UINT8 StartBusNumber; > + EFI_PCI_IO_PROTOCOL *PciIo; > + EFI_STATUS Status; > + > + SubBusNumber = 0; > + StartBusNumber = 0; > + PciIo = &(BridgeDev->PciIo); > + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x19, 1, > &StartBusNumber); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status = PciAssignBusNumber ( > + BridgeDev, > + StartBusNumber, > + &SubBusNumber > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status = PciPciDeviceInfoCollector (BridgeDev, StartBusNumber); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status = PciBridgeResourceAllocator (BridgeDev); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status = DetermineDeviceAttribute (BridgeDev); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + return EFI_SUCCESS; > + > +} > + > +/** > + Allocate all kinds of resource for PCI bridge. > + > + @param Bridge Pointer to bridge instance. > + > + @retval EFI_SUCCESS Successfully allocated resource for PCI bridge. > + @retval other Failed to allocate resource for bridge. > + > +**/ > +EFI_STATUS > +PciBridgeResourceAllocator ( > + IN PCI_IO_DEVICE *Bridge > + ) > +{ > + PCI_RESOURCE_NODE *IoBridge; > + PCI_RESOURCE_NODE *Mem32Bridge; > + PCI_RESOURCE_NODE *PMem32Bridge; > + PCI_RESOURCE_NODE *Mem64Bridge; > + PCI_RESOURCE_NODE *PMem64Bridge; > + UINT64 IoBase; > + UINT64 Mem32Base; > + UINT64 PMem32Base; > + UINT64 Mem64Base; > + UINT64 PMem64Base; > + EFI_STATUS Status; > + > + IoBridge = CreateResourceNode ( > + Bridge, > + 0, > + Bridge->BridgeIoAlignment, > + 0, > + PciBarTypeIo16, > + PciResUsageTypical > + ); > + > + Mem32Bridge = CreateResourceNode ( > + Bridge, > + 0, > + 0xFFFFF, > + 0, > + PciBarTypeMem32, > + PciResUsageTypical > + ); > + > + PMem32Bridge = CreateResourceNode ( > + Bridge, > + 0, > + 0xFFFFF, > + 0, > + PciBarTypePMem32, > + PciResUsageTypical > + ); > + > + Mem64Bridge = CreateResourceNode ( > + Bridge, > + 0, > + 0xFFFFF, > + 0, > + PciBarTypeMem64, > + PciResUsageTypical > + ); > + > + PMem64Bridge = CreateResourceNode ( > + Bridge, > + 0, > + 0xFFFFF, > + 0, > + PciBarTypePMem64, > + PciResUsageTypical > + ); > + > + // > + // Create resourcemap by going through all the devices subject to this root > bridge > + // > + CreateResourceMap ( > + Bridge, > + IoBridge, > + Mem32Bridge, > + PMem32Bridge, > + Mem64Bridge, > + PMem64Bridge > + ); > + > + Status = GetResourceBaseFromBridge ( > + Bridge, > + &IoBase, > + &Mem32Base, > + &PMem32Base, > + &Mem64Base, > + &PMem64Base > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Program IO resources > + // > + ProgramResource ( > + IoBase, > + IoBridge > + ); > + > + // > + // Program Mem32 resources > + // > + ProgramResource ( > + Mem32Base, > + Mem32Bridge > + ); > + > + // > + // Program PMem32 resources > + // > + ProgramResource ( > + PMem32Base, > + PMem32Bridge > + ); > + > + // > + // Program Mem64 resources > + // > + ProgramResource ( > + Mem64Base, > + Mem64Bridge > + ); > + > + // > + // Program PMem64 resources > + // > + ProgramResource ( > + PMem64Base, > + PMem64Bridge > + ); > + > + DestroyResourceTree (IoBridge); > + DestroyResourceTree (Mem32Bridge); > + DestroyResourceTree (PMem32Bridge); > + DestroyResourceTree (PMem64Bridge); > + DestroyResourceTree (Mem64Bridge); > + > + gBS->FreePool (IoBridge); > + gBS->FreePool (Mem32Bridge); > + gBS->FreePool (PMem32Bridge); > + gBS->FreePool (PMem64Bridge); > + gBS->FreePool (Mem64Bridge); > + > + return EFI_SUCCESS; > +} > + > +/** > + Get resource base address for a pci bridge device. > + > + @param Bridge Given Pci driver instance. > + @param IoBase Output for base address of I/O type resource. > + @param Mem32Base Output for base address of 32-bit memory type > resource. > + @param PMem32Base Ooutput for base address of 32-bit Pmemory type > resource. > + @param Mem64Base Output for base address of 64-bit memory type > resource. > + @param PMem64Base Output for base address of 64-bit Pmemory type > resource. > + > + @retval EFI_SUCCESS Successfully got resource base address. > + @retval EFI_OUT_OF_RESOURCES PCI bridge is not available. > + > +**/ > +EFI_STATUS > +GetResourceBaseFromBridge ( > + IN PCI_IO_DEVICE *Bridge, > + OUT UINT64 *IoBase, > + OUT UINT64 *Mem32Base, > + OUT UINT64 *PMem32Base, > + OUT UINT64 *Mem64Base, > + OUT UINT64 *PMem64Base > + ) > +{ > + if (!Bridge->Allocated) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + *IoBase = gAllOne; > + *Mem32Base = gAllOne; > + *PMem32Base = gAllOne; > + *Mem64Base = gAllOne; > + *PMem64Base = gAllOne; > + > + if (IS_PCI_BRIDGE (&Bridge->Pci)) { > + > + if (Bridge->PciBar[PPB_IO_RANGE].Length > 0) { > + *IoBase = Bridge->PciBar[PPB_IO_RANGE].BaseAddress; > + } > + > + if (Bridge->PciBar[PPB_MEM32_RANGE].Length > 0) { > + *Mem32Base = Bridge->PciBar[PPB_MEM32_RANGE].BaseAddress; > + } > + > + if (Bridge->PciBar[PPB_PMEM32_RANGE].Length > 0) { > + *PMem32Base = Bridge->PciBar[PPB_PMEM32_RANGE].BaseAddress; > + } > + > + if (Bridge->PciBar[PPB_PMEM64_RANGE].Length > 0) { > + *PMem64Base = Bridge->PciBar[PPB_PMEM64_RANGE].BaseAddress; > + } else { > + *PMem64Base = gAllOne; > + } > + > + } > + > + if (IS_CARDBUS_BRIDGE (&Bridge->Pci)) { > + if (Bridge->PciBar[P2C_IO_1].Length > 0) { > + *IoBase = Bridge->PciBar[P2C_IO_1].BaseAddress; > + } else { > + if (Bridge->PciBar[P2C_IO_2].Length > 0) { > + *IoBase = Bridge->PciBar[P2C_IO_2].BaseAddress; > + } > + } > + > + if (Bridge->PciBar[P2C_MEM_1].Length > 0) { > + if (Bridge->PciBar[P2C_MEM_1].BarType == PciBarTypePMem32) { > + *PMem32Base = Bridge->PciBar[P2C_MEM_1].BaseAddress; > + } > + > + if (Bridge->PciBar[P2C_MEM_1].BarType == PciBarTypeMem32) { > + *Mem32Base = Bridge->PciBar[P2C_MEM_1].BaseAddress; > + } > + } > + > + if (Bridge->PciBar[P2C_MEM_2].Length > 0) { > + if (Bridge->PciBar[P2C_MEM_2].BarType == PciBarTypePMem32) { > + *PMem32Base = Bridge->PciBar[P2C_MEM_2].BaseAddress; > + } > + > + if (Bridge->PciBar[P2C_MEM_2].BarType == PciBarTypeMem32) { > + *Mem32Base = Bridge->PciBar[P2C_MEM_2].BaseAddress; > + } > + } > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + These are the notifications from the PCI bus driver that it is about to enter > a certain > + phase of the PCI enumeration process. > + > + This member function can be used to notify the host bridge driver to > perform specific actions, > + including any chipset-specific initialization, so that the chipset is ready to > enter the next phase. > + Eight notification points are defined at this time. See belows: > + EfiPciHostBridgeBeginEnumeration Resets the host bridge PCI > apertures and internal data > + structures. The PCI enumerator should issue this > notification > + before starting a fresh enumeration process. > Enumeration cannot > + be restarted after sending any other notification such > as > + EfiPciHostBridgeBeginBusAllocation. > + EfiPciHostBridgeBeginBusAllocation The bus allocation phase is about to > begin. No specific action is > + required here. This notification can be used to perform > any > + chipset-specific programming. > + EfiPciHostBridgeEndBusAllocation The bus allocation and bus > programming phase is complete. No > + specific action is required here. This notification can be > used to > + perform any chipset-specific programming. > + EfiPciHostBridgeBeginResourceAllocation > + The resource allocation phase is about to begin. No > specific > + action is required here. This notification can be used to > perform > + any chipset-specific programming. > + EfiPciHostBridgeAllocateResources Allocates resources per previously > submitted requests for all the PCI > + root bridges. These resource settings are returned on > the next call to > + GetProposedResources(). Before calling NotifyPhase() > with a Phase of > + EfiPciHostBridgeAllocateResource, the PCI bus > enumerator is responsible > + for gathering I/O and memory requests for > + all the PCI root bridges and submitting these requests > using > + SubmitResources(). This function pads the resource > amount > + to suit the root bridge hardware, takes care of > dependencies between > + the PCI root bridges, and calls the Global Coherency > Domain (GCD) > + with the allocation request. In the case of padding, the > allocated range > + could be bigger than what was requested. > + EfiPciHostBridgeSetResources Programs the host bridge hardware to > decode previously allocated > + resources (proposed resources) for all the PCI root > bridges. After the > + hardware is programmed, reassigning resources will > not be supported. > + The bus settings are not affected. > + EfiPciHostBridgeFreeResources Deallocates resources that were > previously allocated for all the PCI > + root bridges and resets the I/O and memory apertures > to their initial > + state. The bus settings are not affected. If the request > to allocate > + resources fails, the PCI enumerator can use this > notification to > + deallocate previous resources, adjust the requests, > and retry > + allocation. > + EfiPciHostBridgeEndResourceAllocation The resource allocation phase is > completed. No specific action is > + required here. This notification can be used to perform > any chipsetspecific > + programming. > + > + @param[in] PciResAlloc The instance pointer of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > + @param[in] Phase The phase during enumeration > + > + @retval EFI_NOT_READY This phase cannot be entered at this time. > For example, this error > + is valid for a Phase of EfiPciHostBridgeAllocateResources if > + SubmitResources() has not been called for one or more > + PCI root bridges before this call > + @retval EFI_DEVICE_ERROR Programming failed due to a hardware > error. This error is valid > + for a Phase of EfiPciHostBridgeSetResources. > + @retval EFI_INVALID_PARAMETER Invalid phase parameter > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + This error is valid for a Phase of > EfiPciHostBridgeAllocateResources if the > + previously submitted resource requests cannot be fulfilled > or > + were only partially fulfilled. > + @retval EFI_SUCCESS The notification was accepted without any > errors. > + > +**/ > +EFI_STATUS > +NotifyPhase ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc, > + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase > + ) > +{ > + EFI_HANDLE HostBridgeHandle; > + EFI_HANDLE RootBridgeHandle; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + EFI_STATUS Status; > + > + HostBridgeHandle = NULL; > + RootBridgeHandle = NULL; > + if (gPciPlatformProtocol != NULL) { > + // > + // Get Host Bridge Handle. > + // > + PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle); > + > + // > + // Get the rootbridge Io protocol to find the host bridge handle > + // > + Status = gBS->HandleProtocol ( > + RootBridgeHandle, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo > + ); > + > + if (EFI_ERROR (Status)) { > + return EFI_NOT_FOUND; > + } > + > + HostBridgeHandle = PciRootBridgeIo->ParentHandle; > + > + // > + // Call PlatformPci::PlatformNotify() if the protocol is present. > + // > + gPciPlatformProtocol->PlatformNotify ( > + gPciPlatformProtocol, > + HostBridgeHandle, > + Phase, > + ChipsetEntry > + ); > + } else if (gPciOverrideProtocol != NULL){ > + // > + // Get Host Bridge Handle. > + // > + PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle); > + > + // > + // Get the rootbridge Io protocol to find the host bridge handle > + // > + Status = gBS->HandleProtocol ( > + RootBridgeHandle, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo > + ); > + > + if (EFI_ERROR (Status)) { > + return EFI_NOT_FOUND; > + } > + > + HostBridgeHandle = PciRootBridgeIo->ParentHandle; > + > + // > + // Call PlatformPci::PhaseNotify() if the protocol is present. > + // > + gPciOverrideProtocol->PlatformNotify ( > + gPciOverrideProtocol, > + HostBridgeHandle, > + Phase, > + ChipsetEntry > + ); > + } > + > + Status = PciResAlloc->NotifyPhase ( > + PciResAlloc, > + Phase > + ); > + > + if (gPciPlatformProtocol != NULL) { > + // > + // Call PlatformPci::PlatformNotify() if the protocol is present. > + // > + gPciPlatformProtocol->PlatformNotify ( > + gPciPlatformProtocol, > + HostBridgeHandle, > + Phase, > + ChipsetExit > + ); > + > + } else if (gPciOverrideProtocol != NULL) { > + // > + // Call PlatformPci::PhaseNotify() if the protocol is present. > + // > + gPciOverrideProtocol->PlatformNotify ( > + gPciOverrideProtocol, > + HostBridgeHandle, > + Phase, > + ChipsetExit > + ); > + } > + > + return Status; > +} > + > +/** > + Provides the hooks from the PCI bus driver to every PCI controller > (device/function) at various > + stages of the PCI enumeration process that allow the host bridge driver to > preinitialize individual > + PCI controllers before enumeration. > + > + This function is called during the PCI enumeration process. No specific > action is expected from this > + member function. It allows the host bridge driver to preinitialize individual > PCI controllers before > + enumeration. > + > + @param Bridge Pointer to the > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance. > + @param Bus The bus number of the pci device. > + @param Device The device number of the pci device. > + @param Func The function number of the pci device. > + @param Phase The phase of the PCI device enumeration. > + > + @retval EFI_SUCCESS The requested parameters were returned. > + @retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root > bridge handle. > + @retval EFI_INVALID_PARAMETER Phase is not a valid phase that is > defined in > + EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE. > + @retval EFI_DEVICE_ERROR Programming failed due to a hardware > error. The PCI enumerator should > + not enumerate this device, including its child devices if it is > a PCI-to-PCI > + bridge. > + > +**/ > +EFI_STATUS > +PreprocessController ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func, > + IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase > + ) > +{ > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS > RootBridgePciAddress; > + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc; > + EFI_HANDLE RootBridgeHandle; > + EFI_HANDLE HostBridgeHandle; > + EFI_STATUS Status; > + > + // > + // Get the host bridge handle > + // > + HostBridgeHandle = Bridge->PciRootBridgeIo->ParentHandle; > + > + // > + // Get the pci host bridge resource allocation protocol > + // > + Status = gBS->OpenProtocol ( > + HostBridgeHandle, > + &gEfiPciHostBridgeResourceAllocationProtocolGuid, > + (VOID **) &PciResAlloc, > + NULL, > + NULL, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // Get Root Brige Handle > + // > + while (Bridge->Parent != NULL) { > + Bridge = Bridge->Parent; > + } > + > + RootBridgeHandle = Bridge->Handle; > + > + RootBridgePciAddress.Register = 0; > + RootBridgePciAddress.Function = Func; > + RootBridgePciAddress.Device = Device; > + RootBridgePciAddress.Bus = Bus; > + RootBridgePciAddress.ExtendedRegister = 0; > + > + if (gPciPlatformProtocol != NULL) { > + // > + // Call PlatformPci::PrepController() if the protocol is present. > + // > + gPciPlatformProtocol->PlatformPrepController ( > + gPciPlatformProtocol, > + HostBridgeHandle, > + RootBridgeHandle, > + RootBridgePciAddress, > + Phase, > + ChipsetEntry > + ); > + } else if (gPciOverrideProtocol != NULL) { > + // > + // Call PlatformPci::PrepController() if the protocol is present. > + // > + gPciOverrideProtocol->PlatformPrepController ( > + gPciOverrideProtocol, > + HostBridgeHandle, > + RootBridgeHandle, > + RootBridgePciAddress, > + Phase, > + ChipsetEntry > + ); > + } > + > + Status = PciResAlloc->PreprocessController ( > + PciResAlloc, > + RootBridgeHandle, > + RootBridgePciAddress, > + Phase > + ); > + > + if (gPciPlatformProtocol != NULL) { > + // > + // Call PlatformPci::PrepController() if the protocol is present. > + // > + gPciPlatformProtocol->PlatformPrepController ( > + gPciPlatformProtocol, > + HostBridgeHandle, > + RootBridgeHandle, > + RootBridgePciAddress, > + Phase, > + ChipsetExit > + ); > + } else if (gPciOverrideProtocol != NULL) { > + // > + // Call PlatformPci::PrepController() if the protocol is present. > + // > + gPciOverrideProtocol->PlatformPrepController ( > + gPciOverrideProtocol, > + HostBridgeHandle, > + RootBridgeHandle, > + RootBridgePciAddress, > + Phase, > + ChipsetExit > + ); > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + This function allows the PCI bus driver to be notified to act as requested > when a hot-plug event has > + happened on the hot-plug controller. Currently, the operations include > add operation and remove operation.. > + > + @param This A pointer to the hot plug request protocol. > + @param Operation The operation the PCI bus driver is requested to > make. > + @param Controller The handle of the hot-plug controller. > + @param RemainingDevicePath The remaining device path for the PCI-like > hot-plug device. > + @param NumberOfChildren The number of child handles. > + For a add operation, it is an output parameter. > + For a remove operation, it's an input parameter. > + @param ChildHandleBuffer The buffer which contains the child handles. > + > + @retval EFI_INVALID_PARAMETER Operation is not a legal value. > + Controller is NULL or not a valid handle. > + NumberOfChildren is NULL. > + ChildHandleBuffer is NULL while Operation is add. > + @retval EFI_OUT_OF_RESOURCES There are no enough resources to start > the devices. > + @retval EFI_NOT_FOUND Can not find bridge according to controller > handle. > + @retval EFI_SUCCESS The handles for the specified device have been > created or destroyed > + as requested, and for an add operation, the new handles > are > + returned in ChildHandleBuffer. > +**/ > +EFI_STATUS > +EFIAPI > +PciHotPlugRequestNotify ( > + IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This, > + IN EFI_PCI_HOTPLUG_OPERATION Operation, > + IN EFI_HANDLE Controller, > + IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL, > + IN OUT UINT8 *NumberOfChildren, > + IN OUT EFI_HANDLE * ChildHandleBuffer > + ) > +{ > + PCI_IO_DEVICE *Bridge; > + PCI_IO_DEVICE *Temp; > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINTN Index; > + EFI_HANDLE RootBridgeHandle; > + EFI_STATUS Status; > + > + // > + // Check input parameter validity > + // > + if ((Controller == NULL) || (NumberOfChildren == NULL)){ > + return EFI_INVALID_PARAMETER; > + } > + > + if ((Operation != EfiPciHotPlugRequestAdd) && (Operation != > EfiPciHotplugRequestRemove)) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (Operation == EfiPciHotPlugRequestAdd){ > + if (ChildHandleBuffer == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + } else if ((Operation == EfiPciHotplugRequestRemove) && > (*NumberOfChildren != 0)) { > + if (ChildHandleBuffer == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + } > + > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiPciIoProtocolGuid, > + (VOID **) &PciIo, > + gPciBusDriverBinding.DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + > + if (EFI_ERROR (Status)) { > + return EFI_NOT_FOUND; > + } > + > + Bridge = PCI_IO_DEVICE_FROM_PCI_IO_THIS (PciIo); > + > + // > + // Get root bridge handle > + // > + Temp = Bridge; > + while (Temp->Parent != NULL) { > + Temp = Temp->Parent; > + } > + > + RootBridgeHandle = Temp->Handle; > + > + if (Operation == EfiPciHotPlugRequestAdd) { > + // > + // Report Status Code to indicate hot plug happens > + // > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_PROGRESS_CODE, > + (EFI_IO_BUS_PCI | EFI_IOB_PC_HOTPLUG), > + Temp->DevicePath > + ); > + > + if (NumberOfChildren != NULL) { > + *NumberOfChildren = 0; > + } > + > + if (IsListEmpty (&Bridge->ChildList)) { > + > + Status = PciBridgeEnumerator (Bridge); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + } > + > + Status = StartPciDevicesOnBridge ( > + RootBridgeHandle, > + Bridge, > + RemainingDevicePath, > + NumberOfChildren, > + ChildHandleBuffer > + ); > + > + return Status; > + } > + > + if (Operation == EfiPciHotplugRequestRemove) { > + > + if (*NumberOfChildren == 0) { > + // > + // Remove all devices on the bridge > + // > + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Bridge); > + return EFI_SUCCESS; > + > + } > + > + for (Index = 0; Index < *NumberOfChildren; Index++) { > + // > + // De register all the pci device > + // > + Status = DeRegisterPciDevice (RootBridgeHandle, > ChildHandleBuffer[Index]); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + } > + // > + // End for > + // > + return EFI_SUCCESS; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Search hostbridge according to given handle > + > + @param RootBridgeHandle Host bridge handle. > + > + @retval TRUE Found host bridge handle. > + @retval FALSE Not found hot bridge handle. > + > +**/ > +BOOLEAN > +SearchHostBridgeHandle ( > + IN EFI_HANDLE RootBridgeHandle > + ) > +{ > + EFI_HANDLE HostBridgeHandle; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + UINTN Index; > + EFI_STATUS Status; > + > + // > + // Get the rootbridge Io protocol to find the host bridge handle > + // > + Status = gBS->OpenProtocol ( > + RootBridgeHandle, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo, > + gPciBusDriverBinding.DriverBindingHandle, > + RootBridgeHandle, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + > + if (EFI_ERROR (Status)) { > + return FALSE; > + } > + > + HostBridgeHandle = PciRootBridgeIo->ParentHandle; > + for (Index = 0; Index < gPciHostBridgeNumber; Index++) { > + if (HostBridgeHandle == gPciHostBrigeHandles[Index]) { > + return TRUE; > + } > + } > + > + return FALSE; > +} > + > +/** > + Add host bridge handle to global variable for enumerating. > + > + @param HostBridgeHandle Host bridge handle. > + > + @retval EFI_SUCCESS Successfully added host bridge. > + @retval EFI_ABORTED Host bridge is NULL, or given host bridge > + has been in host bridge list. > + > +**/ > +EFI_STATUS > +AddHostBridgeEnumerator ( > + IN EFI_HANDLE HostBridgeHandle > + ) > +{ > + UINTN Index; > + > + if (HostBridgeHandle == NULL) { > + return EFI_ABORTED; > + } > + > + for (Index = 0; Index < gPciHostBridgeNumber; Index++) { > + if (HostBridgeHandle == gPciHostBrigeHandles[Index]) { > + return EFI_ABORTED; > + } > + } > + > + if (Index < PCI_MAX_HOST_BRIDGE_NUM) { > + gPciHostBrigeHandles[Index] = HostBridgeHandle; > + gPciHostBridgeNumber++; > + } > + > + return EFI_SUCCESS; > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumerator.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumerator.h > new file mode 100644 > index 0000000000..2a34c9043c > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumerator.h > @@ -0,0 +1,515 @@ > +/** @file > + PCI bus enumeration logic function declaration for PCI bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_ENUMERATOR_H_ > +#define _EFI_PCI_ENUMERATOR_H_ > + > +#include "PciResourceSupport.h" > + > +/** > + This routine is used to enumerate entire pci bus system > + in a given platform. > + > + @param Controller Parent controller handle. > + @param HostBridgeHandle Host bridge handle. > + > + @retval EFI_SUCCESS PCI enumeration finished successfully. > + @retval other Some error occurred when enumerating the pci bus > system. > + > +**/ > +EFI_STATUS > +PciEnumerator ( > + IN EFI_HANDLE Controller, > + IN EFI_HANDLE HostBridgeHandle > + ); > + > +/** > + Enumerate PCI root bridge. > + > + @param PciResAlloc Pointer to protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + @param RootBridgeDev Instance of root bridge device. > + > + @retval EFI_SUCCESS Successfully enumerated root bridge. > + @retval other Failed to enumerate root bridge. > + > +**/ > +EFI_STATUS > +PciRootBridgeEnumerator ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc, > + IN PCI_IO_DEVICE *RootBridgeDev > + ); > + > +/** > + This routine is used to process all PCI devices' Option Rom > + on a certain root bridge. > + > + @param Bridge Given parent's root bridge. > + @param RomBase Base address of ROM driver loaded from. > + @param MaxLength Maximum rom size. > + > +**/ > +VOID > +ProcessOptionRom ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT64 RomBase, > + IN UINT64 MaxLength > + ); > + > +/** > + This routine is used to assign bus number to the given PCI bus system > + > + @param Bridge Parent root bridge instance. > + @param StartBusNumber Number of beginning. > + @param SubBusNumber The number of sub bus. > + > + @retval EFI_SUCCESS Successfully assigned bus number. > + @retval EFI_DEVICE_ERROR Failed to assign bus number. > + > +**/ > +EFI_STATUS > +PciAssignBusNumber ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber, > + OUT UINT8 *SubBusNumber > + ); > + > +/** > + This routine is used to determine the root bridge attribute by interfacing > + the host bridge resource allocation protocol. > + > + @param PciResAlloc Protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > + @param RootBridgeDev Root bridge instance > + > + @retval EFI_SUCCESS Successfully got root bridge's attribute. > + @retval other Failed to get attribute. > + > +**/ > +EFI_STATUS > +DetermineRootBridgeAttributes ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc, > + IN PCI_IO_DEVICE *RootBridgeDev > + ); > + > +/** > + Get Max Option Rom size on specified bridge. > + > + @param Bridge Given bridge device instance. > + > + @return Max size of option rom needed. > + > +**/ > +UINT32 > +GetMaxOptionRomSize ( > + IN PCI_IO_DEVICE *Bridge > + ); > + > +/** > + Process attributes of devices on this host bridge > + > + @param PciResAlloc Protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + > + @retval EFI_SUCCESS Successfully process attribute. > + @retval EFI_NOT_FOUND Can not find the specific root bridge device. > + @retval other Failed to determine the root bridge device's attribute. > + > +**/ > +EFI_STATUS > +PciHostBridgeDeviceAttribute ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ); > + > +/** > + Get resource allocation status from the ACPI resource descriptor. > + > + @param AcpiConfig Point to Acpi configuration table. > + @param IoResStatus Return the status of I/O resource. > + @param Mem32ResStatus Return the status of 32-bit Memory resource. > + @param PMem32ResStatus Return the status of 32-bit Prefetchable > Memory resource. > + @param Mem64ResStatus Return the status of 64-bit Memory resource. > + @param PMem64ResStatus Return the status of 64-bit Prefetchable > Memory resource. > + > +**/ > +VOID > +GetResourceAllocationStatus ( > + VOID *AcpiConfig, > + OUT UINT64 *IoResStatus, > + OUT UINT64 *Mem32ResStatus, > + OUT UINT64 *PMem32ResStatus, > + OUT UINT64 *Mem64ResStatus, > + OUT UINT64 *PMem64ResStatus > + ); > + > +/** > + Remove a PCI device from device pool and mark its bar. > + > + @param PciDevice Instance of Pci device. > + > + @retval EFI_SUCCESS Successfully remove the PCI device. > + @retval EFI_ABORTED Pci device is a root bridge or a PCI-PCI bridge. > + > +**/ > +EFI_STATUS > +RejectPciDevice ( > + IN PCI_IO_DEVICE *PciDevice > + ); > + > +/** > + Determine whethter a PCI device can be rejected. > + > + @param PciResNode Pointer to Pci resource node instance. > + > + @retval TRUE The PCI device can be rejected. > + @retval TRUE The PCI device cannot be rejected. > + > +**/ > +BOOLEAN > +IsRejectiveDevice ( > + IN PCI_RESOURCE_NODE *PciResNode > + ); > + > +/** > + Compare two resource nodes and get the larger resource consumer. > + > + @param PciResNode1 resource node 1 want to be compared > + @param PciResNode2 resource node 2 want to be compared > + > + @return Larger resource node. > + > +**/ > +PCI_RESOURCE_NODE * > +GetLargerConsumerDevice ( > + IN PCI_RESOURCE_NODE *PciResNode1, > + IN PCI_RESOURCE_NODE *PciResNode2 > + ); > + > +/** > + Get the max resource consumer in the host resource pool. > + > + @param ResPool Pointer to resource pool node. > + > + @return The max resource consumer in the host resource pool. > + > +**/ > +PCI_RESOURCE_NODE * > +GetMaxResourceConsumerDevice ( > + IN PCI_RESOURCE_NODE *ResPool > + ); > + > +/** > + Adjust host bridge allocation so as to reduce resource requirement > + > + @param IoPool Pointer to instance of I/O resource Node. > + @param Mem32Pool Pointer to instance of 32-bit memory resource > Node. > + @param PMem32Pool Pointer to instance of 32-bit Prefetchable > memory resource node. > + @param Mem64Pool Pointer to instance of 64-bit memory resource > node. > + @param PMem64Pool Pointer to instance of 64-bit Prefetchable > memory resource node. > + @param IoResStatus Status of I/O resource Node. > + @param Mem32ResStatus Status of 32-bit memory resource Node. > + @param PMem32ResStatus Status of 32-bit Prefetchable memory > resource node. > + @param Mem64ResStatus Status of 64-bit memory resource node. > + @param PMem64ResStatus Status of 64-bit Prefetchable memory > resource node. > + > + @retval EFI_SUCCESS Successfully adjusted resource on host bridge. > + @retval EFI_ABORTED Host bridge hasn't this resource type or no > resource be adjusted. > + > +**/ > +EFI_STATUS > +PciHostBridgeAdjustAllocation ( > + IN PCI_RESOURCE_NODE *IoPool, > + IN PCI_RESOURCE_NODE *Mem32Pool, > + IN PCI_RESOURCE_NODE *PMem32Pool, > + IN PCI_RESOURCE_NODE *Mem64Pool, > + IN PCI_RESOURCE_NODE *PMem64Pool, > + IN UINT64 IoResStatus, > + IN UINT64 Mem32ResStatus, > + IN UINT64 PMem32ResStatus, > + IN UINT64 Mem64ResStatus, > + IN UINT64 PMem64ResStatus > + ); > + > +/** > + Summary requests for all resource type, and construct ACPI resource > + requestor instance. > + > + @param Bridge detecting bridge > + @param IoNode Pointer to instance of I/O resource Node > + @param Mem32Node Pointer to instance of 32-bit memory resource > Node > + @param PMem32Node Pointer to instance of 32-bit Pmemory resource > node > + @param Mem64Node Pointer to instance of 64-bit memory resource > node > + @param PMem64Node Pointer to instance of 64-bit Pmemory resource > node > + @param Config Output buffer holding new constructed APCI resource > requestor > + > + @retval EFI_SUCCESS Successfully constructed ACPI resource. > + @retval EFI_OUT_OF_RESOURCES No memory available. > + > +**/ > +EFI_STATUS > +ConstructAcpiResourceRequestor ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node, > + OUT VOID **Config > + ); > + > +/** > + Get resource base from an acpi configuration descriptor. > + > + @param Config An acpi configuration descriptor. > + @param IoBase Output of I/O resource base address. > + @param Mem32Base Output of 32-bit memory base address. > + @param PMem32Base Output of 32-bit prefetchable memory base > address. > + @param Mem64Base Output of 64-bit memory base address. > + @param PMem64Base Output of 64-bit prefetchable memory base > address. > + > +**/ > +VOID > +GetResourceBase ( > + IN VOID *Config, > + OUT UINT64 *IoBase, > + OUT UINT64 *Mem32Base, > + OUT UINT64 *PMem32Base, > + OUT UINT64 *Mem64Base, > + OUT UINT64 *PMem64Base > + ); > + > +/** > + Enumerate pci bridge, allocate resource and determine attribute > + for devices on this bridge. > + > + @param BridgeDev Pointer to instance of bridge device. > + > + @retval EFI_SUCCESS Successfully enumerated PCI bridge. > + @retval other Failed to enumerate. > + > +**/ > +EFI_STATUS > +PciBridgeEnumerator ( > + IN PCI_IO_DEVICE *BridgeDev > + ); > + > +/** > + Allocate all kinds of resource for PCI bridge. > + > + @param Bridge Pointer to bridge instance. > + > + @retval EFI_SUCCESS Successfully allocated resource for PCI bridge. > + @retval other Failed to allocate resource for bridge. > + > +**/ > +EFI_STATUS > +PciBridgeResourceAllocator ( > + IN PCI_IO_DEVICE *Bridge > + ); > + > +/** > + Get resource base address for a pci bridge device. > + > + @param Bridge Given Pci driver instance. > + @param IoBase Output for base address of I/O type resource. > + @param Mem32Base Output for base address of 32-bit memory type > resource. > + @param PMem32Base Ooutput for base address of 32-bit Pmemory type > resource. > + @param Mem64Base Output for base address of 64-bit memory type > resource. > + @param PMem64Base Output for base address of 64-bit Pmemory type > resource. > + > + @retval EFI_SUCCESS Successfully got resource base address. > + @retval EFI_OUT_OF_RESOURCES PCI bridge is not available. > + > +**/ > +EFI_STATUS > +GetResourceBaseFromBridge ( > + IN PCI_IO_DEVICE *Bridge, > + OUT UINT64 *IoBase, > + OUT UINT64 *Mem32Base, > + OUT UINT64 *PMem32Base, > + OUT UINT64 *Mem64Base, > + OUT UINT64 *PMem64Base > + ); > + > +/** > + Process Option Rom on this host bridge > + > + @param PciResAlloc Pointer to instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + > + @retval EFI_NOT_FOUND Can not find the root bridge instance. > + @retval EFI_SUCCESS Success process. > +**/ > +EFI_STATUS > +PciHostBridgeP2CProcess ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ); > + > +/** > + These are the notifications from the PCI bus driver that it is about to enter > a certain > + phase of the PCI enumeration process. > + > + This member function can be used to notify the host bridge driver to > perform specific actions, > + including any chipset-specific initialization, so that the chipset is ready to > enter the next phase. > + Eight notification points are defined at this time. See belows: > + EfiPciHostBridgeBeginEnumeration Resets the host bridge PCI > apertures and internal data > + structures. The PCI enumerator should issue this > notification > + before starting a fresh enumeration process. > Enumeration cannot > + be restarted after sending any other notification such > as > + EfiPciHostBridgeBeginBusAllocation. > + EfiPciHostBridgeBeginBusAllocation The bus allocation phase is about to > begin. No specific action is > + required here. This notification can be used to perform > any > + chipset-specific programming. > + EfiPciHostBridgeEndBusAllocation The bus allocation and bus > programming phase is complete. No > + specific action is required here. This notification can be > used to > + perform any chipset-specific programming. > + EfiPciHostBridgeBeginResourceAllocation > + The resource allocation phase is about to begin. No > specific > + action is required here. This notification can be used to > perform > + any chipset-specific programming. > + EfiPciHostBridgeAllocateResources Allocates resources per previously > submitted requests for all the PCI > + root bridges. These resource settings are returned on > the next call to > + GetProposedResources(). Before calling NotifyPhase() > with a Phase of > + EfiPciHostBridgeAllocateResource, the PCI bus > enumerator is responsible > + for gathering I/O and memory requests for > + all the PCI root bridges and submitting these requests > using > + SubmitResources(). This function pads the resource > amount > + to suit the root bridge hardware, takes care of > dependencies between > + the PCI root bridges, and calls the Global Coherency > Domain (GCD) > + with the allocation request. In the case of padding, the > allocated range > + could be bigger than what was requested. > + EfiPciHostBridgeSetResources Programs the host bridge hardware to > decode previously allocated > + resources (proposed resources) for all the PCI root > bridges. After the > + hardware is programmed, reassigning resources will > not be supported. > + The bus settings are not affected. > + EfiPciHostBridgeFreeResources Deallocates resources that were > previously allocated for all the PCI > + root bridges and resets the I/O and memory apertures > to their initial > + state. The bus settings are not affected. If the request > to allocate > + resources fails, the PCI enumerator can use this > notification to > + deallocate previous resources, adjust the requests, > and retry > + allocation. > + EfiPciHostBridgeEndResourceAllocation The resource allocation phase is > completed. No specific action is > + required here. This notification can be used to perform > any chipsetspecific > + programming. > + > + @param[in] PciResAlloc The instance pointer of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > + @param[in] Phase The phase during enumeration > + > + @retval EFI_NOT_READY This phase cannot be entered at this time. > For example, this error > + is valid for a Phase of EfiPciHostBridgeAllocateResources if > + SubmitResources() has not been called for one or more > + PCI root bridges before this call > + @retval EFI_DEVICE_ERROR Programming failed due to a hardware > error. This error is valid > + for a Phase of EfiPciHostBridgeSetResources. > + @retval EFI_INVALID_PARAMETER Invalid phase parameter > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + This error is valid for a Phase of > EfiPciHostBridgeAllocateResources if the > + previously submitted resource requests cannot be fulfilled > or > + were only partially fulfilled. > + @retval EFI_SUCCESS The notification was accepted without any > errors. > + > +**/ > +EFI_STATUS > +NotifyPhase ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc, > + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase > + ); > + > +/** > + Provides the hooks from the PCI bus driver to every PCI controller > (device/function) at various > + stages of the PCI enumeration process that allow the host bridge driver to > preinitialize individual > + PCI controllers before enumeration. > + > + This function is called during the PCI enumeration process. No specific > action is expected from this > + member function. It allows the host bridge driver to preinitialize individual > PCI controllers before > + enumeration. > + > + @param Bridge Pointer to the > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance. > + @param Bus The bus number of the pci device. > + @param Device The device number of the pci device. > + @param Func The function number of the pci device. > + @param Phase The phase of the PCI device enumeration. > + > + @retval EFI_SUCCESS The requested parameters were returned. > + @retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root > bridge handle. > + @retval EFI_INVALID_PARAMETER Phase is not a valid phase that is > defined in > + EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE. > + @retval EFI_DEVICE_ERROR Programming failed due to a hardware > error. The PCI enumerator should > + not enumerate this device, including its child devices if it is > a PCI-to-PCI > + bridge. > + > +**/ > +EFI_STATUS > +PreprocessController ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func, > + IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase > + ); > + > +/** > + This function allows the PCI bus driver to be notified to act as requested > when a hot-plug event has > + happened on the hot-plug controller. Currently, the operations include > add operation and remove operation.. > + > + @param This A pointer to the hot plug request protocol. > + @param Operation The operation the PCI bus driver is requested to > make. > + @param Controller The handle of the hot-plug controller. > + @param RemainingDevicePath The remaining device path for the PCI-like > hot-plug device. > + @param NumberOfChildren The number of child handles. > + For a add operation, it is an output parameter. > + For a remove operation, it's an input parameter. > + @param ChildHandleBuffer The buffer which contains the child handles. > + > + @retval EFI_INVALID_PARAMETER Operation is not a legal value. > + Controller is NULL or not a valid handle. > + NumberOfChildren is NULL. > + ChildHandleBuffer is NULL while Operation is add. > + @retval EFI_OUT_OF_RESOURCES There are no enough resources to start > the devices. > + @retval EFI_NOT_FOUND Can not find bridge according to controller > handle. > + @retval EFI_SUCCESS The handles for the specified device have been > created or destroyed > + as requested, and for an add operation, the new handles > are > + returned in ChildHandleBuffer. > +**/ > +EFI_STATUS > +EFIAPI > +PciHotPlugRequestNotify ( > + IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This, > + IN EFI_PCI_HOTPLUG_OPERATION Operation, > + IN EFI_HANDLE Controller, > + IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL, > + IN OUT UINT8 *NumberOfChildren, > + IN OUT EFI_HANDLE * ChildHandleBuffer > + ); > + > +/** > + Search hostbridge according to given handle > + > + @param RootBridgeHandle Host bridge handle. > + > + @retval TRUE Found host bridge handle. > + @retval FALSE Not found hot bridge handle. > + > +**/ > +BOOLEAN > +SearchHostBridgeHandle ( > + IN EFI_HANDLE RootBridgeHandle > + ); > + > +/** > + Add host bridge handle to global variable for enumerating. > + > + @param HostBridgeHandle Host bridge handle. > + > + @retval EFI_SUCCESS Successfully added host bridge. > + @retval EFI_ABORTED Host bridge is NULL, or given host bridge > + has been in host bridge list. > + > +**/ > +EFI_STATUS > +AddHostBridgeEnumerator ( > + IN EFI_HANDLE HostBridgeHandle > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumeratorSupport.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumeratorSupport.c > new file mode 100644 > index 0000000000..99b04a462b > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumeratorSupport.c > @@ -0,0 +1,2885 @@ > +/** @file > + PCI emumeration support functions implementation for PCI Bus module. > + > +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> > +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> > +Copyright (c) 2021, American Megatrends International LLC.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +extern CHAR16 *mBarTypeStr[]; > +extern EDKII_DEVICE_SECURITY_PROTOCOL > *mDeviceSecurityProtocol; > + > +#define OLD_ALIGN 0xFFFFFFFFFFFFFFFFULL > +#define EVEN_ALIGN 0xFFFFFFFFFFFFFFFEULL > +#define SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL > +#define DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL > + > +/** > + This routine is used to check whether the pci device is present. > + > + @param PciRootBridgeIo Pointer to instance of > EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL. > + @param Pci Output buffer for PCI device configuration space. > + @param Bus PCI bus NO. > + @param Device PCI device NO. > + @param Func PCI Func NO. > + > + @retval EFI_NOT_FOUND PCI device not present. > + @retval EFI_SUCCESS PCI device is found. > + > +**/ > +EFI_STATUS > +PciDevicePresent ( > + IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo, > + OUT PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ) > +{ > + UINT64 Address; > + EFI_STATUS Status; > + > + // > + // Create PCI address map in terms of Bus, Device and Func > + // > + Address = EFI_PCI_ADDRESS (Bus, Device, Func, 0); > + > + > +//TiogaPass Override START : Skip SPI controller from Enumeration > + > +// > +// > +// It is necessary to skip SPI controller from Enumeration process otherwise > SPI access runing DXE/DXE SMM > +// will causes failures writting to SPI. This is a WA for LBG since currently OS > hidde is not working. > +// > + if(( Bus == 0x0) && ( Device == 0x1F) && (Func == 0x05)){ > + DEBUG ((EFI_D_INFO, "DEBUG - Address - 0x%x BUS %x DEV %x Func %x > SKIP\n", Address, Bus, Device, Func)); > + return EFI_NOT_FOUND; > + } > + > +//TiogaPass Override END > + > + // > + // Read the Vendor ID register > + // > + Status = PciRootBridgeIo->Pci.Read ( > + PciRootBridgeIo, > + EfiPciWidthUint32, > + Address, > + 1, > + Pci > + ); > + > + if (!EFI_ERROR (Status) && (Pci->Hdr).VendorId != 0xffff) { > + // > + // Read the entire config header for the device > + // > + Status = PciRootBridgeIo->Pci.Read ( > + PciRootBridgeIo, > + EfiPciWidthUint32, > + Address, > + sizeof (PCI_TYPE00) / sizeof (UINT32), > + Pci > + ); > + > + return EFI_SUCCESS; > + } > + > + return EFI_NOT_FOUND; > +} > + > +/** > + Collect all the resource information under this root bridge. > + > + A database that records all the information about pci device subject to this > + root bridge will then be created. > + > + @param Bridge Parent bridge instance. > + @param StartBusNumber Bus number of beginning. > + > + @retval EFI_SUCCESS PCI device is found. > + @retval other Some error occurred when reading PCI bridge > information. > + > +**/ > +EFI_STATUS > +PciPciDeviceInfoCollector ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber > + ) > +{ > + EFI_STATUS Status; > + PCI_TYPE00 Pci; > + UINT8 Device; > + UINT8 Func; > + UINT8 SecBus; > + PCI_IO_DEVICE *PciIoDevice; > + EFI_PCI_IO_PROTOCOL *PciIo; > + > + Status = EFI_SUCCESS; > + SecBus = 0; > + > + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { > + > + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { > + > + // > + // Check to see whether PCI device is present > + // > + Status = PciDevicePresent ( > + Bridge->PciRootBridgeIo, > + &Pci, > + (UINT8) StartBusNumber, > + (UINT8) Device, > + (UINT8) Func > + ); > + > + if (EFI_ERROR (Status) && Func == 0) { > + // > + // go to next device if there is no Function 0 > + // > + break; > + } > + > + if (!EFI_ERROR (Status)) { > + > + // > + // Call back to host bridge function > + // > + PreprocessController (Bridge, (UINT8) StartBusNumber, Device, Func, > EfiPciBeforeResourceCollection); > + > + // > + // Collect all the information about the PCI device discovered > + // > + Status = PciSearchDevice ( > + Bridge, > + &Pci, > + (UINT8) StartBusNumber, > + Device, > + Func, > + &PciIoDevice > + ); > + > + // > + // Recursively scan PCI busses on the other side of PCI-PCI bridges > + // > + // > + if (!EFI_ERROR (Status) && (IS_PCI_BRIDGE (&Pci) || > IS_CARDBUS_BRIDGE (&Pci))) { > + > + // > + // If it is PPB, we need to get the secondary bus to continue the > enumeration > + // > + PciIo = &(PciIoDevice->PciIo); > + > + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, > PCI_BRIDGE_SECONDARY_BUS_REGISTER_OFFSET, 1, &SecBus); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Ensure secondary bus number is greater than the primary bus > number to avoid > + // any potential dead loop when PcdPciDisableBusEnumeration is set > to TRUE > + // > + if (SecBus <= StartBusNumber) { > + break; > + } > + > + // > + // Get resource padding for PPB > + // > + GetResourcePaddingPpb (PciIoDevice); > + > + // > + // Deep enumerate the next level bus > + // > + Status = PciPciDeviceInfoCollector ( > + PciIoDevice, > + (UINT8) (SecBus) > + ); > + > + } > + > + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { > + > + // > + // Skip sub functions, this is not a multi function device > + // > + Func = PCI_MAX_FUNC; > + } > + } > + > + } > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Search required device and create PCI device instance. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI bus NO. > + @param Device PCI device NO. > + @param Func PCI func NO. > + @param PciDevice Output of searched PCI device instance. > + > + @retval EFI_SUCCESS Successfully created PCI device instance. > + @retval EFI_OUT_OF_RESOURCES Cannot get PCI device information. > + > +**/ > +EFI_STATUS > +PciSearchDevice ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func, > + OUT PCI_IO_DEVICE **PciDevice > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = NULL; > + > + DEBUG (( > + EFI_D_INFO, > + "PciBus: Discovered %s @ [%02x|%02x|%02x]\n", > + IS_PCI_BRIDGE (Pci) ? L"PPB" : > + IS_CARDBUS_BRIDGE (Pci) ? L"P2C" : > + L"PCI", > + Bus, Device, Func > + )); > + > + if (!IS_PCI_BRIDGE (Pci)) { > + > + if (IS_CARDBUS_BRIDGE (Pci)) { > + PciIoDevice = GatherP2CInfo ( > + Bridge, > + Pci, > + Bus, > + Device, > + Func > + ); > + if ((PciIoDevice != NULL) && gFullEnumeration) { > + InitializeP2C (PciIoDevice); > + } > + } else { > + > + // > + // Create private data for Pci Device > + // > + PciIoDevice = GatherDeviceInfo ( > + Bridge, > + Pci, > + Bus, > + Device, > + Func > + ); > + > + } > + > + } else { > + > + // > + // Create private data for PPB > + // > + PciIoDevice = GatherPpbInfo ( > + Bridge, > + Pci, > + Bus, > + Device, > + Func > + ); > + > + // > + // Special initialization for PPB including making the PPB quiet > + // > + if ((PciIoDevice != NULL) && gFullEnumeration) { > + InitializePpb (PciIoDevice); > + } > + } > + > + if (PciIoDevice == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + // > + // Update the bar information for this PCI device so as to support some > specific device > + // > + UpdatePciInfo (PciIoDevice); > + > + if (PciIoDevice->DevicePath == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + // > + // Detect this function has option rom > + // > + if (gFullEnumeration) { > + > + if (!IS_CARDBUS_BRIDGE (Pci)) { > + > + GetOpRomInfo (PciIoDevice); > + > + } > + > + ResetPowerManagementFeature (PciIoDevice); > + > + } > + > + // > + // Insert it into a global tree for future reference > + // > + InsertPciDevice (Bridge, PciIoDevice); > + > + // > + // Determine PCI device attributes > + // > + > + if (PciDevice != NULL) { > + *PciDevice = PciIoDevice; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Dump the PPB padding resource information. > + > + @param PciIoDevice PCI IO instance. > + @param ResourceType The desired resource type to dump. > + PciBarTypeUnknown means to dump all types of resources. > +**/ > +VOID > +DumpPpbPaddingResource ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN PCI_BAR_TYPE ResourceType > + ) > +{ > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; > + PCI_BAR_TYPE Type; > + > + if (PciIoDevice->ResourcePaddingDescriptors == NULL) { > + return; > + } > + > + if (ResourceType == PciBarTypeIo16 || ResourceType == PciBarTypeIo32) { > + ResourceType = PciBarTypeIo; > + } > + > + for (Descriptor = PciIoDevice->ResourcePaddingDescriptors; Descriptor- > >Desc != ACPI_END_TAG_DESCRIPTOR; Descriptor++) { > + > + Type = PciBarTypeUnknown; > + if (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && > Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_IO) { > + Type = PciBarTypeIo; > + } else if (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && > Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { > + > + if (Descriptor->AddrSpaceGranularity == 32) { > + // > + // prefetchable > + // > + if (Descriptor->SpecificFlag == > EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABL > E) { > + Type = PciBarTypePMem32; > + } > + > + // > + // Non-prefetchable > + // > + if (Descriptor->SpecificFlag == 0) { > + Type = PciBarTypeMem32; > + } > + } > + > + if (Descriptor->AddrSpaceGranularity == 64) { > + // > + // prefetchable > + // > + if (Descriptor->SpecificFlag == > EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABL > E) { > + Type = PciBarTypePMem64; > + } > + > + // > + // Non-prefetchable > + // > + if (Descriptor->SpecificFlag == 0) { > + Type = PciBarTypeMem64; > + } > + } > + } > + > + if ((Type != PciBarTypeUnknown) && ((ResourceType == > PciBarTypeUnknown) || (ResourceType == Type))) { > + DEBUG (( > + EFI_D_INFO, > + " Padding: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx\n", > + mBarTypeStr[Type], Descriptor->AddrRangeMax, Descriptor->AddrLen > + )); > + } > + } > + > +} > + > +/** > + Dump the PCI BAR information. > + > + @param PciIoDevice PCI IO instance. > +**/ > +VOID > +DumpPciBars ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + UINTN Index; > + > + for (Index = 0; Index < PCI_MAX_BAR; Index++) { > + if (PciIoDevice->PciBar[Index].BarType == PciBarTypeUnknown) { > + continue; > + } > + > + DEBUG (( > + EFI_D_INFO, > + " BAR[%d]: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx;\tOffset = > 0x%02x\n", > + Index, mBarTypeStr[MIN (PciIoDevice->PciBar[Index].BarType, > PciBarTypeMaxType)], > + PciIoDevice->PciBar[Index].Alignment, PciIoDevice- > >PciBar[Index].Length, PciIoDevice->PciBar[Index].Offset > + )); > + } > + > + for (Index = 0; Index < PCI_MAX_BAR; Index++) { > + if ((PciIoDevice->VfPciBar[Index].BarType == PciBarTypeUnknown) && > (PciIoDevice->VfPciBar[Index].Length == 0)) { > + continue; > + } > + > + DEBUG (( > + EFI_D_INFO, > + " VFBAR[%d]: Type = %s; Alignment = 0x%lx;\tLength = 0x%lx;\tOffset = > 0x%02x\n", > + Index, mBarTypeStr[MIN (PciIoDevice->VfPciBar[Index].BarType, > PciBarTypeMaxType)], > + PciIoDevice->VfPciBar[Index].Alignment, PciIoDevice- > >VfPciBar[Index].Length, PciIoDevice->VfPciBar[Index].Offset > + )); > + } > + DEBUG ((EFI_D_INFO, "\n")); > +} > + > +/** > + Create PCI device instance for PCI device. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI device Bus NO. > + @param Device PCI device Device NO. > + @param Func PCI device's func NO. > + > + @return Created PCI device instance. > + > +**/ > +PCI_IO_DEVICE * > +GatherDeviceInfo ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ) > +{ > + UINTN Offset; > + UINTN BarIndex; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = CreatePciIoDevice ( > + Bridge, > + Pci, > + Bus, > + Device, > + Func > + ); > + > + if (PciIoDevice == NULL) { > + return NULL; > + } > + > + // > + // If it is a full enumeration, disconnect the device in advance > + // > + if (gFullEnumeration) { > + > + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, > EFI_PCI_COMMAND_BITS_OWNED); > + > + } > + > + // > + // Start to parse the bars > + // > + for (Offset = 0x10, BarIndex = 0; Offset <= 0x24 && BarIndex < > PCI_MAX_BAR; BarIndex++) { > + Offset = PciParseBar (PciIoDevice, Offset, BarIndex); > + } > + > + // > + // Parse the SR-IOV VF bars > + // > + if (PcdGetBool (PcdSrIovSupport) && PciIoDevice->SrIovCapabilityOffset > != 0) { > + for (Offset = PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_BAR0, BarIndex = 0; > + Offset <= PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_BAR5; > + BarIndex++) { > + > + ASSERT (BarIndex < PCI_MAX_BAR); > + Offset = PciIovParseVfBar (PciIoDevice, Offset, BarIndex); > + } > + } > + > + DEBUG_CODE (DumpPciBars (PciIoDevice);); > + return PciIoDevice; > +} > + > +/** > + Create PCI device instance for PCI-PCI bridge. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI device Bus NO. > + @param Device PCI device Device NO. > + @param Func PCI device's func NO. > + > + @return Created PCI device instance. > + > +**/ > +PCI_IO_DEVICE * > +GatherPpbInfo ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + EFI_STATUS Status; > + UINT8 Value; > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT8 Temp; > + UINT32 PMemBaseLimit; > + UINT16 PrefetchableMemoryBase; > + UINT16 PrefetchableMemoryLimit; > + > + PciIoDevice = CreatePciIoDevice ( > + Bridge, > + Pci, > + Bus, > + Device, > + Func > + ); > + > + if (PciIoDevice == NULL) { > + return NULL; > + } > + > + if (gFullEnumeration) { > + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, > EFI_PCI_COMMAND_BITS_OWNED); > + > + // > + // Initialize the bridge control register > + // > + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, > EFI_PCI_BRIDGE_CONTROL_BITS_OWNED); > + > + } > + > + // > + // PPB can have two BARs > + // > + if (PciParseBar (PciIoDevice, 0x10, PPB_BAR_0) == 0x14) { > + // > + // Not 64-bit bar > + // > + PciParseBar (PciIoDevice, 0x14, PPB_BAR_1); > + } > + > + PciIo = &PciIoDevice->PciIo; > + > + // > + // Test whether it support 32 decode or not > + // > + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &gAllOne); > + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); > + > + if (Value != 0) { > + if ((Value & 0x01) != 0) { > + PciIoDevice->Decodes |= EFI_BRIDGE_IO32_DECODE_SUPPORTED; > + } else { > + PciIoDevice->Decodes |= EFI_BRIDGE_IO16_DECODE_SUPPORTED; > + } > + } > + > + // > + // if PcdPciBridgeIoAlignmentProbe is TRUE, PCI bus driver probes > + // PCI bridge supporting non-standard I/O window alignment less than 4K. > + // > + > + PciIoDevice->BridgeIoAlignment = 0xFFF; > + if (FeaturePcdGet (PcdPciBridgeIoAlignmentProbe)) { > + // > + // Check any bits of bit 3-1 of I/O Base Register are writable. > + // if so, it is assumed non-standard I/O window alignment is supported by > this bridge. > + // Per spec, bit 3-1 of I/O Base Register are reserved bits, so its content > can't be assumed. > + // > + Value = (UINT8)(Temp ^ (BIT3 | BIT2 | BIT1)); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); > + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Value); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &Temp); > + Value = (UINT8)((Value ^ Temp) & (BIT3 | BIT2 | BIT1)); > + switch (Value) { > + case BIT3: > + PciIoDevice->BridgeIoAlignment = 0x7FF; > + break; > + case BIT3 | BIT2: > + PciIoDevice->BridgeIoAlignment = 0x3FF; > + break; > + case BIT3 | BIT2 | BIT1: > + PciIoDevice->BridgeIoAlignment = 0x1FF; > + break; > + } > + } > + > + Status = BarExisted ( > + PciIoDevice, > + 0x24, > + NULL, > + &PMemBaseLimit > + ); > + > + // > + // Test if it supports 64 memory or not > + // > + // The bottom 4 bits of both the Prefetchable Memory Base and > Prefetchable Memory Limit > + // registers: > + // 0 - the bridge supports only 32 bit addresses. > + // 1 - the bridge supports 64-bit addresses. > + // > + PrefetchableMemoryBase = (UINT16)(PMemBaseLimit & 0xffff); > + PrefetchableMemoryLimit = (UINT16)(PMemBaseLimit >> 16); > + if (!EFI_ERROR (Status) && > + (PrefetchableMemoryBase & 0x000f) == 0x0001 && > + (PrefetchableMemoryLimit & 0x000f) == 0x0001) { > + Status = BarExisted ( > + PciIoDevice, > + 0x28, > + NULL, > + NULL > + ); > + > + if (!EFI_ERROR (Status)) { > + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; > + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM64_DECODE_SUPPORTED; > + } else { > + PciIoDevice->Decodes |= EFI_BRIDGE_PMEM32_DECODE_SUPPORTED; > + } > + } > + > + // > + // Memory 32 code is required for ppb > + // > + PciIoDevice->Decodes |= EFI_BRIDGE_MEM32_DECODE_SUPPORTED; > + > + GetResourcePaddingPpb (PciIoDevice); > + > + DEBUG_CODE ( > + DumpPpbPaddingResource (PciIoDevice, PciBarTypeUnknown); > + DumpPciBars (PciIoDevice); > + ); > + > + return PciIoDevice; > +} > + > + > +/** > + Create PCI device instance for PCI Card bridge device. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI device Bus NO. > + @param Device PCI device Device NO. > + @param Func PCI device's func NO. > + > + @return Created PCI device instance. > + > +**/ > +PCI_IO_DEVICE * > +GatherP2CInfo ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = CreatePciIoDevice ( > + Bridge, > + Pci, > + Bus, > + Device, > + Func > + ); > + > + if (PciIoDevice == NULL) { > + return NULL; > + } > + > + if (gFullEnumeration) { > + PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, > EFI_PCI_COMMAND_BITS_OWNED); > + > + // > + // Initialize the bridge control register > + // > + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, > EFI_PCCARD_BRIDGE_CONTROL_BITS_OWNED); > + } > + > + // > + // P2C only has one bar that is in 0x10 > + // > + PciParseBar (PciIoDevice, 0x10, P2C_BAR_0); > + > + // > + // Read PciBar information from the bar register > + // > + GetBackPcCardBar (PciIoDevice); > + PciIoDevice->Decodes = EFI_BRIDGE_MEM32_DECODE_SUPPORTED | > + EFI_BRIDGE_PMEM32_DECODE_SUPPORTED | > + EFI_BRIDGE_IO32_DECODE_SUPPORTED; > + > + DEBUG_CODE (DumpPciBars (PciIoDevice);); > + > + return PciIoDevice; > +} > + > +/** > + Create device path for pci device. > + > + @param ParentDevicePath Parent bridge's path. > + @param PciIoDevice Pci device instance. > + > + @return Device path protocol instance for specific pci device. > + > +**/ > +EFI_DEVICE_PATH_PROTOCOL * > +CreatePciDevicePath ( > + IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + > + PCI_DEVICE_PATH PciNode; > + > + // > + // Create PCI device path > + // > + PciNode.Header.Type = HARDWARE_DEVICE_PATH; > + PciNode.Header.SubType = HW_PCI_DP; > + SetDevicePathNodeLength (&PciNode.Header, sizeof (PciNode)); > + > + PciNode.Device = PciIoDevice->DeviceNumber; > + PciNode.Function = PciIoDevice->FunctionNumber; > + PciIoDevice->DevicePath = AppendDevicePathNode (ParentDevicePath, > &PciNode.Header); > + > + return PciIoDevice->DevicePath; > +} > + > +/** > + Check whether the PCI IOV VF bar is existed or not. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param Offset The offset. > + @param BarLengthValue The bar length value returned. > + @param OriginalBarValue The original bar value returned. > + > + @retval EFI_NOT_FOUND The bar doesn't exist. > + @retval EFI_SUCCESS The bar exist. > + > +**/ > +EFI_STATUS > +VfBarExisted ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + OUT UINT32 *BarLengthValue, > + OUT UINT32 *OriginalBarValue > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT32 OriginalValue; > + UINT32 Value; > + EFI_TPL OldTpl; > + > + // > + // Ensure it is called properly > + // > + ASSERT (PciIoDevice->SrIovCapabilityOffset != 0); > + if (PciIoDevice->SrIovCapabilityOffset == 0) { > + return EFI_NOT_FOUND; > + } > + > + PciIo = &PciIoDevice->PciIo; > + > + // > + // Preserve the original value > + // > + > + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, > &OriginalValue); > + > + // > + // Raise TPL to high level to disable timer interrupt while the BAR is probed > + // > + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &gAllOne); > + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, &Value); > + > + // > + // Write back the original value > + // > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT32)Offset, 1, > &OriginalValue); > + > + // > + // Restore TPL to its original level > + // > + gBS->RestoreTPL (OldTpl); > + > + if (BarLengthValue != NULL) { > + *BarLengthValue = Value; > + } > + > + if (OriginalBarValue != NULL) { > + *OriginalBarValue = OriginalValue; > + } > + > + if (Value == 0) { > + return EFI_NOT_FOUND; > + } else { > + return EFI_SUCCESS; > + } > +} > + > +/** > + Check whether the bar is existed or not. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param Offset The offset. > + @param BarLengthValue The bar length value returned. > + @param OriginalBarValue The original bar value returned. > + > + @retval EFI_NOT_FOUND The bar doesn't exist. > + @retval EFI_SUCCESS The bar exist. > + > +**/ > +EFI_STATUS > +BarExisted ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + OUT UINT32 *BarLengthValue, > + OUT UINT32 *OriginalBarValue > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT32 OriginalValue; > + UINT32 Value; > + EFI_TPL OldTpl; > + > + PciIo = &PciIoDevice->PciIo; > + > + // > + // Preserve the original value > + // > + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, > &OriginalValue); > + > + // > + // Raise TPL to high level to disable timer interrupt while the BAR is probed > + // > + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &gAllOne); > + PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, &Value); > + > + // > + // Write back the original value > + // > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, (UINT8) Offset, 1, > &OriginalValue); > + > + // > + // Restore TPL to its original level > + // > + gBS->RestoreTPL (OldTpl); > + > + if (BarLengthValue != NULL) { > + *BarLengthValue = Value; > + } > + > + if (OriginalBarValue != NULL) { > + *OriginalBarValue = OriginalValue; > + } > + > + if (Value == 0) { > + return EFI_NOT_FOUND; > + } else { > + return EFI_SUCCESS; > + } > +} > + > +/** > + Test whether the device can support given attributes. > + > + @param PciIoDevice Pci device instance. > + @param Command Input command register value, and > + returned supported register value. > + @param BridgeControl Input bridge control value for PPB or P2C, and > + returned supported bridge control value. > + @param OldCommand Returned and stored old command register > offset. > + @param OldBridgeControl Returned and stored old Bridge control value > for PPB or P2C. > + > +**/ > +VOID > +PciTestSupportedAttribute ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN OUT UINT16 *Command, > + IN OUT UINT16 *BridgeControl, > + OUT UINT16 *OldCommand, > + OUT UINT16 *OldBridgeControl > + ) > +{ > + EFI_TPL OldTpl; > + > + // > + // Preserve the original value > + // > + PCI_READ_COMMAND_REGISTER (PciIoDevice, OldCommand); > + > + // > + // Raise TPL to high level to disable timer interrupt while the BAR is probed > + // > + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); > + > + PCI_SET_COMMAND_REGISTER (PciIoDevice, *Command); > + PCI_READ_COMMAND_REGISTER (PciIoDevice, Command); > + > + // > + // Write back the original value > + // > + PCI_SET_COMMAND_REGISTER (PciIoDevice, *OldCommand); > + > + // > + // Restore TPL to its original level > + // > + gBS->RestoreTPL (OldTpl); > + > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE > (&PciIoDevice->Pci)) { > + > + // > + // Preserve the original value > + // > + PCI_READ_BRIDGE_CONTROL_REGISTER (PciIoDevice, OldBridgeControl); > + > + // > + // Raise TPL to high level to disable timer interrupt while the BAR is > probed > + // > + OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); > + > + PCI_SET_BRIDGE_CONTROL_REGISTER (PciIoDevice, *BridgeControl); > + PCI_READ_BRIDGE_CONTROL_REGISTER (PciIoDevice, BridgeControl); > + > + // > + // Write back the original value > + // > + PCI_SET_BRIDGE_CONTROL_REGISTER (PciIoDevice, *OldBridgeControl); > + > + // > + // Restore TPL to its original level > + // > + gBS->RestoreTPL (OldTpl); > + > + } else { > + *OldBridgeControl = 0; > + *BridgeControl = 0; > + } > +} > + > +/** > + Set the supported or current attributes of a PCI device. > + > + @param PciIoDevice Structure pointer for PCI device. > + @param Command Command register value. > + @param BridgeControl Bridge control value for PPB or P2C. > + @param Option Make a choice of EFI_SET_SUPPORTS or > EFI_SET_ATTRIBUTES. > + > +**/ > +VOID > +PciSetDeviceAttribute ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT16 Command, > + IN UINT16 BridgeControl, > + IN UINTN Option > + ) > +{ > + UINT64 Attributes; > + > + Attributes = 0; > + > + if ((Command & EFI_PCI_COMMAND_IO_SPACE) != 0) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_IO; > + } > + > + if ((Command & EFI_PCI_COMMAND_MEMORY_SPACE) != 0) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_MEMORY; > + } > + > + if ((Command & EFI_PCI_COMMAND_BUS_MASTER) != 0) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_BUS_MASTER; > + } > + > + if ((Command & EFI_PCI_COMMAND_VGA_PALETTE_SNOOP) != 0) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; > + } > + > + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_ISA) != 0) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_ISA_IO; > + } > + > + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_VGA) != 0) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_IO; > + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY; > + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; > + } > + > + if ((BridgeControl & EFI_PCI_BRIDGE_CONTROL_VGA_16) != 0) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_IO_16; > + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16; > + } > + > + if (Option == EFI_SET_SUPPORTS) { > + > + Attributes |= (UINT64) > (EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE | > + EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED | > + EFI_PCI_IO_ATTRIBUTE_MEMORY_DISABLE | > + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | > + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | > + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); > + > + if (IS_PCI_LPC (&PciIoDevice->Pci)) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_ISA_MOTHERBOARD_IO; > + Attributes |= (mReserveIsaAliases ? (UINT64) > EFI_PCI_IO_ATTRIBUTE_ISA_IO : \ > + (UINT64) EFI_PCI_IO_ATTRIBUTE_ISA_IO_16); > + } > + > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE > (&PciIoDevice->Pci)) { > + // > + // For bridge, it should support IDE attributes > + // > + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO; > + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO; > + > + if (mReserveVgaAliases) { > + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | \ > + EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16); > + } else { > + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_VGA_IO | \ > + EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO); > + } > + } else { > + > + if (IS_PCI_IDE (&PciIoDevice->Pci)) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO; > + Attributes |= EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO; > + } > + > + if (IS_PCI_VGA (&PciIoDevice->Pci)) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY; > + Attributes |= (mReserveVgaAliases ? (UINT64) > EFI_PCI_IO_ATTRIBUTE_VGA_IO : \ > + (UINT64) EFI_PCI_IO_ATTRIBUTE_VGA_IO_16); > + } > + } > + > + PciIoDevice->Supports = Attributes; > + PciIoDevice->Supports &= ( (PciIoDevice->Parent->Supports) | \ > + EFI_PCI_IO_ATTRIBUTE_IO | > EFI_PCI_IO_ATTRIBUTE_MEMORY | \ > + EFI_PCI_IO_ATTRIBUTE_BUS_MASTER ); > + > + } else { > + // > + // When this attribute is clear, the RomImage and RomSize fields in the > PCI IO were > + // initialized based on the PCI option ROM found through the ROM BAR of > the PCI controller. > + // When this attribute is set, the PCI option ROM described by the > RomImage and RomSize > + // fields is not from the the ROM BAR of the PCI controller. > + // > + if (!PciIoDevice->EmbeddedRom) { > + Attributes |= EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM; > + } > + PciIoDevice->Attributes = Attributes; > + } > +} > + > +/** > + Determine if the device can support Fast Back to Back attribute. > + > + @param PciIoDevice Pci device instance. > + @param StatusIndex Status register value. > + > + @retval EFI_SUCCESS This device support Fast Back to Back attribute. > + @retval EFI_UNSUPPORTED This device doesn't support Fast Back to Back > attribute. > + > +**/ > +EFI_STATUS > +GetFastBackToBackSupport ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 StatusIndex > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + EFI_STATUS Status; > + UINT32 StatusRegister; > + > + // > + // Read the status register > + // > + PciIo = &PciIoDevice->PciIo; > + Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint16, StatusIndex, 1, > &StatusRegister); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // Check the Fast B2B bit > + // > + if ((StatusRegister & EFI_PCI_FAST_BACK_TO_BACK_CAPABLE) != 0) { > + return EFI_SUCCESS; > + } else { > + return EFI_UNSUPPORTED; > + } > +} > + > +/** > + Process the option ROM for all the children of the specified parent PCI > device. > + It can only be used after the first full Option ROM process. > + > + @param PciIoDevice Pci device instance. > + > +**/ > +VOID > +ProcessOptionRomLight ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + PCI_IO_DEVICE *Temp; > + LIST_ENTRY *CurrentLink; > + > + // > + // For RootBridge, PPB , P2C, go recursively to traverse all its children > + // > + CurrentLink = PciIoDevice->ChildList.ForwardLink; > + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { > + > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (!IsListEmpty (&Temp->ChildList)) { > + ProcessOptionRomLight (Temp); > + } > + > + Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp); > + > + CurrentLink = CurrentLink->ForwardLink; > + } > +} > + > +/** > + Determine the related attributes of all devices under a Root Bridge. > + > + @param PciIoDevice PCI device instance. > + > +**/ > +EFI_STATUS > +DetermineDeviceAttribute ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + UINT16 Command; > + UINT16 BridgeControl; > + UINT16 OldCommand; > + UINT16 OldBridgeControl; > + BOOLEAN FastB2BSupport; > + PCI_IO_DEVICE *Temp; > + LIST_ENTRY *CurrentLink; > + EFI_STATUS Status; > + > + // > + // For Root Bridge, just copy it by RootBridgeIo protocol > + // so as to keep consistent with the actual attribute > + // > + if (PciIoDevice->Parent == NULL) { > + Status = PciIoDevice->PciRootBridgeIo->GetAttributes ( > + PciIoDevice->PciRootBridgeIo, > + &PciIoDevice->Supports, > + &PciIoDevice->Attributes > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + // > + // Assume the PCI Root Bridge supports DAC > + // > + PciIoDevice->Supports |= > (UINT64)(EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | > + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | > + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); > + > + } else { > + > + // > + // Set the attributes to be checked for common PCI devices and PPB or > P2C > + // Since some devices only support part of them, it is better to set the > + // attribute according to its command or bridge control register > + // > + Command = EFI_PCI_COMMAND_IO_SPACE | > + EFI_PCI_COMMAND_MEMORY_SPACE | > + EFI_PCI_COMMAND_BUS_MASTER | > + EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; > + > + BridgeControl = EFI_PCI_BRIDGE_CONTROL_ISA | > EFI_PCI_BRIDGE_CONTROL_VGA | EFI_PCI_BRIDGE_CONTROL_VGA_16; > + > + // > + // Test whether the device can support attributes above > + // > + PciTestSupportedAttribute (PciIoDevice, &Command, &BridgeControl, > &OldCommand, &OldBridgeControl); > + > + // > + // Set the supported attributes for specified PCI device > + // > + PciSetDeviceAttribute (PciIoDevice, Command, BridgeControl, > EFI_SET_SUPPORTS); > + > + // > + // Set the current attributes for specified PCI device > + // > + PciSetDeviceAttribute (PciIoDevice, OldCommand, OldBridgeControl, > EFI_SET_ATTRIBUTES); > + > + // > + // Enable other PCI supported attributes but not defined in > PCI_IO_PROTOCOL > + // For PCI Express devices, Memory Write and Invalidate is hardwired to > 0b so only enable it for PCI devices. > + if (!PciIoDevice->IsPciExp) { > + PCI_ENABLE_COMMAND_REGISTER (PciIoDevice, > EFI_PCI_COMMAND_MEMORY_WRITE_AND_INVALIDATE); > + } > + } > + > + FastB2BSupport = TRUE; > + > + // > + // P2C can not support FB2B on the secondary side > + // > + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { > + FastB2BSupport = FALSE; > + } > + > + // > + // For RootBridge, PPB , P2C, go recursively to traverse all its children > + // > + CurrentLink = PciIoDevice->ChildList.ForwardLink; > + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { > + > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + Status = DetermineDeviceAttribute (Temp); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + // > + // Detect Fast Back to Back support for the device under the bridge > + // > + Status = GetFastBackToBackSupport (Temp, > PCI_PRIMARY_STATUS_OFFSET); > + if (FastB2BSupport && EFI_ERROR (Status)) { > + FastB2BSupport = FALSE; > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + // > + // Set or clear Fast Back to Back bit for the whole bridge > + // > + if (!IsListEmpty (&PciIoDevice->ChildList)) { > + > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { > + > + Status = GetFastBackToBackSupport (PciIoDevice, > PCI_BRIDGE_STATUS_REGISTER_OFFSET); > + > + if (EFI_ERROR (Status) || (!FastB2BSupport)) { > + FastB2BSupport = FALSE; > + PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, > EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK); > + } else { > + PCI_ENABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, > EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK); > + } > + } > + > + CurrentLink = PciIoDevice->ChildList.ForwardLink; > + while (CurrentLink != NULL && CurrentLink != &PciIoDevice->ChildList) { > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + if (FastB2BSupport) { > + PCI_ENABLE_COMMAND_REGISTER (Temp, > EFI_PCI_COMMAND_FAST_BACK_TO_BACK); > + } else { > + PCI_DISABLE_COMMAND_REGISTER (Temp, > EFI_PCI_COMMAND_FAST_BACK_TO_BACK); > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + } > + // > + // End for IsListEmpty > + // > + return EFI_SUCCESS; > +} > + > +/** > + This routine is used to update the bar information for those incompatible > PCI device. > + > + @param PciIoDevice Input Pci device instance. Output Pci device > instance with updated > + Bar information. > + > + @retval EFI_SUCCESS Successfully updated bar information. > + @retval EFI_UNSUPPORTED Given PCI device doesn't belong to > incompatible PCI device list. > + > +**/ > +EFI_STATUS > +UpdatePciInfo ( > + IN OUT PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_STATUS Status; > + UINTN BarIndex; > + BOOLEAN SetFlag; > + VOID *Configuration; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; > + > + Configuration = NULL; > + Status = EFI_SUCCESS; > + > + if (gIncompatiblePciDeviceSupport == NULL) { > + // > + // It can only be supported after the Incompatible PCI Device > + // Support Protocol has been installed > + // > + Status = gBS->LocateProtocol ( > + &gEfiIncompatiblePciDeviceSupportProtocolGuid, > + NULL, > + (VOID **) &gIncompatiblePciDeviceSupport > + ); > + } > + if (Status == EFI_SUCCESS) { > + // > + // Check whether the device belongs to incompatible devices from > protocol or not > + // If it is , then get its special requirement in the ACPI table > + // > + Status = gIncompatiblePciDeviceSupport->CheckDevice ( > + gIncompatiblePciDeviceSupport, > + PciIoDevice->Pci.Hdr.VendorId, > + PciIoDevice->Pci.Hdr.DeviceId, > + PciIoDevice->Pci.Hdr.RevisionID, > + PciIoDevice->Pci.Device.SubsystemVendorID, > + PciIoDevice->Pci.Device.SubsystemID, > + &Configuration > + ); > + > + } > + > + if (EFI_ERROR (Status) || Configuration == NULL ) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // Update PCI device information from the ACPI table > + // > + Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; > + > + while (Ptr->Desc != ACPI_END_TAG_DESCRIPTOR) { > + > + if (Ptr->Desc != ACPI_ADDRESS_SPACE_DESCRIPTOR) { > + // > + // The format is not support > + // > + break; > + } > + > + for (BarIndex = 0; BarIndex < PCI_MAX_BAR; BarIndex++) { > + if ((Ptr->AddrTranslationOffset != MAX_UINT64) && > + (Ptr->AddrTranslationOffset != MAX_UINT8) && > + (Ptr->AddrTranslationOffset != BarIndex) > + ) { > + // > + // Skip updating when AddrTranslationOffset is not MAX_UINT64 or > MAX_UINT8 (wide match). > + // Skip updating when current BarIndex doesn't equal to > AddrTranslationOffset. > + // Comparing against MAX_UINT8 is to keep backward compatibility. > + // > + continue; > + } > + > + SetFlag = FALSE; > + switch (Ptr->ResType) { > + case ACPI_ADDRESS_SPACE_TYPE_MEM: > + > + // > + // Make sure the bar is memory type > + // > + if (CheckBarType (PciIoDevice, (UINT8) BarIndex, PciBarTypeMem)) { > + SetFlag = TRUE; > + > + // > + // Ignored if granularity is 0. > + // Ignored if PCI BAR is I/O or 32-bit memory. > + // If PCI BAR is 64-bit memory and granularity is 32, then > + // the PCI BAR resource is allocated below 4GB. > + // If PCI BAR is 64-bit memory and granularity is 64, then > + // the PCI BAR resource is allocated above 4GB. > + // > + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeMem64) { > + switch (Ptr->AddrSpaceGranularity) { > + case 32: > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem32; > + case 64: > + PciIoDevice->PciBar[BarIndex].BarTypeFixed = TRUE; > + break; > + default: > + break; > + } > + } > + > + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypePMem64) { > + switch (Ptr->AddrSpaceGranularity) { > + case 32: > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem32; > + case 64: > + PciIoDevice->PciBar[BarIndex].BarTypeFixed = TRUE; > + break; > + default: > + break; > + } > + } > + } > + break; > + > + case ACPI_ADDRESS_SPACE_TYPE_IO: > + > + // > + // Make sure the bar is IO type > + // > + if (CheckBarType (PciIoDevice, (UINT8) BarIndex, PciBarTypeIo)) { > + SetFlag = TRUE; > + } > + break; > + } > + > + if (SetFlag) { > + > + // > + // Update the new alignment for the device > + // > + SetNewAlign (&(PciIoDevice->PciBar[BarIndex].Alignment), Ptr- > >AddrRangeMax); > + > + // > + // Update the new length for the device > + // > + if (Ptr->AddrLen != 0) { > + PciIoDevice->PciBar[BarIndex].Length = Ptr->AddrLen; > + } > + } > + } > + > + Ptr++; > + } > + > + FreePool (Configuration); > + > + return EFI_SUCCESS; > +} > + > +/** > + This routine will update the alignment with the new alignment. > + Compare with OLD_ALIGN/EVEN_ALIGN/SQUAD_ALIGN/DQUAD_ALIGN > is to keep > + backward compatibility. > + > + @param Alignment Input Old alignment. Output updated alignment. > + @param NewAlignment New alignment. > + > +**/ > +VOID > +SetNewAlign ( > + IN OUT UINT64 *Alignment, > + IN UINT64 NewAlignment > + ) > +{ > + UINT64 OldAlignment; > + UINTN ShiftBit; > + > + // > + // The new alignment is the same as the original, > + // so skip it > + // > + if ((NewAlignment == 0) || (NewAlignment == OLD_ALIGN)) { > + return ; > + } > + // > + // Check the validity of the parameter > + // > + if (NewAlignment != EVEN_ALIGN && > + NewAlignment != SQUAD_ALIGN && > + NewAlignment != DQUAD_ALIGN ) { > + *Alignment = NewAlignment; > + return ; > + } > + > + OldAlignment = (*Alignment) + 1; > + ShiftBit = 0; > + > + // > + // Get the first non-zero hex value of the length > + // > + while ((OldAlignment & 0x0F) == 0x00) { > + OldAlignment = RShiftU64 (OldAlignment, 4); > + ShiftBit += 4; > + } > + > + // > + // Adjust the alignment to even, quad or double quad boundary > + // > + if (NewAlignment == EVEN_ALIGN) { > + if ((OldAlignment & 0x01) != 0) { > + OldAlignment = OldAlignment + 2 - (OldAlignment & 0x01); > + } > + } else if (NewAlignment == SQUAD_ALIGN) { > + if ((OldAlignment & 0x03) != 0) { > + OldAlignment = OldAlignment + 4 - (OldAlignment & 0x03); > + } > + } else if (NewAlignment == DQUAD_ALIGN) { > + if ((OldAlignment & 0x07) != 0) { > + OldAlignment = OldAlignment + 8 - (OldAlignment & 0x07); > + } > + } > + > + // > + // Update the old value > + // > + NewAlignment = LShiftU64 (OldAlignment, ShiftBit) - 1; > + *Alignment = NewAlignment; > + > + return ; > +} > + > +/** > + Parse PCI IOV VF bar information and fill them into PCI device instance. > + > + @param PciIoDevice Pci device instance. > + @param Offset Bar offset. > + @param BarIndex Bar index. > + > + @return Next bar offset. > + > +**/ > +UINTN > +PciIovParseVfBar ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + IN UINTN BarIndex > + ) > +{ > + UINT32 Value; > + UINT32 OriginalValue; > + UINT32 Mask; > + EFI_STATUS Status; > + > + // > + // Ensure it is called properly > + // > + ASSERT (PciIoDevice->SrIovCapabilityOffset != 0); > + if (PciIoDevice->SrIovCapabilityOffset == 0) { > + return 0; > + } > + > + OriginalValue = 0; > + Value = 0; > + > + Status = VfBarExisted ( > + PciIoDevice, > + Offset, > + &Value, > + &OriginalValue > + ); > + > + if (EFI_ERROR (Status)) { > + PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0; > + PciIoDevice->VfPciBar[BarIndex].Length = 0; > + PciIoDevice->VfPciBar[BarIndex].Alignment = 0; > + > + // > + // Scan all the BARs anyway > + // > + PciIoDevice->VfPciBar[BarIndex].Offset = (UINT16) Offset; > + return Offset + 4; > + } > + > + PciIoDevice->VfPciBar[BarIndex].Offset = (UINT16) Offset; > + if ((Value & 0x01) != 0) { > + // > + // Device I/Os. Impossible > + // > + ASSERT (FALSE); > + return Offset + 4; > + > + } else { > + > + Mask = 0xfffffff0; > + > + PciIoDevice->VfPciBar[BarIndex].BaseAddress = OriginalValue & Mask; > + > + switch (Value & 0x07) { > + > + // > + //memory space; anywhere in 32 bit address space > + // > + case 0x00: > + if ((Value & 0x08) != 0) { > + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypePMem32; > + } else { > + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeMem32; > + } > + > + PciIoDevice->VfPciBar[BarIndex].Length = (~(Value & Mask)) + 1; > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >VfPciBar[BarIndex].Length - 1; > + > + // > + // Adjust Length > + // > + PciIoDevice->VfPciBar[BarIndex].Length = MultU64x32 (PciIoDevice- > >VfPciBar[BarIndex].Length, PciIoDevice->InitialVFs); > + // > + // Adjust Alignment > + // > + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice- > >SystemPageSize - 1) { > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >SystemPageSize - 1; > + } > + > + break; > + > + // > + // memory space; anywhere in 64 bit address space > + // > + case 0x04: > + if ((Value & 0x08) != 0) { > + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypePMem64; > + } else { > + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeMem64; > + } > + > + // > + // According to PCI 2.2,if the bar indicates a memory 64 decoding, next > bar > + // is regarded as an extension for the first bar. As a result > + // the sizing will be conducted on combined 64 bit value > + // Here just store the masked first 32bit value for future size > + // calculation > + // > + PciIoDevice->VfPciBar[BarIndex].Length = Value & Mask; > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >VfPciBar[BarIndex].Length - 1; > + > + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice- > >SystemPageSize - 1) { > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >SystemPageSize - 1; > + } > + > + // > + // Increment the offset to point to next DWORD > + // > + Offset += 4; > + > + Status = VfBarExisted ( > + PciIoDevice, > + Offset, > + &Value, > + &OriginalValue > + ); > + > + if (EFI_ERROR (Status)) { > + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; > + return Offset + 4; > + } > + > + // > + // Fix the length to support some special 64 bit BAR > + // > + Value |= ((UINT32) -1 << HighBitSet32 (Value)); > + > + // > + // Calculate the size of 64bit bar > + // > + PciIoDevice->VfPciBar[BarIndex].BaseAddress |= LShiftU64 ((UINT64) > OriginalValue, 32); > + > + PciIoDevice->VfPciBar[BarIndex].Length = PciIoDevice- > >VfPciBar[BarIndex].Length | LShiftU64 ((UINT64) Value, 32); > + PciIoDevice->VfPciBar[BarIndex].Length = (~(PciIoDevice- > >VfPciBar[BarIndex].Length)) + 1; > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >VfPciBar[BarIndex].Length - 1; > + > + // > + // Adjust Length > + // > + PciIoDevice->VfPciBar[BarIndex].Length = MultU64x32 (PciIoDevice- > >VfPciBar[BarIndex].Length, PciIoDevice->InitialVFs); > + // > + // Adjust Alignment > + // > + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice- > >SystemPageSize - 1) { > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >SystemPageSize - 1; > + } > + > + break; > + > + // > + // reserved > + // > + default: > + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; > + PciIoDevice->VfPciBar[BarIndex].Length = (~(Value & Mask)) + 1; > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >VfPciBar[BarIndex].Length - 1; > + > + if (PciIoDevice->VfPciBar[BarIndex].Alignment < PciIoDevice- > >SystemPageSize - 1) { > + PciIoDevice->VfPciBar[BarIndex].Alignment = PciIoDevice- > >SystemPageSize - 1; > + } > + > + break; > + } > + } > + > + // > + // Check the length again so as to keep compatible with some special bars > + // > + if (PciIoDevice->VfPciBar[BarIndex].Length == 0) { > + PciIoDevice->VfPciBar[BarIndex].BarType = PciBarTypeUnknown; > + PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0; > + PciIoDevice->VfPciBar[BarIndex].Alignment = 0; > + } > + > + // > + // Increment number of bar > + // > + return Offset + 4; > +} > + > +/** > + Parse PCI bar information and fill them into PCI device instance. > + > + @param PciIoDevice Pci device instance. > + @param Offset Bar offset. > + @param BarIndex Bar index. > + > + @return Next bar offset. > + > +**/ > +UINTN > +PciParseBar ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + IN UINTN BarIndex > + ) > +{ > + UINT32 Value; > + UINT32 OriginalValue; > + UINT32 Mask; > + EFI_STATUS Status; > + > + OriginalValue = 0; > + Value = 0; > + > + Status = BarExisted ( > + PciIoDevice, > + Offset, > + &Value, > + &OriginalValue > + ); > + > + if (EFI_ERROR (Status)) { > + PciIoDevice->PciBar[BarIndex].BaseAddress = 0; > + PciIoDevice->PciBar[BarIndex].Length = 0; > + PciIoDevice->PciBar[BarIndex].Alignment = 0; > + > + // > + // Some devices don't fully comply to PCI spec 2.2. So be to scan all the > BARs anyway > + // > + PciIoDevice->PciBar[BarIndex].Offset = (UINT8) Offset; > + return Offset + 4; > + } > + > + PciIoDevice->PciBar[BarIndex].BarTypeFixed = FALSE; > + PciIoDevice->PciBar[BarIndex].Offset = (UINT8) Offset; > + if ((Value & 0x01) != 0) { > + // > + // Device I/Os > + // > + Mask = 0xfffffffc; > + > + if ((Value & 0xFFFF0000) != 0) { > + // > + // It is a IO32 bar > + // > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeIo32; > + PciIoDevice->PciBar[BarIndex].Length = ((~(Value & Mask)) + 1); > + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice- > >PciBar[BarIndex].Length - 1; > + > + } else { > + // > + // It is a IO16 bar > + // > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeIo16; > + PciIoDevice->PciBar[BarIndex].Length = 0x0000FFFF & ((~(Value & > Mask)) + 1); > + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice- > >PciBar[BarIndex].Length - 1; > + > + } > + // > + // Workaround. Some platforms implement IO bar with 0 length > + // Need to treat it as no-bar > + // > + if (PciIoDevice->PciBar[BarIndex].Length == 0) { > + PciIoDevice->PciBar[BarIndex].BarType = (PCI_BAR_TYPE) 0; > + } > + > + PciIoDevice->PciBar[BarIndex].BaseAddress = OriginalValue & Mask; > + > + } else { > + > + Mask = 0xfffffff0; > + > + PciIoDevice->PciBar[BarIndex].BaseAddress = OriginalValue & Mask; > + > + switch (Value & 0x07) { > + > + // > + //memory space; anywhere in 32 bit address space > + // > + case 0x00: > + if ((Value & 0x08) != 0) { > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem32; > + } else { > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem32; > + } > + > + PciIoDevice->PciBar[BarIndex].Length = (~(Value & Mask)) + 1; > + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { > + // > + // Force minimum 4KByte alignment for Virtualization technology for > Directed I/O > + // > + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); > + } else { > + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice- > >PciBar[BarIndex].Length - 1; > + } > + break; > + > + // > + // memory space; anywhere in 64 bit address space > + // > + case 0x04: > + if ((Value & 0x08) != 0) { > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypePMem64; > + } else { > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeMem64; > + } > + > + // > + // According to PCI 2.2,if the bar indicates a memory 64 decoding, next > bar > + // is regarded as an extension for the first bar. As a result > + // the sizing will be conducted on combined 64 bit value > + // Here just store the masked first 32bit value for future size > + // calculation > + // > + PciIoDevice->PciBar[BarIndex].Length = Value & Mask; > + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice- > >PciBar[BarIndex].Length - 1; > + > + // > + // Increment the offset to point to next DWORD > + // > + Offset += 4; > + > + Status = BarExisted ( > + PciIoDevice, > + Offset, > + &Value, > + &OriginalValue > + ); > + > + if (EFI_ERROR (Status)) { > + // > + // the high 32 bit does not claim any BAR, we need to re-check the low > 32 bit BAR again > + // > + if (PciIoDevice->PciBar[BarIndex].Length == 0) { > + // > + // some device implement MMIO bar with 0 length, need to treat it as > no-bar > + // > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; > + return Offset + 4; > + } > + } > + > + // > + // Fix the length to support some special 64 bit BAR > + // > + if (Value == 0) { > + DEBUG ((EFI_D_INFO, "[PciBus]BAR probing for upper 32bit of MEM64 > BAR returns 0, change to 0xFFFFFFFF.\n")); > + Value = (UINT32) -1; > + } else { > + Value |= ((UINT32)(-1) << HighBitSet32 (Value)); > + } > + > + // > + // Calculate the size of 64bit bar > + // > + PciIoDevice->PciBar[BarIndex].BaseAddress |= LShiftU64 ((UINT64) > OriginalValue, 32); > + > + PciIoDevice->PciBar[BarIndex].Length = PciIoDevice- > >PciBar[BarIndex].Length | LShiftU64 ((UINT64) Value, 32); > + PciIoDevice->PciBar[BarIndex].Length = (~(PciIoDevice- > >PciBar[BarIndex].Length)) + 1; > + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { > + // > + // Force minimum 4KByte alignment for Virtualization technology for > Directed I/O > + // > + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); > + } else { > + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice- > >PciBar[BarIndex].Length - 1; > + } > + > + break; > + > + // > + // reserved > + // > + default: > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; > + PciIoDevice->PciBar[BarIndex].Length = (~(Value & Mask)) + 1; > + if (PciIoDevice->PciBar[BarIndex].Length < (SIZE_4KB)) { > + // > + // Force minimum 4KByte alignment for Virtualization technology for > Directed I/O > + // > + PciIoDevice->PciBar[BarIndex].Alignment = (SIZE_4KB - 1); > + } else { > + PciIoDevice->PciBar[BarIndex].Alignment = PciIoDevice- > >PciBar[BarIndex].Length - 1; > + } > + break; > + } > + } > + > + // > + // Check the length again so as to keep compatible with some special bars > + // > + if (PciIoDevice->PciBar[BarIndex].Length == 0) { > + PciIoDevice->PciBar[BarIndex].BarType = PciBarTypeUnknown; > + PciIoDevice->PciBar[BarIndex].BaseAddress = 0; > + PciIoDevice->PciBar[BarIndex].Alignment = 0; > + } > + > + // > + // Increment number of bar > + // > + return Offset + 4; > +} > + > +/** > + This routine is used to initialize the bar of a PCI device. > + > + @param PciIoDevice Pci device instance. > + > + @note It can be called typically when a device is going to be rejected. > + > +**/ > +VOID > +InitializePciDevice ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT8 Offset; > + > + PciIo = &(PciIoDevice->PciIo); > + > + // > + // Put all the resource apertures > + // Resource base is set to all ones so as to indicate its resource > + // has not been allocated > + // > + for (Offset = 0x10; Offset <= 0x24; Offset += sizeof (UINT32)) { > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, Offset, 1, &gAllOne); > + } > +} > + > +/** > + This routine is used to initialize the bar of a PCI-PCI Bridge device. > + > + @param PciIoDevice PCI-PCI bridge device instance. > + > +**/ > +VOID > +InitializePpb ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + > + PciIo = &(PciIoDevice->PciIo); > + > + // > + // Put all the resource apertures including IO16 > + // Io32, pMem32, pMem64 to quiescent state > + // Resource base all ones, Resource limit all zeros > + // > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1C, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x1D, 1, &gAllZero); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x20, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x22, 1, &gAllZero); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x24, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x26, 1, &gAllZero); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x28, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x2C, 1, &gAllZero); > + > + // > + // Don't support use io32 as for now > + // > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x30, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0x32, 1, &gAllZero); > + > + // > + // Force Interrupt line to zero for cards that come up randomly > + // > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &gAllZero); > +} > + > +/** > + This routine is used to initialize the bar of a PCI Card Bridge device. > + > + @param PciIoDevice PCI Card bridge device. > + > +**/ > +VOID > +InitializeP2C ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + > + PciIo = &(PciIoDevice->PciIo); > + > + // > + // Put all the resource apertures including IO16 > + // Io32, pMem32, pMem64 to quiescent state( > + // Resource base all ones, Resource limit all zeros > + // > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x1c, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x20, 1, &gAllZero); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x24, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x28, 1, &gAllZero); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x2c, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x30, 1, &gAllZero); > + > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x34, 1, &gAllOne); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x38, 1, &gAllZero); > + > + // > + // Force Interrupt line to zero for cards that come up randomly > + // > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &gAllZero); > +} > + > +/** > + Authenticate the PCI device by using DeviceSecurityProtocol. > + > + @param PciIoDevice PCI device. > + > + @retval EFI_SUCCESS The device passes the authentication. > + @return not EFI_SUCCESS The device failes the authentication or > + unexpected error happen during authentication. > +**/ > +EFI_STATUS > +AuthenticatePciDevice ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EDKII_DEVICE_IDENTIFIER DeviceIdentifier; > + EFI_STATUS Status; > + > + if (mDeviceSecurityProtocol != NULL) { > + // > + // Prepare the parameter > + // > + DeviceIdentifier.Version = EDKII_DEVICE_IDENTIFIER_REVISION; > + CopyGuid (&DeviceIdentifier.DeviceType, > &gEdkiiDeviceIdentifierTypePciGuid); > + DeviceIdentifier.DeviceHandle = NULL; > + Status = gBS->InstallMultipleProtocolInterfaces ( > + &DeviceIdentifier.DeviceHandle, > + &gEfiDevicePathProtocolGuid, > + PciIoDevice->DevicePath, > + &gEdkiiDeviceIdentifierTypePciGuid, > + &PciIoDevice->PciIo, > + NULL > + ); > + if (EFI_ERROR(Status)) { > + return Status; > + } > + > + // > + // Do DeviceAuthentication > + // > + Status = mDeviceSecurityProtocol->DeviceAuthenticate > (mDeviceSecurityProtocol, &DeviceIdentifier); > + // > + // Always uninstall, because they are only for Authentication. > + // No need to check return Status. > + // > + gBS->UninstallMultipleProtocolInterfaces ( > + DeviceIdentifier.DeviceHandle, > + &gEfiDevicePathProtocolGuid, > + PciIoDevice->DevicePath, > + &gEdkiiDeviceIdentifierTypePciGuid, > + &PciIoDevice->PciIo, > + NULL > + ); > + return Status; > + } > + > + // > + // Device Security Protocol is not found, just return success > + // > + return EFI_SUCCESS; > +} > + > +/** > + Create and initialize general PCI I/O device instance for > + PCI device/bridge device/hotplug bridge device. > + > + @param Bridge Parent bridge instance. > + @param Pci Input Pci information block. > + @param Bus Device Bus NO. > + @param Device Device device NO. > + @param Func Device func NO. > + > + @return Instance of PCI device. NULL means no instance created. > + > +**/ > +PCI_IO_DEVICE * > +CreatePciIoDevice ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + EFI_PCI_IO_PROTOCOL *PciIo; > + EFI_STATUS Status; > + > + PciIoDevice = AllocateZeroPool (sizeof (PCI_IO_DEVICE)); > + if (PciIoDevice == NULL) { > + return NULL; > + } > + > + PciIoDevice->Signature = PCI_IO_DEVICE_SIGNATURE; > + PciIoDevice->Handle = NULL; > + PciIoDevice->PciRootBridgeIo = Bridge->PciRootBridgeIo; > + PciIoDevice->DevicePath = NULL; > + PciIoDevice->BusNumber = Bus; > + PciIoDevice->DeviceNumber = Device; > + PciIoDevice->FunctionNumber = Func; > + PciIoDevice->Decodes = 0; > + > + if (gFullEnumeration) { > + PciIoDevice->Allocated = FALSE; > + } else { > + PciIoDevice->Allocated = TRUE; > + } > + > + PciIoDevice->Registered = FALSE; > + PciIoDevice->Attributes = 0; > + PciIoDevice->Supports = 0; > + PciIoDevice->BusOverride = FALSE; > + PciIoDevice->AllOpRomProcessed = FALSE; > + > + PciIoDevice->IsPciExp = FALSE; > + > + CopyMem (&(PciIoDevice->Pci), Pci, sizeof (PCI_TYPE01)); > + > + // > + // Initialize the PCI I/O instance structure > + // > + InitializePciIoInstance (PciIoDevice); > + InitializePciDriverOverrideInstance (PciIoDevice); > + InitializePciLoadFile2 (PciIoDevice); > + PciIo = &PciIoDevice->PciIo; > + > + // > + // Create a device path for this PCI device and store it into its private data > + // > + CreatePciDevicePath ( > + Bridge->DevicePath, > + PciIoDevice > + ); > + > + // > + // Detect if PCI Express Device > + // > + PciIoDevice->PciExpressCapabilityOffset = 0; > + Status = LocateCapabilityRegBlock ( > + PciIoDevice, > + EFI_PCI_CAPABILITY_ID_PCIEXP, > + &PciIoDevice->PciExpressCapabilityOffset, > + NULL > + ); > + if (!EFI_ERROR (Status)) { > + PciIoDevice->IsPciExp = TRUE; > + } > + > + // > + // Now we can do the authentication check for the device. > + // > + Status = AuthenticatePciDevice (PciIoDevice); > + // > + // If authentication fails, skip this device. > + // > + if (EFI_ERROR(Status)) { > + if (PciIoDevice->DevicePath != NULL) { > + FreePool (PciIoDevice->DevicePath); > + } > + FreePool (PciIoDevice); > + return NULL; > + } > + > + if (PcdGetBool (PcdAriSupport)) { > + // > + // Check if the device is an ARI device. > + // > + Status = LocatePciExpressCapabilityRegBlock ( > + PciIoDevice, > + EFI_PCIE_CAPABILITY_ID_ARI, > + &PciIoDevice->AriCapabilityOffset, > + NULL > + ); > + if (!EFI_ERROR (Status)) { > + // > + // We need to enable ARI feature before calculate BusReservation, > + // because FirstVFOffset and VFStride may change after that. > + // > + EFI_PCI_IO_PROTOCOL *ParentPciIo; > + UINT32 Data32; > + > + // > + // Check if its parent supports ARI forwarding. > + // > + ParentPciIo = &Bridge->PciIo; > + ParentPciIo->Pci.Read ( > + ParentPciIo, > + EfiPciIoWidthUint32, > + Bridge->PciExpressCapabilityOffset + > EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_OFFSET, > + 1, > + &Data32 > + ); > + if ((Data32 & > EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_ARI_FORWARDING) != 0) { > + // > + // ARI forward support in bridge, so enable it. > + // > + ParentPciIo->Pci.Read ( > + ParentPciIo, > + EfiPciIoWidthUint32, > + Bridge->PciExpressCapabilityOffset + > EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_OFFSET, > + 1, > + &Data32 > + ); > + if ((Data32 & > EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_ARI_FORWARDING) == 0) { > + Data32 |= > EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_ARI_FORWARDING; > + ParentPciIo->Pci.Write ( > + ParentPciIo, > + EfiPciIoWidthUint32, > + Bridge->PciExpressCapabilityOffset + > EFI_PCIE_CAPABILITY_DEVICE_CONTROL_2_OFFSET, > + 1, > + &Data32 > + ); > + DEBUG (( > + EFI_D_INFO, > + " ARI: forwarding enabled for PPB[%02x:%02x:%02x]\n", > + Bridge->BusNumber, > + Bridge->DeviceNumber, > + Bridge->FunctionNumber > + )); > + } > + } > + > + DEBUG ((EFI_D_INFO, " ARI: CapOffset = 0x%x\n", PciIoDevice- > >AriCapabilityOffset)); > + } > + } > + > + // > + // Initialization for SR-IOV > + // > + > + if (PcdGetBool (PcdSrIovSupport)) { > + Status = LocatePciExpressCapabilityRegBlock ( > + PciIoDevice, > + EFI_PCIE_CAPABILITY_ID_SRIOV, > + &PciIoDevice->SrIovCapabilityOffset, > + NULL > + ); > + if (!EFI_ERROR (Status)) { > + UINT32 SupportedPageSize; > + UINT16 VFStride; > + UINT16 FirstVFOffset; > + UINT16 Data16; > + UINT32 PFRid; > + UINT32 LastVF; > + > + // > + // If the SR-IOV device is an ARI device, then Set ARI Capable Hierarchy > for the device. > + // > + if (PcdGetBool (PcdAriSupport) && PciIoDevice->AriCapabilityOffset != 0) > { > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL, > + 1, > + &Data16 > + ); > + Data16 |= EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL_ARI_HIERARCHY; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_CONTROL, > + 1, > + &Data16 > + ); > + } > + > + // > + // Calculate SystemPageSize > + // > + > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint32, > + PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_SUPPORTED_PAGE_SIZE, > + 1, > + &SupportedPageSize > + ); > + PciIoDevice->SystemPageSize = (PcdGet32 (PcdSrIovSystemPageSize) & > SupportedPageSize); > + ASSERT (PciIoDevice->SystemPageSize != 0); > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_SYSTEM_PAGE_SIZE, > + 1, > + &PciIoDevice->SystemPageSize > + ); > + // > + // Adjust SystemPageSize for Alignment usage later > + // > + PciIoDevice->SystemPageSize <<= 12; > + > + // > + // Calculate BusReservation for PCI IOV > + // > + > + // > + // Read First FirstVFOffset, InitialVFs, and VFStride > + // > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_FIRSTVF, > + 1, > + &FirstVFOffset > + ); > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_INITIALVFS, > + 1, > + &PciIoDevice->InitialVFs > + ); > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PciIoDevice->SrIovCapabilityOffset + > EFI_PCIE_CAPABILITY_ID_SRIOV_VFSTRIDE, > + 1, > + &VFStride > + ); > + // > + // Calculate LastVF > + // > + PFRid = EFI_PCI_RID(Bus, Device, Func); > + LastVF = PFRid + FirstVFOffset + (PciIoDevice->InitialVFs - 1) * VFStride; > + > + // > + // Calculate ReservedBusNum for this PF > + // > + PciIoDevice->ReservedBusNum = (UINT16)(EFI_PCI_BUS_OF_RID > (LastVF) - Bus + 1); > + > + DEBUG (( > + EFI_D_INFO, > + " SR-IOV: SupportedPageSize = 0x%x; SystemPageSize = 0x%x; > FirstVFOffset = 0x%x;\n", > + SupportedPageSize, PciIoDevice->SystemPageSize >> 12, FirstVFOffset > + )); > + DEBUG (( > + EFI_D_INFO, > + " InitialVFs = 0x%x; ReservedBusNum = 0x%x; CapOffset = 0x%x\n", > + PciIoDevice->InitialVFs, PciIoDevice->ReservedBusNum, PciIoDevice- > >SrIovCapabilityOffset > + )); > + } > + } > + > + if (PcdGetBool (PcdMrIovSupport)) { > + Status = LocatePciExpressCapabilityRegBlock ( > + PciIoDevice, > + EFI_PCIE_CAPABILITY_ID_MRIOV, > + &PciIoDevice->MrIovCapabilityOffset, > + NULL > + ); > + if (!EFI_ERROR (Status)) { > + DEBUG ((EFI_D_INFO, " MR-IOV: CapOffset = 0x%x\n", PciIoDevice- > >MrIovCapabilityOffset)); > + } > + } > + > + PciIoDevice->ResizableBarOffset = 0; > + if (PcdGetBool (PcdPcieResizableBarSupport)) { > + Status = LocatePciExpressCapabilityRegBlock ( > + PciIoDevice, > + PCI_EXPRESS_EXTENDED_CAPABILITY_RESIZABLE_BAR_ID, > + &PciIoDevice->ResizableBarOffset, > + NULL > + ); > + if (!EFI_ERROR (Status)) { > + PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL > ResizableBarControl; > + UINT32 Offset; > + Offset = PciIoDevice->ResizableBarOffset + sizeof > (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER) > + + sizeof > (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CAPABILITY), > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint8, > + Offset, > + sizeof > (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL), > + &ResizableBarControl > + ); > + PciIoDevice->ResizableBarNumber = > ResizableBarControl.Bits.ResizableBarNumber; > + PciProgramResizableBar (PciIoDevice, PciResizableBarMax); > + } > + } > + > + // > + // Initialize the reserved resource list > + // > + InitializeListHead (&PciIoDevice->ReservedResourceList); > + > + // > + // Initialize the driver list > + // > + InitializeListHead (&PciIoDevice->OptionRomDriverList); > + > + // > + // Initialize the child list > + // > + InitializeListHead (&PciIoDevice->ChildList); > + > + return PciIoDevice; > +} > + > +/** > + This routine is used to enumerate entire pci bus system > + in a given platform. > + > + It is only called on the second start on the same Root Bridge. > + > + @param Controller Parent bridge handler. > + > + @retval EFI_SUCCESS PCI enumeration finished successfully. > + @retval other Some error occurred when enumerating the pci bus > system. > + > +**/ > +EFI_STATUS > +PciEnumeratorLight ( > + IN EFI_HANDLE Controller > + ) > +{ > + > + EFI_STATUS Status; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + PCI_IO_DEVICE *RootBridgeDev; > + UINT16 MinBus; > + UINT16 MaxBus; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; > + > + MinBus = 0; > + MaxBus = PCI_MAX_BUS; > + Descriptors = NULL; > + > + // > + // If this root bridge has been already enumerated, then return > successfully > + // > + if (GetRootBridgeByHandle (Controller) != NULL) { > + return EFI_SUCCESS; > + } > + > + // > + // Open pci root bridge io protocol > + // > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo, > + gPciBusDriverBinding.DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_BY_DRIVER > + ); > + if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) { > + return Status; > + } > + > + Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **) > &Descriptors); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + while (PciGetBusRange (&Descriptors, &MinBus, &MaxBus, NULL) == > EFI_SUCCESS) { > + > + // > + // Create a device node for root bridge device with a NULL host bridge > controller handle > + // > + RootBridgeDev = CreateRootBridge (Controller); > + > + if (RootBridgeDev == NULL) { > + Descriptors++; > + continue; > + } > + > + // > + // Record the root bridge-io protocol > + // > + RootBridgeDev->PciRootBridgeIo = PciRootBridgeIo; > + > + Status = PciPciDeviceInfoCollector ( > + RootBridgeDev, > + (UINT8) MinBus > + ); > + > + if (!EFI_ERROR (Status)) { > + > + // > + // Remove those PCI devices which are rejected when full enumeration > + // > + RemoveRejectedPciDevices (RootBridgeDev->Handle, RootBridgeDev); > + > + // > + // Process option rom light > + // > + ProcessOptionRomLight (RootBridgeDev); > + > + // > + // Determine attributes for all devices under this root bridge > + // > + DetermineDeviceAttribute (RootBridgeDev); > + > + // > + // If successfully, insert the node into device pool > + // > + InsertRootBridge (RootBridgeDev); > + } else { > + > + // > + // If unsuccessfully, destroy the entire node > + // > + DestroyRootBridge (RootBridgeDev); > + } > + > + Descriptors++; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Get bus range from PCI resource descriptor list. > + > + @param Descriptors A pointer to the address space descriptor. > + @param MinBus The min bus returned. > + @param MaxBus The max bus returned. > + @param BusRange The bus range returned. > + > + @retval EFI_SUCCESS Successfully got bus range. > + @retval EFI_NOT_FOUND Can not find the specific bus. > + > +**/ > +EFI_STATUS > +PciGetBusRange ( > + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, > + OUT UINT16 *MinBus, > + OUT UINT16 *MaxBus, > + OUT UINT16 *BusRange > + ) > +{ > + while ((*Descriptors)->Desc != ACPI_END_TAG_DESCRIPTOR) { > + if ((*Descriptors)->ResType == ACPI_ADDRESS_SPACE_TYPE_BUS) { > + if (MinBus != NULL) { > + *MinBus = (UINT16) (*Descriptors)->AddrRangeMin; > + } > + > + if (MaxBus != NULL) { > + *MaxBus = (UINT16) (*Descriptors)->AddrRangeMax; > + } > + > + if (BusRange != NULL) { > + *BusRange = (UINT16) (*Descriptors)->AddrLen; > + } > + > + return EFI_SUCCESS; > + } > + > + (*Descriptors)++; > + } > + > + return EFI_NOT_FOUND; > +} > + > +/** > + This routine can be used to start the root bridge. > + > + @param RootBridgeDev Pci device instance. > + > + @retval EFI_SUCCESS This device started. > + @retval other Failed to get PCI Root Bridge I/O protocol. > + > +**/ > +EFI_STATUS > +StartManagingRootBridge ( > + IN PCI_IO_DEVICE *RootBridgeDev > + ) > +{ > + EFI_HANDLE RootBridgeHandle; > + EFI_STATUS Status; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + > + // > + // Get the root bridge handle > + // > + RootBridgeHandle = RootBridgeDev->Handle; > + PciRootBridgeIo = NULL; > + > + // > + // Get the pci root bridge io protocol > + // > + Status = gBS->OpenProtocol ( > + RootBridgeHandle, > + &gEfiPciRootBridgeIoProtocolGuid, > + (VOID **) &PciRootBridgeIo, > + gPciBusDriverBinding.DriverBindingHandle, > + RootBridgeHandle, > + EFI_OPEN_PROTOCOL_BY_DRIVER > + ); > + > + if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) { > + return Status; > + } > + > + // > + // Store the PciRootBridgeIo protocol into root bridge private data > + // > + RootBridgeDev->PciRootBridgeIo = PciRootBridgeIo; > + > + return EFI_SUCCESS; > + > +} > + > +/** > + This routine can be used to check whether a PCI device should be rejected > when light enumeration. > + > + @param PciIoDevice Pci device instance. > + > + @retval TRUE This device should be rejected. > + @retval FALSE This device shouldn't be rejected. > + > +**/ > +BOOLEAN > +IsPciDeviceRejected ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_STATUS Status; > + UINT32 TestValue; > + UINT32 OldValue; > + UINT32 Mask; > + UINT8 BarOffset; > + > + // > + // PPB should be skip! > + // > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { > + return FALSE; > + } > + > + if (IS_CARDBUS_BRIDGE (&PciIoDevice->Pci)) { > + // > + // Only test base registers for P2C > + // > + for (BarOffset = 0x1C; BarOffset <= 0x38; BarOffset += 2 * sizeof > (UINT32)) { > + > + Mask = (BarOffset < 0x2C) ? 0xFFFFF000 : 0xFFFFFFFC; > + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); > + if (EFI_ERROR (Status)) { > + continue; > + } > + > + TestValue = TestValue & Mask; > + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { > + // > + // The bar isn't programed, so it should be rejected > + // > + return TRUE; > + } > + } > + > + return FALSE; > + } > + > + for (BarOffset = 0x14; BarOffset <= 0x24; BarOffset += sizeof (UINT32)) { > + // > + // Test PCI devices > + // > + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); > + if (EFI_ERROR (Status)) { > + continue; > + } > + > + if ((TestValue & 0x01) != 0) { > + > + // > + // IO Bar > + // > + Mask = 0xFFFFFFFC; > + TestValue = TestValue & Mask; > + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { > + return TRUE; > + } > + > + } else { > + > + // > + // Mem Bar > + // > + Mask = 0xFFFFFFF0; > + TestValue = TestValue & Mask; > + > + if ((TestValue & 0x07) == 0x04) { > + > + // > + // Mem64 or PMem64 > + // > + BarOffset += sizeof (UINT32); > + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { > + > + // > + // Test its high 32-Bit BAR > + // > + Status = BarExisted (PciIoDevice, BarOffset, &TestValue, &OldValue); > + if (TestValue == OldValue) { > + return TRUE; > + } > + } > + > + } else { > + > + // > + // Mem32 or PMem32 > + // > + if ((TestValue != 0) && (TestValue == (OldValue & Mask))) { > + return TRUE; > + } > + } > + } > + } > + > + return FALSE; > +} > + > +/** > + Reset all bus number from specific bridge. > + > + @param Bridge Parent specific bridge. > + @param StartBusNumber Start bus number. > + > +**/ > +VOID > +ResetAllPpbBusNumber ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber > + ) > +{ > + EFI_STATUS Status; > + PCI_TYPE00 Pci; > + UINT8 Device; > + UINT32 Register; > + UINT8 Func; > + UINT64 Address; > + UINT8 SecondaryBus; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + > + PciRootBridgeIo = Bridge->PciRootBridgeIo; > + > + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { > + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { > + > + // > + // Check to see whether a pci device is present > + // > + Status = PciDevicePresent ( > + PciRootBridgeIo, > + &Pci, > + StartBusNumber, > + Device, > + Func > + ); > + > + if (EFI_ERROR (Status) && Func == 0) { > + // > + // go to next device if there is no Function 0 > + // > + break; > + } > + > + if (!EFI_ERROR (Status) && (IS_PCI_BRIDGE (&Pci))) { > + > + Register = 0; > + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0x18); > + Status = PciRootBridgeIo->Pci.Read ( > + PciRootBridgeIo, > + EfiPciWidthUint32, > + Address, > + 1, > + &Register > + ); > + SecondaryBus = (UINT8)(Register >> 8); > + > + if (SecondaryBus != 0) { > + ResetAllPpbBusNumber (Bridge, SecondaryBus); > + } > + > + // > + // Reset register 18h, 19h, 1Ah on PCI Bridge > + // > + Register &= 0xFF000000; > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint32, > + Address, > + 1, > + &Register > + ); > + } > + > + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { > + // > + // Skip sub functions, this is not a multi function device > + // > + Func = PCI_MAX_FUNC; > + } > + } > + } > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumeratorSupport.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumeratorSupport.h > new file mode 100644 > index 0000000000..1d39c5171d > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciEnumeratorSupport.h > @@ -0,0 +1,480 @@ > +/** @file > + PCI enumeration support functions declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_ENUMERATOR_SUPPORT_H_ > +#define _EFI_PCI_ENUMERATOR_SUPPORT_H_ > + > +/** > + This routine is used to check whether the pci device is present. > + > + @param PciRootBridgeIo Pointer to instance of > EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL. > + @param Pci Output buffer for PCI device configuration space. > + @param Bus PCI bus NO. > + @param Device PCI device NO. > + @param Func PCI Func NO. > + > + @retval EFI_NOT_FOUND PCI device not present. > + @retval EFI_SUCCESS PCI device is found. > + > +**/ > +EFI_STATUS > +PciDevicePresent ( > + IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo, > + OUT PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ); > + > +/** > + Collect all the resource information under this root bridge. > + > + A database that records all the information about pci device subject to this > + root bridge will then be created. > + > + @param Bridge Parent bridge instance. > + @param StartBusNumber Bus number of beginning. > + > + @retval EFI_SUCCESS PCI device is found. > + @retval other Some error occurred when reading PCI bridge > information. > + > +**/ > +EFI_STATUS > +PciPciDeviceInfoCollector ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber > + ); > + > +/** > + Search required device and create PCI device instance. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI bus NO. > + @param Device PCI device NO. > + @param Func PCI func NO. > + @param PciDevice Output of searched PCI device instance. > + > + @retval EFI_SUCCESS Successfully created PCI device instance. > + @retval EFI_OUT_OF_RESOURCES Cannot get PCI device information. > + > +**/ > +EFI_STATUS > +PciSearchDevice ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func, > + OUT PCI_IO_DEVICE **PciDevice > + ); > + > +/** > + Create PCI device instance for PCI device. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI device Bus NO. > + @param Device PCI device Device NO. > + @param Func PCI device's func NO. > + > + @return Created PCI device instance. > + > +**/ > +PCI_IO_DEVICE * > +GatherDeviceInfo ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ); > + > +/** > + Create PCI device instance for PCI-PCI bridge. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI device Bus NO. > + @param Device PCI device Device NO. > + @param Func PCI device's func NO. > + > + @return Created PCI device instance. > + > +**/ > +PCI_IO_DEVICE * > +GatherPpbInfo ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ); > + > +/** > + Create PCI device instance for PCI Card bridge device. > + > + @param Bridge Parent bridge instance. > + @param Pci Input PCI device information block. > + @param Bus PCI device Bus NO. > + @param Device PCI device Device NO. > + @param Func PCI device's func NO. > + > + @return Created PCI device instance. > + > +**/ > +PCI_IO_DEVICE * > +GatherP2CInfo ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ); > + > +/** > + Create device path for pci device. > + > + @param ParentDevicePath Parent bridge's path. > + @param PciIoDevice Pci device instance. > + > + @return Device path protocol instance for specific pci device. > + > +**/ > +EFI_DEVICE_PATH_PROTOCOL * > +CreatePciDevicePath ( > + IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Check whether the PCI IOV VF bar is existed or not. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param Offset The offset. > + @param BarLengthValue The bar length value returned. > + @param OriginalBarValue The original bar value returned. > + > + @retval EFI_NOT_FOUND The bar doesn't exist. > + @retval EFI_SUCCESS The bar exist. > + > +**/ > +EFI_STATUS > +VfBarExisted ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + OUT UINT32 *BarLengthValue, > + OUT UINT32 *OriginalBarValue > + ); > + > +/** > + Check whether the bar is existed or not. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param Offset The offset. > + @param BarLengthValue The bar length value returned. > + @param OriginalBarValue The original bar value returned. > + > + @retval EFI_NOT_FOUND The bar doesn't exist. > + @retval EFI_SUCCESS The bar exist. > + > +**/ > +EFI_STATUS > +BarExisted ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + OUT UINT32 *BarLengthValue, > + OUT UINT32 *OriginalBarValue > + ); > + > +/** > + Test whether the device can support given attributes. > + > + @param PciIoDevice Pci device instance. > + @param Command Input command register value, and > + returned supported register value. > + @param BridgeControl Input bridge control value for PPB or P2C, and > + returned supported bridge control value. > + @param OldCommand Returned and stored old command register > offset. > + @param OldBridgeControl Returned and stored old Bridge control value > for PPB or P2C. > + > +**/ > +VOID > +PciTestSupportedAttribute ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN OUT UINT16 *Command, > + IN OUT UINT16 *BridgeControl, > + OUT UINT16 *OldCommand, > + OUT UINT16 *OldBridgeControl > + ); > + > +/** > + Set the supported or current attributes of a PCI device. > + > + @param PciIoDevice Structure pointer for PCI device. > + @param Command Command register value. > + @param BridgeControl Bridge control value for PPB or P2C. > + @param Option Make a choice of EFI_SET_SUPPORTS or > EFI_SET_ATTRIBUTES. > + > +**/ > +VOID > +PciSetDeviceAttribute ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT16 Command, > + IN UINT16 BridgeControl, > + IN UINTN Option > + ); > + > +/** > + Determine if the device can support Fast Back to Back attribute. > + > + @param PciIoDevice Pci device instance. > + @param StatusIndex Status register value. > + > + @retval EFI_SUCCESS This device support Fast Back to Back attribute. > + @retval EFI_UNSUPPORTED This device doesn't support Fast Back to Back > attribute. > + > +**/ > +EFI_STATUS > +GetFastBackToBackSupport ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 StatusIndex > + ); > + > +/** > + Determine the related attributes of all devices under a Root Bridge. > + > + @param PciIoDevice PCI device instance. > + > +**/ > +EFI_STATUS > +DetermineDeviceAttribute ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + This routine is used to update the bar information for those incompatible > PCI device. > + > + @param PciIoDevice Input Pci device instance. Output Pci device > instance with updated > + Bar information. > + > + @retval EFI_SUCCESS Successfully updated bar information. > + @retval EFI_UNSUPPORTED Given PCI device doesn't belong to > incompatible PCI device list. > + > +**/ > +EFI_STATUS > +UpdatePciInfo ( > + IN OUT PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + This routine will update the alignment with the new alignment. > + > + @param Alignment Input Old alignment. Output updated alignment. > + @param NewAlignment New alignment. > + > +**/ > +VOID > +SetNewAlign ( > + IN OUT UINT64 *Alignment, > + IN UINT64 NewAlignment > + ); > + > +/** > + Parse PCI bar information and fill them into PCI device instance. > + > + @param PciIoDevice Pci device instance. > + @param Offset Bar offset. > + @param BarIndex Bar index. > + > + @return Next bar offset. > + > +**/ > +UINTN > +PciParseBar ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + IN UINTN BarIndex > + ); > + > +/** > + Parse PCI IOV VF bar information and fill them into PCI device instance. > + > + @param PciIoDevice Pci device instance. > + @param Offset Bar offset. > + @param BarIndex Bar index. > + > + @return Next bar offset. > + > +**/ > +UINTN > +PciIovParseVfBar ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINTN Offset, > + IN UINTN BarIndex > + ); > + > +/** > + This routine is used to initialize the bar of a PCI device. > + > + @param PciIoDevice Pci device instance. > + > + @note It can be called typically when a device is going to be rejected. > + > +**/ > +VOID > +InitializePciDevice ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + This routine is used to initialize the bar of a PCI-PCI Bridge device. > + > + @param PciIoDevice PCI-PCI bridge device instance. > + > +**/ > +VOID > +InitializePpb ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + This routine is used to initialize the bar of a PCI Card Bridge device. > + > + @param PciIoDevice PCI Card bridge device. > + > +**/ > +VOID > +InitializeP2C ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Create and initialize general PCI I/O device instance for > + PCI device/bridge device/hotplug bridge device. > + > + @param Bridge Parent bridge instance. > + @param Pci Input Pci information block. > + @param Bus Device Bus NO. > + @param Device Device device NO. > + @param Func Device func NO. > + > + @return Instance of PCI device. NULL means no instance created. > + > +**/ > +PCI_IO_DEVICE * > +CreatePciIoDevice ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_TYPE00 *Pci, > + IN UINT8 Bus, > + IN UINT8 Device, > + IN UINT8 Func > + ); > + > +/** > + This routine is used to enumerate entire pci bus system > + in a given platform. > + > + It is only called on the second start on the same Root Bridge. > + > + @param Controller Parent bridge handler. > + > + @retval EFI_SUCCESS PCI enumeration finished successfully. > + @retval other Some error occurred when enumerating the pci bus > system. > + > +**/ > +EFI_STATUS > +PciEnumeratorLight ( > + IN EFI_HANDLE Controller > + ); > + > +/** > + Get bus range from PCI resource descriptor list. > + > + @param Descriptors A pointer to the address space descriptor. > + @param MinBus The min bus returned. > + @param MaxBus The max bus returned. > + @param BusRange The bus range returned. > + > + @retval EFI_SUCCESS Successfully got bus range. > + @retval EFI_NOT_FOUND Can not find the specific bus. > + > +**/ > +EFI_STATUS > +PciGetBusRange ( > + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, > + OUT UINT16 *MinBus, > + OUT UINT16 *MaxBus, > + OUT UINT16 *BusRange > + ); > + > +/** > + This routine can be used to start the root bridge. > + > + @param RootBridgeDev Pci device instance. > + > + @retval EFI_SUCCESS This device started. > + @retval other Failed to get PCI Root Bridge I/O protocol. > + > +**/ > +EFI_STATUS > +StartManagingRootBridge ( > + IN PCI_IO_DEVICE *RootBridgeDev > + ); > + > +/** > + This routine can be used to check whether a PCI device should be rejected > when light enumeration. > + > + @param PciIoDevice Pci device instance. > + > + @retval TRUE This device should be rejected. > + @retval FALSE This device shouldn't be rejected. > + > +**/ > +BOOLEAN > +IsPciDeviceRejected ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Reset all bus number from specific bridge. > + > + @param Bridge Parent specific bridge. > + @param StartBusNumber Start bus number. > + > +**/ > +VOID > +ResetAllPpbBusNumber ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber > + ); > + > +/** > + Dump the PPB padding resource information. > + > + @param PciIoDevice PCI IO instance. > + @param ResourceType The desired resource type to dump. > + PciBarTypeUnknown means to dump all types of resources. > +**/ > +VOID > +DumpPpbPaddingResource ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN PCI_BAR_TYPE ResourceType > + ); > + > +/** > + Dump the PCI BAR information. > + > + @param PciIoDevice PCI IO instance. > +**/ > +VOID > +DumpPciBars ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciHotPlugSupport.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciHotPlugSupport.c > new file mode 100644 > index 0000000000..d6d06b061a > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciHotPlugSupport.c > @@ -0,0 +1,484 @@ > +/** @file > + PCI Hot Plug support functions implementation for PCI Bus module.. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +EFI_PCI_HOT_PLUG_INIT_PROTOCOL *gPciHotPlugInit = NULL; > +EFI_HPC_LOCATION *gPciRootHpcPool = NULL; > +UINTN gPciRootHpcCount = 0; > +ROOT_HPC_DATA *gPciRootHpcData = NULL; > + > + > +/** > + Event notification function to set Hot Plug controller status. > + > + @param Event The event that invoke this function. > + @param Context The calling context, pointer to > ROOT_HPC_DATA. > + > +**/ > +VOID > +EFIAPI > +PciHPCInitialized ( > + IN EFI_EVENT Event, > + IN VOID *Context > + ) > +{ > + ROOT_HPC_DATA *HpcData; > + > + HpcData = (ROOT_HPC_DATA *) Context; > + HpcData->Initialized = TRUE; > +} > + > +/** > + Compare two device paths to check if they are exactly same. > + > + @param DevicePath1 A pointer to the first device path data structure. > + @param DevicePath2 A pointer to the second device path data structure. > + > + @retval TRUE They are same. > + @retval FALSE They are not same. > + > +**/ > +BOOLEAN > +EfiCompareDevicePath ( > + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath1, > + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath2 > + ) > +{ > + UINTN Size1; > + UINTN Size2; > + > + Size1 = GetDevicePathSize (DevicePath1); > + Size2 = GetDevicePathSize (DevicePath2); > + > + if (Size1 != Size2) { > + return FALSE; > + } > + > + if (CompareMem (DevicePath1, DevicePath2, Size1) != 0) { > + return FALSE; > + } > + > + return TRUE; > +} > + > +/** > + Check hot plug support and initialize root hot plug private data. > + > + If Hot Plug is supported by the platform, call PCI Hot Plug Init protocol > + to get PCI Hot Plug controller's information and constructor the root hot > plug > + private data structure. > + > + @retval EFI_SUCCESS They are same. > + @retval EFI_UNSUPPORTED No PCI Hot Plug controller on the platform. > + @retval EFI_OUT_OF_RESOURCES No memory to constructor root hot > plug private > + data structure. > + > +**/ > +EFI_STATUS > +InitializeHotPlugSupport ( > + VOID > + ) > +{ > + EFI_STATUS Status; > + EFI_HPC_LOCATION *HpcList; > + UINTN HpcCount; > + > + // > + // Locate the PciHotPlugInit Protocol > + // If it doesn't exist, that means there is no > + // hot plug controller supported on the platform > + // the PCI Bus driver is running on. HotPlug Support > + // is an optional feature, so absence of the protocol > + // won't incur the penalty. > + // > + Status = gBS->LocateProtocol ( > + &gEfiPciHotPlugInitProtocolGuid, > + NULL, > + (VOID **) &gPciHotPlugInit > + ); > + > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + Status = gPciHotPlugInit->GetRootHpcList ( > + gPciHotPlugInit, > + &HpcCount, > + &HpcList > + ); > + > + if (!EFI_ERROR (Status)) { > + > + gPciRootHpcPool = HpcList; > + gPciRootHpcCount = HpcCount; > + gPciRootHpcData = AllocateZeroPool (sizeof (ROOT_HPC_DATA) * > gPciRootHpcCount); > + if (gPciRootHpcData == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Test whether device path is for root pci hot plug bus. > + > + @param HpbDevicePath A pointer to device path data structure to be > tested. > + @param HpIndex If HpIndex is not NULL, return the index of root hot > + plug in global array when TRUE is returned. > + > + @retval TRUE The device path is for root pci hot plug bus. > + @retval FALSE The device path is not for root pci hot plug bus. > + > +**/ > +BOOLEAN > +IsRootPciHotPlugBus ( > + IN EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath, > + OUT UINTN *HpIndex OPTIONAL > + ) > +{ > + UINTN Index; > + > + for (Index = 0; Index < gPciRootHpcCount; Index++) { > + > + if (EfiCompareDevicePath (gPciRootHpcPool[Index].HpbDevicePath, > HpbDevicePath)) { > + > + if (HpIndex != NULL) { > + *HpIndex = Index; > + } > + > + return TRUE; > + } > + } > + > + return FALSE; > +} > + > +/** > + Test whether device path is for root pci hot plug controller. > + > + @param HpcDevicePath A pointer to device path data structure to be > tested. > + @param HpIndex If HpIndex is not NULL, return the index of root hot > + plug in global array when TRUE is returned. > + > + @retval TRUE The device path is for root pci hot plug controller. > + @retval FALSE The device path is not for root pci hot plug controller. > + > +**/ > +BOOLEAN > +IsRootPciHotPlugController ( > + IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath, > + OUT UINTN *HpIndex > + ) > +{ > + UINTN Index; > + > + for (Index = 0; Index < gPciRootHpcCount; Index++) { > + > + if (EfiCompareDevicePath (gPciRootHpcPool[Index].HpcDevicePath, > HpcDevicePath)) { > + > + if (HpIndex != NULL) { > + *HpIndex = Index; > + } > + > + return TRUE; > + } > + } > + > + return FALSE; > +} > + > +/** > + Creating event object for PCI Hot Plug controller. > + > + @param HpIndex Index of hot plug device in global array. > + @param Event The returned event that invoke this function. > + > + @return Status of create event. > + > +**/ > +EFI_STATUS > +CreateEventForHpc ( > + IN UINTN HpIndex, > + OUT EFI_EVENT *Event > + ) > +{ > + EFI_STATUS Status; > + > + Status = gBS->CreateEvent ( > + EVT_NOTIFY_SIGNAL, > + TPL_CALLBACK, > + PciHPCInitialized, > + gPciRootHpcData + HpIndex, > + &((gPciRootHpcData + HpIndex)->Event) > + ); > + > + if (!EFI_ERROR (Status)) { > + *Event = (gPciRootHpcData + HpIndex)->Event; > + } > + > + return Status; > +} > + > +/** > + Wait for all root PCI Hot Plug controller finished initializing. > + > + @param TimeoutInMicroSeconds Microseconds to wait for all root HPCs' > initialization. > + > + @retval EFI_SUCCESS All HPCs initialization finished. > + @retval EFI_TIMEOUT Not ALL HPCs initialization finished in > Microseconds. > + > +**/ > +EFI_STATUS > +AllRootHPCInitialized ( > + IN UINTN TimeoutInMicroSeconds > + ) > +{ > + UINT32 Delay; > + UINTN Index; > + > + Delay = (UINT32) ((TimeoutInMicroSeconds / 30) + 1); > + > + do { > + for (Index = 0; Index < gPciRootHpcCount; Index++) { > + > + if (gPciRootHpcData[Index].Found && > !gPciRootHpcData[Index].Initialized) { > + break; > + } > + } > + > + if (Index == gPciRootHpcCount) { > + return EFI_SUCCESS; > + } > + > + // > + // Stall for 30 microseconds.. > + // > + gBS->Stall (30); > + > + Delay--; > + > + } while (Delay > 0); > + > + return EFI_TIMEOUT; > +} > + > +/** > + Check whether PCI-PCI bridge has PCI Hot Plug capability register block. > + > + @param PciIoDevice A Pointer to the PCI-PCI bridge. > + > + @retval TRUE PCI device is HPC. > + @retval FALSE PCI device is not HPC. > + > +**/ > +BOOLEAN > +IsSHPC ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + > + EFI_STATUS Status; > + UINT8 Offset; > + > + if (PciIoDevice == NULL) { > + return FALSE; > + } > + > + Offset = 0; > + Status = LocateCapabilityRegBlock ( > + PciIoDevice, > + EFI_PCI_CAPABILITY_ID_SHPC, > + &Offset, > + NULL > + ); > + > + // > + // If the PCI-PCI bridge has the hot plug controller build-in, > + // then return TRUE; > + // > + if (!EFI_ERROR (Status)) { > + return TRUE; > + } > + > + return FALSE; > +} > + > +/** > + Check whether PciIoDevice supports PCIe hotplug. > + > + This is equivalent to the following condition: > + - the device is either a PCIe switch downstream port or a root port, > + - and the device has the SlotImplemented bit set in its PCIe capability > + register, > + - and the device has the HotPlugCapable bit set in its slot capabilities > + register. > + > + @param[in] PciIoDevice The device being checked. > + > + @retval TRUE PciIoDevice is a PCIe port that accepts a hot-plugged device. > + @retval FALSE Otherwise. > + > +**/ > +BOOLEAN > +SupportsPcieHotplug ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + UINT32 Offset; > + EFI_STATUS Status; > + PCI_REG_PCIE_CAPABILITY Capability; > + PCI_REG_PCIE_SLOT_CAPABILITY SlotCapability; > + > + if (PciIoDevice == NULL) { > + return FALSE; > + } > + > + // > + // Read the PCI Express Capabilities Register > + // > + if (!PciIoDevice->IsPciExp) { > + return FALSE; > + } > + Offset = PciIoDevice->PciExpressCapabilityOffset + > + OFFSET_OF (PCI_CAPABILITY_PCIEXP, Capability); > + Status = PciIoDevice->PciIo.Pci.Read ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint16, > + Offset, > + 1, > + &Capability > + ); > + if (EFI_ERROR (Status)) { > + return FALSE; > + } > + > + // > + // Check the contents of the register > + // > + switch (Capability.Bits.DevicePortType) { > + case PCIE_DEVICE_PORT_TYPE_ROOT_PORT: > + case PCIE_DEVICE_PORT_TYPE_DOWNSTREAM_PORT: > + break; > + default: > + return FALSE; > + } > + if (!Capability.Bits.SlotImplemented) { > + return FALSE; > + } > + > + // > + // Read the Slot Capabilities Register > + // > + Offset = PciIoDevice->PciExpressCapabilityOffset + > + OFFSET_OF (PCI_CAPABILITY_PCIEXP, SlotCapability); > + Status = PciIoDevice->PciIo.Pci.Read ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint32, > + Offset, > + 1, > + &SlotCapability > + ); > + if (EFI_ERROR (Status)) { > + return FALSE; > + } > + > + // > + // Check the contents of the register > + // > + if (SlotCapability.Bits.HotPlugCapable) { > + return TRUE; > + } > + return FALSE; > +} > + > +/** > + Get resource padding if the specified PCI bridge is a hot plug bus. > + > + @param PciIoDevice PCI bridge instance. > + > +**/ > +VOID > +GetResourcePaddingForHpb ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_STATUS Status; > + EFI_HPC_STATE State; > + UINT64 PciAddress; > + EFI_HPC_PADDING_ATTRIBUTES Attributes; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; > + > + if (IsPciHotPlugBus (PciIoDevice)) { > + // > + // If PCI-PCI bridge device is PCI Hot Plug bus. > + // > + PciAddress = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice- > >DeviceNumber, PciIoDevice->FunctionNumber, 0); > + Status = gPciHotPlugInit->GetResourcePadding ( > + gPciHotPlugInit, > + PciIoDevice->DevicePath, > + PciAddress, > + &State, > + (VOID **) &Descriptors, > + &Attributes > + ); > + > + if (EFI_ERROR (Status)) { > + return; > + } > + > + if ((State & EFI_HPC_STATE_ENABLED) != 0 && (State & > EFI_HPC_STATE_INITIALIZED) != 0) { > + PciIoDevice->ResourcePaddingDescriptors = Descriptors; > + PciIoDevice->PaddingAttributes = Attributes; > + } > + > + return; > + } > +} > + > +/** > + Test whether PCI device is hot plug bus. > + > + @param PciIoDevice PCI device instance. > + > + @retval TRUE PCI device is a hot plug bus. > + @retval FALSE PCI device is not a hot plug bus. > + > +**/ > +BOOLEAN > +IsPciHotPlugBus ( > + PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + if (IsSHPC (PciIoDevice)) { > + // > + // If the PPB has the hot plug controller build-in, > + // then return TRUE; > + // > + return TRUE; > + } > + > + if (SupportsPcieHotplug (PciIoDevice)) { > + // > + // If the PPB is a PCIe root complex port or a switch downstream port, and > + // implements a hot-plug capable slot, then also return TRUE. > + // > + return TRUE; > + } > + > + // > + // Otherwise, see if it is a Root HPC > + // > + if(IsRootPciHotPlugBus (PciIoDevice->DevicePath, NULL)) { > + return TRUE; > + } > + > + return FALSE; > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciHotPlugSupport.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciHotPlugSupport.h > new file mode 100644 > index 0000000000..0b69237a3d > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciHotPlugSupport.h > @@ -0,0 +1,205 @@ > +/** @file > + PCI Hot Plug support functions declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_HOT_PLUG_SUPPORT_H_ > +#define _EFI_PCI_HOT_PLUG_SUPPORT_H_ > + > +// > +// stall 1 second, its unit is 100ns > +// > +#define STALL_1_SECOND 1000000 > + > +// > +// PCI Hot Plug controller private data > +// > +typedef struct { > + EFI_EVENT Event; > + BOOLEAN Found; > + BOOLEAN Initialized; > + VOID *Padding; > +} ROOT_HPC_DATA; > + > +// > +// Reference of some global variables > +// > +extern EFI_PCI_HOT_PLUG_INIT_PROTOCOL *gPciHotPlugInit; > +extern EFI_HPC_LOCATION *gPciRootHpcPool; > +extern ROOT_HPC_DATA *gPciRootHpcData; > + > +/** > + Event notification function to set Hot Plug controller status. > + > + @param Event The event that invoke this function. > + @param Context The calling context, pointer to > ROOT_HPC_DATA. > + > +**/ > +VOID > +EFIAPI > +PciHPCInitialized ( > + IN EFI_EVENT Event, > + IN VOID *Context > + ); > + > +/** > + Compare two device paths to check if they are exactly same. > + > + @param DevicePath1 A pointer to the first device path data structure. > + @param DevicePath2 A pointer to the second device path data structure. > + > + @retval TRUE They are same. > + @retval FALSE They are not same. > + > +**/ > +BOOLEAN > +EfiCompareDevicePath ( > + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath1, > + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath2 > + ); > + > +/** > + Check hot plug support and initialize root hot plug private data. > + > + If Hot Plug is supported by the platform, call PCI Hot Plug Init protocol > + to get PCI Hot Plug controller's information and constructor the root hot > plug > + private data structure. > + > + @retval EFI_SUCCESS They are same. > + @retval EFI_UNSUPPORTED No PCI Hot Plug controller on the platform. > + @retval EFI_OUT_OF_RESOURCES No memory to constructor root hot > plug private > + data structure. > + > +**/ > +EFI_STATUS > +InitializeHotPlugSupport ( > + VOID > + ); > + > +/** > + Test whether PCI device is hot plug bus. > + > + @param PciIoDevice PCI device instance. > + > + @retval TRUE PCI device is a hot plug bus. > + @retval FALSE PCI device is not a hot plug bus. > + > +**/ > +BOOLEAN > +IsPciHotPlugBus ( > + PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Test whether device path is for root pci hot plug bus. > + > + @param HpbDevicePath A pointer to device path data structure to be > tested. > + @param HpIndex If HpIndex is not NULL, return the index of root hot > + plug in global array when TRUE is returned. > + > + @retval TRUE The device path is for root pci hot plug bus. > + @retval FALSE The device path is not for root pci hot plug bus. > + > +**/ > +BOOLEAN > +IsRootPciHotPlugBus ( > + IN EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath, > + OUT UINTN *HpIndex OPTIONAL > + ); > + > +/** > + Test whether device path is for root pci hot plug controller. > + > + @param HpcDevicePath A pointer to device path data structure to be > tested. > + @param HpIndex If HpIndex is not NULL, return the index of root hot > + plug in global array when TRUE is returned. > + > + @retval TRUE The device path is for root pci hot plug controller. > + @retval FALSE The device path is not for root pci hot plug controller. > + > +**/ > +BOOLEAN > +IsRootPciHotPlugController ( > + IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath, > + OUT UINTN *HpIndex > + ); > + > +/** > + Creating event object for PCI Hot Plug controller. > + > + @param HpIndex Index of hot plug device in global array. > + @param Event The returned event that invoke this function. > + > + @return Status of create event. > + > +**/ > +EFI_STATUS > +CreateEventForHpc ( > + IN UINTN HpIndex, > + OUT EFI_EVENT *Event > + ); > + > +/** > + Wait for all root PCI Hot Plug controller finished initializing. > + > + @param TimeoutInMicroSeconds Microseconds to wait for all root HPCs' > initialization. > + > + @retval EFI_SUCCESS All HPCs initialization finished. > + @retval EFI_TIMEOUT Not ALL HPCs initialization finished in > Microseconds. > + > +**/ > +EFI_STATUS > +AllRootHPCInitialized ( > + IN UINTN TimeoutInMicroSeconds > + ); > + > +/** > + Check whether PCI-PCI bridge has PCI Hot Plug capability register block. > + > + @param PciIoDevice A Pointer to the PCI-PCI bridge. > + > + @retval TRUE PCI device is HPC. > + @retval FALSE PCI device is not HPC. > + > +**/ > +BOOLEAN > +IsSHPC ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Check whether PciIoDevice supports PCIe hotplug. > + > + This is equivalent to the following condition: > + - the device is either a PCIe switch downstream port or a root port, > + - and the device has the SlotImplemented bit set in its PCIe capability > + register, > + - and the device has the HotPlugCapable bit set in its slot capabilities > + register. > + > + @param[in] PciIoDevice The device being checked. > + > + @retval TRUE PciIoDevice is a PCIe port that accepts a hot-plugged device. > + @retval FALSE Otherwise. > + > +**/ > +BOOLEAN > +SupportsPcieHotplug ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Get resource padding if the specified PCI bridge is a hot plug bus. > + > + @param PciIoDevice PCI bridge instance. > + > +**/ > +VOID > +GetResourcePaddingForHpb ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciIo.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciIo.c > new file mode 100644 > index 0000000000..c656056315 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciIo.c > @@ -0,0 +1,2087 @@ > +/** @file > + EFI PCI IO protocol functions implementation for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +extern EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; > + > +// > +// Pci Io Protocol Interface > +// > +EFI_PCI_IO_PROTOCOL mPciIoInterface = { > + PciIoPollMem, > + PciIoPollIo, > + { > + PciIoMemRead, > + PciIoMemWrite > + }, > + { > + PciIoIoRead, > + PciIoIoWrite > + }, > + { > + PciIoConfigRead, > + PciIoConfigWrite > + }, > + PciIoCopyMem, > + PciIoMap, > + PciIoUnmap, > + PciIoAllocateBuffer, > + PciIoFreeBuffer, > + PciIoFlush, > + PciIoGetLocation, > + PciIoAttributes, > + PciIoGetBarAttributes, > + PciIoSetBarAttributes, > + 0, > + NULL > +}; > + > +/** > + Initializes a PCI I/O Instance. > + > + @param PciIoDevice Pci device instance. > + > +**/ > +VOID > +InitializePciIoInstance ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + CopyMem (&PciIoDevice->PciIo, &mPciIoInterface, sizeof > (EFI_PCI_IO_PROTOCOL)); > +} > + > +/** > + Verifies access to a PCI Base Address Register (BAR). > + > + @param PciIoDevice Pci device instance. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Type Operation type could be memory or I/O. > + @param Width Signifies the width of the memory or I/O operations. > + @param Count The number of memory or I/O operations to perform. > + @param Offset The offset within the PCI configuration space for the PCI > controller. > + > + @retval EFI_INVALID_PARAMETER Invalid Width/BarIndex or Bar type. > + @retval EFI_SUCCESS Successfully verified. > + > +**/ > +EFI_STATUS > +PciIoVerifyBarAccess ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 BarIndex, > + IN PCI_BAR_TYPE Type, > + IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN IN UINTN Count, > + IN UINT64 *Offset > + ) > +{ > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (BarIndex == EFI_PCI_IO_PASS_THROUGH_BAR) { > + return EFI_SUCCESS; > + } > + > + // > + // BarIndex 0-5 is legal > + // > + if (BarIndex >= PCI_MAX_BAR) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (!CheckBarType (PciIoDevice, BarIndex, Type)) { > + return EFI_INVALID_PARAMETER; > + } > + > + // > + // If Width is EfiPciIoWidthFifoUintX then convert to EfiPciIoWidthUintX > + // If Width is EfiPciIoWidthFillUintX then convert to EfiPciIoWidthUintX > + // > + if (Width >= EfiPciIoWidthFifoUint8 && Width <= EfiPciIoWidthFifoUint64) { > + Count = 1; > + } > + > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & 0x03); > + > + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= PciIoDevice- > >PciBar[BarIndex].Length) { > + return EFI_INVALID_PARAMETER; > + } > + > + *Offset = *Offset + PciIoDevice->PciBar[BarIndex].BaseAddress; > + > + return EFI_SUCCESS; > +} > + > +/** > + Verifies access to a PCI Configuration Header. > + > + @param PciIoDevice Pci device instance. > + @param Width Signifies the width of the memory or I/O operations. > + @param Count The number of memory or I/O operations to perform. > + @param Offset The offset within the PCI configuration space for the PCI > controller. > + > + @retval EFI_INVALID_PARAMETER Invalid Width > + @retval EFI_UNSUPPORTED Offset overflowed. > + @retval EFI_SUCCESS Successfully verified. > + > +**/ > +EFI_STATUS > +PciIoVerifyConfigAccess ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINTN Count, > + IN UINT64 *Offset > + ) > +{ > + UINT64 ExtendOffset; > + > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + // > + // If Width is EfiPciIoWidthFillUintX then convert to EfiPciIoWidthUintX > + // > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & 0x03); > + > + if (PciIoDevice->IsPciExp) { > + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= > PCI_EXP_MAX_CONFIG_OFFSET) { > + return EFI_UNSUPPORTED; > + } > + > + ExtendOffset = LShiftU64 (*Offset, 32); > + *Offset = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice- > >DeviceNumber, PciIoDevice->FunctionNumber, 0); > + *Offset = (*Offset) | ExtendOffset; > + > + } else { > + if ((*Offset + Count * (UINTN)(1 << Width)) - 1 >= > PCI_MAX_CONFIG_OFFSET) { > + return EFI_UNSUPPORTED; > + } > + > + *Offset = EFI_PCI_ADDRESS (PciIoDevice->BusNumber, PciIoDevice- > >DeviceNumber, PciIoDevice->FunctionNumber, *Offset); > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Reads from the memory space of a PCI controller. Returns either when the > polling exit criteria is > + satisfied or after a defined duration. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory operation to perform. > + @param Offset The offset within the selected BAR to start the > memory operation. > + @param Mask Mask used for the polling criteria. > + @param Value The comparison value used for the polling exit > criteria. > + @param Delay The number of 100 ns units to poll. > + @param Result Pointer to the last value read from the memory > location. > + > + @retval EFI_SUCCESS The last data returned from the access matched > the poll exit criteria. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this > PCI controller. > + @retval EFI_TIMEOUT Delay expired before a match occurred. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoPollMem ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINT64 Mask, > + IN UINT64 Value, > + IN UINT64 Delay, > + OUT UINT64 *Result > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, > Width, 1, &Offset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + if (Width > EfiPciIoWidthUint64) { > + return EFI_INVALID_PARAMETER; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + if ((*Result & Mask) == Value || Delay == 0) { > + return EFI_SUCCESS; > + } > + do { > + // > + // Stall 10 us = 100 * 100ns > + // > + gBS->Stall (10); > + > + Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + if ((*Result & Mask) == Value) { > + return EFI_SUCCESS; > + } > + if (Delay <= 100) { > + return EFI_TIMEOUT; > + } > + Delay -= 100; > + } while (TRUE); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->PollMem ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Offset, > + Mask, > + Value, > + Delay, > + Result > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Reads from the memory space of a PCI controller. Returns either when the > polling exit criteria is > + satisfied or after a defined duration. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory operation to perform. > + @param Offset The offset within the selected BAR to start the > memory operation. > + @param Mask Mask used for the polling criteria. > + @param Value The comparison value used for the polling exit > criteria. > + @param Delay The number of 100 ns units to poll. > + @param Result Pointer to the last value read from the memory > location. > + > + @retval EFI_SUCCESS The last data returned from the access matched > the poll exit criteria. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this > PCI controller. > + @retval EFI_TIMEOUT Delay expired before a match occurred. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoPollIo ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINT64 Mask, > + IN UINT64 Value, > + IN UINT64 Delay, > + OUT UINT64 *Result > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Width > EfiPciIoWidthUint64) { > + return EFI_INVALID_PARAMETER; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, > 1, &Offset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + if ((*Result & Mask) == Value || Delay == 0) { > + return EFI_SUCCESS; > + } > + do { > + // > + // Stall 10 us = 100 * 100ns > + // > + gBS->Stall (10); > + > + Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + if ((*Result & Mask) == Value) { > + return EFI_SUCCESS; > + } > + if (Delay <= 100) { > + return EFI_TIMEOUT; > + } > + Delay -= 100; > + } while (TRUE); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->PollIo ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Offset, > + Mask, > + Value, > + Delay, > + Result > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoMemRead ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (Buffer == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, > Width, Count, &Offset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Count *= (UINTN)(1 << (Width & 0x03)); > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); > + } > + } > + > + > + Status = PciIoDevice->PciRootBridgeIo->Mem.Read ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Offset, > + Count, > + Buffer > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoMemWrite ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (Buffer == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeMem, > Width, Count, &Offset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Count *= (UINTN)(1 << (Width & 0x03)); > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->Mem.Write ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Offset, > + Count, > + Buffer > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoIoRead ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (Buffer == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, > Count, &Offset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Count *= (UINTN)(1 << (Width & 0x03)); > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->Io.Read ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Offset, > + Count, > + Buffer > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoIoWrite ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (Buffer == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, BarIndex, PciBarTypeIo, Width, > Count, &Offset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Count *= (UINTN)(1 << (Width & 0x03)); > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->Io.Write ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Offset, > + Count, > + Buffer > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Enable a PCI driver to access PCI controller registers in PCI configuration > space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory operations. > + @param Offset The offset within the PCI configuration space for > the PCI controller. > + @param Count The number of PCI configuration operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI configuration header of the PCI controller. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoConfigRead ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT32 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + UINT64 Address; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + Address = Offset; > + Status = PciIoVerifyConfigAccess (PciIoDevice, Width, Count, &Address); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Count *= (UINTN)(1 << (Width & 0x03)); > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->Pci.Read ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Address, > + Count, > + Buffer > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Enable a PCI driver to access PCI controller registers in PCI configuration > space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory operations. > + @param Offset The offset within the PCI configuration space for > the PCI controller. > + @param Count The number of PCI configuration operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI configuration header of the PCI controller. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoConfigWrite ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT32 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + UINT64 Address; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + Address = Offset; > + Status = PciIoVerifyConfigAccess (PciIoDevice, Width, Count, &Address); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { > + Count *= (UINTN)(1 << (Width & 0x03)); > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->Pci.Write ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + Address, > + Count, > + Buffer > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Enables a PCI driver to copy one region of PCI memory space to another > region of PCI > + memory space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory operations. > + @param DestBarIndex The BAR index in the standard PCI > Configuration header to use as the > + base address for the memory operation to perform. > + @param DestOffset The destination offset within the BAR specified > by DestBarIndex to > + start the memory writes for the copy operation. > + @param SrcBarIndex The BAR index in the standard PCI Configuration > header to use as the > + base address for the memory operation to perform. > + @param SrcOffset The source offset within the BAR specified by > SrcBarIndex to start > + the memory reads for the copy operation. > + @param Count The number of memory operations to perform. > Bytes moved is Width > + size * Count, starting at DestOffset and SrcOffset. > + > + @retval EFI_SUCCESS The data was copied from one memory region > to another memory region. > + @retval EFI_UNSUPPORTED DestBarIndex not valid for this PCI > controller. > + @retval EFI_UNSUPPORTED SrcBarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by DestOffset, > Width, and Count > + is not valid for the PCI BAR specified by DestBarIndex. > + @retval EFI_UNSUPPORTED The address range specified by SrcOffset, > Width, and Count is > + not valid for the PCI BAR specified by SrcBarIndex. > + @retval EFI_INVALID_PARAMETER Width is invalid. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoCopyMem ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 DestBarIndex, > + IN UINT64 DestOffset, > + IN UINT8 SrcBarIndex, > + IN UINT64 SrcOffset, > + IN UINTN Count > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Width >= EfiPciIoWidthMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (Width == EfiPciIoWidthFifoUint8 || > + Width == EfiPciIoWidthFifoUint16 || > + Width == EfiPciIoWidthFifoUint32 || > + Width == EfiPciIoWidthFifoUint64 || > + Width == EfiPciIoWidthFillUint8 || > + Width == EfiPciIoWidthFillUint16 || > + Width == EfiPciIoWidthFillUint32 || > + Width == EfiPciIoWidthFillUint64) { > + return EFI_INVALID_PARAMETER; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, DestBarIndex, > PciBarTypeMem, Width, Count, &DestOffset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + Status = PciIoVerifyBarAccess (PciIoDevice, SrcBarIndex, PciBarTypeMem, > Width, Count, &SrcOffset); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // If request is not aligned, then convert request to EfiPciIoWithXXXUint8 > + // > + if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { > + if ((SrcOffset & ((1 << (Width & 0x03)) - 1)) != 0 || (DestOffset & ((1 << > (Width & 0x03)) - 1)) != 0) { > + Count *= (UINTN)(1 << (Width & 0x03)); > + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); > + } > + } > + > + Status = PciIoDevice->PciRootBridgeIo->CopyMem ( > + PciIoDevice->PciRootBridgeIo, > + (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) > Width, > + DestOffset, > + SrcOffset, > + Count > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Provides the PCI controller-specific addresses needed to access system > memory. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Operation Indicates if the bus master is going to read or > write to system memory. > + @param HostAddress The system memory address to map to the PCI > controller. > + @param NumberOfBytes On input the number of bytes to map. On > output the number of bytes > + that were mapped. > + @param DeviceAddress The resulting map address for the bus master > PCI controller to use to > + access the hosts HostAddress. > + @param Mapping A resulting value to pass to Unmap(). > + > + @retval EFI_SUCCESS The range was mapped for the returned > NumberOfBytes. > + @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a > common buffer. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_DEVICE_ERROR The system hardware could not map the > requested address. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoMap ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, > + IN VOID *HostAddress, > + IN OUT UINTN *NumberOfBytes, > + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, > + OUT VOID **Mapping > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + UINT64 IoMmuAttribute; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION > RootBridgeIoOperation; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((UINT32)Operation >= EfiPciIoOperationMaximum) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (HostAddress == NULL || NumberOfBytes == NULL || DeviceAddress == > NULL || Mapping == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + RootBridgeIoOperation = > (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION)Operation; > + if ((PciIoDevice->Attributes & > EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE) != 0) { > + RootBridgeIoOperation = > (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION)(Operation + > EfiPciOperationBusMasterRead64); > + } > + > + Status = PciIoDevice->PciRootBridgeIo->Map ( > + PciIoDevice->PciRootBridgeIo, > + RootBridgeIoOperation, > + HostAddress, > + NumberOfBytes, > + DeviceAddress, > + Mapping > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + if (mIoMmuProtocol != NULL) { > + if (!EFI_ERROR (Status)) { > + switch (Operation) { > + case EfiPciIoOperationBusMasterRead: > + IoMmuAttribute = EDKII_IOMMU_ACCESS_READ; > + break; > + case EfiPciIoOperationBusMasterWrite: > + IoMmuAttribute = EDKII_IOMMU_ACCESS_WRITE; > + break; > + case EfiPciIoOperationBusMasterCommonBuffer: > + IoMmuAttribute = EDKII_IOMMU_ACCESS_READ | > EDKII_IOMMU_ACCESS_WRITE; > + break; > + default: > + ASSERT(FALSE); > + return EFI_INVALID_PARAMETER; > + } > + mIoMmuProtocol->SetAttribute ( > + mIoMmuProtocol, > + PciIoDevice->Handle, > + *Mapping, > + IoMmuAttribute > + ); > + } > + } > + > + return Status; > +} > + > +/** > + Completes the Map() operation and releases any corresponding > resources. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Mapping The mapping value returned from Map(). > + > + @retval EFI_SUCCESS The range was unmapped. > + @retval EFI_DEVICE_ERROR The data was not committed to the target > system memory. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoUnmap ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN VOID *Mapping > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if (mIoMmuProtocol != NULL) { > + mIoMmuProtocol->SetAttribute ( > + mIoMmuProtocol, > + PciIoDevice->Handle, > + Mapping, > + 0 > + ); > + } > + > + Status = PciIoDevice->PciRootBridgeIo->Unmap ( > + PciIoDevice->PciRootBridgeIo, > + Mapping > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Allocates pages that are suitable for an > EfiPciIoOperationBusMasterCommonBuffer > + or EfiPciOperationBusMasterCommonBuffer64 mapping. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Type This parameter is not used and must be ignored. > + @param MemoryType The type of memory to allocate, > EfiBootServicesData or > + EfiRuntimeServicesData. > + @param Pages The number of pages to allocate. > + @param HostAddress A pointer to store the base system memory > address of the > + allocated range. > + @param Attributes The requested bit mask of attributes for the > allocated range. > + > + @retval EFI_SUCCESS The requested memory pages were allocated. > + @retval EFI_UNSUPPORTED Attributes is unsupported. The only legal > attribute bits are > + MEMORY_WRITE_COMBINE, MEMORY_CACHED and > DUAL_ADDRESS_CYCLE. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + @retval EFI_OUT_OF_RESOURCES The memory pages could not be > allocated. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoAllocateBuffer ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_ALLOCATE_TYPE Type, > + IN EFI_MEMORY_TYPE MemoryType, > + IN UINTN Pages, > + OUT VOID **HostAddress, > + IN UINT64 Attributes > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + if ((Attributes & > + (~(EFI_PCI_ATTRIBUTE_MEMORY_WRITE_COMBINE | > EFI_PCI_ATTRIBUTE_MEMORY_CACHED))) != 0){ > + return EFI_UNSUPPORTED; > + } > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if ((PciIoDevice->Attributes & > EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE) != 0) { > + Attributes |= EFI_PCI_ATTRIBUTE_DUAL_ADDRESS_CYCLE; > + } > + > + Status = PciIoDevice->PciRootBridgeIo->AllocateBuffer ( > + PciIoDevice->PciRootBridgeIo, > + Type, > + MemoryType, > + Pages, > + HostAddress, > + Attributes > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Frees memory that was allocated with AllocateBuffer(). > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Pages The number of pages to free. > + @param HostAddress The base system memory address of the > allocated range. > + > + @retval EFI_SUCCESS The requested memory pages were freed. > + @retval EFI_INVALID_PARAMETER The memory range specified by > HostAddress and Pages > + was not allocated with AllocateBuffer(). > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoFreeBuffer ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN UINTN Pages, > + IN VOID *HostAddress > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + Status = PciIoDevice->PciRootBridgeIo->FreeBuffer ( > + PciIoDevice->PciRootBridgeIo, > + Pages, > + HostAddress > + ); > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Flushes all PCI posted write transactions from a PCI host bridge to system > memory. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + > + @retval EFI_SUCCESS The PCI posted write transactions were flushed > from the PCI host > + bridge to system memory. > + @retval EFI_DEVICE_ERROR The PCI posted write transactions were not > flushed from the PCI > + host bridge due to a hardware error. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoFlush ( > + IN EFI_PCI_IO_PROTOCOL *This > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + Status = PciIoDevice->PciRootBridgeIo->Flush ( > + PciIoDevice->PciRootBridgeIo > + ); > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Retrieves this PCI controller's current PCI bus number, device number, and > function number. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param SegmentNumber The PCI controller's current PCI segment > number. > + @param BusNumber The PCI controller's current PCI bus number. > + @param DeviceNumber The PCI controller's current PCI device > number. > + @param FunctionNumber The PCI controller's current PCI function > number. > + > + @retval EFI_SUCCESS The PCI controller location was returned. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoGetLocation ( > + IN EFI_PCI_IO_PROTOCOL *This, > + OUT UINTN *Segment, > + OUT UINTN *Bus, > + OUT UINTN *Device, > + OUT UINTN *Function > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if (Segment == NULL || Bus == NULL || Device == NULL || Function == > NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + *Segment = PciIoDevice->PciRootBridgeIo->SegmentNumber; > + *Bus = PciIoDevice->BusNumber; > + *Device = PciIoDevice->DeviceNumber; > + *Function = PciIoDevice->FunctionNumber; > + > + return EFI_SUCCESS; > +} > + > +/** > + Check BAR type for PCI resource. > + > + @param PciIoDevice PCI device instance. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param BarType Memory or I/O. > + > + @retval TRUE Pci device's bar type is same with input BarType. > + @retval TRUE Pci device's bar type is not same with input BarType. > + > +**/ > +BOOLEAN > +CheckBarType ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 BarIndex, > + IN PCI_BAR_TYPE BarType > + ) > +{ > + switch (BarType) { > + > + case PciBarTypeMem: > + > + if (PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeMem32 && > + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypePMem32 && > + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypePMem64 && > + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeMem64 ) { > + return FALSE; > + } > + > + return TRUE; > + > + case PciBarTypeIo: > + if (PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeIo32 && > + PciIoDevice->PciBar[BarIndex].BarType != PciBarTypeIo16){ > + return FALSE; > + } > + > + return TRUE; > + > + default: > + break; > + } > + > + return FALSE; > +} > + > +/** > + Set/Disable new attributes to a Root Bridge. > + > + @param PciIoDevice Pci device instance. > + @param Attributes New attribute want to be set. > + @param Operation Set or Disable. > + > + @retval EFI_UNSUPPORTED If root bridge does not support change > attribute. > + @retval EFI_SUCCESS Successfully set new attributes. > + > +**/ > +EFI_STATUS > +ModifyRootBridgeAttributes ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT64 Attributes, > + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation > + ) > +{ > + UINT64 PciRootBridgeSupports; > + UINT64 PciRootBridgeAttributes; > + UINT64 NewPciRootBridgeAttributes; > + EFI_STATUS Status; > + > + // > + // Get the current attributes of this PCI device's PCI Root Bridge > + // > + Status = PciIoDevice->PciRootBridgeIo->GetAttributes ( > + PciIoDevice->PciRootBridgeIo, > + &PciRootBridgeSupports, > + &PciRootBridgeAttributes > + ); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // Mask off attributes not supported by PCI root bridge. > + // > + Attributes &= ~(UINT64)(EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE | > + EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM | > + EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE); > + > + // > + // Record the new attribute of the Root Bridge > + // > + if (Operation == EfiPciIoAttributeOperationEnable) { > + NewPciRootBridgeAttributes = PciRootBridgeAttributes | Attributes; > + } else { > + NewPciRootBridgeAttributes = PciRootBridgeAttributes & (~Attributes); > + } > + > + // > + // Call the PCI Root Bridge to attempt to modify the attributes > + // > + if ((NewPciRootBridgeAttributes ^ PciRootBridgeAttributes) != 0) { > + > + Status = PciIoDevice->PciRootBridgeIo->SetAttributes ( > + PciIoDevice->PciRootBridgeIo, > + NewPciRootBridgeAttributes, > + NULL, > + NULL > + ); > + if (EFI_ERROR (Status)) { > + // > + // The PCI Root Bridge could not modify the attributes, so return the > error. > + // > + return EFI_UNSUPPORTED; > + } > + } > + > + // > + // Also update the attributes for this Root Bridge structure > + // > + PciIoDevice->Attributes = NewPciRootBridgeAttributes; > + > + return EFI_SUCCESS; > +} > + > +/** > + Check whether this device can be enable/disable to snoop. > + > + @param PciIoDevice Pci device instance. > + @param Operation Enable/Disable. > + > + @retval EFI_UNSUPPORTED Pci device is not GFX device or not support > snoop. > + @retval EFI_SUCCESS Snoop can be supported. > + > +**/ > +EFI_STATUS > +SupportPaletteSnoopAttributes ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation > + ) > +{ > + PCI_IO_DEVICE *Temp; > + UINT16 VGACommand; > + > + // > + // Snoop attribute can be only modified by GFX > + // > + if (!IS_PCI_GFX (&PciIoDevice->Pci)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // Get the boot VGA on the same Host Bridge > + // > + Temp = LocateVgaDeviceOnHostBridge (PciIoDevice->PciRootBridgeIo- > >ParentHandle); > + > + if (Temp == NULL) { > + // > + // If there is no VGA device on the segment, set > + // this graphics card to decode the palette range > + // > + return EFI_SUCCESS; > + } > + > + // > + // Check these two agents are on the same path > + // > + if (!PciDevicesOnTheSamePath (Temp, PciIoDevice)) { > + // > + // they are not on the same path, so snoop can be enabled or disabled > + // > + return EFI_SUCCESS; > + } > + // > + // Check if they are on the same bus > + // > + if (Temp->Parent == PciIoDevice->Parent) { > + > + PCI_READ_COMMAND_REGISTER (Temp, &VGACommand); > + > + // > + // If they are on the same bus, either one can > + // be set to snoop, the other set to decode > + // > + if ((VGACommand & EFI_PCI_COMMAND_VGA_PALETTE_SNOOP) != 0) { > + // > + // VGA has set to snoop, so GFX can be only set to disable snoop > + // > + if (Operation == EfiPciIoAttributeOperationEnable) { > + return EFI_UNSUPPORTED; > + } > + } else { > + // > + // VGA has disabled to snoop, so GFX can be only enabled > + // > + if (Operation == EfiPciIoAttributeOperationDisable) { > + return EFI_UNSUPPORTED; > + } > + } > + > + return EFI_SUCCESS; > + } > + > + // > + // If they are on the same path but on the different bus > + // The first agent is set to snoop, the second one set to > + // decode > + // > + > + if (Temp->BusNumber < PciIoDevice->BusNumber) { > + // > + // GFX should be set to decode > + // > + if (Operation == EfiPciIoAttributeOperationDisable) { > + PCI_ENABLE_COMMAND_REGISTER (Temp, > EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); > + Temp->Attributes |= EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; > + } else { > + return EFI_UNSUPPORTED; > + } > + > + } else { > + // > + // GFX should be set to snoop > + // > + if (Operation == EfiPciIoAttributeOperationEnable) { > + PCI_DISABLE_COMMAND_REGISTER (Temp, > EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); > + Temp->Attributes &= > (~(UINT64)EFI_PCI_COMMAND_VGA_PALETTE_SNOOP); > + } else { > + return EFI_UNSUPPORTED; > + } > + > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Performs an operation on the attributes that this PCI controller supports. > The operations include > + getting the set of supported attributes, retrieving the current attributes, > setting the current > + attributes, enabling attributes, and disabling attributes. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Operation The operation to perform on the attributes for > this PCI controller. > + @param Attributes The mask of attributes that are used for Set, > Enable, and Disable > + operations. > + @param Result A pointer to the result mask of attributes that are > returned for the Get > + and Supported operations. > + > + @retval EFI_SUCCESS The operation on the PCI controller's attributes > was completed. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + @retval EFI_UNSUPPORTED one or more of the bits set in > + Attributes are not supported by this PCI controller or one of > + its parent bridges when Operation is Set, Enable or Disable. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoAttributes ( > + IN EFI_PCI_IO_PROTOCOL * This, > + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, > + IN UINT64 Attributes, > + OUT UINT64 *Result OPTIONAL > + ) > +{ > + EFI_STATUS Status; > + > + PCI_IO_DEVICE *PciIoDevice; > + PCI_IO_DEVICE *UpStreamBridge; > + PCI_IO_DEVICE *Temp; > + > + UINT64 Supports; > + UINT64 UpStreamAttributes; > + UINT16 BridgeControl; > + UINT16 Command; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + switch (Operation) { > + case EfiPciIoAttributeOperationGet: > + if (Result == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + *Result = PciIoDevice->Attributes; > + return EFI_SUCCESS; > + > + case EfiPciIoAttributeOperationSupported: > + if (Result == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + *Result = PciIoDevice->Supports; > + return EFI_SUCCESS; > + > + case EfiPciIoAttributeOperationSet: > + Status = PciIoDevice->PciIo.Attributes ( > + &(PciIoDevice->PciIo), > + EfiPciIoAttributeOperationEnable, > + Attributes, > + NULL > + ); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + Status = PciIoDevice->PciIo.Attributes ( > + &(PciIoDevice->PciIo), > + EfiPciIoAttributeOperationDisable, > + (~Attributes) & (PciIoDevice->Supports), > + NULL > + ); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + return EFI_SUCCESS; > + > + case EfiPciIoAttributeOperationEnable: > + case EfiPciIoAttributeOperationDisable: > + break; > + > + default: > + return EFI_INVALID_PARAMETER; > + } > + // > + // Just a trick for ENABLE attribute > + // EFI_PCI_DEVICE_ENABLE is not defined in UEFI spec, which is the > internal usage. > + // So, this logic doesn't conform to UEFI spec, which should be removed. > + // But this trick logic is still kept for some binary drivers that depend on it. > + // > + if ((Attributes & EFI_PCI_DEVICE_ENABLE) == EFI_PCI_DEVICE_ENABLE) { > + Attributes &= (PciIoDevice->Supports); > + > + // > + // Raise the EFI_P_PC_ENABLE Status code > + // > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_PROGRESS_CODE, > + EFI_IO_BUS_PCI | EFI_P_PC_ENABLE, > + PciIoDevice->DevicePath > + ); > + } > + > + // > + // Check VGA and VGA16, they can not be set at the same time > + // > + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO | > EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO)) != 0) { > + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | > EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { > + return EFI_UNSUPPORTED; > + } > + } > + > + // > + // If no attributes can be supported, then return. > + // Otherwise, set the attributes that it can support. > + // > + Supports = (PciIoDevice->Supports) & Attributes; > + if (Supports != Attributes) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // For Root Bridge, just call RootBridgeIo to set attributes; > + // > + if (PciIoDevice->Parent == NULL) { > + Status = ModifyRootBridgeAttributes (PciIoDevice, Attributes, > Operation); > + return Status; > + } > + > + Command = 0; > + BridgeControl = 0; > + > + // > + // For PPB & P2C, set relevant attribute bits > + // > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci) || IS_CARDBUS_BRIDGE > (&PciIoDevice->Pci)) { > + > + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_IO | > EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { > + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_VGA; > + } > + > + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_ISA_IO) != 0) { > + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_ISA; > + } > + > + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | > EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { > + Command |= EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO; > + } > + > + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16 | > EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) != 0) { > + BridgeControl |= EFI_PCI_BRIDGE_CONTROL_VGA_16; > + } > + > + } else { > + // > + // Do with the attributes on VGA > + // Only for VGA's legacy resource, we just can enable once. > + // > + if ((Attributes & > + (EFI_PCI_IO_ATTRIBUTE_VGA_IO | > + EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 | > + EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY)) != 0) { > + // > + // Check if a VGA has been enabled before enabling a new one > + // > + if (Operation == EfiPciIoAttributeOperationEnable) { > + // > + // Check if there have been an active VGA device on the same Host > Bridge > + // > + Temp = LocateVgaDeviceOnHostBridge (PciIoDevice->PciRootBridgeIo- > >ParentHandle); > + if (Temp != NULL && Temp != PciIoDevice) { > + // > + // An active VGA has been detected, so can not enable another > + // > + return EFI_UNSUPPORTED; > + } > + } > + } > + > + // > + // Do with the attributes on GFX > + // > + if ((Attributes & (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | > EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16)) != 0) { > + > + if (Operation == EfiPciIoAttributeOperationEnable) { > + // > + // Check if snoop can be enabled in current configuration > + // > + Status = SupportPaletteSnoopAttributes (PciIoDevice, Operation); > + > + if (EFI_ERROR (Status)) { > + > + // > + // Enable operation is forbidden, so mask the bit in attributes > + // so as to keep consistent with the actual Status > + // > + // Attributes &= (~EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO); > + // > + // > + // > + return EFI_UNSUPPORTED; > + > + } > + } > + > + // > + // It can be supported, so get ready to set the bit > + // > + Command |= EFI_PCI_COMMAND_VGA_PALETTE_SNOOP; > + } > + } > + > + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_IO) != 0) { > + Command |= EFI_PCI_COMMAND_IO_SPACE; > + } > + > + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_MEMORY) != 0) { > + Command |= EFI_PCI_COMMAND_MEMORY_SPACE; > + } > + > + if ((Attributes & EFI_PCI_IO_ATTRIBUTE_BUS_MASTER) != 0) { > + Command |= EFI_PCI_COMMAND_BUS_MASTER; > + } > + // > + // The upstream bridge should be also set to relevant attribute > + // expect for IO, Mem and BusMaster > + // > + UpStreamAttributes = Attributes & > + (~(EFI_PCI_IO_ATTRIBUTE_IO | > + EFI_PCI_IO_ATTRIBUTE_MEMORY | > + EFI_PCI_IO_ATTRIBUTE_BUS_MASTER > + ) > + ); > + UpStreamBridge = PciIoDevice->Parent; > + > + if (Operation == EfiPciIoAttributeOperationEnable) { > + // > + // Enable relevant attributes to command register and bridge control > register > + // > + Status = PCI_ENABLE_COMMAND_REGISTER (PciIoDevice, Command); > + if (BridgeControl != 0) { > + Status = PCI_ENABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, > BridgeControl); > + } > + > + PciIoDevice->Attributes |= Attributes; > + > + // > + // Enable attributes of the upstream bridge > + // > + Status = UpStreamBridge->PciIo.Attributes ( > + &(UpStreamBridge->PciIo), > + EfiPciIoAttributeOperationEnable, > + UpStreamAttributes, > + NULL > + ); > + } else { > + > + // > + // Disable relevant attributes to command register and bridge control > register > + // > + Status = PCI_DISABLE_COMMAND_REGISTER (PciIoDevice, Command); > + if (BridgeControl != 0) { > + Status = PCI_DISABLE_BRIDGE_CONTROL_REGISTER (PciIoDevice, > BridgeControl); > + } > + > + PciIoDevice->Attributes &= (~Attributes); > + Status = EFI_SUCCESS; > + > + } > + > + if (EFI_ERROR (Status)) { > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_ERROR_CODE | EFI_ERROR_MINOR, > + EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR, > + PciIoDevice->DevicePath > + ); > + } > + > + return Status; > +} > + > +/** > + Retrieve the AddrTranslationOffset from RootBridgeIo for the > + specified range. > + > + @param RootBridgeIo Root Bridge IO instance. > + @param AddrRangeMin The base address of the MMIO. > + @param AddrLen The length of the MMIO. > + > + @retval The AddrTranslationOffset from RootBridgeIo for the > + specified range, or (UINT64) -1 if the range is not > + found in RootBridgeIo. > +**/ > +UINT64 > +GetMmioAddressTranslationOffset ( > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *RootBridgeIo, > + UINT64 AddrRangeMin, > + UINT64 AddrLen > + ) > +{ > + EFI_STATUS Status; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; > + > + Status = RootBridgeIo->Configuration ( > + RootBridgeIo, > + (VOID **) &Configuration > + ); > + if (EFI_ERROR (Status)) { > + return (UINT64) -1; > + } > + > + // According to UEFI 2.7, > EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL::Configuration() > + // returns host address instead of device address, while > AddrTranslationOffset > + // is not zero, and device address = host address + AddrTranslationOffset, > so > + // we convert host address to device address for range compare. > + while (Configuration->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR) { > + if ((Configuration->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) && > + (Configuration->AddrRangeMin + Configuration- > >AddrTranslationOffset <= AddrRangeMin) && > + (Configuration->AddrRangeMin + Configuration->AddrLen + > Configuration->AddrTranslationOffset >= AddrRangeMin + AddrLen) > + ) { > + return Configuration->AddrTranslationOffset; > + } > + Configuration++; > + } > + > + // > + // The resource occupied by BAR should be in the range reported by > RootBridge. > + // > + ASSERT (FALSE); > + return (UINT64) -1; > +} > + > +/** > + Gets the attributes that this PCI controller supports setting on a BAR using > + SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for resource range. The legal range for this > field is 0..5. > + @param Supports A pointer to the mask of attributes that this PCI > controller supports > + setting for this BAR with SetBarAttributes(). > + @param Resources A pointer to the resource descriptors that > describe the current > + configuration of this BAR of the PCI controller. > + > + @retval EFI_SUCCESS If Supports is not NULL, then the attributes that > the PCI > + controller supports are returned in Supports. If Resources > + is not NULL, then the resource descriptors that the PCI > + controller is currently using are returned in Resources. > + @retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_OUT_OF_RESOURCES There are not enough resources > available to allocate > + Resources. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoGetBarAttributes ( > + IN EFI_PCI_IO_PROTOCOL * This, > + IN UINT8 BarIndex, > + OUT UINT64 *Supports, OPTIONAL > + OUT VOID **Resources OPTIONAL > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; > + EFI_ACPI_END_TAG_DESCRIPTOR *End; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + if (Supports == NULL && Resources == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + if ((BarIndex >= PCI_MAX_BAR) || (PciIoDevice- > >PciBar[BarIndex].BarType == PciBarTypeUnknown)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // This driver does not support modifications to the WRITE_COMBINE or > + // CACHED attributes for BAR ranges. > + // > + if (Supports != NULL) { > + *Supports = PciIoDevice->Supports & > EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED & > EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE; > + } > + > + if (Resources != NULL) { > + Descriptor = AllocateZeroPool (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) + sizeof > (EFI_ACPI_END_TAG_DESCRIPTOR)); > + if (Descriptor == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + *Resources = Descriptor; > + > + Descriptor->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > + Descriptor->Len = (UINT16) (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); > + Descriptor->AddrRangeMin = PciIoDevice- > >PciBar[BarIndex].BaseAddress; > + Descriptor->AddrLen = PciIoDevice->PciBar[BarIndex].Length; > + Descriptor->AddrRangeMax = PciIoDevice->PciBar[BarIndex].Alignment; > + > + switch (PciIoDevice->PciBar[BarIndex].BarType) { > + case PciBarTypeIo16: > + case PciBarTypeIo32: > + // > + // Io > + // > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; > + break; > + > + case PciBarTypePMem32: > + // > + // prefetchable > + // > + Descriptor->SpecificFlag = > EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABL > E; > + // > + // Fall through > + // > + case PciBarTypeMem32: > + // > + // Mem > + // > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + // > + // 32 bit > + // > + Descriptor->AddrSpaceGranularity = 32; > + break; > + > + case PciBarTypePMem64: > + // > + // prefetchable > + // > + Descriptor->SpecificFlag = > EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABL > E; > + // > + // Fall through > + // > + case PciBarTypeMem64: > + // > + // Mem > + // > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + // > + // 64 bit > + // > + Descriptor->AddrSpaceGranularity = 64; > + break; > + > + default: > + break; > + } > + > + // > + // put the checksum > + // > + End = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Descriptor + 1); > + End->Desc = ACPI_END_TAG_DESCRIPTOR; > + End->Checksum = 0; > + > + // > + // Get the Address Translation Offset > + // > + if (Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { > + Descriptor->AddrTranslationOffset = GetMmioAddressTranslationOffset > ( > + PciIoDevice->PciRootBridgeIo, > + Descriptor->AddrRangeMin, > + Descriptor->AddrLen > + ); > + if (Descriptor->AddrTranslationOffset == (UINT64) -1) { > + FreePool (Descriptor); > + return EFI_UNSUPPORTED; > + } > + } > + > + // According to UEFI spec 2.7, we need return host address for > + // PciIo->GetBarAttributes, and host address = device address - > translation. > + Descriptor->AddrRangeMin -= Descriptor->AddrTranslationOffset; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Sets the attributes for a range of a BAR on a PCI controller. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Attributes The mask of attributes to set for the resource > range specified by > + BarIndex, Offset, and Length. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for resource range. The legal range for this > field is 0..5. > + @param Offset A pointer to the BAR relative base address of the > resource range to be > + modified by the attributes specified by Attributes. > + @param Length A pointer to the length of the resource range to > be modified by the > + attributes specified by Attributes. > + > + @retval EFI_SUCCESS The set of attributes specified by Attributes for > the resource > + range specified by BarIndex, Offset, and Length were > + set on the PCI controller, and the actual resource range is > returned > + in Offset and Length. > + @retval EFI_INVALID_PARAMETER Offset or Length is NULL. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_OUT_OF_RESOURCES There are not enough resources to set > the attributes on the > + resource range specified by BarIndex, Offset, and > + Length. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoSetBarAttributes ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN UINT64 Attributes, > + IN UINT8 BarIndex, > + IN OUT UINT64 *Offset, > + IN OUT UINT64 *Length > + ) > +{ > + EFI_STATUS Status; > + PCI_IO_DEVICE *PciIoDevice; > + UINT64 NonRelativeOffset; > + UINT64 Supports; > + > + PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > + > + // > + // Make sure Offset and Length are not NULL > + // > + if (Offset == NULL || Length == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (PciIoDevice->PciBar[BarIndex].BarType == PciBarTypeUnknown) { > + return EFI_UNSUPPORTED; > + } > + // > + // This driver does not support setting the WRITE_COMBINE or the > CACHED attributes. > + // If Attributes is not 0, then return EFI_UNSUPPORTED. > + // > + Supports = PciIoDevice->Supports & > EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED & > EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE; > + > + if (Attributes != (Attributes & Supports)) { > + return EFI_UNSUPPORTED; > + } > + // > + // Attributes must be supported. Make sure the BAR range described by > BarIndex, Offset, and > + // Length are valid for this PCI device. > + // > + NonRelativeOffset = *Offset; > + Status = PciIoVerifyBarAccess ( > + PciIoDevice, > + BarIndex, > + PciBarTypeMem, > + EfiPciIoWidthUint8, > + (UINT32) *Length, > + &NonRelativeOffset > + ); > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + return EFI_SUCCESS; > +} > + > + > +/** > + Test whether two Pci devices has same parent bridge. > + > + @param PciDevice1 The first pci device for testing. > + @param PciDevice2 The second pci device for testing. > + > + @retval TRUE Two Pci device has the same parent bridge. > + @retval FALSE Two Pci device has not the same parent bridge. > + > +**/ > +BOOLEAN > +PciDevicesOnTheSamePath ( > + IN PCI_IO_DEVICE *PciDevice1, > + IN PCI_IO_DEVICE *PciDevice2 > + ) > +{ > + BOOLEAN Existed1; > + BOOLEAN Existed2; > + > + if (PciDevice1->Parent == PciDevice2->Parent) { > + return TRUE; > + } > + > + Existed1 = PciDeviceExisted (PciDevice1->Parent, PciDevice2); > + Existed2 = PciDeviceExisted (PciDevice2->Parent, PciDevice1); > + > + return (BOOLEAN) (Existed1 || Existed2); > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciIo.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciIo.h > new file mode 100644 > index 0000000000..c00516ee6a > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciIo.h > @@ -0,0 +1,660 @@ > +/** @file > + EFI PCI IO protocol functions declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_IO_PROTOCOL_H_ > +#define _EFI_PCI_IO_PROTOCOL_H_ > + > +/** > + Initializes a PCI I/O Instance. > + > + @param PciIoDevice Pci device instance. > + > +**/ > +VOID > +InitializePciIoInstance ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Verifies access to a PCI Base Address Register (BAR). > + > + @param PciIoDevice Pci device instance. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Type Operation type could be memory or I/O. > + @param Width Signifies the width of the memory or I/O operations. > + @param Count The number of memory or I/O operations to perform. > + @param Offset The offset within the PCI configuration space for the PCI > controller. > + > + @retval EFI_INVALID_PARAMETER Invalid Width/BarIndex or Bar type. > + @retval EFI_SUCCESS Successfully verified. > + > +**/ > +EFI_STATUS > +PciIoVerifyBarAccess ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 BarIndex, > + IN PCI_BAR_TYPE Type, > + IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN IN UINTN Count, > + IN UINT64 *Offset > + ); > + > +/** > + Verifies access to a PCI Configuration Header. > + > + @param PciIoDevice Pci device instance. > + @param Width Signifies the width of the memory or I/O operations. > + @param Count The number of memory or I/O operations to perform. > + @param Offset The offset within the PCI configuration space for the PCI > controller. > + > + @retval EFI_INVALID_PARAMETER Invalid Width > + @retval EFI_UNSUPPORTED Offset overflowed. > + @retval EFI_SUCCESS Successfully verified. > + > +**/ > +EFI_STATUS > +PciIoVerifyConfigAccess ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINTN Count, > + IN UINT64 *Offset > + ); > + > +/** > + Reads from the memory space of a PCI controller. Returns either when the > polling exit criteria is > + satisfied or after a defined duration. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory operation to perform. > + @param Offset The offset within the selected BAR to start the > memory operation. > + @param Mask Mask used for the polling criteria. > + @param Value The comparison value used for the polling exit > criteria. > + @param Delay The number of 100 ns units to poll. > + @param Result Pointer to the last value read from the memory > location. > + > + @retval EFI_SUCCESS The last data returned from the access matched > the poll exit criteria. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this > PCI controller. > + @retval EFI_TIMEOUT Delay expired before a match occurred. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoPollMem ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINT64 Mask, > + IN UINT64 Value, > + IN UINT64 Delay, > + OUT UINT64 *Result > + ); > + > +/** > + Reads from the memory space of a PCI controller. Returns either when the > polling exit criteria is > + satisfied or after a defined duration. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory operation to perform. > + @param Offset The offset within the selected BAR to start the > memory operation. > + @param Mask Mask used for the polling criteria. > + @param Value The comparison value used for the polling exit > criteria. > + @param Delay The number of 100 ns units to poll. > + @param Result Pointer to the last value read from the memory > location. > + > + @retval EFI_SUCCESS The last data returned from the access matched > the poll exit criteria. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this > PCI controller. > + @retval EFI_TIMEOUT Delay expired before a match occurred. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoPollIo ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINT64 Mask, > + IN UINT64 Value, > + IN UINT64 Delay, > + OUT UINT64 *Result > + ); > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoMemRead ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ); > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoMemWrite ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ); > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoIoRead ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ); > + > +/** > + Enable a PCI driver to access PCI controller registers in the PCI memory or > I/O space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory or I/O > operations. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param Offset The offset within the selected BAR to start the > memory or I/O operation. > + @param Count The number of memory or I/O operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI BAR specified by BarIndex. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoIoWrite ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 BarIndex, > + IN UINT64 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ); > + > +/** > + Enable a PCI driver to access PCI controller registers in PCI configuration > space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory operations. > + @param Offset The offset within the PCI configuration space for > the PCI controller. > + @param Count The number of PCI configuration operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI configuration header of the PCI controller. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoConfigRead ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT32 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ); > + > +/** > + Enable a PCI driver to access PCI controller registers in PCI configuration > space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory operations. > + @param Offset The offset within the PCI configuration space for > the PCI controller. > + @param Count The number of PCI configuration operations to > perform. > + @param Buffer For read operations, the destination buffer to > store the results. For write > + operations, the source buffer to write data from. > + > + > + @retval EFI_SUCCESS The data was read from or written to the PCI > controller. > + @retval EFI_UNSUPPORTED The address range specified by Offset, > Width, and Count is not > + valid for the PCI configuration header of the PCI controller. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoConfigWrite ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT32 Offset, > + IN UINTN Count, > + IN OUT VOID *Buffer > + ); > + > +/** > + Enables a PCI driver to copy one region of PCI memory space to another > region of PCI > + memory space. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Width Signifies the width of the memory operations. > + @param DestBarIndex The BAR index in the standard PCI > Configuration header to use as the > + base address for the memory operation to perform. > + @param DestOffset The destination offset within the BAR specified > by DestBarIndex to > + start the memory writes for the copy operation. > + @param SrcBarIndex The BAR index in the standard PCI Configuration > header to use as the > + base address for the memory operation to perform. > + @param SrcOffset The source offset within the BAR specified by > SrcBarIndex to start > + the memory reads for the copy operation. > + @param Count The number of memory operations to perform. > Bytes moved is Width > + size * Count, starting at DestOffset and SrcOffset. > + > + @retval EFI_SUCCESS The data was copied from one memory region > to another memory region. > + @retval EFI_UNSUPPORTED DestBarIndex not valid for this PCI > controller. > + @retval EFI_UNSUPPORTED SrcBarIndex not valid for this PCI controller. > + @retval EFI_UNSUPPORTED The address range specified by DestOffset, > Width, and Count > + is not valid for the PCI BAR specified by DestBarIndex. > + @retval EFI_UNSUPPORTED The address range specified by SrcOffset, > Width, and Count is > + not valid for the PCI BAR specified by SrcBarIndex. > + @retval EFI_INVALID_PARAMETER Width is invalid. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoCopyMem ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_WIDTH Width, > + IN UINT8 DestBarIndex, > + IN UINT64 DestOffset, > + IN UINT8 SrcBarIndex, > + IN UINT64 SrcOffset, > + IN UINTN Count > + ); > + > +/** > + Provides the PCI controller-specific addresses needed to access system > memory. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Operation Indicates if the bus master is going to read or > write to system memory. > + @param HostAddress The system memory address to map to the PCI > controller. > + @param NumberOfBytes On input the number of bytes to map. On > output the number of bytes > + that were mapped. > + @param DeviceAddress The resulting map address for the bus master > PCI controller to use to > + access the hosts HostAddress. > + @param Mapping A resulting value to pass to Unmap(). > + > + @retval EFI_SUCCESS The range was mapped for the returned > NumberOfBytes. > + @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a > common buffer. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + @retval EFI_OUT_OF_RESOURCES The request could not be completed > due to a lack of resources. > + @retval EFI_DEVICE_ERROR The system hardware could not map the > requested address. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoMap ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, > + IN VOID *HostAddress, > + IN OUT UINTN *NumberOfBytes, > + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, > + OUT VOID **Mapping > + ); > + > +/** > + Completes the Map() operation and releases any corresponding > resources. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Mapping The mapping value returned from Map(). > + > + @retval EFI_SUCCESS The range was unmapped. > + @retval EFI_DEVICE_ERROR The data was not committed to the target > system memory. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoUnmap ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN VOID *Mapping > + ); > + > +/** > + Allocates pages that are suitable for an > EfiPciIoOperationBusMasterCommonBuffer > + or EfiPciOperationBusMasterCommonBuffer64 mapping. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Type This parameter is not used and must be ignored. > + @param MemoryType The type of memory to allocate, > EfiBootServicesData or > + EfiRuntimeServicesData. > + @param Pages The number of pages to allocate. > + @param HostAddress A pointer to store the base system memory > address of the > + allocated range. > + @param Attributes The requested bit mask of attributes for the > allocated range. > + > + @retval EFI_SUCCESS The requested memory pages were allocated. > + @retval EFI_UNSUPPORTED Attributes is unsupported. The only legal > attribute bits are > + MEMORY_WRITE_COMBINE, MEMORY_CACHED and > DUAL_ADDRESS_CYCLE. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + @retval EFI_OUT_OF_RESOURCES The memory pages could not be > allocated. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoAllocateBuffer ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN EFI_ALLOCATE_TYPE Type, > + IN EFI_MEMORY_TYPE MemoryType, > + IN UINTN Pages, > + OUT VOID **HostAddress, > + IN UINT64 Attributes > + ); > + > +/** > + Frees memory that was allocated with AllocateBuffer(). > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Pages The number of pages to free. > + @param HostAddress The base system memory address of the > allocated range. > + > + @retval EFI_SUCCESS The requested memory pages were freed. > + @retval EFI_INVALID_PARAMETER The memory range specified by > HostAddress and Pages > + was not allocated with AllocateBuffer(). > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoFreeBuffer ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN UINTN Pages, > + IN VOID *HostAddress > + ); > + > +/** > + Flushes all PCI posted write transactions from a PCI host bridge to system > memory. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + > + @retval EFI_SUCCESS The PCI posted write transactions were flushed > from the PCI host > + bridge to system memory. > + @retval EFI_DEVICE_ERROR The PCI posted write transactions were not > flushed from the PCI > + host bridge due to a hardware error. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoFlush ( > + IN EFI_PCI_IO_PROTOCOL *This > + ); > + > +/** > + Retrieves this PCI controller's current PCI bus number, device number, and > function number. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param SegmentNumber The PCI controller's current PCI segment > number. > + @param BusNumber The PCI controller's current PCI bus number. > + @param DeviceNumber The PCI controller's current PCI device > number. > + @param FunctionNumber The PCI controller's current PCI function > number. > + > + @retval EFI_SUCCESS The PCI controller location was returned. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoGetLocation ( > + IN EFI_PCI_IO_PROTOCOL *This, > + OUT UINTN *Segment, > + OUT UINTN *Bus, > + OUT UINTN *Device, > + OUT UINTN *Function > + ); > + > +/** > + Check BAR type for PCI resource. > + > + @param PciIoDevice PCI device instance. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for the memory or I/O operation to perform. > + @param BarType Memory or I/O. > + > + @retval TRUE Pci device's bar type is same with input BarType. > + @retval TRUE Pci device's bar type is not same with input BarType. > + > +**/ > +BOOLEAN > +CheckBarType ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT8 BarIndex, > + IN PCI_BAR_TYPE BarType > + ); > + > +/** > + Set/Disable new attributes to a Root Bridge. > + > + @param PciIoDevice Pci device instance. > + @param Attributes New attribute want to be set. > + @param Operation Set or Disable. > + > + @retval EFI_UNSUPPORTED If root bridge does not support change > attribute. > + @retval EFI_SUCCESS Successfully set new attributes. > + > +**/ > +EFI_STATUS > +ModifyRootBridgeAttributes ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN UINT64 Attributes, > + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation > + ); > + > +/** > + Check whether this device can be enable/disable to snoop. > + > + @param PciIoDevice Pci device instance. > + @param Operation Enable/Disable. > + > + @retval EFI_UNSUPPORTED Pci device is not GFX device or not support > snoop. > + @retval EFI_SUCCESS Snoop can be supported. > + > +**/ > +EFI_STATUS > +SupportPaletteSnoopAttributes ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation > + ); > + > +/** > + Performs an operation on the attributes that this PCI controller supports. > The operations include > + getting the set of supported attributes, retrieving the current attributes, > setting the current > + attributes, enabling attributes, and disabling attributes. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Operation The operation to perform on the attributes for > this PCI controller. > + @param Attributes The mask of attributes that are used for Set, > Enable, and Disable > + operations. > + @param Result A pointer to the result mask of attributes that are > returned for the Get > + and Supported operations. > + > + @retval EFI_SUCCESS The operation on the PCI controller's attributes > was completed. > + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. > + @retval EFI_UNSUPPORTED one or more of the bits set in > + Attributes are not supported by this PCI controller or one of > + its parent bridges when Operation is Set, Enable or Disable. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoAttributes ( > + IN EFI_PCI_IO_PROTOCOL * This, > + IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, > + IN UINT64 Attributes, > + OUT UINT64 *Result OPTIONAL > + ); > + > +/** > + Gets the attributes that this PCI controller supports setting on a BAR using > + SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for resource range. The legal range for this > field is 0..5. > + @param Supports A pointer to the mask of attributes that this PCI > controller supports > + setting for this BAR with SetBarAttributes(). > + @param Resources A pointer to the resource descriptors that > describe the current > + configuration of this BAR of the PCI controller. > + > + @retval EFI_SUCCESS If Supports is not NULL, then the attributes that > the PCI > + controller supports are returned in Supports. If Resources > + is not NULL, then the resource descriptors that the PCI > + controller is currently using are returned in Resources. > + @retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_OUT_OF_RESOURCES There are not enough resources > available to allocate > + Resources. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoGetBarAttributes ( > + IN EFI_PCI_IO_PROTOCOL * This, > + IN UINT8 BarIndex, > + OUT UINT64 *Supports, OPTIONAL > + OUT VOID **Resources OPTIONAL > + ); > + > +/** > + Sets the attributes for a range of a BAR on a PCI controller. > + > + @param This A pointer to the EFI_PCI_IO_PROTOCOL instance. > + @param Attributes The mask of attributes to set for the resource > range specified by > + BarIndex, Offset, and Length. > + @param BarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for resource range. The legal range for this > field is 0..5. > + @param Offset A pointer to the BAR relative base address of the > resource range to be > + modified by the attributes specified by Attributes. > + @param Length A pointer to the length of the resource range to > be modified by the > + attributes specified by Attributes. > + > + @retval EFI_SUCCESS The set of attributes specified by Attributes for > the resource > + range specified by BarIndex, Offset, and Length were > + set on the PCI controller, and the actual resource range is > returned > + in Offset and Length. > + @retval EFI_INVALID_PARAMETER Offset or Length is NULL. > + @retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller. > + @retval EFI_OUT_OF_RESOURCES There are not enough resources to set > the attributes on the > + resource range specified by BarIndex, Offset, and > + Length. > + > +**/ > +EFI_STATUS > +EFIAPI > +PciIoSetBarAttributes ( > + IN EFI_PCI_IO_PROTOCOL *This, > + IN UINT64 Attributes, > + IN UINT8 BarIndex, > + IN OUT UINT64 *Offset, > + IN OUT UINT64 *Length > + ); > + > + > +/** > + Test whether two Pci devices has same parent bridge. > + > + @param PciDevice1 The first pci device for testing. > + @param PciDevice2 The second pci device for testing. > + > + @retval TRUE Two Pci device has the same parent bridge. > + @retval FALSE Two Pci device has not the same parent bridge. > + > +**/ > +BOOLEAN > +PciDevicesOnTheSamePath ( > + IN PCI_IO_DEVICE *PciDevice1, > + IN PCI_IO_DEVICE *PciDevice2 > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciLib.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciLib.c > new file mode 100644 > index 0000000000..2b76100740 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciLib.c > @@ -0,0 +1,1809 @@ > +/** @file > + Internal library implementation for PCI Bus module. > + > +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> > +(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +GLOBAL_REMOVE_IF_UNREFERENCED > +CHAR16 *mBarTypeStr[] = { > + L"Unknow", > + L" Io16", > + L" Io32", > + L" Mem32", > + L"PMem32", > + L" Mem64", > + L"PMem64", > + L" OpRom", > + L" Io", > + L" Mem", > + L"Unknow" > + }; > + > +/** > + Retrieve the max bus number that is assigned to the Root Bridge hierarchy. > + It can support the case that there are multiple bus ranges. > + > + @param Bridge Bridge device instance. > + > + @retval The max bus number that is assigned to this Root Bridge > hierarchy. > + > +**/ > +UINT16 > +PciGetMaxBusNumber ( > + IN PCI_IO_DEVICE *Bridge > + ) > +{ > + PCI_IO_DEVICE *RootBridge; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; > + UINT64 MaxNumberInRange; > + > + // > + // Get PCI Root Bridge device > + // > + RootBridge = Bridge; > + while (RootBridge->Parent != NULL) { > + RootBridge = RootBridge->Parent; > + } > + MaxNumberInRange = 0; > + // > + // Iterate the bus number ranges to get max PCI bus number > + // > + BusNumberRanges = RootBridge->BusNumberRanges; > + while (BusNumberRanges->Desc != ACPI_END_TAG_DESCRIPTOR) { > + MaxNumberInRange = BusNumberRanges->AddrRangeMin + > BusNumberRanges->AddrLen - 1; > + BusNumberRanges++; > + } > + return (UINT16) MaxNumberInRange; > +} > + > +/** > + Retrieve the PCI Card device BAR information via PciIo interface. > + > + @param PciIoDevice PCI Card device instance. > + > +**/ > +VOID > +GetBackPcCardBar ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + UINT32 Address; > + > + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + return; > + } > + > + // > + // Read PciBar information from the bar register > + // > + if (!gFullEnumeration) { > + Address = 0; > + PciIoDevice->PciIo.Pci.Read ( > + &(PciIoDevice->PciIo), > + EfiPciIoWidthUint32, > + PCI_CARD_MEMORY_BASE_0, > + 1, > + &Address > + ); > + > + (PciIoDevice->PciBar)[P2C_MEM_1].BaseAddress = (UINT64) (Address); > + (PciIoDevice->PciBar)[P2C_MEM_1].Length = 0x2000000; > + (PciIoDevice->PciBar)[P2C_MEM_1].BarType = PciBarTypeMem32; > + > + Address = 0; > + PciIoDevice->PciIo.Pci.Read ( > + &(PciIoDevice->PciIo), > + EfiPciIoWidthUint32, > + PCI_CARD_MEMORY_BASE_1, > + 1, > + &Address > + ); > + (PciIoDevice->PciBar)[P2C_MEM_2].BaseAddress = (UINT64) (Address); > + (PciIoDevice->PciBar)[P2C_MEM_2].Length = 0x2000000; > + (PciIoDevice->PciBar)[P2C_MEM_2].BarType = PciBarTypePMem32; > + > + Address = 0; > + PciIoDevice->PciIo.Pci.Read ( > + &(PciIoDevice->PciIo), > + EfiPciIoWidthUint32, > + PCI_CARD_IO_BASE_0_LOWER, > + 1, > + &Address > + ); > + (PciIoDevice->PciBar)[P2C_IO_1].BaseAddress = (UINT64) (Address); > + (PciIoDevice->PciBar)[P2C_IO_1].Length = 0x100; > + (PciIoDevice->PciBar)[P2C_IO_1].BarType = PciBarTypeIo16; > + > + Address = 0; > + PciIoDevice->PciIo.Pci.Read ( > + &(PciIoDevice->PciIo), > + EfiPciIoWidthUint32, > + PCI_CARD_IO_BASE_1_LOWER, > + 1, > + &Address > + ); > + (PciIoDevice->PciBar)[P2C_IO_2].BaseAddress = (UINT64) (Address); > + (PciIoDevice->PciBar)[P2C_IO_2].Length = 0x100; > + (PciIoDevice->PciBar)[P2C_IO_2].BarType = PciBarTypeIo16; > + > + } > + > + if (gPciHotPlugInit != NULL && FeaturePcdGet > (PcdPciBusHotplugDeviceSupport)) { > + GetResourcePaddingForHpb (PciIoDevice); > + } > +} > + > +/** > + Remove rejected pci device from specific root bridge > + handle. > + > + @param RootBridgeHandle Specific parent root bridge handle. > + @param Bridge Bridge device instance. > + > +**/ > +VOID > +RemoveRejectedPciDevices ( > + IN EFI_HANDLE RootBridgeHandle, > + IN PCI_IO_DEVICE *Bridge > + ) > +{ > + PCI_IO_DEVICE *Temp; > + LIST_ENTRY *CurrentLink; > + LIST_ENTRY *LastLink; > + > + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + return; > + } > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (IS_PCI_BRIDGE (&Temp->Pci)) { > + // > + // Remove rejected devices recusively > + // > + RemoveRejectedPciDevices (RootBridgeHandle, Temp); > + } else { > + // > + // Skip rejection for all PPBs, while detect rejection for others > + // > + if (IsPciDeviceRejected (Temp)) { > + > + // > + // For P2C, remove all devices on it > + // > + if (!IsListEmpty (&Temp->ChildList)) { > + RemoveAllPciDeviceOnBridge (RootBridgeHandle, Temp); > + } > + > + // > + // Finally remove itself > + // > + LastLink = CurrentLink->BackLink; > + RemoveEntryList (CurrentLink); > + FreePciDevice (Temp); > + > + CurrentLink = LastLink; > + } > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > +} > + > +/** > + Dump the resourc map of the bridge device. > + > + @param[in] BridgeResource Resource descriptor of the bridge device. > +**/ > +VOID > +DumpBridgeResource ( > + IN PCI_RESOURCE_NODE *BridgeResource > + ) > +{ > + LIST_ENTRY *Link; > + PCI_RESOURCE_NODE *Resource; > + PCI_BAR *Bar; > + > + if ((BridgeResource != NULL) && (BridgeResource->Length != 0)) { > + DEBUG (( > + EFI_D_INFO, "Type = %s; Base = 0x%lx;\tLength = 0x%lx;\tAlignment = > 0x%lx\n", > + mBarTypeStr[MIN (BridgeResource->ResType, PciBarTypeMaxType)], > + BridgeResource->PciDev->PciBar[BridgeResource->Bar].BaseAddress, > + BridgeResource->Length, BridgeResource->Alignment > + )); > + for ( Link = GetFirstNode (&BridgeResource->ChildList) > + ; !IsNull (&BridgeResource->ChildList, Link) > + ; Link = GetNextNode (&BridgeResource->ChildList, Link) > + ) { > + Resource = RESOURCE_NODE_FROM_LINK (Link); > + if (Resource->ResourceUsage == PciResUsageTypical) { > + Bar = Resource->Virtual ? Resource->PciDev->VfPciBar : Resource- > >PciDev->PciBar; > + DEBUG (( > + EFI_D_INFO, " Base = 0x%lx;\tLength = 0x%lx;\tAlignment = > 0x%lx;\tOwner = %s [%02x|%02x|%02x:", > + Bar[Resource->Bar].BaseAddress, Resource->Length, Resource- > >Alignment, > + IS_PCI_BRIDGE (&Resource->PciDev->Pci) ? L"PPB" : > + IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci) ? L"P2C" : > + L"PCI", > + Resource->PciDev->BusNumber, Resource->PciDev->DeviceNumber, > + Resource->PciDev->FunctionNumber > + )); > + > + if ((!IS_PCI_BRIDGE (&Resource->PciDev->Pci) && > !IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci)) || > + (IS_PCI_BRIDGE (&Resource->PciDev->Pci) && (Resource->Bar < > PPB_IO_RANGE)) || > + (IS_CARDBUS_BRIDGE (&Resource->PciDev->Pci) && (Resource->Bar > < P2C_MEM_1)) > + ) { > + // > + // The resource requirement comes from the device itself. > + // > + DEBUG ((EFI_D_INFO, "%02x]", Bar[Resource->Bar].Offset)); > + } else { > + // > + // The resource requirement comes from the subordinate devices. > + // > + DEBUG ((EFI_D_INFO, "**]")); > + } > + } else { > + DEBUG ((EFI_D_INFO, " Base = Padding;\tLength = 0x%lx;\tAlignment > = 0x%lx", Resource->Length, Resource->Alignment)); > + } > + if (BridgeResource->ResType != Resource->ResType) { > + DEBUG ((EFI_D_INFO, "; Type = %s", mBarTypeStr[MIN (Resource- > >ResType, PciBarTypeMaxType)])); > + } > + DEBUG ((EFI_D_INFO, "\n")); > + } > + } > +} > + > +/** > + Find the corresponding resource node for the Device in child list of > BridgeResource. > + > + @param[in] Device Pointer to PCI_IO_DEVICE. > + @param[in] BridgeResource Pointer to PCI_RESOURCE_NODE. > + @param[out] DeviceResources Pointer to a buffer to receive resources for > the Device. > + > + @return Count of the resource descriptors returned. > +**/ > +UINTN > +FindResourceNode ( > + IN PCI_IO_DEVICE *Device, > + IN PCI_RESOURCE_NODE *BridgeResource, > + OUT PCI_RESOURCE_NODE **DeviceResources OPTIONAL > + ) > +{ > + LIST_ENTRY *Link; > + PCI_RESOURCE_NODE *Resource; > + UINTN Count; > + > + Count = 0; > + for ( Link = BridgeResource->ChildList.ForwardLink > + ; Link != &BridgeResource->ChildList > + ; Link = Link->ForwardLink > + ) { > + Resource = RESOURCE_NODE_FROM_LINK (Link); > + if (Resource->PciDev == Device) { > + if (DeviceResources != NULL) { > + DeviceResources[Count] = Resource; > + } > + Count++; > + } > + } > + > + return Count; > +} > + > +/** > + Dump the resource map of all the devices under Bridge. > + > + @param[in] Bridge Bridge device instance. > + @param[in] Resources Resource descriptors for the bridge device. > + @param[in] ResourceCount Count of resource descriptors. > +**/ > +VOID > +DumpResourceMap ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_RESOURCE_NODE **Resources, > + IN UINTN ResourceCount > + ) > +{ > + EFI_STATUS Status; > + LIST_ENTRY *Link; > + PCI_IO_DEVICE *Device; > + UINTN Index; > + CHAR16 *Str; > + PCI_RESOURCE_NODE **ChildResources; > + UINTN ChildResourceCount; > + > + DEBUG ((EFI_D_INFO, "PciBus: Resource Map for ")); > + > + Status = gBS->OpenProtocol ( > + Bridge->Handle, > + &gEfiPciRootBridgeIoProtocolGuid, > + NULL, > + NULL, > + NULL, > + EFI_OPEN_PROTOCOL_TEST_PROTOCOL > + ); > + if (EFI_ERROR (Status)) { > + DEBUG (( > + EFI_D_INFO, "Bridge [%02x|%02x|%02x]\n", > + Bridge->BusNumber, Bridge->DeviceNumber, Bridge->FunctionNumber > + )); > + } else { > + Str = ConvertDevicePathToText ( > + DevicePathFromHandle (Bridge->Handle), > + FALSE, > + FALSE > + ); > + DEBUG ((EFI_D_INFO, "Root Bridge %s\n", Str != NULL ? Str : L"")); > + if (Str != NULL) { > + FreePool (Str); > + } > + } > + > + for (Index = 0; Index < ResourceCount; Index++) { > + DumpBridgeResource (Resources[Index]); > + } > + DEBUG ((EFI_D_INFO, "\n")); > + > + for ( Link = Bridge->ChildList.ForwardLink > + ; Link != &Bridge->ChildList > + ; Link = Link->ForwardLink > + ) { > + Device = PCI_IO_DEVICE_FROM_LINK (Link); > + if (IS_PCI_BRIDGE (&Device->Pci)) { > + > + ChildResourceCount = 0; > + for (Index = 0; Index < ResourceCount; Index++) { > + ChildResourceCount += FindResourceNode (Device, Resources[Index], > NULL); > + } > + ChildResources = AllocatePool (sizeof (PCI_RESOURCE_NODE *) * > ChildResourceCount); > + ASSERT (ChildResources != NULL); > + ChildResourceCount = 0; > + for (Index = 0; Index < ResourceCount; Index++) { > + ChildResourceCount += FindResourceNode (Device, Resources[Index], > &ChildResources[ChildResourceCount]); > + } > + > + DumpResourceMap (Device, ChildResources, ChildResourceCount); > + FreePool (ChildResources); > + } > + } > +} > + > +/** > + Adjust the Devices' BAR size to minimum value if it support Resizeable BAR > capability. > + > + @param RootBridgeDev Pointer to instance of PCI_IO_DEVICE.. > + > + @return TRUE if BAR size is adjusted. > + > +**/ > +BOOLEAN > +AdjustPciDeviceBarSize ( > + IN PCI_IO_DEVICE *RootBridgeDev > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + LIST_ENTRY *CurrentLink; > + BOOLEAN Adjusted; > + UINTN Offset; > + UINTN BarIndex; > + > + Adjusted = FALSE; > + CurrentLink = RootBridgeDev->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &RootBridgeDev->ChildList) > { > + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { > + if (AdjustPciDeviceBarSize (PciIoDevice)) { > + Adjusted = TRUE; > + } > + } else { > + if (PciIoDevice->ResizableBarOffset != 0) { > + DEBUG (( > + DEBUG_ERROR, > + "PciBus: [%02x|%02x|%02x] Adjust Pci Device Bar Size\n", > + PciIoDevice->BusNumber, PciIoDevice->DeviceNumber, PciIoDevice- > >FunctionNumber > + )); > + PciProgramResizableBar (PciIoDevice, PciResizableBarMin); > + // > + // Start to parse the bars > + // > + for (Offset = 0x10, BarIndex = 0; Offset <= 0x24 && BarIndex < > PCI_MAX_BAR; BarIndex++) { > + Offset = PciParseBar (PciIoDevice, Offset, BarIndex); > + } > + Adjusted = TRUE; > + DEBUG_CODE (DumpPciBars (PciIoDevice);); > + } > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return Adjusted; > +} > + > +/** > + Submits the I/O and memory resource requirements for the specified PCI > Host Bridge. > + > + @param PciResAlloc Point to protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + > + @retval EFI_SUCCESS Successfully finished resource allocation. > + @retval EFI_NOT_FOUND Cannot get root bridge instance. > + @retval EFI_OUT_OF_RESOURCES Platform failed to program the > resources if no hot plug supported. > + @retval other Some error occurred when allocating resources for > the PCI Host Bridge. > + > + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether > need support hotplug. > + > +**/ > +EFI_STATUS > +PciHostBridgeResourceAllocator ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ) > +{ > + PCI_IO_DEVICE *RootBridgeDev; > + EFI_HANDLE RootBridgeHandle; > + VOID *AcpiConfig; > + EFI_STATUS Status; > + UINT64 IoBase; > + UINT64 Mem32Base; > + UINT64 PMem32Base; > + UINT64 Mem64Base; > + UINT64 PMem64Base; > + UINT64 IoResStatus; > + UINT64 Mem32ResStatus; > + UINT64 PMem32ResStatus; > + UINT64 Mem64ResStatus; > + UINT64 PMem64ResStatus; > + UINT32 MaxOptionRomSize; > + PCI_RESOURCE_NODE *IoBridge; > + PCI_RESOURCE_NODE *Mem32Bridge; > + PCI_RESOURCE_NODE *PMem32Bridge; > + PCI_RESOURCE_NODE *Mem64Bridge; > + PCI_RESOURCE_NODE *PMem64Bridge; > + PCI_RESOURCE_NODE IoPool; > + PCI_RESOURCE_NODE Mem32Pool; > + PCI_RESOURCE_NODE PMem32Pool; > + PCI_RESOURCE_NODE Mem64Pool; > + PCI_RESOURCE_NODE PMem64Pool; > + EFI_DEVICE_HANDLE_EXTENDED_DATA_PAYLOAD > HandleExtendedData; > + EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD > AllocFailExtendedData; > + BOOLEAN ResizableBarNeedAdjust; > + BOOLEAN ResizableBarAdjusted; > + > + ResizableBarNeedAdjust = PcdGetBool (PcdPcieResizableBarSupport); > + > + // > + // It may try several times if the resource allocation fails > + // > + while (TRUE) { > + // > + // Initialize resource pool > + // > + InitializeResourcePool (&IoPool, PciBarTypeIo16); > + InitializeResourcePool (&Mem32Pool, PciBarTypeMem32); > + InitializeResourcePool (&PMem32Pool, PciBarTypePMem32); > + InitializeResourcePool (&Mem64Pool, PciBarTypeMem64); > + InitializeResourcePool (&PMem64Pool, PciBarTypePMem64); > + > + RootBridgeDev = NULL; > + RootBridgeHandle = 0; > + > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, > &RootBridgeHandle) == EFI_SUCCESS) { > + // > + // Get Root Bridge Device by handle > + // > + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); > + > + if (RootBridgeDev == NULL) { > + return EFI_NOT_FOUND; > + } > + > + // > + // Create the entire system resource map from the information collected > by > + // enumerator. Several resource tree was created > + // > + > + // > + // If non-standard PCI Bridge I/O window alignment is supported, > + // set I/O aligment to minimum possible alignment for root bridge. > + // > + IoBridge = CreateResourceNode ( > + RootBridgeDev, > + 0, > + FeaturePcdGet (PcdPciBridgeIoAlignmentProbe) ? 0x1FF: 0xFFF, > + RB_IO_RANGE, > + PciBarTypeIo16, > + PciResUsageTypical > + ); > + > + Mem32Bridge = CreateResourceNode ( > + RootBridgeDev, > + 0, > + 0xFFFFF, > + RB_MEM32_RANGE, > + PciBarTypeMem32, > + PciResUsageTypical > + ); > + > + PMem32Bridge = CreateResourceNode ( > + RootBridgeDev, > + 0, > + 0xFFFFF, > + RB_PMEM32_RANGE, > + PciBarTypePMem32, > + PciResUsageTypical > + ); > + > + Mem64Bridge = CreateResourceNode ( > + RootBridgeDev, > + 0, > + 0xFFFFF, > + RB_MEM64_RANGE, > + PciBarTypeMem64, > + PciResUsageTypical > + ); > + > + PMem64Bridge = CreateResourceNode ( > + RootBridgeDev, > + 0, > + 0xFFFFF, > + RB_PMEM64_RANGE, > + PciBarTypePMem64, > + PciResUsageTypical > + ); > + > + // > + // Get the max ROM size that the root bridge can process > + // Insert to resource map so that there will be dedicate MEM32 resource > range for Option ROM. > + // All devices' Option ROM share the same MEM32 resource. > + // > + MaxOptionRomSize = GetMaxOptionRomSize (RootBridgeDev); > + if (MaxOptionRomSize != 0) { > + RootBridgeDev->PciBar[0].BarType = PciBarTypeOpRom; > + RootBridgeDev->PciBar[0].Length = MaxOptionRomSize; > + RootBridgeDev->PciBar[0].Alignment = MaxOptionRomSize - 1; > + GetResourceFromDevice (RootBridgeDev, IoBridge, Mem32Bridge, > PMem32Bridge, Mem64Bridge, PMem64Bridge); > + } > + > + // > + // Create resourcemap by going through all the devices subject to this > root bridge > + // > + CreateResourceMap ( > + RootBridgeDev, > + IoBridge, > + Mem32Bridge, > + PMem32Bridge, > + Mem64Bridge, > + PMem64Bridge > + ); > + > + // > + // Based on the all the resource tree, construct ACPI resource node to > + // submit the resource aperture to pci host bridge protocol > + // > + Status = ConstructAcpiResourceRequestor ( > + RootBridgeDev, > + IoBridge, > + Mem32Bridge, > + PMem32Bridge, > + Mem64Bridge, > + PMem64Bridge, > + &AcpiConfig > + ); > + > + // > + // Insert these resource nodes into the database > + // > + InsertResourceNode (&IoPool, IoBridge); > + InsertResourceNode (&Mem32Pool, Mem32Bridge); > + InsertResourceNode (&PMem32Pool, PMem32Bridge); > + InsertResourceNode (&Mem64Pool, Mem64Bridge); > + InsertResourceNode (&PMem64Pool, PMem64Bridge); > + > + if (Status == EFI_SUCCESS) { > + // > + // Submit the resource requirement > + // > + Status = PciResAlloc->SubmitResources ( > + PciResAlloc, > + RootBridgeDev->Handle, > + AcpiConfig > + ); > + // > + // If SubmitResources returns error, PciBus isn't able to start. > + // It's a fatal error so assertion is added. > + // > + DEBUG ((EFI_D_INFO, "PciBus: HostBridge->SubmitResources() - %r\n", > Status)); > + ASSERT_EFI_ERROR (Status); > + } > + > + // > + // Free acpi resource node > + // > + if (AcpiConfig != NULL) { > + FreePool (AcpiConfig); > + } > + > + if (EFI_ERROR (Status)) { > + // > + // Destroy all the resource tree > + // > + DestroyResourceTree (&IoPool); > + DestroyResourceTree (&Mem32Pool); > + DestroyResourceTree (&PMem32Pool); > + DestroyResourceTree (&Mem64Pool); > + DestroyResourceTree (&PMem64Pool); > + return Status; > + } > + } > + // > + // End while, at least one Root Bridge should be found. > + // > + ASSERT (RootBridgeDev != NULL); > + > + // > + // Notify platform to start to program the resource > + // > + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeAllocateResources); > + DEBUG ((EFI_D_INFO, "PciBus: HostBridge- > >NotifyPhase(AllocateResources) - %r\n", Status)); > + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + // > + // If Hot Plug is not supported > + // > + if (EFI_ERROR (Status)) { > + // > + // Allocation failed, then return > + // > + return EFI_OUT_OF_RESOURCES; > + } > + // > + // Allocation succeed. > + // Get host bridge handle for status report, and then skip the main while > + // > + HandleExtendedData.Handle = RootBridgeDev->PciRootBridgeIo- > >ParentHandle; > + > + break; > + > + } else { > + // > + // If Hot Plug is supported > + // > + if (!EFI_ERROR (Status)) { > + // > + // Allocation succeed, then continue the following > + // > + break; > + } > + > + // > + // If the resource allocation is unsuccessful, free resources on bridge > + // > + > + RootBridgeDev = NULL; > + RootBridgeHandle = 0; > + > + IoResStatus = EFI_RESOURCE_SATISFIED; > + Mem32ResStatus = EFI_RESOURCE_SATISFIED; > + PMem32ResStatus = EFI_RESOURCE_SATISFIED; > + Mem64ResStatus = EFI_RESOURCE_SATISFIED; > + PMem64ResStatus = EFI_RESOURCE_SATISFIED; > + > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, > &RootBridgeHandle) == EFI_SUCCESS) { > + // > + // Get RootBridg Device by handle > + // > + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); > + if (RootBridgeDev == NULL) { > + return EFI_NOT_FOUND; > + } > + > + // > + // Get host bridge handle for status report > + // > + HandleExtendedData.Handle = RootBridgeDev->PciRootBridgeIo- > >ParentHandle; > + > + // > + // Get acpi resource node for all the resource types > + // > + AcpiConfig = NULL; > + > + Status = PciResAlloc->GetProposedResources ( > + PciResAlloc, > + RootBridgeDev->Handle, > + &AcpiConfig > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + if (AcpiConfig != NULL) { > + // > + // Adjust resource allocation policy for each RB > + // > + GetResourceAllocationStatus ( > + AcpiConfig, > + &IoResStatus, > + &Mem32ResStatus, > + &PMem32ResStatus, > + &Mem64ResStatus, > + &PMem64ResStatus > + ); > + FreePool (AcpiConfig); > + } > + } > + // > + // End while > + // > + > + // > + // Raise the EFI_IOB_EC_RESOURCE_CONFLICT status code > + // > + // > + // It is very difficult to follow the spec here > + // Device path , Bar index can not be get here > + // > + ZeroMem (&AllocFailExtendedData, sizeof (AllocFailExtendedData)); > + > + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( > + EFI_PROGRESS_CODE, > + EFI_IO_BUS_PCI | EFI_IOB_EC_RESOURCE_CONFLICT, > + (VOID *) &AllocFailExtendedData, > + sizeof (AllocFailExtendedData) > + ); > + > + // > + // When resource conflict happens, adjust the BAR size first. > + // Only when adjusting BAR size doesn't help or BAR size cannot be > adjusted, > + // reject the device who requests largest resource that causes conflict. > + // > + ResizableBarAdjusted = FALSE; > + if (ResizableBarNeedAdjust) { > + ResizableBarAdjusted = AdjustPciDeviceBarSize (RootBridgeDev); > + ResizableBarNeedAdjust = FALSE; > + } > + if (!ResizableBarAdjusted) { > + Status = PciHostBridgeAdjustAllocation ( > + &IoPool, > + &Mem32Pool, > + &PMem32Pool, > + &Mem64Pool, > + &PMem64Pool, > + IoResStatus, > + Mem32ResStatus, > + PMem32ResStatus, > + Mem64ResStatus, > + PMem64ResStatus > + ); > + } > + // > + // Destroy all the resource tree > + // > + DestroyResourceTree (&IoPool); > + DestroyResourceTree (&Mem32Pool); > + DestroyResourceTree (&PMem32Pool); > + DestroyResourceTree (&Mem64Pool); > + DestroyResourceTree (&PMem64Pool); > + > + NotifyPhase (PciResAlloc, EfiPciHostBridgeFreeResources); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + } > + } > + // > + // End main while > + // > + > + // > + // Raise the EFI_IOB_PCI_RES_ALLOC status code > + // > + REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( > + EFI_PROGRESS_CODE, > + EFI_IO_BUS_PCI | EFI_IOB_PCI_RES_ALLOC, > + (VOID *) &HandleExtendedData, > + sizeof (HandleExtendedData) > + ); > + > + // > + // Notify pci bus driver starts to program the resource > + // > + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeSetResources); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + RootBridgeDev = NULL; > + > + RootBridgeHandle = 0; > + > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) > == EFI_SUCCESS) { > + // > + // Get RootBridg Device by handle > + // > + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); > + > + if (RootBridgeDev == NULL) { > + return EFI_NOT_FOUND; > + } > + > + // > + // Get acpi resource node for all the resource types > + // > + AcpiConfig = NULL; > + Status = PciResAlloc->GetProposedResources ( > + PciResAlloc, > + RootBridgeDev->Handle, > + &AcpiConfig > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Get the resource base by interpreting acpi resource node > + // > + // > + GetResourceBase ( > + AcpiConfig, > + &IoBase, > + &Mem32Base, > + &PMem32Base, > + &Mem64Base, > + &PMem64Base > + ); > + > + // > + // Create the entire system resource map from the information collected > by > + // enumerator. Several resource tree was created > + // > + FindResourceNode (RootBridgeDev, &IoPool, &IoBridge); > + FindResourceNode (RootBridgeDev, &Mem32Pool, &Mem32Bridge); > + FindResourceNode (RootBridgeDev, &PMem32Pool, &PMem32Bridge); > + FindResourceNode (RootBridgeDev, &Mem64Pool, &Mem64Bridge); > + FindResourceNode (RootBridgeDev, &PMem64Pool, &PMem64Bridge); > + > + ASSERT (IoBridge != NULL); > + ASSERT (Mem32Bridge != NULL); > + ASSERT (PMem32Bridge != NULL); > + ASSERT (Mem64Bridge != NULL); > + ASSERT (PMem64Bridge != NULL); > + > + // > + // Program IO resources > + // > + ProgramResource ( > + IoBase, > + IoBridge > + ); > + > + // > + // Program Mem32 resources > + // > + ProgramResource ( > + Mem32Base, > + Mem32Bridge > + ); > + > + // > + // Program PMem32 resources > + // > + ProgramResource ( > + PMem32Base, > + PMem32Bridge > + ); > + > + // > + // Program Mem64 resources > + // > + ProgramResource ( > + Mem64Base, > + Mem64Bridge > + ); > + > + // > + // Program PMem64 resources > + // > + ProgramResource ( > + PMem64Base, > + PMem64Bridge > + ); > + > + // > + // Process Option ROM for this root bridge after all BARs are > programmed. > + // The PPB's MEM32 RANGE BAR is re-programmed to the Option ROM > BAR Base in order to > + // shadow the Option ROM of the devices under the PPB. > + // After the shadow, Option ROM BAR decoding is turned off and the > PPB's MEM32 RANGE > + // BAR is restored back to the original value. > + // The original value is programmed by ProgramResource() above. > + // > + DEBUG (( > + DEBUG_INFO, "Process Option ROM: BAR Base/Length = %lx/%lx\n", > + RootBridgeDev->PciBar[0].BaseAddress, RootBridgeDev- > >PciBar[0].Length > + )); > + ProcessOptionRom (RootBridgeDev, RootBridgeDev- > >PciBar[0].BaseAddress, RootBridgeDev->PciBar[0].Length); > + > + IoBridge ->PciDev->PciBar[IoBridge ->Bar].BaseAddress = IoBase; > + Mem32Bridge ->PciDev->PciBar[Mem32Bridge ->Bar].BaseAddress = > Mem32Base; > + PMem32Bridge->PciDev->PciBar[PMem32Bridge->Bar].BaseAddress = > PMem32Base; > + Mem64Bridge ->PciDev->PciBar[Mem64Bridge ->Bar].BaseAddress = > Mem64Base; > + PMem64Bridge->PciDev->PciBar[PMem64Bridge->Bar].BaseAddress = > PMem64Base; > + > + // > + // Dump the resource map for current root bridge > + // > + DEBUG_CODE ( > + PCI_RESOURCE_NODE *Resources[5]; > + Resources[0] = IoBridge; > + Resources[1] = Mem32Bridge; > + Resources[2] = PMem32Bridge; > + Resources[3] = Mem64Bridge; > + Resources[4] = PMem64Bridge; > + DumpResourceMap (RootBridgeDev, Resources, ARRAY_SIZE > (Resources)); > + ); > + > + FreePool (AcpiConfig); > + } > + > + // > + // Destroy all the resource tree > + // > + DestroyResourceTree (&IoPool); > + DestroyResourceTree (&Mem32Pool); > + DestroyResourceTree (&PMem32Pool); > + DestroyResourceTree (&Mem64Pool); > + DestroyResourceTree (&PMem64Pool); > + > + // > + // Notify the resource allocation phase is to end > + // > + Status = NotifyPhase (PciResAlloc, > EfiPciHostBridgeEndResourceAllocation); > + > + return Status; > +} > + > +/** > + Allocate NumberOfBuses buses and return the next available PCI bus > number. > + > + @param Bridge Bridge device instance. > + @param StartBusNumber Current available PCI bus number. > + @param NumberOfBuses Number of buses enumerated below the > StartBusNumber. > + @param NextBusNumber Next available PCI bus number. > + > + @retval EFI_SUCCESS Available bus number resource is enough. Next > available PCI bus number > + is returned in NextBusNumber. > + @retval EFI_OUT_OF_RESOURCES Available bus number resource is not > enough for allocation. > + > +**/ > +EFI_STATUS > +PciAllocateBusNumber ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber, > + IN UINT8 NumberOfBuses, > + OUT UINT8 *NextBusNumber > + ) > +{ > + PCI_IO_DEVICE *RootBridge; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BusNumberRanges; > + UINT8 NextNumber; > + UINT64 MaxNumberInRange; > + > + // > + // Get PCI Root Bridge device > + // > + RootBridge = Bridge; > + while (RootBridge->Parent != NULL) { > + RootBridge = RootBridge->Parent; > + } > + > + // > + // Get next available PCI bus number > + // > + BusNumberRanges = RootBridge->BusNumberRanges; > + while (BusNumberRanges->Desc != ACPI_END_TAG_DESCRIPTOR) { > + MaxNumberInRange = BusNumberRanges->AddrRangeMin + > BusNumberRanges->AddrLen - 1; > + if (StartBusNumber >= BusNumberRanges->AddrRangeMin && > StartBusNumber <= MaxNumberInRange) { > + NextNumber = (UINT8)(StartBusNumber + NumberOfBuses); > + while (NextNumber > MaxNumberInRange) { > + ++BusNumberRanges; > + if (BusNumberRanges->Desc == ACPI_END_TAG_DESCRIPTOR) { > + return EFI_OUT_OF_RESOURCES; > + } > + NextNumber = (UINT8)(NextNumber + (BusNumberRanges- > >AddrRangeMin - (MaxNumberInRange + 1))); > + MaxNumberInRange = BusNumberRanges->AddrRangeMin + > BusNumberRanges->AddrLen - 1; > + } > + *NextBusNumber = NextNumber; > + return EFI_SUCCESS; > + } > + BusNumberRanges++; > + } > + return EFI_OUT_OF_RESOURCES; > +} > + > +/** > + Scan pci bus and assign bus number to the given PCI bus system. > + > + @param Bridge Bridge device instance. > + @param StartBusNumber start point. > + @param SubBusNumber Point to sub bus number. > + @param PaddedBusRange Customized bus number. > + > + @retval EFI_SUCCESS Successfully scanned and assigned bus number. > + @retval other Some error occurred when scanning pci bus. > + > + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether > need support hotplug. > + > +**/ > +EFI_STATUS > +PciScanBus ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber, > + OUT UINT8 *SubBusNumber, > + OUT UINT8 *PaddedBusRange > + ) > +{ > + EFI_STATUS Status; > + PCI_TYPE00 Pci; > + UINT8 Device; > + UINT8 Func; > + UINT64 Address; > + UINT8 SecondBus; > + UINT8 PaddedSubBus; > + UINT16 Register; > + UINTN HpIndex; > + PCI_IO_DEVICE *PciDevice; > + EFI_EVENT Event; > + EFI_HPC_STATE State; > + UINT64 PciAddress; > + EFI_HPC_PADDING_ATTRIBUTES Attributes; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *NextDescriptors; > + UINT16 BusRange; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + BOOLEAN BusPadding; > + UINT32 TempReservedBusNum; > + > + PciRootBridgeIo = Bridge->PciRootBridgeIo; > + SecondBus = 0; > + Register = 0; > + State = 0; > + Attributes = (EFI_HPC_PADDING_ATTRIBUTES) 0; > + BusRange = 0; > + BusPadding = FALSE; > + PciDevice = NULL; > + PciAddress = 0; > + > + for (Device = 0; Device <= PCI_MAX_DEVICE; Device++) { > + TempReservedBusNum = 0; > + for (Func = 0; Func <= PCI_MAX_FUNC; Func++) { > + > + // > + // Check to see whether a pci device is present > + // > + Status = PciDevicePresent ( > + PciRootBridgeIo, > + &Pci, > + StartBusNumber, > + Device, > + Func > + ); > + > + if (EFI_ERROR (Status) && Func == 0) { > + // > + // go to next device if there is no Function 0 > + // > + break; > + } > + > + if (EFI_ERROR (Status)) { > + continue; > + } > + > + // > + // Get the PCI device information > + // > + Status = PciSearchDevice ( > + Bridge, > + &Pci, > + StartBusNumber, > + Device, > + Func, > + &PciDevice > + ); > + > + if (EFI_ERROR (Status)) { > + continue; > + } > + > + PciAddress = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, 0); > + > + if (!IS_PCI_BRIDGE (&Pci)) { > + // > + // PCI bridges will be called later > + // Here just need for PCI device or PCI to cardbus controller > + // EfiPciBeforeChildBusEnumeration for PCI Device Node > + // > + PreprocessController ( > + PciDevice, > + PciDevice->BusNumber, > + PciDevice->DeviceNumber, > + PciDevice->FunctionNumber, > + EfiPciBeforeChildBusEnumeration > + ); > + } > + > + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + // > + // For Pci Hotplug controller devcie only > + // > + if (gPciHotPlugInit != NULL) { > + // > + // Check if it is a Hotplug PCI controller > + // > + if (IsRootPciHotPlugController (PciDevice->DevicePath, &HpIndex)) { > + gPciRootHpcData[HpIndex].Found = TRUE; > + > + if (!gPciRootHpcData[HpIndex].Initialized) { > + > + Status = CreateEventForHpc (HpIndex, &Event); > + > + ASSERT (!EFI_ERROR (Status)); > + > + Status = gPciHotPlugInit->InitializeRootHpc ( > + gPciHotPlugInit, > + gPciRootHpcPool[HpIndex].HpcDevicePath, > + PciAddress, > + Event, > + &State > + ); > + > + PreprocessController ( > + PciDevice, > + PciDevice->BusNumber, > + PciDevice->DeviceNumber, > + PciDevice->FunctionNumber, > + EfiPciBeforeChildBusEnumeration > + ); > + } > + } > + } > + } > + > + if (IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci)) { > + // > + // For PPB > + // > + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + // > + // If Hot Plug is supported, > + // Get the bridge information > + // > + BusPadding = FALSE; > + if (gPciHotPlugInit != NULL) { > + > + if (IsPciHotPlugBus (PciDevice)) { > + > + // > + // If it is initialized, get the padded bus range > + // > + Status = gPciHotPlugInit->GetResourcePadding ( > + gPciHotPlugInit, > + PciDevice->DevicePath, > + PciAddress, > + &State, > + (VOID **) &Descriptors, > + &Attributes > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + BusRange = 0; > + NextDescriptors = Descriptors; > + Status = PciGetBusRange ( > + &NextDescriptors, > + NULL, > + NULL, > + &BusRange > + ); > + > + FreePool (Descriptors); > + > + if (!EFI_ERROR (Status)) { > + BusPadding = TRUE; > + } else if (Status != EFI_NOT_FOUND) { > + // > + // EFI_NOT_FOUND is not a real error. It indicates no bus number > padding requested. > + // > + return Status; > + } > + } > + } > + } > + > + Status = PciAllocateBusNumber (Bridge, *SubBusNumber, 1, > SubBusNumber); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + SecondBus = *SubBusNumber; > + > + Register = (UINT16) ((SecondBus << 8) | (UINT16) StartBusNumber); > + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, > PCI_BRIDGE_PRIMARY_BUS_REGISTER_OFFSET); > + > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint16, > + Address, > + 1, > + &Register > + ); > + > + > + // > + // If it is PPB, resursively search down this bridge > + // > + if (IS_PCI_BRIDGE (&Pci)) { > + > + // > + // Temporarily initialize SubBusNumber to maximum bus number to > ensure the > + // PCI configuration transaction to go through any PPB > + // > + Register = PciGetMaxBusNumber (Bridge); > + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, > PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET); > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint8, > + Address, > + 1, > + &Register > + ); > + > + // > + // Nofify EfiPciBeforeChildBusEnumeration for PCI Brige > + // > + PreprocessController ( > + PciDevice, > + PciDevice->BusNumber, > + PciDevice->DeviceNumber, > + PciDevice->FunctionNumber, > + EfiPciBeforeChildBusEnumeration > + ); > + > + Status = PciScanBus ( > + PciDevice, > + SecondBus, > + SubBusNumber, > + PaddedBusRange > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + } > + > + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport) && BusPadding) { > + // > + // Ensure the device is enabled and initialized > + // > + if ((Attributes == EfiPaddingPciRootBridge) && > + (State & EFI_HPC_STATE_ENABLED) != 0 && > + (State & EFI_HPC_STATE_INITIALIZED) != 0) { > + *PaddedBusRange = (UINT8) ((UINT8) (BusRange) + > *PaddedBusRange); > + } else { > + // > + // Reserve the larger one between the actual occupied bus number > and padded bus number > + // > + Status = PciAllocateBusNumber (PciDevice, SecondBus, (UINT8) > (BusRange), &PaddedSubBus); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + *SubBusNumber = MAX (PaddedSubBus, *SubBusNumber); > + } > + } > + > + // > + // Set the current maximum bus number under the PPB > + // > + Address = EFI_PCI_ADDRESS (StartBusNumber, Device, Func, > PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET); > + > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint8, > + Address, > + 1, > + SubBusNumber > + ); > + } else { > + // > + // It is device. Check PCI IOV for Bus reservation > + // Go through each function, just reserve the MAX ReservedBusNum > for one device > + // > + if (PcdGetBool (PcdSrIovSupport) && PciDevice->SrIovCapabilityOffset > != 0) { > + if (TempReservedBusNum < PciDevice->ReservedBusNum) { > + > + Status = PciAllocateBusNumber (PciDevice, *SubBusNumber, (UINT8) > (PciDevice->ReservedBusNum - TempReservedBusNum), SubBusNumber); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + TempReservedBusNum = PciDevice->ReservedBusNum; > + > + if (Func == 0) { > + DEBUG ((EFI_D_INFO, "PCI-IOV ScanBus - SubBusNumber - 0x%x\n", > *SubBusNumber)); > + } else { > + DEBUG ((EFI_D_INFO, "PCI-IOV ScanBus - SubBusNumber - 0x%x > (Update)\n", *SubBusNumber)); > + } > + } > + } > + } > + > + if (Func == 0 && !IS_PCI_MULTI_FUNC (&Pci)) { > + > + // > + // Skip sub functions, this is not a multi function device > + // > + > + Func = PCI_MAX_FUNC; > + } > + } > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Process Option Rom on the specified root bridge. > + > + @param Bridge Pci root bridge device instance. > + > + @retval EFI_SUCCESS Success process. > + @retval other Some error occurred when processing Option Rom on > the root bridge. > + > +**/ > +EFI_STATUS > +PciRootBridgeP2CProcess ( > + IN PCI_IO_DEVICE *Bridge > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_IO_DEVICE *Temp; > + EFI_HPC_STATE State; > + UINT64 PciAddress; > + EFI_STATUS Status; > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + if (IS_CARDBUS_BRIDGE (&Temp->Pci)) { > + > + if (gPciHotPlugInit != NULL && Temp->Allocated && FeaturePcdGet > (PcdPciBusHotplugDeviceSupport)) { > + > + // > + // Raise the EFI_IOB_PCI_HPC_INIT status code > + // > + REPORT_STATUS_CODE_WITH_DEVICE_PATH ( > + EFI_PROGRESS_CODE, > + EFI_IO_BUS_PCI | EFI_IOB_PCI_HPC_INIT, > + Temp->DevicePath > + ); > + > + PciAddress = EFI_PCI_ADDRESS (Temp->BusNumber, Temp- > >DeviceNumber, Temp->FunctionNumber, 0); > + Status = gPciHotPlugInit->InitializeRootHpc ( > + gPciHotPlugInit, > + Temp->DevicePath, > + PciAddress, > + NULL, > + &State > + ); > + > + if (!EFI_ERROR (Status)) { > + Status = PciBridgeEnumerator (Temp); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + continue; > + > + } > + } > + > + if (!IsListEmpty (&Temp->ChildList)) { > + Status = PciRootBridgeP2CProcess (Temp); > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Process Option Rom on the specified host bridge. > + > + @param PciResAlloc Pointer to instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + > + @retval EFI_SUCCESS Success process. > + @retval EFI_NOT_FOUND Can not find the root bridge instance. > + @retval other Some error occurred when processing Option Rom on > the host bridge. > + > +**/ > +EFI_STATUS > +PciHostBridgeP2CProcess ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ) > +{ > + EFI_HANDLE RootBridgeHandle; > + PCI_IO_DEVICE *RootBridgeDev; > + EFI_STATUS Status; > + > + if (!FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + return EFI_SUCCESS; > + } > + > + RootBridgeHandle = NULL; > + > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) > == EFI_SUCCESS) { > + > + // > + // Get RootBridg Device by handle > + // > + RootBridgeDev = GetRootBridgeByHandle (RootBridgeHandle); > + > + if (RootBridgeDev == NULL) { > + return EFI_NOT_FOUND; > + } > + > + Status = PciRootBridgeP2CProcess (RootBridgeDev); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + This function is used to enumerate the entire host bridge > + in a given platform. > + > + @param PciResAlloc A pointer to the PCI Host Resource Allocation > protocol. > + > + @retval EFI_SUCCESS Successfully enumerated the host bridge. > + @retval EFI_OUT_OF_RESOURCES No enough memory available. > + @retval other Some error occurred when enumerating the host > bridge. > + > +**/ > +EFI_STATUS > +PciHostBridgeEnumerator ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ) > +{ > + EFI_HANDLE RootBridgeHandle; > + PCI_IO_DEVICE *RootBridgeDev; > + EFI_STATUS Status; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + UINT16 MinBus; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Configuration; > + UINT8 StartBusNumber; > + LIST_ENTRY RootBridgeList; > + LIST_ENTRY *Link; > + > + if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > + InitializeHotPlugSupport (); > + } > + > + InitializeListHead (&RootBridgeList); > + > + // > + // Notify the bus allocation phase is about to start > + // > + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginBusAllocation); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + DEBUG((EFI_D_INFO, "PCI Bus First Scanning\n")); > + RootBridgeHandle = NULL; > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) > == EFI_SUCCESS) { > + > + // > + // if a root bridge instance is found, create root bridge device for it > + // > + > + RootBridgeDev = CreateRootBridge (RootBridgeHandle); > + > + if (RootBridgeDev == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + // > + // Enumerate all the buses under this root bridge > + // > + Status = PciRootBridgeEnumerator ( > + PciResAlloc, > + RootBridgeDev > + ); > + > + if (gPciHotPlugInit != NULL && FeaturePcdGet > (PcdPciBusHotplugDeviceSupport)) { > + InsertTailList (&RootBridgeList, &(RootBridgeDev->Link)); > + } else { > + DestroyRootBridge (RootBridgeDev); > + } > + if (EFI_ERROR (Status)) { > + return Status; > + } > + } > + > + // > + // Notify the bus allocation phase is finished for the first time > + // > + NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); > + > + if (gPciHotPlugInit != NULL && FeaturePcdGet > (PcdPciBusHotplugDeviceSupport)) { > + // > + // Reset all assigned PCI bus number in all PPB > + // > + RootBridgeHandle = NULL; > + Link = GetFirstNode (&RootBridgeList); > + while ((PciResAlloc->GetNextRootBridge (PciResAlloc, > &RootBridgeHandle) == EFI_SUCCESS) && > + (!IsNull (&RootBridgeList, Link))) { > + RootBridgeDev = PCI_IO_DEVICE_FROM_LINK (Link); > + // > + // Get the Bus information > + // > + Status = PciResAlloc->StartBusEnumeration ( > + PciResAlloc, > + RootBridgeHandle, > + (VOID **) &Configuration > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Get the bus number to start with > + // > + StartBusNumber = (UINT8) (Configuration->AddrRangeMin); > + > + ResetAllPpbBusNumber ( > + RootBridgeDev, > + StartBusNumber > + ); > + > + FreePool (Configuration); > + Link = RemoveEntryList (Link); > + DestroyRootBridge (RootBridgeDev); > + } > + > + // > + // Wait for all HPC initialized > + // > + Status = AllRootHPCInitialized (STALL_1_SECOND * 15); > + > + if (EFI_ERROR (Status)) { > + DEBUG ((EFI_D_ERROR, "Some root HPC failed to initialize\n")); > + return Status; > + } > + > + // > + // Notify the bus allocation phase is about to start for the 2nd time > + // > + Status = NotifyPhase (PciResAlloc, EfiPciHostBridgeBeginBusAllocation); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + DEBUG((EFI_D_INFO, "PCI Bus Second Scanning\n")); > + RootBridgeHandle = NULL; > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, > &RootBridgeHandle) == EFI_SUCCESS) { > + > + // > + // if a root bridge instance is found, create root bridge device for it > + // > + RootBridgeDev = CreateRootBridge (RootBridgeHandle); > + > + if (RootBridgeDev == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + // > + // Enumerate all the buses under this root bridge > + // > + Status = PciRootBridgeEnumerator ( > + PciResAlloc, > + RootBridgeDev > + ); > + > + DestroyRootBridge (RootBridgeDev); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + } > + > + // > + // Notify the bus allocation phase is to end for the 2nd time > + // > + NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); > + } > + > + // > + // Notify the resource allocation phase is to start > + // > + Status = NotifyPhase (PciResAlloc, > EfiPciHostBridgeBeginResourceAllocation); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + RootBridgeHandle = NULL; > + while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) > == EFI_SUCCESS) { > + > + // > + // if a root bridge instance is found, create root bridge device for it > + // > + RootBridgeDev = CreateRootBridge (RootBridgeHandle); > + > + if (RootBridgeDev == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + Status = StartManagingRootBridge (RootBridgeDev); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + PciRootBridgeIo = RootBridgeDev->PciRootBridgeIo; > + Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **) > &Descriptors); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status = PciGetBusRange (&Descriptors, &MinBus, NULL, NULL); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + // > + // Determine root bridge attribute by calling interface of Pcihostbridge > + // protocol > + // > + DetermineRootBridgeAttributes ( > + PciResAlloc, > + RootBridgeDev > + ); > + > + // > + // Collect all the resource information under this root bridge > + // A database that records all the information about pci device subject to > this > + // root bridge will then be created > + // > + Status = PciPciDeviceInfoCollector ( > + RootBridgeDev, > + (UINT8) MinBus > + ); > + > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + InsertRootBridge (RootBridgeDev); > + > + // > + // Record the hostbridge handle > + // > + AddHostBridgeEnumerator (RootBridgeDev->PciRootBridgeIo- > >ParentHandle); > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + This function is used to program the Resizable BAR Register. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param ResizableBarOp PciResizableBarMax: Set BAR to max size > + PciResizableBarMin: set BAR to min size. > + > + @retval EFI_SUCCESS Successfully enumerated the host bridge. > + @retval other Some error occurred when enumerating the host > bridge. > + > +**/ > +EFI_STATUS > +PciProgramResizableBar ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN PCI_RESIZABLE_BAR_OPERATION ResizableBarOp > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT64 Capabilities; > + UINT32 Index; > + UINT32 Offset; > + INTN Bit; > + UINTN ResizableBarNumber; > + EFI_STATUS Status; > + PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY > Entries[PCI_MAX_BAR]; > + > + ASSERT (PciIoDevice->ResizableBarOffset != 0); > + > + DEBUG ((DEBUG_INFO, " Programs Resizable BAR register, offset: > 0x%08x, number: %d\n", > + PciIoDevice->ResizableBarOffset, PciIoDevice->ResizableBarNumber)); > + > + ResizableBarNumber = MIN (PciIoDevice->ResizableBarNumber, > PCI_MAX_BAR); > + PciIo = &PciIoDevice->PciIo; > + Status = PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint8, > + PciIoDevice->ResizableBarOffset + sizeof > (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER), > + sizeof > (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY) * > ResizableBarNumber, > + (VOID *)(&Entries) > + ); > + ASSERT_EFI_ERROR (Status); > + > + for (Index = 0; Index < ResizableBarNumber; Index++) { > + > + // > + // When the bit of Capabilities Set, indicates that the Function supports > + // operating with the BAR sized to (2^Bit) MB. > + // Example: > + // Bit 0 is set: supports operating with the BAR sized to 1 MB > + // Bit 1 is set: supports operating with the BAR sized to 2 MB > + // Bit n is set: supports operating with the BAR sized to (2^n) MB > + // > + Capabilities = > LShiftU64(Entries[Index].ResizableBarControl.Bits.BarSizeCapability, 28) > + | Entries[Index].ResizableBarCapability.Bits.BarSizeCapability; > + > + if (ResizableBarOp == PciResizableBarMax) { > + Bit = HighBitSet64(Capabilities); > + } else { > + ASSERT (ResizableBarOp == PciResizableBarMin); > + Bit = LowBitSet64(Capabilities); > + } > + > + ASSERT (Bit >= 0); > + > + Offset = PciIoDevice->ResizableBarOffset + sizeof > (PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER) > + + Index * sizeof > (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY) > + + OFFSET_OF > (PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY, > ResizableBarControl); > + > + Entries[Index].ResizableBarControl.Bits.BarSize = (UINT32) Bit; > + DEBUG (( > + DEBUG_INFO, > + " Resizable Bar: Offset = 0x%x, Bar Size Capability = 0x%016lx, New Bar > Size = 0x%lx\n", > + OFFSET_OF (PCI_TYPE00, > Device.Bar[Entries[Index].ResizableBarControl.Bits.BarIndex]), > + Capabilities, LShiftU64 (SIZE_1MB, Bit) > + )); > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + Offset, > + 1, > + &Entries[Index].ResizableBarControl.Uint32 > + ); > + } > + > + return EFI_SUCCESS; > +} > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciLib.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciLib.h > new file mode 100644 > index 0000000000..70ab07a8c3 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciLib.h > @@ -0,0 +1,179 @@ > +/** @file > + Internal library declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_LIB_H_ > +#define _EFI_PCI_LIB_H_ > + > + > +typedef struct { > + EFI_HANDLE Handle; > +} EFI_DEVICE_HANDLE_EXTENDED_DATA_PAYLOAD; > + > +typedef struct { > + UINT32 Bar; > + UINT16 DevicePathSize; > + UINT16 ReqResSize; > + UINT16 AllocResSize; > + UINT8 *DevicePath; > + UINT8 *ReqRes; > + UINT8 *AllocRes; > +} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD; > + > +typedef enum { > + PciResizableBarMin = 0x00, > + PciResizableBarMax = 0xFF > +} PCI_RESIZABLE_BAR_OPERATION; > + > +/** > + Retrieve the PCI Card device BAR information via PciIo interface. > + > + @param PciIoDevice PCI Card device instance. > + > +**/ > +VOID > +GetBackPcCardBar ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Remove rejected pci device from specific root bridge > + handle. > + > + @param RootBridgeHandle Specific parent root bridge handle. > + @param Bridge Bridge device instance. > + > +**/ > +VOID > +RemoveRejectedPciDevices ( > + IN EFI_HANDLE RootBridgeHandle, > + IN PCI_IO_DEVICE *Bridge > + ); > + > +/** > + Submits the I/O and memory resource requirements for the specified PCI > Host Bridge. > + > + @param PciResAlloc Point to protocol instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + > + @retval EFI_SUCCESS Successfully finished resource allocation. > + @retval EFI_NOT_FOUND Cannot get root bridge instance. > + @retval EFI_OUT_OF_RESOURCES Platform failed to program the > resources if no hot plug supported. > + @retval other Some error occurred when allocating resources for > the PCI Host Bridge. > + > + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether > need support hotplug. > + > +**/ > +EFI_STATUS > +PciHostBridgeResourceAllocator ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ); > + > +/** > + Allocate NumberOfBuses buses and return the next available PCI bus > number. > + > + @param Bridge Bridge device instance. > + @param StartBusNumber Current available PCI bus number. > + @param NumberOfBuses Number of buses enumerated below the > StartBusNumber. > + @param NextBusNumber Next available PCI bus number. > + > + @retval EFI_SUCCESS Available bus number resource is enough. Next > available PCI bus number > + is returned in NextBusNumber. > + @retval EFI_OUT_OF_RESOURCES Available bus number resource is not > enough for allocation. > + > +**/ > +EFI_STATUS > +PciAllocateBusNumber ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber, > + IN UINT8 NumberOfBuses, > + OUT UINT8 *NextBusNumber > + ); > + > +/** > + Scan pci bus and assign bus number to the given PCI bus system. > + > + @param Bridge Bridge device instance. > + @param StartBusNumber start point. > + @param SubBusNumber Point to sub bus number. > + @param PaddedBusRange Customized bus number. > + > + @retval EFI_SUCCESS Successfully scanned and assigned bus number. > + @retval other Some error occurred when scanning pci bus. > + > + @note Feature flag PcdPciBusHotplugDeviceSupport determine whether > need support hotplug. > + > +**/ > +EFI_STATUS > +PciScanBus ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT8 StartBusNumber, > + OUT UINT8 *SubBusNumber, > + OUT UINT8 *PaddedBusRange > + ); > + > +/** > + Process Option Rom on the specified root bridge. > + > + @param Bridge Pci root bridge device instance. > + > + @retval EFI_SUCCESS Success process. > + @retval other Some error occurred when processing Option Rom on > the root bridge. > + > +**/ > +EFI_STATUS > +PciRootBridgeP2CProcess ( > + IN PCI_IO_DEVICE *Bridge > + ); > + > +/** > + Process Option Rom on the specified host bridge. > + > + @param PciResAlloc Pointer to instance of > EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. > + > + @retval EFI_SUCCESS Success process. > + @retval EFI_NOT_FOUND Can not find the root bridge instance. > + @retval other Some error occurred when processing Option Rom on > the host bridge. > + > +**/ > +EFI_STATUS > +PciHostBridgeP2CProcess ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ); > + > +/** > + This function is used to enumerate the entire host bridge > + in a given platform. > + > + @param PciResAlloc A pointer to the PCI Host Resource Allocation > protocol. > + > + @retval EFI_SUCCESS Successfully enumerated the host bridge. > + @retval EFI_OUT_OF_RESOURCES No enough memory available. > + @retval other Some error occurred when enumerating the host > bridge. > + > +**/ > +EFI_STATUS > +PciHostBridgeEnumerator ( > + IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL > *PciResAlloc > + ); > + > +/** > + This function is used to program the Resizable BAR Register. > + > + @param PciIoDevice A pointer to the PCI_IO_DEVICE. > + @param ResizableBarOp PciResizableBarMax: Set BAR to max size > + PciResizableBarMin: set BAR to min size. > + > + @retval EFI_SUCCESS Successfully enumerated the host bridge. > + @retval other Some error occurred when enumerating the host > bridge. > + > +**/ > +EFI_STATUS > +PciProgramResizableBar ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN PCI_RESIZABLE_BAR_OPERATION ResizableBarOp > + ); > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciOptionRomSupport.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciOptionRomSupport.c > new file mode 100644 > index 0000000000..efdfa2d415 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciOptionRomSupport.c > @@ -0,0 +1,776 @@ > +/** @file > + PCI Rom supporting funtions implementation for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2021, American Megatrends International LLC.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +/** > + Load the EFI Image from Option ROM > + > + @param PciIoDevice PCI IO device instance. > + @param FilePath The file path of the EFI Image > + @param BufferSize On input the size of Buffer in bytes. On output with a > return > + code of EFI_SUCCESS, the amount of data transferred to Buffer. > + On output with a return code of EFI_BUFFER_TOO_SMALL, > + the size of Buffer required to retrieve the requested file. > + @param Buffer The memory buffer to transfer the file to. If Buffer is > NULL, > + then no the size of the requested file is returned in BufferSize. > + > + @retval EFI_SUCCESS The file was loaded. > + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or > + BufferSize is NULL. > + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. > + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom > image. > + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the > current directory entry. > + BufferSize has been updated with the size needed to > complete the request. > +**/ > +EFI_STATUS > +LocalLoadFile2 ( > + IN PCI_IO_DEVICE *PciIoDevice, > + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, > + IN OUT UINTN *BufferSize, > + IN VOID *Buffer OPTIONAL > + ) > +{ > + EFI_STATUS Status; > + MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH > *EfiOpRomImageNode; > + EFI_PCI_EXPANSION_ROM_HEADER *EfiRomHeader; > + PCI_DATA_STRUCTURE *Pcir; > + UINT32 ImageSize; > + UINT8 *ImageBuffer; > + UINT32 ImageLength; > + UINT32 DestinationSize; > + UINT32 ScratchSize; > + VOID *Scratch; > + EFI_DECOMPRESS_PROTOCOL *Decompress; > + UINT32 InitializationSize; > + > + EfiOpRomImageNode = > (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *) FilePath; > + if ((EfiOpRomImageNode == NULL) || > + (DevicePathType (FilePath) != MEDIA_DEVICE_PATH) || > + (DevicePathSubType (FilePath) != > MEDIA_RELATIVE_OFFSET_RANGE_DP) || > + (DevicePathNodeLength (FilePath) != sizeof > (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH)) || > + (!IsDevicePathEnd (NextDevicePathNode (FilePath))) || > + (EfiOpRomImageNode->StartingOffset > EfiOpRomImageNode- > >EndingOffset) || > + (EfiOpRomImageNode->EndingOffset >= PciIoDevice->RomSize) || > + (BufferSize == NULL) > + ) { > + return EFI_INVALID_PARAMETER; > + } > + > + EfiRomHeader = (EFI_PCI_EXPANSION_ROM_HEADER *) ( > + (UINT8 *) PciIoDevice->PciIo.RomImage + EfiOpRomImageNode- > >StartingOffset > + ); > + if (EfiRomHeader->Signature != > PCI_EXPANSION_ROM_HEADER_SIGNATURE) { > + return EFI_NOT_FOUND; > + } > + > + > + Pcir = (PCI_DATA_STRUCTURE *) ((UINT8 *) EfiRomHeader + > EfiRomHeader->PcirOffset); > + ASSERT (Pcir->Signature == PCI_DATA_STRUCTURE_SIGNATURE); > + > + if ((Pcir->CodeType == PCI_CODE_TYPE_EFI_IMAGE) && > + (EfiRomHeader->EfiSignature == > EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE) && > + ((EfiRomHeader->EfiSubsystem == > EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) || > + (EfiRomHeader->EfiSubsystem == > EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER)) && > + (EfiRomHeader->CompressionType <= > EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) > + ) { > + > + ImageSize = Pcir->ImageLength * 512; > + InitializationSize = (UINT32) EfiRomHeader->InitializationSize * 512; > + if (InitializationSize > ImageSize || EfiRomHeader->EfiImageHeaderOffset > >= InitializationSize) { > + return EFI_NOT_FOUND; > + } > + > + ImageBuffer = (UINT8 *) EfiRomHeader + EfiRomHeader- > >EfiImageHeaderOffset; > + ImageLength = InitializationSize - EfiRomHeader- > >EfiImageHeaderOffset; > + > + if (EfiRomHeader->CompressionType != > EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) { > + // > + // Uncompressed: Copy the EFI Image directly to user's buffer > + // > + if (Buffer == NULL || *BufferSize < ImageLength) { > + *BufferSize = ImageLength; > + return EFI_BUFFER_TOO_SMALL; > + } > + > + *BufferSize = ImageLength; > + CopyMem (Buffer, ImageBuffer, ImageLength); > + return EFI_SUCCESS; > + > + } else { > + // > + // Compressed: Uncompress before copying > + // > + Status = gBS->LocateProtocol (&gEfiDecompressProtocolGuid, NULL, > (VOID **) &Decompress); > + if (EFI_ERROR (Status)) { > + return EFI_DEVICE_ERROR; > + } > + Status = Decompress->GetInfo ( > + Decompress, > + ImageBuffer, > + ImageLength, > + &DestinationSize, > + &ScratchSize > + ); > + if (EFI_ERROR (Status)) { > + return EFI_DEVICE_ERROR; > + } > + > + if (Buffer == NULL || *BufferSize < DestinationSize) { > + *BufferSize = DestinationSize; > + return EFI_BUFFER_TOO_SMALL; > + } > + > + *BufferSize = DestinationSize; > + Scratch = AllocatePool (ScratchSize); > + if (Scratch == NULL) { > + return EFI_DEVICE_ERROR; > + } > + > + Status = Decompress->Decompress ( > + Decompress, > + ImageBuffer, > + ImageLength, > + Buffer, > + DestinationSize, > + Scratch, > + ScratchSize > + ); > + FreePool (Scratch); > + > + if (EFI_ERROR (Status)) { > + return EFI_DEVICE_ERROR; > + } > + return EFI_SUCCESS; > + } > + } > + > + return EFI_NOT_FOUND; > +} > + > +/** > + Initialize a PCI LoadFile2 instance. > + > + @param PciIoDevice PCI IO Device. > + > +**/ > +VOID > +InitializePciLoadFile2 ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + PciIoDevice->LoadFile2.LoadFile = LoadFile2; > +} > + > +/** > + Causes the driver to load a specified file. > + > + @param This Indicates a pointer to the calling context. > + @param FilePath The device specific path of the file to load. > + @param BootPolicy Should always be FALSE. > + @param BufferSize On input the size of Buffer in bytes. On output with a > return > + code of EFI_SUCCESS, the amount of data transferred to Buffer. > + On output with a return code of EFI_BUFFER_TOO_SMALL, > + the size of Buffer required to retrieve the requested file. > + @param Buffer The memory buffer to transfer the file to. If Buffer is > NULL, > + then no the size of the requested file is returned in BufferSize. > + > + @retval EFI_SUCCESS The file was loaded. > + @retval EFI_UNSUPPORTED BootPolicy is TRUE. > + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or > + BufferSize is NULL. > + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. > + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom > image. > + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the > current directory entry. > + BufferSize has been updated with the size needed to > complete the request. > + > +**/ > +EFI_STATUS > +EFIAPI > +LoadFile2 ( > + IN EFI_LOAD_FILE2_PROTOCOL *This, > + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, > + IN BOOLEAN BootPolicy, > + IN OUT UINTN *BufferSize, > + IN VOID *Buffer OPTIONAL > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + > + if (BootPolicy) { > + return EFI_UNSUPPORTED; > + } > + PciIoDevice = PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS (This); > + > + return LocalLoadFile2 ( > + PciIoDevice, > + FilePath, > + BufferSize, > + Buffer > + ); > +} > + > +/** > + Get Pci device's oprom information. > + > + @param PciIoDevice Input Pci device instance. > + Output Pci device instance with updated OptionRom size. > + > + @retval EFI_NOT_FOUND Pci device has not Option Rom. > + @retval EFI_SUCCESS Pci device has Option Rom. > + > +**/ > +EFI_STATUS > +GetOpRomInfo ( > + IN OUT PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + UINT8 RomBarIndex; > + UINT32 AllOnes; > + UINT64 Address; > + EFI_STATUS Status; > + UINT8 Bus; > + UINT8 Device; > + UINT8 Function; > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + > + Bus = PciIoDevice->BusNumber; > + Device = PciIoDevice->DeviceNumber; > + Function = PciIoDevice->FunctionNumber; > + > + PciRootBridgeIo = PciIoDevice->PciRootBridgeIo; > + > + // > + // Offset is 0x30 if is not ppb > + // > + > + // > + // 0x30 > + // > + RomBarIndex = PCI_EXPANSION_ROM_BASE; > + > + if (IS_PCI_BRIDGE (&PciIoDevice->Pci)) { > + // > + // If is ppb, 0x38 > + // > + RomBarIndex = PCI_BRIDGE_ROMBAR; > + } > + // > + // The bit0 is 0 to prevent the enabling of the Rom address decoder > + // > + AllOnes = 0xfffffffe; > + Address = EFI_PCI_ADDRESS (Bus, Device, Function, RomBarIndex); > + > + Status = PciRootBridgeIo->Pci.Write ( > + PciRootBridgeIo, > + EfiPciWidthUint32, > + Address, > + 1, > + &AllOnes > + ); > + if (EFI_ERROR (Status)) { > + return EFI_NOT_FOUND; > + } > + > + // > + // Read back > + // > + Status = PciRootBridgeIo->Pci.Read( > + PciRootBridgeIo, > + EfiPciWidthUint32, > + Address, > + 1, > + &AllOnes > + ); > + if (EFI_ERROR (Status)) { > + return EFI_NOT_FOUND; > + } > + > + // > + // Bits [1, 10] are reserved > + // > + AllOnes &= 0xFFFFF800; > + if ((AllOnes == 0) || (AllOnes == 0xFFFFF800)) { > + return EFI_NOT_FOUND; > + } > + > + PciIoDevice->RomSize = (~AllOnes) + 1; > + return EFI_SUCCESS; > +} > + > +/** > + Check if the RomImage contains EFI Images. > + > + @param RomImage The ROM address of Image for check. > + @param RomSize Size of ROM for check. > + > + @retval TRUE ROM contain EFI Image. > + @retval FALSE ROM not contain EFI Image. > + > +**/ > +BOOLEAN > +ContainEfiImage ( > + IN VOID *RomImage, > + IN UINT64 RomSize > + ) > +{ > + PCI_EXPANSION_ROM_HEADER *RomHeader; > + PCI_DATA_STRUCTURE *RomPcir; > + UINT8 Indicator; > + > + Indicator = 0; > + RomHeader = RomImage; > + if (RomHeader == NULL) { > + return FALSE; > + } > + > + do { > + if (RomHeader->Signature != > PCI_EXPANSION_ROM_HEADER_SIGNATURE) { > + RomHeader = (PCI_EXPANSION_ROM_HEADER *) ((UINT8 *) > RomHeader + 512); > + continue; > + } > + > + // > + // The PCI Data Structure must be DWORD aligned. > + // > + if (RomHeader->PcirOffset == 0 || > + (RomHeader->PcirOffset & 3) != 0 || > + (UINT8 *) RomHeader + RomHeader->PcirOffset + sizeof > (PCI_DATA_STRUCTURE) > (UINT8 *) RomImage + RomSize) { > + break; > + } > + > + RomPcir = (PCI_DATA_STRUCTURE *) ((UINT8 *) RomHeader + > RomHeader->PcirOffset); > + if (RomPcir->Signature != PCI_DATA_STRUCTURE_SIGNATURE) { > + break; > + } > + > + if (RomPcir->CodeType == PCI_CODE_TYPE_EFI_IMAGE) { > + return TRUE; > + } > + > + Indicator = RomPcir->Indicator; > + RomHeader = (PCI_EXPANSION_ROM_HEADER *) ((UINT8 *) RomHeader > + RomPcir->ImageLength * 512); > + } while (((UINT8 *) RomHeader < (UINT8 *) RomImage + RomSize) && > ((Indicator & 0x80) == 0x00)); > + > + return FALSE; > +} > + > +/** > + Load Option Rom image for specified PCI device. > + > + @param PciDevice Pci device instance. > + @param RomBase Base address of Option Rom. > + > + @retval EFI_OUT_OF_RESOURCES No enough memory to hold image. > + @retval EFI_SUCESS Successfully loaded Option Rom. > + > +**/ > +EFI_STATUS > +LoadOpRomImage ( > + IN PCI_IO_DEVICE *PciDevice, > + IN UINT64 RomBase > + ) > +{ > + UINT8 RomBarIndex; > + UINT8 Indicator; > + UINT16 OffsetPcir; > + UINT32 RomBarOffset; > + UINT32 RomBar; > + EFI_STATUS RetStatus; > + BOOLEAN FirstCheck; > + UINT8 *Image; > + PCI_EXPANSION_ROM_HEADER *RomHeader; > + PCI_DATA_STRUCTURE *RomPcir; > + UINT64 RomSize; > + UINT64 RomImageSize; > + UINT32 LegacyImageLength; > + UINT8 *RomInMemory; > + UINT8 CodeType; > + > + RomSize = PciDevice->RomSize; > + > + Indicator = 0; > + RomImageSize = 0; > + RomInMemory = NULL; > + CodeType = 0xFF; > + > + // > + // Get the RomBarIndex > + // > + > + // > + // 0x30 > + // > + RomBarIndex = PCI_EXPANSION_ROM_BASE; > + if (IS_PCI_BRIDGE (&(PciDevice->Pci))) { > + // > + // if is ppb > + // > + > + // > + // 0x38 > + // > + RomBarIndex = PCI_BRIDGE_ROMBAR; > + } > + // > + // Allocate memory for Rom header and PCIR > + // > + RomHeader = AllocatePool (sizeof (PCI_EXPANSION_ROM_HEADER)); > + if (RomHeader == NULL) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + RomPcir = AllocatePool (sizeof (PCI_DATA_STRUCTURE)); > + if (RomPcir == NULL) { > + FreePool (RomHeader); > + return EFI_OUT_OF_RESOURCES; > + } > + > + RomBar = (UINT32) RomBase; > + > + // > + // Enable RomBar > + // > + RomDecode (PciDevice, RomBarIndex, RomBar, TRUE); > + > + RomBarOffset = RomBar; > + RetStatus = EFI_NOT_FOUND; > + FirstCheck = TRUE; > + LegacyImageLength = 0; > + > + do { > + PciDevice->PciRootBridgeIo->Mem.Read ( > + PciDevice->PciRootBridgeIo, > + EfiPciWidthUint8, > + RomBarOffset, > + sizeof (PCI_EXPANSION_ROM_HEADER), > + (UINT8 *) RomHeader > + ); > + > + if (RomHeader->Signature != > PCI_EXPANSION_ROM_HEADER_SIGNATURE) { > + RomBarOffset = RomBarOffset + 512; > + if (FirstCheck) { > + break; > + } else { > + RomImageSize = RomImageSize + 512; > + continue; > + } > + } > + > + FirstCheck = FALSE; > + OffsetPcir = RomHeader->PcirOffset; > + // > + // If the pointer to the PCI Data Structure is invalid, no further images can > be located. > + // The PCI Data Structure must be DWORD aligned. > + // > + if (OffsetPcir == 0 || > + (OffsetPcir & 3) != 0 || > + RomImageSize + OffsetPcir + sizeof (PCI_DATA_STRUCTURE) > > RomSize) { > + break; > + } > + PciDevice->PciRootBridgeIo->Mem.Read ( > + PciDevice->PciRootBridgeIo, > + EfiPciWidthUint8, > + RomBarOffset + OffsetPcir, > + sizeof (PCI_DATA_STRUCTURE), > + (UINT8 *) RomPcir > + ); > + // > + // If a valid signature is not present in the PCI Data Structure, no further > images can be located. > + // > + if (RomPcir->Signature != PCI_DATA_STRUCTURE_SIGNATURE) { > + break; > + } > + if (RomImageSize + RomPcir->ImageLength * 512 > RomSize) { > + break; > + } > + if (RomPcir->CodeType == PCI_CODE_TYPE_PCAT_IMAGE) { > + CodeType = PCI_CODE_TYPE_PCAT_IMAGE; > + LegacyImageLength = > ((UINT32)((EFI_LEGACY_EXPANSION_ROM_HEADER *)RomHeader)- > >Size512) * 512; > + } > + Indicator = RomPcir->Indicator; > + RomImageSize = RomImageSize + RomPcir->ImageLength * 512; > + RomBarOffset = RomBarOffset + RomPcir->ImageLength * 512; > + } while (((Indicator & 0x80) == 0x00) && ((RomBarOffset - RomBar) < > RomSize)); > + > + // > + // Some Legacy Cards do not report the correct ImageLength so used the > maximum > + // of the legacy length and the PCIR Image Length > + // > + if (CodeType == PCI_CODE_TYPE_PCAT_IMAGE) { > + RomImageSize = MAX (RomImageSize, LegacyImageLength); > + } > + > + if (RomImageSize > 0) { > + RetStatus = EFI_SUCCESS; > + Image = AllocatePool ((UINT32) RomImageSize); > + if (Image == NULL) { > + RomDecode (PciDevice, RomBarIndex, RomBar, FALSE); > + FreePool (RomHeader); > + FreePool (RomPcir); > + return EFI_OUT_OF_RESOURCES; > + } > + > + // > + // Copy Rom image into memory > + // > + PciDevice->PciRootBridgeIo->Mem.Read ( > + PciDevice->PciRootBridgeIo, > + EfiPciWidthUint8, > + RomBar, > + (UINT32) RomImageSize, > + Image > + ); > + RomInMemory = Image; > + } > + > + RomDecode (PciDevice, RomBarIndex, RomBar, FALSE); > + > + PciDevice->EmbeddedRom = TRUE; > + PciDevice->PciIo.RomSize = RomImageSize; > + PciDevice->PciIo.RomImage = RomInMemory; > + > + //TiogaPass Override START : Skip OPROM - Mellanox card which has SSVID > 0x15B3 and SSDID 0x0031 > + if (PciDevice->Pci.Hdr.VendorId == 0x15B3 && PciDevice->Pci.Hdr.DeviceId > == 0x1015) { > + if (PciDevice->Pci.Device.SubsystemVendorID == 0x15B3 && PciDevice- > >Pci.Device.SubsystemID == 0x0031) { > + PciDevice->PciIo.RomImage = NULL; > + PciDevice->PciIo.RomSize = 0; > + DEBUG((DEBUG_ERROR,"Device_MLX @ [B%X|D%X|F%X], VID=%X, > DID=%X SVID=%X, SVDID=%XOverrides ROM file @ %X size=%X .\n\n", > + PciDevice->BusNumber, PciDevice->DeviceNumber, PciDevice- > >FunctionNumber, > + PciDevice->Pci.Hdr.VendorId, PciDevice->Pci.Hdr.DeviceId, > PciDevice->Pci.Device.SubsystemVendorID,PciDevice- > >Pci.Device.SubsystemID,PciDevice->PciIo.RomImage, PciDevice- > >PciIo.RomSize)); > + } > + } > + //TiogaPass Override END > + > + // For OpROM read from PCI device: > + // Add the Rom Image to internal database for later PCI light enumeration > + // > + PciRomAddImageMapping ( > + NULL, > + PciDevice->PciRootBridgeIo->SegmentNumber, > + PciDevice->BusNumber, > + PciDevice->DeviceNumber, > + PciDevice->FunctionNumber, > + PciDevice->PciIo.RomImage, > + PciDevice->PciIo.RomSize > + ); > + > + // > + // Free allocated memory > + // > + FreePool (RomHeader); > + FreePool (RomPcir); > + > + return RetStatus; > +} > + > +/** > + Enable/Disable Option Rom decode. > + > + @param PciDevice Pci device instance. > + @param RomBarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for resource range. The legal range for this field is > 0..5. > + @param RomBar Base address of Option Rom. > + @param Enable Flag for enable/disable decode. > + > +**/ > +VOID > +RomDecode ( > + IN PCI_IO_DEVICE *PciDevice, > + IN UINT8 RomBarIndex, > + IN UINT32 RomBar, > + IN BOOLEAN Enable > + ) > +{ > + UINT32 Value32; > + EFI_PCI_IO_PROTOCOL *PciIo; > + > + PciIo = &PciDevice->PciIo; > + if (Enable) { > + > + // > + // set the Rom base address: now is hardcode > + // enable its decoder > + // > + Value32 = RomBar | 0x1; > + PciIo->Pci.Write ( > + PciIo, > + (EFI_PCI_IO_PROTOCOL_WIDTH) EfiPciWidthUint32, > + RomBarIndex, > + 1, > + &Value32 > + ); > + > + // > + // Programe all upstream bridge > + // > + ProgramUpstreamBridgeForRom (PciDevice, RomBar, TRUE); > + > + // > + // Setting the memory space bit in the function's command register > + // > + PCI_ENABLE_COMMAND_REGISTER(PciDevice, > EFI_PCI_COMMAND_MEMORY_SPACE); > + > + } else { > + > + // > + // disable command register decode to memory > + // > + PCI_DISABLE_COMMAND_REGISTER(PciDevice, > EFI_PCI_COMMAND_MEMORY_SPACE); > + > + // > + // Destroy the programmed bar in all the upstream bridge. > + // > + ProgramUpstreamBridgeForRom (PciDevice, RomBar, FALSE); > + > + // > + // disable rom decode > + // > + Value32 = 0xFFFFFFFE; > + PciIo->Pci.Write ( > + PciIo, > + (EFI_PCI_IO_PROTOCOL_WIDTH) EfiPciWidthUint32, > + RomBarIndex, > + 1, > + &Value32 > + ); > + > + } > +} > + > +/** > + Load and start the Option Rom image. > + > + @param PciDevice Pci device instance. > + > + @retval EFI_SUCCESS Successfully loaded and started PCI Option Rom > image. > + @retval EFI_NOT_FOUND Failed to process PCI Option Rom image. > + > +**/ > +EFI_STATUS > +ProcessOpRomImage ( > + IN PCI_IO_DEVICE *PciDevice > + ) > +{ > + UINT8 Indicator; > + UINT32 ImageSize; > + VOID *RomBar; > + UINT8 *RomBarOffset; > + EFI_HANDLE ImageHandle; > + EFI_STATUS Status; > + EFI_STATUS RetStatus; > + EFI_PCI_EXPANSION_ROM_HEADER *EfiRomHeader; > + PCI_DATA_STRUCTURE *Pcir; > + EFI_DEVICE_PATH_PROTOCOL *PciOptionRomImageDevicePath; > + MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH EfiOpRomImageNode; > + VOID *Buffer; > + UINTN BufferSize; > + > + Indicator = 0; > + > + // > + // Get the Address of the Option Rom image > + // > + RomBar = PciDevice->PciIo.RomImage; > + RomBarOffset = (UINT8 *) RomBar; > + RetStatus = EFI_NOT_FOUND; > + > + if (RomBar == NULL) { > + return RetStatus; > + } > + ASSERT (((EFI_PCI_EXPANSION_ROM_HEADER *) RomBarOffset)- > >Signature == PCI_EXPANSION_ROM_HEADER_SIGNATURE); > + > + do { > + EfiRomHeader = (EFI_PCI_EXPANSION_ROM_HEADER *) RomBarOffset; > + if (EfiRomHeader->Signature != > PCI_EXPANSION_ROM_HEADER_SIGNATURE) { > + RomBarOffset += 512; > + continue; > + } > + > + Pcir = (PCI_DATA_STRUCTURE *) (RomBarOffset + EfiRomHeader- > >PcirOffset); > + ASSERT (Pcir->Signature == PCI_DATA_STRUCTURE_SIGNATURE); > + ImageSize = (UINT32) (Pcir->ImageLength * 512); > + Indicator = Pcir->Indicator; > + > + // > + // Skip the image if it is not an EFI PCI Option ROM image > + // > + if (Pcir->CodeType != PCI_CODE_TYPE_EFI_IMAGE) { > + goto NextImage; > + } > + > + // > + // Ignore the EFI PCI Option ROM image if it is an EFI application > + // > + if (EfiRomHeader->EfiSubsystem == > EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION) { > + goto NextImage; > + } > + > + // > + // Create Pci Option Rom Image device path header > + // > + EfiOpRomImageNode.Header.Type = MEDIA_DEVICE_PATH; > + EfiOpRomImageNode.Header.SubType = > MEDIA_RELATIVE_OFFSET_RANGE_DP; > + SetDevicePathNodeLength (&EfiOpRomImageNode.Header, sizeof > (EfiOpRomImageNode)); > + EfiOpRomImageNode.StartingOffset = (UINTN) RomBarOffset - (UINTN) > RomBar; > + EfiOpRomImageNode.EndingOffset = (UINTN) RomBarOffset + > ImageSize - 1 - (UINTN) RomBar; > + > + PciOptionRomImageDevicePath = AppendDevicePathNode (PciDevice- > >DevicePath, &EfiOpRomImageNode.Header); > + ASSERT (PciOptionRomImageDevicePath != NULL); > + > + // > + // load image and start image > + // > + BufferSize = 0; > + Buffer = NULL; > + ImageHandle = NULL; > + > + Status = gBS->LoadImage ( > + FALSE, > + gPciBusDriverBinding.DriverBindingHandle, > + PciOptionRomImageDevicePath, > + Buffer, > + BufferSize, > + &ImageHandle > + ); > + if (EFI_ERROR (Status)) { > + // > + // Record the Option ROM Image device path when LoadImage fails. > + // PciOverride.GetDriver() will try to look for the Image Handle using the > device path later. > + // > + AddDriver (PciDevice, NULL, PciOptionRomImageDevicePath); > + } else { > + Status = gBS->StartImage (ImageHandle, NULL, NULL); > + if (!EFI_ERROR (Status)) { > + // > + // Record the Option ROM Image Handle > + // > + AddDriver (PciDevice, ImageHandle, NULL); > + PciRomAddImageMapping ( > + ImageHandle, > + PciDevice->PciRootBridgeIo->SegmentNumber, > + PciDevice->BusNumber, > + PciDevice->DeviceNumber, > + PciDevice->FunctionNumber, > + PciDevice->PciIo.RomImage, > + PciDevice->PciIo.RomSize > + ); > + RetStatus = EFI_SUCCESS; > + } > + } > + FreePool (PciOptionRomImageDevicePath); > + > +NextImage: > + RomBarOffset += ImageSize; > + > + } while (((Indicator & 0x80) == 0x00) && (((UINTN) RomBarOffset - (UINTN) > RomBar) < PciDevice->RomSize)); > + > + return RetStatus; > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciOptionRomSupport.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciOptionRomSupport.h > new file mode 100644 > index 0000000000..60e147a7b9 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciOptionRomSupport.h > @@ -0,0 +1,136 @@ > +/** @file > + PCI Rom supporting functions declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_OPTION_ROM_SUPPORT_H_ > +#define _EFI_PCI_OPTION_ROM_SUPPORT_H_ > + > + > +/** > + Initialize a PCI LoadFile2 instance. > + > + @param PciIoDevice PCI IO Device. > + > +**/ > +VOID > +InitializePciLoadFile2 ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Causes the driver to load a specified file. > + > + @param This Indicates a pointer to the calling context. > + @param FilePath The device specific path of the file to load. > + @param BootPolicy Should always be FALSE. > + @param BufferSize On input the size of Buffer in bytes. On output with a > return > + code of EFI_SUCCESS, the amount of data transferred to Buffer. > + On output with a return code of EFI_BUFFER_TOO_SMALL, > + the size of Buffer required to retrieve the requested file. > + @param Buffer The memory buffer to transfer the file to. If Buffer is > NULL, > + then no the size of the requested file is returned in BufferSize. > + > + @retval EFI_SUCCESS The file was loaded. > + @retval EFI_UNSUPPORTED BootPolicy is TRUE. > + @retval EFI_INVALID_PARAMETER FilePath is not a valid device path, or > + BufferSize is NULL. > + @retval EFI_NOT_FOUND Not found PCI Option Rom on PCI device. > + @retval EFI_DEVICE_ERROR Failed to decompress PCI Option Rom > image. > + @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the > current directory entry. > + BufferSize has been updated with the size needed to > complete the request. > + > +**/ > +EFI_STATUS > +EFIAPI > +LoadFile2 ( > + IN EFI_LOAD_FILE2_PROTOCOL *This, > + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, > + IN BOOLEAN BootPolicy, > + IN OUT UINTN *BufferSize, > + IN VOID *Buffer OPTIONAL > + ); > + > +/** > + Check if the RomImage contains EFI Images. > + > + @param RomImage The ROM address of Image for check. > + @param RomSize Size of ROM for check. > + > + @retval TRUE ROM contain EFI Image. > + @retval FALSE ROM not contain EFI Image. > + > +**/ > +BOOLEAN > +ContainEfiImage ( > + IN VOID *RomImage, > + IN UINT64 RomSize > + ); > + > +/** > + Get Pci device's oprom information. > + > + @param PciIoDevice Input Pci device instance. > + Output Pci device instance with updated OptionRom size. > + > + @retval EFI_NOT_FOUND Pci device has not Option Rom. > + @retval EFI_SUCCESS Pci device has Option Rom. > + > +**/ > +EFI_STATUS > +GetOpRomInfo ( > + IN OUT PCI_IO_DEVICE *PciIoDevice > + ); > + > +/** > + Load Option Rom image for specified PCI device. > + > + @param PciDevice Pci device instance. > + @param RomBase Base address of Option Rom. > + > + @retval EFI_OUT_OF_RESOURCES No enough memory to hold image. > + @retval EFI_SUCESS Successfully loaded Option Rom. > + > +**/ > +EFI_STATUS > +LoadOpRomImage ( > + IN PCI_IO_DEVICE *PciDevice, > + IN UINT64 RomBase > + ); > + > +/** > + Enable/Disable Option Rom decode. > + > + @param PciDevice Pci device instance. > + @param RomBarIndex The BAR index of the standard PCI Configuration > header to use as the > + base address for resource range. The legal range for this field is > 0..5. > + @param RomBar Base address of Option Rom. > + @param Enable Flag for enable/disable decode. > + > +**/ > +VOID > +RomDecode ( > + IN PCI_IO_DEVICE *PciDevice, > + IN UINT8 RomBarIndex, > + IN UINT32 RomBar, > + IN BOOLEAN Enable > + ); > + > +/** > + Load and start the Option Rom image. > + > + @param PciDevice Pci device instance. > + > + @retval EFI_SUCCESS Successfully loaded and started PCI Option Rom > image. > + @retval EFI_NOT_FOUND Failed to process PCI Option Rom image. > + > +**/ > +EFI_STATUS > +ProcessOpRomImage ( > + IN PCI_IO_DEVICE *PciDevice > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciPowerManagement.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciPowerManagement.c > new file mode 100644 > index 0000000000..cf3f8164cd > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciPowerManagement.c > @@ -0,0 +1,82 @@ > +/** @file > + Power management support functions implementation for PCI Bus > module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +/** > + This function is intended to turn off PWE assertion and > + put the device to D0 state if the device supports > + PCI Power Management. > + > + @param PciIoDevice PCI device instance. > + > + @retval EFI_UNSUPPORTED PCI Device does not support power > management. > + @retval EFI_SUCCESS Turned off PWE successfully. > + > +**/ > +EFI_STATUS > +ResetPowerManagementFeature ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_STATUS Status; > + UINT8 PowerManagementRegBlock; > + UINT16 PowerManagementCSR; > + > + PowerManagementRegBlock = 0; > + > + Status = LocateCapabilityRegBlock ( > + PciIoDevice, > + EFI_PCI_CAPABILITY_ID_PMI, > + &PowerManagementRegBlock, > + NULL > + ); > + > + if (EFI_ERROR (Status)) { > + return EFI_UNSUPPORTED; > + } > + > + // > + // Turn off the PWE assertion and put the device into D0 State > + // > + > + // > + // Read PMCSR > + // > + Status = PciIoDevice->PciIo.Pci.Read ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint16, > + PowerManagementRegBlock + 4, > + 1, > + &PowerManagementCSR > + ); > + > + if (!EFI_ERROR (Status)) { > + // > + // Clear PME_Status bit > + // > + PowerManagementCSR |= BIT15; > + // > + // Clear PME_En bit. PowerState = D0. > + // > + PowerManagementCSR &= ~(BIT8 | BIT1 | BIT0); > + > + // > + // Write PMCSR > + // > + Status = PciIoDevice->PciIo.Pci.Write ( > + &PciIoDevice->PciIo, > + EfiPciIoWidthUint16, > + PowerManagementRegBlock + 4, > + 1, > + &PowerManagementCSR > + ); > + } > + return Status; > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciPowerManagement.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciPowerManagement.h > new file mode 100644 > index 0000000000..44e97ec45a > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciPowerManagement.h > @@ -0,0 +1,28 @@ > +/** @file > + Power management support functions declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_POWER_MANAGEMENT_H_ > +#define _EFI_PCI_POWER_MANAGEMENT_H_ > + > +/** > + This function is intended to turn off PWE assertion and > + put the device to D0 state if the device supports > + PCI Power Management. > + > + @param PciIoDevice PCI device instance. > + > + @retval EFI_UNSUPPORTED PCI Device does not support power > management. > + @retval EFI_SUCCESS Turned off PWE successfully. > + > +**/ > +EFI_STATUS > +ResetPowerManagementFeature ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciResourceSupport.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciResourceSupport.c > new file mode 100644 > index 0000000000..1461af7d5d > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciResourceSupport.c > @@ -0,0 +1,2292 @@ > +/** @file > + PCI resources support functions implementation for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +// > +// The default policy for the PCI bus driver is NOT to reserve I/O ranges for > both ISA aliases and VGA aliases. > +// > +BOOLEAN mReserveIsaAliases = FALSE; > +BOOLEAN mReserveVgaAliases = FALSE; > +BOOLEAN mPolicyDetermined = FALSE; > + > +/** > + The function is used to skip VGA range. > + > + @param Start Returned start address including VGA range. > + @param Length The length of VGA range. > + > +**/ > +VOID > +SkipVGAAperture ( > + OUT UINT64 *Start, > + IN UINT64 Length > + ) > +{ > + UINT64 Original; > + UINT64 Mask; > + UINT64 StartOffset; > + UINT64 LimitOffset; > + > + ASSERT (Start != NULL); > + // > + // For legacy VGA, bit 10 to bit 15 is not decoded > + // > + Mask = 0x3FF; > + > + Original = *Start; > + StartOffset = Original & Mask; > + LimitOffset = ((*Start) + Length - 1) & Mask; > + if (LimitOffset >= VGABASE1) { > + *Start = *Start - StartOffset + VGALIMIT2 + 1; > + } > +} > + > +/** > + This function is used to skip ISA aliasing aperture. > + > + @param Start Returned start address including ISA aliasing aperture. > + @param Length The length of ISA aliasing aperture. > + > +**/ > +VOID > +SkipIsaAliasAperture ( > + OUT UINT64 *Start, > + IN UINT64 Length > + ) > +{ > + > + UINT64 Original; > + UINT64 Mask; > + UINT64 StartOffset; > + UINT64 LimitOffset; > + > + ASSERT (Start != NULL); > + > + // > + // For legacy ISA, bit 10 to bit 15 is not decoded > + // > + Mask = 0x3FF; > + > + Original = *Start; > + StartOffset = Original & Mask; > + LimitOffset = ((*Start) + Length - 1) & Mask; > + > + if (LimitOffset >= ISABASE) { > + *Start = *Start - StartOffset + ISALIMIT + 1; > + } > +} > + > +/** > + This function inserts a resource node into the resource list. > + The resource list is sorted in descend order. > + > + @param Bridge PCI resource node for bridge. > + @param ResNode Resource node want to be inserted. > + > +**/ > +VOID > +InsertResourceNode ( > + IN OUT PCI_RESOURCE_NODE *Bridge, > + IN PCI_RESOURCE_NODE *ResNode > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_RESOURCE_NODE *Temp; > + UINT64 ResNodeAlignRest; > + UINT64 TempAlignRest; > + > + ASSERT (Bridge != NULL); > + ASSERT (ResNode != NULL); > + > + InsertHeadList (&Bridge->ChildList, &ResNode->Link); > + > + CurrentLink = Bridge->ChildList.ForwardLink->ForwardLink; > + while (CurrentLink != &Bridge->ChildList) { > + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); > + > + if (ResNode->Alignment > Temp->Alignment) { > + break; > + } else if (ResNode->Alignment == Temp->Alignment) { > + ResNodeAlignRest = ResNode->Length & ResNode->Alignment; > + TempAlignRest = Temp->Length & Temp->Alignment; > + if ((ResNodeAlignRest == 0) || (ResNodeAlignRest >= TempAlignRest)) { > + break; > + } > + } > + > + SwapListEntries (&ResNode->Link, CurrentLink); > + > + CurrentLink = ResNode->Link.ForwardLink; > + } > +} > + > +/** > + This routine is used to merge two different resource trees in need of > + resource degradation. > + > + For example, if an upstream PPB doesn't support, > + prefetchable memory decoding, the PCI bus driver will choose to call this > function > + to merge prefetchable memory resource list into normal memory list. > + > + If the TypeMerge is TRUE, Res resource type is changed to the type of > destination resource > + type. > + If Dst is NULL or Res is NULL, ASSERT (). > + > + @param Dst Point to destination resource tree. > + @param Res Point to source resource tree. > + @param TypeMerge If the TypeMerge is TRUE, Res resource type is > changed to the type of > + destination resource type. > + > +**/ > +VOID > +MergeResourceTree ( > + IN PCI_RESOURCE_NODE *Dst, > + IN PCI_RESOURCE_NODE *Res, > + IN BOOLEAN TypeMerge > + ) > +{ > + > + LIST_ENTRY *CurrentLink; > + PCI_RESOURCE_NODE *Temp; > + > + ASSERT (Dst != NULL); > + ASSERT (Res != NULL); > + > + while (!IsListEmpty (&Res->ChildList)) { > + CurrentLink = Res->ChildList.ForwardLink; > + > + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); > + > + if (TypeMerge) { > + Temp->ResType = Dst->ResType; > + } > + > + RemoveEntryList (CurrentLink); > + InsertResourceNode (Dst, Temp); > + } > +} > + > +/** > + This function is used to calculate the IO16 aperture > + for a bridge. > + > + @param Bridge PCI resource node for bridge. > + > +**/ > +VOID > +CalculateApertureIo16 ( > + IN PCI_RESOURCE_NODE *Bridge > + ) > +{ > + EFI_STATUS Status; > + UINT64 Aperture; > + LIST_ENTRY *CurrentLink; > + PCI_RESOURCE_NODE *Node; > + UINT64 Offset; > + EFI_PCI_PLATFORM_POLICY PciPolicy; > + UINT64 PaddingAperture; > + > + if (!mPolicyDetermined) { > + // > + // Check PciPlatform policy > + // > + Status = EFI_NOT_FOUND; > + PciPolicy = 0; > + if (gPciPlatformProtocol != NULL) { > + Status = gPciPlatformProtocol->GetPlatformPolicy ( > + gPciPlatformProtocol, > + &PciPolicy > + ); > + } > + > + if (EFI_ERROR (Status) && gPciOverrideProtocol != NULL) { > + Status = gPciOverrideProtocol->GetPlatformPolicy ( > + gPciOverrideProtocol, > + &PciPolicy > + ); > + } > + > + if (!EFI_ERROR (Status)) { > + if ((PciPolicy & EFI_RESERVE_ISA_IO_ALIAS) != 0) { > + mReserveIsaAliases = TRUE; > + } > + if ((PciPolicy & EFI_RESERVE_VGA_IO_ALIAS) != 0) { > + mReserveVgaAliases = TRUE; > + } > + } > + mPolicyDetermined = TRUE; > + } > + > + Aperture = 0; > + PaddingAperture = 0; > + > + if (Bridge == NULL) { > + return ; > + } > + > + // > + // Assume the bridge is aligned > + // > + for ( CurrentLink = GetFirstNode (&Bridge->ChildList) > + ; !IsNull (&Bridge->ChildList, CurrentLink) > + ; CurrentLink = GetNextNode (&Bridge->ChildList, CurrentLink) > + ) { > + > + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); > + if (Node->ResourceUsage == PciResUsagePadding) { > + ASSERT (PaddingAperture == 0); > + PaddingAperture = Node->Length; > + continue; > + } > + // > + // Consider the aperture alignment > + // > + Offset = Aperture & (Node->Alignment); > + > + if (Offset != 0) { > + > + Aperture = Aperture + (Node->Alignment + 1) - Offset; > + > + } > + > + // > + // IsaEnable and VGAEnable can not be implemented now. > + // If both of them are enabled, then the IO resource would > + // become too limited to meet the requirement of most of devices. > + // > + if (mReserveIsaAliases || mReserveVgaAliases) { > + if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci)) && !IS_CARDBUS_BRIDGE > (&(Node->PciDev->Pci))) { > + // > + // Check if there is need to support ISA/VGA decoding > + // If so, we need to avoid isa/vga aliasing range > + // > + if (mReserveIsaAliases) { > + SkipIsaAliasAperture ( > + &Aperture, > + Node->Length > + ); > + Offset = Aperture & (Node->Alignment); > + if (Offset != 0) { > + Aperture = Aperture + (Node->Alignment + 1) - Offset; > + } > + } else if (mReserveVgaAliases) { > + SkipVGAAperture ( > + &Aperture, > + Node->Length > + ); > + Offset = Aperture & (Node->Alignment); > + if (Offset != 0) { > + Aperture = Aperture + (Node->Alignment + 1) - Offset; > + } > + } > + } > + } > + > + Node->Offset = Aperture; > + > + // > + // Increment aperture by the length of node > + // > + Aperture += Node->Length; > + } > + > + // > + // Adjust the aperture with the bridge's alignment > + // > + Offset = Aperture & (Bridge->Alignment); > + > + if (Offset != 0) { > + Aperture = Aperture + (Bridge->Alignment + 1) - Offset; > + } > + > + Bridge->Length = Aperture; > + // > + // At last, adjust the bridge's alignment to the first child's alignment > + // if the bridge has at least one child > + // > + CurrentLink = Bridge->ChildList.ForwardLink; > + if (CurrentLink != &Bridge->ChildList) { > + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); > + if (Node->Alignment > Bridge->Alignment) { > + Bridge->Alignment = Node->Alignment; > + } > + } > + > + // > + // Hotplug controller needs padding resources. > + // Use the larger one between the padding resource and actual occupied > resource. > + // > + Bridge->Length = MAX (Bridge->Length, PaddingAperture); > +} > + > +/** > + This function is used to calculate the resource aperture > + for a given bridge device. > + > + @param Bridge PCI resource node for given bridge device. > + > +**/ > +VOID > +CalculateResourceAperture ( > + IN PCI_RESOURCE_NODE *Bridge > + ) > +{ > + UINT64 Aperture[2]; > + LIST_ENTRY *CurrentLink; > + PCI_RESOURCE_NODE *Node; > + > + if (Bridge == NULL) { > + return ; > + } > + > + if (Bridge->ResType == PciBarTypeIo16) { > + > + CalculateApertureIo16 (Bridge); > + return ; > + } > + > + Aperture[PciResUsageTypical] = 0; > + Aperture[PciResUsagePadding] = 0; > + // > + // Assume the bridge is aligned > + // > + for ( CurrentLink = GetFirstNode (&Bridge->ChildList) > + ; !IsNull (&Bridge->ChildList, CurrentLink) > + ; CurrentLink = GetNextNode (&Bridge->ChildList, CurrentLink) > + ) { > + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); > + > + // > + // It's possible for a bridge to contain multiple padding resource > + // nodes due to DegradeResource(). > + // > + ASSERT ((Node->ResourceUsage == PciResUsageTypical) || > + (Node->ResourceUsage == PciResUsagePadding)); > + ASSERT (Node->ResourceUsage < ARRAY_SIZE (Aperture)); > + // > + // Recode current aperture as a offset > + // Apply padding resource to meet alignment requirement > + // Node offset will be used in future real allocation > + // > + Node->Offset = ALIGN_VALUE (Aperture[Node->ResourceUsage], Node- > >Alignment + 1); > + > + // > + // Record the total aperture. > + // > + Aperture[Node->ResourceUsage] = Node->Offset + Node->Length; > + } > + > + // > + // Adjust the aperture with the bridge's alignment > + // > + Aperture[PciResUsageTypical] = ALIGN_VALUE > (Aperture[PciResUsageTypical], Bridge->Alignment + 1); > + Aperture[PciResUsagePadding] = ALIGN_VALUE > (Aperture[PciResUsagePadding], Bridge->Alignment + 1); > + > + // > + // Hotplug controller needs padding resources. > + // Use the larger one between the padding resource and actual occupied > resource. > + // > + Bridge->Length = MAX (Aperture[PciResUsageTypical], > Aperture[PciResUsagePadding]); > + > + // > + // Adjust the bridge's alignment to the MAX (first) alignment of all children. > + // > + CurrentLink = Bridge->ChildList.ForwardLink; > + if (CurrentLink != &Bridge->ChildList) { > + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); > + if (Node->Alignment > Bridge->Alignment) { > + Bridge->Alignment = Node->Alignment; > + } > + } > +} > + > +/** > + Get IO/Memory resource info for given PCI device. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO . > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +GetResourceFromDevice ( > + IN PCI_IO_DEVICE *PciDev, > + IN OUT PCI_RESOURCE_NODE *IoNode, > + IN OUT PCI_RESOURCE_NODE *Mem32Node, > + IN OUT PCI_RESOURCE_NODE *PMem32Node, > + IN OUT PCI_RESOURCE_NODE *Mem64Node, > + IN OUT PCI_RESOURCE_NODE *PMem64Node > + ) > +{ > + > + UINT8 Index; > + PCI_RESOURCE_NODE *Node; > + BOOLEAN ResourceRequested; > + > + Node = NULL; > + ResourceRequested = FALSE; > + > + for (Index = 0; Index < PCI_MAX_BAR; Index++) { > + > + switch ((PciDev->PciBar)[Index].BarType) { > + > + case PciBarTypeMem32: > + case PciBarTypeOpRom: > + > + Node = CreateResourceNode ( > + PciDev, > + (PciDev->PciBar)[Index].Length, > + (PciDev->PciBar)[Index].Alignment, > + Index, > + (PciDev->PciBar)[Index].BarType, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + Mem32Node, > + Node > + ); > + > + ResourceRequested = TRUE; > + break; > + > + case PciBarTypeMem64: > + > + Node = CreateResourceNode ( > + PciDev, > + (PciDev->PciBar)[Index].Length, > + (PciDev->PciBar)[Index].Alignment, > + Index, > + PciBarTypeMem64, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + Mem64Node, > + Node > + ); > + > + ResourceRequested = TRUE; > + break; > + > + case PciBarTypePMem64: > + > + Node = CreateResourceNode ( > + PciDev, > + (PciDev->PciBar)[Index].Length, > + (PciDev->PciBar)[Index].Alignment, > + Index, > + PciBarTypePMem64, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + PMem64Node, > + Node > + ); > + > + ResourceRequested = TRUE; > + break; > + > + case PciBarTypePMem32: > + > + Node = CreateResourceNode ( > + PciDev, > + (PciDev->PciBar)[Index].Length, > + (PciDev->PciBar)[Index].Alignment, > + Index, > + PciBarTypePMem32, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + PMem32Node, > + Node > + ); > + ResourceRequested = TRUE; > + break; > + > + case PciBarTypeIo16: > + case PciBarTypeIo32: > + > + Node = CreateResourceNode ( > + PciDev, > + (PciDev->PciBar)[Index].Length, > + (PciDev->PciBar)[Index].Alignment, > + Index, > + PciBarTypeIo16, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + IoNode, > + Node > + ); > + ResourceRequested = TRUE; > + break; > + > + case PciBarTypeUnknown: > + break; > + > + default: > + break; > + } > + } > + > + // > + // Add VF resource > + // > + for (Index = 0; Index < PCI_MAX_BAR; Index++) { > + > + switch ((PciDev->VfPciBar)[Index].BarType) { > + > + case PciBarTypeMem32: > + > + Node = CreateVfResourceNode ( > + PciDev, > + (PciDev->VfPciBar)[Index].Length, > + (PciDev->VfPciBar)[Index].Alignment, > + Index, > + PciBarTypeMem32, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + Mem32Node, > + Node > + ); > + > + break; > + > + case PciBarTypeMem64: > + > + Node = CreateVfResourceNode ( > + PciDev, > + (PciDev->VfPciBar)[Index].Length, > + (PciDev->VfPciBar)[Index].Alignment, > + Index, > + PciBarTypeMem64, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + Mem64Node, > + Node > + ); > + > + break; > + > + case PciBarTypePMem64: > + > + Node = CreateVfResourceNode ( > + PciDev, > + (PciDev->VfPciBar)[Index].Length, > + (PciDev->VfPciBar)[Index].Alignment, > + Index, > + PciBarTypePMem64, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + PMem64Node, > + Node > + ); > + > + break; > + > + case PciBarTypePMem32: > + > + Node = CreateVfResourceNode ( > + PciDev, > + (PciDev->VfPciBar)[Index].Length, > + (PciDev->VfPciBar)[Index].Alignment, > + Index, > + PciBarTypePMem32, > + PciResUsageTypical > + ); > + > + InsertResourceNode ( > + PMem32Node, > + Node > + ); > + break; > + > + case PciBarTypeIo16: > + case PciBarTypeIo32: > + break; > + > + case PciBarTypeUnknown: > + break; > + > + default: > + break; > + } > + } > + // If there is no resource requested from this device, > + // then we indicate this device has been allocated naturally. > + // > + if (!ResourceRequested) { > + PciDev->Allocated = TRUE; > + } > +} > + > +/** > + This function is used to create a resource node. > + > + @param PciDev Pci device instance. > + @param Length Length of Io/Memory resource. > + @param Alignment Alignment of resource. > + @param Bar Bar index. > + @param ResType Type of resource: IO/Memory. > + @param ResUsage Resource usage. > + > + @return PCI resource node created for given PCI device. > + NULL means PCI resource node is not created. > + > +**/ > +PCI_RESOURCE_NODE * > +CreateResourceNode ( > + IN PCI_IO_DEVICE *PciDev, > + IN UINT64 Length, > + IN UINT64 Alignment, > + IN UINT8 Bar, > + IN PCI_BAR_TYPE ResType, > + IN PCI_RESOURCE_USAGE ResUsage > + ) > +{ > + PCI_RESOURCE_NODE *Node; > + > + Node = NULL; > + > + Node = AllocateZeroPool (sizeof (PCI_RESOURCE_NODE)); > + ASSERT (Node != NULL); > + if (Node == NULL) { > + return NULL; > + } > + > + Node->Signature = PCI_RESOURCE_SIGNATURE; > + Node->PciDev = PciDev; > + Node->Length = Length; > + Node->Alignment = Alignment; > + Node->Bar = Bar; > + Node->ResType = ResType; > + Node->Reserved = FALSE; > + Node->ResourceUsage = ResUsage; > + InitializeListHead (&Node->ChildList); > + > + return Node; > +} > + > +/** > + This function is used to create a IOV VF resource node. > + > + @param PciDev Pci device instance. > + @param Length Length of Io/Memory resource. > + @param Alignment Alignment of resource. > + @param Bar Bar index. > + @param ResType Type of resource: IO/Memory. > + @param ResUsage Resource usage. > + > + @return PCI resource node created for given VF PCI device. > + NULL means PCI resource node is not created. > + > +**/ > +PCI_RESOURCE_NODE * > +CreateVfResourceNode ( > + IN PCI_IO_DEVICE *PciDev, > + IN UINT64 Length, > + IN UINT64 Alignment, > + IN UINT8 Bar, > + IN PCI_BAR_TYPE ResType, > + IN PCI_RESOURCE_USAGE ResUsage > + ) > +{ > + PCI_RESOURCE_NODE *Node; > + > + Node = CreateResourceNode (PciDev, Length, Alignment, Bar, ResType, > ResUsage); > + if (Node == NULL) { > + return Node; > + } > + > + Node->Virtual = TRUE; > + > + return Node; > +} > + > +/** > + This function is used to extract resource request from > + device node list. > + > + @param Bridge Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +CreateResourceMap ( > + IN PCI_IO_DEVICE *Bridge, > + IN OUT PCI_RESOURCE_NODE *IoNode, > + IN OUT PCI_RESOURCE_NODE *Mem32Node, > + IN OUT PCI_RESOURCE_NODE *PMem32Node, > + IN OUT PCI_RESOURCE_NODE *Mem64Node, > + IN OUT PCI_RESOURCE_NODE *PMem64Node > + ) > +{ > + PCI_IO_DEVICE *Temp; > + PCI_RESOURCE_NODE *IoBridge; > + PCI_RESOURCE_NODE *Mem32Bridge; > + PCI_RESOURCE_NODE *PMem32Bridge; > + PCI_RESOURCE_NODE *Mem64Bridge; > + PCI_RESOURCE_NODE *PMem64Bridge; > + LIST_ENTRY *CurrentLink; > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + while (CurrentLink != NULL && CurrentLink != &Bridge->ChildList) { > + > + Temp = PCI_IO_DEVICE_FROM_LINK (CurrentLink); > + > + // > + // Create resource nodes for this device by scanning the > + // Bar array in the device private data > + // If the upstream bridge doesn't support this device, > + // no any resource node will be created for this device > + // > + GetResourceFromDevice ( > + Temp, > + IoNode, > + Mem32Node, > + PMem32Node, > + Mem64Node, > + PMem64Node > + ); > + > + if (IS_PCI_BRIDGE (&Temp->Pci)) { > + > + // > + // If the device has children, create a bridge resource node for this PPB > + // Note: For PPB, memory aperture is aligned with 1MB and IO aperture > + // is aligned with 4KB (smaller alignments may be supported). > + // > + IoBridge = CreateResourceNode ( > + Temp, > + 0, > + Temp->BridgeIoAlignment, > + PPB_IO_RANGE, > + PciBarTypeIo16, > + PciResUsageTypical > + ); > + > + Mem32Bridge = CreateResourceNode ( > + Temp, > + 0, > + 0xFFFFF, > + PPB_MEM32_RANGE, > + PciBarTypeMem32, > + PciResUsageTypical > + ); > + > + PMem32Bridge = CreateResourceNode ( > + Temp, > + 0, > + 0xFFFFF, > + PPB_PMEM32_RANGE, > + PciBarTypePMem32, > + PciResUsageTypical > + ); > + > + Mem64Bridge = CreateResourceNode ( > + Temp, > + 0, > + 0xFFFFF, > + PPB_MEM64_RANGE, > + PciBarTypeMem64, > + PciResUsageTypical > + ); > + > + PMem64Bridge = CreateResourceNode ( > + Temp, > + 0, > + 0xFFFFF, > + PPB_PMEM64_RANGE, > + PciBarTypePMem64, > + PciResUsageTypical > + ); > + > + // > + // Recursively create resource map on this bridge > + // > + CreateResourceMap ( > + Temp, > + IoBridge, > + Mem32Bridge, > + PMem32Bridge, > + Mem64Bridge, > + PMem64Bridge > + ); > + > + if (ResourceRequestExisted (IoBridge)) { > + InsertResourceNode ( > + IoNode, > + IoBridge > + ); > + } else { > + FreePool (IoBridge); > + IoBridge = NULL; > + } > + > + // > + // If there is node under this resource bridge, > + // then calculate bridge's aperture of this type > + // and insert it into the respective resource tree. > + // If no, delete this resource bridge > + // > + if (ResourceRequestExisted (Mem32Bridge)) { > + InsertResourceNode ( > + Mem32Node, > + Mem32Bridge > + ); > + } else { > + FreePool (Mem32Bridge); > + Mem32Bridge = NULL; > + } > + > + // > + // If there is node under this resource bridge, > + // then calculate bridge's aperture of this type > + // and insert it into the respective resource tree. > + // If no, delete this resource bridge > + // > + if (ResourceRequestExisted (PMem32Bridge)) { > + InsertResourceNode ( > + PMem32Node, > + PMem32Bridge > + ); > + } else { > + FreePool (PMem32Bridge); > + PMem32Bridge = NULL; > + } > + > + // > + // If there is node under this resource bridge, > + // then calculate bridge's aperture of this type > + // and insert it into the respective resource tree. > + // If no, delete this resource bridge > + // > + if (ResourceRequestExisted (Mem64Bridge)) { > + InsertResourceNode ( > + Mem64Node, > + Mem64Bridge > + ); > + } else { > + FreePool (Mem64Bridge); > + Mem64Bridge = NULL; > + } > + > + // > + // If there is node under this resource bridge, > + // then calculate bridge's aperture of this type > + // and insert it into the respective resource tree. > + // If no, delete this resource bridge > + // > + if (ResourceRequestExisted (PMem64Bridge)) { > + InsertResourceNode ( > + PMem64Node, > + PMem64Bridge > + ); > + } else { > + FreePool (PMem64Bridge); > + PMem64Bridge = NULL; > + } > + > + } > + > + // > + // If it is P2C, apply hard coded resource padding > + // > + if (IS_CARDBUS_BRIDGE (&Temp->Pci)) { > + ResourcePaddingForCardBusBridge ( > + Temp, > + IoNode, > + Mem32Node, > + PMem32Node, > + Mem64Node, > + PMem64Node > + ); > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + // > + // To do some platform specific resource padding ... > + // > + ResourcePaddingPolicy ( > + Bridge, > + IoNode, > + Mem32Node, > + PMem32Node, > + Mem64Node, > + PMem64Node > + ); > + > + // > + // Degrade resource if necessary > + // > + DegradeResource ( > + Bridge, > + Mem32Node, > + PMem32Node, > + Mem64Node, > + PMem64Node > + ); > + > + // > + // Calculate resource aperture for this bridge device > + // > + CalculateResourceAperture (Mem32Node); > + CalculateResourceAperture (PMem32Node); > + CalculateResourceAperture (Mem64Node); > + CalculateResourceAperture (PMem64Node); > + CalculateResourceAperture (IoNode); > +} > + > +/** > + This function is used to do the resource padding for a specific platform. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +ResourcePaddingPolicy ( > + IN PCI_IO_DEVICE *PciDev, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ) > +{ > + // > + // Create padding resource node > + // > + if (PciDev->ResourcePaddingDescriptors != NULL) { > + ApplyResourcePadding ( > + PciDev, > + IoNode, > + Mem32Node, > + PMem32Node, > + Mem64Node, > + PMem64Node > + ); > + } > +} > + > +/** > + This function is used to degrade resource if the upstream bridge > + doesn't support certain resource. Degradation path is > + PMEM64 -> MEM64 -> MEM32 > + PMEM64 -> PMEM32 -> MEM32 > + IO32 -> IO16. > + > + @param Bridge Pci device instance. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +DegradeResource ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ) > +{ > + PCI_IO_DEVICE *PciIoDevice; > + LIST_ENTRY *ChildDeviceLink; > + LIST_ENTRY *ChildNodeLink; > + LIST_ENTRY *NextChildNodeLink; > + PCI_RESOURCE_NODE *ResourceNode; > + > + if (FeaturePcdGet (PcdPciDegradeResourceForOptionRom)) { > + // > + // If any child device has both option ROM and 64-bit BAR, degrade its > PMEM64/MEM64 > + // requests in case that if a legacy option ROM image can not access 64-bit > resources. > + // > + ChildDeviceLink = Bridge->ChildList.ForwardLink; > + while (ChildDeviceLink != NULL && ChildDeviceLink != &Bridge->ChildList) > { > + PciIoDevice = PCI_IO_DEVICE_FROM_LINK (ChildDeviceLink); > + if (PciIoDevice->RomSize != 0) { > + if (!IsListEmpty (&Mem64Node->ChildList)) { > + ChildNodeLink = Mem64Node->ChildList.ForwardLink; > + while (ChildNodeLink != &Mem64Node->ChildList) { > + ResourceNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); > + NextChildNodeLink = ChildNodeLink->ForwardLink; > + > + if ((ResourceNode->PciDev == PciIoDevice) && > + (ResourceNode->Virtual || !PciIoDevice->PciBar[ResourceNode- > >Bar].BarTypeFixed) > + ) { > + RemoveEntryList (ChildNodeLink); > + InsertResourceNode (Mem32Node, ResourceNode); > + } > + ChildNodeLink = NextChildNodeLink; > + } > + } > + > + if (!IsListEmpty (&PMem64Node->ChildList)) { > + ChildNodeLink = PMem64Node->ChildList.ForwardLink; > + while (ChildNodeLink != &PMem64Node->ChildList) { > + ResourceNode = RESOURCE_NODE_FROM_LINK (ChildNodeLink); > + NextChildNodeLink = ChildNodeLink->ForwardLink; > + > + if ((ResourceNode->PciDev == PciIoDevice) && > + (ResourceNode->Virtual || !PciIoDevice->PciBar[ResourceNode- > >Bar].BarTypeFixed) > + ) { > + RemoveEntryList (ChildNodeLink); > + InsertResourceNode (PMem32Node, ResourceNode); > + } > + ChildNodeLink = NextChildNodeLink; > + } > + } > + > + } > + ChildDeviceLink = ChildDeviceLink->ForwardLink; > + } > + } > + > + // > + // If firmware is in 32-bit mode, > + // then degrade PMEM64/MEM64 requests > + // > + if (sizeof (UINTN) <= 4) { > + MergeResourceTree ( > + Mem32Node, > + Mem64Node, > + TRUE > + ); > + > + MergeResourceTree ( > + PMem32Node, > + PMem64Node, > + TRUE > + ); > + } else { > + // > + // if the bridge does not support MEM64, degrade MEM64 to MEM32 > + // > + if (!BridgeSupportResourceDecode (Bridge, > EFI_BRIDGE_MEM64_DECODE_SUPPORTED)) { > + MergeResourceTree ( > + Mem32Node, > + Mem64Node, > + TRUE > + ); > + } > + > + // > + // if the bridge does not support PMEM64, degrade PMEM64 to PMEM32 > + // > + if (!BridgeSupportResourceDecode (Bridge, > EFI_BRIDGE_PMEM64_DECODE_SUPPORTED)) { > + MergeResourceTree ( > + PMem32Node, > + PMem64Node, > + TRUE > + ); > + } > + > + // > + // if both PMEM64 and PMEM32 requests from child devices, which can > not be satisfied > + // by a P2P bridge simultaneously, keep PMEM64 and degrade PMEM32 > to MEM32. > + // > + if (!IsListEmpty (&PMem64Node->ChildList) && Bridge->Parent != NULL) { > + MergeResourceTree ( > + Mem32Node, > + PMem32Node, > + TRUE > + ); > + } > + } > + > + // > + // If bridge doesn't support Pmem32 > + // degrade it to mem32 > + // > + if (!BridgeSupportResourceDecode (Bridge, > EFI_BRIDGE_PMEM32_DECODE_SUPPORTED)) { > + MergeResourceTree ( > + Mem32Node, > + PMem32Node, > + TRUE > + ); > + } > + > + // > + // if root bridge supports combined Pmem Mem decoding > + // merge these two type of resource > + // > + if (BridgeSupportResourceDecode (Bridge, > EFI_BRIDGE_PMEM_MEM_COMBINE_SUPPORTED)) { > + MergeResourceTree ( > + Mem32Node, > + PMem32Node, > + FALSE > + ); > + > + // > + // No need to check if to degrade MEM64 after merge, because > + // if there are PMEM64 still here, 64-bit decode should be supported > + // by the root bride. > + // > + MergeResourceTree ( > + Mem64Node, > + PMem64Node, > + FALSE > + ); > + } > +} > + > +/** > + Test whether bridge device support decode resource. > + > + @param Bridge Bridge device instance. > + @param Decode Decode type according to resource type. > + > + @return TRUE The bridge device support decode resource. > + @return FALSE The bridge device don't support decode resource. > + > +**/ > +BOOLEAN > +BridgeSupportResourceDecode ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT32 Decode > + ) > +{ > + if (((Bridge->Decodes) & Decode) != 0) { > + return TRUE; > + } > + > + return FALSE; > +} > + > +/** > + This function is used to program the resource allocated > + for each resource node under specified bridge. > + > + @param Base Base address of resource to be programmed. > + @param Bridge PCI resource node for the bridge device. > + > + @retval EFI_SUCCESS Successfully to program all resources > + on given PCI bridge device. > + @retval EFI_OUT_OF_RESOURCES Base is all one. > + > +**/ > +EFI_STATUS > +ProgramResource ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Bridge > + ) > +{ > + LIST_ENTRY *CurrentLink; > + PCI_RESOURCE_NODE *Node; > + EFI_STATUS Status; > + > + if (Base == gAllOne) { > + return EFI_OUT_OF_RESOURCES; > + } > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + while (CurrentLink != &Bridge->ChildList) { > + > + Node = RESOURCE_NODE_FROM_LINK (CurrentLink); > + > + if (!IS_PCI_BRIDGE (&(Node->PciDev->Pci))) { > + > + if (IS_CARDBUS_BRIDGE (&(Node->PciDev->Pci))) { > + // > + // Program the PCI Card Bus device > + // > + ProgramP2C (Base, Node); > + } else { > + // > + // Program the PCI device BAR > + // > + ProgramBar (Base, Node); > + } > + } else { > + // > + // Program the PCI devices under this bridge > + // > + Status = ProgramResource (Base + Node->Offset, Node); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + ProgramPpbApperture (Base, Node); > + } > + > + CurrentLink = CurrentLink->ForwardLink; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Program Bar register for PCI device. > + > + @param Base Base address for PCI device resource to be programmed. > + @param Node Point to resource node structure. > + > +**/ > +VOID > +ProgramBar ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT64 Address; > + UINT32 Address32; > + > + ASSERT (Node->Bar < PCI_MAX_BAR); > + > + // > + // Check VF BAR > + // > + if (Node->Virtual) { > + ProgramVfBar (Base, Node); > + return; > + } > + > + Address = 0; > + PciIo = &(Node->PciDev->PciIo); > + > + Address = Base + Node->Offset; > + > + // > + // Indicate pci bus driver has allocated > + // resource for this device > + // It might be a temporary solution here since > + // pci device could have multiple bar > + // > + Node->PciDev->Allocated = TRUE; > + > + switch ((Node->PciDev->PciBar[Node->Bar]).BarType) { > + > + case PciBarTypeIo16: > + case PciBarTypeIo32: > + case PciBarTypeMem32: > + case PciBarTypePMem32: > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (Node->PciDev->PciBar[Node->Bar]).Offset, > + 1, > + &Address > + ); > + // > + // Continue to the case PciBarTypeOpRom to set the BaseAddress. > + // PciBarTypeOpRom is a virtual BAR only in root bridge, to capture > + // the MEM32 resource requirement for Option ROM shadow. > + // > + > + case PciBarTypeOpRom: > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + > + break; > + > + case PciBarTypeMem64: > + case PciBarTypePMem64: > + > + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (Node->PciDev->PciBar[Node->Bar]).Offset, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) RShiftU64 (Address, 32); > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4), > + 1, > + &Address32 > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + > + break; > + > + default: > + break; > + } > +} > + > +/** > + Program IOV VF Bar register for PCI device. > + > + @param Base Base address for PCI device resource to be programmed. > + @param Node Point to resource node structure. > + > +**/ > +EFI_STATUS > +ProgramVfBar ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT64 Address; > + UINT32 Address32; > + > + ASSERT (Node->Bar < PCI_MAX_BAR); > + ASSERT (Node->Virtual); > + > + Address = 0; > + PciIo = &(Node->PciDev->PciIo); > + > + Address = Base + Node->Offset; > + > + // > + // Indicate pci bus driver has allocated > + // resource for this device > + // It might be a temporary solution here since > + // pci device could have multiple bar > + // > + Node->PciDev->Allocated = TRUE; > + > + switch ((Node->PciDev->VfPciBar[Node->Bar]).BarType) { > + > + case PciBarTypeMem32: > + case PciBarTypePMem32: > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (Node->PciDev->VfPciBar[Node->Bar]).Offset, > + 1, > + &Address > + ); > + > + Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address; > + break; > + > + case PciBarTypeMem64: > + case PciBarTypePMem64: > + > + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (Node->PciDev->VfPciBar[Node->Bar]).Offset, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) RShiftU64 (Address, 32); > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + ((Node->PciDev->VfPciBar[Node->Bar]).Offset + 4), > + 1, > + &Address32 > + ); > + > + Node->PciDev->VfPciBar[Node->Bar].BaseAddress = Address; > + break; > + > + case PciBarTypeIo16: > + case PciBarTypeIo32: > + break; > + > + default: > + break; > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Program PCI-PCI bridge aperture. > + > + @param Base Base address for resource. > + @param Node Point to resource node structure. > + > +**/ > +VOID > +ProgramPpbApperture ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT64 Address; > + UINT32 Address32; > + > + Address = 0; > + // > + // If no device resource of this PPB, return anyway > + // Aperture is set default in the initialization code > + // > + if (Node->Length == 0 || Node->ResourceUsage == PciResUsagePadding) > { > + // > + // For padding resource node, just ignore when programming > + // > + return ; > + } > + > + PciIo = &(Node->PciDev->PciIo); > + Address = Base + Node->Offset; > + > + // > + // Indicate the PPB resource has been allocated > + // > + Node->PciDev->Allocated = TRUE; > + > + switch (Node->Bar) { > + > + case PPB_BAR_0: > + case PPB_BAR_1: > + switch ((Node->PciDev->PciBar[Node->Bar]).BarType) { > + > + case PciBarTypeIo16: > + case PciBarTypeIo32: > + case PciBarTypeMem32: > + case PciBarTypePMem32: > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (Node->PciDev->PciBar[Node->Bar]).Offset, > + 1, > + &Address > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + break; > + > + case PciBarTypeMem64: > + case PciBarTypePMem64: > + > + Address32 = (UINT32) (Address & 0x00000000FFFFFFFF); > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (Node->PciDev->PciBar[Node->Bar]).Offset, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) RShiftU64 (Address, 32); > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (UINT8) ((Node->PciDev->PciBar[Node->Bar]).Offset + 4), > + 1, > + &Address32 > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + break; > + > + default: > + break; > + } > + break; > + > + case PPB_IO_RANGE: > + > + Address32 = ((UINT32) (Address)) >> 8; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint8, > + 0x1C, > + 1, > + &Address32 > + ); > + > + Address32 >>= 8; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + 0x30, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) (Address + Node->Length - 1); > + Address32 = ((UINT32) (Address32)) >> 8; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint8, > + 0x1D, > + 1, > + &Address32 > + ); > + > + Address32 >>= 8; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + 0x32, > + 1, > + &Address32 > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + break; > + > + case PPB_MEM32_RANGE: > + > + Address32 = ((UINT32) (Address)) >> 16; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + 0x20, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) (Address + Node->Length - 1); > + Address32 = ((UINT32) (Address32)) >> 16; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + 0x22, > + 1, > + &Address32 > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + break; > + > + case PPB_PMEM32_RANGE: > + case PPB_PMEM64_RANGE: > + > + Address32 = ((UINT32) (Address)) >> 16; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + 0x24, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) (Address + Node->Length - 1); > + Address32 = ((UINT32) (Address32)) >> 16; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + 0x26, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) RShiftU64 (Address, 32); > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + 0x28, > + 1, > + &Address32 > + ); > + > + Address32 = (UINT32) RShiftU64 ((Address + Node->Length - 1), 32); > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + 0x2C, > + 1, > + &Address32 > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + break; > + > + default: > + break; > + } > +} > + > +/** > + Program parent bridge for Option Rom. > + > + @param PciDevice Pci device instance. > + @param OptionRomBase Base address for Option Rom. > + @param Enable Enable or disable PCI memory. > + > +**/ > +VOID > +ProgramUpstreamBridgeForRom ( > + IN PCI_IO_DEVICE *PciDevice, > + IN UINT32 OptionRomBase, > + IN BOOLEAN Enable > + ) > +{ > + PCI_IO_DEVICE *Parent; > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT16 Base; > + UINT16 Limit; > + // > + // For root bridge, just return. > + // > + Parent = PciDevice->Parent; > + while (Parent != NULL) { > + if (!IS_PCI_BRIDGE (&Parent->Pci)) { > + break; > + } > + > + PciIo = &Parent->PciIo; > + > + // > + // Program PPB to only open a single <= 16MB aperture > + // > + if (Enable) { > + // > + // Only cover MMIO for Option ROM. > + // > + Base = (UINT16) (OptionRomBase >> 16); > + Limit = (UINT16) ((OptionRomBase + PciDevice->RomSize - 1) >> 16); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, > Bridge.MemoryBase), 1, &Base); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, > Bridge.MemoryLimit), 1, &Limit); > + > + PCI_ENABLE_COMMAND_REGISTER (Parent, > EFI_PCI_COMMAND_MEMORY_SPACE); > + } else { > + // > + // Cover 32bit MMIO for devices below the bridge. > + // > + if (Parent->PciBar[PPB_MEM32_RANGE].Length == 0) { > + // > + // When devices under the bridge contains Option ROM and doesn't > require 32bit MMIO. > + // > + Base = (UINT16) gAllOne; > + Limit = (UINT16) gAllZero; > + } else { > + Base = (UINT16) ((UINT32) Parent- > >PciBar[PPB_MEM32_RANGE].BaseAddress >> 16); > + Limit = (UINT16) ((UINT32) (Parent- > >PciBar[PPB_MEM32_RANGE].BaseAddress > + + Parent->PciBar[PPB_MEM32_RANGE].Length - 1) >> > 16); > + } > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, > Bridge.MemoryBase), 1, &Base); > + PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, OFFSET_OF (PCI_TYPE01, > Bridge.MemoryLimit), 1, &Limit); > + > + PCI_DISABLE_COMMAND_REGISTER (Parent, > EFI_PCI_COMMAND_MEMORY_SPACE); > + } > + > + Parent = Parent->Parent; > + } > +} > + > +/** > + Test whether resource exists for a bridge. > + > + @param Bridge Point to resource node for a bridge. > + > + @retval TRUE There is resource on the given bridge. > + @retval FALSE There isn't resource on the given bridge. > + > +**/ > +BOOLEAN > +ResourceRequestExisted ( > + IN PCI_RESOURCE_NODE *Bridge > + ) > +{ > + if (Bridge != NULL) { > + if (!IsListEmpty (&Bridge->ChildList) || Bridge->Length != 0) { > + return TRUE; > + } > + } > + > + return FALSE; > +} > + > +/** > + Initialize resource pool structure. > + > + @param ResourcePool Point to resource pool structure. This pool > + is reset to all zero when returned. > + @param ResourceType Type of resource. > + > +**/ > +VOID > +InitializeResourcePool ( > + IN OUT PCI_RESOURCE_NODE *ResourcePool, > + IN PCI_BAR_TYPE ResourceType > + ) > +{ > + ZeroMem (ResourcePool, sizeof (PCI_RESOURCE_NODE)); > + ResourcePool->ResType = ResourceType; > + ResourcePool->Signature = PCI_RESOURCE_SIGNATURE; > + InitializeListHead (&ResourcePool->ChildList); > +} > + > +/** > + Destroy given resource tree. > + > + @param Bridge PCI resource root node of resource tree. > + > +**/ > +VOID > +DestroyResourceTree ( > + IN PCI_RESOURCE_NODE *Bridge > + ) > +{ > + PCI_RESOURCE_NODE *Temp; > + LIST_ENTRY *CurrentLink; > + > + while (!IsListEmpty (&Bridge->ChildList)) { > + > + CurrentLink = Bridge->ChildList.ForwardLink; > + > + Temp = RESOURCE_NODE_FROM_LINK (CurrentLink); > + ASSERT (Temp); > + > + RemoveEntryList (CurrentLink); > + > + if (IS_PCI_BRIDGE (&(Temp->PciDev->Pci))) { > + DestroyResourceTree (Temp); > + } > + > + FreePool (Temp); > + } > +} > + > +/** > + Insert resource padding for P2C. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +ResourcePaddingForCardBusBridge ( > + IN PCI_IO_DEVICE *PciDev, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ) > +{ > + PCI_RESOURCE_NODE *Node; > + > + Node = NULL; > + > + // > + // Memory Base/Limit Register 0 > + // Bar 1 decodes memory range 0 > + // > + Node = CreateResourceNode ( > + PciDev, > + 0x2000000, > + 0x1ffffff, > + 1, > + PciBarTypeMem32, > + PciResUsagePadding > + ); > + > + InsertResourceNode ( > + Mem32Node, > + Node > + ); > + > + // > + // Memory Base/Limit Register 1 > + // Bar 2 decodes memory range1 > + // > + Node = CreateResourceNode ( > + PciDev, > + 0x2000000, > + 0x1ffffff, > + 2, > + PciBarTypePMem32, > + PciResUsagePadding > + ); > + > + InsertResourceNode ( > + PMem32Node, > + Node > + ); > + > + // > + // Io Base/Limit > + // Bar 3 decodes io range 0 > + // > + Node = CreateResourceNode ( > + PciDev, > + 0x100, > + 0xff, > + 3, > + PciBarTypeIo16, > + PciResUsagePadding > + ); > + > + InsertResourceNode ( > + IoNode, > + Node > + ); > + > + // > + // Io Base/Limit > + // Bar 4 decodes io range 0 > + // > + Node = CreateResourceNode ( > + PciDev, > + 0x100, > + 0xff, > + 4, > + PciBarTypeIo16, > + PciResUsagePadding > + ); > + > + InsertResourceNode ( > + IoNode, > + Node > + ); > +} > + > +/** > + Program PCI Card device register for given resource node. > + > + @param Base Base address of PCI Card device to be programmed. > + @param Node Given resource node. > + > +**/ > +VOID > +ProgramP2C ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ) > +{ > + EFI_PCI_IO_PROTOCOL *PciIo; > + UINT64 Address; > + UINT64 TempAddress; > + UINT16 BridgeControl; > + > + Address = 0; > + PciIo = &(Node->PciDev->PciIo); > + > + Address = Base + Node->Offset; > + > + // > + // Indicate pci bus driver has allocated > + // resource for this device > + // It might be a temporary solution here since > + // pci device could have multiple bar > + // > + Node->PciDev->Allocated = TRUE; > + > + switch (Node->Bar) { > + > + case P2C_BAR_0: > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + (Node->PciDev->PciBar[Node->Bar]).Offset, > + 1, > + &Address > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + break; > + > + case P2C_MEM_1: > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_MEMORY_BASE_0, > + 1, > + &Address > + ); > + > + TempAddress = Address + Node->Length - 1; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_MEMORY_LIMIT_0, > + 1, > + &TempAddress > + ); > + > + if (Node->ResType == PciBarTypeMem32) { > + // > + // Set non-prefetchable bit > + // > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + > + BridgeControl &= (UINT16) > ~PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + > + } else { > + // > + // Set prefetchable bit > + // > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + > + BridgeControl |= PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + } > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; > + > + break; > + > + case P2C_MEM_2: > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_MEMORY_BASE_1, > + 1, > + &Address > + ); > + > + TempAddress = Address + Node->Length - 1; > + > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_MEMORY_LIMIT_1, > + 1, > + &TempAddress > + ); > + > + if (Node->ResType == PciBarTypeMem32) { > + > + // > + // Set non-prefetchable bit > + // > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + > + BridgeControl &= (UINT16) > ~(PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE); > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + > + } else { > + > + // > + // Set prefetchable bit > + // > + PciIo->Pci.Read ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + > + BridgeControl |= PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint16, > + PCI_CARD_BRIDGE_CONTROL, > + 1, > + &BridgeControl > + ); > + } > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; > + break; > + > + case P2C_IO_1: > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_IO_BASE_0_LOWER, > + 1, > + &Address > + ); > + > + TempAddress = Address + Node->Length - 1; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_IO_LIMIT_0_LOWER, > + 1, > + &TempAddress > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; > + > + break; > + > + case P2C_IO_2: > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_IO_BASE_1_LOWER, > + 1, > + &Address > + ); > + > + TempAddress = Address + Node->Length - 1; > + PciIo->Pci.Write ( > + PciIo, > + EfiPciIoWidthUint32, > + PCI_CARD_IO_LIMIT_1_LOWER, > + 1, > + &TempAddress > + ); > + > + Node->PciDev->PciBar[Node->Bar].BaseAddress = Address; > + Node->PciDev->PciBar[Node->Bar].Length = Node->Length; > + Node->PciDev->PciBar[Node->Bar].BarType = Node->ResType; > + break; > + > + default: > + break; > + } > +} > + > +/** > + Create padding resource node. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +ApplyResourcePadding ( > + IN PCI_IO_DEVICE *PciDev, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ) > +{ > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; > + PCI_RESOURCE_NODE *Node; > + UINT8 DummyBarIndex; > + > + DummyBarIndex = 0; > + Ptr = PciDev->ResourcePaddingDescriptors; > + > + while (((EFI_ACPI_END_TAG_DESCRIPTOR *) Ptr)->Desc != > ACPI_END_TAG_DESCRIPTOR) { > + > + if (Ptr->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Ptr->ResType == > ACPI_ADDRESS_SPACE_TYPE_IO) { > + if (Ptr->AddrLen != 0) { > + > + Node = CreateResourceNode ( > + PciDev, > + Ptr->AddrLen, > + Ptr->AddrRangeMax, > + DummyBarIndex, > + PciBarTypeIo16, > + PciResUsagePadding > + ); > + InsertResourceNode ( > + IoNode, > + Node > + ); > + } > + > + Ptr++; > + continue; > + } > + > + if (Ptr->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR && Ptr->ResType == > ACPI_ADDRESS_SPACE_TYPE_MEM) { > + > + if (Ptr->AddrSpaceGranularity == 32) { > + > + // > + // prefetchable > + // > + if (Ptr->SpecificFlag == 0x6) { > + if (Ptr->AddrLen != 0) { > + Node = CreateResourceNode ( > + PciDev, > + Ptr->AddrLen, > + Ptr->AddrRangeMax, > + DummyBarIndex, > + PciBarTypePMem32, > + PciResUsagePadding > + ); > + InsertResourceNode ( > + PMem32Node, > + Node > + ); > + } > + > + Ptr++; > + continue; > + } > + > + // > + // Non-prefetchable > + // > + if (Ptr->SpecificFlag == 0) { > + if (Ptr->AddrLen != 0) { > + Node = CreateResourceNode ( > + PciDev, > + Ptr->AddrLen, > + Ptr->AddrRangeMax, > + DummyBarIndex, > + PciBarTypeMem32, > + PciResUsagePadding > + ); > + InsertResourceNode ( > + Mem32Node, > + Node > + ); > + } > + > + Ptr++; > + continue; > + } > + } > + > + if (Ptr->AddrSpaceGranularity == 64) { > + > + // > + // prefetchable > + // > + if (Ptr->SpecificFlag == 0x6) { > + if (Ptr->AddrLen != 0) { > + Node = CreateResourceNode ( > + PciDev, > + Ptr->AddrLen, > + Ptr->AddrRangeMax, > + DummyBarIndex, > + PciBarTypePMem64, > + PciResUsagePadding > + ); > + InsertResourceNode ( > + PMem64Node, > + Node > + ); > + } > + > + Ptr++; > + continue; > + } > + > + // > + // Non-prefetchable > + // > + if (Ptr->SpecificFlag == 0) { > + if (Ptr->AddrLen != 0) { > + Node = CreateResourceNode ( > + PciDev, > + Ptr->AddrLen, > + Ptr->AddrRangeMax, > + DummyBarIndex, > + PciBarTypeMem64, > + PciResUsagePadding > + ); > + InsertResourceNode ( > + Mem64Node, > + Node > + ); > + } > + > + Ptr++; > + continue; > + } > + } > + } > + > + Ptr++; > + } > +} > + > +/** > + Get padding resource for PCI-PCI bridge. > + > + @param PciIoDevice PCI-PCI bridge device instance. > + > + @note Feature flag PcdPciBusHotplugDeviceSupport determines > + whether need to pad resource for them. > +**/ > +VOID > +GetResourcePaddingPpb ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + if (gPciHotPlugInit != NULL && FeaturePcdGet > (PcdPciBusHotplugDeviceSupport)) { > + if (PciIoDevice->ResourcePaddingDescriptors == NULL) { > + GetResourcePaddingForHpb (PciIoDevice); > + } > + } > +} > + > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciResourceSupport.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciResourceSupport.h > new file mode 100644 > index 0000000000..2a33f77e55 > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciResourceSupport.h > @@ -0,0 +1,456 @@ > +/** @file > + PCI resources support functions declaration for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_RESOURCE_SUPPORT_H_ > +#define _EFI_PCI_RESOURCE_SUPPORT_H_ > + > +typedef enum { > + PciResUsageTypical, > + PciResUsagePadding > +} PCI_RESOURCE_USAGE; > + > +#define PCI_RESOURCE_SIGNATURE SIGNATURE_32 ('p', 'c', 'r', 'c') > + > +typedef struct { > + UINT32 Signature; > + LIST_ENTRY Link; > + LIST_ENTRY ChildList; > + PCI_IO_DEVICE *PciDev; > + UINT64 Alignment; > + UINT64 Offset; > + UINT8 Bar; > + PCI_BAR_TYPE ResType; > + UINT64 Length; > + BOOLEAN Reserved; > + PCI_RESOURCE_USAGE ResourceUsage; > + BOOLEAN Virtual; > +} PCI_RESOURCE_NODE; > + > +#define RESOURCE_NODE_FROM_LINK(a) \ > + CR (a, PCI_RESOURCE_NODE, Link, PCI_RESOURCE_SIGNATURE) > + > +/** > + The function is used to skip VGA range. > + > + @param Start Returned start address including VGA range. > + @param Length The length of VGA range. > + > +**/ > +VOID > +SkipVGAAperture ( > + OUT UINT64 *Start, > + IN UINT64 Length > + ); > + > +/** > + This function is used to skip ISA aliasing aperture. > + > + @param Start Returned start address including ISA aliasing aperture. > + @param Length The length of ISA aliasing aperture. > + > +**/ > +VOID > +SkipIsaAliasAperture ( > + OUT UINT64 *Start, > + IN UINT64 Length > + ); > + > +/** > + This function inserts a resource node into the resource list. > + The resource list is sorted in descend order. > + > + @param Bridge PCI resource node for bridge. > + @param ResNode Resource node want to be inserted. > + > +**/ > +VOID > +InsertResourceNode ( > + IN OUT PCI_RESOURCE_NODE *Bridge, > + IN PCI_RESOURCE_NODE *ResNode > + ); > + > +/** > + This routine is used to merge two different resource trees in need of > + resource degradation. > + > + For example, if an upstream PPB doesn't support, > + prefetchable memory decoding, the PCI bus driver will choose to call this > function > + to merge prefetchable memory resource list into normal memory list. > + > + If the TypeMerge is TRUE, Res resource type is changed to the type of > destination resource > + type. > + If Dst is NULL or Res is NULL, ASSERT (). > + > + @param Dst Point to destination resource tree. > + @param Res Point to source resource tree. > + @param TypeMerge If the TypeMerge is TRUE, Res resource type is > changed to the type of > + destination resource type. > + > +**/ > +VOID > +MergeResourceTree ( > + IN PCI_RESOURCE_NODE *Dst, > + IN PCI_RESOURCE_NODE *Res, > + IN BOOLEAN TypeMerge > + ); > + > +/** > + This function is used to calculate the IO16 aperture > + for a bridge. > + > + @param Bridge PCI resource node for bridge. > + > +**/ > +VOID > +CalculateApertureIo16 ( > + IN PCI_RESOURCE_NODE *Bridge > + ); > + > +/** > + This function is used to calculate the resource aperture > + for a given bridge device. > + > + @param Bridge PCI resource node for given bridge device. > + > +**/ > +VOID > +CalculateResourceAperture ( > + IN PCI_RESOURCE_NODE *Bridge > + ); > + > +/** > + Get IO/Memory resource info for given PCI device. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO . > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +GetResourceFromDevice ( > + IN PCI_IO_DEVICE *PciDev, > + IN OUT PCI_RESOURCE_NODE *IoNode, > + IN OUT PCI_RESOURCE_NODE *Mem32Node, > + IN OUT PCI_RESOURCE_NODE *PMem32Node, > + IN OUT PCI_RESOURCE_NODE *Mem64Node, > + IN OUT PCI_RESOURCE_NODE *PMem64Node > + ); > + > +/** > + This function is used to create a resource node. > + > + @param PciDev Pci device instance. > + @param Length Length of Io/Memory resource. > + @param Alignment Alignment of resource. > + @param Bar Bar index. > + @param ResType Type of resource: IO/Memory. > + @param ResUsage Resource usage. > + > + @return PCI resource node created for given PCI device. > + NULL means PCI resource node is not created. > + > +**/ > +PCI_RESOURCE_NODE * > +CreateResourceNode ( > + IN PCI_IO_DEVICE *PciDev, > + IN UINT64 Length, > + IN UINT64 Alignment, > + IN UINT8 Bar, > + IN PCI_BAR_TYPE ResType, > + IN PCI_RESOURCE_USAGE ResUsage > + ); > + > +/** > + This function is used to create a IOV VF resource node. > + > + @param PciDev Pci device instance. > + @param Length Length of Io/Memory resource. > + @param Alignment Alignment of resource. > + @param Bar Bar index. > + @param ResType Type of resource: IO/Memory. > + @param ResUsage Resource usage. > + > + @return PCI resource node created for given VF PCI device. > + NULL means PCI resource node is not created. > + > +**/ > +PCI_RESOURCE_NODE * > +CreateVfResourceNode ( > + IN PCI_IO_DEVICE *PciDev, > + IN UINT64 Length, > + IN UINT64 Alignment, > + IN UINT8 Bar, > + IN PCI_BAR_TYPE ResType, > + IN PCI_RESOURCE_USAGE ResUsage > + ); > + > +/** > + This function is used to extract resource request from > + device node list. > + > + @param Bridge Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +CreateResourceMap ( > + IN PCI_IO_DEVICE *Bridge, > + IN OUT PCI_RESOURCE_NODE *IoNode, > + IN OUT PCI_RESOURCE_NODE *Mem32Node, > + IN OUT PCI_RESOURCE_NODE *PMem32Node, > + IN OUT PCI_RESOURCE_NODE *Mem64Node, > + IN OUT PCI_RESOURCE_NODE *PMem64Node > + ); > + > +/** > + This function is used to do the resource padding for a specific platform. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +ResourcePaddingPolicy ( > + IN PCI_IO_DEVICE *PciDev, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ); > + > +/** > + This function is used to degrade resource if the upstream bridge > + doesn't support certain resource. Degradation path is > + PMEM64 -> MEM64 -> MEM32 > + PMEM64 -> PMEM32 -> MEM32 > + IO32 -> IO16. > + > + @param Bridge Pci device instance. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +DegradeResource ( > + IN PCI_IO_DEVICE *Bridge, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ); > + > +/** > + Test whether bridge device support decode resource. > + > + @param Bridge Bridge device instance. > + @param Decode Decode type according to resource type. > + > + @return TRUE The bridge device support decode resource. > + @return FALSE The bridge device don't support decode resource. > + > +**/ > +BOOLEAN > +BridgeSupportResourceDecode ( > + IN PCI_IO_DEVICE *Bridge, > + IN UINT32 Decode > + ); > + > +/** > + This function is used to program the resource allocated > + for each resource node under specified bridge. > + > + @param Base Base address of resource to be programmed. > + @param Bridge PCI resource node for the bridge device. > + > + @retval EFI_SUCCESS Successfully to program all resources > + on given PCI bridge device. > + @retval EFI_OUT_OF_RESOURCES Base is all one. > + > +**/ > +EFI_STATUS > +ProgramResource ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Bridge > + ); > + > +/** > + Program Bar register for PCI device. > + > + @param Base Base address for PCI device resource to be programmed. > + @param Node Point to resource node structure. > + > +**/ > +VOID > +ProgramBar ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ); > + > +/** > + Program IOV VF Bar register for PCI device. > + > + @param Base Base address for PCI device resource to be programmed. > + @param Node Point to resource node structure. > + > +**/ > +EFI_STATUS > +ProgramVfBar ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ); > + > +/** > + Program PCI-PCI bridge aperture. > + > + @param Base Base address for resource. > + @param Node Point to resource node structure. > + > +**/ > +VOID > +ProgramPpbApperture ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ); > + > +/** > + Program parent bridge for Option Rom. > + > + @param PciDevice Pci device instance. > + @param OptionRomBase Base address for Option Rom. > + @param Enable Enable or disable PCI memory. > + > +**/ > +VOID > +ProgramUpstreamBridgeForRom ( > + IN PCI_IO_DEVICE *PciDevice, > + IN UINT32 OptionRomBase, > + IN BOOLEAN Enable > + ); > + > +/** > + Test whether resource exists for a bridge. > + > + @param Bridge Point to resource node for a bridge. > + > + @retval TRUE There is resource on the given bridge. > + @retval FALSE There isn't resource on the given bridge. > + > +**/ > +BOOLEAN > +ResourceRequestExisted ( > + IN PCI_RESOURCE_NODE *Bridge > + ); > + > +/** > + Initialize resource pool structure. > + > + @param ResourcePool Point to resource pool structure. This pool > + is reset to all zero when returned. > + @param ResourceType Type of resource. > + > +**/ > +VOID > +InitializeResourcePool ( > + IN OUT PCI_RESOURCE_NODE *ResourcePool, > + IN PCI_BAR_TYPE ResourceType > + ); > + > +/** > + Destroy given resource tree. > + > + @param Bridge PCI resource root node of resource tree. > + > +**/ > +VOID > +DestroyResourceTree ( > + IN PCI_RESOURCE_NODE *Bridge > + ); > + > +/** > + Insert resource padding for P2C. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +ResourcePaddingForCardBusBridge ( > + IN PCI_IO_DEVICE *PciDev, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ); > + > +/** > + Program PCI Card device register for given resource node. > + > + @param Base Base address of PCI Card device to be programmed. > + @param Node Given resource node. > + > +**/ > +VOID > +ProgramP2C ( > + IN UINT64 Base, > + IN PCI_RESOURCE_NODE *Node > + ); > + > +/** > + Create padding resource node. > + > + @param PciDev Pci device instance. > + @param IoNode Resource info node for IO. > + @param Mem32Node Resource info node for 32-bit memory. > + @param PMem32Node Resource info node for 32-bit Prefetchable > Memory. > + @param Mem64Node Resource info node for 64-bit memory. > + @param PMem64Node Resource info node for 64-bit Prefetchable > Memory. > + > +**/ > +VOID > +ApplyResourcePadding ( > + IN PCI_IO_DEVICE *PciDev, > + IN PCI_RESOURCE_NODE *IoNode, > + IN PCI_RESOURCE_NODE *Mem32Node, > + IN PCI_RESOURCE_NODE *PMem32Node, > + IN PCI_RESOURCE_NODE *Mem64Node, > + IN PCI_RESOURCE_NODE *PMem64Node > + ); > + > +/** > + Get padding resource for PCI-PCI bridge. > + > + @param PciIoDevice PCI-PCI bridge device instance. > + > + @note Feature flag PcdPciBusHotplugDeviceSupport determines > + whether need to pad resource for them. > +**/ > +VOID > +GetResourcePaddingPpb ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +#endif > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciRomTable.c > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciRomTable.c > new file mode 100644 > index 0000000000..507aed5cfe > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciRomTable.c > @@ -0,0 +1,135 @@ > +/** @file > + Set up ROM Table for PCI Bus module. > + > +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include "PciBus.h" > + > +// > +// PCI ROM image information > +// > +typedef struct { > + EFI_HANDLE ImageHandle; > + UINTN Seg; > + UINT8 Bus; > + UINT8 Dev; > + UINT8 Func; > + VOID *RomImage; > + UINT64 RomSize; > +} PCI_ROM_IMAGE; > + > +UINTN mNumberOfPciRomImages = 0; > +UINTN mMaxNumberOfPciRomImages = 0; > +PCI_ROM_IMAGE *mRomImageTable = NULL; > + > +/** > + Add the Rom Image to internal database for later PCI light enumeration. > + > + @param ImageHandle Option Rom image handle. > + @param Seg Segment of PCI space. > + @param Bus Bus NO of PCI space. > + @param Dev Dev NO of PCI space. > + @param Func Func NO of PCI space. > + @param RomImage Option Rom buffer. > + @param RomSize Size of Option Rom buffer. > +**/ > +VOID > +PciRomAddImageMapping ( > + IN EFI_HANDLE ImageHandle, > + IN UINTN Seg, > + IN UINT8 Bus, > + IN UINT8 Dev, > + IN UINT8 Func, > + IN VOID *RomImage, > + IN UINT64 RomSize > + ) > +{ > + UINTN Index; > + PCI_ROM_IMAGE *NewTable; > + > + for (Index = 0; Index < mNumberOfPciRomImages; Index++) { > + if (mRomImageTable[Index].Seg == Seg && > + mRomImageTable[Index].Bus == Bus && > + mRomImageTable[Index].Dev == Dev && > + mRomImageTable[Index].Func == Func) { > + // > + // Expect once RomImage and RomSize are recorded, they will be passed > in > + // later when updating ImageHandle > + // > + ASSERT ((mRomImageTable[Index].RomImage == NULL) || (RomImage > == mRomImageTable[Index].RomImage)); > + ASSERT ((mRomImageTable[Index].RomSize == 0 ) || (RomSize == > mRomImageTable[Index].RomSize )); > + break; > + } > + } > + > + if (Index == mNumberOfPciRomImages) { > + // > + // Rom Image Table buffer needs to grow. > + // > + if (mNumberOfPciRomImages == mMaxNumberOfPciRomImages) { > + NewTable = ReallocatePool ( > + mMaxNumberOfPciRomImages * sizeof (PCI_ROM_IMAGE), > + (mMaxNumberOfPciRomImages + 0x20) * sizeof > (PCI_ROM_IMAGE), > + mRomImageTable > + ); > + if (NewTable == NULL) { > + return ; > + } > + > + mRomImageTable = NewTable; > + mMaxNumberOfPciRomImages += 0x20; > + } > + // > + // Record the new PCI device > + // > + mRomImageTable[Index].Seg = Seg; > + mRomImageTable[Index].Bus = Bus; > + mRomImageTable[Index].Dev = Dev; > + mRomImageTable[Index].Func = Func; > + mNumberOfPciRomImages++; > + } > + > + mRomImageTable[Index].ImageHandle = ImageHandle; > + mRomImageTable[Index].RomImage = RomImage; > + mRomImageTable[Index].RomSize = RomSize; > +} > + > +/** > + Get Option rom driver's mapping for PCI device. > + > + @param PciIoDevice Device instance. > + > + @retval TRUE Found Image mapping. > + @retval FALSE Cannot found image mapping. > + > +**/ > +BOOLEAN > +PciRomGetImageMapping ( > + IN PCI_IO_DEVICE *PciIoDevice > + ) > +{ > + EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; > + UINTN Index; > + > + PciRootBridgeIo = PciIoDevice->PciRootBridgeIo; > + > + for (Index = 0; Index < mNumberOfPciRomImages; Index++) { > + if (mRomImageTable[Index].Seg == PciRootBridgeIo->SegmentNumber > && > + mRomImageTable[Index].Bus == PciIoDevice->BusNumber && > + mRomImageTable[Index].Dev == PciIoDevice->DeviceNumber && > + mRomImageTable[Index].Func == PciIoDevice->FunctionNumber ) { > + > + if (mRomImageTable[Index].ImageHandle != NULL) { > + AddDriver (PciIoDevice, mRomImageTable[Index].ImageHandle, NULL); > + } > + PciIoDevice->PciIo.RomImage = mRomImageTable[Index].RomImage; > + PciIoDevice->PciIo.RomSize = mRomImageTable[Index].RomSize; > + return TRUE; > + } > + } > + > + return FALSE; > +} > diff --git > a/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciRomTable.h > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciRomTable.h > new file mode 100644 > index 0000000000..fb356bd6de > --- /dev/null > +++ > b/Platform/Intel/PurleyOpenBoardPkg/Override/MdeModulePkg/Bus/Pci/P > ciBusDxe/PciRomTable.h > @@ -0,0 +1,48 @@ > +/** @file > + Set up ROM Table for PCI Bus module. > + > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _EFI_PCI_ROM_TABLE_H_ > +#define _EFI_PCI_ROM_TABLE_H_ > + > +/** > + Add the Rom Image to internal database for later PCI light enumeration. > + > + @param ImageHandle Option Rom image handle. > + @param Seg Segment of PCI space. > + @param Bus Bus NO of PCI space. > + @param Dev Dev NO of PCI space. > + @param Func Func NO of PCI space. > + @param RomImage Option Rom buffer. > + @param RomSize Size of Option Rom buffer. > +**/ > +VOID > +PciRomAddImageMapping ( > + IN EFI_HANDLE ImageHandle, > + IN UINTN Seg, > + IN UINT8 Bus, > + IN UINT8 Dev, > + IN UINT8 Func, > + IN VOID *RomImage, > + IN UINT64 RomSize > + ); > + > +/** > + Get Option rom driver's mapping for PCI device. > + > + @param PciIoDevice Device instance. > + > + @retval TRUE Found Image mapping. > + @retval FALSE Cannot found image mapping. > + > +**/ > +BOOLEAN > +PciRomGetImageMapping ( > + IN PCI_IO_DEVICE *PciIoDevice > + ); > + > +#endif > -- > 2.25.0.windows.1 > > > Please consider the environment before printing this email. > > The information contained in this message may be confidential and > proprietary to American Megatrends (AMI). This communication is intended > to be read only by the individual or entity to whom it is addressed or by their > designee. If the reader of this message is not the intended recipient, you are > on notice that any distribution of this message, in any form, is strictly > prohibited. Please promptly notify the sender by reply e-mail or by > telephone at 770-246-8600, and then delete or destroy all copies of the > transmission. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-07-29 2:11 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-06-17 0:51 [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi] [PATCH] ASpeed : ASpeedGopBinPkg : Add X64 ASpeedAst2500Gop UEFI Driver Nate DeSimone 2021-06-17 0:51 ` [edk2-platforms] [PATCH V1 1/2] PurleyOpenBoardPkg : Support for TiogaPass Platform Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi][PATCH] PurleySiliconBinPkg : FV binaries derived from Purley Refresh RC version RC610D02 Nate DeSimone 2021-06-17 0:51 ` [edk2-non-osi][PATCH] PurleySiliconBinPkg : Microcode udpates for latest SKX/CLX CPU Nate DeSimone 2021-06-17 0:51 ` [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver Nate DeSimone 2021-06-25 18:57 ` [edk2-platforms] [PATCH V1] PurleyOpenBoardPkg : Support for LINUX Boot Oram, Isaac W 2021-06-29 14:32 ` [EXTERNAL] " manickavasakam karpagavinayagam 2021-06-29 16:41 ` [edk2-devel] " Oram, Isaac W -- strict thread matches above, loose matches on Subject: below -- 2021-06-16 21:47 [edk2-platforms] [PATCH V1 2/2] PurleyOpenBoardPkg : Override generic PciBus Driver with Platform specific instance of PciBus driver manickavasakam karpagavinayagam 2021-07-29 2:10 ` Nate DeSimone
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox