diff --git a/.circleci/config.yml b/.circleci/config.yml index 916358216..653cddcbf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -528,6 +528,13 @@ workflows: - x86-musl-cross-make [cross compiler] # ── coreboot 25.09 boards (alphabetical) ─────────────────────────────── + - build: + name: dell-optiplex-9020-sff + target: dell-optiplex-9020-sff + subcommand: "" + requires: + - EOL_t480-hotp-maximized [seed:coreboot-25.09] + - build: name: EOL_m900_tower-hotp-maximized target: EOL_m900_tower-hotp-maximized diff --git a/blobs/optiplex_9020/.gitignore b/blobs/optiplex_9020/.gitignore new file mode 100644 index 000000000..134ad9c22 --- /dev/null +++ b/blobs/optiplex_9020/.gitignore @@ -0,0 +1,5 @@ +# me.bin is downloaded and neutralized on demand by download-clean-me. +# original_dell_bios.bin is the user's private BIOS backup (if they use the +# extract script instead). Neither should be committed. +me.bin +original_dell_bios.bin diff --git a/blobs/optiplex_9020/README.md b/blobs/optiplex_9020/README.md new file mode 100644 index 000000000..025a7a7ef --- /dev/null +++ b/blobs/optiplex_9020/README.md @@ -0,0 +1,83 @@ +# OptiPlex 9020 SFF Blobs + +- [Overview](#overview) +- [Blob Strategy](#blob-strategy) +- [Building with Default Blobs](#building-with-default-blobs) +- [Using Your Own Blobs](#using-your-own-blobs) + +## Overview + +Heads on the Dell OptiPlex 9020 SFF requires three small binary blobs: + +| Blob | Size | Source | +|-----------|----------|----------------------------------------------------------| +| `ifd.bin` | 4 KB | Intel Flash Descriptor, shipped in-tree (anonymized) | +| `me.bin` | ~120 KB | Intel ME, downloaded and neutralized by `download-clean-me` | +| `gbe.bin` | 8 KB | Intel Gigabit Ethernet config, shipped in-tree (anonymized MAC) | + +`ifd.bin` and `gbe.bin` are committed to the repository directly. They contain +no personal data: the GbE MAC is set to the anonymized `00:de:ad:c0:ff:ee`, +matching the convention used by other Heads boards. The IFD has its ME region +shrunk and BIOS region expanded, ready for a neutralized ME. + +`me.bin` is the only blob that is **not** committed (it is proprietary Intel +firmware). It is downloaded on demand from the public Lenovo installer +`glrg22ww.exe` -- the same source used by the t440p -- because the ME firmware +is platform-generic for Lynx Point, not vendor-specific. + +## Blob Strategy + +The Intel ME on the 9020 (Lynx Point, ME 9.x) is **neutralized and shrunk** +using [me_cleaner](https://github.com/corna/me_cleaner) with the flags +`-r -t`: + +- `-r` removes non-essential ME modules (TDT, FPF, HOSTCOMM, SESSMGR, ...) +- `-t` truncates the ME region to the minimum bootable size (~120 KB) + +Result: ME shrunk from 5 MB to ~120 KB. The remaining FTPR module is required +for power/clock management during boot; it cannot be removed without bricking +the board. The ME's RSA signature remains valid (verified by me_cleaner), so +the board boots. + +**Notably NOT required** (this is the blob-minimized setup): + +- `mrc.bin` -- eliminated. Haswell native RAM initialization (NRI) is used + instead, via coreboot's `CONFIG_USE_NATIVE_RAMINIT=y`. +- FSP -- Haswell does not use Intel Firmware Support Package. +- Intel ME in full -- only the ~120 KB FTPR bring-up module remains; all AMT, + networking, anti-theft and backdoor modules removed. + +> **Note on "completely removing" the ME:** The ME is physically present in +> the Lynx Point PCH silicon. Software cannot remove hardware. me_cleaner's +> neutralization is the maximum achievable on this platform. + +## Building with Default Blobs + +The standard build path downloads and neutralizes the ME automatically: + +```console +$ make BOARD=dell-optiplex-9020-sff +``` + +The build system invokes `download-clean-me` to fetch the Lenovo installer, +extract `ME9.1_5M_Production.bin`, and run me_cleaner. No manual steps +required. + +## Using Your Own Blobs + +If you prefer to extract the blobs from your own Dell BIOS backup (for +example, to preserve your original LAN MAC address), build Heads once to +download the coreboot sources, then run the extraction script: + +```console +$ make BOARD=dell-optiplex-9020-sff # downloads coreboot sources + +$ export COREBOOT_DIR="./build/x86/coreboot-25.09/" +$ ./blobs/optiplex_9020/extract /path/to/original_dell_bios.bin ./blobs/optiplex_9020 + +$ make BOARD=dell-optiplex-9020-sff # rebuild with your blobs +``` + +The extraction script performs a more aggressive neutralization +(`me_cleaner -S -r -t -d`, including soft-disable via the AltMeDisable/HAP +bit) and preserves your hardware's original MAC address. diff --git a/blobs/optiplex_9020/download-clean-me b/blobs/optiplex_9020/download-clean-me new file mode 100644 index 000000000..bb38dcc75 --- /dev/null +++ b/blobs/optiplex_9020/download-clean-me @@ -0,0 +1,73 @@ +#!/usr/bin/env bash +# ============================================================================= +# Download Intel ME firmware for the Dell OptiPlex 9020 SFF, neutralize it, +# and shrink it to the minimum bootable size. +# +# The 9020 SFF is a Haswell + Lynx Point platform (Intel ME 9.1). It shares +# the same ME firmware generation as the ThinkPad T440p, so this script +# reuses the publicly available Lenovo installer (glrg22ww.exe) as the ME +# source. The ME firmware is platform-generic for Lynx Point, not +# vendor-specific. +# +# Usage: ./download-clean-me +# +# Requires COREBOOT_DIR pointing at a built coreboot source tree (for +# util/me_cleaner) and the innoextract tool. +# ============================================================================= +set -e + +function usage() { + echo -n \ + "Usage: $(basename "$0") path_to_output_directory +Download Intel ME firmware from Lenovo, neutralize, and shrink. +" +} + +# Expected SHA256 of the resulting neutralized me.bin. +# Sourced from the Lenovo glrg22ww.exe installer (same as the t440p). +ME_BIN_HASH="b7cf4c0cf514bbf279d9fddb12c34fca5c1c23e94b000c26275369b924ab9c25" + +if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then + if [[ "${1:-}" == "--help" ]]; then + usage + else + if [[ -z "${COREBOOT_DIR}" ]]; then + echo "ERROR: No COREBOOT_DIR variable defined." + exit 1 + fi + + output_dir="$(realpath "${1:-./}")" + + if [[ ! -f "${output_dir}/me.bin" ]]; then + # Unpack Lenovo's Windows installer into a temporary directory and + # extract the Intel ME blob. + pushd "$(mktemp -d)" + + curl -O https://download.lenovo.com/pccbbs/mobiles/glrg22ww.exe + innoextract glrg22ww.exe + + mv app/ME9.1_5M_Production.bin "${COREBOOT_DIR}/util/me_cleaner" + + popd + + # Neutralize and shrink Intel ME. Note that this doesn't include + # --soft-disable to set the "ME Disable" or "ME Disable B" (e.g., + # High Assurance Program) bits, as they are defined within the Flash + # Descriptor. + # https://github.com/corna/me_cleaner/wiki/External-flashing#neutralize-and-shrink-intel-me-useful-only-for-coreboot + pushd "${COREBOOT_DIR}/util/me_cleaner" + + python me_cleaner.py -r -t -O me_shrinked.bin ME9.1_5M_Production.bin + + mv me_shrinked.bin "${output_dir}/me.bin" + rm ./*.bin + + popd + fi + + if ! echo "${ME_BIN_HASH} ${output_dir}/me.bin" | sha256sum --check; then + echo "ERROR: SHA256 checksum for me.bin doesn't match." + exit 1 + fi + fi +fi diff --git a/blobs/optiplex_9020/extract b/blobs/optiplex_9020/extract new file mode 100644 index 000000000..a7757940c --- /dev/null +++ b/blobs/optiplex_9020/extract @@ -0,0 +1,92 @@ +#!/usr/bin/env bash +# ============================================================================= +# Extract Intel firmware blobs (IFD, ME, GbE) from an original Dell OptiPlex +# 9020 SFF BIOS backup, and neutralize the Intel ME. +# +# Usage: ./extract +# +# Produces in the output directory: +# ifd.bin - Intel Flash Descriptor (resized: ME region shrunk, BIOS grown) +# me.bin - Intel ME firmware (neutralized + soft-disabled + truncated) +# gbe.bin - Intel Gigabit Ethernet configuration (incl. LAN MAC address) +# +# Modelled on blobs/t440p/extract. Requires COREBOOT_DIR pointing at a built +# coreboot source tree (for util/me_cleaner and util/ifdtool). +# ============================================================================= +set -e + +function usage() { + echo -n \ + "Usage: $(basename "$0") path_to_original_rom path_to_output_directory +Extract Intel firmware from the original Dell OptiPlex 9020 SFF BIOS backup. +Neutralizes the ME via me_cleaner (-S -r -t -d) and shrinks the IFD regions. +" +} + +if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then + if [[ "${1:-}" == "--help" ]]; then + usage + else + if [[ -z "${COREBOOT_DIR}" ]]; then + echo "ERROR: No COREBOOT_DIR variable defined." + echo " Export COREBOOT_DIR=/path/to/built/coreboot source tree." + exit 1 + fi + + original_rom="$(realpath "$1")" + output_dir="$(realpath "${2:-./}")" + + if [[ ! -f "${original_rom}" ]]; then + echo "ERROR: original ROM not found: ${original_rom}" + exit 1 + fi + + echo ">>> Source ROM: ${original_rom} ($(stat -c%s "${original_rom}") bytes)" + echo ">>> Output dir: ${output_dir}" + echo + + # Step 1: Neutralize Intel ME + resize the IFD regions in one pass. + # Flags (same as t440p reference): + # -S soft-disable (set AltMeDisable / HAP bit in PCHSTRP10) + # -r remove (strip non-essential ME modules) + # -t truncate (shrink ME region to minimum bootable size) + # -d deactivate (additionally disable ME features) + # -O output full image (descriptor + neutered ME) + # -D output shrinked descriptor + # -M output truncated ME image + echo ">>> me_cleaner: neutralizing + soft-disabling Intel ME..." + pushd "${COREBOOT_DIR}/util/me_cleaner" + + python me_cleaner.py -S -r -t -d \ + -O out.bin \ + -D ifd_shrinked.bin \ + -M me_shrinked.bin \ + "${original_rom}" + + mv ifd_shrinked.bin "${output_dir}/ifd.bin" + mv me_shrinked.bin "${output_dir}/me.bin" + rm -f ./*.bin + + popd + echo " -> ifd.bin ($(stat -c%s "${output_dir}/ifd.bin") bytes)" + echo " -> me.bin ($(stat -c%s "${output_dir}/me.bin") bytes)" + + # Step 2: Extract the Intel Gigabit Ethernet (GbE) configuration blob + # (contains the LAN MAC address) using ifdtool. + echo ">>> ifdtool: extracting GbE configuration blob..." + pushd "${COREBOOT_DIR}/util/ifdtool" + + make + ./ifdtool -x "${original_rom}" + + mv flashregion_3_gbe.bin "${output_dir}/gbe.bin" + rm -f flashregion_*.bin + + popd + echo " -> gbe.bin ($(stat -c%s "${output_dir}/gbe.bin") bytes)" + + echo + echo ">>> Done. Blobs in ${output_dir}:" + ls -la "${output_dir}"/ifd.bin "${output_dir}"/me.bin "${output_dir}"/gbe.bin + fi +fi diff --git a/blobs/optiplex_9020/gbe.bin b/blobs/optiplex_9020/gbe.bin new file mode 100644 index 000000000..1bb8c2e75 Binary files /dev/null and b/blobs/optiplex_9020/gbe.bin differ diff --git a/blobs/optiplex_9020/hashes.txt b/blobs/optiplex_9020/hashes.txt new file mode 100644 index 000000000..91230aa65 --- /dev/null +++ b/blobs/optiplex_9020/hashes.txt @@ -0,0 +1,2 @@ +4bbe2955e5b417fda53b29da8a864ae726de79af2629991ead1ee24536d6de1a ifd.bin +fa6baa411b46272b7398940d7edf2864742b94967205f9dea15f8772b766acc3 gbe.bin diff --git a/blobs/optiplex_9020/ifd.bin b/blobs/optiplex_9020/ifd.bin new file mode 100644 index 000000000..d1479e35e Binary files /dev/null and b/blobs/optiplex_9020/ifd.bin differ diff --git a/boards/dell-optiplex-9020-sff/dell-optiplex-9020-sff.config b/boards/dell-optiplex-9020-sff/dell-optiplex-9020-sff.config new file mode 100644 index 000000000..0221f43a7 --- /dev/null +++ b/boards/dell-optiplex-9020-sff/dell-optiplex-9020-sff.config @@ -0,0 +1,131 @@ +# WARNING: This system remains perpetually vulnerable to Spectre v2 (CVE-2017-5715). +# Mitigations and microcode updates previously applied are now known to be ineffective +# due to QSB-107 and related CVEs. If Spectre v2 is a concern in your threat model, +# consider migrating to a platform with ongoing microcode support. Proper OPSEC for +# Memory Use MUST be followed: +# https://www.anarsec.guide/posts/qubes/#appendix-opsec-for-memory-use +# +# Configuration for a Dell OptiPlex 9020 SFF running Qubes OS and other +# Linux-based OSes through kexec. +# +# Hardware specifications: +# - CPU: LGA 1150, Intel Haswell (4th Gen) -- Celeron/Pentium/Core i3/i5/i7, +# up to Core i7-4790 (4C/8T, 3.6 GHz base / 4.0 GHz boost) +# - Chipset: Intel Q87 Express (Lynx Point) +# - RAM: 2x DDR3-1600 UDIMM, up to 16 GB per slot (32 GB max), dual-channel +# - Storage: 2x SATA 6 Gb/s; NVMe via PCIe adapter in x16 slot +# - PCIe: 1x PCIe 3.0 x16, 1x PCIe 3.0 x1 (half-height SFF brackets) +# - Video: 1x VGA + 1x DisplayPort 1.2 (Intel HD Graphics 4600, Haswell GT2) +# - Ethernet: Intel I217-LM Gigabit +# - Audio: Realtek ALC3221 HD Audio +# - TPM: Infineon TPM 1.2 (soldered, supports measured boot) +# - Form factor: Small Form Factor (SFF) +# +# Platform notes (vs. the t440p reference, which is also Haswell + Lynx Point): +# - Northbridge/southbridge/CPU/ME: identical to t440p +# - Embedded Controller: SMSC SCH555x (Dell) instead of Lenovo H8/EC +# - Super I/O handled by the same sch555x driver +# - SATA port map: 0x33 (ports 0 and 5 active on SFF) +# - VGA BIOS ID: Haswell GT2 desktop variant +# - ROM: 12 MB split into an 8 MB bottom chip and a 4 MB top chip +# +# Blob strategy (blob-minimized): +# - MRC blob: none. Uses Native RAM Initialization (CONFIG_USE_NATIVE_RAMINIT). +# - FSP: none. Haswell does not use Intel Firmware Support Package. +# - Intel ME: neutralized and soft-disabled via me_cleaner (-S -r -t -d). +# AltMeDisable bit set in PCHSTRP10. ME shrunk from 6 MB to ~120 KB. +# Only the bring-up module (FTPR) remains; all AMT/networking/backdoor +# modules (TDT, FPF, HOSTCOMM, SESSMGR, ...) removed. +# - IFD/GbE: small configuration blobs (4 KB / 16 KB), not executable firmware. +# Each user extracts these from their own Dell BIOS backup. + +# Coreboot + Linux versions (match the t440p reference for Haswell) +export CONFIG_COREBOOT=y +export CONFIG_COREBOOT_VERSION=25.09 +export CONFIG_LINUX_VERSION=6.1.8 + +CONFIG_COREBOOT_CONFIG=config/coreboot-dell-optiplex-9020-sff.config +CONFIG_LINUX_CONFIG=config/linux-t440p.config + +# --- Blob handling ----------------------------------------------------------- +# The Coreboot build depends on the three blobs: ifd.bin (resized descriptor), +# me.bin (neutralized ME), gbe.bin. ifd.bin and gbe.bin are shipped in-tree +# (anonymized, no personal data). me.bin is downloaded and neutralized on +# demand from the Lenovo installer, the same source used by the t440p (the ME +# firmware is platform-generic for Lynx Point, not vendor-specific). +$(build)/coreboot-$(CONFIG_COREBOOT_VERSION)/$(BOARD)/.build: \ + $(pwd)/blobs/optiplex_9020/ifd.bin \ + $(pwd)/blobs/optiplex_9020/me.bin \ + $(pwd)/blobs/optiplex_9020/gbe.bin + +# When me.bin is missing, download and neutralize it from the Lenovo installer. +$(pwd)/blobs/optiplex_9020/me.bin: + COREBOOT_DIR="$(build)/$(coreboot_base_dir)" \ + $(pwd)/blobs/optiplex_9020/download-clean-me $(pwd)/blobs/optiplex_9020 + +# --- Modules packed into tools.cpio ------------------------------------------ +CONFIG_CRYPTSETUP2=y +CONFIG_FLASHPROG=y +CONFIG_FLASHTOOLS=y +CONFIG_GPG2=y +CONFIG_KEXEC=y +CONFIG_UTIL_LINUX=y +CONFIG_LVM2=y +CONFIG_MBEDTLS=y +CONFIG_PCIUTILS=y + +# --- Remote attestation support (TPM 1.2) ------------------------------------ +export CONFIG_TPM=y +CONFIG_POPT=y +CONFIG_QRENCODE=y +CONFIG_TPMTOTP=y +# HOTP-based remote attestation for a USB security dongle +# (Nitrokey Pro 2 / Librem Key). Enable in a -hotp-maximized variant. +#CONFIG_HOTPKEY=y + +# --- Platform locking finalization (PR0) ------------------------------------- +# Prevents SPI from being writeable outside of Heads. +CONFIG_IO386=y +export CONFIG_FINALIZE_PLATFORM_LOCKING=y + +# --- GUI Support (FBWhiptail-based, graphical) ------------------------------- +CONFIG_CAIRO=y +CONFIG_FBWHIPTAIL=y + +# --- Additional hardware support for the Linux payload ----------------------- +# USB support is mandatory on this board: it has no built-in keyboard. +# CONFIG_USB_KEYBOARD_REQUIRED forces the xHCI/EHCI/HID drivers to be built +# into the kernel (=y) rather than as loadable modules (=m), so they are +# available immediately at boot -- before the initrd runs. Without this, USB +# keyboards and mice (including wireless dongles) are dead in the Heads menu. +export CONFIG_USB_KEYBOARD_REQUIRED=y +CONFIG_LINUX_USB=y +CONFIG_LINUX_E1000E=y +CONFIG_MOBILE_TETHERING=y + +# --- Additional tools (tools.cpio) ------------------------------------------- +# SSH server (requires ethernet drivers, e.g. CONFIG_LINUX_E1000E above) +#CONFIG_DROPBEAR=y + +# --- Runtime configuration --------------------------------------------------- +export CONFIG_AUTO_BOOT_TIMEOUT=5 +export CONFIG_DEBUG_OUTPUT=n +export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n +export CONFIG_TPM2_CAPTURE_PCAP=n +export CONFIG_QUIET_MODE=y +export CONFIG_BOOTSCRIPT=/bin/gui-init.sh +export CONFIG_BOOT_REQ_HASH=n +export CONFIG_BOOT_REQ_ROLLBACK=n +# Kernel cmdline tweaks for the Heads payload kernel (not the target OS kernel) +export CONFIG_BOOT_KERNEL_ADD="" +export CONFIG_BOOT_KERNEL_REMOVE="intel_iommu=on intel_iommu=igfx_off" +# Default boot device; adjust to the target OS installation. +export CONFIG_BOOT_DEV="/dev/sda1" +export CONFIG_BOARD_NAME="Dell OptiPlex 9020 SFF" +export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal" + +# --- Board targets ----------------------------------------------------------- +# The 9020 SFF uses two SPI chips: an 8 MB bottom chip (IFD + ME + part of +# coreboot) and a 4 MB top chip (rest of coreboot + reset vector). The build +# produces two files: *-bottom.rom and *-top.rom. +BOARD_TARGETS += split_8mb4mb diff --git a/config/coreboot-dell-optiplex-9020-sff.config b/config/coreboot-dell-optiplex-9020-sff.config new file mode 100644 index 000000000..35045f89a --- /dev/null +++ b/config/coreboot-dell-optiplex-9020-sff.config @@ -0,0 +1,735 @@ +# +# 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_USE_CBFS_FILE_OPTION_BACKEND 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_ROMSTAGE=y +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=y +CONFIG_BOOTSPLASH_FILE="@BRAND_DIR@/bootsplash.jpg" +CONFIG_BOOTSPLASH_CONVERT=y +CONFIG_BOOTSPLASH_CONVERT_QUALITY=70 +# CONFIG_BOOTSPLASH_CONVERT_RESIZE is not set +# CONFIG_BOOTSPLASH_CONVERT_COLORSWAP 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 is not set +CONFIG_VENDOR_DELL=y +# CONFIG_VENDOR_LIBRETREND is not set +# CONFIG_VENDOR_MITAC_COMPUTING is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NOVACUSTOM 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="OptiPlex 9020" +CONFIG_MAINBOARD_PART_NUMBER="OptiPlex 9020 SFF" +CONFIG_MAINBOARD_VERSION="1.0" +CONFIG_MAINBOARD_DIR="dell/optiplex_9020" +CONFIG_VGA_BIOS_ID="8086,0416" +CONFIG_DIMM_MAX=4 +CONFIG_DIMM_SPD_SIZE=256 +CONFIG_FMDFILE="" +CONFIG_NO_POST=y +CONFIG_MAINBOARD_VENDOR="Dell Inc." +CONFIG_CBFS_SIZE=0xBDD000 +CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=1600 +CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=2560 +CONFIG_MAX_CPUS=8 +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +CONFIG_VARIANT_DIR="t440p" +CONFIG_OVERRIDE_DEVICETREE="" +CONFIG_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/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=0xf0000000 +CONFIG_ECAM_MMCONF_BUS_NUMBER=64 +CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld" +# CONFIG_FATAL_ASSERTS is not set +CONFIG_USBDEBUG_HCD_INDEX=2 +CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt" +CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00 +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="OptiPlex 9020 SFF" +CONFIG_MAX_SOCKET=1 +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout" +CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0 +CONFIG_TPM_PIRQ=0x0 +CONFIG_DCACHE_RAM_BASE=0xff7c0000 +CONFIG_DCACHE_RAM_SIZE=0x40000 +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000 +CONFIG_DCACHE_BSP_STACK_SIZE=0x20000 +CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 +CONFIG_HAVE_INTEL_FIRMWARE=y +CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000 +CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y +CONFIG_SPI_FLASH_WINBOND=y +# CONFIG_DRIVERS_INTEL_WIFI is not set +CONFIG_IFD_BIN_PATH="@BLOB_DIR@/optiplex_9020/ifd.bin" +CONFIG_ME_BIN_PATH="@BLOB_DIR@/optiplex_9020/me.bin" +CONFIG_GBE_BIN_PATH="@BLOB_DIR@/optiplex_9020/gbe.bin" +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_ENABLE_DDR_2X_REFRESH is not set +CONFIG_PCIEXP_AER=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_SPI_FLASH_STMICRO=y +# CONFIG_DEBUG_SMI 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_M900 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 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_BOARD_LENOVO_HASWELL_COMMON is not set +CONFIG_VBOOT_SLOTS_RW_AB=y +CONFIG_PS2K_EISAID="DLLK_RADIO" +CONFIG_PS2M_EISAID="DLLM_RADIO" +CONFIG_GFX_GMA_PANEL_1_PORT="Disabled" +CONFIG_D3COLD_SUPPORT=y +# CONFIG_GFX_GMA_PANEL_1_ON_EDP is not set +# CONFIG_DRIVERS_UART_8250IO is not set +CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72 +CONFIG_HEAP_SIZE=0x100000 +CONFIG_EC_GPE_SCI=0x50 +CONFIG_TPM_MEASURED_BOOT=y +CONFIG_LINUX_COMMAND_LINE="quiet loglevel=2" +CONFIG_BOARD_ROMSIZE_KB_12288=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=y +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# 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=12288 +CONFIG_ROM_SIZE=0x00c00000 +CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y +CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y +CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y +# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set +# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set +CONFIG_MAINBOARD_POWER_FAILURE_STATE=0 +# end of Mainboard + +CONFIG_SYSTEM_TYPE_LAPTOP=y + +# +# Chipset +# + +# +# SoC +# +CONFIG_CHIPSET_DEVICETREE="" +CONFIG_CBFS_MCACHE_SIZE=0x4000 +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_SMM_TSEG_SIZE=0x800000 +CONFIG_SMM_RESERVED_SIZE=0x100000 +CONFIG_SMM_MODULE_STACK_SIZE=0x400 +CONFIG_SERIRQ_CONTINUOUS_MODE=y +CONFIG_CPU_PT_ROM_MAP_GB=512 +CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000 +CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xf0000000 +CONFIG_EHCI_BAR=0xe8000000 +CONFIG_ACPI_CPU_STRING="CP%02X" +CONFIG_STACK_SIZE=0x2000 +CONFIG_IED_REGION_SIZE=0x400000 +CONFIG_INTEL_GMA_BCLV_OFFSET=0x48254 +CONFIG_INTEL_GMA_BCLV_WIDTH=16 +CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256 +CONFIG_INTEL_GMA_BCLM_WIDTH=16 +CONFIG_BOOTBLOCK_IN_CBFS=y +CONFIG_DCACHE_RAM_MRC_VAR_SIZE=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed10000 +CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000 +CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000 +CONFIG_PCIEXP_COMMON_CLOCK=y +CONFIG_DISABLE_ME_PCI=y +CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=6 +CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0 +CONFIG_DEBUG_STACK_OVERFLOW_BREAKPOINTS=y +CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000 +CONFIG_CBFS_CACHE_ALIGN=8 +# CONFIG_ALWAYS_ALLOW_ABOVE_4G_ALLOCATION is not set +CONFIG_FIXED_SMBUS_IO_BASE=0x400 +CONFIG_UART_BITBANG_TX_DELAY_MS=5 + +# +# CPU +# +CONFIG_CPU_INTEL_HASWELL=y +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_TIMEBASE=y +CONFIG_CPU_INTEL_COMMON_VOLTAGE=y +CONFIG_CPU_INTEL_COMMON_SMM=y +CONFIG_PARALLEL_MP=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 +# +CONFIG_NORTHBRIDGE_INTEL_HASWELL=y +CONFIG_USE_NATIVE_RAMINIT=y + +# +# Southbridge +# +# CONFIG_PCIEXP_HOTPLUG is not set +CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y +CONFIG_SOUTHBRIDGE_INTEL_LYNXPOINT=y +CONFIG_FINALIZE_USB_ROUTE_XHCI=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y +CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_FINALIZE=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y +CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y +# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set +# CONFIG_INTEL_CHIPSET_LOCKDOWN is not set +CONFIG_TCO_SPACE_NOT_YET_SPLIT=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y +CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000 +CONFIG_RCBA_LENGTH=0x4000 + +# +# Super I/O +# + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +# CONFIG_EC_LENOVO_H8 is not set +# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set +# CONFIG_H8_FN_CTRL_SWAP is not set +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_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_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_MAINBOARD_HAS_LIBGFXINIT=y +CONFIG_MAINBOARD_USE_LIBGFXINIT=y +# CONFIG_VGA_ROM_RUN 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=y +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=0x04000000 +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 +CONFIG_DRAM_SUPPORT_DDR3=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 is not set +# 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_SPI_FLASH_ADESTO=y +CONFIG_SPI_FLASH_AMIC=y +CONFIG_SPI_FLASH_ATMEL=y +CONFIG_SPI_FLASH_EON=y +CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SPI_FLASH_SPANSION=y +CONFIG_SPI_FLASH_SST=y +CONFIG_SPI_FLASH_ISSI=y +CONFIG_HAVE_EM100PRO_SPI_CONSOLE_SUPPORT=y +CONFIG_TPM_INIT_RAMSTAGE=y +# CONFIG_TPM_PPI is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_DRIVERS_UART_OXPCIE is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +# CONFIG_USBDEBUG is not set +# CONFIG_VPD is not set +# CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG 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_MAX98396 is not set +CONFIG_INTEL_DDI=y +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="Haswell" +CONFIG_GFX_GMA_PCH="Lynx_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_MTK_WIFI is not set +# end of Generic Drivers + +# +# Security +# + +# +# CBFS verification +# +# CONFIG_CBFS_VERIFICATION is not set +# end of CBFS verification + +# +# Verified Boot (vboot) +# +CONFIG_VBOOT_LIB=y +# end of Verified Boot (vboot) + +# +# Trusted Platform Module +# +CONFIG_TPM1=y +# CONFIG_TPM2 is not set +CONFIG_TPM=y +CONFIG_MAINBOARD_HAS_TPM1=y +# CONFIG_TPM_DEACTIVATE is not set +# CONFIG_DEBUG_TPM is not set +# CONFIG_TPM_MEASURE_MRC_CACHE is not set +# CONFIG_TPM_LOG_CB is not set +CONFIG_TPM_LOG_TPM1=y +# CONFIG_TPM_LOG_TPM2 is not set +CONFIG_TPM_MEASURED_BOOT_RUNTIME_DATA="" +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_INTEL_TXT is not set +# CONFIG_STM is not set +# CONFIG_INTEL_CBNT_SUPPORT is not set +# CONFIG_BOOTMEDIA_LOCK_NONE is not set +CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y +# CONFIG_BOOTMEDIA_LOCK_CHIP is not set +CONFIG_BOOTMEDIA_LOCK_WHOLE_RO=y +# CONFIG_BOOTMEDIA_LOCK_WHOLE_NO_ACCESS 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_NO_CUSTOM_MADT=y +CONFIG_ACPI_COMMON_MADT_LAPIC=y +CONFIG_ACPI_COMMON_MADT_IOAPIC=y +CONFIG_HAVE_ACPI_TABLES=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 +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +# CONFIG_CONSOLE_SPI_FLASH is not set +# CONFIG_CONSOLE_I2C_SMBUS is not set +# CONFIG_EM100PRO_SPI_CONSOLE 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_HWBASE_DEBUG_CB=y +# end of Console + +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_USE_WATCHDOG_ON_BOOT=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 is not set +# CONFIG_PAYLOAD_ELF is not set +# CONFIG_PAYLOAD_FLAT_BINARY is not set +# CONFIG_PAYLOAD_BOOTBOOT is not set +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEAGRUB is not set +# CONFIG_PAYLOAD_LINUXBOOT is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_EDK2 is not set +CONFIG_PAYLOAD_LINUX=y +CONFIG_PAYLOAD_FILE="@BOARD_BUILD_DIR@/bzImage" +# CONFIG_PXE is not set +CONFIG_LINUX_INITRD="@BOARD_BUILD_DIR@/initrd.cpio.xz" +# CONFIG_COMPRESSED_PAYLOAD_NONE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_COMPRESSED_PAYLOAD_LZ4 is not set +CONFIG_COMPRESS_SECONDARY_PAYLOAD=y + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_GRUB2_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_SEABIOS_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set +# CONFIG_COREDOOM_SECONDARY_PAYLOAD is not set +# end of Secondary Payloads +# end of Payload + +# +# Debugging +# + +# +# CPU Debug Settings +# +# CONFIG_DISPLAY_MTRRS is not set + +# +# Vendorcode Debug Settings +# + +# +# BLOB Debug Settings +# + +# +# General Debug Settings +# +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP 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=0xf0000000 +CONFIG_HWBASE_DIRECT_PCIDEV=y +CONFIG_DECOMPRESS_OFAST=y + +# +# Boot Logo Configuration +# +# CONFIG_BMP_LOGO is not set +# end of Boot Logo Configuration + +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 +CONFIG_BOARD_DELL_OPTIPLEX_9020_SFF=y