38 Commits

Author SHA1 Message Date
Wentao Guan
30b840dae2 loongarch: Add support for ELF psABI v2.00 relocations
A new set of relocation types was added in the LoongArch ELF psABI v2.00
spec [1], [2] to replace the stack-based scheme in v1.00. Toolchain
support is available from binutils 2.40 and gcc 13 onwards.

This patch adds support for the new relocation types, that are simpler
to handle (in particular, stack operations are gone). Support for the
v1.00 relocs are kept for now, for compatibility with older toolchains.

[1] https://github.com/loongson/LoongArch-Documentation/pull/57
[2] https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_appendix_revision_history

Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
2024-08-26 11:25:29 +08:00
Wentao Guan
a12fcf90ed loongarch: Add support for ELF psABI v1.00 relocations
This patch adds support of the stack-based LoongArch relocations
throughout GRUB, including tools, dynamic linkage, and support for
conversion of ELF relocations into PE ones. A stack machine is required
to handle these per the spec [1] (see the R_LARCH_SOP types), of which
a simple implementation is included.

These relocations are produced by binutils 2.38 and 2.39, while the newer
v2.00 relocs require more recent toolchain (binutils 2.40+ & gcc 13+, or
LLVM 16+). GCC 13 has not been officially released as of early 2023, so
support for v1.00 relocs are expected to stay relevant for a while.

[1] https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_relocations

Signed-off-by: Zhou Yang <zhouyang@loongson.cn>
Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
2024-08-26 11:25:29 +08:00
Wentao Guan
fd9d0b6daa loongarch: Add setjmp implementation
This patch adds a setjmp implementation for LoongArch.

Signed-off-by: Zhou Yang <zhouyang@loongson.cn>
Signed-off-by: Sun Haiyong <sunhaiyong@loongson.cn>
Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
2024-08-26 11:25:29 +08:00
Wentao Guan
1b467695d9 elf: Add LoongArch definitions
Add ELF e_machine ID [1] and relocations types [2] for LoongArch to
the current in-repo definitions.

[1] https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_e_machine_identifies_the_machine
[2] https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_relocations

Signed-off-by: Zhou Yang <zhouyang@loongson.cn>
Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
2024-08-26 11:25:29 +08:00
Wentao Guan
c6bef1ddad copy grub 2.04 elf.h to MOD
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
2024-08-26 11:25:29 +08:00
Wentao Guan
cee98dbb8b pe: Add LoongArch definitions
Add PE machine types [1] and relocation types [2] for LoongArch to
the current in-repo definitions.

[1] https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#machine-types
[2] https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#base-relocation-types

Signed-off-by: Zhou Yang <zhouyang@loongson.cn>
Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
2024-08-26 11:25:29 +08:00
longpanda
f597497da6 1. Add VTOY_WIN11_BYPASS_NRO option in Global Control Plugin.
2. Change the default value of VTOY_WIN11_BYPASS_CHECK and VTOY_WIN11_BYPASS_NRO options to 1.
2022-12-23 23:17:39 +08:00
longpanda
44a3e23740 Optimization for the implement of menu languages. 2022-12-19 23:49:25 +08:00
longpanda
1ab1799b72 Code Optimization 2022-10-22 16:13:03 +08:00
longpanda
e79dc57ebe wimboot mode support Bob.Ombs.Modified.Win10PEx64 (#1842) 2022-09-16 01:05:58 +08:00
longpanda
e46e24dde7 1.0.78 release 2022-07-01 19:10:12 +08:00
longpanda
595b9441e9 Support prameters expansion in auto install script. 2022-06-15 20:53:35 +08:00
longpanda
3263b64b8a Reduce required low memory. 2022-05-03 19:13:29 +08:00
longpanda
d4d8736620 Add debug info 2022-05-02 21:05:58 +08:00
longpanda
b4a059dd68 Add missing file 2022-04-08 17:21:36 +08:00
longpanda
132649c4e5 Add F5 Tools ---> Hardware Information menu 2022-04-06 19:12:59 +08:00
A1ive
15b8b1f358
support scrolling menu entry's text (#1539) 2022-03-29 22:50:11 +08:00
longpanda
a1c6fe2d24 1.0.67 release
support to browse and boot files in local disk.
2022-02-14 23:31:54 +08:00
longpanda
ba5978d298 1.0.66 release 2022-02-13 17:00:39 +08:00
longpanda
1f49265f29 1.0.64 release 2022-01-08 23:07:04 +08:00
longpanda
836e1aa11e Add support for boot conf replace for distro which use systemd-boot in UEFI mode.
(#1170)
2021-10-23 23:15:25 +08:00
longpanda
734c7b8ac4 1.0.55 release 2021-10-17 21:56:30 +08:00
longpanda
c5af17e04e experimental support for chromium os (fydeos/cloudready) 2021-08-26 14:17:44 +08:00
longpanda
bafac7479d Fix the boot issue for Untangle ISO in legacy bios mode. (#1054) 2021-08-11 09:44:09 +08:00
longpanda
93996cf7e2 1. Optimization for WIMBOOT mode.
2. Add WIMBOOT for UEFI mode.
2021-05-13 23:05:42 +08:00
longpanda
b63ce2a3df experimental support for loongson mips64el uefi 2021-03-05 23:03:34 +08:00
longpanda
a68629a931 Add support for keyboard layout
F5 ---> Keyboard Layouts
2021-01-07 20:32:38 +08:00
longpanda
f2ed81b004 update 2021-01-06 07:50:23 +08:00
longpanda
ebaa4d954a IA32 ARM64 support 2020-12-12 07:56:52 +08:00
longpanda
d02f184a8d add support for linux vdisk(vhd/vdi/raw) 2020-09-26 00:04:56 +08:00
longpanda
8dce0adda6 update for new release 2020-08-29 13:12:46 +08:00
longpanda
be50ea69aa 1. Boot menu over serial supported
2. Optimization for booting Solus
3. Optimization for booting .efi file
4. support deepin-live iso
5. support Endless OS
6. framework for booting .img file
2020-08-07 22:25:16 +08:00
longpanda
0f8478fbe1 update for new release 2020-07-22 23:30:13 +08:00
longpanda
1d034f0a24 update 2020-07-03 23:20:41 +08:00
longpanda
1cbe4c81b4 1.0.14 release 2020-06-25 23:01:59 +08:00
longpanda
a5c706511b 1.0.13 release 2020-06-15 01:41:42 +08:00
longpanda
ef40780f20 1.0.11 release 2020-05-23 21:19:32 +08:00
longpanda
2aae096c2a 1. change some directory structure for the build script
2. add build script and document
   see DOC/BuildVentoyFromSource.txt for detail
2020-05-20 22:43:54 +08:00