summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--README.md158
-rwxr-xr-xbuild130
-rw-r--r--config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_corebootfb816
-rw-r--r--config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_txtmode809
-rw-r--r--config/coreboot/dell3050micro_fsp_16mb/target.cfg14
-rw-r--r--config/coreboot/fam15h/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch3
-rw-r--r--config/coreboot/t480_fsp_16mb/config/libgfxinit_corebootfb855
-rw-r--r--config/coreboot/t480_fsp_16mb/config/libgfxinit_txtmode848
-rw-r--r--config/coreboot/t480_fsp_16mb/target.cfg13
-rw-r--r--config/coreboot/t480s_fsp_16mb/config/libgfxinit_corebootfb855
-rw-r--r--config/coreboot/t480s_fsp_16mb/config/libgfxinit_txtmode848
-rw-r--r--config/coreboot/t480s_fsp_16mb/target.cfg13
-rw-r--r--config/data/pico-serprog/mkhelper.cfg2
-rw-r--r--config/dependencies/arch4
-rwxr-xr-xconfig/dependencies/fedora412
-rw-r--r--config/git/pico-serprog/pkg.cfg2
-rw-r--r--config/grub/default/config/payload39
-rw-r--r--config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch2
-rw-r--r--config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch6
-rw-r--r--config/grub/default/patches/0003-Add-CC0-license.patch6
-rw-r--r--config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch2
-rw-r--r--config/grub/default/patches/0005-Add-Argon2-algorithm.patch2
-rw-r--r--config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch12
-rw-r--r--config/grub/default/patches/0007-Compile-with-Argon2id-support.patch10
-rw-r--r--config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch2
-rw-r--r--config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch2
-rw-r--r--config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch2
-rw-r--r--config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch6
-rw-r--r--config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch6
-rw-r--r--config/grub/default/patches/0013-don-t-print-empty-error-messages.patch2
-rw-r--r--config/grub/default/target.cfg2
-rw-r--r--config/grub/nvme/config/payload36
-rw-r--r--config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch2
-rw-r--r--config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch6
-rw-r--r--config/grub/nvme/patches/0003-Add-CC0-license.patch6
-rw-r--r--config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch2
-rw-r--r--config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch2
-rw-r--r--config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch12
-rw-r--r--config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch10
-rw-r--r--config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch2
-rw-r--r--config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch2
-rw-r--r--config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch2
-rw-r--r--config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch6
-rw-r--r--config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch6
-rw-r--r--config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch2
-rw-r--r--config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch11
-rw-r--r--config/grub/nvme/target.cfg2
-rw-r--r--config/grub/xhci/config/payload36
-rw-r--r--config/grub/xhci/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch4
-rw-r--r--config/grub/xhci/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch8
-rw-r--r--config/grub/xhci/patches/0003-Add-CC0-license.patch8
-rw-r--r--config/grub/xhci/patches/0004-Define-GRUB_UINT32_MAX.patch4
-rw-r--r--config/grub/xhci/patches/0005-Add-Argon2-algorithm.patch4
-rw-r--r--config/grub/xhci/patches/0006-Error-on-missing-Argon2id-parameters.patch14
-rw-r--r--config/grub/xhci/patches/0007-Compile-with-Argon2id-support.patch12
-rw-r--r--config/grub/xhci/patches/0008-Make-grub-install-work-with-Argon2.patch4
-rw-r--r--config/grub/xhci/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch4
-rw-r--r--config/grub/xhci/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch4
-rw-r--r--config/grub/xhci/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch8
-rw-r--r--config/grub/xhci/patches/0012-don-t-print-error-if-module-not-found.patch8
-rw-r--r--config/grub/xhci/patches/0013-don-t-print-empty-error-messages.patch4
-rw-r--r--config/grub/xhci/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch4
-rw-r--r--config/grub/xhci/patches/0015-usb-Add-enum-for-xHCI.patch6
-rw-r--r--config/grub/xhci/patches/0016-usbtrans-Set-default-maximum-packet-size.patch6
-rw-r--r--config/grub/xhci/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch6
-rw-r--r--config/grub/xhci/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch6
-rw-r--r--config/grub/xhci/patches/0019-grub-core-bus-usb-Add-xhci-support.patch13
-rw-r--r--config/grub/xhci/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch6
-rw-r--r--config/grub/xhci/patches/0021-xHCI-also-accept-SBRN-0x31-and-0x32.patch26
-rw-r--r--config/grub/xhci/patches/0022-xhci-fix-port-indexing.patch43
-rw-r--r--config/grub/xhci/patches/0024-xhci-configure-TT-for-non-root-hubs.patch98
-rw-r--r--config/grub/xhci/patches/0025-Fix-compilation-on-x86_64.patch (renamed from config/grub/xhci/patches/0021-Fix-compilation-on-x86_64.patch)16
-rw-r--r--config/grub/xhci/patches/0026-Add-native-NVMe-driver-based-on-SeaBIOS.patch (renamed from config/grub/xhci/patches/0022-Add-native-NVMe-driver-based-on-SeaBIOS.patch)13
-rw-r--r--config/grub/xhci/target.cfg2
-rw-r--r--config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch26
-rw-r--r--config/submodule/docs/html/module.cfg2
-rw-r--r--config/submodule/docs/img/module.cfg2
-rw-r--r--config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch2
-rw-r--r--config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch2
-rw-r--r--config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch2
-rw-r--r--include/git.sh72
-rw-r--r--include/lib.sh109
-rw-r--r--include/mrc.sh16
-rw-r--r--include/rom.sh44
-rw-r--r--include/vendor.sh382
-rwxr-xr-x[l---------]mk500
-rw-r--r--projectname1
-rw-r--r--projectsite1
-rwxr-xr-xscript/trees358
l---------update1
-rw-r--r--util/nvmutil/nvmutil.c306
l---------vendor1
93 files changed, 1462 insertions, 6316 deletions
diff --git a/.gitignore b/.gitignore
index 177512a7..4979e1f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,8 @@
/push
/version
/versiondate
+/.version
+/.versiondate
/vendorfiles/
*me.bin
*sch5545ec.bin
diff --git a/README.md b/README.md
index 7f29bc14..e6452dbd 100644
--- a/README.md
+++ b/README.md
@@ -1,123 +1,57 @@
Libreboot
=========
-Find libreboot documentation at <https://libreboot.org/>
-
-The `libreboot` project provides
-[libre](https://libreboot.org/freedom-status.html) *boot
-firmware* that initializes the hardware (e.g. memory controller, CPU,
-peripherals) on specific Intel/AMD x86 and ARM targets, which
-then starts a bootloader for your operating system. Linux/BSD are
-well-supported. It replaces proprietary BIOS/UEFI firmware. Help is available
-via [\#libreboot IRC](https://web.libera.chat/#libreboot)
-on [Libera](https://libera.chat/) IRC.
-
-Why use Libreboot?
-==================
-
-Why should you use *libreboot*?
-----------------------------
-
-Libreboot gives you freedoms that you otherwise can't get with most other
-boot firmware. It's extremely powerful and configurable for many use cases.
-
-You have rights. The right to privacy, freedom of thought, freedom of speech
-and the right to read. In this context, Libreboot gives you these rights.
-Your freedom matters.
-[Right to repair](https://vid.puffyan.us/watch?v=Npd_xDuNi9k) matters.
-Many people use proprietary (non-libre)
-boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
-Proprietary firmware often contains backdoors (more info on the FAQ), and it
-and can be buggy. The libreboot project was founded in December 2013,
-with the express purpose of making coreboot firmware accessible for
-non-technical users.
-
-The `libreboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
-initialisation](https://doc.coreboot.org/getting_started/architecture.html).
-Coreboot is notoriously difficult to install for most non-technical users; it
-handles only basic initialization and jumps to a separate
-[payload](https://doc.coreboot.org/payloads.html) program (e.g.
-[GRUB](https://www.gnu.org/software/grub/),
-[Tianocore](https://www.tianocore.org/)), which must also be configured.
-*The libreboot software solves this problem*; it is a *coreboot distribution* with
-an automated build system (named *lbmk*) that builds complete *ROM images*, for
-more robust installation. Documentation is provided.
-
-How does Libreboot differ from coreboot?
-========================================
-
-In the same way that *Debian* is a GNU+Linux distribution, `libreboot` is
-a *coreboot distribution*. If you want to build a ROM image from scratch, you
-otherwise have to perform expert-level configuration of coreboot, GRUB and
-whatever other software you need, to prepare the ROM image. With *libreboot*,
-you can literally download from Git or a source archive, and run `make`, and it
-will build entire ROM images. An automated build system, named `lbmk`
-(Libreboot MaKe), builds these ROM images automatically, without any user input
-or intervention required. Configuration has already been performed in advance.
-
-If you were to build regular coreboot, without using libreboot's automated
-build system, it would require a lot more intervention and decent technical
-knowledge to produce a working configuration.
-
-Regular binary releases of `libreboot` provide these
-ROM images pre-compiled, and you can simply install them, with no special
-knowledge or skill except the ability to follow installation instructions
-and run commands BSD/Linux.
-
-Project goals
-=============
-
-- *Support as much hardware as possible!* Libreboot aims to eventually
- have *maintainers* for every board supported by coreboot, at every
- point in time.
-- *Make coreboot easy to use*. Coreboot is notoriously difficult
- to install, due to an overall lack of user-focused documentation
- and support. Most people will simply give up before attempting to
- install coreboot. Libreboot's automated build system and user-friendly
- installation instructions solves this problem.
-
-Libreboot attempts to bridge this divide by providing a build system
-automating much of the coreboot image creation and customization.
-Secondly, the project produces documentation aimed at non-technical users.
-Thirdly, the project attempts to provide excellent user support via IRC.
-
-Libreboot already comes with a payload (GRUB), flashprog and other
-needed parts. Everything is fully integrated, in a way where most of
-the complicated steps that are otherwise required, are instead done
-for the user in advance.
-
-You can download ROM images for your libreboot system and install
-them without having to build anything from source. If, however, you are
-interested in building your own image, the build system makes it relatively
-easy to do so.
-
-Not a coreboot fork!
---------------------
-
-Libreboot is *not a fork of coreboot*. Every so often, the project
-re-bases on the latest version of coreboot, with the number of custom
-patches in use minimized. Tested, *stable* (static) releases are then provided
-in Libreboot, based on specific coreboot revisions.
-
-How to help
-===========
+Documentation: [libreboot.org](https://libreboot.org)\
+Support: [\#libreboot](https://web.libera.chat/#libreboot) on
+ [Libera](https://libera.chat/) IRC
+
+Libreboot provides
+[libre](https://libreboot.org/freedom-status.html)
+boot firmware on
+[supported motherboards](https://libreboot.org/docs/install/#which-systems-are-supported-by-libreboot). It replaces proprietary vendor BIOS/UEFI implementations, by
+* Using coreboot to initialize the hardware (e.g. memory controller, CPU, etc.) while
+ minimizing unwanted functionality (e.g. backdoors such as the Intel Management Engine)
+* ... which runs a payload such as SeaBIOS, GRUB, or U-Boot
+* ... which loads your operating system's boot loader (BSD and Linux-based
+ [systems](systems) are supported).
+
+Why use Libreboot, and what is coreboot?
+----------------------------------------
+
+A lot of users who use libre operating systems still use proprietary boot
+firmware, which often contain backdoors and bugs, hampering
+[user freedom](https://writefreesoftware.org) and
+[right to repair](https://www.eff.org/issues/right-to-repair).
+
+[coreboot](https://coreboot.org) provides libre boot firmware by initializing
+the hardware then running a payload. However, coreboot is notoriously difficult
+to configure and install for most non-technical users, requiring detailed
+technical knowledge of hardware.
+
+Libreboot solves this by being **a coreboot distribution** (in the same way
+that Alpine Linux is a Linux distribution). It provides a fully automated build
+system that downloads and compiles pre-configured ROM images for supported
+motherboards, so end-users could easily fetch images to flash onto their
+devices.
+
+Libreboot also produces documentation aimed at non-technical users and
+excellent user support via IRC.
+
+Contribute
+----------
You can check bugs listed on
the [bug tracker](https://codeberg.org/libreboot/lbmk/issues).
-If you spot a bug and have a fix, the website has instructions for how to send
-patches, and you can also report it. Also, this entire website is
-written in Markdown and hosted in a [separate
-repository](https://codeberg.org/libreboot/lbwww) where you can send patches.
+You may use Codeberg pull requests to send patches with bug fixes or other
+improvements. This repository hosts the code for the main build system.
+The website lives in [a separate repository](https://codeberg.org/libreboot/lbwww).
-Any and all development discussion and user support are all done on the IRC
-channel. More information is on <https://libreboot.org/contact.html>.
+Development is also done on the IRC channel.
-LICENSE FOR THIS README
-=======================
+License for this README
+-----------------------
-It's just a README file. This README file is released under the terms of the
-Creative Commons Zero license, version 1.0 of the license, which you can
-read here:
+It's just a README file. It is released under
+[Creative Commons Zero, version 1.0](https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt).
-<https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt>
diff --git a/build b/build
deleted file mode 100755
index 2e04f59f..00000000
--- a/build
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/usr/bin/env sh
-# SPDX-License-Identifier: GPL-3.0-or-later
-# Copyright (c) 2020-2025 Leah Rowe <leah@libreboot.org>
-# Copyright (c) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
-
-set -u -e
-
-if [ "./${0##*/}" != "${0}" ] || [ ! -f "build" ] || [ -L "build" ]; then
- printf "You must run this in the proper work directory.\n" 1>&2
- exit 1
-fi
-
-. "include/lib.sh"
-. "include/vendor.sh"
-. "include/mrc.sh"
-
-eval "`setvars "" vdir src_dirname srcdir mode xp ser`"
-err="fail"
-
-main()
-{
- [ $# -lt 1 ] && $err "bad command"
- spath="script/$1"; shcmd="shift 1"
- [ "${1#-*}" != "$1" ] && spath="script/trees" && shcmd=":"
-
- for g in "command -v git" "git config --global user.name" \
- "git config --global user.email" "git_init"; do
- eval "$g 1>/dev/null 2>/dev/null || $err \"Unconfigured: $g\""
- done
-
- case "${spath#script/}" in
- version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;;
- release) shift 1; mkrelease "$@" ;;
- inject) shift 1; vendor_inject "$@" ;;
- download) shift 1; vendor_download "$@" ;;
- roms)
- [ $# -gt 1 ] && [ "$2" = "serprog" ] && \
- mk -b stm32-vserprog pico-serprog && return 0
- shift 1; x_ ./mk -b coreboot "$@" ;;
- *)
- [ -f "$spath" ] || $err "bad command"
- $shcmd; "$spath" "$@" || $err "excmd: $spath $(echo "$@")" ;;
- esac
- set -u -e # some commands disable them. turn them on!
-}
-
-git_init()
-{
- [ -L ".git" ] && return 1
- [ -e ".git" ] && return 0
- eval "`setvars "$(date -Rud @$versiondate)" cdate _nogit`"
-
- git init || return 1
- git add -A . || return 1
- git commit -m "$projectname $version" --date "$cdate" \
- --author="xbmk <xbmk@example.com>" || return 1
- git tag -a "$version" -m "$projectname $version" || return 1
-}
-
-mkrelease()
-{
- export XBMK_RELEASE="y"
-
- vdir="release"
- while getopts d:m: option; do
- [ -z "$OPTARG" ] && $err "empty argument not allowed"
- case "$option" in
- d) vdir="$OPTARG" ;;
- m) mode="$OPTARG" ;;
- *) $err "invalid option '-$option'" ;;
- esac
- done
-
- vdir="$vdir/$version"
- src_dirname="${relname}_src"
- srcdir="$vdir/$src_dirname"
-
- [ -e "$vdir" ] && $err "already exists: \"$vdir\""
- mkdir -p "$vdir" || $err "mkvdir: !mkdir -p \"$vdir\""
- git clone . "$srcdir" || $err "mkdir: !gitclone \"$srcdir\""
- touch "$srcdir/lock" || $err "can't make lock file in $srcdir/"
-
- build_release
-
- printf "\n\nDONE! Check release files under %s\n" "$vdir"
-}
-
-build_release()
-{
- (
- cd "$srcdir" || $err "$vdir: !cd \"$srcdir\""
- ./mk -f; x_ rm -Rf tmp; rmgit .
- x_ mv src/docs docs
- ) || $err "can't create release files"
-
- git log --graph --pretty=format:'%Cred%h%Creset %s %Creset' \
- --abbrev-commit > "$srcdir/CHANGELOG" || $err "!gitlog $srcdir"
- rm -f "$srcdir/lock" || $err "can't remove lock file in $srcdir"
-
- (
- cd "${srcdir%/*}" || $err "$vdir: mktarball \"$srcdir\""
- mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || $err "$vdir: mksrc"
- ) || $err "can't create src tarball"
- [ "$mode" = "src" ] && return 0
-
- touch "$srcdir/lock" || $err "can't make lock file in $srcdir/"
- (
- cd "$srcdir" || $err "$vdir: 2 !cd \"$srcdir\""
- mk -b coreboot pico-serprog stm32-vserprog pcsx-redux
- x_ mv bin ../roms
- ) || $err "can't build rom images"
-
- rm -Rf "$srcdir" || $err "!rm -Rf $srcdir"
-}
-
-fail()
-{
- tmp_cleanup || printf "WARNING: can't rm tmpfiles: %s\n" "$TMPDIR" 1>&2
- err_ "${1}"
-}
-
-tmp_cleanup()
-{
- [ "$xbmk_parent" = "y" ] || return 0
- [ "$TMPDIR" = "/tmp" ] || rm -Rf "$TMPDIR" || return 1
- rm -f lock || return 1
-}
-
-main "$@"
-tmp_cleanup || err_ "can't rm TMPDIR upon non-zero exit: $TMPDIR"
diff --git a/config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_corebootfb
deleted file mode 100644
index f6ce2076..00000000
--- a/config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_corebootfb
+++ /dev/null
@@ -1,816 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# coreboot configuration
-#
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_CBFS_PREFIX="fallback"
-CONFIG_COMPILER_GCC=y
-# CONFIG_COMPILER_LLVM_CLANG is not set
-# CONFIG_ANY_TOOLCHAIN is not set
-# CONFIG_CCACHE is not set
-# CONFIG_LTO is not set
-# CONFIG_IWYU is not set
-# CONFIG_FMD_GENPARSER is not set
-# CONFIG_UTIL_GENPARSER is not set
-CONFIG_OPTION_BACKEND_NONE=y
-# CONFIG_USE_OPTION_TABLE is not set
-CONFIG_COMPRESS_RAMSTAGE_LZMA=y
-# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
-CONFIG_SEPARATE_ROMSTAGE=y
-CONFIG_INCLUDE_CONFIG_FILE=y
-CONFIG_COLLECT_TIMESTAMPS=y
-# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
-CONFIG_USE_BLOBS=y
-# CONFIG_USE_AMD_BLOBS is not set
-# CONFIG_USE_QC_BLOBS is not set
-# CONFIG_COVERAGE is not set
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
-# CONFIG_ASAN is not set
-# CONFIG_NO_STAGE_CACHE is not set
-CONFIG_TSEG_STAGE_CACHE=y
-# CONFIG_UPDATE_IMAGE is not set
-# CONFIG_BOOTSPLASH_IMAGE is not set
-
-#
-# Software Bill Of Materials (SBOM)
-#
-# CONFIG_SBOM is not set
-# end of Software Bill Of Materials (SBOM)
-# end of General setup
-
-#
-# Mainboard
-#
-
-#
-# Important: Run 'make distclean' before switching boards
-#
-# CONFIG_VENDOR_51NB is not set
-# CONFIG_VENDOR_ACER is not set
-# CONFIG_VENDOR_AMD is not set
-# CONFIG_VENDOR_AOOSTAR is not set
-# CONFIG_VENDOR_AOPEN is not set
-# CONFIG_VENDOR_APPLE is not set
-# CONFIG_VENDOR_ARM is not set
-# CONFIG_VENDOR_ASROCK is not set
-# CONFIG_VENDOR_ASUS is not set
-# CONFIG_VENDOR_BIOSTAR is not set
-# CONFIG_VENDOR_BOSTENTECH is not set
-# CONFIG_VENDOR_BYTEDANCE is not set
-# CONFIG_VENDOR_CAVIUM is not set
-# CONFIG_VENDOR_CLEVO is not set
-# CONFIG_VENDOR_COMPULAB is not set
-# CONFIG_VENDOR_CWWK is not set
-CONFIG_VENDOR_DELL=y
-# CONFIG_VENDOR_EMULATION is not set
-# CONFIG_VENDOR_ERYING is not set
-# CONFIG_VENDOR_EXAMPLE is not set
-# CONFIG_VENDOR_FACEBOOK is not set
-# CONFIG_VENDOR_FOXCONN is not set
-# CONFIG_VENDOR_FRAMEWORK is not set
-# CONFIG_VENDOR_GETAC is not set
-# CONFIG_VENDOR_GIGABYTE is not set
-# CONFIG_VENDOR_GOOGLE is not set
-# CONFIG_VENDOR_HARDKERNEL is not set
-# CONFIG_VENDOR_HP is not set
-# CONFIG_VENDOR_IBASE is not set
-# CONFIG_VENDOR_IBM is not set
-# CONFIG_VENDOR_INTEL is not set
-# CONFIG_VENDOR_INVENTEC is not set
-# CONFIG_VENDOR_KONTRON is not set
-# CONFIG_VENDOR_LATTEPANDA is not set
-# CONFIG_VENDOR_LENOVO is not set
-# CONFIG_VENDOR_LIBRETREND is not set
-# CONFIG_VENDOR_MITAC_COMPUTING is not set
-# CONFIG_VENDOR_MSI is not set
-# CONFIG_VENDOR_OCP is not set
-# CONFIG_VENDOR_OPENCELLULAR is not set
-# CONFIG_VENDOR_PACKARDBELL is not set
-# CONFIG_VENDOR_PCENGINES is not set
-# CONFIG_VENDOR_PINE64 is not set
-# CONFIG_VENDOR_PORTWELL is not set
-# CONFIG_VENDOR_PRODRIVE is not set
-# CONFIG_VENDOR_PROTECTLI is not set
-# CONFIG_VENDOR_PURISM is not set
-# CONFIG_VENDOR_RAPTOR_CS is not set
-# CONFIG_VENDOR_RAZER is not set
-# CONFIG_VENDOR_RODA is not set
-# CONFIG_VENDOR_SAMSUNG is not set
-# CONFIG_VENDOR_SAPPHIRE is not set
-# CONFIG_VENDOR_SIEMENS is not set
-# CONFIG_VENDOR_SIFIVE is not set
-# CONFIG_VENDOR_STARLABS is not set
-# CONFIG_VENDOR_SUPERMICRO is not set
-# CONFIG_VENDOR_SYSTEM76 is not set
-# CONFIG_VENDOR_TI is not set
-# CONFIG_VENDOR_TOPTON is not set
-# CONFIG_VENDOR_UP is not set
-# CONFIG_VENDOR_VIA is not set
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-CONFIG_MAINBOARD_PART_NUMBER="OptiPlex 3050 Micro"
-CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="dell/optiplex_3050"
-CONFIG_VGA_BIOS_ID="8086,0406"
-CONFIG_DIMM_MAX=4
-CONFIG_DIMM_SPD_SIZE=512
-CONFIG_FMDFILE=""
-# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="Dell Inc."
-CONFIG_CBFS_SIZE=0xEEE000
-CONFIG_CONSOLE_SERIAL=y
-CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=2160
-CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=3840
-CONFIG_MAX_CPUS=16
-# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
-CONFIG_POST_DEVICE=y
-CONFIG_POST_IO=y
-CONFIG_UART_FOR_CONSOLE=0
-CONFIG_OVERRIDE_DEVICETREE=""
-CONFIG_DEVICETREE="devicetree.cb"
-# CONFIG_VBOOT is not set
-# CONFIG_VGA_BIOS is not set
-CONFIG_PCIEXP_ASPM=y
-CONFIG_PCIEXP_L1_SUB_STATE=y
-CONFIG_PCIEXP_CLK_PM=y
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Dell Inc."
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=256
-CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
-# CONFIG_FATAL_ASSERTS is not set
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
-# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
-CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="OptiPlex 3050 Micro"
-# CONFIG_CONSOLE_POST is not set
-CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
-CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
-CONFIG_MAX_SOCKET=1
-CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_USE_PM_ACPI_TIMER=y
-# CONFIG_BOARD_DELL_E6400 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E7240 is not set
-CONFIG_BOARD_DELL_OPTIPLEX_3050=y
-# CONFIG_BOARD_DELL_OPTIPLEX_780_MT is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_780_USFF is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_9020_SFF is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_9020_MT is not set
-# CONFIG_BOARD_DELL_LATITUDE_E5420 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E5520 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6220 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6320 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6420 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6520 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E5530 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6230 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6330 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6430 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6530 is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_9010 is not set
-# CONFIG_BOARD_DELL_PRECISION_T1650 is not set
-# CONFIG_BOARD_DELL_XPS_8300 is not set
-CONFIG_DCACHE_RAM_BASE=0xfef00000
-CONFIG_DCACHE_RAM_SIZE=0x40000
-CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
-CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
-CONFIG_HAVE_INTEL_FIRMWARE=y
-CONFIG_USE_LEGACY_8254_TIMER=y
-CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_DRIVERS_INTEL_WIFI=y
-CONFIG_IFD_BIN_PATH="../../../config/ifd/3050micro/ifd"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/3050micro/me.bin"
-CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
-CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
-CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
-# CONFIG_DEBUG_SMI is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
-CONFIG_HAVE_IFD_BIN=y
-CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="PNP0F13"
-CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
-CONFIG_TTYS0_BAUD=115200
-# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
-CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
-CONFIG_D3COLD_SUPPORT=y
-CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
-CONFIG_DRIVERS_UART_8250IO=y
-CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
-CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x50
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-CONFIG_BOARD_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
-CONFIG_COREBOOT_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
-CONFIG_COREBOOT_ROMSIZE_KB=16384
-CONFIG_ROM_SIZE=0x01000000
-CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
-CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
-CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
-# end of Mainboard
-
-#
-# Chipset
-#
-
-#
-# SoC
-#
-CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
-CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
-CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
-CONFIG_CBFS_MCACHE_SIZE=0x4000
-CONFIG_ROMSTAGE_ADDR=0x2000000
-CONFIG_VERSTAGE_ADDR=0x2000000
-CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x200000
-CONFIG_SMM_MODULE_STACK_SIZE=0x800
-CONFIG_ACPI_BERT_SIZE=0x0
-CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xe0000000
-CONFIG_ACPI_CPU_STRING="CP%02X"
-CONFIG_STACK_SIZE=0x2000
-CONFIG_IFD_CHIPSET="sklkbl"
-CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_MAX_ROOT_PORTS=24
-CONFIG_PCR_BASE_ADDRESS=0xfd000000
-CONFIG_CPU_BCLK_MHZ=100
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
-CONFIG_CPU_XTAL_HZ=24000000
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
-CONFIG_SOC_INTEL_I2C_DEV_MAX=6
-# CONFIG_ENABLE_SATA_TEST_MODE is not set
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
-CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
-CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
-CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
-CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
-CONFIG_INTEL_GMA_BCLV_WIDTH=16
-CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
-CONFIG_INTEL_GMA_BCLM_WIDTH=16
-CONFIG_FSP_PUBLISH_MBP_HOB=y
-CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
-CONFIG_MAX_HECI_DEVICES=5
-CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_HAVE_PAM0_REGISTER=y
-CONFIG_PCIEXP_COMMON_CLOCK=y
-CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
-CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
-CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
-CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
-CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
-CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
-CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
-CONFIG_SOC_INTEL_KABYLAKE=y
-CONFIG_SKYLAKE_SOC_PCH_H=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_CPU=y
-CONFIG_MAINBOARD_SUPPORTS_COFFEELAKE_CPU=y
-CONFIG_FSP_T_LOCATION=0xfffe0000
-CONFIG_SOC_INTEL_COMMON_BLOCK_P2SB=y
-CONFIG_FIXED_SMBUS_IO_BASE=0xefa0
-CONFIG_CBFS_CACHE_ALIGN=8
-CONFIG_SOC_INTEL_COMMON=y
-
-#
-# Intel SoC Common Code for IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BLOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_LPIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_PEP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
-CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
-# CONFIG_USE_COREBOOT_MP_INIT is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
-CONFIG_INTEL_CAR_NEM_ENHANCED=y
-# CONFIG_USE_INTEL_FSP_MP_INIT is not set
-CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
-CONFIG_HAVE_HYPERTHREADING=y
-# CONFIG_FSP_HYPERTHREADING is not set
-# CONFIG_INTEL_KEYLOCKER is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
-CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
-CONFIG_SOC_INTEL_CSE_RW_A_FMAP_NAME="ME_RW_A"
-CONFIG_SOC_INTEL_CSE_RW_B_FMAP_NAME="ME_RW_B"
-CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME="me_rw"
-CONFIG_SOC_INTEL_CSE_RW_HASH_CBFS_NAME="me_rw.hash"
-CONFIG_SOC_INTEL_CSE_RW_VERSION_CBFS_NAME="me_rw.version"
-CONFIG_SOC_INTEL_CSE_RW_FILE=""
-CONFIG_SOC_INTEL_CSE_RW_VERSION=""
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_NAME="cse_iom"
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
-CONFIG_CSE_RESET_CLEAR_EC_AP_IDLE_FLAG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
-CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
-CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
-# CONFIG_SOC_INTEL_DISABLE_IGD is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
-CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
-CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
-CONFIG_SA_ENABLE_DPR=y
-CONFIG_HAVE_CAPID_A_REGISTER=y
-CONFIG_HAVE_BDSM_BGSM_REGISTER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
-
-#
-# Intel SoC Common PCH Code
-#
-CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
-CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
-CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
-CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
-
-#
-# Intel SoC Common coreboot stages and non-IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BASECODE=y
-CONFIG_SOC_INTEL_COMMON_RESET=y
-CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
-CONFIG_PAVP=y
-# CONFIG_MMA is not set
-CONFIG_SOC_INTEL_COMMON_NHLT=y
-# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
-
-#
-# CPU
-#
-CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
-CONFIG_CPU_INTEL_COMMON=y
-CONFIG_ENABLE_VMX=y
-CONFIG_SET_IA32_FC_LOCK_BIT=y
-CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_PARALLEL_MP=y
-CONFIG_PARALLEL_MP_AP_WORK=y
-CONFIG_XAPIC_ONLY=y
-# CONFIG_X2APIC_ONLY is not set
-# CONFIG_X2APIC_RUNTIME is not set
-# CONFIG_X2APIC_LATE_WORKAROUND is not set
-CONFIG_UDELAY_TSC=y
-CONFIG_TSC_MONOTONIC_TIMER=y
-CONFIG_TSC_SYNC_MFENCE=y
-CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_SMM_TSEG=y
-CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
-CONFIG_AP_STACK_SIZE=0x800
-CONFIG_SMP=y
-CONFIG_SSE=y
-CONFIG_SSE2=y
-CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
-CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
-CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
-# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
-
-#
-# Northbridge
-#
-
-#
-# Southbridge
-#
-# CONFIG_PCIEXP_HOTPLUG is not set
-CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
-# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
-CONFIG_RCBA_LENGTH=0x4000
-
-#
-# Super I/O
-#
-CONFIG_SUPERIO_SMSC_SCH555x=y
-
-#
-# Embedded Controllers
-#
-
-#
-# Intel Firmware
-#
-CONFIG_HAVE_ME_BIN=y
-# CONFIG_STITCH_ME_BIN is not set
-# CONFIG_CHECK_ME is not set
-# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
-# CONFIG_USE_ME_CLEANER is not set
-# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
-# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
-CONFIG_UNLOCK_FLASH_REGIONS=y
-CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
-CONFIG_UDK_BASE=y
-CONFIG_UDK_2017_BINDING=y
-CONFIG_UDK_2013_VERSION=2013
-CONFIG_UDK_2017_VERSION=2017
-CONFIG_UDK_202005_VERSION=202005
-CONFIG_UDK_202111_VERSION=202111
-CONFIG_UDK_202302_VERSION=202302
-CONFIG_UDK_202305_VERSION=202305
-CONFIG_UDK_VERSION=2017
-CONFIG_ARCH_X86=y
-CONFIG_ARCH_BOOTBLOCK_X86_32=y
-CONFIG_ARCH_VERSTAGE_X86_32=y
-CONFIG_ARCH_ROMSTAGE_X86_32=y
-CONFIG_ARCH_POSTCAR_X86_32=y
-CONFIG_ARCH_RAMSTAGE_X86_32=y
-CONFIG_ARCH_ALL_STAGES_X86_32=y
-CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
-CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
-CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
-CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
-CONFIG_PC80_SYSTEM=y
-CONFIG_HAVE_CMOS_DEFAULT=y
-CONFIG_POSTCAR_STAGE=y
-CONFIG_BOOTBLOCK_SIMPLE=y
-# CONFIG_BOOTBLOCK_NORMAL is not set
-CONFIG_COLLECT_TIMESTAMPS_TSC=y
-CONFIG_HAVE_CF9_RESET=y
-CONFIG_DEBUG_HW_BREAKPOINTS=y
-CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
-# CONFIG_DUMP_SMBIOS_TYPE17 is not set
-CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
-CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
-CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
-CONFIG_DEFAULT_EBDA_SIZE=0x400
-# end of Chipset
-
-#
-# Devices
-#
-CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
-CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
-CONFIG_HAVE_FSP_GOP=y
-CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
-CONFIG_MAINBOARD_USE_LIBGFXINIT=y
-# CONFIG_VGA_ROM_RUN is not set
-# CONFIG_RUN_FSP_GOP is not set
-# CONFIG_NO_GFX_INIT is not set
-CONFIG_NO_EARLY_GFX_INIT=y
-
-#
-# Display
-#
-# CONFIG_VGA_TEXT_FRAMEBUFFER is not set
-CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
-CONFIG_LINEAR_FRAMEBUFFER=y
-# CONFIG_BOOTSPLASH is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_NONE=y
-# CONFIG_DEFAULT_SCREEN_ROTATION_90 is not set
-# CONFIG_DEFAULT_SCREEN_ROTATION_180 is not set
-# CONFIG_DEFAULT_SCREEN_ROTATION_270 is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
-# end of Display
-
-CONFIG_PCI=y
-CONFIG_ECAM_MMCONF_SUPPORT=y
-CONFIG_PCIX_PLUGIN_SUPPORT=y
-CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
-CONFIG_PCIEXP_PLUGIN_SUPPORT=y
-CONFIG_ECAM_MMCONF_LENGTH=0x10000000
-CONFIG_PCI_ALLOW_BUS_MASTER=y
-CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
-CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
-# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
-# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
-# CONFIG_EARLY_PCI_BRIDGE is not set
-CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
-CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
-# CONFIG_SOFTWARE_I2C is not set
-CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
-# end of Devices
-
-#
-# Generic Drivers
-#
-CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
-# CONFIG_ELOG is not set
-CONFIG_CACHE_MRC_SETTINGS=y
-CONFIG_MRC_SETTINGS_PROTECT=y
-# CONFIG_DRIVERS_OPTION_CFR is not set
-# CONFIG_SMMSTORE is not set
-CONFIG_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
-# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_DRIVERS_UART=y
-# CONFIG_DRIVERS_UART_OXPCIE is not set
-# CONFIG_VPD is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVERS_I2C_DESIGNWARE=y
-# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_FSP_USE_REPO=y
-# CONFIG_DISPLAY_HOBS is not set
-# CONFIG_DISPLAY_UPD_DATA is not set
-# CONFIG_BMP_LOGO is not set
-CONFIG_PLATFORM_USES_FSP2_0=y
-CONFIG_PLATFORM_USES_FSP2_X86_32=y
-CONFIG_HAVE_INTEL_FSP_REPO=y
-CONFIG_ADD_FSP_BINARIES=y
-CONFIG_FSP_S_CBFS="fsps.bin"
-CONFIG_FSP_M_CBFS="fspm.bin"
-CONFIG_FSP_FULL_FD=y
-CONFIG_FSP_T_RESERVED_SIZE=0x0
-CONFIG_FSP_M_XIP=y
-CONFIG_HAVE_FSP_LOGO_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
-CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
-CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
-CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
-# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
-# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
-CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
-CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Skylake"
-CONFIG_GFX_GMA_PCH="Sunrise_Point"
-CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
-CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
-# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
-# CONFIG_DRIVERS_PS2_KEYBOARD is not set
-CONFIG_DRIVERS_MC146818=y
-CONFIG_USE_PC_CMOS_ALTCENTURY=y
-CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-# CONFIG_DRIVERS_SIL_3114 is not set
-CONFIG_DRIVERS_USB_ACPI=y
-CONFIG_DRIVERS_WIFI_GENERIC=y
-CONFIG_DRIVERS_MTK_WIFI=y
-# end of Generic Drivers
-
-#
-# Security
-#
-
-#
-# CBFS verification
-#
-# CONFIG_CBFS_VERIFICATION is not set
-# end of CBFS verification
-
-#
-# Verified Boot (vboot)
-#
-# end of Verified Boot (vboot)
-
-#
-# Trusted Platform Module
-#
-CONFIG_NO_TPM=y
-CONFIG_PCR_BOOT_MODE=1
-CONFIG_PCR_HWID=1
-CONFIG_PCR_SRTM=2
-CONFIG_PCR_FW_VER=10
-CONFIG_PCR_RUNTIME_DATA=3
-# end of Trusted Platform Module
-
-#
-# Memory initialization
-#
-CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
-# end of Memory initialization
-
-# CONFIG_STM is not set
-# CONFIG_INTEL_CBNT_SUPPORT is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
-# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
-# CONFIG_BOOTMEDIA_SMM_BWP is not set
-# end of Security
-
-CONFIG_ACPI_HAVE_PCAT_8259=y
-CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
-CONFIG_ACPI_SOC_NVS=y
-CONFIG_ACPI_CUSTOM_MADT=y
-CONFIG_ACPI_NO_CUSTOM_MADT=y
-CONFIG_ACPI_COMMON_MADT_LAPIC=y
-CONFIG_ACPI_COMMON_MADT_IOAPIC=y
-CONFIG_HAVE_ACPI_TABLES=y
-CONFIG_ACPI_LPIT=y
-CONFIG_BOOT_DEVICE_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
-CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
-CONFIG_RTC=y
-
-#
-# Console
-#
-CONFIG_BOOTBLOCK_CONSOLE=y
-CONFIG_POSTCAR_CONSOLE=y
-CONFIG_SQUELCH_EARLY_SMP=y
-
-#
-# I/O mapped, 8250-compatible
-#
-CONFIG_TTYS0_BASE=0x3f8
-
-#
-# Serial port base address = 0x3f8
-#
-# CONFIG_CONSOLE_SERIAL_921600 is not set
-# CONFIG_CONSOLE_SERIAL_460800 is not set
-# CONFIG_CONSOLE_SERIAL_230400 is not set
-CONFIG_CONSOLE_SERIAL_115200=y
-# CONFIG_CONSOLE_SERIAL_57600 is not set
-# CONFIG_CONSOLE_SERIAL_38400 is not set
-# CONFIG_CONSOLE_SERIAL_19200 is not set
-# CONFIG_CONSOLE_SERIAL_9600 is not set
-CONFIG_TTYS0_LCS=3
-# CONFIG_SPKMODEM is not set
-# CONFIG_CONSOLE_NE2K is not set
-CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_SPI_FLASH is not set
-# CONFIG_CONSOLE_I2C_SMBUS is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
-CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
-CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
-# CONFIG_CMOS_POST is not set
-CONFIG_POST_DEVICE_NONE=y
-# CONFIG_POST_DEVICE_LPC is not set
-# CONFIG_POST_DEVICE_PCI_PCIE is not set
-CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_CB=y
-# end of Console
-
-CONFIG_ACPI_S1_NOT_SUPPORTED=y
-CONFIG_HAVE_ACPI_RESUME=y
-CONFIG_RESUME_PATH_SAME_AS_BOOT=y
-CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_HAVE_OPTION_TABLE=y
-CONFIG_IOAPIC=y
-CONFIG_ACPI_NHLT=y
-
-#
-# System tables
-#
-CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_BIOS_VENDOR="coreboot"
-CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
-# end of System tables
-
-#
-# Payload
-#
-CONFIG_PAYLOAD_NONE=y
-# end of Payload
-
-#
-# Debugging
-#
-
-#
-# CPU Debug Settings
-#
-# CONFIG_DISPLAY_MTRRS is not set
-
-#
-# Vendorcode Debug Settings
-#
-
-#
-# BLOB Debug Settings
-#
-# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
-# CONFIG_DISPLAY_FSP_HEADER is not set
-# CONFIG_VERIFY_HOBS is not set
-# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
-CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
-# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
-
-#
-# General Debug Settings
-#
-# CONFIG_GDB_STUB is not set
-CONFIG_HAVE_DEBUG_GPIO=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_SMBUS=y
-# CONFIG_DEBUG_SMBUS is not set
-# CONFIG_DEBUG_MALLOC is not set
-# CONFIG_DEBUG_CONSOLE_INIT is not set
-# CONFIG_DEBUG_SPI_FLASH is not set
-# CONFIG_DEBUG_BOOT_STATE is not set
-# CONFIG_DEBUG_ADA_CODE is not set
-CONFIG_HAVE_EM100_SUPPORT=y
-# CONFIG_EM100 is not set
-# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
-# end of Debugging
-
-CONFIG_RAMSTAGE_ADA=y
-CONFIG_RAMSTAGE_LIBHWBASE=y
-CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
-CONFIG_HWBASE_DIRECT_PCIDEV=y
-CONFIG_DECOMPRESS_OFAST=y
-CONFIG_WARNINGS_ARE_ERRORS=y
-CONFIG_MAX_REBOOT_CNT=3
-CONFIG_RELOCATABLE_MODULES=y
-CONFIG_GENERIC_GPIO_LIB=y
-CONFIG_HAVE_BOOTBLOCK=y
-CONFIG_HAVE_ROMSTAGE=y
-CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_txtmode b/config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_txtmode
deleted file mode 100644
index 593237f1..00000000
--- a/config/coreboot/dell3050micro_fsp_16mb/config/libgfxinit_txtmode
+++ /dev/null
@@ -1,809 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# coreboot configuration
-#
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_CBFS_PREFIX="fallback"
-CONFIG_COMPILER_GCC=y
-# CONFIG_COMPILER_LLVM_CLANG is not set
-# CONFIG_ANY_TOOLCHAIN is not set
-# CONFIG_CCACHE is not set
-# CONFIG_LTO is not set
-# CONFIG_IWYU is not set
-# CONFIG_FMD_GENPARSER is not set
-# CONFIG_UTIL_GENPARSER is not set
-CONFIG_OPTION_BACKEND_NONE=y
-# CONFIG_USE_OPTION_TABLE is not set
-CONFIG_COMPRESS_RAMSTAGE_LZMA=y
-# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
-CONFIG_SEPARATE_ROMSTAGE=y
-CONFIG_INCLUDE_CONFIG_FILE=y
-CONFIG_COLLECT_TIMESTAMPS=y
-# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
-CONFIG_USE_BLOBS=y
-# CONFIG_USE_AMD_BLOBS is not set
-# CONFIG_USE_QC_BLOBS is not set
-# CONFIG_COVERAGE is not set
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
-# CONFIG_ASAN is not set
-# CONFIG_NO_STAGE_CACHE is not set
-CONFIG_TSEG_STAGE_CACHE=y
-# CONFIG_UPDATE_IMAGE is not set
-# CONFIG_BOOTSPLASH_IMAGE is not set
-
-#
-# Software Bill Of Materials (SBOM)
-#
-# CONFIG_SBOM is not set
-# end of Software Bill Of Materials (SBOM)
-# end of General setup
-
-#
-# Mainboard
-#
-
-#
-# Important: Run 'make distclean' before switching boards
-#
-# CONFIG_VENDOR_51NB is not set
-# CONFIG_VENDOR_ACER is not set
-# CONFIG_VENDOR_AMD is not set
-# CONFIG_VENDOR_AOOSTAR is not set
-# CONFIG_VENDOR_AOPEN is not set
-# CONFIG_VENDOR_APPLE is not set
-# CONFIG_VENDOR_ARM is not set
-# CONFIG_VENDOR_ASROCK is not set
-# CONFIG_VENDOR_ASUS is not set
-# CONFIG_VENDOR_BIOSTAR is not set
-# CONFIG_VENDOR_BOSTENTECH is not set
-# CONFIG_VENDOR_BYTEDANCE is not set
-# CONFIG_VENDOR_CAVIUM is not set
-# CONFIG_VENDOR_CLEVO is not set
-# CONFIG_VENDOR_COMPULAB is not set
-# CONFIG_VENDOR_CWWK is not set
-CONFIG_VENDOR_DELL=y
-# CONFIG_VENDOR_EMULATION is not set
-# CONFIG_VENDOR_ERYING is not set
-# CONFIG_VENDOR_EXAMPLE is not set
-# CONFIG_VENDOR_FACEBOOK is not set
-# CONFIG_VENDOR_FOXCONN is not set
-# CONFIG_VENDOR_FRAMEWORK is not set
-# CONFIG_VENDOR_GETAC is not set
-# CONFIG_VENDOR_GIGABYTE is not set
-# CONFIG_VENDOR_GOOGLE is not set
-# CONFIG_VENDOR_HARDKERNEL is not set
-# CONFIG_VENDOR_HP is not set
-# CONFIG_VENDOR_IBASE is not set
-# CONFIG_VENDOR_IBM is not set
-# CONFIG_VENDOR_INTEL is not set
-# CONFIG_VENDOR_INVENTEC is not set
-# CONFIG_VENDOR_KONTRON is not set
-# CONFIG_VENDOR_LATTEPANDA is not set
-# CONFIG_VENDOR_LENOVO is not set
-# CONFIG_VENDOR_LIBRETREND is not set
-# CONFIG_VENDOR_MITAC_COMPUTING is not set
-# CONFIG_VENDOR_MSI is not set
-# CONFIG_VENDOR_OCP is not set
-# CONFIG_VENDOR_OPENCELLULAR is not set
-# CONFIG_VENDOR_PACKARDBELL is not set
-# CONFIG_VENDOR_PCENGINES is not set
-# CONFIG_VENDOR_PINE64 is not set
-# CONFIG_VENDOR_PORTWELL is not set
-# CONFIG_VENDOR_PRODRIVE is not set
-# CONFIG_VENDOR_PROTECTLI is not set
-# CONFIG_VENDOR_PURISM is not set
-# CONFIG_VENDOR_RAPTOR_CS is not set
-# CONFIG_VENDOR_RAZER is not set
-# CONFIG_VENDOR_RODA is not set
-# CONFIG_VENDOR_SAMSUNG is not set
-# CONFIG_VENDOR_SAPPHIRE is not set
-# CONFIG_VENDOR_SIEMENS is not set
-# CONFIG_VENDOR_SIFIVE is not set
-# CONFIG_VENDOR_STARLABS is not set
-# CONFIG_VENDOR_SUPERMICRO is not set
-# CONFIG_VENDOR_SYSTEM76 is not set
-# CONFIG_VENDOR_TI is not set
-# CONFIG_VENDOR_TOPTON is not set
-# CONFIG_VENDOR_UP is not set
-# CONFIG_VENDOR_VIA is not set
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-CONFIG_MAINBOARD_PART_NUMBER="OptiPlex 3050 Micro"
-CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="dell/optiplex_3050"
-CONFIG_VGA_BIOS_ID="8086,0406"
-CONFIG_DIMM_MAX=4
-CONFIG_DIMM_SPD_SIZE=512
-CONFIG_FMDFILE=""
-# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="Dell Inc."
-CONFIG_CBFS_SIZE=0xEEE000
-CONFIG_CONSOLE_SERIAL=y
-CONFIG_MAX_CPUS=16
-# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
-CONFIG_POST_DEVICE=y
-CONFIG_POST_IO=y
-CONFIG_UART_FOR_CONSOLE=0
-CONFIG_OVERRIDE_DEVICETREE=""
-CONFIG_DEVICETREE="devicetree.cb"
-# CONFIG_VBOOT is not set
-# CONFIG_VGA_BIOS is not set
-CONFIG_PCIEXP_ASPM=y
-CONFIG_PCIEXP_L1_SUB_STATE=y
-CONFIG_PCIEXP_CLK_PM=y
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Dell Inc."
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=256
-CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
-# CONFIG_FATAL_ASSERTS is not set
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
-# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
-CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="OptiPlex 3050 Micro"
-# CONFIG_CONSOLE_POST is not set
-CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
-CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
-CONFIG_MAX_SOCKET=1
-CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_USE_PM_ACPI_TIMER=y
-# CONFIG_BOARD_DELL_E6400 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E7240 is not set
-CONFIG_BOARD_DELL_OPTIPLEX_3050=y
-# CONFIG_BOARD_DELL_OPTIPLEX_780_MT is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_780_USFF is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_9020_SFF is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_9020_MT is not set
-# CONFIG_BOARD_DELL_LATITUDE_E5420 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E5520 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6220 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6320 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6420 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6520 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E5530 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6230 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6330 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6430 is not set
-# CONFIG_BOARD_DELL_LATITUDE_E6530 is not set
-# CONFIG_BOARD_DELL_OPTIPLEX_9010 is not set
-# CONFIG_BOARD_DELL_PRECISION_T1650 is not set
-# CONFIG_BOARD_DELL_XPS_8300 is not set
-CONFIG_DCACHE_RAM_BASE=0xfef00000
-CONFIG_DCACHE_RAM_SIZE=0x40000
-CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
-CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
-CONFIG_HAVE_INTEL_FIRMWARE=y
-CONFIG_USE_LEGACY_8254_TIMER=y
-CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_DRIVERS_INTEL_WIFI=y
-CONFIG_IFD_BIN_PATH="../../../config/ifd/3050micro/ifd"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/3050micro/me.bin"
-CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
-CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
-CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
-# CONFIG_DEBUG_SMI is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
-CONFIG_HAVE_IFD_BIN=y
-CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="PNP0F13"
-CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
-CONFIG_TTYS0_BAUD=115200
-# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
-CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
-CONFIG_D3COLD_SUPPORT=y
-CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
-CONFIG_DRIVERS_UART_8250IO=y
-CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
-CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x50
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-CONFIG_BOARD_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
-CONFIG_COREBOOT_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
-CONFIG_COREBOOT_ROMSIZE_KB=16384
-CONFIG_ROM_SIZE=0x01000000
-CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
-CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
-CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
-# end of Mainboard
-
-#
-# Chipset
-#
-
-#
-# SoC
-#
-CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
-CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
-CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
-CONFIG_CBFS_MCACHE_SIZE=0x4000
-CONFIG_ROMSTAGE_ADDR=0x2000000
-CONFIG_VERSTAGE_ADDR=0x2000000
-CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x200000
-CONFIG_SMM_MODULE_STACK_SIZE=0x800
-CONFIG_ACPI_BERT_SIZE=0x0
-CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xe0000000
-CONFIG_ACPI_CPU_STRING="CP%02X"
-CONFIG_STACK_SIZE=0x2000
-CONFIG_IFD_CHIPSET="sklkbl"
-CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_MAX_ROOT_PORTS=24
-CONFIG_PCR_BASE_ADDRESS=0xfd000000
-CONFIG_CPU_BCLK_MHZ=100
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
-CONFIG_CPU_XTAL_HZ=24000000
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
-CONFIG_SOC_INTEL_I2C_DEV_MAX=6
-# CONFIG_ENABLE_SATA_TEST_MODE is not set
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
-CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
-CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
-CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
-CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
-CONFIG_INTEL_GMA_BCLV_WIDTH=16
-CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
-CONFIG_INTEL_GMA_BCLM_WIDTH=16
-CONFIG_FSP_PUBLISH_MBP_HOB=y
-CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
-CONFIG_MAX_HECI_DEVICES=5
-CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_HAVE_PAM0_REGISTER=y
-CONFIG_PCIEXP_COMMON_CLOCK=y
-CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
-CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
-CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
-CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
-CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
-CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
-CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
-CONFIG_SOC_INTEL_KABYLAKE=y
-CONFIG_SKYLAKE_SOC_PCH_H=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_CPU=y
-CONFIG_MAINBOARD_SUPPORTS_COFFEELAKE_CPU=y
-CONFIG_FSP_T_LOCATION=0xfffe0000
-CONFIG_SOC_INTEL_COMMON_BLOCK_P2SB=y
-CONFIG_FIXED_SMBUS_IO_BASE=0xefa0
-CONFIG_CBFS_CACHE_ALIGN=8
-CONFIG_SOC_INTEL_COMMON=y
-
-#
-# Intel SoC Common Code for IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BLOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_LPIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_PEP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
-CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
-# CONFIG_USE_COREBOOT_MP_INIT is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
-CONFIG_INTEL_CAR_NEM_ENHANCED=y
-# CONFIG_USE_INTEL_FSP_MP_INIT is not set
-CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
-CONFIG_HAVE_HYPERTHREADING=y
-# CONFIG_FSP_HYPERTHREADING is not set
-# CONFIG_INTEL_KEYLOCKER is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
-CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
-CONFIG_SOC_INTEL_CSE_RW_A_FMAP_NAME="ME_RW_A"
-CONFIG_SOC_INTEL_CSE_RW_B_FMAP_NAME="ME_RW_B"
-CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME="me_rw"
-CONFIG_SOC_INTEL_CSE_RW_HASH_CBFS_NAME="me_rw.hash"
-CONFIG_SOC_INTEL_CSE_RW_VERSION_CBFS_NAME="me_rw.version"
-CONFIG_SOC_INTEL_CSE_RW_FILE=""
-CONFIG_SOC_INTEL_CSE_RW_VERSION=""
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_NAME="cse_iom"
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
-CONFIG_CSE_RESET_CLEAR_EC_AP_IDLE_FLAG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
-CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
-CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
-# CONFIG_SOC_INTEL_DISABLE_IGD is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
-CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
-CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
-CONFIG_SA_ENABLE_DPR=y
-CONFIG_HAVE_CAPID_A_REGISTER=y
-CONFIG_HAVE_BDSM_BGSM_REGISTER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
-
-#
-# Intel SoC Common PCH Code
-#
-CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
-CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
-CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
-CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
-
-#
-# Intel SoC Common coreboot stages and non-IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BASECODE=y
-CONFIG_SOC_INTEL_COMMON_RESET=y
-CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
-CONFIG_PAVP=y
-# CONFIG_MMA is not set
-CONFIG_SOC_INTEL_COMMON_NHLT=y
-# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
-
-#
-# CPU
-#
-CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
-CONFIG_CPU_INTEL_COMMON=y
-CONFIG_ENABLE_VMX=y
-CONFIG_SET_IA32_FC_LOCK_BIT=y
-CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_PARALLEL_MP=y
-CONFIG_PARALLEL_MP_AP_WORK=y
-CONFIG_XAPIC_ONLY=y
-# CONFIG_X2APIC_ONLY is not set
-# CONFIG_X2APIC_RUNTIME is not set
-# CONFIG_X2APIC_LATE_WORKAROUND is not set
-CONFIG_UDELAY_TSC=y
-CONFIG_TSC_MONOTONIC_TIMER=y
-CONFIG_TSC_SYNC_MFENCE=y
-CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_SMM_TSEG=y
-CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
-CONFIG_AP_STACK_SIZE=0x800
-CONFIG_SMP=y
-CONFIG_SSE=y
-CONFIG_SSE2=y
-CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
-CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
-CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
-# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
-
-#
-# Northbridge
-#
-
-#
-# Southbridge
-#
-# CONFIG_PCIEXP_HOTPLUG is not set
-CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
-# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
-CONFIG_RCBA_LENGTH=0x4000
-
-#
-# Super I/O
-#
-CONFIG_SUPERIO_SMSC_SCH555x=y
-
-#
-# Embedded Controllers
-#
-
-#
-# Intel Firmware
-#
-CONFIG_HAVE_ME_BIN=y
-# CONFIG_STITCH_ME_BIN is not set
-# CONFIG_CHECK_ME is not set
-# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
-# CONFIG_USE_ME_CLEANER is not set
-# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
-# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
-CONFIG_UNLOCK_FLASH_REGIONS=y
-CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
-CONFIG_UDK_BASE=y
-CONFIG_UDK_2017_BINDING=y
-CONFIG_UDK_2013_VERSION=2013
-CONFIG_UDK_2017_VERSION=2017
-CONFIG_UDK_202005_VERSION=202005
-CONFIG_UDK_202111_VERSION=202111
-CONFIG_UDK_202302_VERSION=202302
-CONFIG_UDK_202305_VERSION=202305
-CONFIG_UDK_VERSION=2017
-CONFIG_ARCH_X86=y
-CONFIG_ARCH_BOOTBLOCK_X86_32=y
-CONFIG_ARCH_VERSTAGE_X86_32=y
-CONFIG_ARCH_ROMSTAGE_X86_32=y
-CONFIG_ARCH_POSTCAR_X86_32=y
-CONFIG_ARCH_RAMSTAGE_X86_32=y
-CONFIG_ARCH_ALL_STAGES_X86_32=y
-CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
-CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
-CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
-CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
-CONFIG_PC80_SYSTEM=y
-CONFIG_HAVE_CMOS_DEFAULT=y
-CONFIG_POSTCAR_STAGE=y
-CONFIG_BOOTBLOCK_SIMPLE=y
-# CONFIG_BOOTBLOCK_NORMAL is not set
-CONFIG_COLLECT_TIMESTAMPS_TSC=y
-CONFIG_HAVE_CF9_RESET=y
-CONFIG_DEBUG_HW_BREAKPOINTS=y
-CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
-# CONFIG_DUMP_SMBIOS_TYPE17 is not set
-CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
-CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
-CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
-CONFIG_DEFAULT_EBDA_SIZE=0x400
-# end of Chipset
-
-#
-# Devices
-#
-CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
-CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
-CONFIG_HAVE_FSP_GOP=y
-CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
-CONFIG_MAINBOARD_USE_LIBGFXINIT=y
-# CONFIG_VGA_ROM_RUN is not set
-# CONFIG_RUN_FSP_GOP is not set
-# CONFIG_NO_GFX_INIT is not set
-CONFIG_NO_EARLY_GFX_INIT=y
-
-#
-# Display
-#
-CONFIG_VGA_TEXT_FRAMEBUFFER=y
-# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
-# end of Display
-
-CONFIG_PCI=y
-CONFIG_ECAM_MMCONF_SUPPORT=y
-CONFIG_PCIX_PLUGIN_SUPPORT=y
-CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
-CONFIG_PCIEXP_PLUGIN_SUPPORT=y
-CONFIG_ECAM_MMCONF_LENGTH=0x10000000
-CONFIG_PCI_ALLOW_BUS_MASTER=y
-CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
-CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
-# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
-# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
-# CONFIG_EARLY_PCI_BRIDGE is not set
-CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
-CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
-# CONFIG_SOFTWARE_I2C is not set
-CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
-# end of Devices
-
-#
-# Generic Drivers
-#
-CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
-# CONFIG_ELOG is not set
-CONFIG_CACHE_MRC_SETTINGS=y
-CONFIG_MRC_SETTINGS_PROTECT=y
-# CONFIG_DRIVERS_OPTION_CFR is not set
-# CONFIG_SMMSTORE is not set
-CONFIG_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
-# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_DRIVERS_UART=y
-# CONFIG_DRIVERS_UART_OXPCIE is not set
-# CONFIG_VPD is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVERS_I2C_DESIGNWARE=y
-# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_FSP_USE_REPO=y
-# CONFIG_DISPLAY_HOBS is not set
-# CONFIG_DISPLAY_UPD_DATA is not set
-# CONFIG_BMP_LOGO is not set
-CONFIG_PLATFORM_USES_FSP2_0=y
-CONFIG_PLATFORM_USES_FSP2_X86_32=y
-CONFIG_HAVE_INTEL_FSP_REPO=y
-CONFIG_ADD_FSP_BINARIES=y
-CONFIG_FSP_S_CBFS="fsps.bin"
-CONFIG_FSP_M_CBFS="fspm.bin"
-CONFIG_FSP_FULL_FD=y
-CONFIG_FSP_T_RESERVED_SIZE=0x0
-CONFIG_FSP_M_XIP=y
-CONFIG_HAVE_FSP_LOGO_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
-CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
-CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
-CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
-# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
-# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
-CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
-CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Skylake"
-CONFIG_GFX_GMA_PCH="Sunrise_Point"
-CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
-CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
-# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
-# CONFIG_DRIVERS_PS2_KEYBOARD is not set
-CONFIG_DRIVERS_MC146818=y
-CONFIG_USE_PC_CMOS_ALTCENTURY=y
-CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_VGA=y
-# CONFIG_DRIVERS_SIL_3114 is not set
-CONFIG_DRIVERS_USB_ACPI=y
-CONFIG_DRIVERS_WIFI_GENERIC=y
-CONFIG_DRIVERS_MTK_WIFI=y
-# end of Generic Drivers
-
-#
-# Security
-#
-
-#
-# CBFS verification
-#
-# CONFIG_CBFS_VERIFICATION is not set
-# end of CBFS verification
-
-#
-# Verified Boot (vboot)
-#
-# end of Verified Boot (vboot)
-
-#
-# Trusted Platform Module
-#
-CONFIG_NO_TPM=y
-CONFIG_PCR_BOOT_MODE=1
-CONFIG_PCR_HWID=1
-CONFIG_PCR_SRTM=2
-CONFIG_PCR_FW_VER=10
-CONFIG_PCR_RUNTIME_DATA=3
-# end of Trusted Platform Module
-
-#
-# Memory initialization
-#
-CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
-# end of Memory initialization
-
-# CONFIG_STM is not set
-# CONFIG_INTEL_CBNT_SUPPORT is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
-# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
-# CONFIG_BOOTMEDIA_SMM_BWP is not set
-# end of Security
-
-CONFIG_ACPI_HAVE_PCAT_8259=y
-CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
-CONFIG_ACPI_SOC_NVS=y
-CONFIG_ACPI_CUSTOM_MADT=y
-CONFIG_ACPI_NO_CUSTOM_MADT=y
-CONFIG_ACPI_COMMON_MADT_LAPIC=y
-CONFIG_ACPI_COMMON_MADT_IOAPIC=y
-CONFIG_HAVE_ACPI_TABLES=y
-CONFIG_ACPI_LPIT=y
-CONFIG_BOOT_DEVICE_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
-CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
-CONFIG_RTC=y
-
-#
-# Console
-#
-CONFIG_BOOTBLOCK_CONSOLE=y
-CONFIG_POSTCAR_CONSOLE=y
-CONFIG_SQUELCH_EARLY_SMP=y
-
-#
-# I/O mapped, 8250-compatible
-#
-CONFIG_TTYS0_BASE=0x3f8
-
-#
-# Serial port base address = 0x3f8
-#
-# CONFIG_CONSOLE_SERIAL_921600 is not set
-# CONFIG_CONSOLE_SERIAL_460800 is not set
-# CONFIG_CONSOLE_SERIAL_230400 is not set
-CONFIG_CONSOLE_SERIAL_115200=y
-# CONFIG_CONSOLE_SERIAL_57600 is not set
-# CONFIG_CONSOLE_SERIAL_38400 is not set
-# CONFIG_CONSOLE_SERIAL_19200 is not set
-# CONFIG_CONSOLE_SERIAL_9600 is not set
-CONFIG_TTYS0_LCS=3
-# CONFIG_SPKMODEM is not set
-# CONFIG_CONSOLE_NE2K is not set
-CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_SPI_FLASH is not set
-# CONFIG_CONSOLE_I2C_SMBUS is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
-CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
-CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
-# CONFIG_CMOS_POST is not set
-CONFIG_POST_DEVICE_NONE=y
-# CONFIG_POST_DEVICE_LPC is not set
-# CONFIG_POST_DEVICE_PCI_PCIE is not set
-CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_CB=y
-# end of Console
-
-CONFIG_ACPI_S1_NOT_SUPPORTED=y
-CONFIG_HAVE_ACPI_RESUME=y
-CONFIG_RESUME_PATH_SAME_AS_BOOT=y
-CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_HAVE_OPTION_TABLE=y
-CONFIG_IOAPIC=y
-CONFIG_ACPI_NHLT=y
-
-#
-# System tables
-#
-CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_BIOS_VENDOR="coreboot"
-CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
-# end of System tables
-
-#
-# Payload
-#
-CONFIG_PAYLOAD_NONE=y
-# end of Payload
-
-#
-# Debugging
-#
-
-#
-# CPU Debug Settings
-#
-# CONFIG_DISPLAY_MTRRS is not set
-
-#
-# Vendorcode Debug Settings
-#
-
-#
-# BLOB Debug Settings
-#
-# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
-# CONFIG_DISPLAY_FSP_HEADER is not set
-# CONFIG_VERIFY_HOBS is not set
-# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
-CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
-# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
-
-#
-# General Debug Settings
-#
-# CONFIG_GDB_STUB is not set
-CONFIG_HAVE_DEBUG_GPIO=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_SMBUS=y
-# CONFIG_DEBUG_SMBUS is not set
-# CONFIG_DEBUG_MALLOC is not set
-# CONFIG_DEBUG_CONSOLE_INIT is not set
-# CONFIG_DEBUG_SPI_FLASH is not set
-# CONFIG_DEBUG_BOOT_STATE is not set
-# CONFIG_DEBUG_ADA_CODE is not set
-CONFIG_HAVE_EM100_SUPPORT=y
-# CONFIG_EM100 is not set
-# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
-# end of Debugging
-
-CONFIG_RAMSTAGE_ADA=y
-CONFIG_RAMSTAGE_LIBHWBASE=y
-CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
-CONFIG_HWBASE_DIRECT_PCIDEV=y
-CONFIG_DECOMPRESS_OFAST=y
-CONFIG_WARNINGS_ARE_ERRORS=y
-CONFIG_MAX_REBOOT_CNT=3
-CONFIG_RELOCATABLE_MODULES=y
-CONFIG_GENERIC_GPIO_LIB=y
-CONFIG_HAVE_BOOTBLOCK=y
-CONFIG_HAVE_ROMSTAGE=y
-CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/dell3050micro_fsp_16mb/target.cfg b/config/coreboot/dell3050micro_fsp_16mb/target.cfg
deleted file mode 100644
index b6e6c722..00000000
--- a/config/coreboot/dell3050micro_fsp_16mb/target.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-tree="next"
-xarch="i386-elf"
-payload_seabios="y"
-payload_grub="y"
-payload_memtest="y"
-grub_scan_disk="nvme ahci"
-grubtree="xhci"
-vcfg="3050micro"
-build_depend="seabios/default grub/xhci memtest86plus u-boot/amd64coreboot"
-IFD_platform="sklkbl"
-payload_uboot_amd64="y"
-release="n" # dell3050micro_vfsp_16mb is released instead
diff --git a/config/coreboot/fam15h/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch b/config/coreboot/fam15h/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch
index 2f95297d..b48e88cd 100644
--- a/config/coreboot/fam15h/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch
+++ b/config/coreboot/fam15h/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch
@@ -8,9 +8,6 @@ the original upstream died
i decided to host it myself, on libreboot rsync,
for use by mirrors.
-this is also useful for GNU Boot, when downloading
-acpica on coreboot 4.11_branch, for fam15h boards
-
this change is not necessary on other coreboot trees,
which adhere to new coreboot policy (newer coreboot
pulls acpica from github, which is fairly reliable)
diff --git a/config/coreboot/t480_fsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/t480_fsp_16mb/config/libgfxinit_corebootfb
deleted file mode 100644
index 5191da57..00000000
--- a/config/coreboot/t480_fsp_16mb/config/libgfxinit_corebootfb
+++ /dev/null
@@ -1,855 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# coreboot configuration
-#
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_CBFS_PREFIX="fallback"
-CONFIG_COMPILER_GCC=y
-# CONFIG_COMPILER_LLVM_CLANG is not set
-# CONFIG_ANY_TOOLCHAIN is not set
-# CONFIG_CCACHE is not set
-# CONFIG_LTO is not set
-# CONFIG_IWYU is not set
-# CONFIG_FMD_GENPARSER is not set
-# CONFIG_UTIL_GENPARSER is not set
-CONFIG_OPTION_BACKEND_NONE=y
-CONFIG_COMPRESS_RAMSTAGE_LZMA=y
-# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
-CONFIG_SEPARATE_ROMSTAGE=y
-CONFIG_INCLUDE_CONFIG_FILE=y
-CONFIG_COLLECT_TIMESTAMPS=y
-# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
-CONFIG_USE_BLOBS=y
-# CONFIG_USE_AMD_BLOBS is not set
-# CONFIG_USE_QC_BLOBS is not set
-# CONFIG_COVERAGE is not set
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
-# CONFIG_ASAN is not set
-# CONFIG_NO_STAGE_CACHE is not set
-CONFIG_TSEG_STAGE_CACHE=y
-# CONFIG_UPDATE_IMAGE is not set
-# CONFIG_BOOTSPLASH_IMAGE is not set
-
-#
-# Software Bill Of Materials (SBOM)
-#
-# CONFIG_SBOM is not set
-# end of Software Bill Of Materials (SBOM)
-# end of General setup
-
-#
-# Mainboard
-#
-
-#
-# Important: Run 'make distclean' before switching boards
-#
-# CONFIG_VENDOR_51NB is not set
-# CONFIG_VENDOR_ACER is not set
-# CONFIG_VENDOR_AMD is not set
-# CONFIG_VENDOR_AOOSTAR is not set
-# CONFIG_VENDOR_AOPEN is not set
-# CONFIG_VENDOR_APPLE is not set
-# CONFIG_VENDOR_ARM is not set
-# CONFIG_VENDOR_ASROCK is not set
-# CONFIG_VENDOR_ASUS is not set
-# CONFIG_VENDOR_BIOSTAR is not set
-# CONFIG_VENDOR_BOSTENTECH is not set
-# CONFIG_VENDOR_BYTEDANCE is not set
-# CONFIG_VENDOR_CAVIUM is not set
-# CONFIG_VENDOR_CLEVO is not set
-# CONFIG_VENDOR_COMPULAB is not set
-# CONFIG_VENDOR_CWWK is not set
-# CONFIG_VENDOR_DELL is not set
-# CONFIG_VENDOR_EMULATION is not set
-# CONFIG_VENDOR_ERYING is not set
-# CONFIG_VENDOR_EXAMPLE is not set
-# CONFIG_VENDOR_FACEBOOK is not set
-# CONFIG_VENDOR_FOXCONN is not set
-# CONFIG_VENDOR_FRAMEWORK is not set
-# CONFIG_VENDOR_GETAC is not set
-# CONFIG_VENDOR_GIGABYTE is not set
-# CONFIG_VENDOR_GOOGLE is not set
-# CONFIG_VENDOR_HARDKERNEL is not set
-# CONFIG_VENDOR_HP is not set
-# CONFIG_VENDOR_IBASE is not set
-# CONFIG_VENDOR_IBM is not set
-# CONFIG_VENDOR_INTEL is not set
-# CONFIG_VENDOR_INVENTEC is not set
-# CONFIG_VENDOR_KONTRON is not set
-# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
-# CONFIG_VENDOR_LIBRETREND is not set
-# CONFIG_VENDOR_MITAC_COMPUTING is not set
-# CONFIG_VENDOR_MSI is not set
-# CONFIG_VENDOR_OCP is not set
-# CONFIG_VENDOR_OPENCELLULAR is not set
-# CONFIG_VENDOR_PACKARDBELL is not set
-# CONFIG_VENDOR_PCENGINES is not set
-# CONFIG_VENDOR_PINE64 is not set
-# CONFIG_VENDOR_PORTWELL is not set
-# CONFIG_VENDOR_PRODRIVE is not set
-# CONFIG_VENDOR_PROTECTLI is not set
-# CONFIG_VENDOR_PURISM is not set
-# CONFIG_VENDOR_RAPTOR_CS is not set
-# CONFIG_VENDOR_RAZER is not set
-# CONFIG_VENDOR_RODA is not set
-# CONFIG_VENDOR_SAMSUNG is not set
-# CONFIG_VENDOR_SAPPHIRE is not set
-# CONFIG_VENDOR_SIEMENS is not set
-# CONFIG_VENDOR_SIFIVE is not set
-# CONFIG_VENDOR_STARLABS is not set
-# CONFIG_VENDOR_SUPERMICRO is not set
-# CONFIG_VENDOR_SYSTEM76 is not set
-# CONFIG_VENDOR_TI is not set
-# CONFIG_VENDOR_TOPTON is not set
-# CONFIG_VENDOR_UP is not set
-# CONFIG_VENDOR_VIA is not set
-CONFIG_MAINBOARD_FAMILY="T480"
-CONFIG_MAINBOARD_PART_NUMBER="T480"
-CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/sklkbl_thinkpad"
-CONFIG_VGA_BIOS_ID="8086,0406"
-CONFIG_DIMM_MAX=2
-CONFIG_DIMM_SPD_SIZE=512
-CONFIG_FMDFILE=""
-# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xEEC000
-CONFIG_CONSOLE_SERIAL=y
-CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=1600
-CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=2560
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_DUAL=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_QUAD=y
-CONFIG_MAX_CPUS=8
-# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
-CONFIG_POST_DEVICE=y
-CONFIG_POST_IO=y
-CONFIG_UART_FOR_CONSOLE=0
-CONFIG_VARIANT_DIR="t480"
-CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
-CONFIG_DEVICETREE="devicetree.cb"
-# CONFIG_VBOOT is not set
-# CONFIG_VGA_BIOS is not set
-CONFIG_PCIEXP_ASPM=y
-CONFIG_PCIEXP_L1_SUB_STATE=y
-CONFIG_PCIEXP_CLK_PM=y
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=256
-CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
-# CONFIG_FATAL_ASSERTS is not set
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
-# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
-CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="T480"
-# CONFIG_CONSOLE_POST is not set
-CONFIG_MAX_SOCKET=1
-CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_USE_PM_ACPI_TIMER=y
-CONFIG_DCACHE_RAM_BASE=0xfef00000
-CONFIG_DCACHE_RAM_SIZE=0x40000
-CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
-CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
-CONFIG_HAVE_INTEL_FIRMWARE=y
-CONFIG_USE_LEGACY_8254_TIMER=y
-CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_DRIVERS_INTEL_WIFI=y
-CONFIG_IFD_BIN_PATH="../../../config/ifd/t480/ifd_16"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/t480/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/t480/gbe"
-CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
-CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
-CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
-# CONFIG_DEBUG_SMI is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
-CONFIG_HAVE_IFD_BIN=y
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-CONFIG_BOARD_LENOVO_T480=y
-# CONFIG_BOARD_LENOVO_T480S is not set
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-# CONFIG_BOARD_LENOVO_X230 is not set
-# CONFIG_BOARD_LENOVO_X230T is not set
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="PNP0F13"
-CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
-CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
-CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480/tb.bin"
-CONFIG_TTYS0_BAUD=115200
-# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
-CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
-CONFIG_D3COLD_SUPPORT=y
-CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
-CONFIG_DRIVERS_UART_8250IO=y
-CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
-CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x50
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-CONFIG_BOARD_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
-CONFIG_COREBOOT_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
-CONFIG_COREBOOT_ROMSIZE_KB=16384
-CONFIG_ROM_SIZE=0x01000000
-CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
-CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
-CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
-# end of Mainboard
-
-CONFIG_SYSTEM_TYPE_LAPTOP=y
-
-#
-# Chipset
-#
-
-#
-# SoC
-#
-CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
-CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
-CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
-CONFIG_CBFS_MCACHE_SIZE=0x4000
-CONFIG_ROMSTAGE_ADDR=0x2000000
-CONFIG_VERSTAGE_ADDR=0x2000000
-CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x200000
-CONFIG_SMM_MODULE_STACK_SIZE=0x800
-CONFIG_ACPI_BERT_SIZE=0x0
-CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xe0000000
-CONFIG_ACPI_CPU_STRING="CP%02X"
-CONFIG_STACK_SIZE=0x2000
-CONFIG_IFD_CHIPSET="sklkbl"
-CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_MAX_ROOT_PORTS=24
-CONFIG_PCR_BASE_ADDRESS=0xfd000000
-CONFIG_CPU_BCLK_MHZ=100
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
-CONFIG_CPU_XTAL_HZ=24000000
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
-CONFIG_SOC_INTEL_I2C_DEV_MAX=6
-# CONFIG_ENABLE_SATA_TEST_MODE is not set
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
-CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
-CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
-CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
-CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
-CONFIG_INTEL_GMA_BCLV_WIDTH=16
-CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
-CONFIG_INTEL_GMA_BCLM_WIDTH=16
-CONFIG_FSP_PUBLISH_MBP_HOB=y
-CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
-CONFIG_MAX_HECI_DEVICES=5
-CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_HAVE_PAM0_REGISTER=y
-CONFIG_PCIEXP_COMMON_CLOCK=y
-CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
-CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
-CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
-CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
-CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
-CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
-CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
-CONFIG_SOC_INTEL_KABYLAKE=y
-CONFIG_FSP_T_LOCATION=0xfffe0000
-CONFIG_SOC_INTEL_COMMON_BLOCK_P2SB=y
-CONFIG_FIXED_SMBUS_IO_BASE=0xefa0
-CONFIG_CBFS_CACHE_ALIGN=8
-CONFIG_SOC_INTEL_COMMON=y
-
-#
-# Intel SoC Common Code for IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BLOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_LPIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_PEP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
-CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
-# CONFIG_USE_COREBOOT_MP_INIT is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
-CONFIG_INTEL_CAR_NEM_ENHANCED=y
-# CONFIG_USE_INTEL_FSP_MP_INIT is not set
-CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
-CONFIG_HAVE_HYPERTHREADING=y
-# CONFIG_FSP_HYPERTHREADING is not set
-# CONFIG_INTEL_KEYLOCKER is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
-CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
-CONFIG_SOC_INTEL_CSE_RW_A_FMAP_NAME="ME_RW_A"
-CONFIG_SOC_INTEL_CSE_RW_B_FMAP_NAME="ME_RW_B"
-CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME="me_rw"
-CONFIG_SOC_INTEL_CSE_RW_HASH_CBFS_NAME="me_rw.hash"
-CONFIG_SOC_INTEL_CSE_RW_VERSION_CBFS_NAME="me_rw.version"
-CONFIG_SOC_INTEL_CSE_RW_FILE=""
-CONFIG_SOC_INTEL_CSE_RW_VERSION=""
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_NAME="cse_iom"
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
-CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
-CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
-CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
-# CONFIG_SOC_INTEL_DISABLE_IGD is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
-CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
-CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
-CONFIG_SA_ENABLE_DPR=y
-CONFIG_HAVE_CAPID_A_REGISTER=y
-CONFIG_HAVE_BDSM_BGSM_REGISTER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
-
-#
-# Intel SoC Common PCH Code
-#
-CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
-CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
-CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
-CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
-
-#
-# Intel SoC Common coreboot stages and non-IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BASECODE=y
-CONFIG_SOC_INTEL_COMMON_RESET=y
-CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
-CONFIG_PAVP=y
-# CONFIG_MMA is not set
-CONFIG_SOC_INTEL_COMMON_NHLT=y
-# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
-
-#
-# CPU
-#
-CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
-CONFIG_CPU_INTEL_COMMON=y
-CONFIG_ENABLE_VMX=y
-CONFIG_SET_IA32_FC_LOCK_BIT=y
-CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_PARALLEL_MP=y
-CONFIG_PARALLEL_MP_AP_WORK=y
-CONFIG_XAPIC_ONLY=y
-# CONFIG_X2APIC_ONLY is not set
-# CONFIG_X2APIC_RUNTIME is not set
-# CONFIG_X2APIC_LATE_WORKAROUND is not set
-CONFIG_UDELAY_TSC=y
-CONFIG_TSC_MONOTONIC_TIMER=y
-CONFIG_TSC_SYNC_MFENCE=y
-CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_SMM_TSEG=y
-CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
-CONFIG_AP_STACK_SIZE=0x800
-CONFIG_SMP=y
-CONFIG_SSE=y
-CONFIG_SSE2=y
-CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
-CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
-CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
-# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
-
-#
-# Northbridge
-#
-
-#
-# Southbridge
-#
-# CONFIG_PCIEXP_HOTPLUG is not set
-CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
-# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
-CONFIG_RCBA_LENGTH=0x4000
-
-#
-# Super I/O
-#
-
-#
-# Embedded Controllers
-#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-CONFIG_H8_BEEP_ON_DEATH=y
-CONFIG_H8_FLASH_LEDS_ON_DEATH=y
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
-CONFIG_H8_HAS_LEDLOGO=y
-CONFIG_EC_LENOVO_PMH7=y
-
-#
-# Intel Firmware
-#
-CONFIG_HAVE_ME_BIN=y
-# CONFIG_STITCH_ME_BIN is not set
-# CONFIG_CHECK_ME is not set
-# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
-# CONFIG_USE_ME_CLEANER is not set
-CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
-CONFIG_HAVE_GBE_BIN=y
-# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
-# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
-CONFIG_UNLOCK_FLASH_REGIONS=y
-CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
-CONFIG_UDK_BASE=y
-CONFIG_UDK_2017_BINDING=y
-CONFIG_UDK_2013_VERSION=2013
-CONFIG_UDK_2017_VERSION=2017
-CONFIG_UDK_202005_VERSION=202005
-CONFIG_UDK_202111_VERSION=202111
-CONFIG_UDK_202302_VERSION=202302
-CONFIG_UDK_202305_VERSION=202305
-CONFIG_UDK_VERSION=2017
-CONFIG_ARCH_X86=y
-CONFIG_ARCH_BOOTBLOCK_X86_32=y
-CONFIG_ARCH_VERSTAGE_X86_32=y
-CONFIG_ARCH_ROMSTAGE_X86_32=y
-CONFIG_ARCH_POSTCAR_X86_32=y
-CONFIG_ARCH_RAMSTAGE_X86_32=y
-CONFIG_ARCH_ALL_STAGES_X86_32=y
-CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
-CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
-CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
-CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
-CONFIG_PC80_SYSTEM=y
-CONFIG_POSTCAR_STAGE=y
-CONFIG_BOOTBLOCK_SIMPLE=y
-# CONFIG_BOOTBLOCK_NORMAL is not set
-CONFIG_COLLECT_TIMESTAMPS_TSC=y
-CONFIG_HAVE_CF9_RESET=y
-CONFIG_DEBUG_HW_BREAKPOINTS=y
-CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
-# CONFIG_DUMP_SMBIOS_TYPE17 is not set
-CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
-CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
-CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
-CONFIG_DEFAULT_EBDA_SIZE=0x400
-# end of Chipset
-
-#
-# Devices
-#
-CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
-CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
-CONFIG_HAVE_FSP_GOP=y
-CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
-CONFIG_MAINBOARD_USE_LIBGFXINIT=y
-# CONFIG_VGA_ROM_RUN is not set
-# CONFIG_RUN_FSP_GOP is not set
-# CONFIG_NO_GFX_INIT is not set
-CONFIG_NO_EARLY_GFX_INIT=y
-
-#
-# Display
-#
-# CONFIG_VGA_TEXT_FRAMEBUFFER is not set
-CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
-CONFIG_LINEAR_FRAMEBUFFER=y
-# CONFIG_BOOTSPLASH is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_NONE=y
-# CONFIG_DEFAULT_SCREEN_ROTATION_90 is not set
-# CONFIG_DEFAULT_SCREEN_ROTATION_180 is not set
-# CONFIG_DEFAULT_SCREEN_ROTATION_270 is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
-# end of Display
-
-CONFIG_PCI=y
-CONFIG_ECAM_MMCONF_SUPPORT=y
-CONFIG_PCIX_PLUGIN_SUPPORT=y
-CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
-CONFIG_PCIEXP_PLUGIN_SUPPORT=y
-CONFIG_ECAM_MMCONF_LENGTH=0x10000000
-CONFIG_PCI_ALLOW_BUS_MASTER=y
-CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
-CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
-# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
-# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
-# CONFIG_EARLY_PCI_BRIDGE is not set
-CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
-CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
-# CONFIG_SOFTWARE_I2C is not set
-CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
-# end of Devices
-
-#
-# Generic Drivers
-#
-CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
-# CONFIG_ELOG is not set
-CONFIG_CACHE_MRC_SETTINGS=y
-CONFIG_MRC_SETTINGS_PROTECT=y
-# CONFIG_DRIVERS_OPTION_CFR is not set
-# CONFIG_SMMSTORE is not set
-CONFIG_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
-# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_DRIVERS_UART=y
-# CONFIG_DRIVERS_UART_OXPCIE is not set
-# CONFIG_VPD is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVERS_I2C_DESIGNWARE=y
-# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_FSP_USE_REPO=y
-# CONFIG_DISPLAY_HOBS is not set
-# CONFIG_DISPLAY_UPD_DATA is not set
-# CONFIG_BMP_LOGO is not set
-CONFIG_PLATFORM_USES_FSP2_0=y
-CONFIG_PLATFORM_USES_FSP2_X86_32=y
-CONFIG_HAVE_INTEL_FSP_REPO=y
-CONFIG_ADD_FSP_BINARIES=y
-CONFIG_FSP_S_CBFS="fsps.bin"
-CONFIG_FSP_M_CBFS="fspm.bin"
-CONFIG_FSP_FULL_FD=y
-CONFIG_FSP_T_RESERVED_SIZE=0x0
-CONFIG_FSP_M_XIP=y
-CONFIG_HAVE_FSP_LOGO_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
-CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
-CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
-CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
-# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
-# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
-CONFIG_INTEL_INT15=y
-CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
-CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Skylake"
-CONFIG_GFX_GMA_PCH="Sunrise_Point"
-CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
-CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
-# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
-# CONFIG_DRIVERS_PS2_KEYBOARD is not set
-CONFIG_DRIVERS_MC146818=y
-CONFIG_USE_PC_CMOS_ALTCENTURY=y
-CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_SIL_3114 is not set
-CONFIG_DRIVERS_USB_ACPI=y
-CONFIG_DRIVERS_WIFI_GENERIC=y
-CONFIG_DRIVERS_MTK_WIFI=y
-# end of Generic Drivers
-
-#
-# Security
-#
-
-#
-# CBFS verification
-#
-# CONFIG_CBFS_VERIFICATION is not set
-# end of CBFS verification
-
-#
-# Verified Boot (vboot)
-#
-# end of Verified Boot (vboot)
-
-#
-# Trusted Platform Module
-#
-CONFIG_NO_TPM=y
-# CONFIG_TPM1 is not set
-# CONFIG_TPM2 is not set
-CONFIG_MAINBOARD_HAS_TPM2=y
-CONFIG_PCR_BOOT_MODE=1
-CONFIG_PCR_HWID=1
-CONFIG_PCR_SRTM=2
-CONFIG_PCR_FW_VER=10
-CONFIG_PCR_RUNTIME_DATA=3
-# end of Trusted Platform Module
-
-#
-# Memory initialization
-#
-CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
-# end of Memory initialization
-
-# CONFIG_STM is not set
-# CONFIG_INTEL_CBNT_SUPPORT is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
-# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
-# CONFIG_BOOTMEDIA_SMM_BWP is not set
-# end of Security
-
-CONFIG_ACPI_HAVE_PCAT_8259=y
-CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
-CONFIG_ACPI_SOC_NVS=y
-CONFIG_ACPI_CUSTOM_MADT=y
-CONFIG_ACPI_NO_CUSTOM_MADT=y
-CONFIG_ACPI_COMMON_MADT_LAPIC=y
-CONFIG_ACPI_COMMON_MADT_IOAPIC=y
-CONFIG_HAVE_ACPI_TABLES=y
-CONFIG_ACPI_LPIT=y
-CONFIG_BOOT_DEVICE_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
-CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
-CONFIG_RTC=y
-
-#
-# Console
-#
-CONFIG_BOOTBLOCK_CONSOLE=y
-CONFIG_POSTCAR_CONSOLE=y
-CONFIG_SQUELCH_EARLY_SMP=y
-
-#
-# I/O mapped, 8250-compatible
-#
-CONFIG_TTYS0_BASE=0x3f8
-
-#
-# Serial port base address = 0x3f8
-#
-# CONFIG_CONSOLE_SERIAL_921600 is not set
-# CONFIG_CONSOLE_SERIAL_460800 is not set
-# CONFIG_CONSOLE_SERIAL_230400 is not set
-CONFIG_CONSOLE_SERIAL_115200=y
-# CONFIG_CONSOLE_SERIAL_57600 is not set
-# CONFIG_CONSOLE_SERIAL_38400 is not set
-# CONFIG_CONSOLE_SERIAL_19200 is not set
-# CONFIG_CONSOLE_SERIAL_9600 is not set
-CONFIG_TTYS0_LCS=3
-# CONFIG_SPKMODEM is not set
-# CONFIG_CONSOLE_NE2K is not set
-CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_SPI_FLASH is not set
-# CONFIG_CONSOLE_I2C_SMBUS is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
-CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
-CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
-# CONFIG_CMOS_POST is not set
-CONFIG_POST_DEVICE_NONE=y
-# CONFIG_POST_DEVICE_LPC is not set
-# CONFIG_POST_DEVICE_PCI_PCIE is not set
-CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_CB=y
-# end of Console
-
-CONFIG_ACPI_S1_NOT_SUPPORTED=y
-CONFIG_HAVE_ACPI_RESUME=y
-CONFIG_RESUME_PATH_SAME_AS_BOOT=y
-CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_IOAPIC=y
-CONFIG_ACPI_NHLT=y
-
-#
-# System tables
-#
-CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_BIOS_VENDOR="coreboot"
-CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
-# end of System tables
-
-#
-# Payload
-#
-CONFIG_PAYLOAD_NONE=y
-# end of Payload
-
-#
-# Debugging
-#
-
-#
-# CPU Debug Settings
-#
-# CONFIG_DISPLAY_MTRRS is not set
-
-#
-# Vendorcode Debug Settings
-#
-
-#
-# BLOB Debug Settings
-#
-# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
-# CONFIG_DISPLAY_FSP_HEADER is not set
-# CONFIG_VERIFY_HOBS is not set
-# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
-CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
-# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
-
-#
-# General Debug Settings
-#
-# CONFIG_GDB_STUB is not set
-CONFIG_HAVE_DEBUG_GPIO=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_SMBUS=y
-# CONFIG_DEBUG_SMBUS is not set
-# CONFIG_DEBUG_MALLOC is not set
-# CONFIG_DEBUG_CONSOLE_INIT is not set
-# CONFIG_DEBUG_SPI_FLASH is not set
-# CONFIG_DEBUG_BOOT_STATE is not set
-# CONFIG_DEBUG_ADA_CODE is not set
-CONFIG_HAVE_EM100_SUPPORT=y
-# CONFIG_EM100 is not set
-# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
-# end of Debugging
-
-CONFIG_RAMSTAGE_ADA=y
-CONFIG_RAMSTAGE_LIBHWBASE=y
-CONFIG_SPD_READ_BY_WORD=y
-CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
-CONFIG_HWBASE_DIRECT_PCIDEV=y
-CONFIG_DECOMPRESS_OFAST=y
-CONFIG_WARNINGS_ARE_ERRORS=y
-CONFIG_MAX_REBOOT_CNT=3
-CONFIG_RELOCATABLE_MODULES=y
-CONFIG_GENERIC_GPIO_LIB=y
-CONFIG_HAVE_BOOTBLOCK=y
-CONFIG_HAVE_ROMSTAGE=y
-CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/t480_fsp_16mb/config/libgfxinit_txtmode b/config/coreboot/t480_fsp_16mb/config/libgfxinit_txtmode
deleted file mode 100644
index 7596816a..00000000
--- a/config/coreboot/t480_fsp_16mb/config/libgfxinit_txtmode
+++ /dev/null
@@ -1,848 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# coreboot configuration
-#
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_CBFS_PREFIX="fallback"
-CONFIG_COMPILER_GCC=y
-# CONFIG_COMPILER_LLVM_CLANG is not set
-# CONFIG_ANY_TOOLCHAIN is not set
-# CONFIG_CCACHE is not set
-# CONFIG_LTO is not set
-# CONFIG_IWYU is not set
-# CONFIG_FMD_GENPARSER is not set
-# CONFIG_UTIL_GENPARSER is not set
-CONFIG_OPTION_BACKEND_NONE=y
-CONFIG_COMPRESS_RAMSTAGE_LZMA=y
-# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
-CONFIG_SEPARATE_ROMSTAGE=y
-CONFIG_INCLUDE_CONFIG_FILE=y
-CONFIG_COLLECT_TIMESTAMPS=y
-# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
-CONFIG_USE_BLOBS=y
-# CONFIG_USE_AMD_BLOBS is not set
-# CONFIG_USE_QC_BLOBS is not set
-# CONFIG_COVERAGE is not set
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
-# CONFIG_ASAN is not set
-# CONFIG_NO_STAGE_CACHE is not set
-CONFIG_TSEG_STAGE_CACHE=y
-# CONFIG_UPDATE_IMAGE is not set
-# CONFIG_BOOTSPLASH_IMAGE is not set
-
-#
-# Software Bill Of Materials (SBOM)
-#
-# CONFIG_SBOM is not set
-# end of Software Bill Of Materials (SBOM)
-# end of General setup
-
-#
-# Mainboard
-#
-
-#
-# Important: Run 'make distclean' before switching boards
-#
-# CONFIG_VENDOR_51NB is not set
-# CONFIG_VENDOR_ACER is not set
-# CONFIG_VENDOR_AMD is not set
-# CONFIG_VENDOR_AOOSTAR is not set
-# CONFIG_VENDOR_AOPEN is not set
-# CONFIG_VENDOR_APPLE is not set
-# CONFIG_VENDOR_ARM is not set
-# CONFIG_VENDOR_ASROCK is not set
-# CONFIG_VENDOR_ASUS is not set
-# CONFIG_VENDOR_BIOSTAR is not set
-# CONFIG_VENDOR_BOSTENTECH is not set
-# CONFIG_VENDOR_BYTEDANCE is not set
-# CONFIG_VENDOR_CAVIUM is not set
-# CONFIG_VENDOR_CLEVO is not set
-# CONFIG_VENDOR_COMPULAB is not set
-# CONFIG_VENDOR_CWWK is not set
-# CONFIG_VENDOR_DELL is not set
-# CONFIG_VENDOR_EMULATION is not set
-# CONFIG_VENDOR_ERYING is not set
-# CONFIG_VENDOR_EXAMPLE is not set
-# CONFIG_VENDOR_FACEBOOK is not set
-# CONFIG_VENDOR_FOXCONN is not set
-# CONFIG_VENDOR_FRAMEWORK is not set
-# CONFIG_VENDOR_GETAC is not set
-# CONFIG_VENDOR_GIGABYTE is not set
-# CONFIG_VENDOR_GOOGLE is not set
-# CONFIG_VENDOR_HARDKERNEL is not set
-# CONFIG_VENDOR_HP is not set
-# CONFIG_VENDOR_IBASE is not set
-# CONFIG_VENDOR_IBM is not set
-# CONFIG_VENDOR_INTEL is not set
-# CONFIG_VENDOR_INVENTEC is not set
-# CONFIG_VENDOR_KONTRON is not set
-# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
-# CONFIG_VENDOR_LIBRETREND is not set
-# CONFIG_VENDOR_MITAC_COMPUTING is not set
-# CONFIG_VENDOR_MSI is not set
-# CONFIG_VENDOR_OCP is not set
-# CONFIG_VENDOR_OPENCELLULAR is not set
-# CONFIG_VENDOR_PACKARDBELL is not set
-# CONFIG_VENDOR_PCENGINES is not set
-# CONFIG_VENDOR_PINE64 is not set
-# CONFIG_VENDOR_PORTWELL is not set
-# CONFIG_VENDOR_PRODRIVE is not set
-# CONFIG_VENDOR_PROTECTLI is not set
-# CONFIG_VENDOR_PURISM is not set
-# CONFIG_VENDOR_RAPTOR_CS is not set
-# CONFIG_VENDOR_RAZER is not set
-# CONFIG_VENDOR_RODA is not set
-# CONFIG_VENDOR_SAMSUNG is not set
-# CONFIG_VENDOR_SAPPHIRE is not set
-# CONFIG_VENDOR_SIEMENS is not set
-# CONFIG_VENDOR_SIFIVE is not set
-# CONFIG_VENDOR_STARLABS is not set
-# CONFIG_VENDOR_SUPERMICRO is not set
-# CONFIG_VENDOR_SYSTEM76 is not set
-# CONFIG_VENDOR_TI is not set
-# CONFIG_VENDOR_TOPTON is not set
-# CONFIG_VENDOR_UP is not set
-# CONFIG_VENDOR_VIA is not set
-CONFIG_MAINBOARD_FAMILY="T480"
-CONFIG_MAINBOARD_PART_NUMBER="T480"
-CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/sklkbl_thinkpad"
-CONFIG_VGA_BIOS_ID="8086,0406"
-CONFIG_DIMM_MAX=2
-CONFIG_DIMM_SPD_SIZE=512
-CONFIG_FMDFILE=""
-# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xEEC000
-CONFIG_CONSOLE_SERIAL=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_DUAL=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_QUAD=y
-CONFIG_MAX_CPUS=8
-# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
-CONFIG_POST_DEVICE=y
-CONFIG_POST_IO=y
-CONFIG_UART_FOR_CONSOLE=0
-CONFIG_VARIANT_DIR="t480"
-CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
-CONFIG_DEVICETREE="devicetree.cb"
-# CONFIG_VBOOT is not set
-# CONFIG_VGA_BIOS is not set
-CONFIG_PCIEXP_ASPM=y
-CONFIG_PCIEXP_L1_SUB_STATE=y
-CONFIG_PCIEXP_CLK_PM=y
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=256
-CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
-# CONFIG_FATAL_ASSERTS is not set
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
-# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
-CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="T480"
-# CONFIG_CONSOLE_POST is not set
-CONFIG_MAX_SOCKET=1
-CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_USE_PM_ACPI_TIMER=y
-CONFIG_DCACHE_RAM_BASE=0xfef00000
-CONFIG_DCACHE_RAM_SIZE=0x40000
-CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
-CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
-CONFIG_HAVE_INTEL_FIRMWARE=y
-CONFIG_USE_LEGACY_8254_TIMER=y
-CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_DRIVERS_INTEL_WIFI=y
-CONFIG_IFD_BIN_PATH="../../../config/ifd/t480/ifd_16"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/t480/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/t480/gbe"
-CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
-CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
-CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
-# CONFIG_DEBUG_SMI is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
-CONFIG_HAVE_IFD_BIN=y
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-CONFIG_BOARD_LENOVO_T480=y
-# CONFIG_BOARD_LENOVO_T480S is not set
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-# CONFIG_BOARD_LENOVO_X230 is not set
-# CONFIG_BOARD_LENOVO_X230T is not set
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="PNP0F13"
-CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
-CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
-CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480/tb.bin"
-CONFIG_TTYS0_BAUD=115200
-# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
-CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
-CONFIG_D3COLD_SUPPORT=y
-CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
-CONFIG_DRIVERS_UART_8250IO=y
-CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
-CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x50
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-CONFIG_BOARD_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
-CONFIG_COREBOOT_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
-CONFIG_COREBOOT_ROMSIZE_KB=16384
-CONFIG_ROM_SIZE=0x01000000
-CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
-CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
-CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
-# end of Mainboard
-
-CONFIG_SYSTEM_TYPE_LAPTOP=y
-
-#
-# Chipset
-#
-
-#
-# SoC
-#
-CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
-CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
-CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
-CONFIG_CBFS_MCACHE_SIZE=0x4000
-CONFIG_ROMSTAGE_ADDR=0x2000000
-CONFIG_VERSTAGE_ADDR=0x2000000
-CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x200000
-CONFIG_SMM_MODULE_STACK_SIZE=0x800
-CONFIG_ACPI_BERT_SIZE=0x0
-CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xe0000000
-CONFIG_ACPI_CPU_STRING="CP%02X"
-CONFIG_STACK_SIZE=0x2000
-CONFIG_IFD_CHIPSET="sklkbl"
-CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_MAX_ROOT_PORTS=24
-CONFIG_PCR_BASE_ADDRESS=0xfd000000
-CONFIG_CPU_BCLK_MHZ=100
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
-CONFIG_CPU_XTAL_HZ=24000000
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
-CONFIG_SOC_INTEL_I2C_DEV_MAX=6
-# CONFIG_ENABLE_SATA_TEST_MODE is not set
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
-CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
-CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
-CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
-CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
-CONFIG_INTEL_GMA_BCLV_WIDTH=16
-CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
-CONFIG_INTEL_GMA_BCLM_WIDTH=16
-CONFIG_FSP_PUBLISH_MBP_HOB=y
-CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
-CONFIG_MAX_HECI_DEVICES=5
-CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_HAVE_PAM0_REGISTER=y
-CONFIG_PCIEXP_COMMON_CLOCK=y
-CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
-CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
-CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
-CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
-CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
-CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
-CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
-CONFIG_SOC_INTEL_KABYLAKE=y
-CONFIG_FSP_T_LOCATION=0xfffe0000
-CONFIG_SOC_INTEL_COMMON_BLOCK_P2SB=y
-CONFIG_FIXED_SMBUS_IO_BASE=0xefa0
-CONFIG_CBFS_CACHE_ALIGN=8
-CONFIG_SOC_INTEL_COMMON=y
-
-#
-# Intel SoC Common Code for IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BLOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_LPIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_PEP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
-CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
-# CONFIG_USE_COREBOOT_MP_INIT is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
-CONFIG_INTEL_CAR_NEM_ENHANCED=y
-# CONFIG_USE_INTEL_FSP_MP_INIT is not set
-CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
-CONFIG_HAVE_HYPERTHREADING=y
-# CONFIG_FSP_HYPERTHREADING is not set
-# CONFIG_INTEL_KEYLOCKER is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
-CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
-CONFIG_SOC_INTEL_CSE_RW_A_FMAP_NAME="ME_RW_A"
-CONFIG_SOC_INTEL_CSE_RW_B_FMAP_NAME="ME_RW_B"
-CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME="me_rw"
-CONFIG_SOC_INTEL_CSE_RW_HASH_CBFS_NAME="me_rw.hash"
-CONFIG_SOC_INTEL_CSE_RW_VERSION_CBFS_NAME="me_rw.version"
-CONFIG_SOC_INTEL_CSE_RW_FILE=""
-CONFIG_SOC_INTEL_CSE_RW_VERSION=""
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_NAME="cse_iom"
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
-CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
-CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
-CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
-# CONFIG_SOC_INTEL_DISABLE_IGD is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
-CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
-CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
-CONFIG_SA_ENABLE_DPR=y
-CONFIG_HAVE_CAPID_A_REGISTER=y
-CONFIG_HAVE_BDSM_BGSM_REGISTER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
-
-#
-# Intel SoC Common PCH Code
-#
-CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
-CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
-CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
-CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
-
-#
-# Intel SoC Common coreboot stages and non-IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BASECODE=y
-CONFIG_SOC_INTEL_COMMON_RESET=y
-CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
-CONFIG_PAVP=y
-# CONFIG_MMA is not set
-CONFIG_SOC_INTEL_COMMON_NHLT=y
-# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
-
-#
-# CPU
-#
-CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
-CONFIG_CPU_INTEL_COMMON=y
-CONFIG_ENABLE_VMX=y
-CONFIG_SET_IA32_FC_LOCK_BIT=y
-CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_PARALLEL_MP=y
-CONFIG_PARALLEL_MP_AP_WORK=y
-CONFIG_XAPIC_ONLY=y
-# CONFIG_X2APIC_ONLY is not set
-# CONFIG_X2APIC_RUNTIME is not set
-# CONFIG_X2APIC_LATE_WORKAROUND is not set
-CONFIG_UDELAY_TSC=y
-CONFIG_TSC_MONOTONIC_TIMER=y
-CONFIG_TSC_SYNC_MFENCE=y
-CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_SMM_TSEG=y
-CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
-CONFIG_AP_STACK_SIZE=0x800
-CONFIG_SMP=y
-CONFIG_SSE=y
-CONFIG_SSE2=y
-CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
-CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
-CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
-# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
-
-#
-# Northbridge
-#
-
-#
-# Southbridge
-#
-# CONFIG_PCIEXP_HOTPLUG is not set
-CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
-# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
-CONFIG_RCBA_LENGTH=0x4000
-
-#
-# Super I/O
-#
-
-#
-# Embedded Controllers
-#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-CONFIG_H8_BEEP_ON_DEATH=y
-CONFIG_H8_FLASH_LEDS_ON_DEATH=y
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
-CONFIG_H8_HAS_LEDLOGO=y
-CONFIG_EC_LENOVO_PMH7=y
-
-#
-# Intel Firmware
-#
-CONFIG_HAVE_ME_BIN=y
-# CONFIG_STITCH_ME_BIN is not set
-# CONFIG_CHECK_ME is not set
-# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
-# CONFIG_USE_ME_CLEANER is not set
-CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
-CONFIG_HAVE_GBE_BIN=y
-# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
-# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
-CONFIG_UNLOCK_FLASH_REGIONS=y
-CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
-CONFIG_UDK_BASE=y
-CONFIG_UDK_2017_BINDING=y
-CONFIG_UDK_2013_VERSION=2013
-CONFIG_UDK_2017_VERSION=2017
-CONFIG_UDK_202005_VERSION=202005
-CONFIG_UDK_202111_VERSION=202111
-CONFIG_UDK_202302_VERSION=202302
-CONFIG_UDK_202305_VERSION=202305
-CONFIG_UDK_VERSION=2017
-CONFIG_ARCH_X86=y
-CONFIG_ARCH_BOOTBLOCK_X86_32=y
-CONFIG_ARCH_VERSTAGE_X86_32=y
-CONFIG_ARCH_ROMSTAGE_X86_32=y
-CONFIG_ARCH_POSTCAR_X86_32=y
-CONFIG_ARCH_RAMSTAGE_X86_32=y
-CONFIG_ARCH_ALL_STAGES_X86_32=y
-CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
-CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
-CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
-CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
-CONFIG_PC80_SYSTEM=y
-CONFIG_POSTCAR_STAGE=y
-CONFIG_BOOTBLOCK_SIMPLE=y
-# CONFIG_BOOTBLOCK_NORMAL is not set
-CONFIG_COLLECT_TIMESTAMPS_TSC=y
-CONFIG_HAVE_CF9_RESET=y
-CONFIG_DEBUG_HW_BREAKPOINTS=y
-CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
-# CONFIG_DUMP_SMBIOS_TYPE17 is not set
-CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
-CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
-CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
-CONFIG_DEFAULT_EBDA_SIZE=0x400
-# end of Chipset
-
-#
-# Devices
-#
-CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
-CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
-CONFIG_HAVE_FSP_GOP=y
-CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
-CONFIG_MAINBOARD_USE_LIBGFXINIT=y
-# CONFIG_VGA_ROM_RUN is not set
-# CONFIG_RUN_FSP_GOP is not set
-# CONFIG_NO_GFX_INIT is not set
-CONFIG_NO_EARLY_GFX_INIT=y
-
-#
-# Display
-#
-CONFIG_VGA_TEXT_FRAMEBUFFER=y
-# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
-# end of Display
-
-CONFIG_PCI=y
-CONFIG_ECAM_MMCONF_SUPPORT=y
-CONFIG_PCIX_PLUGIN_SUPPORT=y
-CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
-CONFIG_PCIEXP_PLUGIN_SUPPORT=y
-CONFIG_ECAM_MMCONF_LENGTH=0x10000000
-CONFIG_PCI_ALLOW_BUS_MASTER=y
-CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
-CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
-# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
-# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
-# CONFIG_EARLY_PCI_BRIDGE is not set
-CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
-CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
-# CONFIG_SOFTWARE_I2C is not set
-CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
-# end of Devices
-
-#
-# Generic Drivers
-#
-CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
-# CONFIG_ELOG is not set
-CONFIG_CACHE_MRC_SETTINGS=y
-CONFIG_MRC_SETTINGS_PROTECT=y
-# CONFIG_DRIVERS_OPTION_CFR is not set
-# CONFIG_SMMSTORE is not set
-CONFIG_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
-# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_DRIVERS_UART=y
-# CONFIG_DRIVERS_UART_OXPCIE is not set
-# CONFIG_VPD is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVERS_I2C_DESIGNWARE=y
-# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_FSP_USE_REPO=y
-# CONFIG_DISPLAY_HOBS is not set
-# CONFIG_DISPLAY_UPD_DATA is not set
-# CONFIG_BMP_LOGO is not set
-CONFIG_PLATFORM_USES_FSP2_0=y
-CONFIG_PLATFORM_USES_FSP2_X86_32=y
-CONFIG_HAVE_INTEL_FSP_REPO=y
-CONFIG_ADD_FSP_BINARIES=y
-CONFIG_FSP_S_CBFS="fsps.bin"
-CONFIG_FSP_M_CBFS="fspm.bin"
-CONFIG_FSP_FULL_FD=y
-CONFIG_FSP_T_RESERVED_SIZE=0x0
-CONFIG_FSP_M_XIP=y
-CONFIG_HAVE_FSP_LOGO_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
-CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
-CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
-CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
-# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
-# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
-CONFIG_INTEL_INT15=y
-CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
-CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Skylake"
-CONFIG_GFX_GMA_PCH="Sunrise_Point"
-CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
-CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
-# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
-# CONFIG_DRIVERS_PS2_KEYBOARD is not set
-CONFIG_DRIVERS_MC146818=y
-CONFIG_USE_PC_CMOS_ALTCENTURY=y
-CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-CONFIG_VGA=y
-# CONFIG_DRIVERS_SIL_3114 is not set
-CONFIG_DRIVERS_USB_ACPI=y
-CONFIG_DRIVERS_WIFI_GENERIC=y
-CONFIG_DRIVERS_MTK_WIFI=y
-# end of Generic Drivers
-
-#
-# Security
-#
-
-#
-# CBFS verification
-#
-# CONFIG_CBFS_VERIFICATION is not set
-# end of CBFS verification
-
-#
-# Verified Boot (vboot)
-#
-# end of Verified Boot (vboot)
-
-#
-# Trusted Platform Module
-#
-CONFIG_NO_TPM=y
-# CONFIG_TPM1 is not set
-# CONFIG_TPM2 is not set
-CONFIG_MAINBOARD_HAS_TPM2=y
-CONFIG_PCR_BOOT_MODE=1
-CONFIG_PCR_HWID=1
-CONFIG_PCR_SRTM=2
-CONFIG_PCR_FW_VER=10
-CONFIG_PCR_RUNTIME_DATA=3
-# end of Trusted Platform Module
-
-#
-# Memory initialization
-#
-CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
-# end of Memory initialization
-
-# CONFIG_STM is not set
-# CONFIG_INTEL_CBNT_SUPPORT is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
-# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
-# CONFIG_BOOTMEDIA_SMM_BWP is not set
-# end of Security
-
-CONFIG_ACPI_HAVE_PCAT_8259=y
-CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
-CONFIG_ACPI_SOC_NVS=y
-CONFIG_ACPI_CUSTOM_MADT=y
-CONFIG_ACPI_NO_CUSTOM_MADT=y
-CONFIG_ACPI_COMMON_MADT_LAPIC=y
-CONFIG_ACPI_COMMON_MADT_IOAPIC=y
-CONFIG_HAVE_ACPI_TABLES=y
-CONFIG_ACPI_LPIT=y
-CONFIG_BOOT_DEVICE_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
-CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
-CONFIG_RTC=y
-
-#
-# Console
-#
-CONFIG_BOOTBLOCK_CONSOLE=y
-CONFIG_POSTCAR_CONSOLE=y
-CONFIG_SQUELCH_EARLY_SMP=y
-
-#
-# I/O mapped, 8250-compatible
-#
-CONFIG_TTYS0_BASE=0x3f8
-
-#
-# Serial port base address = 0x3f8
-#
-# CONFIG_CONSOLE_SERIAL_921600 is not set
-# CONFIG_CONSOLE_SERIAL_460800 is not set
-# CONFIG_CONSOLE_SERIAL_230400 is not set
-CONFIG_CONSOLE_SERIAL_115200=y
-# CONFIG_CONSOLE_SERIAL_57600 is not set
-# CONFIG_CONSOLE_SERIAL_38400 is not set
-# CONFIG_CONSOLE_SERIAL_19200 is not set
-# CONFIG_CONSOLE_SERIAL_9600 is not set
-CONFIG_TTYS0_LCS=3
-# CONFIG_SPKMODEM is not set
-# CONFIG_CONSOLE_NE2K is not set
-CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_SPI_FLASH is not set
-# CONFIG_CONSOLE_I2C_SMBUS is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
-CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
-CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
-# CONFIG_CMOS_POST is not set
-CONFIG_POST_DEVICE_NONE=y
-# CONFIG_POST_DEVICE_LPC is not set
-# CONFIG_POST_DEVICE_PCI_PCIE is not set
-CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_CB=y
-# end of Console
-
-CONFIG_ACPI_S1_NOT_SUPPORTED=y
-CONFIG_HAVE_ACPI_RESUME=y
-CONFIG_RESUME_PATH_SAME_AS_BOOT=y
-CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_IOAPIC=y
-CONFIG_ACPI_NHLT=y
-
-#
-# System tables
-#
-CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_BIOS_VENDOR="coreboot"
-CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
-# end of System tables
-
-#
-# Payload
-#
-CONFIG_PAYLOAD_NONE=y
-# end of Payload
-
-#
-# Debugging
-#
-
-#
-# CPU Debug Settings
-#
-# CONFIG_DISPLAY_MTRRS is not set
-
-#
-# Vendorcode Debug Settings
-#
-
-#
-# BLOB Debug Settings
-#
-# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
-# CONFIG_DISPLAY_FSP_HEADER is not set
-# CONFIG_VERIFY_HOBS is not set
-# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
-CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
-# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
-
-#
-# General Debug Settings
-#
-# CONFIG_GDB_STUB is not set
-CONFIG_HAVE_DEBUG_GPIO=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_SMBUS=y
-# CONFIG_DEBUG_SMBUS is not set
-# CONFIG_DEBUG_MALLOC is not set
-# CONFIG_DEBUG_CONSOLE_INIT is not set
-# CONFIG_DEBUG_SPI_FLASH is not set
-# CONFIG_DEBUG_BOOT_STATE is not set
-# CONFIG_DEBUG_ADA_CODE is not set
-CONFIG_HAVE_EM100_SUPPORT=y
-# CONFIG_EM100 is not set
-# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
-# end of Debugging
-
-CONFIG_RAMSTAGE_ADA=y
-CONFIG_RAMSTAGE_LIBHWBASE=y
-CONFIG_SPD_READ_BY_WORD=y
-CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
-CONFIG_HWBASE_DIRECT_PCIDEV=y
-CONFIG_DECOMPRESS_OFAST=y
-CONFIG_WARNINGS_ARE_ERRORS=y
-CONFIG_MAX_REBOOT_CNT=3
-CONFIG_RELOCATABLE_MODULES=y
-CONFIG_GENERIC_GPIO_LIB=y
-CONFIG_HAVE_BOOTBLOCK=y
-CONFIG_HAVE_ROMSTAGE=y
-CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/t480_fsp_16mb/target.cfg b/config/coreboot/t480_fsp_16mb/target.cfg
deleted file mode 100644
index d0ddd743..00000000
--- a/config/coreboot/t480_fsp_16mb/target.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-tree="next"
-xarch="i386-elf"
-payload_seabios="y"
-payload_grub="y"
-payload_memtest="y"
-grub_scan_disk="nvme ahci"
-grubtree="xhci"
-vcfg="t480"
-build_depend="seabios/default grub/xhci memtest86plus"
-IFD_platform="sklkbl"
-release="n" # t480_vfsp_16mb is released instead
diff --git a/config/coreboot/t480s_fsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/t480s_fsp_16mb/config/libgfxinit_corebootfb
deleted file mode 100644
index 2505b389..00000000
--- a/config/coreboot/t480s_fsp_16mb/config/libgfxinit_corebootfb
+++ /dev/null
@@ -1,855 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# coreboot configuration
-#
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_CBFS_PREFIX="fallback"
-CONFIG_COMPILER_GCC=y
-# CONFIG_COMPILER_LLVM_CLANG is not set
-# CONFIG_ANY_TOOLCHAIN is not set
-# CONFIG_CCACHE is not set
-# CONFIG_LTO is not set
-# CONFIG_IWYU is not set
-# CONFIG_FMD_GENPARSER is not set
-# CONFIG_UTIL_GENPARSER is not set
-CONFIG_OPTION_BACKEND_NONE=y
-CONFIG_COMPRESS_RAMSTAGE_LZMA=y
-# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
-CONFIG_SEPARATE_ROMSTAGE=y
-CONFIG_INCLUDE_CONFIG_FILE=y
-CONFIG_COLLECT_TIMESTAMPS=y
-# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
-CONFIG_USE_BLOBS=y
-# CONFIG_USE_AMD_BLOBS is not set
-# CONFIG_USE_QC_BLOBS is not set
-# CONFIG_COVERAGE is not set
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
-# CONFIG_ASAN is not set
-# CONFIG_NO_STAGE_CACHE is not set
-CONFIG_TSEG_STAGE_CACHE=y
-# CONFIG_UPDATE_IMAGE is not set
-# CONFIG_BOOTSPLASH_IMAGE is not set
-
-#
-# Software Bill Of Materials (SBOM)
-#
-# CONFIG_SBOM is not set
-# end of Software Bill Of Materials (SBOM)
-# end of General setup
-
-#
-# Mainboard
-#
-
-#
-# Important: Run 'make distclean' before switching boards
-#
-# CONFIG_VENDOR_51NB is not set
-# CONFIG_VENDOR_ACER is not set
-# CONFIG_VENDOR_AMD is not set
-# CONFIG_VENDOR_AOOSTAR is not set
-# CONFIG_VENDOR_AOPEN is not set
-# CONFIG_VENDOR_APPLE is not set
-# CONFIG_VENDOR_ARM is not set
-# CONFIG_VENDOR_ASROCK is not set
-# CONFIG_VENDOR_ASUS is not set
-# CONFIG_VENDOR_BIOSTAR is not set
-# CONFIG_VENDOR_BOSTENTECH is not set
-# CONFIG_VENDOR_BYTEDANCE is not set
-# CONFIG_VENDOR_CAVIUM is not set
-# CONFIG_VENDOR_CLEVO is not set
-# CONFIG_VENDOR_COMPULAB is not set
-# CONFIG_VENDOR_CWWK is not set
-# CONFIG_VENDOR_DELL is not set
-# CONFIG_VENDOR_EMULATION is not set
-# CONFIG_VENDOR_ERYING is not set
-# CONFIG_VENDOR_EXAMPLE is not set
-# CONFIG_VENDOR_FACEBOOK is not set
-# CONFIG_VENDOR_FOXCONN is not set
-# CONFIG_VENDOR_FRAMEWORK is not set
-# CONFIG_VENDOR_GETAC is not set
-# CONFIG_VENDOR_GIGABYTE is not set
-# CONFIG_VENDOR_GOOGLE is not set
-# CONFIG_VENDOR_HARDKERNEL is not set
-# CONFIG_VENDOR_HP is not set
-# CONFIG_VENDOR_IBASE is not set
-# CONFIG_VENDOR_IBM is not set
-# CONFIG_VENDOR_INTEL is not set
-# CONFIG_VENDOR_INVENTEC is not set
-# CONFIG_VENDOR_KONTRON is not set
-# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
-# CONFIG_VENDOR_LIBRETREND is not set
-# CONFIG_VENDOR_MITAC_COMPUTING is not set
-# CONFIG_VENDOR_MSI is not set
-# CONFIG_VENDOR_OCP is not set
-# CONFIG_VENDOR_OPENCELLULAR is not set
-# CONFIG_VENDOR_PACKARDBELL is not set
-# CONFIG_VENDOR_PCENGINES is not set
-# CONFIG_VENDOR_PINE64 is not set
-# CONFIG_VENDOR_PORTWELL is not set
-# CONFIG_VENDOR_PRODRIVE is not set
-# CONFIG_VENDOR_PROTECTLI is not set
-# CONFIG_VENDOR_PURISM is not set
-# CONFIG_VENDOR_RAPTOR_CS is not set
-# CONFIG_VENDOR_RAZER is not set
-# CONFIG_VENDOR_RODA is not set
-# CONFIG_VENDOR_SAMSUNG is not set
-# CONFIG_VENDOR_SAPPHIRE is not set
-# CONFIG_VENDOR_SIEMENS is not set
-# CONFIG_VENDOR_SIFIVE is not set
-# CONFIG_VENDOR_STARLABS is not set
-# CONFIG_VENDOR_SUPERMICRO is not set
-# CONFIG_VENDOR_SYSTEM76 is not set
-# CONFIG_VENDOR_TI is not set
-# CONFIG_VENDOR_TOPTON is not set
-# CONFIG_VENDOR_UP is not set
-# CONFIG_VENDOR_VIA is not set
-CONFIG_MAINBOARD_FAMILY="T480S"
-CONFIG_MAINBOARD_PART_NUMBER="T480S"
-CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/sklkbl_thinkpad"
-CONFIG_VGA_BIOS_ID="8086,0406"
-CONFIG_DIMM_MAX=2
-CONFIG_DIMM_SPD_SIZE=512
-CONFIG_FMDFILE=""
-# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xEEC000
-CONFIG_CONSOLE_SERIAL=y
-CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=1600
-CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=2560
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_DUAL=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_QUAD=y
-CONFIG_MAX_CPUS=8
-# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
-CONFIG_POST_DEVICE=y
-CONFIG_POST_IO=y
-CONFIG_UART_FOR_CONSOLE=0
-CONFIG_VARIANT_DIR="t480s"
-CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
-CONFIG_DEVICETREE="devicetree.cb"
-# CONFIG_VBOOT is not set
-# CONFIG_VGA_BIOS is not set
-CONFIG_PCIEXP_ASPM=y
-CONFIG_PCIEXP_L1_SUB_STATE=y
-CONFIG_PCIEXP_CLK_PM=y
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=256
-CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
-# CONFIG_FATAL_ASSERTS is not set
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
-# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
-CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="T480S"
-# CONFIG_CONSOLE_POST is not set
-CONFIG_MAX_SOCKET=1
-CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_USE_PM_ACPI_TIMER=y
-CONFIG_DCACHE_RAM_BASE=0xfef00000
-CONFIG_DCACHE_RAM_SIZE=0x40000
-CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
-CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
-CONFIG_HAVE_INTEL_FIRMWARE=y
-CONFIG_USE_LEGACY_8254_TIMER=y
-CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_DRIVERS_INTEL_WIFI=y
-CONFIG_IFD_BIN_PATH="../../../config/ifd/t480s/ifd_16"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/t480s/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/t480s/gbe"
-CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
-CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
-CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
-# CONFIG_DEBUG_SMI is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
-CONFIG_HAVE_IFD_BIN=y
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-# CONFIG_BOARD_LENOVO_T480 is not set
-CONFIG_BOARD_LENOVO_T480S=y
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-# CONFIG_BOARD_LENOVO_X230 is not set
-# CONFIG_BOARD_LENOVO_X230T is not set
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="PNP0F13"
-CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
-CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
-CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480s/tb.bin"
-CONFIG_TTYS0_BAUD=115200
-# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
-CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
-CONFIG_D3COLD_SUPPORT=y
-CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
-CONFIG_DRIVERS_UART_8250IO=y
-CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
-CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x50
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-CONFIG_BOARD_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
-CONFIG_COREBOOT_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
-CONFIG_COREBOOT_ROMSIZE_KB=16384
-CONFIG_ROM_SIZE=0x01000000
-CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
-CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
-CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
-# end of Mainboard
-
-CONFIG_SYSTEM_TYPE_LAPTOP=y
-
-#
-# Chipset
-#
-
-#
-# SoC
-#
-CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
-CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
-CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
-CONFIG_CBFS_MCACHE_SIZE=0x4000
-CONFIG_ROMSTAGE_ADDR=0x2000000
-CONFIG_VERSTAGE_ADDR=0x2000000
-CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x200000
-CONFIG_SMM_MODULE_STACK_SIZE=0x800
-CONFIG_ACPI_BERT_SIZE=0x0
-CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xe0000000
-CONFIG_ACPI_CPU_STRING="CP%02X"
-CONFIG_STACK_SIZE=0x2000
-CONFIG_IFD_CHIPSET="sklkbl"
-CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_MAX_ROOT_PORTS=24
-CONFIG_PCR_BASE_ADDRESS=0xfd000000
-CONFIG_CPU_BCLK_MHZ=100
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
-CONFIG_CPU_XTAL_HZ=24000000
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
-CONFIG_SOC_INTEL_I2C_DEV_MAX=6
-# CONFIG_ENABLE_SATA_TEST_MODE is not set
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
-CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
-CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
-CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
-CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
-CONFIG_INTEL_GMA_BCLV_WIDTH=16
-CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
-CONFIG_INTEL_GMA_BCLM_WIDTH=16
-CONFIG_FSP_PUBLISH_MBP_HOB=y
-CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
-CONFIG_MAX_HECI_DEVICES=5
-CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_HAVE_PAM0_REGISTER=y
-CONFIG_PCIEXP_COMMON_CLOCK=y
-CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
-CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
-CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
-CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
-CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
-CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
-CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
-CONFIG_SOC_INTEL_KABYLAKE=y
-CONFIG_FSP_T_LOCATION=0xfffe0000
-CONFIG_SOC_INTEL_COMMON_BLOCK_P2SB=y
-CONFIG_FIXED_SMBUS_IO_BASE=0xefa0
-CONFIG_CBFS_CACHE_ALIGN=8
-CONFIG_SOC_INTEL_COMMON=y
-
-#
-# Intel SoC Common Code for IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BLOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_LPIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_PEP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
-CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
-# CONFIG_USE_COREBOOT_MP_INIT is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
-CONFIG_INTEL_CAR_NEM_ENHANCED=y
-# CONFIG_USE_INTEL_FSP_MP_INIT is not set
-CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
-CONFIG_HAVE_HYPERTHREADING=y
-# CONFIG_FSP_HYPERTHREADING is not set
-# CONFIG_INTEL_KEYLOCKER is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
-CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
-CONFIG_SOC_INTEL_CSE_RW_A_FMAP_NAME="ME_RW_A"
-CONFIG_SOC_INTEL_CSE_RW_B_FMAP_NAME="ME_RW_B"
-CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME="me_rw"
-CONFIG_SOC_INTEL_CSE_RW_HASH_CBFS_NAME="me_rw.hash"
-CONFIG_SOC_INTEL_CSE_RW_VERSION_CBFS_NAME="me_rw.version"
-CONFIG_SOC_INTEL_CSE_RW_FILE=""
-CONFIG_SOC_INTEL_CSE_RW_VERSION=""
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_NAME="cse_iom"
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
-CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
-CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
-CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
-# CONFIG_SOC_INTEL_DISABLE_IGD is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
-CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
-CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
-CONFIG_SA_ENABLE_DPR=y
-CONFIG_HAVE_CAPID_A_REGISTER=y
-CONFIG_HAVE_BDSM_BGSM_REGISTER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
-
-#
-# Intel SoC Common PCH Code
-#
-CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
-CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
-CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
-CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
-
-#
-# Intel SoC Common coreboot stages and non-IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BASECODE=y
-CONFIG_SOC_INTEL_COMMON_RESET=y
-CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
-CONFIG_PAVP=y
-# CONFIG_MMA is not set
-CONFIG_SOC_INTEL_COMMON_NHLT=y
-# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
-
-#
-# CPU
-#
-CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
-CONFIG_CPU_INTEL_COMMON=y
-CONFIG_ENABLE_VMX=y
-CONFIG_SET_IA32_FC_LOCK_BIT=y
-CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_PARALLEL_MP=y
-CONFIG_PARALLEL_MP_AP_WORK=y
-CONFIG_XAPIC_ONLY=y
-# CONFIG_X2APIC_ONLY is not set
-# CONFIG_X2APIC_RUNTIME is not set
-# CONFIG_X2APIC_LATE_WORKAROUND is not set
-CONFIG_UDELAY_TSC=y
-CONFIG_TSC_MONOTONIC_TIMER=y
-CONFIG_TSC_SYNC_MFENCE=y
-CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_SMM_TSEG=y
-CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
-CONFIG_AP_STACK_SIZE=0x800
-CONFIG_SMP=y
-CONFIG_SSE=y
-CONFIG_SSE2=y
-CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
-CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
-CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
-# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
-
-#
-# Northbridge
-#
-
-#
-# Southbridge
-#
-# CONFIG_PCIEXP_HOTPLUG is not set
-CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
-# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
-CONFIG_RCBA_LENGTH=0x4000
-
-#
-# Super I/O
-#
-
-#
-# Embedded Controllers
-#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-CONFIG_H8_BEEP_ON_DEATH=y
-CONFIG_H8_FLASH_LEDS_ON_DEATH=y
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
-CONFIG_H8_HAS_LEDLOGO=y
-CONFIG_EC_LENOVO_PMH7=y
-
-#
-# Intel Firmware
-#
-CONFIG_HAVE_ME_BIN=y
-# CONFIG_STITCH_ME_BIN is not set
-# CONFIG_CHECK_ME is not set
-# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
-# CONFIG_USE_ME_CLEANER is not set
-CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
-CONFIG_HAVE_GBE_BIN=y
-# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
-# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
-CONFIG_UNLOCK_FLASH_REGIONS=y
-CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
-CONFIG_UDK_BASE=y
-CONFIG_UDK_2017_BINDING=y
-CONFIG_UDK_2013_VERSION=2013
-CONFIG_UDK_2017_VERSION=2017
-CONFIG_UDK_202005_VERSION=202005
-CONFIG_UDK_202111_VERSION=202111
-CONFIG_UDK_202302_VERSION=202302
-CONFIG_UDK_202305_VERSION=202305
-CONFIG_UDK_VERSION=2017
-CONFIG_ARCH_X86=y
-CONFIG_ARCH_BOOTBLOCK_X86_32=y
-CONFIG_ARCH_VERSTAGE_X86_32=y
-CONFIG_ARCH_ROMSTAGE_X86_32=y
-CONFIG_ARCH_POSTCAR_X86_32=y
-CONFIG_ARCH_RAMSTAGE_X86_32=y
-CONFIG_ARCH_ALL_STAGES_X86_32=y
-CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
-CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
-CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
-CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
-CONFIG_PC80_SYSTEM=y
-CONFIG_POSTCAR_STAGE=y
-CONFIG_BOOTBLOCK_SIMPLE=y
-# CONFIG_BOOTBLOCK_NORMAL is not set
-CONFIG_COLLECT_TIMESTAMPS_TSC=y
-CONFIG_HAVE_CF9_RESET=y
-CONFIG_DEBUG_HW_BREAKPOINTS=y
-CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
-# CONFIG_DUMP_SMBIOS_TYPE17 is not set
-CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
-CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
-CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
-CONFIG_DEFAULT_EBDA_SIZE=0x400
-# end of Chipset
-
-#
-# Devices
-#
-CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
-CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
-CONFIG_HAVE_FSP_GOP=y
-CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
-CONFIG_MAINBOARD_USE_LIBGFXINIT=y
-# CONFIG_VGA_ROM_RUN is not set
-# CONFIG_RUN_FSP_GOP is not set
-# CONFIG_NO_GFX_INIT is not set
-CONFIG_NO_EARLY_GFX_INIT=y
-
-#
-# Display
-#
-# CONFIG_VGA_TEXT_FRAMEBUFFER is not set
-CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
-CONFIG_LINEAR_FRAMEBUFFER=y
-# CONFIG_BOOTSPLASH is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_NONE=y
-# CONFIG_DEFAULT_SCREEN_ROTATION_90 is not set
-# CONFIG_DEFAULT_SCREEN_ROTATION_180 is not set
-# CONFIG_DEFAULT_SCREEN_ROTATION_270 is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
-# end of Display
-
-CONFIG_PCI=y
-CONFIG_ECAM_MMCONF_SUPPORT=y
-CONFIG_PCIX_PLUGIN_SUPPORT=y
-CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
-CONFIG_PCIEXP_PLUGIN_SUPPORT=y
-CONFIG_ECAM_MMCONF_LENGTH=0x10000000
-CONFIG_PCI_ALLOW_BUS_MASTER=y
-CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
-CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
-# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
-# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
-# CONFIG_EARLY_PCI_BRIDGE is not set
-CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
-CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
-# CONFIG_SOFTWARE_I2C is not set
-CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
-# end of Devices
-
-#
-# Generic Drivers
-#
-CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
-# CONFIG_ELOG is not set
-CONFIG_CACHE_MRC_SETTINGS=y
-CONFIG_MRC_SETTINGS_PROTECT=y
-# CONFIG_DRIVERS_OPTION_CFR is not set
-# CONFIG_SMMSTORE is not set
-CONFIG_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
-# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_DRIVERS_UART=y
-# CONFIG_DRIVERS_UART_OXPCIE is not set
-# CONFIG_VPD is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVERS_I2C_DESIGNWARE=y
-# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_FSP_USE_REPO=y
-# CONFIG_DISPLAY_HOBS is not set
-# CONFIG_DISPLAY_UPD_DATA is not set
-# CONFIG_BMP_LOGO is not set
-CONFIG_PLATFORM_USES_FSP2_0=y
-CONFIG_PLATFORM_USES_FSP2_X86_32=y
-CONFIG_HAVE_INTEL_FSP_REPO=y
-CONFIG_ADD_FSP_BINARIES=y
-CONFIG_FSP_S_CBFS="fsps.bin"
-CONFIG_FSP_M_CBFS="fspm.bin"
-CONFIG_FSP_FULL_FD=y
-CONFIG_FSP_T_RESERVED_SIZE=0x0
-CONFIG_FSP_M_XIP=y
-CONFIG_HAVE_FSP_LOGO_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
-CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
-CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
-CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
-# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
-# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
-CONFIG_INTEL_INT15=y
-CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
-CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Skylake"
-CONFIG_GFX_GMA_PCH="Sunrise_Point"
-CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
-CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
-# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
-# CONFIG_DRIVERS_PS2_KEYBOARD is not set
-CONFIG_DRIVERS_MC146818=y
-CONFIG_USE_PC_CMOS_ALTCENTURY=y
-CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_SIL_3114 is not set
-CONFIG_DRIVERS_USB_ACPI=y
-CONFIG_DRIVERS_WIFI_GENERIC=y
-CONFIG_DRIVERS_MTK_WIFI=y
-# end of Generic Drivers
-
-#
-# Security
-#
-
-#
-# CBFS verification
-#
-# CONFIG_CBFS_VERIFICATION is not set
-# end of CBFS verification
-
-#
-# Verified Boot (vboot)
-#
-# end of Verified Boot (vboot)
-
-#
-# Trusted Platform Module
-#
-CONFIG_NO_TPM=y
-# CONFIG_TPM1 is not set
-# CONFIG_TPM2 is not set
-CONFIG_MAINBOARD_HAS_TPM2=y
-CONFIG_PCR_BOOT_MODE=1
-CONFIG_PCR_HWID=1
-CONFIG_PCR_SRTM=2
-CONFIG_PCR_FW_VER=10
-CONFIG_PCR_RUNTIME_DATA=3
-# end of Trusted Platform Module
-
-#
-# Memory initialization
-#
-CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
-# end of Memory initialization
-
-# CONFIG_STM is not set
-# CONFIG_INTEL_CBNT_SUPPORT is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
-# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
-# CONFIG_BOOTMEDIA_SMM_BWP is not set
-# end of Security
-
-CONFIG_ACPI_HAVE_PCAT_8259=y
-CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
-CONFIG_ACPI_SOC_NVS=y
-CONFIG_ACPI_CUSTOM_MADT=y
-CONFIG_ACPI_NO_CUSTOM_MADT=y
-CONFIG_ACPI_COMMON_MADT_LAPIC=y
-CONFIG_ACPI_COMMON_MADT_IOAPIC=y
-CONFIG_HAVE_ACPI_TABLES=y
-CONFIG_ACPI_LPIT=y
-CONFIG_BOOT_DEVICE_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
-CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
-CONFIG_RTC=y
-
-#
-# Console
-#
-CONFIG_BOOTBLOCK_CONSOLE=y
-CONFIG_POSTCAR_CONSOLE=y
-CONFIG_SQUELCH_EARLY_SMP=y
-
-#
-# I/O mapped, 8250-compatible
-#
-CONFIG_TTYS0_BASE=0x3f8
-
-#
-# Serial port base address = 0x3f8
-#
-# CONFIG_CONSOLE_SERIAL_921600 is not set
-# CONFIG_CONSOLE_SERIAL_460800 is not set
-# CONFIG_CONSOLE_SERIAL_230400 is not set
-CONFIG_CONSOLE_SERIAL_115200=y
-# CONFIG_CONSOLE_SERIAL_57600 is not set
-# CONFIG_CONSOLE_SERIAL_38400 is not set
-# CONFIG_CONSOLE_SERIAL_19200 is not set
-# CONFIG_CONSOLE_SERIAL_9600 is not set
-CONFIG_TTYS0_LCS=3
-# CONFIG_SPKMODEM is not set
-# CONFIG_CONSOLE_NE2K is not set
-CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_SPI_FLASH is not set
-# CONFIG_CONSOLE_I2C_SMBUS is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
-CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
-CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
-# CONFIG_CMOS_POST is not set
-CONFIG_POST_DEVICE_NONE=y
-# CONFIG_POST_DEVICE_LPC is not set
-# CONFIG_POST_DEVICE_PCI_PCIE is not set
-CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_CB=y
-# end of Console
-
-CONFIG_ACPI_S1_NOT_SUPPORTED=y
-CONFIG_HAVE_ACPI_RESUME=y
-CONFIG_RESUME_PATH_SAME_AS_BOOT=y
-CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_IOAPIC=y
-CONFIG_ACPI_NHLT=y
-
-#
-# System tables
-#
-CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_BIOS_VENDOR="coreboot"
-CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
-# end of System tables
-
-#
-# Payload
-#
-CONFIG_PAYLOAD_NONE=y
-# end of Payload
-
-#
-# Debugging
-#
-
-#
-# CPU Debug Settings
-#
-# CONFIG_DISPLAY_MTRRS is not set
-
-#
-# Vendorcode Debug Settings
-#
-
-#
-# BLOB Debug Settings
-#
-# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
-# CONFIG_DISPLAY_FSP_HEADER is not set
-# CONFIG_VERIFY_HOBS is not set
-# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
-CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
-# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
-
-#
-# General Debug Settings
-#
-# CONFIG_GDB_STUB is not set
-CONFIG_HAVE_DEBUG_GPIO=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_SMBUS=y
-# CONFIG_DEBUG_SMBUS is not set
-# CONFIG_DEBUG_MALLOC is not set
-# CONFIG_DEBUG_CONSOLE_INIT is not set
-# CONFIG_DEBUG_SPI_FLASH is not set
-# CONFIG_DEBUG_BOOT_STATE is not set
-# CONFIG_DEBUG_ADA_CODE is not set
-CONFIG_HAVE_EM100_SUPPORT=y
-# CONFIG_EM100 is not set
-# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
-# end of Debugging
-
-CONFIG_RAMSTAGE_ADA=y
-CONFIG_RAMSTAGE_LIBHWBASE=y
-CONFIG_SPD_READ_BY_WORD=y
-CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
-CONFIG_HWBASE_DIRECT_PCIDEV=y
-CONFIG_DECOMPRESS_OFAST=y
-CONFIG_WARNINGS_ARE_ERRORS=y
-CONFIG_MAX_REBOOT_CNT=3
-CONFIG_RELOCATABLE_MODULES=y
-CONFIG_GENERIC_GPIO_LIB=y
-CONFIG_HAVE_BOOTBLOCK=y
-CONFIG_HAVE_ROMSTAGE=y
-CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/t480s_fsp_16mb/config/libgfxinit_txtmode b/config/coreboot/t480s_fsp_16mb/config/libgfxinit_txtmode
deleted file mode 100644
index 407be629..00000000
--- a/config/coreboot/t480s_fsp_16mb/config/libgfxinit_txtmode
+++ /dev/null
@@ -1,848 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# coreboot configuration
-#
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_CBFS_PREFIX="fallback"
-CONFIG_COMPILER_GCC=y
-# CONFIG_COMPILER_LLVM_CLANG is not set
-# CONFIG_ANY_TOOLCHAIN is not set
-# CONFIG_CCACHE is not set
-# CONFIG_LTO is not set
-# CONFIG_IWYU is not set
-# CONFIG_FMD_GENPARSER is not set
-# CONFIG_UTIL_GENPARSER is not set
-CONFIG_OPTION_BACKEND_NONE=y
-CONFIG_COMPRESS_RAMSTAGE_LZMA=y
-# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
-CONFIG_SEPARATE_ROMSTAGE=y
-CONFIG_INCLUDE_CONFIG_FILE=y
-CONFIG_COLLECT_TIMESTAMPS=y
-# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
-CONFIG_USE_BLOBS=y
-# CONFIG_USE_AMD_BLOBS is not set
-# CONFIG_USE_QC_BLOBS is not set
-# CONFIG_COVERAGE is not set
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
-# CONFIG_ASAN is not set
-# CONFIG_NO_STAGE_CACHE is not set
-CONFIG_TSEG_STAGE_CACHE=y
-# CONFIG_UPDATE_IMAGE is not set
-# CONFIG_BOOTSPLASH_IMAGE is not set
-
-#
-# Software Bill Of Materials (SBOM)
-#
-# CONFIG_SBOM is not set
-# end of Software Bill Of Materials (SBOM)
-# end of General setup
-
-#
-# Mainboard
-#
-
-#
-# Important: Run 'make distclean' before switching boards
-#
-# CONFIG_VENDOR_51NB is not set
-# CONFIG_VENDOR_ACER is not set
-# CONFIG_VENDOR_AMD is not set
-# CONFIG_VENDOR_AOOSTAR is not set
-# CONFIG_VENDOR_AOPEN is not set
-# CONFIG_VENDOR_APPLE is not set
-# CONFIG_VENDOR_ARM is not set
-# CONFIG_VENDOR_ASROCK is not set
-# CONFIG_VENDOR_ASUS is not set
-# CONFIG_VENDOR_BIOSTAR is not set
-# CONFIG_VENDOR_BOSTENTECH is not set
-# CONFIG_VENDOR_BYTEDANCE is not set
-# CONFIG_VENDOR_CAVIUM is not set
-# CONFIG_VENDOR_CLEVO is not set
-# CONFIG_VENDOR_COMPULAB is not set
-# CONFIG_VENDOR_CWWK is not set
-# CONFIG_VENDOR_DELL is not set
-# CONFIG_VENDOR_EMULATION is not set
-# CONFIG_VENDOR_ERYING is not set
-# CONFIG_VENDOR_EXAMPLE is not set
-# CONFIG_VENDOR_FACEBOOK is not set
-# CONFIG_VENDOR_FOXCONN is not set
-# CONFIG_VENDOR_FRAMEWORK is not set
-# CONFIG_VENDOR_GETAC is not set
-# CONFIG_VENDOR_GIGABYTE is not set
-# CONFIG_VENDOR_GOOGLE is not set
-# CONFIG_VENDOR_HARDKERNEL is not set
-# CONFIG_VENDOR_HP is not set
-# CONFIG_VENDOR_IBASE is not set
-# CONFIG_VENDOR_IBM is not set
-# CONFIG_VENDOR_INTEL is not set
-# CONFIG_VENDOR_INVENTEC is not set
-# CONFIG_VENDOR_KONTRON is not set
-# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
-# CONFIG_VENDOR_LIBRETREND is not set
-# CONFIG_VENDOR_MITAC_COMPUTING is not set
-# CONFIG_VENDOR_MSI is not set
-# CONFIG_VENDOR_OCP is not set
-# CONFIG_VENDOR_OPENCELLULAR is not set
-# CONFIG_VENDOR_PACKARDBELL is not set
-# CONFIG_VENDOR_PCENGINES is not set
-# CONFIG_VENDOR_PINE64 is not set
-# CONFIG_VENDOR_PORTWELL is not set
-# CONFIG_VENDOR_PRODRIVE is not set
-# CONFIG_VENDOR_PROTECTLI is not set
-# CONFIG_VENDOR_PURISM is not set
-# CONFIG_VENDOR_RAPTOR_CS is not set
-# CONFIG_VENDOR_RAZER is not set
-# CONFIG_VENDOR_RODA is not set
-# CONFIG_VENDOR_SAMSUNG is not set
-# CONFIG_VENDOR_SAPPHIRE is not set
-# CONFIG_VENDOR_SIEMENS is not set
-# CONFIG_VENDOR_SIFIVE is not set
-# CONFIG_VENDOR_STARLABS is not set
-# CONFIG_VENDOR_SUPERMICRO is not set
-# CONFIG_VENDOR_SYSTEM76 is not set
-# CONFIG_VENDOR_TI is not set
-# CONFIG_VENDOR_TOPTON is not set
-# CONFIG_VENDOR_UP is not set
-# CONFIG_VENDOR_VIA is not set
-CONFIG_MAINBOARD_FAMILY="T480S"
-CONFIG_MAINBOARD_PART_NUMBER="T480S"
-CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/sklkbl_thinkpad"
-CONFIG_VGA_BIOS_ID="8086,0406"
-CONFIG_DIMM_MAX=2
-CONFIG_DIMM_SPD_SIZE=512
-CONFIG_FMDFILE=""
-# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xEEC000
-CONFIG_CONSOLE_SERIAL=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_DUAL=y
-CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_QUAD=y
-CONFIG_MAX_CPUS=8
-# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
-CONFIG_POST_DEVICE=y
-CONFIG_POST_IO=y
-CONFIG_UART_FOR_CONSOLE=0
-CONFIG_VARIANT_DIR="t480s"
-CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
-CONFIG_DEVICETREE="devicetree.cb"
-# CONFIG_VBOOT is not set
-# CONFIG_VGA_BIOS is not set
-CONFIG_PCIEXP_ASPM=y
-CONFIG_PCIEXP_L1_SUB_STATE=y
-CONFIG_PCIEXP_CLK_PM=y
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=256
-CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
-# CONFIG_FATAL_ASSERTS is not set
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
-# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
-CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="T480S"
-# CONFIG_CONSOLE_POST is not set
-CONFIG_MAX_SOCKET=1
-CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_USE_PM_ACPI_TIMER=y
-CONFIG_DCACHE_RAM_BASE=0xfef00000
-CONFIG_DCACHE_RAM_SIZE=0x40000
-CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
-CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
-CONFIG_HAVE_INTEL_FIRMWARE=y
-CONFIG_USE_LEGACY_8254_TIMER=y
-CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_DRIVERS_INTEL_WIFI=y
-CONFIG_IFD_BIN_PATH="../../../config/ifd/t480s/ifd_16"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/t480s/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/t480s/gbe"
-CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
-CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
-CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
-# CONFIG_DEBUG_SMI is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
-CONFIG_HAVE_IFD_BIN=y
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-# CONFIG_BOARD_LENOVO_T480 is not set
-CONFIG_BOARD_LENOVO_T480S=y
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-# CONFIG_BOARD_LENOVO_X230 is not set
-# CONFIG_BOARD_LENOVO_X230T is not set
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="PNP0F13"
-CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
-CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
-CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480s/tb.bin"
-CONFIG_TTYS0_BAUD=115200
-# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
-CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
-CONFIG_D3COLD_SUPPORT=y
-CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
-CONFIG_DRIVERS_UART_8250IO=y
-CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
-CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x50
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-CONFIG_BOARD_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
-CONFIG_COREBOOT_ROMSIZE_KB_16384=y
-# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
-CONFIG_COREBOOT_ROMSIZE_KB=16384
-CONFIG_ROM_SIZE=0x01000000
-CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
-CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
-CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
-# end of Mainboard
-
-CONFIG_SYSTEM_TYPE_LAPTOP=y
-
-#
-# Chipset
-#
-
-#
-# SoC
-#
-CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
-CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
-CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
-CONFIG_CBFS_MCACHE_SIZE=0x4000
-CONFIG_ROMSTAGE_ADDR=0x2000000
-CONFIG_VERSTAGE_ADDR=0x2000000
-CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x200000
-CONFIG_SMM_MODULE_STACK_SIZE=0x800
-CONFIG_ACPI_BERT_SIZE=0x0
-CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xe0000000
-CONFIG_ACPI_CPU_STRING="CP%02X"
-CONFIG_STACK_SIZE=0x2000
-CONFIG_IFD_CHIPSET="sklkbl"
-CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_MAX_ROOT_PORTS=24
-CONFIG_PCR_BASE_ADDRESS=0xfd000000
-CONFIG_CPU_BCLK_MHZ=100
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
-CONFIG_CPU_XTAL_HZ=24000000
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
-CONFIG_SOC_INTEL_I2C_DEV_MAX=6
-# CONFIG_ENABLE_SATA_TEST_MODE is not set
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
-CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
-CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
-CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
-CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
-CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
-CONFIG_INTEL_GMA_BCLV_WIDTH=16
-CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
-CONFIG_INTEL_GMA_BCLM_WIDTH=16
-CONFIG_FSP_PUBLISH_MBP_HOB=y
-CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
-CONFIG_MAX_HECI_DEVICES=5
-CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_HAVE_PAM0_REGISTER=y
-CONFIG_PCIEXP_COMMON_CLOCK=y
-CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
-CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
-CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
-CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
-CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
-CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
-CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
-CONFIG_SOC_INTEL_KABYLAKE=y
-CONFIG_FSP_T_LOCATION=0xfffe0000
-CONFIG_SOC_INTEL_COMMON_BLOCK_P2SB=y
-CONFIG_FIXED_SMBUS_IO_BASE=0xefa0
-CONFIG_CBFS_CACHE_ALIGN=8
-CONFIG_SOC_INTEL_COMMON=y
-
-#
-# Intel SoC Common Code for IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BLOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_LPIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_PEP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
-CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
-# CONFIG_USE_COREBOOT_MP_INIT is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
-CONFIG_INTEL_CAR_NEM_ENHANCED=y
-# CONFIG_USE_INTEL_FSP_MP_INIT is not set
-CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
-CONFIG_HAVE_HYPERTHREADING=y
-# CONFIG_FSP_HYPERTHREADING is not set
-# CONFIG_INTEL_KEYLOCKER is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
-# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
-CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
-CONFIG_SOC_INTEL_CSE_RW_A_FMAP_NAME="ME_RW_A"
-CONFIG_SOC_INTEL_CSE_RW_B_FMAP_NAME="ME_RW_B"
-CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME="me_rw"
-CONFIG_SOC_INTEL_CSE_RW_HASH_CBFS_NAME="me_rw.hash"
-CONFIG_SOC_INTEL_CSE_RW_VERSION_CBFS_NAME="me_rw.version"
-CONFIG_SOC_INTEL_CSE_RW_FILE=""
-CONFIG_SOC_INTEL_CSE_RW_VERSION=""
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_NAME="cse_iom"
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
-CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
-CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
-CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
-# CONFIG_SOC_INTEL_DISABLE_IGD is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
-CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
-# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
-CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
-CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
-CONFIG_SA_ENABLE_DPR=y
-CONFIG_HAVE_CAPID_A_REGISTER=y
-CONFIG_HAVE_BDSM_BGSM_REGISTER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
-CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
-
-#
-# Intel SoC Common PCH Code
-#
-CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
-CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
-CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
-CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
-CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
-
-#
-# Intel SoC Common coreboot stages and non-IP blocks
-#
-CONFIG_SOC_INTEL_COMMON_BASECODE=y
-CONFIG_SOC_INTEL_COMMON_RESET=y
-CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
-CONFIG_PAVP=y
-# CONFIG_MMA is not set
-CONFIG_SOC_INTEL_COMMON_NHLT=y
-# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
-
-#
-# CPU
-#
-CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
-CONFIG_CPU_INTEL_COMMON=y
-CONFIG_ENABLE_VMX=y
-CONFIG_SET_IA32_FC_LOCK_BIT=y
-CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_PARALLEL_MP=y
-CONFIG_PARALLEL_MP_AP_WORK=y
-CONFIG_XAPIC_ONLY=y
-# CONFIG_X2APIC_ONLY is not set
-# CONFIG_X2APIC_RUNTIME is not set
-# CONFIG_X2APIC_LATE_WORKAROUND is not set
-CONFIG_UDELAY_TSC=y
-CONFIG_TSC_MONOTONIC_TIMER=y
-CONFIG_TSC_SYNC_MFENCE=y
-CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_SMM_TSEG=y
-CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
-CONFIG_AP_STACK_SIZE=0x800
-CONFIG_SMP=y
-CONFIG_SSE=y
-CONFIG_SSE2=y
-CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
-CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
-CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
-# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
-# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
-
-#
-# Northbridge
-#
-
-#
-# Southbridge
-#
-# CONFIG_PCIEXP_HOTPLUG is not set
-CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
-# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
-CONFIG_RCBA_LENGTH=0x4000
-
-#
-# Super I/O
-#
-
-#
-# Embedded Controllers
-#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-CONFIG_H8_BEEP_ON_DEATH=y
-CONFIG_H8_FLASH_LEDS_ON_DEATH=y
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
-CONFIG_H8_HAS_LEDLOGO=y
-CONFIG_EC_LENOVO_PMH7=y
-
-#
-# Intel Firmware
-#
-CONFIG_HAVE_ME_BIN=y
-# CONFIG_STITCH_ME_BIN is not set
-# CONFIG_CHECK_ME is not set
-# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
-# CONFIG_USE_ME_CLEANER is not set
-CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
-CONFIG_HAVE_GBE_BIN=y
-# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
-# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
-CONFIG_UNLOCK_FLASH_REGIONS=y
-CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
-CONFIG_UDK_BASE=y
-CONFIG_UDK_2017_BINDING=y
-CONFIG_UDK_2013_VERSION=2013
-CONFIG_UDK_2017_VERSION=2017
-CONFIG_UDK_202005_VERSION=202005
-CONFIG_UDK_202111_VERSION=202111
-CONFIG_UDK_202302_VERSION=202302
-CONFIG_UDK_202305_VERSION=202305
-CONFIG_UDK_VERSION=2017
-CONFIG_ARCH_X86=y
-CONFIG_ARCH_BOOTBLOCK_X86_32=y
-CONFIG_ARCH_VERSTAGE_X86_32=y
-CONFIG_ARCH_ROMSTAGE_X86_32=y
-CONFIG_ARCH_POSTCAR_X86_32=y
-CONFIG_ARCH_RAMSTAGE_X86_32=y
-CONFIG_ARCH_ALL_STAGES_X86_32=y
-CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
-CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
-CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
-CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
-CONFIG_PC80_SYSTEM=y
-CONFIG_POSTCAR_STAGE=y
-CONFIG_BOOTBLOCK_SIMPLE=y
-# CONFIG_BOOTBLOCK_NORMAL is not set
-CONFIG_COLLECT_TIMESTAMPS_TSC=y
-CONFIG_HAVE_CF9_RESET=y
-CONFIG_DEBUG_HW_BREAKPOINTS=y
-CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
-# CONFIG_DUMP_SMBIOS_TYPE17 is not set
-CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
-CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
-CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
-CONFIG_DEFAULT_EBDA_SIZE=0x400
-# end of Chipset
-
-#
-# Devices
-#
-CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
-CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
-CONFIG_HAVE_FSP_GOP=y
-CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
-CONFIG_MAINBOARD_USE_LIBGFXINIT=y
-# CONFIG_VGA_ROM_RUN is not set
-# CONFIG_RUN_FSP_GOP is not set
-# CONFIG_NO_GFX_INIT is not set
-CONFIG_NO_EARLY_GFX_INIT=y
-
-#
-# Display
-#
-CONFIG_VGA_TEXT_FRAMEBUFFER=y
-# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
-CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
-# end of Display
-
-CONFIG_PCI=y
-CONFIG_ECAM_MMCONF_SUPPORT=y
-CONFIG_PCIX_PLUGIN_SUPPORT=y
-CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
-CONFIG_PCIEXP_PLUGIN_SUPPORT=y
-CONFIG_ECAM_MMCONF_LENGTH=0x10000000
-CONFIG_PCI_ALLOW_BUS_MASTER=y
-CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
-CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
-# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
-# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
-# CONFIG_EARLY_PCI_BRIDGE is not set
-CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
-CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
-# CONFIG_SOFTWARE_I2C is not set
-CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
-# end of Devices
-
-#
-# Generic Drivers
-#
-CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
-# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
-# CONFIG_ELOG is not set
-CONFIG_CACHE_MRC_SETTINGS=y
-CONFIG_MRC_SETTINGS_PROTECT=y
-# CONFIG_DRIVERS_OPTION_CFR is not set
-# CONFIG_SMMSTORE is not set
-CONFIG_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
-CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
-# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_DRIVERS_UART=y
-# CONFIG_DRIVERS_UART_OXPCIE is not set
-# CONFIG_VPD is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
-# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
-# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVERS_I2C_DESIGNWARE=y
-# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_FSP_USE_REPO=y
-# CONFIG_DISPLAY_HOBS is not set
-# CONFIG_DISPLAY_UPD_DATA is not set
-# CONFIG_BMP_LOGO is not set
-CONFIG_PLATFORM_USES_FSP2_0=y
-CONFIG_PLATFORM_USES_FSP2_X86_32=y
-CONFIG_HAVE_INTEL_FSP_REPO=y
-CONFIG_ADD_FSP_BINARIES=y
-CONFIG_FSP_S_CBFS="fsps.bin"
-CONFIG_FSP_M_CBFS="fspm.bin"
-CONFIG_FSP_FULL_FD=y
-CONFIG_FSP_T_RESERVED_SIZE=0x0
-CONFIG_FSP_M_XIP=y
-CONFIG_HAVE_FSP_LOGO_SUPPORT=y
-CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
-CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
-CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
-CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
-# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
-# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
-CONFIG_INTEL_INT15=y
-CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
-CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Skylake"
-CONFIG_GFX_GMA_PCH="Sunrise_Point"
-CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
-CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
-# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
-# CONFIG_DRIVERS_PS2_KEYBOARD is not set
-CONFIG_DRIVERS_MC146818=y
-CONFIG_USE_PC_CMOS_ALTCENTURY=y
-CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-CONFIG_VGA=y
-# CONFIG_DRIVERS_SIL_3114 is not set
-CONFIG_DRIVERS_USB_ACPI=y
-CONFIG_DRIVERS_WIFI_GENERIC=y
-CONFIG_DRIVERS_MTK_WIFI=y
-# end of Generic Drivers
-
-#
-# Security
-#
-
-#
-# CBFS verification
-#
-# CONFIG_CBFS_VERIFICATION is not set
-# end of CBFS verification
-
-#
-# Verified Boot (vboot)
-#
-# end of Verified Boot (vboot)
-
-#
-# Trusted Platform Module
-#
-CONFIG_NO_TPM=y
-# CONFIG_TPM1 is not set
-# CONFIG_TPM2 is not set
-CONFIG_MAINBOARD_HAS_TPM2=y
-CONFIG_PCR_BOOT_MODE=1
-CONFIG_PCR_HWID=1
-CONFIG_PCR_SRTM=2
-CONFIG_PCR_FW_VER=10
-CONFIG_PCR_RUNTIME_DATA=3
-# end of Trusted Platform Module
-
-#
-# Memory initialization
-#
-CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
-# end of Memory initialization
-
-# CONFIG_STM is not set
-# CONFIG_INTEL_CBNT_SUPPORT is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
-# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
-# CONFIG_BOOTMEDIA_SMM_BWP is not set
-# end of Security
-
-CONFIG_ACPI_HAVE_PCAT_8259=y
-CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
-CONFIG_ACPI_SOC_NVS=y
-CONFIG_ACPI_CUSTOM_MADT=y
-CONFIG_ACPI_NO_CUSTOM_MADT=y
-CONFIG_ACPI_COMMON_MADT_LAPIC=y
-CONFIG_ACPI_COMMON_MADT_IOAPIC=y
-CONFIG_HAVE_ACPI_TABLES=y
-CONFIG_ACPI_LPIT=y
-CONFIG_BOOT_DEVICE_SPI_FLASH=y
-CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
-CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
-CONFIG_RTC=y
-
-#
-# Console
-#
-CONFIG_BOOTBLOCK_CONSOLE=y
-CONFIG_POSTCAR_CONSOLE=y
-CONFIG_SQUELCH_EARLY_SMP=y
-
-#
-# I/O mapped, 8250-compatible
-#
-CONFIG_TTYS0_BASE=0x3f8
-
-#
-# Serial port base address = 0x3f8
-#
-# CONFIG_CONSOLE_SERIAL_921600 is not set
-# CONFIG_CONSOLE_SERIAL_460800 is not set
-# CONFIG_CONSOLE_SERIAL_230400 is not set
-CONFIG_CONSOLE_SERIAL_115200=y
-# CONFIG_CONSOLE_SERIAL_57600 is not set
-# CONFIG_CONSOLE_SERIAL_38400 is not set
-# CONFIG_CONSOLE_SERIAL_19200 is not set
-# CONFIG_CONSOLE_SERIAL_9600 is not set
-CONFIG_TTYS0_LCS=3
-# CONFIG_SPKMODEM is not set
-# CONFIG_CONSOLE_NE2K is not set
-CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_SPI_FLASH is not set
-# CONFIG_CONSOLE_I2C_SMBUS is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
-CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
-CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
-# CONFIG_CMOS_POST is not set
-CONFIG_POST_DEVICE_NONE=y
-# CONFIG_POST_DEVICE_LPC is not set
-# CONFIG_POST_DEVICE_PCI_PCIE is not set
-CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_CB=y
-# end of Console
-
-CONFIG_ACPI_S1_NOT_SUPPORTED=y
-CONFIG_HAVE_ACPI_RESUME=y
-CONFIG_RESUME_PATH_SAME_AS_BOOT=y
-CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_IOAPIC=y
-CONFIG_ACPI_NHLT=y
-
-#
-# System tables
-#
-CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_BIOS_VENDOR="coreboot"
-CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
-# end of System tables
-
-#
-# Payload
-#
-CONFIG_PAYLOAD_NONE=y
-# end of Payload
-
-#
-# Debugging
-#
-
-#
-# CPU Debug Settings
-#
-# CONFIG_DISPLAY_MTRRS is not set
-
-#
-# Vendorcode Debug Settings
-#
-
-#
-# BLOB Debug Settings
-#
-# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
-# CONFIG_DISPLAY_FSP_HEADER is not set
-# CONFIG_VERIFY_HOBS is not set
-# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
-CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
-# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
-
-#
-# General Debug Settings
-#
-# CONFIG_GDB_STUB is not set
-CONFIG_HAVE_DEBUG_GPIO=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_SMBUS=y
-# CONFIG_DEBUG_SMBUS is not set
-# CONFIG_DEBUG_MALLOC is not set
-# CONFIG_DEBUG_CONSOLE_INIT is not set
-# CONFIG_DEBUG_SPI_FLASH is not set
-# CONFIG_DEBUG_BOOT_STATE is not set
-# CONFIG_DEBUG_ADA_CODE is not set
-CONFIG_HAVE_EM100_SUPPORT=y
-# CONFIG_EM100 is not set
-# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
-# end of Debugging
-
-CONFIG_RAMSTAGE_ADA=y
-CONFIG_RAMSTAGE_LIBHWBASE=y
-CONFIG_SPD_READ_BY_WORD=y
-CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
-CONFIG_HWBASE_DIRECT_PCIDEV=y
-CONFIG_DECOMPRESS_OFAST=y
-CONFIG_WARNINGS_ARE_ERRORS=y
-CONFIG_MAX_REBOOT_CNT=3
-CONFIG_RELOCATABLE_MODULES=y
-CONFIG_GENERIC_GPIO_LIB=y
-CONFIG_HAVE_BOOTBLOCK=y
-CONFIG_HAVE_ROMSTAGE=y
-CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/t480s_fsp_16mb/target.cfg b/config/coreboot/t480s_fsp_16mb/target.cfg
deleted file mode 100644
index 855b0c70..00000000
--- a/config/coreboot/t480s_fsp_16mb/target.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-tree="next"
-xarch="i386-elf"
-payload_seabios="y"
-payload_grub="y"
-payload_memtest="y"
-grub_scan_disk="nvme ahci"
-grubtree="xhci"
-vcfg="t480s"
-build_depend="seabios/default grub/xhci memtest86plus"
-IFD_platform="sklkbl"
-release="n" # t480s_vfsp_16mb is released instead
diff --git a/config/data/pico-serprog/mkhelper.cfg b/config/data/pico-serprog/mkhelper.cfg
index f4733dd9..c913767c 100644
--- a/config/data/pico-serprog/mkhelper.cfg
+++ b/config/data/pico-serprog/mkhelper.cfg
@@ -7,4 +7,4 @@ serx="$sersrc/build/pico_serprog.uf2"
picosdk="src/pico-sdk"
serdir="$picosdk/src/boards/include/boards"
premake="mkserprog pico"
-picotool="$PWD/src/picotool/xbmkbin"
+picotool="$xbmkpwd/src/picotool/xbmkbin"
diff --git a/config/dependencies/arch b/config/dependencies/arch
index feb38d49..2b1b7157 100644
--- a/config/dependencies/arch
+++ b/config/dependencies/arch
@@ -3,7 +3,7 @@
pkg_add="pacman -S --needed"
pkglist=" \
acpica arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-newlib \
-autogen base-devel bison cmake curl device-mapper doxygen \
+autogen base-devel bison cdrtools cmake curl device-mapper doxygen \
dtc e2fsprogs flex freetype2 fuse2 gawk gcc-ada gdb gettext git \
help2man innoextract libftdi libgpiod libjaylink libpciaccess libusb nasm \
ncurses openssl p7zip ccache less libx86 \
@@ -11,4 +11,4 @@ pandoc parted pciutils perl perl-libwww python python-setuptools rsync \
sharutils subversion swig texinfo ttf-dejavu unarchiver unzip wget xz zlib mtools \
"
-aur_notice="bdf-unifont unifont cross-mipsel-linux-gnu-binutils cross-mipsel-linux-gnu-gcc genisoimage"
+aur_notice="bdf-unifont unifont cross-mipsel-linux-gnu-binutils cross-mipsel-linux-gnu-gcc"
diff --git a/config/dependencies/fedora41 b/config/dependencies/fedora41
index 4c06b199..e49a50b2 100755
--- a/config/dependencies/fedora41
+++ b/config/dependencies/fedora41
@@ -12,5 +12,5 @@ p7zip p7zip-plugins pandoc parted pciutils-devel perl perl-libwww-perl \
python-unversioned-command python3 python3-setuptools rsync sharutils \
subversion systemd-devel texinfo unar unifont unifont-fonts uuid-devel \
unifont-ttf-fonts unzip wget xz zlib-devel ccache swig python3-devel \
-libuuid-devel \
+libuuid-devel gnutls-devel \
"
diff --git a/config/git/pico-serprog/pkg.cfg b/config/git/pico-serprog/pkg.cfg
index 64c26297..3d3e0f19 100644
--- a/config/git/pico-serprog/pkg.cfg
+++ b/config/git/pico-serprog/pkg.cfg
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-rev="e75e3a20e63269a5e3189bc2e49a6a81d45a636a"
+rev="3ea792664ed29ca1ff3e2e78d1d16099684781bd"
url="https://codeberg.org/libreboot/pico-serprog"
bkup_url="https://git.disroot.org/libreboot/pico-serprog"
depend="pico-sdk picotool"
diff --git a/config/grub/default/config/payload b/config/grub/default/config/payload
index 05e64bbd..3f134f1d 100644
--- a/config/grub/default/config/payload
+++ b/config/grub/default/config/payload
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-# Copyright (C) 2014-2016,2020-2021,2023-2024 Leah Rowe <leah@libreboot.org>
+# Copyright (C) 2014-2016,2020-2021,2023-2025 Leah Rowe <leah@libreboot.org>
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
set prefix=(memdisk)/boot/grub
@@ -143,16 +143,12 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
# grub device enumeration is very slow, so checks are hardcoded
- # TODO: add more strings, based on what distros set up when
- # the user select auto-partitioning on those installers
- lvmvol="lvm/grubcrypt-bootvol lvm/grubcrypt-rootvol"
-
raidvol="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9"
- # in practise, doing multiple redundant checks is perfectly fast and
+ # in practise, doing multiple redundant checks is perfectly fast
# TODO: optimize grub itself, and use */? here for everything
- for vol in ${lvmvol} ${raidvol} ; do
+ for vol in ${raidvol} ; do
try_bootcfg "${vol}"
done
@@ -164,6 +160,9 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
bootdev="${bootdev} (ahci${i},${part})"
elif [ "${grub_disk}" = "ata" ]; then
bootdev="${bootdev} (ata${i},${part})"
+ elif [ "${grub_disk}" = "nvme" ]; then
+ # TODO: do we care about other namesapces
+ bootdev="${bootdev} (nvme${i}n1,${part})"
fi
done
done
@@ -171,23 +170,37 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
set pager=0
echo -n "Attempting to unlock encrypted volumes"
- for dev in ${bootdev} ${lvmvol} ${raidvol}; do
+ for dev in ${bootdev} ${raidvol}; do
if cryptomount "${dev}" ; then break ; fi
done
set pager=1
echo
+ search_bootcfg crypto
+
+ lvmvol=""
+
# after cryptomount, lvm volumes might be available
+ # using * is slow on some machines, but we use it here,
+ # just once. in so doing, we find every lvm volume
+ for vol in (*); do
+ if regexp ^lvm/ $vol; then
+ lvmvol="${lvmvol} ${vol}"
+ try_bootcfg "${vol}"
+ fi
+ done
+
+ # user might have put luks inside lvm
+ set pager=0
+ echo "Attempting to unlock encrypted LVMs"
for vol in ${lvmvol}; do
- try_bootcfg "${vol}"
+ cryptomount "$vol"
done
+ set pager=1
+ echo
search_bootcfg crypto
- for vol in lvm/* ; do
- try_bootcfg "${vol}"
- done
-
true # Prevent pager requiring to accept each line instead of whole screen
}
diff --git a/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch b/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
index e5d24e7e..391beaf1 100644
--- a/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
+++ b/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
@@ -1,4 +1,4 @@
-From 26b89e90c8d6d89f2e52b00ad15ba58fd2e1fbfb Mon Sep 17 00:00:00 2001
+From 016f8655f5bed2b65c19e0e127b72ba3cfbcfb7d Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 31 Oct 2021 03:47:05 +0000
Subject: [PATCH 01/13] mitigate grub's missing characters for borders/arrow
diff --git a/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch b/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
index 6b0665db..149b719d 100644
--- a/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
+++ b/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
@@ -1,4 +1,4 @@
-From 10d264bdfde24fcf78da6f641898eb267f83066f Mon Sep 17 00:00:00 2001
+From d7f6f258ea14ec47d586eccbd0f5d96784e8bd15 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 19 Nov 2022 16:30:24 +0000
Subject: [PATCH 02/13] say the name libreboot, in the grub menu
@@ -8,7 +8,7 @@ Subject: [PATCH 02/13] say the name libreboot, in the grub menu
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
-index bd4431000..ff16e0f2e 100644
+index 04d058f55..b1cc8f236 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
@@ -16,7 +16,7 @@ index bd4431000..ff16e0f2e 100644
grub_term_cls (term);
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
-+ msg_formatted = grub_xasprintf (_("Libreboot 20241206 release, based on coreboot. https://libreboot.org/"));
++ msg_formatted = grub_xasprintf (_("Libreboot 20241206, 8th revision (GRUB menu): https://libreboot.org/"));
if (!msg_formatted)
return;
diff --git a/config/grub/default/patches/0003-Add-CC0-license.patch b/config/grub/default/patches/0003-Add-CC0-license.patch
index a5f75eb4..09c55867 100644
--- a/config/grub/default/patches/0003-Add-CC0-license.patch
+++ b/config/grub/default/patches/0003-Add-CC0-license.patch
@@ -1,4 +1,4 @@
-From 689c09a6b675ba52318cd879b289ac3d67073cd4 Mon Sep 17 00:00:00 2001
+From 85a88ecf10e1dd5cef7244aedaf7db76e845045f Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 03/13] Add CC0 license
@@ -10,10 +10,10 @@ Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 8ad015b07..9980bae90 100644
+index de8c3aa8d..4a3be8568 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -494,7 +494,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
+@@ -495,7 +495,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
|| grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
diff --git a/config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch b/config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch
index 9550110e..8277df92 100644
--- a/config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch
+++ b/config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch
@@ -1,4 +1,4 @@
-From 63dc3c9ca6e5635b5c7e7ba24c996b23e79a92e3 Mon Sep 17 00:00:00 2001
+From bb12d671182c455c894979a8a5890f5f4baa02dc Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 04/13] Define GRUB_UINT32_MAX
diff --git a/config/grub/default/patches/0005-Add-Argon2-algorithm.patch b/config/grub/default/patches/0005-Add-Argon2-algorithm.patch
index fef68ee3..452c0937 100644
--- a/config/grub/default/patches/0005-Add-Argon2-algorithm.patch
+++ b/config/grub/default/patches/0005-Add-Argon2-algorithm.patch
@@ -1,4 +1,4 @@
-From be6452a88ff3cbe033d37b739829e41798682510 Mon Sep 17 00:00:00 2001
+From 216e1351e5957e0589d488427a6dfee246705d0d Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 05/13] Add Argon2 algorithm
diff --git a/config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch b/config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch
index 8abe7669..33bc9417 100644
--- a/config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch
+++ b/config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch
@@ -1,4 +1,4 @@
-From 39f620fbe7c4a791062b59d4a8d26c35408aca45 Mon Sep 17 00:00:00 2001
+From a2687cc594714ff33a4c50d40222c113768ed826 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 06/13] Error on missing Argon2id parameters
@@ -9,10 +9,10 @@ Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index d5106402f..bc818ea69 100644
+index 8036d76ff..efae8ac65 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
-@@ -38,6 +38,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
+@@ -39,6 +39,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
enum grub_luks2_kdf_type
{
LUKS2_KDF_TYPE_ARGON2I,
@@ -20,7 +20,7 @@ index d5106402f..bc818ea69 100644
LUKS2_KDF_TYPE_PBKDF2
};
typedef enum grub_luks2_kdf_type grub_luks2_kdf_type_t;
-@@ -90,7 +91,7 @@ struct grub_luks2_keyslot
+@@ -91,7 +92,7 @@ struct grub_luks2_keyslot
grub_int64_t time;
grub_int64_t memory;
grub_int64_t cpus;
@@ -29,7 +29,7 @@ index d5106402f..bc818ea69 100644
struct
{
const char *hash;
-@@ -160,10 +161,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
+@@ -161,10 +162,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing or invalid KDF");
else if (!grub_strcmp (type, "argon2i") || !grub_strcmp (type, "argon2id"))
{
@@ -45,7 +45,7 @@ index d5106402f..bc818ea69 100644
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing Argon2i parameters");
}
else if (!grub_strcmp (type, "pbkdf2"))
-@@ -459,6 +461,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
+@@ -460,6 +462,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
switch (k->kdf.type)
{
case LUKS2_KDF_TYPE_ARGON2I:
diff --git a/config/grub/default/patches/0007-Compile-with-Argon2id-support.patch b/config/grub/default/patches/0007-Compile-with-Argon2id-support.patch
index 19da5e51..7d22cc74 100644
--- a/config/grub/default/patches/0007-Compile-with-Argon2id-support.patch
+++ b/config/grub/default/patches/0007-Compile-with-Argon2id-support.patch
@@ -1,4 +1,4 @@
-From c192948ea0329d06cf4706667305b473b48c15f5 Mon Sep 17 00:00:00 2001
+From 2d1af8f5dfd1492ac95bcf7db4e6c789aa83018e Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 07/13] Compile with Argon2id support
@@ -48,18 +48,18 @@ index f5f9b040c..f1f38d8d3 100644
module = {
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index bc818ea69..5b9eaa599 100644
+index efae8ac65..2e742f5be 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
-@@ -27,6 +27,7 @@
- #include <grub/partition.h>
+@@ -28,6 +28,7 @@
#include <grub/i18n.h>
+ #include <grub/safemath.h>
+#include <argon2.h>
#include <base64.h>
#include <json.h>
-@@ -462,8 +463,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
+@@ -463,8 +464,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
{
case LUKS2_KDF_TYPE_ARGON2I:
case LUKS2_KDF_TYPE_ARGON2ID:
diff --git a/config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch b/config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch
index cb954976..e73a7ccb 100644
--- a/config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch
+++ b/config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch
@@ -1,4 +1,4 @@
-From 2887e35e882a86e474052112a23608570b3f41b2 Mon Sep 17 00:00:00 2001
+From 67900e39bd45018b5611862b9438081c618b916f Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 08/13] Make grub-install work with Argon2
diff --git a/config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch b/config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
index 763fea91..d1973955 100644
--- a/config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
+++ b/config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
@@ -1,4 +1,4 @@
-From 548c5b227718783776b81d1e074b1982e76f2327 Mon Sep 17 00:00:00 2001
+From e8ae938700e715194e47d346c43aa4be23f1b4bf Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 30 Oct 2023 22:19:21 +0000
Subject: [PATCH 09/13] at_keyboard coreboot: force scancodes2+translate
diff --git a/config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
index a0eff28d..c9e41d8e 100644
--- a/config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
+++ b/config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
@@ -1,4 +1,4 @@
-From 89764949b2bcfaad122800f336aa205fea4a1fed Mon Sep 17 00:00:00 2001
+From dfd1639bb999e3dbbd346cc97f4bbaf32d129cd6 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 31 Oct 2023 10:33:28 +0000
Subject: [PATCH 10/13] keylayouts: don't print "Unknown key" message
diff --git a/config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch b/config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
index d2ed0055..72c51f8b 100644
--- a/config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
+++ b/config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
@@ -1,4 +1,4 @@
-From c6de75a3369aebb51df1659d89a6d7024c84d85e Mon Sep 17 00:00:00 2001
+From 8421c59fa62ce954dcba05ad04591c651d6dcf43 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:14:58 +0000
Subject: [PATCH 11/13] don't print missing prefix errors on the screen
@@ -85,10 +85,10 @@ index 18de52562..2a0fea6c8 100644
}
file = try_open_from_prefix (prefix, filename);
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 9980bae90..4457cad7c 100644
+index 4a3be8568..6ae3d73f8 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -871,7 +871,7 @@ grub_dl_load (const char *name)
+@@ -881,7 +881,7 @@ grub_dl_load (const char *name)
return 0;
if (! grub_dl_dir) {
diff --git a/config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch b/config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch
index 85cde7a7..dab4318c 100644
--- a/config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch
+++ b/config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch
@@ -1,4 +1,4 @@
-From e8e419fe16843e7b7d8c614531df9447db689d28 Mon Sep 17 00:00:00 2001
+From c377f3c025101da17252a43449cc58fdd44c44af Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:36:22 +0000
Subject: [PATCH 12/13] don't print error if module not found
@@ -17,10 +17,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 4457cad7c..ea9fe8019 100644
+index 6ae3d73f8..4c15027fe 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -510,7 +510,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
+@@ -511,7 +511,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
s = grub_dl_find_section (e, ".modname");
if (!s)
diff --git a/config/grub/default/patches/0013-don-t-print-empty-error-messages.patch b/config/grub/default/patches/0013-don-t-print-empty-error-messages.patch
index 70ce3059..c351a74a 100644
--- a/config/grub/default/patches/0013-don-t-print-empty-error-messages.patch
+++ b/config/grub/default/patches/0013-don-t-print-empty-error-messages.patch
@@ -1,4 +1,4 @@
-From 6eb22aa4110b99245fd31dcaad979d5049d398d6 Mon Sep 17 00:00:00 2001
+From 664ce75106049547d7595fc021a0a1f9a69e585a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 17:25:20 +0000
Subject: [PATCH 13/13] don't print empty error messages
diff --git a/config/grub/default/target.cfg b/config/grub/default/target.cfg
index 300fdd7e..8264d306 100644
--- a/config/grub/default/target.cfg
+++ b/config/grub/default/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="default"
-rev="6811f6f09d61996a3acbc4fc0414e45964f0e2d9"
+rev="4dc6166571645780c459dde2cdc1b001a5ec844c"
diff --git a/config/grub/nvme/config/payload b/config/grub/nvme/config/payload
index 52b8dfd9..22dd8fe1 100644
--- a/config/grub/nvme/config/payload
+++ b/config/grub/nvme/config/payload
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-# Copyright (C) 2014-2016,2020-2021,2023-2024 Leah Rowe <leah@libreboot.org>
+# Copyright (C) 2014-2016,2020-2021,2023-2025 Leah Rowe <leah@libreboot.org>
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
set prefix=(memdisk)/boot/grub
@@ -155,16 +155,12 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
# grub device enumeration is very slow, so checks are hardcoded
- # TODO: add more strings, based on what distros set up when
- # the user select auto-partitioning on those installers
- lvmvol="lvm/grubcrypt-bootvol lvm/grubcrypt-rootvol"
-
raidvol="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9"
- # in practise, doing multiple redundant checks is perfectly fast and
+ # in practise, doing multiple redundant checks is perfectly fast
# TODO: optimize grub itself, and use */? here for everything
- for vol in ${lvmvol} ${raidvol} ; do
+ for vol in ${raidvol} ; do
try_bootcfg "${vol}"
done
@@ -186,23 +182,37 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
set pager=0
echo -n "Attempting to unlock encrypted volumes"
- for dev in ${bootdev} ${lvmvol} ${raidvol}; do
+ for dev in ${bootdev} ${raidvol}; do
if cryptomount "${dev}" ; then break ; fi
done
set pager=1
echo
+ search_bootcfg crypto
+
+ lvmvol=""
+
# after cryptomount, lvm volumes might be available
+ # using * is slow on some machines, but we use it here,
+ # just once. in so doing, we find every lvm volume
+ for vol in (*); do
+ if regexp ^lvm/ $vol; then
+ lvmvol="${lvmvol} ${vol}"
+ try_bootcfg "${vol}"
+ fi
+ done
+
+ # user might have put luks inside lvm
+ set pager=0
+ echo "Attempting to unlock encrypted LVMs"
for vol in ${lvmvol}; do
- try_bootcfg "${vol}"
+ cryptomount "$vol"
done
+ set pager=1
+ echo
search_bootcfg crypto
- for vol in lvm/* ; do
- try_bootcfg "${vol}"
- done
-
true # Prevent pager requiring to accept each line instead of whole screen
}
diff --git a/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch b/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
index e7f71551..1421d21b 100644
--- a/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
+++ b/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
@@ -1,4 +1,4 @@
-From 985e87b15e60edb31d8b70f765b97cc8d436d10e Mon Sep 17 00:00:00 2001
+From 07cd05c1756cdb18cf5e55d72e4002e271e8af12 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 31 Oct 2021 03:47:05 +0000
Subject: [PATCH 01/14] mitigate grub's missing characters for borders/arrow
diff --git a/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch b/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
index 5036a859..fd77218a 100644
--- a/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
+++ b/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
@@ -1,4 +1,4 @@
-From f9ae737976ff52fc656459942dd0bdbd763e66df Mon Sep 17 00:00:00 2001
+From c1617d04ac24544d578643863c545bb885444030 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 19 Nov 2022 16:30:24 +0000
Subject: [PATCH 02/14] say the name libreboot, in the grub menu
@@ -8,7 +8,7 @@ Subject: [PATCH 02/14] say the name libreboot, in the grub menu
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
-index bd4431000..ff16e0f2e 100644
+index 04d058f55..b1cc8f236 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
@@ -16,7 +16,7 @@ index bd4431000..ff16e0f2e 100644
grub_term_cls (term);
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
-+ msg_formatted = grub_xasprintf (_("Libreboot 20241206 release, based on coreboot. https://libreboot.org/"));
++ msg_formatted = grub_xasprintf (_("Libreboot 20241206, 8th revision (GRUB menu): https://libreboot.org/"));
if (!msg_formatted)
return;
diff --git a/config/grub/nvme/patches/0003-Add-CC0-license.patch b/config/grub/nvme/patches/0003-Add-CC0-license.patch
index cfb8f56a..e4704e6e 100644
--- a/config/grub/nvme/patches/0003-Add-CC0-license.patch
+++ b/config/grub/nvme/patches/0003-Add-CC0-license.patch
@@ -1,4 +1,4 @@
-From 40c559b7f1e402520a9044b4d3e22b7afd1bb981 Mon Sep 17 00:00:00 2001
+From 4987b1725277f0e16895b7a67b8b2af9de3183ed Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 03/14] Add CC0 license
@@ -10,10 +10,10 @@ Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 8ad015b07..9980bae90 100644
+index de8c3aa8d..4a3be8568 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -494,7 +494,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
+@@ -495,7 +495,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
|| grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
diff --git a/config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch b/config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch
index bdd6d4de..ff11241f 100644
--- a/config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch
+++ b/config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch
@@ -1,4 +1,4 @@
-From 2d5493a02da107e7f3673b0ff5f0920ad557df78 Mon Sep 17 00:00:00 2001
+From 6e3672bcba5075908f2a3b2ec235168bf2a4b1ed Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 04/14] Define GRUB_UINT32_MAX
diff --git a/config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch b/config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch
index d816825e..1bdc0717 100644
--- a/config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch
+++ b/config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch
@@ -1,4 +1,4 @@
-From 520573cfa2b370a7d72102321bb0735a86e2999c Mon Sep 17 00:00:00 2001
+From ec94eb604358bd87236fc3cce9d14770c3595461 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 05/14] Add Argon2 algorithm
diff --git a/config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch b/config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch
index c94c7580..ffacb5fa 100644
--- a/config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch
+++ b/config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch
@@ -1,4 +1,4 @@
-From d3b500914ce84be6bcae0f4f5fefff21e4e0ca63 Mon Sep 17 00:00:00 2001
+From e02e392863dd30f40c538770c31268a8337433c5 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 06/14] Error on missing Argon2id parameters
@@ -9,10 +9,10 @@ Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index d5106402f..bc818ea69 100644
+index 8036d76ff..efae8ac65 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
-@@ -38,6 +38,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
+@@ -39,6 +39,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
enum grub_luks2_kdf_type
{
LUKS2_KDF_TYPE_ARGON2I,
@@ -20,7 +20,7 @@ index d5106402f..bc818ea69 100644
LUKS2_KDF_TYPE_PBKDF2
};
typedef enum grub_luks2_kdf_type grub_luks2_kdf_type_t;
-@@ -90,7 +91,7 @@ struct grub_luks2_keyslot
+@@ -91,7 +92,7 @@ struct grub_luks2_keyslot
grub_int64_t time;
grub_int64_t memory;
grub_int64_t cpus;
@@ -29,7 +29,7 @@ index d5106402f..bc818ea69 100644
struct
{
const char *hash;
-@@ -160,10 +161,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
+@@ -161,10 +162,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing or invalid KDF");
else if (!grub_strcmp (type, "argon2i") || !grub_strcmp (type, "argon2id"))
{
@@ -45,7 +45,7 @@ index d5106402f..bc818ea69 100644
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing Argon2i parameters");
}
else if (!grub_strcmp (type, "pbkdf2"))
-@@ -459,6 +461,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
+@@ -460,6 +462,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
switch (k->kdf.type)
{
case LUKS2_KDF_TYPE_ARGON2I:
diff --git a/config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch b/config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch
index cd4b6e49..e34fd631 100644
--- a/config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch
+++ b/config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch
@@ -1,4 +1,4 @@
-From 5774fd23a381d7d96e65ede9dd300b7e83fa1f06 Mon Sep 17 00:00:00 2001
+From 67a96fa1d99ebf28dbdaefbce57e6f3cba2f6bf3 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 07/14] Compile with Argon2id support
@@ -48,18 +48,18 @@ index f5f9b040c..f1f38d8d3 100644
module = {
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index bc818ea69..5b9eaa599 100644
+index efae8ac65..2e742f5be 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
-@@ -27,6 +27,7 @@
- #include <grub/partition.h>
+@@ -28,6 +28,7 @@
#include <grub/i18n.h>
+ #include <grub/safemath.h>
+#include <argon2.h>
#include <base64.h>
#include <json.h>
-@@ -462,8 +463,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
+@@ -463,8 +464,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
{
case LUKS2_KDF_TYPE_ARGON2I:
case LUKS2_KDF_TYPE_ARGON2ID:
diff --git a/config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch b/config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch
index 7e240cc8..c1726631 100644
--- a/config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch
+++ b/config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch
@@ -1,4 +1,4 @@
-From b8b9be1749d4802dde57f3547a1ee91c8fec1c3e Mon Sep 17 00:00:00 2001
+From de000f70873b61d62b0d561e0af5302e178c4e42 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
Subject: [PATCH 08/14] Make grub-install work with Argon2
diff --git a/config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch b/config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
index 0fea10a5..bc1fa260 100644
--- a/config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
+++ b/config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
@@ -1,4 +1,4 @@
-From 93790c5686ea2ac4da8d2c67377fe84fd37df953 Mon Sep 17 00:00:00 2001
+From 5b239742565ed20fce545aa32952a37bbb45beb8 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 30 Oct 2023 22:19:21 +0000
Subject: [PATCH 09/14] at_keyboard coreboot: force scancodes2+translate
diff --git a/config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
index 06c308d1..62c320ba 100644
--- a/config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
+++ b/config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
@@ -1,4 +1,4 @@
-From a18f0ddb9a396828bd11f540ed134047efe4b2bd Mon Sep 17 00:00:00 2001
+From f8c3f597daf62a13f1c1169fddd78c833dd05cf1 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 31 Oct 2023 10:33:28 +0000
Subject: [PATCH 10/14] keylayouts: don't print "Unknown key" message
diff --git a/config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch b/config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
index f2b8de10..db720a76 100644
--- a/config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
+++ b/config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
@@ -1,4 +1,4 @@
-From 233c4f1a1182fd10ef60da98dd00b687c9edbee4 Mon Sep 17 00:00:00 2001
+From 27c79cf561fd5eef0c8eb5dda9f536cee3926b57 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:14:58 +0000
Subject: [PATCH 11/14] don't print missing prefix errors on the screen
@@ -85,10 +85,10 @@ index 18de52562..2a0fea6c8 100644
}
file = try_open_from_prefix (prefix, filename);
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 9980bae90..4457cad7c 100644
+index 4a3be8568..6ae3d73f8 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -871,7 +871,7 @@ grub_dl_load (const char *name)
+@@ -881,7 +881,7 @@ grub_dl_load (const char *name)
return 0;
if (! grub_dl_dir) {
diff --git a/config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch b/config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch
index 41b0c2a8..63e4b39c 100644
--- a/config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch
+++ b/config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch
@@ -1,4 +1,4 @@
-From c5ef7185f0e32a1a33aca181427cbee8f22af8d2 Mon Sep 17 00:00:00 2001
+From 752ac0c09c7ac3f1ecc5d3d4d8410d424b433da2 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:36:22 +0000
Subject: [PATCH 12/14] don't print error if module not found
@@ -17,10 +17,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 4457cad7c..ea9fe8019 100644
+index 6ae3d73f8..4c15027fe 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -510,7 +510,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
+@@ -511,7 +511,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
s = grub_dl_find_section (e, ".modname");
if (!s)
diff --git a/config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch b/config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch
index 0c9c7f80..bbc9410e 100644
--- a/config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch
+++ b/config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch
@@ -1,4 +1,4 @@
-From 8e8d7a4f391538e4c0d42226ac48f5a1325deeb5 Mon Sep 17 00:00:00 2001
+From ac7a47b0a80a0f398c1250384fd5bc8c228c5d09 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 17:25:20 +0000
Subject: [PATCH 13/14] don't print empty error messages
diff --git a/config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch b/config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch
index c6b7bb87..3d7db82c 100644
--- a/config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch
+++ b/config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch
@@ -1,4 +1,4 @@
-From 0e358c800b58f8122e8d333541eba08cf1b4dbef Mon Sep 17 00:00:00 2001
+From 421a826c41882baafb2c5710959810657f24a52e Mon Sep 17 00:00:00 2001
From: Mate Kukri <km@mkukri.xyz>
Date: Mon, 20 May 2024 11:43:35 +0100
Subject: [PATCH 14/14] Add native NVMe driver based on SeaBIOS
@@ -31,20 +31,19 @@ index 43635d5ff..2c86dbbf6 100644
endif
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index f1f38d8d3..d09f9ffbc 100644
+index f1f38d8d3..6f45989f8 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
-@@ -2676,4 +2676,10 @@ module = {
- common = tests/asn1/asn1_test.c;
+@@ -2677,3 +2677,9 @@ module = {
cflags = '-Wno-uninitialized';
cppflags = '-I$(srcdir)/lib/libtasn1-grub -I$(srcdir)/tests/asn1/';
-+};
+ };
+
+module = {
+ name = nvme;
+ common = disk/nvme.c;
+ enable = pci;
- };
++};
diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c
index 6806bff9c..fd68a513e 100644
--- a/grub-core/commands/nativedisk.c
diff --git a/config/grub/nvme/target.cfg b/config/grub/nvme/target.cfg
index ea4018df..822d27b6 100644
--- a/config/grub/nvme/target.cfg
+++ b/config/grub/nvme/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="nvme"
-rev="6811f6f09d61996a3acbc4fc0414e45964f0e2d9"
+rev="4dc6166571645780c459dde2cdc1b001a5ec844c"
diff --git a/config/grub/xhci/config/payload b/config/grub/xhci/config/payload
index 6a0fc250..d1f81fd3 100644
--- a/config/grub/xhci/config/payload
+++ b/config/grub/xhci/config/payload
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-# Copyright (C) 2014-2016,2020-2021,2023-2024 Leah Rowe <leah@libreboot.org>
+# Copyright (C) 2014-2016,2020-2021,2023-2025 Leah Rowe <leah@libreboot.org>
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
set prefix=(memdisk)/boot/grub
@@ -156,16 +156,12 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
# grub device enumeration is very slow, so checks are hardcoded
- # TODO: add more strings, based on what distros set up when
- # the user select auto-partitioning on those installers
- lvmvol="lvm/grubcrypt-bootvol lvm/grubcrypt-rootvol"
-
raidvol="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9"
- # in practise, doing multiple redundant checks is perfectly fast and
+ # in practise, doing multiple redundant checks is perfectly fast
# TODO: optimize grub itself, and use */? here for everything
- for vol in ${lvmvol} ${raidvol} ; do
+ for vol in ${raidvol} ; do
try_bootcfg "${vol}"
done
@@ -187,23 +183,37 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
set pager=0
echo -n "Attempting to unlock encrypted volumes"
- for dev in ${bootdev} ${lvmvol} ${raidvol}; do
+ for dev in ${bootdev} ${raidvol}; do
if cryptomount "${dev}" ; then break ; fi
done
set pager=1
echo
+ search_bootcfg crypto
+
+ lvmvol=""
+
# after cryptomount, lvm volumes might be available
+ # using * is slow on some machines, but we use it here,
+ # just once. in so doing, we find every lvm volume
+ for vol in (*); do
+ if regexp ^lvm/ $vol; then
+ lvmvol="${lvmvol} ${vol}"
+ try_bootcfg "${vol}"
+ fi
+ done
+
+ # user might have put luks inside lvm
+ set pager=0
+ echo "Attempting to unlock encrypted LVMs"
for vol in ${lvmvol}; do
- try_bootcfg "${vol}"
+ cryptomount "$vol"
done
+ set pager=1
+ echo
search_bootcfg crypto
- for vol in lvm/* ; do
- try_bootcfg "${vol}"
- done
-
true # Prevent pager requiring to accept each line instead of whole screen
}
diff --git a/config/grub/xhci/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch b/config/grub/xhci/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
index 757c8e03..d1ddc352 100644
--- a/config/grub/xhci/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
+++ b/config/grub/xhci/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
@@ -1,7 +1,7 @@
-From c94b9ea258feb53773bab06bc2a6c6e66a44f867 Mon Sep 17 00:00:00 2001
+From 96e8baf58dcae1dbc016420ea1972d50f09f8f9b Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 31 Oct 2021 03:47:05 +0000
-Subject: [PATCH 01/22] mitigate grub's missing characters for borders/arrow
+Subject: [PATCH 01/26] mitigate grub's missing characters for borders/arrow
characters
This cleans up the display on the main screen in GRUB.
diff --git a/config/grub/xhci/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch b/config/grub/xhci/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
index c6da216d..74970882 100644
--- a/config/grub/xhci/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
+++ b/config/grub/xhci/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
@@ -1,14 +1,14 @@
-From da775eafbe79e3100ca2262bde49e3e65978e83f Mon Sep 17 00:00:00 2001
+From f23a77c22e61e466c081d2b81b968bac4812e6b6 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 19 Nov 2022 16:30:24 +0000
-Subject: [PATCH 02/22] say the name libreboot, in the grub menu
+Subject: [PATCH 02/26] say the name libreboot, in the grub menu
---
grub-core/normal/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
-index bd4431000..ff16e0f2e 100644
+index 04d058f55..b1cc8f236 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
@@ -16,7 +16,7 @@ index bd4431000..ff16e0f2e 100644
grub_term_cls (term);
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
-+ msg_formatted = grub_xasprintf (_("Libreboot 20241206 release, based on coreboot. https://libreboot.org/"));
++ msg_formatted = grub_xasprintf (_("Libreboot 20241206, 8th revision (GRUB menu): https://libreboot.org/"));
if (!msg_formatted)
return;
diff --git a/config/grub/xhci/patches/0003-Add-CC0-license.patch b/config/grub/xhci/patches/0003-Add-CC0-license.patch
index 44d27eb5..1903a465 100644
--- a/config/grub/xhci/patches/0003-Add-CC0-license.patch
+++ b/config/grub/xhci/patches/0003-Add-CC0-license.patch
@@ -1,7 +1,7 @@
-From b91e5cafa7863b5a61e97d483f98dcece374721a Mon Sep 17 00:00:00 2001
+From 4e2ba04266f006369dc10b981803ba3a237f2ad8 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 03/22] Add CC0 license
+Subject: [PATCH 03/26] Add CC0 license
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
---
@@ -10,10 +10,10 @@ Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 8ad015b07..9980bae90 100644
+index de8c3aa8d..4a3be8568 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -494,7 +494,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
+@@ -495,7 +495,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
|| grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
diff --git a/config/grub/xhci/patches/0004-Define-GRUB_UINT32_MAX.patch b/config/grub/xhci/patches/0004-Define-GRUB_UINT32_MAX.patch
index 2d830d43..2adba78b 100644
--- a/config/grub/xhci/patches/0004-Define-GRUB_UINT32_MAX.patch
+++ b/config/grub/xhci/patches/0004-Define-GRUB_UINT32_MAX.patch
@@ -1,7 +1,7 @@
-From 58e0d7b7bcec2392b81dda613d070804f7c68cf5 Mon Sep 17 00:00:00 2001
+From c0b5c14042ee44e0e3ed814ebba3190b47514d82 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 04/22] Define GRUB_UINT32_MAX
+Subject: [PATCH 04/26] Define GRUB_UINT32_MAX
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
---
diff --git a/config/grub/xhci/patches/0005-Add-Argon2-algorithm.patch b/config/grub/xhci/patches/0005-Add-Argon2-algorithm.patch
index ff2dc74e..0db13c60 100644
--- a/config/grub/xhci/patches/0005-Add-Argon2-algorithm.patch
+++ b/config/grub/xhci/patches/0005-Add-Argon2-algorithm.patch
@@ -1,7 +1,7 @@
-From 65a9b252b79d5d1fa022e3da9ef91459ad8efb94 Mon Sep 17 00:00:00 2001
+From 46aa2f307de53b305045f7706b38a4e0d198875e Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 05/22] Add Argon2 algorithm
+Subject: [PATCH 05/26] Add Argon2 algorithm
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
---
diff --git a/config/grub/xhci/patches/0006-Error-on-missing-Argon2id-parameters.patch b/config/grub/xhci/patches/0006-Error-on-missing-Argon2id-parameters.patch
index 22553006..b9da0bec 100644
--- a/config/grub/xhci/patches/0006-Error-on-missing-Argon2id-parameters.patch
+++ b/config/grub/xhci/patches/0006-Error-on-missing-Argon2id-parameters.patch
@@ -1,7 +1,7 @@
-From 809908898f9d67979885a651b295ca1fa066039c Mon Sep 17 00:00:00 2001
+From c3a68f158725a858206c1fc91407b4993142a4a5 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 06/22] Error on missing Argon2id parameters
+Subject: [PATCH 06/26] Error on missing Argon2id parameters
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
---
@@ -9,10 +9,10 @@ Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index d5106402f..bc818ea69 100644
+index 8036d76ff..efae8ac65 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
-@@ -38,6 +38,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
+@@ -39,6 +39,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
enum grub_luks2_kdf_type
{
LUKS2_KDF_TYPE_ARGON2I,
@@ -20,7 +20,7 @@ index d5106402f..bc818ea69 100644
LUKS2_KDF_TYPE_PBKDF2
};
typedef enum grub_luks2_kdf_type grub_luks2_kdf_type_t;
-@@ -90,7 +91,7 @@ struct grub_luks2_keyslot
+@@ -91,7 +92,7 @@ struct grub_luks2_keyslot
grub_int64_t time;
grub_int64_t memory;
grub_int64_t cpus;
@@ -29,7 +29,7 @@ index d5106402f..bc818ea69 100644
struct
{
const char *hash;
-@@ -160,10 +161,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
+@@ -161,10 +162,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing or invalid KDF");
else if (!grub_strcmp (type, "argon2i") || !grub_strcmp (type, "argon2id"))
{
@@ -45,7 +45,7 @@ index d5106402f..bc818ea69 100644
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing Argon2i parameters");
}
else if (!grub_strcmp (type, "pbkdf2"))
-@@ -459,6 +461,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
+@@ -460,6 +462,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
switch (k->kdf.type)
{
case LUKS2_KDF_TYPE_ARGON2I:
diff --git a/config/grub/xhci/patches/0007-Compile-with-Argon2id-support.patch b/config/grub/xhci/patches/0007-Compile-with-Argon2id-support.patch
index b77a5751..c6369367 100644
--- a/config/grub/xhci/patches/0007-Compile-with-Argon2id-support.patch
+++ b/config/grub/xhci/patches/0007-Compile-with-Argon2id-support.patch
@@ -1,7 +1,7 @@
-From 26ae5da9ed8382869b699a653988e6c8f32bd3d1 Mon Sep 17 00:00:00 2001
+From 13f149fa5fe4e2ae0e95b3055584335beb9bdee8 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 07/22] Compile with Argon2id support
+Subject: [PATCH 07/26] Compile with Argon2id support
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
---
@@ -48,18 +48,18 @@ index f5f9b040c..f1f38d8d3 100644
module = {
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index bc818ea69..5b9eaa599 100644
+index efae8ac65..2e742f5be 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
-@@ -27,6 +27,7 @@
- #include <grub/partition.h>
+@@ -28,6 +28,7 @@
#include <grub/i18n.h>
+ #include <grub/safemath.h>
+#include <argon2.h>
#include <base64.h>
#include <json.h>
-@@ -462,8 +463,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
+@@ -463,8 +464,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
{
case LUKS2_KDF_TYPE_ARGON2I:
case LUKS2_KDF_TYPE_ARGON2ID:
diff --git a/config/grub/xhci/patches/0008-Make-grub-install-work-with-Argon2.patch b/config/grub/xhci/patches/0008-Make-grub-install-work-with-Argon2.patch
index 00f94eef..b0e36f9e 100644
--- a/config/grub/xhci/patches/0008-Make-grub-install-work-with-Argon2.patch
+++ b/config/grub/xhci/patches/0008-Make-grub-install-work-with-Argon2.patch
@@ -1,7 +1,7 @@
-From 6ce0b0629aa1377237c19290f33008ff81969962 Mon Sep 17 00:00:00 2001
+From 068442a692ab28298eab6bfd89a286c1d2ab91e0 Mon Sep 17 00:00:00 2001
From: Ax333l <main@axelen.xyz>
Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 08/22] Make grub-install work with Argon2
+Subject: [PATCH 08/26] Make grub-install work with Argon2
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
---
diff --git a/config/grub/xhci/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch b/config/grub/xhci/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
index 31798205..9d7a9387 100644
--- a/config/grub/xhci/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
+++ b/config/grub/xhci/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
@@ -1,7 +1,7 @@
-From 3f69e2c35ccf2a37fd35f1821c7b85cc6df07ca7 Mon Sep 17 00:00:00 2001
+From 063d8d5fe39d2addca7806ca0a7c6f0544affa8f Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 30 Oct 2023 22:19:21 +0000
-Subject: [PATCH 09/22] at_keyboard coreboot: force scancodes2+translate
+Subject: [PATCH 09/26] at_keyboard coreboot: force scancodes2+translate
Scan code set 2 with translation should be assumed in
every case, as the default starting position.
diff --git a/config/grub/xhci/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/xhci/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
index 742aae38..b116ea52 100644
--- a/config/grub/xhci/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
+++ b/config/grub/xhci/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
@@ -1,7 +1,7 @@
-From 44befdaa1ee588591f46c13d057fdef56b87218c Mon Sep 17 00:00:00 2001
+From cb7d93059959eb921328bd285f18e363f0f44aec Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 31 Oct 2023 10:33:28 +0000
-Subject: [PATCH 10/22] keylayouts: don't print "Unknown key" message
+Subject: [PATCH 10/26] keylayouts: don't print "Unknown key" message
on keyboards with stuck keys, this results in GRUB just
spewing it repeatedly, preventing use of GRUB.
diff --git a/config/grub/xhci/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch b/config/grub/xhci/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
index 960c693d..655e0005 100644
--- a/config/grub/xhci/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
+++ b/config/grub/xhci/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
@@ -1,7 +1,7 @@
-From bfecf6d86ccf82fb85af93600931cee589891089 Mon Sep 17 00:00:00 2001
+From 2ca7390361d1ff8ea18399b41e38436c8d506d60 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:14:58 +0000
-Subject: [PATCH 11/22] don't print missing prefix errors on the screen
+Subject: [PATCH 11/26] don't print missing prefix errors on the screen
we do actually set the prefix. this patch modifies
grub to still set grub_errno and return accordingly,
@@ -85,10 +85,10 @@ index 18de52562..2a0fea6c8 100644
}
file = try_open_from_prefix (prefix, filename);
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 9980bae90..4457cad7c 100644
+index 4a3be8568..6ae3d73f8 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -871,7 +871,7 @@ grub_dl_load (const char *name)
+@@ -881,7 +881,7 @@ grub_dl_load (const char *name)
return 0;
if (! grub_dl_dir) {
diff --git a/config/grub/xhci/patches/0012-don-t-print-error-if-module-not-found.patch b/config/grub/xhci/patches/0012-don-t-print-error-if-module-not-found.patch
index c098f7e8..589dd4d7 100644
--- a/config/grub/xhci/patches/0012-don-t-print-error-if-module-not-found.patch
+++ b/config/grub/xhci/patches/0012-don-t-print-error-if-module-not-found.patch
@@ -1,7 +1,7 @@
-From f44fc56f06559313841de2b53637020fbe139803 Mon Sep 17 00:00:00 2001
+From 51b439fc0aea4ef2c52c80fa765d9bda992a8ac2 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:36:22 +0000
-Subject: [PATCH 12/22] don't print error if module not found
+Subject: [PATCH 12/26] don't print error if module not found
still set grub_errno accordingly, and otherwise
behave the same. in libreboot, we remove a lot of
@@ -17,10 +17,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 4457cad7c..ea9fe8019 100644
+index 6ae3d73f8..4c15027fe 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -510,7 +510,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
+@@ -511,7 +511,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
s = grub_dl_find_section (e, ".modname");
if (!s)
diff --git a/config/grub/xhci/patches/0013-don-t-print-empty-error-messages.patch b/config/grub/xhci/patches/0013-don-t-print-empty-error-messages.patch
index 23672773..7cd354e3 100644
--- a/config/grub/xhci/patches/0013-don-t-print-empty-error-messages.patch
+++ b/config/grub/xhci/patches/0013-don-t-print-empty-error-messages.patch
@@ -1,7 +1,7 @@
-From e459ed55902003644e7bcd76361cc43247231a99 Mon Sep 17 00:00:00 2001
+From 88c2d1618283c7f1c3b4adbce532789b0ca2447d Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 17:25:20 +0000
-Subject: [PATCH 13/22] don't print empty error messages
+Subject: [PATCH 13/26] don't print empty error messages
this is part two of the quest to kill the prefix
error message. after i disabled prefix-related
diff --git a/config/grub/xhci/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch b/config/grub/xhci/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch
index bc18cb13..a35a16e9 100644
--- a/config/grub/xhci/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch
+++ b/config/grub/xhci/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch
@@ -1,7 +1,7 @@
-From 85fdf29d37b58be96042d6df24f8bc08bba9906d Mon Sep 17 00:00:00 2001
+From 2472f3c2e465863c51a3cacf96ab910c015cfa8e Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Sun, 15 Nov 2020 19:00:27 +0100
-Subject: [PATCH 14/22] grub-core/bus/usb: Parse SuperSpeed companion
+Subject: [PATCH 14/26] grub-core/bus/usb: Parse SuperSpeed companion
descriptors
Parse the SS_ENDPOINT_COMPANION descriptor, which is only present on USB 3.0
diff --git a/config/grub/xhci/patches/0015-usb-Add-enum-for-xHCI.patch b/config/grub/xhci/patches/0015-usb-Add-enum-for-xHCI.patch
index d8330e59..84b81df7 100644
--- a/config/grub/xhci/patches/0015-usb-Add-enum-for-xHCI.patch
+++ b/config/grub/xhci/patches/0015-usb-Add-enum-for-xHCI.patch
@@ -1,7 +1,7 @@
-From 26a5ed135c94b295b9a0037f5e7201eb5d38fde4 Mon Sep 17 00:00:00 2001
+From 681a247209c83451cdebf6fc02cee6737a1921b6 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
-Date: Sun, 15 Nov 2020 19:47:06 +0100
-Subject: [PATCH 15/22] usb: Add enum for xHCI
+Date: Mon, 7 Dec 2020 08:41:22 +0100
+Subject: [PATCH 15/26] usb: Add enum for xHCI
Will be used in future patches.
diff --git a/config/grub/xhci/patches/0016-usbtrans-Set-default-maximum-packet-size.patch b/config/grub/xhci/patches/0016-usbtrans-Set-default-maximum-packet-size.patch
index 27402534..611db609 100644
--- a/config/grub/xhci/patches/0016-usbtrans-Set-default-maximum-packet-size.patch
+++ b/config/grub/xhci/patches/0016-usbtrans-Set-default-maximum-packet-size.patch
@@ -1,7 +1,7 @@
-From 13bc84d9f43328ba47273cbcf87c517398dcfc93 Mon Sep 17 00:00:00 2001
+From 8af01b2548f61a9197b9f931831ca397a7e7c9b3 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
-Date: Sun, 15 Nov 2020 19:48:03 +0100
-Subject: [PATCH 16/22] usbtrans: Set default maximum packet size
+Date: Mon, 7 Dec 2020 08:41:23 +0100
+Subject: [PATCH 16/26] usbtrans: Set default maximum packet size
Set the maximum packet size to 512 for SuperSpeed devices.
diff --git a/config/grub/xhci/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch b/config/grub/xhci/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch
index eede3791..05540fa6 100644
--- a/config/grub/xhci/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch
+++ b/config/grub/xhci/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch
@@ -1,7 +1,7 @@
-From 1518589ff286b54a27d4b11f017cb43c90cbf566 Mon Sep 17 00:00:00 2001
+From 7a977001a1574c884c4f711686c2de01386b9230 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Sun, 15 Nov 2020 19:51:42 +0100
-Subject: [PATCH 17/22] grub-core/bus/usb: Add function pointer for
+Subject: [PATCH 17/26] grub-core/bus/usb: Add function pointer for
attach/detach events
The xHCI code needs to be called for attaching or detaching a device.
@@ -19,7 +19,7 @@ Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
5 files changed, 29 insertions(+)
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
-index 9abebc6bd..953b851c0 100644
+index 2db07c7c0..1ee056015 100644
--- a/grub-core/bus/usb/ehci.c
+++ b/grub-core/bus/usb/ehci.c
@@ -1812,6 +1812,8 @@ static struct grub_usb_controller_dev usb_controller = {
diff --git a/config/grub/xhci/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch b/config/grub/xhci/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch
index 099ef79d..a3eaba15 100644
--- a/config/grub/xhci/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch
+++ b/config/grub/xhci/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch
@@ -1,7 +1,7 @@
-From 8dd981a95cc7731b63b2d79ce6f98ce2d6b5a993 Mon Sep 17 00:00:00 2001
+From e8a237ffb5bd3ba5258ce5c173b31424f3a39392 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
-Date: Sun, 15 Nov 2020 19:54:40 +0100
-Subject: [PATCH 18/22] grub-core/bus/usb/usbhub: Add new private fields for
+Date: Mon, 7 Dec 2020 08:41:25 +0100
+Subject: [PATCH 18/26] grub-core/bus/usb/usbhub: Add new private fields for
xHCI controller
Store the root port number, the route, consisting out of the port ID
diff --git a/config/grub/xhci/patches/0019-grub-core-bus-usb-Add-xhci-support.patch b/config/grub/xhci/patches/0019-grub-core-bus-usb-Add-xhci-support.patch
index aaabb3da..e6c0d474 100644
--- a/config/grub/xhci/patches/0019-grub-core-bus-usb-Add-xhci-support.patch
+++ b/config/grub/xhci/patches/0019-grub-core-bus-usb-Add-xhci-support.patch
@@ -1,7 +1,7 @@
-From dde187c07a8f2a1d3357aa362ffcc0fe8dab72d7 Mon Sep 17 00:00:00 2001
+From badcc0d5ff1d4b194c93a530344788c4231d8789 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
-Date: Sun, 15 Nov 2020 19:59:25 +0100
-Subject: [PATCH 19/22] grub-core/bus/usb: Add xhci support
+Date: Mon, 7 Dec 2020 08:41:26 +0100
+Subject: [PATCH 19/26] grub-core/bus/usb: Add xhci support
Add support for xHCI USB controllers.
The code is based on seabios implementation, but has been heavily
@@ -41,13 +41,6 @@ TODO:
* Test on USB3 hubs
* Support for USB 3.1 and USB 3.2 controllers
-Tested on qemu using coreboot and grub as payload:
-
-qemu-system-x86_64 -M q35 -bios $firmware -device qemu-xhci,id=xhci -accel kvm -m 1024M \
- -device usb-storage,drive=thumbdrive,bus=xhci.0,port=3 \
- -drive if=none,format=raw,id=thumbdrive,file=ubuntu-20.04.1-desktop-amd64.iso \
- -device usb-kbd,bus=xhci.0
-
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: sylv <sylv@sylv.io>
---
diff --git a/config/grub/xhci/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch b/config/grub/xhci/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch
index 6a3266b2..01d7d008 100644
--- a/config/grub/xhci/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch
+++ b/config/grub/xhci/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch
@@ -1,7 +1,7 @@
-From 28856bd0646e0396b3d5249a99b731f2743aec5a Mon Sep 17 00:00:00 2001
+From e4416b166e501777e53de387ac4329150483a160 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
-Date: Thu, 3 Dec 2020 13:44:55 +0100
-Subject: [PATCH 20/22] grub-core/bus/usb/usbhub: Add xHCI non root hub support
+Date: Mon, 7 Dec 2020 08:41:27 +0100
+Subject: [PATCH 20/26] grub-core/bus/usb/usbhub: Add xHCI non root hub support
Tested on Intel PCH C246, the USB3 hub can be configured by grub.
diff --git a/config/grub/xhci/patches/0021-xHCI-also-accept-SBRN-0x31-and-0x32.patch b/config/grub/xhci/patches/0021-xHCI-also-accept-SBRN-0x31-and-0x32.patch
new file mode 100644
index 00000000..d0874f85
--- /dev/null
+++ b/config/grub/xhci/patches/0021-xHCI-also-accept-SBRN-0x31-and-0x32.patch
@@ -0,0 +1,26 @@
+From 8e6d5b598b3e21c905023b438110d71f487a2289 Mon Sep 17 00:00:00 2001
+From: Sven Anderson <sven@anderson.de>
+Date: Sat, 28 May 2022 21:39:23 +0200
+Subject: [PATCH 21/26] xHCI: also accept SBRN 0x31 and 0x32
+
+Signed-off-by: Sven Anderson <sven@anderson.de>
+---
+ grub-core/bus/usb/xhci-pci.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/bus/usb/xhci-pci.c b/grub-core/bus/usb/xhci-pci.c
+index a5bd3c97d..cde21f57a 100644
+--- a/grub-core/bus/usb/xhci-pci.c
++++ b/grub-core/bus/usb/xhci-pci.c
+@@ -76,7 +76,7 @@ grub_xhci_pci_iter (grub_pci_device_t dev, grub_pci_id_t pciid,
+ /* Check Serial Bus Release Number */
+ addr = grub_pci_make_address (dev, GRUB_XHCI_PCI_SBRN_REG);
+ release = grub_pci_read_byte (addr);
+- if (release != 0x30)
++ if (release != 0x30 && release != 0x31 &&release != 0x32)
+ {
+ grub_dprintf ("xhci", "XHCI grub_xhci_pci_iter: Wrong SBRN: %0x\n",
+ release);
+--
+2.39.5
+
diff --git a/config/grub/xhci/patches/0022-xhci-fix-port-indexing.patch b/config/grub/xhci/patches/0022-xhci-fix-port-indexing.patch
new file mode 100644
index 00000000..7e0bcb74
--- /dev/null
+++ b/config/grub/xhci/patches/0022-xhci-fix-port-indexing.patch
@@ -0,0 +1,43 @@
+From 32c6d97e2a80c2e74dd9daf74281a89d1a05faaa Mon Sep 17 00:00:00 2001
+From: Sven Anderson <sven@anderson.de>
+Date: Mon, 13 Jan 2025 19:51:41 +0100
+Subject: [PATCH 22/26] xhci: fix port indexing
+
+---
+ grub-core/bus/usb/xhci.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/grub-core/bus/usb/xhci.c b/grub-core/bus/usb/xhci.c
+index f4591ffb5..dc89b9619 100644
+--- a/grub-core/bus/usb/xhci.c
++++ b/grub-core/bus/usb/xhci.c
+@@ -2250,7 +2250,7 @@ grub_xhci_detect_dev (grub_usb_controller_t dev, int port, int *changed)
+
+ *changed = 0;
+ grub_dprintf("xhci", "%s: dev=%p USB%d_%d port %d\n", __func__, dev,
+- x->psids[port-1].major, x->psids[port-1].minor, port);
++ x->psids[port].major, x->psids[port].minor, port);
+
+ /* On shutdown advertise all ports as disconnected. This will trigger
+ * a gracefull detatch. */
+@@ -2285,13 +2285,13 @@ grub_xhci_detect_dev (grub_usb_controller_t dev, int port, int *changed)
+ if (!(portsc & GRUB_XHCI_PORTSC_CCS))
+ return GRUB_USB_SPEED_NONE;
+
+- for (grub_uint8_t i = 0; i < 16 && x->psids[port-1].psids[i].id > 0; i++)
++ for (grub_uint8_t i = 0; i < 16 && x->psids[port].psids[i].id > 0; i++)
+ {
+- if (x->psids[port-1].psids[i].id == speed)
++ if (x->psids[port].psids[i].id == speed)
+ {
+ grub_dprintf("xhci", "%s: grub_usb_speed = %d\n", __func__,
+- x->psids[port-1].psids[i].grub_usb_speed );
+- return x->psids[port-1].psids[i].grub_usb_speed;
++ x->psids[port].psids[i].grub_usb_speed );
++ return x->psids[port].psids[i].grub_usb_speed;
+ }
+ }
+
+--
+2.39.5
+
diff --git a/config/grub/xhci/patches/0024-xhci-configure-TT-for-non-root-hubs.patch b/config/grub/xhci/patches/0024-xhci-configure-TT-for-non-root-hubs.patch
new file mode 100644
index 00000000..a605e210
--- /dev/null
+++ b/config/grub/xhci/patches/0024-xhci-configure-TT-for-non-root-hubs.patch
@@ -0,0 +1,98 @@
+From 233f7dd274ef2ccac7b1fc0f5cfdeb7c01aef58b Mon Sep 17 00:00:00 2001
+From: Sven Anderson <sven@anderson.de>
+Date: Mon, 13 Jan 2025 20:26:32 +0100
+Subject: [PATCH 24/26] xhci: configure TT for non-root-hubs
+
+---
+ grub-core/bus/usb/usbhub.c | 6 +++++
+ grub-core/bus/usb/xhci.c | 45 +++++++++++++++++++++++++++++++++-----
+ include/grub/usb.h | 2 ++
+ 3 files changed, 47 insertions(+), 6 deletions(-)
+
+diff --git a/grub-core/bus/usb/usbhub.c b/grub-core/bus/usb/usbhub.c
+index e96505aa9..629b3ed53 100644
+--- a/grub-core/bus/usb/usbhub.c
++++ b/grub-core/bus/usb/usbhub.c
+@@ -818,3 +818,9 @@ grub_usb_iterate (grub_usb_iterate_hook_t hook, void *hook_data)
+
+ return 0;
+ }
++
++grub_usb_device_t
++grub_usb_get_dev (int addr)
++{
++ return grub_usb_devs[addr];
++}
+diff --git a/grub-core/bus/usb/xhci.c b/grub-core/bus/usb/xhci.c
+index d13a7c39d..8ad2a10f9 100644
+--- a/grub-core/bus/usb/xhci.c
++++ b/grub-core/bus/usb/xhci.c
+@@ -623,13 +623,46 @@ grub_xhci_alloc_inctx(struct grub_xhci *x, int maxepid,
+ break;
+ }
+
+- /* Route is greater zero on devices that are connected to a non root hub */
+- if (dev->route)
+- {
+- /* FIXME: Implement this code for non SuperSpeed hub devices */
++ /* Set routing string */
++ slot->ctx[0] |= dev->route;
++
++ /* Set root hub port number */
++ slot->ctx[1] |= (dev->root_port + 1) << 16;
++
++ if (dev->split_hubaddr && (dev->speed == GRUB_USB_SPEED_LOW ||
++ dev->speed == GRUB_USB_SPEED_FULL)) {
++
++ grub_usb_device_t hubdev = grub_usb_get_dev(dev->split_hubaddr);
++
++ if (!hubdev || hubdev->descdev.class != GRUB_USB_CLASS_HUB) {
++ grub_dprintf("xhci", "Invalid hub device at addr %d!\n", dev->split_hubaddr);
++ return NULL;
++ }
++
++ struct grub_xhci_priv *hub_priv = hubdev->xhci_priv;
++ if (!hub_priv) {
++ grub_dprintf("xhci", "Hub has no xhci_priv!\n");
++ return NULL;
++ }
++
++ if (hubdev->speed == GRUB_USB_SPEED_HIGH) {
++ /* Direct connection to high-speed hub - set up TT */
++ grub_dprintf("xhci", "Direct high-speed hub connection - configuring TT with "
++ "hub slot %d port %d\n", hub_priv->slotid, dev->split_hubport);
++ slot->ctx[2] |= hub_priv->slotid;
++ slot->ctx[2] |= dev->split_hubport << 8;
+ }
+- slot->ctx[0] |= dev->route;
+- slot->ctx[1] |= (dev->root_port+1) << 16;
++ else {
++ /* Hub is not high-speed, inherit TT settings from parent */
++ volatile struct grub_xhci_slotctx *hubslot;
++ grub_dprintf("xhci", "Non high-speed hub - inheriting TT settings from parent\n");
++ hubslot = grub_dma_phys2virt(x->devs[hub_priv->slotid].ptr_low, x->devs_dma);
++ slot->ctx[2] = hubslot->ctx[2];
++ }
++ }
++
++ grub_dprintf("xhci", "Slot context: ctx[0]=0x%08x ctx[1]=0x%08x ctx[2]=0x%08x\n",
++ slot->ctx[0], slot->ctx[1], slot->ctx[2]);
+
+ grub_arch_sync_dma_caches(in, size);
+
+diff --git a/include/grub/usb.h b/include/grub/usb.h
+index eb71fa1c7..df97a60cc 100644
+--- a/include/grub/usb.h
++++ b/include/grub/usb.h
+@@ -62,6 +62,8 @@ typedef int (*grub_usb_controller_iterate_hook_t) (grub_usb_controller_t dev,
+ /* Call HOOK with each device, until HOOK returns non-zero. */
+ int grub_usb_iterate (grub_usb_iterate_hook_t hook, void *hook_data);
+
++grub_usb_device_t grub_usb_get_dev (int addr);
++
+ grub_usb_err_t grub_usb_device_initialize (grub_usb_device_t dev);
+
+ grub_usb_err_t grub_usb_get_descriptor (grub_usb_device_t dev,
+--
+2.39.5
+
diff --git a/config/grub/xhci/patches/0021-Fix-compilation-on-x86_64.patch b/config/grub/xhci/patches/0025-Fix-compilation-on-x86_64.patch
index 8f80664c..e75cc5e9 100644
--- a/config/grub/xhci/patches/0021-Fix-compilation-on-x86_64.patch
+++ b/config/grub/xhci/patches/0025-Fix-compilation-on-x86_64.patch
@@ -1,7 +1,7 @@
-From 040942842dc05c9b94c9be21f01b08da3e25fe6d Mon Sep 17 00:00:00 2001
+From 0441e7eff7950bfd47fc2f5533ce2c64b785dc1d Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Wed, 24 Feb 2021 08:25:41 +0100
-Subject: [PATCH 21/22] Fix compilation on x86_64
+Subject: [PATCH 25/26] Fix compilation on x86_64
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
---
@@ -9,7 +9,7 @@ Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/grub-core/bus/usb/xhci.c b/grub-core/bus/usb/xhci.c
-index f4591ffb5..3495bb919 100644
+index 8ad2a10f9..ceb57c9b3 100644
--- a/grub-core/bus/usb/xhci.c
+++ b/grub-core/bus/usb/xhci.c
@@ -184,7 +184,7 @@ enum
@@ -36,7 +36,7 @@ index f4591ffb5..3495bb919 100644
static inline grub_uint32_t
grub_xhci_port_read (struct grub_xhci *x, grub_uint32_t port)
{
-@@ -664,7 +672,7 @@ static void xhci_process_events(struct grub_xhci *x)
+@@ -697,7 +705,7 @@ static void xhci_process_events(struct grub_xhci *x)
case ER_TRANSFER:
case ER_COMMAND_COMPLETE:
{
@@ -45,7 +45,7 @@ index f4591ffb5..3495bb919 100644
struct grub_xhci_ring *ring = XHCI_RING(rtrb);
volatile struct grub_xhci_trb *evt = &ring->evt;
grub_uint32_t eidx = rtrb - ring->ring + 1;
-@@ -697,9 +705,9 @@ static void xhci_process_events(struct grub_xhci *x)
+@@ -730,9 +738,9 @@ static void xhci_process_events(struct grub_xhci *x)
}
grub_xhci_write32(&evts->nidx, nidx);
volatile struct grub_xhci_ir *ir = x->ir;
@@ -58,7 +58,7 @@ index f4591ffb5..3495bb919 100644
}
}
-@@ -800,7 +808,7 @@ static void xhci_trb_queue(volatile struct grub_xhci_ring *ring,
+@@ -833,7 +841,7 @@ static void xhci_trb_queue(volatile struct grub_xhci_ring *ring,
grub_uint32_t xferlen, grub_uint32_t flags)
{
grub_dprintf("xhci", "%s: ring %p data %llx len %d flags 0x%x remain 0x%x\n", __func__,
@@ -67,7 +67,7 @@ index f4591ffb5..3495bb919 100644
if (xhci_ring_full(ring))
{
-@@ -1907,7 +1915,7 @@ grub_xhci_setup_transfer (grub_usb_controller_t dev,
+@@ -1940,7 +1948,7 @@ grub_xhci_setup_transfer (grub_usb_controller_t dev,
if (transfer->type == GRUB_USB_TRANSACTION_TYPE_CONTROL)
{
volatile struct grub_usb_packet_setup *setupdata;
@@ -76,7 +76,7 @@ index f4591ffb5..3495bb919 100644
grub_dprintf("xhci", "%s: CONTROLL TRANS req %d\n", __func__, setupdata->request);
grub_dprintf("xhci", "%s: CONTROLL TRANS length %d\n", __func__, setupdata->length);
-@@ -1974,7 +1982,7 @@ grub_xhci_setup_transfer (grub_usb_controller_t dev,
+@@ -2007,7 +2015,7 @@ grub_xhci_setup_transfer (grub_usb_controller_t dev,
/* Assume the ring has enough free space for all TRBs */
if (flags & TRB_TR_IDT && tr->size <= (int)sizeof(inline_data))
{
diff --git a/config/grub/xhci/patches/0022-Add-native-NVMe-driver-based-on-SeaBIOS.patch b/config/grub/xhci/patches/0026-Add-native-NVMe-driver-based-on-SeaBIOS.patch
index c105dd19..36bbecd9 100644
--- a/config/grub/xhci/patches/0022-Add-native-NVMe-driver-based-on-SeaBIOS.patch
+++ b/config/grub/xhci/patches/0026-Add-native-NVMe-driver-based-on-SeaBIOS.patch
@@ -1,7 +1,7 @@
-From 2fb0de8881bd2fe637d05bec0ae887f380434b7d Mon Sep 17 00:00:00 2001
+From 4440b01a702368c81520f630aa16852de55bb808 Mon Sep 17 00:00:00 2001
From: Mate Kukri <km@mkukri.xyz>
Date: Mon, 20 May 2024 11:43:35 +0100
-Subject: [PATCH 22/22] Add native NVMe driver based on SeaBIOS
+Subject: [PATCH 26/26] Add native NVMe driver based on SeaBIOS
Tested to successfully boot Debian on QEMU and OptiPlex 3050.
@@ -31,20 +31,19 @@ index 65016f856..7bc0866ba 100644
endif
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index fda723f0c..27a707fda 100644
+index fda723f0c..367e4b5e6 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
-@@ -2683,4 +2683,10 @@ module = {
- common = tests/asn1/asn1_test.c;
+@@ -2684,3 +2684,9 @@ module = {
cflags = '-Wno-uninitialized';
cppflags = '-I$(srcdir)/lib/libtasn1-grub -I$(srcdir)/tests/asn1/';
-+};
+ };
+
+module = {
+ name = nvme;
+ common = disk/nvme.c;
+ enable = pci;
- };
++};
diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c
index 6806bff9c..fd68a513e 100644
--- a/grub-core/commands/nativedisk.c
diff --git a/config/grub/xhci/target.cfg b/config/grub/xhci/target.cfg
index 540f11f7..aca71fca 100644
--- a/config/grub/xhci/target.cfg
+++ b/config/grub/xhci/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="xhci"
-rev="6811f6f09d61996a3acbc4fc0414e45964f0e2d9"
+rev="4dc6166571645780c459dde2cdc1b001a5ec844c"
diff --git a/config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch b/config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch
new file mode 100644
index 00000000..5cf60763
--- /dev/null
+++ b/config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch
@@ -0,0 +1,26 @@
+From ebd8293eb1af20c204beb3aa1394865185e2f3f0 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 6 Jan 2025 18:49:58 +0000
+Subject: [PATCH 1/1] Print the Libreboot version in the SeaBIOS menu
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ src/bootsplash.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bootsplash.c b/src/bootsplash.c
+index 538b316d..8746098c 100644
+--- a/src/bootsplash.c
++++ b/src/bootsplash.c
+@@ -48,7 +48,7 @@ enable_vga_console(void)
+ call16_int10(&br);
+
+ // Write to screen.
+- printf("SeaBIOS (version %s)\n", VERSION);
++ printf("Libreboot 20241206, 8th revision (SeaBIOS menu): https://libreboot.org/\n");
+ display_uuid();
+ }
+
+--
+2.39.5
+
diff --git a/config/submodule/docs/html/module.cfg b/config/submodule/docs/html/module.cfg
index 9d2b20c4..c9ff5c75 100644
--- a/config/submodule/docs/html/module.cfg
+++ b/config/submodule/docs/html/module.cfg
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-subhash="3787d9eade2409ff5192fb86bd4c6c5b025c3c5a"
+subhash="090e58d4f84125bdcf035efcadd1cd5c13a03c77"
subrepo="https://codeberg.org/libreboot/lbwww"
subrepo_bkup="https://git.disroot.org/libreboot/lbwww"
diff --git a/config/submodule/docs/img/module.cfg b/config/submodule/docs/img/module.cfg
index c65a6dbf..034de191 100644
--- a/config/submodule/docs/img/module.cfg
+++ b/config/submodule/docs/img/module.cfg
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-subhash="8dcb3e11a579e29bc5a16ba1ba5b473164d2e9e4"
+subhash="2bf719e6542c3ffa6df0bdcb77ef1619cb2dce01"
subrepo="https://codeberg.org/libreboot/lbwww-img"
subrepo_bkup="https://git.disroot.org/libreboot/lbwww-img"
diff --git a/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch
index 53a9b90d..2f903cd7 100644
--- a/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch
+++ b/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch
@@ -18,7 +18,7 @@ index 84831915a2..8e26ec2aef 100644
ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100);
ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE,
- "U-Boot - Boot Menu", NULL);
-+ "Libreboot 20241206 release (U-Boot Menu) https://libreboot.org/", NULL);
++ "Libreboot 20241206, 8th revision (U-Boot menu): https://libreboot.org/", NULL);
ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT);
logo = video_get_u_boot_logo();
diff --git a/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
index 53a9b90d..2f903cd7 100644
--- a/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
+++ b/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
@@ -18,7 +18,7 @@ index 84831915a2..8e26ec2aef 100644
ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100);
ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE,
- "U-Boot - Boot Menu", NULL);
-+ "Libreboot 20241206 release (U-Boot Menu) https://libreboot.org/", NULL);
++ "Libreboot 20241206, 8th revision (U-Boot menu): https://libreboot.org/", NULL);
ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT);
logo = video_get_u_boot_logo();
diff --git a/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
index 53a9b90d..2f903cd7 100644
--- a/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
+++ b/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
@@ -18,7 +18,7 @@ index 84831915a2..8e26ec2aef 100644
ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100);
ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE,
- "U-Boot - Boot Menu", NULL);
-+ "Libreboot 20241206 release (U-Boot Menu) https://libreboot.org/", NULL);
++ "Libreboot 20241206, 8th revision (U-Boot menu): https://libreboot.org/", NULL);
ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT);
logo = video_get_u_boot_logo();
diff --git a/include/git.sh b/include/git.sh
index 21a1f3b7..4fa904ba 100644
--- a/include/git.sh
+++ b/include/git.sh
@@ -5,6 +5,8 @@
eval "`setvars "" loc url bkup_url subfile subhash subrepo subrepo_bkup \
depend subfile_bkup repofail`"
+tmpgit="$xbmkpwd/tmp/gitclone"
+
fetch_targets()
{
[ -n "$tree_depend" ] && [ "$tree_depend" != "$tree" ] && \
@@ -12,8 +14,9 @@ fetch_targets()
e "src/$project/$tree" d && return 0
printf "Creating %s tree %s\n" "$project" "$tree"
- git_prep "$loc" "$loc" "$PWD/$configdir/$tree/patches" \
- "src/$project/$tree" u; nuke "$project/$tree" "$project/$tree"
+ git_prep "$loc" "$loc" "$xbmkpwd/$configdir/$tree/patches" \
+ "src/$project/$tree" with_submodules
+ nuke "$project/$tree" "$project/$tree"
}
fetch_project()
@@ -31,8 +34,8 @@ fetch_project()
clone_project
for x in config/git/*; do
- [ -d "$x" ] && nuke "${x##*/}" "src/${x##*/}" 2>/dev/null
- done; return 0
+ [ -d "$x" ] && nuke "${x##*/}" "src/${x##*/}" 2>/dev/null; :
+ done; :
}
clone_project()
@@ -42,37 +45,39 @@ clone_project()
printf "Downloading project '%s' to '%s'\n" "$project" "$loc"
e "$loc" d missing && remkdir "${tmpgit%/*}" && git_prep \
- "$url" "$bkup_url" "$PWD/config/$project/patches" "$loc"; :
+ "$url" "$bkup_url" "$xbmkpwd/config/$project/patches" "$loc"; :
}
git_prep()
{
- _patchdir="$3"; _loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
+ _patchdir="$3"
+ _loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
- chkvars rev; tmpclone "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
+ chkvars rev
+ tmpclone "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
if singletree "$project" || [ $# -gt 4 ]; then
- prep_submodules "$_loc"; fi
+ [ -f "$mdir/module.list" ] && while read -r msrcdir; do
+ fetch_submodule "$msrcdir"
+ done < "$mdir/module.list"; :
+ fi
- [ "$project" = "coreboot" ] && [ -n "$xtree" ] && [ $# -gt 2 ] && \
- [ "$xtree" != "$tree" ] && link_crossgcc "$_loc"
- [ "$XBMK_RELEASE" = "y" ] && \
- [ "$_loc" != "$XBMK_CACHE/repo/$project" ] && rmgit "$tmpgit"
+ if [ "$project" = "coreboot" ] && [ -n "$xtree" ] && [ $# -gt 2 ] && \
+ [ "$xtree" != "$tree" ]; then (
+ x_ cd "$tmpgit/util" && x_ rm -Rf crossgcc
+ x_ ln -s "../../$xtree/util/crossgcc" crossgcc
+ ) || $err "$_loc: !xgcc link"; fi
- move_repo "$_loc"
-}
+ [ "$_loc" != "$XBMK_CACHE/repo/$project" ] && \
+ [ "$XBMK_RELEASE" = "y" ] && rmgit "$tmpgit"
-prep_submodules()
-{
- [ -f "$mdir/module.list" ] && while read -r msrcdir; do
- fetch_submodule "$msrcdir"
- done < "$mdir/module.list"; return 0
+ [ "$_loc" = "${_loc%/*}" ] || x_ mkdir -p "${_loc%/*}"
+ mv "$tmpgit" "$_loc" || $err "git_prep: !mv $tmpgit $_loc"
}
fetch_submodule()
{
- mcfgdir="$mdir/${1##*/}"
- eval "`setvars "" subhash subrepo subrepo_bkup subfile subfile_bkup \
- st`"
+ mcfgdir="$mdir/${1##*/}"; eval \
+ "`setvars "" subhash subrepo subrepo_bkup subfile subfile_bkup st`"
[ ! -f "$mcfgdir/module.cfg" ] || . "$mcfgdir/module.cfg" || \
$err "! . $mcfgdir/module.cfg"
@@ -123,32 +128,17 @@ tmpclone()
git_am_patches()
{
for p in "$2/"*; do
- [ -L "$p" ] && continue; [ -e "$p" ] || continue
+ [ -L "$p" ] && continue
+ [ -e "$p" ] || continue
[ -d "$p" ] && git_am_patches "$1" "$p" && continue
[ ! -f "$p" ] || git -C "$1" am "$p" || $err "$1 $2: !am $p"
- done; return 0
-}
-
-link_crossgcc()
-{
- (
- x_ cd "$tmpgit/util" && x_ rm -Rf crossgcc
- ln -s "../../$xtree/util/crossgcc" crossgcc || $err "$1: !xgcc link"
- ) || $err "$1: !xgcc link"
-}
-
-move_repo()
-{
- [ "$1" = "${1%/*}" ] || x_ mkdir -p "${1%/*}"
- mv "$tmpgit" "$1" || $err "git_prep: !mv $tmpgit $1"
+ done; :
}
-# can delete from multi- and single-tree projects.
-# called from script/trees when downloading sources.
nuke()
{
e "config/${1%/}/nuke.list" f missing || while read -r nukefile; do
rmf="src/${2%/}/$nukefile" && [ -L "$rmf" ] && continue
e "$rmf" e missing || rm -Rf "$rmf" || $err "!rm $rmf, ${2%/}"
- done < "config/${1%/}/nuke.list"; return 0
+ done < "config/${1%/}/nuke.list"; :
}
diff --git a/include/lib.sh b/include/lib.sh
index b43d83f3..e0c9b1a2 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -6,41 +6,55 @@
export LC_COLLATE=C
export LC_ALL=C
+projectname="libreboot"
+projectsite="https://libreboot.org/"
+
+[ -z "${PATH+x}" ] && \
+ export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
+xbmkpath="$PATH"
+
_ua="Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0"
ifdtool="elf/ifdtool/default/ifdtool"
cbfstool="elf/cbfstool/default/cbfstool"
rmodtool="elf/cbfstool/default/rmodtool"
-tmpgit="$PWD/tmp/gitclone"
grubdata="config/data/grub"
err="err_"
err_()
{
- printf "ERROR %s: %s\n" "$0" "$1" 1>&2; exit 1
+ printf "ERROR %s: %s\n" "$0" "$1" 1>&2
+ exit 1
}
+x_() {
+ [ $# -lt 1 ] || "$@" || $err "Unhandled error for: $(echo "$@")"; :
+}
+
+xbmkpwd="`pwd`" || $err "Cannot generate PWD"
+export PWD="$xbmkpwd"
setvars()
{
_setvars="" && [ $# -lt 2 ] && $err "setvars: too few arguments"
val="$1" && shift 1 && for var in "$@"; do
_setvars="$var=\"$val\"; $_setvars"
- done; printf "%s\n" "${_setvars% }"
+ done
+ printf "%s\n" "${_setvars% }"
}
chkvars()
{
for var in "$@"; do
eval "[ -n \"\${$var+x}\" ] || \$err \"$var unset\""
eval "[ -n \"\$$var\" ] || \$err \"$var unset\""
- done; return 0
+ done; :
}
-eval "`setvars "" _nogit board reinstall versiondate projectsite projectname \
- aur_notice configdir datadir version relname xbmk_parent`"
+eval "`setvars "" _nogit board reinstall versiondate aur_notice configdir \
+ datadir version relname`"
-for fv in projectname projectsite version versiondate; do
- eval "[ ! -f \"$fv\" ] || read -r $fv < \"$fv\" || :"
-done; chkvars projectname projectsite
+for fv in version versiondate; do
+ eval "[ ! -f \".$fv\" ] || read -r $fv < \".$fv\" || :"
+done
setcfg()
{
@@ -57,7 +71,8 @@ e()
estr="[ -$es_t \"\$1\" ] || return 1"
[ $# -gt 2 ] && estr="[ -$es_t \"\$1\" ] && return 1" && es2="missing"
- eval "$estr"; printf "%s %s\n" "$1" "$es2" 1>&2
+ eval "$estr"
+ printf "%s %s\n" "$1" "$es2" 1>&2
}
install_packages()
@@ -98,35 +113,36 @@ id -u 1>/dev/null 2>/dev/null || $err "suid check failed (id -u)"
[ "$(id -u)" != "0" ] || $err "this command as root is not permitted"
# XBMK_CACHE is a directory, for caching downloads and git repositories
-[ -z "${XBMK_CACHE+x}" ] && export XBMK_CACHE="$PWD/cache"
-[ -z "$XBMK_CACHE" ] && export XBMK_CACHE="$PWD/cache"
-[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$PWD/cache" ] && \
- $err "cachedir is default, $PWD/cache, but it exists and is a symlink"
-[ -L "$XBMK_CACHE" ] && export XBMK_CACHE="$PWD/cache"
+[ -z "${XBMK_CACHE+x}" ] && export XBMK_CACHE="$xbmkpwd/cache"
+[ -z "$XBMK_CACHE" ] && export XBMK_CACHE="$xbmkpwd/cache"
+[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$xbmkpwd/cache" ] && \
+ $err "cachedir is default, $xbmkpwd/cache, but it exists and is a symlink"
+[ -L "$XBMK_CACHE" ] && export XBMK_CACHE="$xbmkpwd/cache"
[ -f "$XBMK_CACHE" ] && $err "cachedir '$XBMK_CACHE' exists but it's a file"
# unify all temporary files/directories in a single TMPDIR
[ -z "${TMPDIR+x}" ] || [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || unset TMPDIR
[ -n "${TMPDIR+x}" ] && export TMPDIR="$TMPDIR"
if [ -z "${TMPDIR+x}" ]; then
- [ -f "lock" ] && $err "$PWD/lock exists. Is a build running?"
+ [ -f "lock" ] && $err "$xbmkpwd/lock exists. Is a build running?"
export TMPDIR="/tmp"
export TMPDIR="$(mktemp -d -t xbmk_XXXXXXXX)"
touch lock || $err "cannot create 'lock' file"
- rm -Rf "$XBMK_CACHE/xbmkpath" "$XBMK_CACHE/gnupath" || \
- $err "cannot remove xbmkpath"
- mkdir -p "$XBMK_CACHE/gnupath" "$XBMK_CACHE/xbmkpath" || \
- $err "cannot create gnupath"
- export PATH="$XBMK_CACHE/xbmkpath:$XBMK_CACHE/gnupath:$PATH" || \
- $err "Can't create gnupath/xbmkpath"
+ x_ rm -Rf "$XBMK_CACHE/xbmkpath" "$XBMK_CACHE/gnupath"
+ x_ mkdir -p "$XBMK_CACHE/gnupath" "$XBMK_CACHE/xbmkpath"
+ export PATH="$XBMK_CACHE/xbmkpath:$XBMK_CACHE/gnupath:$PATH"
(
# set up python v3.x in PATH, in case it's not set up correctly.
# see code above that detected the correct python3 command.
cd "$XBMK_CACHE/xbmkpath" || $err "can't cd $XBMK_CACHE/xbmkpath"
- ln -s "`command -v "$python"`" python || \
- $err "Can't set up python symlink in $XBMK_CACHE/xbmkpath"
+ x_ ln -s "`command -v "$python"`" python
) || $err "Can't set up python symlink in $XBMK_CACHE/xbmkpath"
- xbmk_parent="y"
+
+ xbmk_rval=0
+ ./mk "$@" || xbmk_rval=1
+ rm -Rf "$TMPDIR" || xbmk_rval=1
+ rm -f lock || xbmk_rval=1
+ exit $xbmk_rval
fi
# if "y": a coreboot target won't be built if target.cfg says release="n"
@@ -138,15 +154,10 @@ fi
expr "X$XBMK_THREADS" : "X-\{0,1\}[0123456789][0123456789]*$" \
1>/dev/null 2>/dev/null || export XBMK_THREADS=1 # user gave a non-integer
-x_() {
- [ $# -lt 1 ] || "$@" || \
- $err "Unhandled non-zero exit: $(echo "$@")"; return 0
-}
-
-[ -e ".git" ] || [ -f "version" ] || printf "unknown\n" > version || \
- $err "Cannot generate unknown version file"
-[ -e ".git" ] || [ -f "versiondate" ] || printf "1716415872\n" > versiondate \
- || $err "Cannot generate unknown versiondate file"
+[ -e ".git" ] || [ -f ".version" ] || printf "unknown\n" > .version || \
+ $err "Cannot generate unknown .version file"
+[ -e ".git" ] || [ -f ".versiondate" ] || printf "1716415872\n" > \
+ .versiondate || $err "Cannot generate unknown .versiondate file"
version_="$version"
[ ! -e ".git" ] || version="$(git describe --tags HEAD 2>&1)" || \
@@ -154,8 +165,9 @@ version_="$version"
versiondate_="$versiondate"
[ ! -e ".git" ] || versiondate="$(git show --no-patch --no-notes \
--pretty='%ct' HEAD)" || versiondate="$versiondate_"
-for p in projectname version versiondate projectsite; do
- chkvars "$p"; eval "x_ printf \"%s\\n\" \"\$$p\" > $p"
+for p in version versiondate; do
+ chkvars "$p"
+ eval "printf \"%s\\n\" \"\$$p\" > .$p || $err \"can't save $p\""
done
relname="$projectname-$version"
export LOCALVERSION="-$projectname-${version%%-*}"
@@ -165,7 +177,7 @@ check_defconfig()
[ -d "$1" ] || $err "Target '$1' not defined."
for x in "$1"/config/*; do
[ -f "$x" ] && printf "%s\n" "$x" && return 1
- done; return 0
+ done; :
}
remkdir()
@@ -176,11 +188,11 @@ remkdir()
mkrom_tarball()
{
- printf "%s\n" "$version" > "$1/version" || $err "$1 !version"
- printf "%s\n" "$versiondate" > "$1/versiondate" || $err "$1 !vdate"
- printf "%s\n" "$projectname" > "$1/projectname" || $err "$1 !pname"
+ printf "%s\n" "$version" > "$1/.version" || $err "$1 !version"
+ printf "%s\n" "$versiondate" > "$1/.versiondate" || $err "$1 !vdate"
- mktarball "$1" "${1%/*}/${relname}_${1##*/}.tar.xz"; x_ rm -Rf "$1"; :
+ mktarball "$1" "${1%/*}/${relname}_${1##*/}.tar.xz"
+ x_ rm -Rf "$1"
}
mktarball()
@@ -188,7 +200,7 @@ mktarball()
if [ "${2%/*}" != "$2" ]; then
mkdir -p "${2%/*}" || $err "mk, !mkdir -p \"${2%/*}\""
fi
- tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || $err "mktarball 2, $1"
+ x_ tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || $err "mktarball2, $1"
}
mksha512sum()
@@ -214,7 +226,7 @@ singletree()
{
for targetfile in "config/${1}/"*/target.cfg; do
[ -e "$targetfile" ] && [ -f "$targetfile" ] && return 1; :
- done; return 0
+ done; :
}
# can grab from the internet, or copy locally.
@@ -226,8 +238,7 @@ download()
dl_fail="n" # 1 url, 2 url backup, 3 destination, 4 checksum
vendor_checksum "$4" "$cached" 2>/dev/null && dl_fail="y"
[ "$dl_fail" = "n" ] && e "$3" f && return 0
- mkdir -p "${3%/*}" "$XBMK_CACHE/file" || \
- $err "!mkdir '$3' '$XBMK_CACHE/file'"
+ x_ mkdir -p "${3%/*}" "$XBMK_CACHE/file"
for url in "$1" "$2"; do
[ "$dl_fail" = "n" ] && break
[ -z "$url" ] && continue
@@ -248,8 +259,9 @@ download()
$err "$1 $2 $3 $4: Unsupported dlop type: '$_dlop'"
fi
vendor_checksum "$4" "$cached" || dl_fail="n"
- done; [ "$dl_fail" = "y" ] && $err "$1 $2 $3 $4: not downloaded"
- [ "$cached" = "$3" ] || cp "$cached" "$3" || $err "!d cp $cached $3"; :
+ done
+ [ "$dl_fail" = "y" ] && $err "$1 $2 $3 $4: not downloaded"
+ [ "$cached" = "$3" ] || x_ cp "$cached" "$3"; :
}
vendor_checksum()
@@ -276,8 +288,7 @@ cbfs()
fi
fi
- "$cbfstool" "$fRom" $ccmd -f "$fAdd" -n "$fName" $lzma || \
- $err "CBFS fail: $fRom $ccmd -f '$fAdd' -n '$fName' $lzma"; :
+ x_ "$cbfstool" "$fRom" $ccmd -f "$fAdd" -n "$fName" $lzma
}
mk()
diff --git a/include/mrc.sh b/include/mrc.sh
index f5db2ff0..6e00292b 100644
--- a/include/mrc.sh
+++ b/include/mrc.sh
@@ -20,7 +20,7 @@ extract_mrc()
"$cbfstool" "$appdir/"bios.bin extract -n mrc.bin \
-f "$_dest" -r RO_SECTION || $err "extract_mrc: !$cbfstool $_dest"
- [ -n "$CONFIG_REFCODE_BLOB_FILE" ] && extract_refcode; return 0
+ [ -n "$CONFIG_REFCODE_BLOB_FILE" ] && extract_refcode; :
}
extract_partition()
@@ -35,8 +35,8 @@ extract_partition()
dd if="${1%.zip}" of="root-a.ext2" bs=1024 skip=$(( $START / 1024 )) \
count=$(( $SIZE / 1024 )) || $err "ex dd ${1%.zip}, root-a.ext2"
- printf "cd /usr/sbin\ndump chromeos-firmwareupdate $SHELLBALL\nquit" \
- | debugfs "root-a.ext2" || $err "can't extract shellball"
+ printf "cd /usr/sbin\ndump chromeos-firmwareupdate %s\nquit" \
+ "$SHELLBALL" | debugfs "root-a.ext2" || $err "!extract shellball"
}
extract_refcode()
@@ -50,12 +50,10 @@ extract_refcode()
chkvars cbfstoolref
mkdir -p "${_refdest%/*}" || $err "ref: !mkdir -p ${_refdest%/*}"
- "$cbfstoolref" "$appdir/bios.bin" extract \
- -m x86 -n fallback/refcode -f "$_refdest" -r RO_SECTION \
- || $err "extract_refcode $board: !cbfstoolref $_refdest"
+ x_ "$cbfstoolref" "$appdir/bios.bin" extract \
+ -m x86 -n fallback/refcode -f "$_refdest" -r RO_SECTION
# enable the Intel GbE device, if told by offset MRC_refcode_gbe
- [ -z "$MRC_refcode_gbe" ] || dd if="config/ifd/hp820g2/1.bin" \
- of="$_refdest" bs=1 seek=$MRC_refcode_gbe count=1 conv=notrunc || \
- $err "extract_refcode $_refdest: byte $MRC_refcode_gbe"; return 0
+ [ -z "$MRC_refcode_gbe" ] || x_ dd if="config/ifd/hp820g2/1.bin" \
+ of="$_refdest" bs=1 seek=$MRC_refcode_gbe count=1 conv=notrunc; :
}
diff --git a/include/rom.sh b/include/rom.sh
index 3e8c9c9b..45ca5fd8 100644
--- a/include/rom.sh
+++ b/include/rom.sh
@@ -28,11 +28,12 @@ mkserprog()
&& x_ cmake --build "$sersrc/build"
[ "$1" = "stm32" ] && x_ make -C "$sersrc" \
libopencm3-just-make BOARD=$sertarget && x_ make -C \
- "$sersrc" BOARD=$sertarget; x_ mkdir -p "bin/serprog_$1"
+ "$sersrc" BOARD=$sertarget
+ x_ mkdir -p "bin/serprog_$1"
x_ mv "$serx" "bin/serprog_$1/serprog_$sertarget.${serx##*.}"
done < "$TMPDIR/ser"
- [ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; return 0
+ [ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; :
}
mkpicotool()
@@ -40,9 +41,8 @@ mkpicotool()
rm -Rf "$picotool" || $err "Can't remove picotool builddir"
(
x_ cd src/picotool
- cmake -DCMAKE_INSTALL_PREFIX=xbmkbin -DPICOTOOL_FLAT_INSTALL=1 \
- -DPICO_SDK_PATH=../pico-sdk || \
- $err "Can't prep picotool"
+ x_ cmake -DCMAKE_INSTALL_PREFIX=xbmkbin -DPICOTOOL_FLAT_INSTALL=1 \
+ -DPICO_SDK_PATH=../pico-sdk
make install || $err "Can't build picotool"; :
) || $err "Can't build picotool"; :
}
@@ -63,13 +63,12 @@ mkpayload_grub()
eval "`setvars "" grub_modules grub_install_modules`"
$dry eval "`setcfg "$grubdata/module/$tree"`"
$dry x_ rm -f "$srcdir/grub.elf"; $dry \
- "$srcdir/grub-mkstandalone" --grub-mkimage="$srcdir/grub-mkimage" \
+ x_ "$srcdir/grub-mkstandalone" --grub-mkimage="$srcdir/grub-mkimage" \
-O i386-coreboot -o "$srcdir/grub.elf" -d "${srcdir}/grub-core/" \
--fonts= --themes= --locales= --modules="$grub_modules" \
--install-modules="$grub_install_modules" \
"/boot/grub/grub_default.cfg=${srcdir}/.config" \
- "/boot/grub/grub.cfg=$grubdata/memdisk.cfg" || \
- $err "$tree: cannot build grub.elf"; return 0
+ "/boot/grub/grub.cfg=$grubdata/memdisk.cfg"; :
}
mkvendorfiles()
@@ -79,7 +78,7 @@ mkvendorfiles()
printf "%s\n" "${version%%-*}" > "$srcdir/.coreboot-version" || \
$err "!mk $srcdir .coreboot-version"
[ -z "$mode" ] && [ "$target" != "$tree" ] && \
- x_ ./mk download "$target"; return 0
+ x_ ./mk download "$target"; :
}
cook_coreboot_config()
@@ -108,8 +107,8 @@ check_coreboot_utils()
x_ cp "$utilsrcdir/rmodtool" "$utilelfdir"
elif [ -n "$mode" ]; then
x_ rm -Rf "$utilelfdir"
- fi; continue
- done; return 0
+ fi; :
+ done; :
}
mkcorebootbin()
@@ -119,7 +118,8 @@ mkcorebootbin()
tmprom="$TMPDIR/coreboot.rom"
$dry x_ cp "$srcdir/build/coreboot.rom" "$tmprom"
- initmode="${defconfig##*/}"; displaymode="${initmode##*_}"
+ initmode="${defconfig##*/}"
+ displaymode="${initmode##*_}"
[ "$displaymode" = "$initmode" ] && displaymode="" # "normal" config
initmode="${initmode%%_*}"
cbfstool="elf/cbfstool/$tree/cbfstool"
@@ -158,7 +158,8 @@ mkcorebootbin()
$dry add_seabios
[ "$payload_uboot" = "y" ] && pname="uboot" && $dry add_uboot
else
- pname="custom" && $dry cprom; :
+ pname="custom"
+ $dry cprom
fi; :
}
@@ -176,7 +177,8 @@ add_seabios()
cbfs "$tmprom" "$_seabioself" "$_seaname"
x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup
- _z="2"; [ "$initmode" = "vgarom" ] && _z="0"
+ _z="2"
+ [ "$initmode" = "vgarom" ] && _z="0"
x_ "$cbfstool" "$tmprom" add-int -i $_z -n etc/pci-optionrom-exec
x_ "$cbfstool" "$tmprom" add-int -i 0 -n etc/optionroms-checksum
[ "$initmode" = "libgfxinit" ] && \
@@ -209,11 +211,9 @@ add_grub()
mkseagrub()
{
- if [ "$payload_grubsea" = "y" ]; then
- pname="grub"
- else
- cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
- fi
+ [ "$payload_grubsea" = "y" ] && pname="grub"
+ [ "$payload_grubsea" = "y" ] || \
+ cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
for keymap in config/data/grub/keymap/*.gkb; do
[ -f "$keymap" ] && cprom "${keymap##*/}"; :
done; :
@@ -259,7 +259,6 @@ add_uboot()
[ "$payload_uboot_amd64" = "y" ] && \
ubootelf="$ubdir/u-boot-x86-with-spl.bin" # EFI-compatible
- [ -f "$ubootelf" ] || $err "cb/$ubtarget: Can't find u-boot"
cbfs "$tmprom" "$ubootelf" "$ubpath" $ubcbfsargs
[ "$payload_seabios" = "y" ] || cprom; :
}
@@ -283,8 +282,7 @@ mkcoreboottar()
[ "$target" = "$tree" ] && return 0
[ "$XBMK_RELEASE" = "y" ] || return 0
[ "$release" != "n" ] || return 0
+
$dry mkrom_tarball "bin/$target"
- $dry ./mk inject "bin/${relname}_${target}.tar.xz" nuke || \
- $err "Can't delete vendorfiles in 'bin/${relname}_$target.tar.xz'"
- return 0
+ $dry x_ ./mk inject "bin/${relname}_${target}.tar.xz" nuke; :
}
diff --git a/include/vendor.sh b/include/vendor.sh
index bde245d9..c5bd40df 100644
--- a/include/vendor.sh
+++ b/include/vendor.sh
@@ -3,10 +3,10 @@
# Copyright (c) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (c) 2023-2025 Leah Rowe <leah@libreboot.org>
-e6400_unpack="$PWD/src/bios_extract/dell_inspiron_1100_unpacker.py"
-me7updateparser="$PWD/util/me7_update_parser/me7_update_parser.py"
-pfs_extract="$PWD/src/biosutilities/Dell_PFS_Extract.py"
-uefiextract="$PWD/elf/uefitool/uefiextract"
+e6400_unpack="$xbmkpwd/src/bios_extract/dell_inspiron_1100_unpacker.py"
+me7updateparser="$xbmkpwd/util/me7_update_parser/me7_update_parser.py"
+pfs_extract="$xbmkpwd/src/biosutilities/Dell_PFS_Extract.py"
+uefiextract="$xbmkpwd/elf/uefitool/uefiextract"
vendir="vendorfiles"
appdir="$vendir/app"
cbcfgsdir="config/coreboot"
@@ -14,17 +14,19 @@ hashfiles="vendorhashes blobhashes" # blobhashes for backwards compatibility
dontflash="!!! AN ERROR OCCURED! Please DO NOT flash if injection failed. !!!"
vfix="DO_NOT_FLASH_YET._FIRST,_INJECT_FILES_VIA_INSTRUCTIONS_ON_LIBREBOOT.ORG_"
vguide="https://libreboot.org/docs/install/ivy_has_common.html"
-tmpromdel="$PWD/tmp/DO_NOT_FLASH"
+tmpromdel="$xbmkpwd/tmp/DO_NOT_FLASH"
+nvm="util/nvmutil/nvm"
-cv="CONFIG_HAVE_ME_BIN CONFIG_ME_BIN_PATH CONFIG_INCLUDE_SMSC_SCH5545_EC_FW \
- CONFIG_SMSC_SCH5545_EC_FW_FILE CONFIG_KBC1126_FIRMWARE CONFIG_KBC1126_FW1 \
+cvchk="CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN CONFIG_KBC1126_FIRMWARE \
+ CONFIG_VGA_BIOS_FILE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW \
+ CONFIG_LENOVO_TBFW_BIN CONFIG_FSP_M_FILE CONFIG_FSP_S_FILE"
+
+cv="CONFIG_ME_BIN_PATH CONFIG_SMSC_SCH5545_EC_FW_FILE CONFIG_KBC1126_FW1 \
CONFIG_KBC1126_FW2 CONFIG_KBC1126_FW1_OFFSET CONFIG_KBC1126_FW2_OFFSET \
- CONFIG_VGA_BIOS_FILE CONFIG_VGA_BIOS_ID CONFIG_BOARD_DELL_E6400 \
- CONFIG_HAVE_MRC CONFIG_MRC_FILE CONFIG_HAVE_REFCODE_BLOB \
- CONFIG_REFCODE_BLOB_FILE CONFIG_GBE_BIN_PATH CONFIG_IFD_BIN_PATH \
- CONFIG_LENOVO_TBFW_BIN CONFIG_FSP_FD_PATH CONFIG_FSP_M_FILE \
- CONFIG_FSP_S_FILE CONFIG_FSP_S_CBFS CONFIG_FSP_M_CBFS CONFIG_FSP_USE_REPO \
- CONFIG_FSP_FULL_FD"
+ CONFIG_VGA_BIOS_ID CONFIG_BOARD_DELL_E6400 CONFIG_FSP_S_CBFS \
+ CONFIG_HAVE_REFCODE_BLOB CONFIG_REFCODE_BLOB_FILE CONFIG_GBE_BIN_PATH \
+ CONFIG_IFD_BIN_PATH CONFIG_FSP_FD_PATH CONFIG_MRC_FILE CONFIG_FSP_M_CBFS \
+ CONFIG_FSP_USE_REPO CONFIG_FSP_FULL_FD $cvchk"
eval "`setvars "" has_hashes EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
E6400_VGA_DL_hash E6400_VGA_DL_url E6400_VGA_DL_url_bkup E6400_VGA_offset \
@@ -34,41 +36,31 @@ eval "`setvars "" has_hashes EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
_7ztest ME11bootguard ME11delta ME11version ME11sku ME11pch tmpromdir \
IFD_platform ifdprefix cdir sdir _me _metmp mfs TBFW_url_bkup TBFW_url \
TBFW_hash TBFW_size hashfile xromsize xchanged EC_url_bkup need_files \
- vfile $cv`"
+ vfile cbcfg $cv`"
vendor_download()
{
- [ $# -gt 0 ] || $err "No argument given"; export PATH="$PATH:/sbin"
- board="$1"; readcfg && readkconfig && bootstrap && getfiles; :
+ [ $# -gt 0 ] || $err "No argument given"
+ export PATH="$PATH:/sbin"
+ board="$1"
+ readcfg && readkconfig && bootstrap && getfiles; :
}
readkconfig()
{
- check_defconfig "$boarddir" 1>"$TMPDIR/vendorcfg.list" && return 1
-
- rm -f "$TMPDIR/tmpcbcfg" || $err "!rm $TMPDIR/tmpcbcfg - $dontflash"
- while read -r cbcfgfile; do
- for cbc in $cv; do
- rm -f "$TMPDIR/tmpcbcfg2" || \
- $err "!rm $TMPDIR/tmpcbcfg2 - $dontflash"
- grep "$cbc" "$cbcfgfile" 1>"$TMPDIR/tmpcbcfg2" \
- 2>/dev/null || :
- [ -f "$TMPDIR/tmpcbcfg2" ] || continue
- cat "$TMPDIR/tmpcbcfg2" >> "$TMPDIR/tmpcbcfg" || \
- $err "!cat $TMPDIR/tmpcbcfg2 - $dontflash"
- done
- done < "$TMPDIR/vendorcfg.list"
-
- eval "`setcfg "$TMPDIR/tmpcbcfg"`"
+ x_ rm -f "$TMPDIR/cbcfg"
+ cbcfg="`check_defconfig "$boarddir"`" || for cbc in $cv; do
+ grep "$cbc" "$cbcfg" 1>>"$TMPDIR/cbcfg" 2>/dev/null || :
+ done
+ eval "`setcfg "$TMPDIR/cbcfg" 1`"
- for c in CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN CONFIG_KBC1126_FIRMWARE \
- CONFIG_VGA_BIOS_FILE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW \
- CONFIG_LENOVO_TBFW_BIN CONFIG_FSP_M_FILE CONFIG_FSP_S_FILE; do
+ for c in $cvchk; do
eval "[ \"\${$c}\" = \"/dev/null\" ] && continue"
eval "[ -z \"\${$c}\" ] && continue"
- eval "`setcfg "$vfile"`"; return 0
+ eval "`setcfg "$vfile"`"
+ return 0
done
- printf "Vendor files not needed for: %s\n" "$board" 1>&2; return 1
+ return 1
}
bootstrap()
@@ -78,7 +70,7 @@ bootstrap()
[ -d "${kbc1126_ec_dump%/*}" ] && x_ make -C "$cbdir/util/kbc1126"
[ -n "$MRC_refcode_cbtree" ] && \
cbfstoolref="elf/cbfstool/$MRC_refcode_cbtree/cbfstool" && \
- x_ ./mk -d coreboot "$MRC_refcode_cbtree"; return 0
+ x_ ./mk -d coreboot "$MRC_refcode_cbtree"; :
}
getfiles()
@@ -109,8 +101,14 @@ getfiles()
fetch()
{
- dl_type="$1"; dl="$2"; dl_bkup="$3"; dlsum="$4"; _dest="${5##*../}"
- [ "$5" = "/dev/null" ] && return 0; _dl="$XBMK_CACHE/file/$dlsum"
+ dl_type="$1"
+ dl="$2"
+ dl_bkup="$3"
+ dlsum="$4"
+ _dest="${5##*../}"
+
+ [ "$5" = "/dev/null" ] && return 0
+ _dl="$XBMK_CACHE/file/$dlsum"
if [ "$dl_type" = "fspm" ] || [ "$dl_type" = "fsps" ]; then
# HACK: if grabbing fsp from coreboot, fix the path for lbmk
for _cdl in dl dl_bkup; do
@@ -126,13 +124,14 @@ fetch()
rm -Rf "${_dl}_extracted" || $err "!rm ${_ul}_extracted. $dontflash"
e "$_dest" f && return 0
- mkdir -p "${_dest%/*}" || \
- $err "mkdirs: !mkdir -p ${_dest%/*} - $dontflash"
- remkdir "$appdir"; extract_archive "$_dl" "$appdir" "$dl_type" || \
+ x_ mkdir -p "${_dest%/*}"
+ remkdir "$appdir"
+ extract_archive "$_dl" "$appdir" "$dl_type" || \
[ "$dl_type" = "e6400vga" ] || \
$err "mkd $_dest $dl_type: !extract. $dontflash"
- eval "extract_$dl_type"; set -u -e
+ eval "extract_$dl_type"
+ set -u -e
e "$_dest" f missing && $err "!extract_$dl_type. $dontflash"; :
}
@@ -140,9 +139,9 @@ extract_intel_me()
{
e "$mecleaner" f not && $err "$cbdir: me_cleaner missing. $dontflash"
- cdir="$PWD/$appdir"
- _me="$PWD/$_dest"
- _metmp="$PWD/tmp/me.bin"
+ cdir="$xbmkpwd/$appdir"
+ _me="$xbmkpwd/$_dest"
+ _metmp="$xbmkpwd/tmp/me.bin"
mfs="" && [ "$ME11bootguard" = "y" ] && mfs="--whitelist MFS" && \
chkvars ME11delta ME11version ME11sku ME11pch
@@ -161,19 +160,17 @@ extract_intel_me()
extract_intel_me_bruteforce()
{
[ $# -gt 0 ] && cdir="$1"
-
e "$_metmp" f && return 0
[ -z "$sdir" ] && sdir="$(mktemp -d)"
- mkdir -p "$sdir" || \
- $err "extract_intel_me: !mkdir -p \"$sdir\" - $dontflash"
+ x_ mkdir -p "$sdir"
set +u +e
(
[ "${cdir#/a}" != "$cdir" ] && cdir="${cdir#/}"
cd "$cdir" || $err "extract_intel_me: !cd \"$cdir\" - $dontflash"
for i in *; do
- [ -f "$_metmp" ] && break
+ e "$_metmp" f && break
[ -L "$i" ] && continue
if [ -f "$i" ]; then
_r="-r" && [ -n "$mfs" ] && _r=""
@@ -192,7 +189,7 @@ extract_intel_me_bruteforce()
cdir="$1"; [ "${cdir#/a}" != "$cdir" ] && cdir="${cdir#/}"
cd "$cdir" || :
done
- )
+ ) || :
rm -Rf "$sdir" || $err "extract_intel_me: !rm -Rf $sdir - $dontflash"
}
@@ -200,11 +197,10 @@ apply_me11_deguard_mod()
{
(
x_ cd src/deguard/
- ./finalimage.py --delta "data/delta/$ME11delta" \
+ x_ ./finalimage.py --delta "data/delta/$ME11delta" \
--version "$ME11version" \
--pch "$ME11pch" --sku "$ME11sku" --fake-fpfs data/fpfs/zero \
- --input "$_metmp" --output "$_me" || \
- $err "Error running deguard for $_me - $dontflash"
+ --input "$_metmp" --output "$_me"
) || $err "Error running deguard for $_me - $dontflash"
}
@@ -230,32 +226,24 @@ decat_fspfd()
_fspdir="$2"
_fspsplit="$cbdir/3rdparty/fsp/Tools/SplitFspBin.py"
- $python "$_fspsplit" split -f "$_fspfd" -o "$_fspdir" -n "Fsp.fd" || \
- $err "decat_fspfd '$1' '$2': Can't de-concatenate; $dontflash"; :
+ x_ $python "$_fspsplit" split -f "$_fspfd" -o "$_fspdir" -n "Fsp.fd"
}
extract_kbc1126ec()
{
- e "$kbc1126_ec_dump" f missing && \
- $err "$cbdir: kbc1126 util missing - $dontflash"
+ x_ e "$kbc1126_ec_dump" f
(
- x_ cd "$appdir/"; mv Rompaq/68*.BIN ec.bin || :
+ x_ cd "$appdir/"
+ mv Rompaq/68*.BIN ec.bin || :
if [ ! -f "ec.bin" ]; then
unar -D ROM.CAB Rom.bin || unar -D Rom.CAB Rom.bin || \
- unar -D 68*.CAB Rom.bin || \
- $err "can't extract Rom.bin - $dontflash"
+ unar -D 68*.CAB Rom.bin || $err "kbc1126 unar failed"
x_ mv Rom.bin ec.bin
fi
- [ -f ec.bin ] || \
- $err "extract_kbc1126_ec $board: can't extract - $dontflash"
- "$kbc1126_ec_dump" ec.bin || \
- $err "!1126ec $board extract ecfw - $dontflash"
- ) || $err "can't extract kbc1126 ec firmware - $dontflash"
+ x_ e ec.bin f && x_ "$kbc1126_ec_dump" ec.bin
+ ) || $err "$board: can't extract kbc1126 ec firmware - $dontflash"
- e "$appdir/ec.bin.fw1" f not && \
- $err "$board: kbc1126ec fetch failed - $dontflash"
- e "$appdir/ec.bin.fw2" f not && \
- $err "$board: kbc1126ec fetch failed - $dontflash"
+ x_ e "$appdir/ec.bin.fw1" f && x_ e "$appdir/ec.bin.fw2" f
cp "$appdir/"ec.bin.fw* "${_dest%/*}/" || \
$err "!cp 1126ec $_dest - $dontflash"; :
@@ -268,12 +256,10 @@ extract_e6400vga()
tail -c +$E6400_VGA_offset "$_dl" | gunzip > "$appdir/bios.bin" || :
(
x_ cd "$appdir"
- [ -f "bios.bin" ] || \
- $err "extract_e6400vga: can't extract bios.bin - $dontflash"
+ x_ e "bios.bin" f
"$e6400_unpack" bios.bin || printf "TODO: fix dell extract util\n"
) || $err "can't extract e6400 vga rom - $dontflosh"
- cp "$appdir/$E6400_VGA_romname" "$_dest" || \
- $err "extract_e6400vga $board: can't cp $_dest - $dontflash"; :
+ x_ cp "$appdir/$E6400_VGA_romname" "$_dest"
}
extract_sch5545ec()
@@ -286,8 +272,7 @@ extract_sch5545ec()
_sch5545ec_fw="$_sch5545ec_fw/0 Raw section/body.bin" # <-- this!
"$uefiextract" "$_bios" || $err "sch5545 !extract - $dontflash"
- cp "$_sch5545ec_fw" "$_dest" || \
- $err "$_dest: !sch5545 copy - $dontflash"; :
+ x_ cp "$_sch5545ec_fw" "$_dest"
}
# Lenovo ThunderBolt firmware updates:
@@ -302,14 +287,11 @@ extract_tbfw()
while read -r f; do
[ -f "$f" ] || continue
[ -L "$f" ] && continue
- cp "$f" "tmp/tb.bin" || \
- $err "extract_tbfw $_dest: Can't copy TBT.bin - $dontflash"
+ x_ cp "$f" "tmp/tb.bin"
break
done < "tmp/tb.txt"
- dd if=/dev/null of=tmp/tb.bin bs=1 seek=$TBFW_size || \
- $err "extract_tbfw $_dest: Can't pad TBT.bin - $dontflash"
- cp "tmp/tb.bin" "$_dest" || \
- $err "extract_tbfw $_dest: copy error - $dontflash "; :
+ x_ dd if=/dev/null of=tmp/tb.bin bs=1 seek=$TBFW_size
+ x_ cp "tmp/tb.bin" "$_dest"
}
extract_fspm()
@@ -325,8 +307,7 @@ extract_fsps()
# this copies the fsp s/m; re-base is handled by ./mk inject
copy_fsp()
{
- cp "$appdir/Fsp_$1.fd" "$_dest" || \
- $err "copy_fsp: Can't copy $1 to $_dest - $dontflash"; :
+ x_ cp "$appdir/Fsp_$1.fd" "$_dest"
}
fail_inject()
@@ -336,47 +317,35 @@ fail_inject()
printf "\n\n%s\n\n" "$dontflash" 1>&2
printf "WARNING: File '%s' was NOT modified.\n\n" "$archive" 1>&2
printf "Please MAKE SURE vendor files are inserted before flashing\n\n"
- fail "$1"
+ err_ "$1"
}
vendor_inject()
{
- need_files="n" # will be set to "y" if vendorfiles needed
+ need_files="n"
_olderr="$err"
err="fail_inject"
remkdir "$tmpromdel"
- set +u +e; [ $# -lt 1 ] && $err "No options specified. - $dontflash"
+ set +u +e
+ [ $# -lt 1 ] && $err "No options specified. - $dontflash"
eval "`setvars "" nukemode new_mac xchanged`"
- # randomise the MAC address by default
- # TODO: support setting CBFS MAC address for GA-G41M-ES2L
+ archive="$1";
new_mac="??:??:??:??:??:??"
- archive="$1";
[ $# -gt 1 ] && case "$2" in
nuke)
new_mac=""
nukemode="nuke" ;;
setmac)
[ $# -gt 2 ] && new_mac="$3" && \
- [ -z "$new_mac" ] && $err \
- "You set an empty MAC address string" ;;
+ [ -z "$new_mac" ] && $err "Empty MAC address specified" ;;
*) $err "Unrecognised inject mode: '$2'"
esac
- # allow the user to skip setting MAC addresses.
- # if new_mac is empty, this script skips running nvmutil
[ "$new_mac" = "keep" ] && new_mac=""
- # we don't allow the *user* to clear new_mac, in the setmac
- # command, in case the build system is being integrated with
- # another, where setmac is relied upon and is being set
- # explicitly. this is a preventative error handle, as a courtes
- # to that hypothetical user e.g. Linux distro package maintainer
- # integrating this build system into their distro. if they used
- # a variable for that, and they forgot to initialise it, they'll know.
-
check_release "$archive" || \
$err "You must run this script on a release archive. - $dontflash"
@@ -385,7 +354,9 @@ vendor_inject()
readcfg && need_files="y"
if [ "$need_files" = "y" ] || [ -n "$new_mac" ]; then
- [ "$nukemode" = "nuke" ] || x_ ./mk download "$board"
+ if [ "$nukemode" != "nuke" ] && [ "$need_files" = "y" ]; then
+ x_ ./mk download "$board"
+ fi
patch_release_roms
fi
[ "$need_files" != "y" ] && printf \
@@ -414,31 +385,21 @@ vendor_inject()
"Board '%s' doesn't use vendorfiles, so none were inserted.\n" \
"$board"
- #
- # catch-all error handler, for libreboot release opsec:
- #
- # if vendor files defined, and a hash file was missing, that means
- # a nuke must succeed, if specified. if no hashfile was present,
- # that means vendorfiles had been injected, so a nuke must succeed.
- # this check is here in case of future bugs in lbmk's handling
- # of vendorfile deletions on release archives, which absolutely
- # must always be 100% reliable, so paranoia is paramount:
- #
if [ "$xchanged" != "y" ] && [ "$need_files" = "y" ] && \
[ "$nukemode" = "nuke" ] && [ "$has_hashes" != "y" ]; then
printf "FAILED NUKE: tarball '$archive', board '$board'\n" 1>&2
$err "Unhandled vendorfile deletion: DO NOT RELEASE TO RSYNC"
- fi # of course, we assume that those variables are also set right
+ fi
- err="$_olderr"
- return 0
+ err="$_olderr"; :
}
check_release()
{
[ -L "$archive" ] && \
$err "'$archive' is a symlink, not a file - $dontflash"
- [ -f "$archive" ] || return 1
+ e "$archive" f missing && return 1
+
archivename="`basename "$archive"`"
[ -z "$archivename" ] && \
$err "Cannot determine archive file name - $dontflash"
@@ -456,9 +417,8 @@ check_release()
readcfg()
{
- if [ "$board" = "serprog_rp2040" ] || \
- [ "$board" = "serprog_stm32" ] || \
- [ "$board" = "serprog_pico" ]; then
+ if [ "$board" = "serprog_rp2040" ] || [ "$board" = "serprog_stm32" ] \
+ || [ "$board" = "serprog_pico" ]; then
return 1
fi
boarddir="$cbcfgsdir/$board"
@@ -468,6 +428,7 @@ readcfg()
x_ ./mk -d coreboot "$tree" # even if vendorfiles not used, see: setmac
[ -z "$vcfg" ] && return 1
+
vfile="config/vendor/$vcfg/pkg.cfg"
[ -L "$vfile" ] && $err "'$archive', '$board': $vfile is a symlink"
[ -f "$vfile" ] || $err "'$archive', '$board': $vfile doesn't exist"
@@ -475,8 +436,8 @@ readcfg()
cbdir="src/coreboot/$tree"
cbfstool="elf/cbfstool/$tree/cbfstool"
rmodtool="elf/cbfstool/$tree/rmodtool"
- mecleaner="$PWD/$cbdir/util/me_cleaner/me_cleaner.py"
- kbc1126_ec_dump="$PWD/$cbdir/util/kbc1126/kbc1126_ec_dump"
+ mecleaner="$xbmkpwd/$cbdir/util/me_cleaner/me_cleaner.py"
+ kbc1126_ec_dump="$xbmkpwd/$cbdir/util/kbc1126/kbc1126_ec_dump"
cbfstool="elf/cbfstool/$tree/cbfstool"
ifdtool="elf/ifdtool/$tree/ifdtool"
[ -n "$IFD_platform" ] && ifdprefix="-p $IFD_platform"; :
@@ -488,17 +449,15 @@ patch_release_roms()
tmpromdir="tmp/DO_NOT_FLASH/bin/$board"
remkdir "${tmpromdir%"/bin/$board"}"
- tar -xf "$archive" -C "${tmpromdir%"/bin/$board"}" || \
- $err "Can't extract '$archive'"
+ x_ tar -xf "$archive" -C "${tmpromdir%"/bin/$board"}"
for _hashes in $hashfiles; do
- [ -L "$tmpromdir/$_hashes" ] && \
- $err "'$archive' -> the hashfile is a symlink. $dontflash"
- [ -f "$tmpromdir/$_hashes" ] && has_hashes="y" && \
+ [ "$need_files" = "y" ] || break
+ e "$tmpromdir/$_hashes" f && has_hashes="y" && \
hashfile="$_hashes" && break; :
done
- x_ mkdir -p "tmp"; [ -L "tmp/rom.list" ] && \
+ x_ mkdir -p "tmp" && [ -L "tmp/rom.list" ] && \
$err "'$archive' -> tmp/rom.list is a symlink - $dontflash"
x_ rm -f "tmp/rom.list" "tmp/zero.1b"
x_ dd if=/dev/zero of=tmp/zero.1b bs=1 count=1
@@ -516,120 +475,82 @@ patch_release_roms()
"$vguide" > "$tmpromdir/README.md" || :
else
printf "Skipping vendorfiles on '%s'\n" "$archive" 1>&2
+ need_files="n"
fi
(
+ [ "$need_files" = "y" ] || exit 0
cd "$tmpromdir" || $err "patch '$archive': can't cd $tmpromdir"
# NOTE: For compatibility with older rom releases, defer to sha1
if [ "$has_hashes" = "y" ] && [ "$nukemode" != "nuke" ]; then
sha512sum --status -c "$hashfile" || \
sha1sum --status -c "$hashfile" || \
$err "'$archive' -> Can't verify vendor hashes. $dontflash"
- rm -f "$hashfile" || \
- $err "$archive: Can't rm hashfile. $dontflash"
+ x_ rm -f "$hashfile"
fi
) || $err "'$archive' -> Can't verify vendor hashes. $dontflash"
- if [ -n "$new_mac" ]; then
- if ! modify_mac_addresses; then
- printf "\nNo GbE region defined for '%s'\n" "$board" \
- 1>&2
- printf "Therefore, changing the MAC is impossible.\n" \
- 1>&2
- printf "This board probably lacks Intel ethernet.\n" \
- 1>&2
- printf "(or it's pre-IFD Intel with Intel GbE NIC)\n" \
- 1>&2
- fi
- fi
+ [ -z "$new_mac" ] || modify_mac_addresses || printf \
+ "\nNo GbE region defined for '%s'\n" "$board" 1>&2
[ "$xchanged" = "y" ] || rm -Rf "$tmpromdel" || :
[ "$xchanged" = "y" ] || return 0
(
- cd "${tmpromdir%"/bin/$board"}" || \
- $err "Can't cd '${tmpromdir%"/bin/$board"}'; $dontflash"
- # ../../ is the root of lbmk
+ x_ cd "${tmpromdir%"/bin/$board"}"
mkrom_tarball "bin/$board"
) || $err "Cannot re-generate '$archive' - $dontflash"
mv "${tmpromdir%"/bin/$board"}/bin/${relname}_${board}.tar.xz" \
- "$archive" || \
- $err "'$archive' -> Cannot overwrite - $dontflash"; :
+ "$archive" || $err "'$archive' -> Can't overwrite - $dontflash"; :
}
process_release_rom()
{
- _xrom="$1"; _xromname="${1##*/}"
- [ -L "$_xrom" ] && \
- $err "$archive -> '${_xrom#"tmp/DO_NOT_FLASH/"}' is a symlink"
- [ -f "$_xrom" ] || return 0
+ _xrom="$1"
+ _xromname="${1##*/}"
+
+ e "$_xrom" f missing && return 0
[ -z "${_xromname#"$vfix"}" ] && \
$err "'$_xromname'->'"${_xromname#"$vfix"}"' empty. $dontflash"
+
# Remove the prefix and 1-byte pad
if [ "$nukemode" != "nuke" ] && \
[ "${_xromname#"$vfix"}" != "$_xromname" ]; then
_xromnew="${_xrom%/*}/${_xromname#"$vfix"}"
- # Remove the 1-byte padding
- stat -c '%s' "$_xrom" > "tmp/rom.size" || \
- $err "$_xrom: Can't get rom size. $dontflash"
- read -r xromsize < "tmp/rom.size" || \
- $err "$_xrom: Can't read rom size. $dontflash"
-
- expr "X$xromsize" : "X-\{0,1\}[0123456789][0123456789]*$" \
- 1>/dev/null 2>/dev/null || $err "$_xrom size non-integer"
- [ $xromsize -lt 2 ] && $err \
- "$_xrom: Will not create empty file. $dontflash"
-
- # TODO: check whether the size would be a multiple of 64KB
- # the smallest rom images we do are 512kb
- xromsize="`expr $xromsize - 1`"
- [ $xromsize -lt 524288 ] && \
- $err "$_xrom size too small; likely not a rom. $dontflash"
-
- dd if="$_xrom" of="$_xromnew" bs=$xromsize count=1 || \
- $err "$_xrom: Can't resize. $dontflash"
+ stat -c '%s' "$_xrom" > "tmp/rom.size" || $err "!resize $_xrom"
+ read -r xromsize < "tmp/rom.size" || $err "!readsize $_xrom"
+
+ xromsize="`expr $xromsize - 1`" || $err "!integer, $_xrom"
+ [ $xromsize -lt 524288 ] && $err "too small, $xromsize: $_xrom"
+
+ x_ dd if="$_xrom" of="$_xromnew" bs=$xromsize count=1
rm -f "$_xrom" || $err "Can't rm $_xrom - $dontflash"
_xrom="$_xromnew"
fi
- [ "$nukemode" = "nuke" ] && \
- mksha512sum "$_xrom" "vendorhashes"
+ [ "$nukemode" = "nuke" ] && mksha512sum "$_xrom" "vendorhashes"
patch_rom "$_xrom" || return 1 # if break return, can still change MAC
[ "$nukemode" != "nuke" ] && return 0
# Rename the file, prefixing a warning saying not to flash
- # the target image, which now has vendor files removed. Also
- # pad it so that flashprog returns an error if the user tries
- # to flash it, due to mismatching ROM size vs chip size
cat "$_xrom" tmp/zero.1b > "${_xrom%/*}/$vfix${_xrom##*/}" || \
$err "'$archive' -> can't pad/rename '$_xrom'. $dontflash"
- rm -f "$_xrom" || $err "'$archive' -> can't rm '$_xrom'. $dontflash"
+ x_ rm -f "$_xrom"
}
patch_rom()
{
rom="$1"
- # regarding ifs below:
- # if a hash file exists, we only want to allow inject.
- # if a hash file is missing, we only want to allow nuke.
- # this logical rule prevents double-nuke and double-inject
-
- # if injecting without a hash file i.e. inject what was injected
- # (or inject where no vendor files are needed, covered previously)
if [ "$has_hashes" != "y" ] && [ "$nukemode" != "nuke" ]; then
- printf "inject: '%s' has no hash file. Skipping.\n" \
- "$archive" 1>&2
+ printf "'%s' has no hash file. Skipping.\n" "$archive" 1>&2
return 1
- fi
- # nuking *with* a hash file, i.e. nuking what was nuked before
- if [ "$has_hashes" = "y" ] && [ "$nukemode" = "nuke" ]; then
- printf "inject nuke: '%s' has a hash file. Skipping nuke.\n" \
- "$archive" 1>&2
+ elif [ "$has_hashes" = "y" ] && [ "$nukemode" = "nuke" ]; then
+ printf "'%s' has a hash file. Skipping nuke.\n" "$archive" 1>&2
return 1
fi
@@ -646,25 +567,12 @@ patch_rom()
[ "$CONFIG_INCLUDE_SMSC_SCH5545_EC_FW" = "y" ] && \
[ -n "$CONFIG_SMSC_SCH5545_EC_FW_FILE" ] && \
inject sch5545_ecfw.bin "$CONFIG_SMSC_SCH5545_EC_FW_FILE" raw
- #
- # coreboot adds FSP-M first. so we shall add it first, then S:
- # NOTE:
- # We skip the fetch if CONFIG_FSP_USE_REPO or CONFIG_FSP_FULL_FD is set
- # but only for inject/nuke. we still run fetch (see above) because on
- # _fsp targets, coreboot still needs them, but coreboot Kconfig uses
- # makefile syntax and puts $(obj) in the path, which makes no sense
- # in sh. So we modify the path there, but lbmk only uses the file
- # in vendorfiles/ if neither CONFIG_FSP_USE_REPO nor CONFIG_FSP_FULL_FD
- # are set
- #
[ -z "$CONFIG_FSP_USE_REPO" ] && [ -z "$CONFIG_FSP_FULL_FD" ] && \
[ -n "$CONFIG_FSP_M_FILE" ] && \
inject "$CONFIG_FSP_M_CBFS" "$CONFIG_FSP_M_FILE" fsp --xip
[ -z "$CONFIG_FSP_USE_REPO" ] && [ -z "$CONFIG_FSP_FULL_FD" ] && \
[ -n "$CONFIG_FSP_S_FILE" ] && \
inject "$CONFIG_FSP_S_CBFS" "$CONFIG_FSP_S_FILE" fsp
- # TODO: modify gbe *after checksum verification only*
- # TODO: insert default gbe if doing -n nuke
printf "ROM image successfully patched: %s\n" "$rom"
xchanged="y"
@@ -672,11 +580,14 @@ patch_rom()
inject()
{
- [ $# -lt 3 ] && $err "$*, $rom: usage: inject name path type (offset)"
+ [ $# -lt 3 ] && $err "bad command: $*, $rom"
[ "$2" = "/dev/null" ] && return 0
- eval "`setvars "" cbfsname _dest _t _offset`"
- cbfsname="$1"; _dest="${2##*../}"; _t="$3"
+ cbfsname="$1"
+ _dest="${2##*../}"
+ _t="$3"
+
+ _offset=""
if [ "$_t" = "fsp" ]; then
[ $# -gt 3 ] && _offset="$4"
@@ -685,7 +596,7 @@ inject()
$err "inject $*, $rom: offset given but empty (undefined)"
fi
- e "$_dest" f n && [ "$nukemode" != "nuke" ] && $err "!inject $dl_type"
+ [ "$nukemode" = "nuke" ] || x_ e "$_dest" f
if [ "$cbfsname" = "IFD" ]; then
[ "$nukemode" = "nuke" ] || "$ifdtool" $ifdprefix -i \
@@ -693,64 +604,41 @@ inject()
$err "failed: inject '$_t' '$_dest' on '$rom'"
[ "$nukemode" != "nuke" ] || "$ifdtool" $ifdprefix --nuke $_t \
"$rom" -O "$rom" || $err "$rom: !nuke IFD/$_t"
- xchanged="y"
- return 0
elif [ "$nukemode" = "nuke" ]; then
- "$cbfstool" "$rom" remove -n "$cbfsname" || \
- $err "inject $rom: can't remove $cbfsname"
- xchanged="y"
- return 0
- fi
- if [ "$_t" = "stage" ]; then # the only stage we handle is refcode
- x_ mkdir -p tmp; x_ rm -f "tmp/refcode"
+ x_ "$cbfstool" "$rom" remove -n "$cbfsname"
+ elif [ "$_t" = "stage" ]; then # the only stage we handle is refcode
+ x_ mkdir -p tmp
+ x_ rm -f "tmp/refcode"
"$rmodtool" -i "$_dest" -o "tmp/refcode" || "!reloc refcode"
"$cbfstool" "$rom" add-stage -f "tmp/refcode" -n "$cbfsname" \
-t stage || $err "$rom: !add ref"
else
"$cbfstool" "$rom" add -f "$_dest" -n "$cbfsname" \
-t $_t $_offset || $err "$rom !add $_t ($_dest)"
- fi; xchanged="y"; :
+ fi
+ xchanged="y"; :
}
modify_mac_addresses()
{
- [ "$nukemode" = "nuke" ] && \
- $err "Cannot modify MAC addresses while nuking vendor files"
-
- # chkvars CONFIG_GBE_BIN_PATH
[ -n "$CONFIG_GBE_BIN_PATH" ] || return 1
- e "${CONFIG_GBE_BIN_PATH##*../}" f n && $err "missing gbe file"
- [ "$new_mac" != "restore" ] && \
- x_ make -C util/nvmutil
-
- x_ mkdir -p tmp
- [ -L "tmp/gbe" ] && $err "tmp/gbe exists but is a symlink"
- [ -d "tmp/gbe" ] && $err "tmp/gbe exists but is a directory"
- if [ -e "tmp/gbe" ]; then
- [ -f "tmp/gbe" ] || $err "tmp/gbe exists and is not a file"
- fi
- x_ cp "${CONFIG_GBE_BIN_PATH##*../}" "tmp/gbe"
-
- [ "$new_mac" != "restore" ] && \
- x_ "util/nvmutil/nvm" "tmp/gbe" setmac "$new_mac"
+ x_ mkdir -p tmp && x_ cp "${CONFIG_GBE_BIN_PATH##*../}" tmp/gbe
+ [ "$new_mac" != "restore" ] && x_ make -C util/nvmutil && \
+ x_ "$nvm" tmp/gbe setmac "$new_mac"
find "$tmpromdir" -maxdepth 1 -type f -name "*.rom" > "tmp/rom.list" \
|| $err "'$archive' -> Can't make tmp/rom.list - $dontflash"
while read -r _xrom; do
- [ -L "$_xrom" ] && continue
- [ -f "$_xrom" ] || continue
- "$ifdtool" $ifdprefix -i GbE:"tmp/gbe" "$_xrom" -O \
- "$_xrom" || $err "'$_xrom': Can't insert new GbE file"
- xchanged="y"
+ e "$_xrom" f && xchanged="y" && x_ \
+ "$ifdtool" $ifdprefix -i GbE:tmp/gbe "$_xrom" -O "$_xrom"
done < "tmp/rom.list"
- printf "\nThe following GbE NVM words were written in '%s':\n" \
- "$archive"
- x_ util/nvmutil/nvm tmp/gbe dump
+
+ printf "\nGbE NVM written to '%s':\n" "$archive"
+ x_ "$nvm" tmp/gbe dump | grep -v "bytes read from file" || :
[ "$new_mac" = "restore" ] && \
- printf "\nNOTE: User specified setmac 'restore' argument.\n" && \
- printf "Default GbE file '%s' written without running nvmutil.\n" \
- "${CONFIG_GBE_BIN_PATH##*../}"; :
+ printf "\nDefault GbE file '%s' written, unmodified.\n" \
+ "${CONFIG_GBE_BIN_PATH##*../}"; :
}
diff --git a/mk b/mk
index c795b054..8460773e 120000..100755
--- a/mk
+++ b/mk
@@ -1 +1,499 @@
-build \ No newline at end of file
+#!/usr/bin/env sh
+# SPDX-License-Identifier: GPL-3.0-or-later
+# Copyright (c) 2020-2025 Leah Rowe <leah@libreboot.org>
+# Copyright (c) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
+# Copyright (c) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
+# Copyright (c) 2022-2023 Alper Nebi Yasak <alpernebiyasak@gmail.com>
+
+set -u -e
+
+if [ "./${0##*/}" != "${0}" ] || [ ! -f "mk" ] || [ -L "mk" ]; then
+ printf "You must run this in the proper work directory.\n" 1>&2
+ exit 1
+fi
+
+. "include/lib.sh"
+. "include/vendor.sh"
+. "include/mrc.sh"
+
+eval "`setvars "" vdir src_dirname srcdir mode xp ser`"
+
+main()
+{
+ [ $# -lt 1 ] && $err "bad command"
+ rval=0
+
+ for g in "command -v git" "git config --global user.name" \
+ "git config --global user.email" "git_init"; do
+ eval "$g 1>/dev/null 2>/dev/null || $err \"Unconfigured: $g\""
+ done
+
+ case "$1" in
+ version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;;
+ release|download|inject)
+ cmd="vendor_$1" && [ "$1" = "release" ] && cmd="mkrelease"
+ shift 1
+ $cmd "$@" ;;
+ -*) rval=1 ;;
+ *) $err "bad command" ;;
+ esac
+ set -u -e # some commands disable them. turn them on!
+ return $rval
+}
+
+git_init()
+{
+ [ -L ".git" ] && return 1
+ [ -e ".git" ] && return 0
+ eval "`setvars "$(date -Rud @$versiondate)" cdate _nogit`"
+
+ git init || return 1
+ git add -A . || return 1
+ git commit -m "$projectname $version" --date "$cdate" \
+ --author="xbmk <xbmk@example.com>" || return 1
+ git tag -a "$version" -m "$projectname $version" || return 1
+}
+
+mkrelease()
+{
+ export XBMK_RELEASE="y"
+
+ vdir="release"
+ while getopts d:m: option; do
+ [ -z "$OPTARG" ] && $err "empty argument not allowed"
+ case "$option" in
+ d) vdir="$OPTARG" ;;
+ m) mode="$OPTARG" ;;
+ *) $err "invalid option '-$option'" ;;
+ esac
+ done
+
+ vdir="$vdir/$version"
+ src_dirname="${relname}_src"
+ srcdir="$vdir/$src_dirname"
+
+ [ -e "$vdir" ] && $err "already exists: \"$vdir\""
+ mkdir -p "$vdir" || $err "mkvdir: !mkdir -p \"$vdir\""
+ git clone . "$srcdir" || $err "mkdir: !gitclone \"$srcdir\""
+ touch "$srcdir/lock" || $err "can't make lock file in $srcdir/"
+
+ build_release
+
+ printf "\n\nDONE! Check release files under %s\n" "$vdir"
+}
+
+build_release()
+{
+ (
+ cd "$srcdir" || $err "$vdir: !cd \"$srcdir\""
+
+ ./mk -f
+ x_ rm -Rf tmp
+ rmgit .
+ x_ mv src/docs docs
+ ) || $err "can't create release files"
+
+ git log --graph --pretty=format:'%Cred%h%Creset %s %Creset' \
+ --abbrev-commit > "$srcdir/CHANGELOG" || $err "!gitlog $srcdir"
+ rm -f "$srcdir/lock" || $err "can't remove lock file in $srcdir"
+
+ (
+ cd "${srcdir%/*}" || $err "$vdir: mktarball \"$srcdir\""
+ mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || $err "$vdir: mksrc"
+ ) || $err "can't create src tarball"
+ [ "$mode" = "src" ] && return 0
+
+ touch "$srcdir/lock" || $err "can't make lock file in $srcdir/"
+ (
+ cd "$srcdir" || $err "$vdir: 2 !cd \"$srcdir\""
+ mk -b coreboot pico-serprog stm32-vserprog pcsx-redux
+ x_ mv bin ../roms
+ ) || $err "can't build rom images"
+
+ rm -Rf "$srcdir" || $err "!rm -Rf $srcdir"
+}
+
+main "$@" && exit 0
+
+# what follows was formerly script/trees, whose main() is now trees()
+
+. "include/git.sh"
+
+eval "`setvars "" xarch srcdir premake gnatdir xlang mode makeargs elfdir cmd \
+ project target target_dir targets xtree _f release bootstrapargs mkhelper \
+ autoconfargs listfile autogenargs btype tree rev tree_depend build_depend \
+ defconfig postmake mkhelpercfg dry dest_dir mdir cleanargs gccver gccfull \
+ gnatver gnatfull gccdir cmakedir do_make badhash`"
+
+trees()
+{
+ flags="f:b:m:u:c:x:s:l:n:d:"
+
+ while getopts $flags option; do
+ [ -n "$_f" ] && $err "only one flag is permitted"
+ _f="$1"
+
+ case "$_f" in
+ -d) dry=":" ;;
+ -b) : ;;
+ -u) mode="oldconfig" ;;
+ -m) mode="menuconfig" ;;
+ -c) mode="distclean" ;;
+ -x) mode="crossgcc-clean" ;;
+ -f)
+ do_make="n"
+ dry=":" ;;
+ -s) mode="savedefconfig" ;;
+ -l) mode="olddefconfig" ;;
+ -n) mode="nconfig" ;;
+ *) $err "invalid option '-$option'" ;;
+ esac
+
+ if [ -z "${OPTARG+x}" ]; then
+ shift 1
+ break
+ fi
+
+ project="${OPTARG#src/}"
+ shift 2
+ done
+ [ -z "$_f" ] && $err "missing flag ($flags)"
+ if [ -z "$project" ]; then
+ mk $_f $(ls -1 config/git)
+ return 1
+ fi
+
+ x_ e "config/git/$project/pkg.cfg" f
+
+ for d in "elf" "config/data" "config" "src"; do
+ eval "${d#*/}dir=\"$d/$project\""
+ done
+ dest_dir="$elfdir"
+
+ listfile="$datadir/build.list"
+ [ -f "$listfile" ] || listfile="" # optional on all projects
+
+ mkhelpercfg="$datadir/mkhelper.cfg"
+ if e "$mkhelpercfg" f missing; then
+ mkhelpercfg="$TMPDIR/mkhelper.cfg"
+ x_ touch "$mkhelpercfg"
+ fi
+
+ targets="$*"
+ cmd="build_targets $targets"
+ singletree "$project" && cmd="build_project"
+
+ remkdir "${tmpgit%/*}"
+}
+
+build_project()
+{
+ configure_project "$configdir" || return 0
+ [ ! -f "$listfile" ] || $dry elfcheck || return 0
+
+ [ "$mode" = "distclean" ] && mode="clean"
+ run_make_command || return 0
+
+ [ -n "$mode" ] || $dry copy_elf; :
+}
+
+build_targets()
+{
+ [ -d "$configdir" ] || $err "directory, $configdir, does not exist"
+ [ $# -gt 0 ] || targets="$(ls -1 "$configdir")" || $err "!o $configdir"
+
+ for x in $targets; do
+ unset CROSS_COMPILE
+ export PATH="$xbmkpath"
+ [ "$x" = "list" ] && x_ ls -1 "config/$project" && \
+ listfile="" && break
+
+ target="$x"
+ printf "'make %s', '%s', '%s'\n" "$mode" "$project" "$target"
+ x_ handle_defconfig
+
+ mkhelp "$postmake"
+ done; :
+}
+
+handle_defconfig()
+{
+ target_dir="$configdir/$target"
+
+ [ -f "CHANGELOG" ] || fetch_project "$project"
+ configure_project "$target_dir" || return 0
+ x_ mkdir -p "$elfdir/$target"
+
+ chkvars tree
+ srcdir="src/$project/$tree"
+
+ if [ "$mode" = "distclean" ] || [ "$mode" = "crossgcc-clean" ]; then
+ [ -d "$srcdir" ] || return 0
+ fi
+ [ -z "$mode" ] && $dry check_cross_compiler
+
+ for y in "$target_dir/config"/*; do
+ [ "$_f" = "-d" ] || [ -f "$y" ] || continue
+ [ "$_f" = "-d" ] || defconfig="$y"
+
+ [ -n "$mode" ] || check_defconfig || continue
+ handle_makefile
+ [ -n "$mode" ] || $dry copy_elf
+ done; :
+}
+
+configure_project()
+{
+ eval "`setvars "" cleanargs build_depend autoconfargs xtree postmake \
+ tree_depend makeargs btype mkhelper bootstrapargs premake release \
+ xarch xlang badhash`"
+ _tcfg="$1/target.cfg"
+ [ -f "$_tcfg" ] || btype="auto"
+ e "$datadir/mkhelper.cfg" f && eval "`setcfg "$datadir/mkhelper.cfg"`"
+
+ while e "$_tcfg" f || [ "$cmd" != "build_project" ]; do
+ eval "`setvars "" rev tree`"
+ eval "`setcfg "$_tcfg"`"
+ printf "Loading %s config: %s\n" "$project" "$_tcfg"
+
+ [ "$_f" = "-d" ] && build_depend="" # dry run
+ [ "$cmd" = "build_project" ] && break
+ [ "$do_make" != "n" ] && break
+
+ [ "${_tcfg%/*/target.cfg}" = "${_tcfg%"/$tree/target.cfg"}" ] \
+ && break
+ _tcfg="${_tcfg%/*/target.cfg}/$tree/target.cfg"
+ done
+ [ "$XBMK_RELEASE" = "y" ] && [ "$release" = "n" ] && return 1
+ [ -z "$btype" ] || [ "${mode%config}" = "$mode" ] || return 1
+ [ -z "$mode" ] && $dry build_dependencies
+
+ mdir="$xbmkpwd/config/submodule/$project"
+ [ -n "$tree" ] && mdir="$mdir/$tree"
+ [ -f "CHANGELOG" ] || check_project_hashes
+
+ if [ "$do_make" = "n" ]; then
+ [ -f "CHANGELOG" ] || fetch_${cmd#build_}
+ return 1
+ fi
+ x_ ./mk -f "$project" "$target"
+}
+
+build_dependencies()
+{
+ for bd in $build_depend; do
+ bd_p="${bd%%/*}"
+ bd_t="${bd##*/}"
+ [ -z "$bd_p" ] && $dry $err "$project/$tree: !bd '$bd'"
+ [ "${bd##*/}" = "$bd" ] && bd_t=""
+ [ -z "$bd_p" ] || $dry x_ ./mk -b $bd_p $bd_t; :
+ done; :
+}
+
+check_project_hashes()
+{
+ x_ mkdir -p "$XBMK_CACHE/hash"
+ old_pjhash=""
+ [ ! -f "$XBMK_CACHE/hash/$project$tree" ] || \
+ read -r old_pjhash < "$XBMK_CACHE/hash/$project$tree"
+
+ x_ rm -f "$TMPDIR/project.list" "$TMPDIR/project.hash" \
+ "$TMPDIR/project.tmp"
+ x_ touch "$TMPDIR/project.tmp"
+ x_ touch "$TMPDIR/project.hash"
+
+ for rmchk in "$datadir" "$configdir/$tree" "$mdir"; do
+ [ -d "$rmchk" ] || continue
+ find "$rmchk" -type f -not -path "*/.git*/*" >> \
+ "$TMPDIR/project.tmp" || $err "!find $rmchk > project.tmp"
+ done
+ sort "$TMPDIR/project.tmp" > "$TMPDIR/project.list" || \
+ $err "!sort project tmp/list"
+
+ while read -r rmchk; do
+ [ ! -f "$rmchk" ] || x_ sha512sum "$rmchk" | awk \
+ '{print $1}' >> "$TMPDIR/project.hash" || $err "!h $rmchk"
+ done < "$TMPDIR/project.list"
+
+ pjhash="$(sha512sum "$TMPDIR/project.hash" | awk '{print $1}')" || :
+ [ "$pjhash" != "$old_pjhash" ] && badhash="y"
+ [ -f "$XBMK_CACHE/hash/$project$tree" ] || badhash="y"
+
+ printf "%s\n" "$pjhash" > "$XBMK_CACHE/hash/$project$tree" || \
+ $err "!mk $XBMK_CACHE/hash/$project$tree"
+
+ [ "$badhash" != "y" ] || x_ rm -Rf "src/$project/$tree" \
+ "elf/$project/$tree" "elf/$project/$target"; :
+}
+
+check_cross_compiler()
+{
+ xgccargs="UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
+ for _xarch in $xarch; do
+ cbdir="src/coreboot/$tree"
+ [ "$project" != "coreboot" ] && cbdir="src/coreboot/default"
+ [ -n "$xtree" ] && cbdir="src/coreboot/$xtree"
+
+ x_ ./mk -f coreboot "${cbdir#src/coreboot/}"
+
+ export PATH="$xbmkpwd/$cbdir/util/crossgcc/xgcc/bin:$PATH"
+ export CROSS_COMPILE="${xarch% *}-"
+ [ -n "$xlang" ] && export BUILD_LANGUAGES="$xlang"
+
+ xfix="${_xarch%-*}" && [ "$xfix" = "x86_64" ] && xfix="x64"
+
+ # match gnat-X to gcc
+ check_gnu_path gcc gnat || x_ check_gnu_path gnat gcc
+
+ # sometimes buildgcc fails for like no reason. try twice.
+ make -C "$cbdir" crossgcc-$xfix $xgccargs || \
+ x_ make -C "$cbdir" crossgcc-$xfix $xgccargs
+
+ # we only want to mess with hostcc to build xgcc
+ rm -f "$XBMK_CACHE/gnupath/"* || $err "Can't clear gnupath/"; :
+ done; :
+}
+
+# fix mismatching gcc/gnat versions on debian trixie/sid. as of december 2024,
+# trixie/sid had gnat-13 as gnat and gcc-14 as gcc, but has gnat-14 in apt. in
+# some cases, gcc 13+14 and gnat-13 are present; or gnat-14 and gcc-14, but
+# gnat in PATH never resolves to gnat-14, because gnat-14 was "experimental"
+check_gnu_path()
+{
+ [ $# -lt 2 ] && $err "check_gnu_path: Too few arguments"
+ [ "$1" = "$2" ] && $err "check_gnu_path: Both arguments identical"
+ for _gnuarg in 1 2; do
+ eval "[ \"\$$_gnuarg\" = \"gcc\" ] && continue"
+ eval "[ \"\$$_gnuarg\" = \"gnat\" ] && continue"
+ $err "check_gnu_path: Invalid argument \"$_gnuarg\""
+ done
+ command -v "$1" 1>/dev/null || $err "Host '$1' unavailable"
+
+ eval "`setvars "" gccver gccfull gnatver gnatfull gccdir gnatdir`"
+ gnu_setver "$1" "$1" || $err "Command '$1' unavailable."
+ gnu_setver "$2" "$2" || :
+
+ eval "[ -z \"\$$1ver\" ] && $err \"Cannot detect host '$1' version\""
+ [ "$gnatfull" = "$gccfull" ] && return 0
+
+ eval "$1dir=\"$(dirname "$(command -v "$1")")\""
+ eval "_gnudir=\"\$$1dir\"; _gnuver=\"\$$1ver\""
+ for _gnubin in "$_gnudir/$2-"*; do
+ [ -f "$_gnubin" ] || continue
+ [ "${_gnubin#"$_gnudir/$2-"}" = "$_gnuver" ] || continue
+ _gnuver="${_gnubin#"$_gnudir/$2-"}"; break
+ done
+ gnu_setver "$2" "$_gnudir/$2-$_gnuver" || return 1
+ [ "$gnatfull" = "$gccfull" ] || return 1
+
+ (
+ rm -f "$XBMK_CACHE/gnupath/"* || $err "Cannot clear gnupath/"
+ cd "$XBMK_CACHE/gnupath" || $err "Can't cd to gnupath/"
+ for _gnubin in "$_gnudir/$2"*"-$_gnuver"; do
+ [ -e "$_gnubin" ] || continue
+ _gnuutil="${_gnubin##*/}"
+ x_ ln -s "$_gnubin" "${_gnuutil%"-$_gnuver"}"
+ done
+ ) || $err "Cannot create $2-$_gnuver link in $_gnudir"; :
+}
+
+gnu_setver()
+{
+ eval "$2 --version 1>/dev/null 2>/dev/null || return 1"
+ eval "$1ver=\"`"$2" --version 2>/dev/null | head -n1`\""
+ eval "$1ver=\"\${$1ver##* }\""
+ eval "$1full=\"\$$1ver\""
+ eval "$1ver=\"\${$1ver%%.*}\""; :
+}
+
+check_defconfig()
+{
+ [ -f "$defconfig" ] || $dry $err "$project/$target: missing defconfig"
+ dest_dir="$elfdir/$target/${defconfig#"$target_dir/config/"}"
+
+ $dry elfcheck || return 1 # skip build if a previous one exists
+ $dry x_ mkdir -p "$dest_dir"
+}
+
+elfcheck()
+{
+ # TODO: very hacky check. do it properly (based on build.list)
+ for elftest in "$dest_dir"/*; do
+ [ -e "$elftest" ] && e "$elftest" f && return 1
+ done; :
+}
+
+handle_makefile()
+{
+ $dry check_makefile "$srcdir" && x_ make -C "$srcdir" $cleanargs clean
+
+ [ -f "$defconfig" ] && x_ cp "$defconfig" "$srcdir/.config"
+ [ -n "$mode" ] || [ -n "$btype" ] || $dry make -C \
+ "$srcdir" silentoldconfig || make -C "$srcdir" oldconfig || :
+
+ run_make_command || $err "handle_makefile $srcdir: no makefile!"
+
+ _copy=".config" && [ "$mode" = "savedefconfig" ] && _copy="defconfig"
+ [ "${mode%config}" = "$mode" ] || \
+ $dry x_ cp "$srcdir/$_copy" "$defconfig"
+
+ [ -e "$srcdir/.git" ] && [ "$project" = "u-boot" ] && \
+ [ "$mode" = "distclean" ] && \
+ $dry x_ git -C "$srcdir" $cleanargs clean -fdx; :
+}
+
+run_make_command()
+{
+ mkhelp "$premake"
+
+ $dry check_cmake "$srcdir" && [ -z "$mode" ] && \
+ $dry check_autoconf "$srcdir"
+ $dry check_makefile "$srcdir" || return 1
+
+ $dry x_ make -C "$srcdir" $mode -j$XBMK_THREADS $makeargs
+ mkhelp "$mkhelper"
+
+ [ "$mode" != "clean" ] || \
+ $dry make -C "$srcdir" $cleanargs distclean || :; :
+}
+
+check_cmake()
+{
+ [ -z "$cmakedir" ] || $dry check_makefile "$1" || cmake -B "$1" \
+ "$1/$cmakedir" || $dry x_ check_makefile "$1"
+ [ -z "$cmakedir" ] || $dry x_ check_makefile "$1"; :
+}
+
+check_autoconf()
+{
+ (
+ cd "$1" || $err "!cd $1"
+ [ -f "bootstrap" ] && x_ ./bootstrap $bootstrapargs
+ [ -f "autogen.sh" ] && x_ ./autogen.sh $autogenargs
+ [ -f "configure" ] && x_ ./configure $autoconfargs; :
+ ) || $err "can't bootstrap project: $1"; :
+}
+
+check_makefile()
+{
+ [ -f "$1/Makefile" ] || [ -f "$1/makefile" ] || \
+ [ -f "$1/GNUmakefile" ] || return 1; :
+}
+
+mkhelp()
+{
+ [ -z "$1" ] || [ -n "$mode" ] || eval "$1" || $err "mkhelp: !$1"; :
+}
+
+copy_elf()
+{
+ [ -f "$listfile" ] && x_ mkdir -p "$dest_dir" && while read -r f; do
+ [ -f "$srcdir/$f" ] && x_ cp "$srcdir/$f" "$dest_dir"
+ done < "$listfile"
+ x_ make clean -C "$srcdir" $cleanargs
+}
+
+if trees "$@"; then
+ . "$mkhelpercfg"
+ $cmd
+fi
diff --git a/projectname b/projectname
deleted file mode 100644
index aa4ff178..00000000
--- a/projectname
+++ /dev/null
@@ -1 +0,0 @@
-libreboot
diff --git a/projectsite b/projectsite
deleted file mode 100644
index bb74f9d7..00000000
--- a/projectsite
+++ /dev/null
@@ -1 +0,0 @@
-https://libreboot.org/
diff --git a/script/trees b/script/trees
deleted file mode 100755
index 43cd39cc..00000000
--- a/script/trees
+++ /dev/null
@@ -1,358 +0,0 @@
-#!/usr/bin/env sh
-# SPDX-License-Identifier: GPL-3.0-or-later
-# Copyright (c) 2022-2023 Alper Nebi Yasak <alpernebiyasak@gmail.com>
-# Copyright (c) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
-# Copyright (c) 2023-2025 Leah Rowe <leah@libreboot.org>
-
-set -u -e
-
-. "include/lib.sh"
-. "include/git.sh"
-
-XBMKPATH="$PATH"
-
-eval "`setvars "" xarch srcdir premake gnatdir xlang mode makeargs elfdir cmd \
- project target target_dir targets xtree _f release bootstrapargs mkhelper \
- autoconfargs listfile autogenargs btype tree rev tree_depend build_depend \
- defconfig postmake mkhelpercfg dry dest_dir mdir cleanargs gccver gccfull \
- gnatver gnatfull gccdir cmakedir`"; badhash="n"
-
-main()
-{
- while getopts f:b:m:u:c:x:s:l:n:d: option; do
- [ -n "$_f" ] && $err "only one flag is permitted"
- _f="$1" && [ "$_f" = "-d" ] && dry=":"
- case "$1" in
- -d) mode="" ;;
- -b) mode="" ;;
- -u) mode="oldconfig" ;;
- -m) mode="menuconfig" ;;
- -c) mode="distclean" ;;
- -x) mode="crossgcc-clean" ;;
- -f) mode="fetch" ;;
- -s) mode="savedefconfig" ;;
- -l) mode="olddefconfig" ;;
- -n) mode="nconfig" ;;
- *) $err "invalid option '-$option'" ;;
- esac
- [ -z "${OPTARG+x}" ] && shift 1 && break
- project="${OPTARG#src/}"; shift 2
- done
- [ -z "$_f" ] && $err "missing flag (-m/-u/-b/-c/-x/-f/-s/-l/-n)"
- [ -z "$project" ] && mk $_f $(ls -1 config/git) && return 1
-
- [ -f "config/git/$project/pkg.cfg" ] || $err "'$project' not defined"
-
- for d in "elf" "config/data" "config" "src"; do
- eval "${d#*/}dir=\"$d/$project\""
- done; dest_dir="$elfdir"
- listfile="$datadir/build.list"
- [ -f "$listfile" ] || listfile="" # optional on all projects
-
- mkhelpercfg="$datadir/mkhelper.cfg"
- e "$mkhelpercfg" f missing && mkhelpercfg="$TMPDIR/mkhelper.cfg" && \
- x_ touch "$mkhelpercfg"
-
- targets="$*"; cmd="build_targets $targets"
- singletree "$project" && cmd="build_project"
-
- remkdir "${tmpgit%/*}"
-}
-
-build_project()
-{
- configure_project "$configdir" || return 0
- [ ! -f "$listfile" ] || $dry elfcheck || return 0
-
- [ "$mode" = "distclean" ] && mode="clean"
- run_make_command || return 0
-
- [ -n "$mode" ] || $dry copy_elf; return 0
-}
-
-build_targets()
-{
- [ -d "$configdir" ] || $err "directory, $configdir, does not exist"
- [ $# -gt 0 ] || targets="$(ls -1 "$configdir")" || $err "!o $configdir"
-
- for x in $targets; do
- unset CROSS_COMPILE
- export PATH="$XBMKPATH"
- [ "$x" = "list" ] && x_ ls -1 "config/$project" && \
- listfile="" && break
- target="$x"
- printf "'make %s', '%s', '%s'\n" "$mode" "$project" "$target"
- x_ handle_defconfig
- [ -n "$mode" ] || [ -z "$postmake" ] || $postmake || \
- $err "$project/$target: !postmake: $postmake"; continue
- done; return 0
-}
-
-handle_defconfig()
-{
- target_dir="$configdir/$target"
-
- [ -f "CHANGELOG" ] || fetch_project "$project"
- configure_project "$target_dir" || return 0
- x_ mkdir -p "$elfdir/$target"
-
- chkvars tree; srcdir="src/$project/$tree"
-
- if [ "$mode" = "distclean" ] || [ "$mode" = "crossgcc-clean" ]; then
- [ -d "$srcdir" ] || return 0
- fi
- [ -z "$mode" ] && $dry check_cross_compiler
-
- for y in "$target_dir/config"/*; do
- [ "$_f" = "-d" ] || [ -f "$y" ] || continue
- [ "$_f" = "-d" ] || defconfig="$y"
-
- [ -n "$mode" ] || check_defconfig || continue
- handle_makefile
- [ -n "$mode" ] || $dry copy_elf
- done; return 0
-}
-
-configure_project()
-{
- eval "`setvars "" cleanargs build_depend autoconfargs xtree postmake \
- tree_depend makeargs btype mkhelper bootstrapargs premake release \
- xarch xlang`"
- _tcfg="$1/target.cfg"; badhash="n"; [ -f "$_tcfg" ] || btype="auto"
- [ -f "$datadir/mkhelper.cfg" ] && \
- eval "`setcfg "$datadir/mkhelper.cfg"`"
-
- while [ -f "$_tcfg" ] || [ "$cmd" != "build_project" ]; do
- eval "`setvars "" rev tree`"; eval "`setcfg "$_tcfg"`"
- printf "Loading %s config: %s\n" "$project" "$_tcfg"
-
- [ "$_f" = "-d" ] && build_depend="" # dry run
- [ "$cmd" = "build_project" ] && break
- [ "$mode" = "fetch" ] || break
-
- [ "${_tcfg%/*/target.cfg}" = "${_tcfg%"/$tree/target.cfg"}" ] \
- && break; _tcfg="${_tcfg%/*/target.cfg}/$tree/target.cfg"
- done
- [ "$XBMK_RELEASE" = "y" ] && [ "$release" = "n" ] && return 1
- [ -z "$btype" ] || [ "${mode%config}" = "$mode" ] || return 1
- [ -z "$mode" ] && build_dependencies
-
- mdir="$PWD/config/submodule/$project"
- [ -n "$tree" ] && mdir="$mdir/$tree"
- [ -f "CHANGELOG" ] || check_project_hashes
-
- [ "$mode" = "fetch" ] || x_ ./mk -f "$project" "$target"
- [ "$mode" = "fetch" ] || return 0
- [ -f "CHANGELOG" ] && return 1; fetch_${cmd#build_}; return 1
-}
-
-build_dependencies()
-{
- for bd in $build_depend; do
- bd_p="${bd%%/*}"; bd_t="${bd##*/}"
- [ -z "$bd_p" ] && $dry $err "$project/$tree: !bd '$bd'"
- [ "${bd##*/}" = "$bd" ] && bd_t=""
- [ -z "$bd_p" ] || $dry ./mk -b $bd_p $bd_t \
- || $err "!mk $project/$tree $bd_p/$bd_t"; continue
- done; return 0
-}
-
-check_project_hashes()
-{
- mkdir -p "$XBMK_CACHE/hash" || $err "!mkdir '$XBMK_CACHE/hash'"
- old_pjhash=""; [ ! -f "$XBMK_CACHE/hash/$project$tree" ] || \
- read -r old_pjhash < "$XBMK_CACHE/hash/$project$tree"
-
- x_ rm -f "$TMPDIR/project.list" "$TMPDIR/project.hash" \
- "$TMPDIR/project.tmp"; x_ touch "$TMPDIR/project.tmp"
- x_ touch "$TMPDIR/project.hash"
-
- for rmchk in "$datadir" "$configdir/$tree" "$mdir"; do
- [ -d "$rmchk" ] || continue
- find "$rmchk" -type f -not -path "*/.git*/*" >> \
- "$TMPDIR/project.tmp" || $err "!find $rmchk > project.tmp"
- done; sort "$TMPDIR/project.tmp" > "$TMPDIR/project.list" || \
- $err "!sort project tmp/list"
-
- while read -r rmchk; do
- [ ! -f "$rmchk" ] || sha512sum "$rmchk" | awk \
- '{print $1}' >> "$TMPDIR/project.hash" || $err "!h $rmchk"
- done < "$TMPDIR/project.list"
-
- pjhash="$(sha512sum "$TMPDIR/project.hash" | awk '{print $1}')" || :
- badhash="y" && [ "$pjhash" = "$old_pjhash" ] && badhash="n"
- [ -f "$XBMK_CACHE/hash/$project$tree" ] || badhash="y"
-
- printf "%s\n" "$pjhash" > "$XBMK_CACHE/hash/$project$tree" || \
- $err "!mk $XBMK_CACHE/hash/$project$tree"
-
- [ "$badhash" = "n" ] || rm -Rf "src/$project/$tree" \
- "elf/$project/$tree" "elf/$project/$target" || \
- $err "!rm $project $tree"; :
-}
-
-check_cross_compiler()
-{
- xgccargs="UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
- for _xarch in $xarch; do
- cbdir="src/coreboot/$tree"
- [ "$project" != "coreboot" ] && cbdir="src/coreboot/default"
- [ -n "$xtree" ] && cbdir="src/coreboot/$xtree"
-
- x_ ./mk -f coreboot "${cbdir#src/coreboot/}"
-
- export PATH="$PWD/$cbdir/util/crossgcc/xgcc/bin:$PATH"
- export CROSS_COMPILE="${xarch% *}-"
- [ -n "$xlang" ] && export BUILD_LANGUAGES="$xlang"
-
- xfix="${_xarch%-*}" && [ "$xfix" = "x86_64" ] && xfix="x64"
-
- # match gnat-X to gcc
- check_gnu_path gcc gnat || check_gnu_path gnat gcc || \
- $err "Cannot match host GCC/GNAT versions"
-
- # sometimes buildgcc fails for like no reason. try twice.
- make -C "$cbdir" crossgcc-$xfix $xgccargs || \
- make -C "$cbdir" crossgcc-$xfix $xgccargs || \
- $err "!mkxgcc $project/$xtree '$xfix' '$xgccargs'"
-
- # we only want to mess with hostcc to build xgcc
- rm -f "$XBMK_CACHE/gnupath/"* || \
- $err "Cannot clear gnupath/"; :
- done; return 0
-}
-
-# fix mismatching gcc/gnat versions on debian trixie/sid. as of december 2024,
-# trixie/sid had gnat-13 as gnat and gcc-14 as gcc, but has gnat-14 in apt. in
-# some cases, gcc 13+14 and gnat-13 are present; or gnat-14 and gcc-14, but
-# gnat in PATH never resolves to gnat-14, because gnat-14 was "experimental"
-check_gnu_path()
-{
- [ $# -lt 2 ] && $err "check_gnu_path: Too few arguments"
- [ "$1" = "$2" ] && $err "check_gnu_path: Both arguments identical"
- for _gnuarg in 1 2; do
- eval "[ \"\$$_gnuarg\" = \"gcc\" ] && continue"
- eval "[ \"\$$_gnuarg\" = \"gnat\" ] && continue"
- $err "check_gnu_path: Invalid argument \"$_gnuarg\""
- done
- command -v "$1" 1>/dev/null || $err "Host '$1' unavailable"
-
- eval "`setvars "" gccver gccfull gnatver gnatfull gccdir gnatdir`"
- gnu_setver "$1" "$1" || $err "Command '$1' unavailable."
- gnu_setver "$2" "$2" || :
-
- eval "[ -z \"\$$1ver\" ] && $err \"Cannot detect host '$1' version\""
- [ "$gnatfull" = "$gccfull" ] && return 0
-
- eval "$1dir=\"$(dirname "$(command -v "$1")")\""
- eval "_gnudir=\"\$$1dir\"; _gnuver=\"\$$1ver\""
- for _gnubin in "$_gnudir/$2-"*; do
- [ -f "$_gnubin" ] || continue
- [ "${_gnubin#"$_gnudir/$2-"}" = "$_gnuver" ] || continue
- _gnuver="${_gnubin#"$_gnudir/$2-"}"; break
- done
- gnu_setver "$2" "$_gnudir/$2-$_gnuver" || return 1
- [ "$gnatfull" = "$gccfull" ] || return 1
-
- (
- rm -f "$XBMK_CACHE/gnupath/"* || $err "Cannot clear gnupath/"
- cd "$XBMK_CACHE/gnupath" || $err "Can't cd to gnupath/"
- for _gnubin in "$_gnudir/$2"*"-$_gnuver"; do
- [ -e "$_gnubin" ] || continue; _gnuutil="${_gnubin##*/}"
- x_ ln -s "$_gnubin" "${_gnuutil%"-$_gnuver"}"
- done
- ) || $err "Cannot create $2-$_gnuver link in $_gnudir"; :
-}
-
-gnu_setver()
-{
- eval "$2 --version 1>/dev/null 2>/dev/null || return 1"
- eval "$1ver=\"`"$2" --version 2>/dev/null | head -n1`\""
- eval "$1ver=\"\${$1ver##* }\""
- eval "$1full=\"\$$1ver\""
- eval "$1ver=\"\${$1ver%%.*}\""; :
-}
-
-check_defconfig()
-{
- [ -f "$defconfig" ] || $dry $err "$project/$target: missing defconfig"
- dest_dir="$elfdir/$target/${defconfig#"$target_dir/config/"}"
-
- $dry elfcheck || return 1 # skip build if a previous one exists
- $dry x_ mkdir -p "$dest_dir"
-}
-
-elfcheck()
-{
- # TODO: very hacky check. do it properly (based on build.list)
- for elftest in "$dest_dir"/*; do
- [ -e "$elftest" ] && e "$elftest" f && return 1
- done; return 0
-}
-
-handle_makefile()
-{
- $dry check_makefile "$srcdir" && x_ make -C "$srcdir" $cleanargs clean
- [ -f "$defconfig" ] && x_ cp "$defconfig" "$srcdir/.config"
- [ -n "$mode" ] || [ -n "$btype" ] || $dry make -C \
- "$srcdir" silentoldconfig || make -C "$srcdir" oldconfig || :
-
- run_make_command || $err "handle_makefile $srcdir: no makefile!"
-
- _copy=".config" && [ "$mode" = "savedefconfig" ] && _copy="defconfig"
- [ "${mode%config}" = "$mode" ] || \
- $dry x_ cp "$srcdir/$_copy" "$defconfig"
-
- [ -e "$srcdir/.git" ] && [ "$project" = "u-boot" ] && \
- [ "$mode" = "distclean" ] && \
- $dry x_ git -C "$srcdir" $cleanargs clean -fdx; :
-}
-
-run_make_command()
-{
- [ -z "$premake" ] || [ -n "$mode" ] || $premake || $err "!$premake"
- $dry check_cmake "$srcdir" && [ -z "$mode" ] && $dry check_autoconf \
- "$srcdir"; $dry check_makefile "$srcdir" || return 1
-
- $dry make -C "$srcdir" $mode -j$XBMK_THREADS $makeargs || $err "!$mode"
- [ -z "$mkhelper" ] || [ -n "$mode" ] || $mkhelper || $err "!$mkhelper"
-
- [ "$mode" != "clean" ] || \
- $dry make -C "$srcdir" $cleanargs distclean || :; :
-}
-
-check_cmake()
-{
- [ -z "$cmakedir" ] || $dry check_makefile "$1" || cmake -B "$1" \
- "$1/$cmakedir" || $dry check_makefile "$1" || $err \
- "$1: !cmk $cmakedir"
- [ -z "$cmakedir" ] || $dry check_makefile "$1" || \
- $err "check_cmake $1: can't generate Makefile"; return 0
-}
-
-check_autoconf()
-{
- (
- cd "$1" || $err "!cd $1"
- [ -f "bootstrap" ] && x_ ./bootstrap $bootstrapargs
- [ -f "autogen.sh" ] && x_ ./autogen.sh $autogenargs
- [ -f "configure" ] && x_ ./configure $autoconfargs; return 0
- ) || $err "can't bootstrap project: $1"
-}
-
-check_makefile()
-{
- [ -f "$1/Makefile" ] || [ -f "$1/makefile" ] || \
- [ -f "$1/GNUmakefile" ] || return 1; return 0
-}
-
-copy_elf()
-{
- [ -f "$listfile" ] && x_ mkdir -p "$dest_dir" && while read -r f; do
- [ -f "$srcdir/$f" ] && x_ cp "$srcdir/$f" "$dest_dir"
- done < "$listfile"; x_ make clean -C "$srcdir" $cleanargs
-}
-
-main "$@" || exit 0
-. "$mkhelpercfg"
-$cmd
diff --git a/update b/update
deleted file mode 120000
index c795b054..00000000
--- a/update
+++ /dev/null
@@ -1 +0,0 @@
-build \ No newline at end of file
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c
index 68bb95da..12aabe4d 100644
--- a/util/nvmutil/nvmutil.c
+++ b/util/nvmutil/nvmutil.c
@@ -15,22 +15,30 @@
#include <unistd.h>
void cmd_setchecksum(void), cmd_brick(void), swap(int partnum), writeGbe(void),
- cmd_dump(void), cmd_setmac(void), readGbe(void), cmd_copy(void),
- macf(int partnum), hexdump(int partnum), openFiles(const char *path);
-int macAddress(const char *strMac, uint16_t *mac), goodChecksum(int partnum);
+ cmd_dump(void), cmd_setmac(void), readGbe(void), checkdir(const char *path),
+ macf(int partnum), hexdump(int partnum), openFiles(const char *path),
+ cmd_copy(void), parseMacString(const char *strMac, uint16_t *mac),
+ cmd_swap(void);
+int goodChecksum(int partnum);
uint8_t hextonum(char chs), rhex(void);
#define COMMAND argv[2]
#define MAC_ADDRESS argv[3]
#define PARTN argv[3]
-#define SIZE_4KB 0x1000
#define NVM_CHECKSUM 0xBABA
+#define NVM_CHECKSUM_WORD 0x3F
+#define NVM_SIZE 128
+
+#define SIZE_4KB 0x1000
+#define SIZE_8KB 0x2000
+#define SIZE_16KB 0x4000
+#define SIZE_128KB 0x20000
-uint16_t buf16[SIZE_4KB], mac[3] = {0, 0, 0};
-uint8_t *buf = (uint8_t *) &buf16;
-size_t nf = 128, gbe[2];
-uint8_t nvmPartChanged[2] = {0, 0}, skipread[2] = {0, 0};
-int e = 1, flags = O_RDWR, rfd, fd, part, gbeFileChanged = 0;
+uint16_t mac[3] = {0, 0, 0};
+ssize_t nf;
+size_t partsize, gbe[2];
+uint8_t nvmPartChanged[2] = {0, 0}, do_read[2] = {1, 1};
+int flags, rfd, fd, part;
const char *strMac = NULL, *strRMac = "??:??:??:??:??:??", *filename = NULL;
@@ -42,7 +50,7 @@ typedef struct op {
op_t op[] = {
{ .str = "dump", .cmd = cmd_dump, .args = 3},
{ .str = "setmac", .cmd = cmd_setmac, .args = 3},
-{ .str = "swap", .cmd = writeGbe, .args = 3},
+{ .str = "swap", .cmd = cmd_swap, .args = 3},
{ .str = "copy", .cmd = cmd_copy, .args = 4},
{ .str = "brick", .cmd = cmd_brick, .args = 4},
{ .str = "setchecksum", .cmd = cmd_setchecksum, .args = 4},
@@ -52,21 +60,29 @@ void (*cmd)(void) = NULL;
#define ERR() errno = errno ? errno : ECANCELED
#define err_if(x) if (x) err(ERR(), "%s", filename)
-#define xopen(f,l,p) if (opendir(l) != NULL) err(errno = EISDIR, "%s", l); \
- if ((f = open(l, p)) == -1) err(ERR(), "%s", l); \
+#define xopen(f,l,p) if ((f = open(l, p)) == -1) err(ERR(), "%s", l); \
if (fstat(f, &st) == -1) err(ERR(), "%s", l)
-#define word(pos16, partnum) buf16[pos16 + (partnum << 11)]
-#define setWord(pos16, p, val16) if ((gbeFileChanged = 1) && \
- word(pos16, p) != val16) nvmPartChanged[p] = 1 | (word(pos16, p) = val16)
+#define word(pos16, partnum) ((uint16_t *) gbe[partnum])[pos16]
+#define setWord(pos16, p, val16) if (word(pos16, p) != val16) \
+ nvmPartChanged[p] = 1 | (word(pos16, p) = val16)
int
main(int argc, char *argv[])
{
- if (argc < 3) {
+#ifdef __OpenBSD__
+ err_if(pledge("stdio rpath wpath unveil", NULL) == -1);
+#endif
+
+ if (argc < 2) {
+#ifdef __OpenBSD__
+ err_if(pledge("stdio", NULL) == -1);
+#endif
fprintf(stderr, "Modify Intel GbE NVM images e.g. set MAC\n");
fprintf(stderr, "USAGE:\n");
fprintf(stderr, " %s FILE dump\n", argv[0]);
+ fprintf(stderr, " %s FILE\n # same as setmac without arg\n",
+ argv[0]);
fprintf(stderr, " %s FILE setmac [MAC]\n", argv[0]);
fprintf(stderr, " %s FILE swap\n", argv[0]);
fprintf(stderr, " %s FILE copy 0|1\n", argv[0]);
@@ -74,104 +90,207 @@ main(int argc, char *argv[])
fprintf(stderr, " %s FILE setchecksum 0|1\n", argv[0]);
err(errno = ECANCELED, "Too few arguments");
}
- flags = (strcmp(COMMAND, "dump") == 0) ? O_RDONLY : flags;
+
filename = argv[1];
+
+ flags = O_RDWR;
+
+ if (argc > 2) {
+ if (strcmp(COMMAND, "dump") == 0) {
+ flags = O_RDONLY;
+#ifdef __OpenBSD__
+ err_if(pledge("stdio rpath unveil", NULL) == -1);
+#endif
+ }
+ }
+
+ checkdir("/dev/urandom");
+ checkdir(filename);
+
#ifdef __OpenBSD__
err_if(unveil("/dev/urandom", "r") == -1);
+
if (flags == O_RDONLY) {
err_if(unveil(filename, "r") == -1);
+ err_if(unveil(NULL, NULL) == -1);
err_if(pledge("stdio rpath", NULL) == -1);
} else {
err_if(unveil(filename, "rw") == -1);
+ err_if(unveil(NULL, NULL) == -1);
err_if(pledge("stdio rpath wpath", NULL) == -1);
}
#endif
+
openFiles(filename);
#ifdef __OpenBSD__
err_if(pledge("stdio", NULL) == -1);
#endif
- for (int i = 0; i < 6; i++)
- if (strcmp(COMMAND, op[i].str) == 0)
- if ((cmd = argc >= op[i].args ? op[i].cmd : NULL))
+ if (argc > 2) {
+ for (int i = 0; (i < 6) && (cmd == NULL); i++) {
+ if (strcmp(COMMAND, op[i].str) != 0)
+ continue;
+ if (argc >= op[i].args) {
+ cmd = op[i].cmd;
break;
- if (cmd == cmd_setmac)
- strMac = (argc > 3) ? MAC_ADDRESS : strRMac;
- else if ((cmd != NULL) && (argc > 3))
+ }
+ err(errno = EINVAL, "Too few args on command '%s'",
+ op[i].str);
+ }
+ } else {
+ cmd = cmd_setmac;
+ }
+
+ if ((cmd == NULL) && (argc > 2)) { /* nvm gbe [MAC] */
+ strMac = COMMAND;
+ cmd = cmd_setmac;
+ } else if (cmd == cmd_setmac) { /* nvm gbe setmac [MAC] */
+ strMac = strRMac; /* random MAC */
+ if (argc > 3)
+ strMac = MAC_ADDRESS;
+ } else if ((cmd != NULL) && (argc > 3)) { /* user-supplied partnum */
err_if((errno = (!((part = PARTN[0] - '0') == 0 || part == 1))
- || PARTN[1] ? EINVAL : errno));
+ || PARTN[1] ? EINVAL : errno)); /* only allow '0' or '1' */
+ }
err_if((errno = (cmd == NULL) ? EINVAL : errno));
readGbe();
(*cmd)();
+ writeGbe();
- if ((gbeFileChanged) && (flags != O_RDONLY) && (cmd != writeGbe))
- writeGbe();
err_if((errno != 0) && (cmd != cmd_dump));
return errno;
}
void
+checkdir(const char *path)
+{
+ if (opendir(path) != NULL)
+ err(errno = EISDIR, "%s", path);
+ if (errno == ENOTDIR)
+ errno = 0;
+ err_if(errno);
+}
+
+void
openFiles(const char *path)
{
struct stat st;
+
xopen(fd, path, flags);
- if ((st.st_size != (SIZE_4KB << 1)))
- err(errno = ECANCELED, "File `%s` not 8KiB", path);
+
+ switch(st.st_size) {
+ case SIZE_8KB:
+ case SIZE_16KB:
+ case SIZE_128KB:
+ partsize = st.st_size >> 1;
+ break;
+ default:
+ err(errno = ECANCELED, "Invalid file size (not 8/16/128KiB)");
+ break;
+ }
+
xopen(rfd, "/dev/urandom", O_RDONLY);
- errno = errno != ENOTDIR ? errno : 0;
}
void
readGbe(void)
{
- nf = ((cmd == writeGbe) || (cmd == cmd_copy)) ? SIZE_4KB : nf;
- skipread[part ^ 1] = (cmd == cmd_copy) | (cmd == cmd_setchecksum)
- | (cmd == cmd_brick);
- gbe[1] = (gbe[0] = (size_t) buf) + SIZE_4KB;
+ if ((cmd == cmd_swap) || (cmd == cmd_copy))
+ nf = SIZE_4KB;
+ else
+ nf = NVM_SIZE;
+
+ if ((cmd == cmd_copy) || (cmd == cmd_setchecksum) || (cmd == cmd_brick))
+ do_read[part ^ 1] = 0;
+
+ char *buf = malloc(nf << (do_read[0] & do_read[1]));
+ if (buf == NULL)
+ err(errno, NULL);
+
+ gbe[0] = (size_t) buf;
+ gbe[1] = gbe[0] + (nf * (do_read[0] & do_read[1]));
+
+ ssize_t tnr = 0;
+
for (int p = 0; p < 2; p++) {
- if (skipread[p])
+ if (!do_read[p])
continue;
- err_if(pread(fd, (uint8_t *) gbe[p], nf, p << 12) == -1);
- swap(p);
+
+ ssize_t nr = pread(fd, (uint8_t *) gbe[p], nf, p * partsize);
+ err_if(nr == -1);
+ if (nr != nf)
+ err(errno == ECANCELED,
+ "%ld bytes read from '%s', expected %ld bytes\n",
+ nr, filename, nf);
+
+ tnr += nr;
+ swap(p); /* handle big-endian host CPU */
}
+
+ printf("%ld bytes read from file '%s'\n", tnr, filename);
}
void
cmd_setmac(void)
{
- if (macAddress(strMac, mac))
- err(errno = ECANCELED, "Bad MAC address");
+ int mac_updated = 0;
+ parseMacString(strMac, mac);
+
+ printf("MAC address to be written: %s\n", strMac);
+
for (int partnum = 0; partnum < 2; partnum++) {
if (!goodChecksum(part = partnum))
continue;
+
for (int w = 0; w < 3; w++)
setWord(w, partnum, mac[w]);
+
+ printf("Wrote MAC address to part %d: ", partnum);
+ macf(partnum);
+
cmd_setchecksum();
+ mac_updated = 1;
}
+
+ if (mac_updated)
+ errno = 0;
}
-int
-macAddress(const char *strMac, uint16_t *mac)
+void
+parseMacString(const char *strMac, uint16_t *mac)
{
uint64_t total = 0;
- if (strnlen(strMac, 20) == 17) {
+ if (strnlen(strMac, 20) != 17)
+ err(errno = EINVAL, "Invalid MAC address string length");
+
for (uint8_t h, i = 0; i < 16; i += 3) {
if (i != 15)
if (strMac[i + 2] != ':')
- return 1;
+ err(errno = EINVAL,
+ "Invalid MAC address separator '%c'",
+ strMac[i + 2]);
+
int byte = i / 3;
+
for (int nib = 0; nib < 2; nib++, total += h) {
if ((h = hextonum(strMac[i + nib])) > 15)
- return 1;
+ err(errno = EINVAL, "Invalid character '%c'",
+ strMac[i + nib]);
+
if ((byte == 0) && (nib == 1))
- if (strMac[i + nib] == '?')
+ if (strMac[i + nib] == '?') /* ?=random */
h = (h & 0xE) | 2; /* local, unicast */
+
mac[byte >> 1] |= ((uint16_t ) h)
<< ((8 * (byte % 2)) + (4 * (nib ^ 1)));
}
- }}
- return ((total == 0) | (mac[0] & 1)); /* multicast/all-zero banned */
+ }
+
+ if (total == 0)
+ err(errno = EINVAL, "Invalid MAC (all-zero MAC address)");
+ if (mac[0] & 1)
+ err(errno = EINVAL, "Invalid MAC (multicast bit set)");
}
uint8_t
@@ -199,11 +318,19 @@ void
cmd_dump(void)
{
for (int partnum = 0, numInvalid = 0; partnum < 2; partnum++) {
+ if ((cmd != cmd_dump) && (flags != O_RDONLY) &&
+ (!nvmPartChanged[partnum]))
+ continue;
+
if (!goodChecksum(partnum))
++numInvalid;
+
printf("MAC (part %d): ", partnum);
- macf(partnum), hexdump(partnum);
- errno = ((numInvalid < 2) && (partnum)) ? 0 : errno;
+ macf(partnum);
+ hexdump(partnum);
+
+ if ((numInvalid < 2) && (partnum))
+ errno = 0;
}
}
@@ -213,7 +340,10 @@ macf(int partnum)
for (int c = 0; c < 3; c++) {
uint16_t val16 = word(c, partnum);
printf("%02x:%02x", val16 & 0xff, val16 >> 8);
- printf(c == 2 ? "\n" : ":");
+ if (c == 2)
+ printf("\n");
+ else
+ printf(":");
}
}
@@ -227,7 +357,8 @@ hexdump(int partnum)
if (c == 4)
printf(" ");
printf(" %02x %02x", val16 & 0xff, val16 >> 8);
- } printf("\n");
+ }
+ printf("\n");
}
}
@@ -235,48 +366,87 @@ void
cmd_setchecksum(void)
{
uint16_t val16 = 0;
- for (int c = 0; c < 0x3F; c++)
+ for (int c = 0; c < NVM_CHECKSUM_WORD; c++)
val16 += word(c, part);
- setWord(0x3F, part, NVM_CHECKSUM - val16);
+
+ setWord(NVM_CHECKSUM_WORD, part, NVM_CHECKSUM - val16);
}
void
cmd_brick(void)
{
if (goodChecksum(part))
- setWord(0x3F, part, ((word(0x3F, part)) ^ 0xFF));
+ setWord(NVM_CHECKSUM_WORD, part,
+ ((word(NVM_CHECKSUM_WORD, part)) ^ 0xFF));
}
void
cmd_copy(void)
{
- if ((gbeFileChanged = nvmPartChanged[part ^ 1] = goodChecksum(part)))
- gbe[part ^ 1] = gbe[part]; /* speedhack: copy ptr, not words */
+ nvmPartChanged[part ^ 1] = goodChecksum(part);
+}
+
+void
+cmd_swap(void) {
+ err_if(!(goodChecksum(0) || goodChecksum(1)));
+ errno = 0;
+
+ gbe[0] ^= gbe[1];
+ gbe[1] ^= gbe[0];
+ gbe[0] ^= gbe[1];
+
+ nvmPartChanged[0] = nvmPartChanged[1] = 1;
}
int
goodChecksum(int partnum)
{
uint16_t total = 0;
- for(int w = 0; w <= 0x3F; w++)
+ for(int w = 0; w <= NVM_CHECKSUM_WORD; w++)
total += word(w, partnum);
+
if (total == NVM_CHECKSUM)
return 1;
+
fprintf(stderr, "WARNING: BAD checksum in part %d\n", partnum);
- return (errno = ECANCELED) & 0;
+ errno = ECANCELED;
+ return 0;
}
void
writeGbe(void)
{
- err_if((cmd == writeGbe) && !(goodChecksum(0) || goodChecksum(1)));
- for (int p = 0, x = (cmd == writeGbe) ? 1 : 0; p < 2; p++) {
- if ((!nvmPartChanged[p]) && (cmd != writeGbe))
+ ssize_t tnw = 0;
+
+ for (int p = 0; p < 2; p++) {
+ if ((!nvmPartChanged[p]) || (flags == O_RDONLY))
continue;
- swap(p^x);
- err_if(pwrite(fd, (uint8_t *) gbe[p^x], nf, p << 12) == -1);
+
+ swap(p); /* swap bytes on big-endian host CPUs */
+ ssize_t nw = pwrite(fd, (uint8_t *) gbe[p], nf, p * partsize);
+ err_if(nw == -1);
+ if (nw != nf)
+ err(errno == ECANCELED,
+ "%ld bytes written to '%s', expected %ld bytes\n",
+ nw, filename, nf);
+
+ tnw += nf;
}
- errno = 0;
+
+ if ((flags != O_RDONLY) && (cmd != cmd_dump)) {
+ if (nvmPartChanged[0] || nvmPartChanged[1])
+ printf("The following nvm words were written:\n");
+ cmd_dump();
+ }
+
+ if ((!tnw) && (flags != O_RDONLY) && (!errno))
+ fprintf(stderr, "No changes needed on file '%s'\n", filename);
+ else if (tnw)
+ printf("%ld bytes written to file '%s'\n", tnw, filename);
+
+ if (tnw)
+ errno = 0;
+
err_if(close(fd) == -1);
}
@@ -285,6 +455,12 @@ swap(int partnum)
{
size_t w, x;
uint8_t *n = (uint8_t *) gbe[partnum];
- for (w = nf * ((uint8_t *) &e)[0], x = 1; w < nf; w += 2, x += 2)
- n[w] ^= n[x], n[x] ^= n[w], n[w] ^= n[x];
+ int e = 1;
+
+ for (w = NVM_SIZE * ((uint8_t *) &e)[0], x = 1; w < NVM_SIZE;
+ w += 2, x += 2) {
+ n[w] ^= n[x];
+ n[x] ^= n[w];
+ n[w] ^= n[x];
+ }
}
diff --git a/vendor b/vendor
deleted file mode 120000
index c795b054..00000000
--- a/vendor
+++ /dev/null
@@ -1 +0,0 @@
-build \ No newline at end of file