Commit Graph

142 Commits

Author SHA1 Message Date
Mintsuki
cea184b286 menu: Fall back to text console instead of panicking on small terminals 2026-02-19 20:37:36 +01:00
Mintsuki
1a0ae0323c menu: Ignore empty INTERFACE_HELP_COLOUR config value 2026-02-10 11:10:02 +01:00
Mintsuki
4d93ae7222 menu: Guard tree_prefix_len against unsigned underflow with wide entries 2026-02-10 11:10:02 +01:00
Mintsuki
00a542f0c6 misc: Fix wrong format specifiers for 64-bit arguments in print calls 2026-02-10 11:10:02 +01:00
Mintsuki
16756f0516 menu: Reject terminals with fewer than 40 columns or 16 rows 2026-02-10 11:10:02 +01:00
Mintsuki
6dc0fa3026 menu: Fix tree_prefix free size to match allocation 2026-02-10 10:58:04 +01:00
Marvin Friedrich
db3ac54d4e drivers/serial: Initialize serial baudrate ahead of time 2026-01-06 15:08:00 +01:00
Mintsuki
3dd9a74003 menu: Add bounds check to DELETE key handler 2026-01-04 16:11:05 +01:00
Mintsuki
26b76e6697 menu: Fix potential title buffer overflow 2025-12-26 14:12:39 +01:00
Mintsuki
31345a3829 menu: Remove pmm_free() call which is bogus after commit 4d5bfa6af2 2025-12-25 19:38:20 +01:00
Mintsuki
4d5bfa6af2 lib/config: Return pointer to static buffer from config_get_value() 2025-12-25 18:56:36 +01:00
Mintsuki
e6bd838bc6 menu: Fix pmm_free() call with off-by-one length 2025-12-06 15:35:46 +01:00
Mintsuki
7ee698d544 common/menu: Add new interface_help_colour global option 2025-12-06 15:32:09 +01:00
Mintsuki
b029c02441 riscv: Defer init_riscv() until after config is initalised 2025-11-29 15:42:54 +01:00
Mintsuki
6f4ac7a4f7 misc: Enable serial variable when gterm_init() fails on EFI ports 2025-10-04 20:59:27 +02: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
sanana
c411051252 lib/bli: Implement LoaderTimeInitUSec and LoaderTimeExecUSec
These are variables used by `systemd-analyze` and is useful for boot performance
metrics.
2025-07-03 11:02:54 +03:00
Mintsuki
f35cd2c172 menu: Hide BIOS chainloading entries on UEFI and vice-versa. Fixes #484 2025-03-31 08:24:40 +02: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
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
e2cda1d821 protos/chainload_next: Drop protocol 2025-02-15 14:26:35 +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
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
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
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
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
no92
03d62d883c common: support SMBIOS-passed configs with a limine:config: prefix
This commit allows for passing configurations via SMBIOS. The first
encountered OEM string (type 11) that begins with a `limine:config:`
prefix is taken as the configuration. This takes priority over
configurations loaded from disk.
2024-11-04 02:46:48 +01:00
Marvin Friedrich
4cdda6a272 protos/limine: Add device tree blob override config option (#419)
* protos/limine: Add dtb_path config option

* test: Add a device tree and dtb_path to the config

* docs: Add dtb_path configuration information

* protos/limine: Fix missing argument for dtb_path for x86

* protos/limine: Correct panic message argument

* protos/limine: Use freadall instead of freadall_mode
2024-10-18 20:01:24 +02:00
mintsuki
7fc7ececbc protos/limine: Add randomise_hhdm_base config option 2024-10-12 03:47:23 +02:00
mintsuki
8e1ee822f7 menu: Change how max size of saved rewound memmap is calculated 2024-09-03 23:21:08 +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
mintsuki
49e8cf210a menu/editor: Fix kinks introduced in 7af73f1ca6 2024-08-08 21:37:09 +02:00
mintsuki
7af73f1ca6 menu/editor: Properly display hard tabs in editor 2024-08-07 22:15:26 +02:00
mintsuki
46fb1be04d menu: Change -> to --> 2024-08-07 16:27:44 +02:00
mintsuki
7489ef1f6f menu: Fix alignment bug introduced in a30cad355. Fixes #396 2024-08-05 23:27:56 +02:00
mintsuki
193e5948d4 menu/editor: Accept and insert tabs from keyboard input 2024-08-05 19:34:42 +02:00
mintsuki
412b3ef4c9 menu: Fix several selection related bugs. Fixes #392 2024-08-03 23:47:52 +02:00
mintsuki
4e47bcc509 Revert "menu: Fix issue where there terminal wouldn't be initialised where necessary"
This reverts commit d47ca6d34b.
2024-08-03 19:44:47 +02:00
mintsuki
057e2880d6 menu: Mention that you can press a key to dismiss in old config warning 2024-08-03 09:19:21 +02:00
mintsuki
a34d01015b menu: Disable quiet mode after first run 2024-08-03 09:13:59 +02:00
mintsuki
d3fb65dcdc menu: Show old config warning before 0 timeout skip and only on first run 2024-08-03 09:09:28 +02:00
mintsuki
d47ca6d34b menu: Fix issue where there terminal wouldn't be initialised where necessary 2024-08-03 08:59:29 +02:00
mintsuki
d914e6e4e4 config: Bring back support for legacy config with a warning 2024-08-02 14:39:14 +02:00
mintsuki
ddd3f5161a config: Change syntax to allow any casing for option names 2024-08-01 06:44:24 +02:00
mintsuki
a014d0758c config: Change syntax to use colon instead of equals for options 2024-08-01 06:27:47 +02:00
Keegan Saunders
d9a2fb95a9 Add LoongArch support 2024-07-31 23:05:27 -04:00
mintsuki
d127553a9a menu: Actually reset text palette after printing branding 2024-07-21 14:06:41 +02:00