https://bugzilla.tianocore.org/show_bug.cgi?id=4564
The RealTimeClockLib class header in edk2's EmbeddedPkg mistakenly declares a function called LibRtcVirtualNotifyEvent(). No component ever calls this function across module boundaries; all RealTimeClockLib instances in edk2 and edk2-platforms are supposed to register -- and do register -- their SetVirtualAddressMap() notification functions. In a sibling series for edk2, we're going to remove the LibRtcVirtualNotifyEvent() API from the RealTimeClockLib *class* header. In edk2-platforms, that means the following: (1) Fix existent (independent) build failures / bitrot. This is a pre-requisite for showing that the other changes don't regress the build. Build regression testing is only possible if you have a build that completes in the first place. Patch #1 enables the NOOPT target for Hisilicon platforms, so that they can be more quickly built: Hisilicon needs several fixes for existent build issues. Patches #2 through #7 fix those issues. In particular patch#4 ("Hisilicon: rename OemMiscLib class to HisiOemMiscLib") requires an ek2-non-osi complement; please see that in the sibling edk2-non-osi posting ("Hisilicon: rename OemMiscLib class dependencies to HisiOemMiscLib"). Patch #12 fixes prior build breakage in AmpereAltraPkg. (2) In those RealTimeClockLib instances that define LibRtcVirtualNotifyEvent(), demonstrate that either (a) the usage is module-internal, or (b) there is no usage. In case (a), rename LibRtcVirtualNotifyEvent() to VirtualNotifyEvent(), and make it static. If needed, hoist the function definition above the reference. In case (b), remove the function definition. (3) Some affected RealTimeClockLib instances turn out to be entirely unused / superfluous; drop those altogether. Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Bibo Mao <maob...@loongson.cn> Cc: Chao Li <lic...@loongson.cn> Cc: Chuong Tran <chu...@os.amperecomputing.com> Cc: Leif Lindholm <quic_llind...@quicinc.com> Cc: Ling Jia <jial...@phytium.com.cn> Cc: Marcin Wojtas <m...@semihalf.com> Cc: Masami Hiramatsu <masami.hirama...@linaro.org> Cc: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com> Cc: Nhi Pham <n...@os.amperecomputing.com> Cc: Peng Xie <xiep...@phytium.com.cn> Cc: Rebecca Cran <rebe...@os.amperecomputing.com> Cc: Wenyi Xie <xiewen...@huawei.com> Cc: Xianglai li <lixiang...@loongson.cn> Cc: Yiqi Shu <shuy...@phytium.com.cn> Thanks Laszlo Laszlo Ersek (19): Hisilicon: enable NOOPT builds Hisilicon/FlashFvbDxe: fix PcdNorFlashCheckBlockLocked token space GUID Hisilicon.dsc.inc: resolve VariableFlashInfoLib Hisilicon: rename OemMiscLib class to HisiOemMiscLib Hisilicon: add missing include file to Pptt components Hisilicon/Hi1620AcpiTables: fix up ASL Hisilicon/ProcessorSubClassDxe: drop conflicting PROCESSOR_STATUS_DATA type Hisilicon: drop unused DS3231RealTimeClockLib instance Hisilicon: drop unused VirtualRealTimeClockLib instance Hisilicon/DS3231RealTimeClockLib: drop LibRtcVirtualNotifyEvent Hisilicon/RX8900RealTimeClockLib: drop LibRtcVirtualNotifyEvent AmpereAltraPkg/Ac01PcieLib: fix compilation error JadePkg/PCF85063RealTimeClockLib: hide LibRtcVirtualNotifyEvent LoongArchQemuPkg/LsRealTimeClockLib: hide LibRtcVirtualNotifyEvent Styx/RealTimeClockLib: hide LibRtcVirtualNotifyEvent Armada7k8k/RealTimeClockLib: hide LibRtcVirtualNotifyEvent NXP/Pcf8563RealTimeClockLib: hide LibRtcVirtualNotifyEvent FT2000-4Pkg/RealTimeClockLib: hide LibRtcVirtualNotifyEvent Omap35xxPkg/RealTimeClockLib: drop LibRtcVirtualNotifyEvent Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063RealTimeClockLib.c | 5 +- Platform/Hisilicon/D03/D03.dsc | 4 +- Platform/Hisilicon/D03/EarlyConfigPeim/EarlyConfigPeimD03.c | 2 +- Platform/Hisilicon/D03/Library/DS3231RealTimeClockLib/DS3231RealTimeClockLib.c | 25 -- Platform/Hisilicon/D03/Library/{OemMiscLib2P => HisiOemMiscLib2P}/BoardFeature2PHi1610.c | 4 +- Platform/Hisilicon/D03/Library/{OemMiscLib2P => HisiOemMiscLib2P}/BoardFeature2PHi1610Strings.uni | 0 Platform/Hisilicon/D03/Library/{OemMiscLib2P => HisiOemMiscLib2P}/OemMiscLib2PHi1610.c | 2 +- Platform/Hisilicon/D03/Library/{OemMiscLib2P/OemMiscLib2PHi1610.inf => HisiOemMiscLib2P/HisiOemMiscLib2PHi1610.inf} | 4 +- Platform/Hisilicon/D05/D05.dsc | 4 +- Platform/Hisilicon/D05/Library/{OemMiscLibD05 => HisiOemMiscLibD05}/BoardFeatureD05.c | 4 +- Platform/Hisilicon/D05/Library/{OemMiscLibD05 => HisiOemMiscLibD05}/BoardFeatureD05Strings.uni | 0 Platform/Hisilicon/D05/Library/{OemMiscLibD05 => HisiOemMiscLibD05}/OemMiscLibD05.c | 2 +- Platform/Hisilicon/D05/Library/{OemMiscLibD05/OemMiscLibD05.inf => HisiOemMiscLibD05/HisiOemMiscLibD05.inf} | 4 +- Platform/Hisilicon/D06/D06.dsc | 4 +- Platform/Hisilicon/D06/Library/{OemMiscLibD06 => HisiOemMiscLibD06}/BoardFeatureD06.c | 4 +- Platform/Hisilicon/D06/Library/{OemMiscLibD06 => HisiOemMiscLibD06}/BoardFeatureD06Strings.uni | 0 Platform/Hisilicon/D06/Library/{OemMiscLibD06 => HisiOemMiscLibD06}/OemMiscLibD06.c | 2 +- Platform/Hisilicon/D06/Library/{OemMiscLibD06/OemMiscLibD06.inf => HisiOemMiscLibD06/HisiOemMiscLibD06.inf} | 4 +- Platform/Hisilicon/HiKey/HiKey.dsc | 2 +- Platform/Hisilicon/HiKey960/HiKey960.dsc | 2 +- Platform/Hisilicon/Library/PciHostBridgeLib/PciHostBridgeLib.c | 2 +- Platform/Hisilicon/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 2 +- Platform/Loongson/LoongArchQemuPkg/Library/LsRealTimeClockLib/LsRealTimeClockLib.c | 5 +- Silicon/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.c | 55 ++- Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c | 3 +- Silicon/Hisilicon/Drivers/FlashFvbDxe/FlashFvbDxe.inf | 4 +- Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/UpdateAcpiTable.c | 4 +- Silicon/Hisilicon/Drivers/Smbios/AddSmbiosType9/AddSmbiosType9.h | 2 +- Silicon/Hisilicon/Drivers/Smbios/AddSmbiosType9/AddSmbiosType9.inf | 2 +- Silicon/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClass.h | 2 +- Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.h | 15 +- Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf | 2 +- Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf | 2 +- Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type09/MiscSystemSlotDesignationFunction.c | 2 +- Silicon/Hisilicon/Hi1610/Drivers/PcieInit1610/PcieInit.c | 2 +- Silicon/Hisilicon/Hi1610/Drivers/PcieInit1610/PcieInitDxe.inf | 2 +- Silicon/Hisilicon/Hi1610/Library/Hi161xPciPlatformLib/Hi161xPciPlatformLib.c | 2 +- Silicon/Hisilicon/Hi1616/Pptt/Pptt.h | 1 + Silicon/Hisilicon/Hi1620/Hi1620AcpiTables/Hi1620Iort.asl | 60 +-- Silicon/Hisilicon/Hi1620/Pptt/Pptt.h | 1 + Silicon/Hisilicon/HisiPkg.dec | 2 +- Silicon/Hisilicon/Hisilicon.dsc.inc | 1 + Silicon/Hisilicon/Include/Library/{OemMiscLib.h => HisiOemMiscLib.h} | 4 +- Silicon/Hisilicon/Library/DS3231RealTimeClockLib/DS3231RealTimeClock.h | 172 -------- Silicon/Hisilicon/Library/DS3231RealTimeClockLib/DS3231RealTimeClockLib.c | 427 -------------------- Silicon/Hisilicon/Library/DS3231RealTimeClockLib/DS3231RealTimeClockLib.inf | 43 -- Silicon/Hisilicon/Library/RX8900RealTimeClockLib/RX8900RealTimeClockLib.c | 11 - Silicon/Hisilicon/Library/VirtualRealTimeClockLib/RealTimeClockLib.c | 423 ------------------- Silicon/Hisilicon/Library/VirtualRealTimeClockLib/RealTimeClockLib.inf | 41 -- Silicon/Marvell/Armada7k8k/Library/RealTimeClockLib/RealTimeClockLib.c | 52 +-- Silicon/NXP/Library/Pcf8563RealTimeClockLib/Pcf8563RealTimeClockLib.c | 5 +- Silicon/Phytium/FT2000-4Pkg/Library/RealTimeClockLib/RealTimeClockLib.c | 5 +- Silicon/TexasInstruments/Omap35xxPkg/Library/RealTimeClockLib/RealTimeClockLib.c | 18 - 53 files changed, 141 insertions(+), 1311 deletions(-) rename Platform/Hisilicon/D03/Library/{OemMiscLib2P => HisiOemMiscLib2P}/BoardFeature2PHi1610.c (96%) rename Platform/Hisilicon/D03/Library/{OemMiscLib2P => HisiOemMiscLib2P}/BoardFeature2PHi1610Strings.uni (100%) rename Platform/Hisilicon/D03/Library/{OemMiscLib2P => HisiOemMiscLib2P}/OemMiscLib2PHi1610.c (93%) rename Platform/Hisilicon/D03/Library/{OemMiscLib2P/OemMiscLib2PHi1610.inf => HisiOemMiscLib2P/HisiOemMiscLib2PHi1610.inf} (86%) rename Platform/Hisilicon/D05/Library/{OemMiscLibD05 => HisiOemMiscLibD05}/BoardFeatureD05.c (95%) rename Platform/Hisilicon/D05/Library/{OemMiscLibD05 => HisiOemMiscLibD05}/BoardFeatureD05Strings.uni (100%) rename Platform/Hisilicon/D05/Library/{OemMiscLibD05 => HisiOemMiscLibD05}/OemMiscLibD05.c (92%) rename Platform/Hisilicon/D05/Library/{OemMiscLibD05/OemMiscLibD05.inf => HisiOemMiscLibD05/HisiOemMiscLibD05.inf} (86%) rename Platform/Hisilicon/D06/Library/{OemMiscLibD06 => HisiOemMiscLibD06}/BoardFeatureD06.c (97%) rename Platform/Hisilicon/D06/Library/{OemMiscLibD06 => HisiOemMiscLibD06}/BoardFeatureD06Strings.uni (100%) rename Platform/Hisilicon/D06/Library/{OemMiscLibD06 => HisiOemMiscLibD06}/OemMiscLibD06.c (94%) rename Platform/Hisilicon/D06/Library/{OemMiscLibD06/OemMiscLibD06.inf => HisiOemMiscLibD06/HisiOemMiscLibD06.inf} (87%) rename Silicon/Hisilicon/Include/Library/{OemMiscLib.h => HisiOemMiscLib.h} (93%) delete mode 100644 Silicon/Hisilicon/Library/DS3231RealTimeClockLib/DS3231RealTimeClock.h delete mode 100644 Silicon/Hisilicon/Library/DS3231RealTimeClockLib/DS3231RealTimeClockLib.c delete mode 100644 Silicon/Hisilicon/Library/DS3231RealTimeClockLib/DS3231RealTimeClockLib.inf delete mode 100644 Silicon/Hisilicon/Library/VirtualRealTimeClockLib/RealTimeClockLib.c delete mode 100644 Silicon/Hisilicon/Library/VirtualRealTimeClockLib/RealTimeClockLib.inf base-commit: d6e36a151ff8365cdc55a6914cc5e6138d5788dc -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109541): https://edk2.groups.io/g/devel/message/109541 Mute This Topic: https://groups.io/mt/101914650/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-