grub-devel
[Top][All Lists]
Advanced

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

[PATCH v7 00/10] Add support for LoongArch


From: Xiaotian Wu
Subject: [PATCH v7 00/10] Add support for LoongArch
Date: Thu, 4 Aug 2022 21:01:34 +0800

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.

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




reply via email to

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