Add Readme for LoogArch and Modify the Readme in the root directory. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4054
Cc: Bibo Mao <maob...@loongson.cn> Cc: Chao Li <lic...@loongson.cn> Cc: Leif Lindholm <quic_llind...@quicinc.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kin...@intel.com> Signed-off-by: xianglai li <lixiang...@loongson.cn> --- Platform/Loongson/LoongArchQemuPkg/Readme.md | 60 ++++++++++++++++++++ Readme.md | 9 +++ 2 files changed, 69 insertions(+) create mode 100644 Platform/Loongson/LoongArchQemuPkg/Readme.md diff --git a/Platform/Loongson/LoongArchQemuPkg/Readme.md b/Platform/Loongson/LoongArchQemuPkg/Readme.md new file mode 100644 index 0000000000..7b11905f14 --- /dev/null +++ b/Platform/Loongson/LoongArchQemuPkg/Readme.md @@ -0,0 +1,60 @@ +# Introduction + + This document provides the guideline to build UEFI firmware for Qemu of LoongArch. + + LoongArch is the general processor architecture of Loongson. + + We can get the latest LoongArch documents or LoongArch tools at https://github.com/loongson/. + +# How to build (X86 Linux Environment) + + 1. Install LoongArch cross-tools on X86 machines. + Download cross-tools from https://github.com/loongson/build-tools ,Then config cross-tools env. + For Example: + + $ wget https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-6.3-cross-tools-gcc-glibc.tar.xz + $ tar -vxf loongarch64-clfs-6.3-cross-tools-gcc-glibc.tar.xz -C /opt + $ export PATH=/opt/cross-tools/bin:$PATH + + Note: Please obtain the latest cross-compilation tools from https://github.com/loongson/build-tools . + + 2. Follow edk2-platforms/Readme.md to obtaining source code,And config build env. + For Example: + + $ export WORKSPACE=/work/git/tianocore + $ mkdir -p $WORKSPACE + $ cd $WORKSPACE + $ git clone https://github.com/tianocore/edk2.git + $ git submodule update --init + $ git clone https://github.com/tianocore/edk2-platforms.git + $ git submodule update --init + $ git clone https://github.com/tianocore/edk2-non-osi.git + $ export PACKAGES_PATH=$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-non-osi + + 3. Config cross compiler prefix. + For Example: + + $ export GCC5_LOONGARCH64_PREFIX=loongarch64-unknown-linux-gnu- + + 4.Set up the build environment And build BaseTool. + For Example: + + $. edk2/edksetup.sh + $make -C edk2/BaseTools + + 5.Build platform. + For Exmaple: + + $build --buildtarget=DEBUG --tagname=GCC5 --arch=LOONGARCH64 --platform=Platform/Loongson/LoongArchQemuPkg/Loongson.dsc + + After a successful build, the resulting images can be found in `Build/{Platform Name}/{TARGET}_{TOOL_CHAIN_TAG}/FV/QEMU_EFI.fd`. + + A compile script is provided here: + + #!/bin/bash + export WORKSPACE=/work/git/tianocore + export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-platforms + export GCC5_LOONGARCH64_PREFIX=loongarch64-unknown-linux-gnu- + . edk2/edksetup.sh + make -C edk2/BaseTools + build --buildtarget=DEBUG --tagname=GCC5 --arch=LOONGARCH64 --platform=Platform/Loongson/LoongArchQemuPkg/Loongson.dsc diff --git a/Readme.md b/Readme.md index 62876b4b7d..93e4dc5255 100644 --- a/Readme.md +++ b/Readme.md @@ -57,6 +57,7 @@ IA32 | i?86-linux-gnu-* _or_ x86_64-linux-gnu- IPF | ia64-linux-gnu X64 | x86_64-linux-gnu- RISCV64 | riscv64-unknown-elf- +LOONGARCH64 | loongarch64-unknown-linux- \* i386, i486, i586 or i686 @@ -71,6 +72,11 @@ RISC-V open source community provides GCC toolchains for [riscv64-unknown-elf](https://github.com/riscv/riscv-gnu-toolchain) compiled to run on x86 Linux. +### GCC for LoongArch +Loonson open source community provides GCC toolchains for +[loongarch64-unknown-elf](https://github.com/loongson/build-tools) +compiled to run on x86 Linux + ### clang Clang does not require separate cross compilers, but it does need a target-specific binutils. These are included with any prepackaged GCC toolchain @@ -257,6 +263,9 @@ For more information, see the ##### Minnowboard Max/Turbot based on Intel Valleyview2 SoC * [Minnowboard Max](Platform/Intel/Vlv2TbltDevicePkg) +## Loongson +* [LoongArchQemu](Platform/Loongson/LoongArchQemuPkg) + ## Marvell * [Armada 70x0](Platform/Marvell/Armada70x0Db) * [Armada 80x0](Platform/Marvell/Armada80x0Db) -- 2.31.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96268): https://edk2.groups.io/g/devel/message/96268 Mute This Topic: https://groups.io/mt/94954847/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-