From: "Laszlo Ersek" <lersek@redhat.com>
To: edk2-devel-groups-io <devel@edk2.groups.io>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
Bibo Mao <maobibo@loongson.cn>, Chao Li <lichao@loongson.cn>,
Chuong Tran <chuong@os.amperecomputing.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Ling Jia <jialing@phytium.com.cn>,
Marcin Wojtas <mw@semihalf.com>,
Masami Hiramatsu <masami.hiramatsu@linaro.org>,
Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>,
Nhi Pham <nhi@os.amperecomputing.com>,
Peng Xie <xiepeng@phytium.com.cn>,
Rebecca Cran <rebecca@os.amperecomputing.com>,
Wenyi Xie <xiewenyi2@huawei.com>,
Xianglai li <lixianglai@loongson.cn>,
Yiqi Shu <shuyiqi@phytium.com.cn>
Subject: [edk2-devel] [edk2-platforms PATCH 00/19] let LibRtcVirtualNotifyEvent() be dropped
Date: Thu, 12 Oct 2023 11:09:31 +0200 [thread overview]
Message-ID: <20231012090950.108577-1-lersek@redhat.com> (raw)
In-Reply-To: <687bbaf5-3c2b-6d27-44a5-d19541ce97bd@redhat.com>
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/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2023-10-12 9:10 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-12 9:08 [edk2-devel] EmbeddedPkg/RealTimeClockLib: drop LibRtcVirtualNotifyEvent from lib class Laszlo Ersek
2023-10-12 9:09 ` Laszlo Ersek [this message]
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 01/19] Hisilicon: enable NOOPT builds Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 02/19] Hisilicon/FlashFvbDxe: fix PcdNorFlashCheckBlockLocked token space GUID Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 03/19] Hisilicon.dsc.inc: resolve VariableFlashInfoLib Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 04/19] Hisilicon: rename OemMiscLib class to HisiOemMiscLib Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 05/19] Hisilicon: add missing include file to Pptt components Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 06/19] Hisilicon/Hi1620AcpiTables: fix up ASL Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 07/19] Hisilicon/ProcessorSubClassDxe: drop conflicting PROCESSOR_STATUS_DATA type Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 08/19] Hisilicon: drop unused DS3231RealTimeClockLib instance Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 09/19] Hisilicon: drop unused VirtualRealTimeClockLib instance Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 10/19] Hisilicon/DS3231RealTimeClockLib: drop LibRtcVirtualNotifyEvent Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 11/19] Hisilicon/RX8900RealTimeClockLib: " Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 12/19] AmpereAltraPkg/Ac01PcieLib: fix compilation error Laszlo Ersek
2023-10-13 2:20 ` Nhi Pham via groups.io
2023-10-13 3:24 ` Nhi Pham via groups.io
2023-10-13 20:37 ` Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 13/19] JadePkg/PCF85063RealTimeClockLib: hide LibRtcVirtualNotifyEvent Laszlo Ersek
2023-10-13 2:24 ` Nhi Pham via groups.io
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 14/19] LoongArchQemuPkg/LsRealTimeClockLib: " Laszlo Ersek
2023-10-12 12:14 ` xianglai
2023-10-12 12:25 ` Chao Li
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 15/19] Styx/RealTimeClockLib: " Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 16/19] Armada7k8k/RealTimeClockLib: " Laszlo Ersek
2023-10-12 14:32 ` Marcin Wojtas via groups.io
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 17/19] NXP/Pcf8563RealTimeClockLib: " Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 18/19] FT2000-4Pkg/RealTimeClockLib: " Laszlo Ersek
2023-10-12 9:09 ` [edk2-devel] [edk2-platforms PATCH 19/19] Omap35xxPkg/RealTimeClockLib: drop LibRtcVirtualNotifyEvent Laszlo Ersek
2023-10-13 10:12 ` [edk2-devel] [edk2-platforms PATCH 00/19] let LibRtcVirtualNotifyEvent() be dropped Ard Biesheuvel
2023-10-13 20:42 ` Laszlo Ersek
2023-10-12 9:10 ` [edk2-devel] [edk2-non-osi PATCH 0/1] Hisilicon: rename OemMiscLib class dependencies to HisiOemMiscLib Laszlo Ersek
2023-10-12 9:10 ` [edk2-devel] [edk2-non-osi PATCH 1/1] " Laszlo Ersek
2023-10-12 9:10 ` [edk2-devel] [PATCH 0/5] EmbeddedPkg/RealTimeClockLib: drop LibRtcVirtualNotifyEvent from lib class Laszlo Ersek
2023-10-12 9:10 ` [edk2-devel] [PATCH 1/5] PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe: rename LibRtcVirtualNotifyEvent Laszlo Ersek
2023-10-12 12:33 ` Sami Mujawar
2023-10-18 13:42 ` Laszlo Ersek
2023-10-18 15:15 ` Sami Mujawar
2023-10-18 15:19 ` Laszlo Ersek
2023-10-12 9:10 ` [edk2-devel] [PATCH 2/5] ArmPlatformPkg/PL031RealTimeClockLib: hide LibRtcVirtualNotifyEvent Laszlo Ersek
2023-10-12 12:31 ` Sami Mujawar
2023-10-12 9:10 ` [edk2-devel] [PATCH 3/5] EmbeddedPkg/TemplateRealTimeClockLib: drop LibRtcVirtualNotifyEvent Laszlo Ersek
2023-10-12 9:10 ` [edk2-devel] [PATCH 4/5] EmbeddedPkg/VirtualRealTimeClockLib: " Laszlo Ersek
2023-10-12 9:10 ` [edk2-devel] [PATCH 5/5] EmbeddedPkg/RealTimeClockLib: drop LibRtcVirtualNotifyEvent from lib class Laszlo Ersek
2023-10-18 13:42 ` [edk2-devel] [PATCH 0/5] " Laszlo Ersek
2023-10-18 13:44 ` Ard Biesheuvel
2023-10-18 17:03 ` Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231012090950.108577-1-lersek@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox