Commit Graph

3757 Commits

Author SHA1 Message Date
Mintsuki
1276c44024 docs: Update ChangeLog and README.md for 11.4.1
Some checks failed
Check for compilation failures / Check for compilation failures (push) Has been cancelled
v11.4.1
2026-04-20 18:12:00 +02:00
Mintsuki
c0a0bed8f8 tools/limlzpack: Use int32_t for suffix array indices 2026-04-20 18:02:58 +02:00
Mintsuki
b1c28f00e4 tools/limlzpack: Write CRC header as little-endian on any host 2026-04-20 18:02:58 +02:00
Mintsuki
94912265ec fs/iso9660: Require sector-aligned directory sizes 2026-04-20 18:02:57 +02:00
Mintsuki
89ce18ca5c fs/iso9660: Require full entry length to fit in buffer in next_entry 2026-04-20 18:02:57 +02:00
Mintsuki
65a4eaed9d sys/lapic: Skip MADT type 4 NMI entries for x2APIC UIDs above 0xfe 2026-04-20 18:02:57 +02:00
Mintsuki
ff63204fc9 stage1/decompressor: Ensure limlz streams always end on a literal token 2026-04-20 18:02:57 +02:00
Mintsuki
6239cb53f3 build: Bump PicoEFI commit 2026-04-20 18:02:40 +02:00
Mintsuki
770b18e077 docs: Update ChangeLog and README.md for 11.4.0 v11.4.0 2026-04-19 00:58:48 +02:00
Mintsuki
9f72d0796e Revert "uefi: Call Apple set_os protocol to keep iGPU alive on dual-GPU Macs"
This reverts commit c871e24388.
2026-04-19 00:38:31 +02:00
Mintsuki
015d01d4be protos/multiboot2: Bound information_request tag size to header area 2026-04-19 00:38:31 +02:00
Mintsuki
de17e9448e protos/multiboot1: Validate ELF section entry size before casting 2026-04-19 00:38:31 +02:00
Mintsuki
5ff4e28ff5 lib/elf: Overflow-check symbol offset and compare against symtab_size 2026-04-19 00:38:31 +02:00
Mintsuki
cb29442a85 menu, lib/bli: Raise menu entry path buffer limit from 256 to 1024 bytes 2026-04-19 00:37:39 +02:00
Mintsuki
47d0f207fb fs/iso9660: Fix multi-extent splicing on non-Rock-Ridge images 2026-04-19 00:37:09 +02:00
Mintsuki
1ca8be92b8 bootstrap: Bump limine-protocol commit 2026-04-19 00:36:18 +02:00
Mintsuki
7e5bdaae2e lib/libc: Ensure the __builtin_* versions of the 4 core mem*() functions are preferred 2026-04-19 00:36:18 +02:00
Mintsuki
c7b26f1fde mm/vmm: Mask physical address bits in RISC-V pte_new 2026-04-19 00:36:18 +02:00
Mintsuki
935430a152 mm/mtrr: Gate fixed-range MTRR access on MTRRCAP.FIX capability bit 2026-04-19 00:36:18 +02:00
Mintsuki
301aa7774d protos/limine: Validate .limine_reqs pointers lie within kernel image 2026-04-19 00:36:18 +02:00
Mintsuki
e0b5fd0d21 sys/cpu_riscv: Validate RHCT hart_info offsets array bounds 2026-04-19 00:36:18 +02:00
Mintsuki
d8895a258b fs/fat32: Skip deleted directory entries in LFN parser 2026-04-19 00:36:18 +02:00
Mintsuki
6f6564d40d fs/iso9660: Require matching filenames on multi-extent continuations 2026-04-19 00:36:18 +02:00
Mintsuki
03ad4a421c fs/iso9660: Verify directory flag before descending into subdirectory 2026-04-19 00:36:18 +02:00
Mintsuki
4744bdbd27 lib/elf: Check image_size against SIZE_MAX in elf32_load_elsewhere 2026-04-19 00:36:18 +02:00
Mintsuki
843f029664 lib/elf: Validate dt_pltrelsz is a multiple of rela_ent 2026-04-19 00:36:18 +02:00
Mintsuki
16401fb825 lib/elf: Validate rela_size is a multiple of rela_ent 2026-04-19 00:36:18 +02:00
Mintsuki
8a1cf6310f mm/vmm: Fix higher-half address for aarch64 5-level paging 2026-04-19 00:36:18 +02:00
Mintsuki
3eea3043a2 test: Drop LIMINE_API_REVISION macro which is no longer a thing 2026-04-19 00:36:18 +02:00
Mintsuki
37701de02b build: Simplify BIOS stage1 decompressor build system
It is now a single assembly file so it can be simplified.
2026-04-19 00:35:14 +02:00
Mintsuki
18f08ed399 build: Remove .cache and compile_commands.json on distclean 2026-04-19 00:35:14 +02:00
Mintsuki
0fb6bb6c7c host/limine: Fix empty_lba leak on error during GPT-to-MBR conversion 2026-04-19 00:35:14 +02:00
Mintsuki
a9b148ed74 protos/limine: Check return value of framebuffer memmap_alloc_range 2026-04-19 00:35:14 +02:00
Mintsuki
07d20ac135 fs/iso9660: Move sysarea pointer computation after bounds check 2026-04-19 00:35:14 +02:00
Mintsuki
f69b2b5c67 sys/cpu: Add memory clobber to LoongArch IOCSR accessors 2026-04-19 00:35:14 +02:00
Mintsuki
57d8647e55 protos/efi_boot_entry: Bound description scan to buffer size 2026-04-19 00:35:14 +02:00
Mintsuki
a71d7111fe mm/pmm: Add pointer alignment check to pmm_free 2026-04-19 00:35:14 +02:00
Mintsuki
caad1ecfe4 sys/cpu: Fix misleading comment in TSC calibration 2026-04-19 00:35:14 +02:00
Mintsuki
d3456116ac lib/getchar: Deduplicate timer event recreation in ESC handler using restart label 2026-04-19 00:35:14 +02:00
Mintsuki
851352d7d1 lib/misc: Fix out-of-bounds reads in get_absolute_path backward scans 2026-04-19 00:35:14 +02:00
Mintsuki
0556f4bfb4 lib/config: Re-examine shifted character after whitespace/CR removal 2026-04-19 00:35:14 +02:00
Mintsuki
05e8144c9b lib/elf: Avoid undefined pointer arithmetic in relocation patching 2026-04-19 00:35:14 +02:00
Mintsuki
3042d4fa74 protos/limine: Fix request scan loop bound to not read past image_size_before_bss 2026-04-19 00:35:14 +02:00
Mintsuki
48cc492436 mm/pmm: Restart sanitise_entries outer loop after entry deletion 2026-04-19 00:35:14 +02:00
Mintsuki
1511a8dc95 lib/elsewhere: Skip past source range on overlap instead of advancing one page 2026-04-19 00:35:14 +02:00
Mintsuki
80c399f9b3 decompressor: Fix off-by-one truncating last character of error message 2026-04-19 00:33:37 +02:00
Mintsuki
4b057bcc88 lib/bli: fix various bugs in timeout and entry control 2026-04-19 00:30:53 +02:00
programmerlexi
959f763a9f lib/bli: implement entry control 2026-04-19 00:30:19 +02:00
programmerlexi
bc5d1e4b8f lib/bli: implement timeout control 2026-04-19 00:30:19 +02:00
Kamila Szewczyk
9c3ead9386 decompressor: gzip/tinf -> limlz
removes external dependency on tinf by replacing the compression algorithm with a simpler, faster, smaller and more auditable fixed-width LZ77 encoding purpose-tailored to x86 code mixed with data.

before: decompressor.bin 2,492 bytes (tinf dependency) with .text 0x875 and .rodata 0x13c bytes each.
after: decompressor.bin consists only of .text, 0xe6-byte decompressor; 90.8% reduction in decompressor volume.

the dependency on gzip during compile-time is replaced by host/limlzpack.c, a Lempel-Ziv encoder in 275 SLoC that uses a suffix array matchfinder (prefix-doubling in mathcal O(n log^2 n) and Storer-Szymanski backwards parse. the fixed-width formats packets as [F][LLLL][MMM], favouring a literal-skewed distribution with F switching between one-byte and two-byte offsets (favouring recent statistics).

integrity checking is done via crc32 with the polynomial 0xEDB88320, reflected.

the effective loss in compression ratio by using a tremendously simpler and less packed with edge cases algorithm causes a compression ratio hit well below 1KB, factoring in the stub sizes.

also adds new machinery for host cc detection per review.
2026-04-19 00:29:09 +02:00