Mintsuki
34b5380d0b
protos/linux_risc: Fix use-after-free of module handle in verbose print
2026-04-04 15:34:07 +02:00
Mintsuki
18e3547432
protos/linux_risc: Use overflow-checked add for kernel allocation size
2026-04-04 15:34:07 +02:00
Mintsuki
8118e60ddb
protos/linux_risc: Load and concatenate all modules, not just the first
2026-04-02 01:44:58 +02:00
Mintsuki
eb071a0121
misc: Add overflow checking to ALIGN_UP and DIV_ROUNDUP macros
2026-04-02 01:44:58 +02:00
Mintsuki
b29b11ce6d
Reapply "lib/fb: Add preserve_screen option to skip fb_clear on init"
...
This reverts commit 12841527e9 .
2026-03-30 19:44:19 +02:00
Mintsuki
12841527e9
Revert "lib/fb: Add preserve_screen option to skip fb_clear on init"
...
This reverts commit 2e2fc63628 .
2026-03-30 09:16:32 +02:00
Mintsuki
2e2fc63628
lib/fb: Add preserve_screen option to skip fb_clear on init
2026-03-23 08:34:14 +01:00
Mintsuki
398c14cc00
protos/linux_risc: Disable MMU before aarch64 kernel entry
2026-03-15 03:49:03 +01:00
Mintsuki
21e15f3791
protos/linux_risc: Clean caches before aarch64 kernel entry
2026-03-15 03:49:03 +01:00
Mintsuki
31202dc374
protos/linux_risc: Disable MMU and flush caches before RISC-V kernel entry
2026-03-15 03:49:03 +01:00
Mintsuki
2820acf9b7
protos/linux_risc: Respect text_offset when loading kernel
2026-03-15 03:49:03 +01:00
Mintsuki
aa7f2871fe
protos/linux_risc: Validate kernel header before trusting image_size for allocation
2026-03-06 13:11:53 +01:00
Mintsuki
f1167da7a9
misc: Fix wrong format specifiers for 64-bit arguments in print calls
2026-02-09 13:02:39 +01:00
Mintsuki
f954307987
protos/linux_risc: Allocate EFI config tables as EfiLoaderData instead of EfiLoaderCode
2026-02-09 13:02:39 +01:00
Mintsuki
93f54bbc45
protos/linux_risc: Fix wrong format specifiers for 64-bit arguments in print calls
2026-02-09 13:02:39 +01:00
Mintsuki
c03be0ba4b
protos/linux_risc: Use image_size from kernel header for allocation
2026-02-09 13:02:38 +01:00
Mintsuki
e04194d3ad
protos/linux: linux_direct_load() -> linux_load()
2025-09-21 21:22:12 +02:00
Mintsuki
13ccc30b23
protos/linux: linux_load() -> linux_direct_load()
...
Additionally make some functions static and rename linux.c -> linux_x86.c
2025-09-19 22:26:35 +02:00
Mintsuki
996a0c1801
misc: Move to using separate libfdt repository
2025-07-12 12:08:05 +02:00
mintsuki
c9cc7bbb66
protos: Make 'path' option standard to pick executable to boot for all protos
2025-01-10 13:53:12 +01:00
Kacper Słomiński
945c43de0d
lib: Move DTB_PATH handling logic into common code
2024-12-24 17:10:47 +01:00
Kacper Słomiński
e721cecc25
protos/linux_risc: Don't call get_device_tree_blob if using one from a file
2024-12-24 15:56:57 +01:00
mintsuki
deefcb622d
protos/linux_risc: Fix EFI memmap configuration table preparation
2024-12-24 13:32:17 +01:00
Yao Zi
240ecc29e9
protos/linux_risc: add loongarch64 support
...
LoongArch kernels have more address space requirements than aarch64/
riscv64. All params (commandline, initrd, etc.) should be passed
as EFI configuration tables.
This has been tested on qemu with ACPI on. DTB support isn't tested and
isn't really matter, either. Most LoongArch devices come with an
ACPI-compatible firmware.
Signed-off-by: Yao Zi <ziyao@disroot.org >
2024-12-20 20:51:26 +00:00
Yao Zi
3f57bb5a2c
protos/linux_risc: pass memory map and initrd by EFI configuration table
...
Newer Linux kernel supports passing boot params without a devicetree. In
this case, the bootloader should register a Linux-specific EFI
configuration table, which contains memory mapping information or initrd
address.
This is the only option on some new platforms like LoongArch, and is
necessary to allow booting Linux kernel without a DTB on aarch64/riscv64.
Signed-off-by: Yao Zi <ziyao@disroot.org >
2024-12-20 20:51:23 +00:00
Yao Zi
f24e866c02
protos/linux_risc: clean up
...
Split architecture-dependent code and dtb-specific operations into
different functions to keep condition compilation in the leaf and
prepare for support of ACPi-only systems.
Signed-off-by: Yao Zi <ziyao@disroot.org >
2024-12-19 17:36:15 +00:00
Marvin Friedrich
6d2995a3f1
protos/linux: Add device tree blob override config option ( #420 )
...
* protos/linux: Add device tree blob override config option
* protos/linux: Remove unnecessary UEFI check
2024-10-18 21:21:34 +02:00
mintsuki
0c2f0ddebe
build: Remove custom __riscv64 define in favour of built-in __riscv define
...
We do not support non-64-bit RISC-V anyways
2024-08-11 20:25:01 +02:00
Kacper Słomiński
bb9ffd74d2
protos/linux_risc: Fix warning in table installation code
2024-07-15 01:34:04 +02:00
Kacper Słomiński
9faa0e0f0f
protos/linux_risc: Install memory reservation configuration table
...
This gets rid of some warnings when booting Linux on systems with a GIC v3
interrupt controller.
2024-07-15 01:21:35 +02:00
mintsuki
582a86a7ef
protos/linux_risc: Minor code reshuffling to get initramfs loading print to show
2024-07-14 09:32:58 +02:00
mintsuki
f0d64f30a9
protos/linux_risc: Add missing loading prints
2024-07-14 09:19:32 +02:00
Kacper Słomiński
7473bb3f8e
protos/linux_risc: Document need for the linux,uefi-secure-boot property
2024-06-28 06:09:54 +02:00
Kacper Słomiński
ee5096ed84
protos/linux_risc: Tell Linux about the framebuffer
2024-06-28 04:14:31 +02:00
mintsuki
45e036275a
dtb: Optionally reallocate and expand DTB memory as needed
2024-06-28 00:43:27 +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
9fb6423002
protos/linux: riscv64: Fix protocol version check
2024-06-16 07:40:50 +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