729 Commits

Author SHA1 Message Date
mintsuki
68ad2db755 dtb: Fix bugs introduced in cc05481b89f13c842645d5cacc78908d6a9f102e 2024-06-28 01:01:21 +02:00
mintsuki
cc05481b89 dtb: Fix bugs introduced in 45e036275af9867471e141444f7d07db97f5d0e9 2024-06-28 00:51:45 +02:00
mintsuki
45e036275a dtb: Optionally reallocate and expand DTB memory as needed 2024-06-28 00:43:27 +02:00
mintsuki
2923125d90 lib/elf: Add additional ELF type sanity checks 2024-06-27 13:59:19 +02:00
mintsuki
5df8ca77c1 lib/elf: Only assume relocatable if ELF type is ET_DYN 2024-06-26 20:19:10 +02:00
mintsuki
50b147cbd7 lib/mem: Remove unused memcpy32to64() function 2024-06-26 20:00:26 +02:00
mintsuki
fa11b1f9a8 lib/getchar: Only apply EFI serial backspace workaround if serial == true 2024-06-25 14:34:54 +02:00
mintsuki
b46b896be7 menu: Minor change to multiboot1/2 unsupported messages 2024-06-25 13:50:30 +02:00
Kacper Słomiński
aed3b3348e protos/linux_risc: Properly fill VirtualStart in memory map
This lets Linux use UEFI runtime services.
2024-06-16 20:46:23 +02:00
mintsuki
b3d7688449 misc/flanterm: Remove leftover feature flags 2024-06-16 20:10:20 +02:00
mintsuki
8c75c55a92 misc/uefi: Switch from EfiLoaderData to EfiLoaderCode at 2 more allocation sites 2024-06-16 18:27:55 +02:00
mintsuki
9fb6423002 protos/linux: riscv64: Fix protocol version check 2024-06-16 07:40:50 +02:00
mintsuki
74aa228702 protos/linux: Rename files to avoid unnecessary diffs (2) 2024-06-15 21:30:37 +02:00
mintsuki
2541760b98 protos/linux: Rename files to avoid unnecessary diffs (1) 2024-06-15 21:30:06 +02:00
mintsuki
440ba05e08 protos/linux: Rename files (2) 2024-06-12 02:07:39 +02:00
mintsuki
56b7a32dfc protos/linux: Rename files (1) 2024-06-12 02:07:12 +02:00
mintsuki
2a0913c1f3 lib/panic: efi: Disallow returning to menu after exiting boot services 2024-06-12 02:00:53 +02:00
mintsuki
da52f2317e
Merge pull request #371 from qookei/linux-aa64
Linux boot protocol support for AArch64
2024-06-11 23:43:07 +02:00
Kacper Słomiński
c95ad88004 protos/linux: Add support for AArch64 2024-06-11 21:59:30 +02:00
Kacper Słomiński
f49dbd4ae9 protos/linux: Fill DTB with information about UEFI
Also create a new DTB if one is not available. This replicates what Linux's
EFISTUB does internally before handing control over to the kernel proper.
2024-06-11 21:58:02 +02:00
Kacper Słomiński
2a0de56ea4 pmm: Allocate memory from UEFI with EfiLoaderCode type
On AArch64 EfiLoaderData is remapped as non-executable, which means we couldn't
use it for the kernel in the Linux boot protocol.
2024-06-11 21:54:53 +02:00
Kacper Słomiński
288cb6e17e lib: Add helpers for adding 32-bit /chosen properties 2024-06-11 21:54:22 +02:00
mintsuki
6b3d0e5966 lib/elf: Minor rework of dynamic segment parsing 2024-06-11 17:13:29 +02:00
mintsuki
00b3025fd3 lib/elf: Fix bug where the wrong struct was checked in elf64_load() 2024-06-10 00:25:21 +02:00
mintsuki
2795fdab90
Merge pull request #370 from ziyao233/outgoing/riscv/linux-protocol
Support Linux protocol on riscv64
2024-06-09 22:42:27 +02:00
Yao Zi
7767f24689 protos/linux_riscv64: support linux protocol on riscv64 2024-06-10 04:23:17 +08:00
Yao Zi
3a44b45029 lib/fdt: add fdt helpers 2024-06-10 04:20:41 +08:00
mintsuki
33db129c84 lib/elf: Reject relocatable ELFs in elf*_load_elsewhere() 2024-06-09 21:34:55 +02:00
mintsuki
70a0460a6e lib/elf: Do not check for DT_RELAENT size for DT_PLTREL entries 2024-06-09 00:19:30 +02:00
mintsuki
8d5f6d1504 lib/elf: Panic on unresolved symbols, unless marked weak 2024-06-08 23:37:35 +02:00
mintsuki
1aab3b2951 misc/efi: Replace .padding with manual alignment 2024-06-08 16:11:17 +02:00
mintsuki
d14075daed lib/elf: Ignore PT_LOAD PHDRs with 0 memsz 2024-06-08 01:19:42 +02:00
mintsuki
e52cba9a9e lib/panic: Use ternary in 'return to' message 2024-06-08 00:48:50 +02:00
iillis
c16c25a232 Setting different error message for boot failure when booting from menu or booting from the editor 2024-06-07 23:31:28 +02:00
illis
cce8a70eee
When booting from editor fails you return to the editor while keeping the text as you were editing it (#364)
* When booting from editor fails you return to the editor while keeping the failing text

* Fixing syntax and menu render, and adding title backup

* Adding the buffer end and fixing blank bug

* Using strcpy() instead of memcpy for the title and relocating booting_from_editor = true;
2024-06-06 16:56:47 +02:00
mintsuki
d25b7bd0c6 build/linker: UEFI: New padding method that doesn't mangle PT_DYNAMIC 2024-06-05 16:53:00 +02:00
mintsuki
ffe25e3808 lib/elf: Stop parsing PT_DYNAMIC once DT_NULL reached 2024-06-05 11:30:57 +02:00
mintsuki
e6a742e8d0 lib/elf: Panic if ELF file contains DT_NEEDED tags 2024-06-04 03:09:08 +02:00
mintsuki
d694902642 lib/elf: Check if DT_PLTREL is DT_RELA 2024-06-04 03:02:55 +02:00
mintsuki
7a596fa9fe lib/elf: Use __builtin_popcountll instead of __builtin_popcountg 2024-06-04 02:43:26 +02:00
mintsuki
77143b153c lib/elf: Use __builtin_popcountg instead of __builtin_popcount 2024-06-04 02:31:01 +02:00
mintsuki
3ce1415a3a lib/elf: Free allocated RELA structs for RELR 2024-06-04 02:11:06 +02:00
mintsuki
54e8882328 lib/elf: Fix a GCC uninitialised var warning 2024-06-04 02:06:03 +02:00
mintsuki
9789274c6d lib/elf: Add RELR support 2024-06-04 01:45:04 +02:00
mintsuki
5a7052d135 lib/elf: Add more and better sanity checks 2024-06-03 22:34:45 +02:00
mintsuki
04f6957f17 lib/elf: Add support for R_*_NONE relocations 2024-06-03 03:29:14 +02:00
mintsuki
89bc8aad5e lib/elf: Optimise is_relocatable() a bit 2024-06-03 02:28:21 +02:00
mintsuki
4c4d79b7fe lib/elf: Move R_AARCH64_ABS64 case where it makes more sense 2024-06-03 01:53:23 +02:00
mintsuki
4b101ddb75 lib/elf: Remove stray semicolon in apply_relocations() 2024-06-03 01:03:10 +02:00
mintsuki
c9cbc359e7 lib/elf: aarch64: Support ABS64 reloc/add r_addend in JUMP_SLOT/GLOB_DAT relocs 2024-06-03 00:42:59 +02:00