On Fri, 29 Jul 2022 15:11:52 +0800 Xiaotian Wu <wuxiaot...@loongson.cn> wrote:
> 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. > > Here is the test results: > > ================================= > GRUB 2.11: ./test-suite.log > ================================= > > # TOTAL: 82 > # PASS: 52 > # SKIP: 8 > # XFAIL: 0 > # FAIL: 2 > # XPASS: 0 > # ERROR: 20 > > The full test log is here: > https://github.com/loongarch64/grub/files/9216733/test-suite.log Thanks for doing this testing. What are the values passed for the configure options --build, --host, and --target? Also, would you be able to run these tests again on a system with as many of the make check test prerequisites installed? They are listed in the INSTALL file in the repository root. This would allow the testing of various GRUB filesystem code which is not happening now (the reason many tests fail with ERROR). There are two actual failure in the provided log. One is the functional test, which are not expected to be working. The other is the partmap test, which should be working. Its not clear exactly which sub-test of the partmap test is failing (due to output not being very verbose). If you add 'set -x' to the top of partmap_test and rerun the tests, I can get a clearer picture of what's going on. Glenn > > Xiaotian Wu (9): > 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 > tests: add support for LoongArch > > Makefile.util.def | 1 + > configure.ac | 22 ++- > gentpl.py | 25 +-- > grub-core/Makefile.am | 6 + > grub-core/Makefile.core.def | 16 ++ > grub-core/kern/dl.c | 9 +- > 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 | 102 ++++++++++++ > grub-core/kern/loongarch64/dl_helper.c | 198 +++++++++++++++++++++++ > 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 | 23 +++ > include/grub/loongarch64/efi/memory.h | 24 +++ > include/grub/loongarch64/linux.h | 31 ++++ > include/grub/loongarch64/reloc.h | 107 ++++++++++++ > 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/partmap_test.in | 2 +- > tests/pata_test.in | 2 +- > tests/uhci_test.in | 2 +- > tests/util/grub-shell.in | 16 ++ > util/grub-install-common.c | 49 +++--- > util/grub-install.c | 16 ++ > util/grub-mkimagexx.c | 79 +++++++++ > util/grub-mknetdir.c | 1 + > util/grub-mkrescue.c | 8 + > util/grub-module-verifier.c | 26 +++ > util/mkimage.c | 16 ++ > 43 files changed, 1170 insertions(+), 66 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 > _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel