For the series... Reviewed-by: Nate DeSimone <nathaniel.l.desim...@intel.com>
-----Original Message----- From: Oram, Isaac W <isaac.w.o...@intel.com> Sent: Thursday, March 10, 2022 2:41 PM To: devel@edk2.groups.io Cc: Desimone, Nathaniel L <nathaniel.l.desim...@intel.com>; Chiu, Chasel <chasel.c...@intel.com> Subject: [edk2-devel][edk2-platforms][PATCH V1 0/9] Add Whitley AcpiPlatform driver This series converts the AcpiPlatform driver for Whitley ICX to open source. The driver requires libraries providing: 16-bit CRC service A library to update the tables based on boot time data. A board hook library to control publishing individual tables and to modify tables. A library to build MADT and SRAT tables during boot. A Universal Board Abstraction library to translate UBA data. The driver consumes the AcpiTables data file and the AML opcode patching table From StaticSkuDataDxe driver. This code does not support the CooperCity hardware at present. The code depends on additional DynamicSiLibraryProtocol2 and updated WhitleyFspBinPkg content. Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Cc: Chasel Chiu <chasel.c...@intel.com> Signed-off-by: Isaac Oram <isaac.w.o...@intel.com> Isaac Oram (9): WhitleyOpenBoardPkg: Add definitions needed for AcpiPlatform driver WhitleySiliconPkg: Add definitions used in ACPI subsystem WhitleyOpenBoardPkg/BaseCrcLib: Add library for CRC16 WhitleyOpenBoardPkg: Add UbaPlatLib Library WhitleyOpenBoardPkg/PlatformSpecificAcpiTableLib: Add library WhitleyOpenBoardPkg/BuildAcpiTablesLib: Add lib for building MADT and SRAT WhitleyOpenBoardPkg/AcpiTablesLib: Add library for AcpiPlatform driver WhitleyOpenBoardPkg/AcpiPlatform: Add driver for publishing ACPI tables WhitleyOpenBoardPkg/Build: Remove confusing build options Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatform.c | 754 +++++++++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatform.h | 117 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatform.inf | 107 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformHooks.c | 384 +++++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformHooks.h | 51 + Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformUtils.c | 133 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformUtils.h | 66 + Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformVTDHooks.c | 1762 ++++++++++++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Features/Pci/Dxe/PciHostBridge/PciHostBridge.inf | 1 + Platform/Intel/WhitleyOpenBoardPkg/Features/Pci/Dxe/PciPlatform/PciPlatform.inf | 1 + Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/Madt.h | 118 ++ Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/Slit.h | 75 + Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/Srat.h | 53 + Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/amlresrc.h | 542 ++++++ Platform/Intel/WhitleyOpenBoardPkg/Include/Dsc/BuildOptions.dsc | 18 +- Platform/Intel/WhitleyOpenBoardPkg/Include/Library/AcpiPlatformLib.h | 107 ++ Platform/Intel/WhitleyOpenBoardPkg/Include/Library/BuildAcpiTablesLib.h | 111 ++ Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h | 42 + Platform/Intel/WhitleyOpenBoardPkg/Include/Library/PlatformSpecificAcpiTableLib.h | 129 ++ Platform/Intel/WhitleyOpenBoardPkg/Include/Library/PlatformStatusCodes.h | 364 ++++ Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaFpkConfigLib.h | 55 + Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaSmbiosUpdateLib.h | 275 +++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLib.c | 534 ++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLib.inf | 127 ++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibApic.c | 735 ++++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c | 1574 +++++++++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibDsdt.c | 673 ++++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibFadt.c | 75 + Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibHmat.c | 1710 +++++++++++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibLocal.h | 441 +++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibMcfg.c | 134 ++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibMigt.c | 69 + Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibMsct.c | 101 ++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibNfit.c | 45 + Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibPcat.c | 42 + Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibPmtt.c | 267 +++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibSlit.c | 1153 +++++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibSrat.c | 952 +++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibSsdt.c | 1004 +++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c | 71 + Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf | 23 + Platform/Intel/WhitleyOpenBoardPkg/Library/BoardInitLib/BoardInitDxeLib.inf | 1 + Platform/Intel/WhitleyOpenBoardPkg/Library/BuildAcpiTablesLib/DxeBuildAcpiTablesLib.c | 470 ++++++ Platform/Intel/WhitleyOpenBoardPkg/Library/BuildAcpiTablesLib/DxeBuildAcpiTablesLib.inf | 40 + Platform/Intel/WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/AcpiPlatformLibSpcrNull.c | 23 + Platform/Intel/WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/PlatformSpecificAcpiTableLibNull.c | 50 + Platform/Intel/WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/PlatformSpecificAcpiTableLibNull.inf | 27 + Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaGpioPlatformConfigLib.c | 388 +++++ Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaSystemBoardInfoLib.c | 62 + Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaSystemConfigUpdateLib.c | 60 + Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaUsbOcUpdateLib.c | 61 + Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaAcpiUpdateLib.c | 59 + Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaFpkConfigLib.c | 57 + Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaIioConfigLib.c | 132 ++ Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaOpromUpdateLib.c | 221 +++ Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaPlatLib.inf | 62 + Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaSlotUpdateLib.c | 114 ++ Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaSmbiosUpdateLib.c | 663 ++++++++ Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dec | 16 +- Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc | 15 +- Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf | 3 + Platform/Intel/WhitleyOpenBoardPkg/PlatformPkgConfig.dsc | 7 +- Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaCommon.dsc | 3 + Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaDxeRpBoards.fdf | 6 +- Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Readme.md | 1 + Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaRpBoards.dsc | 6 +- Platform/Intel/WhitleyOpenBoardPkg/WilsonCityRvp/AmlOffsets/AmlOffsets.inf | 2 +- Silicon/Intel/WhitleySiliconPkg/CpRcPkg.dec | 3 + Silicon/Intel/WhitleySiliconPkg/Cpu/Include/CpuDataStruct.h | 7 + Silicon/Intel/WhitleySiliconPkg/Cpu/Include/Library/CpuConfigLib.h | 82 + Silicon/Intel/WhitleySiliconPkg/Include/BackCompatible.h | 3 + Silicon/Intel/WhitleySiliconPkg/Include/BdatSchema.h | 301 ++++ Silicon/Intel/WhitleySiliconPkg/Include/Guid/MemoryMapData.h | 2 + Silicon/Intel/WhitleySiliconPkg/Include/IioRegs.h | 74 +- Silicon/Intel/WhitleySiliconPkg/Include/Library/EnhancedWarningLogLib.h | 494 ++++++ Silicon/Intel/WhitleySiliconPkg/Include/Library/SpdAccessLib.h | 32 + Silicon/Intel/WhitleySiliconPkg/Include/MemCommon.h | 7 + Silicon/Intel/WhitleySiliconPkg/Include/Platform.h | 7 + Silicon/Intel/WhitleySiliconPkg/Include/Ppi/MemoryPolicyPpi.h | 2 +- Silicon/Intel/WhitleySiliconPkg/Include/Protocol/AcpiPlatformProtocol.h | 51 + Silicon/Intel/WhitleySiliconPkg/Include/Protocol/CpuCsrAccess.h | 254 +++ Silicon/Intel/WhitleySiliconPkg/Include/Protocol/DynamicSiLibraryProtocol.h | 43 +- Silicon/Intel/WhitleySiliconPkg/Include/Protocol/DynamicSiLibraryProtocol2.h | 255 +++ Silicon/Intel/WhitleySiliconPkg/Include/Protocol/NfitTableUpdateProtocol.h | 27 + Silicon/Intel/WhitleySiliconPkg/Include/Protocol/SmbiosMemInfo.h | 87 + Silicon/Intel/WhitleySiliconPkg/Library/BaseMemoryCoreLib/Core/Include/MemRegs.h | 2 + Silicon/Intel/WhitleySiliconPkg/Library/BaseMemoryCoreLib/Core/Include/MrcCommonTypes.h | 25 + Silicon/Intel/WhitleySiliconPkg/Library/BaseMemoryCoreLib/Core/Include/SysHost.h | 34 +- Silicon/Intel/WhitleySiliconPkg/Library/BaseMemoryCoreLib/Platform/MemDefaults.h | 7 + Silicon/Intel/WhitleySiliconPkg/Pch/SouthClusterLbg/Include/PchInfoHob.h | 50 + Silicon/Intel/WhitleySiliconPkg/Product/Whitley/SiliconPkg10nmPcds.dsc | 4 +- Silicon/Intel/WhitleySiliconPkg/WhitleySiliconPkg.dec | 1 + 92 files changed, 19300 insertions(+), 98 deletions(-) create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatform.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatform.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatform.inf create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformHooks.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformHooks.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformUtils.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformUtils.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiPlatform/AcpiPlatformVTDHooks.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/Madt.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/Slit.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/Srat.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Acpi/amlresrc.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/AcpiPlatformLib.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/BuildAcpiTablesLib.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/PlatformSpecificAcpiTableLib.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/PlatformStatusCodes.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaFpkConfigLib.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaSmbiosUpdateLib.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLib.inf create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibApic.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibDsdt.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibFadt.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibHmat.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibLocal.h create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibMcfg.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibMigt.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibMsct.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibNfit.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibPcat.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibPmtt.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibSlit.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibSrat.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibSsdt.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BuildAcpiTablesLib/DxeBuildAcpiTablesLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BuildAcpiTablesLib/DxeBuildAcpiTablesLib.inf create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/AcpiPlatformLibSpcrNull.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/PlatformSpecificAcpiTableLibNull.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/PlatformSpecificAcpiTableLibNull.inf create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaGpioPlatformConfigLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaSystemBoardInfoLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaSystemConfigUpdateLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/DxeUbaUsbOcUpdateLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaAcpiUpdateLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaFpkConfigLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaIioConfigLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaOpromUpdateLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaPlatLib.inf create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaSlotUpdateLib.c create mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/UbaPlatLib/UbaSmbiosUpdateLib.c create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/BdatSchema.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/Library/EnhancedWarningLogLib.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/Library/SpdAccessLib.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/Protocol/AcpiPlatformProtocol.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/Protocol/CpuCsrAccess.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/Protocol/DynamicSiLibraryProtocol2.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/Protocol/NfitTableUpdateProtocol.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Include/Protocol/SmbiosMemInfo.h create mode 100644 Silicon/Intel/WhitleySiliconPkg/Pch/SouthClusterLbg/Include/PchInfoHob.h -- 2.27.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#87441): https://edk2.groups.io/g/devel/message/87441 Mute This Topic: https://groups.io/mt/89698846/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-