Mintsuki
9ee0e8d4e4
stb_image: Fix potential null deref in stbi_realloc()
2025-04-12 21:04:10 +02:00
Mintsuki
08ed65f63e
stb_image: Fix calculation of old size in stbi_realloc()
2025-04-12 20:18:48 +02:00
Mintsuki
cb463226b9
misc: Update to latest, packed, cc-runtime
2025-04-06 22:38:15 +02:00
Mintsuki
f35cd2c172
menu: Hide BIOS chainloading entries on UEFI and vice-versa. Fixes #484
2025-03-31 08:24:40 +02:00
Mintsuki
80912a3d1f
protos/multiboot2: Ignore top-down relocation hint as we do not properly support it
2025-03-31 02:33:54 +02:00
Mintsuki
c8cdc9e051
protos/multiboot2: Panic if EFI64 entry is required, else ignore it
2025-03-31 02:32:19 +02:00
Mintsuki
73d03e7149
disk: Avoid mistakingly allocating more memory than necessary
...
What should've been a sizeof(void *) had been a sizeof(struct volume) for the longest time
2025-03-25 23:18:20 +01:00
Mintsuki
002bd363b4
misc: Fix potential buffer overflow bug with our stb_image support code
2025-03-25 22:33:30 +01:00
Mintsuki
3ef6bb6764
disk: Handle dynamically allocating volume index. Fixes #481
2025-03-25 21:54:08 +01:00
Mintsuki
06e7b78e33
pmm: Handle freeing and allocating fresh ptrs via realloc()
2025-03-25 21:52:27 +01:00
Mintsuki
e4d1f3e706
pmm: Implement pmm_realloc()
2025-03-25 21:39:54 +01:00
Mintsuki
3e9f2e030d
lib: Add MIN and MAX macros
2025-03-25 21:39:16 +01:00
Marvin Friedrich
76446d0c28
lib/elf: Print name of unresolved symbol on panic
2025-03-19 11:44:51 +01:00
Mintsuki
f362e6bb5a
config: Slight change to the config file search semantics for EFI
2025-03-16 09:43:18 +01:00
sanana
196e07ab05
bli: Implement initial Boot Loader Interface support
...
This patch makes Limine advertise its branding and the ESP partition GUID to
systemd over the Boot Loader Interface specification. There's more to the Boot
Loader Interface than these variables, but this acts as an initial
implementation. See #473 .
BLI variables are initialised for all protocols, not just Linux. While currently
only systemd makes use of it, this allows future Limine protocol kernels (or
their userspace) to discover the ESP.
2025-03-15 16:23:43 +03:00
Mintsuki
97db4ca4ca
build: Drop -0bsd suffix from in-tree copy of freestnd-c-hdrs-0bsd
2025-03-13 04:18:36 +01:00
Mintsuki
365415baa7
loongarch64: Fix alignment of TLB-refill handler address
...
Co-authored-by: Mikhail Kovalev <mkm12342001@gmail.com >
2025-03-13 02:42:29 +01:00
mintsuki
852f4a0665
misc: Fix a variable shadowing in is_efi_serial_present()
2025-03-09 23:49:21 +01:00
mintsuki
2d404d6fc1
misc: Do not attempt to use serial if not detected on EFI
...
This addresses an issue reported on Macs that lack a serial port and also lack a working ConOut screen console, resulting in nothing but a blank screen instead of the menu
2025-03-09 23:42:43 +01:00
mintsuki
c0924e6cf1
protos/chainload: Get rid of unnecessary function splits
2025-02-25 19:47:32 +01:00
mintsuki
71014d8f24
protos/chainload: Use updated protocol names in messages
2025-02-25 19:44:46 +01:00
mintsuki
50c01f010d
protos/efi: Do not use EFI allocator uselessly and fix use-after-free
2025-02-25 19:25:46 +01:00
mintsuki
3e899468de
protos/efi: Comment out unused debug function devpath_print() to avoid warning
2025-02-25 19:06:39 +01:00
mintsuki
84981d6ca6
protos/efi: Rework entire chainloading procedure to fix issues caused by the old method
...
This should fix rEFInd and potentially more EFI applications previously misbehaving.
2025-02-25 19:02:01 +01:00
Qwinci
30a3928e58
lib/pe: Map image headers
2025-02-19 10:36:18 +02:00
mintsuki
99738edd07
protos/limine: Specify and implement executable command line feature
2025-02-17 02:14:59 +01:00
mintsuki
278881c72f
protos/limine: Rename 'boot time' feature to 'date at boot' for APIv3
2025-02-16 02:58:39 +01:00
mintsuki
eaca4391d3
protos/efi: Fix 'path' option alias not working. Closes #458
2025-02-15 20:57:29 +01:00
mintsuki
e2cda1d821
protos/chainload_next: Drop protocol
2025-02-15 14:26:35 +01:00
mintsuki
6858bbf41c
protos/limine: Introduce API revision 3; rename cmdline to string in file struct
2025-02-15 14:22:06 +01:00
mintsuki
0b41786e9d
config: Add aliases for BIOS and EFI chainload protocol options
2025-02-11 22:26:22 +01:00
mintsuki
db8f63bdfd
config: Drop support for legacy config format
2025-02-10 13:31:18 +01:00
mintsuki
281972e90c
Reapply "fs: Drop ext2/3/4 support"
...
This reverts commit a79ac43e99 .
2025-02-08 08:58:59 +01:00
mintsuki
906b714c99
sys/smp: Use monitor/mwait when available instead of plain pause for spin-loops
2025-02-08 08:53:15 +01:00
mintsuki
c9cc7bbb66
protos: Make 'path' option standard to pick executable to boot for all protos
2025-01-10 13:53:12 +01:00
mintsuki
96a703141e
Revert "protos: Keep linux protocol disabled on loong64 as it is not confirmed working"
...
This reverts commit c73505f13b .
2025-01-10 13:35:38 +01:00
czapek
8b01ea3430
lib: Add support for loading PE images ( #442 )
...
* lib: Add support for loading PE images
* lib/pe: Use standard integer types
* lib/pe: Fix section alignment
* lib/pe: Properly iterate base relocation blocks
* lib/pe: Add missing machine types
* protos/limine: Add kernel format detection logic
* lib/pe: Fix integer to pointer conversion errors
* lib/elf: Add previously removed check
* lib/pe: Fix base relocation block iteration code
* lib/pe: Add missing machine types to pe_bits
2025-01-08 00:35:15 +01:00
dean
e8be325253
lib/term: fix potential issue with modulo
2025-01-05 21:07:42 +11:00
dean
e7a681591c
lib/term: support for randomly selected wallpaper
2025-01-05 20:23:52 +11:00
mintsuki
c73505f13b
protos: Keep linux protocol disabled on loong64 as it is not confirmed working
2024-12-26 07:16:44 +01:00
mintsuki
512da261c3
misc: Simplifications after 945c43de0 and e721cecc2
2024-12-25 18:44:10 +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
mintsuki
2e088856a8
Merge pull request #440 from no92/pxe-efi-device-handle
...
Pass UEFI device handle on PXE boots
2024-12-23 03:54:07 +01:00
no92
ac3c4ac3b0
pxe: pass EFI device handle
2024-12-22 14:53:24 +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
mintsuki
da43c70a2d
protos: Reduce or remove mentions of 'kernel' where unnecessary
...
This also introduces limine.h API revision 2
2024-12-05 09:31:59 +01:00