summaryrefslogtreecommitdiff
path: root/config
AgeCommit message (Collapse)Author
7 daysrom.sh: rename mkvendorfilesLeah Rowe
it mainly does general tasks, like handling utils and enabling ccache. the vfiles are a small part. rename the function accordingly. it is called by premake, so let's call it corebootpremake. this change will also make sense when cherry-picked into cbmk, which does not handle vfiles at all. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysrom.sh: simplify u-boot payload handlingLeah Rowe
define it with a single variable, rather than several. this allows several checks to be greatly simplified. Signed-off-by: Leah Rowe <leah@libreboot.org>
9 daysifd/hp8300usdt: set the HAP bit by defaultLeah Rowe
In practise, coreboot can set this bit at build time. We also use ME Soft Temporary Disable by default, on this platform. We also use me_cleaner by default, so the me.bin file added to flash only contains the code that would run with HAP set anyway. Therefore, this change is of little practical consequence, but as a friend put it to me, this change is most technically correct. And I'm all about technical correctness. Signed-off-by: Leah Rowe <leah@libreboot.org>
10 dayscoreboot: Remove unused vboot testsLeah Rowe
Futility tests enlarge the src tarballs, without much utility. Uttterly futile. Signed-off-by: Leah Rowe <leah@libreboot.org>
10 dayscoreboot/default: Remove unneeded FSP modulesLeah Rowe
We only need the Kabylake version. We can safely remove the other ones, thereby significantly reducing the size of the lbmk release archive. Signed-off-by: Leah Rowe <leah@libreboot.org>
10 daysxbmk: add fake config makefile args to flashprogLeah Rowe
also pcsx-redux this way, commands like "./mk -u" without argument will not fail. these fake makefile commands do nothing. otherwise, an error errors because their makefiles do not define these options. Signed-off-by: Leah Rowe <leah@libreboot.org>
11 daysGRUB: Update to revision 73d1c959e (14 March 2025)Leah Rowe
This brings in several changes from upstream: * 73d1c959e cryptocheck: Add --quiet option * dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory * 301b4ef25 disk/cryptodisk: Add the "erase secrets" function * 23ec4535f docs: Document available crypto disks checks * 10d778c4b commands/search: Add the diskfilter support * 7a584fbde disk/diskfilter: Introduce the "cryptocheck" command * ed691c0e0 commands/search: Introduce the --cryptodisk-only argument * c448f511e kern/rescue_reader: Block the rescue mode until the CLI authentication * 4abac0ad5 fs/xfs: Fix large extent counters incompat feature support This commit is of particular interest: * dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory Signed-off-by: Leah Rowe <leah@libreboot.org>
13 daysdependencies/debian: add libx86Leah Rowe
already present on a few other config files, e.g. arch i noticed on debian-experimental that i needed to explicitly install it, whereas it was implicitly installed on debian 12 Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-16vendor.sh: Properly verify SHA512SUM on extractionLeah Rowe
I currently check the downloaded files e.g. .exe file, but then I don't check - or even define - sha512sums for the files extracted from them e.g. me.bin This patch fixes that. It also caches the hashed files, so that extraction is faster on a re-run - this makes release builds go faster, when running ./mk release If a checksum is not defined, i.e. blank, then a warning is given, telling you to check a specific directory. This way, when adding new vendor files, you can add it first without specifying the checksum, e.g. me.bin checksum. Then you can manually inspect the files that were extracted, and define it, then test again. In a given pkg.cfg for config/vendor, the following variables are now available for use: FSPM_bin_hash for fsp m module FSPS_bin_hash for fsp s module EC_FW1_hash for KBC1126 EC firmware (1st file) EC_FW2_hash for KBC1126 EC firmware (2nd file) ME_bin_hash for me.bin MRC_bin_hash for mrc.bin (broadwell boards) REF_bin_hash for refcode (broadwell boards) SCH5545EC_bin_hash for sch5545 firmware (Dell Precision T1650) TBFW_bin_hash for Lenovo ThunderBolt firmware (e.g. T480/T480s) E6400_VGA_bin_hash for Dell E6400 Nvidia VGA ROM In practise, most people use release archives, and the inject script, so I knew those were reliable, because the ROM images were hashed prior to removing files. This patch benefits people using lbmk.git directly, without using release files, because now they know they have a valid file e.g. me.bin Previously, only the download was checked, not the extracted files, which meant that the only thing preventing a brick was the code not being buggy. Any number of bugs could pop up in the future, so this new level of integrity will protect against such a scenario, and provide early warning prompting bug fixes. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-14get.sh: simplify fetch_submodules()Leah Rowe
We are calling xbmkget in the same way, whether it's a subfile or subrepo. Rename these variables to subcurl and subgit, so that we can call xbmkget unconditionally. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-08HP 820 G2: Use fam15h cbfstool tree for refcodeLeah Rowe
We used cbfstool from coreboot 4.13, because it was the last version to work with the particular format used for stage files, before the CBFS standard changed in newer releases of cbfstool. When I added this board to Libreboot, it was source-only at first so it didn't matter. I didn't want to do a standalone cbfstool binary, in case some people decided to use that one on newer boards, which would cause all sorts of issues. So I bodged it and just included an import of coreboot 4.13. Well, the cbfstool from coreboot 4.11, as used for FAM15H AMD boards, is compatible. I checked the code diff between the two, and there is no meaningful difference. I've tested this, and it works, since the last release or two now includes 820 G2 images, so I was able to use those with ./mk inject, to verify whether the refcode file is still grabbed properly. We need the refcode to handle MRC on Broadwell platform, but we extract it from an old Google Chromebook image, that uses the old CBFS stage file layout. This change solves my problem: the problem was that releases are bloated further, due to including this extra coreboot version. This should reduce the size of the next release considerably, especially after decompressing the tarball. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-08also fix the other grub treesLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-08fix trying to boot all logical volumes after unlocking an encrypted volumecqst
2025-05-07lib.sh: Simplified fx_() and removed fe_()Leah Rowe
Instead of calling fe_, prefix x_ as indicated. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-07build serprog using fe_ *defined inside mkhelper*Leah Rowe
sh macros ftw Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05GRUB: Mark E820 reserved on coreboot memoryLeah Rowe
See, coreboot bug report: https://ticket.coreboot.org/issues/590 We hadn't noticed this for quite a while, since we always just booted with iomem=relaxed when needing to run cbmem, since in practise it was always combined with other tasks that require access to lower memory. GRUB currently matches coreboot's own mmap for cbmem, but for example SeaBIOS marks cbmem as E820 reserved. Therefore, this change replicates the SeaBIOS behaviour. Without this patch, Linux needs to boot with iomem=relaxed for cbmem access, for example when running ./cbmem -1 With this patch, cbmem is now accessible regardless. This patch also prevents Linux from overwriting parts of CBMEM. Thanks go to Paul Menzel, who wrote this GRUB patch. Thanks also go to Nicholas Chin, who provided testing, all the way from Coreboot 25.03 back to Coreboot 4.20. It seems that this is just something the payloads have to handle. This means that both SeaBIOS and GRUB no longer have this bug, in Libreboot; now what remains is to replicate the test with our U-Boot payload. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-02NEW MAINBOARD: Dell Precision T1700 SFF and MTLeah Rowe
This is similar to the 9020SFF, but this board has ECC support. However, the native raminit isn't used here, even though it is otherwise compatible, because the native init doesn't do ECC yet. The broadwell mrc.bin has ECC support, which is also used on the HP EliteBook 820 G2. The MRC for broadwell can be used on haswell boards such as the T1700. Add both the SFF and MT variants. Since these are identical to the 9020 variants, except for slightly different PCH enabling ECC, we can just re-use the 9020 port without issue. We *could* add a variant to coreboot, for T1700, but there is not really any pressing need. It is simply the 9020sff/mt with mrc.bin Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-02mk: include rom.sh directlyLeah Rowe
remove it from mkhelper files, because rom.sh doesn't initialise any variables globally, except one that never changes. 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-05-01coreboot/t420_8mb: add missing txtmode configLeah Rowe
Reported by irys on #libreboot irc Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30Libreboot 25.04 Corny Calamity25.04Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30add pico-sdk backport patch fixing gcc 14.xLeah Rowe
src/rp2_common/boot_stage2/boot2_w25x10cl.S:142: Error: junk at end of line, first unrecognized character is `0' src/rp2_common/boot_stage2/boot2_w25x10cl.S:145: Error: garbage following instruction -- `beq 00b' This should also fix it on Debian sid Experimental, where I'm testing with GCC 15 and other bleeding edge dependencies. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30coreboot/fam15h: update submodule for nasmLeah Rowe
i forgot to in the last commit, but it didn't matter because it just meant that coreboot.git's own download logic kicked in as a fallback. however, it's better to rely on libreboot's build system for this, since it has redundancy. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30coreboot/fam15h: update nasm to 2.16.03Leah Rowe
this fixed kgpe-d16 build errors on gcc 15 when tested on debian sid (with gcc-15 installed from experimental) Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30serprog: Remove pico2 support for the time beingLeah Rowe
Many users report bugs, so I'm reverting lbmk back to only supporting the rp2040 dongles for the time being. The documentation will be updated to reflect this. Pico2 support will be re-added at a later date, once more testing has been done, and fixes made if necessary.
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-30update untitledLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30coreboot413: add alper's fix to cbfstool for gcc15Leah Rowe
otherwise, it won't compile on gcc 15 (pragma fix from earlier on, used on the other coreboot trees) Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-30flashprog: bump to rev e060018 (1 March 2025)Leah Rowe
This brings in the following upstream changes: * e060018 flashchips: Explicitly zero-initialize in .qpi_read_params * ff9526b dediprog: Use dual-i/o default only for SF600Plus-G2 * 5a72cfb flashchips: Fix block-protection bits for 4BA Puya chips * 284d55b flashchips: Add WPS bit description for GD25Q128C * 37e07a8 flashchips: Add missing QE bit descriptions * 3646b18 flashchips: Add GigaDevice GD25LF128E 166MHz, 1.8V part * d4eb532 flashchips: Add GigaDevice GD25LF80E..GD25LF64E 166MHz, 1.8V parts * 38d037f flashchips: Add GigaDevice GD25LB512MF..GD55LB02GF 1.8V parts * 1da0293 flashchips: Add GigaDevice GD25LB512ME..GD55LB02GE 1.8V parts * 6d728e6 flashchips: Add GigaDevice GD25B512MF..GD55B02GF 3.3V parts * 493a4e0 flashchips: Update and split GD25Q256D entry * 648dfdc spi25: Fix cosmetic debug-print error due to unitialized buffer * cfd607d layout: Show a warning if no region is included * ec287e2 ich_descriptors_tool: Change region name EC/BMC -> EC_BMC * 39a4f7d sb600spi: Request more `lspci` details * 404529d memory_bus.c: Add missing copyright notice * fbea0fe udev rules: Restore mode/group configuration * c90d6c4 flashchips: Add some 25LC series EEPROMs * ee8cf1c Provide no-op probe function, always returning 1 * 4e6155a spi25: Add SPI25_EEPROM enum and handle < 3-byte addresses * 9512c9c Add missing copyright notices to recently created files * 06fbccc flashchips: Add GigaDevice GD25LB256E 1.8V part * bc001da flashchips: Add some GigaDevice GD25L*256 1.8V parts * 7d0f556 flashchips: Update GigaDevice 1.8V family up to GD25LQ128 * 7f8c12d flashchips: Add GigaDevice GD25LQ20, update family up to GD25LQ16 * 565471c flashchips: Add GigaDevice GD25B512ME..GD55B02GE 3.3V parts * 6ee2f89 flashchips: Update GigaDevice GD25Q/B/R 128Mbit, 3.3V parts * c230c69 flashchips: Add remaining Puya PY25Q..H 3.3V parts * 06e0264 flashchips: Add Puya PY25Q..H family up to PY25Q128H * fe21b43 flashchips: Add remaining P25Q..H family 3.3V chips * 1c5d829 flashchips: Add Puya P25Q40SH, P25Q80SH, P25Q16SH 3.3V parts * b0cae5e flashchips: Add Puya P25Q06H, P25Q11H, P25Q21H 3.3V parts * b09136b flashchips: Add Puya P25Q05..16H 3.3V parts * ed8b82c flashchips: Add Fudan FM25Q128 3.3V part * 4a35134 flashchips: Add Fudan FM25Q08A 3.3V part * 7f7bffa flashchips: Add Fudan FM25Q64, update FM25Q08..Q32 * c591518 flashchips: Add Fudan FM25Q02/Q04 3.3V parts * fea6e16 flashchips: Add Winbond W25Q16JV_M (DTR version) * 56d727e flashchips: Add newer gen. XTX Tech. XT25F..F 3.3V parts * c64a803 flashchips: Add XTX Tech. XT25F..B 3.3V family * 46e4209 flashchips: Add XTX Tech. XT25F02E/04D/08B 3.3V parts * 6bc88e7 flashchips: Add Boya/BoHong BY25Q32/64/128 3.3V variants * 3cddff4 flashchips: Complete Boya/BoHong BY25D family * 34e3de6 flashchips: Add Zetta Device ZD25LQ64/128 1.8V parts * f050370 selfcheck: Check dummy-cycle settings when QPI is advertised * d40037a selfcheck: Check for WP functions when BP bits are given * 2a1036b flashchips: Fix up GD25Q128C write-protect support * d4e41d3 flashchips: Add SST26VF080A * 04c1cf7 Add .envrc Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-29further gcc-15 fix for gmp on -std=23Leah Rowe
the fix in the previous revision wasn't being applied properly, because the build system of gmp generates a conftest.c file, and the entry being made for it was actually coming from this place in the configure file. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-29coreboot/default and fam15h: gmp fix, gcc15 hostccLeah Rowe
gcc 15 defaults to -std=c23, but the older gcc was using -std=c17. The new c23 breaks GMP, so let's add a patch from upstream (GMP project) to fix it. this has been done to both coreboot trees. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-29coreboot: fam15h: Add patches to fix build with GCC 15 as host compilerAlper Nebi Yasak
Building the fam15h tree results in one of the same nonstring errors we also had when building the default tree. Copy the relevant patch from the default tree, while dropping a hunk that we don't need in this old version. Another build error is about bool being a reserved keyword now: .../lbmk/src/coreboot/fam15h/util/romcc/romcc.c:7140:13: error: 'bool' cannot be used here 7140 | static void bool(struct compile_state *state, struct triple *def) | ^~~~ .../lbmk/src/coreboot/fam15h/util/romcc/romcc.c:7140:13: note: 'bool' is a keyword with '-std=c23' onwards .../lbmk/src/coreboot/fam15h/util/romcc/romcc.c:7140:18: error: expected identifier or '(' before 'struct' 7140 | static void bool(struct compile_state *state, struct triple *def) | ^~~~~~ .../lbmk/src/coreboot/fam15h/util/romcc/romcc.c: In function 'mkcond_expr': .../lbmk/src/coreboot/fam15h/util/romcc/romcc.c:7708:19: error: expected ')' before ',' token 7708 | bool(state, test); | ^ | ) [...] Fix that by adding a patch that renames the function to bool_(). Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29coreboot: Add patch to fix build with GCC 15 as host compilerAlper Nebi Yasak
Building coreboot host tools with GCC 15 results in build errors: In file included from .../lbmk/src/coreboot/default/util/cbfstool/console/console.h:7, from .../lbmk/src/coreboot/default/src/commonlib/fsp_relocate.c:3: .../lbmk/src/coreboot/default/src/commonlib/include/commonlib/loglevel.h:170:26: error: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (6 chars into 5 available) [-Werror=unterminated-string-initialization] 170 | [BIOS_EMERG] = "EMERG", | ^~~~~~~ .../lbmk/src/coreboot/default/src/commonlib/include/commonlib/loglevel.h:171:26: error: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (6 chars into 5 available) [-Werror=unterminated-string-initialization] 171 | [BIOS_ALERT] = "ALERT", | ^~~~~~~ [...] ../cbfstool/common.c: In function 'bintohex': ../cbfstool/common.c:195:43: error: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (17 chars into 16 available) [-Werror=unterminated-string-initialization] 195 | static const char translate[16] = "0123456789abcdef"; | ^~~~~~~~~~~~~~~~~~ Add a patch that marks the latter with the "nonstring" attribute, and disable the warning for the former because I couldn't figure out how to add that attribute there. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29Merge pull request 'seabios: Fix malloc_fn function pointer in romfile ↵Leah Rowe
patch' (#313) from alpernebbi/lbmk:seabios-romfile-malloc-fptr into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/313
2025-04-29dependencies/debian: Fix libusb package nameAlper Nebi Yasak
The Debian package for libusb is "libusb-1.0-0". Fix the typo in the list which is missing the suffix. While we're here, also fix a line continuation. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
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-04-29u-boot: gru: Disable INIT_SP_RELATIVEAlper Nebi Yasak
Recently, gru boards were migrated to use common stack addresses with U-Boot commit 5e7cd8a11995 ("rockchip: Use common bss and stack addresses on RK3399") and commit 49f8131e5594 ("rockchip: rk3399-gru: Use TPL with common bss and stack addresses"). This is done with the ROCKCHIP_COMMON_STACK_ADDR config. With POSITION_INDEPENDENT, INIT_SP_RELATIVE defaults to enabled as well. However, ROCKCHIP_COMMON_STACK_ADDR selects HAS_CUSTOM_SYS_INIT_SP_ADDR, which depends on INIT_SP_RELATIVE being disabled. So this results in a configuration warning: WARNING: unmet direct dependencies detected for HAS_CUSTOM_SYS_INIT_SP_ADDR Depends on [n]: ARM [=y] && ARCH_KIRKWOOD [=n] || ARC [=n] || ARM [=y] && !INIT_SP_RELATIVE [=y] || MIPS [=n] || PPC [=n] || RISCV [=n] Selected by [y]: - ROCKCHIP_COMMON_STACK_ADDR [=y] && ARM [=y] && ARCH_ROCKCHIP [=y] && SPL_SHARES_INIT_SP_ADDR [=y] I'm not sure if adhering to the Rockchip values means we can't be position-independent. Disabling INIT_SP_RELATIVE still appears to keep my kevin board working, so let's do that for now. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29u-boot: arm64: Expand our modified defconfigs to full configsAlper Nebi Yasak
Run `./mk -l u-boot` to regenerate full configs from our new defconfigs. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29u-boot: arm64: Merge our modifications into new defconfigsAlper Nebi Yasak
Apply our preserved changes to the new U-Boot defconfigs. Upstream rearranged memory layouts for Rockchip boards to a unified layout, which got rid of CUSTOM_SYS_INIT_SP_ADDR and HAS_CUSTOM_SYS_INIT_SP_ADDR, and will need a change to a related INIT_SP_RELATIVE later. Normalize the positions of each line in the config by regenerating the defconfig by `./mk -l u-boot` and then `./mk -s u-boot`, so that the diff looks all green when we actually expand it to the full config. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29u-boot: arm64: Add new upstream defconfigsAlper Nebi Yasak
Copy over the new upstream defconfigs from the refreshed U-Boot trees, so we can fold our modifications into them. Manually done, but like: do_defconfig() { ours="$1" theirs="$2" tree="$3" cp src/u-boot/${tree}/configs/${theirs}_defconfig \ config/u-boot/${ours}/config/default } do_defconfig amd64coreboot coreboot64 x86_64 do_defconfig i386coreboot coreboot x86 do_defconfig gru_bob chromebook_bob default do_defconfig gru_kevin chromebook_kevin default do_defconfig qemu_arm_12mb qemu_arm64 default Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29u-boot: arm64: Rebase to v2025.04Alper Nebi Yasak
Set the U-Boot revision to the commit hash for v2025.04, and rebase the patches for the default U-Boot tree to accommodate for upstream changes: - The SPL/TPL/VPL phases are being unified under the xPL name, so there's a config rename. - Some test macros were renamed, for the video-related patches. - Add some missing hunks for video damage series. - Upstream Makefile adds another argument to the binman call. - The SWIG related patch is merged upstream, drop it. I'm not sure if src/u-boot/* directories are regenerated on new builds, so it may be necessary to remove them manually after applying this. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29u-boot: arm64: Save our modifications to the upstream defconfigsAlper Nebi Yasak
Run diffconfig from Linux to track our modifications to the old upstream defconfigs, so we can apply them to the new ones. Restore the original defconfigs to highlight our changes here, and upstream changes in the next commit. Done manually, but something like: do_diff() { ours="$1" theirs="$2" tree="$3" diffconfig \ src/u-boot/${tree}/configs/${theirs}_defconfig \ config/u-boot/${ours}/config/default \ >config/u-boot/${ours}/config/diffconfig cp src/u-boot/${tree}/configs/${theirs}_defconfig \ config/u-boot/${ours}/config/default } do_diff amd64coreboot coreboot64 x86_64 do_diff i386coreboot coreboot x86 do_diff gru_bob chromebook_bob default do_diff gru_kevin chromebook_kevin default do_diff qemu_arm64_12mb qemu_arm64 default Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-29u-boot: arm64: Turn configs into defconfigsAlper Nebi Yasak
Run `./mk -s u-boot` to convert our configs into defconfigs, so we can keep our changes to the old upstream defconfigs and re-apply them to the new upstream defconfigs. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2025-04-26update uefitool to rev a072527, 26 Apr 2025Leah Rowe
This fixes a problem, in that CMake 4.0 dropped compatibility with CMake version 3.5; UEFIExtract/CMakeLists.txt had the line: CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0 FATAL_ERROR) This is lower than 3.5. The new version has this: CMAKE_MINIMUM_REQUIRED(VERSION 3.22) Which is higher than 3.5, in terms of version number. This brings in the following upstream changes: * a072527 Convert other uses of 0xABCD back to ABCDh * a19aead Revert "Update hexadecimal numbers output format from ABCDh to 0xABCD" due to breaking downstream tools * 7752279 Improve region access settings info for Intel v2 descriptor * 6f6debb Add volume header info on NumBlocks and Length used to calcualte alternative size of it * f64ba09 Minor fix for embedded QHexView on Windows * 2b23bbd Implement Apple developer signing for macOS builds * 9cc9518 Update hexadecimal numbers output format from ABCDh to 0xABCD * 73d07cd Add Kaitai-based parser for Dell DVAR store * c8b7151 Fix minor bug while presenting the EOF elemement of AppleSysF store * 892111a Add new fields into Intel Microcode header * 7cea8ee Remove outdated definition of FLASH_PARAMETERS * c38ed92 Add missing header comments to goto*dialog.h * 22bb757 Remove PATH_MAX from realpath * d61d759 Make sure to wrap all uses of kaitai::kstream into try-catch blocks * 7ef3719 Add initial support for Insyde H2O FlashDeviceMap rev4 * 97a85f9 Add Microsoft LZMA section GUID * a077743 Bump version numbers * 07742a5 Update GUID database * a12be6b Address review comments * 9719b0c Update copyright and authors in About UEFITool window * fbf6afd Expand Type column of the report to fit new FlashDeviceMap store and entry types * 3cb5dc0 Add SLIC pubkey and marker parsers * fd0faea Add Phoenix CMDB parser * 01e2e08 Add FFS volume parser for non-AMI NVRAM areas * 4e2a8f6 Add Intel uCode parser * 58366f4 Add Insyde Flash Device Map parser * b98edf6 Add Phoenix EVSA parser * f989fdf Add Phoenix FlashMap parser * 4e600eb Add Apple SysF/Diag parser * 2d6eaa9 Add EDK2 FTW parser * ca7d4ca Add Insyde FDC parser * 34904bd Add KaitaiStruct parsing of Phoenix VSS2 * 489b85f Rewrite VSS and VSS2 NVRAM variable parsers in KaitaiStruct * 2661b8f Remove manual NVRAM parsing, add EDK2 VSS parser written in KaitaiStruct * d91115f Also sign UEFIFind and UEFIExtract for macOS * 0fae05c Add adhoc signature to UEFITool on macOS * 5e6a1c7 Fix CFBundleIdentifier in UEFITool Info.plist * 8d7e01c Make sure to initialize counterUncData * b1ad055 Bump version numbers * 7dd9014 Update GUID database * 4e3fa58 Update QHexView, build it as a library for Qt6 builds * 369f101 Enable building ffsparser_fuzzer during CI/CD, improve readUnaligned to silence Clang UBSAN * ff42cec UEFIExtract: add support for extracting uncompressedData for tree items that have it * c94f78a Add missing common/LZMA/SDK/C/7zWindows.h * b5756f9 Revert old patch from common/LZMA/SDK/C/CpuArch.c * 65fb4a8 Update LZMA SDK to 24.09 * e66bc7d Apply a small patch to common/zlib/gzguts.h to fix a build issue in macOS * dcf21fa Update built-in zlib to 1.3.1 * 0af36bd Fix an issue with kaitai_regenerate.sh creating backup files on modern macOS * fd76e89 Update README.md * 427d8ec Update README.md * a824260 Add MX77L12850F * a777f1f Update main.yml * 5f23377 Update main.yml * 932120c Use x64 macos-13 runner for FreeBSD in main.yml * a8c008c Update macos-12 to macos-latest in main.yml * 6b853f8 Fix SonarCube Scan action version * 66565a5 Try using new SonarCube scan action * 371448d Enable long file paths for UEFIFind * b0cd7fe Update upload-artifacts action to v4 * 4b868bb Remove CodeQL and PVS-Studio from main.yml * 214b356 Add AMIC A25LQ64 to internal JEDEC ID database * 0030ea9 Fix findPattern logic when pattern is at the end of the data * 3441255 fix: add qt version limit to setDesktopFileName * 941ee6c Set desktop file name to fix the missing icon when running under Wayland * c550853 Defined ACCESSPERMS for musl * bf93a5e Bump version numbers * d03a8f2 Fixing FreeBSD action * 0a88da1 Update guids.csv * 6f9a4c0 Fix off-by-one error in parsing IFWI partition table * e0b1e02 Update main.yml * 161c697 Update main.yml * 573452e Update main.yml * 166c797 add Micron XM25RH128C * 0e11189 fix a few misspellings * daf5851 Update README.md * 1cba371 Update guids.csv * 4992474 Fix CPD Extension offset (reverts 29915ca) * 29915ca Fix CPD Manifest's partition offset The ACCESSPERMS patch has been removed, because upstream already dealt with this. Libreboot had made the same fix independently, without realising that upstream also did. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-22coreboot/hp8300cmt: purge xhci_overcurrent_mappingLeah Rowe
This prevents a build error, as the variable is no longer used at all by coreboot (EHCI mapping is used as reference instead). Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-22Fix VBT path on HP Elite desktopsLeah Rowe
Also: hp8300cmt_16mb did not specify a data.vbt path, even though it is indeed available in the coreboot tree. This has been corrected. The previous lack of VBT on hp8300cmt_16mb wasn't really a big problem, since coreboot handles initialisation anyway, and it's basically optional on Linux. Coreboot doesn't parse VBT at all. This patch should fix build errors, that were caused on the recent revision update, where several of the HP desktops have now been turned into variants. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-22ifd/q45t_am: unlock regions by defaultLeah Rowe
i used ifdtool --unlock to do this Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-22coreboot/g43t_am3: use ifd-based setupLeah Rowe
no-ME setup. with a gbe file. we previously made this a descriptorless setup. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-22coreboot/q45t_am3: use ifd-based setupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>