summaryrefslogtreecommitdiff
path: root/resources/coreboot
AgeCommit message (Collapse)Author
2023-07-09coreboot/fam15h: fix acpica build on newer hostccLeah Rowe
Changes made to acpica/iasl in crossgcc, for coreboot trees fam15h_udimm and fam15h_rdimm: remove superfluous YYSTYPE declaration make LuxBuffer variables static, to avoid warnings treated as errors about multiple definitions AcpiGbl_DbOpt_NoRegionSupport - remove this definition in source/tools/acpiexec/aemain.c because it's already re-defined by acpiexec. otherwise the linker complains about multiple definitions Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-09coreboot: AMD Fam10/15: don't build GCC-GNATLeah Rowe
do this with board.cfg option: crossgcc_ada="n" add this environmental variable when building crossgcc, if crossgcc_ada="n": BUILD_LANGUAGES=c This avoids building the GNAT/Ada compiler in GCC. Coreboot 4.11 is only used for some AGESA boards that don't need Ada (their video init is the old style, written in C, it's not libgfxinit) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-09coreboot/fam15h: patch binutils 2.32 for new gccLeah Rowe
tested on debian sid, as of 9 july 2023 implicit string declaration easy stuff. now binutils 2.32 compiles. coreboot 4.11 uses this older binutils version. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-09coreboot/fam15h: support distclean on cbfstoolLeah Rowe
lbmk uses distclean on cbfstool, which newer cbfstool supports, but this old version (in coreboot 4.11) does not. fix that. it just runs make-clean Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-09coreboot/fam15h: re-add kgpe-d16 and kcma-d8Leah Rowe
also kfsn4-dre this is still based on the old coreboot 4.11 version. i have on todo to adapt dasharo coreboot for use in the master branch of lbmk, for mainline libreboot releases. since i'm doing c-libreboot for the GNU project, namely GNU Boot, and since GNU Boot has dre/d8/d16 in their tree, re-add it here for them. i literally just copied this from them, who in turn copied it from libreboot in an older revision anyway. but there is one fix: src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse.c ^ this blob wasn't being deleted by gnuboot, nor by libreboot in the older revision that it forked from. an oversight. i decided to audit the deblobbing and found this one was overlooked, out of about 900 files picked up by deblob-check. so this re-addition of dre/d8/d16 support is actually even better deblobbed than gnuboot, or old-libreboot. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-08download/coreboot: re-add book-burning supportLeah Rowe
see: https://en.wikipedia.org/wiki/Book_burning i'll actually update blobs.list for each coreboot rev in a subsequent commit. this logic was taken from an old libreboot revision, which uses different coreboot revisions. as i write this, i'm running deblob-check from linux-libre deblob scripts. my process is: i just check each file and decide whether it's a blob, or like, test data. in some cases it flags other false positives, like... a C source file that has a bunch of magic numbers in it for things (not a blob) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-08remove blobutil and boards/utils needing/for blobsLeah Rowe
delete all blobs. TODO: actually deblob coreboot/uboot when downloading. i'll that in a little while, in an upcoming commit. yes. purge it all, in fsf style. censor what the fsf doesn't like. so that they can feel good about having less, because ideological purity is better than helping more people use coreboot, yes? Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-08coreboot: never add microcode update to ROM imageLeah Rowe
this way, default psdg libreboot roms that enable microcode can be used in fsdg libreboot, unmodified. these configs enable microcode, but this change to the coreboot build system avoids adding them regardless of configuration this saves hours of work that would otherwise be required, to reconfigure all of the coreboot images, and will allow gnuboot to use the same configs as libreboot fsf makes such a fuss over this, when it's really quite simple. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-25Revert "Revert "Add 4MB version of HP 8200 SFF""Leah Rowe
This reverts commit 2099545078d5a5586743d32b2470a296b66cb5c7. Wasn't this config's fault, the problem happens elsewhere too. I'm going to revert build/boot/roms to an older version and backport a few recent changes, to see if that fixes the problem. If it does, then I know that the recent linker issues happen due to recent changes in build/boot/roms The linker errors typically appear in util/kconfig/ but can happen elsewhere, seemingly random, which means I'm not handling distclean properly. Something isn't getting cleaned properly. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-25Revert "Add 4MB version of HP 8200 SFF"Leah Rowe
This reverts commit 0f7a5386b9219111418a8de8637039c8533d99ea. Random linker errors, must investigate after release. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-22cros: Disable coreboot related BL31 featuresAlper Nebi Yasak
I don't know why, but removing this BL31 make argument lets gru-kevin power off properly when shut down from Linux. Needs investigation. Do it as a cros-only HACK patch so people don't have to hold the power button after every shutdown. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-06-20re-add gigabyte/ga-g41m-es2lLeah Rowe
turns out it's just picky ram. errant reports of "no boot" (users did not have debug dongles) were likely "bad" ram notes will be written on libreboot.org about this Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20nuke boards: delete nyan* (for now)Leah Rowe
not well-tested, and existing testing has revealed video issues on some of them (or just no boot) for now, retain only qemu and gru-* on arm Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-19board/t440p_12mb: rename to t440plibremrc_12mbLeah Rowe
t440pmrc_12mb is the blob one. t440p_12mb is the libre one, but this isn't clear. rename accordingly. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-19build/boot/roms: Support removing microcodeLeah Rowe
From now on, the following rules are available for all mainboards, in resources/coreboot/boardname/board.cfg: * blobs_required="n" or "y" * microcode_required="n" or "y" The blobs setting, if set to "n", simply renames filename.rom to filename_noblobs.rom. The microcode setting, if set to "n", copies the ROM (with or without _noblobs) to filename_nomicrocode.rom (if blobs="n", it would be filename_noblobs_nomicrocode.rom). Where "nomicrocode" is set, ROMs with microcode will still be provided by lbmk and in relesase, but ROMs will also be provided alongside it that lacks any microcode updates. If the *original* ROM already lacks microcode updates, then the original ROM will be *renamed* to include "nomicrocode" in the name. This is done on images for ARM platforms, for instance, where microcode is never used whatsoever. Example filenames now generated: seabios_e6400_4mb_libgfxinit_corebootfb_noblobs_nomicrocode.rom seabios_e6400_4mb_libgfxinit_corebootfb_noblobs.rom seabios_withgrub_hp8300usdt_16mb_libgfxinit_corebootfb_colemak_nomicrocode.rom seabios_withgrub_hp8300usdt_16mb_libgfxinit_corebootfb_colemak.rom uboot_payload_gru_kevin_libgfxinit_corebootfb_noblobs_nomicrocode.rom A vocal minority of people were not happy with some of the changes made in Libreboot last year, including on existing supported hardware from before those changes were made. I did this before the last release, out of respect: https://libreboot.org/news/gm45microcode.html (re-add mitigations for no-microcode setup on GM45) This new change is done as an further, extended courtesy. Tested and works fine. (testing using cbfstool-print) Actual Libreboot policy about binary blobs is nuanced. See: https://libreboot.org/news/policy.html (reduction policy) and: https://libreboot.org/freedom-status.html (implementation) Well, the status page talks about descriptor vs non-descriptor on Intel platforms, and where me_cleaner is used (on platforms that need Intel ME firmware), it regards the descriptored setups to be blob-free if coreboot does not require binary blobs. In this paradigm, microcode updates are not considered to be binary blobs, because they aren't technically software, they're more like config files that just turn certain features on or off within the CPU. However, for lbmk purposes, "noblobs" means that, after the ROM is fully ready to flash on the chip, there will be no blobs in it (except microcode). So for example, an X200 that does not require ME firmware is considered blob-free under this paradigm, even though Libreboot policy regards X230 as equally libre when me_cleaner is used; in this setup, ROMs will not contain "blobfree" in the filename, for X230 (as one example). Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-17Add HP 8300 USDTRiku Viitanen
Still on Gerrit. ME downloader failed with HP update file, so let's just use Lenovo's instead. Both contain identical ME8_5M_Production.bin files. Tested and working: * Native raminit with both DIMMs * Libgfxinit textmode and framebuffer on both DisplayPorts and VGA * External USB2 and USB3 ports: they all work * USB 3.0 SuperSpeed (rear, 4 ports) * Ethernet * Mini-PCIe WLAN * SATA: 2.5" SSD and optical drive bay * SeaBIOS and GRUB (boot to linux) * PS/2 keyboard and mouse * S3 suspend and resume, wake using USB keyboard * Headphone output, line out, internal speaker * Wake on LAN * Rebooting * CMOS options & nvramcui Untested: * Line in, mic input * MXM graphics card * EHCI debug Not working: * Mini-PCIe USB: I couldn't get it working on vendor BIOS either, so maybe it just isn't present * PS/2 keyboard wake from S3 * mSATA (I have no mSATA drives)
2023-06-16Add HP Elitebook 2570pRiku Viitanen
Tested with Johan Ehnberg (johan@molnix.com) The following is tested and confirmed working: - backlight control - touchpad - USB (external, smart card, fingerprint, bluetooth, webcam, WWAN) - touchpad - Wi-Fi - 2,5" SATA - USB 3.0 - SD card - Memory: 2+2 (matched or unmatched), 8+2, 8+8 - internal flashing from libreboot - SeaBIOS and GRUB payloads - Boots Devuan and Ubuntu Untested: - ExpressCard - DVD - dock - external displays - eSATA - trackpoint (not present on this aftermarket keyboard)
2023-06-12resources/coreboot/default/patches: Add patch for E6400 SD cardNicholas Chin
This fixes the PCI interrupt routing tables for the E6400 so that the SD card works. It is already merged in upstream but libreboot has not yet updated coreboot.
2023-05-28Add 4MB version of HP 8200 SFFRiku Viitanen
This is useful for internally flashing Libreboot from OEM BIOS since the top ~3MB is write-protected by vendor firmware.
2023-05-12Remove warning for coreboot images build without a payloadNicholas Chin
I added this in upstream to prevent people from accidentally flashing roms without a payload resulting in a no boot situation, but in libreboot lbmk handles the payload and thus this warning always comes up. This has caused confusion and concern so just patch it out.
2023-05-12remove ga-g41m-es2l board for nowLeah Rowe
users reported it doesn't boot in recent releases, with the february 2023 coreboot revision update i have one in the lab, i'll just re-test it and fix whatever's wrong for a future release
2023-05-11remove python3 patchesLeah Rowe
python 3 is default now, in all the distros specifically calling "python3" often doesn't work anymore python2 is obsolete let python2 die
2023-05-09Add devicetree patch for E6400 with Nvidia GPUNicholas Chin
2023-05-09hp9470m: fix board name in smbiosRiku Viitanen
2023-05-06remove e6400_8mb and e6400_16mb (keep e6400_4mb)Leah Rowe
nobody will bother to upgrade the flash on those machines not much point maintaining the 8/16mb versions might aswell do just the _4mb version
2023-04-22Add HP EliteBook Folio 9470mRiku Viitanen
2023-04-21Add HP EliteBook 2560pRiku Viitanen
2023-04-20Re-disable GRUB payload for E6400Nicholas Chin
This reverts commit fe2b72035fb58d2c0792daa62aa346da710f04a3. The GRUB patch to fix the E6400 broke other systems and has been reverted. As a result, GRUB needs to be disabled again on the E6400 until a better fix has been created.
2023-04-20Revert "Fix GRUB handling of the E6400 keyboard"Nicholas Chin
This reverts commit 1497ae045104145de677fd151da4de6e92be4e5a. The blanket GRUB patch seems to break PS/2 keyboard handling across other platforms, so revert it.
2023-04-19Revert "dell/e6400: disable grub payload"Nicholas Chin
This reverts commit 7bc4dc32ac3e430e50ace3a2876cf501f647b89f. The E6400 keyboard should work in GRUB now so we can reenable it.
2023-04-19Fix GRUB handling of the E6400 keyboardNicholas Chin
This introduces a patch to grub which disables the coreboot specific handling, allowing PS/2 keyboards to be handled the same as i386-pc. However this alone breaks the keyboard in Linux, requiring coreboot to perform PS/2 initialization. I think GRUB may be restoring the original configuration of the PS/2 controller once it exits, and if coreboot doesn't initialize the controller then it's restored to the default state which Linux doesn't seem to like. I think the emulated keyboard interface provided by the EC on the E6400 behaves in a non-standard way that is incompatible with the old coreboot specific handling.
2023-04-19dell/e6400: disable grub payloadLeah Rowe
ps/2 internal keyboard faulty in grub target i386-coreboot, according to nic3-14159 normal i386-pc grub (bios grub) is fine, booted from seabios it is being investigated
2023-04-19Add configs for the Latitude E6400Nicholas Chin
Tested the 4MiB ROMs but not the 8 or 16 MiB ones. This uses the same board.cfg as the GM45 ThinkPads with an IFD+GBE from ich9gen. Known issues: - The internal keyboard does not work properly in GRUB. It seems like the keyboard controller is outputing set 1 (XT) scancodes, but GRUB is interpreting them as set 2 (AT) scancodes. This may also have something to do with scancode translation. However, the keyboard works fine in SeaBIOS and Linux. USB keyboards also work properly. - The subsystem IDs in the GBE region are hardcoded for a Thinkpad in ich9gen, though this doesn't seem to cause issues in Linux. The vendor IFD and GBE region do have some differences from the generated binaries, though they do not appear to be critical.
2023-04-17gm45: re-add mitigations for no-microcode setupLeah Rowe
libreboot will still include microcode updates by default, but mitigations against broken speedstep and reboot (when microcode updates are excluded) were removed following the merge with osboot this patch restores those mitigations; the patch reverts coreboot to older smrr code (which works fine, it isn't critical to use the new behaviour) and disables peci (pointless feature) i'll probably re-tool this later to apply the changes conditionally to whether ucode is present this is not a change in policy. policy says: include cpu microcode updates by default policy also says: libreboot must be configurable microcode removal via cbfstool remove -n, counts as configuration, and in practise is not possible on gm45 patches in current libreboot; this patch corrects that problem, allowing the machines to work somewhat well (same stability issues as before, like MCE errors resulting in kernel panic on high CPU/memory usage, but i digress) happy... hacking
2023-04-14Port to HP Compaq 8200 Elite SFFRiku Viitanen
2023-04-09remove daisy and peach boards (todo: re-add)Leah Rowe
bl1 bootloader blobs needed, and lbmk doesn't currently auto-download these for insertion, so their presence in the build system is problematic because people might build these and think they work - they don't, due to the lack of those bl1 blobs notes about this are included in lbwww, on the compatibility list. these can be re-added and tested later, when lbmk handles those bl1 bootloader blobs
2023-04-09remove veyron boards temporarily (will re-add)Leah Rowe
u-boot is known broken on these, last revision known working is 2021.01 can bisect and find the fix. i'm putting this on the issue tracker (new one on codeberg)
2023-04-01remove d945gclf_16mbLeah Rowe
i overlooked this one. the normal one was removed, due to boot issues with the board. i need to look at this board before re-adding it to libreboot
2023-03-22remove board: d945gclfLeah Rowe
these boards are almost impossible to find, and have always been buggy, it doesn't look like there will be any viable testing or development on it it's currently broken in master, on coreboot. if someone wants to fix and re-add to lbmk, they can do that use older libreboot releases to flash this board, if you wish (i *am* adding te the issue tracker, a note about this commit, with a view to re-adding it one day)
2023-03-19fix bug: me not being downloaded on some boardsLeah Rowe
rename board configs, and add to sources file the t530/w530 boards in some situations, the files weren't being downloaded
2023-03-19new board: lenovo/w530Leah Rowe
2023-03-19new board: lenovo/t530Leah Rowe
2023-03-18haswell (lenovo t440p/w541): fix S3 suspend/resumeLeah Rowe
MRC caches in a certain way, that Heads was able to work around in their build system, for this board. I've adapted the relevant config differences, from their project as of heads revision 96440b928acb06de5b925ea12014c9c280b23165 The downside is that CBFS now has to be 8MB in size. The upside is that the machine also boots much faster See: https://github.com/osresearch/heads/pull/1282/commits/f0792117efa177ded19878f652c5a28e8cc62a71 https://github.com/osresearch/heads/pull/1282#issuecomment-1400634600 I have not adapted their IFD changes, versus Libreboot, because theirs simply has a different version string, and uses different read/write permission bits for regions as defined in the IFD. This affects: t440p_12mb_mrc w541_12mb_mrc S3 suspend/resume still broken on these targets which use the libre MRC init (replacement code by Angel Pons, recently merged in lbmk): t440p_12mb w541_12mb With clever use of FMAP, the rest of the BIOS region might still be used. However, for our purposes, 8MB CBFS will do just fine. Heads's changes configure MRC so that caching is handled properly, for when the machine returns from sleep. Setting CBFS to be any higher will result in slower boot times, and broken S3 resume, due to MRC cache misalignment (this is based on my understanding, reading through the Heads project looking at their research on this). At some point in the future, Angel's libre MRC code will probably be finished, and merged, with more fine tuning possible to allow bigger CBFS sizes.
2023-03-18haswell: re-add mrc.bin in separate board configsLeah Rowe
libre mrc on haswell is quite buggy for now, but works in a limited fashion this patch re-adds the old configs, but as _mrc for example t440p_12mb_mrc instead of t440p_12mb and t440p_12mb (without _mrc) still uses the libre mrc code
2023-03-18haswell: only use txtmod seabios configurationLeah Rowe
i found that with libre mrc, usb was broken in grub however, it worked nicely in seabios for our purposes, doing seabios-only roms in text mode is best for now i'm going to re-add mrc.bin, but for t440p_12mb_mrc and w541_12mb_mrc, as new config names. the regular t440p_12mb and w541_12mb will continue to use libre mrc, but the _mrc ones will use mrc.bin and retain the grub payload in board.cfg
2023-03-18remove t440p_12mb_cbfs4mb (retain t440_12mb)Leah Rowe
2023-03-18remove x220_16mb (x220 with 16MB flash)Leah Rowe
untested. removing.
2023-03-18haswell boards: use libre mrc.bin replacementLeah Rowe
courtesy of Angel Pons from the coreboot project this uses the following patch set from gerrit, as yet unmerged (in coreboot master) on this date: https://review.coreboot.org/c/coreboot/+/64198/5 logic for downloading mrc blobs has been deleted from lbmk, as this is now completely obsolete (for haswell boards) if other platforms are added later that need mrc.bin, then logic will be re-added again for that
2023-03-17nuke p2b_ls/p3b_f boardsLeah Rowe
they don't even boot in pcbox properly, and the real hardware is not much to talk about useless port delete
2023-03-05also fix data.vbt path for lenovo/w541Leah Rowe
using the same method as the previous patch for t440p