[edk2-devel] [edk2-platforms PATCH 00/19] let LibRtcVirtualNotifyEvent() be dropped

Laszlo Ersek posted 19 patches 6 months, 3 weeks ago
Failed in applying to current master (apply log)
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
[edk2-devel] [edk2-platforms PATCH 00/19] let LibRtcVirtualNotifyEvent() be dropped
Posted by Laszlo Ersek 6 months, 3 weeks ago
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+tianocore@kernel.org>
Cc: Bibo Mao <maobibo@loongson.cn>
Cc: Chao Li <lichao@loongson.cn>
Cc: Chuong Tran <chuong@os.amperecomputing.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Ling Jia <jialing@phytium.com.cn>
Cc: Marcin Wojtas <mw@semihalf.com>
Cc: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Cc: Nhi Pham <nhi@os.amperecomputing.com>
Cc: Peng Xie <xiepeng@phytium.com.cn>
Cc: Rebecca Cran <rebecca@os.amperecomputing.com>
Cc: Wenyi Xie <xiewenyi2@huawei.com>
Cc: Xianglai li <lixianglai@loongson.cn>
Cc: Yiqi Shu <shuyiqi@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [edk2-platforms PATCH 00/19] let LibRtcVirtualNotifyEvent() be dropped
Posted by Ard Biesheuvel 6 months, 3 weeks ago
On Thu, 12 Oct 2023 at 11:10, Laszlo Ersek <lersek@redhat.com> wrote:
>
> 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+tianocore@kernel.org>
> Cc: Bibo Mao <maobibo@loongson.cn>
> Cc: Chao Li <lichao@loongson.cn>
> Cc: Chuong Tran <chuong@os.amperecomputing.com>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Ling Jia <jialing@phytium.com.cn>
> Cc: Marcin Wojtas <mw@semihalf.com>
> Cc: Masami Hiramatsu <masami.hiramatsu@linaro.org>
> Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
> Cc: Nhi Pham <nhi@os.amperecomputing.com>
> Cc: Peng Xie <xiepeng@phytium.com.cn>
> Cc: Rebecca Cran <rebecca@os.amperecomputing.com>
> Cc: Wenyi Xie <xiewenyi2@huawei.com>
> Cc: Xianglai li <lixianglai@loongson.cn>
> Cc: Yiqi Shu <shuyiqi@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
>

Thanks a lot for cleaning this up!

For the series,

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

Pushed as d6e36a151ff8..06f6274d5642

edk2-non-osi patch pushed as d6e36a151ff8..06f6274d5642


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109584): https://edk2.groups.io/g/devel/message/109584
Mute This Topic: https://groups.io/mt/101914650/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-platforms PATCH 00/19] let LibRtcVirtualNotifyEvent() be dropped
Posted by Laszlo Ersek 6 months, 3 weeks ago
On 10/13/23 12:12, Ard Biesheuvel wrote:
> On Thu, 12 Oct 2023 at 11:10, Laszlo Ersek <lersek@redhat.com> wrote:
>>
>> 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+tianocore@kernel.org>
>> Cc: Bibo Mao <maobibo@loongson.cn>
>> Cc: Chao Li <lichao@loongson.cn>
>> Cc: Chuong Tran <chuong@os.amperecomputing.com>
>> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
>> Cc: Ling Jia <jialing@phytium.com.cn>
>> Cc: Marcin Wojtas <mw@semihalf.com>
>> Cc: Masami Hiramatsu <masami.hiramatsu@linaro.org>
>> Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
>> Cc: Nhi Pham <nhi@os.amperecomputing.com>
>> Cc: Peng Xie <xiepeng@phytium.com.cn>
>> Cc: Rebecca Cran <rebecca@os.amperecomputing.com>
>> Cc: Wenyi Xie <xiewenyi2@huawei.com>
>> Cc: Xianglai li <lixianglai@loongson.cn>
>> Cc: Yiqi Shu <shuyiqi@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
>>
> 
> Thanks a lot for cleaning this up!
> 
> For the series,
> 
> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
> 
> Pushed as d6e36a151ff8..06f6274d5642
> 
> edk2-non-osi patch pushed as d6e36a151ff8..06f6274d5642
> 

Thanks much! :)

I'll post a followup for removing the stale MmioRead32() from
AmpereAltraPkg/Ac01PcieLib.

Cheers
Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109610): https://edk2.groups.io/g/devel/message/109610
Mute This Topic: https://groups.io/mt/101914650/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-