On 9/4/23 7:42 PM, Gerd Hoffmann wrote:
Hi,
The loongarch cross-compilation tool on the fedora38 operating system is a
bit old,
The gcc 12 -> 13 update for the cross compilers landed meanwhile,
right now we have:
binutils-loongarch64-linux-gnu.x86_64 2.39-4.fc38 @updates
gcc-loongarch64-linux-gnu.x86_64 13.2.1-1.fc38 @updates
Compile with the compiler of the above version to compile UEFI normally,
but there are some problems running on qemu,
which require a later version of binutils to solve.
It means that we need UEFI compiled by the following version
of the compiler to run properly on qemu:
binutils-loongarch64-linux-gnu-2.40-3.fc39.x86_64
gcc-loongarch64-linux-gnu-13.2.1-1.fc39.x86_64
Trying to build the loongarch firmware throws errors
(edk2/edk2-platforms repos, master branch, checkout
being a few days old):
build.py...
/home/kraxel/projects/edk2-platforms/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc(...):
error 4000: Instance of library class [AcpiPlatformLib] is not found
in
[/home/kraxel/projects/edk2/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf]
[LOONGARCH64]
consumed by module
[/home/kraxel/projects/edk2/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf]
This compilation error is caused by a change in the AcpiPlatformLib
position in edk2, which is referenced by loongarch's UEFI.
We have already submitted the patch to the edk2 community and may need a
day or two to merge.
You can get the corresponding submission from the link below:
https://github.com/tianocore/edk2-platforms/pull/94/files
Thanks,
xianglai
take care,
Gerd