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