Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <[email protected]>
---
This is not a proposed change, but rather a demonstration:
When trying to build HelloWorld standalone for ARM/AARCH64,
with a command line like
build -a AARCH64 -t GCC5 -p MdeModulePkg/MdeModulePkg.dsc \
-m MdeModulePkg/Application/HelloWorld/HelloWorld.inf
this fails with
/work/git/edk2/MdeModulePkg/MdeModulePkg.dsc(...): error 4000: Instance of
library class [ArmMmuLib] is not found
in [/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf] [AARCH64]
consumed by module
[/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf]
Adding the below stanzas resolve the issue, but looking
into why other architectures have no issues with this,
I spot a lot of low-level MMU tweakery directly under
DxeIplPeim.
Would this not be better handled through some standardised
mechanism?
/
Leif
MdeModulePkg/MdeModulePkg.dsc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 05120c7..e9c2866 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -24,6 +24,14 @@ [Defines]
BUILD_TARGETS = DEBUG|RELEASE|NOOPT
SKUID_IDENTIFIER = DEFAULT
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+ ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
+[LibraryClasses.ARM]
+ ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+[LibraryClasses.AARCH64]
+ ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
+
[LibraryClasses]
#
# Entry point
--
2.1.4
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel