grub-devel
[Top][All Lists]
Advanced

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

[PATCH v11 00/11] Add support for LoongArch


From: Xiaotian Wu
Subject: [PATCH v11 00/11] Add support for LoongArch
Date: Fri, 2 Sep 2022 17:38:16 +0800

This patchset adds support for the LoongArch instruction set.

I tested it on QEMU, 3A5000 pc and 3C5000L server and it worked fine.

Please review the patches and let me know if changes are needed.

I hope it can be merged into the 2.12 release, thanks.

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

v9->v10:
- based on the last commit.
- add efistub kernel support

v10->v11:
- based on the last commit.
- fix new relocation types issue.

Xiaotian Wu (11):
  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 in v2.00 ABI
  LoongArch: add efistub kernel support
  tests: add support for LoongArch

 Makefile.util.def                        |   1 +
 configure.ac                             |  23 +-
 gentpl.py                                |  27 +-
 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          | 150 +++++++++
 grub-core/kern/loongarch64/dl_helper.c   | 261 ++++++++++++++++
 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     | 374 +++++++++++++++++++++++
 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                       |  30 ++
 include/grub/loongarch64/efi/memory.h    |  24 ++
 include/grub/loongarch64/linux.h         |  40 +++
 include/grub/loongarch64/reloc.h         | 113 +++++++
 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                    | 126 ++++++++
 util/grub-mknetdir.c                     |   1 +
 util/grub-mkrescue.c                     |   8 +
 util/grub-module-verifier.c              |  33 ++
 util/mkimage.c                           |  16 +
 42 files changed, 1671 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

-- 
2.35.1




reply via email to

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