<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2-platforms.git/Platform/Hisilicon/D03, branch CodeCleanup</title>
<subtitle>EDK II sample platform branches and tags (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/'/>
<updated>2024-06-21T11:31:20+00:00</updated>
<entry>
<title>Platform,Silicon: drop redundant uses of PcdArmArchTimerFreqInHz</title>
<updated>2024-06-21T11:31:20+00:00</updated>
<author>
<name>Leif Lindholm</name>
<email>quic_llindhol@quicinc.com</email>
</author>
<published>2024-06-20T10:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=b29e69a688d6154a84df725cee38273553062160'/>
<id>urn:sha1:b29e69a688d6154a84df725cee38273553062160</id>
<content type='text'>
PcdArmArchTimerFreqInHz is about to be removed, as it is now obsolete.
Some platforms already explicitly set it to 0, which is the default.
And some modules reference it in their .inf without actually ever
using it.

Drop these redundant uses first.

Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Chuong Tran &lt;chuong@os.amperecomputing.com&gt;
Cc: Graeme Gregory &lt;graeme@xora.org.uk&gt;
Cc: Marcin Juszkiewicz &lt;marcin.juszkiewicz@linaro.org&gt;
Cc: Meenakshi Aggarwal &lt;meenakshi.aggarwal@nxp.com&gt;
Cc: Nhi Pham &lt;nhi@os.amperecomputing.com&gt;
Cc: Rebecca Cran &lt;rebecca@os.amperecomputing.com&gt;
Cc: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Cc: Thomas Abraham &lt;thomas.abraham@arm.com&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Signed-off-by: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Reviewed-by: Nhi Pham &lt;nhi@os.amperecomputing.com&gt;
</content>
</entry>
<entry>
<title>Hisilicon/DS3231RealTimeClockLib: remove superfluous instance init steps</title>
<updated>2023-10-24T13:17:57+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2023-10-20T12:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=cce27fdc45d5a69693749209413a20815960b94b'/>
<id>urn:sha1:cce27fdc45d5a69693749209413a20815960b94b</id>
<content type='text'>
RealTimeClockLib instances are consumed by edk2's
EmbeddedPkg/RealTimeClockRuntimeDxe driver. In its entry point function
InitializeRealTimeClock(), the driver:

(1) calls LibRtcInitialize(),

(2) sets the GetTime(), SetTime(), GetWakeupTime() and SetWakeupTime()
    runtime services to its own similarly-named functions -- where those
    functions wrap the corresponding RealTimeClockLib APIs,

(3) installs EFI_REAL_TIME_CLOCK_ARCH_PROTOCOL with a NULL protocol
    interface.

Steps (2) and (3) conform to PI v1.8 sections II-9.7.2.4 through
II-9.7.2.7.

However, this means that LibRtcInitialize() (of any RealTimeClockLib
instance) should not itself (a) set the GetTime(), SetTime(),
GetWakeupTime() and SetWakeupTime() runtime services, nor (b) install
EFI_REAL_TIME_CLOCK_ARCH_PROTOCOL. The runtime service pointers will be
overwritten in step (2) anyway, and step (3) will uselessly install a
second (NULL-interface) EFI_REAL_TIME_CLOCK_ARCH_PROTOCOL instance in the
protocol database. (The protocol only serves to notify the DXE Foundation
about said runtime services being available.)

Clean up Hisilicon/DS3231RealTimeClockLib accordingly.

(Note that the lib instance INF file already does not list
UefiBootServicesTableLib, UefiRuntimeServicesTableLib, and
gEfiRealTimeClockArchProtocolGuid.)

Build-tested only (with the D03 and D05 platforms).

Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4565
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Message-Id: &lt;20231020121903.44986-2-lersek@redhat.com&gt;
Acked-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Hisilicon/DS3231RealTimeClockLib: drop LibRtcVirtualNotifyEvent</title>
<updated>2023-10-13T10:11:29+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2023-10-12T09:09:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=062007528c9261d37926e7e0bbcbe301a6744f14'/>
<id>urn:sha1:062007528c9261d37926e7e0bbcbe301a6744f14</id>
<content type='text'>
The RealTimeClockLib class header in edk2 mistakenly declares a function
called LibRtcVirtualNotifyEvent(). No component ever calls this function
crossing module boundaries; all RealTimeClockLib instances in edk2 and
edk2-platforms are supposed to register (and do register) their
SetVirtualAddressMap() notification functions.

In particular, DS3231RealTimeClockLib *itself* doesn't even use
LibRtcVirtualNotifyEvent() -- the function is defined with an empty body,
clearly in an understandable, but misguided, attempt, to conform to the
(bogus) library interface. Remove the function.

Build-tested only (with the Hisilicon platforms).

Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4564
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Hisilicon: rename OemMiscLib class to HisiOemMiscLib</title>
<updated>2023-10-13T10:11:01+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2023-10-12T09:09:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=a77cf41e9ae1ff6bdd1467d745f71f786f04db45'/>
<id>urn:sha1:a77cf41e9ae1ff6bdd1467d745f71f786f04db45</id>
<content type='text'>
Edk2 commit [1] introduced the &lt;OemMiscLib.h&gt; library class header to
ArmPkg; commit [2] introduced the first OemMiscLib instance to ArmPkg; and
commit [3] introduced (retroactively) the library class itself to ArmPkg.

Alas, when all these edk2 commits were made, edk2-platforms already had a
(Hisilicon-specific) library class called OemMiscLib -- and many of the
Hisilicon modules would use both "HisiPkg.dec" and "ArmPkg.dec". Therefore
the edk2 OemMiscLib brought about a library class conflict, breaking both
edk2-platforms and edk2-non-osi content.

Rename the original OemMiscLib class to HisiOemMiscLib, and update all
references.

This patch is necessary for building the D03, D05, D06, HiKey, and
HiKey960 platforms.

[1] 2c7c64fc04a0 ("ArmPkg: Add Library/OemMiscLib.h", 2021-02-08)

[2] 0e51d7e445e0 ("ArmPkg: Add Universal/Smbios/OemMiscLibNull",
    2021-02-08)

[3] d03f71dd8be6 ("ArmPkg: Add missing library headers to ArmPkg.dec",
    2021-04-28)

Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4564
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Hisilicon: enable NOOPT builds</title>
<updated>2023-10-13T10:10:16+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2023-10-12T09:09:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=d6d1ec0f91d1e98c3dabb28a2053583a8cae6df3'/>
<id>urn:sha1:d6d1ec0f91d1e98c3dabb28a2053583a8cae6df3</id>
<content type='text'>
There's no reason for not supporting NOOPT in the Hisilicon platform DSCs,
and there is a reason for supporting them: build-only testing. Add NOOPT
wherever it's missing, and stick to a consistent order wherever NOOPT
already exists.

Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4564
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Platform/Hisilicon: Use PcdPciIoTranslation PCD from MdePkg</title>
<updated>2021-10-14T04:10:08+00:00</updated>
<author>
<name>Abner Chang</name>
<email>abner.chang@hpe.com</email>
</author>
<published>2021-10-03T14:10:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=63f876ac4d7a7911dda7bfc422a603ccb0e1c169'/>
<id>urn:sha1:63f876ac4d7a7911dda7bfc422a603ccb0e1c169</id>
<content type='text'>
Compliant with BZ: #3665
https://bugzilla.tianocore.org/show_bug.cgi?id=3665

PcdPciIoTranslation PCD is relocated to MdePkg that leveraged by
both ARM and RISC-V arch. This patch uses the one from MdePkg
instead the one under ArmVirtPkg.

Signed-off-by: Abner Chang &lt;abner.chang@hpe.com&gt;
Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Cc: Daniel Schaefer &lt;daniel.schaefer@hpe.com&gt;
Acked-by: Leif Lindholm &lt;leif@nuviainc.com&gt;
</content>
</entry>
<entry>
<title>Platform/Hisilicon: Consume MdeLibs.dsc.inc for RegisterFilterLib</title>
<updated>2021-03-31T06:20:15+00:00</updated>
<author>
<name>Dandan Bi</name>
<email>dandan.bi@intel.com</email>
</author>
<published>2021-03-28T08:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=7b605cb31e7b9018381e4546b51715f86453ada8'/>
<id>urn:sha1:7b605cb31e7b9018381e4546b51715f86453ada8</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3246

MdeLibs.dsc.inc was added for some basic/default library
instances provided by MdePkg and RegisterFilterLibNull Library
was also added into it as the first version of MdeLibs.dsc.inc.

So update platform dsc to consume MdeLibs.dsc.inc for
RegisterFilterLibNull which will be consumed by IoLib and BaseLib.

Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Signed-off-by: Dandan Bi &lt;dandan.bi@intel.com&gt;
Reviewed-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>ARM Silicon and Platforms: add OrderedCollectionLib class resolution</title>
<updated>2021-01-18T08:12:06+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2021-01-13T08:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=d12d9c963ba3a02252afa9e113c4a3244192ca4a'/>
<id>urn:sha1:d12d9c963ba3a02252afa9e113c4a3244192ca4a</id>
<content type='text'>
The edk2 patch

  ShellPkg/ShellCommandLib: add ShellSortFileList

for BZ#3151 will make the

  ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf

instance dependent on the OrderedCollectionLib class. Because the shell
binaries in the ARM silicon and platform DSCs consume the above
UefiShellCommandLib instance, resolve the OrderedCollectionLib class in
them.

Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Marcin Wojtas &lt;mw@semihalf.com&gt;
Cc: Meenakshi Aggarwal &lt;meenakshi.aggarwal@nxp.com&gt;
Cc: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Cc: Thomas Abraham &lt;thomas.abraham@arm.com&gt;
Cc: Wenyi Xie &lt;xiewenyi2@huawei.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3151
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Message-Id: &lt;20210113082843.9095-3-lersek@redhat.com&gt;
Acked-by: Ard Biesheuvel &lt;ard.biesheuvel@arm.com&gt;
Acked-by: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Acked-by: Leif Lindholm &lt;leif@nuviainc.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Reviewed-by: Marcin Wojtas &lt;mw@semihalf.com&gt;
</content>
</entry>
<entry>
<title>Hisilicon: Convert UNI files from UTF-16 to UTF-8</title>
<updated>2019-10-03T22:04:07+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2019-09-19T00:03:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=25b6dd90858a455fcc132b7b95213435cbb6b4bb'/>
<id>urn:sha1:25b6dd90858a455fcc132b7b95213435cbb6b4bb</id>
<content type='text'>
https://bugzilla.tianocore.org/show_bug.cgi?id=2199

Cc: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Cc: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Acked-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>Hisilicon/D0x: Use StatusCode Router &amp; Handler in MdeModulePkg</title>
<updated>2019-06-12T00:19:01+00:00</updated>
<author>
<name>Hao A Wu</name>
<email>hao.a.wu@intel.com</email>
</author>
<published>2019-05-13T07:28:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=ad3507ab47934626085d77d46abe0f0d2b9d6a28'/>
<id>urn:sha1:ad3507ab47934626085d77d46abe0f0d2b9d6a28</id>
<content type='text'>
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit adopts a similar approach to edk2 commit
a6d594c5fabd8da2273d2794826ec086cf9c3c04.

Currently, Hisilicon platforms use modules from under
"IntelFrameworkModulePkg/Universal/StatusCode/", which produce
EFI_PEI_PROGRESS_CODE_PPI and EFI_STATUS_CODE_PROTOCOL directly, and write
the status codes, as they are reported, to the serial port or to a memory
buffer. This is called "handling" the status codes.

MdeModulePkg offers a PEIM under
"MdeModulePkg/Universal/ReportStatusCodeRouter/Pei" that produces both
EFI_PEI_PROGRESS_CODE_PPI and EFI_PEI_RSC_HANDLER_PPI, and a runtime DXE
driver under "MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe"
that produces both EFI_STATUS_CODE_PROTOCOL and EFI_RSC_HANDLER_PROTOCOL.

MdeModulePkg also offers status code handler modules under
MdeModulePkg/Universal/StatusCodeHandler/ that depend on
EFI_PEI_RSC_HANDLER_PPI and EFI_RSC_HANDLER_PROTOCOL, respectively.

The StatusCodeHandler modules register themselves with
ReportStatusCodeRouter through EFI_PEI_RSC_HANDLER_PPI /
EFI_RSC_HANDLER_PROTOCOL. When another module reports a status code
through EFI_PEI_PROGRESS_CODE_PPI / EFI_STATUS_CODE_PROTOCOL, it reaches
the phase-matching ReportStatusCodeRouter module first, which in turn
passes the status code to the pre-registered, phase-matching
StatusCodeHandler module.

The status code handling in the StatusCodeHandler modules is identical to
the one currently provided by the IntelFrameworkModulePkg modules. Replace
the IntelFrameworkModulePkg modules with the MdeModulePkg ones, so we can
decrease our dependency on IntelFrameworkModulePkg.

OS boot verified by Ming Huang &lt;ming.huang@linaro.org&gt;:
https://edk2.groups.io/g/devel/message/41419

Cc: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Signed-off-by: Hao A Wu &lt;hao.a.wu@intel.com&gt;
Acked-by: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
</content>
</entry>
</feed>
