diff --git a/.circleci/config.yml b/.circleci/config.yml
index af14b1d2c..dde32b900 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -263,7 +263,7 @@ jobs:
# See doc/circleci.md for full documentation.
# Workspace chain: create_hashes -> x86_blobs -> x86_musl_cross_make -> x86_coreboot
# Seeds (one per unique toolchain): coreboot-4.11, coreboot-25.09,
- # coreboot-dasharo_nv4x, coreboot-purism
+ # coreboot-dasharo_nv4x, coreboot-mrchromebox, coreboot-purism
# Dasharo v56/msi_z690/msi_z790 are build jobs, not x86_coreboot.
x86_coreboot:
executor: heads-docker
@@ -546,6 +546,16 @@ workflows:
requires:
- EOL_x280-hotp-maximized [seed:coreboot-25.12]
+ # mrchromebox fork (coreboot 26.03 based) -- builds coreboot-mrchromebox toolchain
+ # Downstream boards: kano
+ - x86_coreboot:
+ name: kano [seed:coreboot-mrchromebox]
+ target: kano
+ subcommand: ""
+ coreboot_dir: coreboot-mrchromebox
+ requires:
+ - x86-musl-cross-make [cross compiler]
+
# ── coreboot 25.09 boards (alphabetical) ───────────────────────────────
- build:
name: EOL_m900_tower-hotp-maximized
diff --git a/README.md b/README.md
index c507d4c8e..505f15902 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,24 @@ We welcome contributions to the Heads project! Before contributing, please read
Heads builds inside a versioned Docker image. The supported and tested workflow uses the
provided Docker wrappers — no host-side QEMU or swtpm installation is needed.
+### Clone the Repository
+
+Clone with full history to ensure version tags are available for
+`git describe --tags` (used at build time for artifact filenames):
+
+```bash
+git clone https://github.com/linuxboot/heads.git
+cd heads
+```
+
+To repair an existing shallow clone (`--depth 1` was used) or if
+artifact filenames show a trailing `_-` (missing git abbreviation):
+
+```bash
+git fetch --unshallow origin
+git fetch --tags origin
+```
+
**Quick start** (requires [Docker CE](https://docs.docker.com/engine/install/)):
```bash
diff --git a/bin/validate_cbfs_ifd_fit.sh b/bin/validate_cbfs_ifd_fit.sh
index 7eb69f6ec..281af6cec 100755
--- a/bin/validate_cbfs_ifd_fit.sh
+++ b/bin/validate_cbfs_ifd_fit.sh
@@ -274,7 +274,8 @@ if [ -z "$IFD_VALIDATION_SKIPPED" ] && [ -f "$IFD_PATH" ] && [ -n "$IFDTOOL" ];
MAX_CBFS_SIZE=0x1000000 # 16 MiB - Intel SPI decode window limit
# Calculate safe expansion target: min(IFD BIOS size, 16 MiB limit)
- if [ $BIOS_SIZE -gt $MAX_CBFS_SIZE ]; then
+ MAX_CBFS_SIZE_DEC=$((MAX_CBFS_SIZE))
+ if [ $BIOS_SIZE -gt $MAX_CBFS_SIZE_DEC ]; then
TARGET_SIZE=$MAX_CBFS_SIZE
TARGET_SIZE_KB=$((TARGET_SIZE / 1024))
BIOS_SIZE_MB=$((BIOS_SIZE / 1024 / 1024))
diff --git a/boards/kano/kano.config b/boards/kano/kano.config
new file mode 100644
index 000000000..32c6a1a77
--- /dev/null
+++ b/boards/kano/kano.config
@@ -0,0 +1,86 @@
+# Configuration for a Acer Chromebook Spin 714 (CP714-1WN/2WN/KANO)
+# Intel iGPU "UHD Graphics", 12th Gen Intel Core i5-1235U, 8GB RAM
+# 256GB NVMe Storage, Intel AX211 Wi-FI 6E,
+
+# 32MB Winbond Chip W25Q256JV_M - SuzyQ cable used to flash with ccd.
+
+export CONFIG_COREBOOT=y
+export CONFIG_COREBOOT_VERSION=mrchromebox
+# Intel ME: MrChromebox fork does not provide INTEL_ME_DISABLED_HAP or
+# IFDTOOL_DISABLE_ME Kconfig options (Dasharo/upstream additions).
+# The me.bin from MrChromebox blobs repo is already in a ChromeOS-minimized
+# state and provided as-is at CONFIG_ME_BIN_PATH in the coreboot config.
+# HAP (High Assurance Platform) bit is applied via ifdtool -M 1 post-build
+# to disable ME at runtime after hardware initialization.
+CONFIG_COREBOOT_APPLY_HAP=y
+export CONFIG_LINUX_VERSION=6.6.30
+
+CONFIG_COREBOOT_CONFIG=config/coreboot-kano.config
+CONFIG_LINUX_CONFIG=config/linux-kano.config
+
+#Enable DEBUG output
+export CONFIG_DEBUG_OUTPUT=y
+export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y
+#Enable TPM2 pcap output under /tmp
+export CONFIG_TPM2_CAPTURE_PCAP=y
+
+#On-demand hardware support (modules.cpio)
+CONFIG_LINUX_USB=y
+CONFIG_LINUX_E1000=n
+CONFIG_MOBILE_TETHERING=y
+
+#Modules packed into tools.cpio
+CONFIG_IO386=y
+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
+#Runtime tools to write to EC/MSR
+CONFIG_IOTOOLS=n
+CONFIG_MSRTOOLS=n
+#Remote attestation support
+# TPM2 requirements
+CONFIG_TPM2_TSS=y
+CONFIG_OPENSSL=y
+#Remote Attestation common tools
+CONFIG_POPT=y
+CONFIG_QRENCODE=y
+CONFIG_TPMTOTP=y
+#HOTP based remote attestation for supported USB Security dongle
+#With/Without TPM support
+CONFIG_HOTPKEY=n
+#Nitrokey Storage admin tool (deprecated)
+#CONFIG_NKSTORECLI=n
+#GUI Support
+#Console based Whiptail support(Console based, no FB):
+#CONFIG_SLANG=y
+#CONFIG_NEWT=y
+#FBWhiptail based (Graphical):
+CONFIG_CAIRO=y
+CONFIG_FBWHIPTAIL=y
+#Additional tools (tools.cpio):
+#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
+#CONFIG_DROPBEAR=y
+
+#Runtime configuration
+#Automatically boot if HOTP is valid
+export CONFIG_AUTO_BOOT_TIMEOUT=5
+export CONFIG_FINALIZE_PLATFORM_LOCKING=y
+#TPM2 requirements
+export CONFIG_TPM2_TOOLS=y
+export CONFIG_PRIMARY_KEY_TYPE=ecc
+#TPM1 requirements
+#export CONFIG_TPM=y
+export CONFIG_BOOTSCRIPT=/bin/gui-init.sh
+export CONFIG_BOOT_REQ_HASH=n
+export CONFIG_BOOT_REQ_ROLLBACK=n
+export CONFIG_BOOT_KERNEL_ADD=""
+export CONFIG_BOOT_KERNEL_REMOVE=""
+export CONFIG_BOOT_DEV="/dev/nvme0n1"
+export CONFIG_BOARD_NAME="Google Kano"
+export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal --ifd -i bios -i fd"
diff --git a/config/coreboot-kano.config b/config/coreboot-kano.config
new file mode 100644
index 000000000..fbf5ea4b9
--- /dev/null
+++ b/config/coreboot-kano.config
@@ -0,0 +1,1685 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# coreboot configuration
+#
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION="MrChromebox-26.03"
+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_CBFS_FILE_OPTION_BACKEND is not set
+CONFIG_COMPRESS_RAMSTAGE_LZMA=y
+# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
+# CONFIG_COMPRESS_RAMSTAGE_ZSTD 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=y
+CONFIG_BOOTSPLASH_FILE="@BRAND_DIR@/bootsplash.jpg"
+# CONFIG_BOOTSPLASH_CONVERT is not set
+CONFIG_FW_CONFIG=y
+CONFIG_FW_CONFIG_SOURCE_CHROMEEC_CBI=y
+# CONFIG_FW_CONFIG_SOURCE_CBFS is not set
+# CONFIG_FW_CONFIG_SOURCE_VPD 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=y
+# 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_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_QOTOM 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="Google_Brya"
+CONFIG_MAINBOARD_PART_NUMBER="Kano"
+CONFIG_MAINBOARD_VERSION="1.0"
+CONFIG_MAINBOARD_DIR="google/brya"
+CONFIG_DIMM_MAX=4
+CONFIG_DIMM_SPD_SIZE=512
+CONFIG_FMDFILE=""
+CONFIG_NO_POST=y
+CONFIG_MAINBOARD_VENDOR="Google"
+CONFIG_CBFS_SIZE=0x1000000
+# CONFIG_CONSOLE_SERIAL is not set
+CONFIG_MAX_CPUS=32
+# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
+CONFIG_UART_FOR_CONSOLE=0
+CONFIG_VARIANT_DIR="kano"
+CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
+CONFIG_DEVICETREE="variants/baseboard/$(CONFIG_BASEBOARD_DIR)/devicetree.cb"
+# CONFIG_VBOOT is not set
+# CONFIG_CHROMEOS 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="Google"
+CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xc0000000
+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=0x4000
+CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="Kano"
+CONFIG_FSP_FD_PATH="3rdparty/fsp/RaptorLakeFspBinPkg/Client/RaptorLakeP/Fsp.fd"
+CONFIG_MAX_SOCKET=1
+# CONFIG_USE_PM_ACPI_TIMER is not set
+CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
+CONFIG_DCACHE_RAM_BASE=0xfef00000
+CONFIG_DCACHE_RAM_SIZE=0xc0000
+CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
+CONFIG_DCACHE_BSP_STACK_SIZE=0x88000
+CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
+CONFIG_HAVE_INTEL_FIRMWARE=y
+CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
+CONFIG_DRIVERS_INTEL_WIFI=y
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/brya/kano/flashdescriptor.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/brya/kano/me.bin"
+
+#
+# Asurada (MediaTek Kompanio 820 (MT8192))
+#
+# CONFIG_BOARD_GOOGLE_ASURADA is not set
+# CONFIG_BOARD_GOOGLE_HAYATO is not set
+# CONFIG_BOARD_GOOGLE_SPHERION is not set
+
+#
+# Auron (Intel Broadwell (5th Gen))
+#
+# CONFIG_BOARD_GOOGLE_AURON_PAINE is not set
+# CONFIG_BOARD_GOOGLE_AURON_YUNA is not set
+# CONFIG_BOARD_GOOGLE_BUDDY is not set
+# CONFIG_BOARD_GOOGLE_GANDOF is not set
+# CONFIG_BOARD_GOOGLE_LULU is not set
+# CONFIG_BOARD_GOOGLE_SAMUS is not set
+
+#
+# Beltino (Intel Haswell (4th Gen))
+#
+# CONFIG_BOARD_GOOGLE_MCCLOUD is not set
+# CONFIG_BOARD_GOOGLE_MONROE is not set
+# CONFIG_BOARD_GOOGLE_PANTHER is not set
+# CONFIG_BOARD_GOOGLE_TRICKY is not set
+# CONFIG_BOARD_GOOGLE_ZAKO is not set
+
+#
+# Bluey (Qualcomm Snapdragon X Plus (X1P-42-100))
+#
+# CONFIG_BOARD_GOOGLE_BLUEY is not set
+# CONFIG_BOARD_GOOGLE_QUENBI is not set
+# CONFIG_BOARD_GOOGLE_BLUEYH is not set
+# CONFIG_BOARD_GOOGLE_QUENBIH is not set
+# CONFIG_BOARD_GOOGLE_QUARTZ is not set
+# CONFIG_BOARD_GOOGLE_MICA is not set
+
+#
+# Brox (Intel RaptorLake (13th Gen))
+#
+# CONFIG_BOARD_GOOGLE_BROX is not set
+# CONFIG_BOARD_GOOGLE_BROX_RTK_EC is not set
+# CONFIG_BOARD_GOOGLE_BROX_EC_ISH is not set
+# CONFIG_BOARD_GOOGLE_BROX_TI_PDC is not set
+# CONFIG_BOARD_GOOGLE_CABOC is not set
+# CONFIG_BOARD_GOOGLE_GREENBAYUPOC is not set
+# CONFIG_BOARD_GOOGLE_JUBILANT is not set
+# CONFIG_BOARD_GOOGLE_JUCHI is not set
+# CONFIG_BOARD_GOOGLE_LOTSO is not set
+
+#
+# Brya (Intel AlderLake/RaptorLake/TwinLake (12 - 13th Gen))
+#
+# CONFIG_BOARD_GOOGLE_AGAH is not set
+# CONFIG_BOARD_GOOGLE_ANAHERA is not set
+# CONFIG_BOARD_GOOGLE_ANAHERA4ES is not set
+# CONFIG_BOARD_GOOGLE_ANRAGGAR is not set
+# CONFIG_BOARD_GOOGLE_AURASH is not set
+# CONFIG_BOARD_GOOGLE_BANSHEE is not set
+# CONFIG_BOARD_GOOGLE_BRASK is not set
+# CONFIG_BOARD_GOOGLE_BRYA0 is not set
+# CONFIG_BOARD_GOOGLE_CRAASK is not set
+# CONFIG_BOARD_GOOGLE_CRAASKOV is not set
+# CONFIG_BOARD_GOOGLE_CONSTITUTION is not set
+# CONFIG_BOARD_GOOGLE_CROTA is not set
+# CONFIG_BOARD_GOOGLE_DIRKS is not set
+# CONFIG_BOARD_GOOGLE_DOCHI is not set
+# CONFIG_BOARD_GOOGLE_DOMIKA is not set
+# CONFIG_BOARD_GOOGLE_FELWINTER is not set
+# CONFIG_BOARD_GOOGLE_GAELIN is not set
+# CONFIG_BOARD_GOOGLE_GIMBLE is not set
+# CONFIG_BOARD_GOOGLE_GIMBLE4ES is not set
+# CONFIG_BOARD_GOOGLE_GLADIOS is not set
+# CONFIG_BOARD_GOOGLE_GLASSWAY is not set
+# CONFIG_BOARD_GOOGLE_GOTHRAX is not set
+# CONFIG_BOARD_GOOGLE_GUREN is not set
+# CONFIG_BOARD_GOOGLE_HADES is not set
+CONFIG_BOARD_GOOGLE_KANO=y
+# CONFIG_BOARD_GOOGLE_KALADIN is not set
+# CONFIG_BOARD_GOOGLE_KINOX is not set
+# CONFIG_BOARD_GOOGLE_KULDAX is not set
+# CONFIG_BOARD_GOOGLE_KULNEX is not set
+# CONFIG_BOARD_GOOGLE_JOXER is not set
+# CONFIG_BOARD_GOOGLE_LISBON is not set
+# CONFIG_BOARD_GOOGLE_MARASOV is not set
+# CONFIG_BOARD_GOOGLE_MITHRAX is not set
+# CONFIG_BOARD_GOOGLE_MOLI is not set
+# CONFIG_BOARD_GOOGLE_MOXIE is not set
+# CONFIG_BOARD_GOOGLE_MOXOE is not set
+# CONFIG_BOARD_GOOGLE_NIVVIKS is not set
+# CONFIG_BOARD_GOOGLE_NEREID is not set
+# CONFIG_BOARD_GOOGLE_NOKRIS is not set
+# CONFIG_BOARD_GOOGLE_OMNIGUL is not set
+# CONFIG_BOARD_GOOGLE_OSIRIS is not set
+# CONFIG_BOARD_GOOGLE_PIRRHA is not set
+# CONFIG_BOARD_GOOGLE_PRIMUS is not set
+# CONFIG_BOARD_GOOGLE_PUJJO is not set
+# CONFIG_BOARD_GOOGLE_PUJJONIRU is not set
+# CONFIG_BOARD_GOOGLE_QUANDISO is not set
+# CONFIG_BOARD_GOOGLE_QUANDISO2 is not set
+# CONFIG_BOARD_GOOGLE_REDRIX is not set
+# CONFIG_BOARD_GOOGLE_REDRIX4ES is not set
+# CONFIG_BOARD_GOOGLE_RIVEN is not set
+# CONFIG_BOARD_GOOGLE_RULL is not set
+# CONFIG_BOARD_GOOGLE_SKOLAS is not set
+# CONFIG_BOARD_GOOGLE_SKOLAS4ES is not set
+# CONFIG_BOARD_GOOGLE_TAEKO is not set
+# CONFIG_BOARD_GOOGLE_TAEKO4ES is not set
+# CONFIG_BOARD_GOOGLE_TANIKS is not set
+# CONFIG_BOARD_GOOGLE_TELIKS is not set
+# CONFIG_BOARD_GOOGLE_TEREID is not set
+# CONFIG_BOARD_GOOGLE_TIVVIKS is not set
+# CONFIG_BOARD_GOOGLE_TRULO is not set
+# CONFIG_BOARD_GOOGLE_ULDREN is not set
+# CONFIG_BOARD_GOOGLE_ULDRENITE is not set
+# CONFIG_BOARD_GOOGLE_VELL is not set
+# CONFIG_BOARD_GOOGLE_VOLMAR is not set
+# CONFIG_BOARD_GOOGLE_XIVU is not set
+# CONFIG_BOARD_GOOGLE_YAVIKS is not set
+# CONFIG_BOARD_GOOGLE_YAVILLA is not set
+# CONFIG_BOARD_GOOGLE_ZYDRON is not set
+# CONFIG_BOARD_GOOGLE_XOL is not set
+# CONFIG_BOARD_GOOGLE_NOVA is not set
+# CONFIG_BOARD_GOOGLE_BUJIA is not set
+# CONFIG_BOARD_GOOGLE_YAVISTA is not set
+# CONFIG_BOARD_GOOGLE_SUNDANCE is not set
+# CONFIG_BOARD_GOOGLE_PUJJOGA is not set
+# CONFIG_BOARD_GOOGLE_PUJJOGATWIN is not set
+# CONFIG_BOARD_GOOGLE_PUJJOLO is not set
+# CONFIG_BOARD_GOOGLE_ORISA is not set
+# CONFIG_BOARD_GOOGLE_TELITH is not set
+# CONFIG_BOARD_GOOGLE_MELIKS is not set
+# CONFIG_BOARD_GOOGLE_EPIC is not set
+# CONFIG_BOARD_GOOGLE_PUJJOCENTO is not set
+
+#
+# Butterfly (Intel SandyBridge (2nd Gen))
+#
+# CONFIG_BOARD_GOOGLE_BUTTERFLY is not set
+
+#
+# Cherry (MediaTek Kompanio 1200 (MT8195))
+#
+# CONFIG_BOARD_GOOGLE_CHERRY is not set
+# CONFIG_BOARD_GOOGLE_DOJO is not set
+# CONFIG_BOARD_GOOGLE_TOMATO is not set
+
+#
+# Kingler (MediaTek Kompanio 520 (MT8186))
+#
+# CONFIG_BOARD_GOOGLE_KINGLER is not set
+# CONFIG_BOARD_GOOGLE_KYOGRE is not set
+# CONFIG_BOARD_GOOGLE_PONYTA is not set
+# CONFIG_BOARD_GOOGLE_SQUIRTLE is not set
+# CONFIG_BOARD_GOOGLE_STEELIX is not set
+# CONFIG_BOARD_GOOGLE_VOLTORB is not set
+
+#
+# Krabby (MediaTek Kompanio 520 (MT8186))
+#
+# CONFIG_BOARD_GOOGLE_CHINCHOU is not set
+# CONFIG_BOARD_GOOGLE_KRABBY is not set
+# CONFIG_BOARD_GOOGLE_MAGIKARP is not set
+# CONFIG_BOARD_GOOGLE_SKITTY is not set
+# CONFIG_BOARD_GOOGLE_TENTACRUEL is not set
+# CONFIG_BOARD_GOOGLE_VELUZA is not set
+
+#
+# Staryu (MediaTek Kompanio 528 (MT8186T))
+#
+# CONFIG_BOARD_GOOGLE_STARMIE is not set
+# CONFIG_BOARD_GOOGLE_WUGTRIO is not set
+# CONFIG_BOARD_GOOGLE_WYRDEER is not set
+
+#
+# Cyan (Intel Braswell)
+#
+# CONFIG_BOARD_GOOGLE_BANON is not set
+# CONFIG_BOARD_GOOGLE_CELES is not set
+# CONFIG_BOARD_GOOGLE_CYAN is not set
+# CONFIG_BOARD_GOOGLE_EDGAR is not set
+# CONFIG_BOARD_GOOGLE_KEFKA is not set
+# CONFIG_BOARD_GOOGLE_REKS is not set
+# CONFIG_BOARD_GOOGLE_RELM is not set
+# CONFIG_BOARD_GOOGLE_SETZER is not set
+# CONFIG_BOARD_GOOGLE_TERRA is not set
+# CONFIG_BOARD_GOOGLE_ULTIMA is not set
+# CONFIG_BOARD_GOOGLE_WIZPIG is not set
+
+#
+# Daisy (Samsung Exynos 5250)
+#
+# CONFIG_BOARD_GOOGLE_DAISY is not set
+
+#
+# Dedede (Intel JasperLake)
+#
+# CONFIG_BOARD_GOOGLE_BEADRIX is not set
+# CONFIG_BOARD_GOOGLE_BLIPPER is not set
+# CONFIG_BOARD_GOOGLE_BOTEN is not set
+# CONFIG_BOARD_GOOGLE_BOXY is not set
+# CONFIG_BOARD_GOOGLE_BUGZZY is not set
+# CONFIG_BOARD_GOOGLE_CAPPY2 is not set
+# CONFIG_BOARD_GOOGLE_CORORI is not set
+# CONFIG_BOARD_GOOGLE_CRET is not set
+# CONFIG_BOARD_GOOGLE_DEDEDE is not set
+# CONFIG_BOARD_GOOGLE_DEXI is not set
+# CONFIG_BOARD_GOOGLE_DIBBI is not set
+# CONFIG_BOARD_GOOGLE_DITA is not set
+# CONFIG_BOARD_GOOGLE_DRAWCIA is not set
+# CONFIG_BOARD_GOOGLE_DRIBLEE is not set
+# CONFIG_BOARD_GOOGLE_GALTIC is not set
+# CONFIG_BOARD_GOOGLE_GOOEY is not set
+# CONFIG_BOARD_GOOGLE_HABOKI is not set
+# CONFIG_BOARD_GOOGLE_KRACKO is not set
+# CONFIG_BOARD_GOOGLE_LALALA is not set
+# CONFIG_BOARD_GOOGLE_LANTIS is not set
+# CONFIG_BOARD_GOOGLE_MADOO is not set
+# CONFIG_BOARD_GOOGLE_MAGOLOR is not set
+# CONFIG_BOARD_GOOGLE_METAKNIGHT is not set
+# CONFIG_BOARD_GOOGLE_PIRIKA is not set
+# CONFIG_BOARD_GOOGLE_SASUKE is not set
+# CONFIG_BOARD_GOOGLE_SASUKETTE is not set
+# CONFIG_BOARD_GOOGLE_STORO is not set
+# CONFIG_BOARD_GOOGLE_SHOTZO is not set
+# CONFIG_BOARD_GOOGLE_TARANZA is not set
+# CONFIG_BOARD_GOOGLE_WADDLEDEE is not set
+# CONFIG_BOARD_GOOGLE_WADDLEDOO is not set
+# CONFIG_BOARD_GOOGLE_AWASUKI is not set
+
+#
+# Drallion (Intel CometLake (10th Gen) with ISH)
+#
+# CONFIG_BOARD_GOOGLE_DRALLION is not set
+
+#
+# Eve (Intel KabyLake (7th Gen))
+#
+# CONFIG_BOARD_GOOGLE_EVE is not set
+
+#
+# Fatcat (Intel PantherLake (Ultra 3rd Gen))
+#
+# CONFIG_BOARD_GOOGLE_FATCAT is not set
+# CONFIG_BOARD_GOOGLE_FATCAT4ES is not set
+# CONFIG_BOARD_GOOGLE_FATCATISH is not set
+# CONFIG_BOARD_GOOGLE_FATCATITE is not set
+# CONFIG_BOARD_GOOGLE_FATCATITE4ES is not set
+# CONFIG_BOARD_GOOGLE_FATCATNUVO is not set
+# CONFIG_BOARD_GOOGLE_FATCATNUVO4ES is not set
+# CONFIG_BOARD_GOOGLE_FELINO is not set
+# CONFIG_BOARD_GOOGLE_FELINO4ES is not set
+# CONFIG_BOARD_GOOGLE_FRANCKA is not set
+# CONFIG_BOARD_GOOGLE_KINMEN4ES is not set
+# CONFIG_BOARD_GOOGLE_KINMEN is not set
+# CONFIG_BOARD_GOOGLE_LAPIS is not set
+# CONFIG_BOARD_GOOGLE_MOONSTONE is not set
+# CONFIG_BOARD_GOOGLE_RUBY is not set
+
+#
+# Fizz (Intel KabyLake/Kabylake-R (7th/8th Gen))
+#
+# CONFIG_BOARD_GOOGLE_FIZZ is not set
+# CONFIG_BOARD_GOOGLE_KARMA is not set
+# CONFIG_BOARD_GOOGLE_ENDEAVOUR is not set
+
+#
+# Foster (Nvidia Tegra X1 (T210))
+#
+# CONFIG_BOARD_GOOGLE_FOSTER is not set
+
+#
+# Gale (Qualcomm IPQ4019)
+#
+# CONFIG_BOARD_GOOGLE_GALE is not set
+
+#
+# Geralt (MediaTek Kompanio 838 (MT8188))
+#
+# CONFIG_BOARD_GOOGLE_GERALT is not set
+# CONFIG_BOARD_GOOGLE_CIRI is not set
+
+#
+# Glados (Intel Skylake (6th Gen))
+#
+# CONFIG_BOARD_GOOGLE_ASUKA is not set
+# CONFIG_BOARD_GOOGLE_CAROLINE is not set
+# CONFIG_BOARD_GOOGLE_CAVE is not set
+# CONFIG_BOARD_GOOGLE_CHELL is not set
+# CONFIG_BOARD_GOOGLE_GLADOS is not set
+# CONFIG_BOARD_GOOGLE_LARS is not set
+# CONFIG_BOARD_GOOGLE_SENTRY is not set
+
+#
+# Gru (Rockchip RK3399)
+#
+# CONFIG_BOARD_GOOGLE_KEVIN is not set
+# CONFIG_BOARD_GOOGLE_GRU is not set
+# CONFIG_BOARD_GOOGLE_BOB is not set
+# CONFIG_BOARD_GOOGLE_SCARLET is not set
+# CONFIG_BOARD_GOOGLE_NEFARIO is not set
+# CONFIG_BOARD_GOOGLE_RAINIER is not set
+
+#
+# Guybrush (AMD Ryzen Mobile 5000 (Cezanne))
+#
+# CONFIG_BOARD_GOOGLE_DEWATT is not set
+# CONFIG_BOARD_GOOGLE_GUYBRUSH is not set
+# CONFIG_BOARD_GOOGLE_NIPPERKIN is not set
+
+#
+# Hatch (Intel CometLake (10th Gen))
+#
+# CONFIG_BOARD_GOOGLE_AKEMI is not set
+# CONFIG_BOARD_GOOGLE_DRATINI is not set
+# CONFIG_BOARD_GOOGLE_HATCH is not set
+# CONFIG_BOARD_GOOGLE_HELIOS is not set
+# CONFIG_BOARD_GOOGLE_HELIOS_DISKSWAP is not set
+# CONFIG_BOARD_GOOGLE_JINLON is not set
+# CONFIG_BOARD_GOOGLE_KINDRED is not set
+# CONFIG_BOARD_GOOGLE_KOHAKU is not set
+# CONFIG_BOARD_GOOGLE_MUSHU is not set
+# CONFIG_BOARD_GOOGLE_NIGHTFURY is not set
+# CONFIG_BOARD_GOOGLE_PALKIA is not set
+
+#
+# Herobrine (Qualcomm Snapdragon 7c+ Gen3 (SC7280))
+#
+# CONFIG_BOARD_GOOGLE_HEROBRINE is not set
+# CONFIG_BOARD_GOOGLE_HEROBRINE_REV0 is not set
+# CONFIG_BOARD_GOOGLE_SENOR is not set
+# CONFIG_BOARD_GOOGLE_PIGLIN is not set
+# CONFIG_BOARD_GOOGLE_HOGLIN is not set
+# CONFIG_BOARD_GOOGLE_VILLAGER is not set
+# CONFIG_BOARD_GOOGLE_EVOKER is not set
+# CONFIG_BOARD_GOOGLE_ZOGLIN is not set
+# CONFIG_BOARD_GOOGLE_ZOMBIE is not set
+
+#
+# Jecht (Intel Broadwell (5th Gen))
+#
+# CONFIG_BOARD_GOOGLE_GUADO is not set
+# CONFIG_BOARD_GOOGLE_JECHT is not set
+# CONFIG_BOARD_GOOGLE_RIKKU is not set
+# CONFIG_BOARD_GOOGLE_TIDUS is not set
+
+#
+# Kahlee (AMD StoneyRidge)
+#
+# CONFIG_BOARD_GOOGLE_ALEENA is not set
+# CONFIG_BOARD_GOOGLE_CAREENA is not set
+# CONFIG_BOARD_GOOGLE_GRUNT is not set
+# CONFIG_BOARD_GOOGLE_LIARA is not set
+# CONFIG_BOARD_GOOGLE_NUWANI is not set
+# CONFIG_BOARD_GOOGLE_TREEYA is not set
+
+#
+# Kukui (MediaTek Kompanio 500 (MT8183))
+#
+# CONFIG_BOARD_GOOGLE_KUKUI is not set
+# CONFIG_BOARD_GOOGLE_KRANE is not set
+# CONFIG_BOARD_GOOGLE_KODAMA is not set
+# CONFIG_BOARD_GOOGLE_KAKADU is not set
+# CONFIG_BOARD_GOOGLE_FLAPJACK is not set
+# CONFIG_BOARD_GOOGLE_KATSU is not set
+
+#
+# Jacuzzi (MediaTek Kompanio 500 (MT8183))
+#
+# CONFIG_BOARD_GOOGLE_JACUZZI is not set
+# CONFIG_BOARD_GOOGLE_JUNIPER is not set
+# CONFIG_BOARD_GOOGLE_KAPPA is not set
+# CONFIG_BOARD_GOOGLE_DAMU is not set
+# CONFIG_BOARD_GOOGLE_CERISE is not set
+# CONFIG_BOARD_GOOGLE_STERN is not set
+# CONFIG_BOARD_GOOGLE_WILLOW is not set
+# CONFIG_BOARD_GOOGLE_ESCHE is not set
+# CONFIG_BOARD_GOOGLE_BURNET is not set
+# CONFIG_BOARD_GOOGLE_FENNEL is not set
+# CONFIG_BOARD_GOOGLE_COZMO is not set
+# CONFIG_BOARD_GOOGLE_MAKOMO is not set
+# CONFIG_BOARD_GOOGLE_MUNNA is not set
+# CONFIG_BOARD_GOOGLE_PICO is not set
+
+#
+# Link (Intel IvyBridge (3rd Gen))
+#
+# CONFIG_BOARD_GOOGLE_LINK is not set
+
+#
+# Mistral (Qualcomm Dragonwing QCS405)
+#
+# CONFIG_BOARD_GOOGLE_MISTRAL is not set
+
+#
+# Myst (AMD Ryzen Mobile 7000 (Phoenix))
+#
+# CONFIG_BOARD_GOOGLE_MYST is not set
+
+#
+# Nyan (NVIDIA Tegra K1 (CD570M))
+#
+# CONFIG_BOARD_GOOGLE_NYAN is not set
+
+#
+# Nyan Big (Nvidia Tegra K1 (T124))
+#
+# CONFIG_BOARD_GOOGLE_NYAN_BIG is not set
+
+#
+# Nyan Blaze (NVIDIA Tegra K1 (CD570M))
+#
+# CONFIG_BOARD_GOOGLE_NYAN_BLAZE is not set
+
+#
+# Oak (MediaTek Kompanio 500 (MT8173))
+#
+# CONFIG_BOARD_GOOGLE_OAK is not set
+# CONFIG_BOARD_GOOGLE_ELM is not set
+# CONFIG_BOARD_GOOGLE_HANA is not set
+
+#
+# Ocelot (Intel WildcatLake (Ultra 3rd Gen))
+#
+# CONFIG_BOARD_GOOGLE_KODKOD is not set
+# CONFIG_BOARD_GOOGLE_MATSU is not set
+# CONFIG_BOARD_GOOGLE_OCELOT is not set
+# CONFIG_BOARD_GOOGLE_OCELOTITE is not set
+# CONFIG_BOARD_GOOGLE_OCELOTMCHP is not set
+# CONFIG_BOARD_GOOGLE_OJAL is not set
+# CONFIG_BOARD_GOOGLE_OCELOT4ES is not set
+# CONFIG_BOARD_GOOGLE_OCELOTITE4ES is not set
+# CONFIG_BOARD_GOOGLE_OCELOTMCHP4ES is not set
+# CONFIG_BOARD_GOOGLE_OCICAT is not set
+
+#
+# Octopus (Intel GeminiLake)
+#
+# CONFIG_BOARD_GOOGLE_AMPTON is not set
+# CONFIG_BOARD_GOOGLE_BLOOG is not set
+# CONFIG_BOARD_GOOGLE_BOBBA is not set
+# CONFIG_BOARD_GOOGLE_CASTA is not set
+# CONFIG_BOARD_GOOGLE_DOOD is not set
+# CONFIG_BOARD_GOOGLE_FLEEX is not set
+# CONFIG_BOARD_GOOGLE_FOOB is not set
+# CONFIG_BOARD_GOOGLE_GARG is not set
+# CONFIG_BOARD_GOOGLE_LICK is not set
+# CONFIG_BOARD_GOOGLE_MEEP is not set
+# CONFIG_BOARD_GOOGLE_OCTOPUS is not set
+# CONFIG_BOARD_GOOGLE_PHASER is not set
+# CONFIG_BOARD_GOOGLE_YORP is not set
+
+#
+# Parrot (Intel SandyBridge (2nd Gen))
+#
+# CONFIG_BOARD_GOOGLE_PARROT is not set
+
+#
+# Peach Pit (Samsung Exynos 5420)
+#
+# CONFIG_BOARD_GOOGLE_PEACH_PIT is not set
+
+#
+# Poppy (Intel KabyLake/KabyLake-R (7th/8th Gen))
+#
+# CONFIG_BOARD_GOOGLE_ATLAS is not set
+# CONFIG_BOARD_GOOGLE_POPPY is not set
+# CONFIG_BOARD_GOOGLE_NAMI is not set
+# CONFIG_BOARD_GOOGLE_NAUTILUS is not set
+# CONFIG_BOARD_GOOGLE_NOCTURNE is not set
+# CONFIG_BOARD_GOOGLE_RAMMUS is not set
+# CONFIG_BOARD_GOOGLE_SORAKA is not set
+
+#
+# Puff (Intel CometLake (10th Gen))
+#
+# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
+# CONFIG_BOARD_GOOGLE_DOOLY is not set
+# CONFIG_BOARD_GOOGLE_DUFFY_LEGACY is not set
+# CONFIG_BOARD_GOOGLE_DUFFY is not set
+# CONFIG_BOARD_GOOGLE_FAFFY is not set
+# CONFIG_BOARD_GOOGLE_GENESIS is not set
+# CONFIG_BOARD_GOOGLE_KAISA_LEGACY is not set
+# CONFIG_BOARD_GOOGLE_KAISA is not set
+# CONFIG_BOARD_GOOGLE_MOONBUGGY is not set
+# CONFIG_BOARD_GOOGLE_NOIBAT is not set
+# CONFIG_BOARD_GOOGLE_PUFF is not set
+# CONFIG_BOARD_GOOGLE_SCOUT is not set
+# CONFIG_BOARD_GOOGLE_WYVERN is not set
+
+#
+# Rambi (Intel Baytrail)
+#
+# CONFIG_BOARD_GOOGLE_BANJO is not set
+# CONFIG_BOARD_GOOGLE_CANDY is not set
+# CONFIG_BOARD_GOOGLE_CLAPPER is not set
+# CONFIG_BOARD_GOOGLE_ENGUARDE is not set
+# CONFIG_BOARD_GOOGLE_EXPRESSO is not set
+# CONFIG_BOARD_GOOGLE_GLIMMER is not set
+# CONFIG_BOARD_GOOGLE_GNAWTY is not set
+# CONFIG_BOARD_GOOGLE_HELI is not set
+# CONFIG_BOARD_GOOGLE_KIP is not set
+# CONFIG_BOARD_GOOGLE_NINJA is not set
+# CONFIG_BOARD_GOOGLE_ORCO is not set
+# CONFIG_BOARD_GOOGLE_QUAWKS is not set
+# CONFIG_BOARD_GOOGLE_SQUAWKS is not set
+# CONFIG_BOARD_GOOGLE_RAMBI is not set
+# CONFIG_BOARD_GOOGLE_SUMO is not set
+# CONFIG_BOARD_GOOGLE_SWANKY is not set
+# CONFIG_BOARD_GOOGLE_WINKY is not set
+
+#
+# Rauru (MediaTek Kompanio Ultra 910 (MT8196))
+#
+# CONFIG_BOARD_GOOGLE_HYLIA is not set
+# CONFIG_BOARD_GOOGLE_NAVI is not set
+# CONFIG_BOARD_GOOGLE_RAURU is not set
+# CONFIG_BOARD_GOOGLE_SAPPHIRE is not set
+
+#
+# Reef (Intel ApolloLake)
+#
+# CONFIG_BOARD_GOOGLE_REEF is not set
+# CONFIG_BOARD_GOOGLE_PYRO is not set
+# CONFIG_BOARD_GOOGLE_SAND is not set
+# CONFIG_BOARD_GOOGLE_SNAPPY is not set
+# CONFIG_BOARD_GOOGLE_CORAL is not set
+
+#
+# Rex (Intel MeteorLake (Ultra 1st Gen))
+#
+# CONFIG_BOARD_GOOGLE_DEKU is not set
+# CONFIG_BOARD_GOOGLE_DEKU4ES is not set
+# CONFIG_BOARD_GOOGLE_KARIS is not set
+# CONFIG_BOARD_GOOGLE_KARIS4ES is not set
+# CONFIG_BOARD_GOOGLE_OVIS is not set
+# CONFIG_BOARD_GOOGLE_OVIS4ES is not set
+# CONFIG_BOARD_GOOGLE_REX0 is not set
+# CONFIG_BOARD_GOOGLE_REX_EC_ISH is not set
+# CONFIG_BOARD_GOOGLE_REX4ES is not set
+# CONFIG_BOARD_GOOGLE_REX4ES_EC_ISH is not set
+# CONFIG_BOARD_GOOGLE_REX64 is not set
+# CONFIG_BOARD_GOOGLE_SCREEBO is not set
+# CONFIG_BOARD_GOOGLE_SCREEBO4ES is not set
+# CONFIG_BOARD_GOOGLE_KANIX is not set
+
+#
+# Sarien (Intel WhiskeyLake (8th Gen))
+#
+# CONFIG_BOARD_GOOGLE_ARCADA is not set
+# CONFIG_BOARD_GOOGLE_SARIEN is not set
+
+#
+# Skyrim (AMD Ryzen Mobile 7000 (Mendocino))
+#
+# CONFIG_BOARD_GOOGLE_CRYSTALDRIFT is not set
+# CONFIG_BOARD_GOOGLE_FROSTFLOW is not set
+# CONFIG_BOARD_GOOGLE_MARKARTH is not set
+# CONFIG_BOARD_GOOGLE_SKYRIM is not set
+# CONFIG_BOARD_GOOGLE_WINTERHOLD is not set
+
+#
+# Skywalker (MediaTek Kompanio 540 (MT8189))
+#
+# CONFIG_BOARD_GOOGLE_ANAKIN is not set
+# CONFIG_BOARD_GOOGLE_BAZE is not set
+# CONFIG_BOARD_GOOGLE_DOOKU is not set
+# CONFIG_BOARD_GOOGLE_GROGU is not set
+# CONFIG_BOARD_GOOGLE_JAINA is not set
+# CONFIG_BOARD_GOOGLE_MACE is not set
+# CONFIG_BOARD_GOOGLE_OBIWAN is not set
+# CONFIG_BOARD_GOOGLE_PADME is not set
+# CONFIG_BOARD_GOOGLE_SKYWALKER is not set
+# CONFIG_BOARD_GOOGLE_TARKIN is not set
+# CONFIG_BOARD_GOOGLE_VADER is not set
+# CONFIG_BOARD_GOOGLE_YODA is not set
+
+#
+# Slippy (Intel Haswell (4th Gen))
+#
+# CONFIG_BOARD_GOOGLE_FALCO is not set
+# CONFIG_BOARD_GOOGLE_LEON is not set
+# CONFIG_BOARD_GOOGLE_PEPPY is not set
+# CONFIG_BOARD_GOOGLE_WOLF is not set
+
+#
+# Smaug (Nvidia Tegra X1 (T210))
+#
+# CONFIG_BOARD_GOOGLE_SMAUG is not set
+
+#
+# Storm (Qualcomm IPQ8064)
+#
+# CONFIG_BOARD_GOOGLE_STORM is not set
+
+#
+# Stout (Intel SandyBridge (2nd Gen))
+#
+# CONFIG_BOARD_GOOGLE_STOUT is not set
+
+#
+# Trogdor (Qualcomm Snapdragon 7c (SC7180))
+#
+# CONFIG_BOARD_GOOGLE_BUBS is not set
+# CONFIG_BOARD_GOOGLE_COACHZ is not set
+# CONFIG_BOARD_GOOGLE_GELARSHIE is not set
+# CONFIG_BOARD_GOOGLE_HOMESTAR is not set
+# CONFIG_BOARD_GOOGLE_KINGOFTOWN is not set
+# CONFIG_BOARD_GOOGLE_LAZOR is not set
+# CONFIG_BOARD_GOOGLE_MARZIPAN is not set
+# CONFIG_BOARD_GOOGLE_MRBLAND is not set
+# CONFIG_BOARD_GOOGLE_PAZQUEL is not set
+# CONFIG_BOARD_GOOGLE_POMPOM is not set
+# CONFIG_BOARD_GOOGLE_QUACKINGSTICK is not set
+# CONFIG_BOARD_GOOGLE_WORMDINGLER is not set
+# CONFIG_BOARD_GOOGLE_TROGDOR is not set
+
+#
+# Veyron (Rockchip RK3288)
+#
+# CONFIG_BOARD_GOOGLE_VEYRON_JAQ is not set
+# CONFIG_BOARD_GOOGLE_VEYRON_JERRY is not set
+# CONFIG_BOARD_GOOGLE_VEYRON_MIGHTY is not set
+# CONFIG_BOARD_GOOGLE_VEYRON_MINNIE is not set
+# CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY is not set
+
+#
+# Veyron Mickey (Rockchip RK3288)
+#
+# CONFIG_BOARD_GOOGLE_VEYRON_MICKEY is not set
+
+#
+# Veyron Rialto (Rockchip RK3288)
+#
+# CONFIG_BOARD_GOOGLE_VEYRON_RIALTO is not set
+
+#
+# Volteer (Intel TigerLake (11th Gen))
+#
+# CONFIG_BOARD_GOOGLE_CHRONICLER is not set
+# CONFIG_BOARD_GOOGLE_COLLIS is not set
+# CONFIG_BOARD_GOOGLE_COPANO is not set
+# CONFIG_BOARD_GOOGLE_DELBIN is not set
+# CONFIG_BOARD_GOOGLE_DROBIT is not set
+# CONFIG_BOARD_GOOGLE_ELDRID is not set
+# CONFIG_BOARD_GOOGLE_ELEMI is not set
+# CONFIG_BOARD_GOOGLE_HALVOR is not set
+# CONFIG_BOARD_GOOGLE_LINDAR is not set
+# CONFIG_BOARD_GOOGLE_MALEFOR is not set
+# CONFIG_BOARD_GOOGLE_TERRADOR is not set
+# CONFIG_BOARD_GOOGLE_TODOR is not set
+# CONFIG_BOARD_GOOGLE_TRONDO is not set
+# CONFIG_BOARD_GOOGLE_VOEMA is not set
+# CONFIG_BOARD_GOOGLE_VOLET is not set
+# CONFIG_BOARD_GOOGLE_VOLTEER is not set
+# CONFIG_BOARD_GOOGLE_VOLTEER2 is not set
+# CONFIG_BOARD_GOOGLE_VOLTEER2_TI50 is not set
+# CONFIG_BOARD_GOOGLE_VOXEL is not set
+
+#
+# Zork (AMD Ryzen Mobile 3000 (Picasso))
+#
+# CONFIG_BOARD_GOOGLE_BERKNIP is not set
+# CONFIG_BOARD_GOOGLE_DALBOZ is not set
+# CONFIG_BOARD_GOOGLE_DIRINBOZ is not set
+# CONFIG_BOARD_GOOGLE_EZKINIL is not set
+# CONFIG_BOARD_GOOGLE_GUMBOZ is not set
+# CONFIG_BOARD_GOOGLE_MORPHIUS is not set
+# CONFIG_BOARD_GOOGLE_SHUBOZ is not set
+# CONFIG_BOARD_GOOGLE_TREMBYLE is not set
+# CONFIG_BOARD_GOOGLE_VILBOZ is not set
+# CONFIG_BOARD_GOOGLE_WOOMAX is not set
+CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x40000
+CONFIG_DRIVER_TPM_I2C_BUS=0x1
+CONFIG_DRIVER_TPM_I2C_ADDR=0x50
+CONFIG_BASEBOARD_DIR="brya"
+CONFIG_TPM_TIS_ACPI_INTERRUPT=13
+CONFIG_MEMORY_SOLDERDOWN=y
+CONFIG_HAVE_SLP_S0_GATE=y
+CONFIG_PCIEXP_DEFAULT_MAX_RESIZABLE_BAR_BITS=33
+CONFIG_BOARD_GOOGLE_BRYA_COMMON=y
+CONFIG_BOARD_GOOGLE_BASEBOARD_BRYA=y
+CONFIG_USE_ADL_ENEM=y
+# CONFIG_USE_ADL_NEM is not set
+CONFIG_POWER_OFF_ON_CR50_UPDATE=y
+CONFIG_FMAP_SIZE=0x200
+CONFIG_CARDBUS_PLUGIN_SUPPORT=y
+CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
+# CONFIG_USE_LEGACY_8254_TIMER is not set
+CONFIG_SOC_INTEL_CSE_LITE_SKU=y
+# CONFIG_DEBUG_SMI is not set
+CONFIG_HAVE_IFD_BIN=y
+CONFIG_PCIEXP_HOTPLUG_BUSES=42
+CONFIG_PCIEXP_HOTPLUG_MEM=0xc200000
+CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x100000000
+CONFIG_PS2K_EISAID="PNP0303"
+CONFIG_PS2M_EISAID="PNP0F13"
+CONFIG_EDK2_BOOT_MANAGER_ESCAPE=y
+CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
+# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
+CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
+CONFIG_D3COLD_SUPPORT=y
+# CONFIG_DRIVERS_UART_8250IO is not set
+CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
+CONFIG_FSP_TEMP_RAM_SIZE=0x20000
+CONFIG_HEAP_SIZE=0x100000
+# CONFIG_BOOTMEDIA_SMM_BWP is not set
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
+# CONFIG_TME_KEY_REGENERATION_ON_WARM_BOOT is not set
+CONFIG_TPM_MEASURED_BOOT=y
+CONFIG_LINUX_COMMAND_LINE=""
+CONFIG_BOARD_ROMSIZE_KB_32768=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 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
+CONFIG_COREBOOT_ROMSIZE_KB_32768=y
+# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
+CONFIG_COREBOOT_ROMSIZE_KB=32768
+CONFIG_ROM_SIZE=0x02000000
+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_VPD=y
+CONFIG_SMBIOS_SERIAL_FROM_VPD=y
+CONFIG_FSP_HEADER_PATH="3rdparty/fsp/RaptorLakeFspBinPkg/Client/RaptorLakeP/Include/"
+CONFIG_FSP_M_FILE="$(obj)/Fsp_M.fd"
+CONFIG_FSP_S_FILE="$(obj)/Fsp_S.fd"
+CONFIG_PCIEXP_HOTPLUG_IO=0x6000
+CONFIG_EDK2_DISABLE_TPM=y
+CONFIG_DRIVERS_HWID_DMI=y
+CONFIG_INTEL_GMA_HAVE_VBT=y
+CONFIG_SYSTEM_TYPE_CONVERTIBLE=y
+
+#
+# Chipset
+#
+
+#
+# SoC
+#
+CONFIG_CHIPSET_DEVICETREE="soc/intel/alderlake/chipset.cb"
+CONFIG_CBFS_MCACHE_SIZE=0x4000
+CONFIG_ROMSTAGE_ADDR=0x2000000
+CONFIG_VERSTAGE_ADDR=0x2000000
+CONFIG_CONSOLE_UART_BASE_ADDRESS=0xfe03e000
+CONFIG_SMM_TSEG_SIZE=0x800000
+CONFIG_SMM_RESERVED_SIZE=0x200000
+CONFIG_SMM_MODULE_STACK_SIZE=0x800
+CONFIG_ACPI_BERT=y
+CONFIG_ACPI_BERT_SIZE=0x10000
+CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=133
+CONFIG_VBOOT_HASH_BLOCK_SIZE=0x1000
+CONFIG_CPU_PT_ROM_MAP_GB=512
+CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
+CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xe0000000
+CONFIG_ACPI_CPU_STRING="CP%02X"
+CONFIG_STACK_SIZE=0x2000
+CONFIG_SOC_INTEL_ALDERLAKE=y
+CONFIG_SOC_INTEL_RAPTORLAKE=y
+CONFIG_SOC_INTEL_ALDERLAKE_PCH_P=y
+CONFIG_SOC_INTEL_ALDERLAKE_TCSS_USB4_SUPPORT=y
+CONFIG_ALDERLAKE_CAR_ENHANCED_NEM=y
+CONFIG_EXT_BIOS_WIN_BASE=0xf8000000
+CONFIG_EXT_BIOS_WIN_SIZE=0x2000000
+CONFIG_IFD_CHIPSET="adl"
+CONFIG_IED_REGION_SIZE=0x400000
+CONFIG_MAX_PCH_ROOT_PORTS=12
+CONFIG_MAX_CPU_ROOT_PORTS=3
+CONFIG_MAX_TBT_ROOT_PORTS=4
+CONFIG_MAX_ROOT_PORTS=12
+CONFIG_MAX_PCIE_CLOCK_SRC=10
+CONFIG_MAX_PCIE_CLOCK_REQ=10
+CONFIG_PCR_BASE_ADDRESS=0xfd000000
+CONFIG_CPU_BCLK_MHZ=100
+CONFIG_SOC_INTEL_PERFORMANCE_CORE_SCALE_FACTOR=127
+CONFIG_SOC_INTEL_EFFICIENT_CORE_SCALE_FACTOR=100
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
+CONFIG_CPU_XTAL_HZ=38400000
+CONFIG_SOC_INTEL_UFS_CLK_FREQ_HZ=19200000
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=7
+CONFIG_SOC_INTEL_I2C_DEV_MAX=8
+# CONFIG_ENABLE_SATA_TEST_MODE is not set
+CONFIG_SOC_INTEL_UART_DEV_MAX=7
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x25a
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0x7fff
+CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
+CONFIG_DATA_BUS_WIDTH=128
+CONFIG_DIMMS_PER_CHANNEL=2
+CONFIG_MRC_CHANNEL_WIDTH=16
+CONFIG_ALDERLAKE_ENABLE_SOC_WORKAROUND=y
+CONFIG_SI_DESC_REGION="SI_DESC"
+CONFIG_SI_DESC_REGION_SZ=4096
+CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8258
+CONFIG_INTEL_GMA_BCLV_WIDTH=32
+CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8254
+CONFIG_INTEL_GMA_BCLM_WIDTH=32
+CONFIG_FSP_PUBLISH_MBP_HOB=y
+# CONFIG_INCLUDE_HSPHY_IN_FMAP is not set
+CONFIG_HSPHY_FW_MAX_SIZE=0x8000
+CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ=0x2005
+CONFIG_SOC_INTEL_SPI_DEV_MAX=4
+CONFIG_SOC_INTEL_SPI_PSF_DESTINATION_ID=0x23a8
+CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
+CONFIG_MAX_HECI_DEVICES=6
+CONFIG_BOOTBLOCK_IN_CBFS=y
+CONFIG_HAVE_PAM0_REGISTER=y
+CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=4
+CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
+CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
+CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
+CONFIG_SOC_INTEL_CSE_FW_PARTITION_CMOS_OFFSET=68
+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_FSP_T_LOCATION=0xfffe0000
+CONFIG_INTEL_TME=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_P2SB=y
+CONFIG_FIXED_SMBUS_IO_BASE=0xefa0
+CONFIG_UART_BITBANG_TX_DELAY_MS=5
+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_PEP_LPM_REQ=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CRASHLOG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID=y
+CONFIG_SOC_INTEL_UFS_OCP_TIMER_DISABLE=y
+CONFIG_SOC_INTEL_UFS_LTR_DISQUALIFY=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ASPM=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CNVI=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_INTEL_CAR_ENEM_USE_EFFECTIVE_WAY_SIZE=y
+CONFIG_CAR_HAS_SF_MASKS=y
+CONFIG_COS_MAPPED_TO_MSB=y
+CONFIG_CAR_HAS_L3_PROTECTED_WAYS=y
+# CONFIG_USE_INTEL_FSP_MP_INIT is not set
+CONFIG_USE_INTEL_FSP_TO_CALL_COREBOOT_PUBLISH_MP_PPI=y
+CONFIG_CPU_SUPPORTS_INTEL_TME=y
+CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
+CONFIG_HAVE_HYPERTHREADING=y
+CONFIG_FSP_HYPERTHREADING=y
+# CONFIG_INTEL_KEYLOCKER is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC=y
+CONFIG_SOC_INTEL_STORE_CSE_FW_VERSION=y
+CONFIG_SOC_INTEL_CSE_SEND_EOP_ASYNC=y
+# CONFIG_SOC_INTEL_CSE_RW_UPDATE is not set
+CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
+CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME="me_rw"
+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_SET_EOP=y
+# CONFIG_SOC_INTEL_CSE_SUB_PART_UPDATE is not set
+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_CSE_PRE_CPU_RESET_TELEMETRY=y
+CONFIG_SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V1=y
+CONFIG_SOC_INTEL_CSE_LITE_SYNC_IN_ROMSTAGE=y
+CONFIG_SOC_INTEL_CSE_HAVE_SPEC_SUPPORT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ME_SPEC_16=y
+CONFIG_ME_SPEC=16
+CONFIG_CSE_RESET_CLEAR_EC_AP_IDLE_FLAG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_DTT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
+CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
+CONFIG_FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_SBI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
+# CONFIG_SOC_INTEL_DISABLE_IGD is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_IPU=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_IRQ=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_MEMINIT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_OC_WDT=y
+# CONFIG_SOC_INTEL_COMMON_OC_WDT_ENABLE is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE_RTD3=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
+CONFIG_SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_EPOC=y
+CONFIG_PMC_IPC_ACPI_INTERFACE=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_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=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_INTRUDER_SMI_ENABLE=y
+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_HAVE_CAPID_A_REGISTER=y
+CONFIG_HAVE_BDSM_BGSM_REGISTER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCSS=y
+CONFIG_TCSS_HAS_USBC_OPS=y
+# CONFIG_ENABLE_TCSS_DISPLAY_DETECTION is not set
+CONFIG_ENABLE_TCSS_USB_DETECTION=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
+CONFIG_INTEL_LPSS_UART_FOR_CONSOLE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_USB4=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_USB4_PCIE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_USB4_XHCI=y
+CONFIG_SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES=y
+CONFIG_DEFAULT_SOFTWARE_CONNECTION_MANAGER=y
+# CONFIG_FIRMWARE_CONNECTION_MANAGER is not set
+CONFIG_SOFTWARE_CONNECTION_MANAGER=y
+CONFIG_IOM_ACPI_DEVICE_VISIBLE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_VTD=y
+# CONFIG_ENABLE_EARLY_DMA_PROTECTION is not set
+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 Code for features
+#
+CONFIG_SOC_INTEL_COMMON_FEATURE=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_ESPI=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_GLOBAL_RESET_CSE_PMC=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_GSPI_DEVFN=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_I2C_DEVFN=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_LOCKDOWN=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_PMUTIL=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_SMIHANDLER=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_SOUNDWIRE=y
+CONFIG_SOC_SOUNDWIRE_ACPI_ADDRESS=0x40000000
+CONFIG_SOC_SOUNDWIRE_MASTER_COUNT=4
+CONFIG_SOC_INTEL_COMMON_FEATURE_SPI_DEVFN=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_SPI_DEVFN_PSF=y
+CONFIG_SOC_INTEL_COMMON_FEATURE_UART_DEVICES=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_SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM=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_BASECODE_DEBUG_FEATURE=y
+CONFIG_SOC_INTEL_COMMON_BASECODE_RAMTOP=y
+CONFIG_SOC_INTEL_COMMON_RESET=y
+CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
+CONFIG_PAVP=y
+# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
+CONFIG_HAVE_INTEL_COMPLIANCE_TEST_MODE=y
+# CONFIG_SOC_INTEL_COMPLIANCE_TEST_MODE is not set
+CONFIG_SOC_INTEL_CRASHLOG=y
+CONFIG_HAS_INTEL_CPU_ROOT_PORTS=y
+
+#
+# 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_VOLTAGE=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_HAVE_SMI_HANDLER=y
+CONFIG_SMM_TSEG=y
+CONFIG_SMM_OPAL_S3_STATE_SMRAM_SIZE=0x0
+CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
+CONFIG_X86_INIT_NEED_1_SIPI=y
+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=y
+CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
+CONFIG_PCIEXP_COMMON_CLOCK=y
+CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
+CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
+CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
+CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
+# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
+# CONFIG_INTEL_CHIPSET_LOCKDOWN is not set
+CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
+CONFIG_RCBA_LENGTH=0x4000
+
+#
+# Super I/O
+#
+
+#
+# Embedded Controllers
+#
+CONFIG_EC_SUPPORTS_DPTF_TEVT=y
+CONFIG_EC_GOOGLE_CHROMEEC=y
+CONFIG_EC_GOOGLE_CHROMEEC_BOARDID=y
+CONFIG_EC_GOOGLE_CHROMEEC_ESPI=y
+CONFIG_EC_GOOGLE_CHROMEEC_LPC=y
+CONFIG_EC_GOOGLE_CHROMEEC_SKUID=y
+CONFIG_EC_GOOGLE_CHROMEEC_SMBIOS=y
+# CONFIG_EC_GOOGLE_CHROMEEC_RTC is not set
+# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL is not set
+CONFIG_EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG=y
+# CONFIG_EC_GOOGLE_CHROMEEC_AUTO_FAN_CTRL is not set
+CONFIG_EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING=y
+CONFIG_EC_GOOGLE_CHROMEEC_LPC_GENERIC_MEMORY_BASE=0xfe0b0000
+CONFIG_EC_GOOGLE_CHROMEEC_LPC_GENERIC_MEMORY_SIZE=0x10000
+CONFIG_EC_CHROMEEC_USE_VENDOR_TABLET_CONTROLS=y
+
+#
+# Intel Firmware
+#
+CONFIG_HAVE_ME_BIN=y
+# CONFIG_STITCH_ME_BIN is not set
+CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS=y
+# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
+# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
+CONFIG_UNLOCK_FLASH_REGIONS=y
+CONFIG_MAINBOARD_HAS_CHROMEOS=y
+
+#
+# ChromeOS
+#
+# end of ChromeOS
+
+CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION=y
+CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
+CONFIG_UDK_BASE=y
+CONFIG_UDK_202305_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=202305
+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_CUSTOM_BOOTMEDIA=y
+CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
+CONFIG_PC80_SYSTEM=y
+CONFIG_POSTCAR_STAGE=y
+CONFIG_BOOTBLOCK_SIMPLE=y
+# CONFIG_BOOTBLOCK_NORMAL is not set
+CONFIG_COLLECT_TIMESTAMPS_TSC=y
+CONFIG_IDT_IN_EVERY_STAGE=y
+CONFIG_HAVE_CF9_RESET=y
+CONFIG_DEBUG_HW_BREAKPOINTS=y
+CONFIG_DEBUG_HW_BREAKPOINTS_IN_ALL_STAGES=y
+CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
+CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS_IN_ALL_STAGES=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
+CONFIG_IOAPIC=y
+# end of Chipset
+
+#
+# Devices
+#
+CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
+CONFIG_HAVE_FSP_GOP=y
+# CONFIG_VGA_ROM_RUN is not set
+CONFIG_RUN_FSP_GOP=y
+# CONFIG_NO_GFX_INIT is not set
+CONFIG_NO_EARLY_GFX_INIT=y
+
+#
+# Display
+#
+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_AZALIA_USE_LEGACY_VERB_TABLE=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_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
+# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
+# CONFIG_EARLY_PCI_BRIDGE is not set
+CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
+CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
+CONFIG_INTEL_GMA_ADD_VBT=y
+# CONFIG_SOFTWARE_I2C is not set
+CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
+# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
+CONFIG_DRAM_SUPPORT_DDR5=y
+CONFIG_DRAM_SUPPORT_DDR4=y
+# end of Devices
+
+#
+# Generic Drivers
+#
+CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
+# CONFIG_DRIVERS_EFI_VARIABLE_STORE 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=y
+CONFIG_SMMSTORE_V2=y
+CONFIG_SMMSTORE_SIZE=0x40000
+CONFIG_DRIVERS_AUDIO_SOF=y
+CONFIG_SPI_FLASH=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
+CONFIG_SPI_FLASH_SMM=y
+# CONFIG_SPI_FLASH_NO_FAST_READ is not set
+CONFIG_TPM_INIT_RAMSTAGE=y
+CONFIG_TPM_PPI=y
+CONFIG_DRIVERS_UART=y
+CONFIG_DRIVERS_UART_8250MEM=y
+CONFIG_DRIVERS_UART_8250MEM_32=y
+CONFIG_VPD_FMAP_NAME="RO_VPD"
+CONFIG_VPD_FMAP_SIZE=0x4000
+# CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG is not set
+CONFIG_DRIVERS_GENERIC_ALC1015=y
+# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
+# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
+CONFIG_DRIVERS_GENERIC_GPIO_KEYS=y
+CONFIG_DRIVERS_GENERIC_MAX98357A=y
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
+CONFIG_DRIVERS_GFX_GENERIC=y
+CONFIG_DRIVERS_I2C_DESIGNWARE=y
+CONFIG_DRIVERS_I2C_GENERIC=y
+CONFIG_DRIVERS_I2C_HID=y
+CONFIG_DRIVERS_I2C_MAX98373=y
+# CONFIG_DRIVERS_I2C_MAX98396 is not set
+CONFIG_DRIVERS_I2C_NAU8825=y
+CONFIG_DRIVERS_I2C_RT5645=y
+CONFIG_I2C_TPM=y
+CONFIG_DRIVER_TIS_DEFAULT=y
+CONFIG_DRIVER_I2C_TPM_ACPI=y
+# CONFIG_DRIVER_TPM_DISPLAY_TIS_BYTES is not set
+CONFIG_DRIVERS_INTEL_DPTF=y
+CONFIG_DRIVERS_INTEL_DPTF_SUPPORTS_TPCH=y
+CONFIG_FSP_USE_REPO=y
+# CONFIG_DISPLAY_HOBS is not set
+# CONFIG_DISPLAY_UPD_DATA is not set
+CONFIG_PLATFORM_USES_FSP2_0=y
+CONFIG_PLATFORM_USES_FSP2_1=y
+CONFIG_PLATFORM_USES_FSP2_2=y
+CONFIG_PLATFORM_USES_FSP2_3=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_FSP_USES_CB_STACK=y
+CONFIG_FSP_COMPRESS_FSP_S_LZ4=y
+CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
+CONFIG_FSPS_HAS_ARCH_UPD=y
+CONFIG_FSPS_USE_MULTI_PHASE_INIT=y
+CONFIG_FSP_USES_CB_DEBUG_EVENT_HANDLER=y
+# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
+CONFIG_FSP_ENABLE_SERIAL_DEBUG=y
+CONFIG_FSP_MULTIPHASE_SI_INIT_RETURN_BROKEN=y
+# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
+CONFIG_FSP_VGA_MODE12_BPP=0x0
+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_INTEL_GMA_OPREGION_2_1=y
+CONFIG_INTEL_GMA_VERSION_2=y
+CONFIG_DRIVERS_INTEL_MIPI_CAMERA=y
+CONFIG_MIPI_ACPI_TYPE_WINDOWS_LINUX=y
+# CONFIG_MIPI_ACPI_TYPE_CHROMEOS is not set
+CONFIG_DRIVERS_INTEL_PMC=y
+CONFIG_DRIVERS_INTEL_SOUNDWIRE=y
+# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
+# CONFIG_DRIVERS_PS2_KEYBOARD is not set
+CONFIG_DRIVERS_MC146818=y
+# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
+CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
+# CONFIG_DRIVERS_SIL_3114 is not set
+CONFIG_DRIVERS_SOUNDWIRE_ALC5682=y
+CONFIG_DRIVERS_SOUNDWIRE_MAX98373=y
+CONFIG_DRIVERS_SPI_ACPI=y
+CONFIG_DRIVERS_USB_ACPI=y
+CONFIG_DRIVERS_WIFI_GENERIC=y
+CONFIG_DRIVERS_MTK_WIFI=y
+CONFIG_DRIVERS_WWAN_FM350GL=y
+CONFIG_MP_SERVICES_PPI=y
+CONFIG_MP_SERVICES_PPI_V2=y
+CONFIG_DRIVERS_INTEL_USB4_RETIMER=y
+# 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)
+
+CONFIG_TPM_GOOGLE=y
+CONFIG_TPM_GOOGLE_CR50=y
+CONFIG_TPM_GOOGLE_IMMEDIATELY_COMMIT_FW_SECDATA=y
+CONFIG_GOOGLE_TPM_IRQ_TIMEOUT_MS=100
+CONFIG_CR50_RESET_CLEAR_EC_AP_IDLE_FLAG=y
+
+#
+# Trusted Platform Module
+#
+# CONFIG_TPM1 is not set
+CONFIG_TPM2=y
+CONFIG_TPM=y
+CONFIG_MAINBOARD_HAS_TPM2=y
+# CONFIG_DEBUG_TPM is not set
+# CONFIG_TPM_MEASURE_MRC_CACHE is not set
+# CONFIG_TPM_LOG_CB is not set
+CONFIG_TPM_LOG_TPM2=y
+# CONFIG_TPM_HASH_SHA1 is not set
+CONFIG_TPM_HASH_SHA256=y
+# CONFIG_TPM_HASH_SHA384 is not set
+# CONFIG_TPM_HASH_SHA512 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
+
+CONFIG_TPM_SETUP_HIBERNATE_ON_ERR=y
+
+#
+# TCG storage
+#
+# CONFIG_TCG_OPAL_S3_UNLOCK is not set
+# end of TCG storage
+
+#
+# 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_LIB=y
+# 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
+# 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_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
+CONFIG_FIXED_UART_FOR_CONSOLE=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_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_ACPI_S1_NOT_SUPPORTED=y
+CONFIG_HAVE_ACPI_RESUME=y
+CONFIG_RESUME_PATH_SAME_AS_BOOT=y
+CONFIG_HAVE_MONOTONIC_TIMER=y
+
+#
+# System tables
+#
+CONFIG_GENERATE_SMBIOS_TABLES=y
+CONFIG_BIOS_VENDOR="coreboot"
+CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
+# CONFIG_VPD_SMBIOS_VERSION is not set
+# 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_ZSTD is not set
+# 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_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
+#
+# 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=y
+# CONFIG_ENABLE_FSP_ERROR_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_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_HAVE_SPD_IN_CBFS=y
+CONFIG_DECOMPRESS_OFAST=y
+
+#
+# Boot Logo Configuration
+#
+# CONFIG_BMP_LOGO is not set
+CONFIG_PLATFORM_POST_RENDER_DELAY_SEC=5
+CONFIG_PLATFORM_OFF_MODE_CHARGING_INDICATOR_LOGO_PATH="3rdparty/blobs/mainboard/$(MAINBOARDDIR)/off_mode_charging.bmp"
+# CONFIG_FRAMEBUFFER_SPLASH_TEXT is not set
+# end of Boot Logo Configuration
+
+CONFIG_HAVE_EARLY_POWEROFF_SUPPORT=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-kano.config_defconfig b/config/coreboot-kano.config_defconfig
new file mode 100644
index 000000000..404569487
--- /dev/null
+++ b/config/coreboot-kano.config_defconfig
@@ -0,0 +1,24 @@
+CONFIG_LOCALVERSION="MrChromebox-26.03"
+CONFIG_BOOTSPLASH_IMAGE=y
+CONFIG_BOOTSPLASH_FILE="@BRAND_DIR@/bootsplash.jpg"
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/brya/kano/flashdescriptor.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/brya/kano/me.bin"
+CONFIG_BOARD_GOOGLE_KANO=y
+CONFIG_HAVE_IFD_BIN=y
+CONFIG_TPM_MEASURED_BOOT=y
+CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
+CONFIG_SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM=y
+# CONFIG_INTEL_CHIPSET_LOCKDOWN is not set
+CONFIG_HAVE_ME_BIN=y
+CONFIG_BOOTSPLASH=y
+# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
+CONFIG_SMMSTORE=y
+CONFIG_SMMSTORE_V2=y
+CONFIG_SMMSTORE_SIZE=0x40000
+CONFIG_TPM_PPI=y
+# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
+CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y
+CONFIG_PAYLOAD_LINUX=y
+CONFIG_PAYLOAD_FILE="@BOARD_BUILD_DIR@/bzImage"
+CONFIG_LINUX_INITRD="@BOARD_BUILD_DIR@/initrd.cpio.xz"
diff --git a/config/linux-kano.config b/config/linux-kano.config
new file mode 100644
index 000000000..d7d82e409
--- /dev/null
+++ b/config/linux-kano.config
@@ -0,0 +1,3536 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 6.6.30 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="x86_64-linux-musl-gcc (GCC) 9.4.0"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=90400
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23301
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23301
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION="-@BRAND_NAME@"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_HAVE_KERNEL_ZSTD=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+CONFIG_KERNEL_XZ=y
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+# CONFIG_KERNEL_ZSTD is not set
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="(none)"
+# CONFIG_SYSVIPC is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_WATCH_QUEUE is not set
+# CONFIG_CROSS_MEMORY_ATTACH is not set
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
+CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# end of IRQ subsystem
+
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_ARCH_CLOCKSOURCE_INIT=y
+CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+# CONFIG_BPF_SYSCALL is not set
+# CONFIG_BPF_JIT is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_NONE_BUILD=y
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_PREEMPT_DYNAMIC is not set
+# CONFIG_SCHED_CORE is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+# CONFIG_CPU_ISOLATION is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+# CONFIG_IKCONFIG is not set
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+# CONFIG_CGROUPS is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="@BLOB_DIR@/dev.cpio"
+CONFIG_INITRAMFS_ROOT_UID=0
+CONFIG_INITRAMFS_ROOT_GID=0
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+CONFIG_RD_XZ=y
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+# CONFIG_RD_ZSTD is not set
+CONFIG_INITRAMFS_COMPRESSION_XZ=y
+# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
+# CONFIG_BOOT_CONFIG is not set
+# CONFIG_INITRAMFS_PRESERVE_MTIME is not set
+# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+CONFIG_EXPERT=y
+# CONFIG_MULTIUSER is not set
+# CONFIG_SGETMASK_SYSCALL is not set
+# CONFIG_SYSFS_SYSCALL is not set
+# CONFIG_FHANDLE is not set
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_PCSPKR_PLATFORM=y
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+# CONFIG_SIGNALFD is not set
+# CONFIG_TIMERFD is not set
+# CONFIG_EVENTFD is not set
+CONFIG_SHMEM=y
+# CONFIG_AIO is not set
+CONFIG_IO_URING=y
+# CONFIG_ADVISE_SYSCALLS is not set
+CONFIG_MEMBARRIER=y
+# CONFIG_KALLSYMS is not set
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
+CONFIG_KCMP=y
+# CONFIG_RSEQ is not set
+CONFIG_CACHESTAT_SYSCALL=y
+CONFIG_HAVE_PERF_EVENTS=y
+# CONFIG_PC104 is not set
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# end of Kernel Performance Events And Counters
+
+# CONFIG_PROFILING is not set
+
+#
+# Kexec and crash features
+#
+CONFIG_CRASH_CORE=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_FILE=y
+# CONFIG_KEXEC_SIG is not set
+# CONFIG_CRASH_DUMP is not set
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ARCH_MMAP_RND_BITS_MIN=28
+CONFIG_ARCH_MMAP_RND_BITS_MAX=32
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_64_SMP=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=4
+CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
+
+#
+# Processor type and features
+#
+CONFIG_SMP=y
+# CONFIG_X86_MPPARSE is not set
+# CONFIG_GOLDFISH is not set
+# CONFIG_X86_CPU_RESCTRL is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_INTEL_LPSS=y
+# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
+CONFIG_IOSF_MBI=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+# CONFIG_HYPERVISOR_GUEST is not set
+# CONFIG_MK8 is not set
+# CONFIG_MPSC is not set
+CONFIG_MCORE2=y
+# CONFIG_MATOM is not set
+# CONFIG_GENERIC_CPU is not set
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_P6_NOP=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_IA32_FEAT_CTL=y
+CONFIG_X86_VMX_FEATURE_NAMES=y
+CONFIG_PROCESSOR_SELECT=y
+CONFIG_CPU_SUP_INTEL=y
+# CONFIG_CPU_SUP_AMD is not set
+# CONFIG_CPU_SUP_HYGON is not set
+# CONFIG_CPU_SUP_CENTAUR is not set
+# CONFIG_CPU_SUP_ZHAOXIN is not set
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_BOOT_VESA_SUPPORT=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS_RANGE_BEGIN=2
+CONFIG_NR_CPUS_RANGE_END=512
+CONFIG_NR_CPUS_DEFAULT=64
+CONFIG_NR_CPUS=32
+CONFIG_SCHED_CLUSTER=y
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_MC_PRIO=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
+CONFIG_X86_MCE=y
+# CONFIG_X86_MCELOG_LEGACY is not set
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_THRESHOLD=y
+
+#
+# Performance monitoring
+#
+# CONFIG_PERF_EVENTS_INTEL_UNCORE is not set
+# CONFIG_PERF_EVENTS_INTEL_RAPL is not set
+# CONFIG_PERF_EVENTS_INTEL_CSTATE is not set
+# end of Performance monitoring
+
+# CONFIG_X86_VSYSCALL_EMULATION is not set
+CONFIG_X86_IOPL_IOPERM=y
+CONFIG_MICROCODE=y
+# CONFIG_MICROCODE_LATE_LOADING is not set
+# CONFIG_X86_MSR is not set
+# CONFIG_X86_CPUID is not set
+# CONFIG_X86_5LEVEL is not set
+CONFIG_X86_DIRECT_GBPAGES=y
+# CONFIG_NUMA is not set
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_X86_PMEM_LEGACY_DEVICE=y
+CONFIG_X86_PMEM_LEGACY=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+# CONFIG_MTRR is not set
+CONFIG_X86_UMIP=y
+CONFIG_CC_HAS_IBT=y
+# CONFIG_X86_KERNEL_IBT is not set
+# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
+CONFIG_X86_INTEL_TSX_MODE_OFF=y
+# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
+# CONFIG_X86_USER_SHADOW_STACK is not set
+CONFIG_EFI=y
+# CONFIG_EFI_STUB is not set
+# CONFIG_EFI_FAKE_MEMMAP is not set
+CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SELECTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
+CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_RELOCATABLE=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_X86_NEED_RELOCS=y
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_DYNAMIC_MEMORY_LAYOUT=y
+CONFIG_RANDOMIZE_MEMORY=y
+CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0x0
+# CONFIG_ADDRESS_MASKING is not set
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_LEGACY_VSYSCALL_XONLY is not set
+CONFIG_LEGACY_VSYSCALL_NONE=y
+# CONFIG_CMDLINE_BOOL is not set
+# CONFIG_MODIFY_LDT_SYSCALL is not set
+# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
+CONFIG_HAVE_LIVEPATCH=y
+# end of Processor type and features
+
+CONFIG_CC_HAS_RETURN_THUNK=y
+CONFIG_CC_HAS_ENTRY_PADDING=y
+CONFIG_FUNCTION_PADDING_CFI=11
+CONFIG_FUNCTION_PADDING_BYTES=16
+CONFIG_CPU_MITIGATIONS=y
+CONFIG_PAGE_TABLE_ISOLATION=y
+# CONFIG_RETPOLINE is not set
+CONFIG_CPU_IBRS_ENTRY=y
+# CONFIG_GDS_FORCE_MITIGATION is not set
+CONFIG_MITIGATION_RFDS=y
+CONFIG_MITIGATION_SPECTRE_BHI=y
+CONFIG_ARCH_HAS_ADD_PAGES=y
+
+#
+# Power management and ACPI options
+#
+# CONFIG_SUSPEND is not set
+# CONFIG_PM is not set
+# CONFIG_ENERGY_MODEL is not set
+CONFIG_ARCH_SUPPORTS_ACPI=y
+CONFIG_ACPI=y
+CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
+CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
+CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+# CONFIG_ACPI_DEBUGGER is not set
+CONFIG_ACPI_SPCR_TABLE=y
+# CONFIG_ACPI_FPDT is not set
+CONFIG_ACPI_LPIT=y
+CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
+# CONFIG_ACPI_EC_DEBUGFS is not set
+CONFIG_ACPI_AC=y
+CONFIG_ACPI_BATTERY=y
+CONFIG_ACPI_BUTTON=y
+CONFIG_ACPI_FAN=y
+# CONFIG_ACPI_DOCK is not set
+CONFIG_ACPI_CPU_FREQ_PSS=y
+CONFIG_ACPI_PROCESSOR_CSTATE=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
+CONFIG_ACPI_CPPC_LIB=y
+CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_HOTPLUG_CPU=y
+# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+CONFIG_ACPI_THERMAL=y
+CONFIG_ACPI_CUSTOM_DSDT_FILE=""
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
+CONFIG_ACPI_TABLE_UPGRADE=y
+# CONFIG_ACPI_DEBUG is not set
+# CONFIG_ACPI_PCI_SLOT is not set
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_IOAPIC=y
+# CONFIG_ACPI_SBS is not set
+# CONFIG_ACPI_HED is not set
+# CONFIG_ACPI_BGRT is not set
+# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
+# CONFIG_ACPI_NFIT is not set
+CONFIG_HAVE_ACPI_APEI=y
+CONFIG_HAVE_ACPI_APEI_NMI=y
+# CONFIG_ACPI_APEI is not set
+# CONFIG_ACPI_DPTF is not set
+# CONFIG_ACPI_CONFIGFS is not set
+# CONFIG_ACPI_PFRUT is not set
+CONFIG_ACPI_PCC=y
+# CONFIG_ACPI_FFH is not set
+# CONFIG_PMIC_OPREGION is not set
+CONFIG_ACPI_PRMT=y
+CONFIG_X86_PM_TIMER=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+# CONFIG_CPU_FREQ_STAT is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+# CONFIG_X86_PCC_CPUFREQ is not set
+# CONFIG_X86_AMD_PSTATE is not set
+# CONFIG_X86_AMD_PSTATE_UT is not set
+# CONFIG_X86_ACPI_CPUFREQ is not set
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+# CONFIG_X86_P4_CLOCKMOD is not set
+
+#
+# shared options
+#
+# end of CPU Frequency scaling
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_GOV_LADDER is not set
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CPU_IDLE_GOV_TEO is not set
+# end of CPU Idle
+
+# CONFIG_INTEL_IDLE is not set
+# end of Power management and ACPI options
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_MMCONF_FAM10H=y
+# CONFIG_PCI_CNB20LE_QUIRK is not set
+# CONFIG_ISA_BUS is not set
+CONFIG_ISA_DMA_API=y
+# end of Bus options (PCI etc.)
+
+#
+# Binary Emulations
+#
+# CONFIG_IA32_EMULATION is not set
+# CONFIG_X86_X32_ABI is not set
+# end of Binary Emulations
+
+CONFIG_HAVE_KVM=y
+# CONFIG_VIRTUALIZATION is not set
+CONFIG_AS_AVX512=y
+CONFIG_AS_SHA1_NI=y
+CONFIG_AS_SHA256_NI=y
+CONFIG_AS_TPAUSE=y
+CONFIG_AS_GFNI=y
+CONFIG_AS_WRUSS=y
+CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y
+
+#
+# General architecture-dependent options
+#
+CONFIG_HOTPLUG_SMT=y
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+CONFIG_HOTPLUG_CORE_SYNC_FULL=y
+CONFIG_HOTPLUG_SPLIT_STARTUP=y
+CONFIG_HOTPLUG_PARALLEL=y
+CONFIG_GENERIC_ENTRY=y
+# CONFIG_KPROBES is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_CALL_SELFTEST is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_RUST=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_GATHER_MERGE_VMAS=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+# CONFIG_SECCOMP is not set
+CONFIG_HAVE_ARCH_STACKLEAK=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_ARCH_SOFT_DIRTY=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_HAVE_EXIT_THREAD=y
+CONFIG_ARCH_MMAP_RND_BITS=28
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_HAVE_OBJTOOL=y
+CONFIG_HAVE_JUMP_LABEL_HACK=y
+CONFIG_HAVE_NOINSTR_HACK=y
+CONFIG_HAVE_NOINSTR_VALIDATION=y
+CONFIG_HAVE_UACCESS_VALIDATION=y
+CONFIG_HAVE_STACK_VALIDATION=y
+CONFIG_HAVE_RELIABLE_STACKTRACE=y
+# CONFIG_COMPAT_32BIT_TIME is not set
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+CONFIG_ARCH_HAS_MEM_ENCRYPT=y
+CONFIG_HAVE_STATIC_CALL=y
+CONFIG_HAVE_STATIC_CALL_INLINE=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
+CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
+CONFIG_DYNAMIC_SIGFRAME=y
+CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+CONFIG_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
+CONFIG_FUNCTION_ALIGNMENT_4B=y
+CONFIG_FUNCTION_ALIGNMENT_16B=y
+CONFIG_FUNCTION_ALIGNMENT=16
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=1
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+# CONFIG_MODULE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+CONFIG_TRIM_UNUSED_KSYMS=y
+CONFIG_UNUSED_KSYMS_WHITELIST=""
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_IOSCHED_BFQ is not set
+# end of IO Schedulers
+
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_COREDUMP is not set
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+# CONFIG_SWAP is not set
+
+#
+# SLAB allocator options
+#
+# CONFIG_SLAB_DEPRECATED is not set
+CONFIG_SLUB=y
+# CONFIG_SLUB_TINY is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of SLAB allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
+CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
+CONFIG_HAVE_FAST_GUP=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+# CONFIG_COMPACTION is not set
+# CONFIG_PAGE_REPORTING is not set
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_ARCH_WANTS_THP_SWAP=y
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+# CONFIG_CMA is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ARCH_HAS_ZONE_DMA_SET=y
+# CONFIG_ZONE_DMA is not set
+CONFIG_ZONE_DMA32=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_PERCPU_STATS is not set
+
+#
+# GUP_TEST needs to have DEBUG_FS enabled
+#
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+# CONFIG_MEMFD_CREATE is not set
+CONFIG_SECRETMEM=y
+# CONFIG_USERFAULTFD is not set
+# CONFIG_LRU_GEN is not set
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
+# end of Memory Management options
+
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_DIAG is not set
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+# CONFIG_UNIX_DIAG is not set
+# CONFIG_TLS is not set
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_NET_IPVTI is not set
+# CONFIG_NET_FOU is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_MPTCP is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_BPFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_LLC2 is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_DIAG is not set
+# CONFIG_MPLS is not set
+# CONFIG_NET_NSH is not set
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+# CONFIG_NET_L3_MASTER_DEV is not set
+# CONFIG_QRTR is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_MAX_SKB_FRAGS=17
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# end of Network testing
+# end of Networking options
+
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+# CONFIG_MCTP is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+# CONFIG_NET_IFE is not set
+# CONFIG_LWTUNNEL is not set
+# CONFIG_FAILOVER is not set
+CONFIG_ETHTOOL_NETLINK=y
+
+#
+# Device Drivers
+#
+CONFIG_HAVE_EISA=y
+# CONFIG_EISA is not set
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+# CONFIG_PCIEPORTBUS is not set
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+# CONFIG_PCIE_PTM is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+CONFIG_PCI_ATS=y
+CONFIG_PCI_LOCKLESS_CONFIG=y
+# CONFIG_PCI_IOV is not set
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_LABEL=y
+# CONFIG_PCIE_BUS_TUNE_OFF is not set
+CONFIG_PCIE_BUS_DEFAULT=y
+# CONFIG_PCIE_BUS_SAFE is not set
+# CONFIG_PCIE_BUS_PERFORMANCE is not set
+# CONFIG_PCIE_BUS_PEER2PEER is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# PCI controller drivers
+#
+# CONFIG_VMD is not set
+
+#
+# Cadence-based PCIe controllers
+#
+# end of Cadence-based PCIe controllers
+
+#
+# DesignWare-based PCIe controllers
+#
+# CONFIG_PCI_MESON is not set
+# CONFIG_PCIE_DW_PLAT_HOST is not set
+# end of DesignWare-based PCIe controllers
+
+#
+# Mobiveil-based PCIe controllers
+#
+# end of Mobiveil-based PCIe controllers
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_CXL_BUS is not set
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+# CONFIG_UEVENT_HELPER is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_DEVTMPFS_SAFE is not set
+# CONFIG_STANDALONE is not set
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_FW_LOADER_COMPRESS is not set
+# CONFIG_FW_UPLOAD is not set
+# end of Firmware loader
+
+# CONFIG_ALLOW_DEV_COREDUMP is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MHI_BUS is not set
+# CONFIG_MHI_BUS_EP is not set
+# end of Bus devices
+
+#
+# Cache Drivers
+#
+# end of Cache Drivers
+
+# CONFIG_CONNECTOR is not set
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# end of ARM System Control and Management Interface Protocol
+
+# CONFIG_EDD is not set
+# CONFIG_FIRMWARE_MEMMAP is not set
+# CONFIG_DMIID is not set
+# CONFIG_DMI_SYSFS is not set
+CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
+# CONFIG_ISCSI_IBFT is not set
+# CONFIG_FW_CFG_SYSFS is not set
+CONFIG_SYSFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_EFI_RCI2_TABLE is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
+# CONFIG_GNSS is not set
+# CONFIG_MTD is not set
+# CONFIG_OF is not set
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+# CONFIG_PARPORT is not set
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+# CONFIG_BLK_DEV_FD is not set
+CONFIG_CDROM=y
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65536
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_UBLK is not set
+
+#
+# NVME Support
+#
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
+# CONFIG_NVME_MULTIPATH is not set
+# CONFIG_NVME_VERBOSE_ERRORS is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_AUTH is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_IBM_ASM is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_SRAM is not set
+# CONFIG_DW_XDATA_PCIE is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_INTEL_MEI is not set
+# CONFIG_INTEL_MEI_ME is not set
+# CONFIG_INTEL_MEI_TXE is not set
+# CONFIG_VMWARE_VMCI is not set
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+CONFIG_BLK_DEV_SR=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=y
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# end of SCSI Transports
+
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=y
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_MPT3SAS is not set
+# CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_MPI3MR is not set
+# CONFIG_SCSI_SMARTPQI is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_MYRB is not set
+# CONFIG_SCSI_MYRS is not set
+# CONFIG_VMWARE_PVSCSI is not set
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FDOMAIN_PCI is not set
+# CONFIG_SCSI_ISCI is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_WD719X is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_DH is not set
+# end of SCSI device support
+
+CONFIG_ATA=y
+CONFIG_SATA_HOST=y
+CONFIG_PATA_TIMINGS=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+CONFIG_ATA_FORCE=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_MOBILE_LPM_POLICY=0
+# CONFIG_SATA_AHCI_PLATFORM is not set
+# CONFIG_AHCI_DWC is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_ACARD_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+# CONFIG_ATA_SFF is not set
+CONFIG_MD=y
+# CONFIG_BLK_DEV_MD is not set
+CONFIG_MD_BITMAP_FILE=y
+# CONFIG_BCACHE is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=y
+# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
+# CONFIG_DM_UNSTRIPED is not set
+CONFIG_DM_CRYPT=y
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_THIN_PROVISIONING is not set
+# CONFIG_DM_CACHE is not set
+# CONFIG_DM_WRITECACHE is not set
+# CONFIG_DM_EBS is not set
+# CONFIG_DM_ERA is not set
+# CONFIG_DM_CLONE is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_RAID is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_DUST is not set
+# CONFIG_DM_INIT is not set
+# CONFIG_DM_UEVENT is not set
+# CONFIG_DM_FLAKEY is not set
+CONFIG_DM_VERITY=y
+# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
+CONFIG_DM_VERITY_FEC=y
+# CONFIG_DM_SWITCH is not set
+# CONFIG_DM_LOG_WRITES is not set
+# CONFIG_DM_INTEGRITY is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
+# CONFIG_WIREGUARD is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_GENEVE is not set
+# CONFIG_BAREUDP is not set
+# CONFIG_GTP is not set
+# CONFIG_MACSEC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_TUN is not set
+# CONFIG_TUN_VNET_CROSS_LE is not set
+# CONFIG_VETH is not set
+# CONFIG_NLMON is not set
+# CONFIG_ARCNET is not set
+CONFIG_ETHERNET=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_ALTERA_TSE is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
+# CONFIG_NET_VENDOR_ARC is not set
+CONFIG_NET_VENDOR_ASIX=y
+# CONFIG_NET_VENDOR_ATHEROS is not set
+# CONFIG_CX_ECAT is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CADENCE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
+CONFIG_NET_VENDOR_DAVICOM=y
+# CONFIG_DNET is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+CONFIG_NET_VENDOR_ENGLEDER=y
+# CONFIG_TSNEP is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+CONFIG_NET_VENDOR_FUNGIBLE=y
+# CONFIG_FUN_ETH is not set
+# CONFIG_NET_VENDOR_GOOGLE is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
+# CONFIG_NET_VENDOR_I825XX is not set
+CONFIG_NET_VENDOR_INTEL=y
+# CONFIG_E100 is not set
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_E1000E_HWTS=y
+# CONFIG_IGB is not set
+# CONFIG_IGBVF is not set
+# CONFIG_IXGBE is not set
+# CONFIG_IXGBEVF is not set
+# CONFIG_I40E is not set
+# CONFIG_I40EVF is not set
+# CONFIG_ICE is not set
+# CONFIG_FM10K is not set
+# CONFIG_IGC is not set
+# CONFIG_JME is not set
+CONFIG_NET_VENDOR_LITEX=y
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_MICROSEMI is not set
+CONFIG_NET_VENDOR_MICROSOFT=y
+# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NET_VENDOR_NI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETERION is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_ETHOC is not set
+# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
+# CONFIG_NET_VENDOR_PENSANDO is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
+CONFIG_NET_VENDOR_VERTEXCOM=y
+# CONFIG_NET_VENDOR_VIA is not set
+CONFIG_NET_VENDOR_WANGXUN=y
+# CONFIG_NGBE is not set
+# CONFIG_TXGBE is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_NET_VENDOR_XILINX is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_NET_SB1000 is not set
+# CONFIG_PHYLIB is not set
+# CONFIG_PSE_CONTROLLER is not set
+# CONFIG_MDIO_DEVICE is not set
+
+#
+# PCS device drivers
+#
+# end of PCS device drivers
+
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+CONFIG_USB_NET_DRIVERS=m
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+CONFIG_USB_USBNET=m
+# CONFIG_USB_NET_AX8817X is not set
+# CONFIG_USB_NET_AX88179_178A is not set
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+# CONFIG_USB_NET_SMSC75XX is not set
+# CONFIG_USB_NET_SMSC95XX is not set
+# CONFIG_USB_NET_GL620A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_CDC_SUBSET=m
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+# CONFIG_USB_BELKIN is not set
+# CONFIG_USB_ARMLINUX is not set
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_VL600 is not set
+# CONFIG_USB_NET_CH9200 is not set
+# CONFIG_USB_NET_AQC111 is not set
+CONFIG_USB_RTL8153_ECM=m
+# CONFIG_WLAN is not set
+# CONFIG_WAN is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
+# CONFIG_VMXNET3 is not set
+# CONFIG_FUJITSU_ES is not set
+# CONFIG_NET_FAILOVER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+CONFIG_INPUT_VIVALDIFMAP=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
+CONFIG_SERIO_I8042=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_LEGACY_TIOCSTI=y
+CONFIG_LDISC_AUTOLOAD=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+# CONFIG_SERIAL_8250_PNP is not set
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
+# CONFIG_SERIAL_8250_FINTEK is not set
+# CONFIG_SERIAL_8250_CONSOLE is not set
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_PCI1XXXX is not set
+# CONFIG_SERIAL_8250_DW is not set
+# CONFIG_SERIAL_8250_RT288X is not set
+# CONFIG_SERIAL_8250_LPSS is not set
+# CONFIG_SERIAL_8250_MID is not set
+CONFIG_SERIAL_8250_PERICOM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_LANTIQ is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+CONFIG_TTY_PRINTK=y
+CONFIG_TTY_PRINTK_LEVEL=6
+# CONFIG_VIRTIO_CONSOLE is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_SSIF_IPMI_BMC is not set
+# CONFIG_IPMB_DEVICE_INTERFACE is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+CONFIG_HW_RANDOM_INTEL=y
+# CONFIG_HW_RANDOM_AMD is not set
+# CONFIG_HW_RANDOM_BA431 is not set
+# CONFIG_HW_RANDOM_VIA is not set
+# CONFIG_HW_RANDOM_XIPHERA is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_MWAVE is not set
+CONFIG_DEVMEM=y
+# CONFIG_NVRAM is not set
+CONFIG_DEVPORT=y
+# CONFIG_HPET is not set
+# CONFIG_HANGCHECK_TIMER is not set
+CONFIG_TCG_TPM=y
+# CONFIG_HW_RANDOM_TPM is not set
+CONFIG_TCG_TIS_CORE=y
+CONFIG_TCG_TIS=y
+CONFIG_TCG_TIS_I2C=y
+CONFIG_TCG_TIS_I2C_CR50=y
+# CONFIG_TCG_TIS_I2C_ATMEL is not set
+# CONFIG_TCG_TIS_I2C_INFINEON is not set
+# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+# CONFIG_TCG_NSC is not set
+# CONFIG_TCG_ATMEL is not set
+# CONFIG_TCG_INFINEON is not set
+# CONFIG_TCG_CRB is not set
+# CONFIG_TCG_VTPM_PROXY is not set
+# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
+# CONFIG_TELCLOCK is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
+# end of Character devices
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_ACPI_I2C_OPREGION=y
+CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_COMPAT is not set
+# CONFIG_I2C_CHARDEV is not set
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_MUX_LTC4306 is not set
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_REG=m
+# CONFIG_I2C_MUX_MLXCPLD is not set
+# end of Multiplexer I2C Chip support
+
+# CONFIG_I2C_HELPER_AUTO is not set
+# CONFIG_I2C_SMBUS is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+# end of I2C Algorithms
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_CCGX_UCSI=y
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_AMD_MP2 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_ISMT is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# ACPI drivers
+#
+# CONFIG_I2C_SCMI is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_DESIGNWARE_CORE=y
+# CONFIG_I2C_DESIGNWARE_SLAVE is not set
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
+CONFIG_I2C_DESIGNWARE_PCI=y
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_CP2615 is not set
+# CONFIG_I2C_PCI1XXXX is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_MLXCPLD is not set
+# CONFIG_I2C_VIRTIO is not set
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+# CONFIG_I2C_SLAVE_EEPROM is not set
+# CONFIG_I2C_SLAVE_TESTUNIT is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+# CONFIG_SPI is not set
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+# CONFIG_PPS is not set
+
+#
+# PTP clock support
+#
+# CONFIG_PTP_1588_CLOCK is not set
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_CY8C95X0 is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_SX150X is not set
+
+#
+# Intel pinctrl drivers
+#
+# CONFIG_PINCTRL_BAYTRAIL is not set
+# CONFIG_PINCTRL_CHERRYVIEW is not set
+# CONFIG_PINCTRL_LYNXPOINT is not set
+# CONFIG_PINCTRL_ALDERLAKE is not set
+# CONFIG_PINCTRL_BROXTON is not set
+# CONFIG_PINCTRL_CANNONLAKE is not set
+# CONFIG_PINCTRL_CEDARFORK is not set
+# CONFIG_PINCTRL_DENVERTON is not set
+# CONFIG_PINCTRL_ELKHARTLAKE is not set
+# CONFIG_PINCTRL_EMMITSBURG is not set
+# CONFIG_PINCTRL_GEMINILAKE is not set
+# CONFIG_PINCTRL_ICELAKE is not set
+# CONFIG_PINCTRL_JASPERLAKE is not set
+# CONFIG_PINCTRL_LAKEFIELD is not set
+# CONFIG_PINCTRL_LEWISBURG is not set
+# CONFIG_PINCTRL_METEORLAKE is not set
+# CONFIG_PINCTRL_SUNRISEPOINT is not set
+# CONFIG_PINCTRL_TIGERLAKE is not set
+# end of Intel pinctrl drivers
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_RESET is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_IP5XXX_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
+# CONFIG_BATTERY_CW2015 is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
+# CONFIG_BATTERY_SBS is not set
+# CONFIG_CHARGER_SBS is not set
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_LTC4162L is not set
+# CONFIG_CHARGER_MAX77976 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_THERMAL_NETLINK is not set
+# CONFIG_THERMAL_STATISTICS is not set
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+# CONFIG_THERMAL_WRITABLE_TRIPS is not set
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
+CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
+# CONFIG_THERMAL_EMULATION is not set
+
+#
+# Intel thermal drivers
+#
+# CONFIG_INTEL_POWERCLAMP is not set
+CONFIG_X86_THERMAL_VECTOR=y
+# CONFIG_X86_PKG_TEMP_THERMAL is not set
+# CONFIG_INTEL_SOC_DTS_THERMAL is not set
+
+#
+# ACPI INT340X thermal drivers
+#
+# CONFIG_INT340X_THERMAL is not set
+# end of ACPI INT340X thermal drivers
+
+# CONFIG_INTEL_PCH_THERMAL is not set
+# CONFIG_INTEL_TCC_COOLING is not set
+# CONFIG_INTEL_HFI_THERMAL is not set
+# end of Intel thermal drivers
+
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_SMPRO is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_INTEL_SOC_PMIC_CHTWC is not set
+CONFIG_MFD_INTEL_LPSS=y
+# CONFIG_MFD_INTEL_LPSS_ACPI is not set
+CONFIG_MFD_INTEL_LPSS_PCI=y
+# CONFIG_MFD_INTEL_PMC_BXT is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77541 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6370 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_SY7636A is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RT5120 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS6594_I2C is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ATC260X_I2C is not set
+# end of Multifunction device drivers
+
+# CONFIG_REGULATOR is not set
+# CONFIG_RC_CORE is not set
+
+#
+# CEC support
+#
+# CONFIG_MEDIA_CEC_SUPPORT is not set
+# end of CEC support
+
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_APERTURE_HELPERS=y
+CONFIG_VIDEO_CMDLINE=y
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_AGP is not set
+# CONFIG_VGA_SWITCHEROO is not set
+# CONFIG_DRM is not set
+# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB=y
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SM712 is not set
+CONFIG_FB_CORE=y
+CONFIG_FB_NOTIFY=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB_DEVICE=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_IOMEM_HELPERS=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_KTZ8866 is not set
+# CONFIG_BACKLIGHT_APPLE is not set
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
+# CONFIG_BACKLIGHT_SAHARA is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_BACKLIGHT_ARCXCNN is not set
+# end of Backlight & LCD device support
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
+# end of Console display driver support
+
+# CONFIG_LOGO is not set
+# end of Graphics support
+
+# CONFIG_SOUND is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HID_BATTERY_STRENGTH is not set
+# CONFIG_HIDRAW is not set
+# CONFIG_UHID is not set
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EVISION is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
+# CONFIG_HID_VIVALDI is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LETSKETCH is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MEGAWORLD_FF is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_TOPRE is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# HID-BPF support
+#
+# end of HID-BPF support
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# end of USB HID Boot Protocol drivers
+# end of USB HID support
+
+CONFIG_I2C_HID=y
+# CONFIG_I2C_HID_ACPI is not set
+# CONFIG_I2C_HID_OF is not set
+
+#
+# Intel ISH HID support
+#
+# CONFIG_INTEL_ISH_HID is not set
+# end of Intel ISH HID support
+
+#
+# AMD SFH HID Support
+#
+# CONFIG_AMD_SFH_HID is not set
+# end of AMD SFH HID Support
+
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_ULPI_BUS is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_FEW_INIT_RETRIES is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG_PRODUCTLIST is not set
+# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+# CONFIG_USB_MON is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_DBGCAP is not set
+CONFIG_USB_XHCI_PCI=m
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PLATFORM=m
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+# CONFIG_USB_EHCI_FSL is not set
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_PCI=m
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_REALTEK is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE_ENE_UB6250 is not set
+# CONFIG_USB_UAS is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USBIP_CORE is not set
+
+#
+# USB dual-mode controller drivers
+#
+# CONFIG_USB_CDNS_SUPPORT is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_DWC2 is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+
+#
+# USB Physical Layer drivers
+#
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_USB_ISP1301 is not set
+# end of USB Physical Layer drivers
+
+# CONFIG_USB_GADGET is not set
+# CONFIG_TYPEC is not set
+# CONFIG_USB_ROLE_SWITCH is not set
+# CONFIG_MMC is not set
+CONFIG_SCSI_UFSHCD=y
+# CONFIG_SCSI_UFS_BSG is not set
+CONFIG_SCSI_UFSHCD_PCI=y
+# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
+# CONFIG_SCSI_UFSHCD_PLATFORM is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_ATOMIC_SCRUB=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_MC146818_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
+# CONFIG_RTC_DRV_RV3032 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_FTRTC010 is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_GOLDFISH is not set
+# CONFIG_DMADEVICES is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
+# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_SYSFS_STATS is not set
+# end of DMABUF options
+
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+# CONFIG_VIRTIO_MENU is not set
+# CONFIG_VDPA is not set
+# CONFIG_VHOST_MENU is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
+# CONFIG_STAGING is not set
+# CONFIG_CHROME_PLATFORMS is not set
+# CONFIG_MELLANOX_PLATFORM is not set
+CONFIG_SURFACE_PLATFORMS=y
+# CONFIG_SURFACE_3_POWER_OPREGION is not set
+# CONFIG_SURFACE_GPE is not set
+# CONFIG_SURFACE_PRO3_BUTTON is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+# CONFIG_ACPI_WMI is not set
+# CONFIG_ACERHDF is not set
+# CONFIG_ACER_WIRELESS is not set
+# CONFIG_ADV_SWBUTTON is not set
+# CONFIG_APPLE_GMUX is not set
+# CONFIG_ASUS_LAPTOP is not set
+# CONFIG_ASUS_WIRELESS is not set
+# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
+# CONFIG_FUJITSU_LAPTOP is not set
+# CONFIG_FUJITSU_TABLET is not set
+# CONFIG_GPD_POCKET_FAN is not set
+# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
+# CONFIG_WIRELESS_HOTKEY is not set
+# CONFIG_IBM_RTL is not set
+# CONFIG_SENSORS_HDAPS is not set
+# CONFIG_INTEL_IFS is not set
+# CONFIG_INTEL_SAR_INT1092 is not set
+# CONFIG_INTEL_PMC_CORE is not set
+
+#
+# Intel Speed Select Technology interface support
+#
+# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
+# end of Intel Speed Select Technology interface support
+
+#
+# Intel Uncore Frequency Control
+#
+# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
+# end of Intel Uncore Frequency Control
+
+# CONFIG_INTEL_HID_EVENT is not set
+# CONFIG_INTEL_VBTN is not set
+# CONFIG_INTEL_PUNIT_IPC is not set
+# CONFIG_INTEL_RST is not set
+# CONFIG_INTEL_SMARTCONNECT is not set
+# CONFIG_INTEL_TURBO_MAX_3 is not set
+# CONFIG_INTEL_VSEC is not set
+# CONFIG_MSI_EC is not set
+# CONFIG_SAMSUNG_LAPTOP is not set
+# CONFIG_SAMSUNG_Q10 is not set
+# CONFIG_TOSHIBA_BT_RFKILL is not set
+# CONFIG_TOSHIBA_HAPS is not set
+# CONFIG_ACPI_CMPC is not set
+# CONFIG_PANASONIC_LAPTOP is not set
+# CONFIG_TOPSTAR_LAPTOP is not set
+# CONFIG_MLX_PLATFORM is not set
+# CONFIG_INTEL_IPS is not set
+# CONFIG_INTEL_SCU_PCI is not set
+# CONFIG_INTEL_SCU_PLATFORM is not set
+# CONFIG_SIEMENS_SIMATIC_IPC is not set
+# CONFIG_WINMATE_FM07_KEYS is not set
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_CLK_MAX9485 is not set
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_XILINX_VCU is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# end of Clock Source drivers
+
+CONFIG_MAILBOX=y
+CONFIG_PCC=y
+# CONFIG_ALTERA_MBOX is not set
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+# end of Generic IOMMU Pagetable Support
+
+# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
+CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_IOMMU_DMA=y
+CONFIG_IOMMU_SVA=y
+# CONFIG_AMD_IOMMU is not set
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+CONFIG_INTEL_IOMMU_SVM=y
+CONFIG_INTEL_IOMMU_DEFAULT_ON=y
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_PERF_EVENTS=y
+# CONFIG_IOMMUFD is not set
+# CONFIG_IRQ_REMAP is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_VIRTIO is not set
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+#
+# Enable LiteX SoC Builder specific drivers
+#
+# end of Enable LiteX SoC Builder specific drivers
+
+# CONFIG_WPCM450_SOC is not set
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
+# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
+# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_GOV_PASSIVE is not set
+
+#
+# DEVFREQ Drivers
+#
+# CONFIG_PM_DEVFREQ_EVENT is not set
+# CONFIG_EXTCON is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+# CONFIG_PWM is not set
+
+#
+# IRQ chip support
+#
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+# CONFIG_USB_LGM_PHY is not set
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
+
+#
+# PHY drivers for Broadcom platforms
+#
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_INTEL_LGM_EMMC is not set
+# end of PHY Subsystem
+
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# end of Performance monitor support
+
+# CONFIG_RAS is not set
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID_BINDER_IPC is not set
+# end of Android
+
+CONFIG_LIBNVDIMM=y
+# CONFIG_BLK_DEV_PMEM is not set
+# CONFIG_BTT is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+
+#
+# Layout Types
+#
+# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
+# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
+# end of Layout Types
+
+# CONFIG_NVMEM_RMEM is not set
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_LEGACY_DIRECT_IO=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_F2FS_FS is not set
+# CONFIG_EXPORTFS_BLOCK_OPS is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_FS_ENCRYPTION is not set
+# CONFIG_FS_VERITY is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_FUSE_FS is not set
+# CONFIG_OVERLAY_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+CONFIG_EXFAT_FS=y
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+# CONFIG_NTFS_FS is not set
+# CONFIG_NTFS3_FS is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+# CONFIG_PROC_CHILDREN is not set
+CONFIG_PROC_PID_ARCH_STATUS=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+# CONFIG_TMPFS is not set
+# CONFIG_HUGETLBFS is not set
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_EFIVAR_FS is not set
+# end of Pseudo filesystems
+
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=y
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITYFS=y
+# CONFIG_INTEL_TXT is not set
+CONFIG_HARDENED_USERCOPY=y
+# CONFIG_FORTIFY_SOURCE is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf"
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set
+# CONFIG_GCC_PLUGIN_STACKLEAK is not set
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# end of Memory initialization
+
+#
+# Hardening of kernel data structures
+#
+# CONFIG_LIST_HARDENED is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Hardening of kernel data structures
+
+CONFIG_RANDSTRUCT_NONE=y
+# CONFIG_RANDSTRUCT_FULL is not set
+# CONFIG_RANDSTRUCT_PERFORMANCE is not set
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SIG2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=m
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_NULL2=y
+# CONFIG_CRYPTO_PCRYPT is not set
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_SIMD=y
+# end of Crypto core or helper
+
+#
+# Public-key cryptography
+#
+CONFIG_CRYPTO_RSA=m
+# CONFIG_CRYPTO_DH is not set
+# CONFIG_CRYPTO_ECDH is not set
+# CONFIG_CRYPTO_ECDSA is not set
+# CONFIG_CRYPTO_ECRDSA is not set
+# CONFIG_CRYPTO_SM2 is not set
+# CONFIG_CRYPTO_CURVE25519 is not set
+# end of Public-key cryptography
+
+#
+# Block ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ARIA is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_SM4_GENERIC is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# end of Block ciphers
+
+#
+# Length-preserving ciphers and modes
+#
+# CONFIG_CRYPTO_ADIANTUM is not set
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CFB is not set
+CONFIG_CRYPTO_CTR=m
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_HCTR2 is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_OFB is not set
+# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_XTS=y
+# end of Length-preserving ciphers and modes
+
+#
+# AEAD (authenticated encryption with associated data) ciphers
+#
+# CONFIG_CRYPTO_AEGIS128 is not set
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+# CONFIG_CRYPTO_SEQIV is not set
+# CONFIG_CRYPTO_ECHAINIV is not set
+CONFIG_CRYPTO_ESSIV=y
+# end of AEAD (authenticated encryption with associated data) ciphers
+
+#
+# Hashes, digests, and MACs
+#
+# CONFIG_CRYPTO_BLAKE2B is not set
+# CONFIG_CRYPTO_CMAC is not set
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_RMD160 is not set
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+# CONFIG_CRYPTO_SHA3 is not set
+# CONFIG_CRYPTO_SM3_GENERIC is not set
+# CONFIG_CRYPTO_STREEBOG is not set
+# CONFIG_CRYPTO_VMAC is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_XXHASH is not set
+# end of Hashes, digests, and MACs
+
+#
+# CRCs (cyclic redundancy checks)
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRCT10DIF=y
+# end of CRCs (cyclic redundancy checks)
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+# CONFIG_CRYPTO_ZSTD is not set
+# end of Compression
+
+#
+# Random number generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+# CONFIG_CRYPTO_DRBG_MENU is not set
+# CONFIG_CRYPTO_JITTERENTROPY is not set
+# end of Random number generation
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_USER_API=y
+CONFIG_CRYPTO_USER_API_HASH=y
+CONFIG_CRYPTO_USER_API_SKCIPHER=y
+CONFIG_CRYPTO_USER_API_RNG=y
+CONFIG_CRYPTO_USER_API_AEAD=y
+# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set
+# CONFIG_CRYPTO_STATS is not set
+# end of Userspace interface
+
+CONFIG_CRYPTO_HASH_INFO=y
+
+#
+# Accelerated Cryptographic Algorithms for CPU (x86)
+#
+# CONFIG_CRYPTO_CURVE25519_X86 is not set
+CONFIG_CRYPTO_AES_NI_INTEL=y
+# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
+# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
+# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
+# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
+# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
+# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
+# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
+# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
+# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
+# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
+# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
+# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
+# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
+# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
+# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
+# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
+# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
+# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
+# CONFIG_CRYPTO_CHACHA20_X86_64 is not set
+# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
+# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
+# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
+# CONFIG_CRYPTO_BLAKE2S_X86 is not set
+# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
+# CONFIG_CRYPTO_POLY1305_X86_64 is not set
+CONFIG_CRYPTO_SHA1_SSSE3=y
+CONFIG_CRYPTO_SHA256_SSSE3=y
+CONFIG_CRYPTO_SHA512_SSSE3=y
+# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set
+# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
+CONFIG_CRYPTO_CRC32C_INTEL=y
+# CONFIG_CRYPTO_CRC32_PCLMUL is not set
+# end of Accelerated Cryptographic Algorithms for CPU (x86)
+
+# CONFIG_CRYPTO_HW is not set
+
+#
+# Certificates for signature checking
+#
+# end of Certificates for signature checking
+
+#
+# Library routines
+#
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+# CONFIG_CORDIC is not set
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_GF128MUL=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+# CONFIG_CRYPTO_LIB_CHACHA is not set
+# CONFIG_CRYPTO_LIB_CURVE25519 is not set
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+# CONFIG_CRYPTO_LIB_POLY1305 is not set
+# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC64_ROCKSOFT is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+# CONFIG_CRC64 is not set
+# CONFIG_CRC4 is not set
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=y
+# CONFIG_CRC8 is not set
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_ARM is not set
+# CONFIG_XZ_DEC_ARMTHUMB is not set
+# CONFIG_XZ_DEC_SPARC is not set
+# CONFIG_XZ_DEC_MICROLZMA is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_INTERVAL_TREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_DMA_OPS=y
+CONFIG_NEED_SG_DMA_FLAGS=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_SWIOTLB=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_SGL_ALLOC=y
+# CONFIG_FORCE_NR_CPUS is not set
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_CLZ_TAB=y
+# CONFIG_IRQ_POLL is not set
+CONFIG_MPILIB=m
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_SG_POOL=y
+CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_MEMREGION=y
+CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
+CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
+CONFIG_ARCH_HAS_COPY_MC=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_SBITMAP=y
+# end of Library routines
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+CONFIG_BOOT_PRINTK_DELAY=y
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# end of printk and dmesg options
+
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_MISC is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_AS_HAS_NON_CONST_LEB128=y
+CONFIG_DEBUG_INFO_NONE=y
+# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
+# CONFIG_DEBUG_INFO_DWARF4 is not set
+# CONFIG_DEBUG_INFO_DWARF5 is not set
+CONFIG_FRAME_WARN=1024
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
+CONFIG_OBJTOOL=y
+# CONFIG_VMLINUX_MAP is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
+# CONFIG_DEBUG_FS is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_ARCH_KCSAN=y
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# CONFIG_DEBUG_NET is not set
+# end of Networking Debugging
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_PAGE_OWNER is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+# CONFIG_DEBUG_WX is not set
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_PER_VMA_LOCK_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_SCHED_STACK_END_CHECK is not set
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VM_PGTABLE is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
+# CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
+CONFIG_HAVE_ARCH_KMSAN=y
+# end of Memory Debugging
+
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_SOFTLOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
+CONFIG_HARDLOCKUP_DETECTOR_PERF=y
+# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
+# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
+CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
+CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_WQ_WATCHDOG=y
+# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+# CONFIG_SCHEDSTATS is not set
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# CONFIG_SCF_TORTURE_TEST is not set
+# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_NMI_CHECK_CPU is not set
+# CONFIG_DEBUG_IRQFLAGS is not set
+# CONFIG_STACKTRACE is not set
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+# CONFIG_DEBUG_KOBJECT is not set
+
+#
+# Debug kernel data structures
+#
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PLIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_MAPLE_TREE is not set
+# end of Debug kernel data structures
+
+#
+# RCU Debugging
+#
+# CONFIG_RCU_SCALE_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_REF_SCALE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
+# CONFIG_RCU_CPU_STALL_CPUTIME is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# end of RCU Debugging
+
+# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_RETHOOK=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_FENTRY=y
+CONFIG_HAVE_OBJTOOL_MCOUNT=y
+CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
+CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
+# CONFIG_STRICT_DEVMEM is not set
+
+#
+# x86 Debugging
+#
+# CONFIG_X86_VERBOSE_BOOTUP is not set
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+# CONFIG_EFI_PGT_DUMP is not set
+# CONFIG_DEBUG_TLBFLUSH is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
+# CONFIG_IO_DELAY_0X80 is not set
+CONFIG_IO_DELAY_0XED=y
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_DEBUG_ENTRY is not set
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+# CONFIG_X86_DEBUG_FPU is not set
+# CONFIG_PUNIT_ATOM_DEBUG is not set
+CONFIG_UNWINDER_ORC=y
+# CONFIG_UNWINDER_FRAME_POINTER is not set
+# CONFIG_UNWINDER_GUESS is not set
+# end of x86 Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# end of Rust hacking
+# end of Kernel hacking
diff --git a/doc/BOARDS_AND_TESTERS.md b/doc/BOARDS_AND_TESTERS.md
index 88e1a3019..db400ff18 100644
--- a/doc/BOARDS_AND_TESTERS.md
+++ b/doc/BOARDS_AND_TESTERS.md
@@ -174,6 +174,9 @@ All Active.
- [ ] Novacustom v540tu (Meteor Lake, Core Ultra S1): @tlaurion @daringer @mkopec
- [ ] Novacustom v560tu (Meteor Lake, Core Ultra S1): @tlaurion @daringer @mkopec
+Chromebooks
+- [ ] Acer Chromebook Spin 714 CP714-1WN (KANO): @cwiggs
+
Desktops / Servers
==
All EOL unless marked Active.
diff --git a/doc/circleci.md b/doc/circleci.md
index d836efacc..8894c502d 100644
--- a/doc/circleci.md
+++ b/doc/circleci.md
@@ -194,6 +194,7 @@ Seed job names in CircleCI include their upstream coreboot base in
|---|---|---|
| `novacustom-nv4x_adl [seed:coreboot-24.12]` | 4 Dasharo families (8 boards) | coreboot 24.12 |
| `librem_14 [seed:coreboot-24.02.01]` | 8 purism boards | coreboot 24.02.01 |
+| `kano [seed:coreboot-mrchromebox]` | none (standalone) | MrChromebox fork (coreboot 26.03) |
| `EOL_t480-hotp-maximized [seed:coreboot-25.09]` | 28 x86 boards | coreboot 25.09 |
| `EOL_librem_l1um [seed:coreboot-4.11]` | none (standalone) | coreboot 4.11 |
| `ppc64_talos_2 [seed:coreboot-talos-2]` | none (standalone) | Dasharo fork for Talos 2 |
diff --git a/doc/kano.md b/doc/kano.md
new file mode 100644
index 000000000..35aa2efa1
--- /dev/null
+++ b/doc/kano.md
@@ -0,0 +1,102 @@
+# Use Suzy-Q cable for flashing
+
+1. Connect the USB-C end of the Suzy-Q cable to the CCD port on your ChromeOS device
+ (usually left USB-C port) and the USB-A end to your Linux device
+ Verify the cable is properly connected:
+ * ls /dev/ttyUSB*
+ * This command should return 3 items: ttyUSB0, ttyUSB1, and ttyUSB2.
+ * If not, then your cable is connected to the wrong port or is upside down.
+ Adjust and repeat command until output is as expected.
+
+2. Set the CCD state to open:
+ * echo "ccd open" | sudo tee -a /dev/ttyUSB0 > /dev/null
+
+3. Test Connection and detect chip. `raiden_debug_spi` used from mrchromebox [doc](https://docs.mrchromebox.tech/docs/support/unbricking/unbrick-suzyq.html#persisting-the-board-s-vital-product-data-vpd-and-hardware-id-hwid)
+ * sudo flashrom -p raiden_debug_spi
+ ```
+ ╚═ $ sudo flashrom -p raiden_debug_spi
+ flashrom v1.6.0 on Linux 7.0.10+deb14-amd64 (x86_64)
+ flashrom is free software, get the source code at https://flashrom.org
+
+ FISK: (null)
+ Raiden target: 0,0
+ Raiden: Target SPI bridge is disabled (is WP enabled?)
+ Raiden: Error configuring protocol
+ protocol = 2
+ status = 0x00005
+ Error: Programmer initialization failed.
+ ```
+ * sudo flashrom -p raiden_debug_spi:target=AP casued a reboot.
+ ```
+ ╚═ $ sudo flashrom -p raiden_debug_spi:target=AP
+ flashrom v1.6.0 on Linux 7.0.10+deb14-amd64 (x86_64)
+ flashrom is free software, get the source code at https://flashrom.org
+
+ FISK: AP
+ Raiden target: 2,0
+ Found Winbond flash chip "W25Q256JV_M" (32768 kB, SPI) on raiden_debug_spi.
+ No operations were specified.
+ ```
+
+4. Create backup, and verify.
+ * sudo flashrom -p raiden_debug_spi:target=AP -r badflash.rom
+ * hexdump -C badflash.rom | head -20
+ ```
+ 00000000 11 00 00 9c 90 02 00 d6 00 00 00 05 ff ff ff ff |................|
+ 00000010 5a a5 f0 0f 03 00 04 00 08 02 10 46 b0 01 14 00 |Z..........F....|
+ 00000020 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|
+ 00000030 f6 30 30 09 21 42 60 ad b7 b9 c4 c7 ff ff ff ff |.00.!B`.........|
+ 00000040 00 00 00 00 00 05 ff 1f 01 00 ff 04 ff 7f 00 00 |................|
+ 00000050 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 |................|
+ *
+ 00000080 00 07 20 00 00 05 40 00 00 00 00 00 00 00 00 00 |.. ...@.........|
+ 00000090 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff |................|
+ 000000a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
+ *
+ 00000100 00 00 00 00 01 00 00 00 09 00 04 00 00 ce 3d 03 |..............=.|
+ 00000110 7f 00 38 00 00 00 00 00 10 00 00 00 02 00 20 60 |..8........... `|
+ 00000120 08 30 03 48 00 00 00 00 01 00 7f 0f 82 0b c0 04 |.0.H............|
+ 00000130 00 00 00 00 00 00 0e 00 22 42 22 42 22 22 42 22 |........"B"B""B"|
+ 00000140 00 00 00 00 00 00 00 00 00 00 ff 00 60 00 80 c8 |............`...|
+ 00000150 45 86 00 36 01 00 a6 81 20 0e 58 00 01 00 40 00 |E..6.... .X...@.|
+ 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+ 00000170 00 1c 00 00 00 00 00 00 54 b3 04 a0 30 00 00 41 |........T...0..A|
+ 00000180 8f 03 08 c6 00 01 00 00 00 00 00 00 00 00 00 00 |................|
+ ```
+ * sudo flashrom -p raiden_debug_spi:target=AP --verify badflash.rom
+ ```
+ flashrom v1.6.0 on Linux 7.0.10+deb14-amd64 (x86_64)
+ flashrom is free software, get the source code at https://flashrom.org
+
+ FISK: AP
+ Raiden target: 2,0
+ Found Winbond flash chip "W25Q256JV_M" (32768 kB, SPI) on raiden_debug_spi.
+ Verifying flash... FAILED at 0x01bbeadb! Expected=0x94, Found=0xb4, failed byte count from 0x00000000-0x01ffffff: 0x3f
+ ```
+
+5. Created a backup and verify it using heads wiki guide.
+ * sudo flashrom -p raiden_debug_spi:target=AP --read backup.bin --chip "W25Q256JV_M"
+ * sudo flashrom -p raiden_debug_spi:target=AP --verify backup.bin --chip "W25Q256JV_M"
+ ```
+ ╚═ $ sudo flashrom -p raiden_debug_spi:target=AP --verify backup.bin --chip "W25Q256JV_M"
+ flashrom v1.6.0 on Linux 7.0.10+deb14-amd64 (x86_64)
+ flashrom is free software, get the source code at https://flashrom.org
+
+ FISK: AP
+ Raiden target: 2,0
+ Found Winbond flash chip "W25Q256JV_M" (32768 kB, SPI) on raiden_debug_spi.
+ Verifying flash... FAILED at 0x01bc9254! Expected=0xb7, Found=0xb8, failed byte count from 0x00000000-0x01ffffff: 0x3e
+ ```
+6. Disconnect Battery to disable write-protection.
+ * Remove The 9 screws.
+
+ * Use a smudger to take the back cover off.
+ * Disconnect battery cable.
+
+
+7. Disable write-protection. [mrchromebox guide](https://docs.mrchromebox.tech/docs/firmware/wp/disabling.html)
+ * Plug laptop into power.
+ * Plug in suzy-q cable.
+ * echo "wp false" > /dev/ttyUSB0
+ * echo "wp false atboot" > /dev/ttyUSB0
+ * echo "ccd reset factory" > /dev/ttyUSB0
diff --git a/doc/tpm.md b/doc/tpm.md
index 418e56462..8cecfb55b 100644
--- a/doc/tpm.md
+++ b/doc/tpm.md
@@ -439,3 +439,86 @@ To verify that a new board's coreboot config matches the expected RoT:
| Auth sessions | Not used | Required for policy-based unseal |
| `kexec_finalize` | No-op | Extends PCRs, then `tpm2 shutdown` |
| `startsession` | No-op | Creates encryption session |
+
+---
+
+## CR50 TPM (Google) — command limitations
+
+Google's CR50 is a microcontroller-based TPM 2.0 implementation used on
+Chromebooks and ChromeOS-derived devices (e.g. Kano). It implements a
+subset of the TPM 2.0 command set: 64 library commands of the 100+ defined
+in the PC Client profile, plus 1 vendor command (65 total).
+
+**Identifying a CR50**: `tpm2 getcap properties-fixed | grep MANUFACTURER`
+returns `0x43524F53` ("CROS"); vendor strings show `xCG fTPM`.
+
+### Heads tpm2 commands vs CR50 support
+
+Heads invokes 22 unique `tpm2` subcommands (all via `initrd/bin/tpmr.sh`
+except two direct calls in `initrd/etc/functions.sh`). 21 of 22 are
+supported by CR50. The single gap is **ClearControl**:
+
+| Heads `tpm2` subcommand | TPM2 command (index) | On CR50? |
+| --- | --- | --- |
+| `tpm2 pcrread` | PCR_Read (0x17E) | yes |
+| `tpm2 pcrextend` | PCR_Extend (0x182) | yes |
+| `tpm2 nvread` | NV_Read (0x14E) | yes |
+| `tpm2 nvincrement` | NV_Increment (0x134) | yes |
+| `tpm2 nvdefine` | NV_DefineSpace (0x12A) | yes |
+| `tpm2 nvreadpublic` | NV_ReadPublic (0x169) | yes |
+| `tpm2 flushcontext` | FlushContext (0x165) | yes |
+| `tpm2 readpublic` | ReadPublic (0x173) | yes |
+| `tpm2 startauthsession` | StartAuthSession (0x176) | yes |
+| `tpm2 evictcontrol` | EvictControl (0x120) | yes |
+| `tpm2 policypcr` | PolicyPCR (0x17F) | yes |
+| `tpm2 policyauthvalue` | PolicyAuthValue (0x16B) | yes |
+| `tpm2 create` | Create (0x153) | yes |
+| `tpm2 load` | Load (0x157) | yes |
+| `tpm2 unseal` | Unseal (0x15E) | yes |
+| `tpm2 clearcontrol` | ClearControl (0x127) | **no** |
+| `tpm2 clear` | Clear (0x126) | yes |
+| `tpm2 changeauth` | HierarchyChangeAuth (0x129) / ObjectChangeAuth (0x150) | yes |
+| `tpm2 createprimary` | CreatePrimary (0x131) | yes |
+| `tpm2 dictionarylockout` | DictionaryAttackParameters (0x13A) | yes |
+| `tpm2 shutdown` | Shutdown (0x145) | yes |
+| `tpm2 sessionconfig` | (tpm2-tools library call, no standalone TPM command) | n/a |
+
+ClearControl (0x127) is the only Heads command missing from CR50.
+`tpm2_reset()` invokes it to clear the `disableClear` flag before
+`TPM2_Clear`. On CR50 this returns `command code not supported` (error
+`0xB0143`); Heads logs the failure and proceeds to `TPM2_Clear` anyway,
+since CR50 does not have `disableClear` set by default.
+
+**PolicyAuthValue vs PolicyPassword**: Heads initially used `PolicyPassword`
+(TPM2_CC_PolicyPassword, 0x18C) for policy-based authorization, but changed
+to `tpm2 policyauthvalue` (TPM2_CC_PolicyAuthValue, 0x16B) in PR #2055.
+`PolicyAuthValue` is present on CR50. `PolicyPassword` is not, but this is
+unimportant since Heads no longer invokes it.
+
+### Standard TPM 2.0 commands absent from CR50 (not used by Heads)
+
+These commands exist in the TPM 2.0 spec but are not implemented by CR50.
+None are invoked by Heads, so their absence has no functional impact:
+
+| Command (index) | Category |
+| --- | --- |
+| ChangeEPS (0x123), ChangePPS (0x124) | Endorsement/Platform hierarchy management |
+| ClockSet (0x128), ClockRateAdjust (0x12D) | TPM clock control |
+| SetPrimaryPolicy (0x12C) | Primary object policy |
+| CreateLoaded (0x12E) | Create + load in one call |
+| NV_GlobalWriteLock (0x12F) | Global NV write lock |
+| NV_SetBits (0x135) | NV bitwise OR |
+| NV_ChangeAuth (0x13B) | NV index auth change |
+| PCR_SetAuthPolicy (0x13E), PCR_SetAuthValue (0x13F) | PCR auth configuration |
+| IncrementalSelfTest (0x142) | Partial self-test (SelfTest 0x143 covers full test) |
+| HMAC_Start (0x15A), SequenceUpdate (0x15B), SequenceComplete (0x15C) | HMAC sequence operations |
+| EncryptDecrypt (0x164), EncryptDecrypt2 (0x166) | Symmetric encrypt/decrypt |
+| MakeCredential (0x168) | Credential creation for remote attestation |
+| PolicyPassword (0x18C) | Password-based policy auth (Heads used this before PR #2055 switched to PolicyAuthValue 0x16B) |
+| PolicyCounterTimer (0x16D), PolicyCpHash (0x16E), PolicyLocality (0x16F), PolicyNameHash (0x170), PolicyTicket (0x172), PolicyNvWritten (0x175), PolicyAuthorize (0x179) | Extended policy authorization |
+| ReadClock (0x181) | TPM clock read |
+| PCR_Event (0x183) | PCR extend with event log (Heads uses PCR_Extend 0x182 instead) |
+| GetCommandAuditDigest (0x185), GetSessionAuditDigest (0x186) | Audit digest retrieval |
+| GetTime (0x187) | TPM time attestation |
+| EC_Ephemeral (0x18E), ZGen_2Phase (0x18D) | ECC 2-phase operations |
+| FieldUpgradeStart (0x18F), FieldUpgradeData (0x190) | Firmware field upgrade |
diff --git a/doc/variation-to-defconfig.md b/doc/variation-to-defconfig.md
index 8ecb99a4c..ff4e5a054 100644
--- a/doc/variation-to-defconfig.md
+++ b/doc/variation-to-defconfig.md
@@ -65,11 +65,19 @@ every boot. Present on: `t430-legacy`, `t430-maximized`,
Writes century byte to CMOS register `0x32` (`RTC_CLK_ALTCENTURY`) and
reports it in ACPI FADT. Coreboot default is `y` when
-`!USE_OPTION_TABLE`. Help: "May be useful for legacy OSes that assume
-its presence." Heads boots Linux directly which handles century
-internally -- no functional impact either way.
+`!USE_OPTION_TABLE`.
-Total: **29 `=y`**, **18 `not set`**
+**Heads impact:** When `=y`, coreboot reads the century byte via
+`rtc_get()` (mc146818rtc.c:237) and adds `bcd2bin(century) * 100` to
+the year. If vendor firmware left `0x20` (2000s) in register 0x32,
+this causes the RTC year to be computed as 20xx + the year register,
+e.g. 2070. Heads builds with `BUILD_TIMELESS=1` (epoch 1970) and
+detects wrong dates at boot to prompt the user for correction -- a
+century byte of `0x20` shifts the epoch to 2070, breaking that
+detection. Boards MUST have this `not set` so `rtc_get()` uses the
+fallback `year += 1900` path instead of reading the century register.
+
+Total: **29 `=y`**, **19 `not set`**
`=y` boards (using coreboot default, never explicitly disabled):
`librem_11`, `librem_13v2`, `librem_13v4`, `librem_14`,
@@ -83,7 +91,7 @@ Total: **29 `=y`**, **18 `not set`**
`x230-maximized-fhd_edp`, `z220-cmt`
`not set` boards (explicitly cleaned):
-`librem_mini`, `librem_mini_v2`, `nitropad-ns50`,
+`kano`, `librem_mini`, `librem_mini_v2`, `nitropad-ns50`,
`novacustom-nv4x_adl`, `novacustom-v540tu`, `novacustom-v560tu`,
`t420-maximized` *(cleaned 2026-07-01)*, `t430-legacy`,
`t430-legacy-flash`, `t430-maximized`, `t530-dgpu-maximized`,
@@ -93,6 +101,9 @@ Total: **29 `=y`**, **18 `not set`**
Note: T430/T530/W530 are `not set` because their `USE_OPTION_TABLE=y`
flips the default to `n` -- they were never explicitly set.
+kano is `not set` because `USE_PC_CMOS_ALTCENTURY=y` would read the
+vendor's century byte (0x20) from CMOS 0x32, shifting the epoch 1970
+to 2070 and breaking Heads' date detection at boot.
### CONFIG_RAMINIT_ENABLE_ECC
@@ -136,6 +147,8 @@ CONFIG_STATIC_OPTION_TABLE=y
# CONFIG_RAMINIT_ENABLE_ECC is not set
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
CONFIG_PCI_ALLOW_BUS_MASTER=y
+CONFIG_PCIEXP_HOTPLUG_IO=0x2000 # 2/38 boards
+CONFIG_USE_LEGACY_8254_TIMER=y # 2/38 boards
```
### Specifics
@@ -146,6 +159,20 @@ CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_USE_LEGACY_8254_TIMER=y
```
+#### Purism boards
+
+```text
+CONFIG_CPU_UCODE_BINARIES="3rdparty/purism-blobs/mainboard/purism/librem_cnl/cpu_microcode_blob.bin"
+CONFIG_ME_BIN_PATH="3rdparty/purism-blobs/mainboard/purism/librem_skl/me.bin"
+```
+
+#### QEMU
+
+```text
+CONFIG_DRIVERS_EMULATION_QEMU_XRES=1024
+CONFIG_DRIVERS_EMULATION_QEMU_YRES=768
+```
+
## Removed undesirables
The following lines were removed from specific board defconfig
@@ -186,7 +213,42 @@ CONFIG_PCIEXP_HOTPLUG_IO=0x2000
config/coreboot-x230-maximized-fhd_edp.config
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
config/coreboot-x230-maximized.config
-CONFIG_PCIEXP_HOTPLUG_IO=0x2000
# CONFIG_PCI_ALLOW_BUS_MASTER is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
```
+
+## Chromebook defconfig backups
+
+Defconfig backups for Chromebook boards are saved as
+`config/coreboot-.config_defconfig` at the end of a board bring-up,
+so the deviation from upstream defaults is visible at a glance:
+
+```
+# CONFIG_INTEL_CHIPSET_LOCKDOWN is not set
+CONFIG_SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM=y
+CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y
+```
+
+Generated via:
+```
+make BOARD= coreboot.save_in_defconfig_format_backup
+```
+
+Intended for diffing with upstream defconfigs and for reviewing what
+non-default options a board sets.
+
+## Heads-common options (present in 20+ defconfigs)
+
+These are non-default options shared by most Heads boards. They are not
+questionable — they represent the expected Heads configuration:
+
+```text
+CONFIG_PAYLOAD_LINUX=y # 37/38
+CONFIG_BOOTSPLASH=y # 36/38
+CONFIG_TPM_MEASURED_BOOT=y # 33/38
+CONFIG_HAVE_ME_BIN=y # 33/38
+CONFIG_HAVE_IFD_BIN=y # 33/38
+CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y # 26/38
+CONFIG_LINUX_COMMAND_LINE="quiet loglevel=2" # 25/38
+CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y # 23/38
+```
diff --git a/initrd/bin/tpmr.sh b/initrd/bin/tpmr.sh
index b8246eb35..80bd605eb 100755
--- a/initrd/bin/tpmr.sh
+++ b/initrd/bin/tpmr.sh
@@ -991,11 +991,13 @@ tpm2_reset() {
# (using cache_owner_password() to avoid duplicating the write logic)
cache_owner_password "$tpm_owner_passphrase"
- # 1. Ensure TPM2_Clear is allowed: clear disableClear via platform hierarchy.
- # This makes future clears (Owner/Lockout) possible and avoids a 'no clear' stuck state.
+ # 1. Request that TPM2_Clear be allowed by clearing the disableClear flag
+ # via the platform hierarchy. Some TPMs (e.g. Google CR50) do not
+ # implement ClearControl; continue regardless since those TPMs typically
+ # do not have disableClear set. If disableClear is actually set, the
+ # following TPM2_Clear will report the error.
if ! DO_WITH_DEBUG tpm2 clearcontrol -C platform c >/dev/null 2>&1; then
- LOG "tpm2_reset: unable to clear disableClear via platform hierarchy"
- return 1
+ LOG "tpm2_reset: unable to clear disableClear; attempting TPM2_Clear anyway"
fi
# 2. Factory-style clear via platform hierarchy.
diff --git a/modules/coreboot b/modules/coreboot
index 0d0cc5827..1e6f0385c 100644
--- a/modules/coreboot
+++ b/modules/coreboot
@@ -187,6 +187,11 @@ coreboot-25.09_repo := https://github.com/coreboot/coreboot
coreboot-25.09_commit_hash := 07df08836eca9dd755cc32b6d78727760d201605
$(eval $(call coreboot_module,25.09,))
+# MrChromebox is based on 26.03, but focusing on Chromebooks / Chromeboxes.
+coreboot-mrchromebox_repo := https://github.com/MrChromebox/coreboot.git
+coreboot-mrchromebox_commit_hash := f8244f2508d486d833eb8dee5c0b1d777cf37d39
+$(eval $(call coreboot_module,mrchromebox,))
+
# Check that the board configured the coreboot version correctly
ifeq "$(CONFIG_COREBOOT_VERSION)" ""
$(error "$(BOARD): does not specify coreboot version under CONFIG_COREBOOT_VERSION")
@@ -203,6 +208,18 @@ coreboot_base_dir := $($(coreboot_module)_base_dir)
$(coreboot_module)_depends += $(if $(CONFIG_PURISM_BLOBS), purism-blobs)
$(coreboot_module)_depends += $(if $(CONFIG_DASHARO_EC), dasharo-ec)
+# All boards have CONFIG_USE_BLOBS=y and all coreboot forks have
+# update=none in .gitmodules for 3rdparty/blobs (and amd_blobs, qc_blobs,
+# nvidia-cbootimage). These are intentionally skipped by .canary's blanket
+# `git submodule update --init --checkout` -- they are only fetched later
+# when the board's Kconfig enables them.
+#
+# Coreboot's own Makefile.mk handles this via lazy $(shell) calls during
+# `olddefconfig` (.configured), e.g.:
+# $(shell git submodule update --init --checkout 3rdparty/blobs)
+# The explicit submodule path overrides update=none. All other coreboot
+# forks rely on this mechanism and do not need extra handling here.
+
# coreboot builds are specialized on a per-target basis.
# The builds are done in a per-target subdirectory
CONFIG_COREBOOT_CONFIG ?= config/coreboot-$(BOARD).config
@@ -341,6 +358,23 @@ $(build)/$(BOARD)/$(CB_OUTPUT_FILE): $(build)/$(coreboot_dir)/.build
--board-dir "$(build)/$(BOARD)" \
--config "$(pwd)/$(CONFIG_COREBOOT_CONFIG)" || exit 1
@echo ""
+ @if [ -n "$(CONFIG_COREBOOT_APPLY_HAP)" ]; then \
+ echo "==================================================================="; \
+ echo "ME Runtime State (HAP/AltMeDisable)"; \
+ echo "==================================================================="; \
+ platform="$$(grep '^CONFIG_IFD_CHIPSET=' "$(pwd)/$(CONFIG_COREBOOT_CONFIG)" | cut -d'"' -f2 || true)"; \
+ platflag=""; \
+ if [ -n "$$platform" ]; then \
+ platflag="--platform $$platform"; \
+ fi; \
+ "$(build)/$(coreboot_dir)/util/ifdtool/ifdtool" $$platflag -M 1 "$(dir $<)$(CONFIG_COREBOOT_ROM)" \
+ -O "$(dir $<)$(CONFIG_COREBOOT_ROM).new" && \
+ mv "$(dir $<)$(CONFIG_COREBOOT_ROM).new" "$(dir $<)$(CONFIG_COREBOOT_ROM)" || exit 1; \
+ echo "==================================================================="; \
+ echo "ME HAP bit applied -- ME will disable after hardware init"; \
+ echo "==================================================================="; \
+ echo ""; \
+ fi
$(call do-copy,$(dir $<)$(CONFIG_COREBOOT_ROM),$@)
@touch $@ # update the time stamp
diff --git a/modules/linux b/modules/linux
index 785c12491..52f73e2ce 100644
--- a/modules/linux
+++ b/modules/linux
@@ -34,6 +34,9 @@ linux_hash := 40f014d53e81f204f6d2a364aae4201ae07970dd1b70dc602d7c66c1a140f558
else ifeq "$(CONFIG_LINUX_VERSION)" "6.1.8"
linux_version := 6.1.8
linux_hash := b60bb53ab8ba370a270454b11e93d41af29126fc72bd6ede517673e2e57b816d
+else ifeq "$(CONFIG_LINUX_VERSION)" "6.6.30"
+linux_version := 6.6.30
+linux_hash := b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6
else
$(error "$(BOARD): does not specify linux kernel version under CONFIG_LINUX_VERSION")
endif
diff --git a/patches/coreboot-mrchromebox/0001-util-cbmem-Add-endian.h-include-for-musl-compat.patch b/patches/coreboot-mrchromebox/0001-util-cbmem-Add-endian.h-include-for-musl-compat.patch
new file mode 100644
index 000000000..6c40fd3d0
--- /dev/null
+++ b/patches/coreboot-mrchromebox/0001-util-cbmem-Add-endian.h-include-for-musl-compat.patch
@@ -0,0 +1,29 @@
+The cbmem utility uses le32toh() and le16toh() which are
+defined in . On glibc these are pulled in indirectly
+via , but musl does not transitively include
+. Add the explicit include to fix the build under
+the Heads musl cross-compiler.
+
+Same approach as patches/coreboot-25.09/0005-Fix-local-build-issues.patch.
+
+Fixes:
+ cbmem.c:513: error: implicit declaration of function 'le32toh'
+ cbmem.c:551: error: implicit declaration of function 'le16toh'
+ cbmem.c:549: error: comparison of integer expressions of different signedness
+
+---
+ util/cbmem/cbmem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/util/cbmem/cbmem.c b/util/cbmem/cbmem.c
+index 018ea871f9..dcdc3aab6a 100644
+--- a/util/cbmem/cbmem.c
++++ b/util/cbmem/cbmem.c
+@@ -3,6 +3,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
diff --git a/patches/coreboot-mrchromebox/0002-soc-intel-lockdown-Allow-locking-down-SPI-and-LPC-in.patch b/patches/coreboot-mrchromebox/0002-soc-intel-lockdown-Allow-locking-down-SPI-and-LPC-in.patch
new file mode 100644
index 000000000..a7ebec7d3
--- /dev/null
+++ b/patches/coreboot-mrchromebox/0002-soc-intel-lockdown-Allow-locking-down-SPI-and-LPC-in.patch
@@ -0,0 +1,368 @@
+From f9f309190246c66e92db5408c183dd8b617987f3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20=C5=BBygowski?=
+Date: Sat, 23 Nov 2024 22:43:10 +0100
+Subject: [PATCH] soc/intel/lockdown: Allow locking down SPI and LPC in SMM
+
+Origin: https://review.coreboot.org/c/coreboot/+/85278
+Status: unmerged (not yet upstream)
+
+Heads payload uses APM_CNT_FINALIZE SMI to set and lock down the SPI
+controller with PR0 flash protection for modern platforms.
+
+Add new option to skip LPC and FAST SPI lock down in coreboot and move
+it to APM_CNT_FINALIZE SMI handler. Reuse the INTEL_CHIPSET_LOCKDOWN
+option to prevent issuing APM_CNT_FINALIZE SMI on normal boot path.
+As the locking on modern SOCs became more complicated, separate the SPI
+and LPC locking into new modules to make linking to SMM easier.
+
+The expected configuration to leverage the feautre is to unselect
+INTEL_CHIPSET_LOCKDOWN and select SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM.
+
+Also present as: patches/coreboot-25.09/0003-soc-intel-lockdown-Allow-locking-down-SPI-and-LPC-in.patch
+
+Adapted for MrChromebox fork (coreboot 26.03 based):
+- lockdown.c already had fast_spi_lockdown_cfg() and
+ lpc_lockdown_config() as separate functions (no refactoring needed)
+- SoCs not present in MrChromebox fork (meteorlake, pantherlake)
+ omitted — no directory or files exist for them in this fork
+- fast_spi_lockdown_bios() extracted to lockdown_spi.c
+- lpc_lockdown_config() extracted to lockdown_lpc.c
+- SMI handler calls both functions when
+ SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM is enabled
+- lpc_lib.c added to SMM build for lpc_set_* functions
+- cannonlake/tigerlake finalize.c adapted for mrchromebox context
+- lockdown.c already had fast_spi_lockdown_cfg() and
+ lpc_lockdown_config() as separate functions (no refactoring needed)
+- SoCs not present in MrChromebox fork (meteorlake, pantherlake)
+ omitted — no directory or files exist for them in this fork
+- fast_spi_lockdown_bios() extracted to lockdown_spi.c
+- lpc_lockdown_config() extracted to lockdown_lpc.c
+- SMI handler calls both functions when
+ SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM is enabled
+- lpc_lib.c added to SMM build for lpc_set_* functions
+- cannonlake/tigerlake finalize.c adapted for mrchromebox context
+
+Signed-off-by: Michal Zygowski
+diff --git a/src/soc/intel/alderlake/finalize.c b/src/soc/intel/alderlake/finalize.c
+index 6eca7eb4ad..fa29439a9e 100644
+--- a/src/soc/intel/alderlake/finalize.c
++++ b/src/soc/intel/alderlake/finalize.c
+@@ -85,7 +85,9 @@ static void soc_finalize(void *unused)
+ printk(BIOS_DEBUG, "Finalizing chipset.\n");
+
+ pch_finalize();
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
++
+ tbt_finalize();
+ if (CONFIG(USE_FSP_NOTIFY_PHASE_READY_TO_BOOT) &&
+ CONFIG(USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE))
+diff --git a/src/soc/intel/cannonlake/finalize.c b/src/soc/intel/cannonlake/finalize.c
+index 19fcf1387f..15119343ed 100644
+--- a/src/soc/intel/cannonlake/finalize.c
++++ b/src/soc/intel/cannonlake/finalize.c
+@@ -87,7 +87,8 @@ static void soc_finalize(void *unused)
+ printk(BIOS_DEBUG, "Finalizing chipset.\n");
+
+ pch_finalize();
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
+ if (soc_disable_heci1_at_pre_boot() &&
+ CONFIG(SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC))
+ heci1_disable();
+diff --git a/src/soc/intel/common/block/lpc/Makefile.mk b/src/soc/intel/common/block/lpc/Makefile.mk
+index b510cd0ec3..60792654b5 100644
+--- a/src/soc/intel/common/block/lpc/Makefile.mk
++++ b/src/soc/intel/common/block/lpc/Makefile.mk
+@@ -5,3 +5,7 @@ romstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_LPC) += lpc_lib.c
+
+ ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_LPC) += lpc_lib.c
+ ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_LPC) += lpc.c
++
++ifeq ($(CONFIG_SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM),y)
++smm-$(CONFIG_SOC_INTEL_COMMON_BLOCK_LPC) += lpc_lib.c
++endif
+diff --git a/src/soc/intel/common/block/smm/smihandler.c b/src/soc/intel/common/block/smm/smihandler.c
+index e0fa13e581..a0187c78e6 100644
+--- a/src/soc/intel/common/block/smm/smihandler.c
++++ b/src/soc/intel/common/block/smm/smihandler.c
+@@ -23,6 +23,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
+diff --git a/src/soc/intel/common/pch/include/intelpch/lockdown.h b/src/soc/intel/common/pch/include/intelpch/lockdown.h
+index b5aba06fe0..1b96f41a2a 100644
+--- a/src/soc/intel/common/pch/include/intelpch/lockdown.h
++++ b/src/soc/intel/common/pch/include/intelpch/lockdown.h
+@@ -22,4 +22,7 @@ int get_lockdown_config(void);
+ */
+ void soc_lockdown_config(int chipset_lockdown);
+
++void fast_spi_lockdown_bios(int chipset_lockdown);
++void lpc_lockdown_config(int chipset_lockdown);
++
+ #endif /* SOC_INTEL_COMMON_PCH_LOCKDOWN_H */
+diff --git a/src/soc/intel/common/pch/lockdown/Kconfig b/src/soc/intel/common/pch/lockdown/Kconfig
+index 38f60d2056..545185c52f 100644
+--- a/src/soc/intel/common/pch/lockdown/Kconfig
++++ b/src/soc/intel/common/pch/lockdown/Kconfig
+@@ -3,7 +3,22 @@
+ config SOC_INTEL_COMMON_PCH_LOCKDOWN
+ bool
+ default n
++ select HAVE_INTEL_CHIPSET_LOCKDOWN
+ help
+ This option allows to have chipset lockdown for DMI, FAST_SPI and
+ soc_lockdown_config() to implement any additional lockdown as PMC,
+ LPC for supported PCH.
++
++config SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM
++ bool "Lock down SPI controller in SMM"
++ default n
++ depends on HAVE_SMI_HANDLER && !INTEL_CHIPSET_LOCKDOWN
++ select SPI_FLASH_SMM
++ help
++ This option allows to have chipset lockdown for FAST_SPI and LPC for
++ supported PCH. If selected, coreboot will skip locking down the SPI
++ and LPC controller. The payload or OS is responsible for locking it
++ using APM_CNT_FINALIZE SMI. Used by heads to set and lock PR0 flash
++ protection.
++
++ If unsure, say N.
+diff --git a/src/soc/intel/common/pch/lockdown/Makefile.mk b/src/soc/intel/common/pch/lockdown/Makefile.mk
+index 71466f8edd..64aad562ac 100644
+--- a/src/soc/intel/common/pch/lockdown/Makefile.mk
++++ b/src/soc/intel/common/pch/lockdown/Makefile.mk
+@@ -1,2 +1,7 @@
+ ## SPDX-License-Identifier: GPL-2.0-only
+ ramstage-$(CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN) += lockdown.c
++ramstage-$(CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN) += lockdown_lpc.c
++ramstage-$(CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN) += lockdown_spi.c
++
++smm-$(CONFIG_SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM) += lockdown_lpc.c
++smm-$(CONFIG_SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM) += lockdown_spi.c
+diff --git a/src/soc/intel/common/pch/lockdown/lockdown.c b/src/soc/intel/common/pch/lockdown/lockdown.c
+index ff7ca959fc..0343a034ed 100644
+--- a/src/soc/intel/common/pch/lockdown/lockdown.c
++++ b/src/soc/intel/common/pch/lockdown/lockdown.c
+@@ -63,7 +63,6 @@ static void fast_spi_lockdown_cfg(int chipset_lockdown)
+ fast_spi_set_opcode_menu();
+
+ /* Discrete Lock Flash PR registers */
+- fast_spi_pr_dlock();
+
+ /* Check if SPI transaction is pending */
+ fast_spi_cycle_in_progress();
+@@ -72,46 +71,10 @@ static void fast_spi_lockdown_cfg(int chipset_lockdown)
+ fast_spi_clear_outstanding_status();
+
+ /* Lock FAST_SPIBAR */
+- fast_spi_lock_bar();
+
+ /* Set Vendor Component Lock (VCL) */
+ fast_spi_vscc0_lock();
+
+- /* Set BIOS Interface Lock, BIOS Lock */
+- if (chipset_lockdown == CHIPSET_LOCKDOWN_COREBOOT) {
+- /* BIOS Interface Lock */
+- fast_spi_set_bios_interface_lock_down();
+-
+- /* Only allow writes in SMM */
+- if (enable_smm_bios_protection()) {
+- fast_spi_set_eiss();
+- fast_spi_enable_wp();
+- }
+-
+- /* BIOS Lock */
+- fast_spi_set_lock_enable();
+-
+- /* EXT BIOS Lock */
+- fast_spi_set_ext_bios_lock_enable();
+- }
+-}
+-
+-static void lpc_lockdown_config(int chipset_lockdown)
+-{
+- /* Set BIOS Interface Lock, BIOS Lock */
+- if (chipset_lockdown == CHIPSET_LOCKDOWN_COREBOOT) {
+- /* BIOS Interface Lock */
+- lpc_set_bios_interface_lock_down();
+-
+- /* Only allow writes in SMM */
+- if (enable_smm_bios_protection()) {
+- lpc_set_eiss();
+- lpc_enable_wp();
+- }
+-
+- /* BIOS Lock */
+- lpc_set_lock_enable();
+- }
+ }
+
+ static void sa_lockdown_config(int chipset_lockdown)
+diff --git a/src/soc/intel/common/pch/lockdown/lockdown_lpc.c b/src/soc/intel/common/pch/lockdown/lockdown_lpc.c
+new file mode 100644
+index 0000000000..69278ea343
+--- /dev/null
++++ b/src/soc/intel/common/pch/lockdown/lockdown_lpc.c
+@@ -0,0 +1,23 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++
++#include
++#include
++#include
++
++void lpc_lockdown_config(int chipset_lockdown)
++{
++ /* Set BIOS Interface Lock, BIOS Lock */
++ if (chipset_lockdown == CHIPSET_LOCKDOWN_COREBOOT) {
++ /* BIOS Interface Lock */
++ lpc_set_bios_interface_lock_down();
++
++ /* Only allow writes in SMM */
++ if (CONFIG(BOOTMEDIA_SMM_BWP)) {
++ lpc_set_eiss();
++ lpc_enable_wp();
++ }
++
++ /* BIOS Lock */
++ lpc_set_lock_enable();
++ }
++}
+diff --git a/src/soc/intel/common/pch/lockdown/lockdown_spi.c b/src/soc/intel/common/pch/lockdown/lockdown_spi.c
+new file mode 100644
+index 0000000000..8dbe93013e
+--- /dev/null
++++ b/src/soc/intel/common/pch/lockdown/lockdown_spi.c
+@@ -0,0 +1,32 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++
++#include
++#include
++#include
++
++void fast_spi_lockdown_bios(int chipset_lockdown)
++{
++ /* Discrete Lock Flash PR registers */
++ fast_spi_pr_dlock();
++
++ /* Lock FAST_SPIBAR */
++ fast_spi_lock_bar();
++
++ /* Set BIOS Interface Lock, BIOS Lock */
++ if (chipset_lockdown == CHIPSET_LOCKDOWN_COREBOOT) {
++ /* BIOS Interface Lock */
++ fast_spi_set_bios_interface_lock_down();
++
++ /* Only allow writes in SMM */
++ if (CONFIG(BOOTMEDIA_SMM_BWP)) {
++ fast_spi_set_eiss();
++ fast_spi_enable_wp();
++ }
++
++ /* BIOS Lock */
++ fast_spi_set_lock_enable();
++
++ /* EXT BIOS Lock */
++ fast_spi_set_ext_bios_lock_enable();
++ }
++}
+diff --git a/src/soc/intel/denverton_ns/lpc.c b/src/soc/intel/denverton_ns/lpc.c
+index 7dc971ea92..c4f7681c62 100644
+--- a/src/soc/intel/denverton_ns/lpc.c
++++ b/src/soc/intel/denverton_ns/lpc.c
+@@ -536,7 +536,8 @@ static const struct pci_driver lpc_driver __pci_driver = {
+
+ static void finalize_chipset(void *unused)
+ {
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
+ }
+
+ BOOT_STATE_INIT_ENTRY(BS_OS_RESUME, BS_ON_ENTRY, finalize_chipset, NULL);
+diff --git a/src/soc/intel/elkhartlake/finalize.c b/src/soc/intel/elkhartlake/finalize.c
+index 509eda5aaa..a79e7f539b 100644
+--- a/src/soc/intel/elkhartlake/finalize.c
++++ b/src/soc/intel/elkhartlake/finalize.c
+@@ -43,7 +43,9 @@ static void soc_finalize(void *unused)
+ printk(BIOS_DEBUG, "Finalizing chipset.\n");
+
+ pch_finalize();
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
++
+ if (CONFIG(USE_FSP_NOTIFY_PHASE_READY_TO_BOOT) &&
+ CONFIG(USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE))
+ heci_finalize();
+diff --git a/src/soc/intel/jasperlake/finalize.c b/src/soc/intel/jasperlake/finalize.c
+index 8788db155d..4840c0c04c 100644
+--- a/src/soc/intel/jasperlake/finalize.c
++++ b/src/soc/intel/jasperlake/finalize.c
+@@ -76,7 +76,8 @@ static void soc_finalize(void *unused)
+ printk(BIOS_DEBUG, "Finalizing chipset.\n");
+
+ pch_finalize();
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
+
+ /* Indicate finalize step with post code */
+ post_code(POSTCODE_OS_BOOT);
+diff --git a/src/soc/intel/skylake/finalize.c b/src/soc/intel/skylake/finalize.c
+index a6a451364d..315e4e7c33 100644
+--- a/src/soc/intel/skylake/finalize.c
++++ b/src/soc/intel/skylake/finalize.c
+@@ -105,7 +105,8 @@ static void soc_finalize(void *unused)
+ pch_finalize_script(dev);
+
+ soc_lockdown(dev);
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
+
+ /* Indicate finalize step with post code */
+ post_code(POSTCODE_OS_BOOT);
+diff --git a/src/soc/intel/tigerlake/finalize.c b/src/soc/intel/tigerlake/finalize.c
+index 63a46ac02e..03c28f958c 100644
+--- a/src/soc/intel/tigerlake/finalize.c
++++ b/src/soc/intel/tigerlake/finalize.c
+@@ -24,6 +24,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+
+@@ -55,7 +56,8 @@ static void soc_finalize(void *unused)
+ printk(BIOS_DEBUG, "Finalizing chipset.\n");
+
+ pch_finalize();
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
+ tbt_finalize();
+ if (soc_disable_heci1_at_pre_boot())
+ heci1_disable();
+diff --git a/src/soc/intel/xeon_sp/finalize.c b/src/soc/intel/xeon_sp/finalize.c
+index a7b3602744..f0cd8a1998 100644
+--- a/src/soc/intel/xeon_sp/finalize.c
++++ b/src/soc/intel/xeon_sp/finalize.c
+@@ -59,7 +59,8 @@ static void soc_finalize(void *unused)
+ if (!CONFIG(USE_PM_ACPI_TIMER))
+ setbits8(pmc_mmio_regs() + PCH_PWRM_ACPI_TMR_CTL, ACPI_TIM_DIS);
+
+- apm_control(APM_CNT_FINALIZE);
++ if (CONFIG(INTEL_CHIPSET_LOCKDOWN) || acpi_is_wakeup_s3())
++ apm_control(APM_CNT_FINALIZE);
+
+ if (CONFIG_MAX_SOCKET > 1) {
+ /* This MSR is package scope but run for all cpus for code simplicity */
diff --git a/patches/linux-6.6.30/0001-fake-acpi.patch b/patches/linux-6.6.30/0001-fake-acpi.patch
new file mode 100644
index 000000000..0c8b3b546
--- /dev/null
+++ b/patches/linux-6.6.30/0001-fake-acpi.patch
@@ -0,0 +1,32 @@
+diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c linux-4.9.80/drivers/acpi/acpica/evxfevnt.c
+--- ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-03 11:05:43.000000000 -0500
++++ linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-07 15:51:28.786502597 -0500
+@@ -111,6 +111,8 @@
+ }
+
+ ACPI_ERROR((AE_INFO, "Hardware did not enter ACPI mode"));
++printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
++ return_ACPI_STATUS(AE_OK);
+ return_ACPI_STATUS(AE_NO_HARDWARE_RESPONSE);
+ }
+
+diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c linux-4.9.80/drivers/acpi/acpica/hwacpi.c
+--- ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-03 11:05:43.000000000 -0500
++++ linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-07 15:51:35.126557868 -0500
+@@ -168,12 +168,16 @@
+
+ status = acpi_read_bit_register(ACPI_BITREG_SCI_ENABLE, &value);
+ if (ACPI_FAILURE(status)) {
++printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
++ return_UINT32(ACPI_SYS_MODE_ACPI);
+ return_UINT32(ACPI_SYS_MODE_LEGACY);
+ }
+
+ if (value) {
+ return_UINT32(ACPI_SYS_MODE_ACPI);
+ } else {
++//printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
++// return_UINT32(ACPI_SYS_MODE_ACPI);
+ return_UINT32(ACPI_SYS_MODE_LEGACY);
+ }
+ }
diff --git a/patches/linux-6.6.30/0002-nmi-squelch.patch b/patches/linux-6.6.30/0002-nmi-squelch.patch
new file mode 100644
index 000000000..bce1cd2f0
--- /dev/null
+++ b/patches/linux-6.6.30/0002-nmi-squelch.patch
@@ -0,0 +1,20 @@
+diff --recursive -u ./clean/linux-4.9.80/arch/x86/kernel/nmi.c linux-4.9.80/arch/x86/kernel/nmi.c
+--- ./clean/linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-03 11:05:43.000000000 -0500
++++ linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-07 18:56:10.475613884 -0500
+@@ -303,6 +303,8 @@
+
+ __this_cpu_add(nmi_stats.unknown, 1);
+
++#if 0
++// qemu generates these for some reason
+ pr_emerg("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
+ reason, smp_processor_id());
+
+@@ -311,6 +313,7 @@
+ nmi_panic(regs, "NMI: Not continuing");
+
+ pr_emerg("Dazed and confused, but trying to continue\n");
++#endif
+ }
+ NOKPROBE_SYMBOL(unknown_nmi_error);
+
diff --git a/patches/linux-6.6.30/0010-winterfell-ahci.patch b/patches/linux-6.6.30/0010-winterfell-ahci.patch
new file mode 100644
index 000000000..7f2417736
--- /dev/null
+++ b/patches/linux-6.6.30/0010-winterfell-ahci.patch
@@ -0,0 +1,18 @@
+diff --recursive -u ./clean/linux-4.9.80/drivers/ata/libahci.c linux-4.9.80/drivers/ata/libahci.c
+--- ./clean/linux-4.9.80/drivers/ata/libahci.c 2018-02-03 11:05:43.000000000 -0500
++++ linux-4.9.80/drivers/ata/libahci.c 2018-02-07 18:02:32.526535910 -0500
+@@ -537,8 +537,12 @@
+ }
+
+ /* fabricate port_map from cap.nr_ports for < AHCI 1.3 */
+- if (!port_map && vers < 0x10300) {
+- port_map = (1 << ahci_nr_ports(cap)) - 1;
++ if (!port_map) { // && vers < 0x10300) {
++ printk("%s: saved_port=%02x\n", __func__, hpriv->saved_port_map);
++ writel(0x1, mmio + HOST_PORTS_IMPL);
++ port_map = readl(mmio + HOST_PORTS_IMPL);
++
++ //port_map = (1 << ahci_nr_ports(cap)) - 1;
+ dev_warn(dev, "forcing PORTS_IMPL to 0x%lx\n", port_map);
+
+ /* write the fixed up value to the PI register */
diff --git a/tpm-patch2 b/tpm-patch2
new file mode 100644
index 000000000..fb7368f84
--- /dev/null
+++ b/tpm-patch2
@@ -0,0 +1,91 @@
+diff --git a/doc/tpm.md b/doc/tpm.md
+index 418e56462aa..8cecfb55b4b 100644
+--- a/doc/tpm.md
++++ b/doc/tpm.md
+@@ -439,3 +439,86 @@ To verify that a new board's coreboot config matches the expected RoT:
+ | Auth sessions | Not used | Required for policy-based unseal |
+ | `kexec_finalize` | No-op | Extends PCRs, then `tpm2 shutdown` |
+ | `startsession` | No-op | Creates encryption session |
++
++---
++
++## CR50 TPM (Google) — command limitations
++
++Google's CR50 is a microcontroller-based TPM 2.0 implementation used on
++Chromebooks and ChromeOS-derived devices (e.g. Kano). It implements a
++subset of the TPM 2.0 command set: 64 library commands of the 100+ defined
++in the PC Client profile, plus 1 vendor command (65 total).
++
++**Identifying a CR50**: `tpm2 getcap properties-fixed | grep MANUFACTURER`
++returns `0x43524F53` ("CROS"); vendor strings show `xCG fTPM`.
++
++### Heads tpm2 commands vs CR50 support
++
++Heads invokes 22 unique `tpm2` subcommands (all via `initrd/bin/tpmr.sh`
++except two direct calls in `initrd/etc/functions.sh`). 21 of 22 are
++supported by CR50. The single gap is **ClearControl**:
++
++| Heads `tpm2` subcommand | TPM2 command (index) | On CR50? |
++| --- | --- | --- |
++| `tpm2 pcrread` | PCR_Read (0x17E) | yes |
++| `tpm2 pcrextend` | PCR_Extend (0x182) | yes |
++| `tpm2 nvread` | NV_Read (0x14E) | yes |
++| `tpm2 nvincrement` | NV_Increment (0x134) | yes |
++| `tpm2 nvdefine` | NV_DefineSpace (0x12A) | yes |
++| `tpm2 nvreadpublic` | NV_ReadPublic (0x169) | yes |
++| `tpm2 flushcontext` | FlushContext (0x165) | yes |
++| `tpm2 readpublic` | ReadPublic (0x173) | yes |
++| `tpm2 startauthsession` | StartAuthSession (0x176) | yes |
++| `tpm2 evictcontrol` | EvictControl (0x120) | yes |
++| `tpm2 policypcr` | PolicyPCR (0x17F) | yes |
++| `tpm2 policyauthvalue` | PolicyAuthValue (0x16B) | yes |
++| `tpm2 create` | Create (0x153) | yes |
++| `tpm2 load` | Load (0x157) | yes |
++| `tpm2 unseal` | Unseal (0x15E) | yes |
++| `tpm2 clearcontrol` | ClearControl (0x127) | **no** |
++| `tpm2 clear` | Clear (0x126) | yes |
++| `tpm2 changeauth` | HierarchyChangeAuth (0x129) / ObjectChangeAuth (0x150) | yes |
++| `tpm2 createprimary` | CreatePrimary (0x131) | yes |
++| `tpm2 dictionarylockout` | DictionaryAttackParameters (0x13A) | yes |
++| `tpm2 shutdown` | Shutdown (0x145) | yes |
++| `tpm2 sessionconfig` | (tpm2-tools library call, no standalone TPM command) | n/a |
++
++ClearControl (0x127) is the only Heads command missing from CR50.
++`tpm2_reset()` invokes it to clear the `disableClear` flag before
++`TPM2_Clear`. On CR50 this returns `command code not supported` (error
++`0xB0143`); Heads logs the failure and proceeds to `TPM2_Clear` anyway,
++since CR50 does not have `disableClear` set by default.
++
++**PolicyAuthValue vs PolicyPassword**: Heads initially used `PolicyPassword`
++(TPM2_CC_PolicyPassword, 0x18C) for policy-based authorization, but changed
++to `tpm2 policyauthvalue` (TPM2_CC_PolicyAuthValue, 0x16B) in PR #2055.
++`PolicyAuthValue` is present on CR50. `PolicyPassword` is not, but this is
++unimportant since Heads no longer invokes it.
++
++### Standard TPM 2.0 commands absent from CR50 (not used by Heads)
++
++These commands exist in the TPM 2.0 spec but are not implemented by CR50.
++None are invoked by Heads, so their absence has no functional impact:
++
++| Command (index) | Category |
++| --- | --- |
++| ChangeEPS (0x123), ChangePPS (0x124) | Endorsement/Platform hierarchy management |
++| ClockSet (0x128), ClockRateAdjust (0x12D) | TPM clock control |
++| SetPrimaryPolicy (0x12C) | Primary object policy |
++| CreateLoaded (0x12E) | Create + load in one call |
++| NV_GlobalWriteLock (0x12F) | Global NV write lock |
++| NV_SetBits (0x135) | NV bitwise OR |
++| NV_ChangeAuth (0x13B) | NV index auth change |
++| PCR_SetAuthPolicy (0x13E), PCR_SetAuthValue (0x13F) | PCR auth configuration |
++| IncrementalSelfTest (0x142) | Partial self-test (SelfTest 0x143 covers full test) |
++| HMAC_Start (0x15A), SequenceUpdate (0x15B), SequenceComplete (0x15C) | HMAC sequence operations |
++| EncryptDecrypt (0x164), EncryptDecrypt2 (0x166) | Symmetric encrypt/decrypt |
++| MakeCredential (0x168) | Credential creation for remote attestation |
++| PolicyPassword (0x18C) | Password-based policy auth (Heads used this before PR #2055 switched to PolicyAuthValue 0x16B) |
++| PolicyCounterTimer (0x16D), PolicyCpHash (0x16E), PolicyLocality (0x16F), PolicyNameHash (0x170), PolicyTicket (0x172), PolicyNvWritten (0x175), PolicyAuthorize (0x179) | Extended policy authorization |
++| ReadClock (0x181) | TPM clock read |
++| PCR_Event (0x183) | PCR extend with event log (Heads uses PCR_Extend 0x182 instead) |
++| GetCommandAuditDigest (0x185), GetSessionAuditDigest (0x186) | Audit digest retrieval |
++| GetTime (0x187) | TPM time attestation |
++| EC_Ephemeral (0x18E), ZGen_2Phase (0x18D) | ECC 2-phase operations |
++| FieldUpgradeStart (0x18F), FieldUpgradeData (0x190) | Firmware field upgrade |
diff --git a/tpm.md-patch b/tpm.md-patch
new file mode 100644
index 000000000..78e9db15a
--- /dev/null
+++ b/tpm.md-patch
@@ -0,0 +1,113 @@
+diff --git a/doc/tpm.md b/doc/tpm.md
+index 418e56462aa..8cecfb55b4b 100644
+--- a/doc/tpm.md
++++ b/doc/tpm.md
+@@ -439,3 +439,86 @@ To verify that a new board's coreboot config matches the expected RoT:
+ | Auth sessions | Not used | Required for policy-based unseal |
+ | `kexec_finalize` | No-op | Extends PCRs, then `tpm2 shutdown` |
+ | `startsession` | No-op | Creates encryption session |
++
++---
++
++## CR50 TPM (Google) — command limitations
++
++Google's CR50 is a microcontroller-based TPM 2.0 implementation used on
++Chromebooks and ChromeOS-derived devices (e.g. Kano). It implements a
++subset of the TPM 2.0 command set: 64 library commands of the 100+ defined
++in the PC Client profile, plus 1 vendor command (65 total).
++
++**Identifying a CR50**: `tpm2 getcap properties-fixed | grep MANUFACTURER`
++returns `0x43524F53` ("CROS"); vendor strings show `xCG fTPM`.
++
++### Heads tpm2 commands vs CR50 support
++
++Heads invokes 22 unique `tpm2` subcommands (all via `initrd/bin/tpmr.sh`
++except two direct calls in `initrd/etc/functions.sh`). 21 of 22 are
++supported by CR50. The single gap is **ClearControl**:
++
++| Heads `tpm2` subcommand | TPM2 command (index) | On CR50? |
++| --- | --- | --- |
++| `tpm2 pcrread` | PCR_Read (0x17E) | yes |
++| `tpm2 pcrextend` | PCR_Extend (0x182) | yes |
++| `tpm2 nvread` | NV_Read (0x14E) | yes |
++| `tpm2 nvincrement` | NV_Increment (0x134) | yes |
++| `tpm2 nvdefine` | NV_DefineSpace (0x12A) | yes |
++| `tpm2 nvreadpublic` | NV_ReadPublic (0x169) | yes |
++| `tpm2 flushcontext` | FlushContext (0x165) | yes |
++| `tpm2 readpublic` | ReadPublic (0x173) | yes |
++| `tpm2 startauthsession` | StartAuthSession (0x176) | yes |
++| `tpm2 evictcontrol` | EvictControl (0x120) | yes |
++| `tpm2 policypcr` | PolicyPCR (0x17F) | yes |
++| `tpm2 policyauthvalue` | PolicyAuthValue (0x16B) | yes |
++| `tpm2 create` | Create (0x153) | yes |
++| `tpm2 load` | Load (0x157) | yes |
++| `tpm2 unseal` | Unseal (0x15E) | yes |
++| `tpm2 clearcontrol` | ClearControl (0x127) | **no** |
++| `tpm2 clear` | Clear (0x126) | yes |
++| `tpm2 changeauth` | HierarchyChangeAuth (0x129) / ObjectChangeAuth (0x150) | yes |
++| `tpm2 createprimary` | CreatePrimary (0x131) | yes |
++| `tpm2 dictionarylockout` | DictionaryAttackParameters (0x13A) | yes |
++| `tpm2 shutdown` | Shutdown (0x145) | yes |
++| `tpm2 sessionconfig` | (tpm2-tools library call, no standalone TPM command) | n/a |
++
++ClearControl (0x127) is the only Heads command missing from CR50.
++`tpm2_reset()` invokes it to clear the `disableClear` flag before
++`TPM2_Clear`. On CR50 this returns `command code not supported` (error
++`0xB0143`); Heads logs the failure and proceeds to `TPM2_Clear` anyway,
++since CR50 does not have `disableClear` set by default.
++
++**PolicyAuthValue vs PolicyPassword**: Heads initially used `PolicyPassword`
++(TPM2_CC_PolicyPassword, 0x18C) for policy-based authorization, but changed
++to `tpm2 policyauthvalue` (TPM2_CC_PolicyAuthValue, 0x16B) in PR #2055.
++`PolicyAuthValue` is present on CR50. `PolicyPassword` is not, but this is
++unimportant since Heads no longer invokes it.
++
++### Standard TPM 2.0 commands absent from CR50 (not used by Heads)
++
++These commands exist in the TPM 2.0 spec but are not implemented by CR50.
++None are invoked by Heads, so their absence has no functional impact:
++
++| Command (index) | Category |
++| --- | --- |
++| ChangeEPS (0x123), ChangePPS (0x124) | Endorsement/Platform hierarchy management |
++| ClockSet (0x128), ClockRateAdjust (0x12D) | TPM clock control |
++| SetPrimaryPolicy (0x12C) | Primary object policy |
++| CreateLoaded (0x12E) | Create + load in one call |
++| NV_GlobalWriteLock (0x12F) | Global NV write lock |
++| NV_SetBits (0x135) | NV bitwise OR |
++| NV_ChangeAuth (0x13B) | NV index auth change |
++| PCR_SetAuthPolicy (0x13E), PCR_SetAuthValue (0x13F) | PCR auth configuration |
++| IncrementalSelfTest (0x142) | Partial self-test (SelfTest 0x143 covers full test) |
++| HMAC_Start (0x15A), SequenceUpdate (0x15B), SequenceComplete (0x15C) | HMAC sequence operations |
++| EncryptDecrypt (0x164), EncryptDecrypt2 (0x166) | Symmetric encrypt/decrypt |
++| MakeCredential (0x168) | Credential creation for remote attestation |
++| PolicyPassword (0x18C) | Password-based policy auth (Heads used this before PR #2055 switched to PolicyAuthValue 0x16B) |
++| PolicyCounterTimer (0x16D), PolicyCpHash (0x16E), PolicyLocality (0x16F), PolicyNameHash (0x170), PolicyTicket (0x172), PolicyNvWritten (0x175), PolicyAuthorize (0x179) | Extended policy authorization |
++| ReadClock (0x181) | TPM clock read |
++| PCR_Event (0x183) | PCR extend with event log (Heads uses PCR_Extend 0x182 instead) |
++| GetCommandAuditDigest (0x185), GetSessionAuditDigest (0x186) | Audit digest retrieval |
++| GetTime (0x187) | TPM time attestation |
++| EC_Ephemeral (0x18E), ZGen_2Phase (0x18D) | ECC 2-phase operations |
++| FieldUpgradeStart (0x18F), FieldUpgradeData (0x190) | Firmware field upgrade |
+diff --git a/initrd/bin/tpmr.sh b/initrd/bin/tpmr.sh
+index b8246eb3536..79a07c53bf3 100755
+--- a/initrd/bin/tpmr.sh
++++ b/initrd/bin/tpmr.sh
+@@ -991,11 +991,13 @@ tpm2_reset() {
+ # (using cache_owner_password() to avoid duplicating the write logic)
+ cache_owner_password "$tpm_owner_passphrase"
+
+- # 1. Ensure TPM2_Clear is allowed: clear disableClear via platform hierarchy.
+- # This makes future clears (Owner/Lockout) possible and avoids a 'no clear' stuck state.
++ # 1. Request that TPM2_Clear be allowed by clearing the disableClear flag
++ # via the platform hierarchy. Some TPMs (e.g. Google CR50) do not
++ # implement ClearControl; continue regardless since those TPMs typically
++ # do not have disableClear set. If disableClear is actually set, the
++ # following TPM2_Clear will report the error.
+ if ! DO_WITH_DEBUG tpm2 clearcontrol -C platform c >/dev/null 2>&1; then
+- LOG "tpm2_reset: unable to clear disableClear via platform hierarchy"
+- return 1
++ LOG "tpm2_reset: unable to clear disableClear; attempting TPM2_Clear anyway"
+ fi
+
+ # 2. Factory-style clear via platform hierarchy.
diff --git a/tpm2_clearcontrol-c-p-c b/tpm2_clearcontrol-c-p-c
new file mode 100755
index 000000000..008339e3c
--- /dev/null
+++ b/tpm2_clearcontrol-c-p-c
@@ -0,0 +1,4 @@
+WARNING:esys:src/tss2-esys/api/Esys_ClearControl.c:293:Esys_ClearControl_Finish() Received TPM Error
+ERROR:esys:src/tss2-esys/api/Esys_ClearControl.c:101:Esys_ClearControl() Esys Finish ErrorCode (0x000b0143)
+ERROR: Esys_ClearControl(0xB0143) - rmt:error(2.0): command code not supported
+ERROR: Unable to run clearcontrol
diff --git a/tpm2_getcap_commands b/tpm2_getcap_commands
new file mode 100755
index 000000000..c4a8b501e
--- /dev/null
+++ b/tpm2_getcap_commands
@@ -0,0 +1,715 @@
+TPM2_CC_NV_UndefineSpaceSpecial:
+ value: 0x440011F
+ commandIndex: 0x11f
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_EvictControl:
+ value: 0x4400120
+ commandIndex: 0x120
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_HierarchyControl:
+ value: 0x2C00121
+ commandIndex: 0x121
+ reserved1: 0x0
+ nv: 1
+ extensive: 1
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_UndefineSpace:
+ value: 0x4400122
+ commandIndex: 0x122
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Clear:
+ value: 0x2C00126
+ commandIndex: 0x126
+ reserved1: 0x0
+ nv: 1
+ extensive: 1
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_HierarchyChangeAuth:
+ value: 0x2400129
+ commandIndex: 0x129
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_DefineSpace:
+ value: 0x240012A
+ commandIndex: 0x12a
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PCR_Allocate:
+ value: 0x240012B
+ commandIndex: 0x12b
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_CreatePrimary:
+ value: 0x12000131
+ commandIndex: 0x131
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 1
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_Increment:
+ value: 0x4400134
+ commandIndex: 0x134
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_Extend:
+ value: 0x4400136
+ commandIndex: 0x136
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_Write:
+ value: 0x4400137
+ commandIndex: 0x137
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_WriteLock:
+ value: 0x4400138
+ commandIndex: 0x138
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_DictionaryAttackLockReset:
+ value: 0x2400139
+ commandIndex: 0x139
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_DictionaryAttackParameters:
+ value: 0x240013A
+ commandIndex: 0x13a
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PCR_Reset:
+ value: 0x240013D
+ commandIndex: 0x13d
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_SelfTest:
+ value: 0x400143
+ commandIndex: 0x143
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Startup:
+ value: 0x400144
+ commandIndex: 0x144
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Shutdown:
+ value: 0x400145
+ commandIndex: 0x145
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_StirRandom:
+ value: 0x400146
+ commandIndex: 0x146
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_ActivateCredential:
+ value: 0x4000147
+ commandIndex: 0x147
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Certify:
+ value: 0x4000148
+ commandIndex: 0x148
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_CertifyCreation:
+ value: 0x400014A
+ commandIndex: 0x14a
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Duplicate:
+ value: 0x400014B
+ commandIndex: 0x14b
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_Read:
+ value: 0x400014E
+ commandIndex: 0x14e
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_ReadLock:
+ value: 0x400014F
+ commandIndex: 0x14f
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_ObjectChangeAuth:
+ value: 0x4000150
+ commandIndex: 0x150
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicySecret:
+ value: 0x4000151
+ commandIndex: 0x151
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Create:
+ value: 0x2000153
+ commandIndex: 0x153
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_ECDH_ZGen:
+ value: 0x2000154
+ commandIndex: 0x154
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_HMAC:
+ value: 0x2000155
+ commandIndex: 0x155
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Import:
+ value: 0x2000156
+ commandIndex: 0x156
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Load:
+ value: 0x12000157
+ commandIndex: 0x157
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 1
+ V: 0
+ Res: 0x0
+TPM2_CC_Quote:
+ value: 0x2000158
+ commandIndex: 0x158
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_RSA_Decrypt:
+ value: 0x2000159
+ commandIndex: 0x159
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Sign:
+ value: 0x200015D
+ commandIndex: 0x15d
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Unseal:
+ value: 0x200015E
+ commandIndex: 0x15e
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicySigned:
+ value: 0x4000160
+ commandIndex: 0x160
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_ContextLoad:
+ value: 0x10000161
+ commandIndex: 0x161
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 1
+ V: 0
+ Res: 0x0
+TPM2_CC_ContextSave:
+ value: 0x2000162
+ commandIndex: 0x162
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_ECDH_KeyGen:
+ value: 0x2000163
+ commandIndex: 0x163
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_FlushContext:
+ value: 0x165
+ commandIndex: 0x165
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_LoadExternal:
+ value: 0x10000167
+ commandIndex: 0x167
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 1
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_ReadPublic:
+ value: 0x2000169
+ commandIndex: 0x169
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicyAuthValue:
+ value: 0x200016B
+ commandIndex: 0x16b
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicyCommandCode:
+ value: 0x200016C
+ commandIndex: 0x16c
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicyOR:
+ value: 0x2000171
+ commandIndex: 0x171
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_ReadPublic:
+ value: 0x2000173
+ commandIndex: 0x173
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_RSA_Encrypt:
+ value: 0x2000174
+ commandIndex: 0x174
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_StartAuthSession:
+ value: 0x14000176
+ commandIndex: 0x176
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 1
+ V: 0
+ Res: 0x0
+TPM2_CC_VerifySignature:
+ value: 0x2000177
+ commandIndex: 0x177
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_ECC_Parameters:
+ value: 0x178
+ commandIndex: 0x178
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_GetCapability:
+ value: 0x17A
+ commandIndex: 0x17a
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_GetRandom:
+ value: 0x17B
+ commandIndex: 0x17b
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_GetTestResult:
+ value: 0x17C
+ commandIndex: 0x17c
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Hash:
+ value: 0x17D
+ commandIndex: 0x17d
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PCR_Read:
+ value: 0x17E
+ commandIndex: 0x17e
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicyPCR:
+ value: 0x200017F
+ commandIndex: 0x17f
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicyRestart:
+ value: 0x2000180
+ commandIndex: 0x180
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PCR_Extend:
+ value: 0x2400182
+ commandIndex: 0x182
+ reserved1: 0x0
+ nv: 1
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_NV_Certify:
+ value: 0x6000184
+ commandIndex: 0x184
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x3
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_PolicyGetDigest:
+ value: 0x2000189
+ commandIndex: 0x189
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_TestParms:
+ value: 0x18A
+ commandIndex: 0x18a
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x0
+ rHandle: 0
+ V: 0
+ Res: 0x0
+TPM2_CC_Commit:
+ value: 0x200018B
+ commandIndex: 0x18b
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x1
+ rHandle: 0
+ V: 0
+ Res: 0x0
+0x4008001:
+ value: 0x4008001
+ commandIndex: 0x8001
+ reserved1: 0x0
+ nv: 0
+ extensive: 0
+ flushed: 0
+ cHandles: 0x2
+ rHandle: 0
+ V: 0
+ Res: 0x0
diff --git a/tpm2_getcap_properties-fixed b/tpm2_getcap_properties-fixed
new file mode 100755
index 000000000..569ed1aa0
--- /dev/null
+++ b/tpm2_getcap_properties-fixed
@@ -0,0 +1,93 @@
+TPM2_PT_FAMILY_INDICATOR:
+ raw: 0x322E3000
+ value: "2.0"
+TPM2_PT_LEVEL:
+ raw: 0
+TPM2_PT_REVISION:
+ raw: 0x74
+ value: 1.16
+TPM2_PT_DAY_OF_YEAR:
+ raw: 0x12F
+TPM2_PT_YEAR:
+ raw: 0x7DE
+TPM2_PT_MANUFACTURER:
+ raw: 0x43524F53
+ value: "CROS"
+TPM2_PT_VENDOR_STRING_1:
+ raw: 0x78434720
+ value: "xCG"
+TPM2_PT_VENDOR_STRING_2:
+ raw: 0x6654504D
+ value: "fTPM"
+TPM2_PT_VENDOR_STRING_3:
+ raw: 0x0
+ value: ""
+TPM2_PT_VENDOR_STRING_4:
+ raw: 0x0
+ value: ""
+TPM2_PT_VENDOR_TPM_TYPE:
+ raw: 0x1
+TPM2_PT_FIRMWARE_VERSION_1:
+ raw: 0xD5158D47
+TPM2_PT_FIRMWARE_VERSION_2:
+ raw: 0x799903D
+TPM2_PT_INPUT_BUFFER:
+ raw: 0x400
+TPM2_PT_HR_TRANSIENT_MIN:
+ raw: 0x3
+TPM2_PT_HR_PERSISTENT_MIN:
+ raw: 0x2
+TPM2_PT_HR_LOADED_MIN:
+ raw: 0x3
+TPM2_PT_ACTIVE_SESSIONS_MAX:
+ raw: 0x40
+TPM2_PT_PCR_COUNT:
+ raw: 0x18
+TPM2_PT_PCR_SELECT_MIN:
+ raw: 0x3
+TPM2_PT_CONTEXT_GAP_MAX:
+ raw: 0xFFFF
+TPM2_PT_NV_COUNTERS_MAX:
+ raw: 0x0
+TPM2_PT_NV_INDEX_MAX:
+ raw: 0x800
+TPM2_PT_MEMORY:
+ raw: 0x6
+TPM2_PT_CLOCK_UPDATE:
+ raw: 0x1000
+TPM2_PT_CONTEXT_HASH:
+ raw: 0xB
+TPM2_PT_CONTEXT_SYM:
+ raw: 0x6
+TPM2_PT_CONTEXT_SYM_SIZE:
+ raw: 0x100
+TPM2_PT_ORDERLY_COUNT:
+ raw: 0xFF
+TPM2_PT_MAX_COMMAND_SIZE:
+ raw: 0x800
+TPM2_PT_MAX_RESPONSE_SIZE:
+ raw: 0x800
+TPM2_PT_MAX_DIGEST:
+ raw: 0x40
+TPM2_PT_MAX_OBJECT_CONTEXT:
+ raw: 0x63C
+TPM2_PT_MAX_SESSION_CONTEXT:
+ raw: 0x174
+TPM2_PT_PS_FAMILY_INDICATOR:
+ raw: 0x0
+TPM2_PT_PS_LEVEL:
+ raw: 0x0
+TPM2_PT_PS_REVISION:
+ raw: 0x0
+TPM2_PT_PS_DAY_OF_YEAR:
+ raw: 0x0
+TPM2_PT_PS_YEAR:
+ raw: 0x0
+TPM2_PT_SPLIT_MAX:
+ raw: 0x80
+TPM2_PT_TOTAL_COMMANDS:
+ raw: 0x41
+TPM2_PT_LIBRARY_COMMANDS:
+ raw: 0x40
+TPM2_PT_VENDOR_COMMANDS:
+ raw: 0x0
diff --git a/tpmr.sh.bck b/tpmr.sh.bck
new file mode 100755
index 000000000..b8246eb35
--- /dev/null
+++ b/tpmr.sh.bck
@@ -0,0 +1,1290 @@
+#!/bin/bash
+# TPM Wrapper - to unify tpm and tpm2 subcommands
+#
+# NOTE: tpmtotp C code (counter_create.c, unsealfile.c, sealfile2.c, etc.)
+# prints ALL output (both success and error messages) via printf() to stdout,
+# NOT stderr. This is a quirk of the tpmtotp toolkit. When capturing
+# output or errors from tpm commands, we must capture stdout (not just stderr).
+#
+# TPM2 error codes caught by auth-retry grep patterns.
+# Reference: TCG TPM2 Part 2 (Structures), Table 18 — TPM_RC (Response Codes)
+# https://trustedcomputinggroup.org/resource/tpm-library-specification/
+# 0x98e TPM_RC_AUTH_FAIL — wrong password, retry allowed
+# 0x149 TPM_RC_AUTH_UNAVAILABLE — auth handle wrong for entity (e.g. owner
+# hierarchy auth vs. NV index auth with authwrite attribute)
+
+. /etc/functions.sh
+
+SECRET_DIR="/tmp/secret"
+PRIMARY_HANDLE="0x81000000"
+ENC_SESSION_FILE="$SECRET_DIR/enc.ctx"
+DEC_SESSION_FILE="$SECRET_DIR/dec.ctx"
+PRIMARY_HANDLE_FILE="$SECRET_DIR/primary.handle"
+
+# PCR size in bytes. Set when we determine what TPM version is in use.
+# TPM1 PCRs are always 20 bytes. TPM2 is allowed to provide multiple PCR banks
+# with different algorithms - we always use SHA-256, so they are 32 bytes.
+PCR_SIZE=
+
+# Export CONFIG_TPM2_CAPTURE_PCAP=y from your board config to capture tpm2 pcaps to
+# /tmp/tpm0.pcap; Wireshark can inspect these. (This must be enabled at build
+# time so the pcap TCTI driver is included.)
+if [ "$CONFIG_TPM2_CAPTURE_PCAP" == "y" ]; then
+ export TPM2TOOLS_TCTI="pcap:device:/dev/tpmrm0"
+ export TCTI_PCAP_FILE="/tmp/tpm0.pcap"
+fi
+
+set -e -o pipefail
+if [ -r "/tmp/config" ]; then
+ . /tmp/config
+else
+ . /etc/config
+fi
+
+# Busybox xxd lacks -r, and we get hex dumps from TPM1 commands. This converts
+# a hex dump to binary data using sed and printf
+hex2bin() {
+ TRACE_FUNC
+ sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf
+}
+
+# Render a password as 'hex:' for use with tpm2-tools. Passwords
+# should always be passed this way to avoid ambiguity. (Passing with no prefix
+# would choke if the password happened to start with 'file:' or 'hex:'. Passing
+# as a file still chokes if the password begins with 'hex:', oddly tpm2-tools
+# accepts 'hex:' in the file content.)
+tpm2_password_hex() {
+ TRACE_FUNC
+ echo "hex:$(echo -n "$1" | xxd -p | tr -d ' \n')"
+}
+
+# usage: tpmr.sh pcrread [-a]
+# Reads PCR binary data and writes to file.
+# -a: Append to file. Default is to overwrite.
+tpm2_pcrread() {
+ TRACE_FUNC
+ if [ "$1" = "-a" ]; then
+ APPEND=y
+ shift
+ fi
+
+ index="$1"
+ file="$2"
+
+ if [ -z "$APPEND" ]; then
+ # Don't append - truncate file now so real command always
+ # overwrites
+ true >"$file"
+ fi
+
+ DO_WITH_DEBUG tpm2 pcrread -Q -o >(cat >>"$file") "sha256:$index"
+}
+tpm1_pcrread() {
+ TRACE_FUNC
+ if [ "$1" = "-a" ]; then
+ APPEND=y
+ shift
+ fi
+
+ index="$1"
+ file="$2"
+
+ if [ -z "$APPEND" ]; then
+ # Don't append - truncate file now so real command always
+ # overwrites
+ true >"$file"
+ fi
+
+ DO_WITH_DEBUG tpm pcrread -ix "$index" | hex2bin >>"$file"
+}
+
+# is_hash - Check if a value is a valid hash of a given type
+# usage: is_hash
+is_hash() {
+ # Must only contain 0-9a-fA-F
+ if [ "$(echo -n "$2" | tr -d '0-9a-fA-F' | wc -c)" -ne 0 ]; then return 1; fi
+ # SHA-1 hashes are 40 chars
+ if [ "$1" = "sha1" ] && [ "${#2}" -eq 40 ]; then return 0; fi
+ # SHA-256 hashes are 64 chars
+ if [ "$1" = "sha256" ] && [ "${#2}" -eq 64 ]; then return 0; fi
+ return 1
+}
+
+# extend_pcr_state - extend a PCR state value with more hashes or raw data (which is hashed)
+# usage:
+# extend_pcr_state
+# alg - either 'sha1' or 'sha256' to specify algorithm
+# state - a hash value setting the initial state
+# files/hashes... - any number of files or hashes, state is extended once for each item
+extend_pcr_state() {
+ TRACE_FUNC
+ local alg="$1"
+ local state="$2"
+ local next extend
+ shift 2
+
+ while [ "$#" -gt 0 ]; do
+ next="$1"
+ shift
+ if is_hash "$alg" "$next"; then
+ extend="$next"
+ else
+ extend="$("${alg}sum" <"$next" | cut -d' ' -f1)"
+ fi
+ state="$(echo "$state$extend" | hex2bin | "${alg}sum" | cut -d' ' -f1)"
+ done
+ echo "$state"
+}
+
+# There are 3 (and a half) possible formats of event log, each of them requires
+# different arguments for grep. Those formats are shown below as heredocs to
+# keep all the data, including whitespaces:
+# 1) TPM2 log, which can hold multiple hash algorithms at once:
+: <<'EOF'
+TPM2 log:
+ Specification: 2.00
+ Platform class: PC Client
+TPM2 log entry 1:
+ PCR: 2
+ Event type: Action
+ Digests:
+ SHA256: de73053377e1ae5ba5d2b637a4f5bfaeb410137722f11ef135e7a1be524e3092
+ SHA1: 27c4f1fa214480c8626397a15981ef3a9323717f
+ Event data: FMAP: FMAP
+EOF
+# 2) TPM1.2 log (aka TCPA), digest is always SHA1:
+: <<'EOF'
+TCPA log:
+ Specification: 1.21
+ Platform class: PC Client
+TCPA log entry 1:
+ PCR: 2
+ Event type: Action
+ Digest: 27c4f1fa214480c8626397a15981ef3a9323717f
+ Event data: FMAP: FMAP
+EOF
+# 3) coreboot-specific format:
+# 3.5) older versions printed 'coreboot TCPA log', even though it isn't TCPA
+: <<'EOF'
+coreboot TPM log:
+
+ PCR-2 27c4f1fa214480c8626397a15981ef3a9323717f SHA1 [FMAP: FMAP]
+EOF
+
+# awk script to handle all of the above. Note this gets squashed to one line so
+# semicolons are required.
+AWK_PROG='
+BEGIN {
+ getline;
+ hash_regex="([a-fA-F0-9]{40,})";
+ if ($0 == "TPM2 log:") {
+ RS="\n[^[:space:]]";
+ pcr="PCR: " pcr;
+ alg=toupper(alg) ": " hash_regex;
+ } else if ($0 == "TCPA log:") {
+ RS="\n[^[:space:]]";
+ pcr="PCR: " pcr;
+ alg="Digest: " hash_regex;
+ } else if ($0 ~ /^coreboot (TCPA|TPM) log:$/) {
+ pcr="PCR-" pcr;
+ alg=hash_regex " " toupper(alg) " ";
+ } else {
+ print "Unknown TPM event log format:", $0 > "/dev/stderr";
+ exit -1;
+ }
+}
+$0 ~ pcr {
+ match($0, alg);
+ print gensub(alg, "\\1", "g", substr($0, RSTART, RLENGTH));
+}
+'
+
+# usage: replay_pcr [ | ... ]
+# Replays PCR value from CBMEM event log. Note that this contains only the
+# measurements performed by firmware, without those performed by Heads (USB
+# modules, LUKS header etc). First argument is PCR number, followed by optional
+# hashes and/or files extended to given PCR after firmware. Resulting PCR value
+# is returned in binary form.
+replay_pcr() {
+ TRACE_FUNC
+ if [ -z "$2" ]; then
+ WARN "No PCR number passed"
+ return
+ fi
+ if [ "$2" -ge 8 ]; then
+ WARN "Illegal PCR number ($2)"
+ return
+ fi
+ local log=$(cbmem -L)
+ local alg="$1"
+ local pcr="$2"
+ local alg_digits=0
+ # SHA-1 hashes are 40 chars
+ if [ "$alg" = "sha1" ]; then alg_digits=40; fi
+ # SHA-256 hashes are 64 chars
+ if [ "$alg" = "sha256" ]; then alg_digits=64; fi
+ shift 2
+ replayed_pcr=$(extend_pcr_state $alg $(printf "%.${alg_digits}d" 0) \
+ $(echo "$log" | awk -v alg="$alg" -v pcr="$pcr" -f <(echo "$AWK_PROG")) "$@")
+ echo $replayed_pcr | hex2bin
+ DEBUG "Replayed cbmem -L clean boot state of PCR=$pcr ALG=$alg : $replayed_pcr"
+ # To manually introspect current PCR values:
+ # PCR-2:
+ # tpmr.sh calcfuturepcr 2 | xxd -p
+ # PCR-4, in case of recovery shell (bash used for process substitution):
+ # bash -c "tpmr.sh calcfuturepcr 4 <(echo -n recovery)" | xxd -p
+ # PCR-4, in case of normal boot passing through kexec-select-boot.sh:
+ # bash -c "tpmr.sh calcfuturepcr 4 <(echo -n generic)" | xxd -p
+ # PCR-5, depending on which modules are loaded for given board:
+ # tpmr.sh calcfuturepcr 5 module0.ko module1.ko module2.ko | xxd -p
+ # PCR-6 and PCR-7: similar to 5, but with different files passed
+ # (6: LUKS header, 7: user related cbfs files loaded from cbfs-init)
+}
+
+tpm2_extend() {
+ TRACE_FUNC
+ while true; do
+ case "$1" in
+ -ix)
+ # store index and shift so -ic and -if can be processed
+ index="$2"
+ shift 2
+ ;;
+ -ic)
+ string=$(echo -n "$2")
+ hash="$(echo -n "$2" | sha256sum | cut -d' ' -f1)"
+ TRACE_FUNC
+ DEBUG "TPM: Will extend PCR[$index] with hash of string $string"
+ shift 2
+ ;;
+ -if)
+ TRACE_FUNC
+ DEBUG "TPM: Will extend PCR[$index] with hash of file content $2"
+ hash="$(sha256sum "$2" | cut -d' ' -f1)"
+ shift 2
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
+ tpm2 pcrextend "$index:sha256=$hash"
+ INFO "TPM: Extended PCR[$index] with hash $hash"
+ INFO "TPM: PCR[$index] after extend: $(tpm2 pcrread "sha256:$index" 2>&1 | tail -1)"
+}
+
+tpm2_counter_read() {
+ TRACE_FUNC
+ while true; do
+ case "$1" in
+ -ix)
+ index="$2"
+ shift 2
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
+ local hex_val
+ hex_val="$(tpm2 nvread 0x"$index" | xxd -pc8)" || return 1
+ echo "$index: $hex_val"
+}
+
+# tpm2_counter_inc - Increment a TPM2 counter.
+#
+# Auth behaviour:
+# -pwdc "" : try bare nvincrement (index auth — counters created by
+# nvdefine have empty NV index auth). On failure, prompt for
+# owner passphrase and retry with owner auth up to 3 times.
+# -pwdc : use owner auth — retry up to 3 times on auth failure,
+# re-prompting passphrase.
+# (no -pwdc) : try bare nvincrement first, then prompt and retry as above.
+#
+# Retry is consistent with tpm2_seal and tpm2_counter_create which also
+# re-prompt and retry on authorization failures.
+tpm2_counter_inc() {
+ TRACE_FUNC
+ local index pass=""
+ while true; do
+ case "$1" in
+ -ix)
+ index="$2"
+ shift 2
+ ;;
+ -pwdc)
+ pass="$2"
+ shift 2
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
+ # Try bare nvincrement first (index auth, no owner passphrase needed).
+ # This is a pre-check before the owner-auth retry loop and is not
+ # counted against the 3-attempt budget below.
+ if tpm2 nvincrement "0x$index" 2>/dev/null >/dev/console; then
+ local hex_val
+ hex_val="$(tpm2 nvread 0x$index | xxd -pc8)" || return 1
+ echo "$index: $hex_val"
+ return 0
+ fi
+
+ # Retry with owner auth (up to 3 attempts total).
+ # If -pwdc was provided, it's cached as tpm_owner_passphrase;
+ # otherwise prompt_tpm_owner_password will prompt and cache.
+ local attempt=0
+ while [ $attempt -lt 3 ]; do
+ attempt=$((attempt + 1))
+ if [ -n "$pass" ]; then
+ tpm_owner_passphrase="$pass"
+ else
+ prompt_tpm_owner_password
+ fi
+ local tmp_err_file=$(mktemp)
+ if tpm2 nvincrement -C o -P "$(tpm2_password_hex "$tpm_owner_passphrase")" "0x$index" 2>"$tmp_err_file" >/dev/console; then
+ rm -f "$tmp_err_file"
+ local hex_val
+ hex_val="$(tpm2 nvread 0x$index | xxd -pc8)" || return 1
+ echo "$index: $hex_val"
+ return 0
+ fi
+ local tmp_err_content="$(cat "$tmp_err_file")"
+ rm -f "$tmp_err_file"
+ shred -n 10 -z -u /tmp/secret/tpm_owner_passphrase 2>/dev/null || true
+ DEBUG "tpm2_counter_inc attempt $attempt failed. Stderr: $tmp_err_content"
+ if ! echo "$tmp_err_content" | grep -qiE 'authorization|auth|bad|permission|0x98e|0x149'; then
+ DIE "Can't increment TPM counter for $index, access denied."
+ fi
+ WARN "Authentication failed, retrying..."
+ done
+ DIE "Can't increment TPM counter for $index after 3 attempts, access denied."
+}
+
+# _tpm_auth_retry - Shared retry helper for TPM commands needing owner auth.
+#
+# Handles both TPM1 (tpmtotp: errors to stdout, uses -pwdo/-pwdc flags)
+# and TPM2 (tpm2-tools: errors to stderr, uses -P parameter).
+#
+# Caching: prompt_tpm_owner_password reuses cached passphrase if available.
+# On auth failure the cache is shredded; next prompt will ask the user.
+#
+# Usage: _tpm_auth_retry