grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 0/9] Add support for LoongArch


From: Glenn Washburn
Subject: Re: [PATCH v5 0/9] Add support for LoongArch
Date: Sat, 30 Jul 2022 00:21:21 -0500

On Fri, 29 Jul 2022 15:11:52 +0800
Xiaotian Wu <wuxiaotian@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
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]