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]
-=-=-=-=-=-=-=-=-=-=-=-