summaryrefslogtreecommitdiff
path: root/config/seabios/default/patches
AgeCommit message (Collapse)Author
15 hoursxbmk: make all projects multi-treeLeah Rowe
we currently distinguish, by virtue of logic, multi- and single-tree projects. this introduces a lot of complexity, so the following patch has removed this distinction. all single-tree projects are now multi tree, but with only one tree. other design changes: config/git removed. rev/tree now handled with mkhelper and target configs. this allows per-tree remote handling, so we could (for example) add the mrchromebox coreboot fork easily, for specific chromebook models. config/project is now config/module/project. this cleans up the main config/ directory. cfgname variable: .config no longer hardcoded when doing configs in projects. it is configurable with this variable. if unset, the previous .cfg is used noconfig variable: set this in target/mkhelper configs, and config/module/project/tree/config/ is unused; instead, make is called without config copying. a "noconfig" placeholder is used. this enables cleaner usage of previously single-tree projects in the new multi-tree-only structure. cfgvars: variables reinitialised in project config are cleaned more reliably. in particular, several variables e.g. autogenargs were not being reset between projects, although the autogenargs variable is currently unused. general cleanup has been conducted across the build system, as part of this redesign. several parts of the build system more over-engineered as a result of the previous design, and the new design enabled a severe reduction in sloccount (75 lines reduced in lbmk). yes, this change *adds features* but there are fewer lines of code than before. this is the best kind of change. way better than the 3-line-diff. yes. rev= and tree= are set more centrally in configs. the mkhelper config can be used to set url/url_bkup, but individual trees can override them. configs have been cleaned up, with several variables now much more heavily centralised. config/git/ was used before to first download the bare repository, and then the real clone was made with patches. this allows git repositories to be cached for future re-builds. with config/git/ gone, the download logic for projects is more centrally implemented. a separate call to ./mk -f is no longer performed, and in fact ./mk -f never needs to be used anymore as a result. ./mk -f now is basically the same thing as -b, just without any action performed. this change will allow rapid expansion of the libreboot project. i want to add hundreds of chromebooks to the project, using mrchromebox, but the previous design did not permit this. this change means that i can easily have unlimited upstreams per project. coreboot will, in some follow-up changes, have the following upstreams: coreboot/default: coreboot.org coreboot/fam15h: 15h.org fork coreboot/chromebook: mrchromebox fork this can now be done freely without massive changes to the build system. under the previous design, i worked on a now-abandoned patch to do N remotes per project, reading repo links from a file. this meant that i'd have coreboot.org first (main and backup), then mrchromebox. this meant that lbmk would failover through to mrchromebox, wasting time for the user. this new design is much cleaner, and will enable the project to be maintained much more easily. Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-01-30Libreboot 26.01 release26.01Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-01-21Libreboot 26.01 RC4 Magnanimous Max26.01rc4Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-01-21Libreboot 26.01 RC3 Magnanimous Max26.01rc3Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-01-20Libreboot 26.01 RC2, or: Magnanimous Max26.01rc2Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-12-25Libreboot 26.01 RC1 Tenacious Tomato26.01rc1Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-12-24bump seabios revisionLeah Rowe
by the time i'd done this, i'd realised that seabios only modified some documentation upstream. the code has not changed since last update, upstream. no point scrapping the update now. now we have slightly better documentation for seabios! Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-07-06SeaBIOS/default: Bump to rev b686f460, 28 Jun 2025Leah Rowe
This brings in the following changes: * b686f460 sercon: Fix keycodes for F11 and F12 * b52ca86e docs: Note v1.17.0 release * a6c8e8bb ahci: Fix hangs due to controller reset The serial console fix is useful to us, as is the AHCI fix; the latter was previously mitigated by removing SeaBIOS's AHCI reset patch. Upstream realised that the AHCI controllers need to have a timeout on them when resetting them, because they don't always react immediately to commands. This makes the AHCI behaviour more correct, in SeaBIOS. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-06-30Libreboot 25.06 release25.06Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-02Restore SeaBIOS 9029a010 update, but with AHCI fixLeah Rowe
I fixed the AHCI bug, with a patch that I wrote. It works by restoring the old SeaBIOS AHCI initialisation behaviour, whereby the AHCI controller is enabled from its current state; the patch that broke AHCI in coreboot (tested on ThinkPad T420), changed AHCI initialisation behaviour so that the controller's state is first reset, prior to enablement. However, my patch also retains the new AHCI initialisation behaviour, when a CSM is in use. The AHCI reset patch was done, by the author, specifically for SeaBIOS in CSM mode, so it makes sense to only change the behaviour conditionally according to that. This reverts commit 8245f0b3211812ac818adadd6526b0b39c63f3f0. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-01Revert "seabios: bump to rev 9029a010, 4 March 2025"Leah Rowe
This reverts commit a08b8d94fc58fa195adb0261539509d8ddaf4799. From #libreboot IRC today: 07:02 <irys> ooh this is fun. seabios commit 8863cbbd15a73b03153553c562f5b1fb939ad4d7 (ahci: add controller reset) breaks ahci entirely on t420 07:05 <irys> cbmem console on that seabios commit has a timeout then "AHCI/0: device not ready" 07:07 <irys> AHCI works fine if i change config/seabios/default/target.cfg to use the immediate previous seabios commit (df9dd418b3b0e586cb208125094620fc7f90f23d) 07:07 <irys> works in grub payload either way though 07:31 <irys> here, `cbmem -c` after booting the broken rev: https://0x0.st/84oQ.log 07:31 <irys> compared to the working one https://0x0.st/84o1.log 07:33 <irys> i can't report to upstream myself *right now* but i figure you might want to know about this leah I have downloaded those logs locally for reference, so that an upstream report can be made to SeaBIOS. For the purposes of this Libreboot commit, the diff of the logs is as follows (diff -u broken.log working.log): Taking each diff line out of the log, the relevant entries seem to be: Searching bootorder for: /pci@i0cf8/*@1f,2/drive@0/disk@0 +AHCI/0: Set transfer mode to UDMA-6 +Searching bios-geometry for: /pci@i0cf8/*@1f,2/drive@0/disk@0 +AHCI/0: registering: "AHCI/0: Netac SSD 128GB ATA-11 Hard-Disk (119 GiBytes)" -WARNING - Timeout at ahci_port_setup:477! -AHCI/0: device not ready (tf 0x80) -All threads complete. -2. Payload [memtest] +2. AHCI/0: Netac SSD 128GB ATA-11 Hard-Disk (119 GiBytes) +3. Payload [memtest] -Space available for UMB: c7000-eb800, f5880-f5ff0 -Returned 16777216 bytes of ZoneHigh +drive 0x000f5fa0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=250069680 +Space available for UMB: c7000-eb800, f5880-f5fa0 +Returned 16773120 bytes of ZoneHigh Therefore, the revision will be reverted back for now. It was only about 8 additional patches imported in the update anyway.
2025-04-30Libreboot 25.04 Corny Calamity25.04Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30seabios: bump to rev 9029a010, 4 March 2025Leah Rowe
This brings in the following improvements from upstream: * 9029a010 kconfig: fix the check-lxdialog.sh to work with gcc 14+ * 8863cbbd ahci: add controller reset * df9dd418 update pci_pad_mem64 handling * a4fc1845 add romfile_loadbool() * a2725e28 drop acpi tables and hex includes * 35aa9a72 drop obsolete acpi table code * 1b598a1d usb-hid: Support multiple USB HID devices by storing them in a linked list Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-29seabios: Fix malloc_fn function pointer in romfile patchAlper Nebi Yasak
One of our SeaBIOS patches causes build errors with GCC 15: src/romfile.c: In function 'romfile_loadfile_g': src/romfile.c:65:18: error: too many arguments to function 'malloc_fn'; expected 0, have 1 65 | char *data = malloc_fn(filesize+add_len); | ^~~~~~~~~ ~~~~~~~~~~~~~~~~ src/romfile.c: In function 'romfile_loadfile': src/romfile.c:88:50: error: passing argument 3 of 'romfile_loadfile_g' from incompatible pointer type [-Wincompatible-pointer-types] 88 | char *data = romfile_loadfile_g(name, psize, &malloc_tmphigh, 1); | ^~~~~~~~~~~~~~~ | | | void * (*)(u32) {aka void * (*)(unsigned int)} src/romfile.c:55:28: note: expected 'void * (*)(void)' but argument is of type 'void * (*)(u32)' {aka 'void * (*)(unsigned int)'} 55 | void *(*malloc_fn)(), int add_len) | ~~~~~~~~^~~~~~~~~~~~ In file included from src/romfile.c:8: src/malloc.h:42:21: note: 'malloc_tmphigh' declared here 42 | static inline void *malloc_tmphigh(u32 size) { | ^~~~~~~~~~~~~~ make: *** [Makefile:142: out/src/romfile.o] Error 1 make: *** Waiting for unfinished jobs.... src/optionroms.c: In function 'vgarom_setup': src/optionroms.c:468:60: error: passing argument 3 of 'romfile_loadfile_g' from incompatible pointer type [-Wincompatible-pointer-types] 468 | void *mxm_sis = romfile_loadfile_g("mxm-30-sis", NULL, &malloc_low, 0); | ^~~~~~~~~~~ | | | void * (*)(u32) {aka void * (*)(unsigned int)} In file included from src/optionroms.c:18: src/romfile.h:17:34: note: expected 'void * (*)(void)' but argument is of type 'void * (*)(u32)' {aka 'void * (*)(unsigned int)'} 17 | void *(*malloc_fn)(), int add_len); | ~~~~~~~~^~~~~~~~~~~~ In file included from src/optionroms.c:16: src/malloc.h:30:21: note: 'malloc_low' declared here 30 | static inline void *malloc_low(u32 size) { | ^~~~~~~~~~ make: *** [Makefile:141: out/src/optionroms.o] Error 1 make: Leaving directory '/tmp/lbmk/src/seabios/default' This is because the function pointer defined as `void *(*malloc_fn)()` refers to a function that takes no arguments, unlike `malloc_tmphigh` which takes an unsigned int. Add the missing argument type. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-01-06Libreboot 20241206, 8th revision20241206rev8Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-02-11Patch SeaBIOS: Add MXM supportRiku Viitanen
Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>