LoongArch is a new Loongson 3A5000 CPU instruction set, you can read documents[1] or visit the development community[2] to get more information.
[1]: https://loongson.github.io/LoongArch-Documentation/README-EN.html [2]: https://github.com/loongson This patch series will add the basic support for LoongArch architecture, it can compile on LoongArch and display the GRUB UI. The full LoongArch patch has two parts, this is the first part. The second part needs to wait for the LoadFile2 patch to be merged upstream first. See: https://github.com/loongarch64/grub/tree/dev/patchwork/efi Please review the patches, thank you. v1->v2: - rebase on the last commit. - fix some errors. - change the year to 2022 for the new files. v2->v3: - based on the last commit. - add a comment to setjmp.S - complete LoongArch support for grub-mkrescue v3->v4: - based on the last commit. v4->v5: - Fix make distcheck failed. - Add tests support. - based on the last commit. v5->v6: - Support new relocation types. - Fix some test cases. v6->v7: - Fix typo - change for test cases. v7->v8: - change for test cases. v8->v9: - limit memory allocation to less than 4G Xiaotian Wu (10): PE: Add LoongArch definitions Add LoongArch definitions LoongArch: Add setjmp implementation LoongArch: Add early startup code LoongArch: Add stubs for Linux loading commands LoongArch: Add awareness for LoongArch relocations LoongArch: Add auxiliary files LoongArch: Add to build system LoongArch: Support new relocation types tests: add support for LoongArch Makefile.util.def | 1 + conf/Makefile.common | 3 + configure.ac | 24 +- gentpl.py | 25 ++- grub-core/Makefile.am | 6 + grub-core/Makefile.core.def | 16 ++ grub-core/kern/efi/mm.c | 3 +- grub-core/kern/loongarch64/cache.c | 39 ++++ grub-core/kern/loongarch64/cache_flush.S | 33 +++ grub-core/kern/loongarch64/dl.c | 167 ++++++++++++++ grub-core/kern/loongarch64/dl_helper.c | 270 +++++++++++++++++++++++ grub-core/kern/loongarch64/efi/init.c | 77 +++++++ grub-core/kern/loongarch64/efi/startup.S | 34 +++ grub-core/lib/efi/halt.c | 2 +- grub-core/lib/loongarch64/setjmp.S | 69 ++++++ grub-core/lib/setjmp.S | 2 + grub-core/loader/loongarch64/linux.c | 59 +++++ include/grub/dl.h | 1 + include/grub/efi/api.h | 2 +- include/grub/efi/efi.h | 2 +- include/grub/efi/pe32.h | 36 +-- include/grub/elf.h | 29 +++ include/grub/loongarch64/efi/memory.h | 24 ++ include/grub/loongarch64/linux.h | 31 +++ include/grub/loongarch64/reloc.h | 111 ++++++++++ include/grub/loongarch64/setjmp.h | 27 +++ include/grub/loongarch64/time.h | 28 +++ include/grub/loongarch64/types.h | 34 +++ include/grub/util/install.h | 1 + tests/ahci_test.in | 2 +- tests/ehci_test.in | 2 +- tests/ohci_test.in | 2 +- tests/pata_test.in | 2 +- tests/uhci_test.in | 2 +- tests/util/grub-shell.in | 14 ++ util/grub-install-common.c | 49 ++-- util/grub-install.c | 16 ++ util/grub-mkimagexx.c | 164 +++++++++++++- util/grub-mknetdir.c | 1 + util/grub-mkrescue.c | 8 + util/grub-module-verifier.c | 31 +++ util/mkimage.c | 16 ++ 42 files changed, 1402 insertions(+), 63 deletions(-) create mode 100644 grub-core/kern/loongarch64/cache.c create mode 100644 grub-core/kern/loongarch64/cache_flush.S create mode 100644 grub-core/kern/loongarch64/dl.c create mode 100644 grub-core/kern/loongarch64/dl_helper.c create mode 100644 grub-core/kern/loongarch64/efi/init.c create mode 100644 grub-core/kern/loongarch64/efi/startup.S create mode 100644 grub-core/lib/loongarch64/setjmp.S create mode 100644 grub-core/loader/loongarch64/linux.c create mode 100644 include/grub/loongarch64/efi/memory.h create mode 100644 include/grub/loongarch64/linux.h create mode 100644 include/grub/loongarch64/reloc.h create mode 100644 include/grub/loongarch64/setjmp.h create mode 100644 include/grub/loongarch64/time.h create mode 100644 include/grub/loongarch64/types.h -- 2.35.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel