* [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 +
| 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."
+
--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
* [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
zcmeIbeS8$v^*=tF-H;^-nMH#Q5@nT*Mjj*()Ih-Ogk6}GU5SKfT0u8LLQ;8%$u198
zba4~S?zon=+G;<x#nu9?w#Gg{TwBcok|4;FRRd}b*pJS-NC6ds5A5%K?#%3NLh#dX
zKfgb|ukWiXleu&5x#ym9?z!ild*{y8^&Rft{<Z(xCI9_`6?TqW{7`y70w=gD%~@$V
z+=hCNGZ!dXzBG=bOZ%CTpljgIx;}}QH8Ar6&!!8&2LpG0pX2VMi~z^w4~Fn>!mjny
zuJ)j;A2O4iBzvm7MApo4_17-0@zfx_;c`6RoxD@N_Oo(ax0deIb6h8Q)$SUc?pBT~
zzjn1ku#of{0!+Q1hu2iQbj2b?cG7_l2y{>VSwT+>EU*}F6aB}`Vqn-W9^yDrIxI?O
z#nxTkOG394i=konuH`sqD7_Ll`KLDnA#m9e!fSoUdkNsr0v@WI3dCCoV>Mw&Gu>h!
z-NCRr8P?ATtD+28;|Ob>f>jNy;uNfJ-A`B(fmMK%Jf30gle59JC@ruQiT)ktJGbv~
zO7A)Xw;LUSO4F_2-0JWzI>Cvd^v!4kM_{Jx3=Oj*3CQ1<5M+)C&|dI5SAjl3x4^I(
z1-(ZMjTk}@Dg7s{ETe*<4RhcYUoYw?tLJ6#;1gRr*UWQDohb3lYL1ik$~qTQ&dYcT
zk0#8}uySJk9)e5Tf%rWIvB${}A1B0H(Plt=5ouWjB5J-2HG@Io*IvA<EB#F*GPyLM
zjmSh&3^^^;30{beu?icPfrbb^)+pq!C-O@b^4}ryQNTs;0qs>ld)7O)@7c3Qly-=L
zYLggf%%hfXbV`mwXUJ+4r7uM3<V)1OL}_23x?K!ZYz7A%bp%LX(?a^lBPm-uS1%Vs
zHcOFB+ARib7IUcblqj`Wd?;!!?i8i&ctsJkMu?W;cRKW!a$Mb1;Cr(>IJ1(T?8y{g
zg0<7n2lAJKJSv-m%AC@yLZ`G3OvKllnf|vsLkld84(awhhtzC#NFTrq_AuKO1M@AW
zs#|Xp<_lHAt-@`hbPO_8ymSIua7ZVlH=I(`KKUPVC269ylW+MiWJqs-MS1B>Bo{Hs
zx3rSdx;UY7eu*=*+UW3KjrM3XiIPhMQ(I~YGkukx<6P2Cm*gt!vRMk5q5@8fS=EZv
zN2J=0gJXv@#2K2C2VE2&WZGCQs=51>T(q*#kq7aSEBr|(gw~`<Z^tWEgTflfH-zPL
z$d}&kUw%E)NBXe`$zbd!R0h+*V0`@(P^DH+J>j*U_7;Y2HHsluwS2z=03_<V?A2-d
zF8cybr}N1c>SLj*>KIREv<=qS(&@cOl->g26Y}A?$PLU~9ZMJei&mpuX0CR%c6u&{
zF75^c(99!?AuN;yejU_YN_W{UTdzj8D)M`bt=+O^LK3!%V19HCzU5&xdngYO#2>Gi
zcDa}1UPP8pehQqUb9@_su$9CL4O@$}oK5ZLUu-D>WM)0tVUZY`Q;mLq6}X~jnDxvO
zF#Ga4qA=|FMFd8Jf$>j~PT`oEZuJcgDFa#E$f7nzQ<HkBsg1-V89IpF17fKyzUEf6
z7m9nX6MSFkyu+a-H2f}V*w8IHw5dztLA8l0m(q(-+9B<7N%lg`xYI`iCQ7^G6=Ez?
zd}S!=!p|p4U83}q1p_3c+)*LiDcm6}6c*fh$HJuTFSVc>dn{(^$3+e)!n$x2ZR8!}
zlmv95*HC4r4-`TpPTs|8R%(s%I_hWC@ojJo5^Q8dFA#wK1E7=4X;g9GzJz&`ZNEb>
z#hGmH7T1+hfAL&~#+i=6F#Hy1qH%hg(Ksta4HHJgngK0UNUiW~R?Qr$aXBSbwO)#9
z<LfJkgfs^noxm96xk8j2MoMIg(ulqXfH6-5i^q{7ENBciz9wCicE)C6*fBxxr2eGt
zfgB;^(1=qtBrvL#_Bm6P|4T-TluwRpfyF9HOD(9xW2uJPi{NOW+Y%U64VZOG=+3v8
z#L{k;)a{U7;~(pU@DC%W4aOlKCU5TFQGzlwu8M&H?Gsf-SL#E&*rA6q@$*G#To$G4
zdWb`%InuKgre^@8xf-Xm7e+#aHHQO}9Ss3{G2%eL;Y`5YPO{qFN-M{HD!!P@DuFqb
zM!b?!a$4Mw<#FJO(rqR%|659y_KDK#5Qa&S%f_U^G_hxov<)h@2he!AKB?sg&w#kU
z&*-_{-)HiC%im}Ae#g;e&DH_z3W&M(fS4bfCUjX%Tp!2bp4*!NBkZ!~jRr<6k8*mE
zq8y6OD2KFy=j=4POICxwGsEB8Cj_kK<k$tx*0b?T46HT_6a<*X(6_s#k5!X&NGDw|
zAnB}U6eQem4{S3Ca<ENH6KwMhJ4ye(?<JWkp{BSPcl>-&AO6CmJomWpXQ?R7&MPf!
zUi^v$VCii+XBKh;)Y-k+Vu#jIV>dejH;N&{?|=llmx%gT(E?J7|0z5N$_@Rq0N=pi
zM(ItbG(`UGxp=&|6CJ;Un8DAd#5%A-xGoRb<9)D4ggydBZ)$!>zSNSJ==Tu)o^A}?
z>u#jpC`yNz(9bqP=uVJ>&=a8m`R_Jj?o;%VywZ}URP(zG%_T~Y_M(0<H2xK}yQK&2
zLw7?5^KYaaPI~P3Bv0gMnw&xU3p~UMKoy{+sUmtn!DJ&*DE&q^5F<y?Klh6I{qidl
zsiK*Afz<}OiIQlPS{T)UkP6uVA^`zC6$TG97zycLl<r26wMJ>7!6|h~Z^(^b$Ky`v
zRv59<QpAQ@^hhE8Lm!Z(*-(4-e@Tx$%1o5mkbhf7<YPVm{5Jmi*{~qHS(IqVkVK4U
z)*K3XhX9%v%MkV5V!)NR^C4y*id%qUmr`4Jl(zUE;t#hNTGQ<exO&BPWz;Hy)Z>)C
za7rgVqhXNz3bc(HF8&B<xqK$M7FVxBI_LjVziN#rc@YVm_8>I-9ZBPA{lv3a^#8RD
zY0jGicPB=A)5Jh40UXk-Jg4M!JEhu2Ni;|Y#1M2BGWc*k41r{c^M9%H&YBa-z7~#a
z)hI_OdlK?~sOI-bK5AHGt(=l-gil#E5ZJ%NojUY@%6OvkCWgj(QNK6#XLz7H?!{P5
z;ZVE+c4<G+`VQYRDIKmMrsG@E(4$%6PS_bZVdKST%b<b~v$$dFmqP_*<s271F@&1g
z)g!#Z?Liwp$=dEqv)3rRVg?|V?f=r$VM5Bu+xkSwUN3aeG)t7Kdd1TH&3ac>pMaRb
z#JNg8qo=d3);>?J7=KNScZ>SBMEy=N0MvlJ-qm{6lkJG_b;S3$^q;%*|1GT}CHS{z
zz~4k-`WO4+@i=U1OeD<th^c-2^F8vdQ_ulEFog{O*(j{uC(i^3cwwW0B^TovoXO#A
z1(1~oMENp6G3wNZO@KNgy(Sd3XYG*F6?ktrHx<59{-hXGA|IN<d4LO9p99?{?UdgF
z*e-R2rz^DOorDG^J_MQQAEEF$A;Y!Q<j&F)y#JQ~h|<Cymvr38KmR+j71y{Ag_ji3
z4#L3rmcIcAjrY1jH=Pp^KftV<<GP(81GNp%Uw7$Wb?LiY<Ms)!^u^I8e%2;%^o0Vy
zg~L@57p3o$D~R+Ov-SgEJr_BOltaI(Jdmr4)nI7w-XH|6am!cy7DC|agfU%pk>2z=
z;0LYeI%Pe-rCXF9CMtE2qx!n619d1{5i6i<At=Uy;ydzDX15UJEWMpkeWr#kv}LC`
z;@celPJ^@bE&jm;Xf~&`R<ubHwI}p3MUseR!5_(RjoBTKKo#9$B&v7nUG+%s68Y!%
zQsk7ibF<!?g`Bi7i5@d;)_F6<1JN+7mW!oP9M2d;V>>Z&vhb1xlg#PN%X8|Ph8^*p
ziiVw~UYURJF?jdrNCV?!ywWngyx$0bQ(A`p{w}KjnbI<!F`I+!^r%(Xq&AX4TCef%
z9J31oT}2XvZqm8*uQNFygZ~Q?-$D_c{|htU@?#P=7_nwTB9&>zEyeYFg-}Hr3CUQ8
ztE1?#_@E+#2||)lRD%-rE>~!_4o<@F)OV_Mg4t=lBfUbKs7nQW)p<lOv>9C?E4(;U
zQZU;j#<z7I83NQV#nQK$UWw`%QI^XT%veIbi~}J)Ppe!BG41uRK|d@{Bj{Y8CbZ#?
z`YdIyk3@|GNpi9t#;_jMQhnXgA3+OhyJ{#&Ehrouh$>phWIV8jPE~}b@&Zb5R_J_3
z`ckyOZ_Tc#gH8F4d^J!H6-*CMkD`aah<euCj`$AN+|JTkSV;z1$)`*~RXsK-s5JOl
zljjz}f7a|N7J_qiLNEhe03CsP!R$1(8}M5qZLSJ_Yj<7bh_NoKyDs3`&u@*yD$vhn
z>+ol88ZxrFk;*_KHUo*<(mJRs*Ns8%o2|2ag)W!QZ|P*cF+=H$S}zP#f!a3s*B+@m
za>PU~EUP=<`WqrxzLjPsHtC0CqmI&3e5(%$A>`13dOS|1X%F3$;T+Sg^)eU#{2mAY
z{Oj;Dj;siJ+qV#3nK1kO8%^R1VVRj^nXz%O|IKK#*(O+QsA@ktp@uLtmIFuydkh;<
zpE8}J^@hCYAMiXUlz*+W^i$sdYdny*3llR?X~G+*$|Y~`TGAW1^a(Z-?Bz1nSYH8q
z;Y?7B6~HT8oXS*~LZ9=v0`Cwag*j3oTmvakVTqW0a4{)LN*~?KobZWwg}Jyh`XD&g
z<_{i=Nm-l=t*HnXq9(-dXFsDths1zTf;b2O`EvjQf)&YzGb|~FZh9AVyAbTgE37oN
zbvdPsu!RUn>Fof+VH!g>^{TlOMTsvyDEX;H1L*Q|5bb1iSq*WRiRk|oi~n}|DH_tn
zE3HaEguuyz2o-TD#X__SL*g1~vINn?jofmCRZfdl{=o$JFq;KKi+)%H71*TI+-Brr
zhGRwsmr|$`-~z4)?AR<8l(rObK*7ApfLNL0Hgmj_CXVYcKef(raw{+CUuizd1M_nK
zeHIJn+1NibKAz(`(A(6x+Bfk2CNMSLTT!4t?^}^O2=9jfCGT#Ky&&&1`}3~pyin+%
z#tM5>wHL{k0ukX+oQsF=O90b}G)6K6%(4Sc2hlqzbfgA5nS`Zl8Y)Ed!XA~jJ-?nm
zj2on$p8=@RJc2M?t>+HrW0mS(OM+)B?wE1)$0WEYOmjg6`>7;2!L029%%<?_<I=eB
zl!W+07_U61H^X@-_E{vK97_Vkd1$XB0eqJMZEd!;ur&efV!*a5%PnDB0{908yb`~#
zm;nAP33MiaZ43yJeBp`&uo*zIPGg$JPmK!6OF-tT5OV@DLxmJ3Amda>Q35hjg=|hh
zGE_)=0`mDatnoPRp|CXp>{WmdK_RvTaJPo(3yTTh76$a;7j`CqPXh?IP`F)dhZ6J=
z@?Fp}B2q5wR)x39D}jn0TFCLOe@2ehmtvXcckt#bQp)|3%Ju5VH?R)wO^c<)c5A-C
zb9I>0Yu;xSPzz`=J&9~2eyIDis=ZT5{YjpVg4Gu@kqb}x&@wpC^?i6akM);;7PZ2E
z3murWqzd&kav*=n_I`dPY)DA`4<Pt^zaoahxe4fAKnpk!B)2AX*k+asVN7K<C{EOg
zT%n`nhU>2*;Ccmk0|Sm9H})C=wkg0X8PGKP^2-S5Q-H$&Ordrc9%oPu-a_)N{%$=n
z!yKKQR{%f4p)Z=Vx}^v)6O~B7WVO_oGl&&$fl@jxS=w}7=~zVyb5Se{&me}iqO1*-
zijC(N9YHzgfo)W4iav`#lwjr*ZRP{U8X?7Zm86t$BcEiWVtiQ6CdZy^p}$`Rfs>EL
z3bHy5aYh=4dexGd{YyTBlIPVcbPUzIzk(Vxqr4wjLPtO6WR)8L>;gMfFPZXs+?y|l
zaZ2-P-I<2cSwNwBG20>LV?8wgP4RG6*}^Dq-rROcm@{kD@c@P!6OW7Wh%VtH1r)MA
z;2DjIExlv79|;}ii*>N(E3~q205e8C#==>+A1SIgCrJGnxi2n;d7!g=`@33aQ5BHr
z|3Zg>ENDT+YBeOdAH@VVzJzTFU;_hI%?75J0M2K?i>bIX0W70hH$0@HT0dyeY85&@
zjhCgR)RM=_uA;K@6J_-bIG{a_BQi>9o|(WQ{X#cp&U4^ACDU?XLdKN92ZN&?Lsr6a
zisZ+E$%Gg0?gY0^ONmV~=)xv6Ej<;<o)iRxyc&Y$7K-G`6a-9uG=#hag~=%hnC@u^
z<^;m<6a>uAGz3cm;l!9ElUS+)0(eBHFp_DHPoV8eK^u~!Q<Om13<RO$_hTJtVJ<Nm
z{D=W{CQ?fRcs~PXW%X8tvlGAu21IL_!=?mqK7g76Gm@3&CJ>5K5U^sXN!Ob|xF`i-
zXcFNc351hZCab_}291K8K-iyxkd;I@mOywu1tB|$a3X>5XbQrxB*JG2gk>oRSl-ik
z=u03tfgp4kv9uLlp8(##fJ4Z@I}^Yw8Sn?GZlOpX1|X3wl9yn1p(zxrP+Co9oo10o
zub`UNE%<GDI6Kj_uQT9}o`-8lMpGRCYNYV`5TvABX2V6Y?kvqwsJ;ijpdr#oJmx3J
z-OtF;V3!hdH2{cSMR7w)pQ?uI!Ri)sjaKzuqTZ*|UFf)2pVH^t@)ap;F`?`G^*Oi9
zr64eV6$Gu%x#joGNx@j3QxLR1=ayeiL12AOLD2e~TmD%J0_$@Mg4XBU@_i`?tk2aC
z(&yZARSFvGa|#`;&$;C(Kwy2YJkjUe@@NL+3b~<)KIfJ*8L(fUbIYHPrs7;`pL5H-
z0BY^Z`kYd!*5};vD=7%9&nXC6pL5GUPeEXPPC?N6oLgR-g24Kmf}r&|x4a+)f%Q2B
zLF;pFxikfV^*IGW>vL}T(i8;N=M)63&$;EZmnX$!eNI8p`kY(t0m6Vj=a#oK;PmNv
z)5AN|KIfKy&wx3XFXF=83E-0q_=Df1^clC@0w63JZNcuCj$wGEaCbbL&yL5CGv2`a
zr|DR9YDQo@5lNI_wyu>#%$c9k>D}@Kg=~>kBUi-86(No&@&U&CKfqrKbhSPW`7cu-
zTIlPRKLP}-6k#Qo`Yy$PGz9EPh_n+3)UDmJ8H*4Y!54swB*jgM?Antw=kqM0U`3gz
zhxe-?xm*4R&?xjkW?@7&B1vIIA&c`=xDA^{3RfBdwrQAvOm8+3A|TUoFT&j#8_EXh
zm1(i`Xgd5!^aV@`k!e+Au%0hN8fw?{i2H?F;1u-5Nb{{9AqmVWapkUgA2S{aj^R~p
zLkkm?O-Zc0|5<?hYy4p}TIyuOEqeh0w-#{g?;b+R)*QK8{x<RyW&iQiAj+PW$nN_m
zQ+5#usmdmj(AN~EK@0RWMTL|!lTHazqH4}VnxlD4^ei;jpWnAf4dnM#KtNy$Is1^!
zs5>Bo6pM=oli(-7RwOtHd(d188+DYvrj0soc_~l_j5==lHU{iB>bT`{05wu<)TviT
z9k(n&PfC45nR)gbb=<O%k?S|=xaChTWus0t7C92}DrsSSB4RuM41y%%&sP9Zz2<te
z7AXH#0b0=`9!mfp2QVe_{uqylEqyeBm`)UYT=>2Oay@djur~Y7WLV44lHt41pXQJ8
zh(<7@S<Il#rGfSc&?ZKbw6lRls<Fy-pDIeS$_v;+BEeoej*&Q7!^{CBbs&jF&k_3s
zjmWnVMZ|^!lwGcYP9>=A|Aa00q{SW$TNA?lb0qpxw?HPI1g-=yoSnegjmH9*;#o}|
z1fls<B8g(763Lm_lX%pShjCnyk+755mmpi{xaOiu%;7dpYbYIn+S(R&YNWKg@WN)H
z-535F;t54pm*=5;`~DQjj&CVjJ%Z3S*31ih&^WYnRe!9X_s8=0T7mO!%%hfK&)zzr
zW57IZ2~{_6t~d`sg_{Lf14~if&yb<@K7Y5BlFIZfsozVethygXS-+!js<0bO<30sJ
zIo+q{Ltvr(`w21K@_U!`6Vu;opap;0D3H*uTh32qfQgu?QDrkmicPq1vX38wR*1`R
zqZ(|w<wFX{3gfkEE4)Oc<oFHhw6mo5TE#{Bdq<<NNbakkw+ycv<#aqVi3_++dd?x@
zl#e?bNV%2di^r#}yqIo!xVl`>E;4|v*hQ2|qZCbUiy#>}Hk-dQjeHy4ut^alM1LfW
ze;#9D!!8+0Dn5ATB#6`KGo61P8a&WjeDFnbGYnn`N_Zi~C>2t^6S-7Q$;Apgl%Ilb
z3p(-Iqy32##XmQKwHUdhgg>g@X|qh`@TVBjstx;hBrD#UI4#BGunI*~Y9{uD7iZGn
zcJ`{0w)sd7Q@o;(%8mKva_Gb7m+SCt#ycWNi+2Gjm6i;wbiPtJv9hbx+wnB?{J$tK
zyl{okt_$yg`V^o3gItc3Flk*Z6a8q?Iohl=iBjl?Gky*(9vF$eNj8F{DD-xeitR(W
zA`Ur4!1ebT?n@_tp7dWNv_F}GJ|5_JkMibp+#tJ^D%?N{um)+17hZZGiTBYgld1x6
z3f&cU7)4@XN(#*$EMKs4c=bJlf(Y;Lg%@-}`y(khe*%v1f>CH+p91^^1D+7tx26Dt
z1Z>}u0x1H7c+=$Tw$PI*Tq@#RRy66(5dUAqicUt+$>h#D!5#JVQ7|YhW?cHo@53DD
zW@{C0xtof2;2jVbZb<<D2q2A)Z3)QJ46UDQbIXqam>6N)@)1009f<}lBm5)$A$)&4
zoUe|&82=e1@={?#0$9#~Y?;WI08U^){K0UN0OsMDbw4Z<{pGggcshW!lh8q8vCJ*c
zLMdVmE@QgR%NBn)V`3zA%iDn7-&wW~SM)EmA4qAHpDIvIwf<fcWHcq($UtorD@-B$
zItXhO$GtiIF|{Xh#GWasqm5fG8dwwIB+DCFP1mMqf00@fY<apCjtsz8ttWL%7>;UE
z+2C7GLElQ>q<7f^hBLSP1PUaEZnyji9<?_2_kK-D^4`-^Q0jovU$*&ZeekbovA~Ba
z@iJ-ld6kW$%8Y6#;g)@=m322KD@&rBr8TMXi4r%blt2*j6|KXo3?`9YMH!*}nUrS!
zBi<X4f;G)_>*z^UUn=53AhMwGRM-Y76uqT`o|3v98pMlL|BmYI)~d>Z``N2u!e`-W
zvE{qhUVOUCE|MQ{2JUg=O|UI+Pqpx;>3C`^K8T0<mpQmz?E9OGLDU)WR^zI`mMVBs
zq<ZYZ<6U+cD0(4y&em4@&pKPcdosS>iat-Til>WGCH9Zm@s=GUixXSMu??aZHH)+p
z-9#uOZBxCX_hRfitEPRDn8B~Dz@9aCY&y`u(r&yV?~(gRIPxaH0<V;fx8FV3S{`Vw
zmOrD}OJF8&Y3H?PvQ28P#ttWxlW9ZK2v{h3Ulm?(+XBt?4(Tm<8%jWQ6lz2X?+ol(
zs-Ufk>9U1QJLkBSr%UkUoZ9U6VBuj-qntsR9U0&NKVS4X{(_1%xb~DSxa_1YSo=>K
zzjf`${8q1=w7lK&yND(&>%`EHo<ITNB^qC$&>$2#-Dl^wykVF2+NGU#-u71A)O-H1
zGF=GnjNMpgo4V%1Ri9yt#g3`Mu~o6tI<qI;-g3}$<h0H}sZTs_pVk>Y>DHFG=k?P%
zlgEg1!n7|vXo~G9ea}BU8Fc&53&75nPEUa?kj8Hn{()VjxP2HXH{vD-%CjZmSfJb_
z`nToU^}7+JnC<%Qg1_%F{=ud2p#t_Z1=!ns#iWuO_-@DMaT~v-d}Ifgj%9(ZnL@m~
zw3~mJw(RmP??TLVQ8EO+<wd0Z(F(rhNtS5ztnKh2HLlyUa9wl*Ql1;vMSJN!8U$L;
zA%(qxJ`A3PyD-BD8M?)g&)URs+g0%JBzVKUN$?ll3GBx2CBYvg!4;k)cux{+O~L+i
z66{-<#Qu2_Y@#YV%;*EePTkb<G;n&qn(u|Z`%VzAxHr;$U9^Jq)AAg|@<)g8Eo8&~
z=uLc!9|=_fw?IFh>(-q;0gy*u+_}A@1RXDh{^hCktzL!xi4<|Z?n(%6Z6*d=`ZM^R
zn$H+)R0)*a2TWC|e@PNJaZeKb>m)djN-6tEoaoTlpNZAg^FEky+lxODLu<PQ={=`(
z#1`DnT%1GNBOk=O(6)^Db}`=N|8iv0Kb%rkg&>t%r2TfO+#q$^rD-<$`<?6ptT}W3
zBSzssG~kj2q#_@u*`+i7qeemMJJTZ_Mmf`{T|(rz-hZSp@=v{O+@bQ&l(cb&01@=x
zG1~Np?Q|Q550P9Iwot`6VO&H2qM+}w>wARwK5WgDZpjt=$I}HQ<NM-!1^-76#CHqv
z-JzS}0arEt3i@4fY*IQ#Gy?X|Bu8FI05GE87O?MtFRPHO`Sch8uD%-pZ1z0?FCZF(
zkTpYyM{I50?ue`xu!YImwsw~dvjIWsvbK3&3%Yi%JJL(0&^sDpq+w%~|3hn=Yd7-!
zz2>%sdxEal1?iywh#Na8kxRUHAY$SUd@M-lp&uEkr2hlFT(xI?DcP&rfIp_w)>gGw
zdTreiA4pRflw5a|)G66_Ap1bnCfSc=bsvZdQfC2?W9h8dY*JM<0k<*TW3kJ=gQX5c
zv$})!eF!?ReJQJ(aWJN@&9%>#b!N;7a@S*eh<{twY324Q-A>Q87$Cc7Yg=3G$qd>L
zVE&!aW<L;g9YDP{Y2l7_N8SgA(!vwM%fwwoHV9+hg5aomdz<Tkzn8bQE$j)p4y`*v
zoq`zptj%@kMH-MG<6+yFL$)^id$utL+U$Q9vJM{jm`P(B6A`lZLq%C{V25_r{>aCM
zGYjQWo&FDsFjvmnuJ6p+kNs?xwkjn=wY9n43Ei>{4TNR0iLkUXSSo;#HhYCFXs?i?
zaQH9NJYHxYF1<x&oP}8$a`B9O2|PalC_{Hu$k!uN3@z-o1+(nIS209Ui7NmU;;)Kv
zG~3rBn?A4wU82zboSLggE+ExH`|ni9Nz@5Qr_la;74p6Ui3siOD&%!Q5WK5TtMCLC
zz>vSUjCg5XWr5zYpD!HEz_vb61H&5j4}eV{1Z{v~+jWQ(`t8eR^F{W}iAUWtCIowg
z;8|M`+xJd}yP*sD4ZJEs*Tyc;mv-S9Tj(PUg3a`R$$w%G_#B8ms$U^!d%U7QMlQ`s
z7g)^ac@IpB1e5Rz>=GOvqK}Y5F42xJ_%J~=3)0(m+DNK=6qx+Ls|J&J8f1L(O9;8K
zEq*ls;Wy!SG1C6U3Vz37GRAM6Z4mwfWphI54o`u<FK1;wb`-D7@na7%wg+BUHw6<s
zY}LE&N=jrEpT?%v&~=B4iIuly6JA6Kf87CT?ZGZV!mf3EAk!;<jau65R=|QTE5QC;
z<~ElVnNYb^z8azihX|pnbHHIhyH)-%iU=?0G1pPZ$U0ylln{c>>vbqBARNH=c0+@9
ztH0Zff<$U|$bgT^s8;zP%G>p41phfh({ACfs&T5cmMQ!&>ty`&K7cYR5&0)nwD`0$
zbU)&Z40~`VGC-9oAj+$Wv-nO&ybHufHoY4@3~?#rdGtD<q8zpnfKe(M?nEYll)s&N
zCHQ490{j7h1f|@j*M*k}TWHS}=!3xB@(+>E6u_QZ2s?D^rIcf%bUTTyqAp>mr$ztH
z$-yBC%i+BsrZG)*qbd>GrTyoIHoc>)y{Wp|h)fs0Ql*a{@hu^>Vf**hymI7GHLs9O
zfO(+>?TSEE3{A0ONWUE+nim$3esmg?pvUC7Qz>W*=EygrtSxvm=H3yN+H_*0{U!D3
zLq#_LfG}Y2XQ+zb;=(m6t)LS%W_452->Z-G8nPl_4+zX?PBBewP$@m7Py(5P@1vCe
zf!vFMxYC5^?g2xSVkC`fQK4Nc^?OERvr3~nN#kqK05&VVQYoF5D6Qc)0-xVH*Ra!W
zWr`WM&vUsyn&HXyM|GY||5<FO6|%Zw!~ETb82n~hOz+2R1sZJs6-l7hI+l2NVYSe{
zNd=5#0JqS-Q3V(QAc0oiAe^>YENPyJFH;A@YK>wg8!$33vO0(_y@fhc)U+F!_TqT)
zX?tjiF?1`5w8XG-EbQ}T8rKjz)8}i_e$1lGwjexmr)>EW?H}K1D?Q!R8(U5il0cXE
z&t`aQSs`a=#*XV)7l{>sF};V!-;2B#0X}{*oI(Z?mGBPIDO7{`%0%ia*!ql$>_Ofh
zoE=BCZ&8hM2feP2?{tM8&{KVf!d7UWsuW81cude?M-c(++aO?!G;Jc)VJ%11%`wPe
z3(g%Ww1-s4VFi*av_Gmsx&b*oJKrp{|3HCw8e#qN3ksq^X#b&#_zMMM654;HLP89}
z3+<1ofcq2_SoGs6<hu$aO=$nI3aM5gdZGO%3M2+Ewo4WOCdrWIw`Sn;2&YtOqOa|0
zD-hoFA^5@ftC@&>(Bt8Su?`x6TgR*ri;lE!KO*BJ0_Y5T_w!!S41jgmUntfJgCGNV
zyMSVb6cgxXk55_J=<eT9l$@O`+|ItW#9%^Su40K3n$@uiX)|eeVyQD;K?^BX6s84y
zoCjcU!*^oznWj?Ifp4!-5}*E`U<DmrGi6B2K2K80u<tXKt<~(n19>Z^O_*dqX2+mJ
zyZ@AJe`2T-R<cj7Ww|(l07g=RsuTO3Q8(2K`{~5A@BrAZ6Y%*<oh@rW@j{H$*#nh%
z#LA1r0ur(<7{OOsY}2|b0+S(dAsN)|vEAp3p?sS<h`zKUsVZYjmx}nxe1JZCQ1+J#
z_)`9`O+u(}R#?{y>EmGo0yrjjm_th0twpMs2UYM}-@s&j-8Nba1Z-faFcBzPJi>Gg
z$_V~b2%{c(D6j_5K8;t9pbe55ZSB;D=*1~C+2<N+;~jd%=|il?abKbNnDs?LWDJ}L
zJ-|M#a!-FiiQF|1uw@|N*8>6c9nYAZAXh?K<ioxBP3!4J0X^Zv+LnY0*q54jVh@Y<
z{V$esZWY%Zqc;pr=@gD65JU5^FJ=seFMMjB`W<FEP(<w5W<LZ$BzvI6QV(!({I8G_
zFy&D!?crN~Ljd&@j;azmg=0Dbr)H$&Q?Ot<_TkKa(chQRoQL4*SAd6aWHg4&C7iv4
z<L|~y{Sj7$I4+VvewmOFjiJI}R}%8mgdBQIL6mk2Y(XWMR-(gqu<-~!adG%%o%cAu
zWhlQT4W9?%o7#96B4@GmYyQDm5Qq{jCM4)o4CzhzGZ1u~|0Qj@7`PVSSB0KpZ)9-Z
zgV`b74R7;-aL1j>*%i=hUTXa5KZY+Y4tAx{dX}wizNK0S9&W>F7tl4<wQ}*oD2n@h
zOT7>(7rM#~0ylZOJ$M+fc|!$$>lb!@>rs2~HTwE9V{&J750otgU$bLPYJ@1gDoFd&
zjI`YE|5)e!yk(d7UA+GS#-FdJX|xet{_8sX)ZB?)o8Y@|qW){X^;ROlZ*fi>Y7Z`$
zI0WC~2)G;Zxm#MDzS{=Ys_XQ-h{HNt>5)2tpN;jHtw*Alqa4WDCK~W}!Nd$9*a`Ns
zCt6PMTlxe9A|Ps;m?q#odtKxsLmj?!3~oo})-(K;9!w~e{PeoW2gt+R?gJypzR@wd
zHFnFHBdo06menb}7Kx@~kx;)Aj5Xj}A253cKGG)97ecm)Lu@E}E@Iao#$y8E)4HkC
zE&P`G;F+I2-BLGofu-ISvg+yrc;IK_N!rPzLF3djk%VanNGcH7#m|0?idGBL_P04L
z6~RLQb^|Dk+eQ=6;2}V(OLyKsLI~O>4!2w`?3^`JH~ms?Iue<1zECsXmY|IV->Vl<
zJ21`TYa{eXd&@4*D1NJrY7NXv!=D@BZR-p|+Z{vfZFgi~@W2=SZa7&}>L8=}CfE_2
zH{RoZQGEIg+(p#?k<Qw7p9PbytwFSqy3G5!ycZEDJb!igO(=|B?_f#vb-~wr&X&1d
zUdzH$?G?@I^3!<6=5)fx`=x4NS4@j|GUGefVU0}3HT{fuqOr@Y9Oa<+;#6KDA7R&7
z^vv7-j|_vdQ+5G%z9e>z(^7omjnV7!MT{MK-EclTCT<`*%x@_l)Juod8T3|6SK&+L
zZcwHffBRO5r@%nfDz^^`FOi?P0Ni&0c>M+76$)I@X$f>nBd~Q^gl~1jp-`H6UklBN
z&FVMu#tX<`V6@WDli?UXoWdLB0q_#}Zx?|7<pS_$E&zW-f&ZV$pbl|oU!pHMRb$*I
zA36<piVv#2pD2S48Im^MXydsxcnTBoSFmEhKEv59XJhXGwc#_+m^Jv8HMsBK$9VP~
z)yZqstN^n9fOg$2zyFnjyb2KiKXq&VqEwXny;pL4qrsS+BV<O6*2$;;nymCEDjkXk
z6w1TZx-LsVnpK=EK#CcQYk-51F*Dw^E{^@K+<nBTd^NheMJK&}5O3V^Y|T6&m#9Ve
zBg_AZZcUJ}X$@lRXU8TiO@?WEtd-Q$spugYp#rPu36xXVx>toflz_a8IR{ni0fbd3
z->Tx=mB8sxaLDRzkIn%YekHY@CsZ0mi4qs7G%im-JSt8$AXJ|f!k^x+nDXsxPm;E#
zLr1aXDQ8_^Y{P_s83gvLP%P!eCx9f%K6wlyxKDlwgoyEd@^BUM8$cACI3_ui^AkYm
zo&mO?aT@>1F$@uC4{^AGQomG@u0#Xjjl??&(MMEhwgSbP**=-+^Jz*gS96bp3d(GH
z`2mV0knt)q7=d7qyhi1MY(gRWsS3f%H<i;W74iunLfhr|f>QJ!*LnX$w8&00S`$>f
zR}&>SsgOS=AVXEi(|}+!X~SFXee!4Uj&y&70V%ayMI)O~)U{v5sZT&|QgO&86rAT&
z92+3YsDm{zT06tx9n9C`@DA2z)IN;`?n4xF;E=WJ5M&i#lM8~hA-Kucu_i$9)`MeN
zR#NO%25|U#QekM=mlJ?;5ksK>H|YYRfN^^;PM(frc&`%uUl^Orn2tE{u`Q-@j=Lj$
zID*3!Fgft$rvnpc@29bAPe=3&)sTXk2Gp;BYG<eh6;%&9V(URqw!O{dP~)M`@TIJ>
zPX%uj*t-QMt@l;lhH#fo57Lg3JIIcJ`z?eBRnCA29VF#kaNALi)jttOG)!|M2(3U7
zM2BHo2B5j0S>DH1Jk$HIq(d(WbFuLSulzbaSrkH>*#yccuG>L%-HFbEYDJ=fD7^^h
z3<={<3{e`6I7(lOD%oNrc1bJLt@06t`cDU?ZdIvwA>c*{`q2SrlqL>7MYU8H%~uOC
zZCnT<baapPMG6n;t6EGBtgz13PLUU1gQDOi=tIh+4LI=TQ#y<fslC+1+1Q5~p2~O|
z)<*gvpGhY`krnhXD|iv$@H7RbmQbkgiP9VLYPy4|i!mGU<gfr6rqL}|TtZB1Gbrds
z;q?Vr5<564an#n^*JvxTlh9$o&2a$2#fWv#T3?XCJx%V3BuMg~G+>;4Gwc``Lcv#w
zFXl7B+3pznz;5|>q&sZ7X|khxiDwSrAfi>%M17y=kAJyp5@Ec}wA({GThaLN7_?#}
zd(?tBmncPy$(^y2nx9Sba6fpcS9o}ucsK#)5Y#i*yj}6hDlRGe0bqn5BkG}H#e}_$
zuxGOP0d{mA{#?RmVuXh23IB({7yaAQm|@>CmJItU(0TxCO!7+P@mtlZ&!<J@!>=lJ
zZza{vB3h94A!<cE3<{&kAUx~_ZukSG+yhiDM=f^>O*8!g(vea!)y9h7!Qen{hNKP<
z1%#j^^$eo02fm6t-g?vwonsIDKAFbS>2Yt`A9eJeAZa`2>7<mXUC+Aeuz$jM<@<@6
zrjr>kpirfNn(oFzynGk(*f$_`feW=sj5@$A3cX(ty=zfM`EU%|O#d4YD2a&}U5(cT
z%np<57mA?LN!kK1NxluLfk5b(dt+Jh8nRtF4XRr{%94AL7nLue^tdx(C|~o`sRFC?
z)$_aZFo(y{f)qhOqX?~-QYXS8ilG?};*Gb%qpRyg*z(ZQ0zK2$`O<!QC{uG!%tI&o
zyeEh82nOotjmz(q^mnM}Sk{~OI;9ixXe6C*521>$9QwCpC617(i%+2K7Q@-WbgYXn
zyNL86yISL(iyWbwzjC2U91DW&5|u3HJ@qg%CYqH-BsvDtOp_tRjO-l9LC(@*LgKI@
z$mbmgl|snH<V<<{S>lvtUc^kjDqtZCFnVH`6z!E?VbaRr-5|fuhDo-;W4eeVjBqp_
zy<DS~_!D;9(B2P_JH$$K%TZ>~Z#zKbe%4M{SL%^xGvXA=(ZT^4q!Qc>I1@`f!<0_2
z)W+3s!}>lcVs7d8SHYm(!w@ZvTK55z3m+b5efM!>gl;3u?ZA}7gpxs9khxO0Bh;q$
zD>~v}&jt16l1|dP4lN``p)S7VBwF7^37NWE>p{Myn?Yb0uOJajYeDMINck|?<UAwc
z#YO3Lxfm5Ar}alv%D-J7vlho=nbS+L!6x1nG>k@!c8ckoy-?bP4Mk`MZ+eMgqGyq)
ze?O>)UEMXk)H@U_FZAI3G^md~){jPMe;Ta{4NnP*`${>_Mev!@ZiPf7s8dMb?@M@(
zV-lsyX}#%q^5nW0)<|aIAl4x`L*QRKz-(Z@LZ8C9g-{>1{Xl(ZPe*hfa#mAl1Uf-_
z2o0-1S{{vwn|L7RlwjR&umwP&!%F$EAm$d)S}<_+=svP?I=XL9GAyCdk4_2`mGM#;
zjwxQk5PbjDV(DwmSBlv4SE#eK4fSNw$uamgrA^R@dRp&}Z*!IIzYniA5%CNn1D2`!
zcG6ntDS;$8q?*^y;p{`V(Sf$l(6DhkCV_|vLc?~#dD0<XSRgy|Iee3}Eod;d>ER%}
z=pg4AJ9=#5yfGGHr7nPlmRfMi*fBF)r%O77WACt@k1ZTHd~CBz+D|dt1lmhr#%r+&
zG!#%cbS-*wxLgS(KF07RM=+<v(IcN_V?9Vg_FU{jTjv1z3PQdK$gu+s32za1TCAsg
zM#a~CNP*g!_r-wM6z_sCXL<r_pTX&<qdEnw^v1Eix2_X^Ib=8k_D<KRPaJ37bHrbD
z29_CJU<>2THVSV>?Q)Je5*y08357Dn@1Rk{D;A<u)p{|ou+7!_4=l!oz7vOY!zo<O
zKy8mh|1RZ_!sz@8qrksBQ-`H7tSx1UPl#FFjxltETL<6rmn<+Mz2TC!6PcmT(hqq5
z(}0QoS|46S9duq%)jb&;e`vh|+Y{{@tdrx|B!^dX^~(EfXJBo+we7EM5Cr@@A^Oi|
z@-2%fbo8Gc#<#G5(0{hTgICcDI~;uYcqSE(-phi^pZTbmWbY&n^zS(X3+Y(5Z)O>E
zC-4t<prE?MOMy3BNdvSk`eifU5=0(SnI0IdtV7u6@6++Ew;|u*-)oHCpd`|w*HVHH
zf0)%YnHU>NjKM2;(UCC<Z-?V&{Kc{ylFs3e7|CSBfZZ3p8Lhw&ol<E(M3*#GLnOUK
z$y1_ELv%Y>LP8e}Gv3Z#%eOqMq>4NR{6jA(>8UFVaW>tb#NWJ+a(wHrl|rUyD<v4C
zn3?P~6Q9&Fin@!Mrb8uDS52N9%Kagf=nBn~Zw}?&^396$pDk*}0en?YxW>JwkiJOO
zL6wg+(04J!xNsz2psGE32hx<A#d0d}gg2BpDQ-0h>68vD_5&`K@DCf&5%?B*A1nH!
zFa<@-sNPe9=UHen>Q(+|I^XgL#n1leP`>5o3M>t);{LNZ5ifw8=pGDrOvx-*OtwZg
zmVHy3V?PXQf0Sn77qTF65iQ<ghPKcL%NNJEI?41=RVLs19Offp=(3@OsPSW@K?9Fp
zTus(Ih%sJ}6ioeDA_b*He@S#;N5fNWLzHgsBSRXg*$0gj*{JGbR25x{5;oXU=z9j?
zuNZO@<L`*ka5&f>5gIm=ocuI=z{PL90eCoLQyHN@y&Sf|Fs>ksJi^#ACx_osISl(4
zXJ+HioGc`GBq}rU=XSh;xE<Rh%P<XW#C)_KFD-j94RnKw4X|pw&a?qufhpoc;Dufe
zh&HTTTXB_Ok)?>=dKzn5g*K$kavU8QTi%{PEA(1}iXV_*`cEpY+sL;(#X4p*4JREc
zDYWpf6#LL&Xvb6=EzWYz>iL#?k&5m|P@{IRtP~~2vNi3wBu5`1kOoJB$tZg(&u?)U
zU>(EphCtAx$%S;J9CZ4I6$0UmS|(@_Nm-~$X@-<?0hAo7xJoW2rvy1jo@ft@l8m1D
ztAD9EO+Y`L363U$Aaxaow6g%GVUULxM|C>K^hNz3$^;XoeuBX=hHA1A2k>ZX3dIh%
z0s1{4;&td47<xHo5PjxV<FS2X5$Zq$w!aXcnfcGAugU{#E`#NFV{<ajd+gy`b5R`x
zWixvSI*Rh41SagPAyC^zpziR0cnEF<3m<#UByfhk<@9QB^WoR@l!JKFf5hY+eVz&y
z!J@}H7BP#CU3OmfK!eA?*x9S6ufk3Ur+21xjDrdA_7l*Nzt<S>Zm{x?V+-NhdaB(j
zbm09LMQ<K>ybs^EhgP3Khgow8IQlTBi3h7`)-4lIN<8yUY#iy?WCi{V4u8F)V&B3j
zC3IkIlp~5Xs%KE~GzqhlH%J3=H9`$1hJR?vIc`65rRb0*2Zm5}$UQ(nN5`|jResbe
z4n165r{l~~dcA+(V=-iyryRjFu3H>;0M&@R?EqXrH|<}BMh<%N9N0sNGUAydDB#p%
z!Lf?DU26-rg(GTWmBhP9)7e(|HEAaqPQeurUz}k^^LZ=DZ@Hu|iEivBSXa#$vM&4T
z*bK#4x$u0RvsWFJ=I<~Tlh1SV_QT}Y6q0*|bw}`85Dq2+q3Q3agW{RPbVA^n9)u&p
zy8l+flvgQCA=PI$8wo)=6}yE7pwLX6;9DJMC$64?0eEf@d?lP`lB@LXrc7W_k*uaG
z5qwbOhwww;${MEtr1f>QEfk>N77LRWT%}*Q_;L(5YujDYIbq#LI!NyfFpuKEN;m1k
zVUt|XAXEYW?XGd#sWE8Rh0ea7sv6dW)siX}4vlAFAa*GVFPg!-d>z(*saIof8<B`*
z69r090koFlktF*D%n)n>dYi6FC3!uCMU!y&Y#Y9v!Y&3^>5=9u?QI5p`u2qmN2H={
z5eEx+(W7(fkJ8It3}F-qSFH!5*c1AUYuq+sR5}M<w`1WD4Y_{ZM;!R#TepBYRKU0V
z4hiDL7MhEAA7MGR5y}tXlTmQY4%Mz&9}N+*1gXz~q+L3sh`*i0SLk_160^CWVP*tq
zmu9I#1ELX25O0=4kNE*2M+_j-pcAIA>u~aD@h(^C(dNg6wp@#Yj-kb=0oxL?x%3|-
zWQ#6`*PxOh3hx5lJkf%ev5!MH5#CRWRXAZ3JCnTim@;{DMgKV+|0tWyeNTtjfFc46
zN;>d?QCY;Pi)5wX$T8-1Vrnu8F#+=qaC0S&tW0pjW*kh@jGJxL0*a<Z{ok?Z3eVvY
zv31GekL$f<2vGn7OU*M<BrYW4V~PPk+MF-!G+4$nS<~%!t%(yuA!H|oi}$@xvOGAQ
z3F>WhN}3sxQF^V|Iqeh2x!N(^NoiDKz5oZxGL4$CAgnb4H3%(4K99i}?HMx=5-bq?
zaG4PwewZ#4xj?m>2lQkL+FR$KQKhxdpbZo&ZO)eV(IKVixF=)tAR=4P>cRSExQn6^
zoa>D+LH;s|V*4D@4(hvxk&e>N=8-#*4U6>{c4BE!)YD!Crq`p+ahOJ61>{Nb3|2Ls
zvbbr8Ubn-H+kkh)*yH00%rRpES;GETBaYC_Li+!V$ah0tOf+c^(s}D+qs(A#n!?;i
zh;rmRz+7=>i5{!hnD)gx$#y<x3tDV#0UZJXx%U2!Eho@g2CWa%496q?6m2E?J9SL-
zH$gF6n9f8G5OogJX)5f|uqI>XwvVu`QLq*f)?pc+ZRh#Qu;ef;!#jd3cO`ae(B6JA
zzLzZ-9OYlm;9t&y$6pjlthXe#J6(7UMD*{AJ3{qfqKl4RABVzNCp#pT$}8!A6JtSJ
zg>Iw&P0T@J<Q6a@jyoro{*x_j-%Kqz75xVJf1vzHlwbOHZ#q_eVmWNRi@k!z$2@Q&
zY!!&jk_R4-4*qbG@3zeuh<t(Sz}fWtgTJIgr3Y5d!hF~%?Q&p?x#R9_ee6`*G<-sX
z1q>E&J7|-~F=(7`Sqv+1j5|;sG-L{GI!8Rh_P3mfIsxbXv+x&FkTi$1|K?D(&VMw+
zGr|ck7=O(X-z5ZbP%V~{LF+i9l}EJV-41+FKpi$Tug@W+xk8RURxP&89E*Mq4ma!h
z)@Kx+4g7;YRe822c*c8~ZC`<BiC8uWjAgu?K{cPSYF?nSgRuN0;Jlxfl=`u(zc9<5
z28CT5tW4~FB`|isVpS5mF$Zb$GN=+2d!{2a7^tV%)y)O2kQjG`D&kK4F2n_dc@b0t
z9WjOOQZ@|HdI~tZ@bC1L?0nxFUkDo<!Tn1wt@~}w!y^}LzNF#ipNtQ@wPt?bW$^{~
ze)o{vI5&LQ`)pCc-rOH7zinvQvV+4Poyu+4)zDPR{o!+GNByszKR@<|8_O!ve){*{
zl&^nxOvz0@{_@_x@AuvE-CIqM{Pp@@9JBp!^Ty%_)~$Ky*-0DnX8!3?*RMOXhhBC0
zFYXz?>R!{4H~%*Lr?a^ASC>Uxlm2u}Z2Gd({+la5t3GGQdeeg*PQU5sW%MgSI7~nN
zaJ2d$KQ)_sW~h?cquwoRmFIzQvkKQp6{^qf0q}wOMHk5D4Wr{4F5Pdq*}dq=FYb+U
z^w~PT!=-r1giD7<3qh{o^cy%XC!fpVhD189%NSxbaznZQ;xer{cKba~M)1*5>aWD*
zUi@Tw14<>KjhE-8S@Fo|UCgCz0KHM5mkxSH!%!n?W%MQvLeH1ht21-ZFD^I+ZX_-&
zrEvyTy;{Bq80JZw85hgPI7UA$e-6_9@>Tw{{3_&A#7;c2^3VbO%=+pyGw#>~$Bn^7
z`B*7V)UV|ee?-4f%UA2y@`*nxhwaEpd9{8mpZJ@Ynm?d^;_rG~#0RTiwKuev-V7Mk
zPjCU(BwU()wES6sk%OgrSiZ`imQQe^L9b<5zRI7LPxaez-KpiP{Bh}=!3-Fcwc=We
zi)2jHujUi|3S19s`C9#IKGDA&*Uz<lwSMc6_5^*R@k?BIqm-cUGr09;JX79GTvUH4
zE~?**`>p9o{g8gC9?}ElQ(Ibxw6OBTKi=VTHMpkXqWtl=56oYw<%55`?c;nIB?<n@
z@l0<Osf{%HT)H_ypY$>x*L7+>(I1#UTgzAJZ%9w_M|8i9i|jz-Z(#o2TE1F-{g6xh
z@wW>3B&Sw>U_Ol#EMG0}%Sh_~Cgjn$L~?8LEkQ?5yK`>EgH`KrD%jj%ImqLldi48+
zqksJ3ui~68O>aog%_x~Vt#tZ~8_TjeUU7h?94`KWj^~CbMYC??tW*#)cIo{>?jyqo
z=M_a{tzdBJe0&Uw=1|f3zGTslA9=sf`jJ7abx4MBXl7RSupBxUU-?=8{i6SiTB)eU
z0qlw6Hl!<k)ePv*VdwPCCz(64I0Qmm01u5=sv$h;Gf&{!H~{Y=z#O=Uo)3M|inI?G
z(Q@M=nQ`N?aj8QLQlLeZsP#7@IhOh{u7UU(o(b9O2f-T#7}4!i=~<E9fQucjl0uK{
zA+>&zNvq$C<PBibjEi_BQX_DY{OeV^<Trh|$_C&K2aMz|f}RMs2x&7e`T+M*TpGP^
z0Y>yXVRwXAkLPw=!T`LB0V8_sH<lX<&5Wf#?8cJdtc)8wf*V^lmK!maD;qm@#MrTA
z#4tS}69D8BjG>I+MwD@7Be=4%u_H!|9Z@#6Y{b|yJfj4#PzZ=b5#(6W5kLhVA+eGu
zMrA;TN&|!k!az17Iby_!GW<893`8k~8!pnN4}F)qnH$$Iq<hi0xUma2?j$a&ibw5R
zh>MoB2~V>F!Y4d21<#7-&wwxxF9Ntmk9-teUk|_o8IJJGV9bX$)7t9|v_pGJdl5g>
zUL0`XyE!Y8jkrb;3>V$VH1cqfT|J@Ft45mqX)S1x4d5S{8JCM|C>2tFy(nx=v6s~T
zNB9(9Q2kcWB|M_L8CPomBfLv-{l8!@CNwmKexxTWE)SloaRJ11NP0w5B!1&R(m#He
ze#s);%0;^4OLPz3rQ5k!_t;%J-(v22i?}6sarfQDJ$e^+ccpL1mE3o)<XleQ`c=L{
zhwlc5Z?xSvd#SIW)>q;#pS;BP-DN((JTpN#CDFhCp}(MO(QgoYN2&DmbfeLjm6er~
zlQVqy@Z8+oyu7^p{Cu<7Y_V7h3kxSqm@s+r<dTvS^bd476IV8xE1QU3ME@q1aihyP
z(}0W=X#Wyg#^}*ySC1~6IJ)eH(Pd@y?}oC`6U#<lUDiJ%1v+@fgb8JnCX`)2p={cO
zvNHNNt!%>eWfLZq_0LFw4xWMkyKM%SpTp&k;PUh7-v~tP`CLYR|BMvq;2AkN`NMPa
zN95$^<>cqnzr6gM5&1d8^ZRF{KnKsr&CS0gH$N{o|I*z2eEN53er{fV?j`yCGg6>~
zXRz6b3FqEsb0!o0%QkUF6K8;*z%(V1kpdk&!)P>R8co?oQ;yMOqJKFiW46hdY3iSm
z0v$XfE6bFfWg3=c;<HR9`p28HhMBUmP5m=cpo3?mSbM)D^+hW#xF6;t2lL-&QcC>)
z(jTjJYJaqy*B`Cq?BE2*-?rhpihL<9x{)6yJ|nn_{s%nr)r4nO@yO4+=~<-*kr_?A
z7ht}}t>P8o*^R4k0A7}gw*kJ2!$on94cB1&bpf9EK^Cf$<PmY*gR+{xBT`fi@nTl-
z3X%5V8q6;e9?g}BUJ25xas5=KSAaC>hptq5BzFa_)Ox8-5|{AuRC;Elt+-aD@JD#$
ziwUn0il_0(igYKgqbNt?DCH3z1<R!KOrf&UK5zb=_F0ZQ?epf%oo6nr^wfB~&E^^A
zf~IRo-RyV8c?j1qxKLSPx7%hn)il;OENZr`u2u0DO<PdA`0mLI<~Dj7RxF>lVp+xA
zOBS4mJOFa-BCfEoeC}MQUAXz0!lD^7CS9Y{g1Or~bA3&-xx8kvxw2u&a&Xwhs;XVS
zgsWYSaeeucQo0LVCG=;<e>Tp{&E}dgV{1fI*T5~}ngOu^(!j0cYH_FE|Ab$GS)&8x
z1a2{-<WWohTk_5IdK$eRNXc>kR(aQo#kI|>I9KkitE+7?Uopd6Sh#XU!(#K;Ys^JZ
zmPXgLxRx~TY`CkbrfJQB@|xyaSM9PDO=|#I@SWPG6?nQ0t=3rE#0WZ}Ku^7SI_MRx
zo;BcC<#d`Sm<y{MH_yNM8nxze=1J5xw%TS-1DXSkd?A)d&Hox-GgmBYtZ5=fQ(0r>
zwLgU_qZ3g5zryW#{HX@@e@drvg|}%@ts)|kn6;v5S&ipk)_+xPU4yOmF7FbkztXeV
z-qf@}dsNy}>4xUp3u+dc3u+1r7GE<B_e^eyV_D6TTCryN;-$6c*LFd@QhntsR(L9F
zn^ra~s%@TMbJx;ZYWfRhC|q#dlFIpmRl_YQuN)M90ehor6nhhv;{P+x?1QQw1g6TL
zK&x!HxAtFYS#v)_TrzKPzQ2LLdEVuohGn&bs^|iFnwH4!Nv{<(=riZ_L9*3vs5e=Z
zG?IL(@-!@M@H8kr{AP6Z!6-ivhZFy1`dTyFni^KtHj&R*n&cbduF{Q}pKtQaty69K
z8uL}=qSZy{RWoLoi!Q`J`H_mIhUFfrL`x9$O79|=Su=NAP1Ev*<x9*}%kN&kV%2i<
z?4@fO>%p%Ex79AK_0*bY)if++9$bUp*3^&+PT;GJJb%RsbLFy{rAwLcDfBQ{p<~!;
zJT*#=a|K2SbgvbPd*>X>SJo_rd#tEws#%7bRWMhzyxH5>xT48ZyO<TEfkmy03{dm0
z=hb`j3XgeSZO!5}DkDnsC2LgVsAyW@sa-_0;quKZ>QJPaIgn<x7<cQ6rQT(==9w#+
zn!Jr3%w?75SzcAdn^%}!wTl~6sqo&L9?XmCYnCrz91|b2R(O{y++!SL>NneJmp7>S
zRA=Lg<;}{740_Ap?a?#}2lHY1<`rJlto(>xv!^DZ4`FE&Ntu8NcPYAZ%yd;GrNw&X
ztoi+(N%9qoRxH(U9LpDxQ};B$|Cn#BZED6qK{Zy^F7l$u*O+f@Sh1A32ZfKB^JZ#A
z8Nj}LG3hU%3kU_5R=e0-IC(1h;pB5M4S$@9KdWJ>BDdE5PAJX`PpZ^{cmiBCtytF3
z3{pw!xnRE?)b1V2VNc6zSnn!Sjc0%}P)8fYr-Kg|iTvry(eltX`qq*g!KCuM#M`i#
zo^b4SQOW8F1w~U5e<rUkD4I-9N@C!h6~Z5d4*5Ba&g8`tflPm<EH;}dIgS1(byQQi
zVTk%@{f>T{A5`w`>b+aN_p0|k^`7Tf@QT#CRlQfM_j>idTD`AV?;F&6yL#_b?>*{W
zR_}f4-Poeklc(Mb)q9D07u9>UdaqaStJQm(dS9>JH>me^_1>x8d(`_0_0F{_^_tYX
zS-lsjcdL4@R__Wn<~@@p7f-qF`Ws573gt6x_E{Gg7s$TIrB*TnfJ0Rh=Z^qF^P+|Z
zWU^7Ra8^T8vqwQyEvbJ#dfAHQi&GK)hx)5v&Iqq-7i%Mitzl(D^9mMd(p2l4#sxN-
zHLR?<e#+|N$@6NL)if+$tVWmLSWbxvsPxPgjcdLs_|ug7pZk9_@E;BQM+5)Sz<)IG
zf4c_U%07b5XS<)>|7_p0+;hg~OwZ*#XMV2exsvB9o~wQi0{E2oNWP728`p1qV&jI5
zn>V&^?AX}3v3ukGjXfKCH_97NZ0y^}Z8B~$ZOYqZ-c-1$Xj921>n3qi#ir^_?oIWZ
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
zcO12^dJR+FJh_kkT-4YKJnqw1sG}HF0(J=u+(ff7RA7sK&+yi<No<oE!JLc1+n&mi
zoVz(;l*^bV9*#X);pweNOe$A^ZM2-Fu%&5scq+N<VIcY{Je8PxXY<6a2V{>#sD)^!
zHC%Upk*Au~D-!;_W)oB`mZKJ0Y<Ii?u4-|`%DJ4JAZ?~inF5&K8^oxfW{r?sW>dBD
zU6~d2yecPwR}5%4M#q0VeAf6`6<<ZqH*ZV5L3ZRfiiLBiuP&*f6Od2kM4+xVIbR~w
znZcnoSai4GUYCl^{Hb*<>Q|SeRT}4B1yLIAFDs#760PdMDdzY;EWHEmvQ&cEM~aQt
z%H3i)4@XZlR?Ui3d*Miq@+Lk7|N9mYuM@<dXa#A#`VFRQ5n1*qY$k83<ZU4@n$BCR
zyshC)X6cB#jaQkh|EbINP#VqJjZdzOPt;14>+Q@9HhJQ}FEh8=&25D@#gX}Jbl<4%
zCVWZ`QlAsK#cOZCU$eG~sy;@mmqgYV?N-xgsiL=pKJtY2daO`aAGwvK%fm@H-1%tk
zpiJW!7zoQ;LSf6^pq{6^xK|^YPsCDwPYP-qOP5*FGyG<Y>2;1Vj&#mIIi(|HL;IX^
zd@5`+0a`;M2P~A|0)mb9vm6dbwr^E7Kb$q%;wj<oz3ZN#Qpl>v;!_>6;KUV<%E}DO
z^K|>XzTQRWmXK=-X2|?;39nwyvSzl>HZO7=xQNESjdfOQlzL}zqmVUMSaTg!%HgPy
zp@Y%K{Pw_Nn_agPQVYsc=AYr$=T35Cm-lE+Q%+#`+`^{d&=Ticq;ojv<y==>Lc{_a
zbA6#h{mTjbA^tA&(4R$&hf2STSBm40T)*WxaYNA9_w|^R42{YMRr*Xm_1G>_!>%`^
zFcL4NGT>@M9SoC!steYd{a3#-kkvgP`v_zt2KlCj#HgVr8_1<SAdd<qi(`<_X~=9K
zhZ@M)Js|f9<U=vYDj@4ze|<_?mbsstMXo6VYj3D?JxJ;z*EdhgNjdlN>|Hc=(Vxs2
z2$lRUa(zV>iEH>#3wOY7&ob9CUO=@0R3b`0jU}%z$?wOKr^J%~Ws*OOC6A6Jx0qx{
zl|eFuWN-f1ACnp!DO;iY?$kV$b5Y_v)$M;aNeZl2&oRu1xQ?9$1Y#H-TWT<VLq*N{
zdNr&v8`#5`?Q%f;%kMDBk3Ab0&W?#>#_Rnv$+)jLMtUdhCBp+jEv{F2q2aoHRe%)R
zuD_f7zA=JtB2@;_g<8Yc`$@08=4#`Q;^M%#*Fu|-ATKgCNxf7i!joD01lH2Pz!W=W
zpcYJTVJp!IvO_#{B(?m%td5djOk&9+ODf~T_$x!(g>6`MvU)F@EY=219ch)jlj`EJ
z8;Lb3c8lwWXTzDcx_9hD@}2V4lxYvjDCp3^`+-R2iv_~Q#)<a*8N+W#a!j;qGP3#2
zY4YW?6}Eb6eg_-mi_t^!_R(88ROiH(u1|7Iuxn0yk>40#FsN?`2p!HSf6o9t90OY1
z1890T(29@0aXPB<*~sds$Ped-y1IfF)a(eJtB+unnQ!Mh{EI7C#7n3A?H=j$P3k-n
zxo74n{KV7yOVFlFVsI+4zPefOuhbjcSdw4G0u5)n93sFm2x3f^F-u;ueUTp|MW*yu
zUX%<NHEWo#M~)8Bxp2e`dr8w7_Qb~c;&2AOndO6fK<E-`=QO@9&KL14+iW)aUcMC?
z1H)%UmOC7I4*N~^_(WzBCdR3ySRuAn^pOnRF}f-%=gU~tjRM17XWd7OK+E_(lWo;0
z4#$Z7o-R+(lYL~Nw;GldZPt$<a*)btRW)KiE!w3Y;SNrFXHRpEKAXx4sXoC$+MLyQ
zmAHAL>8s!?7Ryza@*^}`_FCD-liSG|)Pt%%a&XY9{h3v@VGiqd`P45wpHaQGxx!~v
zZJI?IV<x@QN~#Q>vZW6nlv<(Rw-GaF-k0(&aYGxb);ZGo6qg8=6<;Uu*KX}L`G6O<
z$HqSTHg3V(EZ97G{<Qaj(~(Dnl}k!YRl7O1mHQew%j0|fg_o3SPI?Uw_rs##iADSS
zq&R|UMYH<296_;1m@f{e;rHV?5a@}gjFMtyjM*vBLFH?cp7bIj$dB&D)xFBh?O6t$
zQrkoGs*1`O5M;3N)*ZID>)_ILcQSsb((xAa;q9>O)wfxL3>hIGP3Q=#88J4=rQbDQ
z^AP)H7!zB1d^7XGAp_;%X6Sb9{{!F5R89>#j?8e9CUh`_LNtb}Yf)S$+E=8eOte!{
zb5`fjAa<r*lNbZ`ehY<0&_1;%cSH~?0=<QhD5w$IQNlKCy0fb7<`-R@K|Bfp?Dy1@
zDgTltIhZ~BaksA(N=2=*H_Kzwo<UYP!@{$P^{AmTB^f=7CW#D45J1mwAC)S;->b4{
z04;X->OS|?DIMygqXWWsz^-YAvHx8NW3PV;Uq#Wz$E9+wLo>frV5S?GCV}w+BVh?A
zBZKv4Ai>%P88@j#`}XXZX2Da#B^7cIK%!$#gy6(r_8uK79rM$*(lJ+2H60U9QU%BK
z8Yhd$u{shx%hL1F^aly2=BDDfRI|DPZtM-9vQr#*O6M7XbHQNs2Dljj70eX|<H_j3
z*J$4uyL&PCXOJcg=1c2o$dBz~*EY{Q#@B;;07IfiVuZ$PX(R*jx7*nbp@-Mqm+9fP
zOb@SgS8Pg3jIU4mdycPG`6=Df6?3Gjy8&T<wGspD=dZ&zwx0PKzD~y9#pys^ZX4Mp
z!|TBvr?%nDM^K6*VHssPs<PO*sWhim02o`%XybcX234`e)~=~I6II_AnS!@|Up5EZ
zG2YmlDQ20$Dq#(!Ha%di>oH(S;ZPd`))ZMU=u`1zcq&a>0|L<K1LoobR&1h*+s?av
z1oT$*?{PSGiI{#~Y;(_1<6(Wj(S4uyLHtfXB68uW`3i|*Jh&HFb?Coh(e~7=B`p-?
zJi;3D5S$!3k`(OUkcZCGA?G53yodq_6Zed0VG7Jj<vxJ38Is${%<i3Ok=gMHg~@XD
z&MKC27sSgc6oVc}y;AN!rrd_!SyxE8LnCALz1TamOv>G5%01FMYo=r^B1_FV+=~IV
zz^Tp;{x<{s6zq_dDGeFl8*w0mZ(&ZHpkci;EiyYk7U{5EDZR6brCeUT+(%1#GeF9{
zWXiqXJL?K5*LhZq0srWoStjM~H02)dopq;V-A9&sj7SfWfL{w-#4Y<~)xo`n0cE6V
z3HX5C)(>~lYLSAW4KKh1)*`QXb+NDKQ7njkp`*am_rar*o<85Q2cbvq>%)r2Q^WnD
ztkw1*Qfo!t^iwGI6fDsWxV{a~f;jpNEZPl<9%2wUfu_3SO?|C*rbTAQZ_rC9_iXR1
zVk!6LnK2g0{@5N!y;AOnrrfW3XN{L~e~6d6qIYJ#lsny&E9jjyM#|j~FE^xjW}cMm
zFyBs6@2pW$?%a5}57;u=gU*ps?w_Vyn5=KHwts@PtqIoN8)q$pBfic44fl)SPS$1v
zSEzRd!=?6rjEHe*cJIt=seQDmeQNKlAyRHZyxe)cGqa@J5%Zx8?4318%3T^Sci@p;
zt<8{fYfQNvy|dD#T;F)PmAx}lrJQZbJ>5GiMapd&9&6vdy)zwBZiXqBOV+ozn<9C~
z3GTPJd#elXb`Yn6436ksK~QSHEM9wR@65SU`<v2Nw(FCJdoki>DK|J?ZgcO<IZ{p(
z5z76ich>b%Zg)<swM%+u<59heDOT(|;m`o{ty0u6O24DKwfwQ+uahA%zyi3!T?H
zvrIC7B$+7vd$X;yBhjItNbL<Zld(vRF;Mt>$W(v9>=2!STlEq~o#2J?=S&%PPGQ8E
zG9Kk;HN0lDy8Bjuk1=OQ&#V^*N_1fT9{EYH-z`6``d$1aCRI7l-Y6b8yL$M-6YJV+
zh?9M8dI$F*J0rCEFdvTRKFsnCbpUHBW@3Ul-FhGHRx#JuF4?cghZ<L>WM+xZR3{L?
z7X!W!0QHOk9?%<DM&W3#$}+$ggV`m(3k~q@2YX`%*xsg=pP^g+E}7~c>=<$eD(fG;
zdNIw_OBj~uz4sE-%g`NTMLq4|pI6irtG21)7S89I2tqW+X4hyQ@Fi`)tdz|YX*2}m
zx9cekpj~BiqO$#<RzJ(0klXGy8(g*(#KXB?XcHr?Yaa;>C&`BsaUZyb9|-z!N7;I~
z*0eX3TbV(Q?ScCZhqe&A(=su|Db>}s>wt(me?{q)eRb(2>=sfdQxFwd%X?^Dw`*Oa
z{nmb8*~ixNtk=Aky&w;ST>+|+GYjhu7w3<#coDTIa#K@qChzLkSa5!TJ*Juk0j7bA
zA)+|fl>wN&zS!xymE_{EYZgDMrBw_a?w=UQXD*Rl!LBL1iTz0O7M=S$&_(-(+~<=j
zqLR&Tz&_w_`Y^>;cQoJ}>jAOf{@6~(&hI*fmvH)vJZ*-#{?N44uGuBwGfNiDPA)FU
z_T0Y=kq_m&te0ts{7d#ca4y^p<@deUsSreXT6pQl!ac{TZSErA8S7fKkmS5USR
zHtRLZFXzJMfvK9!7u-y-7wJ6gy{S>3Dm56UeG5a63$|luCJCC84Vry7f#ya*!@V!G
zWYLfdx@nG%Q0Ex5L*i&{cPD&`1<gui+M<*TdI~EdO4yK4E&n*!M+Ng??s_Ry8x4*k
zDgbkB3eK0M$-&d`N7bX9*JsO8${xhtiC8SBukM&WF8DEWVR$%wL?;VgxcxH_34?3W
z7%PekMtW-ALJ&jw$)1`a`oVd37JT<Su#O2(xE+Ms!81bn{er(h%wN8krvK42{j*=t
z^jqlsj(*_MaYLe79R-b@d7hB<Buzk0&J-fzghk4_R_F!B*7~Q&wsJPhU8Mxa!~i;8
z(dG9oqI%BpA5dJksick(Y@@msR;r6W)*W4FXTA<Z{TE09HN3_%$9nWhVDa^+=1X9t
zns^QBPxw4A0cIa(0wii8eO{XFz7=HZ8eElpBWv%+iuzL?raZvI%;S2hc1@6Yc%f|`
z!zI$@t66KlXN0Sv39c|2wB881$=DMPtV!lv@6dWe1UBL@Q1ej6>DpOTQNIyZbdTIn
zk}>ZTxn;RK(Vw<fyd~Od13ixrrBHDa4}XvcHxG?Gcxnz&MiqRj8+fDMFGx#gsi$>H
zP*%kGz{!;FSw6mXcIcx^J1V8f{5QmGfz6IJs4PJj%2T$_ep6PU#8UojqFyR4^x4Nk
zyNAu*_R(x#?lB@57S7H&67|*3NRV0_@x8=AD{N_1#V?D~t#gH!?Ae8#I{q#Hm+<D!
zRLz^`=TLPnOL{gm`LT-4TB*6d0+#r36w6k#wR|LnzBAVP7EMZ`m4BBGNhw)$OENDT
z<fXsW^hv(&j8A-v&Lio1k~}pFrOWA-k5TtKZsJ9K(;+PJ)Lg@how*owCN4XRc>cd+
zr{iku0k-=}Kz(&@t1uCJ>iHPPbdB+n9vCnB|G?NSje|6v@0G^gwNO8Yu&eKo5l@J(
z+3{U+((w;8Gu!=V3Jbw`)S-@G!)0>2wtifqv*@U$sU4QU7A*vJMM_t~mVB|XCFhmY
zbOm#@{RIQ%Lof9(zg&Z4leYKY6nAZ}>tRZsCDsm<uHf*wVpxht#hN{(w(C7$Wpy6$
z9)6a(yD9=K(o=(z@ah(dS9hfR86>V<(ZSvZni~u2id&P}y5ee0ye7$Oee5-*bxob?
z&%CT*ucwLGlZYJL$u>36ZVts;UxFhv9nsX2^D1JAefAc$oL@%oxf&67ffR2~4ffR$
zkUh886L;Mdk3Zw9-ouzCW{<Epwc|sqTD@b~T-V8fq>W`(p|!B$1iOFt*Bzdi8eIU2
zKY~Kt{-#v!8ZGb<_Yz1oTQ$4N=8C#8+Nc}XUqCn0YnAGfCarGVK|;e|k@ARp`7glp
z;cAp4m$EMgUBq21sJDTdc1L+1Bkz|&rqKv#eh)i;%+?q8o<hwt_X*;nzcaVd2oBe=
zoI5yyrm|=+WM(IB!5Fo!;;OoooeVIZ?p<^p>qNTb7L5J#NoE$2f0Z5o<}a7C>v{Nv
ziBNy7q5jZ~kTw$PxyfQD7hyDWgiiFHy5gO35yn!3Xu<NzqI_s_1TVIWcczNF9P=iJ
z05Da^zsl%Lu@`46IV;JttavAWWVyS+xjBaKLP4ImNaG+?m{a}VRA>H^9pZ%t^+g&x
zxkzJD>>`afRXRENdQhRuM4D%cG|!4l^Z#S-Ti~NAuK#bcSqP7?s6eBlUNB&ghk+o5
zmu8b)xU0Lc<^fTI5Rwhql4RpPAXp#41SMHlskJRy`;!W`_^4uAA;hW)AfO^f@ev;t
zeEizG#%e?>0hRo}XJ+orCfNkg{`&j>J|8Y*=XK`HnKNh3Jnp$O+WsA#0SGG)yau5+
z>e%r55}z-g;2w<!QInIrM<WmQ>GK|q%K*^x9*r><phtGzqcQYKu=>RJXl&bpT=>8O
zFH7kArReu)3<Iu{xkux_NMT05M}x>wpLi0QS-(evqI$bWBkz1_2f9ZCK-xVT@QQmh
z;Olme24YU~9*v`H`6|pe(8`_nXauj055izb%t_FL4nsSJzsC!y2wT<FGhzp`9s;9P
zI=yFUJPwXBmee3_W+ghk63mLH6H){g*6AN5b-v~`*6A-NNSqVjOQ-it)H=QGS=Q-q
zM?}Lk^eAN7Q4Bm^KF2!!uToj3pHHYi0BX_cub}XiAUUGb)1Ikj7gmCfUjgB*l=1n9
zFrCous24J9s`(3;8Repo2N6xDYKCTSABl-W5H}g^u!ff6vXEVPubC#AiY^ODyO-K3
zYo4JdZGD%vnm7Gk78BTSgQCRhcLSI=z8bYNyw`a{NZ6Wo@4>$zW0#vkWE2mBlfrjx
zxFcg{)$FUlNjZ>*OFa%Y1C|E*`QR$k9_?M!(BGjhw3|Z4;$>aKuQ)%wE->qN;4|Is
zaqx8@ft3f2USOx4nCtF5_!{BGy|8pSwQ1{X%FJUcH(Sz%KXe<k(gJg^=3ol|xMsrj
zDk!|_Xgq{s=G%T)q(V0-nBKgD=?F|YY7V{+ShDefio#J<RF3-F$Egto;Cl3))>({{
zHvnpz`5lLX*4jn4jZ^>_k^C-_gKq%@cF)jU3)o#GSxD`vxnP@HqNy))zBr4E*#X&b
zvXp|;V(hqcgpFA^Hip^h{tMGH?HlD$q^GO?iVAFjKw%9ID=W<!C;Ubl%^vCcty?a_
z!5MVwI?S76ENch&2eQq4taHpb$^|vHb?k7=Y`zJ{Dnz-52|5&S4%&BvJHf+dEQEsZ
z;Gh}$-h1?wm|iTr1d_kk1452qVu^7)l<+7*^nSAgr+WSiN6rLy)WyZ)2pD`Oj`?yg
zM-K2l%nqs|v!NVwE|dRIY0@E>XOVEx9Vfvr?X@>=aRd*67TlLYr!ruIG664hWhj^l
zWK>1R<&@aLqzo=aBWX2w9nsbpek}n#hr#;Ka)2B<F6UmPH(UwW*4Lk*6Mf9z>`JHm
zU%pyFssBZ(*_8U1JytUJlyD1zNIR3#@+fUR(m)}W()(?uhEL*s>FOifAUiX6vNn5!
z01E*K=7eZwu&;s6K-sU>a3IqiOCX%)211V%AXFOYC?WN)5lFr!ByNsGAtZMIlz|bZ
zdo)ZV7$zd7f%Z3W;LKioZSEm)NW^aX%J1A4?H7hy2cSJnHUB`@NqrBi3}w_J7!o+v
zE47Q((x+G>g4T6P=z5&c{A7#0woJ7d{zgeQngPb)Ua)wx>A5*EO^4ua9ipsP2JKZY
zd@0;9h?wvezK13p1MD+fP1XNGoKo#-L<7EOAGN62y!w;$QP}&Lf@8^C6}zn)Bz7%<
zQX8n+Z7qR4&a;@&V5el!W*CnTG}XL8doa~U6HGO=+&2cF{hAs+8>oa9)e{PP@OU^M
zjIjqpRmh1?bmNgDxCkeazU43+w$}zK`y?B8*gEP_!bH;@Tan*X^9TH*FF=}1HA}%t
z*cQm98lnomfjC(MUq#_tHTGTUe5Bi|_r-@(xF<GDmq<9)912V!A_owGbfwKuTQJ5}
z-4t)HWkj~(GQ0kCvjfSqQfqAtlX4V*le+<4)(IG>3XcUKN{kCX2ZG><2|vv!J37f!
zvzhx+{9{bFi`eP78<W<5j~qlk)0zi)rlH{~c!*3GzwCoGva5ochci9Ji|??HPG6Zi
zKQ!_;;GiRPojNZx@|qKHvHEC=Zx5kxj6Y16&lC(;)JW*V<q$Pn@GAgRg_pwb7<7om
zFCY>827+2iB0%45F#!Sv%S?CBp1-N)I@Snb2!oOP45pfGtg7KT5D@AV)nTKlhHjLD
z4|ij~$m3#hXByoTUb7V`;qwtmEItETyh~#YMnq(5;LG1dElkFULVTTA<p}OG<K1f<
z#0!FP1Xr0iDd*yHk$35As3R?ob6+>F{)j%5w5{Gj{mx$dOOhAh_++rDdcF~K0XBFz
z{7ZOy6-p{eDcp-L)sJ;3O)>|X);xovVY?R#l^^zys2C0-_*DrN6-~aoqjKyOQjUIf
z3G&lbtYCTgLc+!6b9y(iyFwQ`q@RV-2B5U`I@UeIq&O_WE66NH9sVa8C+GKrd2pK=
zkAP|GeB58Ma0u+_<|g20{$Ttp9E6|61MxS&wDs0_Y*bXhh^7r+UX)lcNH4)_bNc=w
z4`v!$mSHi91Sfr;L7U_0*gP7GbF0!&0%rCp7W^bz5Fx9H@znF7EJBOg?7=`~_*&Em
zLQr9<d58-O_R-?G4}!q@Hr*eOn{Mcqdv-Q`^-%~^6~REIgbgH|BqkC3a0G4bt%Dpv
zlg1M|9T7{K^Jat8@Vl5BpwVn`kfSqj@4DH5kl6^IEf!TvN43&KT|v5qF0Em8l~LEh
zKtQ!q=l5sjqY{fYht~q5E`Xwa&W@mm^v4AnEtsi6znB`nhDtmy2eVL;T3c|}7^VnG
z<2T|IS$nWOd@0ZhYy-Ms(`!bIgz8(Bj2&|R+)8T??ABpE0;MOfoPaNs)}R>7Hky;M
zr&)c}xDub{7;j*4Bk@U(wGHPW;rujA=22BT4~wcgo6^zbth!73fpJ4ofUWwIcc6pt
zCEPxls@&gN^GPMB`{a8H4Z#ur)gKNGoX^QF?81a`wnD~)){!S-k-2VH;~_(mY}(q6
z0Y0{VJUS<?Edi6N55?Esyuobx<sQr0n@gx{i!f$^HOXLesNx7nIY_DrY+f}2G<`C}
z3uf($P2V;VIh7;twT>rd4^2nyW=r@DoZI>n>lE0;3`Hq~mF6Y=DSK=X^JuaiYg6z2
zhB_fMjkV1_9z!f7n3@q=WXh3upj+%0zDtp|`o|vS54DSp7X6L3BOlv>FXJvn1^13N
zK(pccxxHlVz2-&5WO)t!x|w!}&U0V}pJ)qR1+|OM`#(emJDp6I+f0aIVC5fT!yK(+
zH!B<!Bz_N0hiVM&A_*EZY9Q4}hSoH#IdY81y%}wp+Z_HJ0ind~GvDeuAAtVCfUK)9
z$KLQ|F!6w3UR6YbX|2RZ1>rw(1c;qXu~BeDAb@-&kn*ydtZXn34{9f|dJlK~#h9xq
zJEQ>iBr)Q==)cTdl_vQoJ8&f+-Vq(9wi@IejhPBW^)TitT(_ooK)Kr1yyTBZ_3efo
ztqsHgdoXvsW9GLGQ^vO#lcDf2zjsubSO0?yO%RhPZdM2=_@bdP=ve0%k4q77xY(0T
zc5G_Y=B}sW61?NUU^at-;)2+lx65cB+DP@_B^woDhs7o^x8h)n+_lWijdsI>)(u!A
zB5Ix8fSVCCY?mPi!!`xVvk|xL&HU7Nk#(&V!yI0yLkX}?>CJ1cF?PeJN(T&OkH*~e
zZfhLN76gIcImYj_1Q)F%u`xZlQ;D&z7qeybnSc6!VhPPpu|vaRj{iDQ`671BL7^q+
z*Z>@x(R-~mFQRueI%e)LRfka*OtWZcBkCa#s7|2SQs*k6^FLvKc|68+7ws!m{VWCp
z_apF`wq6zEFnnv;YJiPSJhA>l9RAV~m`>$m2hh3}i`JQ{Z;W}Z1M?ZYWX0EexPnuS
zr)p8U!_Z2@ENXlc3@3BfDuxg6H3hn=KhxH++g5$t5SRf=Sj2%yUm6M{{1*}a(J=c1
z%g#0Lwn`Hia%@xwKo2lB(hTmVLsYTbE{7tr2WhMiV4Iz4b#o$GX+0X9+TXP1Fsrho
zQ5o;30(rzsI~IyGV_t)4)d7~wrp~6Cmk_|#q+shSV6lu|ua+OCG8`lTVH$=UQQAj{
zl4v6I;D7oPDZhqG9mkL`DWWz)<Cto)X}~fZAgN)*WU>JaW_mN=VGKqKZhZ|*HdSAQ
zDD&D}ozd6`>BeX-L$8PFN-fNy(a5=n`kJw9iJY<UX$I5<#EA6=Ujn)cPQ9R6)0eH;
zs1Vz3oOS^gD0|qPCgH|KSj}wzBQ~cT5YrcE3nT7qIwtk(-4HVfv_EclI+mX}y+%mE
zNA~epk>EYVeaexebXV9C8oO8TqGh7Ku?>55d+>cn?Nu_Fz1pe^+ay~kGa2V^sOsHc
z(j0-Eqr>;58>-r+s_pIAJ5u{&0)va)4YRg?N5S@|a0Un|^6eEDeepe-@ghn$zy@Hu
z9}#LIf>>u;LYe1pdDt9m{`~VT{Xe&auDW1LEOxR#|7;eVmrRzIk+kK}&u6|IxM0h}
z3<jxNVn3(o6#TxnC5HJQ{k+cj=?#*E(Q2Ua5cin3e+wl)_zuEn4PA2__P4<UpPNJ1
ze7_|Io;u@pEyI)CGq^u1x^C}hgR6k`z-Od9%us;v!e<!-1h0LTbnE9;A6`*~xzD|g
z%pz|qW}eoUYF_ly0&iO6mrX<;!<5?idGG)u^|dXA&l`?`E<_=sf!;B~%l7eicG>~z
z-<8om0$z11N17y))W%-Py|WlXu!?#P&I^EF{mWx`C-Sr3c62;TEs<W=4uz!97U+Jm
zz{W?rt3Uh>;55_jfQ8?n*MhI$Mdbx*4q%F_|859b<BAP!rfqM1hNHcL2atOPQfQ>>
zukISfHs)S|!*)s1>)6c>>3m0mZNKw92yusuW^2o7j?rii5zQ{B1kh|InkAxn&jVd(
zzV}I*90NZi+PwNu1l6yY2Q|~NJRtkG0IU9ctg?DHNgBNz`^OWgEa;|*^sPwcqz~Yv
zpQ({<+SZfwsI;q>bfxP%pl?V&CRGJr!7)1Lqkskp>k*i;tG|mV*{GL%x6GKf9u8w#
zl#-e4N>rX1G@h-7@kPV6yt603ukL#UJp09Oy6|iX2mr(I5g4`e-y=BIGUzSFu5v&S
zsnZ0hxK`ylcsY;$`vOMk=WrOM#C<xUgY7r*){VZ;N}p56^pPWprcUyH=%j|#oaAds
zKb=h^AG#mP^En}#^o`bI&{`lG-d?G$C&l)r8CQX;e<be#0E6=1!Otll&ncf8mGX$g
z;LxY&dB#yS>33=0DwAsa7f<?K%D0n>Yv;xmPcp^)q&{AnR6F;0@$={+(z4>v9obcq
zM9IfY^3LMbAAi+x?7`ydmoGGp-dX%9!Dvr$y(|^q)lz&{WAR;witkd3?`r-lrL|6E
zsOmGJRt<ZMQWXZmKgq#8#)<G1<A}22TIccF^kV`Uvyd>2ZmBQ9)ZR4uQ1xf=rkJ=S
zymE-G-WC6++O<wAd+ThHTDC~DB>&j$8-Um}rTVkDtRp+XYsufQxcZ}SO)1-fztJ?M
zI6;axrTjEaMUu2SE=h(XlB)K_m{L%!)h{Ei3N?Be1{!p1E*?`%V(3BXTaXyc9ExfM
zGl$*Pc-JA+E0}raUCksO@z_(8s1uu>h)aUXI)oRIN_~!<<(E1DgJ53QU_>h92{{KR
zVaOpY*9z(rM1_j0Uy1{DkD4y9aD+0P`WQzHwO{M;ml<OQCpojO?#{A1o1HmWVfm9y
zF_xruy!kn1*qho|95lzKzFv2AT-^=*n?4#kXouktS`78OtJx$Uatf9>O>(2NJ`M3s
zjbT?K0EoddT7!zJGCee#oE7KNyHtdZ>>zV;|6rY~;J5DY<Zw(+4l6-?P4Y>b0_s5Y
z)i{Gs4w~bgEWFpL)c+Iwrw87lCA?iaQgEDg@anIFwl=UlzN09q9e3`?0K&Z-SjEEx
z=R;X(7(!j2LW5qq`sF;+=te<Mo+$;PL#96^B~|Z=yXM+FQ_M*ChIROp+UbuZ;q>!=
zo&&cUsxJ6HUy0Kd__uLjpgB9+nw7KII>)xynw2#_OHR)A7x)7{dA2;pI}TeE{2A2)
zU>r+uy0gp5GAja>N*6qmR5&BQ#8c+VcNHynyO+8B`56IsX%YX;_7>(l1Kv{Cs`(YJ
z@(fRbx5&ACSw8bP{PRm!l~n|M`4($N?%c%-vZtg>zO*uJT7KTNsrk9CVmAsQ=&l8J
z53<bpI6clY*Hu2LP?D09Gv?2?Tg~&vC8x}uJ$W3b8UuJ?cA48&<o8a>DDb)DQM2U~
zR-Yd9qassIx_l~;KQ_PY_Q~$@6`tj;BDvV>DU<yrE=2hJ-aw(>?J1X+x{5tsmuzz;
zr&Nxq5QG6jF7p%xN?mgDn1W9Jm(2^5Ep>V47lRExdDd*X%u!Go87Ip1xo>oNisj^t
zg5?>3;&Jljvt_DknXTOI&qkU?Uxu&3R$k<)q?#w^+UDiV8#i$>5_^=hc$u@XXz?6(
zrK`y7XN|cS5ugI)+da$Ng$1Qfucy%E^Lf0S9##a0A=&U0xy*%>o>}55Ty8BdSc<wq
zxQdu;m6?l*yhyZ`7di@j%aH(Plve6;m+i<hJLDX9sf(!R$th`-GVu)V1OkVvGfIa9
zivUwxn35uomo=_1Y>Tta3#^N?bIdu`#SXJ`oIDXo(o#}Vs0qNdVwab3C3%I%T_j&T
zPNoD-M|Qyq7j+MpEZ}-0Lt4hWh12U^0q}{J>pZfR7khf5?*We<;w@leLJib~6vp4~
z_|YIbag0;Zv-Kz^GG7$3B<kCW$L}l+EVC5&3nrN>+=aHHo{-()vdgr7)s^^6XYO@l
zQc^1y$+FpL%am=F*<(_sR?2d=Bg33+MF5Q}>s8UhXnW@ElnZ}B;c{OTI<j0#(V?SI
z$k-;8<rQTIDk?l)KVYcg$8cH8b~t3vCOdfFb5*+iyw~!EU+MOj$fN?Zb2Bro+1ZhF
zFl9-Nlx5Ay&6>v~D>obZh6xqqN`G?gcKIeb`O<N^8j{MmoMe}I3(B$z%9pvK)QKq1
z40ydb`mz(QXVqB+L2i~zte?T^HUWG^1W5#s&<Ia9m%5jgmjR_bR*ncvl%XT#*_t|(
zvRvrj1w_{6GIKc_rHhGhM@9Ck@<Nh}iI-=30_A@698yhD^wO#7RiJixSGWsZLZw0s
zxxNBv-HX<A8RL@%2l<bT7i3GL%!M}u++J69g}dDDDO^6^JEy>1DkpcxiSnpk*J<T0
znv@antr{m04|13ai{8OB_~bD~T={m>0~CbTx0d_8t1>;{SfzhbB)ce|)<%)_Vfaw@
z?)^R*J|QcmtE`o-!hqjhz6?|eq@#MP=$N8Klbq1RkO%_p3ye6S(Wuo|o)vvW>M18Z
z7@HL+?-aQC<t{nfRaQ_@LSrM-WU|cFKI^DC9)Ce;CxnlKuu+4h>v=Ou(Yif53DpZU
z>tMb~y4T_JPBO26G*I(u;*9Zg@}-*aMB|GP`)<-8j~&}XOl{>pcM;8!x>FSm*j!o)
zGJUpk>S5h8^q`|B0Ay>0%j+j`WwK`W`@Qa^0gPO1e3d3%&Rne-nOt|mK+q`X6o-7%
zP0ZILY4TjolvC~3oc#`0na8`zQBaOTNC$P!o3blP-Toe>O}$EM0+t@3xTC{!!lS2g
zTzU~q-}1R1m605gFjl?=N?h08@JzuUSK?jbDLPtw%2Xa7p;0k0^SQ*Fhcqw8GZ}EG
zRD|kHw!6xgVa(|Rgt3I_qPYP~RJuu^U|4Uu%30tqEJ0)FBdw#LVg{sv#m_DBV`_{T
z&@|VQ6E)t(<9SPVGL4rvQJx1jk#I##2SQn1;PU!t8r<_?!!qUplwX!L?MPzm#yHgZ
zbcM6He1%?jh2P`Vw1x&53CB7En?3S5qb%pFs&HwL+>MwPNV4oKS>>ZyF6Mn+KLg<S
zCQqYjD(d0(`U8>4Tsl*<bd7#CdPd2w^Nyv_PbB_qS7&dSA#-lZyb=toluv;fuc*oA
zy8N_Q(mGg$*1`3NUgV^#ORk<kphG}FEOe568hWW~_RjY2jF&6C9>0q%eb`i_w31g8
z?ijC*=LhH$Os$KtKHxe;>sruY$rn4J?$CjfCkIMP<yo`jOQ-P3K6O{>a+roW{XOeS
zd}RGVu7G}${cO1RvF4vNX%Z*3M|zQ`+=Vy#Wf(=Yxka?8+^N=&#;R0Q?F8c%N{wER
zEY~u(5A(9#^Z-;qmdl4u<3dTvol}o_9=VWDPh`JG_PYE5Z#ns#RvUT*beL!{QX#3p
z5GWH1qv&b~>nDetohoN>M48#TunP|sgnaz&0>=g2>2YJ4%Ae?PVkR}Y6KkJvQ%(ej
zzK+QQD;HB*dNh2Q1rVidEC--H2`G77SN^a%5;tfeAHgh^&+IF+xP2r}PzIQmO`CeM
z*){%&WhmQ22w;Mwk)@}1PwCSBoSjiysLWhgL0c?rk>~JxI|YW1ja||)K6pj1BdH^Z
zF6p$d(pNg>nUEXWlITL7hKu@N7kp8m%0R;$kJnrgUF>`AL!DqBhx%FMf`h{PVm~U!
zh{`DYT_-4qE#P#_o%0@!t@D@f>EkP4L}`9XrS~`#cj6~5?z`CU7-(GFCc`GYKSu8O
z4Tc8{8_1700(ZtX6KeSGjcpOW2V&odERHhu@x;Y#Hf-jY;~qCWE__=ITZHc~hQA13
zy@7wa6c_hb1AXs`2UTelsk;ojxG#RMVXt8y{BiO749$i&C>HeP81f7t3qHHSDSQ@O
z2g&1R8PbJssv%AICKytLFUgQBd?O7qd~xy3hJ3>k=6m1ZH&im;8-^l73G=lWN(~jv
zcgS#)p^EuFG1M5=GM{R=)3A>DJ~P~FSkHWIh8Dy7%=fiHHGIZ=-x=Bs^v*smzTMDf
z_?qg0`lk12I%-c+rLaz9&oKN>!r!?(D5b)khChOf_Gq&cG45r!{cLye(kTM?RL2|I
zZKat?&eBpQoaDD)y<CVPVwF&ceW($Pn-TDR08XCEN+De+_G9>LK%2<u`-jl7es`e`
z+!YGrw3wYm)}Kv`1R`fnbRy<>U8IEB&TrQpD$Y2EyBxcgOu5kR=(MSPdz96WkEKw(
zH2HGoh<ynRU<eWGs8ZL7_(i0mBla`rxmHHbDm+-El@?S~U^9wsF?mXhB9bwmu+gT9
zH&Eec(^SlACQoGqT0C;O$1nT%UY1<IcTxG`PF}i-CR=<@7C7jk@z+&Z=&E3QiUocI
z*xmpp;IxNXs_mfmfGc2ow_Sl4M*c(Fy8;*L0Bn3a8~9{Tz%OGfnlO54XG<<9rVSzr
zV{4q2=dL0_9qfvDF_c*7DJu(<W6I4)#UA-mcTth6T(6^`muJPiROfl*v=n0F_3N`W
z%!`ZsIX)k2nrPE9y+%KzzhEqz6DTkAnZ1Q2-8K3T#3x42o*1L!a}>Gw#wEQWvAdUg
z3%slH+0>49I;jf<eAH4%%FlB3hy&3WOUob?Jx01w$;sAAzYDJlifC#;8#R&LWgP8Y
zbb-(|pJ{T9r+fZx1@w|1rHK66I+zy6w6}=HpVRH31^GnnB?eZ3*zjVa!?)<gdljvL
zd*xpw=V*=27ffIn_?7MV=4W~;Rv~VomwKyLZ{|~_FWVFF7P>k~`@!^F>+*V{&?B}D
zPJ&b74aRsd7R;e3ThG?-ZGHoJ>&`C{t-Q2p*e@<(uhj}U$4|O`BL70K+wY1%kUZbZ
z<nHpzA!g-87~jy=taHQ5_f?Wl1T&Ubkr8xC^q`12ZdYj$T3aiUWRTOr>nCWMC8zQc
zR}W9)dO9n+#9i#qoi<e#R8A1tBdfuB)yY9d)`cjD$Ym~PUG!uM=nIsW!1h0}sVl0{
z%Y3>QIk0P$*1O56<<~3KnV*f~d?6@S9Gw5B)Si&fZtE|-0F29MV!mTc>zS_QMXJ0X
zP;SI}Q7bUAyq?(Uy)}O+tHVLfPM!v#iP$3~N-XXbZoGM=uFDo`cC7Y)bU(Jc%P}?+
zDvex;0uwLCD6tZ6?I}H4A)trDWq^~>f!KVeyr7g+EV{hSM;R6rlwt!jnY;@02kE0x
zJjGg8;a^2PAFoT8CO@V2hTg_1o7I7PdlIej89Ievv0bF^>|(&7afrB#dhzYpS#tFE
z;dmMDE(?^IeT8l}$HX(7n%w7tF?cKIB84NKD+6T}LQ{7eIyu0p@x$dOe1u)AcLaV&
zSXvJOJ2m_T#n=VXc}^52M-0f_xlaw6%m>71Nvwj&(JRknfdDjl%GQgX=h0eWKA&96
zku*$@i6AuB1UWfVF=wUW1wSVNuS(h2jE0lNpa}fE*1zX`%jt5%3dZ7E8d%1s4PB;Q
z`C0;RTfK1J5r`!3a{l_1PsKPNrRzY$BDoJbBFAAAk98A`q`FU&q%x-)N!{5DI~ZFT
zmMls^c@eBKqDWY;^^Yu<HhD8V9>3T@;nQp)qqhW&DwLm{6RlWjSw?o$_>-cCHYNFH
zPA4f*;)n`ee#)4^!j!0mq7CrgHL7AgS$g<%5^wc9d|gA_i4vzX2K&8zS_E`rViWF@
znD1#OD_pjdosdpwyDmzuFL{q_Z<1M?2UP&~(A)8PB%cKxzCx`68vfKsCHiCW19`Hx
z!QYMai1;o=F3XB8Um%4&C)Iu=#&}EZcVm;gyIl2=M!Yy_{91Q`d(!#P%N5U3%E=vM
zEMvZ?qRQ%vWHy!UP0pRJ)G2Jj9Yq%qf|IHb$%hlK(2I-lI;wLfMTAC)rt0cXbo|6*
z?8tVP!921?%9}#Jgqw=(8r6w9*-_^9%r7qXxk&0^7$)RW*fXL3Ag&nu5Wq!v$QXb&
z(<WKx5v#;30Q)GkuMnun!sdn>rV6u=jou`sXaLFG09aYYT4^+oSm7$w_Hr=QAe%dS
zw0B0mwF`$j1^$!WK#A8=?!J*NhKWDjq9S@Lc37ER#Vk1oGLE`QWE+ENSpcsXXvNPb
zqcYx~!5|=d8e2w6JWnsegG$h=h0KBq&f5i<^K#gt-Us_6vRX_|cI0GbEnZ;GvY9jN
zFw(Q;<k;rT&E{5k6ECOS<K#<pd%ly)a9zqG-Qen^<%^0UrU_S*qy+_DH|_7SdXVi$
z7y7kS>`IZ@jV}tty?|&miq~pdb4yNr$2dl!!%)~Jc)BEA!~B4TpDtX(2W<4Mf#fEC
z75D#?#p6&G#4l&@++WJ#hp_lE7SH|VEZ)T8JuII43A^@EU=$u1o5ZqJ-%MoEJW(E#
zGNqDCR%K>KNBs!KeV9)&i$2Q6s-|aSN`_MDJvqJSx6K$+DQD47F8wT|A1C{{ihi^4
z13I#7PI^JkvrUlcMPg?tYmVIvVbLO}z$|lK7l_O}J$ZthW$6qF#%E=8h0k_I!e?}b
zH27>=7yK5R4$mMk!R(Sgy-R2^S$*)jX!s`MC8ib!3MWtL5=zxWI{ehG@RxRlu+W><
zPJGrb{F)OH68ONrNcimT5Sdvik?EOPk@RI|^`I{^s|$UZ;D<&HE78&wpCxOuo{p({
z1a?861x0j$pf#~34VJ9S^pI8`OHP&^rvus}V;LmOS)#zfI;1m}!Oh9*v>w*+A|=OF
zR#6H|Usy*>(q%l`A6QBYS{FA-!5}l4-sMC-C#{b#{ONf4be*XuzUaW@HZq-*6)twA
z=R%7WWYR7H_UWx&ugA+vztECF@w8ZB5%U~2nazdiT?6G~qMqS(6)dly*Y7+R;^)sn
zK3Z87mwHwb95E<ke(pSr%<Na0VsK%*Sd^1XI>1)Gf-UjqR}^9wno=&D=V0ZNiKjdd
zZ!&btJCV;q<ybrc=vsMBL7-GnfNfaq&4!%qTE+}mi5hR9oMpT)hx)%(UQTv4M~CvL
z>uNcuKw<2tr9;x$#v-<WSaG7z3+GZkd`tjy>{8^>OjtxV=|U&bNv|L#Mo<a814~Np
z3XKb>uY=$!(=L<ez{+?|sRyHS`Lc<8M=P>j%$a~Q>&CgvXdZ=K=%9E<L177|9TT-!
z#ODzovuzHGj0WLIBOC0(1=Rk+MoG*Ch<2vOGYiTuf|;|syhwJ_G7vTkc-?~c0I<uN
zB<ng`ho934xfFAxi1$5s-GiH^3b3As;fT|cK|%J&$!vj1Qz{s6L)TZ({v>vDSj|~f
z#kh!~+OFUuO?*0c6NQ^B+;rhOg<B!qwZh#j+(zLZ5^lS26U`iNig2C6EfH>|a5o6I
zUbxM|Z4++y_7&AVx%n~X?LF2JQR1i@FM|S)Hk*R2IvZW_?v7c?%_%5zm#%_kJ~tlY
z#&aMF+Z3+Sp3zcSPKnzGoe>qeRvEZa_0vQz_E5a;LfFvfXS++?uoTKC<xwg=@5x^7
zr>Q#Ym(V-;HgoC}PGGl5Jl9)uTzEePlx&X5G+9K9n0S@V^OW1%9+)1(o-PW}WjQ|j
zE~8gFD6FSR27BZryDFL&ixPXJ>+hk-u1hlr5g)P0c<^?YeaNE22^HZgBF=XL_JGUv
zkqrz7z#C+@c-<Kd&f+R9SQP;iwOrt1CeOXVQ9X$?qDojx^{6W~JAE!NMSMU&vo7}G
z06dw{JTQfWt>g@5sm0-F-cB!bQ?Pl)GQv-<rCsbRpCZ`GmD#KoUdbY!QOFj>XBCub
z_{C_A{g`<<R=b>)y}-f&BjD&;rj$xDsl{q50xtthM*Tz^QuVx^QWAyUc5_kBGOu?E
zl}=p1;thh?1B3pdh}I}5iNl>h7<9N32!jrX#_Ow*BjNgL<Vd)_gbQ$dNe8nAv9!x6
z!BAg>Oc)};wp;XF@D%>GmDx8(?B!7N;lnKIQ(ZnRNd|*NCne_7XI1n-#q&jUFX<dg
z6e2)DCDzNHWnf|<q}o+!D|h0(0*zCh@1;O7O4Rg4rU$bym!EnTy@*_u<Ds=`gc$(Z
z{lxH?c9d)OjS4Qbq-V2mC0t2K&sq^~7vT-UtrTvWNMA49wnCooKd(=*ji@UwZ57L^
z(B+3yck1?LG|QyCWS<miqXbheGS`x{ba<mal!rS154C^lj#RUH8-*n>J(}&?AT2B`
z;0B8@5lMD%lOn=o4L30&Og3>7v@i%}2bFU4tkUcGRGY^jeM7hKriid+F*i`)ixYNp
z6eeE8#c}Jo0eU*Op`$QQ=azKwdOEkKqcEk@4_Vdq*VDOe9fetbVPV%#OBZ%_MiC}{
zkhR@#3RA-(Og48TBEn>O_mhY)+218bgvko;?1(Vg;++!_CX2jtBf?~tH&TQ(>%3ul
znA_-`p@+Gp-dTE>+v}aFhq=|>P(93T_e^@2Tks9h!`zN9K@W3lzBoP1ZTjfkYvM;-
zys+$}FdogmFGhrk$?0hC%S0ICuG{Hg1`XQ$L)$83`Tx`Ufb9FA1AEvjovIy+X2BAb
z{`@F*0sLhLrg*}h23urN%vYrB05b%W78ZER>3wW&`SNnl%5r&b>8gqna7>HGa0xw+
zMVh-5Q^(GDW<Syyt;37gh&djQoLvSRZpQoweAu?dLX$S7c#7RqP!zdd)>f3x0_ane
zESAwyZn-eQ6HC1eWD{l4>_YpVxJS9P0%b##AjINgD`9;l$m^lcAEf!*m=4Ph_L9=4
z(Z9e`O2+2+rjRe(MR*Rrcwit{jyYUKZc!`x9tQ!ru!IcqiU2`$%)ve;`RNgMcotW=
zTcm?bUxlaK$3GnhzA{)qp=mfg?H7}!9}jVSn2FQpwJge9O7n_UvKD7v%09i7Y?%&c
zB!6?}<a7yB%{_&lQVqsd4zs`ttW0S?U;+PhhziJt6(dZBR$+<j!Tt*tuAGw0tV}H{
zi-27Y86)bvK&9CFTuz=con9t)hEv&h-~xUQJ}hDRwf47zaRE$0cqy0<f+~F6@21so
zr}Sv4y{w<2^$&b0UhbzAkmg~#F)#?|I%bRa;cVtgFa1u<96{d(my)9!{ORx2wHlmK
zdAYFK#QGxA0HU)*juG!iyybYso{i0ZdjAfamW#)6TJT1`&)P)8&fe6sE%;N;%Bz~J
z84C!aPL32U6S@Jn^B8xMg!IfPI6kYKzEPr8b@?*71&N23;ln-(VQ&Si{E76Xy!JB%
z3;!t;;-2m<%Y+|}hu&Ojc%~Fx0$}=?S|npfbV|_-`r&2dQN9FB$nd6sJsalHBmnbY
z;Wi4lMYwIk9ZDy4<4G27nsA-MT_W5H;jR_#df{#sZoP1ug?mW2ZNinDyquxJm4%xk
z+;rhOg}X$!6~e6&?pool7w%@^)(f{;xT<j5g&Ti0FF#SZ$-+$&u2Z;-8Td(=JSBDN
zrPD4;n{Lj?v{>hy^ms|C0Nb{(9IQ;8l7%m#-B<!e*qv%GykS8rCu6x*j3=eIn9dh~
z>8!p|JL&SAh3?GaG^T(wA8DTCKFWb9nqE#{aH$b+8ecdUvA-oEH1{7OthpkX-pyq}
znpSVY->`)-(y*BtMge&WPFA)hd)^z*7Ts(JUHQZtzs$Q}>yeKMcMsnEZ=7Y*^}L%&
z6-7%=p=PH+PjetT2k0IQ={K*^NuQnWFGN^#e{(la|AlaW^Q1&`aH+P6e*dG76MfV+
zSC*GxM<Gs1lVtX<4-%Geec<c^Br<8fB#9i6v6A#`%{8e;_5Sqw_SbLOzxc@Sjlcif
z73F`JGyjj{&ip$2+}ZI*4m`O0;0V?F?DXwd7U!I^DD`>c<JaEz#=J-CzqnB~<!@Oz
z{`;Rct$*dp-yf~JclrmWr<Q&H;FCi?t5bgaUFq}Je>7pzua{44UHt0@uMCcE50C%z
zo9@RZ$mcz_H{WsZky+n09yoC6H*Fiwx^isW<%bV_@WPo>FPS>$o_Y6Yzxn1FcYGxE
z8)x0QJwuYJh~hhsZJYb-*WX-uo0OVzd)w=K?T4qYeESz~oN@mQY28IvG&w%KXPbNf
z^oi*Y{r<?P4=z3L__pWweSPSg@8|yZjiH;rbT<9GVd@`^v7TWWzntXQF#WFa+y6DB
zV`K8*e`P#vx%1`^RcV-ie8rBzRg=wk%(?sN`UgIF{DVJ#KDKu2BwJP6bHTUYz3LBn
zVgWHhxEA4_tX9_GG<OT#41&j3SP@{JANXUppIXL4qTGAgOh}R{FXZ|CN!-=wBby5L
zv~}PyK`OOJ7M?>a9$PWmlP)}s1h3)2@ttvP9r4G$ZvBo&(Sf~q@`c+d+)X#~_`yHp
z?mFQ%i+x4S{U+z7D<1k#zUsLZ_bk6kdH&G>04KyLVjq(HI6qX%6XA76Noq5JAn|PI
z7sJAbgxjWvV_CejA9ovt+a}x%!fn>W27!mWD2DN9o!B4M%4_UrWN>Z5jT3NN1YAWw
zp1-+Y9D{2V;Wj;<r!Nud6~b*3?h=8Q+JV|g7WF<P(w!o`lOA6GC88b`BAs~FAAgO4
zE^Lc2z77@PHUJPGmk54U2)9|djl$LN5-o%9CyV@qo8saHeeg2;^;(!(2>1^Px-`BM
z-09~u2TpU~GzU&|;4}wLbKo=wPIKTi2TpU~GzU&|;4}wLbKo=wx^SRPk`fUy<I$fz
zTKDLEk3R6&p2uE)Eaq`39an%Me#1kXAKLOz{X>lp?R}{Ep_YdZJ)}O=_E7sn(#H6W
zLpLUFls6`COxc*WF@0moBWaJMKcYP1d?fFYC6AOmQt?RTBS3)nWVCgbvMFs-`X*(Q
zb5q`?C7Vh%Rcxx<RJCdCrgfXvZ`!bF^QJAE>NhoR+PkTFQ_H49o77Eho7y)?563?|
z^x?#Z<%g3WPI)-(;q-@<hn)}SJ-p;$AY2k7S>UJ}&iP&5LrWei0iA6RY1C}kxOwB2
zjrAKFH}2ioys>3t`^I>bwiy`HfnnXl8y?<5I8Hy(Xh|CGl-yFbREB?<QiT)%Un?b-
zh#?l?Yp`LGG#TfRr65H6n;jiB39t8?vSG};U)?{oY|Qm@UhDU0f9dudseOhdofW&}
z?frikx#ygDk3Utr#E~`P<=F1K*0C!FD&J3i>d3r59^Y~(r*M6Lg8>_8aXHdZ$F)Da
zQR;tq)*qeIX_cg++i6#`^J$Yt%Y$OUy{U*hpT|!<1Fp7LOi|>gjlS;B21L;2Cmvxs
z#shu)MxyNltV`0N0@(L;iTQDXNpylaP?XU@bwm)=UDN|U_Q?1|agw))*;cJR3sFw|
z4Z~j={vw`q+)6ZwgGp0~M-})Zx7!{*;PxVxJu0PF;g8Ckhrfs?9oIQbs^kd&N*mwn
z@JH}j_=|Yb0T&TG?fnmOVByuuWZZiDs#5!!(iAo*)gSf$N_njIwXYt{TTJ&HE?B74
zzJ>I8A$z|LW%_ZYw%up6O+V@zYOigwRUhh4xxP{!ZpBsb`>zb$)W73<Bz(2$yT#X2
z_I=s4d!1RPhv@oRgSmFVH6O>;#sC1$*$OTIOM~Z(yz3Y!f$v*ruVv)i@zPh1Dz(jw
z29_XxK+dZKf^_AvC;$=Z(USLlwXU-)LTQ?;G<_s11DZwjw_TI>9qSf;Aa5tXi*O;o
z@evmeA5||xgVDvu!B^D{P#y~IJzmqe%Bapor%-}B*^Pa4b0lgb?i2JU4OMWzccMAh
zyueJTQk2?+%Ebi!t`eHv59h7Zt;%PHu1*D3d&s!&N{qedq9CRAymW%YZOUgNeilIn
zUkznXSHB-i-pnORt#K@aXk-vm1cdVn^*s)ehZ6omv9-no0XP$=Mj<NXyaYEtUIw4~
z1Oqm<UJt-Eje)ZP(E%c;Fy~@*9Z!9QQmbb_4F~r^17sIK8kR7Ays9qeK${7u))<BZ
zh}WqSA>#prtf?<5bYJ*0q!kd?A91*v4pFiaG!_s<$UW2?e6wR+1@wm!y3{cnCX&wq
zeU&{ly95DZ^m%sN6U?qDRA(o_#4@<Y9Lilxt?}s?hIeH|S)jnqDOj}#pSuL#WW}M>
zps@`Rq9ope=^U{wxL^GQ?;(M>fnEa==5@eqr>1?2Qg`!Iu<pBAsDCAhRm%aP9wiQh
zjBf!muOw9$B$zn~BM>i`fE$Y61P!H#3BD|-K;1@nl2D)*GMAXV9+ap9cm;3i#6#Ez
zaqR2!yH(Hxu&Ai}>8L-m0rkU#`U$X7y>A@oubyp0Mk!DX`t|`QO86I?)Ynnp&u~Ca
z$2v@2SxZDv`{&V&VF0-X($p}CP+kX=z_tyUC3a8le^JsU2my@bRGm(RZkZ@aHI0>*
ztILo}y#=A?=~BwN7Vy0#8T{EBe7oL)dp^GiEsUc(V1sW5o4%-d57(g1#+B@?Ms*Gx
z^=|-Gg3apFR0r0e{)tK`J04{{2ddTW7gI5TVWw@_v5Mh<8q(nc=)dm;JgNaj<EmA4
zCEV@bb>K?E3!93o8{<ve+ChqgNNHL9F=l7D+ZDHfBW^n4NIt8i)&zAO-3*S%Bt(XS
z%fX}Zd(CV1`~R-qj+FG8Z$R*!@PXi8GSK`aCtd5Ar{G@9B~TbC{I*|GLDBCaHO@vw
zaLxEM1r9nX^}vj|;OX<k)8NZ$7_ER-8$n>fg!$B1&I)vYBj$~)8!4fQqu}rCMsGu$
zkH{q4FElg>EE_qNX3Q0V<qUxZ(s@3U&bR4q*PSBIE|JH>^E^O#K-mSLZ1WsY_G?NH
zB}@gC>Qx-3lH+ZHL)7U~&+snic#$QBDs~^Tt7q|i={(<kA|LOwmQIpV^sKw7<Oe8g
z%P7%r8S)`Igk?G)HlvBut$^Sfn_aHTu36=}+fFy0ThN0O*XAS*U2DfZo49&efeAq#
zQz8}&XiiI=B}u8vp}ScVZoLNhJ{SOe>@wyaS&`ETbaaPkQj?lE1`;N%h4M3P#ZPs6
zfB!Jy8{{7-eDQ(vdlZvM#k`GqZ|lg`b9$s6!*Wn{3=~9IqSb+_umprmg*!EZkQ6F3
zMJEJ4K?r>D0V2BuxnwGG3Dr9f^@ao|+(AX&k2mJ6qkDxZB$(rzH_Fa^j5oENY)vMl
z=@w*91JV>AokAIYj_Ev@nY^<*d>XGe;5FvQ68!Wt0Z%j{AxUXEBm=9g48kSgxE;HD
zdx$bo5v|PU76QjL;H)S!TKfZYp2mePt-qQw7l8}B_4n~QMu<+&^5#*NKk_WeJG-)@
zld5EbGH})<LpgNkMNi&+vj8~;a2e<wZ!<xiJ4n=a-@fAR3{rMO9B|`3#1^-0o3`4M
z@&+{(li--Pk>ng2YT5=-7}SKQG-^8Hi+TG^>9J>7QyWD){*+2F#zS`!fblU@CTM&Z
zzYx5-=IvF~OK(93SMR$378hF^*EIT-?dcSIryenx%3Hz+Fl~j*;R0|_hSHLmcn4on
zLc<46gVJXCl1I|r-B3dH?DzNP?e$$KYRLui@%>>}C&+G6Sw*JKYzo|<o~f6b!qFM^
zh_hL-7R)|E!w=w=BA&keTv1#zEABbQ8=#)mz1$^K?w|Wn&4)rRXU*Ijh;4lh(t`c~
z&62n~E=dB%W9TPVqEKsmU0l-f#<g)trmb;F)$OsS&^^#u6i}8ojyG+^rM;oyn}OFJ
zG}^#ubDc#Rw>A#iqYK2n9O5DYab8b|6&%7SAkOazv4BH-42Md&01%+lAhixe2Qq+2
z{1Sf*)$RRmzFZ>!9r-EbP(qfNk<@+w83x*4?}zc>Fc!vk!wy@pnYE{(&JsT)V{Ke)
z>l2I%3~>xY97Bj>Q2(2!F~q@ye1^2fOy}JbUO)^>0?wVlX$uYG5)xAv7tauGWgKM)
zV;RC&LKsVwrVC2@fztjQY0QfPDWG&>%exXAtD$~8e9dth_KhzApswnd$hy`z0e(bn
zV^R08sB?JKCOE;W`w&%YjOS55XHmapQAcrp1~T5lqV7T`s5O4dqn0D8u8I!zUu*mu
zkIG|F+ga3J9%W@w4J>LaMOE)g+^LXaQP5Lp{8E%X)T!}+TOVL$&Zc!`@St1@i`gA@
zF3jDYL5vjW5B|xxKwAmr&{RF)_Z<8|0v`$qyo-es?&i^JDcTti{JY^}_+Pl1*Nam4
z?2+)Rzem^MU4F4reG}$QH!oE0(c>m=N7+^C8a-l!9Xcc#<xQK6&c_mGC5p~>fOWnm
z6lz9d!}I7Sm_sa@f-d*Q*#hS7h7x2#^j6TJ{%ZuIX*B#wkQOZQ#ITUj*pBwBHQqz<
zA>(B{bSDq}k%w*<X-64k6%Sp*LpSo!-8|&yp{IDLoQFQ<p%NZ49%ER3%0n0MP!SKA
zdFXl`x{inPc<4o%L)IEEMo4`YeiCUJ+Vf(2DB(@;8!8yA8jsB%C1j@|)%XwiJJxL`
z9uWImv35v!Ooxn#fP9ldR%wvx_h4c7h6?L(qM_c`BlLy}U7|JAFTicqM4b(_9*GVA
z;0^Vc6x3q8)|hvLbfy;frDsEC<*Mx!55!1@;JcRKOP1gcv*{N*%&R{nD@rp)k<}kd
zRUI8opAI!wVGcD0zXJkEHLnL`vuW#&D?`H+G-KRBFlbwillGzpwX{yIIu_$U6KaP>
zj`dXbB^U==&p{5v7~lG!qhnqu&X!@?c4vA!I5g-Tto^EY$!zDM``p}|)48m-2WPLE
z53+(`Yw*jae<qrnKF5Og9c$eoOWmhtQ^SWQ-}%7<HmnjxV;zB&O^Xt&Ng_r!g$GxC
z*ne%jwQiqftsk?jx);oKZxZBp7|5-4yV6-G*sdlfP<Vf5RGaEJ18s`=YYD3JN0g6^
z8Ys3`n?5vF|NVkN`)QR?(e$BVP!lTnO4Fgi7&*>p`f#Kn;Z6W!eiX!dI6r9#=P92r
ziN%OHpY6%e%(uEINs;g~0ipmd<zRyKVLT8v4%*A6nUJto=0RoIlQ1e_>I6lT9E+-T
z3`Mt9z`is#&Ji9R#S$F_g9aaf<&H=!3^mk=$X`p>-Pe|qLh~mjF4VVEg0o|g3%dmK
zE`gxEXAY{Cy2HV*YF_tGMKkZfx(uutfi%^MnUs0^J1EMIEg2aa<03?JfHee=1c2ZR
zO)6&Ndutl~+123~|A^|NG5%bj*vMhk4$Np;E#`WNFZ$Q;QW32p+PqzjK>pGs4S6yl
z-$VHZgKN7@TmO>wr{`j%;N83E_k}TJr`+`SVTS#Ny;S_jYBk1x5&fKpk<UNO5_|y#
zWs8DtWq5*Tw_<gAb}NQe?5~w3<?-DowyazNj<H6h2J9iT+BQ^h_KVo=1>Z)1PU72_
zoON9p_cyGF)xoT88K|+wxX%&I8D~dswH0%!UK#gO&IffjfFc-|Dx#l6w0S#yb*3Tz
zxsLn`D*Z0XCm8oY6vll#%<ytwj5|jZG>74-o!lB<j2}b#+Q}sP;25|^{iF-q_9?+#
zN^Kq_t^@*Ck*L&G%H{>=3{a=D*I@_49=h~z6FB4A((69$%C$crMSTksKJ)emS;f$;
zA#U}E7V=0Hdl~@2-Mxt0RL%r-9e^UZ_B}_Tu42fah(Lawj(j_no=5oxLl?YY+A6qq
z2Z`J2zmv34r4`zJ$ZG=o*v4hLVK;HX$%N<nom~G~(aHbZVGTB$t3U1U&%|$xKiOP;
z%-|mak<6o7d|^aEvn(^P9`H^9d=nC01qH4Djp?Ct^D+N<=!P^P9izzRs+*FWF)Iet
z?TBp*jU3u)FxS0Pr)k(|JkJpwJzWV-OuUl1obi1)z<JCZJc{nrLi+ZLM3P^q+^a%^
zZ?%WwuCmr8NnGnDn1in=!B^DBF!l!9LUWI9J{HJKuj&}=pAC&u3tTf=ydyy0ql|&C
zsOO_XNbw*AQ`;0v-OHA`Jxnv3>)s$tA7b8D*J26ox76)4*I|DF3Y6<$(ze9aN-!~<
z?djx)pTXGOxvzu$V78%bu4@7L)?ib5-C-Ka%%OB5ECplOVE@H4&O2<AB=1?6aV5b6
z;x45&t%;+-IN@zXnYQjUJ-N3v7Q_W#wbTL4TVgN6pOl8u<;CF)R`7{<x=Ud^T??Gx
z>0x3c<LS|+&%x89=B6)*rz@iKbRlL%!S>J`B7I_d)$zgpi@>={fon#K?^2z6yDe*>
zZw2=@eox#JV;>`aC*~wbeM@bj=~18DjNDgeyXn2~aVq2Eq#5Tuit2fP0zSS!m+|qR
z7qfcqRMRk31}}q1?}e9;I6oV`QWl3V2W7f06>XSuqOvDxWiR1n-=LNK*H|iaxJfI!
z8SQvL430a}O<VV4Y#g*VVqEk9fj+v@*wx`oBt}J$7_oP#$r$E=Xh8_rGhahbs8i5b
z*m4`Q{Xz^<YRfP%BKRs`AUf&@q*d?i@W-ubtUQRnSj@wKAIeS>rwIJ|7)<JrWF)AX
zw_|c2SNE>EiY7O0C<aT0;hV>4lfb(MW5#y}4UQq>M~KB#{98Eclp&-7TbG%)---NG
zGul5mpzc4?(eXUMt2p98U$AJ5{<8XKB#Gh<r~|d)hNCz-Ux4OURMykT+<Fg(<0w;+
zPw<TCKB4N^7|C=!^n3~Qe1)vkD)IXKf=0$L<{mlLAoTn(v!JRfT{5QEy{*<l7ns-V
zF|GLx3N&x8K{Qdx*!s5GpJ)y4Hg6|z^PoLEn#5iG>>H|vh9-lf31sjnk-dt+5Khy!
zHW62fxYft2P+DNn@tsxQ8ces9g9(@u(GFuys}+nG3P#ZUF%eVShGevT>oCL~OXjh$
z6g!AUj*xKy;?NczIO^}gH^`imaMMO1M#g*^8B0mK`7y)PXBGC~`;OYoL`UsaGR@Lc
zQs2WnEdMNPFf(yGnK77yjTbgyPbHp)4=W(IV=k!24lD*cvuMZ9iFmB@ZWt)h&W9X>
z0Yk<{eLIyz6Yglbi^gC%^*yL6J5*I&IJn<j*B;7@IdEu=af?Ng{Qc1NhXv#{#^19L
zH2pA4_=7YoDU1XA)mfl1y>5^Bsea~*n`XtDZodoM0N@}~O%3;*WvaQH`w~nwQ@L-b
zspewt8xok2Uh_{=&AA9dX}$pE-Em*_M+QT4)3Mm&JIpg)^9@Be-mQda0NxS)GjTLD
zJbV#aVh+kVBQU}|BW$|uZp2f5r2UK1E=HOuFqxu&-#@G;UhihWehFB585Mxgg#Q5?
z=K3?~cSd{Q`a0}P*Su(|$ww7K=Hr{c_a}wS9h;8^j8#Yb2g-o@MPN86Fr*TOhgsgR
zshal9HL~G?EVhEm$Rur*9~;|xi+RRT@BGl*Bb&bqj3j>fM`-XEme1jEim`P8(uM^h
z(~f5_97=5K43Mw~B-{xS!qccB1fzhVML-!^hegEh5V3J2ifP(gR!AhY-%U(G%jWB`
z*U@!-z~$1k^;0GIWnIF(zyUd_{(hk8juEk-rRE^ouKIhU=?(=RQ_X1n2H#wRM*Rp}
zz%<8H^IPu0G60jFDb>efOlxEe8Z|El5-c-z_~Jv?o)_MR2vlYzD#Pl9Ryl}QQsD<V
zpeenkBQWrp^MEOQCkGt~(AEP$k_IM?^i6ptp13~aTi?KEppm7p3t&hYitum>=kjpk
zx$jl){7HB&NAl!YAh`=jzG6uJ8G!@}RSFZG0*Q&jLnDx!5spO&dAG5=Pic8gw|xr6
zh+G3G*SkE-iXIf+hY)fN1w;&p!``SAu16fIzX9Zgzk@6V->m+$pZ}+feO_WPI5&}T
z?(Ya8_e|tA_=be8O+W+hF|>qpIELE^!z^CHPcSThosOyX>jZP;%TV5k@I(&g8AGaR
zzxp%mdW6sB;0Zt(>+8>|(fSCeSqh+V8!s=3B@TRs`bT&mN0NcE2+1@;@(tjSX9V)J
zep>zgP}3b_5o4;sSA>v<>QA8(9zkBJ$Sw4<n10S<RXU3mVXFBvN0CZZID*Lys)@N!
z$8g_8Xnj-7y+}qy4tBh}`eQJ@$`pcyoz(Gi^~>LN><s7d%-;~rv*1VOfyf+Zx-Fll
zJWeSa7+TYsqu?=8ji&0o<YPT4VJjrcv~^^BIG*J<t(ic*3azwa27Y7x7n^P$iWI`S
zVi?Q4Mnd?R1mejz_<073UkZOlJ`4>~_#^T`CrjZL{18RYVB#r-U&0S~bt6$U1QZc}
z&hW1!j^xr$D%j#T@zv_3#EpNVD<He*1w#qP?HtGFgySWiObr;LHJ}>>JVJ?o>`WYv
z#Qw<FYDZ!|C9dO%{hu*X^reU%j%ck1F2ZE3`r8XuoCgNc;=c)L{B^-AXm?9+r#h2O
zG%*d}+60P3pAB@^Bii!AQg`Y6%SnlZ>x>KFNqrB+y=1Oyv(p6VsJZ&+Ak!W6dYt)c
z4uLTEFt#M{xPGSF4{%?9Q_Y`vYP{bIm;wHo_#J3k^ERb3Z8)6xqb%P$9Kj~Vuoo41
z0mE7h29&+nwmu`27iY4zgg@-e@NCZvn2!&L%#hI%-hvF++h9Fw_Ys=u@77AO7w$ko
z;Fb@VY@s-mGZKCM``Cb`dZ!`00y!z<6|(S)lfX1C5)*2G?tTffS!=#At;uHij*m1|
z+sJ3y`a$)_{lg@u)g6OPHSd8zrrUSpx4PpD)9v>$&zb&|>JE&|K^7WjTJw8&@OIr)
zV?;hQ2L{~XBa<+dxeoKLa2uso9Utzq38vnMB(1uFsl=bES!Z<k$6&w>WHV&-ln(@H
z9ros%MQ3gGi!xe9^O@Awn2WV87T9M-#|}20(K^!-q%lvv5VE@%y;Ed~?>$Rs4#w_)
zp?YUr^|$?3B!iy)K(Gu5Ajv71++nVqj3t9CVUD#QbiJS!gBrFB<wCuLgt|goi1NKW
z8Y6{0(=jFZj<V+UfKdrHwc5xGVg%-c=Yyh9Hab+o1o+fnkj4bMBQ46z_7#Z$a3Q*3
z8aM=y0R&RPK(GjYS-tNaKEqC7>(3~APc(J21>2M$D?Hfbz^3(LTd1T%Inu1mR9OKQ
zDj<y)u$Briu>$r)fHV=vbPhuFsGp(vm6->rE<0O?*n`-}U<4)W1kuca_>r!W#^;t!
z7`LS-+G`a#H+!KHDrr$xe?~GWctaJwmkP_|g>9z7Zbf>~n1J$?H9Ji;G<{Hljx?19
zAbZf7ri2`u!DovS%E#m+ROzm7rra~z71P{ybs|RAs+%{1eU5Y`l)Kqf^EafL8)z0#
zHDiov%?^01QyP_y9ZGF(TGfo{D~Bnj=VEO%RhD8(It(_`#wPEfy4VT!%?JI%t7cpr
z7;ZDXWHZ1(&D^fkX12HPG;fJ%eXeQ-Uf(DkFL5*#{#<0qn<cNj2<RGZ+hc}GGDw#Q
zo$o9wrrlFH8ekzLQvsemYZNQJ(N-UmK2$Pr@J8>zsu_iTW7Q0AU`W@Zm5_C_GP7l+
z8RVmU)0%M*cDw=vHz2Pm?Bzp)BpD5u>^*ZC7KenAy|!0rdZDb|MciL}-J+e~{5=r%
zhBpWxlrRZ?)d+v<d!2hJrAb(>VP}o6)p*N68#^Fjp#=L+kTLkFnuL)9-9-si7}P}O
zM@OoRQ3u1XgytnT>}4h7LAS=uBn>$8r4<*aexrnxWb$61gyzDt!#6l|Z3|X*Im-Bh
zt=Bw5oO}L3{IIAs-}vX~8^Q*VO1t1C>h~C>?4dc|qvJk@mmn1BR#iljuh>kJCrL3-
zzdkS;)!Q#pO6*V;hW)nS+v+ofA-K~Pd<%*yZMPZrN1GYc{N#rI#74u*gn(4Sc3@k#
z+mhIUax9Q@de5UU1)<(RBD$w0DUGP6GO_tWei-2Rzp{rONFt`&g4dyME{AIIrP+cX
z)8-Y^8Czm@?pyPs>6eY@&pRXu{l?gY{tu#K(SWe)>sXS`_X@EJoPOTZNDC-w=RHhr
zI)G~k7zItW2iei_WFShWYj+}^y&?2n3i<EA7G1(B4yu?Gm<A>+r%*L}^8&qry3Ec)
zjO53rnDGiq!+H)*>Wdvt>eXZ)L2#-EBDdR^grpb|-D3}&)&>|@ZNZ}*d(FYN;HSZN
zu+hHqVl@?c?ZM$~Ajz@jbw762VSQl71{+igt=fZc246OJoY^{1sVB+BQ`O6sLPVL&
znrHzuOFEiJss3wHC0r?ZSP4FmR0VG^95@U5*FPRy**Y3BPwA~^kV+;6^f5)PLKKAh
zGWgZwkbtV$nV?bfU#x^OhbglqB(E?j^)zkAQxzUU%?mj|m#aylYinAunm4vjMeLeJ
zQ_X(^NU5$&$3*vC?p5G@m3cQYc;wC=W)Jbq+vAWzY=+<vGHTCzw$pM2jj%Bl=5n?1
zT3T^!UM%_fxNxTiub8aON_A75`U&ONnBX6&1UU#ZvAmbD24KU~CN@Lk#o=Y;-%$uQ
zKzJj(g+17DnEzJIz8n>TIJX4ORD#3Lq1p*_9a-4j-Wl0WB<Iuskn^FC^F+uvGhD9Q
zVcPcE=R3vwMkxMonqvIK_s2$o?`v2c6P|>h+47mT9Vq^%kji~M^Q@#i8+o3eQJyTU
zG3q5KF3R|YmXY@tR+fR4^=r!4#PelRzH{ic?zRJ>C^0A1_Vv(`3&0O*$u;X417?pv
z82xXQaW*APUtF?cEOc0KAxr=hemVtFhPTu|#b7eu7+9rrV84BLqB3)FiT8b5JuMjV
zRG}$b@G_CcnJV=I><5AeUm!vo?F~fNZS*2KXndPc!p`PAz+8y<kn=JW^q~xhB^=^u
zg6Ot`s08PNp263lSM9}SoAKv>X|0Do*ZA=+O-N`O@&z!3vP*$8L^uZn=XN?kt2Lpx
zx;@VS6VtX#SaP<Qwi$}C&D6?X8sil$HTl0H#|M-`?+R(&5&Tjm<BQ-2ntf+e>j*OO
zr1v3Lpm|gUQdLN6*!I=`fEtht$6+^_F2QE=sn@8|uc%f^eRcd^yv+THFC5(2@iJJj
zSJblm1cSAim}?y+WAETg>I9PgU^89;saKOXbXB~XDB?o%<5gM!3v_!(R-(PXqq<;R
zBWv`(p+P~H5^PgnCofQ-FQ~hj-vNKS+Ccu9Uj+tW{t<}7w4ifiw;REc^kQQ8BGWyW
zf%^?J(EHI6Utz_s-Uhiy?MP3X>7Ssi?nuutNnYwJ7ZF?rhkKdet_2*)S;wBLnNk36
zP4@75@k-Hd;b^qA|Gd=3v=~1u&NDh}GaG#am5#=$S@BZfFq(45&Quz6y2-vR*v=+r
zF9t5s$}MFhdBS^C?nkuA%LZ17)Zk<IRn~L_h5+_lqOlCHt*<vMqj<D}kESOx@s79+
zle5Fh%x_no0WQYSm^$+v?-0x>SB`~-Edlp@RL>(QqoIzMx17rJQh7YvTx8pg$q!}w
z){FgUo^7yFPg^i}s#-5lFjE+=jQ_SS?gG4D9<<iL`r_v?fzNjvU?kDK!)X0NZ;x9O
zQGO$Ep*<L%53@NxzUJWLWW@X)0(VqvMuoD`k_y@GC9<EPY_%8A)SmTGA#1!mHRe^M
zLXg7yVO-HVpz7lo{SBRH4<^^@E8yOCZm_M6gTe~#ZJ-dh*lzd^-p|tO+F6`twtYKL
zqDS2g2OF@Fg?DRbwL(J<6za=R0KpcHJ)PNuUm2%fiAd~=bNoBMz-9}~tjF*ICc$CY
zP21R8P5w#@;?!N9)cDA93Zs=XB3e1mqVlN7Za7iO0jvLidj^`bv#nV<i>-5Pi>+B%
z^Rr~SLD3)Z(akE}akSmTo>4sj#<6%@{*dYO@>8oR;(zAMPG`Vd>RKhPwZTn2`H{tT
z4OpxhxpVW)0lx>AMs=RuoLS;3<Tq)_nK&YO1}+;eT#maa#}rM#H5oX7H?ONZHIG-l
z^9C-QyX`M5k&EfD?n&%AJb7h-n{JVcyx*cn{ar=Nr<~+{J$+V8RAr!c5Vq6j3KV&8
zIQTN$+Kr2gbLdt?Q0J91Je4xt2{@bTMhDH)soc0ci``s;NZbk|NjF`5)0M0N&GF_q
z^I-fA#qTiuCgOLbSu4iJ*;F1VTZ%%)1Ss<yvpw6&GDm6eQ>ZTvyY&`$SK-8MPa)2t
zx0Sp7`I#l|ihLaEU4|=-a3n4lEYyAAz^u&0TvkWPV|=*FCV*>r#`t7Gheq#GNUk6j
z%{nEIRTeO2zaKZm`DMRHE+{N?`Ft{(5x1J+vTwOFj|PqTptv#3tMS*zuG%S=5rM7&
z+#K~nT=BU~&cu1{<*rh?aIr!=pq^dJf>War<D=8bSGxTra>o3;#g0siC6h~6XF1eP
z8Kukn$Yh&Oc{IAv$kfK&;0H=(l!c3hJ>^<8QDI0euI?!-sLU+Uij4|aR!DFTbKYW`
zLnCmYEMI&vQw*bIaW^SgK$j7rMkTna8&`>;3lLumOI-zCIV*SG;*8wvYj7P}!7^NE
zCOb28C&_xb$;lb>=i9C3dE=5(X3xe6#-jZ+=g0J)6UmbUmlc3-ok{_P{`mSW=u$tu
ze+vDAtH03WI_s~e+idd}J2P!o>aMnO9M4}~=!yW<;YeZ#c0rCM8fXtV!nt@}PDV6f
zs&6*|VhS)qNh~czhmT4J7dS0R#{*5wuB8%PM~`<*aaeIb5p<DWJKP+`lt@&5;4u2W
zpmn@}%gF2tl1q{f5Ao{@T8Be3o)p|wIkuC6qnhJtZq}~gjb0Ag5?uoAZo!R@y|bq$
zeDAPS<1X--to8e3d>42jTYY8d0&kg<*9YmW0d)A>rG1Kk4mZa+*W5{fHs0u>qQemz
z*p0WmTj}xQ0*^68Lh(UAMGl6LTe+YdcY{Py6VWquJdBPmP+i2f6Rz99$_ij3izpd4
z1PVIoLS7qPphYkd^!G;4h~XoCLN9sQgLx=D;uwfdHzwA=;^D>_`}LP}mw|UkSaroA
zlN1|=|8OJV2_m*%EdEnGL(_?uXYUN_cw<ov;HCck<2XJBsgWt}T<LLDVpM$|?f#AK
z_tRYK@_M3NP{Xf#U^h;rRPw9QI)8KRcHF-xZd4N#jhFew*n-egy=TXQn-<;W>|zs+
zu-kz3gX@QjR98i*->K4<&90;AB#qyn5%p?8#(`ex#l?hyQdi^+@BC_8c10~lR$Lo|
zn`8LefM(G7S^^(V*<~VWxJ!g?S+ZkF>L~Co$BYqoq;Qh>r6kgIpkk4Xdk5IHqzbwu
zX01J>Ml=?jUg?dbl&+`G@Ob<^F7@m!p>qnbEITJ^@yjxz-}|{ND>}SJ@k!I0g}cjf
zD@at5dr2dzPZd91C?U|n+ga}u(%VxW1RAVTy2}D9q?>$*(ncjGTPyu8Xul%5o`>IN
zzry1#;#bP!_6%H~5edO=)}b2+`P8s`{%)euOa9q<{$wYl7FTpk7B^*_6#qzuZ64GB
zcL3o+7@xZ^p9LMhLXCqO-qcgU3)U%~rNk}n09hIH`TS9Z5RHUn^f^?aTgCfqzZ0!D
zvkD`752(uZc?*av;k6YP6uNj#%P1*I;U~>ULd*L;L&&{75o&r}?(-g@9@qDrTz}v?
z33L<`i_4L;W|Wd66nuB8NYy8E1sg4iHGy_ZR43|r9*s)6f48)tLXIp0m#Sk#aTHWe
zkad;Gi@+7GOqYWb>@p+X!l%UNTrBh5%dn)?tEY(xbFq!g?rWL46vqTz*(K?e0(4)?
z1+KVTKRfT@%nkc~X1)A9=lg`a2d)2>`&v$U?<aC^==6OpCurI3_iH5A|LOIy@qbYM
zd~p3NX-QJs;_79R^Zpr`cRsU5t~|SPSoed(x*t8(+x-~b@59J#d+eh6r^ec=6#w0q
zH9T~%`+XSeR~$QQ^4>kRJ3hTT^Sd2a|El}>XWj2vI6*Z}C!glPX%3v`z-bPg=D=wV
zL~!7IoJYz}A<dM0l2<ZIh4|-!-^ZX}1_Fbg&a+6bH4V9A_1WK8pBQWSc}D&&&#^}b
zO7}02+U=4wGPe65ei8?hcE8ukfRjn%7W}w#Ny&8Y|Ch&!7iE2(Qz~;xEoZ_dQ+Vwm
zKTWE;KN}E1c2{`FD*t4jNVF#dPcTmGHRPNu@JYaF=ai0uA=1g5Q!3F0s1tu9@JDvP
z5l=dn#o9TgUlWfi@JH@E{6#$J5$BY$1xghXiFbrI;z^G<r<8razYd9nuNwmh4zZ`7
z{{RR6r_Uw58n!Wq)TLt~O0aUd=2`{kk=7RAyM8x}!&bq7_y*ZtTaaw8b*I>CZ%DJ(
zu7d6C)r#qfYn)%1ZoMH7KdVZ<vY2i)SJH3oTJVHCKPSsO^4zyscz#zeJdcoGqNJx<
zgom9Af%8{8K04)dQk5XAP(g1H^aeq15cCE?ZxHkbL2qzXy6K6lL92&o^)OmJj8>0E
zt4E{NqtWWoX!U5cdNf)+oYvarjsgYdGXFQvX}tt|7w5D#!{`sjOt4m5H5fL=&n|}f
z6MYBT-S&y>j}mhiEX0{E3zgt!+{`Xxi9KY+=M1hCz>`H4vsi9g1Z!A!m=R9Tm^B+V
z2Y*F*RXDZu5^T0mNpw6W?6=LqeQHV)`_Ohaz#3qn3OxJO_s5V6#IPSEb4P`;1^0)X
zm#Xxw5=#mVZ$L3ha4$OnW%lC;NC8;n8Z!ahFjHW<hrnxR|A9bZ=SIk8B0aP)6{cQS
z!>3j-gqcfloa_w*RcrJzU~as57Xdr30B{lkXEI=;6A-9)8msMB`C4spoa8Nlim0Fs
z6`X$|t6=^tkTsW)^{V<UDves;TZmlFJ+j@Usw67gjex;ZrOa&dQ+=v|vVjyj8RYF?
z8FN$A0Cm_}<B;oFdF)Wy`>AX?l=f=%Hw=uO<4UJMQYlm#FQJqFMBbLsjJ#*Tu?AA}
zR7yT4FGXomjVR=I#E@WS-ZM;WYK;Y`F*VI_Q1>(n#eu(}1Um0ly$~7IGcQ7N_3SGF
zB?U@g4SNQB0G$DcaqJqr`{-ELOof4#v0N62mLyKgWTIsfC5I9mR{`Tbun-vAkxyc6
z_-n+H{Du-HQu^aaSLsX*c3A4|bn3=$5$ZfFbw0S&$6=}Uuo#E2S`!>KhZu{)QYTO?
zSijH@OFbLqtBDsgD`EYx)HoeZJ1liHicZI2slS4&8Pj$imbwcfq#u@g2}%UNw;+x_
zoUfw8QU@W98sRsH>^v;>RUDQYgA{&PYJd1Z@K6Ryr)xlU<BNp+#n&&=ZTNKCS~ik{
zbLfBx`>#c<YK_mMCg`wg2U(G$CCh{|xS~Je(Ix}I?fZ$_H}?nh&j~t|a1ZjT(`ERp
zU&1FE3Aa)BW*GmWZ7-jJCVPq*)+XGKPk+?2c~g$1_(mRo8^y;U9wKo$BY+N25T=#;
zPWepHjn@F(|NNPvv#6N2G5e2trs(;U`ky^h^szh?d4e-V*}0>qa;E44LV5~kijF1t
zA9<$eM+<@Dhn^`)=VYGZnWA3Ga>6r3?F4m7XNsOfIZk+{=+_GX^*?^5=v`Dw=b55U
zqM3rmNAMeQrs#fjVfDXZ=8VH9@S%!0Q?x~oIGHm=i>E=ir9(le6(gb5`#4kdyIcVE
zdZy_0da2?}(W~`{$TLMR(Tj`GifcZ>nW8mR?*G7<qK|{aI8)StM(^cJ(e)f+ynu*u
zrs$0vVt{~%a;E6D9O55vPVG$5r;!66HuXGH^c(Qwhn^|Agdy#Drsy8v{K0364&q3o
zo+;|>N^H+FMfU?hJ5w|Tehewkuqb|}==nT~&VSX;6dlZ?e#xTvnWEogzJrXnv8cNs
z%(cePd6WlH+L@vs@+dl2wXTYvDY}nG*;o`mQ<UaT7|Z%PQ#3YP%zu8D#mXIsaKxFP
z7;+CHq34;RFLCglaM+ome`4W;KlA9vDVm)rdRW6hfTui4DG_Ii9zIv=@||ajexS#R
zqbgt1BlM#xZ=9@s^;DB6`g-S4m1~fwohjNh1zk=)N5JT3iZ*~Q?M%^m@bfc82NT2e
zGev(z@%ovf>v%|<DOxAeXs%Lgtl=SXrsyp^B+eAA<RNjUsF#PtnWCjUB+e8q=OJ;X
zXbBIAGewv3kT_E`pNGVmqLUEnai-`yU^GqOL&FziLxnzG#dO;^=xSm=Eq>Xzrmb|Q
z=#x6+r4f)Z46;gtRBd1(*Ug;`b*UaF8Y)?j&>QMC%+I$2OO^WGh#n2~J`%MvMHA6z
z>PoFK|NUo*DhKJylNzUt>UKX<^t%+4-Q`Tta{xV0J5w}~vYf)1qQ9LF4H^93J5%&2
zwBt#iDY}jt{oi+{Xc((P{nWD`e5UBeNGvCPrsx>t!s`A{kgDF!6ul8?QO*<%A{y%(
z^p-FI^m(Ree+Ub$g}R+7+RRa?J<k-Kq$9tRkpI{-MYoB9{(WbP{?pF*cH<<@x2R`|
znvodgOwlYvbH;5UfIiO@-OpjWpDFrl5#94l(SPydG|?*Ag#5>zDSC@2=-+pyDBaV8
zGeymylLW5knWBSe+28X_(UE$^ZX|#{&lFwHVY{CxS|Fl(o+<h~miW9$&Liaii8Dq2
zN(DtbQ#2I`J<b%po+5wLnWD33S1DvX1oq<;m4C~bq9NcCXNnF1eF{Du7H5k3kfNW8
z`5!-1^cz%_ohho=sLsRhL+fg1ioS=mUe3Y9V6Pnld6H*}stV)joxlm6{y+A<1Tcys
z>%Vg{kc0_Gc5yvuBw!H4Kv2Ua)5#3<$OIzcQa}<&0+EnplNkuRih~n0lXg~iS9jHQ
zccUQU39c(70VTr`A|N1MsH+Cgj`4`%awszY->d4LnOqQL*N^Y}GfKL<>eZ`PuU@@+
zb-ntJ_!J!pT<42V(PzOv=2Mg|@&q4m9L&n;_bGZW;yd7_iFhf)kp8JYMThHomrY=K
zzj39O_m)t~G_IGP_ZfYPDnQ`xUCHz2x%(7N=mlc_%RWV;QDANaz8MXR?{3(Gn4kL_
z&1!mL#vxK&-W{W&|CCSBzYYSj{pzih*9*w&|68A;Q^5%GDViAtPWXL_Uay7TK%tsX
z(Vm#tMO{3PMHcm2@a=!Zr)YJz|Bz47e_DcliayD{;IPi`Q}iAblbmsm!6}*l0iU8*
zA^VPeiqairo%JbtjaH1G?o+hChM`kFMaP>-Tb<db=w%$PU7w<%T3o=V=z%NXU+r3|
zh=5Pgf2FdV<d!}~>$K2w@hSQMaQqj2if%?>(0js3!Wn&vW&-q_eTp7|3O$c}ihc}o
z&dsOjZo)t=Rp5e>e2N~IU|P5JDf&FAEAaTVK1J68=yX0s$$u#!3HB*^Gt!)+Ptm1R
zgrDkDbQCK;)~4F{6m6!`oYtr4_mHTc)2HZ5MA4aiiY}u9b?j4gI7N5lQ}j#9pd+86
zl@!_5r|3-x)>~j}pP~`S4Av8_#5*^iq8Z~ziNL4m&3O6m`V=Mpv~quWdY_^pZ4>-N
zpQ4+<$^VQ`(Z#`-elDM)nei}X+V?5?9->+?^{4q1y##CgWM8%LDSAiy*n@qFW+Pp&
zPf=UPN!s@*`V<h513_f|-|;Cr4-|2qqD6R9KY&K2%{Kv`qE8@L_cE47AT*ZITzJ0s
zw&q|*Ur5*d1O?wgAfCymDESf9eTwd-3}&$mf_;icK(2J3qC}6HOd##}6wUV&)YhkH
z3x7?&@Z2~6W^gnRV}SAr;rtlN_~`a7%;nn<$`D$XOl6fKchN2a>=uCId*=7P6TV4f
z2?wkY!V!;m)dd_%MAwlBA>X8Fgpz!dK4kzAXY@^aX;;jx|DX3wIzHGpDZ7)IJd?s#
zqFHk=m{6m6D1Gia=w^>KjCmbY?~VX7TR12s|F^n>(#Oz>)NmRg!a=EDMo;6P)ci}T
zo6ptQF09=%|D@sUo%<&}9*Ow>hJVuEf>K(;S*SjT?KPTz(v4V9p};)#VcK(pw-)|M
zCsOI|)MA4ClNJ(&mi|d+GpMujPkI&j_8;+2YExp~K%FHWv?*_spV1*$rrL`Do5y5G
zQ)1Ibzf&AzRZIq}Cpy#y2X97*g4I<kT1UTH{K4?r?d0ne8~+lJZ0xm^431Q*Q4d&v
zOs7liP1xSGvKIbHcf)Bi+A8@R^|yI-IR+kZgAB)R*k~AW@)}Au6D}x~2m#1^=`!s+
z8p8Ig#YM*Hvlz6;3Hsqu1k}6{Mzs)g5plZ;4%Rhwu(v}Wm5&2b_fh#gt0Sa3gOAD*
zO0$|PjXNmKB&6wtkIKJLIxkN*fzthg=hdN)%FDq46xr{i^4k$);lM{_SBhxqqw*HS
zk&nuU!r1P!)A*>|i#aB3{)cbP`UnAf@4?EmoFq_*SWPIg_ltZ~{vGskAC+^6aweln
z#0r8qgOAENfN9@H<s!n#d{lNNoCf4tO>Q&J%}1pKE%Q@+RKD;!75b<6s0_MO53=8$
zU))J>iJOzeT;e*iz**Yb52oIX2jA~FoK}JlkZ33|W`u(6rQOKMV}woV(G+GugLKFB
z*Dwq`gYR765C{jk-o+hTY;hTP3Sc)RO;Sp}gH82*{faHzx5f9-?q$P0q6-D`j5#~L
z$gF%5aH{LQ91`*Z`oe%y-LEKUBXy6Sm>ck}S|Lp2@>V?wM~3j6Ns<HCjpz~S=WJS7
z)f>-T_uSB2cNfh0TCl{-NQA%0Z~)8jZ>wS-61s3A!`?$yrqZR1lY2uysuSQQ63gQc
zP$DV?dK%>o3FF1zz@;cHu)y2m^DJY26&ty6m+5wsbf|zt+-~CUQvyC<-)3&qcdPTs
zP=NzW&0X+!SU1;wJ#HYuETnw}<QmkSq+Um`p5J0OIpBTF#pjM7cqhS+BY5|9{{7MZ
z$$$UdTP<v_pUoHP^ZigT%@=7Q-qk;~?~8Ob!D+roClFl0&*O`f<*WH3ok95??bsJ7
z^Y?p>zDP@`oSHAv&qU;R*U#&VRKfm=np%>0PYmO8B;~K@zDPA+qH_*V;33t5XJ>th
zu7Ct~!k6fWa8rs+!cBObjW5yuguS&d(MKU8ZG4HY;2Bgfcc|FQdv?A=Hv?sxd`K4C
z<Z}_v=koUR0f+xD|NfJHNi)*Y{>Ob&fQH%axhCz%AL7sDuT+<zHoiN~!jC7s#<cXo
z+QI|Je3pgZZ`uXFr5F5`{x9@fdM@n)E|5;^=k|hM(jfnp@Q<juO>E)3_<~<j-A8N-
zca#CYpBMa+P8KitCCzT*@cV*a(p<QqY~wwzU44GRFKID+um4y4lHTB0T-1?|STYbh
zT_4P!V2+*ek(av!&D(1bemIm&h8tM;7AJ3$*h)>m|1Ew|IklbSN5<mCZTyF}6GnXU
z`zc(!n7knlZ`&ex&I>XYx9g1ZO#WIsRev41W1Zbm1W~Th)qy`&J-$=<gE!pGu#^us
z=gg@uiBmga{*1Z9Tkf`Wie>7wDU;@AOqHfi%Ygs-(&WUJKk`3(o0xFTpnzNZ#Tko>
zvldUuDp-(H(jL!sKcc#S(z7bhPw-RPk^kCG@sFyh1K+f)3Ok4+W_Akyf5AWMY5Dn+
z{iH&W$S-Oq{G^^Xf9h}A`q>5Y&O6v`?H?B!FCpP)^sn2gdiDEXC2zV5Slhbb2lju~
z59~$=<{GriH8^_kQ-9<K_ATM1w_e_UY~l)KwCmLed{(R^v~BA@vme;NTwCx&6hbd}
zgZ-&h{j;ZQ?U%N-AKImZf4tTEz$-VbJyCJr$oGxU{ipoWwsv9H+TUGke{~o9(EjYA
zaUsJC9Js)N3mmw>f&arCz#hsD{nBO#Y4}eNaG(#nZvwt)vC+<V(*w@=gPONXe;@Hx
z)88Jy`?2UJy9mG9DI6aq2)#lh*1k8c;PLU3pBdEiyNrv+8bXgYukLljz~<|}ZFqlY
z&k<LT2yJafz#A=W<Q@Ol{L#|p#lWvwxLk}1?JkJ73PSA+9=;<C?_|ttKM_y**ZNnv
zBLIiPex3Tob_$9ERc;rAX1o@aw{gdM7FgPX>i%fEQJGOrR`#IsQVLNJ77i`W#<ewq
zFyvA}Xvh}?llBb8Xu@U}-5+f%_Hv08_@_Nv!PV>EUtn{qX*0gCv5!6V2s}+e{%A8%
z52ji{(4RqI9IiMAQ(2rx#49005ZE&a&;)#E@~3)a6?xDL{EWk7?}wt?^?(-qL(AyB
z-?#dHcxKCh=`&>ao3eZVB#$l9CyzWOyN{PdSVx{HiM6@CR=5t4y^Uc<<j0!2+T8nY
z@Z8qL_ah>XtT{QCUBCWc@h?hycvTWo^%tmVzEL-@XHat-m@<=Gdb%S@FhXW`C39b#
zQ&IPx^sBL{X&&CxSFj};4mQUVkmg|X`-OmD4mM-+0Pz$-D5;rnuo+8G?uZ@?n4?Pr
z2zRjg5t6CP3D^_Yg&;gJm3JZNn1SBMW+NIKrCtQpPV6UKHh?w?D{o;-X9Xk&+btIX
zpawNe2{#dG!wHvbEIXFWw(@<0&>D$D+)og+w;cNd$pt0$6}}|{*;tP3GD3C|A_Qc+
z@veRXO#x(%7m(a>D>ixB@P=G-@L-!fr>>+;o+e77IknU<HbKAvxOV|CVzVq^ET_!>
z$T9Y380qrtcZj@eI7BW%{2CDI76bP4nk$WhdTSQ#{Vly-eQX}W8wLeCxcvM|Y>TZ|
z-r{#lduD`x5$*g6-0^;0_AYLHo`9{$*b0`82eMxVQq|<Hj8aF08rltSe48)bd9FER
z)XrGQZrPAQZeOQK)8Y8l^#yiZX7)iL;!?quttOC*LpfbgMj&2S2E-qLVD31Rx#~0n
z%rhezvGeez{uTU1;%D(r`#N3Q`>4Covcb?Fo+mz)#XkU)jHBPWbdK6QSLNgi0`8k9
zCze;Oz&kOyAM+gg2DXXb4HPzICo=hw*nA@Z)g<KP+}socO&}{At?YJ<hJP!^O{U@C
z!&7NEVqo)Z{_{luyd9^Q2bzW-O;e6Z&g%txcXLIZsRAOgM_r4Je5O-%R$m=Xcf}Pq
zm`?4IeLJnLU2!<)99q0XC+qVZD#sqRCYqi~Dspm;48hg%iq)XLKxa-6IS9)zC~SAF
zu&eaKj`bIoO2+-;zCkA@pGFJiMGIYwqAfs4)tSU@l!;P<nSVt&q$-3VupTbL*zVkA
zX3ibLvCxm>C6ciM!qFS>Hf5JpVY!U=Lu>(aYo-$ezXh0#3R#B_b`HcG4<A+$M@Voy
z5#Qa3Ot%V1$ButUv`IJOx_<!F^J{~oyy;t2#G238&FEODOqT`dIfNLLsb(fYKzzzs
zPUiT;pln9)Y&^)usz8C7vA3D!@!E4F77TeytaoZyb2O~Ofz^hS8p&!UF})@5G!3{=
z1CG#0Fa?p&j~a$2;`<dSDY7OKP{s`8k21yv%GeU~4`3G+?sg6HQ(zI5z!P&ADb-S{
zCQrnx5IShYeF%a^+>ZzLKiATi67kIj0*U+3sks%qC%zJie5>${Xy&RpNI(>Xasdf}
z0M-=Ylka1OPIK)@hg;ZNq&aX5OXsHG!`Yyz_wQxpZEQhz;2735pluq`qH>4gp`Kur
z2cJN@n=oHX*?VFJ6UdtkgqjD}9HcZFAHn9$PM^)nCzPoiWhtTLXR{nmWYXen)~3s;
zeB>)RZ5`-0%bwZT`|T;st2#ibM<17s6OOBc`corb2LjVf@OQk<SoR)br5XeNI!6sK
zuH1$f%kWy9Xp!C1lAWVQF6}KFUkbI-SqULzp)bs8T<tAxs0bZmTlaxI&N=EzN1Qcm
zw>1oIt)=6#JN0<ec4<RM(@V}#aM36Gc5^gE_Gw5mbBwt33ZSdCR)@q2BA6o(x{_X&
zvRcOojs{o=$q0aFjOoX6ueDZ%m|_Kp9)Z^ucXN)KZ;x<}Dt2^lnYHY(tdmC{TH5)u
zSuuB@^!~G1Kj3zYmS?l(WP|;$BV*L)iTPkZsgE<B&H5${y2TT-Aq(knHtUjpB-%KS
zRTQSivUj-kDh*M?@%~fKX5F$m1e9$3JN~%y<EP3ikJ=|n%!M(U#C}l9&t^FWki3rn
zF%2F}dm!f0EFP1m&O%I^16mJJ5hWI5#<7F2Iv6YV?o9u^38kqHq^Pi6a@eUllMe#;
zE=6vKi*kzWipV;1AD>XuMTiKKJ*f%RXw$0*9y)=YjWf|(g6ztU7X{UGDUj_di%+JK
z;76*O-l2l*M{J&l<74q*Rc47+Wf6{*mLyx1kEof>CCib{Sgm~7cz-QESRXtSCleOp
zAV(1n%aw}kEQcs7-^xm()_k*2BhyhnG~cVKn4{>-#LA<r_g#Vj&-8hK7(r2e*>Q@o
z<xjJdMy`SUm{EUA(otENQ6wv`SaHTE6vc(u4wrq~t**L0^60q>iyP!B3^M8G3^EmP
z^ua`@Fvww#h*KD{GNA~kduQP+SbZ!UBD%Xby{erTvmi^9AD*T?aU<y+{-kdMMHkVb
zFep&%+}CpWGp82mRR4+N9w^cM2+%dp+f;<vWWy*C|9*<&qti<yzx?#lCW08nAzmX0
zSBo=f@5n0;GPZn1DcIShm6XDO6xC;YHc9udt^SIgYdg^NOPr6v$&vl4w?AW`-$nTC
z41n~u<6r(`Bcw5@z5{l*?6$}EVOW)Ks!e3^^`3dA!%p9dfH=P5GvpwIoq{D|5@6>g
zA0ZySqP|YC`v=z>YYzXiq*2-K+XE8nTUQ{bq&+&+-}Xgy5Gmx({4R`$+xjyvqC5_*
z_=qS__kT+nt03V8_O@TW5z)FAb4JD|>XQ^Tc&D6qXyrf<Ty_)&>RN;$)q0kStWYw@
z$vrp|F`ZY{n7j~-!`Xl=YTLRHhfz5IXXLQ&w#nYlMPp)8?RFD!5K<ZO)DzSs%<<{W
zm~<@DjmfRR;Utk8L?Z}KT-0o0l4{1W2guR@eAPggkbs8FgKT_32cK}(DqZ$WjmMA(
zPWtIyf@N3o)UV6}D3V9;<e%cR2C9{kZvz_j8Fp?eZXi%qn-H%43!NmLl}uNMGO-}c
zsFjP6_ecPF(({n?Zc1A0&lze37c6+<PEzwFMMFjk(>40N0o2-DJ4}!$t-U=1tBsw{
zBsde1^G8@7NeBHyl+uCDv75-Wb6iTr1IG-`>Lw!s?9u8bWK<XN0HQ;*CKRlTFdCSS
zY~Z^+Q$!{v5!@aNSY$G^WhTb*T|h|q7m~@X;7X2-WP!_`XUX^`tJ_$19|O6I!jle4
zRVI@VX2O}0bhIUZ;Hng%2M;6=GeDF>_|_l*>wHP&v^!rK1<ZmY%(W+ktiMb>0l+06
zE`ZR2v}_P0RTFlY7If^4+5G#|f&IwlCp({PeB+%{SY6FVUE$=}Oz;GU&iDY`ucM1%
zN%Dv(eTXT2z?6i?8B;D=+Jf`O^1DFbRudK56IYhW#Bb+OUCfj|&dt0m^PHP`S#AQ{
z5DxcOz_HQG^NfKQsi2LpQB6zUN!3(96v$N{!pAXWzN(W%ty~z(VC=G$8X2ly_qhgz
zWMZSess8aEOs$AR%gJ{7Saz?VK@BDYszAHbT)rm05--x$5d1X_|I%XI_=TzbX*PmO
zNq+ijqR?2j8kU7*-1sk)VZ&VVf41HIFdI`)*ShcDRGg#mBC=DW`#|bn`!J>KzN<4>
z%0#4ur=p!Vc%m`%L6;f!ip?`ZmMY4wR{&sxzD$&o%dWozAC5TiI~jCZy`M%(b>We|
z#&5#VoWf`E%SR;7B_>=qg4{tzGU!k<kTueTBaKvX4?`k_?#D4o?}w4)w$M<-sgO^K
zqudY_hM+ePWG){=vAgjK{)Hxz>P#?|eQCeU<oq#wNfiD@*n3)rA8iVgHinza|H%ew
zO;MJLW9ITL>;tT-10lO^AwyuVy6Zci&obO+DLZN`y9#966ts9|^Z>0RLaI2{G}1Im
zbws9kMkF^4MFydcNXfG_qUmzHhq3prO~0V**?UY=HzL9j4wxQb{w}l948}xA&M}vv
zN_K~$`nDu{F$M`UmaWAXU_Jmn6F?7GgzDJGd*PuV3~^;+O27gDOacIDuLQHQXEUnA
zX;x~ba&z|{Qn|f*9LBdlvaTm$=o+qm#2P1rqZ$>71Ky?}t$RO)m;m1gaA>~u_^Npl
zKu{qUBMWs2s~kuy@_fh6_#B@gRS`0)+k6=smkrWf#H0~W;I%6`)>!r~;*;KekrC#Z
zkA8t;NCryAape`W5*?<_WJFGl7nSH<uEtPf8I1y^!F$1c{Y3>17V;ooT#aG&+wo=3
z0<?X&G<vUbr3sMEt&73CF7{uT%d>lh8#mrfpSf;xugJ!Jh^{mD3KtrGiMNV-Z$(Un
zSGsbCG-}5Z$XBoMrU;e_yapJG83iJnZUvHjfR-Z+tVQs@<{&r&!HZf1KSsf0tc!NW
zp@r;&Daw#Jw}ccyd_wI;)ERqa)HFrrn%&vGBF)B4pbbbTBee_zVKQ~Q%PQ`k3*2Ku
z?cG6~y*Kj8#COwWDb6idXW>n-ciRPeNWV7OQh@ntI#Y{chBu9^xO)NKDP06yRyTbf
zL=lLoM_d<sHzI~!oAwYM5{9O5vpc?*CG<N87aGDPCSFzEkHTGJ!eWgpQ_umKD!3|P
zje!(Z0&5ZG(BtM&ycHSmd=IC}6|PRW8j?c4)>RN%K&0``M_@;qE4Zd&YReM(nO}1`
zPeQk+0HW!aAY=z@R}d2M4QvJ3d$>zocnDdLG9N;-+f`<5_uEOj?~19cGfamcPnsq5
z#La>QQEfsQ)o+@8zTxkhm7~%Y$be9>M^avY?L(>TzU#Su8-Y-mKaP22?>cUgmAiQl
znDnw#b*P^ZgHBDVrWYvjTq$Y?%ot@qsuObmG0r5nfKNAR@bp4Tzu^=EXV5nT+PQTJ
zCc*^AEaS#K6Ft3`$YJ}PTW(x{MjdXS0M)HwV>x#>RlH%U*oXY9Pxw%`L`3)8{$6v%
zPNKt9ff18N$Sk0iLcai~<BGTVafA;D?OE}fhQbGVl&UExHwq|V*73AJqh1myhg21v
z8b~Eo(-)v!4f_G;swcae6~+UdC58UW`2(u<DH0O!Z?;t31BD|G*wk!M{-lFyGyq}x
z*q~CT#+TyFj5oNbpdtX$q&f}MRO3tWAq)LbUC+kj&tLnX&#F=TA|_EqPmZn}y?*P#
z+AR<U8lTa83cnLepB{z$d;@->61kn}zDJv-yNk~@K1)hhcJuj28%DT^W{(u<Oomn-
z2u=-u*ZGnawIbM);2~8G^E$UA9$<#eCEx}shNko0V{GGyrK(6kpV}_Lq3#ad2<ojH
zK~Y)?n*W8O`2^zm@lD{6vV&YH-S`zXGKMlYnuQ|%3&d082t=lNUO3qVm`x!P)2Wj4
zrFVNFJ7d{L_=|bc5aXS1v$vP5Xhb2#vOW0Hj54XJPpkl0ddpPt3S`Nq{Ep;Xs=CM@
zsvMGhHwGep<&Q8c$0-I}DhEFEs2`RrF^@XF^w-KE7`{;CyUhL21%Y&RAb7<_Zn>kq
zjvM_sSBgP7OV#vguGp39s*mO6<;{rZO~Dm%MLs=C<H{@Q=r7Ubo!UjY{vIYEoA&j^
z8SnH#+BCk}U<4*Qbmm4vO2AQIX_yIWK(SLj`UUII)0BTp&gE}{VV8!W>=lux>c@l_
z@22s;pVnBDV3c$&nUw~qsy9OPXcl2z@v+bV3pCw;-nJ@SM6|a-L?T;M1GsDTl%Wgc
zVnqzIVu~R=!k>lJvn4(p(M+LGVhdwMWH2lK@C!jOZVKblgeFp(>kcz+>cZc;STTXo
z2N;|$T}!g*h%+bObsgShDy(3_KiQb#m6dx~eaWu+Xe;WDQpie3n?yB~$jK9JBVgGb
z(iF+F2IIkS$w>^~28Qc1_gZU04y!1kuhtq?Z*}dA(_511)J|DzYOGN~BSEu2hTZ|j
zvdy!R6z+>d#E2fKj_(Eg4a489*i(aA5J(^Y!k(nD8-6rManazT>MoE7?{#Q)Oj@*o
zL0%lmaG=dq`9&nOc(shK2&t&kFa>oQ+u2!v*y$0!{EKE5@zEQsogXnf9y}@=!8<}4
z1lT}xh`oQ1c@J$YJomLPJ(E@v?m&yHb1@(qk6?P2>7&?|`Y18UXQ?=DszB%Twkf%q
z>d$WQObBVL1+I$Ue~Dh<MdE|G;)$>DE-UVdXr<*-;UdK27)L%zVu-OMR*gF-iR%l1
zVR|UWjL9+g78cVKXBxHBQCI~L^_j7tpf%iz-8K(Ts_ev6+iMLq)b-ouH%Q8EbhkTg
z#`O)>V>^7%Z&qc8ggGx<I2UaTs|BaNe2@e-!3N1=BCYJhOrN7a8rkY;P}6^E^!YZx
z2%jBaN`((*cAA2_#9UMg0RM@A^8l<1X9Y^O;;?|8*|>3=t6`i}9h)k2kE%zTfU#JF
z&SpR@=!vQ)=Y_=POQ7&b3W*A-x;KD9qzG_;QjbJ1$9obC8-+<*M1VjYuqI8Ns72We
z=m97Wlr6f>J**$wi6qPm>!R8?XtdAdFjy8K0E3%w>LN^6?gUSl4oBQhtmEysV0aOu
z?0l^u?3Jhk(&+l)BW~EQQgt8X2DHe52q^?s;%rSVM8&wNUaIciAAR@WR}c>jxkht6
zOu+b}-2U5gU5CfzM%5#26*We@=ITXW2`r@IicHCyNnngCx1;dR&D7+>jINFNNUeB!
zh!>wy)jcVp@a4kF4u!%yeW|R@ezB`zt5i*~up6kzyzuH?bk#bqs_sLyKNVbB2(f~I
z+DR0I(Yx)J8Ecwjq-uhR+6E**pfmjLU?k<iNGR(*QZ<DUFi%FTnTjN-Fhqy^8Dv8;
zp3Z>QhVsY!HTr-$0#;3!N7HCCd+rv%T7NB?m0d{mXCyK!_2kdEH(*`6!d<?E;=RLb
z8-I-+mixM*c7FArTeS0vx7i$253EfF=3g#${@|0Vx`3JZIc2(8h`$-l<U5NRwBOdm
z^shcQ$eMB^98>xn;lpd2Cd<kSZRW(d5$$}R_p?~gDy^vR8Y{#?{A`Mc;#chNCJGb-
z53d#bc+U#~@g6q7&WNgCaYAq!1mk_R)TB@XHU&qsyDplhw1GQ)TF(num0IJ*&&jnQ
z?iRCp)mZRn9Qb2XzQITUQdmy|81GjGv+}a0nyXDHA-Me&6(`Z`=Jq|b#X1UyF(j%l
ze&X|4`Mi%s`9$)59Gi3ytqHvxiWF;NMM~qQ1U0f1_2?{Pl|xjjSIB07=>R2e^?oLT
z9AOFuncFSOE3&JhnRU#zsN*(rFr-dHKAX`Q#-?E*;Mc~D|BQbGG$b9=@&-2Vr?F8-
z%t{@22scYGD#0$uYOd?$P~|vlD<lRtL0L!@b2X4$!VMsb8HX5}SxH1QM;9Hwul(VV
z4Acb6Rm(<FPDcHZbP&~o43QCmdZJ$eC4v<8icD@NF$f#>8>n1dZVL131_-a<=vMs$
z+BZz{rf}Fa7%1*xT@+~4^4^Zgdf<95%`@cvl%r*XXCmKFW7$8Em>J9g$Oj>}V?rD^
zXav2K$)u!?@e>3|&Moh=-0j_}1&rWe!#5eKeLu3?!IoC}PDH-`qJ6hw-vhu##luoM
z6^};ktUwP@fe59+kMdXtD31eFFGBcB&<}!ryq?91y_5muAVBU*TNvty+^9Mb`ZZ@0
zRB$Uo9|cq{4a>%ttzq2Z78-=XSf(NmEeEZ=5bfM=e~=6``(<DnkV%RW0!Q~hkrtI+
zGy#bO>jBC*4c7FhANqW#$)r+7U9N_nrtHd1Vd0!R0GG;k*vA6Trpf5G{(&@-ans$=
z=$~oSk}J8{JB4)*3Zr*PnGg%>wy75qKSYTgl$Zh=z6RxzdqOPgJQvMQ7tcyq{7pm9
zu{{7vk!mkenKk>0H5D`Bs9iG6I1uQJ8y{}lNIr^Pv1cqa4Q7oPllE{4#3df0`XI7^
z0%<#bhC0iS*T>I%TM2Xy(_<JuL91*{Oo`|j#C*;C^TgdX2`%~%R^w^GA>3!IX#&`G
z_3p!Dc<lGj;j%H!yePoFQfH2zg6Wm;#V86UDSdJnwuxMV8I!lo75^Mh(^}?odwhl|
znc23Eu5~VIq)AO(_{(tAAPWJDzDd(Z_P<1a6@Mf^bNTaA@u+i6!{2aI`R3_(dQ$d{
z30WFfaToQTM-Tn#<)g1U4;#vr8HjU!KHT|z$kL1a8M+i|on4x`xK`84am^HkNMlY8
zl7aG>%5RImQSvs#Lf;9HcyPL!%u@_{?0wOR)q%J%;0(suRAHFOrV(5*h73)YW88x(
zp<&~*SfW5vkF~+jN!P+I#~K4HSWE^Riti%bj}?x5+$RgYwNN*#=3>mgLw2{b4%wbF
zyv1;ar>;WZnshV`t8EtahW+q~sXzM^n^I2GX5@NuJZAm82xlFmIv2G2UPa1hIcS<u
zeiJV7D)9v*cHHm{XLmMbKQswhNuu(GvPbgug!9NMf42$ZO+>s*#HZ7;q&82FepIKw
z6r1j3k&o3q>(<c#W5pLH=r!5(VmT;73xJ{g;wrqFl@sJ4&u1SDO6Q{HYnl;C9`d+f
zxO*t*8wA0KS8Zr<+re%WcEr7`u*R}66z3{6VemJMzsfYo$7^+8<iu_hiHjs?r5?LF
zd{ac(^;jvQk?M!or2~OW{T)6$GjI#^N{aALqblr^mW{5FSNOg_)Dr6MMv{CYy;EKK
zK4|ef=WE<dNIjU*klh?nZx#@jjw#1nH`Fo<&2^W;qFzaJtg?b-d_1_{KH23BSJz<7
zqjSmLml*Ra4GN~ctlUrR17L6U-3Ut0Fk(x~mo)WCOTnl$?3h8zRi8zdqi2BKER3$v
z^>#P{jXUN6W2T@6w+B}(Etyj#@mZMPCTPp$bFjbViv+OAi&Si_E5M-B`yzc6gCTV*
z1}h|$v9#JB#V$auSKs*;0%7xDo{!_sA&OeKCVh9D&gCBOvB~Ri5m1u^IfNv9H4&0f
zP28uIXJ)@?>%?rc4Q=zA1!2+s^!<_qrvl(fK2!2&_+wq+Go=`XVuG7UaGIaKuL<ou
zLhIWu`*t};3y#-iVmldYAeYwt(5NoQ`nLVjq}t>V`$aZSiqAT_wxk;d%g!+d!SOAc
z@wV+)A@#30>%J1L*wn!{16`r#tNH2kQNEv}m~s{PPd{hlQ}|1bpgUm45siys!!{kP
zfpLp^->;SsUq^2v7mCIS-^!zZSc?4_lSAaNeKK6ic8AYs$hIeSA$IPRP&qFq9GaiL
zdnv!)P<}kw1SG4&#urNVLvfs*42~y_L=4Djf+!xf$H{|#s0i;1*RoONVZ<ZXS0RqC
z>cVg{t!B{bH#7y+iE$I%Sg&oOkWhKwAa@XSr3pm*8-kGQ?rYoxuKAhl_hn0oh;|=U
zeJ$uf>gS2}mq>p6KK_F1U(bt@)l;%}d9vFm+1-@P-PgbB&8t-NovS|a8X-NT{vOZM
z_y}bFF5i}2-<z2H%m-rKf%XE*<Z?#ae)+Yg*7*d}`8|n(j-zi74#KCt|1OaN93QpD
z;pfd!ZwPbXO?P?ezIT^W+DDQ048C{AQJU49F{zZM0BJhmdv`9S^YV02l<r!dm*#u7
z4Q+Q5{GU1eXo8Pq@L{~^^Klnzw_HZ_BBfKZO*~mRCENc_J5mzl^Z2MYjPc@XO86E}
zxaS5W{1X!T#Uv;{?6_7==&4QsvgR01bw8!bL@IY*eQN|4lAyA2$LVxaSq&{ZK_=%?
zsw<JIW0^ea<;m7ivTJy<1WI<~?RI6--<P)8ljPd(vw9XHt6gbm`-3qbNRv+TXmtrz
z-6OJr(=%fvh<cK+-%r>FpOQy^y@XoCr<D6hUepSTcToK3_Z<<`7j#cUzmF}H7{))t
z{AIQrqXz9j(sY}qb5GC?c4fC}K1m!nK-wvfUOf{HYN8ef&#&rK_Rf&*($s0YV{gru
z>%V^>bhy`|S^b<|$$2cA=lkqE4e!U*gY-W72sZzYKJEy|w!u)pCTcmfX10mzi)2^k
zcc`#*JiowGR(F}y*D)gBWx|;hu%l-*>eIC&nb|Vs>9OdY^dzx?B+WEL(^9HGU;{18
zCfb{YWVA0N8LJ>e1k8KUk_h$4@fb?fVxaCl9Dz5ltD!Hgp$HIysCpz_=sj#4K(lk&
zY#5eLM0E|&(j1Z>FU-wgdmj0SvhpCC>sL;gG2%;?D(JRGHpqRGhB_Isv<o9K5YUTs
zY%&>dCVejg+Z@&2{6`RO<E9Rgr?*1hW=cb^U-W@y3|9EQt6<z4fg5uz+8|_~MzqQQ
z&1eQ%f5$?5xpX@-sBK_*knNj?t^BP-w{BsAgq8_M$Yf*IVUOmuYCW7&OU|vI#Zav0
zn!Fhp<o1I3UuW}#o2=f3$W&uZeq!=vri!}IT2Jr9+7H9Al@)HIQI~0+d%r~$rFo)P
zSUfjl=k-M}XZlcLTFt~XOf8-=<{x%T?n~~nl0$cIxYgAZ;&@#;RqNb_A^!2m;^!#=
ztpj?-m}Ku~k=C$N82J2K!kz(a`~Vg<#NLNp6n9zqLZ#W`3YS8AVJM;)%^ro`F^ig1
zOT%Bx)X@OsFbqBE)D9WbWRmlwp%`=J*iQ3fWbqoRZ<y$`l?DvVBxBt_+>mDLYpj}m
z0w!Zj_>NRj&(?omYrv&aWo1b;rEeb(DrrYY_X#k{OkkgS8|y6D#vxiN3B&y2TNQgi
zCI(0N;>$ph6|Z4L#O4IlKZ8o5$1i$`9q!9R#(etC`F&`~L@+L{1mhbvZk4Jq-^N$F
zXwp}kb(5;P=_^s~&bbMZH0Rb7ihaq<$^b{u4E*zMO#WNW=Ywl+qrBIS*UNj)LAJ)>
zKhCh4&2M6SoowB;Gf#zu>c$2z+u$a?*=i0NH#XeJ9)*rQq$%Iw0K`jJz{1`dzQnf$
zwuzA995alTtIGKlfK)NThu2EPNEKc1Mso(nvLpB#I3}^@6b&zpWv?OBKf(JbD?VC1
zEvaDg1WG3{*V`DLEA`*&z{u4<{jd^?MaGSMr#tHO9)0Q|f#eCw7Gb;8%2!F-#w`OZ
zg4EyRvuQ!D>qP9*tg2sxgb2pf^(8ZckS2Bp=|o_mjS;Y<J#j;k!b0P*S0t|*F1ZdH
zE&X?>2`pd6G4P3>1;P0b1Dyvk-nkzICs|IWjS41qG-O8{Z62daVBF_>$bQS<9_A}p
zE`4V{+g1Sm%=&Tc2BwP{9KS@D7zI)!&yCY%PYf;Ysq<0M80_qIVlubXfcZS31RM9`
z%!uQIzB|!1BHdtgqct~EC3s>!Gb7=Zl+Zs;ZW@LSU7OMo4aLni64KBNh<^*jNInD|
zFPrK^-m%&_3qBj|A2;~@n`^2~#F?D;VBugKVdH&1{vPuRMxoh`v1`PQWZ_Sz@gpkj
zVdAB-o%JhL824kTyIDeDHxt+l4a@<sw3XNn^*)sZ!wrI1H3ATGG>8m99Nivb?@eaG
zq#=OvZ7;{h{9RVh5)8jig%-yj-5!deDx&uw+PLWe82~4bAb;2PPz(|9Zx{ZZ3NM}@
zD__apFGJ-;J5S1C&6H%_RivNc=bjJu<0$KOoU1RRiKwrG+h+GTpb94iC%e83alm*$
zwk*e+0y$Q+%`v1Hquo8~1B0>D)`ck_D_J=H$qSfv`i5|B-&vJI7~fsxY7D``$_Z?2
z+HLQqhR~itcUaTKs)FrOc<D*TjuG!zy={u92$jld00d;TmVoiBP1y}BR}+>?bSzdS
zR#lOt=~4-A#q`z-#z3r9d0G7qyT6*S`%EY&^MyvVTm}Nm5wTd{1#N72kMW01dDT+(
zvVA^GKQ!)_Wlwm#O?g)ye8e^wQ}j0a4BJL5#TGrm*A#_rDJi8QT9C>O<exvXe0Fa`
zlOeStJgnT@+klKOH}@91;T4}EyNskU#8IU!kwSb)S0-BBsKgzy(Avh0k^y4!>lDbM
zFTPg$j#<XPy^IGqjAc`{c^eH$2hqCKzoJnF$_5^_ir?8Hp7rl2eUWZ2yuHh02nh{0
zAQhw^SowC?Z-E+nP)tay%relv6B+a7m?)v%N_o@OU^G|Q!V}f?0C0U|q{$1&15!*!
z0Leo#Xlm6DFq_s&i%%!OarHY0n1X2wSgk8C8|gF3VYv6fNVV<nzu1mcwC(Siy@j5`
zrg)PMCcUgag#^k(B8aYGNCe%)i{EQKA!W|cw6JGN``Fw?BC};gy2K$J?fq@5qB@L0
zlLPmog}A<tF8RWfa*}VzavcwYNz+{dwclHf<3DhH7KSZk;nzuncgYXPD|g~Dn1F7&
ziRNMk(ZNaA%RaT=H(-WmA`EG7@jLQhaPBSKOw&b8qwvw{(z+_BK_MkM{JNzP45#d?
z4_Zg-Pg|>Ti`K=pa(@g)0%L~T&>w=iWWl1Dkxc9Lx)77nMIyF0YbM*KUq{+JGAw$G
ziW_z26;Q2CqZJ=Qn(qA^eBAE((8zACQ0u7%alePGSWxjXuhinxs~S+{n5P(qZtR~1
z`3|TS<Hjw9nRrpss2WfMn1ON~4pXBs7O{rCZw>Rg>U@sFBnKVL%4%&<8|$>G<6WrD
zwsp+ME?mHZ>KHQJsj?Rn(hkeMmjozK_E)!_W!Yz9)YR#+>viUDi{EQ)5yL2vbdvIo
zdJN1|#%m2wW%blxgc$MGH;fI~FchNM@eS>^Jgv_o9w(CJg_AjD4?^g+;-AyFF^axl
zCYe7G;`ohm<HShx$SK#8DU;d-RXi~Qe^SHI!!kRDTd42UgDswku_`qdnt>doB^=aY
zLh86yBbm7(6??j0uE@Yd?ZiZtR)&DU(HFgt$+$9~X5Rc0btE??h&aqy<Hn3gplF9E
z>>&Wf4P()vr2>CbZBlJhojx}5_w!omlU`1aqDx;e$fTdMX_=CW4&b*2m`XAmIf|f%
z3^o)B=k=Bv6jfHbU>5k;7>Y2*i#W0sjt#HS+%%YkDwKS^vD#gS#p63Ls6`*T4^;M+
z^Xeb`+qHsR_3ns`Z{7L+#i{bK!#Ls56W!b1y-Z=V!UcDjWVQ2lESk$reK1Cb;VgR=
zK7twkN>Gcnwu%!NiJ}&hdpNoz)iyRD6g@_)aig`T>u_JU<p{Fw;cbYBsxP0m0Pk2#
zo7Tm9I1GpMqw3{dmSZ%$_8yLQr+tlMhF_}>_NSdN_GPZ$hKD#xP$PX@IiCrxk+Jr1
zisLi1Tu*O<YgD*B)-|e&qc=<PA%=KOUD<0=EO>%6J`B{tmtaE|w!Ru-9lK2xj-|9c
zC=u3J+5()M??d1f(+bJd#zIg6W2Abh7m|A>VuwSWsmy0LFo69{T`Q(72%T04AyL0#
z68&)eA(Rt`|0?moF;J*GR=?16Q{!7~7E-=IJ)0~^U#2MyT-NQ~Y$FFPk2o5_XY{@q
z4I9WvGUti81~sZ4*hTIA-4;E-5f&e}67gKzn|1<787);2_rOIqNg-{ec?Fw$u?lOz
z_`7?FL{AAC=rNr2esD9TKvSC508`v;Q9Y*cB(KzeS5m!kqovuMrh+4?<hyTYA5x$e
zd`_FGba#29lj^1Z`;)vBjbsEIfSOtDLoQym8`jNp-Qx|4rNOI4=3);JzPgbNT4~n!
zF0*231{0)>VU`N)n|T8SE}voZ%)+`EEywn<T%Kgy^lh&9t5D;neHa;gv6H4t?&$g@
zUCb5xBq!dzpGO!s(GDltWTQtNl$;-SvAVV+m#;${8#x1j?~PpdG+8=Y2g8nL^uuZ^
zY}-SDMH=;TaaXoQO#=wE<DiZXP}>;BV0IT9a$UP|=Mr$BPYw^acf-(XYJ50_<YF}-
zN5XE_7->a=51l5x8_aGCU2e2|B9sO+<28e8h}-C-F_dN81~*L}Q>@1Es*_+_uG?Y?
zV!iLax<qhZ22*4z4YUSreZy*<0EN?H>)RP*?PDA$wYhVSlWpS8X|{Os<3ngA1A^CY
zd4#!a5Su<Nr6CPlkn+TA!Mi$xWU7_m6>z~DGD;V`;_XoWX+S+11`;;98*3W7y75i*
z31REWgl)i(YAXJCjEEsaRQ_frZESqP<n6dStr-GElC*=%+f1(-0WR;%bw`reqz(SJ
z<3(g-N%~mg;({Yw3_ZgOj7ohlPT<Qmj~wV2jyv)^acfW>?2y66H*aHaXd21eXhf&s
z#n`hiYe1wn)wSDDdlj$i*{wx((x^8aF%Yr|;bTIL8xP`sEfg>YMMXv9&7c)^Cgz=B
zfLX9PFW392fmM1?ZKG(@Ou24{j4J?>yjrQNe5d?%9#njPrCSI8=&1Q=b&ezcovZV*
z>rm(WxU#9oyE-4$*}BfNc%4@!>vg`|i#oR)M}enqqIyjlz-wOZ>b9Wfk1oFj*L&g0
zv7<K6fZ+^c!gs+nAMfV@#676!ftruxHIF;a?$BzUW%tQOZ1_$3m>Qc^IXQq=f@<Ko
z8h=N7=D_;isQCW&Nl@yTchTA#s{xNG!Jl*0R<t-vav|EV#Uv>^ATLZ1uzQa*8}^-8
zWTFlN$!i2_u~tItNCo1LPlNalttnSIL5_|lAl?j{HS9+a8Y_=JWxQt+3<_S&lz?oB
z;Ek4T`;qA~??bA5KhSIdQJRdF&5u7&vyPHoBL!;L{aCxMyasjLhq?t%%*S|F??Cmn
zuHzJ5#~)v-*YQIzD_uD!(LKf#zCf?v39N5%<us#19SxS7lXJt3E1v|-IM|Hlo@?`z
z^tLMFsj3t8M&40XdwC;IWSf(`Y82|5w%$bMuJqamTEkFrF~|Q2JC%%<(Z_CE$HXn>
z69nzDBnsGo(UgoHgw>dG0GkE9pGUhsWX;;E_NG=%8#mGLlTaWu^jdZIOEA3VxN;Kd
z;6Y4F(eW)e2U@H~Itq~-EH5o3)vIe}(3wtj4nC>tXRQ)Va0oG*SpqZ#)PWtq+bPU9
zS|HWbv2F)6CZXEMrwFR;D$I+h^<?N{R3AJN9K@^bc2q0lh5FHp)F7`z)2x0TZ@VnV
z$sk}gN2-4_?Sw=NHU7?x7n^4(^z$jS(t7}ms_VRdHg2-a%<aFOsw~a3gm<?uah+hI
zjG+Xs#F7o>O5V&Jc~P!0<s!*>I}A8f^vF4A-NuwTQ0rdwY@dfX-fLSWN0(2|^?nqA
zNgoW^VB7{b<6QTgmWs4*pz{pUCYmB8ix(D0_34^e%l?zMuf(LIm~4R3PSDLXdE~Hw
znRdf)RL^=|J-@@dItT*Rx>c1Ew>@!@s6Jjj<}E&-^Nw&#Ek((0$8r2?c4UK>333<?
zBnd@WSVE2UgWkaD0Bq#jb6j~<hVJlK4N1Gv>%g2#dKELgxyN30PeaR3gN#oTjhiM%
z=E7voO{zybst30ca+!Tbx*<Wm4&5@9em2$sXru!3w1rG|s=PN3LwOr`dH;rYbtFle
zCvFPFl$UKG3`*Cym^MWta!@?IVAw#{se)BZ4tE|7F>ZWS-(Q&P{V+T?>Ht^H(=fJ~
zCaSa14Yw-VPpHe~i6~olzPDr>-qks%rq*?-@Vcx(UGwsm!lZMJ>mFR*g;bR-%Ui>D
zUt*_5Cn_^gX5TT$08D7_hf%G|yb#;!&%MkQSEJ11c$xR%UCpEMKr3rcEAvLwH!pJ;
z>^Rpr4DJKs+g_QS;8ku^%QDAyAi#k#vyPLMxl8LZ+rRFh%-XsQ7h#dDM4ynhn0Q?c
z1l>4}tnPzZ_76zie%09<^ZHlN!32ze{`@R#xQ%2Pp#R+O86VoUi!#B$x`r5PgVb-h
zCm2$-A&~R8;aHB@4~<(zv+0y9w<~qM81hdr&=5#~xvm&J<NNTl4}eIF!eDBG0W*f!
z9;)Gij3inx7wI*ROf@*53!`eAy1Rah%|p@Er%030$jOo@k^2(?FwqRgOEA#{^J4%8
zv9XB7?qrIMrC4pxGGRb$Zx(By*xnR-tVP;BEH;*6`%tX5kylH535yje_7aNyAdptc
z5T(Jd+WSj`57>>;=mU;H)wLj&_AOsry_LgNI}y_KMYUe5w6_*SDH-vU6zLDxqbcc?
z)#RF|>5^(@4)^!6Ws#;Befx7Y@fwIZQ4<reEt~8f+LjH%62d?jnFD@^)FFVN6AnZS
zAchd>zOPvd!a>zR6{A%MRau}hiP9Y2X>0ls8+oVAz$_&*xUiHCz5Ts}{q~-?rlD*J
z3j+!oO0W@yiZzmN$n?OZd@XA(Y*29{Y*rG!eQH=w2;V?1d}Dw0w9mI9*WiOFf}8~7
z#zO${q{erRG;SPE(zJ_NNZsKF$1hDHNz-_P8#-s7A7XO2>qJ-My(__OyB$`<t+enk
zh5n496V-h&X=YscDq@dX60kdc7v3r?V*IDkk&O@gL!Z+^KZ%ZLyo-lok?}8D=!emv
zO(jT<AnMU5`Qhl0rc7s!*w8cw5#ja{3T%w-+BDJC*v&qYavnf5^q@Jr=>Unfr#sWc
z*ruU)H`vVt{#A7Mrc2o8HT3yqbWBqWLpG2;KacKKZV`<&1%?<fNTh;m#pZPuymyiJ
zZJ2G=*0<-<1PnV*F)agrH2CfSR*9KO?@C)uC<M-G-=5Ak&v4sI9(hrqb6<QVl%pMD
z1>5U6ysI`;Vr$#$?+{F-J7mF#MJ&Zj!^_6r0fEqmmsq1`a$tp-2+Is6Sp!oa?m36p
zJPoN5_Z*ds6l0l{zF_mfemn652BTZ3$A<v~4jf=6^&yX`C(Rk`V58;+cN(^Krs0I=
zeRU)*a19g-P(H-Qgia7>(1Z>HB?GQHni$ca#<YtYV(_OqCKs!_Mi*aQCbKJ@=bCho
z@k^VqK;|qb%>IA?8h5jK3_nenD&jPel?=nVnGn$)WHz6~?6N8mSyM3DWIBNZtO2u!
z`e+M9c3T)~y$r~SU{E}hj-HBK#roHN7L(&J+mg5o<AwK)chUj@+O=y(CL2t_5}yUD
zC$I+c3CRa0N7=TNa?H`ujH&^%m<H4UEpGQ=&wJuUJV$$Po1wmpQ4kt7CS9+u2JKFD
zi$CCs)(J2mF|&Dxc&t5g=o|h)1YsI^8~eKfr<sm}{jzIId;+o%Xme~Cd#yvL=e~F+
z0_i**9b;AR>rPZr@-9fY6$vRzY+M#x4R^SXhuA529fC>I=xHzuicL4OxzEBywSH_$
zc*p>ZIgLs!d4jA3k{T2Kz)=XTaS<7mry>j>RpqMhqhoYK{b_L~bd!jL-44f#JU_Q&
z!0fc$hn>7SJG>1B+GId1^d63l@}eCS88=2OiW3B|@mE3EXaEp|h?eS#X#bR54^;p3
zk<X`E(1sWrjAg4pF}F!Z=z(?zWlXtIu2g}tavv{CPd+}hY4lqZ0Xq+j682)*H1aJ<
zS7`Fy5?BDtW=KOR$W6pEfrgUUu7JH-rQBP@n}hVc?HhQl8dnyvQT)nU<I3rH!+8i3
zY*%pKRU69Yd-Q@RUAa1ss)vB+tZR?4&~|>t5-alcZ}qoyOaxmg@^i5yfT>j@_LsSi
zV=TUwctQfKmeOtn9QiWQhY<rZF1h_l+$c<78*9g-95rzfByTah2LLkXIZa6S1OQ30
zCSgYvWzW#r@WG097Ug350)x_nKa$YYtpblzwGdLwu;GvEcwghai!emhMK)}gIa~&{
z{(#Wd0U@me;GlpfL3O1wAw@N&vk#mN_0dN_?!wUy1cCj*7CIYh1~61J0JG^*Jb(m(
z{qZ*R2AE8(#MrEX$(-_rzK|tvgHemWqgh8o%jog|-@Pnr{=u77cjO^c#V(XRK&n25
zlMRGx;Q%M{L;L6gCe7*66hRMoIf+l<3`=1Q!%8edjMzUnXSCON?=WoF_>VFT4bt#G
z%s5s;SXTJo+YqfW7JSqh&lpR*<c!obCgWvJS4~|S%X&h*p%hv0omk0+u%)U$uGd?{
z&0L2x`vX!5EqZa}N?DR|cepQ>@3An}d&P%LHxOZ|$ds)%nw8x!0WKM+YlL~Q>zIaL
z%l_WSBu~?ojH4{It`&Hxs1SOoNFuU1xqp10DUw^L^37~JXm(JGhlIqD76=YQPv9VV
zxh14+OhkL&k&d{Q9SKWrW~$4K-X?~qy#-pWY&wi|MmlTt?b9v$b;Lr*BS8a)eUaXf
zNLo!{OzV*%p&mD};vVL-u^eia5+`cmBJHKfGgokRUU7gk<c8yVwe=+Ac^n~{D=O90
z_&CN(=z(UU^{{T0aACl<3c;v^new9AL_G`Fm=O3eTGCDo`bN}jCRTYeqwYv$4`bO)
zz(lWM_IdP(FqYj7)btu@EPGmeH5kjt%BIk+#<HV$ZHz<)^c`(18?T{=F_taTUb`F1
zJld<#ShgOojc?#jYg%c?iQ;8`@Yo`{rbYjT{;=_}&ciQ(i;+f0=iy)a4)B)F!~f<J
zz{hnS{(7A3Zu|sX>STG3Vv}X#3!R6*@(aMP>^%JEfNz@FNn##^_mZZ;odnK=j~4><
z)k3mnHWtzL4Tw7HOV_bhrCXb59v-s+y+DxJIR(3jT9};{e?Z4(=QASI5z6jVUwgcb
z*|`Ez+4%eku;+Hxp19jovRq_TU!Zer*TmD?vS!+GD|ssDw)OD&Z9G4Yc1*~2OuNn4
z45{Awq*hM8^@FSBoAf~Yay?_#=5;QevyFEfs-%^TcN@3yenTuYfrsj<wYrVBz;ENF
z;VodgV?54H_X^ZtxuNj~Bs(1s{BiA@(Nxs8fkNZ)JM^lX&+V}9wnJdwV2l>InB;J(
zFY^arAxyXEdA~-|$1MD=ymt$>lC?e#Y!NY_H7hv95Vy6j&We?fY0~r;*15R@EC?RG
zv}2n(n03!YzAJXXYzV<t2{KgKJ_+mx#PWw@u;<3hV2G|jZrEP<<Yi#}8(=*Mc#{YK
z7n~T+B{T{kLU#3oj%QmX*?ey+f7^DfEsTt1Hts>Bt-%1DY}|o(S62{D%yZHq?tklu
z)u+~=MZ?7g%FzXr)!6;9#~}N{XksA|8L_i}0Xjzm+1nrxbcPb0S8+Pu*U>RLX96WQ
zZer`u@<`e<hv5^W*fcFepHWgIxa=Q$#YGr!D3YP#9k=Bq#<$6e6fR*e0hu<I?|=cz
zkpm*}RfnZ7SA8V*797WVH*DrwU+-N<Ey=OWNktwO#0HE2n5%vSqMNRF-k#{QXDGC=
zJ`LL!$;v<ynnUt0x*~n@oJ9LzBsFeK6WNH*=fz2sG<;(%7ZWd(JHRj{1AjD6H-+H^
z<w%^1@wC35n&!pcVQI1HlSGG&C&>?iNVc-is3yFI6J}&<=Z*{`4>UkPu5?<|-3fg+
zGaXgh1Gd&I<JI;Vv3NJQson_Lsit9b#UXXh%XAvO7KhXipCmZ!+Q4vV01S8`$_w+g
zZw&!{?McB9>9erhu;a!}Z+&5^IL?AGiO273_~Tzt?-A<5c$mn$OQ5<rZRA5k-{AQT
z2n?a^)<obRh`=1EQi#HMB5)89xB+{07=g%0-3)4#L&`p#z`Aw`bbT5suc$i-T4|2(
zVx%!{YGy<#+rOqwM_tsf9%4iu!-G+1+=Ok+{v$CoS7`{)sSXLI;W|bGLsw<`UT}Wx
zxglKr91v|Xaq~?6(0(R*T?O*NWGDC$rt{;;OTmwu`IOnUcvml44SrPC1@Yr4WJ@~+
z86Q@BO0~wTt1hUzK%R@>TCt$%LB@jb@L(*Ujof|??A=SdtoRI$>kC;Q2+`Ou0h#zm
zMl?2L0b0+EmBHFrCa*n6f;=%V^aJ5rs8Xq4P~SumxKbU16e0yC*Jz*>1o}3CLd=t8
z_zEJa7(ra1sR<w}B`)-ORMVLM&=cNB2`iD1OgaoKFdT&)td3$OqoFEVjav?{!W6au
zo0Z{Dcije$_l~)30x_w7gRDf%5djP867-@A)javjNRF+?3d-#^cZ=1dL)wk*%_hub
z-Y#i247}t!4v7?SAYCy<V^DC7UX;6#tx7g5%bOq)T&3ZHqo)$*;wwwplL0Xob8$^^
zIs$flTwe4tTwX*cs3qVJXYp_ifRD+EDGAs!*cH2yiLrmY1dOdEIy^Cb@vhcXYK+~Y
zUhT($RboaZ$59Q+n4^%2daAzH8aUET)^7d1C<dX;C$wIUw*F$Eov)*Pq6I2c)uLKV
zt+8Q>IRvr>`5*}D9KbQK3gefEIVdh|6<vz=-%n!w!wm>x?iXH#lJNT_(mk<%hpbu8
zre66scCI7}H0#&XbfIz{{5wf}M3{z|Jh5Mma8LTR;KV0H@&*oZ82PadhUo)+zcOFD
zW@S~;IBRIcfP_y|!lg*4ra(W_R&ZrcK>5kO%!HP@89TFSTQ0*>NqFAlc(Mu4)r9AJ
zRB}6buxF^fUpFZu!!l*+T+4XtT+5Uxlc$IY`qk&+fZ{=zVdB4jZ2&N3h2QylKfE=s
z&{~jZ|GDlY*0P(eKh2huX%l8k4twE*oC3P|8WSD@YDy3_2oYQ^whs~MKKlH;-{erZ
zTsY6qZ@j15i-%5d<Yl*aeLS(A{o1{U`%L$nXDqU(FIq4g*RJ~s*2rRabQ5BY9zT8A
z8f7Vt+}xbvj!9~l9=h+GGPLE*E6yrjHk<ARPs>?cSiB4&xbqyBg3rD=r??PdGm5i{
zigJqmbl7qV7T6bxV{pBBV(Iu+ziBp`c$Jti%{po7q(K^GgT-Mand1wK7iZbq(%B(>
zZSP}G&&dOa%sKNM3pkmD#dh8{QVX+lX6q50)Pz)7nvyJDIf%+;%PX;`Wfd<1qd+((
zg<pIw%mQt5M6{bJQ`-`UxDM$H=HIlO+`K7{0(;)#oQ#~}C3*96N~UJb%SXQRW}haG
zC}nV`k*ZGTujhrQA8$J)I!#t6Z70i%YG_l=cEX5`1?G%)s9;%joZp$+%ar-S+(*u7
zi__=l@tU4T%_#Vr%L4&SD=E(Eh?q|C8JM95h|~N5)Qj0$Njs9w%ZO;ESvtx$At7b*
zWSd2rG$<i)?AT$0xE4Q0{%HCHI>g_^LAs_=h<v=-vh1kD`Hte8^!zM)E}AD}RC;kC
zq_?E7IIX03d`^}f@u`Ic_Ts{PTjBggVqO6$B1%izJddkNQbmi?iZqenv}>7(1S;};
zMEk-VQO`_Fm^yRnprJ!`1>0?Mfu%Iho>Ew7*F}p(iW$f@$1aW)2b9u<SfX55Voxc~
z%U+N(YSw`4ITS`eF)gb!9ST7Y6tBAK`YAwGq=$(VYc0smDHU6!3xX3<93@C!I)}m1
zi;kV=L4VtolQYR{XX+yz<!Z@SRv%OjtsW*p%dz4Oow}?j$IlT?+bk-7*0TJ<tn4{g
zU0;%8cNC2pfKFnTrPMw(Yr*)uoP3HHpP#h=oD_Ao3$rA9;o`jclZ#qK&a&ByTLrO<
z^m;v0m8NFp=jRnH5Uqt-;5x5Z%aWV|JMVB&4WmS&&kvVZXwEC)O0!@Q)m2F=NM24I
zev*Bj&aHOgx}~K`8B<4zyjv5ce01!hrMS4Tm=|4-XAzLmY=WGJzCuJVl~_8UbcmQi
zW&piX3WiP-#!+A(lQld^WC()CPst(fj`F7xgb6uzX};Z&m7kiDl2tsa1+7EG@s5J|
z_PoLZ;>8eA13{MgEKe$NYKl2c5|`u@mjG<6P7S6-7H6d{%tO;CNE~X$&8SQqKxk@V
zagJzCmBiGnA~CN-%qbwA!e-HGymfpwXSyFiv|1;N*2&UTk!np$LE(moW-9S`R?dux
zQ^yX-9tB#(6lsb`6y*bAdRD$8hmohXXlA?i)4>V~?P5`J;ez6<#fw1<v<(%Q{jbs0
zDkD)7hJc{*>TkdOkv-GaUVzGjEdxmk7zw2N+6hBT>z9y#mXZVgkj>c%11DigA*{VC
z2Z@P;28ja)iY*|Rbo3ibaYS0{^oZ$1`mz4>oJMgz+PIjb5hBu+w^WJt!a^}Wt9U^U
z-o$x1VlgXLPBtpFU47Krz9SoiHv~=GAxp%HcEXs_L3uibSMPDTEya@Z*S5W#Za0c^
z7o^Y6o;yCTG$&iKr#SNRv*#iJ+AD9dW3f~+KQE7?;0ex>j;!3AAX=zi63jUz_Pl~D
zYGtjdqKZq%D0CFh&uK4;k_*-XdromdR(^&b^`t_b%E@S!`DkXrd7!Z%LlkF-=r=)m
z7EmZGD-=xBjAGzFD?U#HA$bc5a<cVWqV^8EQye2+i=EW;J1cxsG8X3L+NWJRB7pC#
z(%agmPawr84usJ!l5lsP9%~^a65KA%D=5jEKbw7~mCV;E)A1&0czJ2hqP*?l2l50d
zJG&SLPY}rrbx?SVEQ7+YYefoArwRI1#DPwXl7hsO513jRfSs-n-j=~bZTyy6ShNgb
zt;cT(XGtHI*#K#B9u!n|4jbcW)*$SRA!7PM>O09w;|krv`W@;`$l5}WQYxieQ@aUW
z&5p%IFd|@%V|Y}si0i!sza=QbR-zO`#FSa30}_YNoHNQyme{EA%rFx~N+g;KmlpJ6
zeM8r-EWlADW|fGPAX~%;e?T^mg<U94DiqUGtpTFv7Zw!c%%>h7$`tf5>ixDMN-$IF
ze8_x(4YP<9$d<DpYyL7aPq`J-O22nb&PflG-lgZHLi^Obtb#&Kz%iXOZ0Im?epbO1
zcCo}!ME#c7D${<DuzSXF$v>by|22kxuN%vsuV2rfTeR?U6aUtqC$(_$8bL9^PyL<3
z<*b72{2Xy1tkQYR+7<`Q=l}5zJ|!;~dXuZw+^jq@F)%jh5L_TzTx5mHBfFygBrUTb
zGK2&Y6bK2%9<5l;yJUa#Ro71~EE2Crf6Th-eu0EMhEx*TR=e%#O!j-r@g`-NTDW*|
zVF8&)RG)1^bgd-_6a|nBn1Llli_^303lj$MxhBrXK)h~#=+=5mIFSo+$|y5y39!ZR
z{~XM=WEbX?h-6>sLX&*eJTMqo#9T7^d2<Y=Lo@iN6gto`E@+ue5F7>oZOKJ@VvVU2
zbl9d&LEeG#1qLYXplt~^B_}I;O3tqx=t;@U3MMgtZ%R&n7L16=#o0ONGdeEEq{57X
z!os3pB#^5B9-Z$Q%L?YVs+<;Z8To~FZ73XsD}X1}UWjm58LfE(=`FVF16_iLFmU-v
z#h_%-=@YSb!}?TeH*CPo8{PauM}9V|co>B93l|sV=Rl_oK`Si5lwcmRfn8AGSUeAt
zUWK_dPRS`5B~Hy*T!hz2EF3igjZI?;u~h_`vKFC<k3b2<d5#jO*%D@gkoIg<(jj76
zUco3}g{mg$q%yPew%2^AapNb7BE~WK*{NAYm|q<WQrdD*r-8%6bYwFLcA}`nF|V*V
zo9w$B6zgn>WBI4%=VTR#3>%fNZL##KqwN3N`a{mi=d-Qd*Z^vjI3)*T`2Z6kELVv%
z^>3XtU9wrtbJL|MQkrF|Wr{{+0JN35B(3O=<SG#miKU6`H!P8rP7w5b(;X!X{ovvm
zvkjyxEIONHLV|8kL2Zi(%M(j;@k`9j6>q}?^B|17m=)Op-&>D!Xgq@4Q*)Cwt<2v@
z8=o#8bPWD{P6wCN0**Cn&3Zfo@!)L&E#nm11J)*+Js*UT0BJa8Dkhc=OVq1Ds}0OM
zES{gcfK3v!0p}RlKl3nN!nA^=l<CHS3oN;LsYR@dnp%kYfQ+K7`8hPrJ476I-LzKb
z<bO(jwQ}g4U*J>k`LvL$t|w_2nt^$dF=C)BS6wed#ba3k5zrUJpJ8Lhv`Is3Z6^^X
z8}hPQ%A)qm(^@Vt69AqOvHmxm&c*3@h-z(H_}Sm$1xwSyBlx$Yod0VPc@`g2GRzs)
zn=ZXA;n8Qz&(zh=xo)L0i*UEGP1x{wHv5}VJb!k&qc}fj+2o>}f|SCn;%u4&XD?~?
z$@$9`7dc91vt_Qi(=&!A4!fo_`P$htuN|SK>UfEXC(;+5h8AVdJBy;6cc3qp-INre
zK4hvoesKA|xyRN<tbK1>!Q<m6KQpN3cNrItH6&F1<KRHU<MQ(#JTOMcjBoB{*#4gB
zifxk~daUx9uix}NJlC~ANPlQl>OGrRilrBo_FmFW{&B=}$0j{<YD2@+`44mn={e)d
zT<g&Z%3Vh;la5?Xn+cr6gwPKwFZtW4B@_Ps<c#QxvVIeJw0U)}8wNIC|82wjJA00}
zdc^oYOnNBejW>GS{h<&!$g;iqiszq-KGkE9^sMu$Pd>;zc6*A3$M)^WrEmT5^&St6
z5>{O?&YL!^`Kc?ao*QU$%JzG&t9kT;-~4G`=<@eYPX60xE25hx7@RdDo{0!8?45G|
z(6q{tzZ+bA(*w@=gPONXe;@Hx)88Jy`>~Tl-#fW3KPv67LgB;T&$#!2qf>W}d-Sk4
z@uekySTs@I`eYape-=M1ai7&M;;f+gy6o8`>3TN6fQ>p!c<eqps~-u(+5DUU7K0Md
zH~lK{&&mEZJDo!Czaj(|IV<tc$^HQjmB?W=Aws%J{0k0q)`kd9(<dwpQHT%6yV?Iu
zVf1sdzb(^iLG009ych(~Ha?hkdcQzFvFif=1M(>nL$se$dsgB}?=5Bjg8UFq=yySW
zbouz-tv^F}bqX8)s=c&&P(1xh&qz%74-WK1TAUs~jHSgF8I#(N;`Dep=)ez=L7jeZ
zJRFwbhsbdD(y2dz^uq)61$D~7@qYS(2K2%4e)@ts>EL)jeP_`r2hxuS&__E}wO??&
zpFX%F(0{@4e)@Xpv7EOAlb$gm-A`ZdK>V5B0{D{x^x=H6{tJ%x(}y$9`Y$-%PoGhb
z4W=(CK;KyyDFOWFd;Jaz@Gqjh@()Y*^ABh6^k1NS!_xiy!$Dj97aZ@eUp8~DL!AB@
zNPoW9@A<7?QZoY8dwPzyjMe#nuIbY=&Ug7b-`nT;Ennw<{hsggcfQkizU$xfyZ!!D
z{pk}z?!Y2@Thnzj*VAN*qz9?�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
zcmeEv3t&@4y8lU&wCRgekYZKPC<Ut(woue!L31F12_{f^NL3IJiXg9Un?QAOH#My^
zJx17v_qtxamtEZp>aNTBfVQsMv{=eRETC9qSBtuOLJ$kOP#%*1@0)XyCgq{tb?^V)
z|K9`6nKSdvH{X2o&CEBCZ$=Q}pNhXd^2q4g{*!)vy>Cu+^N>A)VB!F?#@)`sXAA-p
z?mjkK5E4{hT{LpI$Me;5ox*j3&~<p<%Xj}v!j!Sz=acUH&uIq_^+gN<{iN64+uxos
zgT4CdnfE_>Q5vUzE=edGDs<%t!bJ(kI-kC1!r;!Ek9K_UW}gv18j&#jy`Ag&Z@F~h
z@BieR?VQ|iyWV6NDr7kCj3)n`9gW{P#`hng$R-H$9yZ1y?i8*vrzZ3ggiGO_p$5&S
zx8~+P<W5k-;(kl<Wl(+6;sVb95sUWxP+G`rK|uKkmKz13|2G1Edw`*?k_s2VpUT1y
z5kz^{@&Olr%!06B=)5_uIrwTN;mgBc3jQv~U(91caOCqk5>I$=UJ>Cjk3|s146RTR
z9wPrD{1H#DrH}5%LU3gzi<iw+^DfLr7{NifV;>9PV!wZI|MNL;`*h~p%Y1K7^g9y6
zY~&f{>nb<eN1iCpaQFgtZ$}af1odCC--VJLzMT{NE0e-sBjC$tPS3i#c?X{9x3OW3
zh|hex2$Fd}O8SyL@7wj|bH%d=fO!w)FnP>u<}>!bS`gqYhO-|zed$U3mDxF15R{7`
z5K1C4%)Fa(ns+dHGxHT^F<+^f`HC`_kC~<eS00m%TLJFy8=tsB5N!EdnLo1tF6K}F
zIsC(G7z9=sj-OY16Ec7LJqVTego{8%r*a7b<UR0pz&Bh}kiVbFU6nUG$BrBC8sP9d
zvMtOvBRj|8w`L>V8QJFi-T7OU>1bc-sKq4+#(Y-%9N!WafnPS>MC8a@#K)TRciRI>
znnU00pP=LE0T>}n27}X24I=1vMLrV_Guf40%;aV!&&V!9e)DEE%f|NsfNbT0FrSnr
zZj?;+aCW0?Y*PJCp_0b=Kga#kFN%W?5Wi*PqdY8ARKtksJVNM@1C$>r+_#Cz*6ci$
z)jOI5VaM=B@SK;G@eV|0)s60KWNxOK_&B`scY|$zA3!{|fQtysBS2nSC}%K>mynss
z?=$&?@<*_Xfz|TcluJs=Jd1^A=a5YFg!P^qwt!&e^ds3wypdIJbx&t<W;4FzR>;u%
za5&^K3!K%BuA3e5gi?o`IUnTN<y{VWz&yAdg?-$Kj>0=lu3jwM$h=Ki_QJ;UKB3Q;
z-(a!JjsV0e{g*()<N%jd&;>77b{2_R29tGmxt&TIc{=HkciF18y5=(Zs7>4mu`^^l
z<ozu7OGj>d{%!|->YG?~*qtb~2;oqw-EYVrQ=2A8H6~WQ-<?=9qpvAs8e417*I4_S
zq*~!BYhQB;ocJ`eaFg8|)Vb@ZSdbb-kYps!?n?mUGEkG$`d~tR0EHD<4&Q9^H0gE;
z961D9El&A>Q|?j@qg9vWB&qUVQ@Ar62B9mAQtb-8RJ&KI{h7g9+alG@O0d?x9Z=G}
z9r_vwc%Z{1C670O!9H6T{yLSJso=1)(^|VF(9zdYyEi|8a_$uKTYb(>#geWCZVz;b
z0Lc#kVvyhw1vR_^wN9SaDLcOkbfi@tAVnp=NlM*0NGOH;I={+qV}56+ByLK|ZyH23
zD8EgT$EW$Gb^2_ll{07n7}6#V%&t5Du@H$53z)u@$t$x<?Y=Z{eO`72xMGoJNq5hT
zmKznBnR(}B=b;us-ce*s-ls{t@)~NLJk}IYOx_OBb*)#?xw5=nI$jH0CMJWiVyM4t
z!f!wBDQ+^&$44^%s5RAyU=WBZ;Bt&aNrp2noTmL7(iEA`gfvC`M$#1L<3meRtf4|V
zE6r(Wv3Z%JN|h8Kug(Iy+_lAK)+HFIf<r!$Z{BRRejS_XT*~w%Jkz!U7ZO39ot>cp
z$TVJ{z*fLBjSmFc3Xo}Mr+k-*$}128>Mi0%v{-w=Kx?hTXja}jO*PzE;Qd&14fKX|
zu1xPK9U-=LGM_G#i8o%o#7(x&`EVF(ZJjkbHA}@{W8N$(z3#TaF1Om{6R2@YmjN=A
zN?Fg-WB|qQ6C<pT<vr@9TG-K&ejY;eJ(e`5&mm9E&T-1^&g$K6k=2pvg2xkl7{A_=
zY2}CfV@|({Hc{|)>E&(AZ+zhrv_9gv?cM`=tGLmiljO$SX7;$fy4jV+>hu&F@k4fJ
z^;XyA%)2dY_e){6=O8O=EBnx%yNl`fust6+3g2I`tBw>k>rIU-^me(Cg<DyDB)WZI
z6Fc6{E^A~1QR--ZqjiD#7H4POK3%#Ubs|sPv@nsFRKy#xBas^6g>*{ta+6hliy{}v
zdjkhi$j#o5AeSq%%}N3_%GHe(3t8YWguuA_vvAn^saXBFYnr(6kwnulK@d0oDlrRh
zNgk(GExpT3Qg#ufjB1sh`I16?WIcY<#7+A7cpGZ<HAy@{ra#H_`-s0q-Z#VUS0j=k
zFV3D#;vwBlDn?8_JG-pkh!gO$YxQ@mVLYvG!@KcF_kz4@0RZuCp2oX>`82}2qHoK)
zB<9nDcS-mK?~>-@ZKzGE(G$<Wxd_`D&&@Wizd&D6$~!akDJQpBOw>j&f03E`HTj70
z5^6AtjzKyYnno)94m7y$p?(|kl+U}63I9~+I`U4%#nl!xfRvsKY7+J55IEmd>M|YK
zCWsoVL&X)?qDI{otAURdA|67-1KnFO05X`jF@rkR22DwOEfZQ>-Ekxc-#le0T;j$?
z^z5T}hX~Jt2<R^ew4Oj^2ioJp*0L<9P4oH*Lc=d9d4KwPxRt8`kq->+7b6kxpokuL
zJ5Z5OqfsHyPbeq9B2-q?07tgj#|(8edIF6C1s8c&>M{iPtg}4(3hoI|f!@McoJh`z
z=Codoz7^4@X6MOZgwL9i5ee3vGq^99>fOxL`m6DhZ2?wL0z5>UB@J1*K9ZG3k*wl7
zrm`!CAacAF2EpA&&fHEE`O}{yh*>DKP-X-{y;?e31)nu7M@dC&mBqs~0K=egn38j3
z=ZG8a$%O&V*q6YyhGvzqlZb;m|E@9i&&n1!RUEcB9QD)|LMY6&tyFw_I#i^a>?s2S
z$Oe_yBZPLdinfbrT@gY1Y#b^S6^RQG1%Dl64e~({q)~!nQN3sZmv!hyW@)Mf)ri!A
z*Qlj-_=miQ!Eiog`TD=W!A6c=M=$??CcLcv5`$R%1rZ_}m%#(Ht-*_HyT|*)XuA(k
zpuE%J8?pc{sJ2%5@90FS%k`y~P+)Ge-P?Gr!++ZVsdh}7Q~rxoBOR4$6Qmj)JaqUn
z;EhiyQK~g$)Fg1VFQjuHv4=6%YRX0QL3Zz9o%@a2$|umw*BJAGx3=<MxjP4L`RCW7
z6n&Wk$Xz*<+{R4qew0{lOy}@+_}3VdxO)P3pFoFHTX`#YABH=W4#j!{9CGGv{1$Sw
zV$~lwA9gwX(g2pb$05H9rTJQ^)`HCJs2PX62sI$xqN^E)oLCZS#wFGoE=8LZM$VzW
z9%bPc<RKTakdK2p_vT1G7V-4ee9Wd~D|tSQ)3{sBhm*V2eAqa=nvYw!Tg}HX?pE_L
z7;Ywih+@4Ft}(TST)Tf-0`pHys4?U-{d-LRHY?obGCAeVO6C#N6;P=^&AgxM+`DUy
z`!G>L{g8#B!$A}0qV`~Ac5#g{j1bxQDt>*&zjOCX-2FLzYmI-xZ;dg;-A{A(U-3)L
zp>(%2Q<{NF?0}3yLx=oB2(wxY*}7Uoc2%SM1fa4IZka;DY0KX&ZhT+fZmVsV{9|-`
zI;xGUfXS68dAj<#uc$UYsC}L4>*{TVl=(APLmn|4eG)yh<R5!-RD$^MFHqGa?g
zsz!BPBvy@4UFl*~f$GW-tA?tsUha_?#fVi`;1i>RfaJG?f9?H9uWt*SOgPizIhj~4
zlA7mFvxpm;f-jOh_%m-rx}ot%rnmcI$#Wu6e27Yk;v;Yj1zw9l(Va(LG)n4wHr}%J
zfW2AGz<#t#L7Fj=>fj;RZfbYWsYPQ;l+8ru{L-2AU%LiECt82PZS<T-a+g7kqM`l}
z6~PmP;CVto)OddbmqxY3iR#Osuv~dDs<*gtYC=NL!$D6amKA|-$Jd{B_a~mY`e~5>
z{1y5P0%pe0?Fj4ZjtOgzge8P-LJq;5%y-dm1&4#wZVWF*p!A`>-M&vod<~M^L{f4W
z+AQy(g4*=Q5ds-NqVL;kTP5$Q6miuMG+1KQF)AzXDWkaRPPoLXeEOF6*sAx7Ri7g#
zs99pw)2hQY6<@C5-jh19dK{XGs;%x`)|;Bjldb;A1A-sI2h@HDYN==-JF}sg1Y1?W
z3>1|+RcgRcSqQ$Yf>r@Ev<Lp9!P@@iH%bkpf7))^Rt`Y4(?U=NAi^@p1C6*4d_eWc
zvR$@Y@-|%@yidi{hcNko=}V63^EgbHoE3sn3?_^Og<xJBrrtp_zJcIHj^OuE1mZ(U
zF)@=V<}ol1P#O)X!B6pxn7!erBSJ9|A_RBA6Wlm~9y<6rBnUk99!zvC=KQP#lZll-
z;;cM{FT}qY@%7~y;AJ`qmQ~*tyiY~)7eX>cO(jd*nEpO^lfRpQjvul5i~0q}sBoKU
zh`Ut@o&wu{q=NSX(u8u8nw`)(P_zj^!9+DQn}>pAsu{t{RV@F4)PUt_!jh_bEkc}7
z2x5{UuDXGXNv0|$-h*fiUP5G^EwAcu&7-^x;CZ9EPc^LxZzTQ@<>Uj11@b!_iD#By
z$D4?!5e%W(C55+1l^=oO9?`#qlEAlj+i5A>6ueu-U?B|S;Rc2jU@(Xe%~wN?QN|wP
zxW($j#B$FGqv-uJxp+lQ7m!U<fxf0-Z;n8$HdE_{Vp~oUnBclje3&Nf2<`Gr9=$r5
zz8lhsKWFeGHPA$T@JsH*+=UQSxRYkKgMY;j$O1pn_X)wB_(7guC%O(o`{g3g+w}l(
zXFC0i0E=9r4Rdq;%nHg^E1-ZNQdi(51Zz|*c@+MP8cv0(ix%pAh<%XKc(^+>lR}da
zGvq+%lN7o@4TZmv{71llD*Uyo`pOB==RJAF^8VlzHGVX&PrZsw-k!hJCO0X+BnaND
z6sWo*27xqx#U~~#wMHA5%exu$+$XHH>4Wes)wWyZ54>km#Z@<hkL0NO0I7S=pf^e9
zK8fPP9o&&5R=voBOs+ETnPgX?_e_dd9VGVi(#xC(irAvoOmr44n4`gKi|3RMy+<oX
zy}eNn3|7(B7W}F^M*nlgNRE#&rY%UaDQ;|~F0%Rf5uTcsjAL#S%?9~1cY{-yWNRhq
z$*_3B3GQ)de)Pdrh)SPjkuoPi{svqR$KgUQsHPKps3uh31Bd5Sf6;pf97t}Dgjwz&
zRU=ftG_mS4@JM`kH-7QmTYUIw)z!z9k8kwHG%SIuuUP#8TvcerGgL$*WaVfIQMFq!
zE(xAMu;)}}`E43|zd%?I_7bN&qk4y3Lo8Kc_nm~S8L>E3F%|V8N-|neL(36Pi48`j
zL1K3yvCutQBDLpEgxK0UG+M0*OA#-4J5@}z+;6`?9RFB!-fjcR0)HoymR~Jy+>WGQ
z0tyIkUj9}q#;!S-s56tGZ$&y=lx;MWp;-u$W~gE`KV+Fj8T;Y+=W<|q3j2D*pN>!b
z!<h{oQ|CTT?URR6?73Rpb2-^@bmWTne)&%CCvFnfTzyNxd3xwyPp@B`>U>IA_T<Uw
zs~@jH?@!NK?Omt6+q5^WxU50A&V(^%{1fLv+6O&rp$yZL234P)0#ZHjybLXho;E0Z
z^lT;_1y8#M7kU3)gZF6gk@xzGRCt;hAy@1>;#MKlU+0p!^Y5KH=bptSQx-l@Vjg97
zEWD>^?!56OE?Wip<P5&oHh<yR(#dm+7Tr5_*`kuAQ%dK|EgA1#IPW_1up6gc6N?P)
zc{j}{En9Y9$y`_YjD<^GC5!Pn<Az~*^YVtzDw(%v_zVrz45U*wr|kY2MROOHNb}~E
zm6VsmtH<Zixe@dl$dH=}e(02vdqHY9?L%&6C3EJLlu>|lP6Z<63>!7-tT@-02cIj_
z?Q<3{oX2C93Muxb%jwfRW!c<CB`&jlo_Wx`p=RoP`4bJd+b7K`8f&+i$1JO`FD-Y?
zSvt2Q1~dvcW>WDig1vpJ^<1E5!4b|`6Q_<j7ceO3hF?}O_5M;y@;dW4_tLqph0B)C
zS!})stI~_kNk<f(=O&70Y^mGq0-~X67Nh>o;ZB>Ah%iTUH_^T1o|3W{<gxUOWzvP9
zqj&)~X6%I^d+@nv?6eC(NAceNE#YpRYX4UFDCY~cas_Xq>7XplyxgtM3n4li{=%$`
zgCEOF|ALH<gV$v1LJ{KNt>cO>!~-gUDEzd0E+_&~xN$|}rEUV2_7s&U9I-(YToS~n
zzqMrfLSBQ+bLP%PV^A{BJbzgkCsPAA&sjPzp6r;K8O6itI6tqu;kxV07_H94r#!Z3
zS|njO?MvsCR6z8<4MF`f`(3Ox&$M31pR?Y&1U&_yfz}(0iAmjW4Ib*f0g;3R1OBUU
z5qNqhBqrcL`ExYkv+%2EV(}vxzza!91{EKNP;1){zdvx`2M+wefgd>V0|)+>b0AOM
zlUclW_Syw&OV_SnyJ2nJ+Qzl5YunbgukBc?tnFOewO07e|MFb^K>m3+fL(=|lZ6uD
zUO^J(;$MkSj(=960xo(m(Ss57FkvX)EUYR?zZ`hqzBQ|!yY<P?m?^jDmIg;Wmm=&P
zA#^#gr8!~K8#})0IQI4Ur{2j}f21hz^RqXiyK+mL(mcbYRpVB_QupL1zdw6tx?XRx
zj`+v+rf)b;e*c-?7u<`UEeMS?WsS##*<KH3@gt8J4*Ki)SVnZi(Y*Gzc`&{D?H}N$
zE!gIv|D3((pAXdNN8V%eO9Yx@_M$(Ip|l6PXxD0Q3XeRNn7!!FVAj+;41Cny5g2*{
zF1i=JFTy*916F&V1*h#rr@RZ`0pjvEy&{hV`2Nwo(YIk1vqQNX^GdYvcgLN4r*vf(
zl8}v6;0d<3Tp^k}#D<QG%lp-VSm8@1zM$aea_o2GfXsIZ^UcAe{z7bTxF6f0e{6R6
z=Hxhh3-cVl9~U@$_hZBIZHRS8(U;=Seq4;7`xks^6@MmG(65hHD#-Ek$2G^V*K3a7
z)M<`qTQ$d@+BHYL0tbi<e}oOVF^_EAi4q0XgCkTAn9Ss#Q-)NUuW4ewHtZzAhH>QM
zP9|T%WDqZdcp1dYAYKOXGKiN!ynMe!eBm|_zKjT8#tC1>311c=d|8C>Wf8)cMF?LO
zA$(bc@MS9DzP9ijMr41vhE_$opKsc$E)HXXkIXE&O^Y_g*Xr9<B>tAR{}o{GpGz<K
zQn35|;{>11;oFKA@`o+saP%(5y6&m?<aV6w@%?0Rya(_XO%{Jkn*f11`3@B?q33uD
zB6!vP0?I-v6)q-lc(BLk&zMYPKI1FbV*AV*EV9w2?ObK39=_F$_op!L=wBm9co193
zjBDVcjfRL;jc7_9mf)B?;C}M1-haPQ*}}KpHfu}NJ1o<tU<2XQ?k&dH9WiFM!*9dB
z_4l#ir9Fqz&J57YpMLF?SXaQ_En_{tv317xU~y!ZI3oBnUnDTOHCzN?Fg}J4AnM>-
zYy`xNf_5<fv?3ceL-`&=asY?SOe<1OqrC*~B}6L#`1UPZM+CrD1c@^u+(zN@*kU**
zAPHp{a->+X@>|tdakKI^9LkGm9<8;FQhgVe3?+Hj=W=VE^`zkWLh|2cIF#l&3_m&W
zg{`X5m81*-i$X@_2E3HN5eahU6J|uKr&$4qY^<h_KO4Z|Q2KnSaEI$6aT7~m`T%XC
zl?u1I4>D~2M|HW}QD`x_KVpSN8ScN32R7d@)aCS-VE+&*RcKAjTHC2~pfj#N1LX4u
z2IhMkP2#3bans(<<@U;t(eVn(43x1$?jk?GT!Qu@w^eL7aB*3Z(gz`-&y+&E?73Um
z!uAYcwpATNF7Bluqf&|&^9_*Tk0R)U7m7gPMWvtsuK{<W#h|=SZ4vf1dFpA$PI8%<
zjjX>PF4x84MsB-dDX6c+w`gstF(y({u*0BDqri#Hf+!@5as?8UZLC4S(i-*_iW}Qy
zn`K~A;A4GZlY21Sa_gW@N+u9Av4PuIYAaj@d*P1diOhQ<(T$Cc`|H4AaC!?XY-i$_
zcI>&oj6F-6#wGEwMwB{iEgD?|k)O%vJ+KqHvjIhp1+H+>Y(~4ts~effV1IA|F|UAF
z+zK$}qn%?#w0T^bG3)NTXb-Y{UR#skAVO^1h8GuC2}Km)lksKvLb#uzS46ni@CfO4
zz>y$hZ6CWUz~EB&hu5s948sg%GJ5}reM&EYYW68z%18uo`;;z3gMCWnEwoSqyAjvb
zSTVZ}w4l9#D+exXwi&K$5XKkNu&#Ge3ZdVlYzLMGh%ME~Bu*p?V=L71D``_90}X(J
z1N?C(DSJ;sK)wJI|B5aNTR^e@6S+~swEL5m<e1zNS(1aD3T-@9?L0iAF9T}OkvWyG
z-qCh@*D`KqLPTo&jHU3en%W^D@)WB2A0Y|eWCjkJJlJTAy3ijrX+L>;8xMz4*hrS(
zx|n&DK4hwK#B<W*y2x`f!<8&2htg%%D}+js9MX#$lYQ8ck3Htbs}WbTi=njEa{-SS
zoT&SUBlIo;DAD^2wi>GD0j}H6OYf~j?{H4<)NG4YPJ*0z4senOcxR^wErPCw>0q0b
zVD(vgf%-mRb^_p4vepcYBWq0$vUbSErGRkw)8B&?V7Fb5X1_C;hh^?j!}u2WZ*RXd
z2$891$$sY=j>y;tFD}1xE{l=h(^nDO$=d21HaXvu{f<LU{{t~)w?p1X9o=;x>KS-A
z{1$A?%WxLHUzTo{Ehf7^Ex}Q^uT127A{)*2!d+z_!YFBjj_;SsL9`_xm!#fOPqjQ;
z1j&S)AzQqfZ-Wt!mKp4?0(|;tB%`dPS|FzngBy)HHa8mwYq^Fo68bV@Quik*4S>yr
z52~(aZ}cHLC>iRQ@eCY2?TxO&7E9IM$PCxFvNzfUG@8AU+#8idZmOr911xaREapja
zk)eJMKCukWJwVRC@CcAJD>ip*(diJ10+S_^X3TOG?YQsDcih`$G;ax^Oi32->IEws
zVLlu%0TOBw@?qhHy@$MCkD3lu9`XPm3aJ38z=Ft9`(vYnTacizxC9+H6W5Jd2<H+c
zVqrDBrcI5Nz-cq?0Ze|_>R+Z~BkMc}T0Q|iK^s~Uy9{fy-mD(ONP0Z1FyQJ#yG2IY
z{^CwPZX=b`<L-}gSZxL?^<T3>j-WglG(7{a&_;3NSUnoh=}6aFJJujIBp{Bp_SS^j
zG?V8<*u6m9I7RP0*h{SX6aiB1yROkv?r!Y8D16uL;5(Uil7DSLy0!_s3NyLuO>8Xu
z5w`3kxvmM4B8)wkiRG6|wXLB`sPpfOeGZLM?whnV5`q~xksu|!g{=?hV~UwkNFtWl
zEDZKh^)xV(DzU#`ghKJIJ+;MW+W-?RZ%MJ>En$Ms_A*1KNTrtpM-e&9KBvX%TT-O_
z8yccorv=@l=fD+v6w6JW?(5}g8@ND3BtV|_a-2j2n~@-B6swCN+QYX7OSps&ScV>)
zTU^-c?DCth6O%fb_@{i=bxJn1cixglRCZ@8Y6HwNIFK5iro4k4@Jbjzp^s4zi9m$h
zZJ>U@pI(e^JX}<YI(Gj62xBr&1;S{nbNH@db;(Euk0*pp<mrddlfh^%2Kz85Aj=8y
z0R+F*9gMiBVU?Rbh|7E8nQBk0*;W0ow!u4ULZ1Fn8@xFXtMl66Suu~m1Gk^s25%+y
zSp3&*@Dd>1Tzf+2|3BXbPqR6N24sQMqCZg0Pa{@NWP=Bt^&WJj=xcMa%1CAzP)?xc
zybU{8Za9?(S;PQcwO59IlkpvF>=aUSqlSgwyN%uF*dd6*`2KC|`Wqo5|Eq26c4Ftw
z|7$jODWQm+7`L(Ogw{wlc64II4>oofGsM~__O!9v8I16b+t_^@-u>UVu}jAe-fy(A
z)8>C(`<&W>cI9_?2SUl7k9D=t>6-7$4zCh}Yo+r`Bm_MrPx(){R0FTG?eK0V&?5v2
zH9TsESB$xgh#lUOa4WL_5pRb#fFjnxJKhfO(SwBQzi5Xy2MQ+Fu_A_c!Z{7?zHd9c
z$w*cS997wcF-MFY-hU89821yzh3xRgBDTun3)|tX1J@#Ucw>o!iHOJ<`)4H#>n0V)
zcecZW;eON(?-0@YN8sXU{|R<@x!8Qk?eOy8fE`{4OG~iB>xZv6JG^rEW6bdhx@$h>
zkTF{qopsp>U)2up_Y^(e4zHd9{|R<@tAICRhqn^$h#lUK$*tMpE#&S;q0;({b2z+e
zzjhaQtM+S7?pE#B#=y<(@C<OsnS=5BPq)K+11yW=<7K!bc6iTnw`zy?8}3%~@oNsR
z=Hr*#t>&YeyVZO=0Jmy~C&P7NJG^HxP>Q$18^U9s%MNb}LS&<eU!T#=-AUXn;kVXk
z#BYu97VbU{RiMT=3~tin{&73J{lM34hqp`n>bAr4LLM>Q_9TWz|E+d-xk&fCc6c{X
z;I-e*4sW=cf&aQ4-jynXZ)Jz)?t|+6ZSC-w27E3%yz3%i-FA3eF;41XhnE<EinGJ(
z#F&VPU}xFk9YV-|lO5h3Q2Q<I@G1cM{n+6p5~lx&c6gs-w)!8o!)qfXF?M)Ep>v$e
z4v%IkP-QP{hxa^yE@+2Wi`0N6)(&qL;(RZ5c*`j#|BxNt2*PkqJG_IGu?yPaeFZ5Y
zlb`=yJG>W(u5Yx%TTJ=7fE`{og`d|B?*mHXymokNDD)h5cntpMv%~ueVc*FP@7I{H
ziM7MKAK%}r9o`slpogK@H`w82oGZqE$qugt-1xri@E(Z6_1|iTcQ2;xP_@r#hxakU
zda(B&v%|X-b8JW~&JORV=T3wwWz-Ju9>j~a!<%q{IOnm$TL%>1)eeu=4fvS_%8xNR
zIR64VPBMsDKmYs#zVdtwukL}WhUc1d;ITv&;^%)ZZi>V7w2JBXc!`_3$GjS@zv85`
zo-}b>uL_vtqLqEQdHxr%luc3b&4|SZwY}%_ZEfS8zs@}1`PLcEUmYKHx^d5*>%YlX
zuICoHo*UwN+S2_BwSpci>MT8f(cWKa?_*Q9-SXQ5=38H1{)<JovNxXluC{eL{v;$M
z==BMDvZ0_24tV-&`_-mu?*$m4(DRP=Hbc{*XC)M5dLD-YPS5Y5QPHy&<GR?lOM_<`
zeB`|beKtK2d%M_o#7*Jd_G>@b-Z|&|V0#y}P5Qz1?g!gDvO)d9_HLf}2irU9Dt>r=
z;J^<Y_<;jIaNvJ42h6H{ifLWOx~z5Pb)I!K>(;D$eBIi0>(^~qSGTTlUF*8Gb?xgq
z)+y`Gl}+q7I)`o36v2sq^kBIQBbIL4rtLr8b<bNB9_zyuEx%p&uj@Z}824%1T`qKC
z7<2Z08W?#S%KtGNrAAK0|J@(eW(jiwF;DdVj5}aMqn)cl^Q;}TsZ4v!c+=lmPkA>S
zrWC)`qYeMQ73|tFoJ~WJi~cz_OC7~3{gHPpQD(APDqF@cyr3<pjd!U$pm*$Jj<Ice
z1exnV_*(593ul3ClXh)~P=f%^V!&x{yrPdK#s+Gt9%(KC543j_2oAtSZJ^RnR-RJ8
zYVWh)G#jYd2#D~M-m#Ab_<Gv3h{^FbEFwR38WTj?a}FDtZ)M{WiT_PDGv8#x^Kbh<
z-Z$iG6e3KNSh|4Ri&u4sFJ$(E7g2tnP{e4%Cx5~n_vzw46XHMh@t=nHPh<RNV*F=P
z{HH1YGdcb<CH^xt{xdE9Gd=#ZSNx|K|Ctg0**pHTPyFXa@t=L;KQrS$`^A4=9RHaW
z|9MIL=cVzVm&JefkN+GH|9N@*=N0jv@#V{W9rL}PbkaGjx54PfBtD(~+)P0z*M~=B
zvsG!?;k=W@^kz6{9wOmAVJ=Sw%)@{wOCuN<OrWI~glWw8xBG<q1PQ0A<9Okz(iCa3
zbemLE6n2{?PYJv8!fpZff;jBHpoo6WMUS)>J<?e8NJr5l3U>WEO<{KyZ0d@NL|t0;
ze7Qe%=UcNAn9q<spG+#WAbg!GXuc@47U8E6$>mr@b7K(~Z<8wC_-MypTM;3lK<0hW
zG{AMKcx6|Scx5O45PW4D{#x<ZScLQai4b~N<sqsg%=el2LelB5I|G{yVQu&kZJ}4@
zjpPgJIVZ8I4$n`;7kXjOE{FGS&MOwLqHU8VyxZ{Cj=zp#D?C@*a^Ro0+Ll#ZT>NNb
z@uTglZRXXsf?0PH_-b3;U3cD5EEP+4NOwwiNi%S0?%mQX<~uYK!5PfEGP^@?^`&>a
z&SePC%kBU%CcG6Gv~5N;7F;vI&<=)sAk5*?jBu$bTna-m;i)3e=%(8#{3hbgAT)r2
z>qmS;kZM;c>JD-{Mes+-_)>f!4{!6AqAsVn+xW7WZHL8>-}nxW+QcmeY>Q;V4jJrH
zG5(fYP)QkZ(!~nc+p~egNJi!j;H3HgPv3sy<FrTBpT3%2KB)^PLTxn?%r^Mb(+2aq
z+Ej|k5NIYgbPk}O%OPGp`X3&uT+TrddRG5*)dA*f?T!P<=>7nOkHmx#!M;{eXpeyq
zb&;I#?CcPA@g3lkCq>;QPjyESb-lYk5al1WA)fB=HPZD;tG0dl92m>@D65pHzqr2X
zZ300!d;S~%G2!P5-hrkAb+?;jZr>F>L)5HY<};kC0Kd#fxfhBDOxVaE0NaP@ejkN#
zFS5B(O~oRYq_Eh_0Saj2HRC2b$_i}9=7tc;Uty1=?p&KiHQp>dI9=Hq^&3);bUjL4
z)T5sRjiwn^b;ijsmE?gk0{MQmJ^U9Y8paF+HoT~#TASV<Zlyc|vpR-|2~i@7qxidt
zutxnfBJ!giQ6fCIMTkg@B+yNSjKGFhR3iQrZsjm6ggA+@M7)cLDkt_JxF;vxi27+n
zyb$$>5^<_1LPTXGfo>uai3n=kz==LY#KH(nED@hXiI^D0-_41eqJA0?*F-&{L@bXI
zar%<8ilY*N4Rk#Ui15R$d=i0)C1P2Wh^+|j$%$8@ei{+aL_MNJ9GMj1#EM7)-JCd$
zzy`8w1ra79VpaqumWaC{=xT9Tqxicykr(yTh`1u^5hY@Al!&8QXK`W$5fM;{@WQRU
zAAwnozE3;DH*%o{*)B%hszn>D(5e39DL*lSOx1ADN*fXQf%Eaus7y?7rz#Fu-@qdA
z@=$;BNr2A;)h7+cmeHGNRAiBRJaUvo4x=RjI@CKUa+JG!_{Y(Q1PTN<?ze$LL60ZY
zOZfwak9>bHzxhYAHSEq-lz`@QWPw|1@W{&hR4zO=KUSXucVofLBh+}z7UC}Fp|jKB
zTP(opFG^C-3SVWqwrhDd_3(gMfJ4@=;l)DSeG5ZfzL!|J1=Pn#Vh*)Vxlun&2ri9!
za3O$|SLVH#U#KSzD4%2QphxRehQNj-RR}Jh2x{Jqz^tZ=Sj@^GjK<aU-#|#u^q-IV
zY3V-^^@yhbnIn?^k_hhZns5|>4Jm5+{|;J|X%U#!WL;T+W*W^tF(MC)pra4!g>6q1
zDmP%&m;4uiY209jQLoWm9&z$l0i&B=-^mY)NXl;veoD#7RoRb&DU>x{UQFkjO5BIV
zFK+9=+u*{vzj&Km^Y}Z%HJ?@Do6fy<jaQv!IH9$YuLVw9bTH>(BZ1d7A|yd&M-X;p
zjUyLQ7DA)QWgypZa-sSNp&WA2Fg|p7cSQ(}B1*f(We7g4=yNPg{#EuG05kcKY#OU8
z_g<%FWj2vITM!@lnun(U+Z_me4uQnXV!nO3&Q9@+y%D1AVg?JKgs#jkLcBLA9%#wK
zn>%tM4l_AmTCW<C(>^BRKa5s^I81jU5|%n`F`ehX$em26(7u6)N=$CWNKX+-?~<sW
zCOtEv9$b2gAid8{h)B<m5ZFU{cial;@e`B$>9gThE{?#U9kueCn<_{y&|)z~1Z_3w
zu$9}9bt0^Q2qSxkJVf8c5WOAIxv&#Ea&UtUz4HWD3SrBm5Z>k$D4%Kk&QYEP)|h<p
zTKQPiPs>+T)FWCecA*&5S~(qoJ@WMz1U9^+=Bow_P;QC9tj5h0W@SMi(CLlb(G%0|
z6)V0kU_P0Ky}+<A8;v}v#r5%c%4xb`I$p9d6R+?Z59J<NvM7H8x|lpzsBCsc{j@wZ
zMm=~QEGV1wXdZrvz#e(XqC9+{=3z73%1<INtCdI6aD^qNqHw_{s)<w&DBQk5SH*Ib
zh+irOI{mkUP8_?ziL^x1=Y1e2lJ?-Lglj}z7WIe{xd2R18GX3-Swxm2u%S~W@(Lny
zZv<v_cP-$O1RBtoQey#^Spvok;%x)8O`)Fp7|{FIX+*DCrFRW5^<*m9LdMa%DC!ZV
zw+=<6(tC4+mhR@V8G#L7tMo1-i5(n)S*^UJ2`@E5;4C#jV%0dnM)`}DD~`WIIK3Kw
zI}qBF-W^dtjlZu(J)-oQqVztBz#c+y5z(vO5t04|+{*F@%s28EfIa#9;M5rY(tQU#
z>7}zv;`o~y^@!42JTAiD55%+Ror}PRel!Q+PZx>amI%yhMUO5=xf$&?tcS;f5@qt$
z6d(1ln71*SUc!5g9=*RnV-mDDX2?mj4W+(}1YemCJ3Fb4=BN4fCTLX)l>fwX00eCW
zWN!qCKiZ)YqT4Ld=tJOFpK!3B0Spd{zEutom{gZU;ncbC@L4LFQ4~GVm84?Hm3TAV
z0N$ujBULCG&Nu=c2E-htAtXa93lLK~$P!&8^b%dh;FVwzf<__83O}p9>;`%nmM7CI
z(UlMyT#qJFQ0Q!asSbA9LPHjQ=q!&=I=vm)vvCb0lp(4>cs#-VU`FsA{Ah^tfGY3C
z6$|)FteT1ta*ATrJAfx=Ke1}7=Dbv_x<doFT&$X?IR}YVV>RbsvFa%e_FA!udQ!qL
zM69|B&R_&;(u&FCJyG<gY7jSxRf6U$6d%4!bKW98d{Dz?6CXBezT?G*BcwUiJ8^;$
zsA=LuA8HY%ix0n`IcK=8r{re2rUnD>s(&1al!4%nREHK)6$fG&eQ7KUJ`)8z316uW
z(A|Kmy8%N#Rnfh}p&-WHPzz(AitF!#+M&F_p&;P`7Yj;sYz)-!`ke?;YR<+rAO<S-
zHpz@o>=({^=vhxNE?=2#iC58?GC`qv8`PBgd6eKX(5>8{`EiprGw~sZ<+kG33Tht+
zjHrDD^@oBi5rvQjFlVXe1^jLk4ySC1#?TWoo+@w7DcG$13c>0mL95c50=`62dKDi8
zoTK@G9Od2^;Je_~@U$wA5-{*#ju6T{jjEuF6x7c~{ZTd&=|1D}Nn}E1?8J+%k(rIA
z$7MnAe-M4d3dIIjOjF0_C5A=)w5Hh{_25mN8U6DTDbmz^2{L*#%@qi27)B)c)1MiG
z^!7(!)Zt%roQ39YDri$ayb7@DpeYi@wZGYnU!99N7*`6lagbplWQw$Qsvd^Zk=R^t
z73Wb=mMr}KYI5cA<7BAiu{0okfwze0O3NlvQ=h~6tk@6|lYg#b4U76k@*nl!`KOW3
z60lM2O214#JO2o5xCcp6{=o}ne*}i>juCBdDzr$HUxBh2!IT-APof6DMjeJ`)gsF^
zhHTHMY{7LYes!+P@N01O$FI>f0KbW@%R>YCq;BYPuFQun=JUXzj5;V0LMWNvsv1)3
zNLEB&Jx6~rLe0z#e+!2(<``i@t64VvoNyGR^a32H8v&&k7jEN6Zc{s)eF&z@TYbiI
zCuPdGm|lYfY+Z)mbbN%aV!Vh%;*Zbhpzt~h*F5sc!^;)W^NhK&h*uW21qc8NH;cHp
z7_!MPgb6!CHeH47!wUd8Y@{Ju^gc)Miwxj1RYSnw7#Gl9mZy3yN}~`yDl{ah4!t$S
z#9_+Q)I?=0q4-SX#v~xh4tkp@%(`P18dA!na|SQ!n~jqIQKEJ^4ffsS&^t0rI4GtZ
zixHFw6*nd^#Na48>!c1H96cVegO}ZT__2VLN1O(ysgY<8fZU;t-y9f?dVqxTQ$Zw`
zD!)6UHiQ<nnS78BK`cQhY8Mg0<L8mVCS{VC$TLex5Vyot)UB~aaB@DD;^t7Z;7$m=
z9pk6+R!td49YtsWrh-u4o^a$F1<}aX_=?ea0b7J&6lYy&gmtA+)?GyrYk2-1$@b7&
zZE<r6ClIsHHCl3uI4*FZ6vXl3EoHoTqo8qgS#?>=+tI<gqY)?9@RS@W8TNs#EH$7R
zcBAM>6lCL#6R2si1OwnO@0J!cW8ukUL=#YhHWYV!f}{m4#`%E5k_)65_ymQ_avXk~
zl*vmVa~ML=G7iT}c`F@mj3X^HWm1eJ-my~>7%HgDRjPnoZNN&H_s`iLLipgF%95ye
zo?5eKL_IEviiAJ&KMNzx*mVf!&3GICeI3)we?njbnOUJ38$BAt^o_vyloKg@#9M$d
zV}at}>qA;OAXj-r#Q6oty9&YG%!UH0>nT7M2w%?vz+onlqK+1TRy<rnm`|O#;DtgB
zggn*6YbsoiXeE~h59807T1qphl3jq@1!~Q|gOh3&H&z+?gBj?HY^o3VZJ-OT65S&-
z4-ytLZ#B^jqUU|YU_v<PPE(6^Dit9V31v7+JoM-{CoX!cBfN?wU}+BmTr=Z61eZhg
zsC|S}s60o<FHm)eBNUYZf`kU|0+iO!ReX1UPn;6Y!6`84LYy)oeU(!vHHZz$t0Lkk
z;tu~K*=ylYZlGTDe8ow+aH{B~s{_?`O|IHZv8WzBPH#k<jkhMYv$b|_HZ_s6O``Wb
zf{|(7C(xm1avO;h#Z&$QjOYbNq9Tk`#?o1WU~?%&D<TCHQA#=ELuKS<BvPfA?&EGi
zg7whgs5_{j7FrXJi*QsSFR3(Cy{m4daf{BtWgQ-wy~)FYj!FC@hB}(wQ$aaU84^u1
zisHi?I0^_qsf$sav?!Q?f(`Db{@}s{Jw)=um1>%>A_-QI?-t`zHsVX=W@_S^cUb9C
zvq1iC`|-|Z&1PxPUkP`+l8*OTXL+bFwfk_9YLfDkzi=z6Pw<LZQCa1!Y)d1k3)^ur
z9o??HjU8{Z4-Bw93h6SAZwR-_yPc@6shFIU1NP%bC0|Cw3FE3mIm#*|7EqG2Nq^31
z-U0H(KL(n2h{O5$xT#G@gw%H=%M*;aX=Rn`|GYzP-q9ooJ8*>G4pzO}Z2(Yn@Ma+9
zbAvf(Z;p%wkF;|N{|+~r)(`OFQ>KrNKwGrN!o||qN`R^w%<qFY#jZ~dxYkM{h|?#J
zC{KeWkrOO;(&3d*MqKEDyg1y6j{Bo|Nt|K}^{Sc@LbsD%MYw&LOYq`(2VD!{cKFd!
z)*DcY=(l*uf~>R78I+BqDSCJ|BfL;G_%}ajkABp(RN0sTAPk%wz66I{w15s09^{aV
z(cfO;l(*XpFL9^Xahx9;DVbdT?cqkdH<0BlY%2R(jHZLUn3`|(8!UF&(VRh)r-Tlw
zt3t+I7)lTyFGU@AlidFFhx1VdAEeevHoiz+oO`@%x4@V8!8z(#p544uOvAOaa(@Yj
zG8vm3dYaXp_pID^_i-t``F%`<st3|#_CXOw&&vH81mToi?+JsePtQ|wK@Fs_7e6HT
zV>%?)b$4jLvgdR-Y^m*1Ud4dvLWknYNckKm;#PeKf<9B0AQTrRq8{a|6h4U;mkgvD
zl?{?-z6r;-m~OLoWoJzXugs9B(MVnXAd-F{)Q`^PrPKay5yVZ3xar-`<*v%lz*0ef
z=5;}^z!zR`M-S%x`U8*=lAFWZQ9x)NxkxT1rO1VznB)>^tM#2N-1X~!zX77WkJarT
zvGKi!KDcZwJN^;Qf$Sr1Q)ckO?6!RbeUR&U*=AJ@QdbEizg?%)w&O%H>gUz-A#pM(
z?!4~OiT~P&^e`G$>!0!}5aLeiq&k|q3|&=Evs}>%j%FpGn6W8}4^RRfd=$xLNTXHW
zr<73>2gL3a<$2(e4OyX!SRiEZ%L01&C@RV%-FZy>Rk=zB#VQbvNbDtu?HiR9>PNBp
z>9bqt@JkI3sxUE4V-=0%bCfXJK2AH@2Q1&j(>_Q*wLRX>E^B1?g`VC`cV4|25tITV
zw_W)YUYs-4KPTVcYM<`1ZoV>=uQ1ge@m@I0&w3o`$Yy0jp@(OyCskXsb7(+qQ6uH=
zRxU-8E^a~rK&TT@5JjQEY8Y=*@^=HJe}Yc=c&}Pa0VNB^GtVTFw#)5-VAg2TiNrDc
za73MVa~@cy$;Ydmpi<thJb=s(5;=Uj2vE6A`44!#TBPT}cTsQ{Cl1Nm(*;aTBG^O0
zv|$vnNAchp6f8C<Dd@4Oe1bFKt@1Vr>mF#Vz+MA}T-o(!kZQCrag8d@l)V`T)wGr+
z;!bjFZleV4opV@|t1Va$&?5J)4=2P#_I4!2l!ck3;4l<}nz1J32J{Qc9Q-h!o_6vi
z(fpD`o-@GBcr=*%;LEo-Xr7Kt<@7g4>X5vz2XMN;XUjBT-rp+g_fs2?s&wG(`H6`Z
zn>Z6P-X(z`b}WZ0!gr$cXm5Ue>=1M=SmdcgqaZb4;DSThl2zU~{q{7L+GO_$P8@7&
z$4$a+oTaH%SFLSXiMB=Fht_|Z16I-}ow;pJKQl?M>cAwN!S237^4}U((Mj@lj!o){
zvOd)7R@s_TWXBFGaunNrI?3CdfX*U=dB4!PU!!_rvZFL`i+u);H>5MI(Niu!gNE&K
zz6!I1Rn|jbJ5(^nk9cjMnt}~Hb~)(8q13;5CmhBp1vZ@TUVY3}<nWI-;bcP;M@MS;
zaGMVcjyO4V;G1@zr3=Tb<IwImxz^EwI);2p;bw7Ts@=zM_W2e|U!Be##(n3_8Fp`@
z*-^N+>}6h$B|3O9+WvtQtOV1EJ(0esyZx;^lt+A#ufJ&&ow17~hZMl2+?#=(d%q@O
zQ)0xEs#hMkmcLcp*rwD#pko5z&t-QB#%_>ZgS;=d9h;X>ad8#FPW9|^`Aww-u^j#<
zvngr2d{>5DUX*2*%P}|cF&b(rM{{)B0UZ+QJ(P!5KLfBqRBNmJzN4^(c4W*(3ERc7
z*d>K~w)aC&i0h^K`&r;)qi1Ddf9y9{$9?-2GXI1y(>n?=<8ee>MJ*94JSaX?!yQM<
z3rPd5a1apG;v9$Ef-9>zy>|2p_n{fUakUjp?ptVu{y7^3OScsiSs@I?P@fA;4t<l|
zZ^7~3%JLgkT=H8S74QHBN2Oe);z3(`orWj;7Sk_AY(gf51CqRt=gVIBet9pBJeY?#
z8+4eqK)N7cucAW>12w)FXR~`dbyVC7P`G)s?#2=8(2vd`kJ5Cfe2HZ^bT(Huvxm1k
z^;r-=97Bw4XL3+#Nfd~GuW?Rc?MCY~n;?i2Ivsu~?9h+t@;s0RZh8RY9GSG@Cv=AN
za#nb$yTD#3t`MDt&1FW*CSB+r`$(}|Z<pcI-ZCalu=_-(IKDaD3pK_mx3k;;7h_%M
zdc<?5Bc9t7?nRKHtC{zd!HrYtZ%U-2$xkJ6x51T)O6wwT!Ce4ab+{3od7I4E!gs}o
z?gVp4?=aZCSCXO$W@M4zn<)=aephDa(Yd$Htd6Gl@OVP|!J}OOMXLsd*>yGk`dj_%
z3aj6u`)RT>w^hHpdiT$c(}~J^I?(E(rlVtS#+lleOZBweWAjTNseoInx5fby|D*k{
z-D}24&utD=bLjAhZlQ4-)DvW7YdF+9f9rakJC%h4Y}dhKO*+@#8>p9Mdp@!k?pcv)
z4`V8+$&vehXsZ)#mH`srw9BU;+SmwKh+K!8S#Fp6$gTdg%amMvGP%p1dkU=_Apy+A
z@IzZcK%G+I{uN1bvt5@E+Ju$?@8O(PT6a%un8fH-_ObZYyKdy}Tt-*4UqR<{XT&%5
zp+vc|7&R9iO>-TVScK*}jKA<pdVDjV4sPz&%Om%sBe8i<qwEj@Y86jlQ={7J*F%l*
zD1~oh;FZcFQz=?#yhRhaNs-yxL@H8h#&9~m%4dFltpE4fZ8Tg(I|fqJ<L1vrGrBrX
z^y}!W1>V?}(T<sGsqw4Cp7aa>Z2;Qfl=2ZYhVT!#DVN4b<7CIBxGmvCS+8;O)Jsic
z{b{=xzNTUP03l3cl_#r!udF?y%RE*DR%rP`fJd3T6I0r+kuPPlY`Vi=O&`qv*lhmt
zFThLLg$6M+)1G^R28dfQR&+o$M7dvt^0i2EnjGn$+Cqj2a^GgDc5CASJ==3o+_*b<
zH_AMAQoEW^#!hNiQ&KUlbfgJqP)^W>Z-#ad6B=p5pS_;i@Nz@`)=)xjt3&py1Xt%F
zIfu*>k$3T?o!U9Ga^x&DI8&t+CumnSfD_0!MU*@h)G9v#AG?gU_=Nb-qvX~z{^70U
z0W70|7ZdimqKll1{o^{<Wc=z~kRrGT@LyD<E?wwSc06zb!tTBq_gN&k3PL}^+vvK6
zgdi8Q{eI~*dlqA?uq&Covht6GuHeham?89@(5--A?7|AgZhRy$(YhDXNqwo^8`O!_
zPF}O%w_VwLnkw0o*~KJgm77W0)FzkOT&s^^cc2CRKkXM{Chb-i_564L`t`U79uk^`
zDI#0`G5g$oNW@z6%4~=P^E)@7+qKnxYLm}M{@aU{${pw&QEN))Tk%_At#M^PK;N_Z
z_X7I9kA5Vj8SzQh{I{n%eA8+i{vp*lTq_jWtLP-?@dRnjpO1<iXcaM)Tcl3NZr{$A
zT8g+-UP=;yJxMen=XZLPF+8s{eLWynuxy@KsX{Okrv|UsiX|h9L;jdmhuwYHt4NWj
zZL2*H{5c8daWs4_Vzo@HtKK43KLiH`MAV`0V}+ffm#&gRWU*=%98UQNhS*J4lPjPq
zfbxXX=(o#K<OIJVfEZ<I=q#xM+6uRoeS{yeDwFalZ_VF5$=}~TR<=H6693pVR&RaE
z0C-nYxXF9cRQ4Hu#Hxcxq}(xHp8Ax@UU;%>u)NJKZw?&L+jCE%*|F=7I#N5sO?7A$
z&>nX<QX47iyUh1mDHWLSl?8ags~iFq7OVdQVEOyU6wFAQ?Y?BJ?0BkMj~~-wO`ENo
z;IqE9!G64L;y}EesVx&n;_XVENZtfds^h#MW`Y+FeTB9Fh+Wh1<?hY&T@Ih0Qq<Cq
zuc@eF-MXu|u~Rl4h1N_gy%d?0<Rd}O+Nd~?xYT~8GL`wEEHS@(gS9|(<=Cn|!M;wv
z^KoS}^nSoeFGIQLC&^B<s@gRP4tZJ)3vXfG7U<q@rjh<lg6DqSTHwf*T%|UUz36pP
zv~4naP_*$?qciY@X~)qSz>d!>?K8`DeRqnJV^W+tI>SE^H7$BG!_?7PP#q)R-j)RB
z-2!#@u+F^}7*MN;=6QUqg5{3QRLRt{?zMYoy6XaRj(i1i&2TsuicK|<Cduz%*cqVc
z{>QjS9k;ykJ2RAZ=#yxI6qTYn1D%^gMh!rKyqC9lE!J#FXO#~t$9dwfQ6V|xS4c?c
zG97exIke7RjMj0ghQaBdAC`AI^q+AAPI-qS;?e*R1?{pADg&x;Q#Q6j)_xo;h8Wo7
z0NTG{pezf?TMH)ib!9o^30-!-9m;G9n$HzRXW@bJ2dKDsj|8=-rEISQHao@foi;k_
zk<}F-O{_i&fwjx;QDI?#T|ES-DOc747Iur)0+S1uZzVf?c9XTn1e+U-dm7E861e|r
zt^FOfS)j5%s0_Y>W|b#J!*mN}35(u-UP<6F)h@q7ei*k`bNN-7NW%c?E+(rP$LuVW
zBC%#J%0gqFv-+6(7L`D;>NBbh--*cJ%M?ZC#X)ju5vz{C2X`&3v7_Xm8%@VWIw;nu
z;2P6A*H~&h?S*eGN23YRp~n-v2qN-dW06hXCA~&{J+b#<@HI=;*{k1lp}~UM8pyB}
zzE}1+Z|Z)5l=#h6VNE5x2s)?b*cQz6aIH{TuX7#iRtop7xC?R1uar;|fE7xq0aNMc
zLeA&X2X2wjtfg*ddgSpWSpHT9^N$HrQ#=qYw>|Yu^2>7M9u2NQX2El@>O)XusXFFf
z0IlN&<y~w-cgXEpqT6uW6cRmvM0d$4_UgB^95rb<>Y1ore~Kq+_m8DSow*<Ibe-~-
zk)&<;pM1Lv+2x%I12HHr&_e|3q1MuPh>?nTyiJmKbL32q_uIg4PlY1xco$u<_1!E)
zaOpvgGxtmPqY&LWS3-2>KxOD|7=n}Wxx*$y%fS-DuHdy$W%&Gld}GVi8P|<c9kp;)
z3_a!Ek{?$-McO92e49yv;uiUqyp0K%u|Q*m%ClQrlc0GH+7^x)f44f%(Pl<7^v&}e
zF|;`RxPC1%1UF(|Y<yj3J}>F#(TNevMe_MXj5`O+y$<STEeaaxuO#iwth|GR&ao(9
z2N@1|yGjXV4f<ImC&+~fGcLTv$Bc{r)?(!YUdw(-3GvjUuu2A03+4H(R0#?F0k}N0
z=@_%anazCu`looQ)X~Hn&9OrNqBewTB()AuSZMNYFyM~E8=8XPHVkhJnPZp$20*!d
zEI?YjN&H1)RV&?A7MXkXXI=vZ9&_|ZG2<HChq+^Q-fb2!Mx96_)g=ql3vrk48Fybx
z4V(?U+V_S~jLE$B_@-UHKH<!hHiYH(l%2?u^afv4#n`mKAv>|rdJ68$0bf0#fmS&|
z@^&SNtCpdhts@^eU7jY7IgOJIi^ut_$!XAAvaBQfxZ7W)b^`Z^h3K?qZtLYr$E*Y9
z<Q{BNef-Wg<wz?{bk1y(UMDu-RA&jT7^ZOTg&*3*@gFLG;IX^-<UR!<`prCg7p6fB
zG<e3`!L;41@T4o1uiCt=>;y_QA|1*DEtJkQ1sTS$-?;Z06eekoSb#FAIaZ*sGI=IK
zaTOp&u@~c#I9DIs`@vTsw<}&kg)l68OSN24o`<Cmn71nSa0}D#a~2*i!(0^5`{*t~
z@YQF01Iajiqu1lbeAn00Ym4#U@dCTRd*f>IkzpP>twVVU<kZpT99&ii8F9AF_u1N%
z&yfZV_n*vOL)3cJi{?llM=mmWbY~vzQ>a66)8h&4#(G_*6G0?n)mtkju)_4g_<T@8
zlp%0976poJBOOAT>qoSb*2g(AZJYaYJKqA$F<eDHt~7gnUyc$uGwi;;+d?UJ&NG6s
zWA#m)1K<mE+*X4mY$|M-Z<nSs`H(s{c>SMqkgWlT;*dwz!OaTMY@Cq(Oypt|(&dm3
zvPB;j+x)I<tTN=MNrf$971;wwg_~W2y<Je1e}^x&#a2YbU~2p1o4g>3NDht$Yba1Q
z<b&%)cDbd~A^s^lU#xl<uu3s@9gei-n@}I$M5GYzq079EXut(YsInJf6jRei)kOO?
z<GVBFI|ttjV!lzNHLWq<DC(NEG2hS((2}UMID8}WgCU|~H>#u$R8T6|B=|hkeJ1mC
zC-@xtEH!bSE`6J|Z%UWGbF^<tm%dS5-zG0<&!<dYL#a>jP1TdsB1;+Mwm{C|euz^J
zu80lpqGW^@F(3D{`ynm_uHPdaZxJ563fbm}(5gr^)y0rQ%<JW&$g63NKWN|_ep`}T
z_H;bU!4VnFQB6%06qpIrNt%FNHqgbPu3jn`Z-?80O<)7_hRvcM`ah5x|6?#--32yi
zHNH_u=FKRi4ka04S8JRBzs3%I3crgHj<i+vr;vuc>#+Z}Gx?49{aUJRIb3VZj{shy
zI?|E=qb06PBjUZ`UbJ3}Ec?@^no%U>qzTH#EJPqO9KP$*;k1r)<)^u_Vnl5<Z@$4f
z5;dBwnT;A~?pC_#u1A^&W8Ld~T>3FBZkLNQFbU2e-tr0MQy|JeW)(Me*+<?WKKu-4
z$QF$2n;8bXKRYc?*^IfVl{7VV17@S#PPSz%pCW=LZbDu%Xnj4M6~6Dn*LLMN&><wl
zqBcbP(F%&2lH^GV&|5N~EQy=OpVXYpcWW!R!59Cy6FMNW9hmQ%gis{|_hXuUlM?3p
zl3K=xA7yC8yv@aY%u#rQ_|QB)BR~^Wm}Z2)xG-+kG9Q_jLcUjKqY}Y-Wtv*!i_n>1
ze&O=+bmkv@<rT!`QE!Km@L?dnZ}|jEz|b4~>C-Nu7GVqK#*|MX!*8IN0J~k@qRE&#
zbAp^_0eAs`ncPRAMg#Muz1(gTCMr$_rgbsx=zvxf2#HW>?12zw&$iijDOSux2ZGps
z2ET(w>%g~>VZC)AEd&|{zCG|ml$yml@Ix!!1=fM@S&@glfm>)wI)}c{Gh<VP6;q=A
z^aP}?NR+fcJuwUJ>&dNB){keSma3XVeu(NQlYc>#QlSx+26UwgBtUurWWozT8F(on
zUbT20uTy~(6_eTu{i2I7wR8jB$blYe=eU2-L80rrLr1D8a@2IpYC2hzj<*|#>`)zY
ztwjYYP=WFYh|jL6*_x!LLo0wFmCUgfOE-$!R1_OjQmNwsP$LmTd+W7K&rngcsiEsB
z^lM(mJhykND2m_>mM|5lfPmV&fflMLW~-sa6iRxBmcSwvMHak)B0~i-5zu4ZK+9F2
zJQXNM1u_#*X*W=%3RJ2B)u=!o0=iWL0>diE+n@fRO4H*i&>8|l%Mqbz6+)r(m=vs8
z!jIYuTBo6IJGy3p`9I8^(Hxosb7`0?D<G!%Eg7`ShSrZFdSL@;3Cd<*%HN97T^?2y
z!vW9Av^>Fmj8ANaE@9!V4PT>l4y`x4j^R?qhAw;@rYT!Y0Dgoy0>a(A13D)Znk(d{
z`6GL~E@h)FV??1G*c#`L>?^syXs(ms!Dq5}?0~WX*vkrZP=LAtJ)=xQ6mSQvsZ=-q
z^lDrITYeR7SIW^@Ym!~qbrPUW0ywMz3sBiPSg>;zwyne*V7IOSJvmlQ@Gr(`9F>R6
zATxizQw}oU%=KtBQKKF50h+GQlqx#}GnC>?$`UrJ1e?f!LG^SQoz<VaLcH;i>M2+L
z6*}oyi^Y}VEZntXw^jZiWFl9qRYp~xiDB_ucCq18Q+cMMK&!VG23Gu`jt(bAFVGsw
z<of`~^Km90M>o)l5Cpl~srBt;#~6XO0c>>)JP=C8t{bt6b{eoNXLi`~`Iyc3V2#7)
z^f;?OarJXzg$+v(4)Kqz4qr)!Q;(fYPFz=coG*i$B=L2dF3^GZMzqO~2OmqNsfu@<
z@|zSp8FL+?m;7+eVjUE@{f;YVHV$vZy^xkGiKGYDI%Le9x=XRx<+J^&#<svx^I8q4
zb@*mJjs`eIta4&v8Lo7(YCZ|8_rxGqALgIA0Sq{dc@KAKumlj8?e-uVEcZ;D0Ehmt
z!?&b@dC%z1Nhq#Ww&QYTpK}8+4iQ(80Yqf&krsc%s<|jj%vzhpDxwFj6c=O!bJ-WE
zdn0Z`xZS(c6da~H5`sB!IIBC|!-+J^$GA&rMIghDA-^|Z!lWQkNPEro=%7%0X0AtZ
z)deRK^9j%?kBkF!$b}I=2RIcR1VE%{2)+S4aOi^EY{PqEs95zZr}0FdYmoTxCe=N1
z`C!bYzs#Qf5b?z7->8u?f|YO(nV1pWi8*k0DHV&#?z}RZlOMTa1g2#F4J>r}?@}iE
z``__RZ1kSUD{mnjj@-k9x{t<znYauS1+*A4>Xc6bU~O<Vxl=p2|5Ugka?Cfaf-(pd
zS`{78aId)PO|Vm}I>|E=gdnU}U3%9X<_(UEh(pjQR!ye%-5X36tM1|=5=?+;JC+K>
zs!0e5?!>GYF}OGGeT^>)aZ_wjv_Y)eg3r(#+4-c0&25FG+k`mrNfE0bCq>LZz>97*
zxEF39z^4nJ=a#~A;(>@iL2;pKfg{033FkM+1vFJ`8ubr&^kO6|gF&EfyojGkxa4-@
z^mN?RFg^`GlTz_BJq16rk`XWq^>x$F67jRb03D$e*K$H*Sb))*0tI5W6@JAS(UTg1
z?GEV{U?<Ijk(yy4RYUR@4TjE?hgFUoQZkg@sCEt+b=E&qvDB(nScc4QRg0!n8~u2L
z31U?O3KqqM;(1yvQl0A(_4^k*<b+<VqMkmONvj%Ea52@wDcie37#62Sss`Q1ODx#a
z4>9gUa>$?EfUNaKZY4dwBqLn*1kh<ghG2rhbD2lE%+YdbMlOE~1e7nuMlBBVLHP-i
zniFkmcyZX}OJeAOZCRu;%XeW+PZeHlIF<s6g0NvDImd8r5H(A@)opYP><Yd_V#-0~
z<XBv28>0Cl3eXVUKU7`NK^^`XX1drwNGWCoy<O%N*Rw@UnOJ!F`3qo^|B1^MpmpgD
zxi_x3j4j%C3C?3mLYA1m9rx=hm<1543z05zOg2-L;~gN7xWRKhDG~fj=1t6}`_MFC
z5^SfLa-L+XI#vNPKmD4%(0%Onew5+9T%~_*9R1g@xt#t`|8L42hCCPxWn+_iCpx->
zx?D(tXzK*4yd5T=`&YQgzR6lMZ2_fik?LVR0ERWX&}M!5q0N8)apFur(DP}pG7*F(
zST+tpEOvZfD3{osVFCPT0l)6cLKoYH@0R$rcZ89q3X&*#f{fY8K#NVm48}|aD^bjU
z{kT71e6t%{AMD4E*u%}3BaxeGtMWSUgJ{&~(S5oP$VdkKbmX@4Mw5DTI|cw+kGhXM
z?RC#Tr#@7OcKv>i@MAkRFYP+W{D#S@O<ry*%iRS^FnzEKHNMeSwc9lSn+IH3c5HY;
z9CrKwA~^KekT9*05Yx<P3eiQ0gtt(6q+t^Wa!hhI=t{7OjV86wJ=GyUSVu@h6CjCS
zVDFm4XRC0^O6VrFZEA<t+0A;7b_v}sb&(Fyc97aJr@T|b)<?8U5;UaaxQZgcF5AtH
zzmL1g@#(y5w^aF&0A<5o*+eRb!}nMXUQ|qJ<tBoYkA`le?#4e>hlS;^;Ku0sC|!Sk
zqvR<NT*I7&AC_Um_)&_IT6Pt*3#gw*p<k$kVY?3c?doli1293~6lx$&&?1+!@RU;=
zgD&R5wNCjA=J(c0m7me9FMKlW*e^g#!L)^~PIj(w<_3tn*t_k}x6yhSC6``y4cN?;
z9++&Qf=KmdA|6XV?_lMF5^=~Kgqb#DPV-<Fi)zO!+kS<qS-U)KjYGe?8yhAWRc!fK
z@@vfB>MZ=IJjVv}JibjMjR=5_DZv&%=g@yd3kc}3R_+TKcs%Ssm(MtJo2@cwdyRJS
zkIhVHtEv1<08wJ~pFkNDEVWa#`X}W%&?;lB4$<AA4C3T=1Ro)wb0E?(t>SV+;y!U@
z0f$+`u|xTUFC_5%s+qGn^?N91SO#&AB=`~7hJaZ)EU!5VJIV)3HGQ+~-cvdkMzUB2
z)UrjvPW{J`ti20dXnc^p$EzAqzZ<caTl9uNB$PLj6XGhw77$BnthMe1o<hNm^X|^*
z#7AF2u;(W_=mXEgC2qV`=hTP9je1NDn0Q}|8N#spCL-;6N;ZGDMps&tF0RsZc1P*L
z`p!w+%6BPUrvCuL4YW2cD^)CSSnn=`Y63q{Sw0e}Q35%Xz(C{yW!Yb9F=SuIb8WQM
ztjq>Q$Z8`ghbup%tUWXejj2O+mm*IXCoO^aEUADfa;cObtZ`!to3oDPI@e-gK?Urf
zmE#9Flg*USWkeV+7&#Cv8-}Gz$RU&6?R>ltQB`^><d_0p4`KC0YBbp1+O4&S)zeYN
zs0wK8NcPLIK@x4)k<gE@us+dmNVXR?mS5b0GAVr9WoWVJ(2WF`{ykRs-pWrLxg{L{
zW4~s{v0(gU_H634D>s|*iknix{Ow<yzFW<-TwwRk?Zj<JV{`1jv5K;ZZU$8+{-uVY
zDA5f`SQ0v1|2drbjhObbVKHGtI<BTUOk2MWBXC1r#JOvOF5=w1p$lQV4rQN7OX&9N
zj5v2~xSU5l((SR7dmQcdFmsPDyFFHNk2Cn)b%@gaio39q1W}{!zw>XZ(^h>zqM;8w
zk41naeFW~f=GCajs8QQzrp>QmvPs=@T9?*%_-k1>)&}(61G>P0l*+C80$9;?VQ^UI
z=@L9&U_-_0SVa&59T^R$X~>w`f-8Gk(1^}|y7cNVXf6VK>jU$jc4;4y|EHI4_?`UT
z;lut}`)ZpH`<Ll9B*^a`J~S%9eUaja$~_2eb9glL8iP%=ejvZM;km;b?mWD~d{}<>
zkWFruysf%XdYfo#M$qpL1BLwV2L0hfwXM>t6Or16RoEeUnBXP<6dhu;+Wb=*B=6P)
z&k2gwI%+fUZbRqb?a+_XyAy5xTVDzl*a~;Lhj5HgjngNRqQ>{4)k;{PIb5p)iOg@u
zzFkG<4soI+G>Go&;JlM!r12Qo7bTo8#_tXzMuNLPfZs-Q-vf+!LqLq3CvFUj(*Ior
zpq$j|8YTg&mO2*xK7%iKLh~MZ+NRu<m_DRQ!@DDPN=_`9o!<x~{=TPO>-ZYlP3yZY
zl_Gnn72`SZod3S3RVt=Vyv}joQ~kEHX}a)zPdBRg*2dxkE9m)|-gAZOI`^;fKmU5m
z(skn|{o$HEUro7ew5jLaPJi0bFnG+ecY6Q%Gr_ZER83|7z|vp;>y+||udIIPr<2z#
z`NDB@<cjxx`A+XAZW7j9eM`XEFyar!gk^olJT}z1cI2bE^-H|(UpqQw@7UkoSzz0?
z`yIj4OQmCn_WneBpVr<ZwEdz?dzWf&p|=_jjT0#@(WeLkpguZ*rsVi`KZ_vT!QD`#
z;9kJpsC1}+3(4(K-S=^SSlYsW5%*W!i@84tg8vfkuez6Ve-H%!W!ztN1EbLMjw<q_
zCrO`&v#jTIl^XJNNeOxQj(iOfuJIr|A@a?^@!btiJ}J_aDYnT|XW7QtXW1rCo;2B<
zGsQK><t{gmHV-Phh7@Z4TzM7%R@U&$yJ<#g*|Pge=DNyfEL`d;S&YvaHw??0mp6P?
z$-G6wXN++#Ts&_^k-Kbh$^DZ{ix%BGW3tU*lcv~a-9BY_-mvQ{3T~KDe8UJ0V#*>H
zflOLnQdYKbUdar*ls|mjoFxkv-#@n0O(A$mWpfu;D@tOWR@<0q<7Y^2*Rt^?ONY+o
zl&L@8NS{jCcTBfCiCDfkOI6mXocX7v?{t-wO}T&RTu#J4A%D)2CCke0mt3y0h4;8!
zC2C$Hg7813K17Q6N<3!BkJ(l+x1`jyaM@Dx)cZ?I%tOqB@`hLB44QL|nXdFPOQj3v
zn(bEZUr=GDXgo{NXx2HdIXraO4T~!T!ECnQG^oNnnSQ3x&vg1J;y<_2@02P0cYHBk
zAZD_?$Q+G+oq6n(*ssas9MbqH(O^n=vQ!)gF}64we4Tl+wfjqB{Nyq5@KcIn;m34;
zMc}8{<M3PUQFspVf7p8$_$I3DUwqOuwDds=QZ4cdv|y2kg#wnALZ(e&0x1N_OF?Pr
z1FF#0G=btlNJ%SA#(3~`4(d_yD2R%RFQ8GN1#HXvjVO9Ve4MF8MNvQ$dcSMWBuxrF
z@9+Na{e1q7(%G-I_S$Rjz4o3xGv75iNf(emA|N(6A+R*$9XvRLNz$U8XE7xUIX
zcxYhxVSyzKP>?TWfG#6IUt|1Y3O}gNzkF8f66uo@{PWW%`^%R;`6~I+CkM!v4t>y&
zq0VPD8UpzlCJ*-I56~I>xGVA*P(?tA;Q_H*eKBu)3{xii(v*q^=uG~ptfbLD#aB+J
z^P^_v#>~j#r)A8}n!-=X@bRS_JnzO|F4jQFhQfugs=5q|rPxBLl%7WE`EzV@S$smK
zQD=l5w^(c?R?25XE6tLhb9YHG3_L4D=@Z9*j_h>7{NhDaj+&D;aq0wvZgNi1TvUPy
znV*-RCsV{urMYJ;T9`wQ#wM2J7U$(tPV9tCR{z4n+<e`HVyli{m{T}EXU=?<i+lss
zV<@&EMK>nLHeZn-y%@_*ZhmQLu|=1aKX*ZXk(Ehfu@$ijW2ex3^VT;dD@zsw_0d%E
zQc#6vOMWS+z4;hf$hYR?-Yr+BR2n;$=&-uvTXN=urr3%l57tH@<6_Mur#WYC{y;w|
zF>k=!ve2sqv?r6wl_lM(8w0B}W`1#wwXkUJKr`t!pkMfOl;h_Y&MjhXOP`mYdp9bJ
z&7}0qoZNYZMfn50sYsteddxCr8g%FonW=w=#ZIICpH^tG+Ry{{qJS)WY&x|oy|~C~
zDZXaArcr&<GBZ(T!2(-RVXjQd>~4Ba(M?ueL19szu5baGt}84mD7GwMB?h(FSg(%g
zI!{@g?aFnfa$T)lH!If$<tiyxP8ml!<(i~iXDHVa<+@V2u2ZfJ%Jr0TJ*!+}l<}3I
zTm|JiPr2HatC#N2URNvht^0puk!}8bT`AVqqPh4El#}CgZH0Lh<G4NvNo523Bn<Wa
z8B#_I8It5c>nkI|ADNG}a6!J8&yc)ZP?-J<&C|hh49QETKXM&2h%OTL0Xx!wUzRPG
zW>r8Mi%ie46hUU))S|nKiWe2>#?D_{f|F#9^JW<G=jU5#juy_hS*Z2ijOmubfOKC*
znysK9-=dpRT&&AlkTZY2F9XvLvz=CCR<-{hQ*ln7|2$!N-f3>mvE(d(5X`nsEh@E@
zloVU6Et3!aSU{~*OFmF#&R5An$z&QP=jY@tmdnV04f)JY`PomT%k5K4g154XHmk0<
z031q-Z5C*h(N8O$Z(ER$ndG&ul&U0-!MI?B*q;f-y3G8%!oc>k6kYB-GOx-omgO8%
zY%B655IxU25oW!p(7z;!Q&L=1s<fL*qM`*kB_-%tiYdP-7)H8co7X1FsicrnYfhj(
z`T1BG@)ieX@N-&eofsI?GtF0Z+>|j>u1+LP7U#km`K#Gjlv})@1eS%?fob`cQnFuJ
z`MEX>uEnrx#q+%;Eq!u&040+?111XH5vWt|+|<Pn8R6Trw<IPe_!1TJF@@e`iM2>s
z%uMJH8>}Cz2v!mc(}Kd%{Jd)p;Do_L5{C{OerwVQJ}uplF@_Pf{rSJ90l~9DnRW#a
zG!#5|LaXXjusMN4sNlhxf(K6(JSY`BcyLF7wr2&CaV%HkEwAlqXc3#ae17<V?E3i$
z<?0vrmJBTSnm4)a+NOav4YX;XO#}b0X~4{JF_6i;e#ZLj_4C%3tS?({UthJJ%f`bj
zq@P`LaSgXNbZykyn6<jK@oN*-Cau-471o;9&RCnhcHY{OwPkDVYpd3-T)S%R>b2|E
zZdki{ZOz(-wFlRpSi5}v8|!a`kIi(hgtKuxXW??Wd7ObO<K(>rPK7)B``7&Ctrr#^
zYZy4@`NKt3iLOOA_ke%RH<oi3?<D`4r{_)UQC@+A^zY<@^q^Ib^tj<)earPLA5Suz
z&K@&AXtrZ6XMQ3%{egEXb!A=3ItR5riw{~DCR`r+`h^LvT-k7HO75x<HGZKu4`2Sj
z=cjYS|Aju4{c>soYWDi&T&)LYlYE=R9aZDFo}IhPMRmB)zpH-BTgruBm3i$19OM7t
zUrjm34Mph$bY{0dO!fN(2PqCRoqAb*YP)}XiG$A1-{w33yy((VM!8bH_ow&squHS1
zxYbLcN9F1*LsyjZ`OzeQAa*;_lq=<Xe|jpX_|c@clMax^uDJMqdX)P;zm<R1FB;1K
zDZiT2;0O#~2OpT=HnnROM!*fk#ZrxN#80JoWM69}Xr|gm^*Lcp6JF@tKhC`*r1>&3
z&OQIj>^teP?%w~?e#lz;iEHh5^jdyF@xVP^qQNY==v6icVHLJ~-@(Af6#r%S13Ad0
zdHr_f6O|X_0Q*2CVuk-FDtPAZ(m1{4mdOF}P(%nGlj74xr=}Z{@P?M{dVCJHZXCzC
z&HeD0bt^*Bh&W_9Q#-K|&8)=r<56PzK$IAOkaPo;5Yw{-XZMe8qr#ex>7uZ^hYFiV
zpl~y>`zjV$?&v*K!X5eOXe8|*dUxt-9vAV%7PQ<B;>AD{tO0JCxKH}3H{LRFYhFMB
zPcpJW_$F2SH1TqzE(I^n7K0L(k?O$|p%M>Ki6vB`^5o*aUi`#;(o-_C+lkq96)So_
z!qOy}*$Bq$F8VG9A@J;n3w<sb$-y=$;Ej+D97#F>;*FO%h7w1bFev*dRo;wri1%MQ
z)nVctC-H{KB`j3pV=B?|pc>DpXE!c}Hdue-la~2$I{IEx{)kPp0*vUDdx445r9~X~
zz&t(2Z3Sby$vtcy<RJa^ViF$1*Ss(FVlA1ALY`SDMPK;NVO4_}z3s1WHYY(0y_BcJ
zyP^QIa!1|__8xpdklhS-n&1{Aa}z*16YM;>;M3S&g-@XfuDJHJT3XFG(ua|@MD#FE
zVxaUuls0Z|kK*{*1raao?3ZGY2;JU+GVbYjG3N$8J~J2}`b^yh;i7-i%Y44jU4svO
z%L_iy;DbiFv+j{x;Ec|jIh`&C@J(XlW2iUr@Cb;xa0ov3!JCr{Q$f`q-!AUSbOIyT
zt;s|J;p#VU$9L6wyvTqz6>IUm|3S-tKtbRr*^&lTks_j76fqe|o+V)4gt5AVd~Re*
z|G{&2D%QKDSbr*JM=?nH8PrPZ{|sr=^JaQQ0iQe3+X=8qG|!`2pc(~tIp#J#@5Gxr
zAK;Bhu4eQ?8t3_XaC`zB(NT+O3O!2fF4VIRH{B~}?I15WR3kpwptrT~T33WgU4xM$
zYDQ0kLUsWZf2$rvnnnqSnuPM7$;ex>1bozm$J>J2@jFZ|O;wmsKLMo;^?2wJIjTL2
z*M4_f`w9TfR_|_#Cq=lUgHRXsd=Kb{zAVQ(dI^aqo5oP7@>;44lC1$#dczf8<x+n0
z%6TfH(zuZh9<QRQtR{YQ7$k3AnT>2hjKGT?`-PNGtoZtB56ab{9Qv&(jAp$%`T}Wa
zZ4WeX2tI!UyH~9kiA&mbgG*IL&9w3?68X)NKIl4QZDVJ>3u6cG!)aVd23JZ;Jj`!?
z0QqvB{t5we^w-;)gDfvoSK{kOANnQx)|t&;`EzF=s%;B`$dKl7NP~}=A%Q`x=K+rp
z0m-DMZXCBI#Li`70>1_uCmzEnA-@GcbUc7OC7wi|<zTp6jIws8aR6SPGmLNKJs2L+
z1K>q)Xfx0&fbGFc$~0U?rK4DwnyQcd5Me2wssu6+wTvvv3_;<aO+)t<xyPbL(oj7h
z&F_wKu!D$tzLD$FP+dAOX*`SsX%IMhIiR}<x*YR%6xz8}k9@G>(erWOBZ$$1ap;Pf
zhYyr)MISl#HQVp~g0qH;K~5F^@xe_RXFq3QF!K8YzyT8xZxnrG>c!sn-bGg(L(k#e
zlT_|;VbT+X_2bwPJmT(OtfNr18DOlIzIcs#VWi`ycD8Qi;b$>O;5GrXlk+UapZ>M3
zh9jrjUk9Ht?&wlTN%L_9HGy6QC(yw+sXMc2X3oRRWRPYIC(r92D-dpIeO%I~kfHoc
zLr)sLUjvyr>DhmrTSkU8$pjldBSZYrfNKITV)p^2^d}p|M&9>Lk91u1o~*y`#?{bi
ziJ?X^felTno1pXvi07G2lfWIh5(}I3GRf(470@VlQDzfX3gCvs2!JkOQq*7-uD=I8
zK-j5k0l*=>NDvI@>oVn|f8c~@azGCA_sy;N4xPjJWFLKD(089ql#@c6SC+84yLU$2
z@}M=j`&<}-l8T7~=m?Erp(`6B8jM_zl}PY;C~cU*>(C^Yl?Gwhy0v(?|1wHu5<F;}
z1<O2Y!QHb+;qflgz{AaW05i#R9v#>MV0@N_xsiWYk5qK#`H_$kuh4pKL=*@c&i9cH
zY(ZqDgDX|?46@MhSyYK#sbo4TX<Sb%X#B7$qzf?=1*W7&he?T<N*|fdGl&<Y%Uvjk
zYF>PEi|}K?*K<D@f_ZZimDnRSlNe%M<Ciy}<HA73c%divlM2i_MQ$+GnZyPNSs=@w
zDb`6BSS<`CN-&z-C6mY?&JZ+5Nle&)?5*s(R(Iw~@whY&!fr<0T#}{<tZf~oDKytA
zYs&f>ss^4wlB|RWao3D523AToj1i;w9!hAPQ-h&VzGh$)46jFn#yZ_m$d<lf8er}0
zCL4ri3=`7fOlr!jsIQUmT8S(MWYSw#5$sn8ZYF})iGWZnwst{jP(kq5L1L11IY_SK
zNri;;&-~0npRXZ}^!Xat;AQ#7e_T(4v75{VfI`w;Eo{2VY^H#u8Va#XuM#6tPSe}`
zyRlxHqtfuJXmmcBdx?gi{hG@8E#18|$E3qI_{8lY*K-ECmFpQpG~|i3ah#%*I1ow)
zt|F=Skz7Y4wM4?u1GnDjt?9V53S@$_QYV{&#Y5%VmikCfAm6hSq)^XFq>_48f}J2T
zn#R&-Wg$H-Wd^cR6qM*=<tA43)Yv!CDL~<ox?Yn)<)fHM6uXI{oKYN=8m|u!S5eM^
zVP56*BZ__0Qj@G4d?_YXT$AVtAJGrU_Z%c5QV$I?rqTPZNtWv)+d^bVi0l;mKn+bg
zE(zBp8ssCYBBJ9&^s-Du$e-5{kvuw;7F{0dZP9ch_<#t)@tKpNxYN<3b!^wztWjuo
z`DkK^hCB!~zW=jAb5wd2G=T)Gd<5Sk&+`cpto0HclQOR&nCl~`C4$pLVDl0jmrPd?
z4EGVNB!VxAzyJbISByYI)s~~^E}r4BNuP9XE#6OwUL9l+F?~GV7y@EL)iT@G+h|);
zHM((FM<UZ?-c3dyU|E~r#lET89BL5Vv_8SsJ#j1DY1F`!34E>8lXrZo#n%tO>%EK`
z<x)JbOuFJ#?Jd0_kE=FLI})!vr(K4Cl+YAnaIpZtr5Q8b;M_v91wg;amu+#Vd)HmC
zhbxO<-K^nYZg5?)|D>^~`Aur2sKHek2R<3e?^!z~J$4zLV+-S5H9<9opqeH%zd`M3
zPc!)A>u94J*hN1M@#<hAr1gYh>1<R37Bk6BY?vCg8!P*Odo|R9Porw9SPY3|Lq-OP
z_z-dIK7*^a%1sGU87jfnA+VOe`)X-Kw&zBw<teP<uF8F&0f@(!g?Iz?gsXBFqFv9I
zf63|P_!f%q!nZ!42>*^s-0Dq%IC4saH-!skDVrguz3Z;n23O^NWXXkgdkfjUDerkx
zIF(XnCrfdBs*_1BKmlEMIX;b|C@;Rp<iPiH;oljOUfGVa+DB``&$^g8&YxhbmRv-K
zBIWzhf+&83y%^nQ%ivx1e`41<GRzu0GSW7jw{Lz5(O}DfjHGp}V`C9mKt;((K*=y#
z9`;J_c4EreH4k-p&UZt#iKx~ZiNH_<76#+HtM0DK4ltLbn*Wgehw<eT&IKuckm6qD
z9io&^yeXtSmU07VeGOwN4c;=OPL{HlrI21&bdM5^lA{_W8XA7cv70}C!ueP{Mz5<f
z6zMk}wx5ooibE)}%l>I-7+6psIP6f^W9^VyHQk05P+)A3tMXY2gwV%#pFkn>6{Xft
z=d7e<9P`VBhEuOtQxG6xPcX(ckA9GH*fjOGR$UXkBin{N&z&^p`eBPLje~kTDiC7-
z(qRzU2l5X@m_Gs5?&K|AdNKhXf|+Y<#P&18RqqL+=|sLg14-8TNP>ujz7ucU2oi6{
z37DwVaT)kdYotd_OpI4C$@MYWLW0tJ-HrEviK{Y=l(XUo3~%tE<(O@9q;^-a(D_*0
zODsx=#UNRZDD*e^%7oS)tC9L&MfwF4B5wmm6X_x%J%{hOq>paK@C~-6p)LOe59<h?
zefHzQ);Jp~kxprS+L$h{@lW_z{eV2r5@NNEVfWQAD(RIL5@m&%>m#Wp5<8LDKqA*A
z&5&gnD^`-}b(}hzYHp|DY`3C*ejE0Q*|de4-oh0)?lqWB9erHyCa(7r*Pe_k(O|_R
zGF=OqBFu*ay{Z^WWG*6;@U@cEz5`9q_c449^rwN7Kp)|tp7yYEG;KAEm8MfZI!YeI
zw$V`AlTe#&INM<Y2oAj{nZQUHL6c-r3w(9fAkXsz)oEo2cFNYYOACo2W}=V8O(g#y
z5*{Q5vGNj)5!$0lovtGLWq`MJ<d4+z43UM&WLJo+8<Cxiyv8<QyN|LPQU04K58`Vu
zR2W2~i?*iHv!D!|9HNix3*>p$5ZU8I=BnIA71HihO1_G0ijVA7B3nmfbL85>s5aVa
zij{;TW2`-;1LUgI_bMJyJ|1@wkC%x@5AeX+x*!(`ao~YIw3or&NdJv!E%_nzvOFjH
z6Zxw|{t3PulgM>}M~`PJ7z+Q2m+yqOAeYN<9S}4R<Fhqh+?V0bhXK$DZoB4H<Y+hU
z!dFRqjs5r98VQ#g7?%z--{hX2kSTur4v6jeRGh;<bCCLQ_(25pXKPPu<<K|Yq%+>Y
zSKfd`fs}KlLqQ>2BC?C>UE%l&?E3IS8OeKXA=Nct-URT0jlvbm{zcAi7k;RzUHNXx
zbX6|HMyP7Vj|dx*)=<QTEX3$jemy>B-zc;rDvF)2{WL-j{oqadUcD<*y_4#U3g68;
z!;FsY!I}L((pKJ#ZLh2HO|%mq0Y40Nn#AaHIr1v?22ugj!46xx9>yo#=TBgB@fK2P
z@x_`Ge$Y960FDD5LK1QaVnDmmO`Cmu2^Zdgq`O$S9Sc8zFv;Vbm;@=86Tn*4SPMSG
ze_%Ob*=}xL#&HF)4Zv(F&FsHlyD><+aa<4)Xg8)^p=-J`Vz43U-e7Am@8|$j(|h40
zm@n^emg(ePV4oqvVTL0oOpYK6kq9}0EJQje5qxW?K5BH-K@B@?54$ScL%IxiiJsO(
z0pYIa`PlOmNu~&E?{^e^jz#&{eYE#L3n#NU_CYxN3I8tqEPW0SlS1rlQ<x)K8RxtD
zaTpfh8^W5%2{^7o)CgxW2H3d^H5{66i{Qi0!(NpS#CQmEe7OzbR}hv=VXS9v%ccfx
zp_SIAMp4<^@>}8SvYC&q<KH>kP7OG@9kvLRGC~Ba8lUMSOxxCl*qv<AQ6lY5+9Oi!
zjf5fM@kSz?i-KL1?;u(=R*e>pK?vPCoLwHvz=g&$GExw%Jss?52xigLmYlIHCn)@&
zSgSsKsF9D|$;a+xg+_RDKu>$u+S8rF4}#wz=<FA27G(RXi*tG?@_FPt$Hps-MDx(F
zu}G)8O$aoO$UhBXV`~Bnt66xWU%J^ZeUdkwj(xS8D#s%ZHd!pWXLtjSG!vW?W1M5V
zp^lg3%zxto`%}4rMIU>SqVkPH?WbBE^XW83C|}zc%xZof+2IF~6YgG*AlZh;)*!%_
z|5TiSwp|BKFHy#+C>Ra=1qbBio2loK_d3h#h$%8X$~mz!Qu2|a-S}7@Wt@gSkyOCK
zY8IZy!eK02$if=voUOq$9H6fxP-G(q4V{gPJe?|YT7q+0g1JhN87Aj+JxHe_38Yh6
z3Qa>0kg;g*rpoCo9LB=8wG^Ryccr3Pex>j5mUd3Wf<*fS$SCg<a>-p?w&1SRqKv73
z4c2h@zrws0+-^$38NW-FRu!xoQ)N<x8t?|Cc4IB>Zt5u>lU8L=g^sCOqQXcwhFT*j
z7~|qYDLo3a9N%z<THZ!$(!ol*$vv70A{!-xUw9-7w`W~B3Sr>YZF>ts07jgwmd;g4
zBeZJ8n@Dq2(p^~9icKthg@re=a5D>UW?>Fos#een<*HP%u!n_%SeTX+SEZVT-(}%o
z7T!W(H`V2;<!|1(?y_|VpS;f&26<k48+lFrDt6iWc%?H`ZKH~Dp*js!FA%Gyc2$2T
z(RtVMXxzK>t_)+Gw<0Mc$wNun3Obq;**Tni8dp)Ht(cEAS7kT~3+_z^QQ9PaTeV^v
z0>=8CdRQ5gds7W1_x~?|d<5}7lw}t#oE+~C9*PyTew_F~)b(Hw42wjg6W9$0(zF{N
zjp~b}s_PM~h>AxLcMS1Bi_yWnb-<gpX;l@24uesq*g=|u9Y5QHWx5xJ8iFng>a#o^
zf0VYz!gTvgwCpiDGMxv?I8b7pHsM=$wm9QdB>bGXr=Xs7kQzW;+ellk%4_!y^!EbM
zIp1bSkzYY9%=EuggTVX~Y#I<<K^nuk*Ip%;7$WyOC6`o;+*g%c>Hy^atmIO+(3u(K
zvWG;SNa8)xG9+NNjf+F<ZMr3c^`$#PYi9%wQ6L;&+=rHGq%OdL#aw_tq1&Lk=$nzJ
z-S|NCO}N&6s-byTF?Aq|gkhY+m^ca27Y`UNsV)0ml|7M#8yeWs8t2%NO(FGTM@Er|
zqGok6`p}(W7q?L3u}S(TE{TV=o^M0s$Im!|xAw;Pq4wM99Qr0KT<jozzqAdjH9(h_
zAm1|(ZNVOa&IYXrHiaM~7a7u0?6&Ag+Z}1pp&Z7Qo}Ti;K@FJEgI;zbzhAO|nI{3H
zjpRvF8q3IVnjRTRWbFdTXkV?6rGO0edJ;iNm0v*Iz)s<h-9&r+{ZbdC0Fgmk)qp0@
zp(*FV-XL3_^!AY$*xPu6t4?|kwJ9Q{w($N0sh(sKX*sBH7a~2?QjQ+YDl%-Ma-*o#
zcepB#%DRTpZonMZbN%-pIW6SwmL5FKcC)vPAT>vGJ%}NmOadzpjOp=BN%KlOs!_!7
zYa)Gf?3o1iihes&gP_s!o%9f>1xH~fVRHgNK^vv1?nSkj;&kV<%kU6O%Ex4az6nZm
z<wdXqRITF24$puUpK^d)`RRPE8YuK`jS9N+Tp?-Pk!$**J63~8yXk##$G7q;1bBu_
zkeKqjBJ4F0?IxLliZRd;gY7bdoy35!nG2jf>05L>?@FMD&^}B}<u#K_^xPRBIoG=<
z-9r5i77*ndqV5H10+j}IPRd30RC+8`fVGq){EUiRLC>;xB=)pa(75ZQf(?zK{?x4~
zfJa@65PlJ1@OI(Co)dkFd*qhaEe4=#(ML<5UHPWsIO;+1N08vTMXs}%>U6O>HR%dx
zdP;f=<Z_$ocH?6zp*&OWMJ4Fv8uo4tYcKCQ0gpD)Y}itRi(Z20gIitJ0Iz!B6jR?)
zo;laKB;7)`myAf{kC3@_dAwfZ?N5b2`T3LizjuxD^Wfhk0GrWq29N6WF;XbClD!S&
z!=tdqMNP+p#{{(5h+`P?ee@F{B++X;lh9UoRxzZSORctmTGXuX3Lcg9)`|3>9PnQ{
zWuW8PJ$OhTpbi?N3DTSGNWIu~33xJvQQG6TK^~cRF(w6h7b}H#G4d=1Im^!oNG5b<
z_$r9JO!~y)LeCxvCzm1hu&Sw6y;K<@*RPinmHPF6tbU=sB98i%egJ2#gu_mFzhFru
z{WqAHB*zYVw+dq|b(q|`-}Qy+^$U3j^FZ2$ekN{Fc&-jNSt5fD-%luKm^m{siLT)b
zOn!9-sJ)HKG@6MH`3IT~4HV-deTcz;XO*nW>X6``HVY-Jl(mhr#MG*xm=PxhM_>5$
zm_2V{EJFyNULpWRQhi+dH;fS6#ti{bIqsNZgp}FyET>wY5X%z}PqLM_6R<uDBrZAW
z633PZ?ueOq>e;}2uXboU<kb(Vq<OgjQ*JPY-I1Oykf@8SfyK&f{05^*o{a**?zuG@
zjAyR}=!jV-{X*b<qUP&FnIFwYp3O!$*@*m>wO=l=hf2tU+pBZ<>yt+^o4;8Fpx8nb
z>p)T6+>DNf=hchB)*G~&(u07L1~|Zilv-O8Ot;b>JDPqBu!n?!d?PhMJlF(Z5m_+3
z2c#UBZYZ#`c2gF(98vtsve%D3BKziV8kudy`#A&wLly%zGcQiBJQ>HUUfs|N&U%AA
zHJk-HAn7L@ZvpbD9DkvRorpmP^!$Jsxe6?IJ|kzl4kbQB7PP*HE@DG-ls$DDf*gE>
ziJGl)-U~{eITU@w9zug)&W&UP4oF+^C<ZnB4N=bus?;6%KJ|o!#;H411g%GgL_Q#O
zB2Qk9)H(=(J?D5#5Nv&RA!bh<N0r*fl0V6dM2QKkM{U~52ayi`N5Iqbkj#G(@$W>X
z*xOSWH}eJG3tx@rsgUd^hYSiP^mWzkkfyv>M$gb8{&N^!Bz`kQ0{eFn_54$2A4BZl
zM6>AeJcQU~eHJ{VNhB_-P|N~UE0&n?7s;AIQXT3WH<+pr{4}Ijs`!^&#cfo@({dGW
z)3`E|=0t*t1I9Ib8x8V|M*(~4NH9ZXsNNa@-hCPG8BM@C(|nHwkLpnq+GmX5_}f|Z
z_Pdz55Cua=U@sA1K;kVD7{p(<5sm}RM)y3lv7Yd{`vdPEMg!iOq=jV6D<GhII$o=b
z+)bjcp^oc+MM(LUExaA5Gibyi|0T+=r2Lfs*fbcxO&#z)0Ul@4PHf*%(qaoR4!y7B
zXA%7O4vK3xV8j9cb_jFl2wx^C4Xi?1N4@jBJ#|lKR7lFF7b5paYkk#VBDU;F{P4+T
zv&cZnzhJ7}hhtCaL)L_en3gA`{Vbe`@I{GjT2jv0+GD4|eDej#%EjX3Gi-8AEo-f^
zaiN{lHj;KBZCBipdq_P6c!-wRtWQd@4uCT{LhQ9rxt^p(+8d+Xb5w2=%E7L}1rvdp
z9i<JPpEdB>DeneJ2eNKp0Z#j{&Pg1o8AK`b6zs(e@{{WYl=5IhO7*e*(th|sVfeC)
z!pHx7t-OJoPVHDCmsgY4pGJA|u5i-Y3wY`y!mZsDuw?i-1gdgGy6xMh_6$}T9@iAB
z_{Xr78TMCtj1T|IovzCSQWV|~AONs8NCviB{mU54t;Paevef~lO#Ge~C1?m>Z8Yi&
z&|vp;dK3AF0ch@Pcn-y^=32z?Vhwf8g+fbtj|TBW9C6n8spNGNu@<&8XLY%?G3
zzk>aYn^gEh1Bly(OoC{GQ@}>@(2DUtKtbCZK#MrNmo=2SB10Z3C;C9P>qxem#(g;I
zmdjeNBfm-=P_~51W}<A<;df}P@#lBy(Nihs7E<oLlsk=b->T18i7N*edrICn;Orq#
z+@@8?gS~@^+z-UJ&qGV~(#N!LrtDzzv67h3gEOegNa9rBxfR`LZI%mZS7c+^<2}UQ
z!<Nob(vN=h$B3Trk3ip^=nV?}K`*_I(US-sti0H`O$DIz)Kj>LBNq#GUI5L;ruOvW
z74ra<c#_^U>jflMXXYy4C07wl_Vr@MO2K_+GvFJ6z_|eMnjce^k=zZCXJ$a#ZXKhN
zA*nkEtAKeY#O`j?L{QU@!;le=_NJ63t>fo#h~dbu!95${QXk~YKiBud-5va{I`d2F
zGFHnsmH^JS*JaG(T9B#N0jd#z#2<zbJt0&7T@LlJMnkt}!hrg@nOK;_D~+?DlK^mP
z0P{7FByd{iw3Yp)*w|nLAn;f4sprt@^&9xq6OnIp><w*Xdwa*;pvIe!l396*;ZvW%
z=M4EJ1Rspub|5ISQ4BFU>Va2%-v+^%QPVgP9j6o=8~|2p6mM-QXtOu=MM2aU+(^d?
z2&fv_feOQ?UPoOHm}tVMR#IExQ$HgUMK#(HATjac=3Zb@<}3Krr1S(!D*ldGlt}p0
z(4ZHe`ggQQ@YMA{3SF1kA7G=W7(6v8;Eoz%-&lmT)+nAs+}=0`;mq(;EPWcS!RIkh
z%V-FgfJ({+5F`LPbt3u|c+;#C2%TCZhX7r?i8YlFs*loqa1cT@9jeF()w|?0A42uJ
z$Z70>L{jlp2-OjIfa2d9fbzZL1RG-{A%G?Aa7p(UF<C#4&^o4SAQ!`BZF~~JUmcWG
zlZ+(Uj!h`<$OQCtEp8vM>62p7j$#@r>hBT#0MToY@7Am`8<bIwc_iNle@`lJjBOcq
zfw1UCakOvPL1)*Ywr_i5+RCWYjpTpMAdVK?6N9BEX*qOHYzK!WXQc-b0TQ+rK-e8{
z_%}8Ze<nuY&-8HonH@&h*xHTDLh%3rcQu)3ahEyIfW2Tg7A-=;o`KuXf1n~l!Zs5U
zHf<I33KDh_YQWtvK&63*ZJ-x2r5?By288rFbQyM+wz9_C(IN~2U}3M52Me&UL*)>#
zuwRge4fB;s*w~M;9KyoBpF%JxjcOX4G)(-ap^S%}DFOvqp0i#&>{y7}_#vz>PSbx6
z51ZP06(08Yy>Jdic-T|Py0J#wv97TS9DM^&F$)2B*x^R8r&ktweVpL1e}GBso(z68
zY5^VU2Zt@h)|teMjl;lJ;TC`>4Q{@ckqlTq7x({FMC>6lB6jx>v>lu2rdDv+W=J5z
zVV`Ai*ze+wgKhY6riRY#PTA;q*68eZP+u6cXrBWPdoSRy_YxfT8NgwGPH@<t6CC!L
z4tVhZuPWJk$in9asG^@Sm#Lzu+wUogckNW*urFe9_rhUcgsKP*`@Yq9Yoy*#bsylc
zKQA-L-!9<31Rnj|B^MydCuE?YYzB$_IfKOB8>HVf5R^E*CrIp_S3zPo^PB0on7GoO
z1d!M#0f~K*4ke%iX%*IQIPU}0^;sF}dL8Rb`b^@&2S9x`#ePT@H2~`R>>q`?K9~U)
z;J*rW4M^rY){&F&4nTQ^J0FTt14-X9-1SZxM}BbE+RE>6`vA*=o42V48zn>(Q)Wsz
z9=I!j6~nTOIUyUe%!bCnbYtl5-XG_HGDh~<#usD;NbN|e*WlsD0P6vvWN!vaHe1pg
zH83=P5ajyvKMHcaj$o5pK(1l-e<5_=7Le;0e~{~%Yk*v@g8Dv}L9W?8DiGv)pHzyM
zP^c1<C=q7{a$UthuFt7(@RzX~&l&(otbklA-0%Sgu(z?J8Uho_K(4<ky(yzA1G5jl
z$T4{pkn0R!Tz};Sg8q<UTvst@>R+zHxL&2~lrd+%w%!nkZM{$0hu23Sp#d=5sCpe{
zZ$`x~ADDC_26PLUbQJ~!nqxa?aOL}hNxz9wGMMy>2+3g5KVJnV4V>$*twRMdql&<!
zrP4lpRVH>d0J(-+Tm?)zLq+)n4o$v7fhCQ5WT0d#Skj+c)8SIj=(wV`C6gCv8B01T
z6OJ}v#BU=0y$MVDtJ1D~T?Qv(Ne5?C*$CX)3nhJuK}nB-Au@@y;@irwF+;2Fi$O1~
zQsAUz7qNhot^u61-3KR)4L0`8<ns6k8j6i4b(OY)UMvCfy#gt{j}WFY>m>_bts$OJ
zZzC;6*Xkb`I^5eun89BMK!@*>1~MjW6j2|cbF>v%v}`c|aaovjwv0iLWCWOk(SsWg
zLCIRjO-SOarur1Epo#k_TE<B~+<2L8EYKtjgHyk?Z`t6#Z;>|}Fc%m`Y(A7m${^V2
zQJ`OEp+W3>rwR0i)o!-4iA=_EmSk&WaM}3e0i(ek+=cM5yVTJt^OLFtAX^y)r%nBF
zUxMdmzk`tdtN7TDd`CM4_AuxFH~84sIQu3ijO?)r!^!p#9(FY$W6OxyCmf%tYCj7r
z-$RJmQs@`xpd<Xdw5HXbj;fZivX4q<;i`=nk5&^_wiJs(+D%8Q2`gK=9ub&n9=@9h
zF#8w)vuz*f;fgN<Znk@F2*TTm3TSp224w(f_D4X(_JU@kSS!@*V?fO&KFCpUv$sru
zR2zVsjY=49_EZ(H#ZS2Jt#<4Q!rA3bIQ0g2b~Q@jEwqdiBX?>IpWvyoGz5=`#T_z^
zw#GgCr=}!6<s;i5RKMmM0>yp?L$n1(`xvmSNost4D&uH>#pHy|0`m4T8AkgKMuELP
z!^gfR#hPy%KL^>mgS`%g2}aw$m_Uxaze@Rp!DxSryB8FohWW#2vv1%4qfJ_(11~+D
zsR**~J)9QGU#rgM@8D<2&(7#U5}rfB-JmoDlIdL+83Ov(;t9_$PzmdFsqbg_zJR**
z4E#TfN94qgNTjVoi1b+vL)kuq3p-;&4^V|kbd--1MENXC`j};(klw?!wyC}SGZh}w
zp~TD`sP|ew_prYGAHTShe{%cs=aQ-)Inf$y<GH?19Qy8t9fGSz$EL7lMH9ZP-t@|*
zlB2@LH8Gc>oA#9*Uj0ePdpEyqTHiTg)*NBQ=dGbQTBCUwZrgm~jq85mE9+Ljo>(?Y
zAO57n_IOxgn(O(bg7f=-c=PKn2UfM`%g1bb>Y;zwmXyV{#`>rlrV4S^cbf3Rj;c$S
z{`<_5H0Y1ol~x-3tY^!snQQOW|MSWG`itquSDbmi>Fx2)eldE~@HZk~T&k-0c=EEJ
zgx8DAUq2nW^`@APOV<2y*WodqFCTt*&XJ}bt?|0={m1^Gr62z?@#+7TN1PoSYTvYN
z?+>TWUmp9^(WrIbnQI?vjpzNJ-cR;Fdh@&E9=mUL%zMGBXC>_pGW^}XIPKjtGhcJx
z*8Y~(c;8dG3EX)6o5)Sa-<DrGXXd7I^o&>z(Yd-DqUQ~Ahz_#l5S~0KAv~{BLc@I_
zJin!fmI1#|gB(qoEMJF4%hxg`eTI_WS)rPzq*p2Fvy}7=>2hF$l3t@!Bq`}9l=NLn
z`GZP&RF<4@r;>hANf(rK`oxHSdL?~^l73gPoUT*S?MgaqBm1pX($^{JIQwG1)k^w7
zCH*=j{nsx4w{gkMzyl;KQi2UHo?n=|xRs#4i<|xDaLcJW1)h8sVUu4~{WVgq30gjI
z=h=b|k+G&nY6ebz?4vt-dBy%+d1V~)zaWQ#?@jpb6Q@p@J#ozJ$r)J_r%q1K$O6bK
zAZX_o1M@ZCTwFXqzMsyLZ?##90B$&8s>!5d2($T?L1COf4tjk2<cuj(Cr@B##8b2S
z#V3>{B?SJ6c!@54L_hpk6XT8fc~dMox%mXksT-B5ODG%4Nc!pe_SFUEj%>+I@M1I?
zCrrsO=_Y4QQ|1}Nj*Rb9)-RbMl0sl>u?`rctSvfkWx53n>m2XZDqy9_fXKYZmS1Y6
zB36<|M*<~7oIYg(bj3yU7q@VsG+nP$9mqManpi>IoW(#q^;IGRs_XPrp32fMIXSC1
z_wIaaI-onPKxa)-a?H7TOarN@K&8~(tSd$B#Rc(zFrS?@F@1c-l-WkZY~zG66BWHF
ze2jTIQ0j7IRs$HBj%rIzo&XeP9T44RbY4=!f}Feab)^7l)h)``<>nM2%z#qS-Cpsy
zu|T91isw-C;^P+<1GD+&emW>SIhg=nTd5OT)M2ve%;ro$CtGZ}Rv(|_WJ;t0KIQ8n
zn6A$Z{Et%nZDtvLT34ED$+70nE6K^bHJM6eS@Rh#DQgBt81C{!1{|@Wu#^y@b(zIQ
zh1O!rEt%7K;}j;r5L2d3H#AF^Q<SGm%JL;qbZFKsNm+h!k-}gdvKB0uj4lA;X}Wd3
zP+WX>DI6d8x`_ik^_c0pc{!!J+~T5w!nx2I@MjAO3UdnyayqRTsHg=N8Z$+?i!nZQ
zX<24WhilWBftF49$VC`dze*{OkF1$}^6t<H)1f@`oC2Y6?mV-l5WundnK>oNNHGtl
zw8;c|Do0Jli&zYP8)yv9FVjJbdF&50I?S9lMpsy>%P%6$<t2L+0aSIWAVW?jrw@5y
zlm<j-xwXiYQ)Rg*kEEJ_niuA`l&7?b6VrS}z2$sZ;w?op%x1YdUtzGO@>6V<ImM(H
zOus4lx$}yO=NHdiOr^@gyz=_&c}Ce_%1KC~QS=A=P-N!ilYurB&avcJ7SBq{Da|()
zBL)G1#avpLJBvj#OLLh)j5h<rR@YaT*iVP4nDG04F8&~Y+1hekJfD|m0njq47_3ym
z6s%wox1M%?seak+ppBFB;hDlR>-Kz0G18`60Qd`|ol6y(@{8tL=jmWlVWr2k`jM3$
zsEeNp<2s?AB3XaP`xo?$MG^B2ve5D<hnN5h%!OpQu4?ZXh9iD;I#beLsGs_qq1;1+
ztb9vh&V1_NS>7aXw{WsM6y3}|Id|y#<iz*M!vfMLCybjrdCIQ~^B3fqnqN?;*d2&N
zsM4iVXl9azek0E(=UgKJt_v`1u!C1=@6XQ%s*_C8HHEoWh9b$_w5)4Y&#}hPB67{#
zzb2noH@N!r!0Ne19lyI@YBgUmDz9q#HPU?b&V>VuYpC5jJb!<_rk704^*2bUEOUW5
zw~z)ZHMCXSTQL=xT58Gp&C376ctmwr?x|w=;;WBEVUT~NvB(BmJ51%T<Y#fkK()LZ
zh?Z8)$Q2@%j(<g50m5@3r++@>EWm%1KN(bkC1ut6m(K)lrU`tCz`u3bz;gMFtA$(q
zo8`=?c@ZSFaG6{VxaL4YqRdCw+KSSjzZn$N%6zUA{}m%f(pV60EfuwwG+~3}^3M#q
zc~`a82I?G?BYhRIf|;Oet&^)u;d%NWEH?%c%tamk?YLT6MMzwJcRu-hc)~DZi)<Ed
z7D|-C><udeYg!I$Fzw-fW!%Io3)4Va9{<4VWWb)iu!v#6%L|o!Tj6WK@5<lG9?&#w
zy?(;y$l})P=bx1`i@5`65%JH`dnx}X+Ji1>-5d`41oHB5Rj>S&`l#n+eqL*WeUGx6
zp!)=>s4q6F%B^9*KFGT-(aoNV{lV-pg=P79yp`RQ&qhLKPFdjs+XB8cx3Ey=Boq8^
z^*6~owFvG}=HdpoMP$bFFSkFZAm3jH<bj8L)<D5@IOY5O75=y*D6*2!-T>QdqXCdT
zUfHg->PX+LQ1aQmCQYwDr)K5m6Vk_Dd!y#7$J@X^Ro_&&nSp;G|Bh{`QRWCQb(SLZ
zc@}O@(*=I=;NiGIm1P<5JFU4EcO7kOnVtDfMO=$iZfd-DC@MnzF;Tokm<jUu?e_--
zxtdVX`2VZ^W!n78DDGX_{K~ZXmGN1}|8st2W@Z^D-l0pkSuAu+Rl2y;iX%9r>GI18
zv74V$XeIZB-cyx7u)n*;{)p}D3KvctKC~=x$mIM5IfX@e-g5=7-EX_LX`oF5Z5n9P
zK$`~IG|;AjHVw3CpiKj98feo%n+Do6(58Vl4YX;XO#^KjXwyKO2HG^xrhzsMv}vGC
z18o{;(?FXB+BDFnfi?}aX`oF5{{tG(a~yr;9JMB9P5hdKHTpHeni*@d*OaU&TT``W
z<(k!N)~(sRre@8-H7C|cYtF9W)`qV2uQi_IqRrfV_EvfUd%JxB-fl0!o9y(~{CvEr
zo{P8ZISzmr_~dyoH;8?E4LB0~^e=DK@893v_<Ex5`RiWo()i;`A>3E*t1hB~>w?aY
zo}nJTM{j&|Y4w}WjJtFp=*_*JzG=lrJHGp0&R##Vsyyhs|2~y)=d%6d-uhQo*Dqdr
z?AxH$-_8fM{<uA;_1E)3*1`|8FU5Xjs@}8e&?57Yn}aO1&wTsFvyY5<^QHwue&Msz
zg5I|*onhX)c;fQ*yZiO5eO9Yhen966eqR-pdAq+h{#^LrpDX_VNojKi-ub#8h+Tfa
zvs`aocu)t<{uaOhddeS=pGEsQbxR>Tg7ojI-}@-9l=FTwepQ)P2~n-$zZJFPgZ2R^
zU<PO)P%!?-euJ#}Wma%o{U-j9{Ajzk9SE_Xj^pMHvJ~g#SaUeQeQ_M1`|Qe<F5aJx
z%CS-$x3`0evlGOhR=Ii$;i~7j2Bli=P1I=zA}NRO^4YajIdAj?Dz=j=RCF1;dNXj<
z1GZsMnOyOs#ODyo0lI@-TbHxs;~Qv>>5_D6M?PKse|qrqk5f3y*<hZm{WnnKtZLrb
z{<hEHMcd@8#ia|u6(=FkamGwSVwZo~!9wk6ozVWEl5}omOCFWb>S_WKw7L_4@!qw9
zv!NwP+a45x)^oNy{pq3Y9Y{|6kRkP8MUbm)-$Kjk>-}jUzuq4N#&upv75RG~YL$N~
zfFbnZJY?4X+XVdPq)Z^ULMvgiLZFvjUcKnOdU+tQd3&|7t@y_V%JV>Ab$eU4=K(1|
zoV}BPPI5|G3)@RDCAZx!3<kzo`9<`csHwr21`1qHt?rc8bLxiD>zQknbAt9&34eM3
zSdkSJ(3Q@dP{COU;PJ&Vg7Y4o$(a*xauz0-ocF-N_+q`_oCK=d%<wF6&kX!oJnx)A
zyNoZRzs@RDMuCS`DS^k=DS>A<D}fgql)&pJlt8tF0EBHmE$iL;R~x%4Q2)IG`{#kc
zDD?SLV0q4O@PO$9t;b8Rzyxh<;CQ<fsNTKWUKayWw7t#-#<^DfxI=;YvEK#C*DFvy
zZLh!q@<3qr-k$@wVg9I80V!Hl;DEm*xQ7jaY5}7Y569~SjUx0r3(xJralZ)t>Urm-
zNrJQX-1D~?oOK500fY0PLkgb6PZst#cVaGKj`hSWavrI+a~yn?*+0LcO~Ckx`$XIO
z)bwf1M}F{jlyd#oC9SH<Q!OF^7yS)3>iT*|UH8d?_z(?9dCc|OE;tVgwUU~R!`lTB
zb_9b@#NZP#_(Tjo5ra>};1e<U#Kn5;tCKMBifP~#vw>I4241mu;1zoZUa@!J6?+F>
zv3KAVdk0>zJn)<cn{xze!oOy;$WHNT(*@^o!FgbU+tjXE7;!~#UM$rZNBmS8g-LF7
zoC*<Y8zK6dCg8*FALm{Y(tH^i=bry%_MME;^hs<69uS;|sHEUH9db^1*?H*POEVZw
zIoKaCIctO!yU)E0MX)rg*ZZ4Jna%^0|I#({Tj+&rG58^{IeVWx`Pl~pZ+#W(k?xcb
z$ps<M`;_+8=)OpzqOiZ(-hM-n{4+?jkW16BOv9$c!@msq7iop3Er_>g3t}34k3>$w
zEC(3W8?WKwj80^+XcJwW-3PLZW;ia=k53W9)DZ}CHgeREfDnV*UIby9AJJnq62$J8
zuzE^g05=~cdU#7{z}#Cxa{?uh*~^=Gg2-3O<eGQn%pY)JyzlnUd|J*t;LRLGY`v7_
za^`k#W{!`t+OS&7N%y@>ejLh1NdwkH!gt&N$8^>33}=cL4}C2*Y&Klt?BDY4Nx^3#
z?11+=B-VaQK4n9s;Xo3F*N|rzlw@QKYLybvLc-{TCjdQcu4X2xZ7PxSz!vyb(h^iw
zeFaF^1+ldSj+#*Iri*aJ1H`LxAX+tZ(xU`jD@v5+7W1LG{ta5sr#DzaBo}g;{wtMI
zf&T9ag(sqJ0?Uf?5aTt}4>4j$3}^R7xTun1P#^hcGNT8hsKI7{{RQIpJ2eMTl9m^Y
zR$$T@op8b8ygSC|EY&ekF1QeR8*ZpK)1Dsy{XlRJm8Lui5_jiiXjv}+I%881BIzj&
z0RB$RG&w0q8t6+Jk0hxFMV*?l2ydaiiQpXgH*C;w`2iPzEdvc)2Z&Mf0-)(gOq}ag
zb}Hz0+G+UoKW6&^SsRgMA~!RMhxyIqcUj!mY>tPzwN(#LF_Dc=6S*xQ4>ZoSP@z68
ziZ(@51FX=vD8Mmde1{sfuQfR5s~Sux^%hAed|!`!mbB;z;z14Bhb0wl3zqUI$*Fmd
z;$YF6fKX9F4LHJDEUU<aXRiLotnDG)Y7}bvTo6AIYCnSmg+0<qU{2u*`p1wZ?WL$w
zQ%=0x5z9calm$Cu#g6_P1yMt^;2iqBp#D)vxljtG(YZ)(Y62wb%~ZhIy({T6S%e;#
z<Dj7!v#g(+%`*fsQbUE{Ke0}8dXtI^lJ0q&B#8b75!Ac_7wKV^6nT=8-~<oJW=bAQ
z$xcl$hARZyLb>h;J(Z9K$V^_OG^gfvDxE1a`3EJ*OcE(MNM>>iC1bR~b<BJMfrH;w
zWtho+P-t}NUsp+5fPa&NI@+sC4+BCAvw!YPn&8O1{#KGCGKKg~Mxyko5r2~I!2ULM
zDN&GrQN8<b&DNptCtT%%hvJ4H@qM_4m!3hyopnVj#dTefwKGsI=PCI|D1R9u_S9rz
zVogSOO5<2AP(2xWHe$@TnKT5Ubt>!igp=9VTZXY1iP-BwQYL0QEP+Nkm<+M8u%tRR
zs<?%@aJwT$u0~Mo9PXSF9*hlTh&!#>X$TK?EC~<h77j+rK<u=`u{>hX^HB!T7;F$#
z<b@=`#ka3A#KptgVd5?XbkgpBK^M*S%uz^6st$ZD&%Cad4#4uV+Lx!$c!&%^2JPqv
zqswCvHi(^QD+|cbv?yK-rM<qR5vcDqF-FH%DjOV!ZAYk4Wjii~j)8JRpj>pm87n=t
zpVS}sIw1|N1{O69Ft}kcqmRfJjO;GO9eD(sLTU0UDm;rJ{OQ@+N9zq(X~2p(Z(%n3
zpD+5%a%D}KM*5bpJZ0ZKKK~o~H_#0~Nm4X%?0)QR^uBpDYvvN!!PKkr67usa)Z{(9
zCmezr#g1s7AObe@E1fnW(`_V|c@eCYp9${qGbBBRnjk(x?$@fD@yAzIIt+s<Enx16
z$$!;z2-%m!C2_E;(*cGIyIKS1)#UK!;B+R_>u;$zIK?PzCYzCXxEgbj(<TVL&{1wd
z1=j^Yr<MK%KvX$r2)l6#Cqz@7v!W+M{)Vc|XgE}*pPDsoI!}m~(|~yiOv+E;`3egl
zoD<Z*bbmp09hSB}2eIuK?@|<W;nbXe6KZKhZ}H5WW+Z-Yat>^dvL<JrFkGaJXGzq^
zQ5fQ2lz7<5n|aqhX(Kw0dNx6tu>!`kLCRzur@0>G49@J4h7s9%ZN=><A?o#lO0$vb
z=@P~U*Z1g3UNq_}0qx46gdh%^i|kDIB(uTQ=M}7d0Dd%y1IHl|J|r{6%clNUOl}KQ
zw;lc$0AX#7HHck>ltbDT7|xs_rQ7`rLkwcK`^k|Hta3{2!ltG^8RCs_MV9jZqQ4p4
z<3bH7T^6=8h+UK-j@nQmrG8;!W=frPCUG1gs?(go_ZysDO=9<kH&pPAX}GRA-4&ru
zuL@T4RVGA4Qzb+T?wRg1AmEJXIaZuiYv#ouB+xZ2IKz1(O4UxGgekmpTrjnhVf*d~
zhEwHG0aF*^X_pVgN(g0Vpr2IIrx;QuQS&frh3`P}{u2k4@4<w@+F%}`0*<x%7=oe3
zl!KPDO(8JyMJOvhL<6p@lH;~Ta$Gh#xdaDi;`_8hJ2ju91lBX#E!Ei=rPAXGr05gK
z*h8dgppxzWNQDMQU$cQ|(3$I@R!?s`{CeMua?HcGQ`4X5#vl$u(YM+T#mk<G;iec|
zFJl&IH)^in0szwYsx&{)v~p|mJJQgmA@ldaEMXRQINB%qzoy-s|QYI0}JH97N`
zM>v!a_wlZeq^G`ZZoZH)m*aHYRvIkUq-~fidfxRhtnEh?@TglS+u9!xc25tI8gQ+w
zgDAN^QEo%1shvwR30JHVl@CC6RNNaCL*FoW*&C1mqZVUy^XBp-Y^u1@nM~(37$%1-
zXADVwqCu>!_!*T`$vjZKv4QB10p^%&K+2)g>oZ(Y8Ofc?t)WKsd+27%_w=U|7{O8o
zD}7(uujydLNo_?t4PmDb+=6BI9R&4Q7$W87uw|hS!sw9)SsnZMtz;q$RqIAj{bKYY
zBxA&6<6;oUC1e6#I)NAK3@N6l1Z!7=h>M|WeUwt#D3=~Wywq^nR%c9UupFuW1<jOp
zt>(Cq!PXq;8aIZUU{{UeFQ|Ab3JW5f>E>y>(Xypkf&|(ut<tN5U3;3%q0V-E(8q$K
zzP|uB+4i4<EW6O%!!gC>-d%kQNgDayYv^72oYXX;&+7;q#gDZ2lb<hCV-$bjw{>Nm
zp;?1GxE!5Jex^Cm)J~5opGBI}6as%&d!$~EvVk{95Hsc)lCnF~6yXf+adX%@2h&uC
zbq+*FFw_iH7(~)1k3nNeeeQS}gXUgvJNGJ-l@u3aT|k2@AwxW1sG1)aPv%iP0%~12
zjnWrEg~Iz$n6DlIS>${%VikD`Oh6H;sHa@T5)?K$=l?3RS+WQpyhPs9Sgm~ZAn<He
zaTryc@aw!-eiZWIs>Y~351qrwUiVyxs9jzQXkqC6{!w1N$D;y_kW6X-*ydwFcSX*C
z1canr#grW_y+WO<=_hL>$l6Kjiy7~V9E@V1-G%ImUDi7>!mc0)4+UhChG59wib()Z
zyPGK$rU~loXzc)#=;CqcCu$B-Iz|{XRSlL?5bO)HSFpbiWCP+Yl#vb~6#^unK6Lsb
zwx*Xp>$j$BtD-PQP}O}*fM2lt&{kZA^eA4;#t5yW5f8HoU2%dkL|ZZ36wuB$&M0EU
zMqXNvR;F~cM$l|@)Iw+VmT&P#yBs?Wpp%b+cy*|h7so`wWx)%cJS3CvwhR%jKaSc-
zMEEZ-_mb8<2-`9q+ljL#ce=_cbQ9cy&ftu%*9W&JR?to-I68O%&dIQUcTasmIu5gi
zlw}6zg1MREm{7hN6PImu65z2HIdf^;Vq=p5$D`P_!w)9AvC?$M48*Mg{JEj=cC^5#
zzHCgnq+PCN_fDG2kR5V=i5#Z2?yG%Tb8Bi|pz(_HF*E{&YHws(-VKs!E(plb?n$A{
z%dTb<;}Tf{VjAD>=sLRDbVt6nhPc@wDpJdL()J<1lPpZ1wjv*QhnX;xWc&IzD7G&y
z!xe)Sd`71FU`FzdOy_LDg8_ujvEqe-O16Z)RnXCuZa23Io3S6EpS?-kyLUT|$jLz`
z?ukrsp;@%U7cf*bOkzXaym#mnK5>_Lq}i;e1Lk?yELYZeIPM@kIte&dK@!d!Dqp6~
z-)+?r3bybK?YkoHp)@z2jpgcT1f|ra)adTXSbjZSu-d`S$ZO{Y%I%3<PdESMa!L-R
z<XHdYWJ><-J|y4hpZwfQNdAzL<9x~NW&qXSKqNiDsaA^ev`2QFs!DT-2)+P8m1Z>Z
z(Sf13pzZC^t>~ONPtjEJokpC)!i_TPK_$;0WXqY-S=wjPz3ggemG;`%DEKD)GkEvf
z)1QXv{}SsUj$3X71JyfGD7g)Tgj<+G1n`-}h7q|*eY!6((R>E}@a;ikOFRInN>P9F
z$`YEUxREZCekOJxP4FYVg#h~9nle}y7}*xuTYa<`XO5l1Y_IQ99CXanVIMn<ZtMg{
zb^}<NL*=b7?>4F=_kRIsZi>t1tF@3=JXHHtC?9*sAa3VV4%s5a+FGeId6LLb*HSo`
zkF9lFYG>6@Zg_2D6d$__?&;OFyyId!Z6&!)a$Fp3ZSS}^Ra+T_*gKe}v=lF2g4Nz5
zg^O%4UWJ%DD@dBpQcs0z9iOAw(&fK_AcQ&>es|GC8k3mPXQj`PL2ghYKS64<8F#N2
zh1zf79j@6rF>zO&rr~+uMpJCO$<3>b;z1l9ly)<S5&I1(5y!2aM8omm5r+N2@XQR4
z04eX|U;(?3Fr&y$8TK@F9#T`KsQ?q&)hxjkTQWGxj5Nb95bmObq#aIDc%)v5W5j6?
zl-A41{V3U~`RWBEJx)nZ&2fZXn!#X|c#>|UgV8>NyVQ(z=4WJS9mi-SiJIXUiqzd0
zP?(E?8*YDiaX>q9pOlwM1&~7qMNN|s?YomsPtsC?>#!wihNp^p%lFjOv1y{AE;wxj
z(no^nZKwf@%N$(lf@4%^;*`2zB#%Sf*?E=V*xk&^3r9|0I4m4F6?-iFAn)w_coS_)
zy34eEWm@dY2Rx4Y;g7HrFGf7hr$m%nC$M{h9hUE18Z&NxWH+^;v=Qt9n+nz4=-q%l
zaIb%_{~Iy77lohO`Eg}*m&M<SLtN5*DEKsOl>KUN+>VZ3x|-w82baSk(;%7<qGkaE
z;;UyvYrLm9L|!9I)nWuH@ZQIn5^MPKQ_aoGID{|=n6neQ>*U2<+9AeTDMGp7Lw08D
z_Ev>Z$9HS#F1^OuixK=z;YXFi{S@w}qFM+b2F7Vfs~X6&tPb;UN}S*~0VCiK0o@EA
zA$`s^Yq?Z2HnO&n_D{9;pMoqyAytY}QG9hSTJLM^cz0(`NId8`Jqmx(r&vvun`~${
z$$M_dypHRI!dlwzVgx_922Ud24W*4NcHjH)*EK5?x8>u{8r|tXz+0j_{S1y1PZ-@<
zl6#^`D#GC>q)RY}wS27<$~#VJG1axUP-Ypl8!wW@2zH#N)OOZ(ERXDh<5Ml!g+un#
z=TIYO&F0;~Nho5Q?zlACHraJVih?QAZX_4m55ss;Ut81A+AYt^eK5TG0sp=gJQ!M|
zxwFmGx2CH)uPFo^w=xGLz8iR)wYQw3vtv`XT1XcbktU+8s0a_~y5Y{|iPg&Kr#9`q
z#FJGT7vk^{sjYBBKUfY$&FE)|Mu@V%JE8$rjkD%rA}51`Z8Ujc)Jy*cQ`om|EJi0;
zZzI8;IvSifYgdn&$}IJkp%|5U2nkpZx}uP$D+<!SyrYXrcl<e+6gW~W$Cd~QDIaQ=
z+t`N1cT(&K^uy})*WhVKRb2<pXyZz7S*Jq_U&NBU75%_zGwP^?k0Z`nNJk{Bg?B&*
zrG*0I<E%Mo;SA8*QazABFV!rhb37f3knl$lx2H}7BhGrGhwiwfr<5WTp(3v%j`j^e
z8BZ+AQTqlnlNo*f-_*YU__uFSOZ!^9MELqJuziW(jP`8+mvwryZ#RaJfBVP_aA5oH
zqZZ3OIK$VzGSGY5cgjZX)BD=@1LF475-{?$Z;MjI+rC4HqkVML=!sL>H>rwAcKsi3
zpX_IaoxEa!J^_w`4z7C1K|I!KoI-veaVyYEyOOlp$7&t$*3r(^4eLO*qh^=mV*H{g
z0pnWF>CnA`_POnro8%j->R*sR_f{%)?nO6bo#?bQ1_IhgbJklt99CNCJu3#qMm$x)
z?Wnw;#(G0!STT-ZZ3P)8eUAFcaw|t;@>#L$Gn+ORIyUG~Gy&@$_@QU6f0oUzNbN?X
z@~mrkZ5oX|#97Z^9LOV&_Cemc#d>BoM&5r`xAe>y644_?`nu*eB;X`4fo2vPcyZnm
z-k!M?3C!2Mr@zuK)%P>GmV&P_aNI3c#vOJQOK>KRc?D1Ed-vK?%dy$uaO^KemmpMa
zXPgup>;H^Swk>SlJz2_Xi9s!}EuAnj2ZNLy1uC|s7vh1o<ugi=M`jFWnrvJC^9-{s
zZ03ytQ?$QROZ$;vPd)x56;?FR+grw~fni9%*n9(pWVg<kdv8}V>Fx#ZKVe(^UF(v6
zbn$}<m_{4SUdw`3=C`1we2fFu8z7q&ces7tdm7v6uMJRbneiPma`@T32d`pu0c0_W
zXN|Sr4B;JLhM3$ht;Qj6#*i9EvPxTN#h5gVxHm#uxe{a}?h4l4kCDiUX)y-vb7xDJ
z;;g1y27Kj>)=uAr<&Sj{o>^m!)khU*uhbT3iyPqJ5$<scw52CPk<@@BB$u8DmLp3W
zE}UqJ#W7U^_UE-y5LW-|OyYKfc#v1qNi|LxaUOr}!UvgMv1izUO~h#4epc1E8e%B5
zYb#cHg@f(p#Bn;l|1L*kf_2&XTD1)u|HHM7K{(>-f&;4rqq^3h#@(?#n8|f6qw=sV
zlNYTW6Od~_F5P{dx57QyVcf@NxNlb*)E#lN4LO=12NmyN7?EUaFY1Fy2bM^B`hXL&
zlq;p0rd|97Rg0EMGq_RaLb12P6O3^>dNg{oco$C2B4&~>nNHK*P@^+=FRV!!?=<Yi
zvkvrAQ#%l0<Qdh6j48*o%gG%pxhbO)gv6R{Y{@t*9=PgcJ?$j+3I~)83RQuFOdPFO
z)?fkM`Y*Zx3vRGoZxo~46Tk6oR`@!7XH}DiE|>+H<Mf=WaE~6<3u+;%uDlB44Db1r
zlON?q92<a3MVuX1c4#5pUd}e_WxplYOCQQ|nM9dV8GR5$9Cx&GS6SH75hQ0y!%{q+
z*<QUE%;l#QC;^euTZ^=cL=v12t)?l!_Op(i@CDD`N&b^&-+70>ZBTB#Fl#Ou>F{F;
z4$|hdCpyi~PhuL5fPIDky3N?p($C&VV+lKb8`8j@e)h%+{G~1U8BlEj75Tso5gf4~
zANC633-c126Te30Dp0dcj!7Jr_fM)th!PF`l5meXPiiirM`mea#jPAV(i-Bp7;Np>
z6hW6TtSa+3n_6hb|8+w7drbf3^>!2#Qid5(hh;Tx1K1LP%{%#vN?@CJtk3fLh5JmL
zFqFhFW9V(IStr>r`XE^crLjUlV^7Kr3utUTrKO}EdjfSr2^|o{&)$f~7+@6rHZ{vV
zV40~<-Wk<?0i%(HBh56-s?yGadf?svpg}S|Dor$T2EiFl&z9+7TPQCYLKApr5Iu-v
zk)b$cquCZhIZ4iTOm+3?p`>`}-~!lu>?oVpscfN+QQSgxukoQ`CFu?-vr!CU4u_bw
zV8{4SY`--s)NCJ#2UL^**Vm*k^n9R0dqrO+Cr-So^f7_f)hxK@Z5A9~oHB{;#??R!
zI5~!^QY)taO=$L1PU?e^f~vMYPJ<_d3s7fo2u?1_{l`uRq`d=~xvK7a9z(N?j6QlH
z=;=fvlNKZFW<|}JM@g}rjhG!Ff;zen3fBdPqAMaNqpWqHxLj$vwTB$Uc}V3b8XzK=
zh?@1Fuj&>`ZYn7r-I*j*;}JVzDZ4FC364HxD1ut?2-X>CLl};|;VE2R4sQo1llXkx
zW)v~F3snZ!yK$=#2It94vY|7D+Aks5FcDGv$QaIgJB~&L_tSPN<&2D@Qds0JmV<%w
zRT5SZ@en-&j<fs2FCpH@Xts686nDaDG?laC_5xxqSf%3N{1mrFpFIMJv>V}`H{-JG
z!yJNR-+eE}KudS5k6TCe(Yf6V2pC)yOiV+SW(Vj^&SC4>rOzwulDZWa>9*r^Ql#0A
zumBshfibADMI|0?iWlC&#({qJrdbf8j#_~?AcV~)hi-g-`G2~m3l~0xHR=TQIYEz>
zMq3!`firO-_lU7AEUM|v6RFb@{22(g@Fh<+<3v+X;>kMA9!8FL6U2YT(Q=A8Y!0wm
zzP<K*IxMut#o*Y8x%<P5VQ<CRL6Rx{WE9T|;#U}D)?mJ_ol0;&%5o$(S!_|$_n$N_
zWjh-%Hsh&3QifgmN2_T~i;9qPHek&Df~o{~vOFWWM=q?>bb{b2q4vM%{L}|=LM>II
zE^&o-CTfLuXu{%WZ=}&9=U^d6hF7<Zbekf$pRv;goquE*$JH|qs2(X8Cosf9y_%vX
zS`G#A7><pl+ry|+m*HKsMKRJtN2wpj;z$Yydh{$X7(Lhxy%q%tf2G&vCZNlv>)0et
zJlS+(i%i7cq4d%@^irLs9~uW?&_lG<W_A{DXk;^Ei{)jupKrdY^k|xTN5s1VXR={%
zGhAn3AWlia*h8Zuo`Sn-7>H8=osbMg!DuZ;UVv>S!y%+x4Cn+h9PDKnytE>yBcmUJ
zX3M=M;C(sBl)Txe<df8wqUH&z+C3HHq@kJaUo=i6u>B04a^ZP{fXst<Kp;tWtZdaQ
zA+U7VjvF`~LI&{^^s)m{@r1a)wkhiT5%>g@-arEOz)|9U@u2iEB2w@XnwA%(=jUSD
z;{B~|4)CH4rtgG=-cSw|M7;Y*hd^{&qj~!8C_w%lA#<H(GmGK5hm{s7cl3*h<2>SC
zT%>1U7p`I_wXl;6%Tbt}=%7g_=#17q^(Z|=$-)N0ao<rbZqhPNIBG6CE~*xF#6t?B
zSWl8v)5)+l!Qjdi;0Dv+$~XvvDM?R(UB$_FNCn~^Yq(U45eoUEn%YYnSrBbU$vx63
z#N?ODCLd!jLA*nwQq;sf3ayKZ)*+|n$w#Ogy6N%G6FRW_6xO&mp*j@XFCBuB5JlNa
zwiBEg7lrzEH257qscoNNNZ$c!-gR8+s6lyW>I6hh?pbl!MsX&dxRfRt#m|`Wm^Hg)
zzoXovCkWz)M!YIOn;jlKV_{Wl!bu*s--&41?=%Ux*=u|l;}MD8wZ174-oR~0z!0RL
zy{Wg}#f-LttPIw}PT~!a@geL7YrhJzpH@|M#!IcUTHa_%Q05BTjnFGUm$1wQa7>cM
z+G(n5=A&{t^ur5ekuyj~;-o0Neq%@p!qkDg>+<b-RBB8)Vfk8c_Vh05xJ$&_G|KrB
z+U<8Uj7I?5=-|k>)jKh)u@W6481Zfd#MHPTHY$4(g__OtVAxkG=S(9~KY0kdxiKX0
zu;-B|IF=+vaU|LSiC&N)4!9rH2#kX%F^bXWp$y#xl<%<91WZYN99%5#D!UIlOYy(4
zg}I2gr*5SxZ5k<=Zhjr!cTUla`EfDWvnso|$cf;Tc+%kh8}><9@s5Cqofd6-0KI}W
zSX=Q5k_2(!c_aw#x9t>DU!Vb2g415{fm?hd%n+wHIY-g(T8I`brSjr_lPWb2A)Hck
z(r6IWS1<x_K`w@+Ok__jKq1bW3axEfiS-(j4STp@;4>T<Y4(w!oGmO<eZZ8m%kouI
zcl7EYq#H%t6h?PLNP2|EjTmVMu~GdAPMu^;eV|=_3%mQ*e2KdnVT9&=Tx=nUHI471
zKClS^F$_Z#yF{vp6>encrH6`_nT(Mi6Cs2d0QS#PxPRosba6-QgHhom=RJssksB!u
zyG=22Jwn*7pA<%P|L*VTZ6jJyf;6_J!PMC!)iGf;Gm%J&0ZkcEqmqsSy@%HAqESs7
zmN`hJ)}(Y_2S%1nR011eRW+J~bt>Ybu(=aNz|Y<kCiu)WjSGQR7dp++@w0IRPvclw
z^65ASRs&Lfrx=c|RJr>dJNVEzTvdjCeMIh7yg5V1IrSmTa$Hi|a07KfT8I+$4k|%E
zK@2D*i0Ls{I<4wDPL){GG}<JlqrR*JybBgD=}{i{s5-wwpx-aO1*`b$jluY~$_F>}
zf?La+WP{j<M@8a?XbtALEqF*xQ+H|iUNV>sLjMknaTi`2B&fm#XFFj;iuRv1ev?L?
z;(O8kg>+`=j&$MDxB}+Fd;UdRBzg7KTwz5<V)u+~3RI^~{TwOv!Buurfp6ncao9Fm
znzqQh`9MdbeQfhlqHI3siQklZ{3AjG-j{`j<8ib$LnYm{5I6EYq#JzXDAAgn*=TzD
zF*62MS_do5bRxg=cZh_9?t_}~z~HJm&rb48;&;+rf5W)lhd*NUO>TL%iIG3DP>u8>
z(y@b1+$GJtk>kc=gQo1veyH+qsB{m6m3LTV#Fa+sm3NG>AKxQQL<vE>RS+j)wPHHZ
z3)rb+XW6Zp8T&z0pgzQ}m8^is=AqF&2D1sKTD&b3TQ4+dM-6>`K@UjPAJV-sHkEVH
zc{?GOzG~n;CSK%zJKFZ?Pc#5DFHw>h`6e6RBlRY{>nVuFP}UwtZ4LTRM<wu_P5WAn
zQH{3>B9~D@${xI<v6+@}I!_&W0L*+HEG@Qq+l?{nYd1A4aN5z6FYh>#Z7$P4O+EAh
zO+DIatGhq7g1CI;Hvw-z4T7^Yl<{P9ORvm87_2W{=pLxXh&z9yXeQM(h=z_0*o4>y
z@uFV9nP5BU$cZ$lU@qEYEIdvt96KwR5@tZp_6x&6OK{X&p{+|iQ91HD?!>DcpmA&J
z=`o8_Qvtzv?WVd&Sj-}1)m)>2%&sVFiRNe4k`GLUyX5N3QP`3t?&8HM9SzdP_K?8c
z4fl9#v+~0I6!qC0I^X>bi$d=+v)PIkJ>_CIwix9+wwx)Ek0B1dOantWkrXR}$Sxr_
z(i^6md0Lh8P*7;D#d<HV4GossAvHTTu#bOQ*+(4C@o%b3Bcc;P!@GW7m@1z&(?~ap
zyQTMvm>KIuey}^R7v5c==RdfyM&J9Qv3a{GCHkTh_IgiKyNn?xaSxn$K7(Fh+YV~F
zlcC4uS$ELGh$#7K`CW(*D|%ZxnPuqYj7f+<^4r1fJg2e_IL`&MSFc&gD1R0=$t4q5
z$sp_PO=;|`Lu#6ZGodK!I7YUW%n|B1jznMOUn4@5-$bu%ze~k+)~;LIHB-$;q?cJy
z9fI_{rxr1`u*IOBh2z;yK|?($pKd47ieT*piPu%J)4&rv#I{AzGc(TUWNTliVic!c
zm-5`J`#u!K(uT<sXy*5}K6j$~AsA!q^ADTE4-8f26Pr0Sr~vk}_vT<F)OT~J61tgp
zPgZS?Kn%t;PDRBAArv2kKLgZK@&Y`Q)JNF06%mm7f<A)NQ#(?JS7KXUu@?g40sEm9
z*iMKiY0OqHMlq9mPXS-A!r8y~ku+{WPKB1@bdy)9@RY^q<U@^xJJ|SFkBvI7Pf{7g
zk_7n;N|U=!Hk(ubi@h(8Z>mcFPMV~o8#gS4vIi(wEJC3mEuoSN3EV&eWv>fR1}Id4
z);6Iqf~Ka`hHFq~bVPrSgUcu`GvhYUR>h{2QWl{svdE}K9lbR!xKThQ@Ao-3NmIlb
zoq2!n`_C;Oa_>F&oaa2xbDnd~bDr~@=WhR++p+4^K|Y7N9S)`|TFA5-%g><h7t1fu
zuWQ04%d1A8BgTG9V_&;w*VHPf(J;BnV(c>AJJ;A<F70z@V2GXWwHW(Gz|m7Gf2p2#
zU(}Xt4s>yd`)yd}*)>U*?!tgy)g=naM)x+f4@|ICFX9?NTkA$u(5MkH(pswSr!02w
z{gi{6D)+L*>mt}iF*VEM9UBj1@mqBR1nzw1>GDrd1N5(c@1y#)x5>S!7f7UeqU;vd
zo34kR(}dTq@$!yq2FlWkFtX!183|Y#jFLB7yM$k37&en|rpm9o(&|2=HVpiURkFO9
z`Yi+Ol1f?7LQ{WO#xA$fiC@zmofYzp{W;pFvwPQVA>a5spz3)&bqg?$wfa_I2jdCc
zB4sNs*Kn0E?x<h@+D3^qy2fyKmE#^PeeX_O3J=MWAs8&#>&LhX@tfsZT7w+MT0m4m
z`SaP#w)A7J?{JpIcQgDMK7{r2no$r+e&;C2vbcMiNt<3e((c9fm{mMT5^W|268Q91
zZAdj@a8Cinyyi0=PNsbMrCBIcve%Mz9aljrui$wrXvw-=jU@-UVe&P%L9DL;<R}P*
z7EaX|skJQ7`)Ivqmge0I+OUrn>msAFr8oRjONQIT_XF6L1VoE3@sHFkuK@E7z_e-p
zA($5FOO8rkEr2PTQ!!tlRw$Ig+ze=j*8-9~`*!`>YZ!$DO?_o(qoSdOTt$%+uA<A}
zqY9g~cmg;WW5JPFWc_)g7_FC}{4KwobbpKrXsqjTF9da)+_+%e$P)JGCLsx|0t1;|
z#meBkG78=V<fWpoNaIKnJjAxsc6e0apk;C^0e}tz%|nkZC^hLZHhFrq!Jci&dQ^WN
zJ<6G6$?BJeygZyGT^e58HL1!H^VSsaO)(AN2@FuWPar<iL~RpkcZou<N$|I5CwVO~
z4O6Oa3grw#Y$AwpfcO*)39h(Fdn_?cg!!aKOUwav1b+d?D_-)$AATF0;w$Q0Uz4o^
zwk%)r09sw(Aq@{n<kKKqLF664VDbi*(jbKUyB@tqwo(-X(aoq7_L3~-VK)j2p6p?V
zS%ci`#sCr2n@#m*gzNQLA%}FNjChS+2Vu5m)vAodI~bU-l(A+A&%$*^<unL7x(Y+!
zC;}Y?={`rD^au28r~v!##1I3!G%ixvGW3;sm~pT;a7cEs$vamKUmI(NI1dA@1Dk)%
zNYRM%PU5LWeu|-bDG#k3#N-3zbn*rxog)J})p6!~qALS%vUH7IM3s4y7O;z6&^RPK
z*~)P=NiFRIw?XBcI+6*U1zALMD%vbtmjx**`51{s0FH%^OcwXxF6>Vw!Z@FTS9at<
zXTTlF9Qqw&LByn6OdC*9dRLpDIKqzRRnxi<r}OZ~)@?lZU>&v&YoYC7!wVIN7wj6O
z=vp_zJ#ShYbH1Y;42-G?>@d`RX>$W1%`B8*or}(@vN2ukw-RW>bHS@y0SNGT##~&Z
zvL>peQgoaesz-7ySE<TBRGsC(r}F(lF2BJaNW>^V3ppe+7R!*e`87?HbsDn5z>3DV
z;wd8nVsr$Ac%pnih6t?;qBDW`v6zAACWGjNtl|lP|C+{m%uE@wqKLW3JcliH;a%}t
zsB6-@_z{!GLH8r;0?zA!6v&#SD^g*v{pk%r$QjREBBb9W5v={e<eEFw5VWLPTnH?D
zF46Bn{o_ag^#)PL0ba1lt9uA3f%rW-5m)MLkeCf<4Czg%;t&O4Cw3@xC3uNN>Q|vY
z2)?rAWd_ZasPL5ZXGkqj8;^XXk*HKgr`Da=OWkJH6IAvPb57e!14YFLjGeuOc4b5G
zY&}bW8r>2u=;+H*jljdgoYC0WO_S{(P=!2vTQN`K6nlf`e6O<XnmCm<hI`UqI<n><
zU_=xN(r@~gURKSEwDN)4fD4vrveyU<a_#<D5nmo4VwP6S2IoUcfR>bicW#FUb(b4J
zu+b^%c45USYmlP|bCq*GG=ZJS6V?QV0s!-mz{tj?`fMaXW=F`HK&SBQuqM!3e$BC=
zWIylAO_KhHI7@10Bb$Lu{pJIH$(^#qz`78Yb+*?DpW0jljAZi3FxjuR8mu&vUv0=`
z$2$6)dGtAH>Qcg8SG5uAgf|I!SmKKLH@4#ToHixKxfHx!7wgLOP5sz&J_oKmHC^;^
z#+;0-EV%OcOX5Ajo18jNaIve4Jl|msCu4w76W}@~Bw59`7(MXWk;XDP(RHO-H?;|H
z^f9Z<sGLDp<z!@JSt=%^IIVK!37+84vRKr2u|x;MvMZB820YRjqK<QD0Qof0LpU-h
z)=g~zD&qXD49OBA<7z^_G_@T=o;f1{Kf)ahAtdhusDM2}pkAI|0*8=`70ler>UZb7
zyaDHBfewnfIuU^6fQ~L*BnLpSnz_njAdl#<2sIIExhF4_j<Ev0-h^Ya0INzyC*(un
zGz~%M9+<!qHK9b({Q>=|5E-M}DP;r=YA1*?_TX!tLpw&e{^oCh!kz|CuveL_TJA6B
zODCfBW7dOdg-4lWv6WCfbq$qsuuL*v^8~;UQd$`n0Z##k)&L;sC2nNKm|&JS>%w*e
zdCZlb#X&DAPrwMqoxt6uDY$zOp6Sv9<8b#sR{UHC<wLrD6z={p9zU;{@bkz7{H)Kx
zPu_L-8DPfG$2@-glknrV;O9>x@bee}U4IfkRg>}9Mo{9X;^*(f2)X1DP!MVIKH|KM
zE%$mr+X*fAwlE^+p|f^DCfBvheMwqBgLT&Uh%?hYNRYj_7KLBwLjCwwBrujxCry*i
z<+CbZ`z?mss3qb%C3j1=oC1bNMgXtnaQ0{)=vxPYGZ^bToaJO&X6vAT-3mz7%yYbW
zi5-V2gK$`Vx2xs;Y4sIops6&`@e&v{2cmK;Bh1@lJm*Jq6%&yc&aQp9d-FjiSCNfh
zJjZkQUK>NtU!qBQj|Bha29lBVJzT{fBT24sk`TT*jwVJXXOR`hX)0fjB|@!DOv84P
zBHv)Ca?<IR6Vxkkwq;X_lnaDxVk0aE57e>goOKtHow)E=fZWnBWRp9zT$FTQ2BOuD
zT0%7#*{&R^@bhw|-!GDDw}}TWSsCPVxG^`@)z7n07*f_##O@u|A}Wg!Kj;<p+?|~X
zTXvSKW-D5bp&{4s2_B<r$Y+a$d3n;PNDaqX4fURl@M#<+I`Vxy8wb1Fs>9=;jeD|=
zyYo3f@?5xyt9YE<EQZe&Zs=GGnDbVvlODjZ2+9nfc1$SG4L_fU_2vMK#1RM&AVv*&
zJ%`8JK>=*1Sey77bRg6O+Z*0emz^k6`lD7x;9s`bV<7v=E!M5o21Nk!lE78GhZ>l?
zG=y*d8or_Bqcy$3*$0xQ=PDm$m6F1GNScj4-dcf#D1Os!ByF`ayG#^u)S}I?uCb!^
zn5Pc>o=|qRP#fZR3biRFbh$l$fP99yh=pEjPpYs3UwXAZ4#ctT$dK4Q1_tsVdIDk8
z4E??JYxW?&{S$_q)-zEF^<ZXeGfRjt{=v%_-?i1uICK6g?%qYLXI+rHQD3g&G5HRC
z%)|Oo16MJD-Jr957UtRA@{RLW*0X*SsSU@V8*2y_lfYg0<<XHMiVa@@AY+i*jztGn
ztu{5|14bj+Cl;Fc3F)nyh#ycY5tD=<k+jJ2@HtQobEOaVXIooYg0%@9?H@MrJv$vx
zL)&0^aflFjU>Dj=>UATeeB;Sjm(jEF9}8S)1;CETU<_XahjUfy{RFDRn*@q&@o$EU
zfxz{r!biZ3A-H>Sc<kSTc?T$72@J>yz)B~#^pK%IvyGa9OayoZswG(%Ka<AXK&-Jg
zfox~DT8$e%$UFvV94ruEbPQ+!U0$8kJOT*R$8<7J;ZKBux>spKO%4k}6OAR?*(Hms
zgu#(Ptsx1pY--m~sUa(GK_Y+dqy-y-ed+{H%O#tpfmK4_V`T8-DUU}=<0|^dcaW<s
z5FU9He-u*4dgVLprooxZ<f$vN0;eoEs)npLmaJFRbh?78IETVSC|`qVOhp!8s=V!_
zO|$3nx_5@M(jvHm9!MrC|Bf4CAH=H!=5fN+EaSQvZ{*{~H!P#$##{w<cA$Ye&W70y
zfuO$MBJIv2nQDo3-7H!^3aRspBkKG-LNN0P#M(D)F4#kj(t{WGuo(kR3K5A83?#J-
zxCB~5C}FadB_4Pg<JmM#^G(h5n7p~|$7$-MVW1WD^D%9hI%(dlY{IC3nYXQkHe!S9
zAm&3zf_k&A-52RbxD<r<@!*RDRhz;vg!d6nqihBA?8MnFY_;i*;Smmjm@Mn?^am{0
zgu)|XUCZiQr?zBQ#Ou*c&Yl)H%&o;9sufbBa_K$mwCk;$Wsf`OeaMu`sTW;Zo91jF
zPPA%8mkMiPyQz`$(8l|8_)*x>&%)lOvF&Mq2n21glnLTSgP3TdopCb%^67`1Lp&E^
zxXKjjqMi*V1Gc55{V$^b$09{~obG5$740T1l{$}VJ*^P5r*K2X=klgQT;(Zbk-kM{
zZoAzS2bVRRz_Xk5!M(g@FAj;?j<(>;5l(N}+L~>Hn*|)=!mnsC8E}}(Hn>hmz|%gd
zlxo{dpyK{pP+0_OGJ(48zXg><pong1>EHfK0w)1L>t6uMozwYNAm_q4Ka=(v6?&iN
zyq&x2ckERFD}NPNS&3iRtNO#%C%p|B-DEMvQ8P?1mq3c<nhb$yGM5o&&}4wEKG?)-
z{Pv}xDS;TCP;Udz;TJ}~P2@><w1q&(&EN>Pge?IEpzu*F_(k4~iZO}g+r2qk>E5#|
z#g^X2Rkj~j3VGCGFJAT_hI!?1=HAweQ0>tV#KSMCTfdO+G3;aYxhhpY(pml)c}2gZ
zmGWUMC7*=rNbba>hl`jM3hn@OPX84=VIi;eWU0zJv)CDRIJ$kf<jcTKFhkrAS#H$5
zw+3r<7ThQMOPU3e7ZHfPQW>h1gS)hXXHqp53@FnI4+EAtk!4OAh0M}1BuXO}G6Yhn
zG{D{su*`8`J?wAaGc&7hIH4o<J&$$4g*8|g!0bfJ!6eia=w}nnFsSQ(Ko1Lffs1q1
zv?cijP8<Wq4uSz!7kTr6atmT2j10Pi0L5*e)stM?y>puq;RW-1B$aFiJAQ{7@)~Em
z6U^*EUW?V>6-~NN&4IYQ&K_}sm9#HBQPvsG&Y?S;Wo<;dJmN}=<PrB(CQvzKXRbkR
z(6q;s{{uK}#Q%J~%99VT96G~8=MVll`ZTj;%mgY>AKe=|_f<Kk0q?a)pePW-EgFp+
z1!C$C=Fy+q#WuXWp1p)v?%uS2icedaflP3r<90NeFYV^NogKclTC@8{?b@T4V0vmq
z;D|jb6gc7!V4>|gGM>TOxbkyq&?Mh#w9yzON)MSa*1V`gXSja}mR`U;7e~Jvb@hdi
z0lN>DL?p>>UbiqeFSb=3-U|u)c?;fk#?X-LORCBT+@rb7U_(>bLGXk2MJ(Ko_pnE7
zuxXm%svZLrxVv7)JBxT+@Lf}ao@w#jZnTN-ST-G`y$qh)?iX%3-&fFlFIq;X3_;cx
zA#&L1S_m+z8i~}m^d_6>P|2Fc81*L0NJG^m*kyG)R$)FV+(*Mcx5KWs6d+U#jvkHd
zQsA8wi=lC3cNTICH+^vfp|Oli#Z8J$bE3ei&f+imdG`e^cjs;B4F!B~mzCRb6#KNf
z0L$HZ6B0v~pol9s>^K71{CL@})zJr@@rG?i0=2$?K}+N0?^j~r|57OYN}inh0xw{a
zy&*%tcC6r=O#J|E>sVS~K1Emrt@xI7_F1Yq*^iPzgk0EV5O<R|yI``6(wFR~@)igR
zKp58M)PPTJg2QVLhF|~~!JMp>o{<5q10Ws_{(yw&CSg#95)3$#3~yivh52n&M#@_3
zTl^FsCgsvX8PbR=pp;UA8Gn)iGy)^z+KF)K(X*I1lM^v$f-D?<pRT0^gs}z<rIH3d
z$H@C&#ZSpImiWW$Nn2|M!g`>j#Zo*3<_C~<p0r?NO#*>B&d}05M4%`d7n)cwz~K^{
zN-M!;5AzLNMSf3C+MUE9I<y{+Fob+CNXt(FVzgPol#PgMZLULXMR<v`7%CW7;ZFpg
zd|C$_vHF&%dGUZWZ5xKe({0wXK*ZqUY~Dp$-rFC}g01;rDJuv(Nk8$;`wSyaZ{)Xm
z4h20MKT9ZCi|qoCfh{Jh1O@J+P}5mkeA5yn6{yNy_>ps#=xX78cNm4iZ6R<hKm13b
zX0@;)ILx0QH3PB;RU0RDC&W0D_+SIg3XcP?z#eg7i!k_oA^pA9`|%vc3gth-_yZ~`
zo}scIv6ev;1sv_oc6?Scm?1~Cgi9dkRUuX5Xz{o9<~0Wb*pNDqc|_dP_SKsM0GUs3
zaOq$)3BdE=L_mk#N=;p5-5qT{9y3Xa8U}8>4F(c!kF%x!AiolPi`C*hGxSdEc^qwl
z9hyJ-Nn7*adOY%81p8<^A=V$2e2M)ngU>^K%RTz3)q6Xb+(YnY*yscStYlkIH`=s=
zOFMi7=1_}<`r_F8R?<u$U`$3J1Po9Hq3{ChjfjcRXc@OsCH=vH@qa^Vek}iTkgM#B
z@dm+v5F`UPSP5JhS7viMdC~8YIIiL>#z~LViL3a8-9QU}FMRWM_|*Y+qvk4h$*-JO
z!zX`e>)-Lj`}juB`61lhw0SPnkkL1lXn^gM^E^NqP#+zszTj}B*Sv*Sk=5zoUC#a<
zN$u=TKk?+-)0Ka@Qy__dSsl>xFYC}IFUMYHsmG?3zcr29PRHEz&~MNW$E~aR3nUcs
zGp;xSo4u+S=SF>^?(P+|CE-lqwl@jhdst$P0rnm__Zv8BuYy`s6H6wb!Mp8+bu>ap
zK#5H_25vhlS;SLzZ^bxjAy9L*D?S@R0Ju9}q`I+z(6<Ek+;J<_U`PYMlPss$bKve~
zi#F~_Xy8kb@h8+!;4y#ez`^^Waj%_%8Sa|`np@#!QB?yZC^bW@sG^n=4-ej5*u*9e
z5WxgR)HSf|;6%m!Zy*n2f=~?<S>$p1;5zQERy@>9kB|#W2kn}mb}gu}Mbd2Iek21I
z`{3Q6l(q(O`kmW;SiVD#eTztM1|;x(B)0>6uNX(w2;K+AHL>eG<LYn?+-yTbu3Z=5
z9_os571m7qwRO=j6jj$rR>uS5BzC=LTnnx?xuIY`8&^#D5KDNEzX7e&tE{h;d-7mu
zkD9Saj37g~3}^<-(EF?vN1W@R)i_tuPage{lH<&xpEUYO@mx?N)`n-<xI9&0K5Xpc
z@?3xxn9gpYaH#_DSwreFx*f}I9e^IVn%zE4sRP(8aVXH8-I4|$h-0@2BsspM!%)Q}
z{S5s43C8YCC#ADb;OHr}Gmex>2{ycV4=IS+T5%dd0|!0LHrvEMQ<Clh6sD1L9d_?4
za1W3eKQ@fRmlpa{CF>F?0XM}x*^S&Kdf{HQk1MvNe<4(t?fg^kk?*F)3VSNXZNm!&
zqV1nT`lrI-&jp|MYK-lEDNbnnN|pwl04Kug<iAcm^V{x!ooe@KZML=+q5Apf<Uf0Q
zz3s4M*VN;bX{_y*re$>W=kTZ0O8N3^g}q%C`CYbW%ll8vnw>%3C;Jeqfi|BHNgD)G
z#oSpMi*K!Ztr67To)2Q8{7b4{!cYkMUn<50^G+TMnS^m3lOq`p1nC~Y;NOJsA(SEY
zNlW%d0XAA|Zper*l;@t@T}rSA{RB4o7yx!NE^OM6O+XRQqX7En!5v+EIjU(gxD2|0
zx)^5SKP1iQO%2`eNtXY88pj>t9K$rvhHi$KwL@z`n47W}O_d$E;6mUuOsRUc8(H0_
zd0*|8iz_<}c1W6zJffgK=Qlddph)!_c+~mLPOYVC3{>Fh20^pOQuS&Ad9a};B$#n!
zreO3BG3gzQPvH~IUhM^{^D4+p6y;DmWZU{U)N@5{_a_7#xr{5_JQp}uENtT1(tbYv
zQ{L3LHW}7;&ULkq|B?24f-n$X&^h}6)2B&_$qWYUwlVBpO`vi0ij~w%`OhlhqbjKm
zRZ{nJmCQvYjEsq(r=5}>Axb)9n4wW-AjIdbQX=6)wq_LIfBtGhGoTVFO+N?yob^{i
zuZ)7;5`up6=bLm%EQ=Y;5PhA8=7hIyUFri@n;GH9^5QulEH6bxOlD8slhq#a^!
z2C+MH$f<f&lO==Fm~jn><LeeUNw5LPT@uMx1+2j%&3$x*jNRDvXR1De(yY!aQsE?{
zbx2}_5EZ#UN5$R$64bCLP<bIxv>kRuhD`XEpx%RBIgHgw*4<xCXu&nakmn~;AJ$_q
zilG=!R~W9|MUI~*`i>~@RUu68!!-on9tN*fIj2N}k96GIW$?MKtI!iCIMF+Wi7t}f
zAyJT5h9DQy6)kiMOOt45kpVD6h9<bK*g{8`g<S5_w24X`V=Jy#8c;r-^fOhwg%>~1
zkD{n5szX)O;d(`E@1!~qhX`dD#A~o2IL~zzh<7iP%^5Whp=>;fs+mS24aKn_Q8nUv
znc@b0uV-l_V_GO<23=`E#!k^MUIYs;Ej(cB!qgEm{3ai{iE8^Qth1YvYLMVc5Ij%y
zWK(aT8&LWu+C#KA&4s$kQW2{75oD9bV$Okb=CuzHYBC^4Qa%!()*>NSnlOz56%MdS
z&p>CujhXpNq3B{1B_EkA(LTV;j;Ux)Nc)&GA2tACH%!g)Y2&LZ24oQdrm<HMMk5gR
zqbv{4m3w&_E-8R(9k$4;bW4zmmp9@<X;r#elucfoA^;~iK&Q&0eUqMG7PkG;Xch)}
zKjpZw^~W|C2AK{ZJJw|hg{Nrx!{o2&_ri^!cJk}caYCl9d07w~TCnbwwmuw{Y?hOm
z-9Wl4`VD-jsQ{LgG16+h;I>;cGS87a9drAGmXIa`M?Ud5vT3FHkB}YloHdPey#qJ7
z%%JCdLJ15~%itymp^D_M6Ho9yAwe37{M-&}T5t~*geOq~0h$HxbiL>>m;1ppHy#Y+
zYv-MuLK{MpjaVFdCj(AH788%~*@@5@9JHA3Q&<g|$;-tQgrrAq04Lt2#B;DdQSfBh
z-8K^eJ`pavHU&*Xr;B<_B<rbj2zlz~A_VFZQVYR@I=15?&|w$a<A9HtnF{oq21sc7
z0cnC}?f@hGq|gtPgt-IsPy}$O=u?B#U_xfEb^r^g5b|ap8@wJi$#QD(JhDWPT1Qd2
zg`cq>6+_8=!46?9%b_kfwt7BbVm%fouEQF(&Ir}nmvovk%tr>cd-NuVvWYVcvbT{r
z1*E{519}9p3%7k*PujkPLmyZ12Sz<b#E%s;CxsvslpE_9r)~g}Yj4f`+(vOc#YC(b
z`JN_?3n#Vo(01&2i<+PY4WnMiVXGYH<mTb<e_}?(Ue{1rGVH#j!B|RziM3h-PSRp1
zcT26{AE@{mnWMr?n8vo|fh+eDR+UbO5uITwh5-@>Sn$mQc8ck?G@N8&VR^3P%aO&y
zngUL!(VMK|9*RbU^TCgj#kijjuyKMBaco~FvBF742O??AMQq;FFq*?eK?gSM;2t6u
zLjxR`^g5D}CYlom>R!dYG?MYYQAlr`BqBx$zPo``exQM35Zg`u4Xt*~35V%u$tze3
zN{?g%Xm-Dzs1<7v!K+({%;rtsR4qjO(W7f`MTL{A`u0FyJUIaalAzB{nvNVUe3K$E
zTW6u$9AH97?Vt>JpGk>nqM*%A8cw(USg9d&+m)5-Pq&>WS54?)-qZ$UV7Po}0XX`5
zbCnAdSkCY8fIi4(AF`OC|K>x*&y$`-4dfcth0p4Hoh!jAeqs>=7V-N)qD5SuXAw8%
zTg275AV&ZMLHuUzO`EI&dP*$vUyA^|1Tz9qJjh_qBdi^Hyy-yM0MVN7O5#m>%935N
zmh9EJrAY+OBA&63-|Zy;BQZex&j+^8K#Yp9G=vWaJX&k}xUn&ub~TNcXUplc94coa
zq;Ds(@}B)<6@4C=1vI=>{Dw|GB6!?vcvA1@-=v|?=9`q2U3}ivf2L2{#hRTrrnEb~
zw~BdVtl7m`We8o49`QZ=h;VF_c4SSbN)8F83nf}X{4E9cScr-c^YBHu+$TMZ>4En9
zH<HIL2A~c*m294hHX9-Y`6+~ozmNKt&+&=WlMNRx4s2fm8t;MkAz)Twrh&U*u7M5P
z-mx3!!BaH!VU$aD@m%>Q<hP5sNQoHu+D<z9AZ&)M+`k1-9q9*gS|ic!O*)T4Hk<`9
zf=zce;1&NmnJ@S^$X(jzD_5y528Ep99Wko4B@VR6AZ$`#JOezT&t9SY19FqL4Svh!
z)5Zy!W}E3)*>rO5tqj`4!*C9s;hO*^SrKp-rJ8L1mc(E#9o}5mA9OU#B6T6j1r#!m
zAct>SjQquq_2Y0fW)YI9GSr0O8<jDaY}AD%ust1K0Z9|uaW6@1ok{&(Ou7n*cG1ew
zf$S8x6MSN)kh3_*E4}>?%MgnUqT|b2;u}zF!;a`AuU)SZ9S{j?r_dv|1RNZK7Mz?5
zEWAmFAt}-^2H=|ABsD(A9x3$?XiT5ugp`gOOhtR_zOfTAwsAWg_=-pq4!RAZkuJRn
zM?~XnnuF3aM=0OCJ!~KW>FYY7)CrsClk<Y_w=seSmlAA6&D%>G+nP4J>7ug-!L^Bp
zcufNxLFob%s0=cl5=>tsmM+<Y#Di8%gY+FkNB376IMUBLyCEEd6VXawq;Dow@;JT5
zcO(dVaZiDFrxBwWj0=VW?_ERL?UzRH&NSRnl?A-lYNVPR-i?Fk;cAf6wi}J@bqyE1
ze2T@p1Wi~o2LVC(F;Xiw0Rj9uNM@}L{m#p0S*n&;q-TdxZArgl5<71NW_#A%F{oGZ
zR#|VDfuc32)t&8FQIZWKc9E<*&=hKfsdxn5w^^|%kHvTI8aMmIRcNiuZ9h%czXZgE
z`v;I2j#{en>}1Mqfh5yM4-he#dQp3Ki}(eQN>~h+Xgb(WU!9R&Mt22}hi0-lC$v9k
z$1-P1Rz(~;@-WDfrF#jsB4;m3I*$nn{Lj)gQ&Oy~r-{kW%*I>=(NbyVreg4$sigxh
zQm+SyKaZxm@dEw7xLrp>_vkkmb=t+lc3B6*(PabgeqBR#syI3%$-Em?l5{PI!g$TM
z)uGn~oyE1C@Xj|anHTGhO4~RnvcY|@qiJ1V1m+5!i|VyApeo)4gs9!o*`|55hXqq}
zsdk#TJIsrdu~BNLW6#T=nlL|Za^lX#%wh99rBOj4SMiM%8X{CJy@|?!c?PUU)P&e%
zYLD?USKh|s$?Fg{_+!%XR1{_U1D?o#X1ne=%;nHn_f+Y&;!b)MISxzob`X;8rKHD^
zg!pOUw2hSJV`<oGlJgZ%+Ipm6@IIGIyJCK+3xhBNZ=fJ^6^9^7JO<E9nWud&bS7OR
zy+Jd&U++bffTIs13&!U+0D!BcZGS<0TN(_gd;&(Px2d0H<H?=#9rPlVvj@gINgIBB
zoL={4DCll!2dyV=IkO1Tsll)vH(>x_kiNtdrekRruG?Z{U^~J&7_hhS1U&n<1543F
zfZfBgVoG7ap1>0UTZ`*9tqknua1I8{jVAy*49vqsYY5l`!fYa5(t)=Sw7GaBXlX3D
z#ZcOlDD54|!~l-OBLKSF0n+)$5Wp`6F@Rk{05u_iCs=Yz7a8E*NG1mGJv>6yeq=ht
zx<4S%*t7_iVl?UCnarmLVJK(<7AVHLiT3d?+k3+b1|7QnJRoE-bRNL$9uGKQaTUdA
z)tV0gJz{>Yjlr;l7&%f8)NkH&z7{#mLgx1#oVL&WUP?tOFnJ9{3>Z^d;|F6$Q@067
z3Y_JTARlnHV{tmk{d$bt*aiep#I%k$XjGtgK!?j$z3IK&et2Kq{=S#|z8Aeeuc2a{
z-8m1k_c|eAzx=i@gU<Mi((Btx_mSWC!RnKoxrj2hw1@=e1oFqFJK#OZ=#u6Q#QB9?
z&Q+kHGvw;ck5E87WEZt(Wro;%!X@lFfFA<3Im!~)v;T}iNH`_c7zqk-%a`;LPe+9e
zm}D%lKPDhZ4b*lz10x;})i1AWbf}q{DVNqHv@sf5lh6qntoiaKG`V1;4SgDNapqAf
z8qK!JgjkmgYv5eZMb6c;<_n-1X)$b~<;9dN2wdZv^eOFY^z>XDQYOGVAEO{pq;0Ol
zrCEXGj-_Zq=utWlgug}lk?iI{fdB>1<6F_@s>bpyxX>}Rj$;|K5y;%@3Gfid2kaOi
zFuh>(`U*>Zw!0mQ!FdMHY`F0OB6C|`OtrCLCY#{PF*t7kgm8S{`T?x3Bt%Y|zKsNT
z&L03N65sc+a2^PVnFgAdkburof=sn~WTXQ&qrf>D|E6PH|26S_BjYulT9SkOjsSRo
zdLE#}v*jO?&S&NxL<D0-+vYHB9->yJt(uAMGPvH{jzTy;17S5wAEP5<U`dR)<X=Dn
z!Z3tFi|z@()`iG=2MHjnl*qaowb(W2ZTtDEG->WAhEXpfF4{w%yOY*+Bw~=ghz|uu
z0?efNz8%S#8S$r$5HEzHmM8!<0#O?fggQmiX3)F||0z;G#H7EIp?q#?9$cU~rvbmQ
zu5}PUoRYcN!!;ms-ibFfy4R7U;M}qsSC(<6=i*SD^)Cz^z`i_>r~YHl#hkKXLd5wT
zLfTyV^987<u>F|!IW<ZS@9oE!kvNUXVI1V}<|!TJ@CH10l*1F0BDWP`FU#Q(Te}>N
z2T-(CTtp5XNO0$HC>N2#9^pJ;IUI%rG+4lj28%^TlEY_5GVIm>_OF#gnMMFIOV9UZ
zP|^SeeT`_m8<j-&wK6<+r12X{k!d7TtW4t<0;7@1<9q;RG}06Gqe3LObB3c_B;M`l
za2{PKj}-}^QIAZuSA}TYJ%VAk39x?^jUk(3_~6|IY4|l14M6YaD&AnA$BrZ#3fZ2M
zAkN2>Z0WWRv8}ol!@bn=R5w)&vNcw8J5LhWuA$|U2t!FDt1^R$K@vmgDzZC;cGdDD
zuDSDTXuu1Nr!;)mQ(%K;Y3pzdy;-p(*M^$%khB>o=TtEiy$#i>%=mAwY^Fd_u-`xz
zBtHdUqmgihP8AB1MdLi3%44z{y?#Ys#Fw;~B`9|)KJl~Z0y{p<-E}ou3xkW8V?#1I
z)KvklOdUDYk*W>?@pT)!xXM(Fj&54#5OGqy!bGc9d-`{<88J5vDT8Quot1#k-FDz5
zKER;)Cee9A?(Qd%6y^lyc@R$&)PxoqSkG0Mwoz3GN&%Ib3{mWv741_tqBbEhu`?ZF
zNTr%7CsXM0%@l!~>ZeeTzG8gY#Bx>$9t@<*aa`=#a?Z7b5dkFg2)UqR&o)>`bs!>Y
zoy}BN_RnxdVX$yDbhEE8J`H)Zi!y02!2+KbQ7a6I@l<}IAl_qgBSG-Od?vpW2IlJV
z@fi5{$<GJ|im5enk8v=3PY#ZuGQPy$*}cP?BF~;>O$g5!$!Twj0%315+I`c|*kL%9
zCWGB{4`T=Cv4W2l@hQgfnZCYWd~wSL&t?brw?>C}+}8FE4}&2ZqEFe-8kw8^Qk*hx
z1aXHYoA^0niw*nKI4#_EPDq!+^{^wpwxHjEPhxq8Yr@Gk&oWIrsy44(6G4?8K<;i^
z`ffo-Y!eEbQoqHey4y#?_{X|_G>kUEtEcMky>@e+I8#X9Cme1SH2dIXfg_85+e>e6
z*}W{14iw>kVQc%20^hXnwf{>X_sG6OfD~qRR4w@Ms$BzH->$R>|L%MjYOP&dmYQJ;
zHiXn&yJ^T^3wi~835&b)BsOWI7L4ZT6>R%l(ILjB5j!kr;9{M5+Pnk7Prrf9(7Xx8
zxcy`bSq6pZbu(r$X4`^Qa}RP_HYI0efm0%4ESA?(=LVL=S&tYn)p8a6(8il$&YgtA
zMt$$S=0O*5lVBNt7<~W@1iwdoA7>nFNt*X9o0=W?epw^`CO}{TctU!+2OEI9;hu)y
zPw_}0V0zNK8u{IT(7S_pWNSrM@KN@%rCaGT-d7ZZHH#?c?j|pQ9;eLP)dVY*V6Db;
zW!?G|Wc-bsae$n09cA2fPWmhvqq$aAW<R=?l-UgPri129k~D=5t7P~4+a&OzYHZ6y
zU|2Qw9d^0q7%poe|GK@nsqIWcg$b`Z4Ob{7rhdOgp^}y>uS*bQGy0q|+j}x^ipe}z
zQAf50@f0+yMjTPsNfN=O6A{p=chXQzDmB8nP|OV@dM!CMzkoW~OfB6BN<b=)%yg`7
zs=C8zBN%dqdRo*NW}E}$14nY`4t%o`)v}MN4F$M`L_%b}&lDoeCV52NdqXic@6DPS
z1A9EF-m$JM(wRcD%J5qGJZgO@;(D+(2%TJI2uH6$j!NHSD2uEFR)$srp|cn??VI6e
z5<M@;ix5QVM2t=ZqNNkI0F1$fc1)taJOF;2kRAhYXb2uG7x@~tjE~x9!Pto7Bg8ws
z<U+=Z(|`wBGmtmJUB(U;x5EH-%!nW>uUMkbj6~@uow^fE$rWa%qjUxaA5G|}qa4F?
zM;&Em4wWIZL-xstjxr4pupVGK%FEqY7wH_)nRg?>o#O?hh>o&3oF}ZKJdOm2<#J@I
z#SDlV@Etxh9I*R%;;+<EupWq_aWEhQ%2q&u9>#%2&1E!xL)%duzG-p`Q7zLbMQAJl
zgfNW<yD}QN2#sfu;Lh0wND&&J3+D;b_y!U{V+AtRLTh3)<_uxj#r(%KLZ-~pL_h|O
zuV2S#OazVnQAxC}+4(0l-c2bojoU~t*>_v+1cdOq?$a)e#>9v|{UZ|GIlIQoG=eW?
zsWF^~o@hWkg#^&}CuBm$l4-m?m0{N(uz!`V8EHpG<Bfm}8c*gh8u9fE-2_w;P2+Gp
zcWlQeDMhBSIzr=PfDooJR>nUmLSru^xO2{6t17Z)_`tyUki<eJ5RKm<0W`jWOmct_
z$f|2F!)`oa{}(it0WxU(c0!~--iS(~X`GJdjx@eWDKd>s5gKa&Axz^S8UM}^8pk5R
zoufjz2#uGxP@fIAV;7mme_$46A1kK*c>f@V-F(3Qg*3{0w`_Ezon^sj&Kl2bCGy8x
z%-jQTNXK_wr11j*nhj}ClWBYeNth*Q%)_~JUL$Qp-SXhQ6i&za<UG|0&nva1dU#L4
zic;2-;>^N?6d4hz@Q}b&A*ZV0p|}H0G|sb(bYhgMQd7nlc{;(+*$p+(VkA6ZQ<lrI
z`I69ORv|XLw(BkOxC6jg|6z7TTc(*J<IZL%713>ZJDxkX<u{Zfx8+Fy39bLex3}ed
z0LA)`i?n4S65KhNC>LqV(cwJdwzMJv^2#AoZ6Y#KTkbY8>^1@R|LwM1GXS9fRa?G<
zy8nZ=yy};>r6$srQ&H2uYs<lm6LKgP823VL8HvNf*7EOzZD`AzvhhtNxJB!BVV>Se
z4HWuj)GK&qEh!?6S<Qw)B@4A=8rnhrW>hN5hrg*rpYZZD=_3=!Ry@0N3IPbaL2}TC
z!cdm*{IL<wXvZnYQwsrP?f4@MPQa`_i`wx&{$^A#fkD{-DBIwnt$QC<&uID%krk9?
z$OwHlqF9#HtO$J;ln>MQ0zl%>a)iD*JiBu$0VqPBH<Tqz-yiV|`hJ5vwdjP5zJ4-&
zAB_8z^mUv&1^_a+^eCV}2j~Y1wWuVzFMgXDqA+6jTtPI4`eF=WP2V;94IqTa)qU}-
zFZPS{#dne5&UqG)B7O1caGr2qq-7vztVE{Tz9Aa3VS@s8m#+QAeKE366*b<N02xrK
z0R=S1gT{fVB$~!9KcUe>DKd>!k@4nsKnT<LG3IcLH}Me~FCf94(>OYc#`<ucFpX~`
z0W>~=Ol%{M#+!K{7TERvbu=>aQ0&98EaDVI&^Z+Ay#s(uXba_j*srj`s&d|lZ$9GD
z3=Pz7sxSF094&MRaKWd`<RF|A@Zg&hlnl6TGdqnev?oG!s-iRX#6zR*pQD&TD7g?d
z%RyXt)~{!Us)qJURimLnX$>-yb^xUIOSkl4lxCn{2SYEN+9D&bM|Nbp;+#>YXJx-d
zus5_}GTLx4Ku5RXOgwj-Gv1^Wxee1Ia#{-r;WiuuplHM7NE?ntf;&fxauGSb)G3rF
z+=g9{2b8sBfU+(j%I@#Yu$vFqzi`gDOitNY`g>G`CN%)cHa94|9aYE_TG<x{*WkG$
zh3`^|OyNr6GV6&aGZ}?!#bK7Q?-Utq<{-hHGZ^KFLK<JBzTrIK(PktPKw%KZ-r6A{
z3jfxN;pPPFUqay(+wc`o3HmYs18qpN#UD{cbQ}7}zT9EG@ja!4D2(*ObEDhaa1nr_
z4fT;WycG%VoJlAbX~Xg1JmEHUAORHiM<(I{YS=HmmBO(59bo?w3V&wZcnIJ?qa9E{
zV>i%PJE9|v&*8ZvjXm3GB-d8C6}!qbvR3>pfP%(ukyi8}!JV@hkRq)(Kb!|w+5U|i
z&}c%YS`uiYv9%||?ysYMF^xatV`!`~qen@!wnI2X>8&CdR`87z>6m<zA>C5UQnIA3
zCFH&WAKIB_GGKp*N5MBUUiuU_(sKM1c&B!kUXX86q+PeNl-|<K0DxD0r89C$52;E{
z=`a0>VEcBggFGOI@eLK2#P4h%8cp9h5!9>^Cr9C;d7>2IHz=(6aY1}bvSBv~Zer3k
z4Cj;ZZP5UL;8{8bu00|v?VXI^b!Xs!H+_QOy=^$RV`fT$cRGAxI9v?k%oy+Vu3)1$
zH3JT&0Pq|}GSAXPm3Oih8&BTJ`pmjLn#r^0%=P7JH57K0oI2I6Z`)3KaWdBQZpb(1
zD4{bR$YH>KWjJvVU%VFZ@H8H3pd-R$1@JT1(cX1EaTM;ZU8F6zlQiIlv=e0mI5MJh
zg-aWWa@q5T5&I8fv#6WL-s3yb9rw^8=a3f(!F++mG|XUrF}5tJWDS)>Sp8mf<C`8Y
z)uBrAmoZ91sd6>_e72feb$WN{71kEh*U>JjO8PTp^{`#m1GGnH^THp~Tbg3?-X@>>
zh79P;BO!hG(nsN8GaBxkCB~u_oiPYqase=EX5&ZRzp(pqbcBCG{Wc9(Q9&=~L|!87
z_gdP`hA}7?r@SriYw3={^un2?Ir0%-hj%g#60&uZ8KMwcH<4XwN;2ThZHE^POMgXJ
zAsgG3fL-VgVDqjFEb-R@dx3z>zcMhxuLZW4fWZ+nyeAY*X7^tUtSbR)Zy@Ytw6}q%
zJtV)v_iTSH+}du`2_o*z5Km@B#4&j}-lp^;bpmt-9c0oUh=bj56Ji%o@JzD1Qruj`
zJs1Wc=qT91(JjP1#=a@Iz_#y8y2gk;74nnRWl%;BMci%onSV#x&i0z=bKx%{GXsv!
zq3@9Acac2zMCC~d+kTl&#>2ltyeO?eR($jx;FeHU3I`WfaR3&A`VWX^iUXqy(9fc6
zYzMyFh`|a1E5SBH7~p%%h=mGM{_R)cV`x~NV`&IuaaEiXA0hX{{Hw1*_+NbGI}HKi
z9j4|D@NDyk_U7!c*cziZ=-?mK0tZtgL?QDu9Z&Zz+~yF^+C}USp22+NOy<j5RKV4h
z498e}W~{EYJ`v-poaofyqhZd#n<x#_s(BKp@|CIibB$(ayu)<3?1)8tFQBKpCX4vK
z#k=r6oA{QEtNmDCnk?l)?X#KuWq+v-20@qC+7w8ZR)i9_2#7_n$J&H9c;z}t8yB5z
zV!iBbY9D+i5XZvoVY~?n0~fX+em0h^cJIb2yVv1%RDR^_;qXlhBD^uax6owwE^l#Y
z4$v#X)P^r@)!}3_x6`Wjx8S-RAC=qE`XE+3h{xg(cT?#&hv^LV3TYMOSze7L@oD?O
zg>|FxP4JJ+0|}*#TkT@d?sXL-=DyeZK$Uf+x$2E7U~Bg-+yYOUc&@?$eF=9-TtxvU
zMcfT>b`^XJUjzfbh^L~h%SodWeQx4jwF(L(5U^{$uzOdp6FisHS431uXtE97CwLt%
z0^&8?-P=)E{(KyLxsw6`Ek$bx9?8g65I(qzM+9y<+}%xp*@vr~h4(hkL47Nxd%B5f
zO~Z|&@~mq#p%zD|;R}&2gH2T1Jbrxgj$s%;*j^0_o&XU+b5*y_Am&p>hnU?Vqg^zG
zGonehwhlo?RHSWv6A0l(-AY&k{}Eipv+`Yra|n0W4*5QN?NGtTzbZWYKFV>GkIRJ&
zt>w5OH1z;sBrK^}WOiqiTnBL3Wn-`f`9ENx!*`=J!`Juvf5%48g^bchf?-epf<Si-
zabRIJYoJxwoO6iZBg59#e7a9SP%JduT-;O0cJI7(M4(;#R2CiJu!6gLH`vKlTx7(w
zLJ+pecN%;K+tWHFEDo(Yu3|PcPo%|h6*n>wX{GN(;k+|fF%xfE4^kj#Ft`h*vW`u`
z?TBs)d;o1>bL&&c{j<^|ENz0MTQO}$iBCLNxdn5r;Oo~DE9%zcxCa0{>hXAGDZC;a
zi1;H^7M~UYM_M-%%zq;n_=cSeQK<V3!ZNp21cQLxR1QBgJL6|Tk`<4M_?el2p9S&w
zSsaHKi_u?q+!2ePGMd?od9f2lw3YC^mJq)&--5I}43`!p=E9-;7={xIUI-Q}tjzeI
zh2Wn<$(o7HwlrimN^IRGqR;vkO6E;+7ZxG2d*!An<|_V-=0qbQvQ~_Ihvs=wZc;VA
z!G$yGT*dF$n+s4#Jh*F3rafC~xTtR75N+oJ33d@@%n*QthFOfK!~z=gT5mvgpwFfS
zX<a}qufY?q!<{V#c$z^_R*1?BqLO0i5|u_!c`X1CU6PeX9MEA0J*|2`j0`obIc#FD
zD0~8mVMGM+#`AIpuJ&9!FxrT9E6F*07lzQV#75mZ`{47fuaKBh)7r$iXjm8<B6JZ3
z7>L%75HPZ{zdI0jio%NdCP586Z!8-t+)|$`_>vdqgH66iPS@fvK73s+=*s#Cx17Sa
zjdi~V26U2$V*Qy;a+N033yNvOktoim*JyJ_^-QeVTH{cW&GYdo3=P;|KWHS%J0V{0
zI-vRSkMxA;<GAMo0}kXf{FipXf0(e8;g2sc{u}D}O^tOenp7i>l3=2XsZNI^aMrV6
zm8V7Tbv=MU==GMWc`K=IGtZnDpnf<pW_|p=)wjNlIMW08eB8N&1EMkJ?bo1`&~_@2
zPV6?AL0OIpzpg%kp4QPvc;<0J5HTAgNF9pDh<oj#ztKvrlnW&*qKWy&c3n*8)u7<o
z+P<;{cOi&`Sih+v<Ha{18dVxhpRO|^s-eIz=_lEsNwYb9Mv$G~un$I5jfGomk@x}B
zh&Ih>2Jk})Oo7+|KJ9GTXoGVM>4$*{JYNo@$HTSdh_fFZg-Wscreie)PYwz;VAmiF
z>byDvOecfl2`{Q7xQE&!5xxnanB;88Kr+SU7}3bCxpr}5H31DwgCu&e`nG$m@coej
z<K?kw6)nhrGCN*2E@9fGDbmhaKc#WZf!HtQXV`)elVsaTL|qa391+^yp%7+tAm#{<
z11wNBY~}T&a@f5O(%ebSlvt{#eB#%ESv1|?s|mb&T~OshL>hcecdv6C@5V=ZM>$OI
zmmsA3*Hk2-WDv9qXm?*jzmO3#2WjA~+y^-T6EyXKTH=IVoLA*Aeed8VVT#$f)gj`r
zj$<od{)rl#K#IXu9#j!iaNf&WEjsRVr2C1x+~53mO|#uQuZpTmDj5bgGo=S{sL(<9
z8Y3Z(I6TL`Bj=KNRd%t3AP3+*KF<x82?P*E4$=Am4q(~DdH2~hN7|ufp#+1LiD+S1
z8#zoLl%`p$v{(dRR67$10qB@~l_gbe*L*;qIl_#!;Z#7&%EA2yA&}E|SwzzI>TKNK
zb_r^06~4*>q`1nLP%jiLc~Z3aW@gwiDjRJgME8I+grVEgdJko~0-zAlGAtJ)?jvUk
zU>HL%4oDw;8=+Sw&g#${CCYFN$(2p{$8g)5$@kOhwwqc?hw@e3Q*EB_)%e;2l*=$#
z^xC2MFihIpfQ7*a<ZY>_qYoW8O!b^603@NjF&zsGgV-X+>MF}7*GjiZ<?2o{%5DBT
za=CAV)rWoKkJ~<7?LfTs?HV|H>DgS2uMY-Y;|aB~R4x4SWV{k1crlfpu{(lSJvGG!
zSTp9iv55goE=4A{P{;BFH7*lW6Qlvl(rna56{JxGgFyq@vM=ALO&!jt)>*4Iqyi(5
zT1U#^hWClIJ11Z;wTrG|&}2aOf%vRm2T^2FDQ>KCnQ$bkT1a<ng~~|{Y}cHJv@#|e
zsUn<ZpXX)`Bl;t4BjD6A<WLY@C)s)-tg2kDkmK{p+aRp&aE}Jto7%M&u5tm|7+nE_
z9m#&Fo{eE&1xDJ$h8Z|}2EUimo{bnHOoyD>Ml)Ho{DS6$U^=nkBYXPt7Gx717TRDY
zc{DYjX6^C@BQDWiRm?^aS%Z0&o`u8U<TSPf+wnDKEVcv-uP@^;`La{pnB!QyE5yGO
zu;WT!CBey7PS{6!`DN=$-BFrh;TUITMetF<P$_eJDfDDB##l%u23E|kN2NteP`TJ7
z!()qFW={>-{B?H#CPfqjSm83TLI<z{fyLRo({wWIkh3$zRfFl{O`45m@R3C+7Q?d5
zR@9{cJoN%^j9tuKNgqKUVi)s@1+f=>@yXQ7h1Dmo7qWT1voE9%+Cd70spOySpJJu8
zu71~apVn*>?Ypp)6uj{PjL#Ud<kJDb9NL>48;u#BbkD=STth=3JRJ4x3n{uS%;dbE
zY&!XLXg)7^A5*XqmxjHuBPDkwoxf&YsbO0{7S{jskfD4X6q*=SDZU5`1&RLLfl-75
zqM+$s=j82A(hQOR8svw)U_6ekhmkM@@1qkX9c6&>k&U4@bee&5?@JnOfZfZFWdgu-
zrX(f-?cWKhM;GJS$~TZy;JK)EcI9>mIQZvBgu?>f)a?2c?1A2ZFa!dan&3jm!TwG5
zbiM01VA1zMFmOVT?BL6f4=$>cFtEQ@L#JE|2K)Vi9tEB{efh`1;6$9}leiske=eTK
zc~GpmHJ5g(RA!_i=}>wTS9_*sNhc}p1{e_o;;!I+5Y&9Ri4ZlDQ(K6R!ov?gcCCt9
zD(Va4AJ7-Z#eLFEsDloGGGxgXBI>L(o6FxMvf~^EE$X`nOL0)m-&LS!w26Cd@M~RK
zFKFucO%?tWFdB9XQJ2KZ$$M2AGqe`4#B{hcfzHR<G&FSY!iQbZk~V}Q?N5OtZ0Phj
z-iGz|os>>v0KQ^m)2Mc3)`ex7^&30;yf8CU+F(h#mm!VCgGEHY+v`l=#d>_r#?zwl
zs`+Y22iiI4)FYK2T<7h?i%0yQ>iNOVr2O>cz1^tgI98@R;z975Cf=Js9c?H}(^4Ug
z=VGi=M;W{D{!b0o!Oc9#uxOesUNm;t8boIq_7Q`$Hjfc3*2R&H-hW1m11u@@<yMp5
zc@0CG*5w%O{LcPRW{3f2ahm_ElX15bNe_4`nzg&Cu@MJ$hR^JU_v-=ruRQ=-{0d(-
z^?$6bH6j~*=u}gjBH7^?>CMy1-ys2NdsLGPoFxcJ3Bg0OqA9pc!hhD4=j-XjPZqUz
zwBKX2d}g3B9+mM3yy5FUn@23Iz0O$RXe7-<Ko9JDxIKiGh>(+QXJB*if2tKs^{yhe
zoS=h>Ms^~Uxe|%Dp;}!9thR#x%S3!=$nKk}#@S)dZF<$(Yb-3xz#PU4jz(n|#P>OM
z(y<#^$8=CJvcXNq$B#40C+q3h3ymD8V6p)<BLozznP%_see|#j&i3@=+^3~S3jT=4
zO&Eu&Ec^6GlAl)MDNcSOSj9kgpCO0><SY*>IJhJCpG~Kv1p(LtVYKum&4N{p_F!|x
zqnHcCqpaVwmf}6@I}L(251d|U5WK~RWP*69EDj-JoZ{=)_%;MDo)te8Pmy2GYJ>_p
z3X?3pMuAb<Wd(nh;gLp@*><rCQzA65y%d{9M>b_<3H3k$=Yxk)@?klvgA<P1y~zkt
zfXqkeQ_~>RjsWu%Km!aC-^MAOU|0GUaCjJ%31nPiyom~oDToblOUEc*{+Ssx3h>Zh
zM_06EhJY8$I;uMu2PCR7JgcaRF~GY4DRe)9e2cncDM}W}z5?b63nYTfY4%i$6pJAX
zj`6802_(%XSRsB5f+$b~_PlnXn;>{cH5-gWxnPY2kPN}pL?2>Gw!qRHoGs9BRo*}t
zV%CU^)nxVp4jC+FDI!mv6}XoY5CZP~xfm%whzxO&{L-S<V6bYkUg|#&TO#Z6BX~79
zjCK~iu}K<6i56g76GT0cBW}WwAoQci2j)YgW@wDxkcu(x6iA<kv%%s;M|!ivC+PXt
zNFk&3>Hr?gE*TV$r5a*Od-?Mb(1Fg=MN51xrO{2E4MUk{R}3a-gW&m6?RtY64r){#
zg)%i@>A1J%651eA9s?Pc3FG)`s?H)FwuxO3b_KYG;!@khSr`zTBG0_1F2>=rVHu81
zt|K8^J@A*-04g9Yg1&(kGImC5GgmoYjFT%vsYHgo%7G6cvGN~A;ey3i9$sheg$^&B
zL33WlLN5!i9%&HjH!z};d_&O+>lIL8aF{{*U^dQ@Bbj<U`;@aWsv=Z^Sf}`W1ly1P
zU0p>Jlzub`EblT**>ReE=n8NF5^-zP(q_O!H!;&Xf_;LZ?gwUZ#h0Ml%ce=MVUB^<
zcc*HVs^wB(Pz@Bwc4mW*e#t0cv3eHb;BPU~)ODHe(1R%;2-F!bJr7u-HU-g&`~j^`
zBx6ma-J)fP&2`M@Tslep3*!Vzll9y?Atlg*O0$7*4+dLf2o6T;_Sxts^M?2iq6E@H
zjlsG}Dujw*-gH*#1(>it$Y0qL?=xU@5Uc0}IS+%wcm5Akyjv*ETg}o$xBSZQ`j+>y
z%w#F(B<-TUH9#6p7fg3YYcfEYeAXYsbx81J{Gulv+Vhcagk&)Of=&3wbw~aVQNcJ#
zCJ*|00$cTjzOk4ky$Q@2F(vKIE6B|YFUOa1A#d0ZP-WXwg_02@Q#gWEM<WA55tFXY
zoaqs!;GtQx2?{yDfEx>W$PGl|*dUQUkg%5|FdqO(TKrN<KqtY51x}KL$>T_k5ebqW
zq(Cbn`#Hm`y95ynVypS2zcnQXqne7FbSg^6lFPn!7G<%mzYhlCAsj1^#33&Ze0_<e
z*K(;%_Dj#x>)_%`fS06#<q)r%>2<#R`X2WBCVEW{O=2^Xr`Eq9IfP>v&~K20EC%4!
zEcv29*rHy@rHiO^M3$m;10zNVep71=;m&V5i@mZ0<gFnZEB&s{34Znl6%0qRc%sG)
zEF~lENxiaQ5RAnqKY{^6^#B0C8R=k?=5*z0gbL0JzS%+)9rAqGN!kI!ta#MZ@~!6s
zt>;6H=7@MGp*i8GbOPzG8D+wMk9(5BSkTlZpvA!5Wr!+xDQM=lzn##GUHOpQbvS$4
z`XEYOu3JH)WCuOIB31IL8bU)FOBggAZp~~uEP2joGMlPNOoM*UnNIlPf`D(wW4W#)
zqKq|!kfcQcQaa<sCVy)e_Zf8+M{i@Qm_~t48l`m6GH<VQfLLFU-31@)%b^{)(s+n@
zL3VfE_2sT=9tpAve1O&$d!2o<)Xtt!8Ql}~sz^rKs}Jo%reMd>Hyyk7lO>#{)uTgf
zbp(Uu8&b`@%em6k2Y13!-eGZd!Cmh1HO@i|a70-k1{INDx6hB)eLzZ26JL8CIuBIn
z&*3AEQ5%f)OWN`?KcEyC9#kdx(E<a$EI>o?zDe2w%}GR3|7;VicL*|F_oWreV<+ih
zbR+bi7+l&nf91NQx6e>T7>neJ4u38-RhuuW++SifsV(@N+W}CAML!_b0n$tvQuR#g
zzU}Ll5G?P{!Fo*vj~W6f?ke~)8eR~9fZ57ucp&Zn<=-6|H+6^qZ+~x8T%W0v9x+#+
zKXUuQ#cfaPo_=@YnrEiW{L8Se-_Gfiqqh(9P1v<~mgTik4Rxc3En1aU{qm8a`e%e!
z-rq7om7jWc`nW$m*5lrcNn29$rhKvX=7$!0R;Y3x89(`+*D8(cdadieHeUE~%u8)E
z{&MNXmbpu}bW(R+aCL$0+*I+dZ~F7!j5Oq*IQUH8J-uhV@RB#*F}uh9vFY~|eS67g
zxpV%RKD~|`%5wTYa(ch@wP}^6e`eirdc-v+N^Z}~J+OY}opJky4e&qC?f!e#tis=a
zCfxW?))Q@U1+H^vpX@em=-KPOZh3Ea*D)i<+-!b&)cdzgnep-yf#<vpamKGc`D4bS
zI}T2J_0c(f{`uU4UzYg)^ySNs|9;9VSFIlX1D`+1S$K+jZty?sHT$<5F3TN#^(zNz
zhfXRw*5&n2RPH?!s><zOXP2G${jn~Oj91-v)kMEz^?Lrh5l_#xJ>z<?;#{9c-<@~%
z`Kzj58fte7&U?qzKJk9-n7`;^in>pFaD-!P_U7~&^Yc5+2M@;CUdl8+)$OmnT337C
zxjHBQ_~a*U$g=J`a!mE!D_;!tZXaQDpWP{*cxU=EuBrQ47u@y3)Q3K~{rC;~$*B!#
zvZ%Z`Oun{UEnhd#=^Om@g-aU!y-J>A_!DSNi9fQL)8Dzd`zAhd#yEZF+TYzWU3l|3
zITefkq9x0Ws|%Nw6fG@Uw%k~<d~IQAVbL1nkgPmoK~agZ7%!HWmf{X6C^TV>Yt<@a
zsk5YT&5G+H&nsMo%jgNiLq^uRYldWuiTsRSHzZ>;J;^thUs)mi$Z(y7tCxr2j9xYp
zndxWDGNX}h$J38o2ce=$!b$=*74|pBwUqD-Jw;s>EGbz7T#fVA+_I*qY>jd1s`bSy
z>3#TxW%;V*&gI4_OA1%HN|r~xSWr^fAw5!JlB=L#d5LjuQIT=Z>LsgIMPAHtE?KqQ
zXj$T15`}<#%lK?9DJd$6dSzR)cFC&3WyahkB}-NV3HEN@no?JBaZ!nLInf&Wn}k*h
zRXeBfw}d7Beu4)j&M0ykXD?r}Y&|`M|14<MrOS;S>zC=vEh%y?UmB@wrpsw8DgcDi
zB3B7G${@@yTIE{3+&H<Yq{LP13;_)#PJujxtD)MBj^)b=JJQcmj7wK8S+k;@Cc<+{
zk!wv9kr=F5BN{Es*AzzQBy@_4)|7_mrs`19>Lta+XxaA4RdXRe#v)f3L-`F=RO(#P
zk)Qmk65>(E7yNH7<2nJbO?Kp7#yFK~?v%MdO(agD7p>}$+qPzD(dyzQ&cfe7GUhKY
zq0Xh6vwW!w!nNKwzp!W(-XTe)nml`Qhms6?>zZZM936QIZY(cZyL_23ZFF{MI8dqD
z6En$QO8yHKpHjFgigjVBv!gv+OIFBlCIicoqSb|^0DC0?&KNa1bIjOl$7N;nlO|iN
zQ*yE5l>gMKJa&&|fLW!wp53Ek;+|IhDit&dtmF#m-YwtX%+k?wk$wwHm+x1xbSyrR
zzM7@W_iI=>OngW$V(IcdL0A414k#Q@IG}Jq;ef&cg#!u)6b>jHP&lA)K;eMG0fhq!
z2NVt{98fr*a6sXJ!U2T?3I`MpC>&5Ypm0FpfWiTV0}2Ne4k#Q@IG}Jq;ef&cg#!u)
z6b>jHP&lA)K;eMG0fhq!2NVt{98fr*a6sXJ!U2T?3I`MpC>&5Ypm0FpfWiTV0}2Ne
z4k#Q@IG}Jq;ef&cg#!u)6b>jHP&lA)K;eMG0fhq!2NVt{98fr*a6sXJ!U2T?3I`Mp
zC>&5Ypm0FpfWiTV0}2Ne4k#Q@IG}Jq;ef&cg#!u)6b>jHP&lA)K;eMG0fhq!2NVt{
z98fr*a6sXJ!U2T?3I`MpC>&5Ypm0FpfWiTV0}2Ne4k#Q@IG}Jq;ef&cg#!u)6b>jH
zP&lA)K;eMG0fhq!2NVt{98fr*a6sXJ!U2T?3I`MpC>&5Ypm0FpfWiTV0}2Ne4k#Q@
zIG}Jq;ef&cg#!u)6b>jHP&lA)K;eMG0fhq!2NVt{98fr*a6sXJ!U2T?3I`MpC>&5Y
zpm0FpfWiTV0}2Ne4k#Q@IG}Jq;ef&cg#!u)6b>jHP&lA)K;eMG0fhq!2NVt{98fr*
za6sXJ!U2T?3I`MpC>&5Ypm0FpfWiTV0}2Ne4k#Q@IG}Jq;ef&cg#!u)6b>jHP&lA)
zK;eMG0fhq!2NVt{98fr*a6sXJ!U2T?3I`MpC>&5Ypm0FpfWiTV0}2Ne4k#Q@IG}Jq
z;lQuqK!GUT)3o{I=DN+znRT06HcJK7RGfRFASVIW(#{3dYWdk8ND1JHQVT}yMF#KD
zo!epxJQGyTyn@GHh$&d%6Vzu5xR*M=5aar~AXtZlF}q)nL3VH70`DsA&KG0c$b3~n
z%|U`Vx`3-~>0O$#^CgySD5x1FCnvEAGcJA`_+jVPm;$l;&U<1CMsVuxJO9A0eSzpn
z&RAFAX;O28P|c?(r!uMvs#8=2n@<*Ot}EEwQUFReH;Z43m&*540|)m+l{2Zvty0x-
zqq$lsfy<ybPvMQ&i5moPElAaIgIe12=(!Bkg5&|HMXn?Zm1IOJY0lic!nczsT#-G%
z+1ay4AM~#<ZGHg>Yd<IO8|alFb`pYqq3w(i+)Ig0IdOoX*(HcAg6A`{AhrtCb$X&g
zr9y%+*erM&jFh<onadkr#jlWg+Iv%KVuAQ>`F@qkwT8j1taDBf#JAeZ2-RtR8IC(k
z<uo>;Ty;t)MG(_aTBtTgo{cNSSoen1M766oK@pGH-ZYlT#R()IJn?Pd(nZgCwbSf5
zALHsShz&yKULo@cr*0BNORAPr@6GO;%2gBvgTZg^3%p2az^SX)khz!TLV_Nd0$)&T
z3f1mLH3Khr)xsWL4?<M98tUb1N(SEI*_b9@(^e7Pd-#kQxbDiGGi&zz1@rh^eilEQ
zpTp1P=kfFT1!$sNv|g?tekF((ALZ0j44isKZ^2ujZ;VyDC#s!VVAjT|7a)Bx=v<+1
z>=fg^E=ErOV;<TZ|Lge0{33oKe-nQre*=F#pSN)Fq8qNiF>ja5j>vD#Z-E<$(AgL+
zLpU@~5I=kLq99uJf~PJ<@LKhMT!^;Q3x_V|NmQs@n>rL1V3=rZmoE1Kb+mBpM`QL)
z#g9EzkKehe2K+8dO#!5q;L&gM^70`4sdO21GVpW+7v)CbfWiTV0}2Ne4k#Q@IG}Jq
z;ef&cg#*8e123vnDJYQfY}T{pXN6~TpUrzV|5+r|sa4%^iQ6`7+tO{N+wR-;#kOAs
z_ZMdFp;9GJRu!vUDhGZos&%U6tYl{uRX<8KLY0AMEHCkQZ{p0W7Cd&6f4E@Sfn&Z=
z^`Ac1N%dH~>il?>s$0x!w-=A>J?&VRN3vA+T{Y3~h{->3@R`1Qde3;_C2ziCc8~or
z=gvOaZQ9VY*L~gc-tMkrMvl>Fu;fmSR~Z~P{6b`}kd0YOu8{u!A}QCZQZ2hn+o7tn
zszJtt7;sOACd9It{^*(?x~FGj=s(>@{~6=k^O2e7m;4!iNv6y4)OAv+`d*gy-#m_R
zE??&afHPnPqZ718(@U_8D%Hvn%a%Bo;68)+0UXSsE4>f@nN_N$@I6W1);Qz~UBl^g
zHLFyUMy!(ors26Il#i~_e`e&Hzd-OF7rcjN`0TMkA^VcxJzuJ`WnU;Y*u8$6r=^qN
zZ`FJw{5cS3_a2<)+t4ZaBVK&-)DMdn?K*(J1+#=vbto@*4^vLT^FgO?gy+47zj-ci
zF=c?QCQT40<qKY2FOZJgJlyuDTW=D_F3IP?8!4c{Pb|=bVIghT0l^DP!yK~o)V5Hf
zFDV9@B_Fz)AnFdHgxzOJ&B{E2Hv*o5_nBe*Aj40V;2H8RQc!^|mMYkz+l9x%($!0(
zyHJTBCUbb^Yl1-l5p@@l7Dy`aT+lkZayx_=LF4Ck=nHt$Ue~9YbwXtwSHT0c-DK9g
z-WN={2G=Q;IGpP9<)r`xQI`XVcAxG#s?V2n0w86CGLK|;TYEj;Y+xCZHqs@1m))0q
z8@t<YPd{q+^;^pxP7A*220`S{3&DDuSF0C9H7;>T(c>DAs{z*p!Dlmy8o|_Da<srR
zq&JG9PTk*Ria$fusP3Ocs82V7aP%g3LLPAABuh-bUVgWT-tEzq;T>d+-q*1gNsr6#
zH{-n(7B#Q#MM@BLR4#a*K*c;cui!!DN))Q;ia&Q?7_wYP6^Z&y<#!>eO4k#Q(#t52
zSr>>Gs?qc5&rJrz8zCGh@FR-b#l73K&IF+vV$a^g_Lw}EUigxea1lH$pEEp~@n8}C
zLgf+X5M2B%IzCu8&9lsq|2aww!dqUf6HN6b9|7`{tYniK_-~<G6oP?`l?wW&dF+OK
zHJ(hm0EjPX<s12d>dZRGov16M?Be0eaM~8*f)Ou?EUF|Gd!2pkzDc<j*p;mndWX+!
z<hIxGoYikj-|PCkYSKUeLq73v7C*2fZJwk~s6Z=Z>xuzutx*u01pgTw8qJMoA}CR<
zMVcuomr(n#agvc?27bZFsu#S@RKo)57=pMy!v=!=pXdbfYax4lX`=8N1d#DC&?gh(
zG%HKU?(Z~!C(Z=B7>lZ;gdfm@yw?dLxO`J;h9Ekr$21txTS2>vS~r+qO#L<s&kONf
zz7BIyj0(`(8#@cabv@8y0%A!`1NJ+qYx;C#H?1Lw61<jF;HVn}5WH`eA$VUg0rxay
zv2j668i+^6O4kB3-!~`+s=c~+B-_PFD;+S_US}7l72Cz+Kj5WJJZu;HJ%BsAsjDm2
zZn{D5>?{Q91W$d6%~V&~HSmex)0%Cf-EY9yvI`l}-gNm_e}}*N%jyHi47S(S-1*Xv
z?qJU4Q}rwNN*hj0Uq9vUZQD-1_s^vC%V%!;*V$z!evherygao#(~Ij9-J|%sr`-GZ
z>PJ6%;a}CQyi+*v-*N!@aq=A1YW(9>OYv{HsucfJs>^lM?>YycOiTQ3(%&ujY&;{W
zy7zc4Ue)`A>bxE5PK@s9cPFlSX3EUJ4D0&soIW}FpQxiTJKj9-ZOgeIr~dJnVcS=^
z{`+Gtmvap?){5i*oxU1TZvI=Q{9h<9>#wAbwEso)*T*o4jg`}LlW@g&9{zLVhW=mv
z=RS^<P`>{S{nh=pN_7lXm}~xb^w+U}l<{|muF>=vNq;RVVhSg5%)M3S0bQg2j8S@S
zb2{EUj{n0$S6sq><|sXvbVJo!_)ilXU8DZYQF^YCczXo(hOSZBR4iY~@>NAkWgZc)
zRG4MhH7X<Ji+cQzZvVIS=~<XSTcrNQY$i2ce*@FL%g+N>QJ4E?l?s#Q0JdS=(zCP&
z+aCW$;QlJ%r#~iFmQnEb61+>GNEBk8T%RI%Z#CMzOVaG#!VJ6j)-1bsy;<<iLaFO>
zzv1q<H4i`QSAJvR?%>zaueS=7(arr^LN^a@3*9_UD^7a#EOlkNdFf>6rbfaIkPUu7
ztA_SJY>|>W5c%VbCog+$>F_+q+vGi*%ROPoPGpt?N}Y!H#$!eDVT@O8_wL1|7j0FV
zanmIaN+$B>&gPzQKw(49xa;M7l%3_v3g-(Wzzy;X-lp~{zqzmdp7L;Uz*xW*Yd`ww
zkImW3-m|w-f0hMrxwy;T4?5EUJ~!x8$7f@6hXUN7!yVrbJlpa8;IBHo7j@H~WKu9R
zECu~$3*!AGAhHY$s~5b@f?vX-4svmWAc7AN1`)y_LKs8{g9u>|Aq*mfL0oU<{yGbS
zP(*@I!~~&;2|`g=5Q@TrP!tw~qOc$og$1D~EC@xiAb6XDO9bNQMZq_AG>{WFq^3c8
zoIz4D>?}5{wW&V{!}jpri?ak;Z(eWlHd?%gEZ%01q{Sw?u;1H&mOvYj2ZZ-%$Th<K
z(IwivZb^L~8`=xzV}qJ1iTdNz9UJ7)i=4XGAKO{_efupdb@8%iFdIu<ySLuvThbD2
zKJaK>#|-~-`omM#ls(LL)rBO|gMkS5*W>~uQBKG=Hp<(}+^otKsMoN+V9U+wj*l@N
zA2l5xwH+UI9UuP>d2b#cRgpD*chYHSNSYgvI8i_v5|o*^L~%)MGNz$hZcDcY5yb_~
zjGDo5!_X}_f+ln_rgLq@ZPZzvXLNK{aTZ8$O8`RvWpxRz0Uf=e+1wzY((m`w?ao5<
zH_!Y2{(STKq;K7-bE;0AI#qS*)Tz3I`o9kD|LW}jI;8*W(EhL4{a<tXzq<Or4(tD_
z^?%Ln|2n+?>xllZ$Mk<4+5a`K|Ld{+U%%J?HNXGsas6M9@Bccg|Lf@fuVebZp3whw
zZ2#B(?W@N+tD+wv-@Ef?=!Wjp{^0rnYlQjs<e7!~JvoKR;={A$sn_nnI$?_*a?c+E
z%phQ@a|C8BPAeiSv-H@1ero%v&3hS+CbMujnTg}c3~xn6GUB{=W-?NojM$iqv=#o6
z3i)+c+}lxcZ%f6!ofY?*6?!b>Oh)n<k1Hy)jGV$MTs*{ff|p2EVU=2DT1mWpTT+!~
zYp>v^h2kdq=!fFwqPv`yxbxD%|K<wGUlR4`V&|Cf@!GiV3T@ne{z)FUng4eFTPhMm
z6d@J->9xD9wc{t+-v@u4j4&vLn5lNcu!-i}S~crUJj@(O<j30Ihv~Iz6nu0|u{g>|
z0?*CjjKY8CY#)*L`zI1#e7`>*FO~aRX5ZIwzu$eozvP;$1^j-0@s(FxKHEDR$C@i}
zu(=9Ho2$Lo=&{}6ER(B87ZrBe!XxF`fxk}jy24I~aq=`VgZQ4NEy8nPXs39^xRdj8
zlk=R(c?_hs-&E9;HH*3wK3BLiL6oBKX-%TgSaY(Lu}h7~@W;&kT>E=5Pxt3q#>CmZ
z6ZdR=gT9G@@%67{*{(d3G%_IOf4-3zZ!W=h3C3N^6pYuQM_V;g{{Q)mJ024YN8EM4
zGIV&mS2N!=cr#K%?q$JPi<m3#S^xQ;Nl-S*KGVaim_s)S2<iG?z6GF9`nM&&s-3R4
z?sV%z(zE!zeRK&aC)Tdn`V9ZCY8k_OCj*%uGSZY<RFx|msBXM%iu0SU1cN{g6&&|B
zB4UmaJk0-mNuBFkBB$!cHq$+Vg!+~{h9aP!GjiA#4+d@*Aw9ZYSn~-%bL&A+j4|6J
zy8fLzaxiYKT}k{I5hAb-Sw=dsIk{&sk|=}IluEI>>U#9LLLH#Dv9o0V9q_p8$wzp^
z^7cRs2GN*fH-TQ8tggrNb_uygd$Iy$!|@s~l2wH=;NAmrFK~q(zof8S$|%Ra)S__c
zPsEwGu(T!fvCyf2f|$P;wkpyvKJZ#i2OwXt4$_UOVr;&Hvdk|q!ke4wZMM3Wg+DZ}
zz&>ftxDIn-V~e-BJ4Y;sTlN_3O}@jnntfQSvUcax>?O`<-RG}s2@f_uf?ElPxks25
zcU|}x_*=*lHiuohQH~bvkoHK-GY_-MC~w?v{+Ys>k1&c?6|`1GTb$a8Zf(U|dyJ0S
z53!WNf9bS_DRFV*dX^(a?b^y6->V*MHqe-fPt4~8py(C-hK}5m$g=JLWX!S1s1h<_
zW1f|EJeF##1Rb`yF2p>RtZ>8aUrV#bU1Bd2JKt<+&TFoo({(Q##At_U_2OTP`OP2q
zW=%0h=6cpI8a%}l%+0#%_zUg6TxTHJ8c^2KtP7%xa-Fuw+ZZ&9*6Y`{2JE8p28~u@
zh<1h&_H3-x<xa65uF+$&8JXv@u$Y%GGn2>-M#}B}Nl9O$YayF=0izqE`+I*8x;_gU
zpZe?8h0kvuM-#;Kj*w^G!bomUwqin@m>4gD;tm*ZQlENQXHGm{8qW0tawDq;$qE^m
zm>3Z-YL+7HL1S{e*SP0vCL=w1BqK67X74%y2I=+#di<2<X}YpOEXC)~Z1jDJI7GBw
z%XF9M$ry5VPxtLalY{)#bnW0*TXD&knF0G-dVNx>+en1&d0VS{g+S0)s~a1-{!Nf9
zGmw|RS$QmYL27rI5&Y5_3l_TT*GXA+!1$}_x|iQ?t?<Y`6@K^#6+Xu=RQbNl5uu-`
z+c$SDfDb}YmiHx@PXeAJ5E0U*wLzd5PF)ZerlV~zZ~QcwB)NL5fDa1Br+qDTh)>TF
zu%WtVeb`}614cU9Rnn7gLRc^gS0XXR;&^%uhT<7cgKdaadh0H?R?K^<o#)Zc3-g1q
zO1E-%#ott#J4n06C(L}5+Sw1#@B!n~fYG5Fho+S*`oh(Z1sybtuhCJ-EXttJPJ>Es
zn{0_gXus}RxG<vi5eI*F;`m_Pzh5_~f@>ii#2n>QS&ShIgX9sq(U1~?Ln$G!TKkfz
zjagqD)!LU+ylSbAeyu%)=&9O@;1@LaCdNjsPVJ+3HfnVfND7MS{LQXBfok-9A?^Ja
zZTV(6zF;NfYjw}jB2$gv7tUB{fBibGE}O=h?2I^c&$jRx)U%WI^0!s(*xsuBhRMq;
zpGuuV`=`?MU*rViq3)o)9dg3Q20a_Y!!0rb#yYcMUor_??V(J15yeEW@BW5j?&v8-
zH)eJBG+*Mn-eSg!bZwu)xOI`LaMsHrO}gg;G7oCg)>8kJG;I`Vdea<3Q6yKp6*%HF
z6>&m8xwNl1b?@yXPGJ$JMTM0?)T6m+nVQ3-+;=ad7;@Lsf{YYF<L#iQp$0Ov=*iNB
z1zGjE6L|C1c4zX4%+jNWomzdi0&q-I^0SS>2q|?o)(sWw4$a~w+Yj%z*`~)w26Q|7
zbb79CWU-(gJgKE?J1~8E{(5;e9AE!Y9s{z{>YgB-(ley=;z0DP46Qy+R4`7*4j9|~
z@u_y{Zrz8I$=XGQZW&>YZz=4|DsLE^cmPCEQ?>fDK~X(c;rWa<aN?JKW45NyvOv?8
zT#vvAz-$2GmmZOPp8(*1uW)vTRyU1QOdPXWIp4R7V5`2xWTUp`g*Fi^n^t!s0Bpu)
zMR#b?7w&V@tB4#<<jQ=4y0OXp#U3jQ#?9HrmR2)Y-?B?#>>LbIRcxBmsC)Axa*IvN
zG3rznv1z%<cHHf653Q6DOvsxEVZQhjhiQj6$;u+cr!B8jq#!z4-GhjjOx_c9&ta{u
zPQ7h1-`Jf@b}irq;9tKfbT^+!uI7&p3H0WmvB@vJY=ij>5nUGo=w<I}s-#M$J|ch#
z3Cv~zt0hIY7-6#f)yP;@F2fkQ%9>)?+Y)(8X)%s#o>HQQPku_&=HC{S!7oJT`U!2N
zL@bL<%j=McT~B_iM1+3`ph!dbEdtWIvKxxoU6r5sfzbO<x1u-vNyylsCJ9CBi*V~`
zT2cMg7Tl{!-z#Qti#z~3uBN-0-^bX;Jog#%#iVx>Pp?(7>T<?~vKhIa%<ynMiN?07
zIN<51-rqHq^hU=6|B~blKEts9R3q<ZejAu54aYTvQoD0Of<7as!~DZ|!I=XN9mipY
z8GG1x^Ye}l#%z1!pG4TV1!H;5%Vd~d7oqvHCUhk2HgA*dYrE)WkCLJrqbGC{S>+>;
zNg&~A&dNaom9EfiC#Yv*gL3>7;8f(;RHV_-Gu8)<jzDW77c<(2L#xNI#_<5|i{(98
z3+axh_(jQighyg9fu9i&l7<9gOFIzH#4v_CRjf5-c@M142p0>4)}&N2@3@*wfg9Z{
zW%raSRy&3W>|-*~iRh?(YHO^zsgUU|T!>yX3%#axcR6FFIXRI`#vE7H5cI0xNfJC?
z1y3fZ%lLp4{gz?K`?8p)srsS2d1-RnD0ziriKG~BRmB{gM4QidA?q(HhJsq|HQs=|
zQqupB-~;|%a+N`OB=w$4IN*6J?DW#9YXLC7zL_$k8<TC02mV3+lio2*y>!g-Ms}Km
zljvHm`9wp{tHiWr9Y;{lHAZTlUE$-K#rkc|yh)`80c*_3M}7G$!NB&plCQPJx@XK!
z!K_|xywT=34VVlIYm9|;timc5EFGn-Jm7gHe2hiE($@pVYv$V~okD4Jp0$$bhD=Fh
z6y0RLNMbPl>q6mez_^mQ8z%;g`KXW|qKnKy7oja^hMPEm5@VS4UP?pAJ~>Mr=kLfV
z;?~#J6;=`>e`xF;hDhD8qC{KY%bMo{HgNP8XNE#ECtY*)nR;naWU{nVx%ocrwo>}C
zyjGaErbw+2Mf41bD{e|=$e}S`VX@f?u=&wEcy`VA`FT_6^JNbqr{=C3Vf{Lv(PB7m
z6}gSymO;_ueWlZK!ovdgje2x#zV2zS-YbH-$$WMK{nOzGk_H;VBiSBvWU5z3fjnYf
zCtYCSL>0_8TnC<|kPtklf>+S&(XwsC*cN=IEq7!;!T48Z=hucmLR*95FnrOQtlCaG
zLoc;Q@`A?ni-X403v^@V6y2D9u6e^{z`%zI79T#Ad1dOwK4ba?K4a<>W9GTqis>aX
zWSG;1pZ!_fA#Cc)VrfBX6k0H!7NiyLq!mB(;xd$)_j~)2wMKAzjs3c@OK1L%XWbrX
z?X-)Cr_|GDJ|_SA16ti&c(2Frbm~Qk=y}X(7w~Rq%r2)n&1bKdk&0E(G^elh?r!bp
zr;y07If~i`<MXl@%qoyvJPn2u<Bi_+HPi6{VN%Uqj&d!Ukf3n_#YPGPtvj6oW2>3G
zP7Q+j;Hi~n-kTygF~?dSc%-oVFeVVMsR7fIuhof@f}Eyvi1vYEUA;?S)@k)iC4nrb
z#D1MAz;wU3WYpT})a{O+NpP*;2ytQFAoZyjZ%Ky9ylaUFc(z8S1r66l5{_S?34Lg2
zut|~m1!RI+s!&^??<5u4#tLx``6Q0Pzr-1^w|CtldWGR|l59-t4kXtGqHXy>Pq(&Y
zx6I2Tl+nE?HoucMYX-fE8I)-h6V)2GwHiqIp{Tjke0&y*&s>|Wk{N4weQNRPx{Q^u
zj>_+84-fM;EmSqzZ0`6dnS5D#rty~f)U`mw9G5D<ndk;MsQ6?V)o!j7u%X}pc9#XF
zSzyk-U=IPtGQhmj0{P;vQsm6EtBcBM9w3HeucX9BVi?$IH%|eY3Gr<OjV0glu7y`@
zUQ72i9IbtU*-jVWzx4pGuz*X<vsGUovp~I<E##rCI7VBcMOS6oUBBnmzQtViW3aUq
zc5TJ?R7*PUV8I>0Ur0xbx1)r*<`F>)-zE=ZW~S6`1RhPognwfrU@W*$C0$0+`fv`J
z4JO%qoHWQfR~4RDq#mx5f$Y;|A_^b>o=Gijj)T8qoNjY;vjvfn)-!Y#q|RA0FTE^%
zR?%9#Eo>@*^DGc5n2#R3LpbN^iVA&><0&C%9G<i_ZK?5NahRq1Cw*iYX@arq^<+gp
zYYp9O`;owg6aYPkMT%~8dy_NrgQWW7Hx*_CT6a18#v1SQw*7Vp-x{8($1lna8S4*t
zo%156C@;7&n=RK?Jx(`<>(4`#)kW;9bkFJqIRVeM>cO&Bh<o>A?{tTXUW=^pV^R0T
zTy+raH7asrd3O==H@++R&tU0G{+|Vm+1*~wV|w17e{8^@18&egpGFYA4Y4uP0Z$B@
z63=1a*$^2XDs|tU<F)7d8{doNO(HE2ZK0qqBhUNm-ibUtC7w0Z*Ko>Le-?))TRCdU
zU|{T9Vy+K~isfbS1}A3+jA_z6cGfaz^fGTYNt>C%M*$_~E7T6hIfPTbQ?6`@kLh!p
z$5L~q{m*{J9{4pfEf&3IZ>ev&`=Hl&Wm{*!c-0p_(-yd)O(rJ&Pe~2vM`RGH;kDJw
zLE6lN*GL(zrX}*&PiF|w8L~`wrHXD<(Rsg=N9#_u0KB=T!%F(2m2|h2WG5-#++}5E
zSV`CQCb`W`R?<8xDbSlV(fpT{G|Ngl)k?}D!(#JsE9qP-=@@y$yd~xmE4sjn{u=H{
z4<@M`;c(M+YgLMOBEh=|nllta-qs#S$4>~F=UVwZPdH$_3-INHVy<ZdCad$!@Hb$5
zt=G2MYUp&aGci>-{wAr0jxv$8U9>Mo&0nev%H2BJG7!foh>;xuqkN)Xv_-F7B?79)
zMoQu>7J9xfR`@t7(>dzZF`LJH%p>Kr^)}t`&kovUoU$yU9t%apV3{->N||Jq$WyD<
zXpY8s;P{24L~}Zl0sDIa%vn*Tk#!P_cb?(6n?TpO4Dx11g~;AnKO|!1NQUQtu`yXu
z+~DxD(lS4~h}hA6VoN1<qr{Hsi50<$O*oyD21hQx&x>R=I(~zxw!v{M5si)qRd|F7
z*QxL@!q9Om#e)1b%knnIc77c=nhqjOvB;>HOH1bJ_1i>HTX!L%>&;8%2xi`Y)Jnda
zrA#+wE?>!n-%3O*&lO>zRfG(WBx}|@b0LpRoc%M=B$Jq99yr0+DYroqkAM7;%3XgU
zDe+KeV~2To2dx};<<${=gs?g8CsvxdpSQYqu(BQ`fM#Xe$v|5&VHDZD<b-yu?h}5S
z<s`T{lA@YVBSd*C{~#)%>p30)<8|_Wno!Ku%r9n&5mmA9=1gL}3t)$Dv*SLTB})hg
zG+%pFEQiHLS8i1-xOq^({s!>w>h;ufVN`m3?TM6NJfO~;3(M@AiE~S-hRY|}Tajwe
zhD+xWRTZlhk4r|3)2%lFuUcDM$isFYjdQ%hGbvK#PK?uvamQ+<AYbhF%C*^WHQYr-
zi>^|2oGe`Y{4-d0gX>H*9WhDkQP;chIH@<ibLR55mb^b|DmMxE8YZmyAE9j52q=1m
zbeW|eKTDpjOUaQjZ^dHK)z;y4q6g!(4G>1KLbq>}p)%!SY&e<)H$LXvheVWJ&x0xx
zO+0V=BFSq*a;XRu<Uar$06SHt0`SaH0P`$>J9+?~?h9bP5fpsK86>Y9o|gaFWZd$g
z%6ME2#l-xT<b0Pxbc|J$g({(^hl*@fh`$4<cMm8DyA9yv(iR~y?#klD{M}WA(Q9wl
zjoI#%KUU;#Fo(PgIQFlHr8XP&*wib~^+$eAWNa$N^f9MHhQ4-czKrPR$ye|an@aC#
ziDU(1*XA3J_is~CZo_dN#(fee8jk0zxZ<?l&nhRzGR`rJLYR2k)wWB;okCzaZO&Sy
z;glhy@v!qS$DK#GWWoV>9~nYmFM;rhj9Kl}FN?%r?7G5Y)rQv<PE0ER*RcUwkt>V5
zQ%**1TUK^6X6W(9Z2PGUicNev^|71z@2Co2j)lY6z#KP`W{s{{n7-xUnyar&*$36`
zfouf1MO+%+HV!EXxTLVc8xLfdZW!mo5>~-(M%`P<B#Bdvdvh;ARHqtsxfMJMTD=A9
zJndQ?Dz8l6&Oo#~w|e`ety7G9M||`Y4qryyh)$j<!0;UmJx+RIZuNT>(3%ubOCO+1
zdV!jDAF<nNQJU<wNLj2TnoNezW(+xFWwC1AO=i*CR5qSh7=;s_!=ew1ZY!(4E!#!o
zTtR1vUo@1hU8Qha)~X&~@0$wUsA!jpS=~5fJ~T)AzyZSyVu!%z+E<7O(v89_gyWZH
z#4i|XzDsd1ta7X@sb{BC;S4H@t;XC#auZ`&&2xpNzQWnnqxwK740O+Rz%*iCd|pP3
z_zKRX*z|258n3|VN<Fzjul-QkbDN0-4w7WmIEo0p;PX_mEdpihOsaNTNQPn_^u8oh
z>4g1SQY(96P$uIkbEd6qvkH=tjabZ|b!fD<vQ8EJJ;7#p+s8zsjGgS150XuJuKyVP
zauT3K&dYbp!|^i0X;Y*cujt!My{H=p`H{7Z-1{|SpI-ag++1P*Yvvz+ik4X47V+w}
zn<|N8e~CufO)Q3Pl+i3P0-5is_ifA_*88ix%jEr9?Rr}d9pwedrRhspg~6}Kjuar@
z6EVXK^2T-gHaWLhCZ$03`@pH`f3+3Uv+H6R$FJsG4Xs^bNxg8hoF=0E6emv=k-@HF
z@o+yZ3Xdq;KPbx<&MvFuuuC}WjFv>^GSTu&SZjZ0J|B1V&8GrP?P2MICI5%A|IrU;
zUSAxs$*8_+Y>$neAUz^_h)psZT&dft)pgS%sy|?;9Zf%_JLJ_!cX&JOvbqBatKXE~
z@TcD)a?{zkmOh`ZeJrD={?I^}@idG&>@_ZNW_gV)XThoh_~h9fzPhK2f7m~ZbOw7U
zzL$X_W07Eg`C{LE!UP*4)!LauOVzHsX_>=j-Z2;18uI%mvi@;|%HU-g84_m@jyjWx
z9AmQtTX&AsW4U_VkVVVNnygHlSxl9rdHdO*d(Uswl>JFYB`$|C-VPsYY-=8mK#`BT
zcdKS_nw?+4&bI*e%l?vVKBmT(4d#Y76hqfAJqkm6#+MD|ZKN2E%P0em#xl&OShQl>
z9nCbb@pdU!FV~jm;IFV_q*QaB)0WUpaV1Fs{b?YO>CUnx3e2}Gpwr2zZXnQ20Gawv
zlo#T#zRXDsPVuZCmxf9O;8L;J8IXI+4&Gz0mvQe`vmqCen8@5EyZz}I!RTPCUJZNy
zAroRN)UXG?MSQG&V~u-XlHNP+>D8lq#e)^B^e+a!%>Xg*>0ae!;a&M<CUeHNPMKi>
z$@V~PryBPX2jB4;>qoUrkcRff(O%p(ANynl3W71u8U<L{GT3424%DxXoXFu7Z~Ovw
zWp=sQR@bm+ZYC4m8bo^9n<CXfvcAtiBFNEo3?vt@k-A0g$%}0|l)ah^$VQz2Qr7DJ
z^T&7g{avrKJGT{u>G!B4A%nj4PROWm`b%eL-9A1LT}6)?>NTc(UC>&9Nz~IC9_vl6
zCf@1y%+9Lb$<efEt226dNVS}Ak|6^M5(iRtz4X~6TtkdcCne3(aY+)99ZJ3EweMq&
zG9S4F(O^?m<T;vPL+d^(5Vm&J>IR8yI*P*b=qIAVN~g`-cO3(;tg(g;1keHKI>y3J
zh%VG0-zWIbrt#Mg1Sl8$Z4OobUj`;$BKWta@f!yMR0#e<7XFO`lV?lvZ%H<Pe7GN5
z)*?jaT{HiWY`NLWcI3cpaoVt%9oMGV@_F@udg}mmeJ#>xI9?x^>=XRQ()j-z2v9Eg
zFIe~w4@|y9@Mov-=MMy^5PUfRN%@xyOkO0(_mFJf%`Tou%P$2Mf3|yw`^m)?TY|(X
zX?dGosRB16Q)(afVv<;(9}=B6o^!iyU&o@Hh4e@c*6kXEnO3WFiu^@)A#AT8Y*uJV
zDun4NdKjx`HraqEgJN-NPz(;IYKwoIV(nv6K!1_a0qBwglSd)?1ksm9yk;O`xggFR
zh&Wjgv(tzt4n!;w#M1^Mo+*f1f0QD1&%6Po77OBm%mJjHEQpV%5&tz1aiSo;2qHXw
zM3Vn6c>MIh@(ZQ><I?4yIk0@UlwURwakL<IR;FtF)vW_+oG*w>#78&INI`r$jkszc
zVy+-=KxB?;)f_>*C5;#xi0Bl=2L~c%3F294#EOB4HbE436nK2PB!35wGXb%rca<$2
zT9OK-<ydxqk0LxQ<^TJd6stDhGJsX{r2Oq<bQI!Eg19J+_~<~yxq|q_K*Z|=acUaz
z>Vb%r03?2TRB=}cmMe`laUj-g!8-FOtV;yzt*cYD`|RccwW|<-<pRKB;6t~b{Z#_1
zvZH+<<ZKzs?zJEd$7xZrV%Mu2^VL|wFxHkR#Yv!$0Vtd=KRJv*krSIgWb8;B)4Wq2
zIn8p|KjCQZ<k2&eV*pQSIoSMq6`iBzO}yjO)M<9J{zng6%rN*T8rZB1$uJncPz`u;
zizD<q75#6CQgPI<q-LsdR0F7;Hx1;6OhmF1L-Oi@$!ebRl5DQ*r9$km=G(zORGesK
zuta6>tyBmzf5n=WVy+rkjG7kS7J=sc{J>;2Eyx<woU5on?-kg%>+xFRDikGJT@7)H
zCyx=J^L%lmz<m28aGc<)N#J!F(hA+13WZS`WfGVHjEI+bn8DXRbAjqZuZac6aNH-Q
z^q&b-56byYY}JwOx3DV)VykYnG1ZL*maTfz3=4b2Ky2wtT}!_cTlK1AEbQ0SdbXch
zrTWyYZ?ClKS{+xaN<TgjRXSFJWA%>31Jk4{Vfp)&h5XUo<Uv=`=}NB?hEcY}I3!wi
zp!~jFMyk(Npm3ix!BGnX=`ZR1f6N}e+gDgfpySIMgw#)EBe?ZrG}-N5!}M`D-Z-S&
z=drlB(3!0A#eV2(xGU4#{sjw<nBxZzh}o;`1RjQy4S|NSXj=aGPcpnOE{4kJA%}L~
zQ&1Z{<karBlV)Cp`2$bF@#e2oAe`HO1(_ISF1Hfg{S(-Zabg6Wp=g{@-jMY@ukl)H
zfRJU1{AG%BOnqzkG%R$OBc6iBXEMW#R@fYr#h}@p!>A&4y^R*f+Il??aU*d2hyd%w
zZkFG^(h{vMli|l#>elL(pe;m8GPSyO^w?;LUAu2GNzoE2c8iLkVm~0p^jrk@SlhCt
z?s$lvA+}1puc5@(SXYRO3THPN4;R)DGK+B;Z9YOMwc2U2IZ2n*PD_~8&6~}i!8_c|
zxpN@pHX5ImY?1}k!L7}oOIpF^o}@k*N%gsVH)np1aj#X<XO!eCDKqZJ0_pv3hMj0J
zEX-KJRSo%iv^|qmj`)XfG9N|VhEs<YVN8-v);lOuRPOxan}66hGLXHd#|4Oje?Y;J
zV+nj;0xkj*321figJaIX)e%v+!CYzuD$VCrK&`UpvIb_e?e3K8p|&DxOI5V<yu=K1
zeE<;?%N?iQlo?M#Zm;pWtY`z-=CNy8x?^th8f&6E##U|XtnwDEsVZ2VIJTKpLW=(8
zBtiIve|ckjz*wVi>x8&F?;|pHzB7DmFR$QftLgEMU(;}Y1|XGygtL4NRhhh8DKB|P
z!IlW@AX3MYs@1uWl3s|EsFq9Fh-xH<-g7X{&eO-ztgW9o)u9*NUS<+$ycNiPeeJX?
zM9|hHUhaL`8pog>q0#D|A@P4HI9;QGZG2eCWLiuX;L`Y=c?bXZdH?T(at>ZF-y%v{
zbSL%vHgQVadKA5*aNGG#dVejsoXby-q(0-+>V8fH912**#O5a?y|_=e`aKbJt3Y;d
z&q~Z{%EAXPWuVrLUl-N@6w8l(l?<QjD|tb&FkGCr&fT?I8Iu;=L`MCra}!7~9NCNs
z%9bR<@?3EhpC`J^Ld*clRb1{U#@8}^X5~2Pk{iq&I59rMHO@6<x3J-W<k2@B^h_)D
zE7>f;=!2sj_R5KjJdYbP5=XlRMGs|a_aK0_W*LZ&8Yr_;(l>O{x(3&=WSsa3xL;li
z<%V7<?hVDtVavQlykU*Jf081%$Vfcy0OtbSF2EkWGVJD_7U_myxXzR9)3!XxMnH|c
zp9vIhJqi=Ao;IkR*v}75%|j_aCf&F^cM{jpd|LW_?dNhgbTA${5{Pa}8ribhd?OW!
zc4eSIQn&iir0dZ;b8V5K=4v?HCH~Cj;}XgsWK7QzoPBU0+QsnwTNTI%&xjsEQ~7|b
z%=cDt4q*B8At9p;Pul6u<T|gce&51u<;Ce@+s?qj&4Gf=`oXPgyv0t5%RoVkE+Vqt
zyj4niRPw3+zslzv$>$=;r;O15cX~9*XRze+pVt4Ie9oaZT`$9}nmdP-SF?jYGZ$X=
z^z5!DNn#>)-hoKqS+*|B-9>qyEo8bhre^8!B{ih`JPdq)6u{)#v`g2a>Mrr2++=R`
zB9F^w4zYN?K1cyx`xeRwUb`waA;NuTLmB{WMt<9AA~7aT&$5~%lx~$kHoYV@N6LNd
z)_Oy@VB^M~<STk~HNJwTwq&JpIudg-9j`(<-fZbOsWTdkySn{w*VTw`y8pQjiUH+k
z=SyYBd@kXOr;=&jy96!wwNa&0aYz*DR)wsu-j_f_*<hYPQTvmwy8%q~O)F3HbRV7o
z6?SsjVE##%u+q#mHW-`D*Liuq(n?s`H{p3+D1MO?zio;XKj*&||2s}UP`s_Tcxz0d
z(yju@=#PGt=~xNhr80H?*Gw;vBNey70H|5cP%5K?TMc~XJuk_y$E!IRZ8gXS0apuf
zRlNAEyJa9$Oc@6hV**1IBZYlKESS%Z>LoM>!^uz*$|dgjOc^&yR+fw8;9C@PO`$Av
z0=PKvoh{`WdFSy6aEq6?b&argK+M%IDu|I5!~_fC2Yn%aZ$W%kukt9u@E$M%;{{@*
zUt8hjO8gdcu?4fyg3&CPlY3x(ATXC(FmgT(H?q$y(A^Qq)%6~4QuX12l4G7~f!?iP
z9FOq`;EIYLiWSQB#x6h83<&oO*A>L!x5HY1fH<&vd9ssz%QqzBIAplWi7+2U9`LPr
z5~OI^7-H~RMaC**{D+YX)#0KFZl5dXU=a>DwY&2(Bp+Ul^()(jt>TBOc7eoY_nuRP
zaL224Rzh(z1E($SP43sV=UmH)#h>FG3QJ&-cKk67#VX_%gvr^)5n?HUGi{cP`wX^X
zxBFp&%NwuY+(FBJ?YU#Z!_7}&hR?7YcAuvu@@e8dZ@fG`bM?nfj0Q0yjrcvYsUIR}
zI0HxCm8aFYQZ|4dpIGKWH^kni4BVd@k9{o+V3fKX;{^v?9J5t|)A(z4jnHp6rm2V$
z<6)0Pz{TOldSg}5YY={~iV7cRPJ)OOfKjI+J)0w4iLE;RY=22Dvu<Mlg<+*!$V#7?
z=-scPp!cyp8_N_u#+VyqMac^8eBJm8wQq>p8{TJw|2Wr)vyS6gWvu2vjwYPOoN+9X
zzqBItXjhGH-(;>nf_T)w6KNf=)ca0fVKSK|gmf886$3nZZ_;gzRhBOospqI7#<Ua5
zc_1R*SD}g$b(rff!nF9ASIP=ekN*sR%z3%Nc(ahG)>xfcx*b~$tF6u<L3?*7{<2MI
zOm6Tta@OGX&3gRq{pkEZ)}ud6hOY`53kH`TcqKD@Y{}s8h?OFJGJ@{LXIXZECzFP$
zsOIhrwrbVM8A;ukN<D$ptZ+%q-ANlR0}!Bam!(qO!j~F$bJflcgT5}U)5jH;&E5|=
zCVZ3)sre2vvSuNrLoyGE4`!=5sz;k-IWV#?!&}pt5k6j;rFnB!8U^TQIOqP)j6~)c
z@1(vcp*AH^_KoiHmVNf}noly!kxbR%OK7ww#^UebD6dOK#x^^sf$4`^@MpN$vQl6+
znw8^K<9E;yzrmnwG}K5%JuWxCELv0)Jci^^;@E;TU8=_?UnvI;T0ddO{bP~$xnc#6
zFHf}s>_>S)sD@cW6&VZ2H<wE$9Pf%wE=`7A#>i6ZTtdA^<r--=uSF*ipJWI=)}r$_
z3`~m7d`0I5vuT{7bH~w=Nd6O4{yFVIqjvUJQk3g+Dq##k6N^l!DSJ<96dv9Ddmg<^
z<}gWi&q@*vplcuN%v5`Qs|}-eca8KO!*TmOSsyZEd}{0pC?<UBHIibK@HIRk)%M44
zWume98=f3w$*ton*&~hVmGu4-$l($p&*t^KqSZYLQPGyKqup8B&rz*y=Brd3jt{30
z6jNWrA8N?aFu<@S^30*l3>50ch)R^FJ(4h58A_g)x5x*Ktwy`iZJsZ;4H%BZ-Km1Y
zXIO>Y{sVKhB&qqdwv5zG=J7<Be^Uq>&A%ZZ#0|3Wja#M0__1dV(_?jo%U}R&+5I8y
zxs!*n04*b#iD(DQdX|}|DPV^tb&cz@lUDyX^4`CU2x{&N8msV%9}*~fJru7|0^@m8
zv^z(kRgAZ>&S{BF_!we`^%U+5c-BPrkVj-SrEX*a6h7Yk<XEQ2lCq{-cypL@EE@hH
zizDXEyM)k#YN6uwysF*v54Z#HN5qFOn6wq|-1r5TDML*q)CG(WbYos6h(A!Yw%|?0
zD0!Ua&2Sfjfr-bwaEQu#uprpq)j7<?tmSgvDYaV{&T7m^*u9Nw>9Oa^JEoaZGR%++
z<0IMkLXniyJX<W;kCmY2Z6%z;9u{G8dI_%y!5k7WUfCbip1Z@@<c92(XVP)2_N^@D
zvB#VJ%D(zNY{HR1?%C8w2@;k%ONj2NQ7L1#-2AQbvwr!1k)Jydo4k`RmCa{P*KQ4e
znrbu(yNfJS4M!6q7Jb^w9<qyu5a|edHr@Urz%u~$H8e?cnlsor6vg~GIdO-cMUqh~
zQ&Fr|Hh_Shx;R~ri&JuXfjLTHxh6`|5E?Nufd(AG+qZOOv$rc-qCH-Q7K;2KMVecz
zaxa}FEzJ?}bzyGUbo_)@+<o)C(aB5gkwSlL@={_SM}X+Ya#@OQ)a3H;HE{Ea;mQ|m
z`|G-AOZBQ$E;5UbOXcD(EnFHIA(;d-CVX^>V7vaqBZcxtAC$dBOTqrqlhY{QpYWW8
z@{c|!<esg>d6RDB`Ws$2Rx$IYgQ{nLilJFf^2nIPNuCl;@|1HHOJ7?f3IOYjq%YPa
zvOpuq2x6VlQXeXkGvnWK7eMW9>D~-%eq(<yw$RPTrNr=6Y_`21C91)h>!@4{D7o<g
z)lauFk1YI`q;4?tN2~GqeW;!#5Df}~12zvSfpnA;X*39NxF3aY0_@bD7+$u|gk|FU
zF7t$aYfnG<(OC$PuRjG}V$beF!GV8T6#QaT4+Yx<B1J)jC8leYn7~nL%zuB$>NAI>
z5M};N*~PyR^(d`3IV?N6v(3_qGW_)iL@#pv4}H_f;9FMVlT!l9l{}7{R0eM{12Ypk
zEv0F_c^^f9a%&ID9VwLCKq*xyDcDWsi2}=DTw#83j-u%}mHxh^Os2p#m>!j-<7;J{
z?m_Mn8#&H$hm?Ff-tU{b!5nPiwD*nOWd2*>IQ~Iwnn7Bfx_}{yMJ0(BAPe(g?1e%T
zVK6tS$=6k<@<0Np=EItZlWyFrHHe^XHJ=ukqSbd`Icmvd8MOl7Nm~O4xsZ1~*JIe$
z|I%Zwb%PSuKcMdgG_K6qwoAWZm88f`(%cgr*w!To_71)FE8F$2jkz5;a14`D<9VMj
zy9bR|aFP!i&I^n>Rqln9ujr8FhFQtr?`{4<=!)kh6+DhF8%>>fGJ0jM5R9ssh1b5?
zFy#AVmQ?;Zm6XzVAGHu3Cbow=^#?@3G#tNMC}Wg}z`|5}&Lj2)mBG;>U|9JC`{!P&
zVqKR?MwW8Ih*r+qe;?5*%!;$65{^SZ;h~g{lo)I@Pp}I6KvL3DxXFA~+`$dUIxE)K
z@PbnFiCNJXZll==oD3w^+<x?-PA-^8>#(Ww*@rmL<1nY3B4m7$vl2HemeSoa*1rGu
zWU@-THSg!wApk8^x^~MZqrFPIX<fV`r%Jo!ZHZ~+y`@TfeN~nA`D&iLzwW39fqM+I
zHj#Cv&RyTtuQ%t>J|L|VBoKO#6oSt}s9UQ_m+z;QiLttRs~l33Jt=F6#62kQ24Yuo
zKlhFK>MT|2$`hFI(~D$CG|}P8S8$%FVy+eqiTHRbDz!S<qX*``DtWw}>WYnZ*=j^<
z(dr7U^b^U$`vTnrC_Ud-TKGW9mBnz(RH!0x*&=asz1T04GN%`2munAWq{KCL4n-6J
z$I6+r$Mia6_fF9kL{jUrrFR8lQ_-gDvPIH4M9gbDNC&QGR5#Q(Z&tBq6Et1}wE<MD
zSaQ~Q29exI6DbFH9l)0CTa+m8xuYl<);yH*&8kyvw(^>_pe7?Na-)sRk}(TE82gu^
zf|v!V9Ake~G!k=tDn@mp4d#6mZ`~;_yy34#8l}>*NT-d_SIHIiX<L}%osbZZ0>8y-
zi_KtJZP6wn!;z_qP;C)3Y*QNR?CHjM$^v+t9K7m=0jn{xXpBZHsSRoA!-5hq4G0Ia
zvLiQ=_0v{zF!pe|hL5CU?oHP)n#v+o!@tT!8;0ZNRIGi2dA0Nh!*OLQCe`jGoKVW9
z?dT5u?i4^g<>-2PZOD0P#52{uwwu5Bo8)eqzx^vumu-;b+-_E?*u3My)bnML_UO4-
zomY@~^jtO#kElR;H}qUK4R;e$Q`X69+ZG<HcJ+D|KY{wSk(@v_oh5aczNT!Yg5ypL
z$A^Tx%?Fjpt?P$!uHkq|65|2P$a%jbs7%!<^QhQkQhSJE-IlEmwu)1UHDz;E0aqyb
zi|dyrf;DA674_d}YyKsqK!@S__jF1W7hGBG&L~z1+=<8KM|?7}xcM#%4uIxG1c72@
z-BSS!XWYJm;V5sVTq)J`MLCyAt^Atc9zF-UkH-7$kCFdIrLt1kQr?ut@G^T>^(~~|
zMT}N=o@C9*h}IoLbh}euo58!S{EP#ECZ4t|c_}&TN<hOE%}?}D1TnJtdV<dSEtzC-
zl`LPLp%=6&ke+5}uCd8yMpJbh&`Qv7_($Ylm(=RlP*7uosHx=*iwboP^`quE-XU2x
z8bobv%*tjd@;z!I=RKqC$u{=)akGE!anZqmeU@lTA>-wL1d(Hv^Q=6{?i^z8C6<k#
z(!5a@a5}0+O0(TA3)uMrZk5xPHB=pj_T(K1Fa+-;b(TuqU@R5w-uw&0LE==i;?Jtj
zl#<riAOjlrJ?u)%VIZ^C02|CI6c&t+Cs}~G{Qyf`PTs?(%CPkPzI<(lB*k?RitMBK
z2`yc$qpexnsb=kr1!IW45mGJjF)E7jMPwn@W8{CW$D)%m=3H}i*D=r}{gpj1+*l%&
zj8?SfRV<b6xEW5cPSP+TnD0I<qp@Qa=@c@ELIUxnH83H7^SPmOvQC6%y*K)VO;{O-
zsh0Bg>g)uC8}i2-#+NoIQ|an%F}dn7-N|il{SO6mWU(wrCArv1J}Mw*e%VNy-Nf3p
znNgy~eDoO{r$f3gel1o{*@xDfWv8E8&TN6AHOL@t76mM|&8ls*P|UG{u&gQ9gu|lj
z^eikNgs47yqQY-B=(Fc9X7m0|aC+oc4z_yPqIOjEiv`#<|G3gIQDVcxOU5|o@Eihi
zIT49-8pf2!^R#a(;`sjCtu3Zq<?jF?7@P1%GE$YkDrI?|RUuMQWB!KbXhza%N<$UZ
z<Mp_|-0~)uDcL<~tGSr;gZ^@0v%HOKBAJb=n}_hy;P}_ouwyU_EwQ1k=4RcjHWVAz
zo-0KsNwlM@<S>V$c3`%t?$qNi+2(OIg>|0l{0xq#aFS}Ux$!BH_`z0}PbSan6kaQN
zRi}2cTlM(;N`Z+DPMm@*{^!Vx+#-qJz6x=z1ouR#Ao;m&l~8S~!tiXY-pHxAe~rXE
zFbtB}8qFu!EaJs*M1M#hb7f!{iIuIJEIm#0uhmwR{hMAKb6ig<XH(||;?uhI=qKF)
zdt1zLg8~bW(rc3)<hNi%&^W6N(SBK`SuP@&n2^QpndgJb*e8cXwP)Yb53Wj|Xigmz
zEh-Q}+|Mdt2%vHaR&0(QD7}2{?dQ=~&Y^r1#enu~yIixuCdO#FGvx%Lz0sB%%sEd=
z_wnnXulLi%>}!HCzaH{<=T^6JPs%Tdll-)w-wsj1_$ez{<l`!TJ`cn7G`~8?aIj>I
zLwY5r*%|$uU~#Qfn43^nID%!ufv5t_;aG61t;XugX9Ya3iEGRoi4z5Gyn@Re2<HlT
z)`hW$Z84YqL5*jB@<~Y{N;;F%caG0=UOBA%6%Wt;@NjQar8E!oEX$F_pahM#g4(mQ
z^pO3{VC>T3k}+4X#1G$TxIQ^o80OcF^Gke&tCKfx(K_zKxB>oil|<0)I2*`hyO-Pi
zyv8bTOwacgwept3Z0lWHo{J*R!O~1(+{Tnl(m1)wOQF|jZ8h_~4O70y|JW*j?1B;A
zh6_eY;CKR~eHmppO4)JOH>E<VUk}*V@a>h8q-OA6TOv13$o?1+fg8MYW%pZG-$SuZ
zv@>SRpG(<~V3g-bdpsxKEEp%aj^LHZ<l4jZjY`3ZyRHPzT>d|BF7CQW!bc_&kK;pw
za4D@Dilf5Sa~S*(xmMW|j4iDpUA_R*M`yxFEBF1R_G5NjK{Gc97`E%{K#Ir}QFmiW
zy+(2{91G=v37eMs%GzMSgl%6~qBa`XWRMLK**{?4K=u&AqxkT*Zrti*V*qI*xWWAQ
zMhLHe1-%&4|0Z)hH>=3-Vl(%%Cvc!cZ$?#<zZ!j1i+*skba%BHVRN9Q&(@9Jl!i-u
z@an5wMGVE%D|$F{5ue#fjs7**XdEu;6k94&h5BAikU0tyTYn&zc{vq-KxPeZELV7j
z4<5rs|NSaY-sMwhJTc-NuI8G<bScU&krum{-gy}ic<1vGC^6KxC&L}Wu5I3^o5~-w
z*i>CogO;Tmw>ZPcr*=~|nZJF_VvBRFUAU1btGO!^18r(QWs`YVZ@QG57*q2@TR1<(
z)lKF#R&r#}TDzTO&aHeK)2w>QSxdL>$uqptB5zl7saLuxiJMdPxL?xx*5jR?jiV_g
zeB2yMue0B`k<LsvupfnKsJZD?s*~N8$TnY*(7`wLf;JS%G?4iT(`1@R6nXj5mgogg
z^<}wS1l@<Ei8P{3$Po?;NfpA{^~vx%#>n-S9k_P9s<JiNOFn6%@Z3HL(x&-+XMX%C
z(bV@SlYpy=1$~eyZK3vkoL$T-HAF$lrT(Hd(Q8;CaU$qGX~C#?!%lb{#9d~d-{|ri
zI|AGO<2Uw9I*=%gH*6<~p$(6SNe6t!PA<BFxpJ0xo}AJ+hsO08d27xSpvn8ab%(S%
zxn@x>_$DMK=^=zU{~9v5-f*n9ZoB1#rx(1Z)x9C@y2n?SZ5<yC#7CZrj+=MDUL(u<
z&sg4be~{=G3~YQlYrab_TE&vy=H`Nt#A5bKDAS=%tjYx=n{WTAUbI=SJuCq8ujc*|
z^Pd<WStRMvb=*ObJ!xHhhFBcdD~p2|6;cKSM`EVT;GbheNI3SX@at{N<}?sTQfd!L
zeXG|~$q$$#EglB!UASL3_1bSFQCo5jy|oWt8S05<I(3GM4r%q7q>6{a!hrqLfaeQs
z$ySEW#9(ralcQV^_mNh2HjMH$mYs8{ta(Rw_=Q#Cn;a~7Pcc%aTo@TJ_5@ylC-PSl
zGP1n~S~(#jmICgiR|=d43a6+4N|apWIsCvX02+A<#j}3Mq>)#*^^P-PY0%SBJq&xA
zRLZX2uI|mkUzZGDjvHVgHXJfPhU<w7SiFV(FG<aMu{V>F!qx<5XmH4Q5dKYcpti*_
z#K__7y%~}9y}9F`BPY^OD=hY13WEX`(*m$H#p9wbt^Rn$I%F-yzwLdv?0HvPvIS0>
zS3UvvQ+{&VM5MjV@hKK_*{bjLaZ^*rtL5s<>!f6PN!e?Fgny(|L>xKQrVgjnMH8zr
z@A!@QGCBSXh*A}~9<o9bwDZ@3(BOE01ckxsiKUQej;0?R8d)w4&$S)wIKIX0_$gqN
zbe)uRF>u&>EJYl6(Bl_mm>O6Ii5961pW1f~lhUNCkLyvPCn$beS?7|c)K7f(2HpvT
zva}1$7C&k}T|r@!-m!GtNn3sK`6&Dw%}0MN$8uQ{^r**`lh&EF#ER!zba7?2wqyxa
zCKoPbzN!$PSMCOqyts>iI>)DHn*~5~PkjZ8o-5*aj`e!lZg(0HT`xGO?w?C#KT)#q
z8gB}o%0Rixe)220Mb`LNPtL?`BiSaW$ey6Y#9Ctxd3>N3y{{&sG?n0U^|a9bj>4^I
z&H|c?Ftz2~rJ>5|f)ts4i^bFnWxhs0LtNK!yw|>woj7CTB+P*aKYe*DxZa|+h=UD5
zam7BEa0H4DShw`($u@RO#WD~ul8NlQ*qc0(N{L?s_pp#`WWi)?@NWC$;AU?DzQ-HA
zF~8G$@GaI-+st^*3BH1E@3!53>}3AfVr<}R^nO<*So4;prFinTp=epN@cbXk>?$_E
z4~PpgK?GWN;04DG4O~AJJvZ6!!piefr-zHFi)bQ~9+!UL*gb<+aqf^EcV*vY26JdD
zZ*-15%Hq^(6=j|ZQDSvpHG(zk<;10?DGnQ08i1%8vbx}}279`mAD#SwErLnG@w^mV
zTCp%ZbZyoH)~vm{_wr=4{`7sG>O$%DvRLNA{=>=eWoYCZQ8UH++wmU)vKyBtB?e2K
z;S1$1u4oGv8E&cG$7+_e6S;4#Od*6ybKZ_*r-;i;hEGY|s;PUnSAW<$=~~)DRD5Lg
zrjaS?6J68|pOPKi%8`>Hc|@<vaMBbqA+O?&n=L5OrrhgG<t`MmVq?XQIH_fA*5eGv
zw!|~=Esuoxmr#R~2?XO=7l-UE0WNJ18iCx4N=LSaOLWhSO5vKYgg?>Zyl`!)Et0q>
zHWGEvaa)N@sUukrc=Ok0EoF!m<*t|fKD>hg#$nO;`l=M?nkz;@o{`r;M%-a2wg)*h
z{y48t3>z~zkdWl6fL7S}cJ;pAChW_Zm<Y&Tc<W`flYUpfb>Rh6@pxVrd&zGc0sY4H
zvwfw(jGXXkVm%u{3v7*?5KvBBQoF=>i3#TfntS-18;WIZO$-e*r#Zlx=w3VTcJpTp
z;5B9ET?IPxHI#E*m_sk>NEB1%DHjn7=|!#V1SL+u9#ze4f-E<;Cx(+eOp=RM^I1>4
zg0^#WlY<EDp%(fa=2YFt;M#M`ls1G9oj&8ni6Gkf0Txtbm{nmDdXa6l@aucJI_-@u
zW>S0Y4wXEqJrHwZ1QJ^ND_SKuL^FPV6y%5)E)Z&=Vg(;lmFNh@o-ABSFo?<aonOfO
zKj!s0Qoa3wg3klW-brdXe#h!w5QEd$OkDa)M9N=zd{#!t;I^|>0bGAQtF-zS1TIvt
z?F<gS?+F=0;b1yN4j6Jzs@8BE0p0kQq9#<Z!GFd_4G$OAkQ>{#fu5WLe4<q48M(-N
zAfqO7Nx)d`Yup(q$l&{yHCHfIO%dg36*H^SZhMK<J#F*3P=<Zr7YeOv@?qI~RW$>~
zdx`8&{po&f`A0s@zcXk*EHiw-n&GPrJ!X;Rulp!cNr8caOiCLerOgN!+$BY6#=VNz
zpmD@1*EkUHtet<J9=%tU1`GS}`Ws5bIIjv189Nj1VEsmIIVO$uiM-y70>*)$k!lG0
zE;$k3Tbn>ydHXwM2l3K!V|(OG)u2GZYG}Lta%ekW_6wWvy*Y{#Lf8-V=msofR^tb=
z6KsZ9Egt);qF2Z@z6lv0C!9gUio#@q$L}ud;+1sqc@!Toatc{$|MDDZK<<eN6m0OS
zYfA%cqspJw8H_QYJ8A?%t`^1KsDfexx{**IT3E=>H_32FH*$`U0S3(N%7AH}NqcMc
zzd;ZJ1>6SAS7{w33VDj;bBYSGZq6%^P_%G6`MhS;IPo`Kjvd@3Su%-|QM+EWKHzER
zGo1l#T1#-;NQ!E~?e0u{NY)XG<aHaS;gZ>KZyG~&WQtYbT3MCERDmz3pcMEI35_Fb
zIGMOl=fVb0ODfy#z1eQ3E0^?6pL4$Te&0*D;Wy>aZ{GNjjMyD|!I&Q*VCGd1%jog}
z_9S{^Cnk&O#Oh5oyz^J%eYu8*_r)Z=C#d<m11lw(yJyCtq6K4)n=g|Nbif;5c#<B!
z^(`^u8E>!}!e)h!exTrW*|(0Lx$VFpJp6wNBG!d1_$OfZSuYPyM<mC50pmXL%@Sc`
zTl=GiToolvIh}u2C>b(`Kl^|PqobQ;09>&{?Qal7J*I9sbzwUT6|_QB2kE_phVV!5
zAh~E$G|?-1vV~iGVdN{)Fo8)(^s2z=gA(~NUNih9Pl}M!AS<W)q@>zmZW#`v`;f5{
zf^@tBn4Zkj?iq&cg$iDkN^kp5pms+Amu2V&-w0)I3KZ<-l8XZ2!nQrkp9!7vQ79^`
z&k=kZCAy+SKOH#hV+G0)K6L^`Y!rMyS}mI6E^`_UH+BR+zkQIAA@91=A&<`lyA0PH
zg7)>gr?nbq3*5dB*mC(yFdtbemsVq|;A>bYDdn=S^QpOo?u(fJf*eKtl!L)PCroQo
zVX>yC{N(>*Nsaj;&(_3{nh!G?nJ-g&a<VpdLmMB_<pw9E#+pwGg50KoorXCEr@P~k
zckc3UPp)nf{W9S|r0whK*WG;(BUqPwOk$9vCUTEXM!j*bUWKQjsy=>FtOuYzBJL!!
z2xHa#ArDzXxL!OBgJ0^?*^Y?<nA#KYPufZY-*plu)cND(<3|&5Jsc92sY29jKB%MH
zgN!Z7RUyyjMT`y1!Ad7nmFqjdaocAnUfgbYBsYz8VPAbFBnDjcvmG*5=6P#7ZEnnI
zdD6vmxtf1f4t>aq3_Dn`h7&IfhrP|^Q#4zAL5BB0TX}eB$g^d^R-f^H!YQG4pYee&
zHfJffj|H@qA3NvgnM>hYz|*?mZ%wijp~w8~xHmqXihN8gPHX+`q>vQp5Cw7=Q>1>d
zLm#y+Sg<28glj{!x|<PNecYT*@mi7-dy5-_u}}@G?C`N6=6J7sDB;<5E<f$WKTVQ!
z&p~Avbb7Uy{2AC)z1s4SO@FNGk!;8@-Uu152=<VWhwJ$zj_)-zF(|wf95<)sj23V0
z$K~UMq{UAJjbtzunOA;BGUk7{!9TaW;l&214aVj?h6}?`tu8cJun)Pkx+=6hLK8T%
z5TCOQ2JGddh>>|+*8>qW;x)oOb=nRBg7&?^*v$*ow^77`c{HJVc6*>;y&elKBga#;
zdzOQ&)jiEGtxOYXb=T4w@~tYZPUs;tG>nXx8KMq#rw>s_H#)mc2QU!bnAtUvK&XCy
z<P0Hgh>#`*&RkI+nAw9dMPVXahAuIMAR;tZQ`d#Ud;ts@rTqYdh9?b3lRVKi0YD1M
zQm1|hWONDD(0{5{_a`e<9G;;4e1#P*z5PTz?){hkrw_o>>VHoxNV#3L1cXekiQDKF
zDy3O0b{ALwknBnqoOw}v^siuHD1N1RVSM!E|Ba2&L&fvkB#&UxUdehyiUV_+R0G|_
zgdH-z0^o_RN(pD95z%m>!ys~cY}P`lAWLvdbfDoU+C8tpPOa{+s!SJx@Qf9*hkwL=
z^7(0T=yGUv7o#N;H$<zuQi(`cW>_N+tT-2u(zQ{>GZ;MFtF7qY6x>{#<}gix)BBvw
zT~7l2ozkOU+m59BZT-Y&s8;_ND{HQC9DFv#y-Ao1c<pBL`gSS&)_f3gxfDh$5pbmI
zKFRaH$VI4L7P#>-BPglMfI(0<P2=aHVf<X?Lc5%n!_P(8{9HDapKFGYa1GsI#odGW
zS&+pDKhJ9nX1Jcq1#l))N~MoDuGMSt5y`!St~F<}Mj}D?u^=tyAK#CP6UC`fRB<tJ
zn8TeyIDIxg$1HEOy0C%FuCtnEo>uo1%}FESY+>E+(M9w8!D`Zs@NuN@F1L!%aCWUO
zN~kMO7Lw9%eY!=+2y`d-&U<#c;rQyQV!>q)*>wfQQNKVIRU1xiy>{Nb4nl!UnaZdT
z6OyWBvD9*6s+QPjTqlx&)XVhCh(kT3K3z_7>=|lQa|Ddz`p}ceNfV+QS9V(f+R6h%
zX_T8MN%KeMah7$04gRQ6w<TE6-StlqQ)$|OF{E!^j14{Y5(*fI?l@IvWLJN8bAnS&
zIL4<ii*~ygoTcBmDi4>Xo9kgy{Fl%Foe6X}>~ky_rQf*yIMk^q6o@w<hAp%zt=>bq
z)L4#rN{uTd8E&XrU&L-o*ANN{L_gjx1BDC^QuD$7x&sR#^W$&ijp^gf=+4~82^Rg=
z_M`v%`n8Jw#OVK4J8xrKOQ*e%yC?QD(PcIjAqkp)Kdg#&I%AQCz1kzId=0baO4;RJ
z<ya-k31imBANb>U92CwR3q2nXtJWYivwZm}VCe_9CyIpKx#iTX%*JnIRN{O7Gq!r0
zb16Y`WHycr7W7PG9V^{7zlpLi$MoZC6F+Nwo!lG7WnZ{a29m4UuP|0M))g;(4$)|k
z>-r-*42prD!6H_y$h*wu0SsKJ8Fjlv2AclzXX{TIF<^g3W%yyh*dU*v!Qf%-=@hXv
z*g^)n=HsUHSuOrL?%J2nv*ZWj(^=uL`LzRtpdGi0SuK*WxNQs-x}*?H!n8+DIb)i^
z;2W7YVcbxuwVOtcToN=EH%X>gq2pubqX7nE{)HjKOq^?tO;?G2C|?fiH#;6RE-~%O
z6p51066|KsH+os<GcK_iN{!`r)K>lA+hT7z*by4F)myt$t`!W_t`e0a7<)wKPHCo`
z`A&f|K1<Ay=_WpvgE<S6wg`sA&*Zzs=Xlvt3ZEY0vrDYDJ`<Ge>hWk7%*UUhUs!~3
z7L9qkem!yk6YQ%JD}@u>x84x)d==8BFvTo>B4qHLu+S6U+D~MMm6+VrqB??+*WYA>
zmWGP>?i(LCezrAe-yDq1YLMbw)!&EBO6e(79mL!07UGRp&DZg$kwVmBDD*@E`{Jw`
zaUZIaC8FVf7;|C3n6)%$-`bm72^cE3NgSYUnY1qC**Slrzagto?qI>#0|DrmUOrZn
z5w!1A$5RhwEZUyPQh2NujU%C=)jmVCJ=S>7uGTaB4P5aFQCdCn$Q;flh)jyU_(jD*
zMrAjja}aVTC~`ZkZ?AnzMyX0$c}0-8kHY!n;ZEi8s`(Ml&8hlYmGg(>qd2n~_(WBt
zRN&9#TVPnb41Z0~(>eb{Z^Ot!x!5k8YptKHYDsd){$aXmZ;+QP5RF-n)wR&STS8cA
zq6sR1@+NX3Tt#ewxVgdC7@1q+u|>H4^hkzw-@i$&xibTO;4g$Ye4P=pC$!~uOp#7C
z7h`!#M$Q$|&XQuWi&}K$^w6bLdd2P@x-gO+&RFz@l&jm{4<zY<2f{w}$%v#q;t?ZI
zQmC9?N@-HSL@A(vI?$G*y=_^AC#zaJ{0)l=p@^!sh;q2-1F71Q$qc4JBf?J1;#|59
z;&bytL{UklvA7}P!Qr7vFA6=OYy;0C(A`L@VzOHb8YP6OhA~*ds`h<V`C=o7x)JG6
z>xHzca<oFO8*`qa8`PwGG;DA0)mpUr%V=Y|0)w5%{(O8f7{fkIoW{AN3*%Wsuq({}
zUK?%V*%Z!dD`&IX-m3FWJ<nT<J_;6H-zisdJgy%+B)dqJGHchaar5Y7bYPK(-*6~4
z-7TxYK=j)EcyUdgi1V#!t`MhcYaz&b{gi2zA$z+F1ShkAD<mQqFL#EF+z_@`7lvkM
zAfA&M#6+zz)&yAm1+Z;@a7N4OWqeB1T8~<W?vpUaUU#nG<A=}q9-ldA(mHSQ;!5kP
z13VBlzBX&Hm|NYmR!yxTPf=)S3CaN>$%lI7z%xrog~WyBt*M1$+TV5y`Is-$$}%-^
zTlG6(CUEYsX*Z9rRTUI_Dh-$ZCf8wA?iTaj6iU9J9HaAzpkd<UBUb{oo4=C_`uprN
z2>#K22%;$Sy}`|F3z+9gX4q~Z!H0};(%s7EQI!wz@4!>c9jtQq>DrWU1cox-monLx
z;o9B}W|4y3Xkrql7b-Uk$VuHwR4#l{{_E*_Z#U0Ja|e-ej~?&%q69Qq`0L5a*}T8r
z=UqO4u6RKFzlfI+AjbKIin;Q^iU~nu_B=k%&bPw?p5r2{yfN>TdY$3X^gJ}9d^%F~
zfBM_rovWwEv&sWTa5c+lJvKD4E7gAL{1;R7@#sXdKfuy|CktV7vEq>9YKy8K`-L<f
z=OvTa4VkPGuBzzatndhJg`SD5Yb$cAyc{0hMG<h8b96d{Wk=|E9IPpw?u@)?iH}vc
z{(d6Hr{)8w8^-(TPouUbj;)HeIBW55;gdcq_#WyTdyMYdPbl4HKZ2pToLHhZ^?V-n
z23jPMFjglwP@&DKw&?Hwl0J{E->~KJ-=0moZSQ+W{Z8(d8iAeoDpmPDvMvLO<^Q41
zfQx0O_$4MvTl{==p8WLi>E@^g5#Q?y@$%p}3$w0R+kmsY-Z^wWiQ|fGce9iH={?X1
zQ<S*q!V>xZ(Rbd<dNDZ4(8Sai?PQVG^0it`KiUGSvI|LDn$JTtr&b3y;jC~ZF}_*k
zvS(8l|Abc4&Bw!K_a1wlTZX1Sb}4DsV`WHUB<9YMzmS)al`kI%N@Q_!F^YIkR#p>Q
z@~QR~*(d_LL%M;5EtZkk<ov|3g57&*S1O<4J{`43&RG+wi=y2Ice$JQrt`YWd}TN8
z%6v5UIPyfZ^fuc>NS5ZZ!Y~@-{%<eJ<d>}<=EokBxLA{lGit1)*2ov$m;x3pkn{c`
zA!E&QdE_(fG#67d%jKDIq{j_6)rr}DN!>Xt{JoOytN06>Y>5;4^LK(Mc%sgte|D%D
zO>BPBrq);|jHw=QweX~MW`vH`oK23U!9u<IR5AQjsMQAREE$f=EhILXM**p=V5FsM
z4MH9&5+_<|azPCvE=DNX>MsOLqy@h_tdy)zXcdtXYaD8J6Ja{3iqT<;ZA3NMNb_Q8
z@C`;sYgc}mjS6a0w)Yw9EnI`!@tbXa4vp&ITjw_Z&T6xkYu`1jhP4}#TIHJ7L=J=F
zi9nd+u=c{SW18Eg&?um6i*GQ8l4c2!mGATWNhZGfn`Cl=rU-G#87VFgd6cO1ts*le
zIeE<y=ycgwZIUeCc}?Ffa;8eYN|L#IWGG&bGPrilB05!fk<#0DC6f(Po#rizps)E(
z2;u7o9LF9kv&bD18NQ3UCF$F}0zV=7Ie_W&3Kr?9@tO5JgZXww<yjmcF%E}{HizQ6
z)BC(~RAjX}*2}WQ%F4@923P!;x4S3n#IWgxZ)k<YNnmy$mf?-A&SVhBM7=K~@}l$=
z)QlGS*l8|Ht9AWdl(psUOeg1fo1{3O+yXt^x>!CX$^kymtFDz#y?b#S4#fj3Q+H)V
zwyy4-n+Cyea=Mx+l{KzyBK>NmNToOZEoZQD6!kdxpjZh0hka;aaWb3aN$b#Y%^e~h
z{aF}`&W6Ii`hzN)v0%F?UPF|<$T~e+0WyZ@#V3i1yTPJDswF3rQni2<CsgEERPgbL
z+2&4>DdQn2M3vkFYd$HBdd<%ynFYN02%#E`)^hvD_er9UoWaAQOg`!;eb#cKDOWxr
zz8)u<^>-*InsOO|B66R;yAK1XJgy~twgy*or}kh=T|3IU)$>w5dYs3W6=mFUF>XtG
zbixHZWV$WFe@s6Av{_!8=`!+%vA9((lDMw07!=oOg2H!4iUlL@5JS6+5o;ZzBoF?C
zb;WIt!Sb5=@CZ}jd7#8Wq0ILur|tUSrpf|B&LgZQsgL_;Y7kQ%q%uJ$Cr3PS^jUo1
zS;lJ_3!j!U)%4Lj4^&_~Ss(<)9F>Yr#|<9!c7?pHb)3gThE9AK$_aXx@j*pI%#4a2
z1^sUG4%$Xrv4|}Ysg8*Lczn2;+=A4)FN<$)>)Nz#bMW0tLK5sy=&`bo<iXbvfZt#q
z!xSKRm2iivV?+T{x`wzY=Bu5bz8etgtJH4YIBOYsG>xH{pi%Z$$xpT(52eo6X})f;
zF5dXTY=1ml$k;k52OlJ@E>30Sq{4~OZWgu5Qn%J$K_;?0^!@^oDL#b8VEtK_oTt-`
ztVw#zUxD309f6x<UE5|}cQ~0W^-XdjkADIw!90}b78=B#+z1{6*$taj-?84^yzlSx
zK9Tpiecp?CZ}0P7!uu0_-ph4yHn3<3#?GA7m4IUN{X<OIP$8wVG5EVvg#cCV1+k!=
zsZt78<;pueQ}0r)yiZKMOS$q+TX1gNuY0$BtQ$+E^b2B_*h?&^TnU%6Oe4o7igLK3
zt&CK#D+t44DlQPOAeln!+q?(cY>UTJZIuzd%G*#sTeY)qQf?qtUrD$tOL2IU*J#_;
z`6mSqGTpJEp$C+l1r+OV_<I2(ORYc9`-O~6$<1A>U<136ZY_=iMdck2ox-EH!6rm`
zr;)O5r;$3%J5U@N9kYqUBsbJ?p%uuvr}-<&Ft+TC&p0xvh2L*5+U;$0oR$WhkOCYG
zOsa5mmJlCJ4vU~HQRTR+f$`UzFQ#n6kpqH|5saOcLC{wko|F^LXM-v&YV#v~L`@05
z%uxLnl}GE_={;;ddB+CIe)WCLL*`ExGeIBV2ts$D^la_tPb!A2WiN5H&ef=Qe{IZM
z!#uZ$p+9^!Hh@ToZx1Qu77LM+y5!1ES?~Adv*(M(=Fcr}RLiCN8D;rSp>a_r_6LsH
zw`(h=9Zm)H*z|VR^-ioy8+Ch#YPVL!E+W<B^BG<4*hQIDvB7QAl5F0$LC$P^UULJU
zv$ZAHi3US|N1SdNa0yO&4aFRt>igEG3@ey)u=t*Ut8ct)7W0g5Ox~2>2A{GL;rq4&
za+?zeDqOK~G9s|v+h%@@3@g(Cql~dOC1dHUFlOZg{A+-9V}vP(a&c!E7KzZ9bevp#
z#pQE^##XdpEr_d4Yl5xm^?@z;O|GYUT<}2LE{CsR6BV}m3gm{{tb$DiAF%2u_Z6^t
z$>xEt;4RrrC@xql8w?ZWjhV@3$hTxE{cK7%y;5}Cb%vYpSrRrBWf!PwG)h+s8cU>)
z>c)f8Db3topjj4>sLcS00UsdIsLe!1PfnE<kZI*)jY1E0OHOUQKsPF&B^@g72RkM8
zncmc!tt=*5<+!bK@}(Tvy+~2K&;lyAfJ!W&Vgb6k7bvQLmQ+}&x}=u(rq)|oEVD?J
zNsRim2r;92ftFfXY_?LLk<@Qg=U04t(8{8MXjr0KKqUgC);bn*e`94)X{FAV)Rnzi
z{LacEpJ=kkwSb%g^hhtzpDmzb3uvMR<QAZLy+HrAfaY014Hi(108LK;1&zjq5*>Fv
zXVLVS1+-LvPVCL;c~a#wRVIE9Fh!k?Uc`N!%$L@=7w+d^-5%?A)mll0<cz1JSo~#j
z7U@F=St(PxIl7aPV_gaHe3>`dTC*sp*cLgUF3wCGrzh8~{D#)qjaS?OZ=-ExH!piJ
zRme8LPHbS3_v%;0WV9|k)>u_lIvh`nGTG6ePi`$$r6awOeXE<iMDS%1(Luz%ur55R
zBm;N4Ucj2kPFoLP+TWu7eR^{v>qa?v>ovCQG1{AahdF-B2V$~zH)4+8Vzln_qkj%I
zkE>St;CLRrP8pVtY?ggXKIQ3rs`h9r`sK9gHkDHc4{b%S9U+z1r|%7<N#*stoHP)^
zjMY{9`cihcm0!cR<|jJzZwF?HN?ZHk*V4wVW)>eVO4_nlvoad1YQBg2g!|Ndtd;*n
z9_eMDnlt*W?<fDiEWudYuLdu2N)f%Njfae=y%!~5?-Z3AGiN@YCGqJ@=~K;6e5#Yh
z@$6ezT`uBV=aKN-$S6Ykwcd~~GF%+xufHXH1I7+y$Ck)c>R!oe?@II*+p@u4W9#1L
zJp}oB&z8M@mc`3lRClkjg*lnTWyR^>mSq{~;MQf`q;1(<cqAvYH*SAAxMkT13iZ?8
zh+9;|XT1?_74dm*#3B`Ogx@W@rQ9!6h*cXVczOR)y~|#Q&)(`4mk=Tkq=CHlG~B^d
zREr&Nnx1)0owH(cQ=frzH|4bK{l>5z*i81(9T}}VhSsjLmvBf^9XYS*M&^xH?@PI`
zrL{9xoj&(wx6w##Y%W#(VctpmWbDJH)>`$4aO%Yyzw3l$PZ@9R-5bAVd*kZ8@mn*N
zWg2hn-90%oa*P>g(KP`xV6u!Jo#oej?;CF|`}5vqSL|Kp-fO(E+i$G)a=v}C-LLsq
zll0VHvM}CQX5YKJvEBRpg_O4J9<Q-&ufTibGc&+w_s3_h^hVcZ)*KSF_Q`9=cRibC
z(N6nhdt{J5KK-AG62E6-<P?=7E(5MJG<uCX*w)AuWN+<l%z#8a9$+19W^hND5aq?S
zA#yUoD+FUd%Pemboz3=L7*7dCW@I$L{{;9bFr6<vL=t|_dOqeBcP+61q$Z6SD=#9~
zROu{|KOvUlEs3|R#0a#~(B$-1?;lvHzba8cZQA&bs#AZWWz0HYz1O^&sg3WfYOYbo
z^lM(t(2CQ5Emga!9=DM77px~ojiMjzr(;!Cak)t$Kf%IWelIC>^GomJ_qxJze&xp4
z=$cOR*Jyu27Ke=m{#FHltAfAv|6%V-0Hdm|{@-lLKoVZS1f!x15^RvgKu`mS&P!&(
zi%f7NfKgGxl0YPon9N|P+r$Z)na6-u+fS`+X^WCpT-!o|3mL!=0U>}^+=FO4VO*l}
zVOV7TzjNPvvxK0y_51$+e+Kg2UCurC+;jK)?m36SS1|Yrz_ZW70qS}8f7r$UwRE&J
zI@wiPiw>vbN<$xCtk9CiVWnkQGaBOioTex=>{sL>o^zTI#8;TcyGZ$8C~%GbWA<@z
zv?soF^dB>ik1q90)|QUuHD|*-*J#h=lck#|&4N<jeT6QLqv&J2X-jGC!LLHc{!r@P
zF_gb>OX(qkQGcb_I+m{7U%IlnbY*+#%0TJLHpZUdScZyiEbY=(-8Of#-tG<<`R7g2
zHp5sKn77dgd#U!59`i8;qgp483vr}|ig15o<Td(qoV01(Ta8kid$YaXo>O0$>pzrS
zZ@1J}PL|r9_te|1jb@O;bNg?}4iH_n`t%`qMOPzA!EX!>mP@chY~0*HfJmfC^ZkLO
zc}u0-WE4ZnO<CEzvK{4+atEwz6B~Cbfb<o(RBU{tNlr)J^d<x5J342=Q7^w{vuRpW
zTx`Jgko#`@a)+9PeTGb$d>1VVQnT?Qah0Ssvj5k3@k77hhvK9+F<orDAD30>hueF!
zm=XD>=?m@F_D~zOAb1HVn!21A>YQ2pkYoIiFS_UNN!@fOuz8Z2@k0Kd)IpTLC+U2=
zx;45>v|BZi#sgRI<PKIRiRt!f*LJV16>awElT4u4k-=*$>0LMqI;Lxdq993tF#zwi
zdhf0Au$Y^$S=Y{51zHMkYPT!3WamxIc4kV~uGS%~rvQ;?LR09WF3}WYD^iqjaDonr
zEJ4e)kdQFptBsxcTkT?_<##}cADqptvNMz^30=~)hoyY<<E_Tf{PZr75l7KtlTn7k
z?0&!`Zd|0K7ZbK$yQ7G|uvsChh|h$toqs+(-Mv+R{S8IDW)NH{AxC-_{q4A=pZUmE
z$fSnGrPJ+JhIIz^Ndk<E;<EE}p-`A6Tr1e^*G?-8IWt2}Zsv6&#IdsN^fcMU75nkm
zjK6mL1?(Yb8b+ODUV|pU-e?&pG|#o#@n}XogyF$XFi%XP#sli$*^j?AVh7_jKcvgf
z59!1o!iTisuN8mDr1lezEox8jPsg7KIkC6Grm?ZUO6G+K8_PJIVy!SEh(+#JY)cRG
zPxr$jlcj?s8}WuB@NUE3e&SA%1%a!q83@l@Wlbw8DiT*V<8S{et7(-rd-lzgV3jrV
z#v86L5{iWDg&Tw$g;}^!e6uiHls@J+mZxVJA!D>P8S2F#hYu24%zAudjsC4@UAZ6K
zw=Iix;g_>CrBcevm*biE@?Z^(b15$mXYWCP*bf$!V(J84r3=^ygpsT<t@~&OCSpZr
zpbEb5E$K_8&JkqfGl79td%z$g$OeMUFoHJeWbHOg-Q2UG1^32Z5po=*06KMF0JRb1
zCOzW|L>&&s+ZRBi#Iu~50`QQr!~s10z;Bb>>nZwdB|V*b^^HUwI~+WLB!5tn;0pRS
z!6;DbZ9+0uDD+MvV(>QIBfm3#iT4)#{ZzlZb*{lb6|NtK2PIt@owC>e{}Vq9PrP^4
zlC^o)JT-j4;llGK8M8JS*4^;P>r?;Q`1vmb{H$jeeDjBAl0Wf^zdKRB>E;hdj$Yp9
z*KZt@22ELi)vx#5@VE7||7+2>;OzhU!`0G-T^%F-_D0!-qc{9+?yu6WUe&(5ebTYt
zR6jY=bpDgAvkD&i`ic|H`}SRWr1Q^bU42pKm0z~M|H^=ImyBC+Y{TT24j;Mt9xf~M
z-p;+PwlBxu_U41H_kVN(cmFT0@)vB_wDWNLk#8pd?)Bt`FYNvYHjaDBpsh&B`Ss|6
z)#F!=XmX6G+??ndBixs_>K~1deY9?|`|XP-_5Ek=pKi#uZr}Sl_x|5LyU4SCbiS+e
zW$Degr>w<La7Mp}=Ez`=Deo7R_eZLKt{h)9Pkygf-WmnF`aT^V7oB6`S3R%NDZ75!
zXXo_qhp$zk=h<R8T}F!het4k#rWu&ZRQ!bOCpVUyT#e$FLpg3WKG~7M>~`hd8TM;g
zxIIpOH!JT><xTdrDIFQtruXVNoq|Vx(*hk67}xx`nv?u)hFxcZ?^ND6on~<D3S6av
zrwvA@39ec3lPzjFKlxp(#8)bBGEz<PWTl$k*h(_IWTc&b?Mgh^qNaE`6!a<OEmq1w
zcBd(xctw*_r$SdJ0%ZI$zbch<ZOXel9x6LNOL2B3J>jCT>?r<Io$OcrL=p0BSLjgr
ztP<*g5*_;KZ;{^%mG>2kWd9oFom?*aGuFnwk4)cw)t?TSro6oLSBs{IoBrz4-*<b}
zv=Nin{zE8zYW1|4GBnDp%jAl6bGj<^nVNWQCj6>z6gS+3c&+M}QxHsSh#XG$dbr>2
zrt_l6`$5I8zJI$)j(<>j|MnSfAtm>?==mT0*$XX&`IAkiV$_nJ%jQh%-|0zMt?-w9
zJ~=%Y*WM~eUc;#=LK^Omav0VB>3(V)wHeh-uxfufT{;z>;OI~N(Re_AYP=f$U2nbq
zg!Tjy4Z*gLetP{H-5PYR1l4a`t$R$jT9>H!DU%i2HqGcL|3ljSno&{y$F#3&Myh@g
zNk_}!AN+LU9R9(-x|@GZlwYrJ&^3Ubz6w6Qew}We;-~WK_0Q^_g}+ZY{_ncKD}Fh?
zQP&8+F&zJ*?nT8<@x;Vt_~XOzTXkC%KTB_H)wSw&>S$Zcz>Pa~ZMxTWv~OlV@MF5J
zNS8`}sz~^4I=gOQl;5Hgb!SKUuh5xwX;J=hx@_G!QT~y-Ox?Lr{&Zc2?z|}fAe~7!
zNb&29ZMs?L!zp3^yE=!iM%O>=e_c0Uw@`Oh*uP&_uB+4y2>aW0cj#QY<gouEU7fC8
z$A|p^-3s0Px_)8*C%T7p59^Y`{!ZO~-Mcz{*ne0T(0!uQhW#gWUAhxGj{NxPja|A<
z-C><Z@e}{esPD_wc);|<AC0H<qiGKZLLBZRuph)KI7kA;w0${7e&$b|Znc@F70$HC
z{#IrD%~r<g2F0JDyxY`p<-Je|Z&cxwa5azXglSXrr%s+=66`k)n}3t3q^4w^(@|Ej
z#N;SjTvFk5m`W?EOqEp?^Cp-wYlfAV7nw3D=TyyEta^u2X*kX_9pI7F6HEY|zqs0z
zLE%7y0C<NJD`I}({BsIr0!qu4%&%6dnd_`xW|{*UoJ;00qGCu;2pVnz#w8`UnH+Pf
z7sV18hFI*Zc9?FPQ|1^wdNiZqiY3nSa#OXVs%*)EE0JFIFL0L4Cm+WR%gnABH7s*n
z_%XI-Sms#r$&T)CmIx0S5AjaLGj{$Z0H(*d`6d%NC(uLAqlnTafubaG;8*CJH?O3+
zTJ}UgubWe~1hkrFELpUq;<hEG$>qx`7ZQLPVJRsuag><y=9HB?t4g9GuB$4G2@j{p
zah8^rRGFq%RG11E&nYhtM-)2dl$V$+a~yM`DPV3}#hm#jYgJW+a`?ak^Or20Q(iXT
zWT%D!B3RsvCDqQ#%8DvS36)j(<sh|^ZDH9jiAwxVp@RaaRya)4O6JU8MjrKNDOp-J
zucTZ4a{2646^@d5;moc<%dIE{hUyAu6*$T;%&aJPqLt=WR8=`E9STw<Fc0lP&4zL}
z6_m^`i!DD3G0j^zXUT#{nTXE33g?ojLgJ8}RiepKvZO2;lE|s7SW>N&o3cYji|15U
zqGltRbF43+(?kWy45@a^iRGtIUPU}YLyn3N=62&c;mOY}uy<n|M*6(zrv?%yE9O;{
z$3W*VnOCv6a*m^HE?UOSlB#M95nLh03N)@|rkQ0G<%mNN$K_7TjY-K0VO=txsw0-C
z;6_Q+(vtb6jIrZ~GcY_Nfmxa1KqYxzS$P!e)K+IheK_YVkYjQ|WmU!EvTC61sR3t>
z8Jjik(#tN-9xvqNTC9292PAuVuGVlx%#8`q%yHK<H=yBO$lMs<@lmOa+%DOD3kye2
zM))EYF1yQFcs~}tn1#!3GB%4vGz+g_;j)`T)iu-*{7glcjWbzm=9N^kF>v~_$`aEk
z8cAw0hRqpnGUeK5n1sr*d8T{|3(u}GQ8HGva57>Biyd=Wc@4&EQ~rcuHKu9wm_d*0
z=wWA%DfBEXWY5V(c!8d2`F2w{`AAc4VYF{ro=uos7>=flrwK(d5V=L+=#i#rmWWTO
zfN43g@P+nh_?(DOg)hvH!EebA!!w9!*`}EI@iD$JnX%BIcg&brh_PV^&^sn8>{Ig}
zGcFeX(pU%!7!(c}X|l%fD=*5Y-~;=j;S0M%<W9?sj?bMIO<(S`Q|QZ`7DHby_(4sE
zDxc+OiN$A`HYOZD(qxIkuFz*e7BLW)#rQ4{`_%GSrcVopDH)G6*`h-kWPWr=7|vvh
zO3mQ%iVB69*4c&Ah3VEXUW&mTIXt<c77DhMEiIcLGd~Qq<WP9YT&Fz1PA$kc<uAb$
zrOW_BS<}kFD7vV!qHIZc$Q^o39@1U2w4|!Eyy7<C&!OVvTr*>;#Wam30M;Q(=BvZ|
z&>7VC)FJ7b%6S#@*?=^3Y5~ii&092A2um?R&%r24R1@8lkEOy%<7(a<XSqT_ZUwEm
zuoA%PtFUCjVtn^!)KocXj77TX)Zf(nrWY2nP=rsVuA-)(4DD4IX2S&=ik5|V$DDbK
z<m{A8hfbz+lS`JARLv<z8aA2A1G=1_o#?b<m>m^GWn{Qkvgd{t5L`|6<)%E0N_piK
zm==~S7-c8kMo$Yvg<QZ1<z)+&u(IVYESX0~0z(TZykO3}g=I@hMya6)FCsn`<`-B@
zs1O-xbcGF_N%cRotjgiUQskHFWW){4rE=v~EOAs}M(d$mGbz8B1qFavyx6&<Y@VEy
zjk~#Xmiz*XPpn8yWs6aCQ`r)%h8Hu4(UCD$EjzszlK3HhF6Di{@?NdH8<lsf@(w6(
zZoQn&q`b40caie0RNnV1?*`@Fs=V8kcc=1B+aTl1RNkWUUZ}iX%3DqMec!8<^y+ji
z=N5UY^B1<B?5DonieG(e=wb$b>Ra}4=5BAr+xzO}KraV+Inc|2UJmqfpqB%^9O&gh
zF9&)#(93~d4)k)Mmjk^V=;c5!2YNZs%Yj}F^m3q=1HByR<v=e7{=eqH{T!+F;%@%S
zp}$=GWZ{!@pZxWcJD>dGNp4;0y06w<@YL|9Zhq><r*}QWt;V-oz-d;etud|1Sd+OX
zdyRRGxTbi`!Znp^YS!#uV|+aM@wCTHk7qt^e*D?T_dlNbMCB9DKGFO{+Y?<+aBGcg
zlh>xLHLcB9o4K~W;n{|b4O<)R>x$MDuUojTa$U_j*Sh+3_pd_+&qA3EUY%>Z)^ZKT
zhUA8{22(>uLuNyEgSkO$us0Mn6gMnvsBEZda5dC7+~4qU!|H|xU~Ft?ZfI?2YuMj_
z<Y)Z5kmFMATp3r$EyllGu99;i{~E4D2_Zzdjg-Q1V{k7u6F%sc!LKf9Z`|0`!>0b`
z(Q%81-JG|_^w)Uq-U(b6^q!ujEq-&?+CkgSox1KhPjSJtfjhL_rEauK`-<O;d+zJ0
zPn~?WefqqI<8?Y*qtZ{{k_&D)W71CnY(6FAKObPXa@_oT^)VTDau=EswBX`J2v)vl
zzfNz(&49_x?t3v`<WUKyf)2OH&gd77_KXq$s8Zy(L1zkl25_StB{g(aWqCRtL=crd
zmMxqKU261v`4;JXx~pTx9~JUq{6+oD9M`IPKcR~QcKi{qE>lD0w;5MON7u**#}QmH
z{s;~th0#AV;G+G#?*Ba;xb9kUOta|OEqeAq36xHR*|@L7Cp~+<`fCx>8w@dP&p#1A
z)n|(fiQ`X-o~~*`{`jNSP>b!)celq=s;|VygD{%1>uTQ}@gbN=^MAGG#B5owM4_kE
zK8^nqsfX4Ho<7$f)Os`k!0Q~+gqRIS{~|JSrTo6SKjNk!ehkx#+NVtkJ{}vr^H?|k
zV@1%NNP3rLdy~@J(4ZGM8~kS4op%RDV%&??`=aP1Q}w>W^mDQ3F+6=aLFE*|`8RTU
zlGd<Sst>O~@el;LCpEy$G2MlC!v*bz597tG7Ht?!+6~R<5&`ptq*b!!%D@gd0{!qf
zy&9lI7wK0C>jCPIVIR6`&c!S6sfh?meFBJuCX$JQcDx7RA=Sr6qg5Xpq5Ak$RrPT{
z+eEX`c~G2aPj=iKd?&C9gqyuxfv@mZ^&69NV}3&?zu})y##4I`nQ?*ppizYad{PO@
z5LRqV_Fsbk4wT^q4f@bjR6zlTKn-4sW)TN$bU^pQY?wKKDn(KbmR1i#SM@e1!iIVs
zvQ!18T1aJ>E!}SMTGB=DbkduabQT7ez}0<-v!o~Xl%%9;770n!MLLwqlEN1b3ix4#
z0uOgrydy<%B{=#jE~E2;Q?gliDYCf)b3<@Y@Z3{kS5oY2DiNgO?36N45sE>`IK0P2
z5t2!nW`+rYOCba<qm#&9sFu5!%3XwVLorFxd6ebTM9_t&h533MVD6I15*6N%{V;{C
z8B`9l1<A94G!sZ$D8YD417K#x7RJjc_-wh{fLEFS8-n){Jkf}VbkW~#0#=ilKnj|(
zWgJmespN@*sCiB!93I@TR`TqDciF&Pq;esq_ERbG72twg`#Vpm|5Nk(5TZJP#d4C2
zEm6e-XoRX43Cc~Ko;ac4jRo$;J1?cEm6?5dyz>d_K1`wtUZ^IFZR=tSngh%opxHv9
z62IP-UX%cJf@n0PJ$W2-AMqP(>BR|t1QB1di7!Ia9cJxWP-v#q<H@neWjSP(7=U3g
zxFi|Q!4nP7+eV5OxWINSBLaRrpuPzT55y)jg+3b&7(@9LGXnVaXme2W1j>+G25a6>
z{^v{m4ORehx`jxW1w771_IyHUYK)<%oG5xS4l<Ss*<_O#1sMlLv9|^$gmcZ5(G3p=
zoWrtZY64SdhqEIcvMeJgq(G)GGu{C872Wea45hV!EaZ#)&@Qil0Xl6ER)V*pKVW1@
zgFy!l9M{l8%aJc=^y<@3Hp6NMzh0m2?$YwUUtu&OkGQCL1iv1tL42u$P#%n>FX1J4
zE!^;WJw}fh2%`+~TLt3$Qy~tKLS4zQOo6!IREX^|#B~b9U_gLQ9T)724x|H-coKhf
z?yk5yuT%*@M;?Y0P{yqpMD+)d6wtmm4s%T@VbpDgApusOI<LjpFQ;Cw4L;4dzz}N~
zVhthIp!|1U#t=(MZAdHn>I5s+hlCdpDX_?CxE$dyOfR<(jaP4E2-h=?GK5-&P)i84
zM5$S!6pAF1ZkLg2ZcvZ{DopH$nK8s_Rn+S`u4hw+;YuX-x*o-))Oy2e07GHZ2p05T
zENG=1l!hS5bulvV819gR3@m6g3tB7(eTkRkT8U2JG2AQ%eSnwOl@F+T!?kkIP8M`E
z3%WuMYGOfCSkT23<ldSF8xR<0$)*g=Un1$IK@3XcGgMuo%=SmI)CR%7gkLdLNSzA{
zgliDOIpe`U69+X%&<<<@qb48};8_Hoj23ty^Cu0Jg9lNt-3a{C;9{$ZWitMADMmJh
zNcaQ0($p?Lo7q3)?z}FrF&s9Ev@p2>e+dT+B%|^$Po8=U(8-Z^Ad+>veeCH+rcOj|
z+=*@iePUn09hk4etlGE`7!iCi=m?BKFbeVXXnJARFx-JqD4j8MVJYA-#L2$PWgjQ|
zo|1jXC=D7LRQ&?-u<W~D_I)P%R>{7A?0Zi3eJJ}5%D#7Hp8;x%f#rSKH(2)Vmwkfl
z+bjESlzls8->YPz)MNNPe1VtXrY3E|=y@@;T<0T@^jiB;KS(E1NzbHYxP26{zkzr_
z><>aMe$wDD<UgVyZ)K1!6*4gF>{BbMe>hC3C@vfjt|&in$`!S5;3*Zg6OkJa%M~RK
zLn&TRVOB9Mgcuf8-SA95pCdi(I;c@n?Z%=+qy9J&W1jSu)!T0I9ui^2vcKyk!K8(D
zD(EYEEie~Tphf!1A{`g}pQQ=@&tWCyQ^y7T#)Et{6w216QweJif-BH<@9#)-9f+?t
zTD?0h^-!H{^|lCJSm${yun8MXt9PqF>UUp*&67?2$iF)h)EUs91*SqN9gNtet_D%q
zRbXV<?LS~}|7&o<E;686=|7-L@WUY7YyS2`4Bh?x2L|bq?glUxC{Som`a^3EkXi<L
z!IBwPJWPDR$`dNgMGlXV81XRUO~(QUx(_jBCbY6;9%}fl5g0OT>6jI;bU{bY(4vH)
zWON%5Ljl&L3Z5{E;xGyZ4R!#_gV9(RYIJ8MJ?%?k?ZLpz&H3jbh3Fgg*-&bBdj+Y>
z?EO-Z-iAf7F&Nu1#P0xK{*Kr{VFE4x-=d5><zxoV@EU><dl6bg;8Mg&+x!76gh?I0
z9cK9)1EFuwQ3wbNAb=^544_~RH1!h_Uuu#Pd=x7gp(zlBxmw1&lk$BBvB4zNNlOmD
z{;{<82Wio8q)xn~ZLr?JbN+)Vx*fV!%6$;o*&I%f3oz$6QY_H3=}Y}@prPy^AWXbP
z>L2V24bT09dXx}`&1XTmCe-RjYfsLE@%o<m)iIp$>t*bv7{A_<Sr*H$I@)dxWu?lY
zUZU{pcL)YKM<~{S*wgYWMIpEyy&#HT?;#<T<5dI;P1i(W&XqAgMwp+ZM2uf~{Q8G_
z;FsY4Fh$U9kK))bh-2qRacql{(`>?(;5jE4Uy6se9@}Pct2?XIzOL+Jsab8#prT&-
zUqci&?KgXm#qx;uv4N10O7aI*5(jHj%Mc76?WNcQh?TaSrcHGMf|&6lfTDQRqy#_C
zFh8v!?#q}5BL<jBuX5l%N<=)`7R4hswJF+!^5{yAbW!HhW*sw8V@5ARt6=>(17;zc
zh37+7D3Emr;~lwpY8)AY`?wBPlzge@Q#Ftpx!@$r1T3?wvXH=!h=-7O@MEmH><z~p
z7ohbuBXAQ1w!t2QU9+^WceA$H;!8;m>a5;9f)|FyXyXujPGAOq=l+5UV~EQDe_?I{
zBPqZBnCMHqyTGTvTJVnJtk83cb-Lj1NM?g(oIF?xKJ(FrW6m7G)s^VD0wcytKxCQF
zRy7cmkiKYQX&Ki1i24(vur|zu@^T9{dnQC#z1suFv1+n-+brbUZ1zG|KQl$`z~0)u
z)jYc+0W%uTPB30&SfxD{@7sd^P@3S&p?t>*u49Rgk(LRDJRq-vb)=++G0`LMF;p$2
zr-omjGy-unI>K~tP$zg>EndIi-AAnGcp4L_GPlqfi<t@!KAZ#+FaT_b@F3+ocrc3b
z;1?)p6H<c*)nh<TAGoQ|ti)8@M7g*ah%4nHV*)mz*nvefr?awCv7zAjlWZ&4;(c3X
zz0B&%ST>oK38{rZU3E6{cpOtEihQMsRo>>nQ3EUXIK-pao0Vd34;MSTBZPH_%+v44
z<8z>9c?fbIZx2@T_%+KTwGF{?9&N<hy=+oKzz)nN$U31lYBI?KY<NmiCKD(&#AFoP
z9!UqbARWcT@dB+00)0X3^5$j3nlOq%FE*w{i?kasXh(t1unco=2|4u3n`=J6A89QH
z53wQ$AKp+o<*`>CPXy@;jIu%#)}MOs+kv}qOoXHbLemNaQ17Na>%PF-z|C*`e6S3N
zFetq@A$&8!mBjl3f}A)x3<QAdX>BMEZ0PnVA$4@30c-Da(wmP3_)O@6L=|Udy(35+
zh?;JdIx(gRO)fKMpym)jJ6Yb$*Dpt*g{C@$(x}gh{bt}QB0*}Ap-Cm798OIsFqDy}
zqWL33Q<EcuD#;tarV<cN9F{3zYY<j@(uLfd2`9I>j_de)Do{4CgHEcZ2aTvnJ4Mr(
zk)4WHMB{cb6;HTXJ|Lwsnj)KwXuBZLX$bqDx1$OLX5>roEzv{aIA3Q+6{E+^LyS#2
zY8%momP}w|<<8e+L^l>kz<!Ql5ru)0g*NFe+X(3XKVXA-a{yrjy)eIa%Rfy(Fyf$X
zL=f<TbcA3l1#jITFGgY54|=m+XOrH@_15t#5g^oS@<TZCg*M?&a=djT9wQ)WSAA|j
zZ{0bM!c(6+fC^gatxNko^QH)1{aN)|X7#T_<NU%V?FK%<t10k#JlOaP^&B%52aJcr
z&=ydndm0qiZZpu!{TVEEL-RJ;1qN_$?dwN1*uLF^f!$mCE_2@ow^Z8&x5rS<+$WfO
zK69@=M&Yv<{LBkz>o*f_bN#3S7L@qkgf0i}j*p3-IL`&+z}HL9Mi{Ix=<(v0ce3g;
zF#Y;ILkmFIp6p}nf5LX@pGBxm+9i6<FJ-Q6Fk>o`p&*!sP5Lc@#1U^o)jjqW*PbtU
za}sURdqTbNrQp?qrwGu%r^g#!Ar3rCRv82B&Yg_sn@1r1uza$`^s={B-Y3@pvA0&<
zAd@)*=>fJgPMu5cT6s%+19PuL89at*3|`&@+n8J4{a(r3^0qe%?qCwe$B)r8q|~$F
zoygGgbx$!y?6LWT^HH1v7#~E51g{yTd96MVh2iQ!yIE78hoYFZ^?7k#{e=2>SkB4E
zLe%*sY-Z%Uo0W2)#<!~Fcotcy<#?R3t!3pfJj&d1Iex|5ayh&VUM@!+bIave%G`1}
z7Qu}kBG4<eMby2L@BU2VJWO4%2E8xVEXhu0mWLf!V|byHB%FPu!(!M`fTpSYDE2)8
z>rH+=eNwP`_rofbFGsVleYv3%BfKLHlT3=!wA}D7#dkc#F~CASGL<_QWJtRM51}y&
zzT9J1X!&~|(xCmjjwkSSUfFdPUuThBuq8f0b|v$5nX;>&bG)?<U4IC?w35LhBJ_y+
zL!GY8e@uIFv+Gz~HP5f#f~glPs?8mL=cxRtYtKP-PDVEUoo5TKqjCH__aj1C2|Z7d
z7bB8)j-epncch$(x2ge%o(3$HU@wNoj!%I@XdFP8ChT|4_2M9(NSlSy`Gk`V-#F5J
zLa5=W)8IN9@2tiW3$_|kA5$>gPZ*vg3`CFnk8mk;V+sVbQbg3-edw-8H(jgka52#1
zaaDG3?(2pV&OyXA$3P_!fNxNMMMH2V;!>PZaaXEw+Ta9~5&TKb1tA@opf!RaO@-10
zv3Fuj1YWHgs%Kl1h^YYCrbDLO7BIAWlRiBkyzsWVkN4&88>vN!>Sz{rA2;y#T@MFe
zHx^H6-|~0(y3bG^455788rk8PL56IyV917FZq?yi(W}mWmI<4y`&fL_&hKbP2xy)R
znyHFtWq8duU|_2ZnT$GfCI}mmJ=Z~6$p9O~$Q0a*@JZnCpz6y7=n$ux+FlL76ath0
zh`3}5NTq;Z$^mIs7=d<gKD*-<8PhVtR1ZvFF-)JvVCqK+g(yr|V}P$QnEH2^;0J=|
z8G?0T1pGbmQ7N&(;X00hZGci}Na*+%{7Bg!VHzS7or>$&gFqCq7=(3vf`%mRb03Ox
zEN1+yC60rYmoQdh?5E^cBDt<Q8N5uQ=4H{fb&ygR;II&mX>ulMSn$%xH8$S>`uYot
z&pxmtM}`}Ta~Wd$ek`dwM$7R1fK^*<l#3I50@yA9REJ)U9mZloGWC#-3uH9kC}<ua
zG=1f;Jvgxm9&#T~=I^_dwUQLpO5BGqDEtj+S+U%*!!e)Ac0McH1*~j*-4?u&_aVyr
zeY6Uc7mNF&snsLdP_YKlXf%6-&~}*i2ESdrZ!yBi@7{hw2yO1TS;o*n81mo-hQ7d{
z=kHk{$J|UY_b}Z2^3T9=#2R?_i{xV6HK`I!6J0gM*wLRM;Fn)Wqa12&DK$W?V<dm?
zxriaOOH*0$<$cM&F^Sj{!b8}IBO<QjFmvK~g6rsDPHfLnFg!pO*r_M)Zah%ti-@j6
zC*&5;-|<Ug&UN${2M#%KzCb<w00F%UAf#7&N-`nw%19oe_{ZgVs!~n3O3RVDkYewP
z#HLbgJW>XyBGy2$WpXUS4HSME!e2t2sy+2_EW!o%vB68v2d`)htVAL#Wby5D2W{k}
z&4GIe1P32j5R%P5dCeU@ucO_S*RYy8Kg~OsV~<+ANiO&W?|xD0ut@K_PbTp9T?u}Y
zqmG#6K8e{SiG{@R_kO?}@qFF$EXwGpa-ZzunCL#)mtRh%6XaS<T@T8{MXjlrJX&BA
z3$Jai;~LB+tvKQDkN$vj8f#m}SCJHTJ*DUqn<A&J!;cg=jw156eEkK>P07YKZ!>ZN
zS0(^czE9suttc5LQMJxIj6%AOdy$m9RchV;`MYs_2KGmAp%m2PCm|j6h~;zPa2+4S
zyJ=8HcKZa}cIcq)gmZ&LzV2V(5r6L<JmK%p-}@)oHNY_je$3CmlKm<Ca#{@4VKh&c
z5m9S<2SaJ#dF%)}jw8}_Jhl2-g}K**sBX+9KDn;wA99SshjizSgz6QfVl+i{SL*zc
z?i#!e@sw3PhH*MtwIH|PTqT#Ukbe)k5Lf#LC&2~^67ELAj_as@vd){j>08qHaxs-V
z^{5K`9gAO@fgLJP3_=pLVeA%PBZFWW*u9#l#lMP-wgsMt(K1?O*_G2g>~|b&zk}U5
z_LR%_I$>MRzop~e_h>U6S$A#OxfymiU=n<%cQe0X&u8chQj!3^VQ&iaOxNM+!&&f2
ztvIv47!I410~^%Mjw@}_)s?UsUW&maU)qCHnfY+pCJu1M*(Tm##8D7gb>EyuCea53
z|1J8M@o88!^&}mnvV)e$UN^emnP3O{HE{pO*nu8{LY|===ztZlumm0$g||Q0$8}H>
zG5w_4klKTaJN@MmZ;U0SH{NA8Gv3E5f=IFZ<mmy=>1{|!GNy;{>cNK8q|@O#tqrM(
zGCoT*J}|oX_dmmd+3p3L{m}`zD_&S`syU}7rTazE?pI5{OJ93;J<)xI!b0n`>9ehQ
z`LnIlrd>15lmTT|4rjG#l4)2~ME~fJQvilDhA@p&OtBOcLd`FkU@EMbx2VJc?WH40
znP}$NqS*JiB3d@!!eLm081y+h<}HNUROo~pZDLyVNbxANV5z!CSpwxTf5I#%`nm<0
zE30QgMOH~Uyt6JFlQ}<g?Cg^Hi^k5fJFCh|mK82?*cUCBWvMBdm0Rh|t*(+aOvZRd
z&jU_XBUrUe_7dmfxlr*r%t=~L^8{O=H9B*+zhC~gvbj}rs+P@y9<6x=C5!WylsRVQ
zE-b5@Mar`(mdvuxE0YOhv`|)k`%cT9E!W8q)39o&fpwao1-05lk@%_fLer~BAr@>N
zTO?~~#dPFwlq{}vm>d<RIkHksu(bp#xuD-Ml17D&;HxTGP*x2!Z>DOf8HL_169Ui#
zfLlg=T~!5?spdkL=aQ0gQk=+?+LG>4rq~wRUlCGGS|o2Pb1a17x1!kvxfV;VT-%X+
z@}QYEr+m@3B+9>r(x~Oksi-0Sjosk;asu+Ig38h*YB5n@w4y5~p*hv$E>yGa5pMB3
zf-4Y;X6F~E1ol-kRN8O;d^F+FrZApxe185lv+cS0Rud@8UjjX%OXihCfrjCT0|YyB
zx}_)3Q{V{a?5WdpdIAPNBJeUpSO+6!l8Q@cpqpEc2HYbZVR%-WFdlRZlLMSpnnF0d
zU~GZ4fQW#yJf(C~l}^zkKXOIk+n~dE0hg2eZIINuqsnQ|o$+nZVZ1ZX5N^u!{4>Hw
zB`;G-4&H?GL0y_yy<4CW@$~FD75?<FG36!vxvciTmGLq7mA3V531Z+ac}3qsdMy8E
z%>C9T5XPHlpDaWOP{+@3QwhTn8<-~6m~Iu}ucE4W*nFi!V<aI>+EK|&bCy6Eax_&@
zsKWU$dSakrnr{Ry(sy!{z7v}>w8Sd(lET=0jG{H@UuQzlz|?_fWA!TkumGc<A|?`f
zYqUBRj<?<r7te*?3_QePJFO?{30gh=;~fQ05ZX8`{!=(Z6TvGdkNCrQwa5nWTztG<
z#>XI4GJD^>9O&ghF9&)#(93~d4*c)o06uc1%2KGgTs2q43EVvVD}lS35sB|SI5dpN
zqTaywyRY_~Bi5%c(mjwfYiq^Xf9=aXI-cvYL7Y+B-FVv>2&Q(o=ca>Xs($>BlS^&<
zA7t;h$)m2ur7AKnK)=6Z{Z)+bK<du~2mPJ$8y|tAZzE^&qmLZl_vae>^T?w<f-+M%
zsqE3^CHhQJ@~CxGxQhX&yeVG&nWN-U=_A|fOOaN2t1$EiTv#5JgzuU!N0{>N4)=4*
zJ;JswtXVHj$00NB8(e<_ld`Ps0vVEFCwPIw>%q)!YWvyM1KDlduSEXo03H|MkedOD
z5RvrE!G+;6oL4Wy9jIGPHqV?4o2M+(=D9W7=2>PIJ=Y@D_4cp$yKgPRW7)#5Ed1R<
z4Lv>e$c!8hJghh#X;2)0q#i<1e`!@5&+S(n@*UtY&7lu*Fdp^$zH*$B;a|8*hf-do
zmh${*qVxbUKrZ9(&7!AG^amh3igMo|O1RjH!b&Ktgu+TFtc1c!D6E9SO3Tdr)7PS)
z6;#j)R?rGo&<eGn6>32%)Ph#11+7pETA>!SLb>eR7MdecF@F}hQyM}=R=IGvL|@WH
zqY>aS488>4ir)SPNB)p`!j;E;bhqL&e5Z$h87$UL`UY^^o$&x=@)7RsAtde?g;Z<s
z=~a}@e~%C?e`lE?@Y@UF!q**qb;+crh7T>~LP+h>?J)?m+I;N#`h47e7a<JmNvZ}G
zAbXcurYCg<e7Ml$F-(U;z0gD{e5un2P->;y>yqJ8cnFo9-F|uoi6g*vx=wEv@g>NN
z50%X<4Jr^}fn7r=7sE9~EdkjiM6<hazzY})()j}hfTR<MluHt~2XL!DV5DNXCw&CB
zEMvO`F5GE*9WO>ha46BxhUh>5uuR65?yLva!*}}6B;90ehk>1tU>%KD;MYW~lzIqA
z!ZNmR!1MiNY%fRlW^X5}mslCwE`GzC5gFUxqWUSIn~bdk!H}`N6EAb!5y;rODZmg|
zffuXZn{WL7vbEQY0AGH7+1dcc@6*fHZl~D)tZeOdl;wBG)@BjR_mQpDQiAUxTe}w@
zGJdRV?MlM&LuG5PrNrM)w)O%_@}07^T^WG-Ub3|<l;S&OYgZH0&n{a#fpUq+*4~b4
zl?+ZiqhxD;iJMhFR<`y-TwQ81(>PWB9kR6zSQq?g+1e+=*?og6wr3<;n@Rcp46?N~
z;4tK3&p~54jco0F8RBca2%-ns+B_NJ4F#eH+1iU_h`%WiXD(Y?ixfS|)@}wrY(G%8
zb|gc3s%-6p!1;q^Yu`j-(O1`_Z0(h?#GWc!`zQcZ+1e9WlVLW$j|ItBhY!g?4g{&P
zwfp6uIV?!NfcvT(G?fLdL}T_CHp)R087}!c?o)D51`CpJ<uch4$&ku|<jcAD64bZL
z);^5|2AkzCMVA4=>mv&e+)*dlS_vVi%GR>=wq&RvaFVUP84lbenay5?A_``*wNDIF
z@c#pS1o&rC%ugU&yB_G8K$t7wN>e&tM7GwCNL99W63P`QQencfwfBN9Rkl_Ow=7$`
zpIl+t+PSh%k*%F2`xM#QnMxe4m0=-emwk$C?bWhRk*&4JK1H_nO4+B#)@I8-MYeW=
z>{DcG$H_iLwsy4aQ)Fv1WS=5idkj21MYi^F1kxJOmwFyuidJN6H(<@wUAFf2Fyt4w
z@TNjO#UNc^F$pVV{9xJIB;+nv)SK*<5!T_6ib_MIDqH&y+<|9Qm@}5GeGhBN|8=sp
zC&0WjmaTmUz(1XA?fKwGSdi%l%htYWio$Y6vb8gi0<yIe(1e(*XpgeB9AbNrtv!de
zyVNR*{Z`r9`vF0BguBVsUath7DqFh=9UomFjWGXs*;+x#=ckaZ9fs8d_|+E#GJf?a
zTib>kn?1<ZcF>hjUuq80e!FZf-QOmDb(5_ft^}VdTf0ieOnRJt64_c_$>|5n)}F+=
z5RyU%F)lDRohn<q4pBYG*1m#Z@QCh<f4gk$6@VZfb(5{7d&d;~xRExg(XzFRWXxMB
z-}?~z^U2nh5%E3A*0v+>Q)Fus0R6pXYkyDEzRxfhr_;Dw`Xgj(&jAKiwwCVO6Ymt+
zTB^gJO}6$=K+a@qU#A6zFZE8U7Dcx9KE&Yy?)Q+by#XnHxNL1IQmeAHR*>^E$<{uD
zI%9IL2iVM>>ctfWR9;xN_I|{p*gs0Pc8Z$EopK%*sd*@}wIjoMe79_^7bwD0(hruc
z-HG%3UfJ6JOJ!@{#LU^VZ0#n*gk@_93|GZtWNWuk*#Bd)weMqERAp=T!L7>HwlcRY
zTieXsvTSW5gO_D%pNAW=wWM#zTPw@f{vK{sw)P{8e>7uOBMh>&v;qjr*1m-}oa~;9
zFt+C#(l5LjlMH%<%Cfb8A}}dNwl;*h<!6zteI1BZnbcR|R%L5nCbuG6OENQ3t-Ke0
zn!(GPV3MZt*2=rzN10pR_R=DT$=2q>A*EL1`LoN`CbInHjlPDmRb*?AfR}1HNM=SY
z$G_nA*2?9e*<3BhUgnm|u?=p_&A+49&o5hRLpBlF+8o6fk*&31{QV!1t^EqE^t7_I
zCn@p_WowTC_Q%QA1{4fuBwKqBpYtKBb7r!&>lNUhWNRN)<07)Pt3XIM*;<DR6(d`F
zvl{x{vbFgD{W)c89|X;+#NKzw)?N<SpGLO!l_X&L-zZzV4ut(!+1mRFN0e;sZwAoF
zPBLe)vb8md@`C)^WovH%)VIpk<|8{=*GJ3No{vO7fo$z%RFWShTYH$O?@_k)uN3pG
zvb8Uwxsm+de^$1(is<?-+1gRWm~WA-{g{xPR<`yJ6nk3P+G{Dc2ie*_2v>XRDYCUM
zBJ%so)}FxZ5iMK$F8n{WY^@fo>L!@^9kR7;D9b4+evoYKy}%Tahy8J~wG(1+{YPbM
ze}PLuJ<HZUj+kz&`f;+gulJ$ZxSMS4RXyiIeKRaudtP6(+9=uDgl|c68rfQsD*ExV
zwHLlavbCEbPa7>?OR}{#Dd{CtV%A<LtssT$Bk|?q?+CE@%*FyKxnSbkRZ01h*_iK3
z)Y>M#RmC&SJ<X>4iF>L(0D@;VkjsTmF(jk&P`VFdZi>UgK4gb>BdAfv@_l);$cx))
zx5U(@Dey@J$R=<HBmzjT7jEb$<bmchl$Zd;P%%V>4Z9;=x|9<o3;YIRBC^1LfRD)n
zzYIrrS>P`<G#!vEa3@@6Bnx~S<@>YB0{;$`a;CDt&jFTXfgi#9r;r5}C~rgHYP^1=
zEb!NFGfW&X{Uox$Yh`@T;uXe+=0v}rS}wKwJ=0z})v(ZNube8{n<}2!E2p|->74Si
z`Kp|CubgT`_%KG$kBw4M@}#|Tsxj;d%Rz?aT2C)CNvw>4@0C*}Nl;n7zE@7QS58$K
zYkFV39O&ghF9&)#@c%vsaQpGJa+!r(0si%DC-nM<UGs)_ZV~=4?z7<U*WUN|Rj?C!
z?ynR(p@t{kyK2eWylb8sKHzZSd6SH1XeV^d13yk4^V$D_>XPL!4KX>Zc0pa&LWXdX
z95qsh+q&8am<dk$>;7B)Km-nFUuX3DK603=@8`G^z*<@V^T=T?LYb+YRQBldQb9~n
za+u7<=X3;KhCg~o{mfBvm^I)V=LIh19R<b#E-Z&>B>wu4hw?rJuBrsuQRK1{4>+9J
zv3C?8;rlLm&7VSkFG}2T=Z~>_NoS-1Y9xVaD2;p&8mmv=#EeTyHxxr4@9O1%@g+To
zih)4hNajnOL@$qFAbXuZ7_Y!T!9iSnzZh=LIS>~nhQP%xOsux!2=+lU@(T3V<6)ev
z$iqDdN8n3b`8s2HxHn{Zxc5oQ(3f-xXbOBr`Qm=`tUv=Wk@?8ZJY1eW2~{tpL;a;a
zn2&TJbr0qv$<`M{+vegWn~z*b0fxY>cm*nfdm~B!VZx+`sXTV@C~TF$V|cxeO3%a_
zp(j<f$u$F#j$x}tzVh?~V(ll5;Ey%yBj9Pj2Is$?lDh*VPy`%)?|0+nv);y-HU*KQ
zuP99jJwTijrGne6z@QO5()Gl#>?ecxaO1QK-V-+8-xlHWgw6NDKXB{EnthQ2iq8)h
zNdFdGSEO@}eim;FGs3YWZ~?w_3fliJ(0y!nolLFz0CWi2Zwhq(o$ub3%9NQx`TmZ;
z2l14lG>7Fg+}THz@{NIWad(X(AI+h+VT4R<1ta#z)X0?>YX$BT7W79(ji_vZwuX{z
zzJdjTTA;ILLD8)Bzu4t?T(=obg_H~*+(XnGRvYNL6NgcN8DtTB%Z!4wOL{YOe<g9i
zXZ-^ur+f7P-UsAJx&}$5Hvz_y$dJfwZQuoV1JC-5n#6aT5w}8~0-;b14;&`oxDFo&
zfTI{VfI&_yc=27Lqym2nz*>A0wq&nK`w(9`p?X;Rn(Js{RWNt~l^=;v(2p?Du|gG8
zKyDy(zl)0ObH9pfK}{$K=gQVXTP+ltTE5ALn)eZ}IX|VwMHo728HPh)3=5(#JoqJQ
z7e(G6PTcI^g+?0cL|?&%fbImHzW)==rwkMX>W))SFw8g$(Vp{X5>Xz*b$G%2mq<Rz
zP^;u)BTAcr<Zgw`+O5<U!<MLSzVRk}g8^&On6CMV&Qp18kPMkX1PnHh)+X7Z-*m5I
zm`y6GglKdDGzL#R$JsYu5{%+_!RQ#o3@7;03MOu@`dDlP`{?JQE@Rv>MOJgVB^lIs
z`UVdv-)xS$KrTA+xnS$3<n|?f2ATtRvd=Pxw<(Byw2}3Miqczw&4>~jNvjhH!5)h?
zG@A@Vvu&!OSy+(~L0E#b9gbvi{1l@T_5rq<ZdC1*bl0u=R1Vt7`|2R#4-TYpr1oE-
z&{Z72A;52V<5Q`t_TR{z)17=7qYgq5v^#8yHVKwrzVmyEC~XxzMG&B02m$&^6U>JQ
zOfEWK!hP*S`051-<fEv-=DQg)_DrGiG++86O0?PReZ$67*h;N7>5lY;ExJ%kTu5Ml
z@gc}C*XyoGxos5gD5Dj=A{t0PKYfoBb=$rA@%3@ux;NiJQx%x&UFM3XN-~EHIFZR7
zW{&_ibES9lJvSQjJ=MuXCv@x@-eaT<g6MorhS>PzU*(@<`@krEeL&KGAo>sK(Sn^z
zP)VUsfp1D6-;*2Ii0@gP<N%OlICvK*@_&}-yZURJFHaM)XGoS0j1bHp4iW7SlF1+^
zKHZtbiQ659KpY7UNrq=A4f+7`Ne<aFYmtC#ij%yy34Qy6WXhRRGb2s-;A(cKZ|5iw
z&TW?MFf5P!Wp9gRyD`e$=PD(fkW~WN_T&&DBbLZkUv|p+Zp}8y-$Z!$vCIN=0?dQ$
zZ_qgVLt5UwT_Zwkw*Qcc&kPPF$?~FnsZ{`}Bz9iZhzTVm4&6`vDl_l|eCP<U5JYCC
z!B-I_eC<x^!LW-;V(Z1!6-MM!?JHFe+cp)hNxK2WIZKJsV%YO=H3e}!fOE`1dY_Vh
zAse1Q5F^7gOsfPYQvOJ_5IyY@awC&WHjL5WN`nMbo6IETlUoc6fJ_4dna#dPn^o=I
zi0)z&h&7v#Zz@1R>|Mw(ideq>EfB_X9Q%$aWsA}?G>6%I8*atCCAjW71{(wo4CFqF
zz-639vzgO*cQEPxaF|66b8QN+q87R~O#}wcd9``$5wmv}&CuMw4~4pcj!Q&|r4t(O
z&*A#Run<EAn?CSiLUgxkU@uDAO*27YN;bOi$rj9saaBz=2z?b31xju+K&KL-&@_WP
zxg|f;;ySM7@41Sxl9{(EXXdRG%Q@k`UCH{22~0{OCZS6kI&Wu8x*n^aC??fhPYg1%
zij+$yx|-zDT_sA-5nph_mnQnL@3^kw9HuBP%`~bWD%TDR=G>XdC%3@335cxP6SY!7
zXC_tGXv49le6lf#G+;Kij)i1iEzSHGUm+a(7{Y`XiLI9U7t^u$rz<X>o5y~dlf7;P
z5yRJ!c?R>?5N;d1AxN(a()N8H=F~kjf~uCU8;{7VeTj>akfR|eU-z2LH%PR4SDg1d
z09YriIPWibJNxDP560!T=yjovkQQ0u{)Sb%6WvwtrCf~;7ME9V(`v!I1R@BjDHVcr
z2<pP5ZmCbltYr8U&a0*A+Dy^&Q2N7^XWgd`Xl?&SzjP>`27Y-1uv_Zaq`MF)tTz-$
z#{uF@7JPRd59YMgv2cCxV`0K4&Nu{~2#!KJt<xZQPX;f9Q^$h!!GVO7xsAcTgc`cY
zeRm}azP#i7`cBdRFN5offndOJ<X5ohV^Uqe&8BM?TrUp#0IM_|Uk3v}C`sMm2T&55
zuP&W-7xk8b{hQ=vli}56Aiw^OfvFpx1!TyMrXiP!j9U^gMyG*kSVft!-W8=4a@fRO
zj)6iWrN9Uoc;hST>9NVIV_$V=!*q)iFj=o!eAjAh3c?&IMdLoC<?BWfX(RUXb>9$|
z$gy5^tdbp$y8-C91#ym>$Td!wxR+mk6p^kM7Nf}Vj<fUXr)%{5dN+AXb37JJTn7yU
zIV~2Ap6l2Jr}sg!cH!MDT)bJBuz6|U97@5A!?3g+e<c`qIbecuUiTurbLx?}<5w!0
zxQ_eaWWZz>suGRu3a!Hc;gz7TG|w|#6BjJ=x@RLHg8Ly4vcm2zCWM1?TrZB80~hB=
z$k_(0Je<LaFd$hsVjkrLg7v`>UiSickkXk*IkduaMZBEDdn_4MR#2bkNzquf+vyG=
z%`xE`@*mK<uh1m(%OAlguU3TIpRC%$)L16SO^(0E2@M(+uiVGbl80jHBWOQC%Ys>)
z)mZddwI|drDBz|Pe@`_6gZ-(euq^!t;&WQ`8V&<>c4SR=Q?%U%=;(ndG}@7np)xy6
zHei8ak&cXgM<&U;109%#&xfv*d+#{31E~3M&aHdLd9yO0X6?;-RcPElgiFHUEHse=
zGe)V9uoZKSw3|$bn*uYksQoDeH^JM@3OqRg?`}WIz!~(8v1m4%mSV-rId6m>|0%wd
zrJ`=P>&0uAqi^UPlQG_ehjV1u56d2m_Q=2KDAs<Ah<@1YS-h_h9T@DxgzN-rnT@Gc
zFNSgGhiM0R_bDhsXf;9;1(hZM1yt3@g&<>eJ|qvPO3aO<5}L>dXm|T=0J>YTmXRlu
zlVd2ycU{L(Z%?AuiGQ<%CTxf}5-bhijq+#h4crMp%(FHO>(kR~;IhDlTS`;}K$-(C
zBS+k<fk)(qU?qI;3OxED8QF(JOlDwDCXF4Ke)6RoP5IKI%zUXjJ6}2|+$_vu<2+lt
z#}4&ow)?E5!CUnG<t1#oM2|9{_#UCbh)mjLVh1UD9%ExD8i~#K+^v`sgiZIlXzyv_
z>+;bPEZJ*mrh*aG?6ovgITK{o2fU;WMy-CKF*C<7KxVekL~fKHW?A(iK%*oBRL*Th
zVZ8TU21MS3Bm3)Dq)Xt{xqC4v;~<CAyEbPD^;2PtY+$LdEf0EOeL1_X(A;*GoaD&<
zb6-8O#|5Lg^;7k(Lt|aXG`FRKE<)#w7u-_~@j-*&E;V!s-gm>aVba<H$^@9Z7iwEM
z6PH~7Sh@$fp>1IUvCTOQRjd@M%!t0Pah^q^B~64%@Y@I`>w3njzX%&Nmh8umVlT$m
zwF1I*C#T`>!Tx}Ay_AoQ8q6v^2T!;`r6qIy1n-+NYi!agn&XAWbHbr89vZsV7>+nM
z9AS~#DaIlNEE5hcy~#S^<J*c}SZ(6^VJnLHd8=iJEj<JD1<tty`%u~+l}_|KFI6&z
z`I&I8%wXlVQg>^zTpYRk{szf}lUspz=~Hw@aB`a%dIh6SDu2&;SnzbO?z2&G!X{eO
z1Bn#|b)haQ3(XWxg-PGAek8Xtxe?I@1IuBhg^?MIEpejzl~lDYVm+p|zkGK~AJ!(Z
zK*P94x`%{KBTZa?bph!;{L)C1p}*Bvp|xh09^>o&3{p_d-W`zzAz$Z?u-+oQqIUmA
z)}mo8#Jh!+T_O0P(cyYRDPn-F((Z1+3!;I;n61)lr54Y8*wYC&p(_DMZ3RO^G5Clw
zVjU@$Dwi!JA4_);mDmhK4dL>7P1$k%?N;jX7-N++x-Y5!q}X-jI9f-VL@CYn!Yye0
z8plvka;wW~GzIRt&qMZNcFuz~+2UqE$dXL_MA@`tCs*>0G}F~Y-3TlVz@Q}-hK{~W
zYgk7M4FcZhKEufUGNuZ+n?8kGlssj$g2WxpzGND+xWk1=ulp0k!ERk&TxqrqnVw#Z
zMbv~Ae)(O%!uE$2`DmtC@a|@7ZkWStL_%&~J64tAyf(~rEh7I+8`ga5DuMs&&16wq
z;D6nWy;dSrqA(*&*g`UsjLa70g}{v?Ga{$<0N2S(%WQMEUnMjp=W_jET-*B!xK)hv
zv0=@?mC#C;w23#DkEC)SN@z*}B-DVR9$x_*%~%95kO45p3Y$y-VXYnW(r%0$tc|=f
z4C4p}IoQA5!REPxBfuh@2IVi>mWubs`MRy%6=}2_G+(^SJYm;uW3%?6`?jDHL$_9v
z)UvN#w=1DdnAlqN70wh*LQ@*@0YXqhB#<p{;>pHlR4c!sRcPurl<QYIVi)3pp_I3@
z@*7Zu(xID6-3P8JO=v~hMh=w$XQ^7!zW|Ht1y;fQ@*QBe>xIiv+dAG&BUirfzM-gE
z;pG)M+Wze5KyFM{sU=^x)9f904oZwpgF-i$9ck|NO;!o{w@`uQq6a>?m{=)u>g9)k
z25FH(=9JXBk@oJW91J4Z<e$fH>`VfRgw67?rONKL(MamMAwkZmNJFrZ!%otb^fE_v
zC+BUUT$TE9x9Dq6W+1NW!?Ddl?X%cf%))jUV^Ssc1lIXxkp)z?k6VZ{no69})Zk>S
z(!>sF%-GO%;vR1Rd%8}WgoTvhoFz2=9c4T2JI7<yFC7hU*ZKMYcuDOkn_Bi5>cOy@
zjFyoJ6+h`&bRvmXyNf(y$zuw<|0&vzD-?1LG-uzDp6TSpMl4k5=j!+^JrS6SJJ5|d
ztfil;V>zC%96bh|22+7|I_0pNj&^`ksL#{jjTtl#Wxbb%16n>QQ-h;P2@@Ls6iEsI
zLLxNM%!1~X&X@W-^sWO}3H6gP4fDVrLDd}4A8AY1)LZEuH27$zvlm>Nz9YSuPN){j
zV;UA$;WMwO0S1FvWP7})oH+Fs<Kv~+nMW~k7fQ%FC0akR4(GoB4%sWQ{}g>s(~<^r
zE@t0f1JFA52s+un6%w&Q=GVUuk}cA4!T)be_q+9&?$K#c%p70hL7X(XUL5mF3{jjj
z#r5(+8t|M6jmK&7v<z(y8cGFsE6hVN-cdi@fZnv5rB4=4wg|41#;ONjNI)v;prr9|
zS70=nAe^kCcLlo8(adZrrK5KKo@=|G9k6pYEZnHwooZ_h-3iUC19m(^PCZ)fHKJ6j
z4D0-QC=S_$Qo))%)-ipOIh>1O;ozhA+TDFoP{d^I1(3X^0P)P6^Ol6x+M^s6n*2kk
zHTFHDJRRpV4tCsyqXI?;I~0yxM1uD$bDULLFeUhdunirwNnco`kFk2J5&Rz|gGbU<
z4CNpw*~|zkkX8~w6kOYyf-tEI)dC24ErW%FyS+2t|FOxI5O7rT>(`~%f}M2c$(RmE
z|HsL-uTi~W21f}k(rZ{t(#Yq1v(){nR_bJ<T0U66?;@J7?o>cZY2yPRiXmIxXrMJ{
z54$0JvddimqJ}MQF)~}TKF#-yJ9(t;@}(eD%hxr50BnA4L^eut`aXnZV7@}s3&o6@
zEvz6Q$(p_HBsC&O-zE-o54IFRbTjOuX@4T^U~7yBvQeN#EuHjk?T&|mENd@YpwTo!
zB>GZb0}Y(+jlAr2V;@y8W6h~x{`xeS_hIr;ilKMpsd?1yq#RHI5pth?k#NS*5)hPr
zPR)I&-zx3wMyVV4`1OySS|bOOYj;dSg9Fj5Ms~=2f))o;;IBwT%_=ge-bBqC-x(BJ
zU&9X4Mqz&-3GY*639#b9m}t1Q3`p=@ARX?1ETq+s;bsJ}@xeDPJU&PUkpSIWGibfU
z+O48x^lfZl0?)9{Mn`^fJ9pzC3}PJ_J;AzrhRr5enWj;U4s6ocVGTQ*=~=!+{Z@f9
zxVHkE2rrJdlc5^bk-+q-wgxsIKp?2Ww+PAb#sU-}R4h_H=!S-u;IFMgZELye#K;5?
z97CUIGH_-$9UE=s6PF3_zXm+`b5}4FV$DzRU7M_YJ|nB_jDEsf@?Ch}#ezKw?<5)T
zmH4co;x)$LRmzDK-<6{8dL6%h$~SQ5xQ}X_Ceb$~DKHUj*y7a*&uP4csPZYJ0tXO6
z^_qmGzghI<enXxXu@Sw7elD3QS<S&CY8}xg0MoD|Jx%%k@K)BV*$GZCMokl3CgmoJ
z((OinKrhmEn=>I3TIqo8IODv{C<R0*9v{bo^C<$26ki?m{Cb*xF)@RO{}e(gkPd2r
zezv=lMfax~=PrJIZi-me`pEAugSy;z#;t$zp7+no#Rm?oItNJG1C1ZE6MXiK00WCi
z!>1k8GaK=2zB5_s&1v=aWQ?JrZ{Z*D6?ipDNPY0A;O#`y$nNiq&uZ>yM<~BuNaok)
z4{#qC?6H1@to!@h4GFFFGZw&omgt)i??0e}nyiFYahvsP8e{wi5<LZ<<HO$PftyTB
zc4?XWcD=?~4K}B_Oa9Hd$0s|klAQm>%<M}sx+mxz$?gg9&J>npdtV%2L3$6V<1rFY
znox`A(=QeM?Kr$LCOfyAz0TX@Zv^xq7iw^E>R9l(cSZ#*w(9Qy>)48A5Y}<1YqkW#
zH%=o1*d6TSov}bW1D{7<4Umae+Vky4ImOzotMOu^f!tqlJcSSE(esS-3HkxfD?Tld
z+UZ*uY%OBJqgHmuhZ>^y9IST`1a5TFTi8UK0-I-X0KJS~xr(y#-HOTZE1PfB8}ASS
zao}P*320dZKC?c{FAUw51xupVPESDqB?}0lhh8z>hgrf3?~Ed;pWC09)hZ0#orTlA
zf&h{ca0IHTiMCb#Kwr9W;K?&e)^>jYBWn9q@Iha4OER<XeXm8bcA_xCdY#q#n$`OT
z2)ye$n{Rfq4Qmp9!&%k~v-k~Pmij-_@*8$x?8ohe1M#I3TbIULa7N*R+keQwZ=hpF
zTF|Redj;2r@%ip8$OQ)2*UJn5zBfueGeqG?i^g#tX<*hhdu`jaz#>d|wW<%>87lx<
z$N3R}<_;Z$*<NKVb#K=)5ceJFdcC7>sW5bUx}HKx@$t7rz~N1jP}?5*g0@u~14fI-
z+DT=aBD%L3aWK6Af>W%wS@9`}xD9Taedc6^<Bcb1vhi4PG#+Ms=%E%9I4}1-*q3jn
z)#PLH(RTM;F^%!3X)~~X{ZWC`g|GNs=v{b$uGqFSoVA_tHs7WGw?d(ftmV9fFwQfh
zOI#kh>qa!10X7LAC5NpBfGFi1VQqoR(aBoPFluM4-E?^hI?*twMQoMZO%b$4gIlkZ
zdT^-Gl3Xz2znw2hGrEvlA&^<IeM1(RHs2Ivv9DkRqyayeB3b$x2{~#`Q{c-_F8zA{
zxy_afn+ry~=lsw*;T0#3dY`PnLW?b8Gwj_q^BWH()qY6ahs&tYJq<verT%{zF{&Cx
zNrww1GV?*<40EZ+DMFeu%dZgM7&;lQf~Zm`b#P;H{)lg!8|5l+QAbkuM(Q-q=Gh-y
z2iLGVz-H*uN&7<~){6zX4y>qyBX`{_`j(~Gq$8+<K>!e?$%musAU#|RG@vNzBXtlb
z*FiirC%F!+R0q4?L>**(M9nu}Ix$S<V8G~Mx$-ONTL-w8Qfe7L)G-yq-Qid!`pg;O
zoEtZx4O_D-&?~HFLE4Iz&}2q>?7eBMz<Sgw5_M=AGE<j_9QlOUnG3`peGB5dmCn)V
zB6JFxNJC@T@^#;U&}4DqNq)stEG|x8Q{DT@Op%SPnT?_2D6I4rGRW@UMRcehcgYDX
zD3X5n&rrx+a#;Bk=q~Bx<S|zo52jhOi}lW5W*wn6eT&U^Yf8S9M-`RHIz2ke=_<-E
zcb3d14l5jgAOW?twN&uLl`i+o$94HSus+Fz%y9;YVt#$c8i{H!DG5Q_teG6Xz6AB|
zl1w@gPl~O`&|Q{D7f?t6QQ6V87u#<9^2l=|t}7+2djolnI3bTe>H?My)v<W(&dV9>
z;)cvmHdkTH`Jy{B)57D;wLp!@s*8pk#zo9koiD_rmcc-Nr3Vf$5d*`&F=3?>9cMW9
zusMt0U@a;gx`o(S;9H6*;S-JXWyZ8i_rH#eQAZbxzNt8Lf3tM_Ii-BgIfCnMEEd50
z@w3ri_?+1ovS5N3=E|M#^~Ba|O8o~77}YSk#KpGXQqN7Xqs!pP03X#qmC<D>^1yu6
zboxfi)_t@jP#P;BF^Weo_vQ(%8a?jBq36=vBWax1V4fr94gouTGm>#y;O|n~Vf46%
zbphIZG6q{Sl_CwZbv$}kslPo@>9=WtC(|*&H`Abp9Sf~dqG^FF`Kyk_$P&xeyGn5L
zV~*g?P7-Mt_RQ!!Q#xqBMcEQ5UbCJkN!P$4c`3demU;?kq171}%IFC8jVygmL(?hz
znG2fw{SfwGTX`C?62fGy7#d+uEN^<GgFjO`us%?yCmIA#Lq~j=4t)$ASQ98qNV(OR
z$gYHR^!elf>H4Yt1swuoLfHXx)%2krBLen>zC3N8cxkec4IxR?cyM&o?3rxLRi<>;
z?Rp$5?LjBT9E`QijBMd0j&<qXrItR6vuWz@ycbJG-j|mqpELs~GXcxW$wm*4EY!sT
zIw+3Rkd(8G&ow&H<r12M{oJ=3IcK7J;S9|oQ(*T80h7pJ`~;IoFyBz8qJ^e46S2vN
z#kmy4CQ~dsuL{SeuvjC-rcmtHF=^9SY%;~BQLM80S1=D^u_lTgM6n-4(n^IUVZ<KC
zP+>$HE+^ui-SDPn6o`%_&THBv!!@}O68xlzs*uQaw_^2S&6En$yC>yvt|=#FtC698
zw#7tJ<=6xq!a|BlJ0-)}w~1yfASAjnbfAkS0VG$b9tj9KP$q<c7)g|eK4&QiLaDt>
zr9!C6X#APQtiYRu?&}(y8qK&42fl1@M@z!Tk1x=YE*^lEbdlVWCe`i^g=$NUA+#%0
zc?Q3JKaT!<x#@l4`1N^4RQonI&Gqx;W`rAti5f<p(Sx(;U15l8^zNg5_*KinH-`g*
z%PsB>jbj=;Cb&Cvj=|VW^UL=j_J}nDM^oG2@>)&l|4NMOcq|-B9~de0<3vLT3P-T`
z?D$(H^ut7Luv!kPSAq^CYJ$bC5>tEdCPe5R)s(s;u}^S{yQ8mTJmox$Xy{LS`I!Jo
zcGz77rsUvgxQz}Afq$0RFF1&KFD37%iAljEhU_Bp9!l(6Z#D57ml%`4AQKf_DYndh
z8raYT=;xxUu**lsI1>?O&sOiG$^(pipPIf(u^KUF;pT!F>F}Yg#NK_%Ww(Z<F_>!u
ztgCu%YG?B<bz9F(oud0Qa3-I8bkkVgHu^4o{xw=@V#$b&A1(IVedYm?En>h^(2g+~
zpI;wpp=!mN6bA(}%<2>q1sXl$5hyyoxhau|9cnG&H!cn&;n9^;%Ky2Qcke^Eyj8Nx
zxn}KUWs2;USWcMaK!DU53C0ozG|~2h(L_raTGe18VYYDCri4wnjV5G4!RQ8d0;iNX
zf>0NxC^8C5sMRtcCxSuoL=`=iqmfo?r9-Tu^8hK>b8o}K?0x>8R_yKBWGR2T#7YVG
zi6a#o{1|tOalm51!C+cFCQ>?;G2$eI7Dn<-@kPx#`R>!AS9Nq(#)KG2uk~0GYg7QO
z3V@FoJpyP{0NlXr5r9(x!0s3TT>MGTK#u(S73rCHPxSLE9stV%NB7c9(ToG63_1;V
z1p?uK{<uIn*RHB+Z$>yXXtAF?TLPQHfLF>XpAHB7qI-6@vu7b4o>BNJReYNnzGufa
zcT~~|jr+y)Y!HZxOLWhOoGsLbACh;;xClm!3ry=rWdYgFcqF_W2`S6pBb~ebZg-c)
zLBS>jKaWL{ng(9f&n%#I0dN?NX;=dG!Tk{OtHJoH8Nx+FH56A=hS6AvL!cUb;kpBN
zJCNDNKneoxAiCO+mQL4d0=|LN%<JT;<yb0rYnqzB2bHG8nK2bBnTKNqBTn=jz>VsV
z>&oA5RIAH>AUVO04Ds2(FmEa|?R9PxHd@F=A)@bZm7;HYx<d^NXhB*aiLDC2G`{XP
zAewFE0$put1Gt?srp7_JQez3Xp#k^+?fx*H?uHQetr92r1H9mFA8b>YYnA#4{*Dx(
z_5e!2Sv)J)B@$4aNk_T#dDkknA~}uAbnDrddOwOGQ&0*Ds15MTZ(+MUa@pZ(!3i{0
zi>NVovzD!y)Z$2e<hdrH6^%-vphxy%D3&YVgRA>sNV)0{9KdpkJ|CBt;xHA<W1ip8
z?C#R@%by_57^#h2(1EcM&A?8cJ(vgOelnDrD1~v(G@M3rD96T24AcgaUbg}A&wyl2
zdPfA1TH~*96iL}LbSvRuMf)D*5~a3q`WuiQ{1LcdUwrr!PBx=q<7@;Ech_Kk)uQ;Q
zVP~5~FM`_eIHc_!py?ifyIgV-G<Z8}s;Egj^HA>~Po(wfS&v{3+-0|+W&lGq12CJ~
zmWNTZU=M$L3cy4(ln~#kfQd5Y?Ss*x{O!CFe|M*fhQ5l5!$PZA*0P7Xq`S2r^1$#t
z9baI5KpIG(+ezTU!eK7the0hKOu7koqv%Bp%aIwD!x)C^kO<+|+tP2sc(`gzT!cqD
zl>_0ixqHAFFb&<(_&>}zRzht4@E?0Wg|XnH%6P_DWq1Q4l~I=Q@^egtti|(n1JJxN
zkh0)J1f#L#1~%<fd&CWLKYltKkV|O&fkfm=S^7J8ocBXG0G||6aHfZ<!3G34z?=*=
zZQ=rqFZG{St0Tg6U}9b93HE%5wLE3SWE^Fw)loq%6%|4)6}5=@GPy^wT1LI!Ob-j|
z@$;j4JX%O9jRMhOm_3}-UT)T$8e`}QJkFUKJNdBW7B+NQ=o1i8dozu?GqDh4q_bY%
zGu>jik1s`gBxvApEK)lXwN|r^je0bY&^ja2yCPkLyPiIpVSq6!;rRGtOE0r{<w4!s
zCNpIE*J`y5Amn8-LUdPDs<~q=j%_dx6`_jQR7|+AHM}3esDvVMQFEr61-trNx3q^C
zNv}c87UNvKIN|PG_TuZV2PSgr9CPVq;Ons3Vj*#S-8#i-#4c2E_TlS}z}XRp3@AY&
zUzew#NaE`jDb9X;olkM{eBCo}cD#W{cUnbVt0?)&03upOgv0Y8^VIS9nZvh#0(iPv
zeunr>hXHRrb9iF_@Tq4GKMONd$H(B(8PfCmA;ACR%;9I@mQKg=Gly>ke6Z*Yi5dJE
zfJdAm@Gk*OprK~8tfG!eb_G|NOG{a=QrEZW9zKf^bG5qAz2mw-N~_xDm8GgK9B}%j
z>TP)#j!<@2;FWF4a1>dpzJgZS@wcO3&z)U_yN>lhTDh!1^+hJf9v6CQUse`)^12)b
zI(@eOq3}vCjH8EzWDg6xA=rBbMuJdvF>eOxf%C!vw3r`7C1T-UwJ0T07xP~tKpE`+
zjD#}Ody&981gd1S5kuwik6tIP0A|!_w{;?g%Im}it4hw53eo)Xo5JhFT(}}z1{^rZ
zTLv#$LA|l#IIw&hAH#7yFUYCD9YCSf(;;%I3-KPR;P+UQ1^)7iS_LIC6CVx-;A4xr
zH<0H>8cAtAE%lLSNKsPuY*=qA^CUQ9vPiF5AaLhPeaWJ-A`3{_)c9NW^h8(?y=&@W
zeT(}D$doNX7rh?}J*&ZoYTBdXP8QB&^rCwRoXp+dhQnV;TcB&c+GFt>#SrNq1q^u1
z4u#{y5DpMDTg)>GmGg>BNx<pyr0YPX1){Rvw>{Pq*j{H#f}XykVt)2m4<j)SeTT)t
z*Md(R?$$U9&bQfz!S&6dlx;_>*~#nzSQ$Pi4;#l;dE*crywY`NX2?+}(P_YpOnLo}
z7E4D>;m>18pM6uNV+4}&>kCY52Nv?<+G_#)I7P?#4CM|moZR59?z*534tAM=#DnE~
zJFFPe+ZKr?v5}yhRu(AFFwK{^98MLIq(Se;(tmL-Yq}Zy20>4gD^7vfwlJM0)(qUV
zXl|s<V(EAtUE*~scaWv6bp6F$d>A_hJKmq*Ee5uk1FyS`+%_}xWS|-S6Ibn!0+(8F
zrx155qLL&>lCUcQO3J{7K5QNk<z(!R4a6=+qT8bFVAccW*dlCb#`(MdfB`N)R@<2C
zGdR>gR!&$o`w#GJWujaZrXmH3ftDIl7%#p{<9MT-K2AFzZv)CqqVxz|eG^FD#+DAL
z{Z5GZ;!YmB2m4y65Z|1zOo;@XMF(LxnJy=ZKnFw31ozmzrr3Kh(YW~yr$uh>h8(Mu
z*sFf(okK@@GCQQ{PB#r|cHBW!ZxSj*o5OxaGtfFfxLc7kMBPNmID;WICK5klcW7~~
z{NFfmKs&i~RDTZFCclJ969?8@n{7V5Ip5zNm&<P~&&<BS>}}CDTYUOVp}Ac@cCUAH
zfp689`1s!3t|RkST2xrG)pvujz?WDnNax^k)!AmcDh^4k|HIz905(-*|KqoLw1KqV
zf-Tku5~X0Vik13ksYq^{zzrl?1=gylMWD6|Lbpwzy08XQw8@ZNRP@VtS9cNJ6%ZBI
zU1;koX`w9-p@2fg2gPSFs8tjS0{MN;+$2p)-Nohm{r~y@{#<D8+<BatIdf*_%$YN1
zc+)1z(DU0Qxi5Oe5^Aux{2Gf3ss-<zXmB2luXvTB(g7py4Y=(2%Xo|W1X%AMC7j?h
zkN6BLM(E1X5fLv^D@R&PUYABvoeOO@CYrpA-1-*i^bwzq_O#&i!x1{8Z~|o9tdX3@
zbQQJ66C3C#SH<&T0Vf?61)_>cL6&r5!z#xookx$H2^ZIXHR1y^>%>lmiTx;huem>f
z1+1(l=Wm=h3iipK&9$IX(v`2S=Et|}mgqqfjX~Xy&M>?~I)$~$7X<S0@R3|0y#piJ
ze-U|_NR={lD|Q6JNr@_pLi{Kx&b!7}JW0g|Mb0D^QPFbZN~>LGje5|g<e@9=ptkBf
zs;V3h-PP1e=p%5|QK=Sss-(>xIsd}7Ri#>JtA>4h(^VDXNmn(f8sVd&oJ7Pu`$q(S
zpe)(@s&aZ3r=G}A24U?+C=OfMj}p0unmjn@L9LgKDf5Onduq776{Tntlpi661}{If
z5lXFSp(D0UbZUi;*}n2`aYI96WOFLg2hgxMTt#O9tTWz8MRCx`HuZPdlE=B|U07KB
z1Fb4~;!m{P5GOwR0zM+D^tI5cg$_2*N6pGQq}mjCghLg7dBGP#J1T=<p9IZEf4f1}
zV|IAN0G5FSHzaJbdjF=;((7dnd`akkH{WT<>&ojbjX@B({(Lw$D|>>|3u{uyXg5&~
zQ4@#<<EAE^ys-zZq4Cr#gul$f{x6VWv;qV*S^*rvqf9)_9MXGG=Z!b9&gdxxHO{I4
zR$_XIR2wf~OQ;3l6T{%Kg@!LPAU~3ZI)qO%IB@>UMMoKAVp0VoWi96Og(1~jcC{qR
zZk_-W_DN~#5k+uPJTbq4;zAxj4+?_rIHjZ|X7_w#xEUpe^M-VsEePBV{YVpgBb}0U
z(TVu*)m-l_qDF8JPUl57n!<XpUt??D<nc*$onTTWw*70?QfoRYIKPDgr{;jC4PMOu
ztr=#?69U`UVO5|F?7{0Kd)a^O1&%QSr{rsKT{lRNDv%cA6}4}TeeQ6XZvQ!0uM1if
z5(Q(8CEv!D?0N;Bu?IZrlU-_?$v`%=#%Z!OU_;HywwtRr+Na9wd+0U6I*caW%07@Y
z4_Y(Za7>6k)eX>Ez)|ZaAr#bOB+t(GBnncE4ytC3_?pQnx}dJWqfytGQgo6>xYU$l
z=nE%44ctKd{y0Z1NyL!bWLo~))3YpY6~^3Tj9SpP)PYag080**P`WSto%D|K?cV~f
zCVQhlpo93+Zg2(S?B|l`Tt^(9TNUgN4oDSDgu+${-WpF_jVjxREs+ChNQW5#2}ySz
zKbmxca1}uqND#nes${oj2na<8Ucyun=KygXRPMt5eLSif#mP5T(unU=a5)d-NLVR?
zN*F>$&F17dl?EDQ^Pzw+zk{+HOxdMUb}->X+dCP-RF*(59OuCPIUHI~LXA0t-45BW
zErV<E<3uZZp;en4Fo9}apNjSom@TpU_){Elw&sjzvD5JpDQX(Jc}BG0eLd!kaLEbj
zGK!CRu8`(AFp+$W=G+CWVp!M_P(z?o1J(?jIfitSdxk`kM_}LF72zYO-eHd9DCd<(
zuaEiZG;-iYBwz*5`Q^=YIn_E1wWdbTqP7B3#Nb5?`|!a5+*4eqE5Qe_f*2lMjYtI~
zev4<v%V&i!F2ly!VCJTq&gmm)FxSz<$^+i~W3SVM>*`dKY)<=k996N3V>Y|?slh*J
z;w0wFY?PN;7B<>rHMcEvv%$qM5fZX^rI5VyD><*VVy`80yR6<R@BGA?w`cD5S_lwv
zC8BSx+5&kD77=w=ztiKi3~rDQx5*d!<iQxn$e2!8H(KF0BPKb-b!AX$0lUUK*mn^;
zxzL~zn?q+JC~+a%<^Kwbv5l@zpqqiQEuaD-q0UlO28%492<_k2fC9b{7k+J@1ZhEh
z4&+hd+9mNa-Vz(5AY9$OU#Mkw0{Vp-zvvh061+7Ybxi`#P*xw6)$bF23tbyRj@K2m
zgA<y`_unJ7GyYXuzYWgnU$r%AqC;DY_>Hu+Sb~pmTZ=WiliK=}a5t7Xx_^bcCPX0I
zO$+1h*RMoyS9q$pLl;#8cM13f?$ANiz+FO(ns5fpMbO4|VkZ*=*$r*VS+ye6rkv}?
z)9Bi4)bT;VTZq%)ZBSkayauZQXgXSqLH^8Jza2~ijucuoS%F(HfrSNtTLbp+td&C;
zi=GJDvW3*3l-*kxtBFYeN!Xu3G#c@s9TM(=K1NbeEYN((H0alZ*T;e`X$pusFmWp~
zgl|^h@qb3d0yiK9=2=sEP9*Ae6m=3s#o{SP#(7BES1P?0`$|tJz*fT@7!MG9wg2}>
z!sA$m1};KE5^SPJqeEbs6?hADO?|%*Uk10Vsf7p}c9DDn1sA&J#X*(ko|8PGK{HNf
zT3Xst=`x}<ty7Y3L~@*$W2m>=)HgX29M@}b3XtmJCUr0#(oQ%T{^4s)Dhe-~F%hEi
zYa>+|K~)(-$_bP=#mI0~X#_`qmOA@tB!RszyaM;2(SoTF0MX5EY@%lbuKGs=#UsKI
zl$|N6bq3BH^vUyc#ID1sn)*fsu@m49eE(V)v2O%|a4G^c@bQE}qXMIj#zI;Fd0OCY
z*x9ZCU1#Y#*pF&Zdo3og>lLuaaBd~=rwG`U-9VwKh+L>p@Q(wnfj%fk7RML>oc#1O
z9okpd_>u9lhMWHQ*JUq#yDRi`&-*%F`$J&f?(q+dd342!wvRtg%AC_zK7P%shi`i6
z#G3YrQ<o;h^}p@%63d~n?2&^PO9!t?-v8_S?il<*>A2;#Rreft&rY*|lS-lbWZ6Z3
zJ~3zPUsm0gc>a_J;}3N_ckZ~M9XEd8{_%$X*IaeYWv{)Mc%t77>1F4YpYJU`Jb%{J
zxBqtU{(B0RzH{5qX?F&uruCcm*JHolF{b{D#~;6UXYgX{_qlU-Kk;tAKaLa@UpCrr
zo7C~*WwoykwK`?{AFi)ozW2eWwyJ*j(XpHV{N;kgj<Gst{WULXRkKs_pB!#mmizn6
zy8B&wE+5r*SHbc-a?G1{yek|V{?V}&GxfG-gxOCYz3mT6d)_NTb)Y9+d7biactSem
z_?X^*(E|?i7d<p%{*nhGn_u)m*z}7Yu<^g>p%LVlJWfP5#3Z0^dY0kO$^SZ>P9gTM
z9Ny*5W%zUQKg2^LDsjWajC9NJ7whNr#R*R1=iCoL2-m=Eihh$HJx>1HJ$=}Vzj_Nd
z#6&nbJhtrQK3jf5*IE2`(WikB5`LWF_cFZ6-JSN&(huQ;p0o55p^yJ>kDtVC(bIaL
z^6vRd;q+HHA*(Pe5*SGo4vU0?ZB%@~VMd<V^f(HP2Z1q@erz~cIXno|aK|bAbfq8B
zRlb->IW|06KI|Swp4jkc`C=yN*zjoie!-;NmHwKp^7V`4uHcs96i&FNFj_ung-4#)
z^wIL28wu^6K3cw%uJC{7>Vlu$RX*BG2|uyn(egnfH1foTN6UvTmB<qt9xdN5U{bo$
zpXu#;br=4$k=n<$&(&S+8^a`b)$i)UDE_b`6M168qxky;Olnv9GrfJ!?D3^wLRa%f
z+U8W=5&WNS`oalkI(?n#{qxMGuQR`W&vg1b)5~|JkH2Sj|NT$L&yW!J5UyrCiFGx)
zmC>76k;0gPyzt(b4>*5m`sBM#FMavLr<cBU?&+oPn0I>V3-9ik-WdY^71j|!G#}EF
z^)vWiQ>BDQenY}9OTYMmNJ{1XOVgK6JH7N-Q%^5_vi<bZm;bic^a^W<pa}lkYm|6B
z>3_{h?a%Rl%IRBsum35h&niC6@}JcIeqs4fGyg(oujN-*cLYW7pZqiQzj(oErk{U$
z>DNp@&GfF*OP_Vp_{H1rl=0Wm`}lE9q*M|78-51=<)@iGx%c{?a{jHoxBn@p&w4OY
zQ{^2V|4uo5hx0VkJ9<rzT~+0Y;9vL|{4eeyhYFYf)YH$2<fOcRar%?ye@=g=p8q|k
zmw#c&X{PTT|JOyJM)2SIGvj~O?;<gkcNl-CoW6X@>7`HZef~M+{5yKb->IkXoqsvy
z^sT-3zw0AdiQvEEXYilgJN=z<`ZW(la_ZK8r<^{y_woOf)333gX8xyH{_-C5+r2cu
z{EOO){t73YUB5-;kN;Q7zt42}{FyGlI@>=^r+@sX@{P#&bh_zj|0yaYIV1O{&UE@e
zv*l-Je*2#3^mk^<mruX{pXuZGnce?SAOB}M{hy_e==}a4>8G4+-zfe_=zNOL{~UjF
zW{=-z{{HWoJ^mI>I5YV#TfvyIi$Uvgx=>Gw=N_cWLo^<Frj49jUNQUE)2G@iCzs8#
zPoIg;$=6+-H7#qzJ=3Sn7%{n^{MM<3Gwz#gExWg3O2q?{3#XP%FPMG*{j+CTW|i6D
zd$P~)m_3<WXV1193TIc?4P}U4Hf3hngH!Bfvu7Em&UVb4W|)Q0d#B^${_>gA?bD}S
zfoPSEl9DpyGRtn5<+%Ue=@o|AC5C)Q<@Cyt24Uj#`^(|Ji3ixGR2fDYvZ{tu84TS6
z%4S6Z!n$`9Y`E7^X_!)3S$5y7>C+7M*@pa)rjcXr98xus|G(=BgRN}VNB~v5?i!A?
zRNV>oDN|<{E*WLW$e1&`Y?|TnVTP<>VFVfshJw<vnbQiUlo#47Mxi9ATMxJ~>VLxj
zFh081`qa@O7z|^|stoqh=>|JtrqXfm?22h+v!>Xm1G^_9N%+@T5&*AY=JYAE6ljF!
zlhI4)6t>)~ATFm+c`vdm?{=H=J_eh6^c02tHMc0=k#`{MPp88uB=#L~D=Cy;+x=5Z
z?wdH}-kH-Uls!1zaDxF9TR3&v*y(n275QWgz0X`y7AEqEvu8}7HKBaU)ahd#WuV2Y
zub&iY=LpRIsJ}?lrd3R@tc-M)uFtNX685|DMk2W36Q<vXqIQ-2${XeBQ>IO?pa9S(
z3X^g54L6*WW|(1UZ;5_|UN?=WERR&<?E5SR&SKy!2F_yOEC$YE;4B7y9s}UhX#1^m
zHGYZ(VG&+|7laiVD~u~jS2$O!Sm9d{SRt&;SZQ2Yy3)CF#Y*4Gz)E3N#wz2g(pAn?
zD^~ed1y%_!X1r*8vGhgfiz{CAy%=~=Se>!jxVm(;bM=bVzSV)%!b=%18DA=W$@$WX
zmwYb;UJ_o;c-i=J>C4WSSG??dIq<UZO2#Y3S4v-TzOv#K-z$MvPzbOxGG4;6jAh1U
zrOTYlRxI-^3oH|!&3M-MZ0WPkXIDJydp7W_usmbAae3)-=kgWHeai#Oh37J!Gd@@P
zob$OA&-tE1dZ!><gjdJkI{zlTpnD<tg|rt8FJ!!s^#VNcqzFQ)MJN+y3l?D(-n89}
z<0$aHS{P1O|B}^YJp11G{d+@S@yc(N_@_w^EjstwRSCl7ve1d`{c}~1eK+N$dtN@r
zT6Z*1wxg!$X4T)f)DO*{{cgWEz7(9zH`FXp74P2q!bQy&+_d^tcd_l(0h?7l&tt24
z9`sh@0S8<?R!FwpK_&gqo;CkjveQacXcmNNkHj2W0W{dgGw4<42+Q(7W_=X!CN-Kz
z)s>Y2PWtQlILCIyi#bZwGg`Or<ZfU8`ojqL*C0w^fkG?)I`*lD4!2LQB6?bcI#WHV
z?y>bHNCrVD9X@S}eG1&gILBkSvFlCYk;f<qEfMz>Sl~NNf?y24BmVR@3PS$yDh1$7
zg!|AI&hY!BcooxU&Yr5&op6A(0=;7&Bj6oeOx9ewp4)DbulC9AZL)hi3`DDC*q1*j
zzv$k6a8(hvw|1M=&4VA^ba0jIZsmSmskdywWs~k*NPm;p8XuB#Psr}hO06aLNM*9s
z?YF@4G(kNm|25dh>fSoeJ1-%0903QPKSmc2<3aLmlm+0+FZPl_On5Xna^Gn_tdqb#
z&$wdQHKYKQ6Ra%1RCa5#;D+T3chVp@WOu3#FRMGL4_-DHalX;YZY`Ht>a%D<3)^I6
z1OEb-oY&70Z_T@12LnVQn9cB~S@L|9{exe^T9nbktPL;`k@WFsM0Aa!m*6-L<|f{Q
zi(e9JhcPE9^cXcG-J1R#B9NgUy6&FaB1(&x&4Eel!nnYsTnfh}%cA^x_{5xZ|0+u4
zy~YSzh1whFZg1<MWXpmh8jR_ch!^f%&ixM~o{ed6SK!3-A{6bAF7Qt%;beax!*(Ak
zxLWqsP$Jn&7UJ_-?B|%g1u*yt(<A{ax3{8AqKbG^XQ9+Q8xt&FD4@8Jo={;?&cHqt
zhi!vpA*THiqzq5oqQX-B<i1s=+Z<uwrx?|Y+SG{{ZJDIpp%Qax8JbF4gM`4@`}AV_
zfX;PrWy2Os(iorvXmrmn3SY#{w09!Rdr!G{u7>TT8%5Ywegm$pknIeRog7$+Dnt#e
zNC_iYa<eeKv=SFBXn%`zu*M{=T~LT2iOe(dnCgwPTTVt+2QikBkFll-mOspeO~zp`
z;sjW3ISauDFersTag}S*5JIC8YQ*Qbu1}b0PtxNsWH=OMNm|tPS%lA29CZwb7UQ!&
zcFx0}r82X@N{n{yC_;z@CP)0Z>DEcjztHyp?#a~Ng%FAqDwJa`UmqMUJCOJ^BH$`_
z2AiZzdlkj@e-h6zgsPA)K4n~>iQuGi1P9KAO&*@T%LfaY^KoJNVJm~37jzJ#4y{_i
zbL?x(sUy6Jk1PbaS=qN_=1ZoiUmA1XIOoqOqF6l&K{ET;;{PIEW)48YMJe0Dh9L{8
zO`2h1^-t&r`OY`gO-P^-s}JyQp?wrojkYYRF9ZZ`Hb!Yv#UoG-^Lr>_(Kv77RWj}-
zlekGLwCsrTdtoT*>KtUNZlM^myJigsIjPXfw2J{2$SSg_o8$$4Du~Q()dg&qk;7bM
za@Wed#M*m!MAQ~{<E&kxZzhDh7b~`twfWrxX@o{#mQwN|U4d+g{yl`b7b|^T+qYZL
z`#i{`r23Y|6<7vCl8*>n?h^gyc+bgk*4+st3-+s&$}A?k@o2}lBk@r~q@lPd0yi+v
zw99!Q@Rt;T#wlHun*ocki_{w_mV%Qa1x!^J7;)Va{bmJBF$H>4f1<<`-Bp~11~wO2
zyiSfX7{D=DymA`Kv6l}EPC{`gT((I?WQCH**3|$zLKq!gO-9*`@c>tPxbyLc@$nWS
zq@zeIhj7h$W2Wp1#fuMrNWInVD9(m~Bu6nQ1_aetUeH9Q=q-roc63-=>oYB`4Y<sT
z_gZUSr}*$9B(t*VvdsEhxZxjE!->M(0r;FSOzh#Oc-<fWJzk+glst7l0%<sarLiol
z8z_PaJhQhH1X@FpWL&;0kzq2G<SkU2SPci@#r;E6djLO<;UrW@u53WE)FKT%$QM=9
z?nNkjOv%)(WNJjFIz&ZZveLyMT^*>BHwJpn;jW%@Blr8bXOD?Tk4Z*QKD8$`*O*Ad
zmPmOU=L{3qZ6rg%nJxImCEwcHsFZ%|R6ptxDl9}17Q%<;uQIVkYNAiP-p7m5<Bn!+
zIwDA!8(~QicO;v<Qk>+qs5#D(EC?c;fugc7PjaNiu_fxSkz9693cwB_@*%hcPzJWF
znVTXA+k#F>xU_`)9B-*V!9ytt?x|685=KfQe`}t9&Xvwuh4Sg5^~Dr5(@$4`v+b6U
zFIuG3wP7H!WYmnA3zG%w3z`A(WriszmSmnl6bo#0yVe&;Q3IIVq_koW@T6;>%W*4L
z>%tvk_2U>>aT%ppy&&S47jaZZ91W-gk26K_v0uW!CeYVWBpnAw*X@b>-T1V6XQ!F7
zLpJ6RY<WN09cJ%+>g+=n@7+13+^K1fTV<w)#Z#G0K>x87Ej(l&B#~i3tvPSKV+b%b
z3)6b2FoR}=0an%-><7O)xL+~+tfJg0y9Q${n5q+8Q_}=@Wha@6ZOm|;(9V0t#;!xA
zjz5$%kA-n*3v1qg2%FQuw$*KGHRar#Ay$6?57|2wJtxiVodUCZxZg6bO{^YI{&iv2
z-szfNh?@Mi(4752lX)UY<gPZWdwxK2jTRjG{3g@D!npl^z<35b$+&G;1}$ZyEyu;P
z?aq1HLcwv4EwA6)J~q}*!nI?pRRVhz^1(!M25!mG&ilZ1BwqANe6rR&-egKGjI*+t
zjReMu%fc*dgAKL;6G0#H_J9M|Et}iHBt33r_JhWS8^vlP#&)tLTm1+0AlDIGTK5AQ
z$}1g*bw=^g{e0wqf)B8HPtcGpKGH~J%(S;aaU1<QJQgdrUsy6>T6qIZddi1e<-rYd
zUV|)}ThR-O<XoP5ZYffRFoxPN`|=(mv3I$(G=7yLdIu&aWh{9Wv8Yd=@h+k13HDtv
zMxaKS8@S;~_~bGw(VW#}3z;W8m}7EJJBUf`uC^}xn{weLR%f6pRt7%C*1F#SH^bE*
z$iZjL>kwUJFi!Evb>+aj(&v@Y<{K=TTX|Lda-JVmX(2jeJO(`G{t1;CaY~i>42vqI
zGNQW>Yv|r96oowJZ~Jo)OZm>@1r=SFlMhOOIfuO`AKoFOtHQ)&p5NZrqJBpnj6sD8
zN42u3x1zoCTEs_xR2bGp$p7D?{KlA4uHp%8MTBxW<fj~>;6uJ~-ju6h6?4w>`xo<g
zjL))pjHXc0<)nec)rlz$T*ZYU+u-9Cw!3GEw}nd#Q^S-BMW%&AUd!Cs!0LxkXo!}V
z(?^sv_}%iXmHL9#i)i4hiAF9Xltv4S1sUi=fef&b;{LTaO0lx}f&K5$EF0~zR%UCp
zgc>cb=8Q;pwYYxLii^f_Ht<5;>Cw{{8t`q++vu2#!WdB)nI${x`4H{6AW(3S8d}?q
z6MES@FmRwtddJ0u3QPHQeK2C3e=fS*d|7b77@)T9<Y>47fJ%a17Q96E-eQz$F(~3r
z(tDHXl7mYzay4XFFyc85$gB@g=h$Om{@|@mV~1e@7aZq&XqaFhX~h6#0fcl~Xi2c2
zYCyVTjCf#R+=aMKz?czga2<`G_c?%A0A#l^;sxK3Va1t0PP*Tn#3z^<%DbipvJ>m_
z(*#FEn1yMX)`u5c^Nh(d6Tmy?`5j+(4e5=XRAq)xH@CrC8(F$FZlQ$dg@M5iXkKBm
z9j5BBs`NX)kA=XDX%;ss7g-l#;D;@I;#bn7UvVS;D3FbHpiE&f87G6GbypUd%giB@
zw?<lMN_S&5R%-wq(v=vp%$5>cTTenSnXSo!8!eP@H3r6U?}F(DDnW9v85<engD;Zt
zLs`z;i~AOv1W&UuE>lnmHHBK)T^J9O`nch@d;r`R!_@xJl4j%Z2LKT%EbjPh-+sC>
zj^iLxa^`p(LvUrXTIIMHui+0kP600#CZA(t@=y>-$fDjZ=WUw1PtL2M`c$;Zd7MX|
zi#|~!Pz~KRI=q^lY4{~RT6Q@X!-?w#o19C@q2O1M6WE9?d!O3p0+0`Iixs~R1figb
z(rgTDi7&Q^2$^>_O3slUap4lchH-w28s>Dhm}7!hT9_psP}=2{dr@OYi|jgLaOiQr
z1jdV8Y3ST_(jj9S${`(+wDFFWHg@{}>V{Y<`vWu+kagphz>Bmpft~cAPJ*o98GKpt
z8XbKxB@UOIxt`!cGSX>8<^pVRkHeiiglQus|8D=S$O@4j5EshaMde(Mm=^D?LzU}%
z#kJ!;LV+(pfgST@HV(9;vbc>#i(8h>Zn-cxO?Ev9Bki<o8`t3&?0j%<ydz0!b}j=L
zU{44pBYG*Kmm_*rQvs|TBZ1M86^+>ui8;{XcGlv<;;!-G1t7F;A|Oh#hT+Z!_jttW
zQj`^B@)wM&kcV`?uYp@!&i>j0q6h8E?otD{9eh5~|Ab^a#>ETey!X4ckwX97ua=O#
z6AG2_1uP;M+=a07eQSnAG~vRj7Cy*)Nf;!?GjwIRn^<NX8LpTwbu|MUyJ<PvqhCA$
zyWnI=8>Va#A+QB^PbnWjahvqI5mmKfnuV=p$@|;(@m`Hno;tCykeJF4!Ys@O(i5v+
zhg&Az?jim=iT@@;1cd8$cM=Tu?eW0^T!^l2it{u}=zNHOc#pBBOiMwS3Hb2kmd+u=
z%&v9_+RD%!rHc_l4Y1!s3EU6FH-YfN=>Z9`&~eKKSlzdv<CYB#{<_yJD51;>iUIIs
z_ywgwNGQ4r78fZPQsnfW!U*r7XwBi^+Axo5#fLvd%a=6Ag$E6p4;t6f%nKRCDU1)i
zL-(K?e$NMP`2d3rwg~;S1-9$O>H*+{aF?)HeF4aj_`!wWz{i&RfGjTj3@%)TVD^rU
zv(ET2)9l#|YOq|vd-)C;7}8)-duKa@7};2ok$k{hy#te5*#=sy-o&0xTMIv%`}XqS
zNN;{fp4uYM@aNpbChMv&DyZZcEjcI$79c*jeK|MfUew1Cf0O$n9odv055D&OaqdJN
zk20e(XB_*7=%i+2A4|9;#C|>s^9C9obF9Q#cYcCtQ>vbL&M-$7tkByBS(wDffJ^B{
zTy+~U8|tQU?rIJrm}p_Q8^^hy=3g*if8m&#YOw~;ac_`VWmdIP7UIK+=!pA2LS@Xk
z52S<i;1bt<4@6jJ9Lkhx@ktZKbtnZ&d6aDfKfqCvUu_xzl)Qj&LP?5T#@Fv`QS!_1
zlH8W!;1KWF2uAYRMBTLf+=;qks;gZEej2FBcTeoYJ>(f}Ir(g+zSP7%iq^d0a@73h
z9yQOfq2?Dz>=py)<U%0Es(#;_AE(}s?>6a6gMG~GcEcF=WPNEqv+9c__2w}(CjHEO
zw^ctaTIDOK%3q<BpaGq@upKU?%JPhFx~g1&?7LUF+H^T;{5+yljR%BljFoxva`@pc
z2uo4$@|Ze{>n7^%D4|*x@mgz2By}s*yM!vv{ixzt+fUX{Mzyteth=<EhjpuV^~7Pr
z92ZlqQ%cZ88hd}N`Ejoi*nD+cP-_;~-L8R{z@#q%^hT=f-2iXW-w~~D7OG1O0)WpX
znTDN&AP|QT+XH^5``8=4D~Ahe&Dme$q6Bg6Cdt!gW*=2!1oL1W$otX^bR6E7)_|ij
zdu?&jTPr{-)gRa`7H_^$T)WenTdH$leTo|sHro4O(zCiV&{!6A6YS1A_95mV#KaY&
zo2|JScD*$(ts>r<nTA+A%0@?kDm_<R+bDUCOOOh9Hpo*kb!k^+fFx(^$^>X}?aaQz
zB(EkH_-!?-{OI!HbMGPdX0ZS_gB-!tFYy(7#kGE<mzP@61Ld+^R8E_^VH~SgIni!3
z2WTzo#-PUHEeN6ea9^|Mc=ZQj^$xJ7HujN)eGOLE>}ki%GAKa?N`Oq1zTn^4j=n&Y
zv70DEwa-``LU&-*m($QN-fg;|oPM%`xnz1@86c3|I5sgkIz~{5Eoxj$>r;)(P3dP>
z(}EL(0>5$Ylzunonl6y-R-WaI@8EmTqW<2L^Ly&ej%!h%{{qKgo#6*cAkkKa9jkf+
zrDmFbmdxs861P~?)ybbz5y45PM_@&wbC{a}mQu*-N1TW#yT??SYIrV^>WI-vvbz%)
zqJix7Kq$5GRG%eWOlIm=MfIfdu31w1^BO8MQOAB&7O#<ygD7UlP%6b{sv;Ussik|#
zFcGw5Rvm%74>BA+u-eogn@0X5KKv+h+kX>iPN6P|i~T@3<G|b)aN$9tDfibJhsacD
z!#-Hwn%tLj65D0V^gBL9#7jV8xb|za2_%-pl5x=i5!oJ7l*qmyBE$8~J&DYWqW%vM
zSw1tVN{PVGH-j1p1ctt;DwRAx5_Q?ZtD+X4+Q2Wc<2H6&@_cRfd<0B24dH{&W<J^~
z6gCnR_D8geq}p$;{=jiAs~$-sEiP+S71K{zFf*3Gd>C?*X~<2c5w<Zh<XY4%7<~E_
zkIkK_O1F<d&}MnYc92x7MZLq6Gj65>41{(pvX^IU%#_tSR-H>yzRc=e5+Vls5iog1
zYd8h=*VOsN?)+({nsGDDDqJ7*6Nn@aBMt~`1MhVT9k&1z{iablFG5HY2t>+TUpWYc
z>^BV=?n;NSGZ*C|y1?w<UXq&ts*qIQVZ{onXr}2F;(X)CgW|)xh$?a@n2$M8s<_GG
z9jD<VPnpJXZiy*(m^}%%q|nf#Zo@@7!>}T!v1cy`<5Ca?h7XKV8Ft)DqO<0`Pn7X~
zWcb<c_?#%?!ILQ?6Gi=>pbU)Js>vmwjYJx_Y0Oql4)!fEXTD#82~0IPOd}+QfOJG5
zljG8xgb0Zp$K7FOx{XTv^k95r+~ceYC<Uy_pka=S;N>IC%j!)uJM=4}4Eo)%|CtB{
z`5c!bpn8x6ZH1}J)F1PQTSJqJssA0^Llw;GA}CqiK=V}c9VKIOCnwX~<+E!_%(x>$
z$%M+>ugKz>*Iy^tQz+Pqsm-e1V^i-j=ZwGGKDfId@+p{%iWg9}1>p?MHRJEbC{Clc
z_^?4Cq6n#6+l`=5@#ii@JE%9IRHzq9g*p=PP@(*2>}qj2uPP@Xi~6`ly^9l1Bk`D+
z4KWAKj9oKFga9$?aLkt2q@5`7$<WHQS0hJ=JaM6g<k^XZn%Q&E%r?_S3PuaAUiaP^
zCu?a#%<3)4APJ9b_0CGRvJ<A9G_iUQZ%4uG*@;OjZWyp}RDABZ=(>p76Fma^lHQB@
z5M$9_p4tfFojfMTo>z}hA$W~flZTlD(Hd~&)#RIUfb>jcX;E)P#HZsnB9dJ!F)#c;
zT)Ts_Y>-h>Y_vh9lGcWqmtlKo@=c}SNS;pHOi7XvrDWj;JQLB};Auq^_Vn+UB23DC
zn(rFeMZ`HdN@q9<4Gq0Tfp}$W5!D!AXzqdNgcpuqUL%@!2DRLUOE0&kp(9&z7xA3|
z`#Hcb>HwC3BH^OF4@|0^3ZuFS4M%7e*NG)k?xHwqUVEPs#9X@rk>P){231?6d%i~i
zvvpE@8Z7O)Xmn;n9T&y@y_+xg&eJ=_0R~OoxW6b8+rkpl$@?vMb0J4e7%l#cSlVRD
zTI!o7)j@?KTpKi;2(Xo<!yu-zEb#Nb>pY<nAKuS5ta15|r-A6OFhYHb5`;{bopjqW
z_pVOQpj%QF9B7Ldgtv$)Aj5Evpc_>nhWB}Yr^Q;d_~TFrALLnt&s*?`j`H9jBHPc*
zo@1t(zvdu0UIx5~e_FTT*O-IYV>A<$fMj#nf|+n)v)F*Ia<-tHzPz?&vYv$AOY3Pb
zIMDVH0DBj9pylLd^WrvolZ@NywJk=5{);J1>b)0mUIRPbr5BM<Q<m$_LAmiby}whN
zymJyre3l}6y#y%mC<KqRT=O9U7S<8(nUoj*{DETKg-;9Hh0sp=yeaxga-YCxe7>Db
z0K8ruJb;8N;Kh@tQG|;r0+)e#y%|abeI!B=ML7N;A`~kSYLp0H!HYu(P=pUDf=`Jc
zgEK)E8zT{P;1&a~<4b10O_Mz9tt{#IKp??$pk`qfVH{FD*~0qa&an-)vJN5#bI$Vv
zluh(@00R*(8bI`GR5d9{;8Q(dIebcRO-ert`+@f3vTW>Kt9!aLc%HbfgRTx;w=ol9
zblfp!ox0uXp5&C+q5*sv#;OMph2!p;zLc=k!nOo4Bqf!gSYU}Ubd}O=Sk(jgGL}6(
zfK#~JRzvM+gb+$eXSA^ogKAukW+`hU_SrJSmx(cU;=t$K)`8fSnLMx^KT!QZsw&#o
z@oeFP%Fa*nJ*MPg)vaRnLLkq|ZkFqacCBoz(W>5PuKwDgGgp7+P}|ggE)}_yfYYo)
zyDd#}UXz`IFvO?lWbg1MlJrDA{2j>%^m67VOQ^-F#{FSDFKcE4@OsQLqdC)}Zou5O
zB#XvHI2L8mXjhWAy#m*x?U2|Gx{0hoLE2Pof9^n<9Bd(_p-QG}k0G~#&tsp}H|N|E
zDbvRbT$1TW_Zawm(CkR=^5j0*G>4xnyEfuFJD;4{qTmJP;tA1ySe5&0yu8Q7nFg-F
zb?`-2plyvcuVK#lHP&lS@C@ZVvvW?ok{D46X;{fZ$hF6?SHZW3@XbL6Q<Qoh#^inw
zrKdF49s_R6f!5Mq(Rvj1kD}FtyFc^r!%-`<QFmNO(tKoBZkw?eONi0nzRhe&9*yl1
zYmhRl^JwRn7M#8={3iqda%f|uo<SWi8|~g^F3BTSk#MPFrhz^noRFCSTxR-%T1O%r
zz?=_74_<+v2>OVg2!Q~J%|h%)8{-tT0c-1llG_PuErhl6fVD&d4W!k~(ei|da0^3@
zR?O|iYCqNjs3w-Va*)Ew{|`Qt%E}%k=@_uY>FopVg*(2(*uhn2mb`{AW^7AA8q5bO
z3)5U5Tvjh<HUJM8<pyJTv&`5Agz=powj_=gS90c(IGXTq1K+g<wBf*ZY(UJ>S<pX2
z8&P?z##$hsLeCr6E<w5xyo$cCLdLCg*bQ{g8`v&q`jG=iC)Q4JsL8;9f(X>{PC`Nl
zAt41w$gt+3>&<~g5a|#)0awjh)f2BZSTTbbgYbtNEs7p*KR-PF@Vf{l=XxkPp|j$m
zSnyhwV>EGmCVO#Tp5*yK!j3_lDd#f#5E}YTo+eqnS;9?|iy-Ud?1ic3GLxsXW+BZc
z!32}%O>!7j9kRO9=sXc$fvpE%o=;OAKJuXe2h(VB{6=yf$NYDg?ySt=(~$id<H)8t
zS4o}^Df=SI_B`B5NjZCV2JZS67fx~zCeI0@>SI}bg06&p-&`FMtM9{@V)pzHp3iKM
zWOx_SJYZwT`1ob@{*^}kx9PTL%m_4r@ZpojJ=w~JV7~}6BbHq6K)hjLnsjum?Gl5$
zV`9QE*0i&o2ChSB&GFt8wb5fwJz=aqWXElZ*3_funyH=GThcY-O&J(H^HLMB_P3`n
zQ>rG<lqxv-x~!=J?xvoZs_{%t&A_tbJRm(a4c#v_*`b#aoQyV~nVMEBVAd+h1t<rN
z0W(uODW@S}#*pVFc@xK#xT|e6ZIQ=O`k*<B^1LJ*6VSnkCPIqg<+B$`0w+yeyfHW?
zP>cv*DorxQm)+Ix&}^m@4<9s@nN(XXuEre6iT(J8KLYz@W!GML9;Up#u5F<)?wQ&*
zh-UNM^R%^u?qYTrqD5^haEWV)pP>m43zht4lXe;5hr-&VSG7_-eVM$aaRj(>vW3M<
z9_XRGxAPMSHxq{0O{j}Myu{=+$5`B8?}KYZX$_-YMs<Xyq&<Ok(047b1nExN`|@J&
zLP$=3DEMcS=btq0LKju5L3@`EfST4niB_`@DFrlncA3~W-n+3gj$30ro7m1sDY7wg
zONVG|?+cz=$$GiO;^2|MIw|8fAb(9E=@G`30IwZ*RczS+VYuP><@_AG_5|a(F^&u?
z!^};WwaIo|1bN3XwDSd=dBjHQm>jD%(XMs>rqi8EZY)Yst@L6G@Y-Q>Uy+WDQI*Uu
zkzTJO_E70uM94;y>JX=DS}B`qc!ezsd^An-=9W0adCqa-N)~3I?k4XT71*;zP#k!(
zE&bu+#?^cZJBR!XQXS{$n6@*8I*e^GZAdRz-$o7EO^b%#S;_Y+`IZehQe3PFjk|Iz
z-Dsv@-(&EzpCi>8X=G%rfxSD!463UJ<OJ;xx7-Q6B{y<0>P&898tvUe{bSyja&y6&
zL6oYwfM03XT;Su3gWFY(l<;k#OKb6NJw|W$>!sY=RfSinkbvB@52N(paTWb6w&3>!
z&6_k2N|^3~HmDB{06_PI53_feY6=2YcR{=CE&v|1@farHgd|O?M#q5@#nR>|P6M33
zQJfiYu2P&?aDJ*dWjKw%6q13b&>mNuMmXO};J$@$7WCoHA~=^Q&SE(G^yR*#aGs+$
z%i&B=oK<jM!<{ZCuZi|n<%@)XsO=5dc{jOTi}7XkYJZ0>*_|C#p1l~~@V*Bx+B8pk
z3Y>T(5L?GsGw{u0Y;}@CckeRc@crp>_^M$W`_9HX+4s0+8#`hmmy5fOs>MhDgd#|9
zP-{V$48if1&@E}`CSuJZUeW{$F?Lv7I5ZGM{+7tRih9wVSYbDV7>PrZbu{C$Ht>0B
zi~2+Sx8DG@8Vkck;mI}z<t<zsYGch<2teU&5`nL}8n?|xK->Rn$^6jX2M`^A7+f#c
z;zf@W3d^-<U+yL`0Qjt#KXWVk{{kLJaqCp@@HSL~{{uV__@BYU{ebu%<3YKW7LAeO
zI;x*5LdA2boF^@w19_@%PI4DQ8=15y7z8mMrm=;!5EqgmhYY_s{km@Hi*?YMC%%qv
z{tTxw4727*E9MU7%m~}$+Na*x4lWJ%-ufIEIJI+?^m3>;wsgM?Ms^fNT1*WUy}_9K
z<|FbUsA@n8gaNSAME6VY=Uw5Spff9W@)NMt{TkddTb;fbZ(NJc=VR#~aq`YD<h-Be
z7-XpZiLXEr3`!-PmHnU`6f%$a3|?Tq+Q3(tvk%Eods|C7{8@^~6PM`HglCZ0ZVP)S
z@GBYtK>)UHQJ_xS6{Rv9<#H^#a7VG4*r{N=ocXbwc>?##Tl0Rb_{)B-%@yq=R_|mI
zZ{3+?VKZ_ptP<`|qq6{w6<GJ_YDiwuB`X6ivLsSjIRb^g#Cc*D{`QL)7pxdT2n$f{
zffhs>+bXVYQwEF$n_<B{1TO45|EF3dI9YOip?0+ol6HQkZ-bZrQ#D;7i-RQkHewX~
zpX&6uFBt>S-@^!Aino=`Zl&W0H?MKEA9GiyJK<+je*@A;p^>jJO;OHskF9mz?32Ap
z1T3Fg*mjODlh=aja$D%OEa$xRDnY?FwK_(f4K(U(vuhC;REKVZAW{2v61DBkwasJs
zECszdiLJMUwprC+iJ=#X8k|ti)#rOPgR>hU8_nh=Uid4_lQi`9c1Js1;hjeJvr^|N
zXAQU#TC9Es)o^v{#YagI#q~g&;5eW6F)RwGWGyDvki8>NhE@(fgk;ljjdVPa)EbOm
z@JR?0AM_J%5OCGDzg_2QiIe>M=x*E`NP(z1#I@G+dnLW!wQmr7uMyXp(x>{{wfYuv
zP4VwTD<tS!P}}b?<NEg{>Ni=~4rGkU4?m$~jOMX}t4q0Ow%2+*8>t7i6|cudJ?ruJ
zxWKdES@t^-<A1LzLwl`CA+Brgtu8VAj-<?n27Z%x2it=Sw#8~2C+>OarJNo|^DldP
zv2EcYvHEI!@g-*l92VDQP!ZOOk6uV0&~&RsExDEq_Gd`T@sXeK?K%qG)g#=Y6{|bo
z0P-j5X(q?voO*0RLNnmQu!>3_88G+L!kcE)qIxj%P{K)YW7ij-G81LDtgC}3!V~0`
zL=EDT)c+Fs5ekZf^DuRwNDw~%Di0@h%Lebb<5mTX_FZrtHm?k7GbWQJGP*ewWDqsA
zp7;@n5sK(65DJ44El7F_TGvl%hk*mNGCEp9iunM5IbVccm%VSGWn&~$W;8&5EU31)
zuj|nS=p;sBQUDstZD2#es6@_v?ID4X$u$y+(yoyj$Avidg=}s`p5xOfo4%BdHZX-}
zqwUYjIUyOLhEO3ma;?C9HbX>7TJOpstuXAvK*d9IL(tfM-^^OOU8+7&;U5-$;DFj(
zgr^AJ2)V_vm7v^^V?S2|qbt$53UHB)MkMVMVE7;s;p=-vmAeXuCOF2`UD<;N)0QD7
zSRTw`SzES{!VBu+fFOMbexeyRQr!Vy0dc-iLsaSu!7V-`iiH#<MIQVZMZvPO7Mv<Q
z&PL>y_ZY>rC&+H@z>I?N{3IPj?*koHuzFDN#_op$G7s$*9gVWh^~6O-Pws#cFxaEm
z9Q^(_@RHde9)}LWEo%nTUki>{kiAdQ3c&1@hnT&EBhB8T3tSJTsT~z;TqlGfdC)Pi
zUqL^E=_i?f^e(8c-PBZ|Rs{|Cg+7@!-s+wZAM8&q^0B(_j1OwyifdAPu(}!#5r+zV
zI5+~*Y}3)D_UK;j@wlU%4yY7BBdKwCMCDXm_#hgsq*+ZWNeNtwks28E(L=2gbKb&@
z4zyJx^K;1~>8V}>uXtJx2d}B6bxTkSL6Lgn!i^6d4ql2QkA`S?a?fzt<pZU*$fV!X
z018<Tg-VpJ97>>7P=}BWlVo;)*bCV;y#oZ%2JAmVYYBD~je*{0Ki4^GCOibtfos$q
z<Z|4ANW<U)(@!3p>3<bO8fN+z`VcN5z;P~?f?05&1R-<@?G<o4M-9X;CKs96G6Eyf
z!ZIBM0QFhH$UKQ4Bsxed8zd@3SJQrh4;<v`klCb+I%;5k3WcY!gOn$MGu>eqX>S7B
zj&&QTyCaY|6YLpa5Yc)G0Be@nPMHq&$uy{BI!8T8uuzH)3>8f4#2410`_Uf(Kx^Tj
z@_y1K<nYj3h16U{Bz`JJPd45Kd?sx~y>Uva0WTB)<TVTngKDZ3&dK0q&5c9b<=&#h
zE){gBuoH*<o{iMVpY!8_Q023@ZrCWuq6zKeIzZ)p2l5dbhK*6$$H-^oTC}n#Zz4gV
zYkdazqsSPw9joKO+f-6C8105Zf=!ie33%4SlaD&6>q(FI+M${M-ML=+Q^Uj0<<vdV
z_WJM2uex9y?&{7_?&^MS=pVO#cV46Hxwv1j??bb0>Uq?>=izkI?X_)xKlg~VuxZ(=
z*;O|hADeYspV9a4==b|vVcEvAiah<FT#o<lo1O1@KBwf+)*oJb>l){_()*ZgUGBWC
zr6d3H*4O86TiQojFlOB|k3Hp>SCw9KZCrx8x&KWsG}atF`sH8d<yUH+t$*`n+ut5E
z{@0(TH+L57di22a!GDf__Vdv<UibH;l|4_-|1Pfjqgx+3BELGT@asP(y>(g7<M!*`
z-tt5Hq2ptpc{h2*cZL4Pdfq*L{gKg|#_YPzvN&+zlkt|<+#g^1r_6URe`DN}^Y2O9
zpjkFKXOqhG2j>I%ZydPu74PkRu2RJ%3ayeFBfcO!6w(NhZ_q)vZyL~J!)eTn{igXf
z_8auj?VAWUHk>+C>^FwbZr?O$#)eY?W4|%&^KW4^9C&IZ<$X=6@-7bhuL%1?_`#pT
zuzy?Fe{$G=&5dD4zVhabE1a!i|BSHz#&9%W*uOaJe|OlwJ?y_U?7xc;iN_fBUlI2I
zH6aX-A?)88_Rmqgh4Qd}XV{<WOV8r4zo9_+h6LkZJ`-T=VX81gm=0?Xg>aP#x58Zs
zUx!eE@99DT+_QudgxrTa#it<N6hMqkr`U{$jn_S#Lhi>uf^#cic8{qPFBYB+1~070
zZx+hcGj8{I(>c@%;eme{uMj!UMNKLM8_GTlfA`_*e*DcsZMx?W3%?L42s?z2O1LU`
z+zNbmPeV1B0AD+BR<2Zs<FfRm+7eC)gJff47LRE|x}G>WITje3Q;atTCAbfH#Ma~F
z(uNCp_H`BmXEE^qFANwJ8z))Ia+b-<3YQfxD_vFvi$aT+ErnH~HLxqxvaD@c`?8K@
zoy&C3CO>O<Hsje?1Q}o>NSP;OjA4}+%knX%l?l`MnA*F&peJ8GHhSCO`z%X-9B}Pb
zrJv>f4)%inc)iexvGQEi$FF@e)V+4N#o6%|+r4M}3o7m3J{mpig)uk3G_3y*6D}O3
zQ{CgbPbmE3$bv<$FEmu0UzMWjt84tocv-_ufBfsRm%iN<divB12&r|SU3Yr+gSgZo
z78(B!x)nP@VWuFQZ^VvJ`*7IPA%+UiOfX)>D#cB|hVUP`W1sfxy5dE6huHAm+{wLp
z{u{r=BmQ^n2>DTGswdSww!TyxLyR4vWr$<MvAxJUwz$R^J3{t2z{<v2F8uBhFKS0<
z8p4aORpQY*_Ax?zW`euLy}eLePGZO$2qEoi$qij1|EDT<oYlP%FRT)=^ns&a5v<!F
ze&Ma+a>&CdW}n-Ycodz-%ZbDzTR-&tJ9|St?GuStlX9Ber<D{n@%$8iD_>i-9PRP_
zbWwMYU!8`1B3k<eh`0hz(TbTb@WS$vnRI5;o}L!o2+hY5^p0ZLopje#i0DlkfL4X!
zq0#&+wUAzJ?J)itI0CPL4ca7FypMuga16kz{TjIVs-0blMK3>U9;iX2I@2;y2wZvv
z&RY1YZVYUPBhZnFy+4mns-rzoSakTBwbYu93eImO?=6}GiOz4}$Nb;oG?YCduo-d}
zoFaS|FBI%0Ko1mC=2({ER2#Nn-P#tEHdr3`Z-6y=Is%s<kGc~fC@2i}m$-b;8tfF;
z?f#mzE%+4cS%J%&WfmYmFPjc}%4`wq_nlXf5ExB)eHoA`FC20&YfHWiAfefi5HKml
zuu+hE;IEKlAPFieBv8Q)Y0{6#la7}w5}4@0KDYK7!X#G9e4i5H@xW_XNnt_01r;HS
zMp*VwOD~2GBojELHZ9$NbvpE^=)AHIYDIxNA)7k{J4jBk`Vk;os{3zbDY1>>2qLVy
zt?-le4OVPlLp)IgUzRi(u%&w8A%qa^=^JnwE4x)1yhF-vJtS$2*ybvNfC48vvm2zr
z4cV>a!3Cy(Yhh5U^~wIP3?gJnC?HA1vtacp!-yY)5Lkt3bHSfXlp2;V97p}BIyvEr
zl)-7lXo;GRpqer{*)^|kjvy{nD)9+bg(?Bj#!Hk|DJaz;OLEq(L$F{Uin`Pw@Q^fG
zWj|l658x=*Mv6h@!cT)zN*r0$IPF(=;Y4r(puT|vTj+P3r}y`oj#omFdGO63RHYo{
zJqI~rGqV;1B)s}wsIVA*bI9-O1yxtf<xyIABsjaLhA$K6-1BQKdnY35Ws(eI~2K
z=eAeg37>a}%vn?R4$tPABFOee{R1AM+aP~Rt%vJSz9!C|jROrskWmN`P0Z@K1>5`j
z7SHC;ZOK;eqV#15YO3ZhO&C<@yc3PipHvl#ki(+@WA#=mC&Rr<(pMll8o=l|F0T8L
zi^txiGI%zaP%NAoq`ejCgb(WX5()_o^{#VAs*1f<?~rp4U1lH2xvM#>IXHf+y_9DH
z(UBtmfdCECU#qxotN5J1;%1Phtb*OD?~KmokoaN~eaFEb0^1UJ7Tq*B3=rBc2UKtB
zW7KW2CzZubcuY&rpbbF?5^0+XTU?|Ultf1Z^Pc9JSGa&(q&|w&U5M=uA3J=I0gxJ)
zpC$+jKHgK>B97XkIW~#t`jDeVI|{xWi4lxO+T|hy@OIJmhYS7Avl%8~v?$XJarTQN
zc)v|oPeKyUW)rE3XuljrJw6StkKpQ&sDD=?!UTgB5+c5Vi1=(W-lz_|3oS-?t&DnU
z0)BWA;Vm=9X@~-Jkq=P*Aj-BShAJXqh^P>R_^_JG6}1%r32aY=j$8!W^v*yLyRe-c
zC_p&x0p-%<d+xrA4828VxuqCY%MG_hHjSW1btHp;t{f?X9*xPG5g$lz3(x^W4emsC
z(dH3d)N70*Am9Aad7~g!6Y8bf@-c$m=-CalhJK}seoFdgUMqNl*sbYuG=w4!kZSGS
zlZ8KfNfr|k$*Q_13xD>KEG8n7&Fh{l{Mk#gn1}<6Cz@f$Cx{_gId7JLHaO9UV`0xg
z@PlqDKKwq-7|L!C6z3IjFXn^rmQWbyz;~$u#tASf%Q|dK<9Id6&x?WKW^EF1j|_ys
zOkf`vzaNuQbbxBb00n$YZ-!{N$Gk!_mbiAeG7gC@EmFc;BJY|ij6zoqCnwJQ^=;N(
z2q%FiXp4-3#^~7=n#9S@seG|Ee0w%K_lXXzacx{MNnE?}EpT)~Xd@H>{J~`Br=mmi
z8V}ga4g68Srx>@}hN7$7QsF!r=NLfX%Z=(Vc-B%P4Spwhf%B-!aSjDlMS~EqL0s2@
z@;-*-I78Gd)z}3Cz8BzIs+lZY3io`tomCa8Ip>P&WU>u44Ia?7vl`Qb=fliY_6{Hb
zR%4)%lVnkXOj0^p3QdFt+07e7dl^DrCu%jZ#_S!hZU-I%m&J2rWg!SX$Ob)0#Y7GU
zEOKN}H&^CpKFuW~?{<vd3WOcXRIx4Uv6DdR2nYo4#RLO$R|a^cD&z|FsAto`rwG6%
z`BNp^kQ6KsOzD*?t>%itg3XI!B$)*dDuY{l04{72e2y1V{+V9h)T;oIcDGBz#`r*X
zn9*iJVF`N+(p_{~L*WUJ5KU^YK`LkMk3<6w*p^804F-{^p?O2hRUa9))B^j-q@4>p
z1EjjA>vqP2Z}P|h6UQ^3R74uNq(n2lh;LKgRV39NLp_vvnI$z*;Ud$#SsrpMH0WtP
zjIXhz=Mgdl869?;<--!Foh)Hs&>Mhn7?hC#A(kuQ3<)M9&XbsGz%m5}pwO_khvtjq
zR@6N=Vs^y(j+Da^CUC*%Hd`H(Lkb+Hmcu`=__DG|s8d`_F5d%VF?9lSWw4K7mbCiN
zAVC<sDQ{C{&JdwJ6jC@4r8Xy31!@T~RT&@72)+UR#Q@J7MRhN6dKl$Gc45BnW%41u
zucId;*r|9RP^@piNOX}3i}dCa-V*Ob!(`wV8f%D>QaMwsKbYdai{tvF(wW&iymT_#
zrQmuMMj<wK?t)JRjCJ}(m{ton)4xwT8%d$jPLo2oN`E;3w{38fRsZO_a9IZLmGyu5
zj9jpK0v;5ss0c%N;Q35!WA}1g%16VUQXNMH;-cwc(-T}PwuG}#+!&-DI!8eyn6S~8
zBJ;Su5kzu65!C1eH2qk^&sF85+@I$VwfirD+A2^hyiN>ZltIibx<Xud9Nt7SoJS{4
zH>nY^BP==0vcyTA$9_O0=O^OG?HKKFT5c?iT-CQ<TsesrKZSM60Xo`b&@=MMLxA)S
zi@!b1s`s6Q@JJ~^J4#!fNK%S`yvHK%x>d38VB^JsGhb%eo~>{GcNLF<d@&4?=<_gk
zZ7=|QW)K9_*dZFLt43qsK%D~zpu3Eq?Ff?DT~L!>_7-X?R+Cy8KHlaZf5R`0i!hHG
z9vjU#J4M>T2H4Wm2d?VCQ6`&gg4srB`A9qW*G-^wv}mX@L{YgtFrF=G@gc;6UFolk
z)w}J5W5u=Aajo#GvnRx$5Vb8HLUb$XeQ=`d7ym30F~TTFtV={zP!Ec#k=+fGd_-hv
zu{vaYI5Ys!yU_Ks50UzRjl+mzW0-Tb*P*mvzN549JQNB8?q3kqT=PI&V26UOKT*;h
zAW{z;Qte`+O4DSPHJ+k4&JSYYumAz3>I#iL6AK4dd#4hKRt}cfm4i*DiIvh5e~1D|
z5y)8_@@FSOPP&Z87;@v%PUt*PxQSVEz@O<Au2X?X{$YsUVr=4N{TL3Z_QR7QzQ<z>
z`S`cNMkO2&jXfb!x-i6NA`lmGh-<(G$JQRIf_a!M9zx&{L&(qprc<h=NT~f|S>f7C
z3-+OPM{`D5DKf<fXK+I#gG`>mu^t%!_@xNIAg;3yLs?Bj1cP7z0tlBB8DMBxroat*
z5OP1m=`@%QWLNHlL#pin??eSRd5Y1)w@6^20J<4rtj+al`yuHHgIGNoJrTYu!%44Q
z%9B=eR_HfzM$cAamHh!yVsiylFtan~sxCH)2O{+hBpO1D9~hop7(h&Y4LAaHxC3^S
zgLk7~;}H&a!OBME!c|Z5Q=_K}(6>pU+tOT}mpBq?*Fazy6bbesR8a|{@`@4ICeM5$
zag;IeAyJ_Oot#PJg~6K0>K*vdMW{atEiGsd0W5j}lqJ{gqE6rnU0*RpTF^;jyS)hK
z*<cAI#U<q(wd2Ga4sA8@1H<byEU$A;UwBt)OQ1NEiX+#%>Ox3^NH|8D=(1lF{6{na
zV8G^C5N9n2oYkd5x$mJe=->C;as`vFaDI|(Pk;j9;kF<!DY`x#Wb!7eCD##gPG1~d
zj+g2%><bbG7pf06oYG*?R_^km(d;L_Lc?<CD>$Uu6}+L1Kw5cMi*fdOHA2L-ozZ60
zNpG$Jp=a-a>ZqA*2>YY7uL2OeB?EHG^Z2-wx3eN4Z?`yhH`}9cGqKIVbfCS(l()Gu
z5u{Bcmr1`lD4O!N0ZS2&Z2$?Tm(vWD+}QOE)gi5oN`1(flQm};fC=@_pvv$b4sVZ4
zqtiuj(Nfl%bPimBk90ho+|nCF6c~_>VC`;Z>mkdK<M>iJ>09_H%$mw`dz@n~;Cu$J
zLq><r{%d?RQ;L|Sw4`Vdk8HAEq5z^5uH^ld*0ULm7*^RnBzhc)ltnek4!b2s!oFPz
zfx20U5sX*BqJ+0m0=B-%Yy_H7BI>N5W9{f(02OrubR}XKb6%yH$$kMG_2kf?P&$0P
z9{K2l5^@26gb-NCef155U^Ej=RPgs96jKVm7p}ubpiodb#z=4efF2E59^1gngEc%N
zzkw*moHcI}XxJI3-+wM|u*mSDG#|cbY+0<t{U^m8jzrXl?L*Lx&N{g2Ni7et?m#Rg
z;B7b#?!fsp!7wekQCFZR2QJ_xI+JLxhsR+f6iNVZB%+>2QDfT+2*0!oPrT~9sRk%b
z^(7=PN{w$v%7{cPjTtkB_)xMNd{8s=CcTMRffhY4%m%nAM=-c{QptM>-}P${SFw7g
z(Bk4SSZ~t9l=K!b+lcC+s2dO!6*sEk@f&z33GPu6VB)<CF3I^omZrjh7-K03wVvbw
zqg8udT3RBCi)hy&z^po9s+n(;_=0dUEz$T=$)&8zrMtLDq|rEO!flE!TXFUW&E~+f
zPaS*+>`Jrw!2EA6E&#Hc%^md<{;&zwBn{2xANtQT`CueVcHfnQzc&1FR@4w!`XwDB
z!txJC0-$x4K@Nj=LY#NJK43){O8XHcL<nl-BJ>P!17XEC@1%BM@jiG2_RvbvYYPOX
zU}(h(O{{j256q!^e`~~w@DmO~yIGMnEyBw?UZa?VV@dzSCysvKsN^=AM>S*81n^a<
z(cG9h%jCUNWo4;PA_kVVR;Gg;fELOJIEP;WTcoN+{*v1&h@Q>xy%WBYd$MpIjQS<m
z<MFG4k{;}_!=Imb*x4@iF(sdO!VeS6&LgQ6yDcuC#^MUbIbM{Q=W-2)or>6Q8RNHB
zPw+e*(1}nZLlshc6qScwAE|lES9@&KwqL>vGKm^Fi}CN>`1bGDxaBJ(@Azw@3^P`v
z;yNrN_8TPk<4>T}INhZe>%Zz3{*)OZJbR;5y9B+I1e={;zR$0K?q1RofE4RjQYt!t
zJ_?^$xevgLBP|t3i(Z$Y4dDx|*9Jo10&o%x6d)=z0YM7#wSiAShxG=hPz-!;0@KX5
z3Q`Re#jSk_si`P%K2A<|>JxYcUZym_yb)=h;%OjkOsYbVKQJggu0|S#T*~n2u7V_0
zdmmg<P7%Z{-B%4*`6f#>IG2kvSBMhnsN<T9qtTI4GvLSaRp2JY=UOVSthobyWht<M
z=voAk@S3YkCWTN0f8hLdwLuz<bRGCq1h1qySbPszsSfW296=E1(~%yA0la+yFOIkQ
z5Q{|)a%o#BA_*609|3)WhU+cxL(j6hL4}1-Oy6N2Vr4~;Vw`Vdn=N_g!^$Ls&>&aR
z*)QV8`TS|NyoQR;<)|%F>dLyt@m`G)<}n(f<_|0H!LPz)doo-$h&xi<<n|`@MUevY
zF|#7~InfeD^dR34G|+MZs?nHjl1f}hVbKg?ClwCKi|cT<KCjjB6|x|$R%~*hV0uS8
z?RLny<8_W*s2z-PDs_VlHo0rhjeQq*0747)ab%~;9~@AE&8h`ofPDqGgYBvJzGj^Z
z&|yP@`ovqH1Ng#gTXeVTF>GfAgRC*M8OUz!x%GscY0t^ZKD4;+)LGm!U=*{G@AqY)
zqR*hxviG7}CAME?xJaV*#Z}6~tb1{oZ6DL@#qwJN`_YbBs5=zOz2gHGcR_%(<^^U)
zB-j-rApUO>z2gpBy<=ckH-nk>>VS%2*r3^)%;yO!BwJjYJsYJ(njiWj4V_4_?u9;n
z)&eA;2|>o5f&pv5y~&g_r6x%!cGeP&uJla;dBW+Qxk<yrXF{(Y-yX=-YD}AS;b450
z;<HcqlVFwu=BDHj!6b!z*ZM3Vg|~+ZLWRior<6$YXQRv>z+4Tnfl)(?Couecy2L#x
zTvt}%kd=9vBn%wG1PjeNGd*%aiUG&X5=qe+z~1Cb0fJ{D4ozGeo_-}XCvMGQ8zeop
zhrkp7D6K4z4UeegF($<|Z)uh=|4Q(VaVQvqD4vc-K}s+m;VpsKbjXt!%~OoL`j<pr
z1FrUzA-Da4$TAy~LYx7(CVQsWkwTfEdc3Yc(8+b>n`)u+-YVwY)u}}$3Xr+=8frNl
z$lw?FD0?1U{!V-0AQ2L}dm)JjeRINmpUZl2hAp{E@Hak%m^Wus^oRXf*8?fS{Od{1
z2sxB~1E^~vZK)Q<$`@$g62>$j&Em2t{1}A59kfxy3R1Wj$yucm?6x|R)^$x|NKh!R
zB;6kS2rjgwZ-By2cng#RhV+Nu8)2-Om!3heQvxR-RqZB)9iI{|Gcmc)+6SbCP$bWy
zJ!0Bg?G0{spce*K0%%<tkkP$_yw1I)KdD@U0wn~(dRia`^Qy%NW205$wQ@a>Cd|*$
zZ#dOz4GQdljfd_6vU;rlF&z_*8XPJ5hTiZ4>m5W>rJyMz-{bFfJRs@7Z!oAVK}Y7}
zi_udWhvDExqvsu3=(B@tC+r+#;6eub#q^UxKYej6gX26`OLDNkt3?+~a<yoJI0&c0
zTDBz)eV^8>1W^H^j33?n2GkuxGaJ`w1J7dEzCnXCDouQS+LcOI_Y(wqtSxXG_5}DI
z?sEq#w6s68yVnlWb1sWHPs&F=>_u5w8Q6#SomE+C6Qm85*S+-$N+H#b#+rofl1TV~
zBhWZsV+Y1T`M?V)n(!dLqSzd`LkUR)3{9m2lCx&xh(jiCIte<yF^@Rp`aDk3A252}
zlWL(8o#6Zgf|hNb29*zHVpY3H;<7^R&`T$pU`;?>u{)?Xu8YI&Pn^Av@kA3$eyA$e
z(suKOlsjL7U|rD+5aH}U;QJ%pPg~QN5wRwKc~u!VF!C#VrL=Fy#}C+B^Nu=?FL=K4
zR;s}|ZpBCbVUzxL!HMC`!o=>~2Ae0L5K$H%EpE~yV(gI7L-zfiGG+{=C5x*WHs~95
zvg?~T$A3{{6%i$Z9PM4?$mcqg5}P;5@W%GkRd$z%B5PNRI$DB%kvZ+SV8B{=7##(|
zfpGtqUZ+bNAxD?$voU~Mu>}MpGz;1V2ye}UH=FY|J8*HvrmkAEmSBR!YO=su<3tiI
zK!=19;)J{gvHC?og;e9{iI9F1CA@-dH!(kh{>COn*Mp<O%r>DU8AfFf2qiiXB??wZ
zZVnRz_g+vt@3(IQIBwwzvBnNre05Ya{O#8VO7{@<rll8y`=re>q<ATk0y_vi>eCc8
zF>ocK26FHd+=Ez;Mq{}L{+8Sv>AdH26i=WTMB;;p%=TdDL8V#JJADu{vhf9M4;c-M
z=+3%-plAZ29j5?WjKL&l-9O34t|Q3<`8(^@Mm-V~kJ_k5Vzj}K%}H$**&S0Ftn)|e
zXIeAL;jDcPAk+?PU3o855Elh{62!>XLKNrEDL^~W<j&e~K@k{W&{v|t5DEpx39$ll
zD5DW;WQEBM3=pq>s0@YWV2!Z<D!W&w*Pvu!QJS&Fo?eAsY+*O2AbbeX5-|mq8zAK(
zk@O@!+LiOP@Cr>5!n-VlXsI>;<^vRo5P;^J*fcI4fG?$I9RQ81=EV9>2a2wnKqEGG
zPoj;@PN9us7*d&(3~}PL@nm1eq{n=|UJ_sN)sdjJWbk%-I=KFK=k_HjBsQzXSNzi9
zf((>B*&gF(W;U3LyOIv3Nz9fkE%-ukLU;$ssabzQ^6&45|I%BaA?yp(e+v_Vu6+-c
z;133-B=4BRfV_uw;M`>i)~u>I@knUDTvej}xVbvriA0J>w2?N+K2eG5G?$m;DFKeH
zF#MBVRUZn)q0JSfng$;Qyp61RaD#teKXwF_+oJD8<=S5#v@m!JJ`YL$FVIP;o_@3b
zu$dh-&G1#RM(J=nte*J4(#~j@mf3=Daot@h>W!`=(<JekX6bOiJi}jw?&v?NWer%C
zs#|LnEWv)M`Y4jtQU-t$0l~i&0I*vmJ_FogrPGM?I14VRw?le7$fRz70WO&G5})?N
z+@tuUZ()nQ0G3V7h$6nS-ZZ17DhziYh`$%m;xj(!@O}>TsO0|^5RbylW@ogW%m8ag
zTcbV%&KCjK&cPDEP1B$=m$_ZN!*!IZ+JIvA1b1}7m(-*{NwdDQmIilep*h8_(s#a2
z<Y#6eG*C9DPOOEt!64jk74mEDg?x$m2RS!~6YzC$biPs4bHZymtmDS(x_2xitU|#W
zG^ATcu|``1S(D8@V};FIpfh`?$H5Yb<hAJo``*QF+9FOqG8=f679DrrAhslZG3W{V
zW}LqTnN3JHdF&S$l<~ToeqnX`QbeUOZPXEnXToC|L?-A(+lgaccU!W!t_g(oG0csM
zue5}Tq1AqAN#3qVkD-7b9frJ2=<2d}-~r4E(BY6Ue*n4c=46xJN8N>_u1YVV54Ije
z`yTAfQkQv?dXb3*&{Zn5;<}j^sL<H&NpDaeLF+U`JIMv;xa%ElsQd^NA2<`&ZK$J;
z;&1O~8tliOAfRrC`30(`#J*<L=}*Ij5dSCrO!`)ILTqQuC3CS&(p#Le(O-yuB-Yfu
ztH6U(xlw#(L%5st>?7*0N(Q5cD+!xohz>jIobDpMqe<x<O6Q=P%)<R+1MeS)l>ULC
zrwNq}imwDB$Q4U)Ay<sQwBQrMDJqS+aDp|tm+%@c9GhYX<Ix)VwxZ^Q1Iz--vWF&L
zKF?q`-jq8#W!`ywBF3dcd?Gg0K!q>x7;K->JvB6r(+m(pzLB%<fq}57gaJ9A#oHh3
z<NP$vgCnZS5%%cW)As{gA#pHyTBLeKLwLv6T$a!X>$U!XX2Cw<YH7Pf(EC9agT5_s
zeX5qc`I-`So49W00Z$tSPFVei2JuFy?z(qi`ql;>$EzzdMZOc5&NJ$+ifoLiBA0+b
z0IEwDd9(sa#tVa1k8%gj|2bH%3+QX4+sqnEzKw<V?RH+WPQ0S<P_=*c^gMgf^KeG0
z@M!0fvZdpnT>j>-_B`f$sOS0Go_9U}IP=%Pd%EQ+%j)X~CsaQ@@;&SKxpQ|vf%Cc}
zmGim}KDAZ#yN{0D{O2zhBzBC|IeVUGz2CLx@=<+v6)e9a$GmCByF$;?BZnq#8ohj<
zVf<Tj9-lE@etT74Ec*2LOT-^NaWH0}67+&v7%ynRNNR;Egm|1jOb}*59FT<2E8%Oy
z+V_6QiO#`g*u#Z1;U?UpJqxQdQOFRk!p+z>3pqFq6T-ji0a3!=c>GPm-yQfXLk?B=
zdlY|*@b?&UdkTLP|Lk)X17|UC76boN7%=ejdF2?bEEu86_*vsA7|Y6p2XTV9_w#w*
ztRDRFq-|?&UNv{=xPOic3{J=Syn9~}I!Ds^yq*RPPUWy2)?}Z({D0?JJKsHm;Ik^N
zMG}N!TH%Ku1K#x4^J&LcS|lEXF{kuE^!tk+-{1as&f2X+ovHj(_eeb=g)_vQwR?UH
z>VGfdh2N1l^ftzvwUdFj_7#8?e)otMJ!`iJc^X%T&+g$J`xqhAI-Rp=bpGxCjk9!H
zWj7QI{RjUhi)+V(@N-*89@eVt1$6ECor9{9gz_jDH-*g$%RO<|A<5AUu*d^x8$U9)
z_Bq7yCapu`VC!}%|4Lm+FSqt#{u;>e3cQ>{utq%vw{m383m4xM{m0!{&?`sg_T@rl
zksp~WxGQ{Q?t3@_^Cx48bE-$?K2y%BeNBq)-lVOdh(I0SVw2J_IgkxVMo(wpW`K?C
zJ<`S_H_g7Q>y+FdkQ%yMJ&(wd-BKKp`wd<sK}`tEB@b<YZX6|XSQd#Na|mbm@O@81
z_m!#v^3mLZF4WxQ`P9S?;$k@v89Qk5&WOXdFYJ164Lk`%y$M;BfJ+36{||fr0v=U$
zHU8sgZe+;q1O*9*FiMbAP$HlPf;s~;<U|sP3W|3u5V2apFr!cr2Pc8d9H-i<)wk7(
zwHK<k+S-y3t7f<)0R)410j(Oq))Pkrt3?nYzt1{nCIqzozSrmZ|DPv$a^~!_FKge{
zUVHDg*Iw&Tr?3>8aLzl3)Ax!T#PYR3M!FotHZ)xTi|_7?_>3d|_zasrUh%a*e%&GA
zo8<W%|6C>)0hQ{fIzHtE6U<H4f!N>t`hi%TA3EtBza_+`@wH?zR~xtldQPOnfl$tf
zEx`fuqsosHIjjL}t~MpPaj-?Sv2RND=6hq(q1JE4;hopmPBv9T*H&dEFc9LMM@~Qg
z1qEDPH<?U;J4^uelOHtPk=?*GUrBZJ?E<sBU>2TlCg}wDk!)cEre9Ceo(tp>V-~V+
zQLmo{ichuaZyF1!vd_Wpgv)02b$M*PtFks%MNL=aNU!R*#=IN9rMK>SZ5CSD4m!+}
z_<bua4CpIRDu;~OXq*icaP%z#$j-iI5(P$We=vVd^OKe<cg-ftrPl7D`RFgRk9>5}
z{_~|d+sqzF07%-qPr&g{U#h|1>ex*Rn&A;3(BQGUfYsW;?hSp0G{`CPlkF?n5*ql5
zY~_<^tUi+L^NQ>cl9{hC1QluM!)pD+d26h8PFR*AtFl_Eq7$XD&m|WcyVPoI6Ko%W
zIN0}!+0JVH&g4n#-_f%~+rF0+h8l|R0O{w_NlR7MIso|*Co>f-2FCv_bf%BCrn>Cc
z3<s4xuCd|Oq?%iBUanUhI~=$kNr+>5lw9{eA+jOdisMMc9PNXz=@NlJh^O}NRx`~b
z8Wg9qa)GhI)NbB{TuOZA5ICx}=ZUP7GrZAJr#a0N9plWa<TxkPZ%k9;RvV4Kuc7IA
zq($0Hx7+~n8dJtFuKWdFR~rqeE30fFWUF1hS0bVp{v=yboT2>2Vn!LvqBVb^488_N
zaHml;TAXk#6@5E6(wn?nyo31UmCy8Yv=I>rMNF_y{M1N}O(B8Xl#dV`7^q*8_hmx(
zwV@3ClD=TRJ2ugoZLgciVMS`6FSOK?BBO_lr;DrxDjKs9#=y0gT3^McqAH^z_32$h
z&nm`6d{U`m4nK<$Ms9&4@o{clX`k?Jhg8+{sk<_-uJokHVOwalG<%T<S!JYw#;2&p
zSCu9VD}7z*$pX(xS=v{6)701}M|qr`r0tqqVTplZvEVZ<Nx%AYsvXY>&<VyYngE(6
z;#j|-gd&dhisHc$bv;hB+J+}6c(9bFU;en%EZ{Yf;14sqA%U3JcHKlULMe|DAhKfd
zoGOxof9b0{uBj%t1)SCey~MwuJGe_IN|&lM6I{Lp?py*aaQ%-17Z<^#>spOr=W>66
zeih-c+i{x}`O5s}*xR^T&Y9qpOZ7gK>glb`ip?l7iM{JD<Z&SUHWjo5`x|G<T&d^W
z^q9O{D<%KvG<WQQKU3mZ-Jke1E*Qv9<2eu|42kv@yUFvP&raH(?>m0S!nx||&uJdi
zsUbzxWH@P8KX-pX3cl_IE13m!cjQoK@B&>ckL*&zhaA--$?$y1>6W+V9PnqJek3$d
z4_Ct6gDIJ}FxRJtr}M#UCa<IGlJ^=jr<uh&^fO-Zet*0&)jSm(TD5dOpfP~Tpl&A(
zmi+o{Cl=C6MdpCq2;YjE3PrCdGGk%O*I&Rbh1=bnTXtT?>0QpR%-G0r=`+wVnsYv|
z5fNKuHk+$XGSn-IOykpm9nvQNklSE#63^AHn~08Fj6fBum98sEU|j@5qPN{Bl+K9<
zj8sAo34IpibBKs#2K_B`*b#NV@hb)t$5;%v1tR4jl3C!g9KSFcQN8H;`lo=dTtEcw
zb?L6N0ni-&jH=txe7bbZ*R7apy{nx_RfzWVLZWU=)4t=zGI9h<3i3?z&rJWW$E`$v
zuo;)10a5BhF->~$h4CUK^SvxHxJ)>3W1E8+f3O=PiAK7)q>~}*F-OS!8C@vN2=!p|
zj3}2#DWW--^EwdT%w%B;ozn<0QzDzWLA`EGGfsc}l7AXEpDm8E@r{F6@Dsvyk{6BX
zcp9_81USG7AdF|u;^(Z90E;{ee%eBl8;7JzyW7a2v}8*$x2g|w9w&|v7Mgbv1&o#%
zF}yL1!re-x&iqOT+KjhG(3v}oDZo!bM9*@3;%;LN2i-!OoEYWJ19=xy=L5?mb0;_4
zk7b6Lv2K|OS@N1TDrom2F@u?smlK&Xu8W$6w^6v<;@bNtg`$T3*gsHbtc|-}Q)}*^
zXSHRE4=!3zJy)%r$5(jqOzg`}#N{nMubCvF+w@PhWk<fiXW?vGrx8DyMk<X}v<`+r
z5e$i}b?=3h9*>M;$%cMjx=}0HuEk@tgH2N>Z4%S*`D^CzX`Cb|*tsEm;XDA@LcdJr
zHoLA9rxrc$dfptjmlm@2_Nc3;<r}{giqMqjk8Rc8((@yG_G{zr^s37tSWHC}N#Uqy
zdwY3psTRE0ufI-jCU!f^9Sk&=4PZV!+kPNn3l8G@vq$6r`3OAyWgFWaumb;J^F_1m
z$&9iu+saQb#ZDz6GbN?o>R$_Q_~JF5sg!mOog!J@F$y`#=YU{kx^;WICV8rQbE4f@
z=4fhhI&5~E(%Gz|5gr&jnoDQe!uN>Gr7yNsR6!`)cXLu*J538ZpSLCLqnlDaC-Q2M
zE}<h!CQoh;rKF1~_yQ_|!pwI0G2~~z{2WZvSG7jeK9ogfHz<t`@-b!d=<g#xvHDw!
z1`2&^XkZygBY`F7K=DhCLNW?*t^)bcmf<>y%8BeL^t?`Joh;{AW>oeyJd6#l8Wz4d
zPuhDsL?4Zwta+SOk&V5oqMFmV44gJ6f{#)$T8)x_nB08RcN@O(AG*V&?gMd4eC(!^
z*J3C^(^?cky_(m9Q1^b*D6yZrgjhUI>~dB(Hu=PYr{3=Z{8!n610wB5a`K?CSoiCb
zk{{L{)p}2=>_iTrtfZ-W147WAW>+rp6{9yJjPqKLiJfMH>8<7!AhGl%GOA2MIiEbt
zD;{Xq;#06?(#oQ~!6P9ER~yBj$tKD5J4k%<q*=rkGYHsKh`N4GDz(1Uxkk1ivI>uu
zI$KKfNGNUGN@)Dj3`lyRsaE(g>ljT$Va){~vg6$pjK^;+*d@l$NSki*KF058&=-Z?
z(0MClwS`>{e|*y4jE4vyn&oxSsO8fipS?%lF5>u1LkEp&(`(Y-ttk7A@AA#`B&)<-
zM_47ccqymtDBr%!SNW#N<{R%7Vpe4z`7uk}q;G9pG@NYo^~S@zt#$S36*n1jC!FZ_
z7@6OpD+Bi+VFQY}Jgmk8daK^rI2LNHD;$>jP#+t$F<X8ufLJM`|KlXqjBg6nlSD7e
zS+H+S4JFYvf7YfbH~BQL+W1+2aeEuG31DW>Ik)V$fcEt14{Z|j7zfrmf){cWSF?!&
z07YNxAIbn!<sfkA8?4@IHres^CED#noBdg98$o*c$|b_~-Tth10#O?_sIY9}Y<QF$
z$~hMNm5-y?15ZhY6ih+ev<)*>_Enx>|7AzR@oSVj)is#}7+2Adk><?gdxWkLdBmzn
z>yWCaB)%lXmmS_3B}~8xp2xl$))O1!h1_a+N}Q6=7hC>oUfI2Tb*2LhTKbSoVwYzj
zhZh_hGcU#ZYSxF;lrwXEo#_`d)mK;{mXnaQN{jJbFc>+EgZYeuqP=9cQZhsC+jNjw
zA0ql|R!VL`pOr&nIo*~Wwsgf?c}b62folX$tgN%cR(95xp`K~tf765M(lc>2Dr2eQ
zntb|PK&)9uV&m__%!rS4Mf3(UeX-K%**0HY>2$Te;wB8lu;blUwYQO@9k#I8INQcn
zW<PBfQ?hNp5C@QCxLw)>#iQ1oNr$t*y0C&=+Cl2{3N;shwSK0(Dw52vN+g}ev;ul_
z?wx|qPrOVKSzs9}_HwL@LB5K&jU_m7JYtLirMax8*6%Tg;2k-E+7E+2(Be1b>nE$L
zC)o)pNqn5gdS&5N%f1qPQ}1QfsVw^{N8FJg3Fw1ZOrJ2hWJzJM8VQR>76j%_<6RGB
zxcg2eG(^ALjUff(BtEupGa|cfk#^hm-P_xH`(JvZ_w<+E?rcVyi#)!lj=dsTjCmK6
zVNbB+>VsH-EDNn2(MP8N+JD;H-2-HcY-}Z<vjrGju0SG;tKr{Y;nQp1AdE`hF9)T*
zsQGD(vbyGL%B?@}1UR7w?&olrOxeD0K_Um4kKMVtg2<x{;dX540OZ(luB<4T!%S%>
z<eb7Nx-MmEGP+GoG8egJ5<<|=^%(i!Y-c_aDFvK6n2%WgxbA(xnvYoF&C;Td<VpD5
zh9Bg^O}AzVY2_ptS)wjEYmdJU!R>Cem9#Up_<8e5hUCG1w%M5BM2sdddaoZt55;s|
zF&qmB$CAPJhRzHj<_CT7n-Ebs!u`U|s*;21ikGOoU!OC;8Hla-h1)ZNxu!jb_Fmy7
zMGiYAV#5br!RnNsxA@i~M+m`?)lE<#FQ?zdE&lvGmPBG~y2-C!8_CmMZ%(1nSk3sp
z+#ZN8v`vhUErL1H*?B}=A#<<4c1O@nn1AT|NrzwGF)8jGjO0ZDQ_s&xNtGVEpPspO
zfE)SF@U9a}baMERD_GU7khaiF-}u(x<zhbk&o;`HE)pJoeY%url3AkNln5cCYFm6z
z(K4iHr9ky`u)nrV3iP^vD5gyPdK=~+PKmlyDT~#{r)5!~vcxXhq@b8}c(Je9Kfr0L
z3PhI-=mm#r$pClI6Np|rpsz2oS(FVm#htZ`Z02(RfINTnr+$_$7*Pxk2}Gw4803p=
zvQf5faq|7qAD0uyAN_@wSM+J&RO|On;Fo*viZt$4j6h)Gp|N8~G$#JZJQ`}@53O?f
znw{rTSaY$AvXx^Po09qerri&3g>IDVyNqETnZgc~$1iN*0){X4zAwJi9-rT7WD_8}
z)f|4*+KJ?t-m$8Yv3waxX7G}hGQByJKe70+;(0eiVb9bY8?f-@uHM@rJuUu~;-72z
z_r<>me|2@TJZ?!^=vzd4mdD6pWcpLm7i@jSYxz*wiyk!YH8TnogbzCxy1ezXlcU3j
z-Quz(3&V%Ay#o>7{pblqcxNZ`!-v&7PYxf>x^q|faE4cXq{VymH9}|0_Nq{`GAr`M
z4j7L^A^r4jp_y5cF@Vf`row%_?rVB3(UI$m&pYZH+8Ue)m+owy{;<`?#n$=GXgaXN
zJMe(_z+2w%-__)qv31@vHl)3LXY5b*6#=WEO(B;rwm+FsvLT2~x_^4ZowI{yG0g9Y
zle4<|%PH~fJM@R@o?@=`*1Q=SitZo1$#+KUSqVG4Wa*Lf{)P!tR)kpWd#~dbM$mz^
z7X@>-eGK@>?jep1T)}zEr$5}J5+n8+%N3ily}fpA@Xx-wm&6khA1bBRXTaQ4YZlP(
zsC2^`9}bc!bfWAs+B<zi+tk&Ey<*&Wnr(Z#tSpEM%`~IvwN7Fp<r*~|K0Pkq5Lh#G
zXj3ZQ&`oM>fH9@6zOSH;^s+9}ugupI*f3$!1i8x+XBLJ}e9_W;W7X*rhecgmAeO)g
z025*tGc9zIPcO|MCW$0&hcNVG6SKVIH-!4dCT33P70QiG?9C^1uZfGO8&ZLTCD0kd
z+Nzxq)9Pzj9){>4Q>Xg3_+yDwtN{|s9XbgRa?MN`FZM_U3|9fV<w^(qiK{!JkK*F8
z#NT^?Mh+7}e03uWyl1scs(b9B8-K%X*Bz7Up1o)mu1R%&y6C&SOY3Sbn$0_z0gMF#
zW6Xh$G1NhXgeVakoa2Rr{+(=jgV2#OG19ZsTlWX)Rt$P!x(F$*xON~Kanl*xEA&U7
z$;PE&fg$v<rXNM8*%fS1wZuogxM%Jkex~p+ycju+G-X?fCL-fGyf7M(WE1uB;Uleh
zkzM;a6tSX2bt}+6d}Jz~fGQGDv@xKZDNwq9_}Fv|pbl&7guJq|^)-4Zy%kBfa)Q%8
zym;6vv_@pt*I9|~sUl4jN9v<n`ATLJhHlDgO_f6mJglp5-6D-&wrdEemyW3Gve!4O
zbCH$Y{663xUhEBCrPfC(30|X6v??EXt?#XhnqH|8UY8M}3JrQA{d$LaQ{EUy>{LKx
zgSzZUQAknlg!b2N2)-|-DY*%2Ht4XI1f{5Yx!!D5Mpgt$xO?p}b%Z4>beUwZq&@<c
zTaAFFb*H)An&i|c6+|Z$m>yXhs-lyelZ$U1j_wPyPQ85bN9v#&e3TD&o72KXw)zuw
zzuk#hAWR<Gok^@ku8>HRqa%54Rh(w&PUp9LxF@m8oz-f3oMAeN8z!#4&6l-pVtC1L
zhfNJ^o5(f6RE_mEbO=mvgmNJ!xpC(m>N9fKle=v9enGyk@`9s%C9kuC{mL6EMC?=F
zVBgr8aBQvG-d^SF-7AUQpd<^?sEVUGm3X2)eRwt**GNssYVx>ShxZMhLM?{p9mA@=
zR?|q}AS*EcSl}Ql(715`Wj|=V)t?FJNXQjASg^Erq|+8ED%o()Nb)|#8*8>VdF}f-
z*r?k6F-&u`bKQB89+6{%Nc$69G>MvSJt8zsE)&dTqop*-k>0GR>B(x4=@n*Bw*wEX
zzjMF9Bh2#ddtOB0nOqsKMk^ZwKMaMMf-vCNZLeF7N8K|rip%sPG6%AFGY6^6f<<&r
zhRv`KmQ+?yYIeGdg9zq~Uz+*>QGFzmt@^8p-CT+D=KHeVz~w{rgwV^ZHYjhjG9UX=
z0a8I?;h0V#Un~F#nWcX-9JWxQuIEu#VHtG5GE$V@;i&1;;w@k(b?V*%e{^a=vOteW
zJXRrJbkZh$!%_3QWwN>G(<igKnVJ`A-~VOXg<RiM?l@&~T{f2-Ca0<Q<ou4|qz5T8
zvVDz0%VJZ<)?kB4wh`s}FHIGWvQSg&Clo=n-<JD7H~2=p9vmx|fUedf#U$s5(p(1}
zTLbChtw%f($O1oVx{@QH@}?FYxak$l_8cPp<qPu;I*l;7mgb0GnwNA<tSiqb05M*x
zN_4m>OzmCN*dMc+*PpVRSROySFDWJ$XOB{AW;3dNrdf1aml-Vfs&N<HG-jj88jk9f
zlp{7d%eMwkWn!Iwl!th+$(iCjJvO<wjJr`bey5MJcP7O53=7#XV;Xx^CPfR)^oUHZ
zvV)GAF6-M+0V_sTN10^&RA_IkyeM0!!KgE-%&0=WyvU6rxKSg`&8SSiRw3VFZ)7Gk
ziFP&#_31^<iP7n!#&*S-OdKY_HIo<(QnF!<ic=8hL%<j12}P2ei-lf{8V1cNDzuzc
zLpKppK5Byaxf|N4dDYNXpZ<mEJKiL)H1gzmay%>`E;<e`B&ZTD19yp|lPl%xGDvRl
zOuxR%BDu{2X>;+8G^@*wR<27C-1VV$$~IX_V}rI*Xd)#VCybCG@*K>VvPNH|(;jp+
zPT(XEBj9baH8(0xks<I<!Agn=E5#J^h3?O!x&6gwg!(by>IicElAmU~tws63kq3ea
zL0Ge&kripRrMpP{ViAselsfa5P7*@W%4{eOu##Vy+T^WA3Q}M4)+2@dwwS->Ff%8f
zNc%o(27<~Qw=_uY|J>%*ue(42e6^kM)mBml8p9v^*dIIOubb<jQyJuQJK-+X&Al@a
z4;J*tanQ&9{{n~+jCUm>FZO}{0*BagUY3v*XnX-Clh4)SW!dWLchvxP2Ae~l8Z{>g
zc-C=m!QJ{2@>-_9QTKpQFU|3mUN@a~5Ylm~5;ff#wiK&BkbUpHvebP3asaEfY*7$4
zcwepg2V;o4eyW%cidWp}i@j~!@VPJ|W@IpF7*BC@YO)<=Moh6C^*~0nlzFfeZfvVv
z7?Jq+i|5`Mnr?Pfnf_N;bI|akQO+Lv&>>G)rF&mrA-yD2ygh0<HLROezuPgHLP%+9
zt7-mNDa%E*<`$eC(+Oa0#HMP<GO4w2MLgl9or+o`c%iNy%psksZ*C5J2_>J=zd3M^
z&A8HP(`QNHj|EiimUVNq_@#q1SoHD0J#wZsD`sQc&ZX_Zm-6YAqt)Wr40;89uztC)
zYFy1$M4ypC6!eyIa0>(QRXz@yp%t*)g$IHqLnF@ZJgh%zk!Eihb_&&ducP4Q@$<eP
z7B0@1cgv%pAr<;j5Q2Nw9>zuZVkJ0*{>Y|$(AN8$zobV>wpxv()~}Fdj#~N|>zCwU
zYs_6nC#M2@taE(Jj&zN?=HOpZQj76oGGCu<Hs{Z8-fGaw#voFa>!BfQ#0p7s=~$#A
zR<zM*@YOS58&aUEsOcfNdDy4_HBfwJa0uMk!)U^VCq>;3L8kQ?4t4eG>ND>|XE>4$
zzRdiZy=Gpo#+NIUzAn%B6#T1givKWM(5pUhIM@sJJMO9|)}ddmyWhkBnC2@4KSlRp
z)O2YP&P{if>0f{}Rts1-@>?3AJv7*O1hC!xyWvg}g%O{NhF-y;b>6yq$)Y>1rr0(W
z8G@qz=uM&l;)$ig;whAc!(#>Q(i+RwujF-XbAFt>#7^U<%#NhHl600p1m{tg-P3iD
z2IuHQqq?tToR^Y1Xbbi`5P1&%trLTHaa~--`V4-?fXv3);oy}^6L2gp1dC8K3uRXt
zzEAL)%BfdOtP+$o-Xo&VG*l-My%JJxwBjkN9aBFp%N(v-eo{>F8txW8y6ZDujV2sn
zAB$~6J?Fi&pK<C=+3dJpwc>8zC0o6CzY*i4Fi2^%kSIe`bKFdrb^Od#;kc`rPhU(E
zB62^@y8H4L(>=bJyCUu-3)c@U&n2d(mcVD8<#UhtaBQ;{uNin%MenP;*NU|suZdQy
zI`Pr9R(y)^iQe~so=V5PR@Z5%bdOlE<d`kfiuHIZ)*E<zxx|7lcq2K2zOFqfzvohZ
zT(xn%mh$^^%1`c5zL@fRQT%l6S-e)^ML80d&-3{F#PZo<`TPl=8p~&=<<o#qwdM0S
zd^p+@!mHl9UUry}buD#NE@$jNmrIG*$1au)551nEC9Z$mMFEa!T#c+Rmb3EX&u&b`
zev6Rth+g-+afIRE*V_?S%O-oNhkjW9JXZHf20(S!Zs66`6${#JC#K#imH;!w65zRI
z`i7*d0lekZ^x(oXh<rDxW97Zh!TGeLyRTTzy)@zBHqS}E%;eC{A(mm4_qujt&AE~X
zopzWMi%7v}^u7El5Ph#O?wNgVmW;1HKI6NN&-hlzcN3Hb+TCD0!NjJnu4p1pPCoYn
zQe8cxA+b9z3$wBTIw7YIe!gg56?(_kseXE|B0RtT0bTElPS4$8dT}2tr^E8<n_CuX
z#_)UdoQ@zwnR2!fpyx~+PYQo@mNRn59x94odYY`dHX6?`)J3kU!FxU7j@E_+=A74B
z_2te}H-5RZGZD>klM*mdz=(7RCy~93R%%GGHFl4|???-uCO>_onKK%dqPC;Se0|2V
z$&<Oik2{;w1zsX&(RLJ2y{HnPX2t4$!<fb6Y+#3X+3M=tf=2O*O8f@k7kxmMF*MXn
zJluG+c<0f~M~s!d1qlK(O*RP1DQB7ddXtHwMeo*3?H=6E-#00q&4Dn#z2PRoTMAS<
zn$%}xXf`eeeC4gUp2r2><!=+C*REVpa(AU#6O#^wC0(=3bQ}sUK|E4jy^oT$8d0(?
zFZq7!!fVQI*)pLdXe(ZLX&^q~d=3^U=qls;Ai}uoR)sjkoY97-@ylMce??oOBS%kQ
zmUu$%&}rda?cqb7P(Kb`N0Yn0HFeB7vA6#h3p$&VKjGwnle)l6sajd*hRzn>vS#6`
zl}Ep?A>YTTkxgChl}Q&m2n1g&d}WrR6gVc>snPq3=$(fWb#<ol-{MFAO3)qWm&G60
zg(Lif&c303;qi8Cg6ggph#I@ZURQU7hGu3COI&k;S&QnK9o5@39W0EjUvzA;F!c<f
z(af|tIggv|3((!M$m5$XQn?(NB=y6bmD+scUkzOhlEp9Y51viRm5x4WTug`iMyy9L
zv}AqIsehi#ewn!u<CibX_(3=J#}o+V-Lhg!7KOpp!tUZLUxRl<+8~iQ?pd~>0FRex
zVB`}Si$*)06FF#CYggf=)<5@S6X@qgEB=x#GLGv**O^!YDKN7v*}t%yR;&hOK)-MQ
z4S4zvB<vw1!nkU<!93gCzPq+9l;`8DkWf2H3lAjRK`unrL-)5Ly|`W&3>cese35*J
z6~_Z+=9{a&+*TFYl~Dy}qbjSlDtf==zd{OSiaVOFWVK&k@sL^0%^KGQ$ALH52kiDx
z{|1YX>O*Ka>p*~fT?g#$V2+%CcFPjEqP1?VWNY<i{ShmJbzg$%t+GSi)Rm`XVC5+;
zeZ^yDh6oGGo>lk^%&5TvZ!{IKBqc3zEyVbk4mOYOL#@Q2NV`M$@gwDDaO5D?R-0YR
zM+30grOPWhpxO039JV9@i%myHvulnx(Cq09B8f6zKAK&@l%G4;ui3TG@>^uR?v@t_
z`a0|_Xa$E*a|@vaIX@N>9GP3BAfgnRTYOCBPOXbbog#M^D#0bB@X(G$#tX7|&`|>y
z@Asz*sCd8=X&P1)na$Z&d`f1EW2#m@9j=xrNXoJd%^IuPIy+k?<wMBHxT3ga(jX6i
zT0_7;WwhyvPGaP2Z<*vd*(_q9(2ouarUfzgup^nNy(k#XUzh@VgnChwoLCVP!`VXa
z(4q=CLu(qcVAHsdpN~(_y{vfV<^JixJl%(>&!*r-%Ze}KJ9NHY>0HCIoGEM5LadN-
zbh~Vv6gt>n&TjFo{y60m%1pBB+K3&U5axv$&hi&dqOsMrB`D;wG+RgCqh993M63|h
zdVHhWEL^`6SLGaBPf5&Z_-m4CrU0AA(kpiSco)ghBK?s54jRf0pKgpfU{tf7Lmw=<
zCv?P+I5k0so4JycLUahaA#YU~*=GxS<)=t~Jo1w#46=ZBOJc%AJ?Jh<o|krxOrDi?
z7AA+Jot|Xhv@<{1JMDBwj&=s`*KXMc5PxQIXKTW6l^E)Z#gIsN1bs8(*}rE}l>sXk
zZ<#`Po7$=L%qX_IyH2b$83w{!6D?K9cy-k~zpgSZ=T#||o%fGnIiu}}F3L0Rq`x7Z
zEWZpa9#ePkadp3+?DWl%4rfr6`LVxtOY;PMNnugaopOzgU`}~!B<W<Gf?(PZlm;eU
z=25dOq83^EUUNfc1X)>eR<uZ#u8XoP&K!LXUvDM32)sbtce4JrU$$?e5Tj5_*)Wk0
zkDgs<3_DBk8V+KaevPM0zon>5-(#v`I>!4?%d_b_#e}mdg!UlAfeYpJpC>xN@`Lcn
zmL<6U+Zj2Ot**ElWYcch!DLv%$$PoXB#|oTzL%6EB=VPF7(Tm1%i5wrlHz^$b054a
z!tBBsV*Ogb-Upom5&^vf_-%oEXr4S1ml&uZ;5bgngG!y6F!Fu9C!?$aWwZVgx1<T^
z*Gn1!oQ^yQ{6$QKbe)%;^`UQ@p>uDX`|E~11*;cY0T5H+>?*qi5dcCQR>)ulPy`9I
zuK3cm#4<r9hA9*HT-N&3bgc$?G_=3|_5nAH&b4HdXzvBf+tHM@Hqq`Px|DGwg$hJ_
z`E{Fo!Bp)_GrY;AeM;M=+c^=B>^ZdEKnlUP-EcJd#F5p6BWoQ@9+*+iZ#8LtyeL~*
z4l#W%Mo*~qhtN1^?ru<atLgtR-lPr78JU~45>95TyIUVGGlx*g5_j>!4*fOj;4!h!
z!Mv5&Wv@znWUrd&SmG9@z0<AbNRJ{2s3qDNOK+RC;Cykr5$$D-p`sJ+p0GMNX5wn6
z93Fv9MEc4&2YLY}7n$>`%j8eFWqqVN)<zvV^Xj!C6Yhj9Dq4eg;qBNI&4}hoK1@`y
zA!LMF_l2-OF-qvwPNx14wr#jwaT;rm*Icp&`1ZAJ)0aCso1(6fq+<qSDb(U%B>}N^
z^&ZI#)=P^FwM;CT+s;?lD$1*)v8SHSZ~r-x?tHbj3S>7k>>$JI$uKsP^F#71f07Be
zq}4JR)o`)(b;pv1OD)&JYV<wAgSsx#kr(8wEH5}peuhFJf|(8HQ<RP@K)1N=B`2Cn
zG55<IUy4hnm*jvJ*G&Y;EM=0}j=zeFBudnE837%#D~Sx7jFXCVyey$j-{sf?gIovQ
zcV65$jkxMlYZsm;YRt*{Oj*GXjC82MTneGqiplJ_Z&>pA1{s0L-!{lBl>9}*P<j3A
z`29j{t6E!1eCujNR-t({!b$a5S4%A~igeh6qa}lMF02B~T>6-~j7^^2Fjn9WY=Bd$
zBu{Q&_E(bG4NUf|4I7v{nc35K7m%YyPvqIs1CG!Pv-Jnj`t7ufd3OX;Cv0L+ZtXTp
z>EP-PGwKkt`c;lLG)TJd%xtjg-&UQy#%xd58nf+k1_KxLi_VZFUx7Wa0RahRQT
zY(9he#M)<q`FmQKU>y}rSi?icMp@Qc<nyAo<T)pLtM#&PvnBhT7!bp_3X(odI^?<5
zcc95}T!tq^Z{qx<A%ASk5uMJJHJV5Q6`@ec!)|^@K;LQcS45?W$GCttmQ@ETQ26wt
z5Grf4@e}c6n!9G5h0~^xbeX=xloQ`=2)(ydZl-l?c8OhUv+A-q%5LkDwPr}B`^JLB
zNMvy%s}Mm?{=&)eDIsilM|+I(@kTw4^pU%&WRpacJ}@KpK`!09=4*2oiomDi81R1y
z`@HV3-=Q1-73^%?tAWfY`|1WZtuyuJTV!5@3uVr{CLam*5Ub4EChfmypZ(X(X4^tK
z%sJJ(XH&*@MSsV*-|CAXi@tZ!S6b2%%!Tua$pzMr#yOG>!dE2inY#aC>1191J(JA*
zU+82lX4N+r@XHp--bPv2y)(`&x0VpDU(#$TW{!vW7ZM+y&RMT9<b?!%gMpJ`(dGQV
z;0`(-?%!@U;eLhkk$(*rEFY;LcEY=W$+<m4#)cp|6K~eq79?q;NQrg_b7`Vov~)?4
ze*tLGEoU*9C|@C-593Myis_wxQE|s}E~7+7ttlemx<kB7O3;OS|984*eGu0Fi7whp
z*K-T>|D}sIRgasu{m0MGmkCpAcz5jTx9@%b)JfWxyO9__N#A5#D=2EM{e|V4mitT3
z<0c|=wPB~R@GI7T(7|k(LHi&}Y|`q!yo7Vmee_p=EH|EoKVVsj30X2VUuS#e0MBOE
zM!?5f?UZB5avK*&CpxugFXJBI%Mu~BxoMYOlXX&t7R|608er|QRY2EW3|RxEO{P_d
zq{>%P&dr=w2#p>N*L+ZjslC%(eG%@{Ot-Uo^f5Zs@jFT{)fwC^?nzy7-PNQ%d}^{8
z`9>sae)t_Z?vRpSq?N1-T_nZ7$R@R$iK;YeVf=-xMYwC`7&OE+rRq>}P^|31D@|}A
z?@%6^lhJ8ht(FN}zuBQhj;ae!O8$0A+<6TE{lzFcURxIJRTeqy(#*L^=%jXPllEns
zHq=}wd8IL|>ka5f6v83+EwV&%im`g5d7qK>Urg(DAdwdw7xQBEtKc4gZ0!Vl{F1)@
z_+?{#YGBjEn6q~>A2G|$;3+T=CiBThUNCQB%-`Eq@O9|J(L(79*G;&XV6}8xY;AI1
z`ktla218_LD#y#M3tQy~l5tD70oIj8l_B@R)49L|+cMi;RkAslFK5Sgd*jy}WK^->
z<A^r&CTU~}w$@(Ehc@4fV$A}vv~qo0!pIB^T?aA{uqlrC^!D}u^Lsv1wZ7IjbUWb$
z5`ZXr$=an(gd;OeJnq`d9phP<*LJ?-a7<2g0x=ZLvitMJc6ei8PDjuaUVIXUx#0bw
zHFk}x!zh`5bfI;}7)R=mJGL&i9l<x_Gw25T<>V;-2J|ZzEI=T<uRcJi)2u44T+T8^
zF}T!vwvKY)_+_OXLX~7G?Z3bYPp7#mi=uE8a)FbCr&uYDm@xepAmY<4LN9Bc=wjTY
zuO^{YH&s`ER6|hLo1ZdiCyD?$r)>p!*sJb0Rv(a2{%k=WJ%fP2jyh`#sUKw%&yoth
z<pT`AZZoM`W222gou-2s1sOzN1*kDiIG)5o6Oo3r##JPf9pW(|I<@B4@aFw7E2gy6
zR@0{Hn2p}p{+cGW<_!r(IxvO_ruu0j>%G$-yV4y?pd3p!>%9IXnZ2&R0}H#R;AuW^
z+*k0d<Xrbq!Bf2J?ko5OFMOYu;BgNX6j3#`hU-G`J{~I&)^Y${b~URB=3b0wuRh@4
z;<g7bukx4pw<w`0yvw)PLz80uEl&UVwxDxDXXt!ObkASX6uJP-e}5tIA7}@`(5eyE
zHw$XVodfB_Et$Hrxaz{An}XR#*OG;=WZl9k$p=%J#inn`p=#G|$pn6Os%ix)-np^z
zEvg6up<q8<Rob<CbtrjgOu7jz;f|OkLJ+&JKt`7lV#Gmp(3b`J(bke0VPdYw>(`ER
z(m!tn^z!itn>6mqT9~Wp_Z7?{nIO2_NW8CL5npwEaL8Uv*5=FeO$W@>Fo<7eww(@8
ziCj!jai8ElXY3fiBeYo4YYIe?jq_sc6+Bkp#jV38sKF2^E_hD<VzzPnVTAg!u<^{7
z>4jXSX_!qs7`l3SaW>QTvRzIFNfxIpH3c(CpXJ8XL2-5}MW-@|joM0tLInzqK0eP}
zEyf-zSV`eHu9xyj(fzS?RavkQt%|bhCaS<JBuuy|UXht9^3#4#l2G(rA~N<TvoXCf
zu7NIL>D-F+pdSc=Jmtu2NZO7EOj6_@pUoB5ld5UFnt}!R*NMu?^6}YKD9g(fZIX^!
z1bVI^#4M(hZdsHik>}yX9bSK|G;2(gH+E;{xEeD9b@_c1q#J75f;WnQh>7mwz|df}
zb=)fM&}0dc0Z_%Ky<3nyG(r$~e2qCQOe7wNhs!s<$^6LSqn8)kB7G-t1JXoPG*?Ou
z7plo+sqDd*@-5u0`cuJvvJi%Nu#}=7<O8{#Y<+D&rvZj3VFy&1`(ENGK}oECJg7Da
zMU=f^p{USdS)eg^?&#fMN>lie%aNOcfo{NFmcx1zp1yWyGvJ19Jq}baKxH2X$}}wv
zC|2jdk<PC2pYFC$^lh_A(xZPPU-YmHhS<6@65|tUt&D$3COAx&3bmj&uthWoYd>;P
z6&9Di-51{FAYXUl<CDX?ha}lM-DeUZk%tqSRI@Rp3T_FmNA{?v4-m_oChm#P=_cN3
zxFEJoCAK@n_BojeKC{RSoi6C~m^o-@X;9w|a|m>P?quR8U`>g;wPX_}hWPeH?E$td
zXt1_0Ft#a;lRkZ504%HdloFZC;J(nbH{H%)NjJoKQwfdihAeM(LzXw~p*}JHn_b9a
zp#%j;_>k0&JObF{Z%n{ry<^~MP5<Xf7=>DVKI=I6ioYZnPE!>mS)9gY+*McWE&p^`
zMYZUzJbh=@4l8}0q(3{Ix+?mZm9)Q^)PjRuL+C;pK-LalbYRk*{!G_AJycWUp0PBc
zms)!v?aR0t!19dd71RyXK)8LeNdv)nb@}y#>(laS^JZ|CY%s?RJI)vP+C(J0EepZZ
zHb0gWqF3f8?JwB;l1L&#P{X7x(>K!xG76y25AYI1T10?G8`Pz~g&4?pIQ1>#T?o!1
zi99Ryu|PgdbRcA&d<X@VXtU%)P)9yy%7<W-d{oMZpsjpp(xpXwn4%K|cyO1CP!EAc
z5;H#)6KglOLdy(PG>>Vjc{kN!p}rzxP7ym1Y)@vS+tHe&k2ZPL)kjlvJCsD`dUd&U
z($RHw7Nrdz9-=OP&4h_ONh=Xd8^&5gZ=C#vlg2TNAj!YN*ANbL9r7C|-pf3cT9>ed
zY#)Py-qjy-C(@_C$w}@$_&RRuifi<xdZ220t?<*=2=^d*_nzq8A4Kn-@2x9V>mA;@
zyRYPa0mHJ(5J|_mF8Vv-VgBM$QNkGPi@jN38?&)4FwNMBoDX9&8c4DMBn?De{=ywc
zi0#*x<QE{`s_B1Tfu|2evrPKI0pX>r2T>Q}&o4BWgQ<n!;6h0JlEK+kiG7(>k&hhV
zrFqV(=u1zKG{lA_8u&;UK9dn)JlGQWh;E_N%ur(#7vN-Xl5ISh6xXmN*~tOM!=~GD
zw~9s(;toBSitdfwHGsvL=!P%Qr{p6la1U~`CK}&;C!)7mZ~N;4H;7|f^z!^9Ht=rX
z5>UN=@IY(H;Ex7wq6uh=s%Y(RC<e`Yp(&Qy#KK{}tXrpwWM+B3lj{<OTi-?tMRu#v
zz#jQVyw;KEI9cof1?I;l_lZ6%T@tPMV1g~wJF@$z^*zBZA4jYYimKN5sqq0bKd)MI
z0Uxnip)4>I^chJcjJn2B?Q?i{4W)QsTGud&2d)&P=innSUwFz3<ZB*ZABbZXjy>Yw
z8d|N1Cb$_bCa#FTh`rs!l2P`Id=~40k9ct^SSx)bUWKAg)#Hz~7)>;Y^s^QX>{DxN
z2@fyL=U7G$+@!9)VgPfVP`RlCBbz*l-I-b2vf83EZW1Z6o5D*6v2#RFbg;U5>S>8x
zndT9PkUt`Esc#4o={_v#oELpi0nK8Q^AGG0Ig3cbu5Y8!{Kb<8A@Q!SMTRrH^kk&p
z*CNVEOgY+X()73>zrPsO0Rw49y7nzjI=|HY17&%YWmY}PhhEMT*dw@sl2-^@YgBy7
z2WIPm53KbS3$3iytcv*rWJ`LHY97R7v&CFp2@pQsuw)@u2fkc`BD^EoHbZkMWUOT+
zV(tThFKr<gMxc_8rVghy%HX5?$3P}T5mA*<rw8UUo}HKgLLxTs0TvUuN^tcmZ}2o?
z-at%swOv*ReSMt?w#1kP%&Y!HbN~qv@gXf6KEy%K#_HU7cD$WcVWTsTws3PaVP07E
zZQr#<_}<3XAIql0Y#rJud4az;FfCXf;K*^LIb_eYiZ^W3y3WoV4?{gwJhPA-F7>g#
z&1C&(U(R7uLHkodvB(={(+92$_9{4>&FoOHr_S^<QCwCLT`2w(AKg*>{|djsX*t&8
z%yM%#+)g1ijIbg*1vwtM_sC^?y;T~CBkPKN)cA%_mOjank~c4lCQ{`5c!>{-rvT5)
zcZJEL`z|k2OGuxSpg)-EAt&8cU<FpB13yF(R*S4J)H+v6jPzL*Iy0<;A#7L37957>
zh54jmeud<I?AJd-4DvqVLq#rB#9s)sNO|xVHZSz0ZGgMpnL!Rv@Y7O!E7!)9N4EB2
zIz{p-c!l$nvcKe}K#W0HmB|PpEaCV<My3~_Lx42~bbvGbGGtTwA(7=<R_vEU`QFs5
z8nDTYK91v!;U==7lIPvUZa7*UvK-WEp>wht*SYHNcugxgq(&a+(?6~#)GNHG(;akc
zolROvBKZ*v9z;mOi=0`=N=A-4LpR{g4qe4@vP&!363pVlj;6n9c%GN8a@nLlat%==
z3@XXcwQsugfRvwVc?f))v;DLHLcb>o73nf`?q8;LSj;@veU@iurKXt&Nt7&{bd<pn
zG4GPdJriMl%%ZPQZi4MSm<YP><np*LzueI@e!9E=9k9&Tp+JJ$*eqAI!boCdxdSE*
z8ie-4+9Lk3^W(0*osnk7c}MSMW;fY!*c4?->=3JS`t2wC{$%sLG!L00Oy=bF57c}e
zoX&lbWpuq<E{T0Y*9Ip-D@OFERwZkLxxR)%X>PdX%5w-I$ES`AL~rAiyWfo^5@S=)
zU7>F<KKwmbNcE+Kk(QBuWzOLKz5^}x;7qKQFjS18K=;`{k?B1Jz27O{fc^_0bc5~~
z)eZV`!hq~^EG<k!cXmPF0KevV=q=xb?mr%SzscR87oGsUJf5?qAJp(bi#s?yRfSo{
zWpYs&I^+6SEmNi=vejzr`Q35Fcbd(YYMd6rjw`;}_)+G<bnCc|11)WT54oSv_BF?Y
z51rAi{PRu(|56b>M)C84SEP#nB*LJ_+Q>^D>-t)GWCxHpmkOM5d=68_b<3gGi8&l-
z@pQF+;5gV){{G)A|N3W-Yo5Ku-Jq``?6~GR(BchVlPdW~a9NI(JOK1RAO&<n>r@>F
z-F3eS9m9uUCbvwD(i1YEgT>~a?<EE)`<2ecSEVxh!Eu>Ql3rG6pEpu{-1*FLm1w)5
zTP5}oMkN4!yMXS(RJz)|FpWh6kAwd$SoHYuIh^C^mcueDhvPu^?gIS^j1%NxWPtf-
zr0j1tl8^KVRF3pVzc0hrZX!SmLx)+g9d}#fi)$L+AXCS*{h9nun5$@vNy|WJ@x{Y@
z`hNfTvI2F*&zX2c%$cU$2>oC=p=W50gW8DAp#vt_zMH_>*VUTSd5_qx)_g`>c{iut
z!j&1ZJ$Mh#OrCQ}wyU*e#Fcuf(js38Sz-ta-8F80TI$trBGY0=Sp4Gs-uh;&Nmi_K
ziS?Ql>-lfSIxQ88Su}Y8fG#9TlKUC`3Rni6knd-|MR#C3izH4WoXw>tNyY)dk9jwF
zJI;yUOz{dS2=NN^({bGM%>q1TMX>?Llxj<!NxYkwMo-8*XvKSyOhlWg620MMEk3P3
z+!T&EGleX>j7s9@H=JzUvUp9-WSa6F>!KM+yLF_)o;BEAZz=tGY@Kk0&pbsnuX1s+
zgPDyndyQ&TV2K#0wSi+ok-u=qGJd^v^9rzKA@ZQ6WNG*=r!91<KQ^s^KJvwVwz|>+
zzwXd4|JrDRU^oo4b}$>Gwd2iLDJgFl#%=3djyZIP=Gb9gX8tD<gBZ$^Y@|JDHGkA$
zRV}oNs%3GWQx?70v4sn%R*k$OSjp<lk|;AVmWfqvX|m?gbR;o$IpjP{i}&>+d2%uB
z&uW=-5%e-Ss{C0SVZzyMsLGKX+1!w_sM~T*U)%UKLB{1oVB*$NbMOiJUcJWV_bJ^D
zV?8gXYoyQ+*>qveE9v&G&c-m;>b{Y~_E1)QlFj#*M|~heRs-8+EKlD$Q8GSz75$CH
zo^t&?eTTX3U<_rY4!GV0sOb5rh+o6W6&7XpV1CTJ+%H9=Hv8mmX`O)6QLtc{Ix&9B
zRdivbi9egbl<yF_^SEOJIgBgU|6)d~kOkI{@hD5|wR>Y9z@K=nk#hruHVp4M$c}*R
z<o4Zb8u9v)L$7rcPoMs*$M+KJ-A-xafWCnwZ&zWgr^@GeBQmGPbI{*=NsY&7q6+13
zv%;jby4P^w#aYI*c=pATfV7gv_{le8zWbioZ2RaSN*~-b<<S=J_@nB*!oV(PQRxZj
znPPOZf~^|*GK|v!P!YcjWl-ODm?~mE5JY**yaGrMdXFu+xshYy3CnxA?_#amP;X;v
z@jGP!WXS{JfhJzdLrxj_2DO^<WGicmO~Y$UunIP0FD95%WSsx5$@YLQPauUyJd4v&
ze<D#&m#Caw6{DxCI-i4EL*wl3L9ztc$TDK=dq)^a47xw26J93?<pLJxeJQhuu-1+1
ze<kCSojBk;C@?cM2uPU)er05dEl&yE@D0ztO6U?+xjt~vM0RV$k!lUp1v$fwBxfM#
z)H~|W%u5H`zBRZn4Qve!)~Bhq)Jz!xfn}D>n@v^DOIPK`WNUl|4KwqW7=@8VP9=1b
z-fzB$#>aEKyo?);a@vmkzEsYeZ3$~qvZz11(Ad5+-Nf9>Fe5l+cWu@hm3w8qOA=<o
zULXy-&T820r2zd23C)K6i*bJ!3^cZNgJDT2(VVeXygi8G(UgU1eOczv1l5rK$`i2b
zEwD=j?8RxYzda5VT_xxu>G8L*BNL7YP(}O%Vxs-4^U??^d^6xZ975EH-J1T{(o@9i
z<RF_gA^!Y@JH{|UT9)C*Yz$yxCw|3X<08=C)L7i5U&E(9obbaFoW<N6%JA34c9B@*
zjyhG&0o3|?cgS~5bI?^bVryt0QblTwv{*S9Fq5M#1oW#oRZ9FlKWo31*qayqV;iB-
zr-dnyN?jFczsJ{XcOrt{Kqpw-w3xs(v9Lkek6#uXw#IkxiyS`r&b|#R;r6Ld?O2$p
z+oJcrfp;>q#eC!Jf{RVms;F7O?&YlDzUsaThS!ibgL|!Y_RuNuNnih#Ii@q@)=eOy
z(FrkeQ^hav!l}CdQR@D0j&&{B4db`JkVf2L{D}8A?DxpIKV#=j79%n%GTFI)gd40_
z%gfxai<Z%@{ra;Kk^Ons8p@ny5mZ9V-(Y`5PADQ|Gnp1j(mH1qres3g-Qyy{{B3cI
z<t~@Vrg=mVV?2@m*K7(cd(zZ;9^>^5n?l<dohRyQ_kN{>_lXIhZ`c&Nz=GuE)nx;y
ztK6n6(6_?+mo|kyT4|PSKd&x$f;ivuw`cSB-g<EKlT)70dg1;#@%Z(xJz16WyTwz=
z9?}1J)v|dHj(y>NW69f77EfNWYSoVS|CTc%T)O-BeF8(Ltt?F5>wM$h$4;~@WIO4~
zv#QDtl<LbrAME>lln~6YWP75`q1%mlb)S8>z0Y6HP{J(}>XvQVKJ~K7KmN1qp`E{I
z>}<*H`_Z1)igsPNJn*vT{b!zhq5i=Uy6c?8-gEscb~dm7IB&$Bjz3L(^x>=D_dVTq
zdDVTtI=Sh+TiQD_Zv6G+yZ(6fV@o#-zxIdjN0J}B)?D`Tl%2hP^~c=h|5cktpFS6^
z{hfFAv|ni#-g8Os<#&I5&U;_4x;3lfab^BvUtM|sqf`k=<kTM%mi&R&3R95zCuAr)
z<rcpMDYrx|O1Wi?6Hd8%b#u$2!UV?aIUWyBm`D8bcsx9E?gBC&_cx0ub0i*_<nxlW
zBYA4Xi}-zc<mUZY9^r^j=b6J3<e5jDTX~vNX@8H~!xQE?F<&q7<*aBH&jNW9Wsbz_
zmiB*=Z!w_ic;rM_%3R1}9y;-s11mYsTEru58srJnkU6}izTMNx@l!hOaSg>s_q5Vh
zET$C?PnhS#`kt6}7E!v_SJM8g`kt8f#CCp`v>u)?&x!eZDgVD}XO;lUGdv!iFwco;
zPt11~QM#8|(*AeKEcr@(Pi$wwE9s*X^X=ZwY_OHz@pyQ`JpYw4XA}K=9vN3Mo=&tW
zhF900!?rv;_V+dcZ{mGdz<<+WSC)r8DR?#k`ak@00Iw(oPqC#IEdK+T$JO_L04JUF
z|Fphl52kba@4f#w%2zRIa_IwPZ*$9%?6|+<Jlq78O`RSn_oU+3><*`^SBATHW>$7i
zuA0~9BsfdpS;}uvyE15(^R(UW)AnSa`e7bgR5I1R0|pN*JbUzn$(2{nv1gj2P&wLZ
zSHdrn@UJeGdLHEzD7N6Wg<g3wKAu*Je};{f6XSWlHJ)M<3W$RHPMhK#!uYyK#!4P=
z^Asok--PQtA%BlD=3C+kO!*VIW_j<l{ad){;n7v@PwnJymE+s%2VBak-2Ly%YZk(m
zNjbWg+k*RT<?hP=|Ixnh|ISp0Y=Te!h(4#$JbC<l+jD`lEyC>6B=MaLV7MlVJa(@+
z1@e)R;Zgqe--$4#U94w3Z+Wc#a-6J~q6`l4IN?ud@JhS%?6?0(`0pL5<EC$kB6$7#
zPE|RH=kO6#xe@W#tG`l}5eHQ`<*MTOr>gjQzQ8>U|G7t1r5#drKMR#RNc<U#lz);v
zGS$i(gvW^Y$``6KP0}7#6_vQ(q4Z}{1TT&AV<wJQsK=H=s`C7PRk<yxDrbG7Dwlpv
z8p^N*0{=K?1Ye)3C~xzAiug-`JHJC!{`sD&RQy#{KK+}jY^8klz*{wx{Lg0orvP~a
zn9C^NW4lyk&a1@RpejqZsmdF`znvlY=()fOD9T1Z>z{L26HxZtcU5H>fNoi(D(*k2
zO3e;cu~UW%E@r=aBN{oFs5exwMgsPIJ5{CiN$OOiDwpZ1av$l2(q`|nxBWv{QT9B<
zT4f2_L=J$i|4>zIKT?&!*U)y;RV5>$Dp~KS%Kbi65ByY7-rA@rr*Ic4YmuV7NBcDX
zSXFwRuPS@<ROR|}RpmU=j->u_cK35QSP!3KQ?6;J?dB@V-ezEqQk9>)nyYMlF;|(_
zOI1Gl8Tnm7T%=6Bx7(DtVVhDo+@=J9|L)JJ)9bm)ty->9@ts^07UwFLOjMQcP{(-)
zD&5GK{^R9#<tvX}*>#IeDF)7?{pst^a+HCm=O~A^XDfdmoTEg)%2Di^s$B7wqRd9o
ziF=1bS@(%k>Gz;Z@oaD@tK%-^Er&~a&+k+=-{w$$`ZK$7-TO9W>_k**Zc>z+?*IqL
zbLwE~LmQWXH;2HR8^ML4;L<dnahb@hLBdwiUq5A`@G6V4ey5?~@pP0)4#RL+Ap~&*
zTqpXxnLd1$ryTbK^ndl4!1Dl?<NRx36hB0}l0^9~xcC$}P`*c1UZxM`Y*&?swy4T4
zH>%2eE%bdWc(_?r{@$i4FVg>OcGFL&)Oi#9&89q0QHHO99UQADbG@uTE>V=LFXfq`
zC?D|r@iIkOHwE0IZ%0FfCZ3@vpM&p*saFwruxP8QG_L_~exoYm9|0%8o!h{N`mn0Z
z;C&n4A3sXGXH=zbEw}}qe*n&BQjZ^V+%$A1`3BiX#KEzZOclRZlp(8G6Z71Hd*~Br
ztE!_NZeg9MVR(QxD5cKRHmS<*>H9GuRarGnRhqyVJN?=SzWlv2S2^3ED%-)gKNYIV
z#7k6Vd62RAYsLfl|AabUNZks51kDFm=d;V1`W>6{t0^{R^LK4Z==(Nh{r7CjWmkhQ
z6KqOOADhy#Q&FyXR8cOOswn*#hnGIBD(h#cN+tQc_2*p0vmjS#9m~5{t}^KFIm(o`
za+H_e&QTo69ObOMT;<P`bCqY}xymDZa+Uv>tSXBck1x=#Kl(M-_=ee(oln`6M~B#z
zS09F`pcKwA&!HTIn9R;}Dut7s%Fnp^eaHPy<@Lv$%6UI?D!1!S<yW^kmC=O#`edi_
z0{D9BBM#-)sHQt5!=d#1i(NVQcDu59xLrAImrXf~1DeDQHf0G)#hd=2C~MbqGW;0*
zxL8qMzm|T6Zk!Db*#Itn(T_3CjBf+KdgyZxeeR*pJ@mPUKL7t7eTF=D{mFX%-#!1?
z^}Nu0ma5<Q+YkKik1W@%r--*a)?a$Qu%$h^L1NkSZ`bn@-m{+XS<m;Z=X=)kJ?r`Z
z{q?+%;vV|kv!3r+&-bk7d)D*+f3TisL2t7m)P(+~W9#i=*4py)@Mn7X=RN%M9{za`
z|GbBP-gCa$bH3SgzS(oW*>k@6Upe0ten|RHc<28c@-W@`=NBtYVPt5wOCBynXCzD>
zyO$sHF9RtJ>+eLKyObyITi5@``0WBK&CltPpXrgG>5-r5k)P?2pXrgG>5*^jk#Fpg
zZ|sq8?2&K$_wtSDwYR+gwY>Uhc<u7^@Y{R%?LGYV9)5cdzrBaw-otP2;kWnj+k5!!
zJ^c3n4!^zP`?ITVnttPVZ=HMj%|DpyncykE`MZ^~=akM31{R4=;h8rDs&1aN;Ii43
zx7;*+{w;HFyL`cov*(tEZk{vJbM6H*zSDi-j(g7dYZp|{|K8l$!G+h}d|Pntt$bd4
z{<%eSibmfscg`)NuT6ovmVByjtX_O=<?Ng1`sU23p1W`%UMGB>Gdm4F73J)UB>p*<
z&%KGF9xMCV7in{EoHMst0xE7?M54lTCrtQ8n(uhd{I*0_+<5EFbIg<r(%JRAds?8U
z1$tVbrv-Xipr-|TTA-^1xGLYTQkjkZsxsv^<!1Cj`ISWq$`bhFDn6P7&Q;DaHEtm^
zz~AM2-+JEP@Xtvvjk>Y-Wph4SntVD_Ir9g~!G{!Okp0D_3q}pR<c&T*Emj^FesQA0
z{_@!HYx8c>E9%EB**b6h6EE8zxn*qfhDV;bL_gzT$A}l+yxCs=%Bx?rA2?F__#1hv
zKC4Xp$bO=tGW&^|&+New3)W_b&-JaCeE**t9{ccF`;OmE9KB%c%1a);?)tm>=6v|N
z!}@dk7b|%cS9ewQzwCJazntQKo}e<onsYf49o_!+D`$AJ?77NH^d)!-tbo2m33D8o
z{`26F=fpoRckt8kPzmy%`jfko|JlElEKX5fpzOa51o+P;`cK3=CpdQzsvDGtsk4+{
z>YlDgI=Kfm9OulrF?b^$2AO-%yP%-+!hEMA@%EzrBK?Vq4aHNfD6>-Uw7<N)sGvA!
zkp(cDJj3YS@TA_~h*v%L*7>aFrS8%OD^u?i<6*NeiYc<!rpC*Ab!y{|YSDuWU1j4A
zEzB#ACd#mhr6oEXpKHHL_AZZZy(GRQqw@#>pa1gf8%#5RuU>hnc5V~twdgj9sYP~Y
ze6Bqc-S+v@Gfn%lSC&W3;1!!be_D&SnSQ7~?D`}7*CYzz+B4r0p<DR31;2VJ$|c*4
z>(ShS!*kWuW@(lkq?)>`=_b@}qbF1Kv|~uE|H4xmL~7`BP5r&W&)`-qYDUze1GMOk
zD1*Kk4W*0owdn1h^5~72Yq`0oJbHU^d33Q?i(X2qt13TN@40;@Ka1ym?pN>eEt20T
z8afnl{7Bkb9RIN@<#@6o<@l}iuLS*JN6N9rz(HX<cXu^~=}^zbdb>yK-6je%`BQtR
z9M<Qny6fXAvsP!OYjxUXn*JlHuvMq;tfdvvM@*+t&#N_zL+Vscr*b-#)2W<J<#Z~i
zQ#pOHSN;8^RBXOfY`$5s`DVrDrz<u;U9tJ;ip@_~Y<{|8^V1cZZ&fVX)_J2QMgIJO
z<I8{e_|I3rI^p}VnQ0s7qR;bt(nw~n;RvG|_iTK$sOwBLq8K)GaEcDnbHwCAKI4Fo
z#hDoN$RJd?8&j^XqY^!`2_@t?pWjT9mnDgQ+DGDzaSfO8xP~ijind(;YgzP~{Icjm
zPfGLX#90;bN$#@9Y&Wqm*tyeGaJs1Sn1WMLW*hH!1;8!q8Rh!4Sz_{|Skp_f6_m4t
zxFm|6HbtUDFC5FOJeqT!`Q^HZm#_0jUhq=%;uedY5R~K2DJT+~?<PdL3_oK%x`?Qd
z*hMxYnR<}TY_Qou94SY_a8diu=1HSPU717;oq>MVHF(f8!BbGu`X+9(4(rk7()mCe
zQH{H$4dVSaNwj#*Gt=-|OK!%)6{wbMT6B@&A+9l-uM@SD`qLUuKgkY%>eILBiG2aI
znr9fN(9TJhF@%>fRlw6t*BTx`V35<O;l0MPJB5bwCN~C6)%v&h>N}R9wYyU>4q`Px
zJmUIX8fHW*1||DfXBdA##clE<;~hfL|4lB>i-*ft!%OtXdPNVqX`~h^)9mU){VjXv
zVmHL2iMDGoQL29;+G5S-Jv3&cFJ3vs7$epF0W(|UqTzH;JZA^}vSuHR<1_UQ8|V9}
zgYKGtlZ3h+mC*K1Y00Y7bDov1jORQ>rK|=e;$$o0D>R(h+CR^bz;@}F_<8?<uNFP;
z$JXmXY22rCMeA?B*#auEwrDTzD^qSP9qlt>gpYX_z<U||<?*Rt*Yq(UUd~)nmpe97
zo6ZMT3HZpmVr|)B(JEQpM*Nq|_&KM{l%TnV($ASBk=n;A3R7ux*H5fyzag3#)UURj
z1l?l<tr(AAnU3-Ki7_s-V$AM}vFyYcMOKV+QMqH~GK4nkmP_3A>+|u5UU&n|2L>-N
zTQT54bNy$i-fD48!J};2^h(06l_>F?xS5CR7igH1QRaHs^md)$H38gjea)0t)OD%#
zx=dcW>xH?;264bcpWE@biscrdIyBR@lt@}+*!vV52sviC;yG=6b~W8KL?QK{uGE=k
zk#e3n7Afxf6e^%arNA}lm(rqMRIZ~LyCkusgIw}05SJ3kD!>I(h!oE$#v_#vmOcAp
zh)e8PY#nL_4kgg2Ivuy}x`8Yy!+wUY7BwRc69~HN<v9|!q7blM1%4VoKndA;o1sKL
z^N8H}K$FywVKmcJXzsz*o{;7)9o-9<92e!6N9TDgn>+D&PhwTiO60l%n1L~!k%|vG
zvECi2_!8yxf%-^=%E0_bq+&R)oxYda$-!TD_uIbsv|i=WyFbDLA6BLA-dCZ2#%HIv
zGjQ}5#}FK&#Bo7qWu*{yRDbs-J%8bjXH9xpQD24;qq{H=sOf=vs?&ah)a>kWQupZd
zbwquch*T<2ujXYiZHFI7ed<&8N9&s8WA>!|VyD-N<J|NQHLrYAp4ulYgXte?pSp%r
ziWbE`@v=#z69wVtFxiaQs@9-e%6yAaNcmn)<PlqgRV7>1+P%2T$KB&rm+ujmeqB9k
zuFK-rcnllrrGy@jR9Axsx3pm$%Jnxv8b_N}@=h=t>yS6ely)Nql#NA1HWSBPdr?hQ
z7LBX~T*r2^1+J?f_kvVOT@m4z7MMDVu=!?~v`9sZsHFFl$1B#+AFpWf8JqPwNnnhd
zY?fisCFNGr)snC*u6e}Tgz9UUCvkTDQ*0y!>h-|7*o;?vQ7^jN1NC*4<1p)mXG_#K
z%ksFnV_d2@pxl)20$JbOSvm8VuJ-cyV+BosEYq*?l<5l#%k;a7D)d{5%k({Bkl?y?
z8qI@JcA{wdgJvg1zUmB>Yx-7A?{{+<DNEiAo*rqG-oW^uHZCT;8+2*<Ny!g2$JVlv
z)`dCA?OIf~dRQ8}3yxYdmuaP}q)lCMEe=i3>2E^Z5<E4s#)6omjr);6RBJ?oxTg0`
zw$qvqT#sIMG@M^oA9+#Wy3`e?5<Kn&Hj}iuDpBM8zPe7De#&u8_iHTtNxJgriz|tn
z94;T}zIt00A@R#SV#{S*o>VzN#0H5d(debO1)h<EDjJMe*Z#(gKgC@h{SNIrTO(T3
z$8weboEh>(cWC-DGd=Tc|H$H*ok1*-G>ehpNMfeZmPHY;E1&RmGA9rjmoXgZ=11J;
z#`rt7Q}dQdB^f3e9aG5ioA$P3-eeZSzE*cV{Lf0c<JAYXhUZd$+PKN?;Cq@r)vd*s
zqAh-M-b)M^tJL~b)}fOry3MbvSmWyqPNj>NmkJEmJ@P7P3!YOh=3g%<^p}(!45_+p
zT&X+cj`?~Qm-Yz`DZ|QHB#~c+QOoN01p%6&ZV-Q3^P^1CM_Tf=$X;9M3E;jAMF5F9
zFPq7L(^PGTto2M)^T+I(vu$9#Z~~p1f!(<7bgrH9M=GA{42=0OQqj`si~Ut-T_E;_
z&^jNc(j5M}xxXoo&aH=L&3y&OYvOnt$4BDWheHV5+zeTZ#4la=i8pqz&R<Xvzw~yT
z`*99~f-hxQmXFK1lb2fKc0yDEZ40oTEDEqR9BY~<c+Wv-eZTW>WLS*YSgv2F$zYDG
zb!yRyNA~*lb^-?w7&v2BnWGI40}r>vcD%k<Z^Z}$)5v)zOI9UE)tb8jR~EnXpcV}c
z@fT0^gn9>RK2&REFh-UxP(qO7aaSw~<*BQeFT+oL3bVbtaf|_puP=<0bOy&pN|aDP
zqD^v#uxK->k57GSgBp2(NJ7Va8LXpBvl3#8{c(H)ao?yi#~~IgbXBLly3vF+Q(&Dd
zum<`X#}W;Qm%Bq)J)YFZv_bJyV&Sa<aDT630E3k&KxHL|s$ZsSJzD$<kAK_`n<V#m
z0NcXv`c(f;a|wufw|*9JgEs!gP%zzM6^w4BNt6KN<Sxm|%D-G+>h?7hnSjpQ<G0$Y
zwvDmDiZo|o4z^AIJS<%l+W41Xn-yQ$9ghd`z!_<^@8hf1`l3VjOCEuErPJ5;Y2b{{
zI)Z?dqMQ98+Rw}4HyqUBcVRE^Vw1GQXZ*%E3Ua5LF^CDa$SNrq^T-)c3<%6-26x;d
zdU0ml2cIX{il0=~yoii#Uo64!4h(0F{y^l#CVa4H9OtD+cJLcHsNQp3@YdQUweB`(
zTjXHI(i<WNGnZyX4(6)&UxQb2nm(n7sieP-QH{AZ*s%`p%19U|7YwPZSgx+dm}_fY
zpw`&Tax50;Pq`ut%ep|M^T9UYCkI9j<^{7OP5UATo$88Ap`ZF|R+v@Njsvtr`M9U*
zh^^Li@IgJzDVTa<EHH3C^#tsS&NgPI6-f-9t!HGd;JKe!j?mYnF*+X<02WC9IK7Dv
zX<oJVXF&ADOl0V|--I3-qUp<55`mV4bl&|zXRv=DmH<CK@Wr+n4})ruPOzo3?MnuZ
z;$hm!pyU5C)EtC=fcPKR<ty<x*5yC8zV-&<+BWI$RoLN$=sp7B=qO_G6^MP7bec#j
zo;3%sx{7bjyBM>2iZXd)!GdAl*ph;RMp!+3wtU(sOeb%w`BRxw+i{O+Vpc6;R%JH5
z%bS`}eb@P}y>4B(z8190r3^wH_WB|)mDUIsY-l1l?m`9f5<KfdVW9?3y-*Aa1hX-2
zT;OYw3tP%M-o!B9j?^2><U8U~*1f9R$Jx|}n%1RkZ$PGsjBqilhAI1K;^%EFD+jO>
z@WtAUO998{>sJt(!y1k<{eUfiStfmlY1^GLEjuJ73Av0+01)L$qNt6@9Eql{+lR?+
ziF8=X1TCuXcLCv5dod`y_#esBn3Wjd?26bChg4$)Agui~X!9A7Gl^{Gx5^gk!}nL$
zSl`1s*>Uc(iu*mvC&m2*IZ)i8d<skHnvNsTuUBcy#y?X1Pq0^97FC!<?3&dA-#SlL
zvJ7VF`;sKl-~6P`wS*kwGi>ZVht0#uZm!OCvy?)24Y-QexJSeI-cc@QxZuoe7F#)<
zMmj}e3@4(mL17XVmOvh;x+tS++^q%07!lQ7J7?nGxlSuFK`iW@d{K*@<}_hnD~5|*
z2jMY`p|E*cw3qCW7icXRc>+1IzET)+Y5OVfjM>;Y1b=^g;vQoNovGKY<TKIHJF?3b
z%`#iV+!N5&>;{4b`6io$_Iz4$5FDd@HNJn!chz1jK4W30Uz`tL<9$Gq3COQE`Ifb=
z9c2?ds3xf4bSO}jFDp?cL~<5BMDyuQ@^u+sz#R*3fG@xG<rn)Za18p5w!Te!EBhOo
zWLYhEh^?Jvn}d+ih9C9^a@KxBWi}CmK1E{TzO@4L$mi>ue38wa<+mgzl#aXBJt#P6
z5_Zwtlhk^@dyuwlqZt3tu&b<Pwfdt2I@ju(%1Sm>w~^^f(pywjt#399{5$Krmt{y>
z3jMg{GZw7n>wfEtwrDZq-(!87d;EndcWQ!|lMa$4O0n>N#F}(!ebUwDT69T)XNJYb
zC=#Z?Ayx&UjL}UUZH!MXdR^YQ0qT8gar;c8gnmAMh~`@*GR~p?a4p>s8RrasH!{wp
z);@+e_M-B9BQ^(%<Y#E)kX^0)h)99>B!{|sS|((b;dZ6l5Dmy3&k<trM3TGJ`ch0M
zPs=>Mxnj1uKwifR;^|kqF&j&ivMja!PIuztlYL_0d-o6@Y-Qt>^Casl^XLpu<YQZ~
zpZsJ-zOsk<=-IuJ<jHR)ozly+Bh2!nw2#K(qvLOYPM3MSlzC*N!yX(GIphps4Xe~G
z8~0Kcm=$@t*BK4;Wlf!z%r`^wlPo?dQ9b79O~>l|*t9-n+xL_WeOG;WU58ACbd>8|
zDA%|FLASWK;8yD|m1^YGZVV2U90$wKDUxlbWUI!n>P%*uW(mdQ?Yrvgd-`blS}pSb
zvG*<DQB~Le^Gt?3IKxZBdoY7iu{Iizgb<yR%)l9#NK{Z%s<GOUR(s)w8K4Md;v|@v
z!>CoP_SV}*t3p95eMmx7%mhqA5C|X`L?wWg6Gsg`3gMOc|JFX|OeO;nYH#o3|8c(W
zoU`ALwb$Nz?X~w_>y+L*fH~WIQA;VP;R1u;@33HsGDGPty6y<<2ozCghbA}ZK?(_3
z(PA6c17_5;lY3$l^bP?P1X;nKxCHvw{F}4nbvdm=kI;w^LyVcXk+Nf`F=QOBEU3nF
z_9MbZ+=uB=;6-T3I_(H~tXf{|5_TT}r_QSvj=zU+@AKl<!tPJ(xtZLGrAX7Bo6S91
zO(>HGlo`(q2CjS~z~j#Y+T4yX-1=!|f4kPRls=;v+7!snDRyx?SA7c_zfpP-VwKyk
zBzHIfm9h{mMMfZ^hO?v(vQP!0IE*ZiBg>uH=q9~a4pgAJjxXQKReXv9C`iUt*DKu;
z(Y29GDEmgsOgjq)ZI?CLQW`K;S88iA#x<T1HSI4T6_HBCVx%JV`H46=7AVfGzXdqS
zm3yhyK*@3R83MfIDj*(PGc}Z!C2BJpQyT)>_L~$3u3D=WTiXty*(_A#rz(hkNFchI
z(8UgP;VMY8x`1L3rWO*W3cyrBoMs9*TtenjK}f|m%u+#Y3}`_tp!E?b+)n!K+7F-!
zC}jI0Mm$Y3ML=OqGX=GBg)6n~Z^}44=u)5-8k8aNAQLQ98fpa~aS;`WR8D$qRH|%3
z;#_;^=Uu$-gr)Qc(7qUUid}xmLIa&}Z&Mt$I2ooyQu(*gUZgZ0xFi~H#qO6gG^{@`
zTPVV!o$wiJI9|j`R>o<n7CaI5N`z%KL>Ppnr5-993yL7KF;lT=3dqhB7S6t#;k--S
z;tCZE&c>SOeb?A#d*~)DAJi1)K=I}+ylCqv%(ZJfyhzG+oQ%i4`A&Va6G}h@pl9j3
z*}I&fY0jXwAji<hdzr|06y)0bba*pF{y3SAd;4PIVN1)rU8Sw4+O@m*U_B;0MelS>
z_pA7&5W3yO06<HYbgV!BjF#Fe-4EhTUet7Gy;xD)nB&ildQw4O5MkjYUsMikl$aV)
zIc<5jAu&x_({7ap^h}e*m!||}-gb#R)(OpmxRdwg=)8CFf6+Q}W@)`M-MoL1F3nrS
zmn|~1@cI;QAskE^?<9Dqd9TAa-J3;$`X+hDID*Cfpw9GXxe#>^t)OB1#2K5k-abLY
zCO*ez_E>q{Rv&=)H>_N;#QtCbj0YZF>OZ0NUIiY=dPKvJy*@0uHW?xZ;4%&_E-;gz
zw{{K?#VKx)ehFGDMnkwnC&q(8Z%(8Eus(ZN5#}(HQv@NToj<53&*U)+(R#EUv`wBg
zl^%p@a6ymuGwh1dD=u*#sgWxS)5=DI#$(zH@?hZAaAvJj>u-WHRy){|1Q93GYXv#n
zlTaiMW(j!;0pqWT8yhk{MnC^^<Oo-tvk@v=K<Tofm9)oO7+I9Pg%L(cKcG0{@1;1T
zo^ZS1cbc#kHkPqeMj@qe22@)vIpPwBzj7S~W_)c|UaRK;-v4?Hk~RW0Lt-UN($};M
z!2nqPCyWZ*dcg!-oo{uDY{3S-txh4=zSp$C2!e1gW{@<e5H)Ns5{E`sla@)0o`Aej
zdg^1sE!YVLU$)b}3ATbZ7Q>fYF5(;XSK$lZ*I(dfJuQIT{_AFgr;rSD0)0GV$<We&
zfM)<1szzV#9S>49L<vO3rfG#n<1b)FvYN=SG##vSVP!)=dYT^A5?E=OP|5P~=T8Iq
z81-0W()tEis0U0rfhA-bi0fk$P;)Kq+xYXZp**<dFX0>Xzkn|ac{$vy`6$UVzz>f=
zMS?tkPZk*t88n^@GHmXn@#dt}A@ftyWyLI!@1^-*{R~!G!bFCEvD;|;5LPVXpmi3O
z7Fa;fqfyfLp%9fUM`-~%nLj@Yhp4B&T;{J~p)x<&iBg8rU#1d&4V}}h{J$j|uk_~}
z!Z6wmC(c-EH`kNl99ETmfB<_CA(Dx`qe%dTGq27w3~AQE5qkio@4#VxBkc%)qZ!bF
z-tk|Cb={`+hX5hs!OJ=q?*SEySa;A5in?zAr_9^OU&HW;SfQH8K_SE#qtb7wXuyP_
zGK;xs4vO$Fp`yM?3ZfFSdPr(MJU*0P*3T&Ca{{v<^7)E>=gH@~bL2Bb$*19Dulayv
zk###_i#K@;rsd9x{akq^unP))xpJs#kPS3ZG8dxxn1NQsFnCJob2EJ${!?16f_UDq
ze*w?hVjI%i%5T6C3Q($8-7S+W-$SG*LXl4G+8GEC@7+$+F2A7!-$)WXVA#M?vf1EX
z(}A^QdjmY><g?&N$s?5FDTPr3mi(u1vxlbN9l5G!SV~e(NP0>QOSF`nS?xHR>K(aT
zj%a~Pk4(Cx*=ocJL}Zza=@~YbNtcu*hxPtY$-t^+&_(kJJR^m~GL`o}CtQiVDnCG~
zWe1~ZGN=(wjSTPhzcj($zeN{d!R4t;nTq1(F|=v+<w%p-w30R=sevAy!VEgDJcSwb
zT>1OR(tiqM<%`T<^vv_0O7h(5Kb7p6<UeKNDo8b;Tt~T0p?+Cu(CJqw5dRWU<pyOf
z-Tofgsohu$@->f9<84lG?05{0ufj3Dm002wT>1)yXU(~i;>nFe9+9PIg{PFHdO5sz
zj@poLjNBC8IBMEm(yx@TlUUKZBBRd=h9tYBxk@lFE6HAKMU6yk@@|o4!lwt|8Eqod
z5BHuxFTZLE0)&qkp?_ZF{OtzMFq)%_Xq{#krw_w|EQ77)(vVQ(y4VtJI+kd6Cz8X%
zfGXm2s8C0&VPcC2z7d~V7tqBQ;4Iq6I8~tO{-|*8Nje81)LH;WtU*FkKT&q_(z<u@
zB8x~xt^jPqKD<TRv0t9WKm+aonGc5cEG*oRNTbGa%gu$T-itISVI?nMBm;2@;yFbC
z{UZbl@Pa3ClL^}Z5~fuAp29$fDE(=?j2b#wLKtKb5W5|TgqTu~2dy~&<FQ(3DJAp&
zG5d>UEvSRPGs$bfz}eT|*^jIE1}^Miie2n<g+^CgtI<rm_vO=zfU|{pFP~n5Klj)U
zR`tJQPx5p43*k?om)rP+gQ{@GssFp$PSZQ7p)N;5c?{WGA~rOZj?|#f;;JuI^o75c
ziKc){<O&fw?~@Ti&sC31SW-WTHq~zuP1y6Bg=KDLIByE*JePQ#EAN=+3gO-lh45j6
zQ~#kW?`uznGc*|>!O@YB0P^t~%w3)%(Or?l;x=hDrk&{9*hsMm{swcbI*;DM)*Q2~
z#l%c1Au4tbO?@$);*2*$bBI6xvujXwFKuZYhKaA~N00~&`V|p7q4e9(iqf?vIDwO;
zWBbiC0d?cDFaH)`k=9A{)k&~SYdFNm<BMPgoc{<*d?M|au*8$#gT!;?#D7YO@4*~T
ziPMhR?FfWSe+$;55U6|xfsrHp(y{cA_l+hfCrC&yH8z9d%dr*x>0IR)BK4Ok&P8S<
zQ;X(CqwbJCS7-tyrJi-7?X7dC)gTjra#}PkQ(Dh`TUvBv<=km4j!#Rkq&4%~(mFD^
zx3sQ~PYZleR<1tZmey~2P3sT=8DMAdGAe1kNqsbaO%o6M>Aj})tN657^8;T0{%vXL
zdrfO<d|E&oR>#rbmR2=-@VQ~%MW9jZ2>fPg?Zd2kb{%P$F|&c&m+y`x_*D;NUlPCW
zc=R$#u2bg89t)eidx=dPO8<`^PzN)!%=Stjpq2djZ^8|E9#x6iKT;SFvkjl4D53QG
zVU;e&?pN@!D#Y_`F;y~yAnLIw%DtL0YDgR*6<qEvH?g=dYLxi$U$O%rJxV@P*wDQj
zoZ^`z<QflsAEf*TSo0l(0Si8{xk%Is_cqf&k9E2Wq-Kf>l<}2Cpk%+K#b4O$Kbf**
zUpGaaSR|)ta)xGgIz^nL2#wbwUD_GPD$*%pP`ei=A+=M*@`f?!ooE#>%l(peYCv}I
zCX3C|WOjJO_%u&7W@i>c!>>d2Nt2;Qq=kF#wA0J7UH48qjpB?RJMHw1p|tJ9cyNk+
zFm_aI0k5R4DC9J8_7-~(W&RWk|MFd)p*Vl=4eLC+JRIijKeYky{@;@m7G|4p{0AI@
z-)7gfe~(5HqK9!bEjH&c241oB*)RYqY7Z^b@_CJX=<cYETiM9#qg?ri7$f*Mh)Q*Y
z=5qYTfoOhk*95!%Yk9(O^Wjf)y!Z~!RqvG+4cBOnJ20SXd|dg{hzd#~dlv|b5U-b_
z7En1RCBA;Q5<Pr~VoTQ}roH@U0#{y+*pvfJ)#4t|k&TEaIs~{C``fx4Vk4Xb4nQ&B
zD3;d1vq$J($3oBIQyY7Po+T}TC!JK%R2=h+>=Erp@Yz6ZA<eM@qqj#stWE2ss80e|
za#3lyi(*njAfkz`7>Z=%vbM-&WkiWm+7{_FHa&Vq_!KU3gjTt@@ex|3t?*V0Z0Q+u
z9lYccug_#9{s3ff1rfcBE~P@*Lxlzc?!lpIi62IZL-TD&N!&{zfG~4nC1{h2Ebc{l
zv$q5sZITOq3Yf&b2s<ejR+38_3oA($_=V=*2gs@gWpuwyN`{AA&~&Asu>#6Cz}g>0
z1P2n^-D&fk;dT>PmHrb+3$LoV6(#0=-!%WS+7oFS&AOy7ght0vxDhX+&$~3<IgV17
z`zq2Oix4y!?{A7yiYt*KT!4y<mX8vGlKT>J*B{6`z&-qZHXA={eH@`MAs5H!3p$Z@
z);SGgc*|$est_KB&_HYYw?yfjS)k~EOZ+NObR3*VSU9J6B2aV%5871RisNN;Fk>kW
zX7qaUOcEp5jIHy;pLXe>LW#y7=Tj3n8f)8N-#|0aIgY7qVquFK(XK3<)X~Bq(<mP%
z1B@D7fpsk`l%uiHR|gX%MIM25t%?apgI0GN*L53d;V-9AQ^kxp?iJ!KLf)p>DF^H+
zh)q%k%ND-=FvdyaV00ynjHtz>%mngTG^Q~lOb%j1fJRO~3A7Lb$<&dawNeK0r?+A!
zx77XL+jEE&I)r#9=yaHB?mR+u-6|FSjbP~g#-E=7!YsyKNrQ!gjiX?oy6z<UkI|0d
z9!%4L@b~9`2=X}=btfzo^~5JE>X;t%+E5%lz~J23V>Y_cMdt$2=Vh^eF4ZsuYo&?$
z8bRa$l84zSTt>8^5W*?>(DWXKc#Luah4FPe{n?(3O5nxQE58F$oR#-Ya^80EAb7T5
zkaEw;UjOaco0aT6XJ_AoW*+%%`4iCO!^|5P{T5$+Kh0EuUaS8&nvkmhjdWJ^d*uJS
zNxj$q1(v@a0G4vk%3uHO`J0veJ?F`P<hSJi4N*Wf2FiZ}qwV7B&*=YesXt?`qW%n}
zdo(}8*={QB6G_Uzh{^aPT<w=BV5XR4ZizpCFt9I%!|AXP4v(j#iTxIjN4Mpj1CEPi
zJi3bE5s}Z*myE7t^_V52@!W1a!nAM?Z1F`aiWN=f^u#zhTy=W;L}0!@oW)h|{G6+m
z(mN1;6s6V^+k38OUPUC84#pVCp-^~y?N8y0F;8JI?Y$I?T?P>b{_-a8zkzUVG#(p`
z*a&G4*>vuJ@oQKG@jZ8=u>&R@2CDQb7^GBI%TA@UrlPa%q4rZ->vnY3X+1jYp+i*c
zt<q%HYZ@adLJgrE9$y?4PGb#r=R2@XL7QCe&&%t6PMql_mm|+BC<mD-8s9E&Au!dq
z$JkORQ{i^R<7;U7Al(iwHwbkqai$;+MTx-?0@*zctOY*}G14-{E<MjMyD_d@;?x|R
z^w4y&NirGdCO$v}?2X(i7TEaAIzF$?dj&Iw(b<hSD#umBBd^}u&$rmACHAx044V+k
z(j9A%y<)1(%c;SWD7a^5_LlZb_QuY7(sCrrm;YW4tLHwaSVzn6_@*VE7_oK6U|ykn
zC>ALXSjDZ!DdSp@woz_9{QL(;VuwF`P@mca;E2Xf1{+!qW!B?NMQS);{2QD^BX<Qk
zq197y;3_=~w}9~!zS1RNy8H8wzz9gTs;ih**s0TK4iY%ie@P)rSl?uQ(uO9>qVp`V
zHbY%f|B<@P1*)E>F2lxBJNJpNOCLCi#%z4M>+&~nO#{Y}aFeEDjp5Hvg)zP^rxAe7
zf3z?NrN0KNw30T+<PLYvy4-;M0^pz8F7a%U`+GLZOP8FtB8R_66-kM&NDG`q<4JtG
zEAldI0pln5N@X~YPM8`i8<1z;ZXl0L1NicPcOA;tqjMA#5t^h|W9iD*q#`eA5)#3D
z4u^PXY^MNd*~<?wXgmU|w4C+hO$u?K=8@N19$yncYe0-@q*feU$9S6n@f6r8kNS^T
z9-9c_mz^_@_r~{9k5@4u@ipm`hlk~{2M+P|XrKVd<1RUmWi)_oBy2^i%0!M@kNLgj
zL5RZF^rbw^ERSmv>T#J;kCPv=dhDlq+;Pr4xZd)(jn#t&3h8B>RQKmEO{mAeDfRf3
zoW~VZk7I<XXVqgZxU1)E^Z8g`$b3IZV0ru+4)L%GQUJi}S~-tGSfwY<na7mg@_2O=
z<<Xz&@$uJGk3DdR&!d3?Adl@IFjy^vRl53|c^n2kdd_-`1sTlO44^!GERUPu5T8c@
z1wbA@mGd}7xZ6y49D^0jHSrViW;0E7Eq2jn#!#>A;>+4JN25_Ym>-u0ry6iV&Uf%k
z<y1qUz#J?vr0FUP41CCD5Sv5|Zi9hxm#3!gan9n)&!qAv(!KY}G((1ksxXkM@a9)k
zFh(;J$~42>G#AOUDdzl}V2dy6U=%e*&X{O#NG4|x^m2+Qk5&pXEaSF+u?2@&-uKQF
z3&vof*NI&N94nmy8?Y!@BTrj7?y|*WKG1lxe2cG1^<EjDB^1?bf<Bt|FeRJ2=QFtj
z3F7YTEzH>d!yOoV2(~!Ew8bvggXeKjU+Wuz%IbG+2vBvu!gx?yj9G?V=5xcHVAsAM
z&dR=OkGSRWao1Da8E3`)of4OLHtL<i1jY?tO9V%e*bZ93C7yKT78|%wx)J5#ss)`R
zRNBQ=hijt<<L1XUxby0{M>;^6g7(4zgQ&ft-jm|y^P0JeeQ@PB5YY<zmQv1MK7gy(
z3_DrpU&>YM`OJEKJ)alm9(hG^E=?n694M&x4P5Lw<5R%??lFgl$epVmnqB91RP4t+
zgpEXp@!V6JH?*MO*nW7=t=|a-L$N!2NY4PNP|iO{1vV5F^H@P30-Zp+LPy+mN{6fX
z5ap!EVDVl4Rx~;}=db<S=Al~Uo8e&>!$p~4SHN-9ovZiW&Wq(ww7@g3f%CrzZ=57A
zJ9ruff7pQAQxE?VMsYi?epVOiP&<Da>_~eDAXpxxh-k|?cL19pg*sj<JGB>}8n`o{
zFTEAjo2DxW8IoYg#xb(OP+H%-riD4Y{|%O{hO3}!4@j-fKK7_X|0O%~LWvjD{Tm9K
zchr;I751G-DV6Ax!Ly5Gysire`3#(Y88T|$fkjJbq1HC>I9I+3#ltSp4>scL^IHsv
zzAghnFb;Y{>TH+cMA}h4G;jg|Ryx>+L9>>CiPP*yE1Eqwi(w(N9$e6cIPldC5o~tx
zVuKS$260;8YNxpJn<{_+{U9)CGq{z~E$?8feU~k`UHTr@ma^$ER#}v)t*e2GSn*SI
zSC@!`R-s#o=~CxEbXu-e_>kEa+>zSCr|y;hh)6Zm3m6ihkPHj-EpgS5uB2kmEJoMX
zX)1Pd6~6^A#Cn|U<TD%c3bCIXf&*9kl{s}M(v_Y@lI@Ghsaj9m8N$pEzy+SeA~0<E
z&}}*wPPF2F3mw`7_2?3}<KD(mVkm*41Pj7$weWBgjbpCD$cuYr3AX{?WQiAI%gp%4
zH)u?nd6ZDa9T>m|$}0(35cdV-HM#Py+D^iqz)HaY#I?gtaug!{aTbuG&qZ`+W>^50
zVq7?m4W=I>n)88%IoMvh3<%>2)!2T7uC4FnYX+ebPOOT53ZA+%fnjhLXlnAS-$&&!
zjzlT|J3#IV4NpNPfcdmQ`PbBnT(#q9YKy;F>+dqmzXCuKxBJ`lJlj$7*BSWThk{Lf
zv{@`Pgxk!p*;890oL#)dz#|d9tobPQ48Zwotdn>VNU%e)V);T%J*D!65!3@^q-_Si
zqAY7cFQBUBfMx9%#0^dTNM>Dem8<0tKY>@H#yJBUu3{=;+zz`C5HeuA5k^;Fkp*iS
zJ-LeMljui$CB{%X2HJ#OP7{q0W+c|qU>1b&l=i~W8E|08pk*0APmfO!&&}*(bi5Gg
z-jgL>-#PD~JqQ%=<&Q*0+8#sQ47dxS#Xat(O)+`iwgtcDU#EUoql|ca-TD^VaupJX
zyh%yGZn*OmTRm7XPRS5=hCeln?OgTrA!UbX#6su90@9fo!FGuLZ8|Z-QJ=#A!1@0O
z|HyABnkzKEA67_0p5*-zaH}hO%QSIi7a;&Tag=DdN1LeY7FIqxfpC;M^K2|63w>`e
zyViRrKzTXn@LC$J1#z1iGFn^$pUp^uuY5L{;WL);Q-+Lf;nr`WA#E}ZX}DFF+_lMf
zDy6g?pZOV~JEH!>r^AQMsUP~cYQ^1@-#R+#gd+jq_26_gcGIz`j(ub}!Hivh<6IyN
zI-tCJZlhgbYz2GRsbsbbO!w&Id6Blzsj09n^FGQf<c{BsA6G5`Ahl);Fa+$J_+e!?
zW+j|(&Z(hh!R>#caT7+Ys5`SoY{cN=_P1f}+9Za(MwhrhGJt=5B$C1z#6HgGR()MX
z-Lm6uyZ(JR^v~WOG2%YN&UP{EZ_|Q*`&GCD@JD`b{rmnS+S&}{AD{Is${OA-anScs
zN^GCoTzPvvH@NxSJIo6Q0)_=<e5UrtFw9kN!bD;$!o9=&ynpdPohOOUT|Cg+-zhfJ
zf*4HvE#Q6d(VNj<l(U`!(JLx!u+77c6lNcz(~ES{m<|k=E$*Za$5r57gvOm)YUavE
z%clNZ`B0c_!7itNJ9dE9gUOrz5*orc$%G?KUjYihrvozb^5MfO1++W9h6^xu)zY|5
z!HO|=D*HUr58;916qwR!9KofC%q<`-Jafe`xCf|Z10Y?aKswzSZIU4^`)!Z(!&tqu
z-5CwXAnh0%4u5LkqnKVeioZQF0AV6VgxUG2Sg*7P9pDg~G2x@Bo%$`25##_0j_wDb
z3}tQ9uXv1pau7`NxGUe}?E^!9qLN43x*FM__V8ykWW^06^6J#W-v#kB$Lf0$^auTi
zx@dUZf@Kv3pj|Sq{+G1JB_I?3k@olmEqc!O*anaPkK4l&&$Bp)Nsrni7t2GrJwVHg
z#!rUPSsT4~Cc06mco<e1D}kgNXtLmI=CQ$HpsB`o7tXqX<i{S<$eKFL$r!-hI4Zm_
zrDi%{$o;;hG>vU<MU3p~X(0Vkqzm#&Sv$#V718K{EA1F{>bzMj!{Nv<6B!bz&T?_<
zn^?B)%qI8oeM9Sxw?^v%#!0M{TCZ7X)Tg6pm=Ujm6J4{;r1K^6YX6;gK!D=dvMuTa
zRUdyg)QPQV&m{I8PFI<|4xFAA(&c+cZDwa`y{O@F!{O>gXRaEwFFXb%dIT~4%koZ+
z)$4oYh2_y%*C*Jm2wb5MQCP6d;`h}U7toQtpBInv;t6|TmgEWv5?B2`t^^sRu^5zz
zwV97|S(eO()JCGuj&0I=(wyw73t-`k498tip{$u|!&PsEL?c|J+8NNvS23_bukh<I
zchJ~KOuL?I<ik=G^$?=}xN4I-uh|R4L8H*)L)EKoHns+FXNJK#zRF6A5V>XLc14TQ
zr6@#FX^hDD?ltCNiB<}|rJg3*1gun}(SSa#9qZX0!1UKHLsqy%wh!mkJy&5$d>Ia|
zkj+#inv3$@FHNVj2+mNN&Xu>Xl#`FJTby}2OAlOIw`rYLt|y|69!1gYR$FZE5EGD%
zP885JbsXkb5tZNqGRuK%q$LD;F+CS%wks(bKe7PxfYCy<1X}>c1Km~<z9i4Zkb?zh
z;I=EEbBV=s==$4empE%4L_^{3kuz_wH^oV3=yG|JXBckR<D^4IQC@xN-vq{nB9PNm
zX4*6@WUx7L!ru(I1X3cOqHH;kRdkgGce?PmV#sd8(KPUK!43|$8B^<VLVb)zhvgk8
z+SIymTN)t?3VI_-L}H8ln{(8CKhem;5%u>D0kJ)v%%Sv;Kz&K$S+$LqkrV5^1QV%|
zxej`l?I#nWxJ2Vyutd_`xX$7MNiXOGeVEV(Gn)5Plo?}1nk&y{@*WoQip|~+<<w+2
zfx=0oGa;hlOY{NpB!&lEeE=IAHKE7X{(ayNj<tIGNCIf>yiMN2WjHyj(Jb6=JJzW8
z?s@YI1moWVU7_)JX}!0>HyOUuYvqF)n1l7ZaR>s$rcT@@wIU5%E-t2|y<=-NHf5eh
z2<eS(KND?46VncluYC=^EGXMepT}c=9Z8Kp4K^5Z9Kef7zc<*vKnDboE8l=B+e%y}
z76)Vkb{UR-98LX5+(ty;0Xud~I+0f_cihcsM1qsx2Gq1vY+3Yi*+C>W4=3;OrI8#}
zqQ@5*RdLKawANr#$}Pv#$uW!hKwrQf2m}m`J2uE}_Q+@L0DJW=seEk~-B;=W@k?W5
zn!giwb{S(gVq{D#A+NPGzGoL<ITIQV<iM~Jme|QjT=XQVE(O?*(CUP-tuPq0__(xM
zuvl=eG)cM_>m|A{5!_mLP$%q`NYowec2h}nh^n;#J&0;k`w=^@#qQUEt}UWN1SAlQ
z-D#ll`wCq58|KCEA2pR;5A$$lHk4i)hc>SOT2!48abf$%!kS7E`_xd9XR+TE%CE(A
zl6{Oyem%DIz1LImuh$X*H!FJ=)k3NQi0r7ttn4kcRU_9SuhWx`aR+NMTq8JPMlbfC
zG?a2qToCp*;4(}XH@|=659rEwB0+l&`ba&*e>nZ8i~^f4sX>LIb;9u$0V`nu!$!bh
zBrF}oAb=#C!EgoUS=hoXi?$|kH%gEI9x%S7r?H@L&=Jc{2X1WTV!LR;C?3nC2bw0?
z#oc+cb8|}jjm4Lb;;I-fFk^5iJwzr7kT(O~@$Ed-za-ZZ^?c5)ADGLB{Im?>s$IDj
z+Aq_bq1Cazp4P;HWD#P;+Rcv2OHy$GehWsP)aF1EpV~x6fJ*`<xsjE6Va-wOQWi15
z$+-4@F#eLW_@%TB*@z#hg3H2@OGtKE8Fm?OKshi!?)hBoEW;LYRHN_O2#Ou9aM}@*
zU-soX91M?$o1$AW$h8n?v#3Y(L^gT;lKzgc;L}PU;vbIm@g3IUDk$)gj!7u{Ez(Y8
z)w@KtU~9ZUwhGGIC_Rc_cS1^Dfper|Qzg66UF#kx<;f}8@xxjuu}t~BrS&@9$l*gb
z;V!?sBfeyjS6Ruv!7r8`0Ifc^j$L~FlpEF*Jodn4e;-^HTKjnDH($K;_Vczk58XU7
zl>N?g3sQtL<NkE~##g%5wavKqndG4lW;W0M(JfP6yJfKP^k-MEI{w>i{}WGMG9@%|
z=jr>m&D@_T;5Dy3=_h$5+|=by_$`JtU+vdFaO>!Wuf64ZYQ^X7>z^<5g|7Qx*2#w!
z-njOSzTe|RC$fI@=dpV(JNlV(`L4y^o4D9G?WDio(9DcglPgP~z3q{iw*O2N4}0dy
zqMLqY@fZB(OY_opEp2>p#mVX^Z+>%Z>cg7stmQ{{HMzdZUHIOU5J@{x7D@Z)b)UH&
zee~ap#Dh<*aGVa_^1HX)j?^FDJMB*$)30;SnAVXfkG6K)D@NVifdx-pT~w9(=-3Un
zkNKHn+UhAcKL5qF3tE@|dTF9C+7B9jpYiEkO~P~G*RlgA0>AFF_uqeO{n?o*ua(|o
z>)coWf(rNE{>3*>pAqkuHB+`#rO5wh`^Niro7H&ewCpLS6J&TUG@df`YUcG44+KDu
zN6k+m8a0piQcj~<ASJdMkEU*V>UxPM`*wfTc))V@n0qPbJEOYeFw;oIj_sL*qA-sv
z#oM4%1pO<qs!9m?H!dN(>e-vS>aYG|`6=bP;QZ8jC<(>#OK?~7QU9_06ui0M{1Wgi
zmS2MVS^0pXr00V3QNqiyG@4jGsynVqs($Q`JCr@_xLn!8j$4;K?6}29Pps{6y|ITK
z_a5WzbRja{ZoN#luTcJuTZ)~si~Lp7eHpw_deXq)qGzS@Z&UtPfqzKPBIQr~M0(8N
z*wQmw`L9;~-zb0C_u^ND0KwaYw~z9w?&?2=@1XAJxnMk0!ppJZ@G!w$_3tg+-rUuA
zG5l5*8s~FY{ndZ0e#8{PqaynU*a)Uat03eBmqSU1MLx$TF~8o@Rr`Tj9-TTdC~3y(
zosgdzPtE#S#b8L44ZY>3hF_5oUUiS<M~Lz*&v&k$vN%(dj^&q7Kh<A_%Ll}>!E?U)
zofTf0|JC$j`3+HB&i#+o?*ic&OIHc6rrMjk>aYG|`JIKIO1+f^KdXM!spFnle&>N_
zs}jd>9=z|)PmZ95SF?=eH&Av_@$wC2KA17--0qtd|1mgIO3w=Ae^mLabd@<r_P664
z2|abn-=<_-r~GZ>Wq%XSVbQZr`B&j=TKv;nzv#_fjT@_{S#^>BiSCK@uT;uEBUcV@
zNth?q)YSUw6ns5jd1CQ;!|w#VP{XVL7`}luMbG*2i`7#JFUN`-?-Sfrf0gd^jR-JA
zR`IE~{M7IoCA<nxHN99l2B|LcUyWD!UGquE=zRG+{$2A?8(Jy;`SN+@yXMo|Jdyx6
z6^b!@P{xhk+D8SG+Kwu|s_De)bDr_1SV_R3l&81+)O<crGBBtOod~~yY6*J&)%f3e
zyi*hCB|jA&?_4hjs8PndVfnJ%r~D@={yj_AZA*l|ny%Wtbqe07?kbs|fKJ`(fL`F=
z8=QM{S4)`KuICG{mQ#%%qfgF*UuyUmeUea*SULVx^hrX&WBDbNBOw@VCa_2SpASB2
zJ=O54J(gcD<F}fx>aA1Y&|7|LcomJ+{CW#d{xo#Fir0eIhnE(CX1o@>S$HXK{8NG;
z_fa@xl7Sz^rDa_?IUzg=%&_7ehu4mmPQToT*MoNs!aRt#PKo<Rm@RmHcoXxrAv_80
zD8W0A{s?j(g^P>(&*V!}btPUC(xx)g{oEY90^V78=intl3iA-ggV%?#h|q%S8y`0V
zVbr+sa3XVjT!K|UycWDZyovQqj9Y>r@%5#+z124{ZX%ptMqCSCAKt`#Z76?la3=D0
zEnW*=AKt{ciTRcwNPL+o?sq9O<xBNVgfrn4wNYZe@o*l9c(35K;Pv7CN6MT=;qe@s
z(R{=62QAY!E_mXBX~J7;WY_b5XH({Q*bb3wWZ%`wyvL5~!DVwV^RgPH{1Vxen9ewb
zk45)#>GAZ!*NV+A200wTOE#VR8ykm|@M@^u+*N<|AIndfuP->i-sblNcQkpAM;+I6
z%D{NO{M5*5c-0=OpOTL1uKv}0RJ#hE-ty}$yc$22pE}Vi9%{NOe?o@}(;LO^CE;(P
zzlIPMZxjcQ$WsNEMcHd*gBChPM>N_+_ns5|;l+YPJEC3ij`?Su9X}c$U-gfRAB~T1
zJ5PMozqk0sYJ8;vfb%lUMhcXA|7kHJ>j4N8!df&ojgR$u=vr&j3_EBTe#kWZaN5w1
z&!0~3Ib8I)2!V?bxCnuZ5V#0|ix9X7fr}9MZ-qcH*5$~s?xm)eT3+gWNwdndDr;5F
zD%+|#tLCj*w5n>=>Q(DjwXSMgC9OKT%C<&WGiS}bHH+5x)>N)}e9bd!s@AMtvu;hz
z8e$?KDUGd4sG3z(QZ=V)Ue%(i%Bsh!o~f#;T3xlSs-~*0s;SEMobX)nbF-eydNJok
z+l#`B#V-nLi`SN{owIh{+Q-*Evv&2`b!%&AajQJod><t1hrUJgGw6r5<DCy0_8xE!
zNNe<uHKi;hjs*;i*A;zZ`k&tW<bIFK-+toNly|b<c^i77b+>9d!T%hlOFZ<WOFUJh
zOFY)2OFXBfOFUR}wrc6bqe5qEqfR{R^WAk#lg4S&$20ypebY56(EkVivfgQRH6|Az
zrgs{=-!`-^J>>{e61Nz%z>VI-r)@@eIO2I+$n#xRF;wnh7n1k|hKcE&MxCjiRmwj;
zx+PBUG+V;i;7f(4f81k>(>pznV1^FrQ~q(mC|XSK^bGj>ZkF?=fBZw?{?+=VWqr>~
zmM4xw_SE;hj%S*Y|4-?AhP(}c4JXt8kLq(y)K~q_>UTyH3efLdfOG%-=x!H|%3e*<
ze4atShDFxz3|~dRGX+=lI|Gc;AK4Ao;YY}s>36OG?>8oh;X?I0ug(L1=W&~sqLN5`
z=yyiqka!a<hN#@0`kh}!Se$T%erE~-{m%H2erIMgUXR~}>34n^qGwR?d@4C9f&Lc#
z&NpaS&=drf^*h6X?lv&}&M?#2_jEh<zZLz?KPDJJzcU33rSFG_v<A6tuvc*!>4O})
zOadj(A~w#YHL&%5q&PvzGqn%S6b~VoLthp)-lQujD>T_`sRSvJu4f5<^~m(ObUnX;
z3+w05_52i^q3ij#_{qASUmypg^a_4G52e%HA#pP#MdJ$c9NZ+B2PsR7EbNYDvGnKu
z0LOm1MqtLddk+pDN7C3mB3vaP#v`CMRS4w|1x#?!WA14Ndb>CQ7a#I)j1N^=1YLq2
zYnFE~Ddrl7`z+%S%_nYS*V3gSm~|j08R9&@(0bo`b0qw-w}^Y}A;%GkWbp8~vMHMQ
zyzQQBsTm{)-HgeRDp4vRR*t`JoTyo?^+1qA`WsW=TNbA6J4FVUxr5yw*%*KmZg}EK
zfXg}wGA_Drc)D;yW4m-0PHN%y$RxT<=^4gu?^944uERq5L?dpj?nbB_gzDO4n|Pq~
zFVM>)?#bRF8BsvFa94BH#TKT~+MT)6V+jfd-xh79U|47Q0y45jv7*(lKsjoB_;gSM
zl+Yo1QYnU`^SDX0#JUJa!HaoPg8*G=q(|K}6Zdp%(48)!+QxS$)6MT`ZA>(VGf>z{
zSF}XqcuZe(fkmfzlQ_HRIj<vNXet!oeE&I^aL=J{wAg}>hbPhP61wa_==~awn{;>4
zSu9mqZ#t!>MOT__g(Lw=Ni@zuLVUn?OzF_G;4T^qWyi0`F=QMK8*5Tzn2y~36S<)X
zec{ZqN4`|+VyK0NJS)uUfwC@&>ECRF_S$$^AhPx)8`2oXN^Gn}XejAo#s26zwO7Jl
zEBikWf981;t5XXg49|}-u0X(~gpRuh?Sv{HVsYza?>(}24vV;&`N-py1J?=A6VjJZ
zuA%g$@RC*%mZDeU`jB!u*4Iu-o!E^yNPEm6NfO2@5d*b9EPW2lkGmY_fx<kSEj0Cv
zeA#XQtIiJTQgnO&kH=|Vr(Mj@e9{8cYNs+69Ywjb0zag2^GCRjMB}De{}C>j`~u3#
zc1UZISOs54U|adRPVmw_KSJcM(Fbvn#{*|pso#%}1Jz#H^M2K{A>Q+LmTh_g`#Hu0
zm`0lWP^w19n0p8pr~uOMSnC^C$SD~S82U}l6cRXbpBm|9?~18!KLTe|q75q3+u%Kj
zE@iXfe~f%}q=edCR*=owo-iG#VQfS^Xq~NLKT^~u8iyf2C~1?``*F)(BVavn4-F=`
zZVts?xbmWE`TIGd_0;m`EzPxC?cN9dORR#{`(sl1XY<|#eS)~__7{xTm>8Ly2&A<8
z5JV{lTU^;;YlpAd><Sp4Kmb=}7%Dlr_4P#+bu1+3fIKdm)0B&NM&wxul|E?r(eea`
zGS8u;abHMQD9Am0BYGyBzlX5CnlAwhjTc(gjQcPRqqfcLM{^?^7ibuOoYs2Wm&9Gg
z3U~&~K0p*}S0(#nfPnjt&*=`eQD(Z_hs2*nfMdQ}K$@Gl@@B;EzP|a1Gz~kHxX=is
z9gSd$oWbkh2$xh!nTZ=b7Pfh&9}7bwNf7ao=Hr-)fMQyNK--_-$u*RIB~H4<wf$i@
z(>MdIF85h;sP&6j^-)1{#Ew*^%BlPX;gHH&C6&MSOy#MwQt4o%2~r`&e(V~fI&YEW
zXIZkvJZ^m{l<xghXBQjn!E41m-1>A<q|{(DYo%L3!Q)C0E;K^d1@1fNHF4#8Q3dGq
zx`PjHe@hE91gz{nA~qgx8D)&3m~Q_eo5ve091La9!NMW7;2x>wY9JZ69?3W0meqY2
z`cjYqd`O`}sNA}mfCA(wA<H_&Vk0%;ITFcZwCB9R!g!PV<UflnM88#sOKlKK#SCI$
zvA@X@C@i+;<PX7k=A9sfR#<D0j`RfDQY>d?<7axLl$(DiB><^b9tg@jngO|!=7@1L
zHqN?8n20QN7NDBP?wvvSuWjZnaYC{~4_XgG1N}3s+On|8OQmZt&ACKL2sk+DHEi`k
z*KWXZT)G^mHvk*E*hVscmq9r2T)YdVClG|FgTC}J^1;SP(z>*WZrwm`eJ3v-fb@#b
zP>FJAXL=slxWr>TrYXV?N3_9lzZP<ZlS$0WGURF(9Z}5vGn1uPFv!Z+PPch(#@Kns
zYMW=OJ?H?H<hVaL6W0tGcpVGLFbj^$$WRQ!Tr${PxM`Rp-8l-qZR!0G-6U?Up|;)K
z*2j1yO%a=%(MG4g;Xaa;TuPIs_%n`G&U+kCe*r_8cMLSvo{}sCfZY7QV-E0KB05en
zuoJvhXa}?vQO_Kwc!1xSSS_NtSEC}`)!K_A7;?3?dos^a9l7vyl`}_LkO?eeHxBP(
zlFnbWi{9hBzf0#$;{B&bFHM743;i_y)A}XQS7_W0;?XI-2jnvU9Ch_f<SU=515mm3
z<z^DL1l34<puz;K;l)rI`&H1%2|r{^hT%hIB=ZQ8VRs)->P!D3lx-&5Amkx+xOd-m
zCn=Gm;l)1@>Z*PDi-?r-rb#b?rfe|&6gEY&T7&V2<i#$=GZ9~e{w9Wex60Fdu`~<h
zqa*tm;SEQmC6K2pVzO1IMfA368XYr{1n@*)li70gI(2qQC&``m%JFxip@Kl6n}$^y
zZzOZsUjgAt<IT+c8Z(o-Sav<~!a#KoEMduH)m9qc!e}EvyILw=(}IKE((<E>2EPH>
zxB}x%2xt$CPnUnkP!Q>tm}a35091hIHo6&&Vek;#aZNHqs9C#4ez@v=>^iz|{4gr;
zBgzB9JRoBVA;sM!B}hzv8D?nM&cN~t_e@a)C{)}eB_V%XIRw-H8gO%pA3;nBq$gnl
z#S|BsDM@!Bdtg!<br4BffsueT89>!p)bqojFoQ<wae^#x-3E0Uu7KBuf%gMk(Pfho
zCQ>G8p8ViW_g<NMMsSMD%1zRHGkOMCrUtMuB>Vz$Qb?gSD)oIvb1@Pn2NI?*{uof5
zL7%W?MbqmB6rWAo-fLOwwS;bg&LpOjvk2O?2W`KK`hX(`LSEb$qoB_cX*wya=xB*P
zP6wFa(87qbBIt#2v?7yM;45W9ct*vh>+_6OR#38AW{#{6f~);>NQk#&N3kS15HO2L
zTy5L1(h(bwjYfL+N*V#mPGRk)Dg9V@3rh)ld^Go>Fc2k+{)gma@@AO62GSXuA<LaX
z>O<pF$4%Xy8O-k`1F>%`bx`{@mLCLB^rgH&_7fc>-{WTbY2~~^WttguOZ~nZ3}Oyc
z0F@bF6|<yNYK#rBqC-63;80<P9F7f7QYs`<Y?ThvoJq<-Nf{@<k?IUdU=qnGtu<?|
zF(62t8sugK!9r5p3b7NKYYoyW)gu=kwf*GKPpFP`oGIL4M(7<BT6|AhsCxCG@crfR
zKT;jP0gNH3K9;&u_1F)O+5vLtajIhjIcj`JcdIl~b^H@KYUPkAs^hb8Bx)n87R4|j
zxS;wx3?Hr<oB+yGOEua<_=6Sc1GOat(5=#D#o-PD%Ijm0e1V+&TE&B}wUn@s|DiZ!
zQOI8+q?+e7l;^vOFJvYt`4MoXACoiC3M&e_4UblrZ-KKlp0ehN-H}!=#&?rxN2C`p
zG$m3jPqS)?@8EYVtmi5ofx#}$H)C?<svk0l-(QP9S@F526taE{8_p1+Loz-J4S@%s
zy|mEahOT6?hAK3(fJ?YeANAy84V?=Ipa-xS#E2!3Bqpu4crTIrOw|?WGmT|Y)@MG6
z^u_AF2z3*a{A~vUN%p{eGpK@xAheQQc7G7nM1_kPVzV3X-zvl9dM3kV1e4(+K+;ML
zDs%=?j-9E^P#!I6NmdKA-X^${##r*X<Sd_{Ru$tyvSaG`V|9tbTzZI!sj~-6ihKt)
zU)e!HWZZ&T&I0n)hVHVDF#}`)j&{f^_yP4jV3FBQ5=VG(t37qA^aMGgBj2g$a~F-@
z07?9v*KrkYbO+Gdq2hM140ahYPt7th**LD}6e4svYFu-JY+JCT<|f%Rzm!|Q6`Jg!
z{MJmmX3d@-&<6^pq2{>;B#EXy6-hT5mm?<{cWda=ew<7+U`7Tv8Xtfcs7nnKywOgp
z2u2A7jJLw0op8uMdMb>Vs@pe`F9`zD<MMx}Y2gjEvK*lL`QuR#%KCCrcss=3&Vk%J
zfhl1jDjniSN7mJVuGK{TP-CUv^EH|D`%O>TKNU?}#T10!a2lS{DnyuM@ETA(i0z?T
zUQc>-ucZvsTntJs{a7yJBBN?Bb3!F$4W?C1WIzp#=3qu$LqB6p7JhOAkh}@dD57yO
zu(qchq#1zFKQ9OAGNc<5FB8-K{_XN|-bahXu>`yj%Rp^}#}_%byc}gdc+hH51#AHm
z#jl6~RxCY)h#(ud>Qf}~i-}Ex(g<$71QJDB46ML{*QOy6Be7g22oG$V<PIN!#83M*
z<J|g2t{U>~4A*pvOcGLCMBQlGY{5dJPgv^1t9sthpC43&)R9~;rOu*p;N>(vCCGm2
z0K%O|_R|MweiGvmC;Mp-k~&NFlfnmcV(4-P=4UXuN+KlE>_erYidaI0rFqozFls??
zAYj!)-o<R;fzC;JvnS-t|5V(KG3x}N2Dv|giisdku+J6k6UIRv#so#!5=mMLrL{6S
z7k1G3)nUG@4I%4f;2^IXm<B(Yje#*eZm?sb(-UbCD((r^Mi?x(^+@?E=}k;gE-WLq
z3V9eXdlcCzJP@8#khjE?GrwKj!L#NIcj)~GAq`%K*3-EQ^h-<z5^7?STaMq|CO~ut
z3H+n><1_1aOKQ7;o{14NY`$S41;u?3yh034iRN3^1Dhr>S_J5mMgm>!nyY#$q!+c~
z4ib$*#Jw!f#U-Y10}0VXj?-p1d<QvB`51j@F1=7WPCrC8svM`AU{>Tf9Ydc)@l-iZ
z$GffZa-3S>jG_2{ksK#CN_3VSr`xIYU^kK+ry??k(yzM=)mG#<O(ZAA0Ex-!lInq(
zqz?$42;!Sg#*1$<Lwr+<D!yre0L5NHZmPEp2D6Ym4O-CTVY8e5WJuC2N9a{7B50L%
zVRD4L=-U679H9dc?@zl#|EwILWGd&sLXOb$nAW~sj?gev;eSMq5b@2~sF=M!^w2=+
zN3+<9k@QN8Mdwxu1%Zeb={8VoaZ`||58I_MV3&fe@t{uaEp=4$%W5FlJc{|bj$6MA
zWR^4tDPY_R3Q5PpW>0R=);D{Xbs4m_P11#?4z!1E9>;Tz=7ON1Pb7o)fvyB`)-)Mb
zSj--CLD1euYd!7#_*z=NjoCEm24byF*%_>lbf_|UC^w8j`;;7i5B4{firCA8BPc-3
zY^(|pXy+M)39NvtPSd&bwt6yPvg>rUr$NHH!;-<BS?}G0I3xv5micoQy&b2Y6hmLD
zBiPQZKS`77`Y*-zK;>V7yt6;I2RGS*??Je$J$S~2$+aC&g*GPa1gJA>JIxPZcQGwp
zRE!Dz-4$WaN8EaB>|nGJ_ab>&Mwu=6p*>jAm#;gW%=<o0#-`LJ#kUrx<%2V<^N<}M
z+(xswk7eWm<=aw2XAdB$=~^V*<Qd^8k9s)(bAp+#)<Q;CB}_s4wdOQiCB7`%u1);J
z4;K86KX#zIoWjuk!tvcgW-E)DW?}JAUe|>FH6(EXX?q840LM!sts9E@`R$alGsT;*
zNXDiE6E|2aQvsM#N(ibkzR<b%4`-+g8gBikfCB3JrML&HC%bsYA$}rlL2tDM7xlH(
zMU!p5Bgxn9XOP|lMyyl;Jj2!}hW6nEB3^ut6r4RxF}U^HMY|~t3;O=^U2HpUL1TPW
z(nTppy&^8^Y&q&)Yz_c}P-Qa)#ndKu00udcHxt(`Sgg&8)p9oRz2rTr?)6$c{scR1
z!B6eMFM;SuJ>=Xy3~-_#e**-7+F$VEyF3Vycfek;1?QpiU8wvgRC!iU=J_f-U1Db(
zo7!_-H*9_atOQ`JKnslbkAd?{lDfkO(+Kk>LR4R7of|bP2)HJisA?ZActP&fy|>=C
z*9|563fhSAJHZ24#T`_Y;6aCo%0wj{tH~VH<P2)^w^&W~fT{ZllZM=*BGVau@8u!1
zv<euHisbXY(^_vPSA7Y@<YM~5kN}~6MpPzOsZ6~)0CNN!<vO%n4i>Nnlij&}7wFxA
zzQA*CebhGb!v&SpfW=f*qEyd?qtt%(N-XXwu}KoIEYkm3R(4bw=4`>^80nDcKIsZ7
zJ{E&xq*tJ}0`-5v`Z!t>)kiC0)d!e}5lM?sw%~!#T&*40%mbTwU^7AkZCP`+VQv7^
zDrif!2l<rXO?@Vry!{;*LehPon$dX2j@5T?_P^V7AMz6qEP&F`2d!hUWA7a(R=kVs
zuv!l=L;D|K<6kef;R`-6q$a;U1Llq3dw_si!OA9XS2Pb|%UXH_EJeE*^APv({;+Om
zL^=X@Zv9HDk43awEu^q#kyJ(14GkK;kBZyLSj~e-w=|@~mDp&tu_E|_9pnWl2*lxQ
z9+Vv)J`G21J$A@R79#{Bw@9_ffU&w}V`CdrNo=4X^@Fq~*YdANF?#Z1oeRRir4&cz
zCI}CNM{_962YS{4CTj-7zCxaH=5F}I6CRM<o>%`1gWC~EK{D#z&sk>{EZE8~q4CTS
z#Qr$g5PY!J7KEh1c8|sP^Zr`z5H!vV>#Pm5X2uL*zjll}H4I(?4E%-+0L2m96ofeM
z9nw#L++2018^yVsKrxT2o;gs&K?aw##0_*RVY~pY8gPRPzfsc$o>&B=xP5{F9kIck
zilP8}Cm0a%5;?{h4C@pisYie$MuAh?=TMokuIR}t5;xleg2i5G%Lo*MNhp|Z0Rm(1
zrU}IbvL2OEpo>-zU$&YtzGc@1TPw@0RqzwL&@{kU^u}2b+RWxo+Jb;?jB+htgeknP
zGufJq;HwclyAFouU;u~^2XUoQhz5L!8;!W~my!`8D2F6SZI^Zf$+NexftM?Pm%O>^
z<ls(xr|a<9XAj<H3WftK+2$2~f2GWJiSL7LRBl}Z3k)l)FH_EyE3LoBzjB53dHmo?
zduZ<5mDVg8y36TmnH^hOCj3chM)`VpV}F*URUWf%GwD3Hxb1oNZ5r=1{9W60-ol`L
zo54P@#bcNh^<G!A+()@V3)qCla_bw2{3pPHC<XUe*$(E1ej&7i*|(*Lh8%Z(SF<Or
zs~%bKd7I`>i#(}h7M!sy9aWpXEd}YPDOIy_aPAv)ZR320^uB{5V^sxQ<Ew*`d$Uy#
z@*75=7{Qg+D*COk(i|my4mD4ZQVH3CKtI5mVtY&|=T>oct^w_{*CDzlT6t&|O`Q+U
z@(ODSq7j07pwNAVbrEcp{a~=bK-`+;8O)&LDtthErf{TOM4}Wp2VOb-Jj*U?o!ILA
zxgeHXX+OvTae^*@+6J>|CRbw5<G_n(&oTMij)o7K_*6YQPLAv}8tTiUw3`G6bY0Pv
zlLoQ1Wd{vdo1`{T{8@;fYT^U%VToX?QZo$uG*vb^6##vrnaL#%%A1#9T~hg|=$JX&
zso2$&D@y%!A}iAv__19-JNB5e?10~MsFkhKgJCrIR|ZU5a4+MjOHG(_Xh<aFafvIf
z6u13xHWb+>GNPgsz$>@TgL|bJ^><B7!-1i8Xp_N48Pv5@+zB5VG$tC*EQ_Grq1-wL
zP7N9i|5H-4>ukY=DY@k=18(^W6eJEcwVr#ROh88WTwtgtt%eqCZZdl(lNWUWvg+cz
zbl$Oqz!S?^w_r#-1P(@iVjZ)j!;)m1*x(sBDe5sZM9q^6FrSN*DcJ*GT-%Zb@vqjS
z$bvr>)_JC&=$){LGqTdedWQ%AjMn({7?qnKrWS_0FxqG$P^}QUN&0}##9<ufX`s%l
zThIq8K&c;PHX$*s#}Sv<M!EpW(i7`58<1S)_8v(kA*r+;Np&enVW$u2P-DC8qf9c2
zzQ;hK_Wmufp@pe41UFq4o*3pTsQ*(m!eKNijTUH)@?G9xkjM*i9?fSKck{l3dgN;g
ze>%W-Xk-Mu+ZAjOvLhxjoXfX>q=y^fy8kdYYH%c-<S;8PqZr-^@WWtRm#1Bz3up;{
z2%oVy-**Y2)3dD80MbBx9au`}tgjA0_%Qe?WNyl9UXVg|KA>|zG&Y1_%NQ7JR&kOS
zhd4+n&=)8X69YXEW7-~*!IKw<ID0hStKyJlPaLxB(Rup??R#R#BBKNf5GD;re%d;S
ztYQg|vt@&tn(=q6D0cn)I@%OmVSNGK;8eLWB$H9P8599mExW5_#gG8jytps5RgQ0_
z_}^D!y93Y4Q7>gt<#fspgT(=gR<3MnD<2pV!6{JLs@7cXs!G2{Uz(J}RpbM{=vRXw
z&KKY%)OCPxn!wXhjEN20^1I+KPR{_$8<=Qi&^0Y2z&2#lhTBZ3EvY;C)E0YavNmvA
zMnv})t(_trL^2pqeTeIXa>bRb7hrsT9PWfji{K#u29=7P1_QGD6g%~I8gLd-;1b0$
zk1Pxw;4_CTG=fsF60#8LkOh=!Im0osfFhUCmMj7_X%>QkUa;EWVS(9&^E^4QXHm!u
zC5<s8Xxk!5H09Qn?^hrOdT~kycrTi0U`j?LS%srKNq5!RpfN?6+cA>RT+c11M(WyB
zDUY<iQzN<MJ6M|7_isV~9M8IQlfX1J!sd%e-G|>IAApX-aBIQICwW_6T?~aDw4PAt
zlAv+JAk6Yx?7{JMWQbNeZVMXUgt5{w9h<zrhY3`7CtB|i1a%8IW<rFu@oBgR9EYV<
zpAqE|T7}F>;hI>1#g4rC4=i06SbBfpO~PkeWe!yS;7E$Ca_QZ+%3LS|>v2r)5*<(k
zl4+4w5Nc3H@WFSn|F6YX%t+iYM{f=|j>sqbFb&Y-Yd;J?W9ZkX(K#5AZLkUAYrlh^
zo2CNH1inRP16ChiV_@mrNI!19&5Vhv(J>bh(SAwN5(qISR#ckw1@x2pJ4Y``i}aTc
zF|&TDsfG=BqmpdFhX#W<!@j@wa&cM)4nT10XHJK1S+rvK5XOx44UQmm8^H|W|F>jB
z^!$1)CW;5g4v}dFd%$r36++EWpVz-2UJ302))B>e6aJzr!ytw+?1?*3Q)m<kIPQnN
zeE<}UqNn@Y^nnlo5nz4<zkp*|VCKRg-*1xEn*?1SuuRf<Isc(EFhwwZuu$xn!de99
zkG*Z<%AbQN=(x=;79AF69*Om%idQM!SU0L*&8YUGkmGK``9<>49T3*Uw1UGNAymQ2
z19J&H?<Yq(;KNS(puaF2VBH0d2S7BUuh@gY9UM0k9dq$RS8*JtEqinmtW%^gbYn#H
zPO;H}HB}m*EQ2=yU9vKocdt&^@fKQF5UpKVY_1d%aC^=Mpmr<O*Z2|k-m{O{gZY0W
z!<I_N!l3aGjFmWxBpRDw0%~J_;-mu`69GpDI7-Hia1A)#69V1?QZv&;-5PjJMsHTH
z4MYtDygLHkxdHF}w#qCZwyn~8w;S90@h49g7`svWZJ;#xQ&u1}dX+Q{eFiO^fY1&^
zu#5L)Si!&oCR0=MWgpWT$urpZ3oMBSfTGEOu0bLU<+ad=F`#mmj7W2bJAm;=^uAvZ
z#<L#hg^c%rV>ju~m<+t{Y;^3F@t*lgKIoH`asMmm29<Gtu=EKt>z8se?q_x?iN$q+
zD}emV_+S)m1caBH30<HOBRHTM>jQ=c$1*LEU?bE{5L|j2MwviGHPtKlo+J3SJ5WL0
zRay=8^X#Mv@Kfm)H=es&?4WK!9YXFL=qJI+{Q^%>>jaACqCfPZ{=n?$60n?+Evz%#
zjrt#BIif$%F^ZsLA$TR|67K=Ad+8D(41(wA4?uZ34-VW#XOPdcQBT-GF6aqLKVp+d
zd}m;lPwWr7S%2v6Qe)6JI^=G#2J1y?df?^(uHsjyrtcRSTJLC)CB&`2bufrQn*MJb
z;%~Nu52d8;Ol=7~MIeqOiR|zD#W1aR6jwcY1h@Xi;o*ZRsZH2!C+Yw}aY$yQ92|gm
z+=fPg(u|3LCke%ZlQWLB4&8EmANUdCPJq&$bK@}1u@l;jnhd^Q4A63p`heenkP(v_
z8)FX*|Mr|dT=^w{Fc1Lh#vDgP`w&`+q%yb!U=dw-9XkkpAov|bKvRHRTtm_@KFDhk
zEJ{+FQj6|~M;gUvs}Nw?4z?1ZL}1w?J%&M?TkklsL8BRPM%XC{Mh!9+Qo}*hF~<?D
z*XTRQMf7#;26=h`?__5h@oR99(}J>#j{7mQ8E{s~&b{iGYZn2XLORJf93h`ZNN&B3
zDCvQGG>jv6JgFM^ERw`;=tGTh!UQ%{Y2Q#<s12*9T7#K@fi1vVVg>WN4{o5ne5v>V
zn<5D^fN*4jJ*Q~8$K|N_*mD)@*O$vh8~p=l0!z1Gf>Vmd3W!bKezKiK8wA*T%yI-A
zZ&bWkM>8`Gi(sj{Q`zuLi?0#ppr80th<mpu$$Bac1eW!1C39n)f~e|Pr=aNqodQEO
zbqe&2e^I9(T%)sw0{R^zq|jpsX9?+ZV5Z3hS5UG*6fn2A9`OvOPw?pojyT9tbO04w
z=1mm~Gq9`$QB{~hDrL$x)9~M8%Aon8Qs&LbbB4m2sYE~^K)ID-5WlU3VuJX_#_v(7
z`7q_yO68ho3(gsAt9;N}Vk`gLdyQC3^lZ6RLh!Of_y7stu(nZTptC)-QU2B2Qyc67
zTSg>3Xv4YWGXN;XAf5u7q2&CqR%(K)lno^dm=`wE3<J_8LkF}4`ua{7y~)ACzN?pc
zb3h>yYd3qBbT!J>K;ghA+U^}mrDAYELJSVwcOa^0tb3MaoPEp|d|6&?W6UO&(_XPj
zI!x-JQO7ww_(#_x8l`%P3uJ94k_FJQMkkhADdt5YiDcUnP)q_gujT}&rut4Kd6$A=
z{BzU;RWK7@$!;DJtB8k%xD&^HY@V68rn3O#!U~ppXbKkR<<>f6WDo8DpQQ#S0(db)
z6~O2y96-w2U|dH=9N7Y+II987U&cwWNSA<Zhaz+355pgc5md1h8Lh%wPMDe)RRQn8
zBCSA8lz?Xk3O31s?neccy4IkHRCw@zf?h8Mj~_|kSRffHq2e^3G-NcOxf=alpxJ*(
zB?|(3h=n*Wv9Z7qFWX#+$TBtG^PU&st$K341Z4UsZ2l0vo^OT$sM;!Th~aGCP^KRH
zD2{d9fup89sFBZ+INP3h4>agjpiaW>*f#hRDO7F08m#-aWLjQ612@k^fVUXSXW2?v
zA^;EIXiGwRb^tL4l#RU-s!c)M;5L#CM!*#tAQTgaNB_Z?HzOu6=V~lIfk7)-DQZTd
zN04GN>^Znoo3SHwwMkq~?MN$MDyP5gvG74dYB<1Lp(e%^0_WE$-f3})4~%h&^Rt}d
zVHy$W9$f%?475Cx4|2+<ExwdU5#c|h_hif4pkXge?}_k}oxlF=bs*^X2{rr2t$**~
zkA@Zs#}DBca(}T|nhnf}UFPi8gYpNYkHJX#CH}qWN+Cr(+Y#FiU8=Qo<p`QmKZl-e
zqz2L*8?LhQ;nA3MHK}1tEh9VJe&|SomL0dg726S?kvf%KVEK1A%C~rur9o6Dqcj4)
zv-GL_m}OMQZ;&(E`MKCs)4M*Et(#d&@8TEJf6`sI!M&x`t3H*7<n+qp(*qu;PokWH
z9nZPbU-|ho=hNb!Z!eqk<hYj1gMS&Z_^(B;x;MT%;#qgj`ShzK>QhM+ozT4d#+!@(
z{CDTdeb3iM8~YAS6nc;-Na1|?QU0s-p(KiFxDJ4#=~Y=ygWxl0$!t{qNin;TxhHAl
zf3os7DgQpopVpBUygs}{fSK`H@Di^CZQJ81L6G|>9O$nM{3z~Kc+1HN;Yn5|9b6uV
z*N%4v-uv)+@XkS)2l3V^asLRj1+NcpV!k$nC;m<e-g)##kozcHT-<*q-y9@GgSH82
zQ<=x$&B04-Bw{kn!Mh0WJcRM!^<jYr;`O3@Pr$^2_d;-kNYdWgs0UKP5|10Hh=+@E
zn)o&%)*Rs#wNYZ+_%<4dc(35K;Pv6vAiNpxg_Jps!sF>pzUQz+d4XkGjTWyCuO6?)
z4?A8RUOiq-1?+frc=dQ=k1>TCICw<nnD1XZX>#!$_vum?X2-lWKE%VT!>h-u`A744
z1o83e@apkid@e%ZA_Oi%;35PrLf|3<E<)fU1TI40A_Oi%;35PrLf|3<{`(;?Bqk5m
zsrfg^g7s)fF6_@(LHZ`hfF)kX@qM*bi`EWxzUF^>?6UF=ZMrqdntvOp=^TS?)3e2`
zCUQgdCd0u0KV_<Fk^nNgO@pW0j1Rr)LuO)<CO*Y*01uHKmER-VdjG~J+k2><J|&s|
z8kwqhgAd8-Np)B1q2_D>+w$uB?(y6M2M_tdAs$AsvBwrCQ?-O#vhWhD5-Mtolc_om
z-WoWta5!ZX|JV>N-hR>izYhYp-6UL7Cj@ZFWv38s*9-nb$zKa=13SN7GYh+F@4WNR
z%EY}8nW}8>j_ue9V!<pXTyb#;<N$U8pK!+a*BqS~81z1~4T{h&VBE}p`P=Z5-oYk^
z;LmS`S%aPJkZ}i0Om@)-M2$Xe1FKUi1mfdpf<#PY`O1f%u2eG_NhEV3i)WG=Xt(VH
zq{mK#an)vb-cHXT5+caX#xr>y#??qZlFU^be@FRj!I3|%{68q!knte>0_nei2MT#V
zeke`}*+NDV<{~s2uZQg?<L2KB|LM$QP$dR;99`2gTl$swVK)|HSuHRrf_Xyn7A<Yn
zjzNmlt&rkeMBG3<kK8RtVk6k&eCQ@~^l{o7p^e2f{39vC>&b|L$0zSWX5Go|@yO!p
zevU{u7y~&onhi8MFp)vVdu7*`Rae2!u6Wyk6SR$(Dll+SlAHKHK`O^CkKP_kfym7u
zV#v1|J78Nv$@uHX)mRV|4(SiT!5_{NcYcohRS*~2fx`sGTj9w2>mcH#1<s@Bh*3xF
zpAmx(hQDC4LCSaa$Py`E)+3*RiTUUg^I^#-@)HpKFa|Xg%;5ffwblz!XM=XZLB170
z<=!lN>$2<IWPMEyO_tSUDU*eYMxktp+*ZnN&!WsVGyr!9A>4_OcEaw$F^ViYN8Kdu
zE&`mc6}P$|YM{`+#AJzjh8EHx^+IgYn=Cyq{|5#~>&0egUUMnLH<1jxa+VlO*hMd@
z*y5Q$XEz_%IjO+EL^mwz841w@X*#-$s2kQZrA95=8o_?CGjB`jJ1Fkos89Lp?X1F7
z{&!`EasDQ%PWs!h%B?iohg{K4XqFD(0Nv=7@4iDmB*l?sP>jXN5$OdMQqc7jKY|_p
z<NJoz9dC`+1&r;$*aYzt&FGOm#ZSn4`Jz!mV5IwBFEapVG5nw9_)ES4-V2hy<TD^&
zTQXnP)QK82+Ky6}!dag*obtgjWTOw|P$dPBd=of%;iSq5_z9Uq>AOI2NIU=y?_0?U
z9cB~K```T}QiYbr{PGcNw-!8kTTrv;>syDqzRF$r-jnb4`;Up5$FH~{T=dL>lLM}4
zYIHvG>0^bb>u>s1?YLKry14@jp1QiID)-T`8(u|qEqHx+H5hv?bdN0q!6|NU`+^tu
zjJx-n304^0zB8ODZf|gA14Y~?e*cy7efeARrFpg(ZwX$Se@YPcKD-zXH8kz6#cRRq
z!>fV+KY|++_q&vt@}>Ib;8pka|GV~#F^XJ#E<)fU1TI40A_Oi%;D03qi03GC84ERY
z!FBXN=hR$w8c(AE5sPC}*J!S0jG$=rp<jM;Me?dwrv7Td<p(ZV@mBhB=$-0&sixCK
zdZ+$t^gWrN!`NJO$9D%+&3BLbPsjW=Jx>;_4~Y(<=RW*P;)nwa+~`ewe7M}Kh9f%W
zLLSQIAAQ=uXBhU6M*5cUs-CAoC=8XK>aNy9jb@4GNg|97W$-C~H4Oc2aXiV><bW%x
zL_4xS*_Fo@$CF$_Zh)On`O{B*YzTKgo|mkrX);=g7Q8+6G-aVKxZ?SLOi$BdtkhBJ
z|08;u{yTV%G7m%g3GhOwA$-E)!z#XxR_+1g1^`U@1`@4kkv~?Nj1Vv}4Nm_FFIj`r
zN|+Q4P60%dR^mR0AP!$j&P;>TLqO=bL;u9rV3IT~;B%Ic$ha(7?~4Gbkm5eZv0R74
z#NEnavcQ-70xnEqI4)20)ZercK8O?;ewcy;^54M^T4=U0n~`MRUzq-;7pQgt;~uJd
z2)rt=mq^l34$Bpnuc(}1$p{u}0BKUt=Mj|YZ@P){0%j4{^=B}%I=qoab!efWOe`@v
z(cSGwkO_E)3jbs<!XnB~kxuP12-s-67e@5#E+)mD<h4V{#{vj#pF*Xo*g|4k>3SX>
zU*s+pM;eD)CDJLmX%<aI*r60QG-x*R2NUKs{D^%NazZgj*c5$yH6l|h4u|J6EKGVk
z$`LJ|CDf?=(FizxjB`U}75RBCF)S9FajzHwaVHG&mGW9VV+HZ1dBFmM^-N`fK{UP$
zKS6ZP3-D&AD9j7;hBRFz5059|0Y+;*Y7V)bGJIU(KH}Y7g)-a+@9!YD^Fz!9ggh52
zxAP3Ds><#B5@y`wg1`;quaFGYREU;<=Wcwu+sfp2{)0TSd59k4k%{R)ffay6yFo?5
zplsO0Cg9D@Fu25mIZ)~1x!xsC1$YPj7JM_OxYH#Le-<WJUVm?rEAI}Ir>_u2OVnpL
z^XlgJj~o#~2AflKg>k<pJr&8|P9Wo9)4d;M?_l^)YSfT11Kp0Vp$##?f3FGniW`I>
z<K@&D1BDhC3uPlTO&Dj(Mszgef67K&Ry6LFjW!rNWTOBh>2N>_#W21i8*wezcqPpf
zfx?nTeeo^D&W1v$J9&!+g3v>A;5<)&nu^i#-U5^B9w!LOlTI58s&*n=@-LhRF?qNg
zZU@TM5U#m0TX?a+0Dkzx#I%6$@I_=ECYu-Y;=`L!%Ru20n3~As_u&i6U-28A?87ba
zCIcT}R*Fc}5o9!)tolm-inx&a$8m$FR!UQXI>aD_^u11DGz+Y}xCNYf|3MBCT@1Sq
zK_U;w2e$;Ce4LWl-DcO<M^Y3=vIhJs;Zb`O<DgoUR8|zoACikAr%xBZ({Q&n+@9eM
z_{%8{u7u%EShJf%?gqr=l)h3Kj-{ZMke5?{?5J?NiLS>|oHm0T&rggVFzy3l5QezT
z9(nx1xJEJ#Xe)(D(s0n#(>ke^8rr`(2Y1Q996mb?&!!3K$yhKs97L6mfyN3*<Ul$~
zJJ0PI#v$&Uc+-*v7{TC9k1uj{cAf7eL_LUQKG-LR(nu))m9@KM5F854Mqf*p#S)`(
zImK{dT32AVh!RV-ivdbaPD!qwoh9;(^dXIsR5?lm;a%hn5hoVfEpmi-qx8BOf{oGV
z3X>!~-5o}ef9nq)EfV)R#a6qx%YU-p5(rCB>)2j~vhe<sW-rJ4El>qQNI`Pre=7YR
zLLspo0?)Li=>?&*r)I!QOw&fv3POgb*1=LBLU4~Cl}hDBErx6ZFFGHrjV{w@@|tNX
zhz-{xfkf?w%z6l+IT}p{&wgxEKwlQ7Eo(jisZgji6GE!o5A@LeKvkavt`C06i=B3e
z_7?X!Fwv)R)%*gIZJ%8ixj`z!2r|h);_#*|;6sM%^TIuva0E84rg?xl4*hl}^&)#0
zQnt_@<6P80p86nB4i}=AFp2zGq+yQW4~Rkfo|@reCBq3^wR17*uS>{hB!pp2UE~y-
zT^Q=d*!9gMdc%^vi*S}U`xTspC#pt5VdC@*L5ZC!bPps?oN$Wo@Kjq#d|$FcxLy$o
zh0#~SsDL}dE|ffrZfyhQinHLh>vLGH^0#$$@WDquKrZ}7pJ{iOHLX&X)&nI%*v45X
z$iu9(9VrGYKSVfEzQ+u*9xG<0_(30iS6e)KUQANbv>s10@RcliRK_XpAr)&=FtW0H
ztZ%7p+`bVgMVbJ{h`VXtvr@1npv`EPRP4lz&Q<;fK}h1R)eb>hRmjP%#~p3hfnC?-
zA?gB7cq@jPKZD7CMz?U9|CHG?S=?IjxwkJWJ;S;v<j}fzw?&4+RzagIlwK$a)6IM9
zV)yPt?#vcQUcyD(w=llZ<7*#|^Z;FP8<aoXO@j1i(q|lf#?WUNeauX7{{ryVA@1L-
ziCl+YUrpo(_@!wgWAIDSL`LD7CZF2yhbYqa42&ysJqmã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
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
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 +
| 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."
+
--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
* 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