220 Commits

Author SHA1 Message Date
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
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
Mintsuki
3f866e1ce8 misc: Migration to GitHub 2026-04-06 19:04:22 +02:00
Mintsuki
e60466eaf3 build: Remove edk2-ovmf directory instead of ovmf* on distclean 2025-12-24 14:13:01 +01:00
Mintsuki
38f70a623d build: Drop zstd and lzip release tarballs
No one really used these anyways.
2025-11-29 10:16:29 +01:00
Mintsuki
3a98a4bfbd protos/limine: Update limine-protocol dependency
Also: do not install limine.h and PROTOCOL.md anymore on "make install".
2025-11-01 14:09:33 +01:00
Mintsuki
a9b35f3050 ci: Update workflows for Codeberg migration 2025-08-30 13:38:58 +02:00
Mintsuki
dde0bce0ba build: Update repository links and adjustments for PicoEFI rebrand 2025-08-20 08:00:14 +02:00
Mintsuki
d6ce05b5ff build: Miscellaneous makefile maintenance and improvements 2025-08-13 07:05:30 +02:00
Mintsuki
cb304d05cf build: Get rid of freestanding-toolchain
And some other miscellaneous improvements.
2025-08-07 18:22:05 +02:00
Mintsuki
3b5b1c1203 build: Minor makefile changes (2) 2025-08-04 16:45:40 +02:00
Mintsuki
03e3853541 build: Minor makefile changes 2025-08-03 07:24:31 +02:00
Mintsuki
1bb1b14f52 Revert "build: Many makefile improvements (hopefully, includes bodging)"
This reverts commit 10514f5557.
2025-08-02 22:25:12 +02:00
Mintsuki
54f81363a6 Revert "build: Improvement for self -rR make kludge"
This reverts commit 92485906bc.
2025-08-02 22:23:54 +02:00
Mintsuki
8e38080724 Revert "build: Improvement for self -rR make kludge (2)"
This reverts commit 62664f8436.
2025-08-02 22:23:39 +02:00
Mintsuki
f27a5c39cd build: Improvement for self -rR make kludge (2) 2025-08-01 00:27:07 +02:00
Mintsuki
0f7c607034 build: Improvement for self -rR make kludge 2025-07-31 03:43:23 +02:00
Mintsuki
b8d4a54e64 build: Many makefile improvements (hopefully, includes bodging) 2025-07-31 03:30:51 +02:00
Mintsuki
05b1a75fde misc: Update Flanterm to latest 2025-07-14 15:36:58 +02:00
Mintsuki
996a0c1801 misc: Move to using separate libfdt repository 2025-07-12 12:08:05 +02:00
Mintsuki
b532faea1f misc: Move to using separate limine-protocol repository 2025-07-12 09:25:05 +02:00
Mintsuki
714bf2a362 build: Delete freestanding-toolchain's .git dir from tarballs 2025-05-07 20:21:32 +02:00
Mintsuki
15b57fb7c4 build: Delete cc-runtime repo directory from tarballs 2025-04-06 23:37:36 +02:00
Mintsuki
cb463226b9 misc: Update to latest, packed, cc-runtime 2025-04-06 22:38:15 +02:00
Mintsuki
1868470041 build: Install LICENSES files as documentation 2025-03-13 04:32:51 +01: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
d247a8a170 docs: Rename PHILOSOPHY.md to FAQ.md 2025-03-11 23:02:11 +01:00
Mintsuki
3cadfdab74 docs: Split off 3rd party software acks. to dedicated file 2025-03-11 22:17:02 +01:00
mintsuki
3ae5dd7923 build: Misc build system improvements 2024-12-09 00:46:37 +01:00
mintsuki
375360f4b9 build: Misc improvements wrt variable passing 2024-11-28 00:42:36 +01:00
mintsuki
e287c9d1d0 build: Remove pkgconf stuff from build system as we do not need it 2024-11-27 23:25:12 +01:00
mintsuki
7aea0eeea1 build: PACKAGE_TARNAME makefile variable should not be overridable 2024-11-27 23:03:23 +01:00
mintsuki
c95f56ae72 build: Pass CC and CFLAGS properly to host.mk 2024-11-25 23:33:12 +01:00
mintsuki
244d3a129d build: Remove .gitignore of cc-runtime on make dist 2024-11-22 22:32:44 +01:00
mintsuki
2d6c477633 Revert "build: Do not remove .gitignore files in tarballs"
This reverts commit c066360c5a.
2024-11-22 22:28:14 +01:00
mintsuki
c844c61363 build: Get rid of ?= usage and USER_VARIABLE 2024-11-22 20:29:16 +01:00
mintsuki
c066360c5a build: Do not remove .gitignore files in tarballs 2024-11-08 08:35:56 +01:00
mintsuki
855c52a030 build: Use new, non-packed, cc-runtime revisions 2024-11-05 23:47:33 +01:00
mintsuki
66b5672044 build: Increase limine-uefi-cd.bin sector count to 5760 2024-10-23 00:12:18 +02:00
mintsuki
b6be98a0f6 build: Rebrand limine-efi to nyu-efi 2024-09-13 08:07:53 +02:00
mintsuki
5517cb2824 build: freestanding-headers -> freestnd-c-hdrs-0bsd 2024-09-13 07:44:23 +02:00
mintsuki
a0a39575b1 Revert "build: freestanding-headers -> freestnd-c-hdrs"
This reverts commit 91b7ef85ab.
2024-09-09 11:59:10 +02:00
mintsuki
91b7ef85ab build: freestanding-headers -> freestnd-c-hdrs 2024-09-08 15:39:32 +02:00
mintsuki
a6732f817a build: Pass -w-unknown-warning to nasm to suppress warnings if -w-reloc isn't supported 2024-09-03 04:21:19 +02:00
mintsuki
59078754f9 build: Override MKESCAPE/SHESCAPE/OBJESCAPE 2024-09-03 04:13:58 +02:00
mintsuki
8f5717784a build: Compatibility fixes for GNU make 4.0/4.1 2024-09-03 04:01:51 +02:00
mintsuki
c2f9ad4ebd build: Remove make version check as it turns out we do build on older make now 2024-09-02 05:14:17 +02:00
mintsuki
944e9bb41d build: Replace DEFAULT_VAR with simpler USER_VARIABLE macro 2024-08-31 05:47:37 +02:00
mintsuki
75a2e5d52e build: Work around issue with disabling built-in rules and variables on older GNU make 2024-08-25 19:01:33 +02:00