[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
- [PATCH v11 00/11] Add support for LoongArch,
Xiaotian Wu <=
- [PATCH v11 02/11] Add LoongArch definitions, Xiaotian Wu, 2022/09/02
- [PATCH v11 01/11] PE: Add LoongArch definitions, Xiaotian Wu, 2022/09/02
- [PATCH v11 03/11] LoongArch: Add setjmp implementation, Xiaotian Wu, 2022/09/02
- [PATCH v11 04/11] LoongArch: Add early startup code, Xiaotian Wu, 2022/09/02
- [PATCH v11 05/11] LoongArch: Add stubs for Linux loading commands, Xiaotian Wu, 2022/09/02
- [PATCH v11 06/11] LoongArch: Add awareness for LoongArch relocations, Xiaotian Wu, 2022/09/02
- [PATCH v11 07/11] LoongArch: Add auxiliary files, Xiaotian Wu, 2022/09/02
- [PATCH v11 08/11] LoongArch: Add to build system, Xiaotian Wu, 2022/09/02
- [PATCH v11 09/11] LoongArch: Support new relocation types in v2.00 ABI, Xiaotian Wu, 2022/09/02
- [PATCH v11 11/11] tests: add support for LoongArch, Xiaotian Wu, 2022/09/02