summaryrefslogtreecommitdiff
path: root/config
AgeCommit message (Collapse)Author
2 daysNEW 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>
2 daysmk: 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>
3 daysRestore 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>
3 daysRevert "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.
3 dayscoreboot/t420_8mb: add missing txtmode configLeah Rowe
Reported by irys on #libreboot irc Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysLibreboot 25.04 Corny Calamity25.04Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysadd 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>
5 dayscoreboot/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>
5 dayscoreboot/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>
5 daysserprog: 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.
5 daysseabios: 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>
5 daysupdate untitledLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
5 dayscoreboot413: 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>
5 daysflashprog: 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>
5 daysfurther 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>
5 dayscoreboot/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>
5 dayscoreboot: 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>
5 dayscoreboot: 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>
5 daysMerge 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
5 daysdependencies/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>
5 daysseabios: 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>
5 daysu-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>
5 daysu-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>
5 daysu-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>
5 daysu-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>
5 daysu-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>
5 daysu-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>
5 daysu-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>
8 daysupdate 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>
12 dayscoreboot/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>
13 daysFix 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>
13 daysifd/q45t_am: unlock regions by defaultLeah Rowe
i used ifdtool --unlock to do this Signed-off-by: Leah Rowe <leah@libreboot.org>
13 dayscoreboot/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>
13 dayscoreboot/q45t_am3: use ifd-based setupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
13 dayscoreboot/default: add missing submodulesLeah Rowe
due to a rule in .gitignore, these were ignored, because it ignores .tar.xz entries in git status Signed-off-by: Leah Rowe <leah@libreboot.org>
13 daysNEW MAINBOARD: Acer Q45T-AM (G43T-AM3 variant)Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
13 dayscoreboot/g43t_am3: fix data.vbt pathLeah Rowe
this board became a variant, in the new coreboot revision that lbmk recently updated to. fix the data.vbt path to prevent error. Signed-off-by: Leah Rowe <leah@libreboot.org>
13 daysadd missing config/data/coreboot/0Leah Rowe
this is a file containing one byte, of value zero i meant to add it in previous commits, for the resizing and shrinking of tarballs when inserting or deleting vendor files used by include/vendor.sh Signed-off-by: Leah Rowe <leah@libreboot.org>
14 dayscoreboot/next: merge with coreboot/defaultLeah Rowe
I also cherry-picked a patch from Heads, that fixes build issues caused by the hacks in the T480 port; several changes made by Mate are now ifdef'd based on whether a KabyLake ThinkPad is specified in defconfig. Signed-off-by: Leah Rowe <leah@libreboot.org>
14 dayscoreboot/default: Update, c247f62749b (8 Feb 2025)Leah Rowe
This is currently the latest revision of coreboot. Other coreboot trees to follow. The "next" tree will also be merged with coreboot/default, in a follow-up commit. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-20Update the GRUB revisionsLeah Rowe
A number of regressions were caused by the recent CVE fixes, many of which have since been fixed upstream. This includes several ext4 file system bugs, which caused some systems not to boot properly, when dealing with very large initramfs files. No additional patching has been made. This will be tested, and then used to provide a revision update for Libreboot 20241206. After this, there are several additional OOT patches that will be merged, for the next *testing release* of Libreboot. Update to this revision, for all GRUB trees: a4da71dafeea519b034beb159dfe80c486c2107c This brings in the following changes from upstream: * a4da71daf util/grub-install: Include raid5rec module for RAID 4 as well * 223fcf808 loader/ia64/efi/linux: Reset grub_errno on failure to allocate * 6504a8d4b lib/datetime: Specify license in emu module * 8fef533cf configure: Add -mno-relax on riscv* * 1fe094855 docs: Document the long options of tpm2_key_protect_init * 6252eb97c INSTALL: Document the packages needed for TPM2 key protector tests * 9d4b382aa docs: Update NV index mode of TPM2 key protector * 2043b6899 tests/tpm2_key_protector_test: Add more NV index mode tests * 9f66a4719 tests/tpm2_key_protector_test: Reset "ret" on fail * b7d89e667 tests/tpm2_key_protector_test: Simplify the NV index mode test * 5934bf51c util/grub-protect: Support NV index mode * cd9cb944d tpm2_key_protector: Support NV index handles * fa69deac5 tpm2_key_protector: Unseal key from a buffer * 75c480885 tss2: Add TPM 2.0 NV index commands * 041164d00 tss2: Fix the missing authCommand * 46c9f3a8d tpm2_key_protector: Add tpm2_dump_pcr command * 617dab9e4 tpm2_key_protector: Dump PCRs on policy fail * 204a6ddfb loader/i386/linux: Update linux_kernel_params to match upstream * 6b64f297e loader/xnu: Fix memory leak * f94d257e8 fs/btrfs: Fix memory leaks * 81146fb62 loader/i386/linux: Fix resource leak * 1d0059447 lib/reloacator: Fix memory leaks * f3f1fcecd disk/ldm: Fix memory leaks * aae2ea619 fs/ntfs: Fix NULL pointer dereference and possible infinite loop * 3b25e494d net/drivers/ieee1275/ofnet: Add missing grub_malloc() * fee6081ec kern/ieee1275/init: Increase MIN_RMA size for CAS negotiation on PowerPC machines * b66c6f918 fs/zfs: Fix a number of memory leaks in ZFS code * 1d59f39b5 tests/util/grub-shell: Remove the work directory on successful run and debug is not on * e0116f3bd tests/grub_cmd_cryptomount: Remove temporary directories if successful and debug is not on * e6e2b73db tests/grub_cmd_cryptomount: Default TMPDIR to /tmp * 32b02bb92 tests/grub_cmd_cryptomount: Cleanup the cryptsetup script unless debug is enabled * c188ca5d5 tests: Cleanup generated files on expected failure in grub_cmd_cryptomount * 50320c093 tests/util/grub-shell-luks-tester: Add missing line to create RET variable in cleanup * bb6d3199b tests/util/grub-shell-luks-tester: Find cryptodisk by UUID * 3fd163e45 tests/util/grub-shell: Default qemuopts to envvar $GRUB_QEMU_OPTS * ff7f55307 disk/lvm: Add informational messages in error cases of ignored features * a16b4304a disk/lvm: Add support for cachevol LV * 9a37d6114 disk/lvm: Add support for integrity LV * 6c14b87d6 lvm: Match all LVM segments before validation * d34b9120e disk/lvm: Remove unused cache_pool * 90848a1f7 disk/lvm: Make cache_lv more generic as ignored_feature_lv * 488ac8bda commands/ls: Add directory header for dir args * 096bf59e4 commands/ls: Print full paths for file args * 90288fc48 commands/ls: Output path for single file arguments given with path * 6337d84af commands/ls: Show modification time for file paths * cbfb031b1 commands/ls: Merge print_files_long() and print_files() into print_file() * 112d2069c commands/ls: Return proper GRUB_ERR_* for functions returning type grub_err_t * da9740cd5 commands/acpi: Use options enum to index command options * 1acf11fe4 docs: Capture additional commands restricted by lockdown * 6a168afd3 docs: Document restricted filesystems in lockdown * be0ae9583 loader/i386/bsd: Fix type passed for the kernel * ee27f07a6 kern/partition: Unbreak support for nested partitions * cb639acea lib/tss2/tss2_structs.h: Fix clang build - remove duplicate typedef * 696e35b7f include/grub/mm.h: Remove duplicate inclusion of grub/err.h * 187338f1a script/execute: Don't let trailing blank lines determine the return code * ff173a1c0 gitignore: Ignore generated files from libtasn * fbcc38891 util/grub.d/30_os-prober.in: Conditionally show or hide chain and efi menu entries * 56ccc5ed5 util/grub.d/30_os-prober.in: Fix GRUB_OS_PROBER_SKIP_LIST for non-EFI * 01f064064 docs: Do not reference non-existent --dumb option * 3f440b5a5 docs: Replace @lbracechar{} and @rbracechar{} with @{ and @} * f20988738 fs/xfs: Fix grub_xfs_iterate_dir() return value in case of failure * 1ed2628b5 fs/xfs: Add new superblock features added in Linux 6.12/6.13 * 348cd416a fs/ext2: Rework out-of-bounds read for inline and external extents * c730eddd2 disk/ahci: Remove conditional operator for endtime * f0a08324d term/ns8250-spcr: Return if redirection is disabled * 7161e2437 commands/file: Fix NULL dereference in the knetbsd tests * 11b9c2dd0 gdb_helper: Typo hueristic * 224aefd05 kern/efi/mm: Reset grub_mm_add_region_fn after ExitBootServices() call * 531750f7b i386/tsc: The GRUB menu gets stuck due to unserialized rdtsc * f2a1f66e7 kern/i386/tsc_pmtimer: The GRUB menu gets stuck due to failed calibration * 13f005ed8 loader/i386/linux: Fix cleanup if kernel doesn't support 64-bit addressing Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-17vendor.sh: yet even more code cleanupLeah Rowe
code equals bugs. code that doesn't exist can't have bugs, so it is superior by definition. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-11lbmk: unified PWD handling (work directory)Leah Rowe
instead of running pwd all the time, run it once in lib.sh, and export PWD. for lbmk-specific use of PWD, use xbmkpwd, which contains the value of PWD as was set by the pwd utility in lib.sh. many parts of lbmk rely on pwd, and it *must* be correct. this change adds basic error handling, since pwd can in fact return errors in some cases. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-11lbmk: use pwd util, not PWD environmental variableLeah Rowe
PWD could be anything, if the user manually exported it before running lbmk. always run pwd instead, to get the real string. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-04grub/xhci: Remove unused patchLeah Rowe
I was importing a patch for the z790 boards, but Libreboot doesn't support this board yet, and the patch was a hack that may affect other boards. When I do later merge that board, and I find that the hack is needed, I'll simply make another grub tree within lbmk. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-04-01remove _fsp targets (keep _vfsp)Leah Rowe
_fsp is obsolete. people should use _vfsp _fsp was kept for a short while, for backward compatibility, but nobody really uses it now and it just causes confusion Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-02-19Bump GRUB revision to add 73 security patchesLeah Rowe
You can find information about these patches here: https://lists.gnu.org/archive/html/grub-devel/2025-02/msg00024.html GRUB has been on a crusade as of late, to proactively audit and fix many security vulnerabilities. This lbmk change brings in a comprehensive series of patches that fix bugs ranging from possible buffer overflows, use-after frees, null derefs and so on. These changes are critical, so a revision release *will* be issued, for the Libreboot 20241206 release series. This change imports the following 73 patches which are present on the upstream GRUB repository (commit IDs matched to upstream): * 4dc616657 loader/i386/bsd: Use safe math to avoid underflow * 490a6ab71 loader/i386/linux: Cast left shift to grub_uint32_t * a8d6b0633 kern/misc: Add sanity check after grub_strtoul() call * 8e6e87e79 kern/partition: Add sanity check after grub_strtoul() call * 5b36a5210 normal/menu: Use safe math to avoid an integer overflow * 9907d9c27 bus/usb/ehci: Define GRUB_EHCI_TOGGLE as grub_uint32_t * f8795cde2 misc: Ensure consistent overflow error messages * 66733f7c7 osdep/unix/getroot: Fix potential underflow * d13b6e8eb script/execute: Fix potential underflow and NULL dereference * e3c578a56 fs/sfs: Check if allocated memory is NULL * 1c06ec900 net: Check if returned pointer for allocated memory is NULL * dee2c14fd net: Prevent overflows when allocating memory for arrays * 4beeff8a3 net: Use safe math macros to prevent overflows * dd6a4c8d1 fs/zfs: Add missing NULL check after grub_strdup() call * 13065f69d fs/zfs: Check if returned pointer for allocated memory is NULL * 7f38e32c7 fs/zfs: Prevent overflows when allocating memory for arrays * 88e491a0f fs/zfs: Use safe math macros to prevent overflows * cde9f7f33 fs: Prevent overflows when assigning returned values from read_number() * 84bc0a9a6 fs: Prevent overflows when allocating memory for arrays * 6608163b0 fs: Use safe math macros to prevent overflows * fbaddcca5 disk/ieee1275/ofdisk: Call grub_ieee1275_close() when grub_malloc() fails * 33bd6b5ac disk: Check if returned pointer for allocated memory is NULL * d8151f983 disk: Prevent overflows when allocating memory for arrays * c407724da disk: Use safe math macros to prevent overflows * c4bc55da2 fs: Disable many filesystems under lockdown * 26db66050 fs/bfs: Disable under lockdown * 5f31164ae commands/hexdump: Disable memory reading in lockdown mode * 340e4d058 commands/memrw: Disable memory reading in lockdown mode * 34824806a commands/minicmd: Block the dump command in lockdown mode * c68b7d236 commands/test: Stack overflow due to unlimited recursion depth * dad8f5029 commands/read: Fix an integer overflow when supplying more than 2^31 characters * b970a5ed9 gettext: Integer overflow leads to heap OOB write * 09bd6eb58 gettext: Integer overflow leads to heap OOB write or read * 7580addfc gettext: Remove variables hooks on module unload * 9c1619773 normal: Remove variables hooks on module unload * 2123c5bca commands/pgp: Unregister the "check_signatures" hooks on module unload * 0bf56bce4 commands/ls: Fix NULL dereference * 05be856a8 commands/extcmd: Missing check for failed allocation * 98ad84328 kern/dl: Check for the SHF_INFO_LINK flag in grub_dl_relocate_symbols() * d72208423 kern/dl: Use correct segment in grub_dl_set_mem_attrs() * 500e5fdd8 kern/dl: Fix for an integer overflow in grub_dl_ref() * 2c34af908 video/readers/jpeg: Do not permit duplicate SOF0 markers in JPEG * 0707accab net/tftp: Fix stack buffer overflow in tftp_open() * 5eef88152 net: Fix OOB write in grub_net_search_config_file() * aa8b4d7fa net: Remove variables hooks when interface is unregisted * a1dd8e59d net: Unregister net_default_ip and net_default_mac variables hooks on unload * d8a937cca script/execute: Limit the recursion depth * 8a7103fdd kern/partition: Limit recursion in part_iterate() * 18212f064 kern/disk: Limit recursion depth * 67f70f70a disk/loopback: Reference tracking for the loopback * 13febd78d disk/cryptodisk: Require authentication after TPM unlock for CLI access * 16f196874 kern/file: Implement filesystem reference counting * a79106872 kern/file: Ensure file->data is set * d1d6b7ea5 fs/xfs: Ensuring failing to mount sets a grub_errno * 6ccc77b59 fs/xfs: Fix out-of-bounds read * 067b6d225 fs/ntfs: Implement attribute verification * 048777bc2 fs/ntfs: Use a helper function to access attributes * 237a71184 fs/ntfs: Track the end of the MFT attribute buffer * aff263187 fs/ntfs: Fix out-of-bounds read * 7e2f750f0 fs/ext2: Fix out-of-bounds read for inline extents * edd995a26 fs/jfs: Inconsistent signed/unsigned types usage in return values * bd999310f fs/jfs: Use full 40 bits offset and address for a data extent * ab09fd053 fs/jfs: Fix OOB read caused by invalid dir slot index * 66175696f fs/jfs: Fix OOB read in jfs_getent() * 1443833a9 fs/iso9660: Fix invalid free * 965db5970 fs/iso9660: Set a grub_errno if mount fails * f7c070a2e fs/hfsplus: Set a grub_errno if mount fails * 563436258 fs/f2fs: Set a grub_errno if mount fails * 0087bc690 fs/tar: Integer overflow leads to heap OOB write * 2c8ac08c9 fs/tar: Initialize name in grub_cpio_find_file() * 417547c10 fs/hfs: Fix stack OOB write with grub_strcpy() * c1a291b01 fs/ufs: Fix a heap OOB write * ea703528a misc: Implement grub_strlcpy() Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-02-12Update pico-serprog revisionRiku Viitanen
Most importantly this should fix issues with rp2350 boards not synchronizing properly. Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2025-01-31deps/arch: genisoimage belongs to cdrtoolsRunxi Yu
genisoimage is not a an AUR package as suggested by aur_notice. It is available in the "cdrtools" package in the repositories. References: https://archlinux.org/packages/extra/x86_64/cdrtools/ Signed-off-by: Runxi Yu <me@runxiyu.org>
2025-01-29restore old x230 gbe fileLeah Rowe
i accidentally committed one where i'd changed the mac address, on a previous revision to nvmutil Signed-off-by: Leah Rowe <leah@libreboot.org>