Hi AARCH64 maintainers,

As I am reviewing https://github.com/tianocore/edk2/pull/12340
and considering some of the efforts we've had to remove
code from ArmPkg and ArmPlatformPkg
(https://github.com/tianocore/edk2/issues/10289), I'm wondering
if ArmLib should be largely (or completely) merged into BaseLib.

Obviously, in most efforts moving code out of ArmPkg, we run
into the ArmLib dependency and either need to add ArmPkg as
a dependency of whatever package or give up on moving the code.

ArmLib, as far as I can tell, was originally designed to be
BaseLib for AARCH64 (its inf is even called ArmBaseLib.inf).
I haven't looked at each interface there, but the majority are
interacting with registers, which is what other architectures
use BaseLib for. E.g. ArmWriteVbar() is in ArmLib, x86's
AsmWriteIdtr() is in BaseLib. I believe most of the functions
would fall into this category of matching other architectures
existing definitions in BaseLib.

The definitions there may belong better in MdePkg/Include/AArch64;
I need to look a little closer at those, but the page table defs
for instance are there for x86.

ArmLib only has a dependency on DebugLib and a quick test removing
that dependency shows it isn't actually using it, which makes sense
for inclusion in BaseLib.

This does make BaseLib larger, of course, but also removes a special
interface for AARCH64 only that all other architectures use BaseLib
for.

Thoughts?

If we agree on this general path, I will take up the work to merge
ArmLib into BaseLib (where appropriate). I will need to evaluate
each function closer, but again, a quick review seems like most would
be appropriate in BaseLib.

Thanks,
Oliver


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#121853): https://edk2.groups.io/g/devel/message/121853
Mute This Topic: https://groups.io/mt/118541649/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to