diff options
93 files changed, 1462 insertions, 6316 deletions
@@ -24,6 +24,8 @@ /push /version /versiondate +/.version +/.versiondate /vendorfiles/ *me.bin *sch5545ec.bin @@ -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> @@ -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##*../}"; : } @@ -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 |