summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/coreboot/d510mo/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/d510mo_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/d945gclf_512kb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/d945gclf_8mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/default/patches/0040-drivers-intel-dtbt-Add-discrete-Thunderbolt-driver.patch358
-rw-r--r--config/coreboot/default/patches/0041-mb-lenovo-t480-s-Enable-TBT-support.patch117
-rw-r--r--config/coreboot/default/patches/0045-mb-lenovo-t580-Enable-TBT-support.patch57
-rw-r--r--config/coreboot/default/patches/0048-topton-x2e-n150-use-old-fsp.patch34
-rw-r--r--config/coreboot/default/target.cfg2
-rw-r--r--config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/dell3050microsecure_vfsp_16mb/config/libgfxinit_corebootfb (renamed from config/coreboot/x230t_16mb/config/libgfxinit_corebootfb)510
-rw-r--r--config/coreboot/dell3050microsecure_vfsp_16mb/config/libgfxinit_txtmode (renamed from config/coreboot/x230_16mb/config/libgfxinit_corebootfb)511
-rw-r--r--config/coreboot/dell3050microsecure_vfsp_16mb/target.cfg14
-rw-r--r--config/coreboot/dell7010sff_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/dell780mt_8mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/dell780mt_8mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/dell780usff_8mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/dell780usff_8mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e4300_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e4300_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e5420_6mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e5420_6mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e5520_6mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e5520_6mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e5530_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e5530_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6220_10mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6220_10mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6230_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6230_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6320_10mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6320_10mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6330_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6330_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6400_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6400_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6400nvidia_4mb/config/normal8
-rw-r--r--config/coreboot/e6420_10mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6420_10mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6430_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6430_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6520_10mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6520_10mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e6530_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/e6530_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/e7240_12mb/config/libgfxinit_corebootfb (renamed from config/coreboot/x230_12mb/config/libgfxinit_corebootfb)276
-rw-r--r--config/coreboot/e7240_12mb/config/libgfxinit_txtmode (renamed from config/coreboot/x230t_12mb/config/libgfxinit_corebootfb)285
-rw-r--r--config/coreboot/e7240_12mb/target.cfg12
-rw-r--r--config/coreboot/g43t_am3/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/g43t_am3_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/ga_g41m_es2l/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/gru_bob/config/libgfxinit_corebootfb130
-rw-r--r--config/coreboot/gru_kevin/config/libgfxinit_corebootfb130
-rw-r--r--config/coreboot/hp2170p_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp2170p_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp2560p_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp2560p_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp2570p_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp2570p_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp8200sff_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp8200sff_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp8200sff_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp8200sff_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp820g2_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp820g2_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp8300cmt_16mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/hp8300cmt_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/hp8300usdt_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp8300usdt_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp8460pintel_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp8460pintel_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp8470pintel_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp8470pintel_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hp8560w_8mb/config/normal8
-rw-r--r--config/coreboot/hp9470m_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hp9470m_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/hppro3500series_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/hppro3500series_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/macbook11/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/macbook11/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/macbook11_16mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/macbook11_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/macbook21/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/macbook21/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/macbook21_16mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/macbook21_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/q45t_am/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/qemu_arm64_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/qemu_x86_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/qemu_x86_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/qemu_x86_64_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/qemu_x86_64_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/r400_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/r400_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/r400_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/r400_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/r400_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/r400_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/r500_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/r500_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_corebootfb805
-rw-r--r--config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_txtmode804
-rw-r--r--config/coreboot/supermicro_x11ssh_f_vfsp_16mb/target.cfg14
-rw-r--r--config/coreboot/t1650_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t400_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t400_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t400_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t400_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t400_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t400_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t420_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t420_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t420s_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t420s_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t430_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t430_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t440plibremrc_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t440plibremrc_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t480_vfsp_16mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/t480_vfsp_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/t480s_vfsp_16mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/t480s_vfsp_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/t500_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t500_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t500_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t500_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t500_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t500_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t520_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t520_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t530_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/t530_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/t580_vfsp_16mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/t580_vfsp_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/t60_16mb_intelgpu/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/t60_16mb_intelgpu/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/t60_intelgpu/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/t60_intelgpu/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/w500_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/w500_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/w500_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/w500_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/w500_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/w500_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/w530_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/w530_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/w541_12mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/w541_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x200_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/x200_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x200_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/x200_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x200_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/x200_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x220_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/x220_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x230_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x230_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x230t_12mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x230t_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x2e_n150/config/fspgop10
-rw-r--r--config/coreboot/x301_16mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/x301_16mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x301_4mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/x301_4mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x301_8mb/config/libgfxinit_corebootfb8
-rw-r--r--config/coreboot/x301_8mb/config/libgfxinit_txtmode8
-rw-r--r--config/coreboot/x60/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/x60/config/libgfxinit_txtmode9
-rw-r--r--config/coreboot/x60_16mb/config/libgfxinit_corebootfb9
-rw-r--r--config/coreboot/x60_16mb/config/libgfxinit_txtmode9
-rw-r--r--config/data/grub/keymap/dkqwerty.gkbbin0 -> 496 bytes
-rwxr-xr-xconfig/data/grub/module/default7
-rwxr-xr-xconfig/data/grub/module/nvme7
-rwxr-xr-xconfig/data/grub/module/xhci_nvme7
-rw-r--r--config/dependencies/debian2
-rw-r--r--config/dependencies/void2
-rw-r--r--config/flashprog/patches/0001-Workaround-for-MX25-chips.patch12
-rw-r--r--config/flashprog/patches/0002-lbmk-hack-add-config-Makefile-options.patch10
-rw-r--r--config/git/flashprog/pkg.cfg2
-rw-r--r--config/git/pcsx-redux/pkg.cfg2
-rw-r--r--config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch6
-rw-r--r--config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch12
-rw-r--r--config/grub/default/patches/0003-Add-CC0-license.patch42
-rw-r--r--config/grub/default/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch (renamed from config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch)6
-rw-r--r--config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch39
-rw-r--r--config/grub/default/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch (renamed from config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch)6
-rw-r--r--config/grub/default/patches/0005-Add-Argon2-algorithm.patch2612
-rw-r--r--config/grub/default/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch (renamed from config/grub/xhci_nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch)10
-rw-r--r--config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch58
-rw-r--r--config/grub/default/patches/0006-don-t-print-error-if-module-not-found.patch (renamed from config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch)10
-rw-r--r--config/grub/default/patches/0007-Compile-with-Argon2id-support.patch83
-rw-r--r--config/grub/default/patches/0007-don-t-print-empty-error-messages.patch (renamed from config/grub/default/patches/0013-don-t-print-empty-error-messages.patch)10
-rw-r--r--config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch26
-rw-r--r--config/grub/default/patches/0008-kern-coreboot-mmap-Map-to-reserved.patch (renamed from config/grub/xhci_nvme/patches/0026-kern-coreboot-mmap-Map-to-reserved.patch)6
-rw-r--r--config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch70
-rw-r--r--config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch30
-rw-r--r--config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch91
-rw-r--r--config/grub/default/target.cfg2
-rw-r--r--config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch6
-rw-r--r--config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch12
-rw-r--r--config/grub/nvme/patches/0003-Add-CC0-license.patch42
-rw-r--r--config/grub/nvme/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch (renamed from config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch)6
-rw-r--r--config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch39
-rw-r--r--config/grub/nvme/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch (renamed from config/grub/xhci_nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch)6
-rw-r--r--config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch2612
-rw-r--r--config/grub/nvme/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch (renamed from config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch)10
-rw-r--r--config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch58
-rw-r--r--config/grub/nvme/patches/0006-don-t-print-error-if-module-not-found.patch (renamed from config/grub/xhci_nvme/patches/0012-don-t-print-error-if-module-not-found.patch)10
-rw-r--r--config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch83
-rw-r--r--config/grub/nvme/patches/0007-don-t-print-empty-error-messages.patch (renamed from config/grub/xhci_nvme/patches/0013-don-t-print-empty-error-messages.patch)10
-rw-r--r--config/grub/nvme/patches/0008-Add-native-NVMe-driver-based-on-SeaBIOS.patch (renamed from config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch)10
-rw-r--r--config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch26
-rw-r--r--config/grub/nvme/patches/0009-kern-coreboot-mmap-Map-to-reserved.patch (renamed from config/grub/default/patches/0014-kern-coreboot-mmap-Map-to-reserved.patch)6
-rw-r--r--config/grub/nvme/patches/0010-Revert-configure-Check-linker-for-image-base-support.patch70
-rw-r--r--config/grub/nvme/patches/0011-Revert-configure-Print-a-more-helpful-error-if-autoc.patch30
-rw-r--r--config/grub/nvme/patches/0012-bootstrap-Don-t-download-po-files.patch91
-rw-r--r--config/grub/nvme/target.cfg2
-rw-r--r--config/grub/xhci_nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch6
-rw-r--r--config/grub/xhci_nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch12
-rw-r--r--config/grub/xhci_nvme/patches/0003-Add-CC0-license.patch42
-rw-r--r--config/grub/xhci_nvme/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch (renamed from config/grub/xhci_nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0004-Define-GRUB_UINT32_MAX.patch39
-rw-r--r--config/grub/xhci_nvme/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch (renamed from config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0005-Add-Argon2-algorithm.patch2612
-rw-r--r--config/grub/xhci_nvme/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch (renamed from config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch)10
-rw-r--r--config/grub/xhci_nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch58
-rw-r--r--config/grub/xhci_nvme/patches/0006-don-t-print-error-if-module-not-found.patch (renamed from config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch)10
-rw-r--r--config/grub/xhci_nvme/patches/0007-Compile-with-Argon2id-support.patch83
-rw-r--r--config/grub/xhci_nvme/patches/0007-don-t-print-empty-error-messages.patch (renamed from config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch)10
-rw-r--r--config/grub/xhci_nvme/patches/0008-Make-grub-install-work-with-Argon2.patch26
-rw-r--r--config/grub/xhci_nvme/patches/0008-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch (renamed from config/grub/xhci_nvme/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch)8
-rw-r--r--config/grub/xhci_nvme/patches/0009-usb-Add-enum-for-xHCI.patch (renamed from config/grub/xhci_nvme/patches/0015-usb-Add-enum-for-xHCI.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0010-usbtrans-Set-default-maximum-packet-size.patch (renamed from config/grub/xhci_nvme/patches/0016-usbtrans-Set-default-maximum-packet-size.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0011-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch (renamed from config/grub/xhci_nvme/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0012-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch (renamed from config/grub/xhci_nvme/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0013-grub-core-bus-usb-Add-xhci-support.patch (renamed from config/grub/xhci_nvme/patches/0019-grub-core-bus-usb-Add-xhci-support.patch)10
-rw-r--r--config/grub/xhci_nvme/patches/0014-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch (renamed from config/grub/xhci_nvme/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0015-xHCI-also-accept-SBRN-0x31-and-0x32.patch (renamed from config/grub/xhci_nvme/patches/0021-xHCI-also-accept-SBRN-0x31-and-0x32.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0016-xhci-fix-port-indexing.patch (renamed from config/grub/xhci_nvme/patches/0022-xhci-fix-port-indexing.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0017-xhci-configure-TT-for-non-root-hubs.patch (renamed from config/grub/xhci_nvme/patches/0023-xhci-configure-TT-for-non-root-hubs.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0018-Fix-compilation-on-x86_64.patch (renamed from config/grub/xhci_nvme/patches/0024-Fix-compilation-on-x86_64.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0019-Add-native-NVMe-driver-based-on-SeaBIOS.patch (renamed from config/grub/xhci_nvme/patches/0025-Add-native-NVMe-driver-based-on-SeaBIOS.patch)10
-rw-r--r--config/grub/xhci_nvme/patches/0020-kern-coreboot-mmap-Map-to-reserved.patch (renamed from config/grub/nvme/patches/0015-kern-coreboot-mmap-Map-to-reserved.patch)6
-rw-r--r--config/grub/xhci_nvme/patches/0021-Revert-configure-Check-linker-for-image-base-support.patch70
-rw-r--r--config/grub/xhci_nvme/patches/0022-Revert-configure-Print-a-more-helpful-error-if-autoc.patch30
-rw-r--r--config/grub/xhci_nvme/patches/0023-bootstrap-Don-t-download-po-files.patch91
-rw-r--r--config/grub/xhci_nvme/target.cfg2
-rw-r--r--config/ifd/e7240/gbebin0 -> 16384 bytes
-rw-r--r--config/ifd/e7240/ifdbin0 -> 4096 bytes
-rw-r--r--config/ifd/supermicro-x11-lga1151-series/ifdbin0 -> 4096 bytes
-rw-r--r--config/ifd/supermicro_x11_lga1151_series/ifdbin0 -> 4096 bytes
-rw-r--r--config/seabios/default/patches/0001-romfile-implement-a-generic-loader.patch6
-rw-r--r--config/seabios/default/patches/0002-vgahooks-optionroms-implement-mxm-3.0-interrupts.patch6
-rw-r--r--config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch10
-rw-r--r--config/seabios/default/target.cfg2
-rw-r--r--config/submodule/coreboot/default/acpica-unix-20250807.tar.gz/module.cfg5
-rw-r--r--config/submodule/coreboot/default/binutils-2.45.tar.xz/module.cfg5
-rw-r--r--config/submodule/coreboot/default/fsp/module.cfg2
-rw-r--r--config/submodule/coreboot/default/fspcc36ae2b5775fa7400cb3282680afc0f6cb37a3c/module.cfg5
-rw-r--r--config/submodule/coreboot/default/module.list1
-rw-r--r--config/submodule/grub/default/ast.po/module.cfg5
-rw-r--r--config/submodule/grub/default/ca.po/module.cfg5
-rw-r--r--config/submodule/grub/default/da.po/module.cfg5
-rw-r--r--config/submodule/grub/default/de.po/module.cfg5
-rw-r--r--config/submodule/grub/default/eo.po/module.cfg5
-rw-r--r--config/submodule/grub/default/es.po/module.cfg5
-rw-r--r--config/submodule/grub/default/fi.po/module.cfg5
-rw-r--r--config/submodule/grub/default/fr.po/module.cfg5
-rw-r--r--config/submodule/grub/default/gl.po/module.cfg5
-rw-r--r--config/submodule/grub/default/he.po/module.cfg5
-rw-r--r--config/submodule/grub/default/hr.po/module.cfg5
-rw-r--r--config/submodule/grub/default/hu.po/module.cfg5
-rw-r--r--config/submodule/grub/default/id.po/module.cfg5
-rw-r--r--config/submodule/grub/default/it.po/module.cfg5
-rw-r--r--config/submodule/grub/default/ja.po/module.cfg5
-rw-r--r--config/submodule/grub/default/ka.po/module.cfg5
-rw-r--r--config/submodule/grub/default/ko.po/module.cfg5
-rw-r--r--config/submodule/grub/default/lg.po/module.cfg5
-rw-r--r--config/submodule/grub/default/lt.po/module.cfg5
-rw-r--r--config/submodule/grub/default/module.list35
-rw-r--r--config/submodule/grub/default/nb.po/module.cfg5
-rw-r--r--config/submodule/grub/default/nl.po/module.cfg5
-rw-r--r--config/submodule/grub/default/pa.po/module.cfg5
-rw-r--r--config/submodule/grub/default/pl.po/module.cfg5
-rw-r--r--config/submodule/grub/default/pt.po/module.cfg5
-rw-r--r--config/submodule/grub/default/pt_BR.po/module.cfg5
-rw-r--r--config/submodule/grub/default/ro.po/module.cfg5
-rw-r--r--config/submodule/grub/default/ru.po/module.cfg5
-rw-r--r--config/submodule/grub/default/sl.po/module.cfg5
-rw-r--r--config/submodule/grub/default/sr.po/module.cfg5
-rw-r--r--config/submodule/grub/default/sv.po/module.cfg5
-rw-r--r--config/submodule/grub/default/tr.po/module.cfg5
-rw-r--r--config/submodule/grub/default/uk.po/module.cfg5
-rw-r--r--config/submodule/grub/default/vi.po/module.cfg5
-rw-r--r--config/submodule/grub/default/zh_CN.po/module.cfg5
-rw-r--r--config/submodule/grub/default/zh_TW.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/ast.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/ca.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/da.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/de.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/eo.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/es.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/fi.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/fr.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/gl.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/he.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/hr.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/hu.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/id.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/it.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/ja.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/ka.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/ko.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/lg.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/lt.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/module.list35
-rw-r--r--config/submodule/grub/nvme/nb.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/nl.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/pa.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/pl.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/pt.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/pt_BR.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/ro.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/ru.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/sl.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/sr.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/sv.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/tr.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/uk.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/vi.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/zh_CN.po/module.cfg5
-rw-r--r--config/submodule/grub/nvme/zh_TW.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/ast.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/ca.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/da.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/de.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/eo.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/es.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/fi.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/fr.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/gl.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/he.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/hr.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/hu.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/id.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/it.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/ja.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/ka.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/ko.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/lg.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/lt.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/module.list35
-rw-r--r--config/submodule/grub/xhci_nvme/nb.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/nl.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/pa.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/pl.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/pt.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/pt_BR.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/ro.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/ru.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/sl.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/sr.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/sv.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/tr.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/uk.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/vi.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/zh_CN.po/module.cfg5
-rw-r--r--config/submodule/grub/xhci_nvme/zh_TW.po/module.cfg5
-rw-r--r--config/u-boot/amd64coreboot/config/default4
-rw-r--r--config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch2
-rw-r--r--config/u-boot/i386coreboot/config/default4
-rw-r--r--config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch2
-rw-r--r--config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch2
-rw-r--r--config/vendor/e7240/pkg.cfg6
-rw-r--r--config/vendor/supermicro_x11_lga1151_series/pkg.cfg19
391 files changed, 4446 insertions, 11223 deletions
diff --git a/config/coreboot/d510mo/config/libgfxinit_txtmode b/config/coreboot/d510mo/config/libgfxinit_txtmode
index 5f1f5659..fff022f7 100644
--- a/config/coreboot/d510mo/config/libgfxinit_txtmode
+++ b/config/coreboot/d510mo/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -299,6 +297,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -377,7 +376,6 @@ CONFIG_SUPERIO_WINBOND_W83627THG=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -456,7 +454,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/d510mo_16mb/config/libgfxinit_txtmode b/config/coreboot/d510mo_16mb/config/libgfxinit_txtmode
index 76a1ca34..452dfa6e 100644
--- a/config/coreboot/d510mo_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/d510mo_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -299,6 +297,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -377,7 +376,6 @@ CONFIG_SUPERIO_WINBOND_W83627THG=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -456,7 +454,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/d945gclf_512kb/config/libgfxinit_txtmode b/config/coreboot/d945gclf_512kb/config/libgfxinit_txtmode
index cb68ce47..873aa50a 100644
--- a/config/coreboot/d945gclf_512kb/config/libgfxinit_txtmode
+++ b/config/coreboot/d945gclf_512kb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -231,10 +232,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_512=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
CONFIG_COREBOOT_ROMSIZE_KB_512=y
@@ -298,6 +296,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -376,7 +375,6 @@ CONFIG_SUPERIO_SMSC_LPC47M15X=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -451,7 +449,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/d945gclf_8mb/config/libgfxinit_txtmode b/config/coreboot/d945gclf_8mb/config/libgfxinit_txtmode
index 59d9c574..7fb799c2 100644
--- a/config/coreboot/d945gclf_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/d945gclf_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -231,10 +232,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_512=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -298,6 +296,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -376,7 +375,6 @@ CONFIG_SUPERIO_SMSC_LPC47M15X=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -451,7 +449,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/default/patches/0040-drivers-intel-dtbt-Add-discrete-Thunderbolt-driver.patch b/config/coreboot/default/patches/0040-drivers-intel-dtbt-Add-discrete-Thunderbolt-driver.patch
deleted file mode 100644
index 9fe5d3da..00000000
--- a/config/coreboot/default/patches/0040-drivers-intel-dtbt-Add-discrete-Thunderbolt-driver.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-From 0792e39c1684216860b228e6c0935066be1a21b6 Mon Sep 17 00:00:00 2001
-From: Jeremy Soller <jeremy@system76.com>
-Date: Fri, 31 May 2024 13:58:00 -0600
-Subject: [PATCH 40/41] drivers/intel/dtbt: Add discrete Thunderbolt driver
-
-Add a new driver which enables basic TBT support for the Alpine Ridge,
-Titan Ridge, and Maple Ridge discrete Thunderbolt controllers.
-
-This driver will initially be used on the Lenovo T480/T480s and
-System76 RPL-HX platform boards. It currently only supports a single
-dTBT controller.
-
-Ref: edk2-platforms KabylakeOpenBoardPkg reference implementation
-Ref: Titan Ridge BIOS Implementation Guide v1.4
-Ref: Maple Ridge BIOS Implementation Guide v1.6 (#632472)
-
-Change-Id: Ib78ce43740956fa2c93b9ebddb0eeb319dcc0364
-Signed-off-by: Jeremy Soller <jeremy@system76.com>
-Signed-off-by: Tim Crawford <tcrawford@system76.com>
-Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
----
- src/drivers/intel/dtbt/Kconfig | 6 +
- src/drivers/intel/dtbt/Makefile.mk | 3 +
- src/drivers/intel/dtbt/chip.h | 8 ++
- src/drivers/intel/dtbt/dtbt.c | 202 +++++++++++++++++++++++++++++
- src/drivers/intel/dtbt/dtbt.h | 73 +++++++++++
- 5 files changed, 292 insertions(+)
- create mode 100644 src/drivers/intel/dtbt/Kconfig
- create mode 100644 src/drivers/intel/dtbt/Makefile.mk
- create mode 100644 src/drivers/intel/dtbt/chip.h
- create mode 100644 src/drivers/intel/dtbt/dtbt.c
- create mode 100644 src/drivers/intel/dtbt/dtbt.h
-
-diff --git a/src/drivers/intel/dtbt/Kconfig b/src/drivers/intel/dtbt/Kconfig
-new file mode 100644
-index 0000000000..d895dbd288
---- /dev/null
-+++ b/src/drivers/intel/dtbt/Kconfig
-@@ -0,0 +1,6 @@
-+config DRIVERS_INTEL_DTBT
-+ def_bool n
-+ help
-+ Support for discrete Thunderbolt controllers.
-+ Currently only supports a single dTBT controller from the
-+ Alpine Ridge, Titan Ridge, and Maple Ridge families.
-diff --git a/src/drivers/intel/dtbt/Makefile.mk b/src/drivers/intel/dtbt/Makefile.mk
-new file mode 100644
-index 0000000000..1b5252dda0
---- /dev/null
-+++ b/src/drivers/intel/dtbt/Makefile.mk
-@@ -0,0 +1,3 @@
-+# SPDX-License-Identifier: GPL-2.0-only
-+
-+ramstage-$(CONFIG_DRIVERS_INTEL_DTBT) += dtbt.c
-diff --git a/src/drivers/intel/dtbt/chip.h b/src/drivers/intel/dtbt/chip.h
-new file mode 100644
-index 0000000000..2b1dfa70a5
---- /dev/null
-+++ b/src/drivers/intel/dtbt/chip.h
-@@ -0,0 +1,8 @@
-+/* SPDX-License-Identifier: GPL-2.0-only */
-+
-+#ifndef _DRIVERS_INTEL_DTBT_CHIP_H_
-+#define _DRIVERS_INTEL_DTBT_CHIP_H_
-+
-+struct drivers_intel_dtbt_config {};
-+
-+#endif /* _DRIVERS_INTEL_DTBT_CHIP_H_ */
-diff --git a/src/drivers/intel/dtbt/dtbt.c b/src/drivers/intel/dtbt/dtbt.c
-new file mode 100644
-index 0000000000..8613eee5e0
---- /dev/null
-+++ b/src/drivers/intel/dtbt/dtbt.c
-@@ -0,0 +1,202 @@
-+/* SPDX-License-Identifier: GPL-2.0-only */
-+
-+#include <acpi/acpigen.h>
-+#include <console/console.h>
-+#include <delay.h>
-+#include <device/device.h>
-+#include <device/pci.h>
-+#include <device/pciexp.h>
-+#include <device/pci_ids.h>
-+#include <timer.h>
-+#include "chip.h"
-+#include "dtbt.h"
-+
-+
-+/*
-+ * We only want to enable the first/primary bridge device,
-+ * as sending mailbox commands to secondary ones will fail,
-+ * and we only want to create a single ACPI device in the SSDT.
-+ */
-+static bool enable_done;
-+static bool ssdt_done;
-+
-+static void dtbt_cmd(struct device *dev, u32 command, u32 data, u32 timeout)
-+{
-+ u32 reg = (data << 8) | (command << 1) | PCIE2TBT_VALID;
-+ u32 status;
-+
-+ printk(BIOS_SPEW, "dTBT send command 0x%x\n", command);
-+ /* Send command */
-+ pci_write_config32(dev, PCIE2TBT, reg);
-+ /* Wait for done bit to be cleared */
-+ if (!wait_ms(timeout, (status = pci_read_config32(dev, TBT2PCIE)) & TBT2PCIE_DONE))
-+ printk(BIOS_ERR, "dTBT command 0x%x send timeout, status 0x%x\n", command, status);
-+ /* Clear valid bit */
-+ pci_write_config32(dev, PCIE2TBT, 0);
-+ /* Wait for done bit to be cleared */
-+ if (!wait_ms(timeout, (status = pci_read_config32(dev, TBT2PCIE)) & TBT2PCIE_DONE))
-+ printk(BIOS_ERR, "dTBT command 0x%x clear valid bit timeout, status 0x%x\n", command, status);
-+}
-+
-+static void dtbt_write_dsd(void)
-+{
-+ struct acpi_dp *dsd = acpi_dp_new_table("_DSD");
-+
-+ acpi_device_add_hotplug_support_in_d3(dsd);
-+ acpi_device_add_external_facing_port(dsd);
-+ acpi_dp_write(dsd);
-+}
-+
-+static void dtbt_write_opregion(const struct bus *bus)
-+{
-+ uintptr_t mmconf_base = (uintptr_t)CONFIG_ECAM_MMCONF_BASE_ADDRESS
-+ + (((uintptr_t)(bus->secondary)) << 20);
-+ const struct opregion opregion = OPREGION("PXCS", SYSTEMMEMORY, mmconf_base, 0x1000);
-+ const struct fieldlist fieldlist[] = {
-+ FIELDLIST_OFFSET(TBT2PCIE),
-+ FIELDLIST_NAMESTR("TB2P", 32),
-+ FIELDLIST_OFFSET(PCIE2TBT),
-+ FIELDLIST_NAMESTR("P2TB", 32),
-+ };
-+
-+ acpigen_write_opregion(&opregion);
-+ acpigen_write_field("PXCS", fieldlist, ARRAY_SIZE(fieldlist),
-+ FIELD_DWORDACC | FIELD_NOLOCK | FIELD_PRESERVE);
-+}
-+
-+static void dtbt_fill_ssdt(const struct device *dev)
-+{
-+ struct bus *bus;
-+ struct device *parent;
-+ const char *parent_scope;
-+ const char *dev_name = acpi_device_name(dev);
-+
-+ if (ssdt_done)
-+ return;
-+
-+ bus = dev->upstream;
-+ if (!bus) {
-+ printk(BIOS_ERR, "dTBT bus invalid\n");
-+ return;
-+ }
-+
-+ parent = bus->dev;
-+ if (!parent || !is_pci(parent)) {
-+ printk(BIOS_ERR, "dTBT parent invalid\n");
-+ return;
-+ }
-+
-+ parent_scope = acpi_device_path(parent);
-+ if (!parent_scope) {
-+ printk(BIOS_ERR, "dTBT parent scope not valid\n");
-+ return;
-+ }
-+
-+ /* Scope */
-+ acpigen_write_scope(parent_scope);
-+ dtbt_write_dsd();
-+
-+ /* Device */
-+ acpigen_write_device(dev_name);
-+ acpigen_write_name_integer("_ADR", 0);
-+ dtbt_write_opregion(bus);
-+
-+ /* PTS Method */
-+ acpigen_write_method_serialized("PTS", 0);
-+
-+ acpigen_write_debug_string("dTBT prepare to sleep");
-+ acpigen_write_store_int_to_namestr(PCIE2TBT_GO2SX_NO_WAKE << 1, "P2TB");
-+ acpigen_write_delay_until_namestr_int(GO2SX_TIMEOUT_MS, "TB2P", PCIE2TBT_GO2SX_NO_WAKE << 1);
-+
-+ acpigen_write_debug_namestr("TB2P");
-+ acpigen_write_store_int_to_namestr(0, "P2TB");
-+ acpigen_write_delay_until_namestr_int(GO2SX_TIMEOUT_MS, "TB2P", 0);
-+ acpigen_write_debug_namestr("TB2P");
-+
-+ acpigen_write_method_end();
-+ acpigen_write_device_end();
-+ acpigen_write_scope_end();
-+
-+ // \.TBTS Method
-+ acpigen_write_scope("\\");
-+ acpigen_write_method("TBTS", 0);
-+ acpigen_emit_namestring(acpi_device_path_join(dev, "PTS"));
-+ acpigen_write_method_end();
-+ acpigen_write_scope_end();
-+
-+ printk(BIOS_INFO, "%s.%s %s\n", parent_scope, dev_name, dev_path(dev));
-+ ssdt_done = true;
-+}
-+
-+static const char *dtbt_acpi_name(const struct device *dev)
-+{
-+ return "DTBT";
-+}
-+
-+static void dtbt_enable(struct device *dev)
-+{
-+ if (!is_dev_enabled(dev) || enable_done)
-+ return;
-+
-+ printk(BIOS_INFO, "dTBT controller found at %s\n", dev_path(dev));
-+
-+ // XXX: Recommendation is to set SL1 ("User Authorization")
-+ printk(BIOS_DEBUG, "dTBT set security level SL0\n");
-+ /* Set security level */
-+ dtbt_cmd(dev, PCIE2TBT_SET_SECURITY_LEVEL, SEC_LEVEL_NONE, MBOX_TIMEOUT_MS);
-+
-+ if (acpi_is_wakeup_s3()) {
-+ printk(BIOS_DEBUG, "dTBT SX exit\n");
-+ dtbt_cmd(dev, PCIE2TBT_SX_EXIT_TBT_CONNECTED, 0, MBOX_TIMEOUT_MS);
-+ /* Read TBT2PCIE register, verify not invalid */
-+ if (pci_read_config32(dev, TBT2PCIE) == 0xffffffff)
-+ printk(BIOS_ERR, "dTBT S3 resume failure.\n");
-+ } else {
-+ printk(BIOS_DEBUG, "dTBT set boot on\n");
-+ dtbt_cmd(dev, PCIE2TBT_BOOT_ON, 0, MBOX_TIMEOUT_MS);
-+ printk(BIOS_DEBUG, "dTBT set USB on\n");
-+ dtbt_cmd(dev, PCIE2TBT_USB_ON, 0, MBOX_TIMEOUT_MS);
-+ }
-+ enable_done = true;
-+}
-+
-+static struct pci_operations dtbt_device_ops_pci = {
-+ .set_subsystem = 0,
-+};
-+
-+static struct device_operations dtbt_device_ops = {
-+ .read_resources = pci_bus_read_resources,
-+ .set_resources = pci_dev_set_resources,
-+ .enable_resources = pci_bus_enable_resources,
-+ .acpi_fill_ssdt = dtbt_fill_ssdt,
-+ .acpi_name = dtbt_acpi_name,
-+ .scan_bus = pciexp_scan_bridge,
-+ .reset_bus = pci_bus_reset,
-+ .ops_pci = &dtbt_device_ops_pci,
-+ .enable = dtbt_enable
-+};
-+
-+/* We only want to match the (first) bridge device */
-+static const unsigned short pci_device_ids[] = {
-+ AR_2C_BRG,
-+ AR_4C_BRG,
-+ AR_LP_BRG,
-+ AR_4C_C0_BRG,
-+ AR_2C_C0_BRG,
-+ TR_2C_BRG,
-+ TR_4C_BRG,
-+ TR_DD_BRG,
-+ MR_2C_BRG,
-+ MR_4C_BRG,
-+ 0
-+};
-+
-+static const struct pci_driver intel_dtbt_driver __pci_driver = {
-+ .ops = &dtbt_device_ops,
-+ .vendor = PCI_VID_INTEL,
-+ .devices = pci_device_ids,
-+};
-+
-+struct chip_operations drivers_intel_dtbt_ops = {
-+ .name = "Intel Discrete Thunderbolt",
-+};
-diff --git a/src/drivers/intel/dtbt/dtbt.h b/src/drivers/intel/dtbt/dtbt.h
-new file mode 100644
-index 0000000000..d01d3a35ef
---- /dev/null
-+++ b/src/drivers/intel/dtbt/dtbt.h
-@@ -0,0 +1,73 @@
-+/* SPDX-License-Identifier: GPL-2.0-only */
-+
-+#ifndef _DRIVERS_INTEL_DTBT_H_
-+#define _DRIVERS_INTEL_DTBT_H_
-+
-+/* Alpine Ridge device IDs */
-+#define AR_2C_NHI 0x1575
-+#define AR_2C_BRG 0x1576
-+#define AR_2C_USB 0x15B5
-+#define AR_4C_NHI 0x1577
-+#define AR_4C_BRG 0x1578
-+#define AR_4C_USB 0x15B6
-+#define AR_LP_NHI 0x15BF
-+#define AR_LP_BRG 0x15C0
-+#define AR_LP_USB 0x15C1
-+#define AR_4C_C0_NHI 0x15D2
-+#define AR_4C_C0_BRG 0x15D3
-+#define AR_4C_C0_USB 0x15D4
-+#define AR_2C_C0_NHI 0x15D9
-+#define AR_2C_C0_BRG 0x15DA
-+#define AR_2C_C0_USB 0x15DB
-+
-+/* Titan Ridge device IDs */
-+#define TR_2C_BRG 0x15E7
-+#define TR_2C_NHI 0x15E8
-+#define TR_2C_USB 0x15E9
-+#define TR_4C_BRG 0x15EA
-+#define TR_4C_NHI 0x15EB
-+#define TR_4C_USB 0x15EC
-+#define TR_DD_BRG 0x15EF
-+#define TR_DD_USB 0x15F0
-+
-+/* Maple Ridge device IDs */
-+#define MR_2C_BRG 0x1133
-+#define MR_2C_NHI 0x1134
-+#define MR_2C_USB 0x1135
-+#define MR_4C_BRG 0x1136
-+#define MR_4C_NHI 0x1137
-+#define MR_4C_USB 0x1138
-+
-+/* Security Levels */
-+#define SEC_LEVEL_NONE 0
-+#define SEC_LEVEL_USER 1
-+#define SEC_LEVEL_AUTH 2
-+#define SEC_LEVEL_DP_ONLY 3
-+
-+#define PCIE2TBT 0x54C
-+#define PCIE2TBT_VALID BIT(0)
-+#define PCIE2TBT_GO2SX 2
-+#define PCIE2TBT_GO2SX_NO_WAKE 3
-+#define PCIE2TBT_SX_EXIT_TBT_CONNECTED 4
-+#define PCIE2TBT_OS_UP 6
-+#define PCIE2TBT_SET_SECURITY_LEVEL 8
-+#define PCIE2TBT_GET_SECURITY_LEVEL 9
-+#define PCIE2TBT_BOOT_ON 24
-+#define PCIE2TBT_USB_ON 25
-+#define PCIE2TBT_GET_ENUMERATION_METHOD 26
-+#define PCIE2TBT_SET_ENUMERATION_METHOD 27
-+#define PCIE2TBT_POWER_CYCLE 28
-+#define PCIE2TBT_SX_START 29
-+#define PCIE2TBT_ACL_BOOT 30
-+#define PCIE2TBT_CONNECT_TOPOLOGY 31
-+
-+#define TBT2PCIE 0x548
-+#define TBT2PCIE_DONE BIT(0)
-+
-+// Timeout for mailbox commands unless otherwise specified.
-+#define MBOX_TIMEOUT_MS 5000
-+
-+// Timeout for controller to ack GO2SX/GO2SX_NO_WAKE mailbox command.
-+#define GO2SX_TIMEOUT_MS 600
-+
-+#endif /* _DRIVERS_INTEL_DTBT_H_ */
---
-2.47.3
-
diff --git a/config/coreboot/default/patches/0041-mb-lenovo-t480-s-Enable-TBT-support.patch b/config/coreboot/default/patches/0041-mb-lenovo-t480-s-Enable-TBT-support.patch
deleted file mode 100644
index 77edba57..00000000
--- a/config/coreboot/default/patches/0041-mb-lenovo-t480-s-Enable-TBT-support.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 890eafaa914317b2a67a4b0df9c3a5ea04d88f05 Mon Sep 17 00:00:00 2001
-From: Matt DeVillier <matt.devillier@gmail.com>
-Date: Fri, 18 Jul 2025 14:24:05 -0500
-Subject: [PATCH 41/41] mb/lenovo/t480(s): Enable TBT support
-
-Select the discrete TBT controller driver, and configure the necessary
-GPIOs for the Alpine Ridge TBT controller to be fully functional.
-Update the documentation w/r/t TBT functionality.
-
-TEST=build/boot Lenovo T480, boot Linux, verify all TBT-related PCI
-devices populated, lower USB-C port works for USB data and PCIe.
-
-Change-Id: Ie5586fa72ed6819b9d1c37373c21605d39bad7b4
-Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
----
- Documentation/mainboard/lenovo/skylake.md | 3 +--
- src/mainboard/lenovo/sklkbl_thinkpad/Kconfig | 2 ++
- src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c | 8 ++++----
- .../lenovo/sklkbl_thinkpad/variants/t480s/gpio.c | 8 ++++----
- 4 files changed, 11 insertions(+), 10 deletions(-)
-
-diff --git a/Documentation/mainboard/lenovo/skylake.md b/Documentation/mainboard/lenovo/skylake.md
-index 64e075e2cd..352d91b3ef 100644
---- a/Documentation/mainboard/lenovo/skylake.md
-+++ b/Documentation/mainboard/lenovo/skylake.md
-@@ -193,8 +193,6 @@ binaries if only flashing the `bios` region.
-
- ## Known Issues
-
--- Alpine Ridge Thunderbolt 3 controller does not work
-- - Lower (right) USB-C port only works for charging/DP alt mode, not USB/PCIe data
- - Some Fn+F{1-12} keys aren't handled correctly
- - Nvidia dGPU is finicky
- - Needs option ROM
-@@ -206,6 +204,7 @@ binaries if only flashing the `bios` region.
-
- ## Verified Working
-
-+- Alpine Ridge Thunderbolt 3 controller
- - Integrated graphics init with libgfxinit
- - video output: internal (eDP), miniDP
- - ACPI support
-diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-index d69d94f638..c60b85af08 100644
---- a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-+++ b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-@@ -33,6 +33,7 @@ config BOARD_LENOVO_T480
- bool
- select BOARD_LENOVO_SKLKBL_THINKPAD_COMMON
- select SOC_INTEL_KABYLAKE
-+ select DRIVERS_INTEL_DTBT
- select MEC1653_HAS_DEBUG_UNLOCK
- select VARIANT_HAS_DGPU
-
-@@ -40,6 +41,7 @@ config BOARD_LENOVO_T480S
- bool
- select BOARD_LENOVO_SKLKBL_THINKPAD_COMMON
- select SOC_INTEL_KABYLAKE
-+ select DRIVERS_INTEL_DTBT
- select VARIANT_HAS_DGPU
-
- config BOARD_LENOVO_T580
-diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
-index f337843fd9..ffd2841e49 100644
---- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
-+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
-@@ -86,7 +86,7 @@ static const struct pad_config gpio_table[] = {
- PAD_NC(GPP_C18, NONE),
- PAD_NC(GPP_C19, NONE),
- PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */
-- PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */
-+ PAD_CFG_GPO(GPP_C21, 1, PLTRST), /* TBT_FORCE_PWR */
- PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */
- PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */
-
-@@ -191,9 +191,9 @@ static const struct pad_config gpio_table[] = {
- PAD_NC(GPP_G1, NONE),
- PAD_NC(GPP_G2, NONE),
- PAD_NC(GPP_G3, NONE),
-- PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */
-- PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */
-- PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */
-+ PAD_CFG_GPO(GPP_G4, 1, PLTRST), /* TBT_RTD3_PWR_EN */
-+ PAD_CFG_GPO(GPP_G5, 1, PLTRST), /* TBT_FORCE_USB_PWR */
-+ PAD_CFG_GPO(GPP_G6, 1, PLTRST), /* -TBT_PERST */
- PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */
- };
-
-diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
-index 4f1c57390d..c24c1abb07 100644
---- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
-+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
-@@ -82,7 +82,7 @@ static const struct pad_config gpio_table[] = {
- PAD_NC(GPP_C18, NONE),
- PAD_NC(GPP_C19, NONE),
- PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */
-- PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */
-+ PAD_CFG_GPO(GPP_C21, 1, PLTRST), /* TBT_FORCE_PWR */
- PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */
- PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */
-
-@@ -187,9 +187,9 @@ static const struct pad_config gpio_table[] = {
- PAD_NC(GPP_G1, NONE),
- PAD_NC(GPP_G2, NONE),
- PAD_NC(GPP_G3, NONE),
-- PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */
-- PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */
-- PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */
-+ PAD_CFG_GPO(GPP_G4, 1, PLTRST), /* TBT_RTD3_PWR_EN */
-+ PAD_CFG_GPO(GPP_G5, 1, PLTRST), /* TBT_FORCE_USB_PWR */
-+ PAD_CFG_GPO(GPP_G6, 1, PLTRST), /* -TBT_PERST */
- PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */
- };
-
---
-2.47.3
-
diff --git a/config/coreboot/default/patches/0045-mb-lenovo-t580-Enable-TBT-support.patch b/config/coreboot/default/patches/0045-mb-lenovo-t580-Enable-TBT-support.patch
deleted file mode 100644
index eafa934f..00000000
--- a/config/coreboot/default/patches/0045-mb-lenovo-t580-Enable-TBT-support.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 2a9e31b0f0bc22d41dfbc5813aa73176619bff9c Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Mon, 22 Dec 2025 11:08:46 +0000
-Subject: [PATCH 1/1] mb/lenovo/t580: Enable TBT support
-
-This is based on the same change made to the ThinkPad T480
-by Matt DeVillier.
-
-I simply applied the same changes myself, on the T580.
-
-Signed-off-by: Leah Rowe <leah@libreboot.org>
----
- src/mainboard/lenovo/sklkbl_thinkpad/Kconfig | 1 +
- src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/gpio.c | 8 ++++----
- 2 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-index c60b85af08..bad6c500d3 100644
---- a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-+++ b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-@@ -48,6 +48,7 @@ config BOARD_LENOVO_T580
- bool
- select BOARD_LENOVO_SKLKBL_THINKPAD_COMMON
- select SOC_INTEL_KABYLAKE
-+ select DRIVERS_INTEL_DTBT
- select MEC1653_HAS_DEBUG_UNLOCK
- select VARIANT_HAS_DGPU
-
-diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/gpio.c
-index 9c0da3c37e..35ec83152e 100644
---- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/gpio.c
-+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/gpio.c
-@@ -86,7 +86,7 @@ static const struct pad_config gpio_table[] = {
- PAD_NC(GPP_C18, NONE),
- PAD_NC(GPP_C19, NONE),
- PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */
-- PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */
-+ PAD_CFG_GPO(GPP_C21, 0, PLTRST), /* TBT_FORCE_PWR */
- PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */
- PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */
-
-@@ -191,9 +191,9 @@ static const struct pad_config gpio_table[] = {
- PAD_NC(GPP_G1, NONE),
- PAD_NC(GPP_G2, NONE),
- PAD_NC(GPP_G3, NONE),
-- PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */
-- PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */
-- PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */
-+ PAD_CFG_GPO(GPP_G4, 0, PLTRST), /* TBT_RTD3_PWR_EN */
-+ PAD_CFG_GPO(GPP_G5, 0, PLTRST), /* TBT_FORCE_USB_PWR */
-+ PAD_CFG_GPO(GPP_G6, 0, PLTRST), /* -TBT_PERST */
- PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */
- };
-
---
-2.47.3
-
diff --git a/config/coreboot/default/patches/0048-topton-x2e-n150-use-old-fsp.patch b/config/coreboot/default/patches/0048-topton-x2e-n150-use-old-fsp.patch
new file mode 100644
index 00000000..179cf6b3
--- /dev/null
+++ b/config/coreboot/default/patches/0048-topton-x2e-n150-use-old-fsp.patch
@@ -0,0 +1,34 @@
+From 3bb05d0486186400df8ed9ac66cfadcbff7a48a6 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Tue, 6 Jan 2026 21:42:21 +0000
+Subject: [PATCH 1/1] topton x2e n150: use old fsp
+
+i added the old fsp back, so that we didn't have to
+mess around with vendor files in lbmk, because coreboot
+upstream updated the fsp repo, which modified this
+fsp file.
+
+we know the old fsp worked. there's no point testing
+the new one yet, unless someone can tell me about
+real bugs that got fixed.
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ src/soc/intel/alderlake/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig
+index e9c56fc6b9..43cd6f8efe 100644
+--- a/src/soc/intel/alderlake/Kconfig
++++ b/src/soc/intel/alderlake/Kconfig
+@@ -438,6 +438,7 @@ config FSP_FD_PATH
+ default "3rdparty/fsp/RaptorLakeFspBinPkg/IoT/RaptorLakeS/FSP.fd" if FSP_TYPE_IOT && SOC_INTEL_RAPTORLAKE_PCH_S
+ default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeP/Fsp.fd" if FSP_TYPE_IOT && SOC_INTEL_ALDERLAKE_PCH_P
+ default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeS/Fsp.fd" if FSP_TYPE_IOT && SOC_INTEL_ALDERLAKE_PCH_S
++ default "3rdparty/fspcc36ae2b5775fa7400cb3282680afc0f6cb37a3c/AlderLakeFspBinPkg/IoT/AlderLakeN/Fsp.fd" if BOARD_TOPTON_X2E_N150
+ default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeN/Fsp.fd" if FSP_TYPE_IOT && SOC_INTEL_ALDERLAKE_PCH_N
+ default "3rdparty/fsp/RaptorLakeFspBinPkg/Client/RaptorLakeP/Fsp.fd" if SOC_INTEL_ALDERLAKE_PCH_P
+ default "3rdparty/fsp/RaptorLakeFspBinPkg/Client/RaptorLakeS/Fsp.fd" if SOC_INTEL_ALDERLAKE_PCH_S
+--
+2.47.3
+
diff --git a/config/coreboot/default/target.cfg b/config/coreboot/default/target.cfg
index 3c8ffee2..4e3a6f32 100644
--- a/config/coreboot/default/target.cfg
+++ b/config/coreboot/default/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="default"
-rev="def7aa7094122147aed5d36b8f50c56496ee7ab5"
+rev="fcd716d9a272461da1fdbaf1c048eb5a52c7896b"
diff --git a/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_corebootfb
index aa6b1fc8..d9c47723 100644
--- a/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -208,10 +209,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -475,7 +473,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -580,7 +577,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_txtmode b/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_txtmode
index 565cc19c..476b08fb 100644
--- a/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell3050micro_vfsp_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -206,10 +207,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -473,7 +471,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -572,7 +569,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x230t_16mb/config/libgfxinit_corebootfb b/config/coreboot/dell3050microsecure_vfsp_16mb/config/libgfxinit_corebootfb
index 0d6a02e4..c4e5027b 100644
--- a/config/coreboot/x230t_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell3050microsecure_vfsp_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -33,8 +34,8 @@ CONFIG_USE_BLOBS=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN is not set
-CONFIG_NO_STAGE_CACHE=y
-# CONFIG_TSEG_STAGE_CACHE is not set
+# CONFIG_NO_STAGE_CACHE is not set
+CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
@@ -68,7 +69,7 @@ CONFIG_NO_STAGE_CACHE=y
# 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_DELL=y
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_ERYING is not set
# CONFIG_VENDOR_EXAMPLE is not set
@@ -86,7 +87,7 @@ CONFIG_NO_STAGE_CACHE=y
# CONFIG_VENDOR_INVENTEC is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
+# 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
@@ -114,130 +115,100 @@ CONFIG_VENDOR_LENOVO=y
# CONFIG_VENDOR_TOPTON is not set
# CONFIG_VENDOR_UP is not set
# CONFIG_VENDOR_VIA is not set
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-CONFIG_MAINBOARD_FAMILY="ThinkPad X230t"
-CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X230t"
+CONFIG_MAINBOARD_PART_NUMBER="OptiPlex 3050 Micro"
CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/x230"
-CONFIG_VGA_BIOS_ID="8086,0166"
+CONFIG_MAINBOARD_DIR="dell/sklkbl_desktops"
+CONFIG_VGA_BIOS_ID="8086,0406"
CONFIG_DIMM_MAX=4
-CONFIG_DIMM_SPD_SIZE=256
+CONFIG_DIMM_SPD_SIZE=512
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xFE0000
-CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=1600
-CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=2560
-CONFIG_MAX_CPUS=8
+CONFIG_MAINBOARD_VENDOR="Dell Inc."
+CONFIG_CBFS_SIZE=0xEEE000
+# CONFIG_CONSOLE_SERIAL is not set
+CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=2160
+CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=3840
+CONFIG_MAX_CPUS=16
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
-CONFIG_VARIANT_DIR="x230"
+CONFIG_VARIANT_DIR="optiplex_3050"
CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
# CONFIG_VGA_BIOS is not set
CONFIG_PCIEXP_ASPM=y
-# CONFIG_PCIEXP_L1_SUB_STATE is not set
-# CONFIG_PCIEXP_CLK_PM is not set
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_DRAM_RESET_GATE_GPIO=10
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xf0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=64
+CONFIG_PCIEXP_L1_SUB_STATE=y
+CONFIG_PCIEXP_CLK_PM=y
+CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Dell Inc."
+CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
+CONFIG_ECAM_MMCONF_BUS_NUMBER=256
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
# CONFIG_FATAL_ASSERTS is not set
-CONFIG_USBDEBUG_HCD_INDEX=2
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
+CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(CONFIG_VARIANT_DIR)/data.vbt"
+# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="ThinkPad X230t"
+CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="OptiPlex 3050 Micro"
# CONFIG_CONSOLE_POST is not set
+CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
CONFIG_MAX_SOCKET=1
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
+CONFIG_USE_PM_ACPI_TIMER=y
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_DCACHE_RAM_BASE=0xfefe0000
-CONFIG_DCACHE_RAM_SIZE=0x20000
+# CONFIG_BOARD_DELL_E4300 is not set
+# CONFIG_BOARD_DELL_E6400 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E7240 is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_780_MT is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_780_USFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_SFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_MT is not set
+CONFIG_BOARD_DELL_OPTIPLEX_3050=y
+# CONFIG_BOARD_DELL_LATITUDE_E5420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6220 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6320 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5530 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6230 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6330 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6430 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6530 is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9010 is not set
+# CONFIG_BOARD_DELL_PRECISION_T1650 is not set
+# CONFIG_BOARD_DELL_XPS_8300 is not set
+CONFIG_BOARD_DELL_SKLKBL_DESKTOPS_COMMON=y
+CONFIG_DCACHE_RAM_BASE=0xfef00000
+CONFIG_DCACHE_RAM_SIZE=0x40000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x10000
+CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_HAVE_INTEL_FIRMWARE=y
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
-CONFIG_SPI_FLASH_WINBOND=y
-# CONFIG_DRIVERS_INTEL_WIFI is not set
-CONFIG_IFD_BIN_PATH="../../../config/ifd/xx30/16_ifd"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/xx30/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/xx30/gbe"
+CONFIG_DRIVERS_INTEL_WIFI=y
+CONFIG_IFD_BIN_PATH="../../../config/ifd/3050micro/ifd"
+CONFIG_ME_BIN_PATH="../../../vendorfiles/3050micro/me.bin"
+CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_GIGADEVICE=y
-CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
+CONFIG_USE_LEGACY_8254_TIMER=y
# CONFIG_DEBUG_SMI is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
CONFIG_HAVE_IFD_BIN=y
-CONFIG_PCIEXP_HOTPLUG_BUSES=8
-CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
-CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_M900 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-# CONFIG_BOARD_LENOVO_T470S is not set
-# CONFIG_BOARD_LENOVO_T480 is not set
-# CONFIG_BOARD_LENOVO_T480S is not set
-# CONFIG_BOARD_LENOVO_T580 is not set
-# CONFIG_BOARD_LENOVO_X280 is not set
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-# CONFIG_BOARD_LENOVO_X230 is not set
-CONFIG_BOARD_LENOVO_X230T=y
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_VBOOT_SLOTS_RW_AB=y
CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="LEN0020"
-CONFIG_THINKPADEC_HKEY_EISAID="LEN0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="LVDS"
+CONFIG_PS2M_EISAID="PNP0F13"
+CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
+# 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_GFX_GMA_PANEL_1_ON_EDP=y
+CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-# CONFIG_TPM_MEASURED_BOOT is not set
-CONFIG_BOARD_ROMSIZE_KB_12288=y
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
+CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
@@ -256,14 +227,12 @@ CONFIG_COREBOOT_ROMSIZE_KB=16384
CONFIG_ROM_SIZE=0x01000000
CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
+# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
+CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
+CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
# end of Mainboard
-CONFIG_SYSTEM_TYPE_LAPTOP=y
-
#
# Chipset
#
@@ -271,52 +240,193 @@ CONFIG_SYSTEM_TYPE_LAPTOP=y
#
# SoC
#
-CONFIG_CHIPSET_DEVICETREE="northbridge/intel/sandybridge/chipset.cb"
+CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
+CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
+CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x100000
-CONFIG_SMM_MODULE_STACK_SIZE=0x400
-CONFIG_SERIRQ_CONTINUOUS_MODE=y
-# CONFIG_USE_X86_64_SUPPORT is not set
-CONFIG_CPU_PT_ROM_MAP_GB=4
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x0
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xf0000000
-CONFIG_EHCI_BAR=0xfef00000
+CONFIG_SMM_RESERVED_SIZE=0x200000
+CONFIG_SMM_MODULE_STACK_SIZE=0x800
+CONFIG_ACPI_BERT_SIZE=0x0
+CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
+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_IFD_CHIPSET="sklkbl"
CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_INTEL_GMA_BCLV_OFFSET=0x48254
+CONFIG_MAX_ROOT_PORTS=24
+CONFIG_PCR_BASE_ADDRESS=0xfd000000
+CONFIG_CPU_BCLK_MHZ=100
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
+CONFIG_CPU_XTAL_HZ=24000000
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
+CONFIG_SOC_INTEL_I2C_DEV_MAX=6
+# CONFIG_ENABLE_SATA_TEST_MODE is not set
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
+CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
+CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
+CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
+CONFIG_FSP_PUBLISH_MBP_HOB=y
+CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
+CONFIG_MAX_HECI_DEVICES=5
CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_DCACHE_RAM_MRC_VAR_SIZE=0x0
-CONFIG_HPET_MIN_TICKS=0x80
-CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed10000
-CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
-CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
+CONFIG_HAVE_PAM0_REGISTER=y
CONFIG_PCIEXP_COMMON_CLOCK=y
+CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
+CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
+CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
+CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
+CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
CONFIG_CBFS_CACHE_ALIGN=8
+CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
+CONFIG_SOC_INTEL_KABYLAKE=y
+CONFIG_SKYLAKE_SOC_PCH_H=y
+CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_CPU=y
+CONFIG_MAINBOARD_SUPPORTS_COFFEELAKE_CPU=y
# CONFIG_ALWAYS_ALLOW_ABOVE_4G_ALLOCATION is not set
-CONFIG_FIXED_SMBUS_IO_BASE=0x400
+CONFIG_FSP_T_LOCATION=0xfffe0000
+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_CPPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
+CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
+# CONFIG_USE_COREBOOT_MP_INIT is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
+CONFIG_INTEL_CAR_NEM_ENHANCED=y
+# CONFIG_USE_INTEL_FSP_MP_INIT is not set
+CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
+CONFIG_HAVE_HYPERTHREADING=y
+# CONFIG_FSP_HYPERTHREADING is not set
+# CONFIG_INTEL_KEYLOCKER is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
+CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
+CONFIG_SOC_INTEL_CSE_RW_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_IOM_CBFS_NAME="cse_iom"
+CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
+CONFIG_CSE_RESET_CLEAR_EC_AP_IDLE_FLAG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
+CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
+CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
+# CONFIG_SOC_INTEL_DISABLE_IGD is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
+CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
+CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
+CONFIG_SA_ENABLE_DPR=y
+CONFIG_HAVE_CAPID_A_REGISTER=y
+CONFIG_HAVE_BDSM_BGSM_REGISTER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
+
+#
+# Intel SoC Common PCH Code
+#
+CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
+CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
+CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
+CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
+
+#
+# Intel SoC Common coreboot stages and non-IP blocks
+#
+CONFIG_SOC_INTEL_COMMON_BASECODE=y
+CONFIG_SOC_INTEL_COMMON_RESET=y
+CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
+CONFIG_PAVP=y
+# CONFIG_MMA is not set
+CONFIG_SOC_INTEL_COMMON_NHLT=y
+# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
#
# CPU
#
-CONFIG_CPU_INTEL_MODEL_206AX=y
+CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_MICROCODE_UPDATE_PRE_RAM=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
@@ -325,7 +435,6 @@ CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_NEED_SMALL_2MB_PAGE_TABLES=y
CONFIG_SMM_TSEG=y
CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
CONFIG_AP_STACK_SIZE=0x800
@@ -342,68 +451,26 @@ CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
#
# Northbridge
#
-CONFIG_USE_NATIVE_RAMINIT=y
-CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
-# CONFIG_NATIVE_RAMINIT_IGNORE_MAX_MEM_FUSES is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_MAX_DIMMS is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE is not set
-# CONFIG_RAMINIT_ALWAYS_ALLOW_DLL_OFF is not set
-CONFIG_RAMINIT_ENABLE_ECC=y
-CONFIG_IGD_DEFAULT_UMA_SIZE_32MB=y
-# CONFIG_IGD_DEFAULT_UMA_SIZE_64MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_96MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_128MB is not set
-CONFIG_IGD_DEFAULT_UMA_INDEX=0
#
# Southbridge
#
-CONFIG_SOUTHBRIDGE_INTEL_BD82X6X_COMMON=y
-CONFIG_SOUTHBRIDGE_INTEL_C216=y
-CONFIG_HIDE_MEI_ON_ERROR=y
-CONFIG_PCIEXP_HOTPLUG=y
+# CONFIG_PCIEXP_HOTPLUG is not set
CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
-CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_FINALIZE=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_INTEL_CHIPSET_LOCKDOWN=y
-CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
+CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-# CONFIG_H8_BEEP_ON_DEATH is not set
-# CONFIG_H8_FLASH_LEDS_ON_DEATH is not set
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
-CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -413,12 +480,19 @@ CONFIG_HAVE_ME_BIN=y
# CONFIG_CHECK_ME is not set
# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
# CONFIG_USE_ME_CLEANER is not set
-CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
-CONFIG_HAVE_GBE_BIN=y
# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
CONFIG_UNLOCK_FLASH_REGIONS=y
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
+CONFIG_UDK_BASE=y
+CONFIG_UDK_2017_BINDING=y
+CONFIG_UDK_2013_VERSION=2013
+CONFIG_UDK_2017_VERSION=2017
+CONFIG_UDK_202005_VERSION=202005
+CONFIG_UDK_202111_VERSION=202111
+CONFIG_UDK_202302_VERSION=202302
+CONFIG_UDK_202305_VERSION=202305
+CONFIG_UDK_VERSION=2017
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y
@@ -426,7 +500,6 @@ 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_HAVE_X86_64_SUPPORT=y
CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
@@ -451,9 +524,11 @@ CONFIG_DEFAULT_EBDA_SIZE=0x400
#
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
+CONFIG_HAVE_FSP_GOP=y
CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
CONFIG_MAINBOARD_USE_LIBGFXINIT=y
# CONFIG_VGA_ROM_RUN is not set
+# CONFIG_RUN_FSP_GOP is not set
# CONFIG_NO_GFX_INIT is not set
CONFIG_NO_EARLY_GFX_INIT=y
@@ -464,6 +539,10 @@ CONFIG_NO_EARLY_GFX_INIT=y
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_LINEAR_FRAMEBUFFER=y
# CONFIG_BOOTSPLASH is not set
+CONFIG_DEFAULT_SCREEN_ROTATION_NONE=y
+# CONFIG_DEFAULT_SCREEN_ROTATION_90 is not set
+# CONFIG_DEFAULT_SCREEN_ROTATION_180 is not set
+# CONFIG_DEFAULT_SCREEN_ROTATION_270 is not set
CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
# end of Display
@@ -473,15 +552,12 @@ 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=0x04000000
+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_PCIEXP_HOTPLUG_IO=0x2000
# CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
@@ -489,7 +565,8 @@ CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
+CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
+CONFIG_DRAM_SUPPORT_DDR4=y
CONFIG_DRAM_SUPPORT_DDR3=y
# end of Devices
@@ -498,32 +575,18 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
-# CONFIG_MRC_SETTINGS_PROTECT is not set
+CONFIG_MRC_SETTINGS_PROTECT=y
# CONFIG_DRIVERS_OPTION_CFR is not set
# CONFIG_SMMSTORE is not set
CONFIG_SPI_FLASH=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_SPI_FLASH_ADESTO=y
-CONFIG_SPI_FLASH_AMIC=y
-CONFIG_SPI_FLASH_ATMEL=y
-CONFIG_SPI_FLASH_EON=y
-CONFIG_SPI_FLASH_MACRONIX=y
-CONFIG_SPI_FLASH_SPANSION=y
-CONFIG_SPI_FLASH_SST=y
-CONFIG_SPI_FLASH_ISSI=y
-CONFIG_TPM_INIT_RAMSTAGE=y
-# CONFIG_TPM_PPI is not set
-CONFIG_NO_UART_ON_SUPERIO=y
+CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_OXPCIE is not set
-CONFIG_HAVE_USBDEBUG=y
-CONFIG_HAVE_USBDEBUG_OPTIONS=y
-# CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set
# CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
@@ -531,30 +594,45 @@ CONFIG_HAVE_USBDEBUG_OPTIONS=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVER_LENOVO_SERIALS=y
+CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_INTEL_INT15=y
+# CONFIG_FSP_USE_REPO is not set
+# CONFIG_DISPLAY_HOBS is not set
+# CONFIG_DISPLAY_UPD_DATA is not set
+CONFIG_PLATFORM_USES_FSP2_0=y
+CONFIG_PLATFORM_USES_FSP2_X86_32=y
+CONFIG_HAVE_INTEL_FSP_REPO=y
+CONFIG_ADD_FSP_BINARIES=y
+CONFIG_FSP_S_CBFS="fsps.bin"
+CONFIG_FSP_M_CBFS="fspm.bin"
+# CONFIG_FSP_FULL_FD is not set
+CONFIG_FSP_T_RESERVED_SIZE=0x0
+CONFIG_FSP_M_XIP=y
+CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
+CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
+CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
+CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
+# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
+# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
+CONFIG_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_GFX_GMA=y
-CONFIG_GFX_GMA_PANEL_1_ON_LVDS=y
CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Ironlake"
-CONFIG_GFX_GMA_PCH="Cougar_Point"
+CONFIG_GFX_GMA_GENERATION="Skylake"
+CONFIG_GFX_GMA_PCH="Sunrise_Point"
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y
-# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
+CONFIG_USE_PC_CMOS_ALTCENTURY=y
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-CONFIG_DRIVERS_RICOH_RCE822=y
# CONFIG_DRIVERS_SIL_3114 is not set
+CONFIG_DRIVERS_USB_ACPI=y
CONFIG_DRIVERS_WIFI_GENERIC=y
CONFIG_DRIVERS_MTK_WIFI=y
# end of Generic Drivers
@@ -577,12 +655,7 @@ CONFIG_DRIVERS_MTK_WIFI=y
#
# Trusted Platform Module
#
-CONFIG_TPM1=y
-# CONFIG_TPM2 is not set
-CONFIG_TPM=y
-CONFIG_MAINBOARD_HAS_TPM1=y
-# CONFIG_TPM_DEACTIVATE is not set
-# CONFIG_DEBUG_TPM is not set
+CONFIG_NO_TPM=y
CONFIG_PCR_BOOT_MODE=1
CONFIG_PCR_HWID=1
CONFIG_PCR_SRTM=2
@@ -594,24 +667,28 @@ CONFIG_PCR_RUNTIME_DATA=3
# Memory initialization
#
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
+# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
# end of Memory initialization
-# CONFIG_INTEL_TXT is not set
# CONFIG_STM is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
+# CONFIG_INTEL_CBNT_SUPPORT is not set
+# CONFIG_BOOTMEDIA_LOCK_NONE is not set
+CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
+CONFIG_BOOTMEDIA_LOCK_WHOLE_RO=y
+# CONFIG_BOOTMEDIA_LOCK_WHOLE_NO_ACCESS is not set
# CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_ACPI_SOC_NVS=y
+CONFIG_ACPI_CUSTOM_MADT=y
CONFIG_ACPI_NO_CUSTOM_MADT=y
CONFIG_ACPI_COMMON_MADT_LAPIC=y
CONFIG_ACPI_COMMON_MADT_IOAPIC=y
CONFIG_HAVE_ACPI_TABLES=y
+CONFIG_ACPI_LPIT=y
CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
@@ -649,18 +726,18 @@ CONFIG_POST_IO_PORT=0x80
CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
+CONFIG_ACPI_S1_NOT_SUPPORTED=y
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_RESUME_PATH_SAME_AS_BOOT=y
CONFIG_HAVE_MONOTONIC_TIMER=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_IOAPIC=y
-CONFIG_USE_WATCHDOG_ON_BOOT=y
+CONFIG_ACPI_NHLT=y
#
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_SMBIOS_PROVIDED_BY_MOBO=y
CONFIG_BIOS_VENDOR="coreboot"
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
@@ -687,13 +764,20 @@ CONFIG_PAYLOAD_NONE=y
#
# BLOB Debug Settings
#
+# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
+# CONFIG_DISPLAY_FSP_HEADER is not set
+# CONFIG_VERIFY_HOBS is not set
+# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
+CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
+# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
#
# General Debug Settings
#
+# CONFIG_GDB_STUB is not set
+CONFIG_HAVE_DEBUG_GPIO=y
+# CONFIG_DEBUG_GPIO is not set
# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_RAM_SETUP=y
-# CONFIG_DEBUG_RAM_SETUP is not set
CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
@@ -708,7 +792,7 @@ CONFIG_HAVE_EM100_SUPPORT=y
CONFIG_RAMSTAGE_ADA=y
CONFIG_RAMSTAGE_LIBHWBASE=y
CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xf0000000
+CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
CONFIG_HWBASE_DIRECT_PCIDEV=y
CONFIG_DECOMPRESS_OFAST=y
diff --git a/config/coreboot/x230_16mb/config/libgfxinit_corebootfb b/config/coreboot/dell3050microsecure_vfsp_16mb/config/libgfxinit_txtmode
index 20e7f26e..04f7e489 100644
--- a/config/coreboot/x230_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell3050microsecure_vfsp_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -33,8 +34,8 @@ CONFIG_USE_BLOBS=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN is not set
-CONFIG_NO_STAGE_CACHE=y
-# CONFIG_TSEG_STAGE_CACHE is not set
+# CONFIG_NO_STAGE_CACHE is not set
+CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
@@ -68,7 +69,7 @@ CONFIG_NO_STAGE_CACHE=y
# 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_DELL=y
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_ERYING is not set
# CONFIG_VENDOR_EXAMPLE is not set
@@ -86,7 +87,7 @@ CONFIG_NO_STAGE_CACHE=y
# CONFIG_VENDOR_INVENTEC is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
+# 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
@@ -114,130 +115,98 @@ CONFIG_VENDOR_LENOVO=y
# CONFIG_VENDOR_TOPTON is not set
# CONFIG_VENDOR_UP is not set
# CONFIG_VENDOR_VIA is not set
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-CONFIG_MAINBOARD_FAMILY="ThinkPad X230"
-CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X230"
+CONFIG_MAINBOARD_PART_NUMBER="OptiPlex 3050 Micro"
CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/x230"
-CONFIG_VGA_BIOS_ID="8086,0166"
+CONFIG_MAINBOARD_DIR="dell/sklkbl_desktops"
+CONFIG_VGA_BIOS_ID="8086,0406"
CONFIG_DIMM_MAX=4
-CONFIG_DIMM_SPD_SIZE=256
+CONFIG_DIMM_SPD_SIZE=512
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xFE0000
-CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=1600
-CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=2560
-CONFIG_MAX_CPUS=8
+CONFIG_MAINBOARD_VENDOR="Dell Inc."
+CONFIG_CBFS_SIZE=0xEEE000
+# CONFIG_CONSOLE_SERIAL is not set
+CONFIG_MAX_CPUS=16
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
-CONFIG_VARIANT_DIR="x230"
+CONFIG_VARIANT_DIR="optiplex_3050"
CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
# CONFIG_VGA_BIOS is not set
CONFIG_PCIEXP_ASPM=y
-# CONFIG_PCIEXP_L1_SUB_STATE is not set
-# CONFIG_PCIEXP_CLK_PM is not set
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_DRAM_RESET_GATE_GPIO=10
-CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xf0000000
-CONFIG_ECAM_MMCONF_BUS_NUMBER=64
+CONFIG_PCIEXP_L1_SUB_STATE=y
+CONFIG_PCIEXP_CLK_PM=y
+CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Dell Inc."
+CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
+CONFIG_ECAM_MMCONF_BUS_NUMBER=256
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
# CONFIG_FATAL_ASSERTS is not set
-CONFIG_USBDEBUG_HCD_INDEX=2
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
+CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(CONFIG_VARIANT_DIR)/data.vbt"
+# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="ThinkPad X230"
+CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="OptiPlex 3050 Micro"
# CONFIG_CONSOLE_POST is not set
+CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
CONFIG_MAX_SOCKET=1
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
+CONFIG_USE_PM_ACPI_TIMER=y
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_DCACHE_RAM_BASE=0xfefe0000
-CONFIG_DCACHE_RAM_SIZE=0x20000
+# CONFIG_BOARD_DELL_E4300 is not set
+# CONFIG_BOARD_DELL_E6400 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E7240 is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_780_MT is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_780_USFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_SFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_MT is not set
+CONFIG_BOARD_DELL_OPTIPLEX_3050=y
+# CONFIG_BOARD_DELL_LATITUDE_E5420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6220 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6320 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5530 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6230 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6330 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6430 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6530 is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9010 is not set
+# CONFIG_BOARD_DELL_PRECISION_T1650 is not set
+# CONFIG_BOARD_DELL_XPS_8300 is not set
+CONFIG_BOARD_DELL_SKLKBL_DESKTOPS_COMMON=y
+CONFIG_DCACHE_RAM_BASE=0xfef00000
+CONFIG_DCACHE_RAM_SIZE=0x40000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x10000
+CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_HAVE_INTEL_FIRMWARE=y
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
-CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
-CONFIG_SPI_FLASH_WINBOND=y
-# CONFIG_DRIVERS_INTEL_WIFI is not set
-CONFIG_IFD_BIN_PATH="../../../config/ifd/xx30/16_ifd"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/xx30/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/xx30/gbe"
+CONFIG_DRIVERS_INTEL_WIFI=y
+CONFIG_IFD_BIN_PATH="../../../config/ifd/3050micro/ifd"
+CONFIG_ME_BIN_PATH="../../../vendorfiles/3050micro/me.bin"
+CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
-CONFIG_SPI_FLASH_GIGADEVICE=y
-CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
+CONFIG_USE_LEGACY_8254_TIMER=y
# CONFIG_DEBUG_SMI is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
CONFIG_HAVE_IFD_BIN=y
-CONFIG_PCIEXP_HOTPLUG_BUSES=8
-CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
-CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_M900 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-# CONFIG_BOARD_LENOVO_T470S is not set
-# CONFIG_BOARD_LENOVO_T480 is not set
-# CONFIG_BOARD_LENOVO_T480S is not set
-# CONFIG_BOARD_LENOVO_T580 is not set
-# CONFIG_BOARD_LENOVO_X280 is not set
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-CONFIG_BOARD_LENOVO_X230=y
-# CONFIG_BOARD_LENOVO_X230T is not set
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_VBOOT_SLOTS_RW_AB=y
CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="LEN0020"
-CONFIG_THINKPADEC_HKEY_EISAID="LEN0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="LVDS"
+CONFIG_PS2M_EISAID="PNP0F13"
+CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
+# 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_GFX_GMA_PANEL_1_ON_EDP=y
+CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-# CONFIG_TPM_MEASURED_BOOT is not set
-CONFIG_BOARD_ROMSIZE_KB_12288=y
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
+CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
@@ -256,14 +225,12 @@ CONFIG_COREBOOT_ROMSIZE_KB=16384
CONFIG_ROM_SIZE=0x01000000
CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
-CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
-# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
+# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
+CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
-CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
+CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
# end of Mainboard
-CONFIG_SYSTEM_TYPE_LAPTOP=y
-
#
# Chipset
#
@@ -271,52 +238,193 @@ CONFIG_SYSTEM_TYPE_LAPTOP=y
#
# SoC
#
-CONFIG_CHIPSET_DEVICETREE="northbridge/intel/sandybridge/chipset.cb"
+CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
+CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
+CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_SMM_TSEG_SIZE=0x800000
-CONFIG_SMM_RESERVED_SIZE=0x100000
-CONFIG_SMM_MODULE_STACK_SIZE=0x400
-CONFIG_SERIRQ_CONTINUOUS_MODE=y
-# CONFIG_USE_X86_64_SUPPORT is not set
-CONFIG_CPU_PT_ROM_MAP_GB=4
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x0
-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xf0000000
-CONFIG_EHCI_BAR=0xfef00000
+CONFIG_SMM_RESERVED_SIZE=0x200000
+CONFIG_SMM_MODULE_STACK_SIZE=0x800
+CONFIG_ACPI_BERT_SIZE=0x0
+CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
+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_IFD_CHIPSET="sklkbl"
CONFIG_IED_REGION_SIZE=0x400000
-CONFIG_INTEL_GMA_BCLV_OFFSET=0x48254
+CONFIG_MAX_ROOT_PORTS=24
+CONFIG_PCR_BASE_ADDRESS=0xfd000000
+CONFIG_CPU_BCLK_MHZ=100
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
+CONFIG_CPU_XTAL_HZ=24000000
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
+CONFIG_SOC_INTEL_I2C_DEV_MAX=6
+# CONFIG_ENABLE_SATA_TEST_MODE is not set
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
+CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
+CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
+CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
+CONFIG_FSP_PUBLISH_MBP_HOB=y
+CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
+CONFIG_MAX_HECI_DEVICES=5
CONFIG_BOOTBLOCK_IN_CBFS=y
-CONFIG_DCACHE_RAM_MRC_VAR_SIZE=0x0
-CONFIG_HPET_MIN_TICKS=0x80
-CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed10000
-CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
-CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
+CONFIG_HAVE_PAM0_REGISTER=y
CONFIG_PCIEXP_COMMON_CLOCK=y
+CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
+CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
+CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
+CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
+CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
CONFIG_CBFS_CACHE_ALIGN=8
+CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
+CONFIG_SOC_INTEL_KABYLAKE=y
+CONFIG_SKYLAKE_SOC_PCH_H=y
+CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_CPU=y
+CONFIG_MAINBOARD_SUPPORTS_COFFEELAKE_CPU=y
# CONFIG_ALWAYS_ALLOW_ABOVE_4G_ALLOCATION is not set
-CONFIG_FIXED_SMBUS_IO_BASE=0x400
+CONFIG_FSP_T_LOCATION=0xfffe0000
+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_CPPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
+CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
+# CONFIG_USE_COREBOOT_MP_INIT is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
+CONFIG_INTEL_CAR_NEM_ENHANCED=y
+# CONFIG_USE_INTEL_FSP_MP_INIT is not set
+CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
+CONFIG_HAVE_HYPERTHREADING=y
+# CONFIG_FSP_HYPERTHREADING is not set
+# CONFIG_INTEL_KEYLOCKER is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
+CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
+CONFIG_SOC_INTEL_CSE_RW_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_IOM_CBFS_NAME="cse_iom"
+CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
+CONFIG_CSE_RESET_CLEAR_EC_AP_IDLE_FLAG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
+CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
+CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
+# CONFIG_SOC_INTEL_DISABLE_IGD is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
+CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
+CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
+CONFIG_SA_ENABLE_DPR=y
+CONFIG_HAVE_CAPID_A_REGISTER=y
+CONFIG_HAVE_BDSM_BGSM_REGISTER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
+
+#
+# Intel SoC Common PCH Code
+#
+CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
+CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
+CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
+CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
+
+#
+# Intel SoC Common coreboot stages and non-IP blocks
+#
+CONFIG_SOC_INTEL_COMMON_BASECODE=y
+CONFIG_SOC_INTEL_COMMON_RESET=y
+CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
+CONFIG_PAVP=y
+# CONFIG_MMA is not set
+CONFIG_SOC_INTEL_COMMON_NHLT=y
+# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
#
# CPU
#
-CONFIG_CPU_INTEL_MODEL_206AX=y
+CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
-CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_MICROCODE_UPDATE_PRE_RAM=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
@@ -325,7 +433,6 @@ CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_NEED_SMALL_2MB_PAGE_TABLES=y
CONFIG_SMM_TSEG=y
CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
CONFIG_AP_STACK_SIZE=0x800
@@ -342,68 +449,26 @@ CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
#
# Northbridge
#
-CONFIG_USE_NATIVE_RAMINIT=y
-CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
-# CONFIG_NATIVE_RAMINIT_IGNORE_MAX_MEM_FUSES is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_MAX_DIMMS is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE is not set
-# CONFIG_RAMINIT_ALWAYS_ALLOW_DLL_OFF is not set
-CONFIG_RAMINIT_ENABLE_ECC=y
-CONFIG_IGD_DEFAULT_UMA_SIZE_32MB=y
-# CONFIG_IGD_DEFAULT_UMA_SIZE_64MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_96MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_128MB is not set
-CONFIG_IGD_DEFAULT_UMA_INDEX=0
#
# Southbridge
#
-CONFIG_SOUTHBRIDGE_INTEL_BD82X6X_COMMON=y
-CONFIG_SOUTHBRIDGE_INTEL_C216=y
-CONFIG_HIDE_MEI_ON_ERROR=y
-CONFIG_PCIEXP_HOTPLUG=y
+# CONFIG_PCIEXP_HOTPLUG is not set
CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
-CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_FINALIZE=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
-CONFIG_INTEL_CHIPSET_LOCKDOWN=y
-CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
+CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-# CONFIG_H8_BEEP_ON_DEATH is not set
-# CONFIG_H8_FLASH_LEDS_ON_DEATH is not set
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
-CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -413,12 +478,19 @@ CONFIG_HAVE_ME_BIN=y
# CONFIG_CHECK_ME is not set
# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
# CONFIG_USE_ME_CLEANER is not set
-CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
-CONFIG_HAVE_GBE_BIN=y
# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
CONFIG_UNLOCK_FLASH_REGIONS=y
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
+CONFIG_UDK_BASE=y
+CONFIG_UDK_2017_BINDING=y
+CONFIG_UDK_2013_VERSION=2013
+CONFIG_UDK_2017_VERSION=2017
+CONFIG_UDK_202005_VERSION=202005
+CONFIG_UDK_202111_VERSION=202111
+CONFIG_UDK_202302_VERSION=202302
+CONFIG_UDK_202305_VERSION=202305
+CONFIG_UDK_VERSION=2017
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y
@@ -426,7 +498,6 @@ 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_HAVE_X86_64_SUPPORT=y
CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
@@ -451,19 +522,19 @@ CONFIG_DEFAULT_EBDA_SIZE=0x400
#
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
+CONFIG_HAVE_FSP_GOP=y
CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
CONFIG_MAINBOARD_USE_LIBGFXINIT=y
# CONFIG_VGA_ROM_RUN is not set
+# CONFIG_RUN_FSP_GOP is not set
# CONFIG_NO_GFX_INIT is not set
CONFIG_NO_EARLY_GFX_INIT=y
#
# Display
#
-# CONFIG_VGA_TEXT_FRAMEBUFFER is not set
-CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
-CONFIG_LINEAR_FRAMEBUFFER=y
-# CONFIG_BOOTSPLASH is not set
+CONFIG_VGA_TEXT_FRAMEBUFFER=y
+# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
# end of Display
@@ -473,15 +544,12 @@ 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=0x04000000
+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_PCIEXP_HOTPLUG_IO=0x2000
# CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
@@ -489,7 +557,8 @@ CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
+CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
+CONFIG_DRAM_SUPPORT_DDR4=y
CONFIG_DRAM_SUPPORT_DDR3=y
# end of Devices
@@ -498,32 +567,18 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
-# CONFIG_MRC_SETTINGS_PROTECT is not set
+CONFIG_MRC_SETTINGS_PROTECT=y
# CONFIG_DRIVERS_OPTION_CFR is not set
# CONFIG_SMMSTORE is not set
CONFIG_SPI_FLASH=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
-CONFIG_SPI_FLASH_ADESTO=y
-CONFIG_SPI_FLASH_AMIC=y
-CONFIG_SPI_FLASH_ATMEL=y
-CONFIG_SPI_FLASH_EON=y
-CONFIG_SPI_FLASH_MACRONIX=y
-CONFIG_SPI_FLASH_SPANSION=y
-CONFIG_SPI_FLASH_SST=y
-CONFIG_SPI_FLASH_ISSI=y
-CONFIG_TPM_INIT_RAMSTAGE=y
-# CONFIG_TPM_PPI is not set
-CONFIG_NO_UART_ON_SUPERIO=y
+CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_OXPCIE is not set
-CONFIG_HAVE_USBDEBUG=y
-CONFIG_HAVE_USBDEBUG_OPTIONS=y
-# CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set
# CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
@@ -531,30 +586,46 @@ CONFIG_HAVE_USBDEBUG_OPTIONS=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVER_LENOVO_SERIALS=y
+CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_INTEL_INT15=y
+# CONFIG_FSP_USE_REPO is not set
+# CONFIG_DISPLAY_HOBS is not set
+# CONFIG_DISPLAY_UPD_DATA is not set
+CONFIG_PLATFORM_USES_FSP2_0=y
+CONFIG_PLATFORM_USES_FSP2_X86_32=y
+CONFIG_HAVE_INTEL_FSP_REPO=y
+CONFIG_ADD_FSP_BINARIES=y
+CONFIG_FSP_S_CBFS="fsps.bin"
+CONFIG_FSP_M_CBFS="fspm.bin"
+# CONFIG_FSP_FULL_FD is not set
+CONFIG_FSP_T_RESERVED_SIZE=0x0
+CONFIG_FSP_M_XIP=y
+CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
+CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
+CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
+CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
+# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
+# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
+CONFIG_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_GFX_GMA=y
-CONFIG_GFX_GMA_PANEL_1_ON_LVDS=y
CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Ironlake"
-CONFIG_GFX_GMA_PCH="Cougar_Point"
+CONFIG_GFX_GMA_GENERATION="Skylake"
+CONFIG_GFX_GMA_PCH="Sunrise_Point"
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y
-# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
+CONFIG_USE_PC_CMOS_ALTCENTURY=y
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-CONFIG_DRIVERS_RICOH_RCE822=y
+CONFIG_VGA=y
# CONFIG_DRIVERS_SIL_3114 is not set
+CONFIG_DRIVERS_USB_ACPI=y
CONFIG_DRIVERS_WIFI_GENERIC=y
CONFIG_DRIVERS_MTK_WIFI=y
# end of Generic Drivers
@@ -577,12 +648,7 @@ CONFIG_DRIVERS_MTK_WIFI=y
#
# Trusted Platform Module
#
-CONFIG_TPM1=y
-# CONFIG_TPM2 is not set
-CONFIG_TPM=y
-CONFIG_MAINBOARD_HAS_TPM1=y
-# CONFIG_TPM_DEACTIVATE is not set
-# CONFIG_DEBUG_TPM is not set
+CONFIG_NO_TPM=y
CONFIG_PCR_BOOT_MODE=1
CONFIG_PCR_HWID=1
CONFIG_PCR_SRTM=2
@@ -594,24 +660,28 @@ CONFIG_PCR_RUNTIME_DATA=3
# Memory initialization
#
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
-CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
+# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
# end of Memory initialization
-# CONFIG_INTEL_TXT is not set
# CONFIG_STM is not set
-CONFIG_BOOTMEDIA_LOCK_NONE=y
-# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
+# CONFIG_INTEL_CBNT_SUPPORT is not set
+# CONFIG_BOOTMEDIA_LOCK_NONE is not set
+CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
+CONFIG_BOOTMEDIA_LOCK_WHOLE_RO=y
+# CONFIG_BOOTMEDIA_LOCK_WHOLE_NO_ACCESS is not set
# CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_ACPI_SOC_NVS=y
+CONFIG_ACPI_CUSTOM_MADT=y
CONFIG_ACPI_NO_CUSTOM_MADT=y
CONFIG_ACPI_COMMON_MADT_LAPIC=y
CONFIG_ACPI_COMMON_MADT_IOAPIC=y
CONFIG_HAVE_ACPI_TABLES=y
+CONFIG_ACPI_LPIT=y
CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
@@ -649,18 +719,18 @@ CONFIG_POST_IO_PORT=0x80
CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
+CONFIG_ACPI_S1_NOT_SUPPORTED=y
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_RESUME_PATH_SAME_AS_BOOT=y
CONFIG_HAVE_MONOTONIC_TIMER=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_IOAPIC=y
-CONFIG_USE_WATCHDOG_ON_BOOT=y
+CONFIG_ACPI_NHLT=y
#
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_SMBIOS_PROVIDED_BY_MOBO=y
CONFIG_BIOS_VENDOR="coreboot"
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
@@ -687,13 +757,20 @@ CONFIG_PAYLOAD_NONE=y
#
# BLOB Debug Settings
#
+# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
+# CONFIG_DISPLAY_FSP_HEADER is not set
+# CONFIG_VERIFY_HOBS is not set
+# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
+CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
+# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
#
# General Debug Settings
#
+# CONFIG_GDB_STUB is not set
+CONFIG_HAVE_DEBUG_GPIO=y
+# CONFIG_DEBUG_GPIO is not set
# CONFIG_DEBUG_CBFS is not set
-CONFIG_HAVE_DEBUG_RAM_SETUP=y
-# CONFIG_DEBUG_RAM_SETUP is not set
CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
@@ -708,7 +785,7 @@ CONFIG_HAVE_EM100_SUPPORT=y
CONFIG_RAMSTAGE_ADA=y
CONFIG_RAMSTAGE_LIBHWBASE=y
CONFIG_HWBASE_DYNAMIC_MMIO=y
-CONFIG_HWBASE_DEFAULT_MMCONF=0xf0000000
+CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
CONFIG_HWBASE_DIRECT_PCIDEV=y
CONFIG_DECOMPRESS_OFAST=y
diff --git a/config/coreboot/dell3050microsecure_vfsp_16mb/target.cfg b/config/coreboot/dell3050microsecure_vfsp_16mb/target.cfg
new file mode 100644
index 00000000..37455fbe
--- /dev/null
+++ b/config/coreboot/dell3050microsecure_vfsp_16mb/target.cfg
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+tree="default"
+xarch="i386-elf"
+payload_seabios="y"
+payload_grub="y"
+payload_memtest="y"
+grub_scan_disk="nvme ahci"
+grubtree="xhci_nvme"
+vcfg="3050micro"
+build_depend="seabios/default grub/xhci_nvme memtest86plus u-boot/amd64coreboot"
+IFD_platform="sklkbl"
+payload_uboot="amd64"
+payload_grubsea="y"
diff --git a/config/coreboot/dell7010sff_12mb/config/libgfxinit_txtmode b/config/coreboot/dell7010sff_12mb/config/libgfxinit_txtmode
index a16bbd1b..6f38404d 100644
--- a/config/coreboot/dell7010sff_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell7010sff_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -210,10 +211,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -371,7 +369,6 @@ CONFIG_SUPERIO_SMSC_SCH5545=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -464,7 +461,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780mt_8mb/config/libgfxinit_corebootfb b/config/coreboot/dell780mt_8mb/config/libgfxinit_corebootfb
index 13608e0d..84df0396 100644
--- a/config/coreboot/dell780mt_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell780mt_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -350,7 +348,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -417,6 +414,7 @@ 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
@@ -444,7 +442,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780mt_8mb/config/libgfxinit_txtmode b/config/coreboot/dell780mt_8mb/config/libgfxinit_txtmode
index a1ec8025..863dd41e 100644
--- a/config/coreboot/dell780mt_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell780mt_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -348,7 +346,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -413,6 +410,7 @@ 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
@@ -440,7 +438,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_corebootfb b/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_corebootfb
index 0b1145e6..bc670859 100644
--- a/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -350,7 +348,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -417,6 +414,7 @@ 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
@@ -444,7 +442,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_txtmode b/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_txtmode
index aac41781..2b593d95 100644
--- a/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell780mt_truncate_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -348,7 +346,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -413,6 +410,7 @@ 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
@@ -440,7 +438,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780usff_8mb/config/libgfxinit_corebootfb b/config/coreboot/dell780usff_8mb/config/libgfxinit_corebootfb
index 74792ff0..2d061261 100644
--- a/config/coreboot/dell780usff_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell780usff_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -350,7 +348,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -417,6 +414,7 @@ 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
@@ -444,7 +442,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780usff_8mb/config/libgfxinit_txtmode b/config/coreboot/dell780usff_8mb/config/libgfxinit_txtmode
index ea792658..ac32478f 100644
--- a/config/coreboot/dell780usff_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell780usff_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -348,7 +346,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -413,6 +410,7 @@ 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
@@ -440,7 +438,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_corebootfb b/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_corebootfb
index 1c51b1f6..c26bcc37 100644
--- a/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -350,7 +348,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -417,6 +414,7 @@ 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
@@ -444,7 +442,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_txtmode b/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_txtmode
index 6c1494df..e4eba977 100644
--- a/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell780usff_truncate_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -348,7 +346,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -413,6 +410,7 @@ 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
@@ -440,7 +438,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_corebootfb b/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_corebootfb
index d58009e8..6b20b177 100644
--- a/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -356,7 +354,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -447,7 +444,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_txtmode b/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_txtmode
index a847ca54..029d61e0 100644
--- a/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell9020mt_nri_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -354,7 +352,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -443,7 +440,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_corebootfb b/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_corebootfb
index 4c5322e3..c923f242 100644
--- a/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -356,7 +354,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -447,7 +444,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_txtmode b/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_txtmode
index 5b17c956..a607d25f 100644
--- a/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/dell9020sff_nri_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -354,7 +352,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -443,7 +440,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e4300_4mb/config/libgfxinit_corebootfb b/config/coreboot/e4300_4mb/config/libgfxinit_corebootfb
index f003fe1b..50f246fa 100644
--- a/config/coreboot/e4300_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e4300_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -347,7 +345,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -441,7 +438,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/e4300_4mb/config/libgfxinit_txtmode b/config/coreboot/e4300_4mb/config/libgfxinit_txtmode
index e69e5d09..68d09a3f 100644
--- a/config/coreboot/e4300_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e4300_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -201,10 +202,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -345,7 +343,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -437,7 +434,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/e5420_6mb/config/libgfxinit_corebootfb b/config/coreboot/e5420_6mb/config/libgfxinit_corebootfb
index e3211bcb..29901f73 100644
--- a/config/coreboot/e5420_6mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e5420_6mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -204,10 +205,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_6144=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -367,7 +365,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -460,7 +457,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e5420_6mb/config/libgfxinit_txtmode b/config/coreboot/e5420_6mb/config/libgfxinit_txtmode
index 49597c62..49113661 100644
--- a/config/coreboot/e5420_6mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e5420_6mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -202,10 +203,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_6144=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -365,7 +363,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -456,7 +453,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e5520_6mb/config/libgfxinit_corebootfb b/config/coreboot/e5520_6mb/config/libgfxinit_corebootfb
index 2929945b..e8c4868e 100644
--- a/config/coreboot/e5520_6mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e5520_6mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -204,10 +205,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_6144=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -367,7 +365,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -460,7 +457,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e5520_6mb/config/libgfxinit_txtmode b/config/coreboot/e5520_6mb/config/libgfxinit_txtmode
index e36a08dd..6951cbac 100644
--- a/config/coreboot/e5520_6mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e5520_6mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -202,10 +203,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_6144=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -365,7 +363,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -456,7 +453,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e5530_12mb/config/libgfxinit_corebootfb b/config/coreboot/e5530_12mb/config/libgfxinit_corebootfb
index b77a6114..f6bcc4e7 100644
--- a/config/coreboot/e5530_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e5530_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -204,10 +205,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -367,7 +365,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -460,7 +457,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e5530_12mb/config/libgfxinit_txtmode b/config/coreboot/e5530_12mb/config/libgfxinit_txtmode
index 70c9dbb7..ec57cb35 100644
--- a/config/coreboot/e5530_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e5530_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -202,10 +203,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -365,7 +363,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -456,7 +453,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6220_10mb/config/libgfxinit_corebootfb b/config/coreboot/e6220_10mb/config/libgfxinit_corebootfb
index e80ba51e..6c424bcb 100644
--- a/config/coreboot/e6220_10mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6220_10mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6220_10mb/config/libgfxinit_txtmode b/config/coreboot/e6220_10mb/config/libgfxinit_txtmode
index 7642e690..6fc28230 100644
--- a/config/coreboot/e6220_10mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6220_10mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6230_12mb/config/libgfxinit_corebootfb b/config/coreboot/e6230_12mb/config/libgfxinit_corebootfb
index 4d7e4de5..fb16e1e6 100644
--- a/config/coreboot/e6230_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6230_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6230_12mb/config/libgfxinit_txtmode b/config/coreboot/e6230_12mb/config/libgfxinit_txtmode
index 5fbfb187..56ce2e25 100644
--- a/config/coreboot/e6230_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6230_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6320_10mb/config/libgfxinit_corebootfb b/config/coreboot/e6320_10mb/config/libgfxinit_corebootfb
index 9638ca79..8b87e4c5 100644
--- a/config/coreboot/e6320_10mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6320_10mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6320_10mb/config/libgfxinit_txtmode b/config/coreboot/e6320_10mb/config/libgfxinit_txtmode
index b05d7221..97cb993e 100644
--- a/config/coreboot/e6320_10mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6320_10mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6330_12mb/config/libgfxinit_corebootfb b/config/coreboot/e6330_12mb/config/libgfxinit_corebootfb
index 7e1e9b9c..9b4c82d7 100644
--- a/config/coreboot/e6330_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6330_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6330_12mb/config/libgfxinit_txtmode b/config/coreboot/e6330_12mb/config/libgfxinit_txtmode
index 612acb00..a836b28f 100644
--- a/config/coreboot/e6330_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6330_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6400_4mb/config/libgfxinit_corebootfb b/config/coreboot/e6400_4mb/config/libgfxinit_corebootfb
index 8293d5e9..d0195e6e 100644
--- a/config/coreboot/e6400_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6400_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -204,10 +205,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -349,7 +347,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -445,7 +442,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/e6400_4mb/config/libgfxinit_txtmode b/config/coreboot/e6400_4mb/config/libgfxinit_txtmode
index af5804e9..02fac617 100644
--- a/config/coreboot/e6400_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6400_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -202,10 +203,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -347,7 +345,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -441,7 +438,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/e6400nvidia_4mb/config/normal b/config/coreboot/e6400nvidia_4mb/config/normal
index b522fc1c..cdaeff92 100644
--- a/config/coreboot/e6400nvidia_4mb/config/normal
+++ b/config/coreboot/e6400nvidia_4mb/config/normal
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -200,10 +201,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -345,7 +343,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -428,7 +425,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/e6420_10mb/config/libgfxinit_corebootfb b/config/coreboot/e6420_10mb/config/libgfxinit_corebootfb
index fba72096..8bdc765d 100644
--- a/config/coreboot/e6420_10mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6420_10mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6420_10mb/config/libgfxinit_txtmode b/config/coreboot/e6420_10mb/config/libgfxinit_txtmode
index be73201d..b069a524 100644
--- a/config/coreboot/e6420_10mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6420_10mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6430_12mb/config/libgfxinit_corebootfb b/config/coreboot/e6430_12mb/config/libgfxinit_corebootfb
index 725c7b34..cdec149d 100644
--- a/config/coreboot/e6430_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6430_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6430_12mb/config/libgfxinit_txtmode b/config/coreboot/e6430_12mb/config/libgfxinit_txtmode
index 8465c076..5822a021 100644
--- a/config/coreboot/e6430_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6430_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6520_10mb/config/libgfxinit_corebootfb b/config/coreboot/e6520_10mb/config/libgfxinit_corebootfb
index d80b0d87..b2990b75 100644
--- a/config/coreboot/e6520_10mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6520_10mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6520_10mb/config/libgfxinit_txtmode b/config/coreboot/e6520_10mb/config/libgfxinit_txtmode
index 5d8cec71..0b33833b 100644
--- a/config/coreboot/e6520_10mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6520_10mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_10240=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6530_12mb/config/libgfxinit_corebootfb b/config/coreboot/e6530_12mb/config/libgfxinit_corebootfb
index 23d7da9d..964275dd 100644
--- a/config/coreboot/e6530_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e6530_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -368,7 +366,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -463,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/e6530_12mb/config/libgfxinit_txtmode b/config/coreboot/e6530_12mb/config/libgfxinit_txtmode
index 085fb214..d6fb09ff 100644
--- a/config/coreboot/e6530_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/e6530_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -203,10 +204,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -366,7 +364,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_DELL_MEC5035=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -459,7 +456,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x230_12mb/config/libgfxinit_corebootfb b/config/coreboot/e7240_12mb/config/libgfxinit_corebootfb
index 2a87f6e9..ff63ffb0 100644
--- a/config/coreboot/x230_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e7240_12mb/config/libgfxinit_corebootfb
@@ -17,11 +17,10 @@ CONFIG_COMPILER_GCC=y
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
-CONFIG_USE_OPTION_TABLE=y
-# CONFIG_USE_CBFS_FILE_OPTION_BACKEND is not set
-CONFIG_STATIC_OPTION_TABLE=y
+CONFIG_USE_CBFS_FILE_OPTION_BACKEND=y
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
@@ -31,10 +30,11 @@ CONFIG_USE_BLOBS=y
# CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
+CONFIG_HAVE_ASAN_IN_ROMSTAGE=y
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN is not set
-CONFIG_NO_STAGE_CACHE=y
-# CONFIG_TSEG_STAGE_CACHE is not set
+# CONFIG_NO_STAGE_CACHE is not set
+CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
@@ -68,7 +68,7 @@ CONFIG_NO_STAGE_CACHE=y
# 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_DELL=y
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_ERYING is not set
# CONFIG_VENDOR_EXAMPLE is not set
@@ -86,7 +86,7 @@ CONFIG_NO_STAGE_CACHE=y
# CONFIG_VENDOR_INVENTEC is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
+# 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
@@ -114,129 +114,97 @@ CONFIG_VENDOR_LENOVO=y
# CONFIG_VENDOR_TOPTON is not set
# CONFIG_VENDOR_UP is not set
# CONFIG_VENDOR_VIA is not set
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-CONFIG_MAINBOARD_FAMILY="ThinkPad X230"
-CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X230"
+CONFIG_MAINBOARD_PART_NUMBER="Latitude E7240"
CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/x230"
-CONFIG_VGA_BIOS_ID="8086,0166"
+CONFIG_MAINBOARD_DIR="dell/haswell_latitude"
+CONFIG_VGA_BIOS_ID="8086,0a16"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xBE0000
+CONFIG_MAINBOARD_VENDOR="Dell Inc."
+CONFIG_CBFS_SIZE=0xBDB000
+CONFIG_CONSOLE_SERIAL=y
CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=1600
CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=2560
CONFIG_MAX_CPUS=8
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
-CONFIG_VARIANT_DIR="x230"
+CONFIG_UART_FOR_CONSOLE=0
+CONFIG_VARIANT_DIR="e7240"
CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
-CONFIG_DEVICETREE="devicetree.cb"
+CONFIG_DEVICETREE="devicetree_lp.cb"
# CONFIG_VBOOT is not set
# CONFIG_VGA_BIOS is not set
CONFIG_PCIEXP_ASPM=y
-# CONFIG_PCIEXP_L1_SUB_STATE is not set
-# CONFIG_PCIEXP_CLK_PM is not set
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_DRAM_RESET_GATE_GPIO=10
+CONFIG_PCIEXP_L1_SUB_STATE=y
+CONFIG_PCIEXP_CLK_PM=y
+CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Dell Inc."
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xf0000000
CONFIG_ECAM_MMCONF_BUS_NUMBER=64
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
# CONFIG_FATAL_ASSERTS is not set
-CONFIG_USBDEBUG_HCD_INDEX=2
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
+CONFIG_USBDEBUG_HCD_INDEX=1
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="ThinkPad X230"
+CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="Latitude E7240"
# CONFIG_CONSOLE_POST is not set
CONFIG_MAX_SOCKET=1
-CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
-CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_DCACHE_RAM_BASE=0xfefe0000
-CONFIG_DCACHE_RAM_SIZE=0x20000
+# CONFIG_BOARD_DELL_E4300 is not set
+# CONFIG_BOARD_DELL_E6400 is not set
+CONFIG_BOARD_DELL_LATITUDE_E7240=y
+# CONFIG_BOARD_DELL_OPTIPLEX_780_MT is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_780_USFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_SFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_MT is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_3050 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6220 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6320 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5530 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6230 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6330 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6430 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6530 is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9010 is not set
+# CONFIG_BOARD_DELL_PRECISION_T1650 is not set
+# CONFIG_BOARD_DELL_XPS_8300 is not set
+CONFIG_BOARD_DELL_HASWELL_LATITUDE_COMMON=y
+CONFIG_DCACHE_RAM_BASE=0xff7c0000
+CONFIG_DCACHE_RAM_SIZE=0x40000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x10000
+CONFIG_DCACHE_BSP_STACK_SIZE=0x20000
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_HAVE_INTEL_FIRMWARE=y
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y
-# CONFIG_DRIVERS_INTEL_WIFI is not set
-CONFIG_IFD_BIN_PATH="../../../config/ifd/xx30/ifd"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/xx30/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/xx30/gbe"
+CONFIG_DRIVERS_INTEL_WIFI=y
+CONFIG_IFD_BIN_PATH="../../../config/ifd/e7240/ifd"
+CONFIG_ME_BIN_PATH="../../../vendorfiles/e7240/me_new.bin"
+CONFIG_GBE_BIN_PATH="../../../config/ifd/e7240/gbe"
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
+# CONFIG_ENABLE_DDR_2X_REFRESH is not set
+CONFIG_PCIEXP_AER=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_DEBUG_SMI is not set
CONFIG_HAVE_IFD_BIN=y
-CONFIG_PCIEXP_HOTPLUG_BUSES=8
-CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
-CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_M900 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-# CONFIG_BOARD_LENOVO_T470S is not set
-# CONFIG_BOARD_LENOVO_T480 is not set
-# CONFIG_BOARD_LENOVO_T480S is not set
-# CONFIG_BOARD_LENOVO_T580 is not set
-# CONFIG_BOARD_LENOVO_X280 is not set
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-CONFIG_BOARD_LENOVO_X230=y
-# CONFIG_BOARD_LENOVO_X230T is not set
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_VBOOT_SLOTS_RW_AB=y
CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="LEN0020"
-CONFIG_THINKPADEC_HKEY_EISAID="LEN0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="LVDS"
+CONFIG_PS2M_EISAID="PNP0F13"
+CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
+CONFIG_TTYS0_BAUD=115200
CONFIG_D3COLD_SUPPORT=y
-# CONFIG_DRIVERS_UART_8250IO is not set
+CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
+CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-# CONFIG_TPM_MEASURED_BOOT is not set
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -271,7 +239,7 @@ CONFIG_SYSTEM_TYPE_LAPTOP=y
#
# SoC
#
-CONFIG_CHIPSET_DEVICETREE="northbridge/intel/sandybridge/chipset.cb"
+CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000
@@ -279,11 +247,10 @@ CONFIG_SMM_TSEG_SIZE=0x800000
CONFIG_SMM_RESERVED_SIZE=0x100000
CONFIG_SMM_MODULE_STACK_SIZE=0x400
CONFIG_SERIRQ_CONTINUOUS_MODE=y
-# CONFIG_USE_X86_64_SUPPORT is not set
-CONFIG_CPU_PT_ROM_MAP_GB=4
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x0
+CONFIG_CPU_PT_ROM_MAP_GB=512
+CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xf0000000
-CONFIG_EHCI_BAR=0xfef00000
+CONFIG_EHCI_BAR=0xe8000000
CONFIG_ACPI_CPU_STRING="CP%02X"
CONFIG_STACK_SIZE=0x2000
CONFIG_IED_REGION_SIZE=0x400000
@@ -297,7 +264,11 @@ CONFIG_HPET_MIN_TICKS=0x80
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed10000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
+CONFIG_INTEL_LYNXPOINT_LP=y
CONFIG_PCIEXP_COMMON_CLOCK=y
+# CONFIG_SERIALIO_UART_CONSOLE is not set
+CONFIG_DISABLE_ME_PCI=y
+CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=6
CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
CONFIG_CBFS_CACHE_ALIGN=8
@@ -308,14 +279,15 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
#
# CPU
#
-CONFIG_CPU_INTEL_MODEL_206AX=y
+CONFIG_CPU_INTEL_HASWELL=y
+CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
+CONFIG_CPU_INTEL_COMMON_VOLTAGE=y
CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_MICROCODE_UPDATE_PRE_RAM=y
CONFIG_PARALLEL_MP=y
CONFIG_XAPIC_ONLY=y
# CONFIG_X2APIC_ONLY is not set
@@ -325,7 +297,6 @@ CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_NEED_SMALL_2MB_PAGE_TABLES=y
CONFIG_SMM_TSEG=y
CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
CONFIG_AP_STACK_SIZE=0x800
@@ -342,33 +313,20 @@ CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
#
# Northbridge
#
+CONFIG_NORTHBRIDGE_INTEL_HASWELL=y
CONFIG_USE_NATIVE_RAMINIT=y
-CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
-# CONFIG_NATIVE_RAMINIT_IGNORE_MAX_MEM_FUSES is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_MAX_DIMMS is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE is not set
-# CONFIG_RAMINIT_ALWAYS_ALLOW_DLL_OFF is not set
-CONFIG_RAMINIT_ENABLE_ECC=y
-CONFIG_IGD_DEFAULT_UMA_SIZE_32MB=y
-# CONFIG_IGD_DEFAULT_UMA_SIZE_64MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_96MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_128MB is not set
-CONFIG_IGD_DEFAULT_UMA_INDEX=0
#
# Southbridge
#
-CONFIG_SOUTHBRIDGE_INTEL_BD82X6X_COMMON=y
-CONFIG_SOUTHBRIDGE_INTEL_C216=y
-CONFIG_HIDE_MEI_ON_ERROR=y
-CONFIG_PCIEXP_HOTPLUG=y
+# CONFIG_PCIEXP_HOTPLUG is not set
CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
+CONFIG_SOUTHBRIDGE_INTEL_LYNXPOINT=y
+CONFIG_FINALIZE_USB_ROUTE_XHCI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
@@ -376,7 +334,6 @@ CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_FINALIZE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
@@ -394,16 +351,7 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-# CONFIG_H8_BEEP_ON_DEATH is not set
-# CONFIG_H8_FLASH_LEDS_ON_DEATH is not set
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
-CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
+CONFIG_EC_DELL_MEC5035=y
#
# Intel Firmware
@@ -426,12 +374,10 @@ 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_HAVE_X86_64_SUPPORT=y
CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
CONFIG_PC80_SYSTEM=y
-CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_POSTCAR_STAGE=y
CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set
@@ -479,17 +425,13 @@ 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_PCIEXP_HOTPLUG_IO=0x2000
# CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
+# CONFIG_INTEL_GMA_ADD_VBT is not set
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
+CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
CONFIG_DRAM_SUPPORT_DDR3=y
# end of Devices
@@ -498,7 +440,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -517,9 +458,8 @@ CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_ISSI=y
-CONFIG_TPM_INIT_RAMSTAGE=y
-# CONFIG_TPM_PPI is not set
-CONFIG_NO_UART_ON_SUPERIO=y
+CONFIG_HAVE_EM100PRO_SPI_CONSOLE_SUPPORT=y
+CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_OXPCIE is not set
CONFIG_HAVE_USBDEBUG=y
CONFIG_HAVE_USBDEBUG_OPTIONS=y
@@ -531,29 +471,20 @@ CONFIG_HAVE_USBDEBUG_OPTIONS=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVER_LENOVO_SERIALS=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_INTEL_INT15=y
+CONFIG_INTEL_DDI=y
CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_PANEL_1_ON_LVDS=y
CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Ironlake"
-CONFIG_GFX_GMA_PCH="Cougar_Point"
+CONFIG_GFX_GMA_GENERATION="Haswell"
+CONFIG_GFX_GMA_PCH="Lynx_Point"
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y
-# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
+CONFIG_USE_PC_CMOS_ALTCENTURY=y
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-CONFIG_DRIVERS_RICOH_RCE822=y
# CONFIG_DRIVERS_SIL_3114 is not set
CONFIG_DRIVERS_WIFI_GENERIC=y
CONFIG_DRIVERS_MTK_WIFI=y
@@ -577,12 +508,7 @@ CONFIG_DRIVERS_MTK_WIFI=y
#
# Trusted Platform Module
#
-CONFIG_TPM1=y
-# CONFIG_TPM2 is not set
-CONFIG_TPM=y
-CONFIG_MAINBOARD_HAS_TPM1=y
-# CONFIG_TPM_DEACTIVATE is not set
-# CONFIG_DEBUG_TPM is not set
+CONFIG_NO_TPM=y
CONFIG_PCR_BOOT_MODE=1
CONFIG_PCR_HWID=1
CONFIG_PCR_SRTM=2
@@ -597,8 +523,8 @@ CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
-# CONFIG_INTEL_TXT is not set
# CONFIG_STM is not set
+# CONFIG_INTEL_CBNT_SUPPORT is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
@@ -623,22 +549,40 @@ CONFIG_RTC=y
CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y
+
+#
+# I/O mapped, 8250-compatible
+#
+CONFIG_TTYS0_BASE=0x3f8
+
+#
+# Serial port base address = 0x3f8
+#
+# CONFIG_CONSOLE_SERIAL_921600 is not set
+# CONFIG_CONSOLE_SERIAL_460800 is not set
+# CONFIG_CONSOLE_SERIAL_230400 is not set
+CONFIG_CONSOLE_SERIAL_115200=y
+# CONFIG_CONSOLE_SERIAL_57600 is not set
+# CONFIG_CONSOLE_SERIAL_38400 is not set
+# CONFIG_CONSOLE_SERIAL_19200 is not set
+# CONFIG_CONSOLE_SERIAL_9600 is not set
+CONFIG_TTYS0_LCS=3
# CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
+# CONFIG_EM100PRO_SPI_CONSOLE is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 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=y
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set
@@ -646,13 +590,12 @@ CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set
CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_NULL=y
+CONFIG_HWBASE_DEBUG_CB=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_RESUME_PATH_SAME_AS_BOOT=y
CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_HAVE_OPTION_TABLE=y
CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y
@@ -660,7 +603,6 @@ CONFIG_USE_WATCHDOG_ON_BOOT=y
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_SMBIOS_PROVIDED_BY_MOBO=y
CONFIG_BIOS_VENDOR="coreboot"
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
@@ -691,11 +633,13 @@ CONFIG_PAYLOAD_NONE=y
#
# General Debug Settings
#
+# CONFIG_GDB_STUB 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
diff --git a/config/coreboot/x230t_12mb/config/libgfxinit_corebootfb b/config/coreboot/e7240_12mb/config/libgfxinit_txtmode
index aa74bc8b..6d7e9e6b 100644
--- a/config/coreboot/x230t_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/e7240_12mb/config/libgfxinit_txtmode
@@ -17,11 +17,10 @@ CONFIG_COMPILER_GCC=y
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
-CONFIG_USE_OPTION_TABLE=y
-# CONFIG_USE_CBFS_FILE_OPTION_BACKEND is not set
-CONFIG_STATIC_OPTION_TABLE=y
+CONFIG_USE_CBFS_FILE_OPTION_BACKEND=y
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
@@ -31,10 +30,11 @@ CONFIG_USE_BLOBS=y
# CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
+CONFIG_HAVE_ASAN_IN_ROMSTAGE=y
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN is not set
-CONFIG_NO_STAGE_CACHE=y
-# CONFIG_TSEG_STAGE_CACHE is not set
+# CONFIG_NO_STAGE_CACHE is not set
+CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
@@ -68,7 +68,7 @@ CONFIG_NO_STAGE_CACHE=y
# 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_DELL=y
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_ERYING is not set
# CONFIG_VENDOR_EXAMPLE is not set
@@ -86,7 +86,7 @@ CONFIG_NO_STAGE_CACHE=y
# CONFIG_VENDOR_INVENTEC is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LATTEPANDA is not set
-CONFIG_VENDOR_LENOVO=y
+# 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
@@ -114,129 +114,95 @@ CONFIG_VENDOR_LENOVO=y
# CONFIG_VENDOR_TOPTON is not set
# CONFIG_VENDOR_UP is not set
# CONFIG_VENDOR_VIA is not set
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-CONFIG_MAINBOARD_FAMILY="ThinkPad X230t"
-CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X230t"
+CONFIG_MAINBOARD_PART_NUMBER="Latitude E7240"
CONFIG_MAINBOARD_VERSION="1.0"
-CONFIG_MAINBOARD_DIR="lenovo/x230"
-CONFIG_VGA_BIOS_ID="8086,0166"
+CONFIG_MAINBOARD_DIR="dell/haswell_latitude"
+CONFIG_VGA_BIOS_ID="8086,0a16"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="LENOVO"
-CONFIG_CBFS_SIZE=0xBE0000
-CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=1600
-CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=2560
+CONFIG_MAINBOARD_VENDOR="Dell Inc."
+CONFIG_CBFS_SIZE=0xBDB000
+CONFIG_CONSOLE_SERIAL=y
CONFIG_MAX_CPUS=8
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
-CONFIG_VARIANT_DIR="x230"
+CONFIG_UART_FOR_CONSOLE=0
+CONFIG_VARIANT_DIR="e7240"
CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
-CONFIG_DEVICETREE="devicetree.cb"
+CONFIG_DEVICETREE="devicetree_lp.cb"
# CONFIG_VBOOT is not set
# CONFIG_VGA_BIOS is not set
CONFIG_PCIEXP_ASPM=y
-# CONFIG_PCIEXP_L1_SUB_STATE is not set
-# CONFIG_PCIEXP_CLK_PM is not set
-CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
-CONFIG_DRAM_RESET_GATE_GPIO=10
+CONFIG_PCIEXP_L1_SUB_STATE=y
+CONFIG_PCIEXP_CLK_PM=y
+CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Dell Inc."
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xf0000000
CONFIG_ECAM_MMCONF_BUS_NUMBER=64
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
# CONFIG_FATAL_ASSERTS is not set
-CONFIG_USBDEBUG_HCD_INDEX=2
-CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
+CONFIG_USBDEBUG_HCD_INDEX=1
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
-CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="ThinkPad X230t"
+CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="Latitude E7240"
# CONFIG_CONSOLE_POST is not set
CONFIG_MAX_SOCKET=1
-CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
-CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
-CONFIG_TPM_PIRQ=0x0
-CONFIG_DCACHE_RAM_BASE=0xfefe0000
-CONFIG_DCACHE_RAM_SIZE=0x20000
+# CONFIG_BOARD_DELL_E4300 is not set
+# CONFIG_BOARD_DELL_E6400 is not set
+CONFIG_BOARD_DELL_LATITUDE_E7240=y
+# CONFIG_BOARD_DELL_OPTIPLEX_780_MT is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_780_USFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_SFF is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9020_MT is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_3050 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6220 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6320 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6420 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6520 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E5530 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6230 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6330 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6430 is not set
+# CONFIG_BOARD_DELL_LATITUDE_E6530 is not set
+# CONFIG_BOARD_DELL_OPTIPLEX_9010 is not set
+# CONFIG_BOARD_DELL_PRECISION_T1650 is not set
+# CONFIG_BOARD_DELL_XPS_8300 is not set
+CONFIG_BOARD_DELL_HASWELL_LATITUDE_COMMON=y
+CONFIG_DCACHE_RAM_BASE=0xff7c0000
+CONFIG_DCACHE_RAM_SIZE=0x40000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
-CONFIG_DCACHE_BSP_STACK_SIZE=0x10000
+CONFIG_DCACHE_BSP_STACK_SIZE=0x20000
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_HAVE_INTEL_FIRMWARE=y
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y
-# CONFIG_DRIVERS_INTEL_WIFI is not set
-CONFIG_IFD_BIN_PATH="../../../config/ifd/xx30/ifd"
-CONFIG_ME_BIN_PATH="../../../vendorfiles/xx30/me.bin"
-CONFIG_GBE_BIN_PATH="../../../config/ifd/xx30/gbe"
+CONFIG_DRIVERS_INTEL_WIFI=y
+CONFIG_IFD_BIN_PATH="../../../config/ifd/e7240/ifd"
+CONFIG_ME_BIN_PATH="../../../vendorfiles/e7240/me_new.bin"
+CONFIG_GBE_BIN_PATH="../../../config/ifd/e7240/gbe"
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
+# CONFIG_ENABLE_DDR_2X_REFRESH is not set
+CONFIG_PCIEXP_AER=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_DEBUG_SMI is not set
CONFIG_HAVE_IFD_BIN=y
-CONFIG_PCIEXP_HOTPLUG_BUSES=8
-CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
-CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
-# CONFIG_BOARD_LENOVO_THINKPAD_T440P is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_W541 is not set
-# CONFIG_BOARD_LENOVO_L520 is not set
-# CONFIG_BOARD_LENOVO_M900 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M900_TINY is not set
-# CONFIG_BOARD_LENOVO_M920Q is not set
-# CONFIG_BOARD_LENOVO_S230U is not set
-# CONFIG_BOARD_LENOVO_T470S is not set
-# CONFIG_BOARD_LENOVO_T480 is not set
-# CONFIG_BOARD_LENOVO_T480S is not set
-# CONFIG_BOARD_LENOVO_T580 is not set
-# CONFIG_BOARD_LENOVO_X280 is not set
-# CONFIG_BOARD_LENOVO_T400 is not set
-# CONFIG_BOARD_LENOVO_T500 is not set
-# CONFIG_BOARD_LENOVO_R400 is not set
-# CONFIG_BOARD_LENOVO_R500 is not set
-# CONFIG_BOARD_LENOVO_W500 is not set
-# CONFIG_BOARD_LENOVO_T410 is not set
-# CONFIG_BOARD_LENOVO_T420 is not set
-# CONFIG_BOARD_LENOVO_T420S is not set
-# CONFIG_BOARD_LENOVO_THINKPAD_T430 is not set
-# CONFIG_BOARD_LENOVO_T430S is not set
-# CONFIG_BOARD_LENOVO_T431S is not set
-# CONFIG_BOARD_LENOVO_T520 is not set
-# CONFIG_BOARD_LENOVO_W520 is not set
-# CONFIG_BOARD_LENOVO_T530 is not set
-# CONFIG_BOARD_LENOVO_W530 is not set
-# CONFIG_BOARD_LENOVO_T60 is not set
-# CONFIG_BOARD_LENOVO_Z61T is not set
-# CONFIG_BOARD_LENOVO_R60 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_A58 is not set
-# CONFIG_BOARD_LENOVO_THINKCENTRE_M710S is not set
-# CONFIG_BOARD_LENOVO_X131E is not set
-# CONFIG_BOARD_LENOVO_X1_CARBON_GEN1 is not set
-# CONFIG_BOARD_LENOVO_X200 is not set
-# CONFIG_BOARD_LENOVO_X301 is not set
-# CONFIG_BOARD_LENOVO_X201 is not set
-# CONFIG_BOARD_LENOVO_X220 is not set
-# CONFIG_BOARD_LENOVO_X220I is not set
-# CONFIG_BOARD_LENOVO_X1 is not set
-# CONFIG_BOARD_LENOVO_X230 is not set
-CONFIG_BOARD_LENOVO_X230T=y
-# CONFIG_BOARD_LENOVO_X230S is not set
-# CONFIG_BOARD_LENOVO_X230_EDP is not set
-# CONFIG_BOARD_LENOVO_X60 is not set
-CONFIG_VBOOT_SLOTS_RW_AB=y
CONFIG_PS2K_EISAID="PNP0303"
-CONFIG_PS2M_EISAID="LEN0020"
-CONFIG_THINKPADEC_HKEY_EISAID="LEN0068"
-CONFIG_GFX_GMA_PANEL_1_PORT="LVDS"
+CONFIG_PS2M_EISAID="PNP0F13"
+CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
+CONFIG_TTYS0_BAUD=115200
CONFIG_D3COLD_SUPPORT=y
-# CONFIG_DRIVERS_UART_8250IO is not set
+CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
+CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
-# CONFIG_TPM_MEASURED_BOOT is not set
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -271,7 +237,7 @@ CONFIG_SYSTEM_TYPE_LAPTOP=y
#
# SoC
#
-CONFIG_CHIPSET_DEVICETREE="northbridge/intel/sandybridge/chipset.cb"
+CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000
@@ -279,11 +245,10 @@ CONFIG_SMM_TSEG_SIZE=0x800000
CONFIG_SMM_RESERVED_SIZE=0x100000
CONFIG_SMM_MODULE_STACK_SIZE=0x400
CONFIG_SERIRQ_CONTINUOUS_MODE=y
-# CONFIG_USE_X86_64_SUPPORT is not set
-CONFIG_CPU_PT_ROM_MAP_GB=4
-CONFIG_PRERAM_CBFS_CACHE_SIZE=0x0
+CONFIG_CPU_PT_ROM_MAP_GB=512
+CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000
CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xf0000000
-CONFIG_EHCI_BAR=0xfef00000
+CONFIG_EHCI_BAR=0xe8000000
CONFIG_ACPI_CPU_STRING="CP%02X"
CONFIG_STACK_SIZE=0x2000
CONFIG_IED_REGION_SIZE=0x400000
@@ -297,7 +262,11 @@ CONFIG_HPET_MIN_TICKS=0x80
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed10000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
+CONFIG_INTEL_LYNXPOINT_LP=y
CONFIG_PCIEXP_COMMON_CLOCK=y
+# CONFIG_SERIALIO_UART_CONSOLE is not set
+CONFIG_DISABLE_ME_PCI=y
+CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=6
CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
CONFIG_CBFS_CACHE_ALIGN=8
@@ -308,14 +277,15 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
#
# CPU
#
-CONFIG_CPU_INTEL_MODEL_206AX=y
+CONFIG_CPU_INTEL_HASWELL=y
+CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
+CONFIG_CPU_INTEL_COMMON_VOLTAGE=y
CONFIG_CPU_INTEL_COMMON_SMM=y
-CONFIG_MICROCODE_UPDATE_PRE_RAM=y
CONFIG_PARALLEL_MP=y
CONFIG_XAPIC_ONLY=y
# CONFIG_X2APIC_ONLY is not set
@@ -325,7 +295,6 @@ CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_HAVE_SMI_HANDLER=y
-CONFIG_NEED_SMALL_2MB_PAGE_TABLES=y
CONFIG_SMM_TSEG=y
CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
CONFIG_AP_STACK_SIZE=0x800
@@ -342,33 +311,20 @@ CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
#
# Northbridge
#
+CONFIG_NORTHBRIDGE_INTEL_HASWELL=y
CONFIG_USE_NATIVE_RAMINIT=y
-CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
-# CONFIG_NATIVE_RAMINIT_IGNORE_MAX_MEM_FUSES is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_MAX_DIMMS is not set
-# CONFIG_NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE is not set
-# CONFIG_RAMINIT_ALWAYS_ALLOW_DLL_OFF is not set
-CONFIG_RAMINIT_ENABLE_ECC=y
-CONFIG_IGD_DEFAULT_UMA_SIZE_32MB=y
-# CONFIG_IGD_DEFAULT_UMA_SIZE_64MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_96MB is not set
-# CONFIG_IGD_DEFAULT_UMA_SIZE_128MB is not set
-CONFIG_IGD_DEFAULT_UMA_INDEX=0
#
# Southbridge
#
-CONFIG_SOUTHBRIDGE_INTEL_BD82X6X_COMMON=y
-CONFIG_SOUTHBRIDGE_INTEL_C216=y
-CONFIG_HIDE_MEI_ON_ERROR=y
-CONFIG_PCIEXP_HOTPLUG=y
+# CONFIG_PCIEXP_HOTPLUG is not set
CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
+CONFIG_SOUTHBRIDGE_INTEL_LYNXPOINT=y
+CONFIG_FINALIZE_USB_ROUTE_XHCI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
@@ -376,7 +332,6 @@ CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
-CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_FINALIZE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
@@ -394,16 +349,7 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-CONFIG_EC_ACPI=y
-CONFIG_EC_LENOVO_H8=y
-# CONFIG_H8_BEEP_ON_DEATH is not set
-# CONFIG_H8_FLASH_LEDS_ON_DEATH is not set
-# CONFIG_H8_SUPPORT_BT_ON_WIFI is not set
-# CONFIG_H8_FN_CTRL_SWAP is not set
-CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
-CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
-CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
+CONFIG_EC_DELL_MEC5035=y
#
# Intel Firmware
@@ -426,12 +372,10 @@ 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_HAVE_X86_64_SUPPORT=y
CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
CONFIG_PC80_SYSTEM=y
-CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_POSTCAR_STAGE=y
CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set
@@ -460,10 +404,8 @@ CONFIG_NO_EARLY_GFX_INIT=y
#
# Display
#
-# CONFIG_VGA_TEXT_FRAMEBUFFER is not set
-CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
-CONFIG_LINEAR_FRAMEBUFFER=y
-# CONFIG_BOOTSPLASH is not set
+CONFIG_VGA_TEXT_FRAMEBUFFER=y
+# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
# end of Display
@@ -479,17 +421,13 @@ 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_PCIEXP_HOTPLUG_IO=0x2000
# CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
-CONFIG_INTEL_GMA_HAVE_VBT=y
-CONFIG_INTEL_GMA_ADD_VBT=y
+# CONFIG_INTEL_GMA_ADD_VBT is not set
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
-# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
+CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
CONFIG_DRAM_SUPPORT_DDR3=y
# end of Devices
@@ -498,7 +436,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -517,9 +454,8 @@ CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_ISSI=y
-CONFIG_TPM_INIT_RAMSTAGE=y
-# CONFIG_TPM_PPI is not set
-CONFIG_NO_UART_ON_SUPERIO=y
+CONFIG_HAVE_EM100PRO_SPI_CONSOLE_SUPPORT=y
+CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_OXPCIE is not set
CONFIG_HAVE_USBDEBUG=y
CONFIG_HAVE_USBDEBUG_OPTIONS=y
@@ -531,29 +467,21 @@ CONFIG_HAVE_USBDEBUG_OPTIONS=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
-CONFIG_DRIVER_LENOVO_SERIALS=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_INTEL_INT15=y
+CONFIG_INTEL_DDI=y
CONFIG_INTEL_GMA_ACPI=y
-CONFIG_VBT_CBFS_COMPRESSION_LZMA=y
-# CONFIG_VBT_CBFS_COMPRESSION_LZ4 is not set
-# CONFIG_VBT_CBFS_COMPRESSION_NONE is not set
-CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM="lzma"
CONFIG_GFX_GMA=y
-CONFIG_GFX_GMA_PANEL_1_ON_LVDS=y
CONFIG_GFX_GMA_DYN_CPU=y
-CONFIG_GFX_GMA_GENERATION="Ironlake"
-CONFIG_GFX_GMA_PCH="Cougar_Point"
+CONFIG_GFX_GMA_GENERATION="Haswell"
+CONFIG_GFX_GMA_PCH="Lynx_Point"
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y
-# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
+CONFIG_USE_PC_CMOS_ALTCENTURY=y
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
-CONFIG_MEMORY_MAPPED_TPM=y
-CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
-CONFIG_DRIVERS_RICOH_RCE822=y
+CONFIG_VGA=y
# CONFIG_DRIVERS_SIL_3114 is not set
CONFIG_DRIVERS_WIFI_GENERIC=y
CONFIG_DRIVERS_MTK_WIFI=y
@@ -577,12 +505,7 @@ CONFIG_DRIVERS_MTK_WIFI=y
#
# Trusted Platform Module
#
-CONFIG_TPM1=y
-# CONFIG_TPM2 is not set
-CONFIG_TPM=y
-CONFIG_MAINBOARD_HAS_TPM1=y
-# CONFIG_TPM_DEACTIVATE is not set
-# CONFIG_DEBUG_TPM is not set
+CONFIG_NO_TPM=y
CONFIG_PCR_BOOT_MODE=1
CONFIG_PCR_HWID=1
CONFIG_PCR_SRTM=2
@@ -597,8 +520,8 @@ CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
-# CONFIG_INTEL_TXT is not set
# CONFIG_STM is not set
+# CONFIG_INTEL_CBNT_SUPPORT is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
@@ -623,22 +546,40 @@ CONFIG_RTC=y
CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y
+
+#
+# I/O mapped, 8250-compatible
+#
+CONFIG_TTYS0_BASE=0x3f8
+
+#
+# Serial port base address = 0x3f8
+#
+# CONFIG_CONSOLE_SERIAL_921600 is not set
+# CONFIG_CONSOLE_SERIAL_460800 is not set
+# CONFIG_CONSOLE_SERIAL_230400 is not set
+CONFIG_CONSOLE_SERIAL_115200=y
+# CONFIG_CONSOLE_SERIAL_57600 is not set
+# CONFIG_CONSOLE_SERIAL_38400 is not set
+# CONFIG_CONSOLE_SERIAL_19200 is not set
+# CONFIG_CONSOLE_SERIAL_9600 is not set
+CONFIG_TTYS0_LCS=3
# CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y
-# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
+# CONFIG_EM100PRO_SPI_CONSOLE is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 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=y
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set
@@ -646,13 +587,12 @@ CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set
CONFIG_POST_IO_PORT=0x80
-CONFIG_HWBASE_DEBUG_NULL=y
+CONFIG_HWBASE_DEBUG_CB=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_RESUME_PATH_SAME_AS_BOOT=y
CONFIG_HAVE_MONOTONIC_TIMER=y
-CONFIG_HAVE_OPTION_TABLE=y
CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y
@@ -660,7 +600,6 @@ CONFIG_USE_WATCHDOG_ON_BOOT=y
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLES=y
-CONFIG_SMBIOS_PROVIDED_BY_MOBO=y
CONFIG_BIOS_VENDOR="coreboot"
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
@@ -691,11 +630,13 @@ CONFIG_PAYLOAD_NONE=y
#
# General Debug Settings
#
+# CONFIG_GDB_STUB 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
diff --git a/config/coreboot/e7240_12mb/target.cfg b/config/coreboot/e7240_12mb/target.cfg
new file mode 100644
index 00000000..fcd02188
--- /dev/null
+++ b/config/coreboot/e7240_12mb/target.cfg
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+tree="default"
+xarch="i386-elf"
+payload_seabios="y"
+payload_grub="y"
+payload_memtest="y"
+grub_scan_disk="ahci"
+grubtree="xhci_nvme"
+vcfg="e7240"
+build_depend="seabios/default grub/xhci_nvme memtest86plus u-boot/amd64coreboot"
+payload_uboot="amd64"
diff --git a/config/coreboot/g43t_am3/config/libgfxinit_txtmode b/config/coreboot/g43t_am3/config/libgfxinit_txtmode
index 9f3e93b0..73c5db65 100644
--- a/config/coreboot/g43t_am3/config/libgfxinit_txtmode
+++ b/config/coreboot/g43t_am3/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -183,10 +184,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -333,7 +331,6 @@ CONFIG_SUPERIO_ITE_IT8720F=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -425,7 +422,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/g43t_am3_16mb/config/libgfxinit_txtmode b/config/coreboot/g43t_am3_16mb/config/libgfxinit_txtmode
index cdca8ed8..23f28d28 100644
--- a/config/coreboot/g43t_am3_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/g43t_am3_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -183,10 +184,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -333,7 +331,6 @@ CONFIG_SUPERIO_ITE_IT8720F=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -425,7 +422,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/ga_g41m_es2l/config/libgfxinit_txtmode b/config/coreboot/ga_g41m_es2l/config/libgfxinit_txtmode
index 103c2336..ac9898c5 100644
--- a/config/coreboot/ga_g41m_es2l/config/libgfxinit_txtmode
+++ b/config/coreboot/ga_g41m_es2l/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -189,10 +190,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -257,6 +255,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -343,7 +342,6 @@ CONFIG_SUPERIO_ITE_IT8718F=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -425,7 +423,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/gru_bob/config/libgfxinit_corebootfb b/config/coreboot/gru_bob/config/libgfxinit_corebootfb
index 7e60316c..842980a7 100644
--- a/config/coreboot/gru_bob/config/libgfxinit_corebootfb
+++ b/config/coreboot/gru_bob/config/libgfxinit_corebootfb
@@ -20,6 +20,7 @@ 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_COMPRESS_PRERAM_STAGES=y
CONFIG_COMPRESS_BOOTBLOCK=y
CONFIG_SEPARATE_ROMSTAGE=y
@@ -138,14 +139,14 @@ CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_SPI_FLASH_WINBOND=y
#
-# Asurada
+# 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
+# Auron (Intel Broadwell (5th Gen))
#
# CONFIG_BOARD_GOOGLE_AURON_PAINE is not set
# CONFIG_BOARD_GOOGLE_AURON_YUNA is not set
@@ -155,7 +156,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_SAMUS is not set
#
-# Beltino
+# Beltino (Intel Haswell (4th Gen))
#
# CONFIG_BOARD_GOOGLE_MCCLOUD is not set
# CONFIG_BOARD_GOOGLE_MONROE is not set
@@ -164,7 +165,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_ZAKO is not set
#
-# Bluey
+# Bluey (Qualcomm Snapdragon X Plus (X1P-42-100))
#
# CONFIG_BOARD_GOOGLE_BLUEY is not set
# CONFIG_BOARD_GOOGLE_QUENBI is not set
@@ -173,7 +174,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_QUARTZ is not set
#
-# Brox
+# Brox (Intel RaptorLake (13th Gen))
#
# CONFIG_BOARD_GOOGLE_BROX is not set
# CONFIG_BOARD_GOOGLE_BROX_RTK_EC is not set
@@ -185,7 +186,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_LOTSO is not set
#
-# Brya
+# Brya (Intel AlderLake/RaptorLake/TwinLake (12 - 13th Gen))
#
# CONFIG_BOARD_GOOGLE_AGAH is not set
# CONFIG_BOARD_GOOGLE_ANAHERA is not set
@@ -268,19 +269,19 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_PUJJOCENTO is not set
#
-# Butterfly
+# Butterfly (Intel SandyBridge (2nd Gen))
#
# CONFIG_BOARD_GOOGLE_BUTTERFLY is not set
#
-# Cherry
+# 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
+# Kingler (MediaTek Kompanio 520 (MT8186))
#
# CONFIG_BOARD_GOOGLE_KINGLER is not set
# CONFIG_BOARD_GOOGLE_KYOGRE is not set
@@ -290,7 +291,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_VOLTORB is not set
#
-# Krabby
+# Krabby (MediaTek Kompanio 520 (MT8186))
#
# CONFIG_BOARD_GOOGLE_CHINCHOU is not set
# CONFIG_BOARD_GOOGLE_KRABBY is not set
@@ -300,14 +301,14 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_VELUZA is not set
#
-# Staryu
+# 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
+# Cyan (Intel Braswell)
#
# CONFIG_BOARD_GOOGLE_BANON is not set
# CONFIG_BOARD_GOOGLE_CELES is not set
@@ -322,12 +323,12 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_WIZPIG is not set
#
-# Daisy
+# Daisy (Samsung Exynos 5250)
#
# CONFIG_BOARD_GOOGLE_DAISY is not set
#
-# Dedede
+# Dedede (Intel JasperLake)
#
# CONFIG_BOARD_GOOGLE_BEADRIX is not set
# CONFIG_BOARD_GOOGLE_BLIPPER is not set
@@ -363,17 +364,17 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_AWASUKI is not set
#
-# Drallion
+# Drallion (Intel CometLake (10th Gen) with ISH)
#
# CONFIG_BOARD_GOOGLE_DRALLION is not set
#
-# Eve
+# Eve (Intel KabyLake (7th Gen))
#
# CONFIG_BOARD_GOOGLE_EVE is not set
#
-# Fatcat
+# Fatcat (Intel PantherLake (Ultra 3rd Gen))
#
# CONFIG_BOARD_GOOGLE_FATCAT is not set
# CONFIG_BOARD_GOOGLE_FATCAT4ES is not set
@@ -392,30 +393,30 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_RUBY is not set
#
-# Fizz
+# 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
+# Foster (Nvidia Tegra X1 (T210))
#
# CONFIG_BOARD_GOOGLE_FOSTER is not set
#
-# Gale
+# Gale (Qualcomm IPQ4019)
#
# CONFIG_BOARD_GOOGLE_GALE is not set
#
-# Geralt
+# Geralt (MediaTek Kompanio 838 (MT8188))
#
# CONFIG_BOARD_GOOGLE_GERALT is not set
# CONFIG_BOARD_GOOGLE_CIRI is not set
#
-# Glados
+# Glados (Intel Skylake (6th Gen))
#
# CONFIG_BOARD_GOOGLE_ASUKA is not set
# CONFIG_BOARD_GOOGLE_CAROLINE is not set
@@ -426,7 +427,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_SENTRY is not set
#
-# Gru
+# Gru (Rockchip RK3399)
#
# CONFIG_BOARD_GOOGLE_KEVIN is not set
# CONFIG_BOARD_GOOGLE_GRU is not set
@@ -436,14 +437,14 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_RAINIER is not set
#
-# Guybrush
+# 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
+# Hatch (Intel CometLake (10th Gen))
#
# CONFIG_BOARD_GOOGLE_AKEMI is not set
# CONFIG_BOARD_GOOGLE_DRATINI is not set
@@ -458,7 +459,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_PALKIA is not set
#
-# Herobrine
+# Herobrine (Qualcomm Snapdragon 7c+ Gen3 (SC7280))
#
# CONFIG_BOARD_GOOGLE_HEROBRINE is not set
# CONFIG_BOARD_GOOGLE_HEROBRINE_REV0 is not set
@@ -471,7 +472,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_ZOMBIE is not set
#
-# Jecht
+# Jecht (Intel Broadwell (5th Gen))
#
# CONFIG_BOARD_GOOGLE_GUADO is not set
# CONFIG_BOARD_GOOGLE_JECHT is not set
@@ -479,7 +480,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_TIDUS is not set
#
-# Kahlee
+# Kahlee (AMD StoneyRidge)
#
# CONFIG_BOARD_GOOGLE_ALEENA is not set
# CONFIG_BOARD_GOOGLE_CAREENA is not set
@@ -489,7 +490,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_TREEYA is not set
#
-# Kukui
+# Kukui (MediaTek Kompanio 500 (MT8183))
#
# CONFIG_BOARD_GOOGLE_KUKUI is not set
# CONFIG_BOARD_GOOGLE_KRANE is not set
@@ -499,7 +500,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_KATSU is not set
#
-# Jacuzzi
+# Jacuzzi (MediaTek Kompanio 500 (MT8183))
#
# CONFIG_BOARD_GOOGLE_JACUZZI is not set
# CONFIG_BOARD_GOOGLE_JUNIPER is not set
@@ -517,44 +518,44 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_PICO is not set
#
-# Link
+# Link (Intel IvyBridge (3rd Gen))
#
# CONFIG_BOARD_GOOGLE_LINK is not set
#
-# Mistral
+# Mistral (Qualcomm Dragonwing QCS405)
#
# CONFIG_BOARD_GOOGLE_MISTRAL is not set
#
-# Myst
+# Myst (AMD Ryzen Mobile 7000 (Phoenix))
#
# CONFIG_BOARD_GOOGLE_MYST is not set
#
-# Nyan
+# Nyan (NVIDIA Tegra K1 (CD570M))
#
# CONFIG_BOARD_GOOGLE_NYAN is not set
#
-# Nyan Big
+# Nyan Big (Nvidia Tegra K1 (T124))
#
# CONFIG_BOARD_GOOGLE_NYAN_BIG is not set
#
-# Nyan Blaze
+# Nyan Blaze (NVIDIA Tegra K1 (CD570M))
#
# CONFIG_BOARD_GOOGLE_NYAN_BLAZE is not set
#
-# Oak
+# 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
+# Ocelot (Intel WildcatLake (Ultra 3rd Gen))
#
# CONFIG_BOARD_GOOGLE_KODKOD is not set
# CONFIG_BOARD_GOOGLE_MATSU is not set
@@ -568,7 +569,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_OCICAT is not set
#
-# Octopus
+# Octopus (Intel GeminiLake)
#
# CONFIG_BOARD_GOOGLE_AMPTON is not set
# CONFIG_BOARD_GOOGLE_BLOOG is not set
@@ -585,17 +586,17 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_YORP is not set
#
-# Parrot
+# Parrot (Intel SandyBridge (2nd Gen))
#
# CONFIG_BOARD_GOOGLE_PARROT is not set
#
-# Peach Pit
+# Peach Pit (Samsung Exynos 5420)
#
# CONFIG_BOARD_GOOGLE_PEACH_PIT is not set
#
-# Poppy
+# Poppy (Intel KabyLake/KabyLake-R (7th/8th Gen))
#
# CONFIG_BOARD_GOOGLE_ATLAS is not set
# CONFIG_BOARD_GOOGLE_POPPY is not set
@@ -606,7 +607,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_SORAKA is not set
#
-# Puff
+# Puff (Intel CometLake (10th Gen))
#
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
# CONFIG_BOARD_GOOGLE_DOOLY is not set
@@ -623,7 +624,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_WYVERN is not set
#
-# Rambi
+# Rambi (Intel Baytrail)
#
# CONFIG_BOARD_GOOGLE_BANJO is not set
# CONFIG_BOARD_GOOGLE_CANDY is not set
@@ -644,7 +645,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_WINKY is not set
#
-# Rauru
+# Rauru (MediaTek Kompanio Ultra 910 (MT8196))
#
# CONFIG_BOARD_GOOGLE_HYLIA is not set
# CONFIG_BOARD_GOOGLE_NAVI is not set
@@ -652,7 +653,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_SAPPHIRE is not set
#
-# Reef
+# Reef (Intel ApolloLake)
#
# CONFIG_BOARD_GOOGLE_REEF is not set
# CONFIG_BOARD_GOOGLE_PYRO is not set
@@ -661,7 +662,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_CORAL is not set
#
-# Rex
+# Rex (Intel MeteorLake (Ultra 1st Gen))
#
# CONFIG_BOARD_GOOGLE_DEKU is not set
# CONFIG_BOARD_GOOGLE_DEKU4ES is not set
@@ -679,13 +680,13 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_KANIX is not set
#
-# Sarien
+# Sarien (Intel WhiskeyLake (8th Gen))
#
# CONFIG_BOARD_GOOGLE_ARCADA is not set
# CONFIG_BOARD_GOOGLE_SARIEN is not set
#
-# Skyrim
+# Skyrim (AMD Ryzen Mobile 7000 (Mendocino))
#
# CONFIG_BOARD_GOOGLE_CRYSTALDRIFT is not set
# CONFIG_BOARD_GOOGLE_FROSTFLOW is not set
@@ -694,20 +695,22 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_WINTERHOLD is not set
#
-# Skywalker
+# 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_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
+# Slippy (Intel Haswell (4th Gen))
#
# CONFIG_BOARD_GOOGLE_FALCO is not set
# CONFIG_BOARD_GOOGLE_LEON is not set
@@ -715,22 +718,22 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_WOLF is not set
#
-# Smaug
+# Smaug (Nvidia Tegra X1 (T210))
#
# CONFIG_BOARD_GOOGLE_SMAUG is not set
#
-# Storm
+# Storm (Qualcomm IPQ8064)
#
# CONFIG_BOARD_GOOGLE_STORM is not set
#
-# Stout
+# Stout (Intel SandyBridge (2nd Gen))
#
# CONFIG_BOARD_GOOGLE_STOUT is not set
#
-# Trogdor
+# Trogdor (Qualcomm Snapdragon 7c (SC7180))
#
# CONFIG_BOARD_GOOGLE_BUBS is not set
# CONFIG_BOARD_GOOGLE_COACHZ is not set
@@ -747,7 +750,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_TROGDOR is not set
#
-# Veyron
+# Veyron (Rockchip RK3288)
#
# CONFIG_BOARD_GOOGLE_VEYRON_JAQ is not set
# CONFIG_BOARD_GOOGLE_VEYRON_JERRY is not set
@@ -756,17 +759,17 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY is not set
#
-# Veyron Mickey
+# Veyron Mickey (Rockchip RK3288)
#
# CONFIG_BOARD_GOOGLE_VEYRON_MICKEY is not set
#
-# Veyron Rialto
+# Veyron Rialto (Rockchip RK3288)
#
# CONFIG_BOARD_GOOGLE_VEYRON_RIALTO is not set
#
-# Volteer
+# Volteer (Intel TigerLake (11th Gen))
#
# CONFIG_BOARD_GOOGLE_CHRONICLER is not set
# CONFIG_BOARD_GOOGLE_COLLIS is not set
@@ -789,7 +792,7 @@ CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_VOXEL is not set
#
-# Zork
+# Zork (AMD Ryzen Mobile 3000 (Picasso))
#
# CONFIG_BOARD_GOOGLE_BERKNIP is not set
# CONFIG_BOARD_GOOGLE_DALBOZ is not set
@@ -820,10 +823,7 @@ CONFIG_TTYS0_BAUD=115200
CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -897,7 +897,6 @@ CONFIG_EC_GOOGLE_CHROMEEC_RTC=y
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_STARLABS_MERLIN is not set
CONFIG_MAINBOARD_HAS_CHROMEOS=y
#
@@ -947,7 +946,6 @@ CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/gru_kevin/config/libgfxinit_corebootfb b/config/coreboot/gru_kevin/config/libgfxinit_corebootfb
index 41246607..1ee63c63 100644
--- a/config/coreboot/gru_kevin/config/libgfxinit_corebootfb
+++ b/config/coreboot/gru_kevin/config/libgfxinit_corebootfb
@@ -20,6 +20,7 @@ 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_COMPRESS_PRERAM_STAGES=y
CONFIG_COMPRESS_BOOTBLOCK=y
CONFIG_SEPARATE_ROMSTAGE=y
@@ -138,14 +139,14 @@ CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_SPI_FLASH_WINBOND=y
#
-# Asurada
+# 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
+# Auron (Intel Broadwell (5th Gen))
#
# CONFIG_BOARD_GOOGLE_AURON_PAINE is not set
# CONFIG_BOARD_GOOGLE_AURON_YUNA is not set
@@ -155,7 +156,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_SAMUS is not set
#
-# Beltino
+# Beltino (Intel Haswell (4th Gen))
#
# CONFIG_BOARD_GOOGLE_MCCLOUD is not set
# CONFIG_BOARD_GOOGLE_MONROE is not set
@@ -164,7 +165,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_ZAKO is not set
#
-# Bluey
+# Bluey (Qualcomm Snapdragon X Plus (X1P-42-100))
#
# CONFIG_BOARD_GOOGLE_BLUEY is not set
# CONFIG_BOARD_GOOGLE_QUENBI is not set
@@ -173,7 +174,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_QUARTZ is not set
#
-# Brox
+# Brox (Intel RaptorLake (13th Gen))
#
# CONFIG_BOARD_GOOGLE_BROX is not set
# CONFIG_BOARD_GOOGLE_BROX_RTK_EC is not set
@@ -185,7 +186,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_LOTSO is not set
#
-# Brya
+# Brya (Intel AlderLake/RaptorLake/TwinLake (12 - 13th Gen))
#
# CONFIG_BOARD_GOOGLE_AGAH is not set
# CONFIG_BOARD_GOOGLE_ANAHERA is not set
@@ -268,19 +269,19 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_PUJJOCENTO is not set
#
-# Butterfly
+# Butterfly (Intel SandyBridge (2nd Gen))
#
# CONFIG_BOARD_GOOGLE_BUTTERFLY is not set
#
-# Cherry
+# 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
+# Kingler (MediaTek Kompanio 520 (MT8186))
#
# CONFIG_BOARD_GOOGLE_KINGLER is not set
# CONFIG_BOARD_GOOGLE_KYOGRE is not set
@@ -290,7 +291,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_VOLTORB is not set
#
-# Krabby
+# Krabby (MediaTek Kompanio 520 (MT8186))
#
# CONFIG_BOARD_GOOGLE_CHINCHOU is not set
# CONFIG_BOARD_GOOGLE_KRABBY is not set
@@ -300,14 +301,14 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_VELUZA is not set
#
-# Staryu
+# 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
+# Cyan (Intel Braswell)
#
# CONFIG_BOARD_GOOGLE_BANON is not set
# CONFIG_BOARD_GOOGLE_CELES is not set
@@ -322,12 +323,12 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_WIZPIG is not set
#
-# Daisy
+# Daisy (Samsung Exynos 5250)
#
# CONFIG_BOARD_GOOGLE_DAISY is not set
#
-# Dedede
+# Dedede (Intel JasperLake)
#
# CONFIG_BOARD_GOOGLE_BEADRIX is not set
# CONFIG_BOARD_GOOGLE_BLIPPER is not set
@@ -363,17 +364,17 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_AWASUKI is not set
#
-# Drallion
+# Drallion (Intel CometLake (10th Gen) with ISH)
#
# CONFIG_BOARD_GOOGLE_DRALLION is not set
#
-# Eve
+# Eve (Intel KabyLake (7th Gen))
#
# CONFIG_BOARD_GOOGLE_EVE is not set
#
-# Fatcat
+# Fatcat (Intel PantherLake (Ultra 3rd Gen))
#
# CONFIG_BOARD_GOOGLE_FATCAT is not set
# CONFIG_BOARD_GOOGLE_FATCAT4ES is not set
@@ -392,30 +393,30 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_RUBY is not set
#
-# Fizz
+# 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
+# Foster (Nvidia Tegra X1 (T210))
#
# CONFIG_BOARD_GOOGLE_FOSTER is not set
#
-# Gale
+# Gale (Qualcomm IPQ4019)
#
# CONFIG_BOARD_GOOGLE_GALE is not set
#
-# Geralt
+# Geralt (MediaTek Kompanio 838 (MT8188))
#
# CONFIG_BOARD_GOOGLE_GERALT is not set
# CONFIG_BOARD_GOOGLE_CIRI is not set
#
-# Glados
+# Glados (Intel Skylake (6th Gen))
#
# CONFIG_BOARD_GOOGLE_ASUKA is not set
# CONFIG_BOARD_GOOGLE_CAROLINE is not set
@@ -426,7 +427,7 @@ CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_BOARD_GOOGLE_SENTRY is not set
#
-# Gru
+# Gru (Rockchip RK3399)
#
CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_GRU is not set
@@ -436,14 +437,14 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_RAINIER is not set
#
-# Guybrush
+# 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
+# Hatch (Intel CometLake (10th Gen))
#
# CONFIG_BOARD_GOOGLE_AKEMI is not set
# CONFIG_BOARD_GOOGLE_DRATINI is not set
@@ -458,7 +459,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_PALKIA is not set
#
-# Herobrine
+# Herobrine (Qualcomm Snapdragon 7c+ Gen3 (SC7280))
#
# CONFIG_BOARD_GOOGLE_HEROBRINE is not set
# CONFIG_BOARD_GOOGLE_HEROBRINE_REV0 is not set
@@ -471,7 +472,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_ZOMBIE is not set
#
-# Jecht
+# Jecht (Intel Broadwell (5th Gen))
#
# CONFIG_BOARD_GOOGLE_GUADO is not set
# CONFIG_BOARD_GOOGLE_JECHT is not set
@@ -479,7 +480,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_TIDUS is not set
#
-# Kahlee
+# Kahlee (AMD StoneyRidge)
#
# CONFIG_BOARD_GOOGLE_ALEENA is not set
# CONFIG_BOARD_GOOGLE_CAREENA is not set
@@ -489,7 +490,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_TREEYA is not set
#
-# Kukui
+# Kukui (MediaTek Kompanio 500 (MT8183))
#
# CONFIG_BOARD_GOOGLE_KUKUI is not set
# CONFIG_BOARD_GOOGLE_KRANE is not set
@@ -499,7 +500,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_KATSU is not set
#
-# Jacuzzi
+# Jacuzzi (MediaTek Kompanio 500 (MT8183))
#
# CONFIG_BOARD_GOOGLE_JACUZZI is not set
# CONFIG_BOARD_GOOGLE_JUNIPER is not set
@@ -517,44 +518,44 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_PICO is not set
#
-# Link
+# Link (Intel IvyBridge (3rd Gen))
#
# CONFIG_BOARD_GOOGLE_LINK is not set
#
-# Mistral
+# Mistral (Qualcomm Dragonwing QCS405)
#
# CONFIG_BOARD_GOOGLE_MISTRAL is not set
#
-# Myst
+# Myst (AMD Ryzen Mobile 7000 (Phoenix))
#
# CONFIG_BOARD_GOOGLE_MYST is not set
#
-# Nyan
+# Nyan (NVIDIA Tegra K1 (CD570M))
#
# CONFIG_BOARD_GOOGLE_NYAN is not set
#
-# Nyan Big
+# Nyan Big (Nvidia Tegra K1 (T124))
#
# CONFIG_BOARD_GOOGLE_NYAN_BIG is not set
#
-# Nyan Blaze
+# Nyan Blaze (NVIDIA Tegra K1 (CD570M))
#
# CONFIG_BOARD_GOOGLE_NYAN_BLAZE is not set
#
-# Oak
+# 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
+# Ocelot (Intel WildcatLake (Ultra 3rd Gen))
#
# CONFIG_BOARD_GOOGLE_KODKOD is not set
# CONFIG_BOARD_GOOGLE_MATSU is not set
@@ -568,7 +569,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_OCICAT is not set
#
-# Octopus
+# Octopus (Intel GeminiLake)
#
# CONFIG_BOARD_GOOGLE_AMPTON is not set
# CONFIG_BOARD_GOOGLE_BLOOG is not set
@@ -585,17 +586,17 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_YORP is not set
#
-# Parrot
+# Parrot (Intel SandyBridge (2nd Gen))
#
# CONFIG_BOARD_GOOGLE_PARROT is not set
#
-# Peach Pit
+# Peach Pit (Samsung Exynos 5420)
#
# CONFIG_BOARD_GOOGLE_PEACH_PIT is not set
#
-# Poppy
+# Poppy (Intel KabyLake/KabyLake-R (7th/8th Gen))
#
# CONFIG_BOARD_GOOGLE_ATLAS is not set
# CONFIG_BOARD_GOOGLE_POPPY is not set
@@ -606,7 +607,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_SORAKA is not set
#
-# Puff
+# Puff (Intel CometLake (10th Gen))
#
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
# CONFIG_BOARD_GOOGLE_DOOLY is not set
@@ -623,7 +624,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_WYVERN is not set
#
-# Rambi
+# Rambi (Intel Baytrail)
#
# CONFIG_BOARD_GOOGLE_BANJO is not set
# CONFIG_BOARD_GOOGLE_CANDY is not set
@@ -644,7 +645,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_WINKY is not set
#
-# Rauru
+# Rauru (MediaTek Kompanio Ultra 910 (MT8196))
#
# CONFIG_BOARD_GOOGLE_HYLIA is not set
# CONFIG_BOARD_GOOGLE_NAVI is not set
@@ -652,7 +653,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_SAPPHIRE is not set
#
-# Reef
+# Reef (Intel ApolloLake)
#
# CONFIG_BOARD_GOOGLE_REEF is not set
# CONFIG_BOARD_GOOGLE_PYRO is not set
@@ -661,7 +662,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_CORAL is not set
#
-# Rex
+# Rex (Intel MeteorLake (Ultra 1st Gen))
#
# CONFIG_BOARD_GOOGLE_DEKU is not set
# CONFIG_BOARD_GOOGLE_DEKU4ES is not set
@@ -679,13 +680,13 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_KANIX is not set
#
-# Sarien
+# Sarien (Intel WhiskeyLake (8th Gen))
#
# CONFIG_BOARD_GOOGLE_ARCADA is not set
# CONFIG_BOARD_GOOGLE_SARIEN is not set
#
-# Skyrim
+# Skyrim (AMD Ryzen Mobile 7000 (Mendocino))
#
# CONFIG_BOARD_GOOGLE_CRYSTALDRIFT is not set
# CONFIG_BOARD_GOOGLE_FROSTFLOW is not set
@@ -694,20 +695,22 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_WINTERHOLD is not set
#
-# Skywalker
+# 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_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
+# Slippy (Intel Haswell (4th Gen))
#
# CONFIG_BOARD_GOOGLE_FALCO is not set
# CONFIG_BOARD_GOOGLE_LEON is not set
@@ -715,22 +718,22 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_WOLF is not set
#
-# Smaug
+# Smaug (Nvidia Tegra X1 (T210))
#
# CONFIG_BOARD_GOOGLE_SMAUG is not set
#
-# Storm
+# Storm (Qualcomm IPQ8064)
#
# CONFIG_BOARD_GOOGLE_STORM is not set
#
-# Stout
+# Stout (Intel SandyBridge (2nd Gen))
#
# CONFIG_BOARD_GOOGLE_STOUT is not set
#
-# Trogdor
+# Trogdor (Qualcomm Snapdragon 7c (SC7180))
#
# CONFIG_BOARD_GOOGLE_BUBS is not set
# CONFIG_BOARD_GOOGLE_COACHZ is not set
@@ -747,7 +750,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_TROGDOR is not set
#
-# Veyron
+# Veyron (Rockchip RK3288)
#
# CONFIG_BOARD_GOOGLE_VEYRON_JAQ is not set
# CONFIG_BOARD_GOOGLE_VEYRON_JERRY is not set
@@ -756,17 +759,17 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY is not set
#
-# Veyron Mickey
+# Veyron Mickey (Rockchip RK3288)
#
# CONFIG_BOARD_GOOGLE_VEYRON_MICKEY is not set
#
-# Veyron Rialto
+# Veyron Rialto (Rockchip RK3288)
#
# CONFIG_BOARD_GOOGLE_VEYRON_RIALTO is not set
#
-# Volteer
+# Volteer (Intel TigerLake (11th Gen))
#
# CONFIG_BOARD_GOOGLE_CHRONICLER is not set
# CONFIG_BOARD_GOOGLE_COLLIS is not set
@@ -789,7 +792,7 @@ CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_VOXEL is not set
#
-# Zork
+# Zork (AMD Ryzen Mobile 3000 (Picasso))
#
# CONFIG_BOARD_GOOGLE_BERKNIP is not set
# CONFIG_BOARD_GOOGLE_DALBOZ is not set
@@ -820,10 +823,7 @@ CONFIG_TTYS0_BAUD=115200
CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -896,7 +896,6 @@ CONFIG_EC_GOOGLE_CHROMEEC_RTC=y
# CONFIG_EC_GOOGLE_CHROMEEC_AUTO_FAN_CTRL is not set
CONFIG_EC_GOOGLE_CHROMEEC_LPC_GENERIC_MEMORY_BASE=0xfe0b0000
CONFIG_EC_GOOGLE_CHROMEEC_LPC_GENERIC_MEMORY_SIZE=0x10000
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_MAINBOARD_HAS_CHROMEOS=y
#
@@ -946,7 +945,6 @@ CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/hp2170p_16mb/config/libgfxinit_corebootfb b/config/coreboot/hp2170p_16mb/config/libgfxinit_corebootfb
index 9ca7f8d5..b734ff8e 100644
--- a/config/coreboot/hp2170p_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp2170p_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -215,10 +216,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -391,7 +389,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp2170p/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp2170p/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -486,7 +483,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp2170p_16mb/config/libgfxinit_txtmode b/config/coreboot/hp2170p_16mb/config/libgfxinit_txtmode
index bba20fc8..625a1aff 100644
--- a/config/coreboot/hp2170p_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp2170p_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -213,10 +214,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -389,7 +387,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp2170p/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp2170p/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -482,7 +479,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp2560p_8mb/config/libgfxinit_corebootfb b/config/coreboot/hp2560p_8mb/config/libgfxinit_corebootfb
index a423365a..39d3dcd4 100644
--- a/config/coreboot/hp2560p_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp2560p_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -212,10 +213,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -387,7 +385,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp2560p/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp2560p/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -482,7 +479,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp2560p_8mb/config/libgfxinit_txtmode b/config/coreboot/hp2560p_8mb/config/libgfxinit_txtmode
index c4e77b1e..c981167b 100644
--- a/config/coreboot/hp2560p_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp2560p_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -210,10 +211,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -385,7 +383,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp2560p/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp2560p/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -478,7 +475,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp2570p_16mb/config/libgfxinit_corebootfb b/config/coreboot/hp2570p_16mb/config/libgfxinit_corebootfb
index 3a3df396..5ff6510d 100644
--- a/config/coreboot/hp2570p_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp2570p_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -211,10 +212,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -386,7 +384,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp2570p/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp2570p/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -480,7 +477,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp2570p_16mb/config/libgfxinit_txtmode b/config/coreboot/hp2570p_16mb/config/libgfxinit_txtmode
index 5a4a4bc6..bca3b353 100644
--- a/config/coreboot/hp2570p_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp2570p_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -209,10 +210,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -384,7 +382,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp2570p/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp2570p/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -476,7 +473,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8200sff_4mb/config/libgfxinit_corebootfb b/config/coreboot/hp8200sff_4mb/config/libgfxinit_corebootfb
index bd950e51..a77859dd 100644
--- a/config/coreboot/hp8200sff_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp8200sff_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -214,10 +215,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -376,7 +374,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -471,7 +468,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8200sff_4mb/config/libgfxinit_txtmode b/config/coreboot/hp8200sff_4mb/config/libgfxinit_txtmode
index cb0b7417..53997dde 100644
--- a/config/coreboot/hp8200sff_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp8200sff_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -212,10 +213,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -374,7 +372,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -467,7 +464,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8200sff_8mb/config/libgfxinit_corebootfb b/config/coreboot/hp8200sff_8mb/config/libgfxinit_corebootfb
index 7b6a1f41..1a6a7953 100644
--- a/config/coreboot/hp8200sff_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp8200sff_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -214,10 +215,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -376,7 +374,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -471,7 +468,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8200sff_8mb/config/libgfxinit_txtmode b/config/coreboot/hp8200sff_8mb/config/libgfxinit_txtmode
index 27145018..7a752fc5 100644
--- a/config/coreboot/hp8200sff_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp8200sff_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -212,10 +213,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -374,7 +372,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -467,7 +464,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp820g2_12mb/config/libgfxinit_corebootfb b/config/coreboot/hp820g2_12mb/config/libgfxinit_corebootfb
index 6285eaab..32b1b173 100644
--- a/config/coreboot/hp820g2_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp820g2_12mb/config/libgfxinit_corebootfb
@@ -20,6 +20,7 @@ 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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -351,7 +349,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_HP_KBC1126=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -441,7 +438,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp820g2_12mb/config/libgfxinit_txtmode b/config/coreboot/hp820g2_12mb/config/libgfxinit_txtmode
index fd3d69cd..a678b89e 100644
--- a/config/coreboot/hp820g2_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp820g2_12mb/config/libgfxinit_txtmode
@@ -20,6 +20,7 @@ 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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -349,7 +347,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
CONFIG_EC_ACPI=y
CONFIG_EC_HP_KBC1126=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -437,7 +434,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8300cmt_16mb/config/libgfxinit_corebootfb b/config/coreboot/hp8300cmt_16mb/config/libgfxinit_corebootfb
index 8c6d9668..fcfeaa49 100644
--- a/config/coreboot/hp8300cmt_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp8300cmt_16mb/config/libgfxinit_corebootfb
@@ -21,6 +21,7 @@ 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
@@ -212,10 +213,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -374,7 +372,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -442,6 +439,7 @@ 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=0x04000000
CONFIG_PCI_ALLOW_BUS_MASTER=y
@@ -468,7 +466,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8300cmt_16mb/config/libgfxinit_txtmode b/config/coreboot/hp8300cmt_16mb/config/libgfxinit_txtmode
index 9cb077cb..0a4b2529 100644
--- a/config/coreboot/hp8300cmt_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp8300cmt_16mb/config/libgfxinit_txtmode
@@ -21,6 +21,7 @@ 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
@@ -210,10 +211,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -372,7 +370,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -438,6 +435,7 @@ 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=0x04000000
CONFIG_PCI_ALLOW_BUS_MASTER=y
@@ -464,7 +462,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8300usdt_16mb/config/libgfxinit_corebootfb b/config/coreboot/hp8300usdt_16mb/config/libgfxinit_corebootfb
index 48906499..954f3183 100644
--- a/config/coreboot/hp8300usdt_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp8300usdt_16mb/config/libgfxinit_corebootfb
@@ -21,6 +21,7 @@ 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
@@ -213,10 +214,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -375,7 +373,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -470,7 +467,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8300usdt_16mb/config/libgfxinit_txtmode b/config/coreboot/hp8300usdt_16mb/config/libgfxinit_txtmode
index cc3b7253..2bd49870 100644
--- a/config/coreboot/hp8300usdt_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp8300usdt_16mb/config/libgfxinit_txtmode
@@ -21,6 +21,7 @@ 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
@@ -211,10 +212,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -373,7 +371,6 @@ CONFIG_SUPERIO_NUVOTON_NPCD378=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -466,7 +463,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8460pintel_8mb/config/libgfxinit_corebootfb b/config/coreboot/hp8460pintel_8mb/config/libgfxinit_corebootfb
index a6856473..93ac19da 100644
--- a/config/coreboot/hp8460pintel_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp8460pintel_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -215,10 +216,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -391,7 +389,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp_68sce_68scf/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp_68sce_68scf/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -486,7 +483,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8460pintel_8mb/config/libgfxinit_txtmode b/config/coreboot/hp8460pintel_8mb/config/libgfxinit_txtmode
index dd06eafc..3f2cb440 100644
--- a/config/coreboot/hp8460pintel_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp8460pintel_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -213,10 +214,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -389,7 +387,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp_68sce_68scf/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp_68sce_68scf/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -482,7 +479,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8470pintel_16mb/config/libgfxinit_corebootfb b/config/coreboot/hp8470pintel_16mb/config/libgfxinit_corebootfb
index d70f53b1..ed58fa7b 100644
--- a/config/coreboot/hp8470pintel_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp8470pintel_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -214,10 +215,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -390,7 +388,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp_68ice_68icf/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp_68ice_68icf/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -484,7 +481,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8470pintel_16mb/config/libgfxinit_txtmode b/config/coreboot/hp8470pintel_16mb/config/libgfxinit_txtmode
index 34bb4de6..d90d82e2 100644
--- a/config/coreboot/hp8470pintel_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp8470pintel_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -212,10 +213,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -388,7 +386,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp_68ice_68icf/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp_68ice_68icf/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -480,7 +477,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp8560w_8mb/config/normal b/config/coreboot/hp8560w_8mb/config/normal
index 9b79aba7..1896b657 100644
--- a/config/coreboot/hp8560w_8mb/config/normal
+++ b/config/coreboot/hp8560w_8mb/config/normal
@@ -21,6 +21,7 @@ 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
@@ -210,10 +211,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -386,7 +384,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp8560w/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp8560w/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -465,7 +462,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp9470m_16mb/config/libgfxinit_corebootfb b/config/coreboot/hp9470m_16mb/config/libgfxinit_corebootfb
index f5246803..e04e02bf 100644
--- a/config/coreboot/hp9470m_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hp9470m_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -212,10 +213,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -387,7 +385,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp9470m/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp9470m/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -482,7 +479,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hp9470m_16mb/config/libgfxinit_txtmode b/config/coreboot/hp9470m_16mb/config/libgfxinit_txtmode
index 7ad44d09..505949b1 100644
--- a/config/coreboot/hp9470m_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hp9470m_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -210,10 +211,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -385,7 +383,6 @@ CONFIG_KBC1126_FW1="../../../ec/hp9470m/ec.bin.fw1"
CONFIG_KBC1126_FW1_OFFSET=0xfffe8000
CONFIG_KBC1126_FW2="../../../ec/hp9470m/ec.bin.fw2"
CONFIG_KBC1126_FW2_OFFSET=0xfffd0000
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -478,7 +475,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hppro3500series_8mb/config/libgfxinit_corebootfb b/config/coreboot/hppro3500series_8mb/config/libgfxinit_corebootfb
index 7d5473e4..08cc8be1 100644
--- a/config/coreboot/hppro3500series_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/hppro3500series_8mb/config/libgfxinit_corebootfb
@@ -21,6 +21,7 @@ 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
@@ -208,10 +209,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -379,7 +377,6 @@ CONFIG_SUPERIO_ITE_IT8772F=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -472,7 +469,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/hppro3500series_8mb/config/libgfxinit_txtmode b/config/coreboot/hppro3500series_8mb/config/libgfxinit_txtmode
index c1df55fd..ff0dd88a 100644
--- a/config/coreboot/hppro3500series_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/hppro3500series_8mb/config/libgfxinit_txtmode
@@ -21,6 +21,7 @@ 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
@@ -206,10 +207,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -377,7 +375,6 @@ CONFIG_SUPERIO_ITE_IT8772F=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -468,7 +465,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/macbook11/config/libgfxinit_corebootfb b/config/coreboot/macbook11/config/libgfxinit_corebootfb
index 95ae9abf..8caf2147 100644
--- a/config/coreboot/macbook11/config/libgfxinit_corebootfb
+++ b/config/coreboot/macbook11/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -175,10 +176,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -244,6 +242,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -324,7 +323,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -403,7 +401,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/macbook11/config/libgfxinit_txtmode b/config/coreboot/macbook11/config/libgfxinit_txtmode
index d10173ac..5a10f80a 100644
--- a/config/coreboot/macbook11/config/libgfxinit_txtmode
+++ b/config/coreboot/macbook11/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -175,10 +176,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -244,6 +242,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -324,7 +323,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -401,7 +399,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/macbook11_16mb/config/libgfxinit_corebootfb b/config/coreboot/macbook11_16mb/config/libgfxinit_corebootfb
index f8ae28d2..cad0b0d0 100644
--- a/config/coreboot/macbook11_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/macbook11_16mb/config/libgfxinit_corebootfb
@@ -21,6 +21,7 @@ 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
@@ -174,10 +175,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -243,6 +241,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -323,7 +322,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -402,7 +400,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/macbook11_16mb/config/libgfxinit_txtmode b/config/coreboot/macbook11_16mb/config/libgfxinit_txtmode
index 74bd5903..c5753532 100644
--- a/config/coreboot/macbook11_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/macbook11_16mb/config/libgfxinit_txtmode
@@ -21,6 +21,7 @@ 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
@@ -174,10 +175,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -243,6 +241,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -323,7 +322,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -400,7 +398,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/macbook21/config/libgfxinit_corebootfb b/config/coreboot/macbook21/config/libgfxinit_corebootfb
index 63eb30f8..09cb68fb 100644
--- a/config/coreboot/macbook21/config/libgfxinit_corebootfb
+++ b/config/coreboot/macbook21/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -175,10 +176,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -244,6 +242,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -324,7 +323,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -403,7 +401,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/macbook21/config/libgfxinit_txtmode b/config/coreboot/macbook21/config/libgfxinit_txtmode
index 3f45c3db..012c9023 100644
--- a/config/coreboot/macbook21/config/libgfxinit_txtmode
+++ b/config/coreboot/macbook21/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -175,10 +176,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -244,6 +242,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -324,7 +323,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -401,7 +399,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/macbook21_16mb/config/libgfxinit_corebootfb b/config/coreboot/macbook21_16mb/config/libgfxinit_corebootfb
index e466de67..122d7103 100644
--- a/config/coreboot/macbook21_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/macbook21_16mb/config/libgfxinit_corebootfb
@@ -21,6 +21,7 @@ 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
@@ -174,10 +175,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -243,6 +241,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -323,7 +322,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -402,7 +400,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/macbook21_16mb/config/libgfxinit_txtmode b/config/coreboot/macbook21_16mb/config/libgfxinit_txtmode
index 1e8c080a..3941cd87 100644
--- a/config/coreboot/macbook21_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/macbook21_16mb/config/libgfxinit_txtmode
@@ -21,6 +21,7 @@ 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
@@ -174,10 +175,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -243,6 +241,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -323,7 +322,6 @@ CONFIG_RCBA_LENGTH=0x4000
# Embedded Controllers
#
CONFIG_EC_ACPI=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -400,7 +398,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/q45t_am/config/libgfxinit_txtmode b/config/coreboot/q45t_am/config/libgfxinit_txtmode
index db4c7917..9f0dfe45 100644
--- a/config/coreboot/q45t_am/config/libgfxinit_txtmode
+++ b/config/coreboot/q45t_am/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -183,10 +184,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -333,7 +331,6 @@ CONFIG_SUPERIO_ITE_IT8720F=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -425,7 +422,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/qemu_arm64_12mb/config/libgfxinit_corebootfb b/config/coreboot/qemu_arm64_12mb/config/libgfxinit_corebootfb
index 661ea346..b440ca0c 100644
--- a/config/coreboot/qemu_arm64_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/qemu_arm64_12mb/config/libgfxinit_corebootfb
@@ -20,6 +20,7 @@ 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_COMPRESS_PRERAM_STAGES=y
CONFIG_SEPARATE_ROMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
@@ -159,10 +160,7 @@ CONFIG_TTYS0_BAUD=115200
CONFIG_D3COLD_SUPPORT=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -226,7 +224,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_ARM64=y
CONFIG_ARCH_BOOTBLOCK_ARM64=y
@@ -283,7 +280,6 @@ CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
CONFIG_DRIVERS_UART=y
diff --git a/config/coreboot/qemu_x86_12mb/config/libgfxinit_corebootfb b/config/coreboot/qemu_x86_12mb/config/libgfxinit_corebootfb
index b22b7a9c..304f4300 100644
--- a/config/coreboot/qemu_x86_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/qemu_x86_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -176,10 +177,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -269,7 +267,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -344,7 +341,6 @@ CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/qemu_x86_12mb/config/libgfxinit_txtmode b/config/coreboot/qemu_x86_12mb/config/libgfxinit_txtmode
index 9f49d4e2..9f4bf25a 100644
--- a/config/coreboot/qemu_x86_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/qemu_x86_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -176,10 +177,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -269,7 +267,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -342,7 +339,6 @@ CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_corebootfb b/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_corebootfb
index b22b7a9c..304f4300 100644
--- a/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -176,10 +177,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -269,7 +267,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -344,7 +341,6 @@ CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_txtmode b/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_txtmode
index 9f49d4e2..9f4bf25a 100644
--- a/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/qemu_x86_64_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -176,10 +177,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -269,7 +267,6 @@ CONFIG_RCBA_LENGTH=0x4000
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -342,7 +339,6 @@ CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r400_16mb/config/libgfxinit_corebootfb b/config/coreboot/r400_16mb/config/libgfxinit_corebootfb
index 3b6e0753..10b78baf 100644
--- a/config/coreboot/r400_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/r400_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r400_16mb/config/libgfxinit_txtmode b/config/coreboot/r400_16mb/config/libgfxinit_txtmode
index 116dcaec..3ca89d38 100644
--- a/config/coreboot/r400_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/r400_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r400_4mb/config/libgfxinit_corebootfb b/config/coreboot/r400_4mb/config/libgfxinit_corebootfb
index ad19d139..01c93cf0 100644
--- a/config/coreboot/r400_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/r400_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r400_4mb/config/libgfxinit_txtmode b/config/coreboot/r400_4mb/config/libgfxinit_txtmode
index d5ed1ec7..765d55b0 100644
--- a/config/coreboot/r400_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/r400_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r400_8mb/config/libgfxinit_corebootfb b/config/coreboot/r400_8mb/config/libgfxinit_corebootfb
index 0d93661a..7db6b6b4 100644
--- a/config/coreboot/r400_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/r400_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r400_8mb/config/libgfxinit_txtmode b/config/coreboot/r400_8mb/config/libgfxinit_txtmode
index 021c0d59..078e7f9c 100644
--- a/config/coreboot/r400_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/r400_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r500_4mb/config/libgfxinit_corebootfb b/config/coreboot/r500_4mb/config/libgfxinit_corebootfb
index 92886383..682652a4 100644
--- a/config/coreboot/r500_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/r500_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -231,10 +232,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/r500_4mb/config/libgfxinit_txtmode b/config/coreboot/r500_4mb/config/libgfxinit_txtmode
index 7d768256..12050ef7 100644
--- a/config/coreboot/r500_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/r500_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -383,7 +381,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -473,7 +470,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_corebootfb
new file mode 100644
index 00000000..da374034
--- /dev/null
+++ b/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_corebootfb
@@ -0,0 +1,805 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# coreboot configuration
+#
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_CBFS_PREFIX="fallback"
+CONFIG_COMPILER_GCC=y
+# CONFIG_COMPILER_LLVM_CLANG is not set
+# CONFIG_ANY_TOOLCHAIN is not set
+# CONFIG_CCACHE is not set
+# CONFIG_LTO is not set
+# CONFIG_IWYU is not set
+# CONFIG_FMD_GENPARSER is not set
+# CONFIG_UTIL_GENPARSER is not set
+# CONFIG_OPTION_BACKEND_NONE is not set
+CONFIG_USE_OPTION_TABLE=y
+# CONFIG_USE_CBFS_FILE_OPTION_BACKEND is not set
+CONFIG_STATIC_OPTION_TABLE=y
+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=y
+# CONFIG_TSEG_STAGE_CACHE is not set
+# CONFIG_UPDATE_IMAGE is not set
+# CONFIG_BOOTSPLASH_IMAGE is not set
+
+#
+# Software Bill Of Materials (SBOM)
+#
+# CONFIG_SBOM is not set
+# end of Software Bill Of Materials (SBOM)
+# end of General setup
+
+#
+# Mainboard
+#
+
+#
+# Important: Run 'make distclean' before switching boards
+#
+# CONFIG_VENDOR_51NB is not set
+# CONFIG_VENDOR_ACER is not set
+# CONFIG_VENDOR_AMD is not set
+# CONFIG_VENDOR_AOOSTAR is not set
+# CONFIG_VENDOR_AOPEN is not set
+# CONFIG_VENDOR_APPLE is not set
+# CONFIG_VENDOR_ARM is not set
+# CONFIG_VENDOR_ASROCK is not set
+# CONFIG_VENDOR_ASUS is not set
+# CONFIG_VENDOR_BIOSTAR is not set
+# CONFIG_VENDOR_BOSTENTECH is not set
+# CONFIG_VENDOR_BYTEDANCE is not set
+# CONFIG_VENDOR_CAVIUM is not set
+# CONFIG_VENDOR_CLEVO is not set
+# CONFIG_VENDOR_COMPULAB is not set
+# CONFIG_VENDOR_CWWK is not set
+# CONFIG_VENDOR_DELL is not set
+# CONFIG_VENDOR_EMULATION is not set
+# CONFIG_VENDOR_ERYING is not set
+# CONFIG_VENDOR_EXAMPLE is not set
+# CONFIG_VENDOR_FACEBOOK is not set
+# CONFIG_VENDOR_FOXCONN is not set
+# CONFIG_VENDOR_FRAMEWORK is not set
+# CONFIG_VENDOR_GETAC is not set
+# CONFIG_VENDOR_GIGABYTE is not set
+# CONFIG_VENDOR_GOOGLE is not set
+# CONFIG_VENDOR_HARDKERNEL is not set
+# CONFIG_VENDOR_HP is not set
+# CONFIG_VENDOR_IBASE is not set
+# CONFIG_VENDOR_IBM is not set
+# CONFIG_VENDOR_INTEL is not set
+# CONFIG_VENDOR_INVENTEC is not set
+# CONFIG_VENDOR_KONTRON is not set
+# CONFIG_VENDOR_LATTEPANDA is not set
+# CONFIG_VENDOR_LENOVO 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_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=y
+# 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="Supermicro_X11_LGA1151_SERIES"
+CONFIG_MAINBOARD_PART_NUMBER="X11SSH-F/LN4F"
+CONFIG_MAINBOARD_VERSION="1.0"
+CONFIG_MAINBOARD_DIR="supermicro/x11-lga1151-series"
+CONFIG_VGA_BIOS_ID="8086,0406"
+CONFIG_DIMM_MAX=4
+CONFIG_DIMM_SPD_SIZE=512
+CONFIG_FMDFILE=""
+# CONFIG_NO_POST is not set
+CONFIG_MAINBOARD_VENDOR="Supermicro"
+CONFIG_CBFS_SIZE=0xb00000
+CONFIG_CONSOLE_SERIAL=y
+CONFIG_MAX_CPUS=16
+# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
+# CONFIG_POST_DEVICE is not set
+CONFIG_POST_IO=y
+CONFIG_UART_FOR_CONSOLE=0
+CONFIG_VARIANT_DIR="x11ssh-f"
+CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
+CONFIG_DEVICETREE="devicetree.cb"
+# CONFIG_VBOOT is not set
+CONFIG_VBOOT_VBNV_OFFSET=0x2a
+# 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="Supermicro"
+CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
+CONFIG_ECAM_MMCONF_BUS_NUMBER=256
+CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
+# CONFIG_FATAL_ASSERTS is not set
+CONFIG_DISABLE_HECI1_AT_PRE_BOOT=y
+CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
+CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="X11SSH-F/LN4F"
+CONFIG_CONSOLE_POST=y
+CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
+CONFIG_MAX_SOCKET=1
+CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
+CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
+CONFIG_USE_PM_ACPI_TIMER=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
+CONFIG_TPM_PIRQ=0x0
+CONFIG_DCACHE_RAM_BASE=0xfef00000
+CONFIG_DCACHE_RAM_SIZE=0x40000
+CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
+CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
+CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
+CONFIG_HAVE_INTEL_FIRMWARE=y
+CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
+CONFIG_DRIVERS_INTEL_WIFI=y
+CONFIG_IFD_BIN_PATH="../../../config/ifd/supermicro_x11_lga1151_series/ifd"
+CONFIG_ME_BIN_PATH="../../../vendorfiles/supermicro_x11_lga1151_series/me.bin"
+CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
+CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
+CONFIG_CARDBUS_PLUGIN_SUPPORT=y
+CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
+CONFIG_USE_LEGACY_8254_TIMER=y
+# CONFIG_DEBUG_SMI is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
+CONFIG_HAVE_IFD_BIN=y
+CONFIG_PS2K_EISAID="PNP0303"
+CONFIG_PS2M_EISAID="PNP0F13"
+CONFIG_TTYS0_BAUD=115200
+# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
+CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
+CONFIG_IPMI_KCS_REGISTER_SPACING=1
+CONFIG_D3COLD_SUPPORT=y
+CONFIG_DRIVERS_UART_8250IO=y
+CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
+CONFIG_HEAP_SIZE=0x100000
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
+# CONFIG_BOARD_SUPERMICRO_X10SLM_PLUS_F is not set
+# CONFIG_BOARD_SUPERMICRO_X11SSH_TF is not set
+# CONFIG_BOARD_SUPERMICRO_X11SSM_F is not set
+CONFIG_BOARD_SUPERMICRO_X11SSH_F=y
+# CONFIG_BOARD_SUPERMICRO_X11SSW_F is not set
+# CONFIG_BOARD_SUPERMICRO_X9SAE is not set
+# CONFIG_BOARD_SUPERMICRO_X9SCL is not set
+CONFIG_SUPERMICRO_BOARDID="0884"
+CONFIG_BOARD_SUPERMICRO_BASEBOARD_X11_LGA1151_SERIES=y
+CONFIG_DRIVERS_IPMI_SUPERMICRO_OEM=y
+CONFIG_BOARD_ROMSIZE_KB_16384=y
+# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
+CONFIG_COREBOOT_ROMSIZE_KB_16384=y
+# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
+CONFIG_COREBOOT_ROMSIZE_KB=16384
+CONFIG_ROM_SIZE=0x01000000
+CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
+CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
+# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
+CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
+# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
+CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
+# end of Mainboard
+
+#
+# Chipset
+#
+
+#
+# SoC
+#
+CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
+CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
+CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
+CONFIG_CBFS_MCACHE_SIZE=0x4000
+CONFIG_ROMSTAGE_ADDR=0x2000000
+CONFIG_VERSTAGE_ADDR=0x2000000
+CONFIG_SMM_TSEG_SIZE=0x800000
+CONFIG_SMM_RESERVED_SIZE=0x200000
+CONFIG_SMM_MODULE_STACK_SIZE=0x800
+CONFIG_ACPI_BERT_SIZE=0x0
+CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
+CONFIG_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_IFD_CHIPSET="sklkbl"
+CONFIG_IED_REGION_SIZE=0x400000
+CONFIG_MAX_ROOT_PORTS=24
+CONFIG_PCR_BASE_ADDRESS=0xfd000000
+CONFIG_CPU_BCLK_MHZ=100
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
+CONFIG_CPU_XTAL_HZ=24000000
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
+CONFIG_SOC_INTEL_I2C_DEV_MAX=6
+# CONFIG_ENABLE_SATA_TEST_MODE is not set
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
+CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
+CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
+CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
+CONFIG_INTEL_GMA_BCLV_WIDTH=16
+CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
+CONFIG_INTEL_GMA_BCLM_WIDTH=16
+CONFIG_FSP_PUBLISH_MBP_HOB=y
+CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
+CONFIG_MAX_HECI_DEVICES=5
+CONFIG_BOOTBLOCK_IN_CBFS=y
+CONFIG_HAVE_PAM0_REGISTER=y
+CONFIG_PCIEXP_COMMON_CLOCK=y
+CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
+CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
+CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
+CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
+CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
+CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
+CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
+CONFIG_CBFS_CACHE_ALIGN=8
+CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
+CONFIG_SOC_INTEL_KABYLAKE=y
+CONFIG_SKYLAKE_SOC_PCH_H=y
+CONFIG_NO_FADT_8042=y
+CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_CPU=y
+CONFIG_MAINBOARD_SUPPORTS_COFFEELAKE_CPU=y
+# CONFIG_ALWAYS_ALLOW_ABOVE_4G_ALLOCATION is not set
+CONFIG_FSP_T_LOCATION=0xfffe0000
+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_CPPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
+CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
+# CONFIG_USE_COREBOOT_MP_INIT is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
+CONFIG_INTEL_CAR_NEM_ENHANCED=y
+# CONFIG_USE_INTEL_FSP_MP_INIT is not set
+CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
+CONFIG_HAVE_HYPERTHREADING=y
+# CONFIG_FSP_HYPERTHREADING is not set
+# CONFIG_INTEL_KEYLOCKER is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
+CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
+CONFIG_SOC_INTEL_CSE_RW_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_IOM_CBFS_NAME="cse_iom"
+CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
+CONFIG_CSE_RESET_CLEAR_EC_AP_IDLE_FLAG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
+CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
+CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
+# CONFIG_SOC_INTEL_DISABLE_IGD is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_COMB_ENABLE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
+CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
+CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
+CONFIG_SA_ENABLE_DPR=y
+CONFIG_HAVE_CAPID_A_REGISTER=y
+CONFIG_HAVE_BDSM_BGSM_REGISTER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
+
+#
+# Intel SoC Common PCH Code
+#
+CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
+CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
+CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
+CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
+
+#
+# Intel SoC Common coreboot stages and non-IP blocks
+#
+CONFIG_SOC_INTEL_COMMON_BASECODE=y
+CONFIG_SOC_INTEL_COMMON_RESET=y
+CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
+CONFIG_PAVP=y
+# CONFIG_MMA is not set
+CONFIG_SOC_INTEL_COMMON_NHLT=y
+# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
+
+#
+# CPU
+#
+CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
+CONFIG_CPU_INTEL_COMMON=y
+CONFIG_ENABLE_VMX=y
+CONFIG_SET_IA32_FC_LOCK_BIT=y
+CONFIG_SET_MSR_AESNI_LOCK_BIT=y
+CONFIG_CPU_INTEL_COMMON_SMM=y
+CONFIG_PARALLEL_MP=y
+CONFIG_PARALLEL_MP_AP_WORK=y
+CONFIG_XAPIC_ONLY=y
+# CONFIG_X2APIC_ONLY is not set
+# CONFIG_X2APIC_RUNTIME is not set
+# CONFIG_X2APIC_LATE_WORKAROUND is not set
+CONFIG_UDELAY_TSC=y
+CONFIG_TSC_MONOTONIC_TIMER=y
+CONFIG_TSC_SYNC_MFENCE=y
+CONFIG_HAVE_SMI_HANDLER=y
+CONFIG_SMM_TSEG=y
+CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
+CONFIG_AP_STACK_SIZE=0x800
+CONFIG_SMP=y
+CONFIG_SSE=y
+CONFIG_SSE2=y
+CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
+CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
+CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
+# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
+# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
+# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
+
+#
+# Northbridge
+#
+
+#
+# Southbridge
+#
+# CONFIG_PCIEXP_HOTPLUG is not set
+CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
+CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
+CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
+# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
+CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
+CONFIG_RCBA_LENGTH=0x4000
+
+#
+# Super I/O
+#
+CONFIG_SUPERIO_ASPEED_AST2400=y
+CONFIG_SUPERIO_ASPEED_COMMON_PRE_RAM=y
+CONFIG_SUPERIO_ASPEED_HAS_UART_DELAY_WORKAROUND=y
+CONFIG_SUPERIO_ASPEED_USE_UART_DELAY_WORKAROUND=y
+
+#
+# Embedded Controllers
+#
+
+#
+# Intel Firmware
+#
+CONFIG_HAVE_ME_BIN=y
+# CONFIG_STITCH_ME_BIN is not set
+# CONFIG_CHECK_ME is not set
+# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
+# CONFIG_USE_ME_CLEANER is not set
+# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
+# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
+CONFIG_UNLOCK_FLASH_REGIONS=y
+CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
+CONFIG_UDK_BASE=y
+CONFIG_UDK_2017_BINDING=y
+CONFIG_UDK_2013_VERSION=2013
+CONFIG_UDK_2017_VERSION=2017
+CONFIG_UDK_202005_VERSION=202005
+CONFIG_UDK_202111_VERSION=202111
+CONFIG_UDK_202302_VERSION=202302
+CONFIG_UDK_202305_VERSION=202305
+CONFIG_UDK_VERSION=2017
+CONFIG_ARCH_X86=y
+CONFIG_ARCH_BOOTBLOCK_X86_32=y
+CONFIG_ARCH_VERSTAGE_X86_32=y
+CONFIG_ARCH_ROMSTAGE_X86_32=y
+CONFIG_ARCH_POSTCAR_X86_32=y
+CONFIG_ARCH_RAMSTAGE_X86_32=y
+CONFIG_ARCH_ALL_STAGES_X86_32=y
+CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
+CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
+CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
+CONFIG_PC80_SYSTEM=y
+CONFIG_HAVE_CMOS_DEFAULT=y
+CONFIG_POSTCAR_STAGE=y
+CONFIG_BOOTBLOCK_SIMPLE=y
+# CONFIG_BOOTBLOCK_NORMAL is not set
+CONFIG_COLLECT_TIMESTAMPS_TSC=y
+CONFIG_HAVE_CF9_RESET=y
+CONFIG_DEBUG_HW_BREAKPOINTS=y
+CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
+# CONFIG_DUMP_SMBIOS_TYPE17 is not set
+CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
+CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
+CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
+CONFIG_DEFAULT_EBDA_SIZE=0x400
+# end of Chipset
+
+#
+# Devices
+#
+CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
+CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
+CONFIG_HAVE_FSP_GOP=y
+CONFIG_MAINBOARD_NO_FSP_GOP=y
+CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
+CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
+# CONFIG_VGA_ROM_RUN is not set
+# CONFIG_NO_GFX_INIT is not set
+CONFIG_NO_EARLY_GFX_INIT=y
+
+#
+# Display
+#
+# CONFIG_VGA_TEXT_FRAMEBUFFER is not set
+CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
+CONFIG_LINEAR_FRAMEBUFFER=y
+# CONFIG_BOOTSPLASH is not set
+CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
+# end of Display
+
+CONFIG_PCI=y
+CONFIG_ECAM_MMCONF_SUPPORT=y
+CONFIG_PCIX_PLUGIN_SUPPORT=y
+CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
+CONFIG_PCIEXP_PLUGIN_SUPPORT=y
+CONFIG_ECAM_MMCONF_LENGTH=0x10000000
+CONFIG_PCI_ALLOW_BUS_MASTER=y
+CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
+CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
+# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
+# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
+# CONFIG_EARLY_PCI_BRIDGE is not set
+CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
+CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
+# CONFIG_INTEL_GMA_ADD_VBT is not set
+CONFIG_SOFTWARE_I2C=y
+CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
+CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
+CONFIG_DRAM_SUPPORT_DDR4=y
+CONFIG_DRAM_SUPPORT_DDR3=y
+# end of Devices
+
+#
+# Generic Drivers
+#
+CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
+# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
+# CONFIG_ELOG is not set
+# CONFIG_DRIVERS_HWID_DMI is not set
+CONFIG_IPMI_KCS=y
+CONFIG_IPMI_FRU_SINGLE_RW_SZ=16
+CONFIG_BMC_KCS_BASE=0xca2
+CONFIG_IPMI_KCS_TIMEOUT_MS=5000
+CONFIG_IPMI_TIMEOUT_MS=5000
+CONFIG_CACHE_MRC_SETTINGS=y
+CONFIG_MRC_SETTINGS_PROTECT=y
+# CONFIG_DRIVERS_OPTION_CFR is not set
+# CONFIG_SMMSTORE is not set
+CONFIG_SPI_FLASH=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
+# CONFIG_SPI_FLASH_NO_FAST_READ is not set
+CONFIG_DRIVERS_UART=y
+# CONFIG_DRIVERS_UART_OXPCIE is not set
+# CONFIG_VPD is not set
+CONFIG_DRIVERS_ASPEED_AST2050=y
+CONFIG_DRIVERS_ASPEED_AST_COMMON=y
+# CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG is not set
+# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
+# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
+CONFIG_DRIVERS_I2C_DESIGNWARE=y
+# CONFIG_DRIVERS_I2C_MAX98396 is not set
+# CONFIG_FSP_USE_REPO is not set
+# CONFIG_DISPLAY_HOBS is not set
+# CONFIG_DISPLAY_UPD_DATA is not set
+CONFIG_PLATFORM_USES_FSP2_0=y
+CONFIG_PLATFORM_USES_FSP2_X86_32=y
+CONFIG_HAVE_INTEL_FSP_REPO=y
+CONFIG_ADD_FSP_BINARIES=y
+CONFIG_FSP_S_CBFS="fsps.bin"
+CONFIG_FSP_M_CBFS="fspm.bin"
+# CONFIG_FSP_FULL_FD is not set
+CONFIG_FSP_T_RESERVED_SIZE=0x0
+CONFIG_FSP_M_XIP=y
+CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
+CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
+CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
+CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
+# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
+# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
+CONFIG_FSP_VGA_MODE12_BPP=0x0
+CONFIG_INTEL_GMA_ACPI=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=y
+CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
+CONFIG_MEMORY_MAPPED_TPM=y
+CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
+# CONFIG_DRIVERS_SIL_3114 is not set
+CONFIG_DRIVERS_USB_ACPI=y
+CONFIG_DRIVERS_WIFI_GENERIC=y
+CONFIG_DRIVERS_MTK_WIFI=y
+# end of Generic Drivers
+
+#
+# Security
+#
+
+#
+# CBFS verification
+#
+# CONFIG_CBFS_VERIFICATION is not set
+# end of CBFS verification
+
+#
+# Verified Boot (vboot)
+#
+# end of Verified Boot (vboot)
+
+#
+# Trusted Platform Module
+#
+CONFIG_NO_TPM=y
+# CONFIG_TPM1 is not set
+# CONFIG_TPM2 is not set
+CONFIG_PCR_BOOT_MODE=1
+CONFIG_PCR_HWID=1
+CONFIG_PCR_SRTM=2
+CONFIG_PCR_FW_VER=10
+CONFIG_PCR_RUNTIME_DATA=3
+# end of Trusted Platform Module
+
+#
+# Memory initialization
+#
+CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
+# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
+# end of Memory initialization
+
+# CONFIG_STM is not set
+# CONFIG_INTEL_CBNT_SUPPORT is not set
+CONFIG_BOOTMEDIA_LOCK_NONE=y
+# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
+# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
+# CONFIG_BOOTMEDIA_SMM_BWP is not set
+# end of Security
+
+CONFIG_ACPI_HAVE_PCAT_8259=y
+CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
+CONFIG_ACPI_SOC_NVS=y
+CONFIG_ACPI_CUSTOM_MADT=y
+CONFIG_ACPI_NO_CUSTOM_MADT=y
+CONFIG_ACPI_COMMON_MADT_LAPIC=y
+CONFIG_ACPI_COMMON_MADT_IOAPIC=y
+CONFIG_HAVE_ACPI_TABLES=y
+CONFIG_ACPI_LPIT=y
+CONFIG_BOOT_DEVICE_SPI_FLASH=y
+CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
+CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
+CONFIG_RTC=y
+
+#
+# Console
+#
+CONFIG_BOOTBLOCK_CONSOLE=y
+CONFIG_POSTCAR_CONSOLE=y
+CONFIG_SQUELCH_EARLY_SMP=y
+
+#
+# I/O mapped, 8250-compatible
+#
+CONFIG_TTYS0_BASE=0x3f8
+
+#
+# Serial port base address = 0x3f8
+#
+# CONFIG_CONSOLE_SERIAL_921600 is not set
+# CONFIG_CONSOLE_SERIAL_460800 is not set
+# CONFIG_CONSOLE_SERIAL_230400 is not set
+CONFIG_CONSOLE_SERIAL_115200=y
+# CONFIG_CONSOLE_SERIAL_57600 is not set
+# CONFIG_CONSOLE_SERIAL_38400 is not set
+# CONFIG_CONSOLE_SERIAL_19200 is not set
+# CONFIG_CONSOLE_SERIAL_9600 is not set
+CONFIG_TTYS0_LCS=3
+# CONFIG_SPKMODEM is not set
+# CONFIG_CONSOLE_NE2K is not set
+CONFIG_CONSOLE_CBMEM=y
+# CONFIG_CONSOLE_SPI_FLASH is not set
+# CONFIG_CONSOLE_I2C_SMBUS is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
+CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
+CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
+# CONFIG_CMOS_POST is not set
+CONFIG_POST_IO_PORT=0x80
+CONFIG_HWBASE_DEBUG_CB=y
+# end of Console
+
+CONFIG_ACPI_S1_NOT_SUPPORTED=y
+CONFIG_HAVE_MONOTONIC_TIMER=y
+CONFIG_HAVE_OPTION_TABLE=y
+CONFIG_IOAPIC=y
+CONFIG_ACPI_NHLT=y
+
+#
+# System tables
+#
+CONFIG_GENERATE_SMBIOS_TABLES=y
+CONFIG_BIOS_VENDOR="coreboot"
+CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
+# end of System tables
+
+#
+# Payload
+#
+CONFIG_PAYLOAD_NONE=y
+# end of Payload
+
+#
+# Debugging
+#
+
+#
+# CPU Debug Settings
+#
+# CONFIG_DISPLAY_MTRRS is not set
+
+#
+# Vendorcode Debug Settings
+#
+
+#
+# BLOB Debug Settings
+#
+# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
+# CONFIG_DISPLAY_FSP_HEADER is not set
+# CONFIG_VERIFY_HOBS is not set
+# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
+CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
+# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
+
+#
+# General Debug Settings
+#
+# CONFIG_GDB_STUB is not set
+CONFIG_HAVE_DEBUG_GPIO=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_DEBUG_CBFS is not set
+CONFIG_HAVE_DEBUG_SMBUS=y
+# CONFIG_DEBUG_SMBUS is not set
+# CONFIG_DEBUG_MALLOC is not set
+# CONFIG_DEBUG_CONSOLE_INIT is not set
+# CONFIG_DEBUG_SPI_FLASH is not set
+# CONFIG_DEBUG_IPMI 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_DECOMPRESS_OFAST=y
+
+#
+# Boot Logo Configuration
+#
+# CONFIG_BMP_LOGO is not set
+# end of Boot Logo Configuration
+
+CONFIG_WARNINGS_ARE_ERRORS=y
+CONFIG_MAX_REBOOT_CNT=3
+CONFIG_RELOCATABLE_MODULES=y
+CONFIG_GENERIC_GPIO_LIB=y
+CONFIG_HAVE_BOOTBLOCK=y
+CONFIG_HAVE_ROMSTAGE=y
+CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_txtmode b/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_txtmode
new file mode 100644
index 00000000..af8b4dbd
--- /dev/null
+++ b/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/config/libgfxinit_txtmode
@@ -0,0 +1,804 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# coreboot configuration
+#
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_CBFS_PREFIX="fallback"
+CONFIG_COMPILER_GCC=y
+# CONFIG_COMPILER_LLVM_CLANG is not set
+# CONFIG_ANY_TOOLCHAIN is not set
+# CONFIG_CCACHE is not set
+# CONFIG_LTO is not set
+# CONFIG_IWYU is not set
+# CONFIG_FMD_GENPARSER is not set
+# CONFIG_UTIL_GENPARSER is not set
+# CONFIG_OPTION_BACKEND_NONE is not set
+CONFIG_USE_OPTION_TABLE=y
+# CONFIG_USE_CBFS_FILE_OPTION_BACKEND is not set
+CONFIG_STATIC_OPTION_TABLE=y
+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=y
+# CONFIG_TSEG_STAGE_CACHE is not set
+# CONFIG_UPDATE_IMAGE is not set
+# CONFIG_BOOTSPLASH_IMAGE is not set
+
+#
+# Software Bill Of Materials (SBOM)
+#
+# CONFIG_SBOM is not set
+# end of Software Bill Of Materials (SBOM)
+# end of General setup
+
+#
+# Mainboard
+#
+
+#
+# Important: Run 'make distclean' before switching boards
+#
+# CONFIG_VENDOR_51NB is not set
+# CONFIG_VENDOR_ACER is not set
+# CONFIG_VENDOR_AMD is not set
+# CONFIG_VENDOR_AOOSTAR is not set
+# CONFIG_VENDOR_AOPEN is not set
+# CONFIG_VENDOR_APPLE is not set
+# CONFIG_VENDOR_ARM is not set
+# CONFIG_VENDOR_ASROCK is not set
+# CONFIG_VENDOR_ASUS is not set
+# CONFIG_VENDOR_BIOSTAR is not set
+# CONFIG_VENDOR_BOSTENTECH is not set
+# CONFIG_VENDOR_BYTEDANCE is not set
+# CONFIG_VENDOR_CAVIUM is not set
+# CONFIG_VENDOR_CLEVO is not set
+# CONFIG_VENDOR_COMPULAB is not set
+# CONFIG_VENDOR_CWWK is not set
+# CONFIG_VENDOR_DELL is not set
+# CONFIG_VENDOR_EMULATION is not set
+# CONFIG_VENDOR_ERYING is not set
+# CONFIG_VENDOR_EXAMPLE is not set
+# CONFIG_VENDOR_FACEBOOK is not set
+# CONFIG_VENDOR_FOXCONN is not set
+# CONFIG_VENDOR_FRAMEWORK is not set
+# CONFIG_VENDOR_GETAC is not set
+# CONFIG_VENDOR_GIGABYTE is not set
+# CONFIG_VENDOR_GOOGLE is not set
+# CONFIG_VENDOR_HARDKERNEL is not set
+# CONFIG_VENDOR_HP is not set
+# CONFIG_VENDOR_IBASE is not set
+# CONFIG_VENDOR_IBM is not set
+# CONFIG_VENDOR_INTEL is not set
+# CONFIG_VENDOR_INVENTEC is not set
+# CONFIG_VENDOR_KONTRON is not set
+# CONFIG_VENDOR_LATTEPANDA is not set
+# CONFIG_VENDOR_LENOVO 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_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=y
+# 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="Supermicro_X11_LGA1151_SERIES"
+CONFIG_MAINBOARD_PART_NUMBER="X11SSH-F/LN4F"
+CONFIG_MAINBOARD_VERSION="1.0"
+CONFIG_MAINBOARD_DIR="supermicro/x11-lga1151-series"
+CONFIG_VGA_BIOS_ID="8086,0406"
+CONFIG_DIMM_MAX=4
+CONFIG_DIMM_SPD_SIZE=512
+CONFIG_FMDFILE=""
+# CONFIG_NO_POST is not set
+CONFIG_MAINBOARD_VENDOR="Supermicro"
+CONFIG_CBFS_SIZE=0xb00000
+CONFIG_CONSOLE_SERIAL=y
+CONFIG_MAX_CPUS=16
+# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
+# CONFIG_POST_DEVICE is not set
+CONFIG_POST_IO=y
+CONFIG_UART_FOR_CONSOLE=0
+CONFIG_VARIANT_DIR="x11ssh-f"
+CONFIG_OVERRIDE_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
+CONFIG_DEVICETREE="devicetree.cb"
+# CONFIG_VBOOT is not set
+CONFIG_VBOOT_VBNV_OFFSET=0x2a
+# 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="Supermicro"
+CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
+CONFIG_ECAM_MMCONF_BUS_NUMBER=256
+CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
+# CONFIG_FATAL_ASSERTS is not set
+CONFIG_DISABLE_HECI1_AT_PRE_BOOT=y
+CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
+CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="X11SSH-F/LN4F"
+CONFIG_CONSOLE_POST=y
+CONFIG_FSP_FD_PATH="3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
+CONFIG_MAX_SOCKET=1
+CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
+CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
+CONFIG_USE_PM_ACPI_TIMER=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
+CONFIG_TPM_PIRQ=0x0
+CONFIG_DCACHE_RAM_BASE=0xfef00000
+CONFIG_DCACHE_RAM_SIZE=0x40000
+CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
+CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
+CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
+CONFIG_HAVE_INTEL_FIRMWARE=y
+CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
+CONFIG_DRIVERS_INTEL_WIFI=y
+CONFIG_IFD_BIN_PATH="../../../config/ifd/supermicro_x11_lga1151_series/ifd"
+CONFIG_ME_BIN_PATH="../../../vendorfiles/supermicro_x11_lga1151_series/me.bin"
+CONFIG_MAINBOARD_SUPPORTS_SKYLAKE_CPU=y
+CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
+CONFIG_CARDBUS_PLUGIN_SUPPORT=y
+CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
+CONFIG_USE_LEGACY_8254_TIMER=y
+# CONFIG_DEBUG_SMI is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_ENABLE is not set
+CONFIG_HAVE_IFD_BIN=y
+CONFIG_PS2K_EISAID="PNP0303"
+CONFIG_PS2M_EISAID="PNP0F13"
+CONFIG_TTYS0_BAUD=115200
+# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
+CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
+CONFIG_IPMI_KCS_REGISTER_SPACING=1
+CONFIG_D3COLD_SUPPORT=y
+CONFIG_DRIVERS_UART_8250IO=y
+CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
+CONFIG_HEAP_SIZE=0x100000
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
+# CONFIG_BOARD_SUPERMICRO_X10SLM_PLUS_F is not set
+# CONFIG_BOARD_SUPERMICRO_X11SSH_TF is not set
+# CONFIG_BOARD_SUPERMICRO_X11SSM_F is not set
+CONFIG_BOARD_SUPERMICRO_X11SSH_F=y
+# CONFIG_BOARD_SUPERMICRO_X11SSW_F is not set
+# CONFIG_BOARD_SUPERMICRO_X9SAE is not set
+# CONFIG_BOARD_SUPERMICRO_X9SCL is not set
+CONFIG_SUPERMICRO_BOARDID="0884"
+CONFIG_BOARD_SUPERMICRO_BASEBOARD_X11_LGA1151_SERIES=y
+CONFIG_DRIVERS_IPMI_SUPERMICRO_OEM=y
+CONFIG_BOARD_ROMSIZE_KB_16384=y
+# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
+CONFIG_COREBOOT_ROMSIZE_KB_16384=y
+# CONFIG_COREBOOT_ROMSIZE_KB_24576 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
+# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
+CONFIG_COREBOOT_ROMSIZE_KB=16384
+CONFIG_ROM_SIZE=0x01000000
+CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
+CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
+# CONFIG_POWER_STATE_OFF_AFTER_FAILURE is not set
+CONFIG_POWER_STATE_ON_AFTER_FAILURE=y
+# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
+CONFIG_MAINBOARD_POWER_FAILURE_STATE=1
+# end of Mainboard
+
+#
+# Chipset
+#
+
+#
+# SoC
+#
+CONFIG_CHIPSET_DEVICETREE="soc/intel/skylake/chipset.cb"
+CONFIG_FSP_M_FILE="../../../vendorfiles/kabylake/Fsp_M.fd"
+CONFIG_FSP_S_FILE="../../../vendorfiles/kabylake/Fsp_S.fd"
+CONFIG_CBFS_MCACHE_SIZE=0x4000
+CONFIG_ROMSTAGE_ADDR=0x2000000
+CONFIG_VERSTAGE_ADDR=0x2000000
+CONFIG_SMM_TSEG_SIZE=0x800000
+CONFIG_SMM_RESERVED_SIZE=0x200000
+CONFIG_SMM_MODULE_STACK_SIZE=0x800
+CONFIG_ACPI_BERT_SIZE=0x0
+CONFIG_DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ=120
+CONFIG_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_IFD_CHIPSET="sklkbl"
+CONFIG_IED_REGION_SIZE=0x400000
+CONFIG_MAX_ROOT_PORTS=24
+CONFIG_PCR_BASE_ADDRESS=0xfd000000
+CONFIG_CPU_BCLK_MHZ=100
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ=120
+CONFIG_CPU_XTAL_HZ=24000000
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX=2
+CONFIG_SOC_INTEL_I2C_DEV_MAX=6
+# CONFIG_ENABLE_SATA_TEST_MODE is not set
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL=0x30
+CONFIG_SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL=0xc35
+CONFIG_FSP_HEADER_PATH="3rdparty/fsp/KabylakeFspBinPkg/Include/"
+CONFIG_SOC_INTEL_COMMON_DEBUG_CONSENT=0
+CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
+CONFIG_INTEL_GMA_BCLV_WIDTH=16
+CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
+CONFIG_INTEL_GMA_BCLM_WIDTH=16
+CONFIG_FSP_PUBLISH_MBP_HOB=y
+CONFIG_FSP_STATUS_GLOBAL_RESET=0x40000003
+CONFIG_MAX_HECI_DEVICES=5
+CONFIG_BOOTBLOCK_IN_CBFS=y
+CONFIG_HAVE_PAM0_REGISTER=y
+CONFIG_PCIEXP_COMMON_CLOCK=y
+CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT=0x40000
+CONFIG_CPU_INTEL_NUM_FIT_ENTRIES=10
+CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET=0x0
+CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY=0x1003
+CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY=0x1003
+CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0
+CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000
+CONFIG_CBFS_CACHE_ALIGN=8
+CONFIG_SOC_INTEL_COMMON_SKYLAKE_BASE=y
+CONFIG_SOC_INTEL_KABYLAKE=y
+CONFIG_SKYLAKE_SOC_PCH_H=y
+CONFIG_NO_FADT_8042=y
+CONFIG_MAINBOARD_SUPPORTS_KABYLAKE_CPU=y
+CONFIG_MAINBOARD_SUPPORTS_COFFEELAKE_CPU=y
+# CONFIG_ALWAYS_ALLOW_ABOVE_4G_ALLOCATION is not set
+CONFIG_FSP_T_LOCATION=0xfffe0000
+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_CPPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT=y
+CONFIG_USE_FSP_FEATURE_PROGRAM_ON_APS=y
+# CONFIG_USE_COREBOOT_MP_INIT is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CAR=y
+CONFIG_INTEL_CAR_NEM_ENHANCED=y
+# CONFIG_USE_INTEL_FSP_MP_INIT is not set
+CONFIG_CPU_SUPPORTS_PM_TIMER_EMULATION=y
+CONFIG_HAVE_HYPERTHREADING=y
+# CONFIG_FSP_HYPERTHREADING is not set
+# CONFIG_INTEL_KEYLOCKER is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_MAX is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_256MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_128MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_64MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_32MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_16MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_8MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_4MB is not set
+# CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_2MB is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_PRMRR_SIZE_0MB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_CSE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR=y
+CONFIG_SOC_INTEL_CSE_FMAP_NAME="SI_ME"
+CONFIG_SOC_INTEL_CSE_RW_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_IOM_CBFS_NAME="cse_iom"
+CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE=""
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME="cse_nphy"
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE=""
+CONFIG_CSE_RESET_CLEAR_EC_AP_IDLE_FLAG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_DSP=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_FAST_SPI=y
+CONFIG_FAST_SPI_DISABLE_WRITE_STATUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_GRAPHICS=y
+CONFIG_SOC_INTEL_GFX_HAVE_DDI_A_BIFURCATION=y
+# CONFIG_SOC_INTEL_DISABLE_IGD is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_HDA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_I2C=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_ITSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_COMB_ENABLE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPC_MIRROR_TO_GPMR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_LPSS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_BASE_P2SB=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCIE=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PCR=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE=y
+CONFIG_PMC_GLOBAL_RESET_ENABLE_LOCK=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_POWER_LIMIT=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_RTC=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SATA=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SCS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SGX_LOCK_MEMORY=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TCO_ENABLE_THROUGH_SMBUS=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP=y
+# CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE is not set
+CONFIG_SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS=0
+CONFIG_SOC_INTEL_COMMON_BLOCK_SPI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_SA=y
+CONFIG_SA_ENABLE_DPR=y
+CONFIG_HAVE_CAPID_A_REGISTER=y
+CONFIG_HAVE_BDSM_BGSM_REGISTER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_THERMAL_PCI_DEV=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_TIMER=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_UART=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XDCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI=y
+CONFIG_SOC_INTEL_COMMON_BLOCK_XHCI_ELOG=y
+
+#
+# Intel SoC Common PCH Code
+#
+CONFIG_SOC_INTEL_COMMON_PCH_CLIENT=y
+CONFIG_SOC_INTEL_COMMON_PCH_BASE=y
+CONFIG_SOC_INTEL_COMMON_PCH_LOCKDOWN=y
+CONFIG_PCH_SPECIFIC_BASE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_DISCRETE_OPTIONS=y
+CONFIG_PCH_SPECIFIC_CLIENT_OPTIONS=y
+
+#
+# Intel SoC Common coreboot stages and non-IP blocks
+#
+CONFIG_SOC_INTEL_COMMON_BASECODE=y
+CONFIG_SOC_INTEL_COMMON_RESET=y
+CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE=y
+CONFIG_PAVP=y
+# CONFIG_MMA is not set
+CONFIG_SOC_INTEL_COMMON_NHLT=y
+# CONFIG_SOC_INTEL_DEBUG_CONSENT is not set
+
+#
+# CPU
+#
+CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE=y
+CONFIG_CPU_INTEL_COMMON=y
+CONFIG_ENABLE_VMX=y
+CONFIG_SET_IA32_FC_LOCK_BIT=y
+CONFIG_SET_MSR_AESNI_LOCK_BIT=y
+CONFIG_CPU_INTEL_COMMON_SMM=y
+CONFIG_PARALLEL_MP=y
+CONFIG_PARALLEL_MP_AP_WORK=y
+CONFIG_XAPIC_ONLY=y
+# CONFIG_X2APIC_ONLY is not set
+# CONFIG_X2APIC_RUNTIME is not set
+# CONFIG_X2APIC_LATE_WORKAROUND is not set
+CONFIG_UDELAY_TSC=y
+CONFIG_TSC_MONOTONIC_TIMER=y
+CONFIG_TSC_SYNC_MFENCE=y
+CONFIG_HAVE_SMI_HANDLER=y
+CONFIG_SMM_TSEG=y
+CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
+CONFIG_AP_STACK_SIZE=0x800
+CONFIG_SMP=y
+CONFIG_SSE=y
+CONFIG_SSE2=y
+CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
+CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
+CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
+# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
+# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
+# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
+
+#
+# Northbridge
+#
+
+#
+# Southbridge
+#
+# CONFIG_PCIEXP_HOTPLUG is not set
+CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED=y
+CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
+CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
+# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
+CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
+CONFIG_RCBA_LENGTH=0x4000
+
+#
+# Super I/O
+#
+CONFIG_SUPERIO_ASPEED_AST2400=y
+CONFIG_SUPERIO_ASPEED_COMMON_PRE_RAM=y
+CONFIG_SUPERIO_ASPEED_HAS_UART_DELAY_WORKAROUND=y
+CONFIG_SUPERIO_ASPEED_USE_UART_DELAY_WORKAROUND=y
+
+#
+# Embedded Controllers
+#
+
+#
+# Intel Firmware
+#
+CONFIG_HAVE_ME_BIN=y
+# CONFIG_STITCH_ME_BIN is not set
+# CONFIG_CHECK_ME is not set
+# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
+# CONFIG_USE_ME_CLEANER is not set
+# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
+# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
+CONFIG_UNLOCK_FLASH_REGIONS=y
+CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
+CONFIG_UDK_BASE=y
+CONFIG_UDK_2017_BINDING=y
+CONFIG_UDK_2013_VERSION=2013
+CONFIG_UDK_2017_VERSION=2017
+CONFIG_UDK_202005_VERSION=202005
+CONFIG_UDK_202111_VERSION=202111
+CONFIG_UDK_202302_VERSION=202302
+CONFIG_UDK_202305_VERSION=202305
+CONFIG_UDK_VERSION=2017
+CONFIG_ARCH_X86=y
+CONFIG_ARCH_BOOTBLOCK_X86_32=y
+CONFIG_ARCH_VERSTAGE_X86_32=y
+CONFIG_ARCH_ROMSTAGE_X86_32=y
+CONFIG_ARCH_POSTCAR_X86_32=y
+CONFIG_ARCH_RAMSTAGE_X86_32=y
+CONFIG_ARCH_ALL_STAGES_X86_32=y
+CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
+CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
+CONFIG_POSTRAM_CBFS_CACHE_IN_BSS=y
+CONFIG_PC80_SYSTEM=y
+CONFIG_HAVE_CMOS_DEFAULT=y
+CONFIG_POSTCAR_STAGE=y
+CONFIG_BOOTBLOCK_SIMPLE=y
+# CONFIG_BOOTBLOCK_NORMAL is not set
+CONFIG_COLLECT_TIMESTAMPS_TSC=y
+CONFIG_HAVE_CF9_RESET=y
+CONFIG_DEBUG_HW_BREAKPOINTS=y
+CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
+# CONFIG_DUMP_SMBIOS_TYPE17 is not set
+CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0
+CONFIG_DEFAULT_EBDA_LOWMEM=0x100000
+CONFIG_DEFAULT_EBDA_SEGMENT=0xF600
+CONFIG_DEFAULT_EBDA_SIZE=0x400
+# end of Chipset
+
+#
+# Devices
+#
+CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
+CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
+CONFIG_HAVE_FSP_GOP=y
+CONFIG_MAINBOARD_NO_FSP_GOP=y
+CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
+CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
+# CONFIG_VGA_ROM_RUN is not set
+# CONFIG_NO_GFX_INIT is not set
+CONFIG_NO_EARLY_GFX_INIT=y
+
+#
+# Display
+#
+CONFIG_VGA_TEXT_FRAMEBUFFER=y
+# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
+CONFIG_DEFAULT_SCREEN_ROTATION_INT=0
+# end of Display
+
+CONFIG_PCI=y
+CONFIG_ECAM_MMCONF_SUPPORT=y
+CONFIG_PCIX_PLUGIN_SUPPORT=y
+CONFIG_AZALIA_HDA_CODEC_SUPPORT=y
+CONFIG_PCIEXP_PLUGIN_SUPPORT=y
+CONFIG_ECAM_MMCONF_LENGTH=0x10000000
+CONFIG_PCI_ALLOW_BUS_MASTER=y
+CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
+CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
+# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
+# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
+# CONFIG_EARLY_PCI_BRIDGE is not set
+CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
+CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
+# CONFIG_INTEL_GMA_ADD_VBT is not set
+# CONFIG_SOFTWARE_I2C is not set
+CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
+CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y
+CONFIG_DRAM_SUPPORT_DDR4=y
+CONFIG_DRAM_SUPPORT_DDR3=y
+# end of Devices
+
+#
+# Generic Drivers
+#
+CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
+# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
+# CONFIG_ELOG is not set
+# CONFIG_DRIVERS_HWID_DMI is not set
+CONFIG_IPMI_KCS=y
+CONFIG_IPMI_FRU_SINGLE_RW_SZ=16
+CONFIG_BMC_KCS_BASE=0xca2
+CONFIG_IPMI_KCS_TIMEOUT_MS=5000
+CONFIG_IPMI_TIMEOUT_MS=5000
+CONFIG_CACHE_MRC_SETTINGS=y
+CONFIG_MRC_SETTINGS_PROTECT=y
+# CONFIG_DRIVERS_OPTION_CFR is not set
+# CONFIG_SMMSTORE is not set
+CONFIG_SPI_FLASH=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
+CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
+# CONFIG_SPI_FLASH_NO_FAST_READ is not set
+CONFIG_DRIVERS_UART=y
+# CONFIG_DRIVERS_UART_OXPCIE is not set
+# CONFIG_VPD is not set
+CONFIG_DRIVERS_ASPEED_AST2050=y
+CONFIG_DRIVERS_ASPEED_AST_COMMON=y
+# CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG is not set
+# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
+# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
+# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
+CONFIG_DRIVERS_I2C_DESIGNWARE=y
+# CONFIG_DRIVERS_I2C_MAX98396 is not set
+# CONFIG_FSP_USE_REPO is not set
+# CONFIG_DISPLAY_HOBS is not set
+# CONFIG_DISPLAY_UPD_DATA is not set
+CONFIG_PLATFORM_USES_FSP2_0=y
+CONFIG_PLATFORM_USES_FSP2_X86_32=y
+CONFIG_HAVE_INTEL_FSP_REPO=y
+CONFIG_ADD_FSP_BINARIES=y
+CONFIG_FSP_S_CBFS="fsps.bin"
+CONFIG_FSP_M_CBFS="fspm.bin"
+# CONFIG_FSP_FULL_FD is not set
+CONFIG_FSP_T_RESERVED_SIZE=0x0
+CONFIG_FSP_M_XIP=y
+CONFIG_SOC_INTEL_COMMON_FSP_RESET=y
+CONFIG_USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM=y
+CONFIG_USE_FSP_NOTIFY_PHASE_READY_TO_BOOT=y
+CONFIG_USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE=y
+# CONFIG_DISPLAY_FSP_TIMESTAMPS is not set
+# CONFIG_BUILDING_WITH_DEBUG_FSP is not set
+CONFIG_FSP_VGA_MODE12_BPP=0x0
+CONFIG_INTEL_GMA_ACPI=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=y
+CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
+CONFIG_MEMORY_MAPPED_TPM=y
+CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000
+CONFIG_VGA=y
+# CONFIG_DRIVERS_SIL_3114 is not set
+CONFIG_DRIVERS_USB_ACPI=y
+CONFIG_DRIVERS_WIFI_GENERIC=y
+CONFIG_DRIVERS_MTK_WIFI=y
+# end of Generic Drivers
+
+#
+# Security
+#
+
+#
+# CBFS verification
+#
+# CONFIG_CBFS_VERIFICATION is not set
+# end of CBFS verification
+
+#
+# Verified Boot (vboot)
+#
+# end of Verified Boot (vboot)
+
+#
+# Trusted Platform Module
+#
+CONFIG_NO_TPM=y
+# CONFIG_TPM1 is not set
+# CONFIG_TPM2 is not set
+CONFIG_PCR_BOOT_MODE=1
+CONFIG_PCR_HWID=1
+CONFIG_PCR_SRTM=2
+CONFIG_PCR_FW_VER=10
+CONFIG_PCR_RUNTIME_DATA=3
+# end of Trusted Platform Module
+
+#
+# Memory initialization
+#
+CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
+# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set
+# end of Memory initialization
+
+# CONFIG_STM is not set
+# CONFIG_INTEL_CBNT_SUPPORT is not set
+CONFIG_BOOTMEDIA_LOCK_NONE=y
+# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
+# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
+# CONFIG_BOOTMEDIA_SMM_BWP is not set
+# end of Security
+
+CONFIG_ACPI_HAVE_PCAT_8259=y
+CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
+CONFIG_ACPI_SOC_NVS=y
+CONFIG_ACPI_CUSTOM_MADT=y
+CONFIG_ACPI_NO_CUSTOM_MADT=y
+CONFIG_ACPI_COMMON_MADT_LAPIC=y
+CONFIG_ACPI_COMMON_MADT_IOAPIC=y
+CONFIG_HAVE_ACPI_TABLES=y
+CONFIG_ACPI_LPIT=y
+CONFIG_BOOT_DEVICE_SPI_FLASH=y
+CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
+CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
+CONFIG_RTC=y
+
+#
+# Console
+#
+CONFIG_BOOTBLOCK_CONSOLE=y
+CONFIG_POSTCAR_CONSOLE=y
+CONFIG_SQUELCH_EARLY_SMP=y
+
+#
+# I/O mapped, 8250-compatible
+#
+CONFIG_TTYS0_BASE=0x3f8
+
+#
+# Serial port base address = 0x3f8
+#
+# CONFIG_CONSOLE_SERIAL_921600 is not set
+# CONFIG_CONSOLE_SERIAL_460800 is not set
+# CONFIG_CONSOLE_SERIAL_230400 is not set
+CONFIG_CONSOLE_SERIAL_115200=y
+# CONFIG_CONSOLE_SERIAL_57600 is not set
+# CONFIG_CONSOLE_SERIAL_38400 is not set
+# CONFIG_CONSOLE_SERIAL_19200 is not set
+# CONFIG_CONSOLE_SERIAL_9600 is not set
+CONFIG_TTYS0_LCS=3
+# CONFIG_SPKMODEM is not set
+# CONFIG_CONSOLE_NE2K is not set
+CONFIG_CONSOLE_CBMEM=y
+# CONFIG_CONSOLE_SPI_FLASH is not set
+# CONFIG_CONSOLE_I2C_SMBUS is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
+CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
+CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
+# CONFIG_CMOS_POST is not set
+CONFIG_POST_IO_PORT=0x80
+CONFIG_HWBASE_DEBUG_CB=y
+# end of Console
+
+CONFIG_ACPI_S1_NOT_SUPPORTED=y
+CONFIG_HAVE_MONOTONIC_TIMER=y
+CONFIG_HAVE_OPTION_TABLE=y
+CONFIG_IOAPIC=y
+CONFIG_ACPI_NHLT=y
+
+#
+# System tables
+#
+CONFIG_GENERATE_SMBIOS_TABLES=y
+CONFIG_BIOS_VENDOR="coreboot"
+CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
+# end of System tables
+
+#
+# Payload
+#
+CONFIG_PAYLOAD_NONE=y
+# end of Payload
+
+#
+# Debugging
+#
+
+#
+# CPU Debug Settings
+#
+# CONFIG_DISPLAY_MTRRS is not set
+
+#
+# Vendorcode Debug Settings
+#
+
+#
+# BLOB Debug Settings
+#
+# CONFIG_DISPLAY_FSP_CALLS_AND_STATUS is not set
+# CONFIG_DISPLAY_FSP_HEADER is not set
+# CONFIG_VERIFY_HOBS is not set
+# CONFIG_DISPLAY_FSP_VERSION_INFO is not set
+CONFIG_HAVE_GPIO_SNAPSHOT_VERIFY_SUPPORT=y
+# CONFIG_CHECK_GPIO_CONFIG_CHANGES is not set
+
+#
+# General Debug Settings
+#
+# CONFIG_GDB_STUB is not set
+CONFIG_HAVE_DEBUG_GPIO=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_DEBUG_CBFS is not set
+CONFIG_HAVE_DEBUG_SMBUS=y
+# CONFIG_DEBUG_SMBUS is not set
+# CONFIG_DEBUG_MALLOC is not set
+# CONFIG_DEBUG_CONSOLE_INIT is not set
+# CONFIG_DEBUG_SPI_FLASH is not set
+# CONFIG_DEBUG_IPMI 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_DECOMPRESS_OFAST=y
+
+#
+# Boot Logo Configuration
+#
+# CONFIG_BMP_LOGO is not set
+# end of Boot Logo Configuration
+
+CONFIG_WARNINGS_ARE_ERRORS=y
+CONFIG_MAX_REBOOT_CNT=3
+CONFIG_RELOCATABLE_MODULES=y
+CONFIG_GENERIC_GPIO_LIB=y
+CONFIG_HAVE_BOOTBLOCK=y
+CONFIG_HAVE_ROMSTAGE=y
+CONFIG_HAVE_RAMSTAGE=y
diff --git a/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/target.cfg b/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/target.cfg
new file mode 100644
index 00000000..1909de01
--- /dev/null
+++ b/config/coreboot/supermicro_x11ssh_f_vfsp_16mb/target.cfg
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+tree="default"
+xarch="i386-elf"
+payload_seabios="y"
+payload_grub="y"
+payload_memtest="y"
+grub_scan_disk="nvme ahci"
+grubtree="xhci_nvme"
+vcfg="supermicro_x11_lga1151_series"
+build_depend="seabios/default grub/xhci_nvme memtest86plus u-boot/amd64coreboot"
+IFD_platform="sklkbl"
+payload_uboot="amd64"
+release="n"
diff --git a/config/coreboot/t1650_12mb/config/libgfxinit_txtmode b/config/coreboot/t1650_12mb/config/libgfxinit_txtmode
index 1239b198..2931ccb2 100644
--- a/config/coreboot/t1650_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t1650_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -210,10 +211,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -371,7 +369,6 @@ CONFIG_SUPERIO_SMSC_SCH5545=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -464,7 +461,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_corebootfb b/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_corebootfb
index 8fb696ee..faa62fea 100644
--- a/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -360,7 +358,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -451,7 +448,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_txtmode b/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_txtmode
index cf13741d..f699972f 100644
--- a/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t1700mt_bmrc_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -358,7 +356,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -447,7 +444,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_corebootfb b/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_corebootfb
index b782e235..43bba8df 100644
--- a/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -207,10 +208,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -360,7 +358,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -451,7 +448,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_txtmode b/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_txtmode
index fef46bf6..2ba86f12 100644
--- a/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t1700sff_bmrc_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -205,10 +206,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -358,7 +356,6 @@ CONFIG_SUPERIO_SMSC_SCH555x=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -447,7 +444,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t400_16mb/config/libgfxinit_corebootfb b/config/coreboot/t400_16mb/config/libgfxinit_corebootfb
index d5bdc4a1..39f849fe 100644
--- a/config/coreboot/t400_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t400_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t400_16mb/config/libgfxinit_txtmode b/config/coreboot/t400_16mb/config/libgfxinit_txtmode
index 52c2cf7b..d33a3458 100644
--- a/config/coreboot/t400_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t400_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t400_4mb/config/libgfxinit_corebootfb b/config/coreboot/t400_4mb/config/libgfxinit_corebootfb
index 620c5919..746e8917 100644
--- a/config/coreboot/t400_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t400_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t400_4mb/config/libgfxinit_txtmode b/config/coreboot/t400_4mb/config/libgfxinit_txtmode
index 37b89c40..6a721a9d 100644
--- a/config/coreboot/t400_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t400_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t400_8mb/config/libgfxinit_corebootfb b/config/coreboot/t400_8mb/config/libgfxinit_corebootfb
index e9261328..09814a5c 100644
--- a/config/coreboot/t400_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t400_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t400_8mb/config/libgfxinit_txtmode b/config/coreboot/t400_8mb/config/libgfxinit_txtmode
index 90daa005..64a3e672 100644
--- a/config/coreboot/t400_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t400_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t420_8mb/config/libgfxinit_corebootfb b/config/coreboot/t420_8mb/config/libgfxinit_corebootfb
index 3096efd3..89c24d7e 100644
--- a/config/coreboot/t420_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t420_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -231,10 +232,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -402,7 +400,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -497,7 +494,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t420_8mb/config/libgfxinit_txtmode b/config/coreboot/t420_8mb/config/libgfxinit_txtmode
index 5fbf126d..97fa9ad3 100644
--- a/config/coreboot/t420_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t420_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -400,7 +398,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -493,7 +490,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t420s_8mb/config/libgfxinit_corebootfb b/config/coreboot/t420s_8mb/config/libgfxinit_corebootfb
index 9dbb4fc5..2a296b36 100644
--- a/config/coreboot/t420s_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t420s_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -231,10 +232,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -402,7 +400,6 @@ CONFIG_H8_FLASH_LEDS_ON_DEATH=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -497,7 +494,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t420s_8mb/config/libgfxinit_txtmode b/config/coreboot/t420s_8mb/config/libgfxinit_txtmode
index 88531f20..1e659494 100644
--- a/config/coreboot/t420s_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t420s_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -400,7 +398,6 @@ CONFIG_H8_FLASH_LEDS_ON_DEATH=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -493,7 +490,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t430_12mb/config/libgfxinit_corebootfb b/config/coreboot/t430_12mb/config/libgfxinit_corebootfb
index 441619d4..da982a24 100644
--- a/config/coreboot/t430_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t430_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -231,10 +232,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -403,7 +401,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -498,7 +495,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t430_12mb/config/libgfxinit_txtmode b/config/coreboot/t430_12mb/config/libgfxinit_txtmode
index 812332df..31841fbd 100644
--- a/config/coreboot/t430_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t430_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -401,7 +399,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -494,7 +491,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t440plibremrc_12mb/config/libgfxinit_corebootfb b/config/coreboot/t440plibremrc_12mb/config/libgfxinit_corebootfb
index edcfc62e..2e51c2e8 100644
--- a/config/coreboot/t440plibremrc_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t440plibremrc_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -392,7 +390,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -483,7 +480,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t440plibremrc_12mb/config/libgfxinit_txtmode b/config/coreboot/t440plibremrc_12mb/config/libgfxinit_txtmode
index d95e0582..09338a15 100644
--- a/config/coreboot/t440plibremrc_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t440plibremrc_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -390,7 +388,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -479,7 +476,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_corebootfb b/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_corebootfb
index 670d52fd..cab6860a 100644
--- a/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -392,7 +390,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -483,7 +480,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_txtmode b/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_txtmode
index 1c552208..39743c5c 100644
--- a/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t440plibremrc_4mcbfs_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -390,7 +388,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -479,7 +476,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t480_vfsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/t480_vfsp_16mb/config/libgfxinit_corebootfb
index 41796324..2d43d742 100644
--- a/config/coreboot/t480_vfsp_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t480_vfsp_16mb/config/libgfxinit_corebootfb
@@ -20,6 +20,7 @@ CONFIG_COMPILER_GCC=y
CONFIG_USE_CBFS_FILE_OPTION_BACKEND=y
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
@@ -238,10 +239,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -515,7 +513,6 @@ CONFIG_EC_LENOVO_MEC1653=y
CONFIG_MEC1653_HAS_DEBUG_UNLOCK=y
CONFIG_MEC1653_ENABLE_UART=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -621,7 +618,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -643,7 +639,6 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_DRIVERS_INTEL_DTBT=y
# CONFIG_FSP_USE_REPO is not set
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
diff --git a/config/coreboot/t480_vfsp_16mb/config/libgfxinit_txtmode b/config/coreboot/t480_vfsp_16mb/config/libgfxinit_txtmode
index 1763f8a1..a959c7b1 100644
--- a/config/coreboot/t480_vfsp_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t480_vfsp_16mb/config/libgfxinit_txtmode
@@ -20,6 +20,7 @@ CONFIG_COMPILER_GCC=y
CONFIG_USE_CBFS_FILE_OPTION_BACKEND=y
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
@@ -236,10 +237,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -513,7 +511,6 @@ CONFIG_EC_LENOVO_MEC1653=y
CONFIG_MEC1653_HAS_DEBUG_UNLOCK=y
CONFIG_MEC1653_ENABLE_UART=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -613,7 +610,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -635,7 +631,6 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_DRIVERS_INTEL_DTBT=y
# CONFIG_FSP_USE_REPO is not set
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
diff --git a/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_corebootfb
index db8c1396..894a0907 100644
--- a/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_corebootfb
@@ -20,6 +20,7 @@ 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
@@ -237,10 +238,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -512,7 +510,6 @@ CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_MEC1653=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -618,7 +615,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -640,7 +636,6 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_DRIVERS_INTEL_DTBT=y
# CONFIG_FSP_USE_REPO is not set
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
diff --git a/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_txtmode b/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_txtmode
index 9935de17..a1ce2997 100644
--- a/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t480s_vfsp_16mb/config/libgfxinit_txtmode
@@ -20,6 +20,7 @@ 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
@@ -235,10 +236,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -510,7 +508,6 @@ CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_MEC1653=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -610,7 +607,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -632,7 +628,6 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_DRIVERS_INTEL_DTBT=y
# CONFIG_FSP_USE_REPO is not set
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
diff --git a/config/coreboot/t500_16mb/config/libgfxinit_corebootfb b/config/coreboot/t500_16mb/config/libgfxinit_corebootfb
index e803d8da..296f65b0 100644
--- a/config/coreboot/t500_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t500_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t500_16mb/config/libgfxinit_txtmode b/config/coreboot/t500_16mb/config/libgfxinit_txtmode
index 1bb810ca..eda891e7 100644
--- a/config/coreboot/t500_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t500_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t500_4mb/config/libgfxinit_corebootfb b/config/coreboot/t500_4mb/config/libgfxinit_corebootfb
index 57bc1b9e..3e62bd4f 100644
--- a/config/coreboot/t500_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t500_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t500_4mb/config/libgfxinit_txtmode b/config/coreboot/t500_4mb/config/libgfxinit_txtmode
index b2cc34b4..d496cb66 100644
--- a/config/coreboot/t500_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t500_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t500_8mb/config/libgfxinit_corebootfb b/config/coreboot/t500_8mb/config/libgfxinit_corebootfb
index 56d849d4..9039d077 100644
--- a/config/coreboot/t500_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t500_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t500_8mb/config/libgfxinit_txtmode b/config/coreboot/t500_8mb/config/libgfxinit_txtmode
index e7ffc4b4..adec856a 100644
--- a/config/coreboot/t500_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t500_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t520_8mb/config/libgfxinit_corebootfb b/config/coreboot/t520_8mb/config/libgfxinit_corebootfb
index 2b00acd5..9ce75a12 100644
--- a/config/coreboot/t520_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t520_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -404,7 +402,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -499,7 +496,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t520_8mb/config/libgfxinit_txtmode b/config/coreboot/t520_8mb/config/libgfxinit_txtmode
index 16aae9e5..6da6b4e4 100644
--- a/config/coreboot/t520_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t520_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -402,7 +400,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -495,7 +492,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t530_12mb/config/libgfxinit_corebootfb b/config/coreboot/t530_12mb/config/libgfxinit_corebootfb
index b9f60a78..c1af2b0a 100644
--- a/config/coreboot/t530_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t530_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -404,7 +402,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -499,7 +496,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t530_12mb/config/libgfxinit_txtmode b/config/coreboot/t530_12mb/config/libgfxinit_txtmode
index 952611b1..88305fb2 100644
--- a/config/coreboot/t530_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t530_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -402,7 +400,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -495,7 +492,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/t580_vfsp_16mb/config/libgfxinit_corebootfb b/config/coreboot/t580_vfsp_16mb/config/libgfxinit_corebootfb
index 18202f4b..55d68d2e 100644
--- a/config/coreboot/t580_vfsp_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/t580_vfsp_16mb/config/libgfxinit_corebootfb
@@ -20,6 +20,7 @@ CONFIG_COMPILER_GCC=y
CONFIG_USE_CBFS_FILE_OPTION_BACKEND=y
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
@@ -238,10 +239,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -515,7 +513,6 @@ CONFIG_EC_LENOVO_MEC1653=y
CONFIG_MEC1653_HAS_DEBUG_UNLOCK=y
CONFIG_MEC1653_ENABLE_UART=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -621,7 +618,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -643,7 +639,6 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_DRIVERS_INTEL_DTBT=y
# CONFIG_FSP_USE_REPO is not set
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
diff --git a/config/coreboot/t580_vfsp_16mb/config/libgfxinit_txtmode b/config/coreboot/t580_vfsp_16mb/config/libgfxinit_txtmode
index c7308346..3b28178d 100644
--- a/config/coreboot/t580_vfsp_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/t580_vfsp_16mb/config/libgfxinit_txtmode
@@ -20,6 +20,7 @@ CONFIG_COMPILER_GCC=y
CONFIG_USE_CBFS_FILE_OPTION_BACKEND=y
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
@@ -236,10 +237,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -513,7 +511,6 @@ CONFIG_EC_LENOVO_MEC1653=y
CONFIG_MEC1653_HAS_DEBUG_UNLOCK=y
CONFIG_MEC1653_ENABLE_UART=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -613,7 +610,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
@@ -635,7 +631,6 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
-CONFIG_DRIVERS_INTEL_DTBT=y
# CONFIG_FSP_USE_REPO is not set
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
diff --git a/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_corebootfb b/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_corebootfb
index e41ed9c1..99c15afd 100644
--- a/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_corebootfb
+++ b/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -223,10 +224,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -292,6 +290,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -383,7 +382,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -464,7 +462,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_txtmode b/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_txtmode
index deed1df8..37afc64b 100644
--- a/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_txtmode
+++ b/config/coreboot/t60_16mb_intelgpu/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -223,10 +224,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -292,6 +290,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -383,7 +382,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -462,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t60_intelgpu/config/libgfxinit_corebootfb b/config/coreboot/t60_intelgpu/config/libgfxinit_corebootfb
index 9f89a755..2629c3f4 100644
--- a/config/coreboot/t60_intelgpu/config/libgfxinit_corebootfb
+++ b/config/coreboot/t60_intelgpu/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -223,10 +224,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -292,6 +290,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -383,7 +382,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -464,7 +462,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/t60_intelgpu/config/libgfxinit_txtmode b/config/coreboot/t60_intelgpu/config/libgfxinit_txtmode
index 0832c028..a0773156 100644
--- a/config/coreboot/t60_intelgpu/config/libgfxinit_txtmode
+++ b/config/coreboot/t60_intelgpu/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -223,10 +224,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -292,6 +290,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -383,7 +382,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -462,7 +460,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/w500_16mb/config/libgfxinit_corebootfb b/config/coreboot/w500_16mb/config/libgfxinit_corebootfb
index 93a0d599..08c895c9 100644
--- a/config/coreboot/w500_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/w500_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/w500_16mb/config/libgfxinit_txtmode b/config/coreboot/w500_16mb/config/libgfxinit_txtmode
index 9113791e..70ede2e3 100644
--- a/config/coreboot/w500_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/w500_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/w500_4mb/config/libgfxinit_corebootfb b/config/coreboot/w500_4mb/config/libgfxinit_corebootfb
index 084dfa1b..da357e69 100644
--- a/config/coreboot/w500_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/w500_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/w500_4mb/config/libgfxinit_txtmode b/config/coreboot/w500_4mb/config/libgfxinit_txtmode
index bb776da6..b1c6441a 100644
--- a/config/coreboot/w500_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/w500_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/w500_8mb/config/libgfxinit_corebootfb b/config/coreboot/w500_8mb/config/libgfxinit_corebootfb
index 8cc46e0f..c586edaa 100644
--- a/config/coreboot/w500_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/w500_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -387,7 +385,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -481,7 +478,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/w500_8mb/config/libgfxinit_txtmode b/config/coreboot/w500_8mb/config/libgfxinit_txtmode
index 1f1da9e7..b4c731c8 100644
--- a/config/coreboot/w500_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/w500_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -385,7 +383,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -477,7 +474,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
# CONFIG_DRIVERS_OPTION_CFR is not set
diff --git a/config/coreboot/w530_12mb/config/libgfxinit_corebootfb b/config/coreboot/w530_12mb/config/libgfxinit_corebootfb
index 060d92e5..c6ddff78 100644
--- a/config/coreboot/w530_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/w530_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -404,7 +402,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -499,7 +496,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/w530_12mb/config/libgfxinit_txtmode b/config/coreboot/w530_12mb/config/libgfxinit_txtmode
index c2f76596..8936f738 100644
--- a/config/coreboot/w530_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/w530_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -402,7 +400,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -495,7 +492,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/w541_12mb/config/libgfxinit_corebootfb b/config/coreboot/w541_12mb/config/libgfxinit_corebootfb
index 56a624db..c5ee8748 100644
--- a/config/coreboot/w541_12mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/w541_12mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -392,7 +390,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -483,7 +480,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/w541_12mb/config/libgfxinit_txtmode b/config/coreboot/w541_12mb/config/libgfxinit_txtmode
index 56b6dbde..bed8e6f8 100644
--- a/config/coreboot/w541_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/w541_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -390,7 +388,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_PRIMARY_FN_KEYS=y
CONFIG_H8_HAS_LEDLOGO=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -479,7 +476,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x200_16mb/config/libgfxinit_corebootfb b/config/coreboot/x200_16mb/config/libgfxinit_corebootfb
index 785284d6..29dda1a7 100644
--- a/config/coreboot/x200_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x200_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -382,7 +380,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -475,7 +472,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x200_16mb/config/libgfxinit_txtmode b/config/coreboot/x200_16mb/config/libgfxinit_txtmode
index 2dd7910d..d23d1556 100644
--- a/config/coreboot/x200_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x200_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -227,10 +228,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -380,7 +378,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -471,7 +468,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x200_4mb/config/libgfxinit_corebootfb b/config/coreboot/x200_4mb/config/libgfxinit_corebootfb
index 0f367afb..93b18ba7 100644
--- a/config/coreboot/x200_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x200_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -382,7 +380,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -475,7 +472,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x200_4mb/config/libgfxinit_txtmode b/config/coreboot/x200_4mb/config/libgfxinit_txtmode
index 42455f99..0ba7d863 100644
--- a/config/coreboot/x200_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x200_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -227,10 +228,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -380,7 +378,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -471,7 +468,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x200_8mb/config/libgfxinit_corebootfb b/config/coreboot/x200_8mb/config/libgfxinit_corebootfb
index a8ade20d..f0bc5146 100644
--- a/config/coreboot/x200_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x200_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -382,7 +380,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -475,7 +472,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x200_8mb/config/libgfxinit_txtmode b/config/coreboot/x200_8mb/config/libgfxinit_txtmode
index 9fa4d337..05a1d98d 100644
--- a/config/coreboot/x200_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x200_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -227,10 +228,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -380,7 +378,6 @@ CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -471,7 +468,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x220_8mb/config/libgfxinit_corebootfb b/config/coreboot/x220_8mb/config/libgfxinit_corebootfb
index 2b5ea17f..963205c9 100644
--- a/config/coreboot/x220_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x220_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -232,10 +233,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -403,7 +401,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -498,7 +495,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x220_8mb/config/libgfxinit_txtmode b/config/coreboot/x220_8mb/config/libgfxinit_txtmode
index 698ed82e..6279d0d8 100644
--- a/config/coreboot/x220_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x220_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -401,7 +399,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -494,7 +491,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x230_12mb/config/libgfxinit_txtmode b/config/coreboot/x230_12mb/config/libgfxinit_txtmode
index 7721abb3..a3aa6420 100644
--- a/config/coreboot/x230_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x230_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -401,7 +399,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -494,7 +491,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x230_16mb/config/libgfxinit_txtmode b/config/coreboot/x230_16mb/config/libgfxinit_txtmode
index 233027eb..e52c0e54 100644
--- a/config/coreboot/x230_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x230_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -401,7 +399,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -494,7 +491,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x230t_12mb/config/libgfxinit_txtmode b/config/coreboot/x230t_12mb/config/libgfxinit_txtmode
index 5f8ff6bd..301689ed 100644
--- a/config/coreboot/x230t_12mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x230t_12mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -401,7 +399,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -494,7 +491,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x230t_16mb/config/libgfxinit_txtmode b/config/coreboot/x230t_16mb/config/libgfxinit_txtmode
index e69abf40..9cdc3caf 100644
--- a/config/coreboot/x230t_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x230t_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -230,10 +231,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TPM_MEASURED_BOOT is not set
CONFIG_BOARD_ROMSIZE_KB_12288=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
@@ -401,7 +399,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_H8_HAS_WWAN_GPIO_DETECTION=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -494,7 +491,6 @@ CONFIG_DRAM_SUPPORT_DDR3=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x2e_n150/config/fspgop b/config/coreboot/x2e_n150/config/fspgop
index 2c949ac2..1f545e6e 100644
--- a/config/coreboot/x2e_n150/config/fspgop
+++ b/config/coreboot/x2e_n150/config/fspgop
@@ -20,6 +20,7 @@ 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
@@ -145,7 +146,7 @@ CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data_twl.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0x4000
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="X2E_N150"
# CONFIG_CONSOLE_POST is not set
-CONFIG_FSP_FD_PATH="3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeN/Fsp.fd"
+CONFIG_FSP_FD_PATH="3rdparty/fspcc36ae2b5775fa7400cb3282680afc0f6cb37a3c/AlderLakeFspBinPkg/IoT/AlderLakeN/Fsp.fd"
CONFIG_MAX_SOCKET=1
CONFIG_USE_PM_ACPI_TIMER=y
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
@@ -175,10 +176,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_FSP_TEMP_RAM_SIZE=0x20000
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_TME_KEY_REGENERATION_ON_WARM_BOOT is not set
# CONFIG_BOARD_TOPTON_X2F_N100 is not set
CONFIG_BOARD_TOPTON_X2E_N150=y
@@ -500,7 +498,6 @@ CONFIG_SUPERIO_ITE_IT8625E=y
#
# Embedded Controllers
#
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -598,7 +595,6 @@ CONFIG_DRAM_SUPPORT_DDR4=y
CONFIG_CRB_TPM=y
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_CACHE_MRC_SETTINGS=y
diff --git a/config/coreboot/x301_16mb/config/libgfxinit_corebootfb b/config/coreboot/x301_16mb/config/libgfxinit_corebootfb
index 55667b2e..249786f6 100644
--- a/config/coreboot/x301_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x301_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -380,7 +378,6 @@ CONFIG_EC_LENOVO_H8=y
# CONFIG_H8_FN_CTRL_SWAP is not set
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -473,7 +470,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x301_16mb/config/libgfxinit_txtmode b/config/coreboot/x301_16mb/config/libgfxinit_txtmode
index 37f42afa..6ec90c5b 100644
--- a/config/coreboot/x301_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x301_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -227,10 +228,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -378,7 +376,6 @@ CONFIG_EC_LENOVO_H8=y
# CONFIG_H8_FN_CTRL_SWAP is not set
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -469,7 +466,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x301_4mb/config/libgfxinit_corebootfb b/config/coreboot/x301_4mb/config/libgfxinit_corebootfb
index 4478fa49..9ca9388e 100644
--- a/config/coreboot/x301_4mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x301_4mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -380,7 +378,6 @@ CONFIG_EC_LENOVO_H8=y
# CONFIG_H8_FN_CTRL_SWAP is not set
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -473,7 +470,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x301_4mb/config/libgfxinit_txtmode b/config/coreboot/x301_4mb/config/libgfxinit_txtmode
index 195d425e..1f452ba9 100644
--- a/config/coreboot/x301_4mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x301_4mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -227,10 +228,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -378,7 +376,6 @@ CONFIG_EC_LENOVO_H8=y
# CONFIG_H8_FN_CTRL_SWAP is not set
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -469,7 +466,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x301_8mb/config/libgfxinit_corebootfb b/config/coreboot/x301_8mb/config/libgfxinit_corebootfb
index d399efca..a7619eb0 100644
--- a/config/coreboot/x301_8mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x301_8mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -229,10 +230,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -380,7 +378,6 @@ CONFIG_EC_LENOVO_H8=y
# CONFIG_H8_FN_CTRL_SWAP is not set
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -473,7 +470,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x301_8mb/config/libgfxinit_txtmode b/config/coreboot/x301_8mb/config/libgfxinit_txtmode
index 95b92406..ed104e64 100644
--- a/config/coreboot/x301_8mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x301_8mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -227,10 +228,7 @@ CONFIG_D3COLD_SUPPORT=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -378,7 +376,6 @@ CONFIG_EC_LENOVO_H8=y
# CONFIG_H8_FN_CTRL_SWAP is not set
CONFIG_H8_HAS_BAT_THRESHOLDS_IMPL=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
#
# Intel Firmware
@@ -469,7 +466,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x60/config/libgfxinit_corebootfb b/config/coreboot/x60/config/libgfxinit_corebootfb
index 6fb5258f..f7f5b7d5 100644
--- a/config/coreboot/x60/config/libgfxinit_corebootfb
+++ b/config/coreboot/x60/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -224,10 +225,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -293,6 +291,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -385,7 +384,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -466,7 +464,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x60/config/libgfxinit_txtmode b/config/coreboot/x60/config/libgfxinit_txtmode
index d6ad97b8..3f08a285 100644
--- a/config/coreboot/x60/config/libgfxinit_txtmode
+++ b/config/coreboot/x60/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -224,10 +225,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -293,6 +291,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -385,7 +384,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -464,7 +462,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x60_16mb/config/libgfxinit_corebootfb b/config/coreboot/x60_16mb/config/libgfxinit_corebootfb
index 6c5592bf..91be44ec 100644
--- a/config/coreboot/x60_16mb/config/libgfxinit_corebootfb
+++ b/config/coreboot/x60_16mb/config/libgfxinit_corebootfb
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -224,10 +225,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -293,6 +291,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -385,7 +384,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -466,7 +464,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/coreboot/x60_16mb/config/libgfxinit_txtmode b/config/coreboot/x60_16mb/config/libgfxinit_txtmode
index 7a9f0131..3875b80e 100644
--- a/config/coreboot/x60_16mb/config/libgfxinit_txtmode
+++ b/config/coreboot/x60_16mb/config/libgfxinit_txtmode
@@ -22,6 +22,7 @@ CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
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
@@ -224,10 +225,7 @@ CONFIG_DRIVERS_UART_8250IO=y
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x100000
-CONFIG_EC_GPE_SCI=0x6e
-CONFIG_EC_STARLABS_BATTERY_MODEL="Unknown"
-CONFIG_EC_STARLABS_BATTERY_TYPE="LION"
-CONFIG_EC_STARLABS_BATTERY_OEM="Unknown"
+# CONFIG_DRIVERS_EFI_FW_INFO is not set
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -293,6 +291,7 @@ CONFIG_UART_BITBANG_TX_DELAY_MS=5
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
+# CONFIG_TOP_SWAP_REDUNDANCY is not set
#
# CPU
@@ -385,7 +384,6 @@ CONFIG_EC_LENOVO_H8=y
CONFIG_H8_HAS_BDC_GPIO_DETECTION=y
CONFIG_H8_HAS_2ND_THERMAL_ZONE=y
CONFIG_EC_LENOVO_PMH7=y
-# CONFIG_EC_STARLABS_MERLIN is not set
CONFIG_ACPI_FNKEY_GEN_SCANCODE=0
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
@@ -464,7 +462,6 @@ CONFIG_DRAM_SUPPORT_DDR2=y
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set
-# CONFIG_DRIVERS_EFI_FW_INFO is not set
# CONFIG_ELOG is not set
# CONFIG_DRIVERS_HWID_DMI is not set
CONFIG_DRIVERS_LENOVO_WACOM=y
diff --git a/config/data/grub/keymap/dkqwerty.gkb b/config/data/grub/keymap/dkqwerty.gkb
new file mode 100644
index 00000000..aef62970
--- /dev/null
+++ b/config/data/grub/keymap/dkqwerty.gkb
Binary files differ
diff --git a/config/data/grub/module/default b/config/data/grub/module/default
index faa2473e..39030e2a 100755
--- a/config/data/grub/module/default
+++ b/config/data/grub/module/default
@@ -33,6 +33,7 @@ configfile \
cpio \
cpio_be \
crc64 \
+crypto_cipher_mode_test \
crypto \
cryptodisk \
diskfilter \
@@ -43,15 +44,20 @@ exfat \
elf \
ext2 \
fat \
+functional_test \
f2fs \
gcry_arcfour \
+gcry_blake2 \
gcry_blowfish \
gcry_camellia \
gcry_cast5 \
gcry_crc \
gcry_des \
gcry_dsa \
+gcry_hwfeatures \
gcry_idea \
+gcry_kdf \
+gcry_keccak \
gcry_md4 \
gcry_md5 \
gcry_rfc2268 \
@@ -118,6 +124,7 @@ pgp \
play \
png \
procfs \
+pubkey \
raid5rec \
raid6rec \
read \
diff --git a/config/data/grub/module/nvme b/config/data/grub/module/nvme
index 5ff32329..4b832983 100755
--- a/config/data/grub/module/nvme
+++ b/config/data/grub/module/nvme
@@ -33,6 +33,7 @@ configfile \
cpio \
cpio_be \
crc64 \
+crypto_cipher_mode_test \
crypto \
cryptodisk \
diskfilter \
@@ -43,15 +44,20 @@ exfat \
elf \
ext2 \
fat \
+functional_test \
f2fs \
gcry_arcfour \
+gcry_blake2 \
gcry_blowfish \
gcry_camellia \
gcry_cast5 \
gcry_crc \
gcry_des \
gcry_dsa \
+gcry_hwfeatures \
gcry_idea \
+gcry_kdf \
+gcry_keccak \
gcry_md4 \
gcry_md5 \
gcry_rfc2268 \
@@ -119,6 +125,7 @@ pgp \
play \
png \
procfs \
+pubkey \
raid5rec \
raid6rec \
read \
diff --git a/config/data/grub/module/xhci_nvme b/config/data/grub/module/xhci_nvme
index 05bd82aa..616fca40 100755
--- a/config/data/grub/module/xhci_nvme
+++ b/config/data/grub/module/xhci_nvme
@@ -34,6 +34,7 @@ configfile \
cpio \
cpio_be \
crc64 \
+crypto_cipher_mode_test \
crypto \
cryptodisk \
diskfilter \
@@ -44,15 +45,20 @@ exfat \
elf \
ext2 \
fat \
+functional_test \
f2fs \
gcry_arcfour \
+gcry_blake2 \
gcry_blowfish \
gcry_camellia \
gcry_cast5 \
gcry_crc \
gcry_des \
gcry_dsa \
+gcry_hwfeatures \
gcry_idea \
+gcry_kdf \
+gcry_keccak \
gcry_md4 \
gcry_md5 \
gcry_rfc2268 \
@@ -119,6 +125,7 @@ pcidump \
pgp \
play \
png \
+pubkey \
procfs \
raid5rec \
raid6rec \
diff --git a/config/dependencies/debian b/config/dependencies/debian
index c7de8be0..170bf21c 100644
--- a/config/dependencies/debian
+++ b/config/dependencies/debian
@@ -14,5 +14,5 @@ libusb-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted pciutils
perl pkg-config python3 python3-distutils-extra python3-pkg-resources python3-pycryptodome \
python3-pyelftools python3-setuptools python-is-python3 sharutils swig unar \
unifont unifont-bin unzip uuid-dev wget xfonts-unifont zlib1g-dev ccache \
-g++-mipsel-linux-gnu make genisoimage mtools libx86-1 libx86-dev libstdc++-arm-none-eabi-newlib \
+g++-mipsel-linux-gnu make genisoimage mtools libx86-1 libx86-dev libstdc++-arm-none-eabi-newlib autoconf-archive \
"
diff --git a/config/dependencies/void b/config/dependencies/void
index a02d706e..428f46e6 100644
--- a/config/dependencies/void
+++ b/config/dependencies/void
@@ -7,7 +7,7 @@ cross-arm-none-eabi-binutils cross-arm-none-eabi-gcc \
cross-arm-none-eabi-libstdc++ cross-arm-none-eabi-newlib curl \
dejavu-fonts-ttf device-mapper doxygen e2fsprogs flex font-unifont-bdf \
freetype freetype-devel fuse gawk gcc-ada gdb gettext gettext-devel git \
-help2man innoextract libftdi1 libpciaccess libusb nasm ncurses \
+help2man innoextract libftdi1 libpciaccess libusb libuuid-devel nasm ncurses \
ncurses-devel openssl openssl-devel p7zip parted pciutils perl perl-LWP \
python python3 python3-setuptools rsync sharutils subversion texinfo \
unar unzip wget xz zlib ccache \
diff --git a/config/flashprog/patches/0001-Workaround-for-MX25-chips.patch b/config/flashprog/patches/0001-Workaround-for-MX25-chips.patch
index f7b9ad79..77c05577 100644
--- a/config/flashprog/patches/0001-Workaround-for-MX25-chips.patch
+++ b/config/flashprog/patches/0001-Workaround-for-MX25-chips.patch
@@ -1,7 +1,7 @@
-From 9d7b97a0f08a3f0f62c389aee61e92377d82d645 Mon Sep 17 00:00:00 2001
+From f57f12e4aac690ebbfda40d92d1d0c5ff2b74c0a Mon Sep 17 00:00:00 2001
From: consts <grudnevkv@gmail.com>
Date: Fri, 2 Mar 2018 07:03:37 +0000
-Subject: [PATCH 1/1] Workaround for MX25 chips
+Subject: [PATCH 1/2] Workaround for MX25 chips
TEST: In-system programming a ThinkPad X200 using a clip and
pico-serprog works now. It just doesn't without this hack.
@@ -17,7 +17,7 @@ Change-Id: I43a306b67862b59c1dcd02729e189f3bf73f481b
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/cli_classic.c b/cli_classic.c
-index 26253dc..5a80394 100644
+index a49e0458..0b85a80e 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -68,6 +68,7 @@ static void cli_classic_usage(const char *name)
@@ -47,7 +47,7 @@ index 26253dc..5a80394 100644
show_progress = true;
break;
diff --git a/include/programmer.h b/include/programmer.h
-index 11d15a8..3b33d5a 100644
+index 11d15a84..3b33d5ae 100644
--- a/include/programmer.h
+++ b/include/programmer.h
@@ -372,6 +372,7 @@ enum ich_chipset {
@@ -59,7 +59,7 @@ index 11d15a8..3b33d5a 100644
/* ichspi.c */
#if CONFIG_INTERNAL == 1
diff --git a/spi.c b/spi.c
-index 748ef99..9bbdee9 100644
+index 748ef994..9bbdee9a 100644
--- a/spi.c
+++ b/spi.c
@@ -27,13 +27,22 @@
@@ -87,5 +87,5 @@ index 748ef99..9bbdee9 100644
readarr);
}
--
-2.39.5
+2.47.3
diff --git a/config/flashprog/patches/0002-lbmk-hack-add-config-Makefile-options.patch b/config/flashprog/patches/0002-lbmk-hack-add-config-Makefile-options.patch
index d2702d23..15fc0916 100644
--- a/config/flashprog/patches/0002-lbmk-hack-add-config-Makefile-options.patch
+++ b/config/flashprog/patches/0002-lbmk-hack-add-config-Makefile-options.patch
@@ -1,7 +1,7 @@
-From b7a4d2907d3358173510aa6e31af08afe4969b38 Mon Sep 17 00:00:00 2001
+From 10b23a84799c7b81a8b0b974529e67cc3f22429d Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Thu, 22 May 2025 11:25:42 +0100
-Subject: [PATCH 1/1] lbmk hack: add config Makefile options
+Subject: [PATCH 2/2] lbmk hack: add config Makefile options
this prevents a build error when running the
-u, -m, -s, -l and -n options in lbmk without
@@ -15,10 +15,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index 12adf61..701f842 100644
+index 2d94afea..e514e300 100644
--- a/Makefile
+++ b/Makefile
-@@ -1113,7 +1113,23 @@ libpayload: clean
+@@ -1116,7 +1116,23 @@ libpayload: clean
gitconfig:
./util/getrevision.sh -c 2>/dev/null && ./util/git-hooks/install.sh
@@ -44,5 +44,5 @@ index 12adf61..701f842 100644
# Disable implicit suffixes and built-in rules (for performance and profit)
.SUFFIXES:
--
-2.39.5
+2.47.3
diff --git a/config/git/flashprog/pkg.cfg b/config/git/flashprog/pkg.cfg
index 16231efe..d5f2b6c9 100644
--- a/config/git/flashprog/pkg.cfg
+++ b/config/git/flashprog/pkg.cfg
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-rev="e060018655f802896dc226832d25e223102889c8"
+rev="ffcf92fbfd04a3ac1a5d882bcd5c4b78255af495"
url="https://review.sourcearcade.org/flashprog"
bkup_url="https://github.com/SourceArcade/flashprog.git"
diff --git a/config/git/pcsx-redux/pkg.cfg b/config/git/pcsx-redux/pkg.cfg
index d63d6b84..5456d98b 100644
--- a/config/git/pcsx-redux/pkg.cfg
+++ b/config/git/pcsx-redux/pkg.cfg
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-rev="8f8cc3d5637dedd6ca1e40b5407127e2afc18b34"
+rev="b745534eb231d3699ec57949f16a9a7bd5b79385"
url="https://github.com/grumpycoders/pcsx-redux"
bkup_url="https://codeberg.org/vimuser/pcsx-redux"
diff --git a/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch b/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
index c41f2d4d..7112b0aa 100644
--- a/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
+++ b/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
@@ -1,7 +1,7 @@
-From dae0cfdbb484eb3576300ad9c4d2c362f4e8fa64 Mon Sep 17 00:00:00 2001
+From 5a2c887181e7cdbd6b38d544e460d02623c902e6 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 31 Oct 2021 03:47:05 +0000
-Subject: [PATCH 01/14] mitigate grub's missing characters for borders/arrow
+Subject: [PATCH 01/10] mitigate grub's missing characters for borders/arrow
characters
This cleans up the display on the main screen in GRUB.
@@ -86,5 +86,5 @@ index 9c383e64a..8ec1dd1e8 100644
grub_term_highlight_color = old_color_highlight;
geo->timeout_y = geo->first_entry_y + geo->num_entries
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch b/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
index e30f1386..af139ffc 100644
--- a/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
+++ b/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
@@ -1,25 +1,25 @@
-From 25ae072be49c23abffff657085c16ac3780b8cda Mon Sep 17 00:00:00 2001
+From 25d7d35e0af74361a5510c3e6313b8ce5e00cd6a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 19 Nov 2022 16:30:24 +0000
-Subject: [PATCH 02/14] say the name libreboot, in the grub menu
+Subject: [PATCH 02/10] say the name libreboot, in the grub menu
---
grub-core/normal/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
-index 96abfda2f..d806db9c4 100644
+index de9a3f961..bed502cde 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
-@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
+@@ -215,7 +215,7 @@ grub_normal_init_page (struct grub_term_output *term,
grub_term_cls (term);
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
-+ msg_formatted = grub_xasprintf (_("Libreboot 25.06 Luminous Lemon (GRUB menu): https://libreboot.org/"));
++ msg_formatted = grub_xasprintf (_("Libreboot 26.01 Magnanimous Max (GRUB menu): https://libreboot.org/"));
if (!msg_formatted)
return;
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0003-Add-CC0-license.patch b/config/grub/default/patches/0003-Add-CC0-license.patch
deleted file mode 100644
index 09b70f1c..00000000
--- a/config/grub/default/patches/0003-Add-CC0-license.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e9969b4ee38e3d9fda1fdff02e127830d7fdf2ec Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 03/14] Add CC0 license
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- grub-core/kern/dl.c | 3 ++-
- util/grub-module-verifierXX.c | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index de8c3aa8d..4a3be8568 100644
---- a/grub-core/kern/dl.c
-+++ b/grub-core/kern/dl.c
-@@ -495,7 +495,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
-
- if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
- || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
-- || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0)
-+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0
-+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=CC0") == 0)
- return GRUB_ERR_NONE;
-
- return grub_error (GRUB_ERR_BAD_MODULE,
-diff --git a/util/grub-module-verifierXX.c b/util/grub-module-verifierXX.c
-index a42c20bd1..7157a30aa 100644
---- a/util/grub-module-verifierXX.c
-+++ b/util/grub-module-verifierXX.c
-@@ -236,7 +236,8 @@ check_license (const char * const filename,
- Elf_Shdr *s = find_section (arch, e, ".module_license", module_size);
- if (s && (strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3") == 0
- || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3+") == 0
-- || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0))
-+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0
-+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=CC0") == 0))
- return;
- grub_util_error ("%s: incompatible license", filename);
- }
---
-2.39.5
-
diff --git a/config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch b/config/grub/default/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
index 12f6f111..bb07abd6 100644
--- a/config/grub/default/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
+++ b/config/grub/default/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
@@ -1,7 +1,7 @@
-From fc815438e70cbb13166ab6711b6f6460521b1fd4 Mon Sep 17 00:00:00 2001
+From acff2df937bb4172f9bdb46d12e82edbbcad7996 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 30 Oct 2023 22:19:21 +0000
-Subject: [PATCH 09/14] at_keyboard coreboot: force scancodes2+translate
+Subject: [PATCH 03/10] at_keyboard coreboot: force scancodes2+translate
Scan code set 2 with translation should be assumed in
every case, as the default starting position.
@@ -103,5 +103,5 @@ index f8a129eb7..8207225c2 100644
grub_dprintf ("atkeyb", "returned set %d\n", ps2_state.current_set);
if (ps2_state.current_set == 2)
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch b/config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch
deleted file mode 100644
index 6d413bae..00000000
--- a/config/grub/default/patches/0004-Define-GRUB_UINT32_MAX.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 421a44b2f8211fa46ea523fc0feeaba9940af0e7 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 04/14] Define GRUB_UINT32_MAX
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- include/grub/types.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/include/grub/types.h b/include/grub/types.h
-index 45079bf65..8c0b30395 100644
---- a/include/grub/types.h
-+++ b/include/grub/types.h
-@@ -156,6 +156,7 @@ typedef grub_int32_t grub_ssize_t;
- #define GRUB_SHRT_MAX 0x7fff
- #define GRUB_SHRT_MIN (-GRUB_SHRT_MAX - 1)
- #define GRUB_UINT_MAX 4294967295U
-+#define GRUB_UINT32_MAX 4294967295U
- #define GRUB_INT_MAX 0x7fffffff
- #define GRUB_INT_MIN (-GRUB_INT_MAX - 1)
- #define GRUB_INT32_MAX 2147483647
-@@ -177,6 +178,13 @@ typedef grub_int32_t grub_ssize_t;
- #define GRUB_TYPE_U_MAX(type) ((unsigned long long)((typeof (type))(~0)))
- #define GRUB_TYPE_U_MIN(type) 0ULL
-
-+# define GRUB_UINT32_C(x) x ## U
-+# if GRUB_ULONG_MAX >> 31 >> 31 >> 1 == 1
-+# define GRUB_UINT64_C(x) x##UL
-+# elif 1
-+# define GRUB_UINT64_C(x) x##ULL
-+# endif
-+
- typedef grub_uint64_t grub_properly_aligned_t;
-
- #define GRUB_PROPERLY_ALIGNED_ARRAY(name, size) grub_properly_aligned_t name[((size) + sizeof (grub_properly_aligned_t) - 1) / sizeof (grub_properly_aligned_t)]
---
-2.39.5
-
diff --git a/config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/default/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
index 8c0a5054..fbcbb2c3 100644
--- a/config/grub/default/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
+++ b/config/grub/default/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
@@ -1,7 +1,7 @@
-From defb7ad35579c321d32b81af7ddd6fecf34cb618 Mon Sep 17 00:00:00 2001
+From 247133e1f9820bcb81f7d27fc1395d64dc7b0a89 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 31 Oct 2023 10:33:28 +0000
-Subject: [PATCH 10/14] keylayouts: don't print "Unknown key" message
+Subject: [PATCH 04/10] keylayouts: don't print "Unknown key" message
on keyboards with stuck keys, this results in GRUB just
spewing it repeatedly, preventing use of GRUB.
@@ -34,5 +34,5 @@ index aa3ba34f2..445fa0601 100644
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0005-Add-Argon2-algorithm.patch b/config/grub/default/patches/0005-Add-Argon2-algorithm.patch
deleted file mode 100644
index 26a150b7..00000000
--- a/config/grub/default/patches/0005-Add-Argon2-algorithm.patch
+++ /dev/null
@@ -1,2612 +0,0 @@
-From a31496a4fb9dc85dfbfc3442898aca4b64716986 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 05/14] Add Argon2 algorithm
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- docs/grub-dev.texi | 64 +++
- grub-core/Makefile.core.def | 8 +
- grub-core/lib/argon2/LICENSE | 314 +++++++++++
- grub-core/lib/argon2/argon2.c | 232 ++++++++
- grub-core/lib/argon2/argon2.h | 264 +++++++++
- grub-core/lib/argon2/blake2/blake2-impl.h | 151 ++++++
- grub-core/lib/argon2/blake2/blake2.h | 89 +++
- grub-core/lib/argon2/blake2/blake2b.c | 388 ++++++++++++++
- .../lib/argon2/blake2/blamka-round-ref.h | 56 ++
- grub-core/lib/argon2/core.c | 506 ++++++++++++++++++
- grub-core/lib/argon2/core.h | 228 ++++++++
- grub-core/lib/argon2/ref.c | 190 +++++++
- 12 files changed, 2490 insertions(+)
- create mode 100644 grub-core/lib/argon2/LICENSE
- create mode 100644 grub-core/lib/argon2/argon2.c
- create mode 100644 grub-core/lib/argon2/argon2.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2-impl.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2b.c
- create mode 100644 grub-core/lib/argon2/blake2/blamka-round-ref.h
- create mode 100644 grub-core/lib/argon2/core.c
- create mode 100644 grub-core/lib/argon2/core.h
- create mode 100644 grub-core/lib/argon2/ref.c
-
-diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
-index f4367f895..9d96cedf9 100644
---- a/docs/grub-dev.texi
-+++ b/docs/grub-dev.texi
-@@ -503,12 +503,76 @@ GRUB includes some code from other projects, and it is sometimes necessary
- to update it.
-
- @menu
-+* Argon2::
- * Gnulib::
- * jsmn::
- * minilzo::
- * libtasn1::
- @end menu
-
-+@node Argon2
-+@section Argon2
-+
-+Argon2 is a key derivation function used by LUKS2 in order to derive encryption
-+keys from a user-provided password. GRUB imports the official reference
-+implementation of Argon2 from @url{https://github.com/P-H-C/phc-winner-argon2}.
-+In order to make the library usable for GRUB, we need to perform various
-+conversions. This is mainly due to the fact that the imported code makes use of
-+types and functions defined in the C standard library, which isn't available.
-+Furthermore, using the POSIX wrapper library is not possible as the code needs
-+to be part of the kernel.
-+
-+Updating the code can thus be performed like following:
-+
-+@example
-+$ git clone https://github.com/P-H-C/phc-winner-argon2 argon2
-+$ cp argon2/include/argon2.h argon2/src/@{argon2.c,core.c,core.h,ref.c@} \
-+ grub-core/lib/argon2/
-+$ cp argon2/src/blake2/@{blake2-impl.h,blake2.h,blake2b.c,blamka-round-ref.h@} \
-+ grub-core/lib/argon2/blake2/
-+$ sed -e 's/UINT32_C/GRUB_UINT32_C/g' \
-+ -e 's/UINT64_C/GRUB_UINT64_C/g' \
-+ -e 's/UINT32_MAX/GRUB_UINT32_MAX/g' \
-+ -e 's/CHAR_BIT/GRUB_CHAR_BIT/g' \
-+ -e 's/UINT_MAX/GRUB_UINT_MAX/g' \
-+ -e 's/uintptr_t/grub_addr_t/g' \
-+ -e 's/size_t/grub_size_t/g' \
-+ -e 's/uint32_t/grub_uint32_t/g' \
-+ -e 's/uint64_t/grub_uint64_t/g' \
-+ -e 's/uint8_t/grub_uint8_t/g' \
-+ -e 's/memset/grub_memset/g' \
-+ -e 's/memcpy/grub_memcpy/g' \
-+ -e 's/malloc/grub_malloc/g' \
-+ -e 's/free/grub_free/g' \
-+ -e 's/#elif _MSC_VER/#elif defined(_MSC_VER)/' \
-+ grub-core/lib/argon2/@{*,blake2/*@}.@{c,h@} -i
-+@end example
-+
-+Afterwards, you need to perform the following manual steps:
-+
-+@enumerate
-+@item Remove all includes of standard library headers, "encoding.h" and
-+ "thread.h".
-+@item Add includes <grub/mm.h> and <grub/misc.h> to "argon2.h".
-+@item Add include <grub/dl.h> and module license declaration to "argon2.c".
-+@item Remove the following declarations and functions from "argon2.h" and
-+ "argon2.c": argon2_type2string, argon2i_hash_encoded, argon2i_hash_raw,
-+ argon2d_hash_encoded, argon2d_hash_raw, argon2id_hash_encoded,
-+ argon2id_hash_raw, argon2_compare, argon2_verify, argon2i_verify,
-+ argon2d_verify, argon2id_verify, argon2d_ctx, argon2i_ctx, argon2id_ctx,
-+ argon2_verify_ctx, argon2d_verify_ctx, argon2i_verify_ctx,
-+ argon2id_verify_ctx, argon2_encodedlen.
-+@item Move the declaration of `clear_internal_memory()` in "blake2-impl.h" to
-+ "blake2b.c".
-+@item Remove code guarded by the ARGON2_NO_THREADS macro.
-+@item Remove parameters `encoded` and `encodedlen` from `argon2_hash` and remove
-+ the encoding block in that function.
-+@item Remove parameter verifications in `validate_inputs()` for
-+ ARGON2_MIN_PWD_LENGTH, ARGON2_MIN_SECRET, ARGON2_MIN_AD_LENGTH and
-+ ARGON2_MAX_MEMORY to fix compiler warnings.
-+@item Mark the function argon2_ctx as static.
-+@end enumerate
-+
- @node Gnulib
- @section Gnulib
-
-diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index 24e8c8437..0ee65d54d 100644
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -1219,6 +1219,14 @@ module = {
- common = lib/json/json.c;
- };
-
-+module = {
-+ name = argon2;
-+ common = lib/argon2/argon2.c;
-+ common = lib/argon2/core.c;
-+ common = lib/argon2/ref.c;
-+ common = lib/argon2/blake2/blake2b.c;
-+};
-+
- module = {
- name = afsplitter;
- common = disk/AFSplitter.c;
-diff --git a/grub-core/lib/argon2/LICENSE b/grub-core/lib/argon2/LICENSE
-new file mode 100644
-index 000000000..97aae2925
---- /dev/null
-+++ b/grub-core/lib/argon2/LICENSE
-@@ -0,0 +1,314 @@
-+Argon2 reference source code package - reference C implementations
-+
-+Copyright 2015
-+Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+
-+You may use this work under the terms of a Creative Commons CC0 1.0
-+License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+these licenses can be found at:
-+
-+- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+
-+The terms of the licenses are reproduced below.
-+
-+--------------------------------------------------------------------------------
-+
-+Creative Commons Legal Code
-+
-+CC0 1.0 Universal
-+
-+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
-+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
-+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
-+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
-+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
-+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
-+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
-+ HEREUNDER.
-+
-+Statement of Purpose
-+
-+The laws of most jurisdictions throughout the world automatically confer
-+exclusive Copyright and Related Rights (defined below) upon the creator
-+and subsequent owner(s) (each and all, an "owner") of an original work of
-+authorship and/or a database (each, a "Work").
-+
-+Certain owners wish to permanently relinquish those rights to a Work for
-+the purpose of contributing to a commons of creative, cultural and
-+scientific works ("Commons") that the public can reliably and without fear
-+of later claims of infringement build upon, modify, incorporate in other
-+works, reuse and redistribute as freely as possible in any form whatsoever
-+and for any purposes, including without limitation commercial purposes.
-+These owners may contribute to the Commons to promote the ideal of a free
-+culture and the further production of creative, cultural and scientific
-+works, or to gain reputation or greater distribution for their Work in
-+part through the use and efforts of others.
-+
-+For these and/or other purposes and motivations, and without any
-+expectation of additional consideration or compensation, the person
-+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
-+is an owner of Copyright and Related Rights in the Work, voluntarily
-+elects to apply CC0 to the Work and publicly distribute the Work under its
-+terms, with knowledge of his or her Copyright and Related Rights in the
-+Work and the meaning and intended legal effect of CC0 on those rights.
-+
-+1. Copyright and Related Rights. A Work made available under CC0 may be
-+protected by copyright and related or neighboring rights ("Copyright and
-+Related Rights"). Copyright and Related Rights include, but are not
-+limited to, the following:
-+
-+ i. the right to reproduce, adapt, distribute, perform, display,
-+ communicate, and translate a Work;
-+ ii. moral rights retained by the original author(s) and/or performer(s);
-+iii. publicity and privacy rights pertaining to a person's image or
-+ likeness depicted in a Work;
-+ iv. rights protecting against unfair competition in regards to a Work,
-+ subject to the limitations in paragraph 4(a), below;
-+ v. rights protecting the extraction, dissemination, use and reuse of data
-+ in a Work;
-+ vi. database rights (such as those arising under Directive 96/9/EC of the
-+ European Parliament and of the Council of 11 March 1996 on the legal
-+ protection of databases, and under any national implementation
-+ thereof, including any amended or successor version of such
-+ directive); and
-+vii. other similar, equivalent or corresponding rights throughout the
-+ world based on applicable law or treaty, and any national
-+ implementations thereof.
-+
-+2. Waiver. To the greatest extent permitted by, but not in contravention
-+of, applicable law, Affirmer hereby overtly, fully, permanently,
-+irrevocably and unconditionally waives, abandons, and surrenders all of
-+Affirmer's Copyright and Related Rights and associated claims and causes
-+of action, whether now known or unknown (including existing as well as
-+future claims and causes of action), in the Work (i) in all territories
-+worldwide, (ii) for the maximum duration provided by applicable law or
-+treaty (including future time extensions), (iii) in any current or future
-+medium and for any number of copies, and (iv) for any purpose whatsoever,
-+including without limitation commercial, advertising or promotional
-+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
-+member of the public at large and to the detriment of Affirmer's heirs and
-+successors, fully intending that such Waiver shall not be subject to
-+revocation, rescission, cancellation, termination, or any other legal or
-+equitable action to disrupt the quiet enjoyment of the Work by the public
-+as contemplated by Affirmer's express Statement of Purpose.
-+
-+3. Public License Fallback. Should any part of the Waiver for any reason
-+be judged legally invalid or ineffective under applicable law, then the
-+Waiver shall be preserved to the maximum extent permitted taking into
-+account Affirmer's express Statement of Purpose. In addition, to the
-+extent the Waiver is so judged Affirmer hereby grants to each affected
-+person a royalty-free, non transferable, non sublicensable, non exclusive,
-+irrevocable and unconditional license to exercise Affirmer's Copyright and
-+Related Rights in the Work (i) in all territories worldwide, (ii) for the
-+maximum duration provided by applicable law or treaty (including future
-+time extensions), (iii) in any current or future medium and for any number
-+of copies, and (iv) for any purpose whatsoever, including without
-+limitation commercial, advertising or promotional purposes (the
-+"License"). The License shall be deemed effective as of the date CC0 was
-+applied by Affirmer to the Work. Should any part of the License for any
-+reason be judged legally invalid or ineffective under applicable law, such
-+partial invalidity or ineffectiveness shall not invalidate the remainder
-+of the License, and in such case Affirmer hereby affirms that he or she
-+will not (i) exercise any of his or her remaining Copyright and Related
-+Rights in the Work or (ii) assert any associated claims and causes of
-+action with respect to the Work, in either case contrary to Affirmer's
-+express Statement of Purpose.
-+
-+4. Limitations and Disclaimers.
-+
-+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
-+ surrendered, licensed or otherwise affected by this document.
-+ b. Affirmer offers the Work as-is and makes no representations or
-+ warranties of any kind concerning the Work, express, implied,
-+ statutory or otherwise, including without limitation warranties of
-+ title, merchantability, fitness for a particular purpose, non
-+ infringement, or the absence of latent or other defects, accuracy, or
-+ the present or absence of errors, whether or not discoverable, all to
-+ the greatest extent permissible under applicable law.
-+ c. Affirmer disclaims responsibility for clearing rights of other persons
-+ that may apply to the Work or any use thereof, including without
-+ limitation any person's Copyright and Related Rights in the Work.
-+ Further, Affirmer disclaims responsibility for obtaining any necessary
-+ consents, permissions or other rights required for any use of the
-+ Work.
-+ d. Affirmer understands and acknowledges that Creative Commons is not a
-+ party to this document and has no duty or obligation with respect to
-+ this CC0 or use of the Work.
-+
-+--------------------------------------------------------------------------------
-+
-+ Apache License
-+ Version 2.0, January 2004
-+ http://www.apache.org/licenses/
-+
-+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-+
-+ 1. Definitions.
-+
-+ "License" shall mean the terms and conditions for use, reproduction,
-+ and distribution as defined by Sections 1 through 9 of this document.
-+
-+ "Licensor" shall mean the copyright owner or entity authorized by
-+ the copyright owner that is granting the License.
-+
-+ "Legal Entity" shall mean the union of the acting entity and all
-+ other entities that control, are controlled by, or are under common
-+ control with that entity. For the purposes of this definition,
-+ "control" means (i) the power, direct or indirect, to cause the
-+ direction or management of such entity, whether by contract or
-+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
-+ outstanding shares, or (iii) beneficial ownership of such entity.
-+
-+ "You" (or "Your") shall mean an individual or Legal Entity
-+ exercising permissions granted by this License.
-+
-+ "Source" form shall mean the preferred form for making modifications,
-+ including but not limited to software source code, documentation
-+ source, and configuration files.
-+
-+ "Object" form shall mean any form resulting from mechanical
-+ transformation or translation of a Source form, including but
-+ not limited to compiled object code, generated documentation,
-+ and conversions to other media types.
-+
-+ "Work" shall mean the work of authorship, whether in Source or
-+ Object form, made available under the License, as indicated by a
-+ copyright notice that is included in or attached to the work
-+ (an example is provided in the Appendix below).
-+
-+ "Derivative Works" shall mean any work, whether in Source or Object
-+ form, that is based on (or derived from) the Work and for which the
-+ editorial revisions, annotations, elaborations, or other modifications
-+ represent, as a whole, an original work of authorship. For the purposes
-+ of this License, Derivative Works shall not include works that remain
-+ separable from, or merely link (or bind by name) to the interfaces of,
-+ the Work and Derivative Works thereof.
-+
-+ "Contribution" shall mean any work of authorship, including
-+ the original version of the Work and any modifications or additions
-+ to that Work or Derivative Works thereof, that is intentionally
-+ submitted to Licensor for inclusion in the Work by the copyright owner
-+ or by an individual or Legal Entity authorized to submit on behalf of
-+ the copyright owner. For the purposes of this definition, "submitted"
-+ means any form of electronic, verbal, or written communication sent
-+ to the Licensor or its representatives, including but not limited to
-+ communication on electronic mailing lists, source code control systems,
-+ and issue tracking systems that are managed by, or on behalf of, the
-+ Licensor for the purpose of discussing and improving the Work, but
-+ excluding communication that is conspicuously marked or otherwise
-+ designated in writing by the copyright owner as "Not a Contribution."
-+
-+ "Contributor" shall mean Licensor and any individual or Legal Entity
-+ on behalf of whom a Contribution has been received by Licensor and
-+ subsequently incorporated within the Work.
-+
-+ 2. Grant of Copyright License. Subject to the terms and conditions of
-+ this License, each Contributor hereby grants to You a perpetual,
-+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-+ copyright license to reproduce, prepare Derivative Works of,
-+ publicly display, publicly perform, sublicense, and distribute the
-+ Work and such Derivative Works in Source or Object form.
-+
-+ 3. Grant of Patent License. Subject to the terms and conditions of
-+ this License, each Contributor hereby grants to You a perpetual,
-+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-+ (except as stated in this section) patent license to make, have made,
-+ use, offer to sell, sell, import, and otherwise transfer the Work,
-+ where such license applies only to those patent claims licensable
-+ by such Contributor that are necessarily infringed by their
-+ Contribution(s) alone or by combination of their Contribution(s)
-+ with the Work to which such Contribution(s) was submitted. If You
-+ institute patent litigation against any entity (including a
-+ cross-claim or counterclaim in a lawsuit) alleging that the Work
-+ or a Contribution incorporated within the Work constitutes direct
-+ or contributory patent infringement, then any patent licenses
-+ granted to You under this License for that Work shall terminate
-+ as of the date such litigation is filed.
-+
-+ 4. Redistribution. You may reproduce and distribute copies of the
-+ Work or Derivative Works thereof in any medium, with or without
-+ modifications, and in Source or Object form, provided that You
-+ meet the following conditions:
-+
-+ (a) You must give any other recipients of the Work or
-+ Derivative Works a copy of this License; and
-+
-+ (b) You must cause any modified files to carry prominent notices
-+ stating that You changed the files; and
-+
-+ (c) You must retain, in the Source form of any Derivative Works
-+ that You distribute, all copyright, patent, trademark, and
-+ attribution notices from the Source form of the Work,
-+ excluding those notices that do not pertain to any part of
-+ the Derivative Works; and
-+
-+ (d) If the Work includes a "NOTICE" text file as part of its
-+ distribution, then any Derivative Works that You distribute must
-+ include a readable copy of the attribution notices contained
-+ within such NOTICE file, excluding those notices that do not
-+ pertain to any part of the Derivative Works, in at least one
-+ of the following places: within a NOTICE text file distributed
-+ as part of the Derivative Works; within the Source form or
-+ documentation, if provided along with the Derivative Works; or,
-+ within a display generated by the Derivative Works, if and
-+ wherever such third-party notices normally appear. The contents
-+ of the NOTICE file are for informational purposes only and
-+ do not modify the License. You may add Your own attribution
-+ notices within Derivative Works that You distribute, alongside
-+ or as an addendum to the NOTICE text from the Work, provided
-+ that such additional attribution notices cannot be construed
-+ as modifying the License.
-+
-+ You may add Your own copyright statement to Your modifications and
-+ may provide additional or different license terms and conditions
-+ for use, reproduction, or distribution of Your modifications, or
-+ for any such Derivative Works as a whole, provided Your use,
-+ reproduction, and distribution of the Work otherwise complies with
-+ the conditions stated in this License.
-+
-+ 5. Submission of Contributions. Unless You explicitly state otherwise,
-+ any Contribution intentionally submitted for inclusion in the Work
-+ by You to the Licensor shall be under the terms and conditions of
-+ this License, without any additional terms or conditions.
-+ Notwithstanding the above, nothing herein shall supersede or modify
-+ the terms of any separate license agreement you may have executed
-+ with Licensor regarding such Contributions.
-+
-+ 6. Trademarks. This License does not grant permission to use the trade
-+ names, trademarks, service marks, or product names of the Licensor,
-+ except as required for reasonable and customary use in describing the
-+ origin of the Work and reproducing the content of the NOTICE file.
-+
-+ 7. Disclaimer of Warranty. Unless required by applicable law or
-+ agreed to in writing, Licensor provides the Work (and each
-+ Contributor provides its Contributions) on an "AS IS" BASIS,
-+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-+ implied, including, without limitation, any warranties or conditions
-+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-+ PARTICULAR PURPOSE. You are solely responsible for determining the
-+ appropriateness of using or redistributing the Work and assume any
-+ risks associated with Your exercise of permissions under this License.
-+
-+ 8. Limitation of Liability. In no event and under no legal theory,
-+ whether in tort (including negligence), contract, or otherwise,
-+ unless required by applicable law (such as deliberate and grossly
-+ negligent acts) or agreed to in writing, shall any Contributor be
-+ liable to You for damages, including any direct, indirect, special,
-+ incidental, or consequential damages of any character arising as a
-+ result of this License or out of the use or inability to use the
-+ Work (including but not limited to damages for loss of goodwill,
-+ work stoppage, computer failure or malfunction, or any and all
-+ other commercial damages or losses), even if such Contributor
-+ has been advised of the possibility of such damages.
-+
-+ 9. Accepting Warranty or Additional Liability. While redistributing
-+ the Work or Derivative Works thereof, You may choose to offer,
-+ and charge a fee for, acceptance of support, warranty, indemnity,
-+ or other liability obligations and/or rights consistent with this
-+ License. However, in accepting such obligations, You may act only
-+ on Your own behalf and on Your sole responsibility, not on behalf
-+ of any other Contributor, and only if You agree to indemnify,
-+ defend, and hold each Contributor harmless for any liability
-+ incurred by, or claims asserted against, such Contributor by reason
-+ of your accepting any such warranty or additional liability.
-diff --git a/grub-core/lib/argon2/argon2.c b/grub-core/lib/argon2/argon2.c
-new file mode 100644
-index 000000000..49532fe80
---- /dev/null
-+++ b/grub-core/lib/argon2/argon2.c
-@@ -0,0 +1,232 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include <grub/dl.h>
-+
-+#include "argon2.h"
-+#include "core.h"
-+
-+GRUB_MOD_LICENSE ("CC0");
-+
-+static int argon2_ctx(argon2_context *context, argon2_type type) {
-+ /* 1. Validate all inputs */
-+ int result = validate_inputs(context);
-+ grub_uint32_t memory_blocks, segment_length;
-+ argon2_instance_t instance;
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+
-+ if (Argon2_d != type && Argon2_i != type && Argon2_id != type) {
-+ return ARGON2_INCORRECT_TYPE;
-+ }
-+
-+ /* 2. Align memory size */
-+ /* Minimum memory_blocks = 8L blocks, where L is the number of lanes */
-+ memory_blocks = context->m_cost;
-+
-+ if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) {
-+ memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes;
-+ }
-+
-+ segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS);
-+ /* Ensure that all segments have equal length */
-+ memory_blocks = segment_length * (context->lanes * ARGON2_SYNC_POINTS);
-+
-+ instance.version = context->version;
-+ instance.memory = NULL;
-+ instance.passes = context->t_cost;
-+ instance.memory_blocks = memory_blocks;
-+ instance.segment_length = segment_length;
-+ instance.lane_length = segment_length * ARGON2_SYNC_POINTS;
-+ instance.lanes = context->lanes;
-+ instance.threads = context->threads;
-+ instance.type = type;
-+
-+ if (instance.threads > instance.lanes) {
-+ instance.threads = instance.lanes;
-+ }
-+
-+ /* 3. Initialization: Hashing inputs, allocating memory, filling first
-+ * blocks
-+ */
-+ result = initialize(&instance, context);
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+
-+ /* 4. Filling memory */
-+ result = fill_memory_blocks(&instance);
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+ /* 5. Finalization */
-+ finalize(context, &instance);
-+
-+ return ARGON2_OK;
-+}
-+
-+int argon2_hash(const grub_uint32_t t_cost, const grub_uint32_t m_cost,
-+ const grub_uint32_t parallelism, const void *pwd,
-+ const grub_size_t pwdlen, const void *salt, const grub_size_t saltlen,
-+ void *hash, const grub_size_t hashlen, argon2_type type,
-+ const grub_uint32_t version){
-+
-+ argon2_context context;
-+ int result;
-+ grub_uint8_t *out;
-+
-+ if (pwdlen > ARGON2_MAX_PWD_LENGTH) {
-+ return ARGON2_PWD_TOO_LONG;
-+ }
-+
-+ if (saltlen > ARGON2_MAX_SALT_LENGTH) {
-+ return ARGON2_SALT_TOO_LONG;
-+ }
-+
-+ if (hashlen > ARGON2_MAX_OUTLEN) {
-+ return ARGON2_OUTPUT_TOO_LONG;
-+ }
-+
-+ if (hashlen < ARGON2_MIN_OUTLEN) {
-+ return ARGON2_OUTPUT_TOO_SHORT;
-+ }
-+
-+ out = grub_malloc(hashlen);
-+ if (!out) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ context.out = (grub_uint8_t *)out;
-+ context.outlen = (grub_uint32_t)hashlen;
-+ context.pwd = CONST_CAST(grub_uint8_t *)pwd;
-+ context.pwdlen = (grub_uint32_t)pwdlen;
-+ context.salt = CONST_CAST(grub_uint8_t *)salt;
-+ context.saltlen = (grub_uint32_t)saltlen;
-+ context.secret = NULL;
-+ context.secretlen = 0;
-+ context.ad = NULL;
-+ context.adlen = 0;
-+ context.t_cost = t_cost;
-+ context.m_cost = m_cost;
-+ context.lanes = parallelism;
-+ context.threads = parallelism;
-+ context.allocate_cbk = NULL;
-+ context.grub_free_cbk = NULL;
-+ context.flags = ARGON2_DEFAULT_FLAGS;
-+ context.version = version;
-+
-+ result = argon2_ctx(&context, type);
-+
-+ if (result != ARGON2_OK) {
-+ clear_internal_memory(out, hashlen);
-+ grub_free(out);
-+ return result;
-+ }
-+
-+ /* if raw hash requested, write it */
-+ if (hash) {
-+ grub_memcpy(hash, out, hashlen);
-+ }
-+
-+ clear_internal_memory(out, hashlen);
-+ grub_free(out);
-+
-+ return ARGON2_OK;
-+}
-+
-+const char *argon2_error_message(int error_code) {
-+ switch (error_code) {
-+ case ARGON2_OK:
-+ return "OK";
-+ case ARGON2_OUTPUT_PTR_NULL:
-+ return "Output pointer is NULL";
-+ case ARGON2_OUTPUT_TOO_SHORT:
-+ return "Output is too short";
-+ case ARGON2_OUTPUT_TOO_LONG:
-+ return "Output is too long";
-+ case ARGON2_PWD_TOO_SHORT:
-+ return "Password is too short";
-+ case ARGON2_PWD_TOO_LONG:
-+ return "Password is too long";
-+ case ARGON2_SALT_TOO_SHORT:
-+ return "Salt is too short";
-+ case ARGON2_SALT_TOO_LONG:
-+ return "Salt is too long";
-+ case ARGON2_AD_TOO_SHORT:
-+ return "Associated data is too short";
-+ case ARGON2_AD_TOO_LONG:
-+ return "Associated data is too long";
-+ case ARGON2_SECRET_TOO_SHORT:
-+ return "Secret is too short";
-+ case ARGON2_SECRET_TOO_LONG:
-+ return "Secret is too long";
-+ case ARGON2_TIME_TOO_SMALL:
-+ return "Time cost is too small";
-+ case ARGON2_TIME_TOO_LARGE:
-+ return "Time cost is too large";
-+ case ARGON2_MEMORY_TOO_LITTLE:
-+ return "Memory cost is too small";
-+ case ARGON2_MEMORY_TOO_MUCH:
-+ return "Memory cost is too large";
-+ case ARGON2_LANES_TOO_FEW:
-+ return "Too few lanes";
-+ case ARGON2_LANES_TOO_MANY:
-+ return "Too many lanes";
-+ case ARGON2_PWD_PTR_MISMATCH:
-+ return "Password pointer is NULL, but password length is not 0";
-+ case ARGON2_SALT_PTR_MISMATCH:
-+ return "Salt pointer is NULL, but salt length is not 0";
-+ case ARGON2_SECRET_PTR_MISMATCH:
-+ return "Secret pointer is NULL, but secret length is not 0";
-+ case ARGON2_AD_PTR_MISMATCH:
-+ return "Associated data pointer is NULL, but ad length is not 0";
-+ case ARGON2_MEMORY_ALLOCATION_ERROR:
-+ return "Memory allocation error";
-+ case ARGON2_FREE_MEMORY_CBK_NULL:
-+ return "The grub_free memory callback is NULL";
-+ case ARGON2_ALLOCATE_MEMORY_CBK_NULL:
-+ return "The allocate memory callback is NULL";
-+ case ARGON2_INCORRECT_PARAMETER:
-+ return "Argon2_Context context is NULL";
-+ case ARGON2_INCORRECT_TYPE:
-+ return "There is no such version of Argon2";
-+ case ARGON2_OUT_PTR_MISMATCH:
-+ return "Output pointer mismatch";
-+ case ARGON2_THREADS_TOO_FEW:
-+ return "Not enough threads";
-+ case ARGON2_THREADS_TOO_MANY:
-+ return "Too many threads";
-+ case ARGON2_MISSING_ARGS:
-+ return "Missing arguments";
-+ case ARGON2_ENCODING_FAIL:
-+ return "Encoding failed";
-+ case ARGON2_DECODING_FAIL:
-+ return "Decoding failed";
-+ case ARGON2_THREAD_FAIL:
-+ return "Threading failure";
-+ case ARGON2_DECODING_LENGTH_FAIL:
-+ return "Some of encoded parameters are too long or too short";
-+ case ARGON2_VERIFY_MISMATCH:
-+ return "The password does not match the supplied hash";
-+ default:
-+ return "Unknown error code";
-+ }
-+}
-diff --git a/grub-core/lib/argon2/argon2.h b/grub-core/lib/argon2/argon2.h
-new file mode 100644
-index 000000000..129f7efbd
---- /dev/null
-+++ b/grub-core/lib/argon2/argon2.h
-@@ -0,0 +1,264 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef ARGON2_H
-+#define ARGON2_H
-+
-+#include <grub/misc.h>
-+#include <grub/mm.h>
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+/* Symbols visibility control */
-+#ifdef A2_VISCTL
-+#define ARGON2_PUBLIC __attribute__((visibility("default")))
-+#define ARGON2_LOCAL __attribute__ ((visibility ("hidden")))
-+#elif defined(_MSC_VER)
-+#define ARGON2_PUBLIC __declspec(dllexport)
-+#define ARGON2_LOCAL
-+#else
-+#define ARGON2_PUBLIC
-+#define ARGON2_LOCAL
-+#endif
-+
-+/*
-+ * Argon2 input parameter restrictions
-+ */
-+
-+/* Minimum and maximum number of lanes (degree of parallelism) */
-+#define ARGON2_MIN_LANES GRUB_UINT32_C(1)
-+#define ARGON2_MAX_LANES GRUB_UINT32_C(0xFFFFFF)
-+
-+/* Minimum and maximum number of threads */
-+#define ARGON2_MIN_THREADS GRUB_UINT32_C(1)
-+#define ARGON2_MAX_THREADS GRUB_UINT32_C(0xFFFFFF)
-+
-+/* Number of synchronization points between lanes per pass */
-+#define ARGON2_SYNC_POINTS GRUB_UINT32_C(4)
-+
-+/* Minimum and maximum digest size in bytes */
-+#define ARGON2_MIN_OUTLEN GRUB_UINT32_C(4)
-+#define ARGON2_MAX_OUTLEN GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum number of memory blocks (each of BLOCK_SIZE bytes) */
-+#define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */
-+
-+#define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b))
-+/* Max memory size is addressing-space/2, topping at 2^32 blocks (4 TB) */
-+#define ARGON2_MAX_MEMORY_BITS \
-+ ARGON2_MIN(GRUB_UINT32_C(32), (sizeof(void *) * GRUB_CHAR_BIT - 10 - 1))
-+#define ARGON2_MAX_MEMORY \
-+ ARGON2_MIN(GRUB_UINT32_C(0xFFFFFFFF), GRUB_UINT64_C(1) << ARGON2_MAX_MEMORY_BITS)
-+
-+/* Minimum and maximum number of passes */
-+#define ARGON2_MIN_TIME GRUB_UINT32_C(1)
-+#define ARGON2_MAX_TIME GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum password length in bytes */
-+#define ARGON2_MIN_PWD_LENGTH GRUB_UINT32_C(0)
-+#define ARGON2_MAX_PWD_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum associated data length in bytes */
-+#define ARGON2_MIN_AD_LENGTH GRUB_UINT32_C(0)
-+#define ARGON2_MAX_AD_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum salt length in bytes */
-+#define ARGON2_MIN_SALT_LENGTH GRUB_UINT32_C(8)
-+#define ARGON2_MAX_SALT_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum key length in bytes */
-+#define ARGON2_MIN_SECRET GRUB_UINT32_C(0)
-+#define ARGON2_MAX_SECRET GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Flags to determine which fields are securely wiped (default = no wipe). */
-+#define ARGON2_DEFAULT_FLAGS GRUB_UINT32_C(0)
-+#define ARGON2_FLAG_CLEAR_PASSWORD (GRUB_UINT32_C(1) << 0)
-+#define ARGON2_FLAG_CLEAR_SECRET (GRUB_UINT32_C(1) << 1)
-+
-+/* Global flag to determine if we are wiping internal memory buffers. This flag
-+ * is defined in core.c and defaults to 1 (wipe internal memory). */
-+extern int FLAG_clear_internal_memory;
-+
-+/* Error codes */
-+typedef enum Argon2_ErrorCodes {
-+ ARGON2_OK = 0,
-+
-+ ARGON2_OUTPUT_PTR_NULL = -1,
-+
-+ ARGON2_OUTPUT_TOO_SHORT = -2,
-+ ARGON2_OUTPUT_TOO_LONG = -3,
-+
-+ ARGON2_PWD_TOO_SHORT = -4,
-+ ARGON2_PWD_TOO_LONG = -5,
-+
-+ ARGON2_SALT_TOO_SHORT = -6,
-+ ARGON2_SALT_TOO_LONG = -7,
-+
-+ ARGON2_AD_TOO_SHORT = -8,
-+ ARGON2_AD_TOO_LONG = -9,
-+
-+ ARGON2_SECRET_TOO_SHORT = -10,
-+ ARGON2_SECRET_TOO_LONG = -11,
-+
-+ ARGON2_TIME_TOO_SMALL = -12,
-+ ARGON2_TIME_TOO_LARGE = -13,
-+
-+ ARGON2_MEMORY_TOO_LITTLE = -14,
-+ ARGON2_MEMORY_TOO_MUCH = -15,
-+
-+ ARGON2_LANES_TOO_FEW = -16,
-+ ARGON2_LANES_TOO_MANY = -17,
-+
-+ ARGON2_PWD_PTR_MISMATCH = -18, /* NULL ptr with non-zero length */
-+ ARGON2_SALT_PTR_MISMATCH = -19, /* NULL ptr with non-zero length */
-+ ARGON2_SECRET_PTR_MISMATCH = -20, /* NULL ptr with non-zero length */
-+ ARGON2_AD_PTR_MISMATCH = -21, /* NULL ptr with non-zero length */
-+
-+ ARGON2_MEMORY_ALLOCATION_ERROR = -22,
-+
-+ ARGON2_FREE_MEMORY_CBK_NULL = -23,
-+ ARGON2_ALLOCATE_MEMORY_CBK_NULL = -24,
-+
-+ ARGON2_INCORRECT_PARAMETER = -25,
-+ ARGON2_INCORRECT_TYPE = -26,
-+
-+ ARGON2_OUT_PTR_MISMATCH = -27,
-+
-+ ARGON2_THREADS_TOO_FEW = -28,
-+ ARGON2_THREADS_TOO_MANY = -29,
-+
-+ ARGON2_MISSING_ARGS = -30,
-+
-+ ARGON2_ENCODING_FAIL = -31,
-+
-+ ARGON2_DECODING_FAIL = -32,
-+
-+ ARGON2_THREAD_FAIL = -33,
-+
-+ ARGON2_DECODING_LENGTH_FAIL = -34,
-+
-+ ARGON2_VERIFY_MISMATCH = -35
-+} argon2_error_codes;
-+
-+/* Memory allocator types --- for external allocation */
-+typedef int (*allocate_fptr)(grub_uint8_t **memory, grub_size_t bytes_to_allocate);
-+typedef void (*deallocate_fptr)(grub_uint8_t *memory, grub_size_t bytes_to_allocate);
-+
-+/* Argon2 external data structures */
-+
-+/*
-+ *****
-+ * Context: structure to hold Argon2 inputs:
-+ * output array and its length,
-+ * password and its length,
-+ * salt and its length,
-+ * secret and its length,
-+ * associated data and its length,
-+ * number of passes, amount of used memory (in KBytes, can be rounded up a bit)
-+ * number of parallel threads that will be run.
-+ * All the parameters above affect the output hash value.
-+ * Additionally, two function pointers can be provided to allocate and
-+ * deallocate the memory (if NULL, memory will be allocated internally).
-+ * Also, three flags indicate whether to erase password, secret as soon as they
-+ * are pre-hashed (and thus not needed anymore), and the entire memory
-+ *****
-+ * Simplest situation: you have output array out[8], password is stored in
-+ * pwd[32], salt is stored in salt[16], you do not have keys nor associated
-+ * data. You need to spend 1 GB of RAM and you run 5 passes of Argon2d with
-+ * 4 parallel lanes.
-+ * You want to erase the password, but you're OK with last pass not being
-+ * erased. You want to use the default memory allocator.
-+ * Then you initialize:
-+ Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false)
-+ */
-+typedef struct Argon2_Context {
-+ grub_uint8_t *out; /* output array */
-+ grub_uint32_t outlen; /* digest length */
-+
-+ grub_uint8_t *pwd; /* password array */
-+ grub_uint32_t pwdlen; /* password length */
-+
-+ grub_uint8_t *salt; /* salt array */
-+ grub_uint32_t saltlen; /* salt length */
-+
-+ grub_uint8_t *secret; /* key array */
-+ grub_uint32_t secretlen; /* key length */
-+
-+ grub_uint8_t *ad; /* associated data array */
-+ grub_uint32_t adlen; /* associated data length */
-+
-+ grub_uint32_t t_cost; /* number of passes */
-+ grub_uint32_t m_cost; /* amount of memory requested (KB) */
-+ grub_uint32_t lanes; /* number of lanes */
-+ grub_uint32_t threads; /* maximum number of threads */
-+
-+ grub_uint32_t version; /* version number */
-+
-+ allocate_fptr allocate_cbk; /* pointer to memory allocator */
-+ deallocate_fptr grub_free_cbk; /* pointer to memory deallocator */
-+
-+ grub_uint32_t flags; /* array of bool options */
-+} argon2_context;
-+
-+/* Argon2 primitive type */
-+typedef enum Argon2_type {
-+ Argon2_d = 0,
-+ Argon2_i = 1,
-+ Argon2_id = 2
-+} argon2_type;
-+
-+/* Version of the algorithm */
-+typedef enum Argon2_version {
-+ ARGON2_VERSION_10 = 0x10,
-+ ARGON2_VERSION_13 = 0x13,
-+ ARGON2_VERSION_NUMBER = ARGON2_VERSION_13
-+} argon2_version;
-+
-+/**
-+ * Hashes a password with Argon2, producing a raw hash at @hash
-+ * @param t_cost Number of iterations
-+ * @param m_cost Sets memory usage to m_cost kibibytes
-+ * @param parallelism Number of threads and compute lanes
-+ * @param pwd Pointer to password
-+ * @param pwdlen Password size in bytes
-+ * @param salt Pointer to salt
-+ * @param saltlen Salt size in bytes
-+ * @param hash Buffer where to write the raw hash - updated by the function
-+ * @param hashlen Desired length of the hash in bytes
-+ * @pre Different parallelism levels will give different results
-+ * @pre Returns ARGON2_OK if successful
-+ */
-+ARGON2_PUBLIC int argon2_hash(const grub_uint32_t t_cost, const grub_uint32_t m_cost,
-+ const grub_uint32_t parallelism, const void *pwd,
-+ const grub_size_t pwdlen, const void *salt,
-+ const grub_size_t saltlen, void *hash,
-+ const grub_size_t hashlen, argon2_type type,
-+ const grub_uint32_t version);
-+
-+/**
-+ * Get the associated error message for given error code
-+ * @return The error message associated with the given error code
-+ */
-+ARGON2_PUBLIC const char *argon2_error_message(int error_code);
-+
-+#if defined(__cplusplus)
-+}
-+#endif
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2-impl.h b/grub-core/lib/argon2/blake2/blake2-impl.h
-new file mode 100644
-index 000000000..3a795680b
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2-impl.h
-@@ -0,0 +1,151 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef PORTABLE_BLAKE2_IMPL_H
-+#define PORTABLE_BLAKE2_IMPL_H
-+
-+#if defined(_MSC_VER)
-+#define BLAKE2_INLINE __inline
-+#elif defined(__GNUC__) || defined(__clang__)
-+#define BLAKE2_INLINE __inline__
-+#else
-+#define BLAKE2_INLINE
-+#endif
-+
-+/* Argon2 Team - Begin Code */
-+/*
-+ Not an exhaustive list, but should cover the majority of modern platforms
-+ Additionally, the code will always be correct---this is only a performance
-+ tweak.
-+*/
-+#if (defined(__BYTE_ORDER__) && \
-+ (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) || \
-+ defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || defined(__MIPSEL__) || \
-+ defined(__AARCH64EL__) || defined(__amd64__) || defined(__i386__) || \
-+ defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \
-+ defined(_M_ARM)
-+#define NATIVE_LITTLE_ENDIAN
-+#endif
-+/* Argon2 Team - End Code */
-+
-+static BLAKE2_INLINE grub_uint32_t load32(const void *src) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_uint32_t w;
-+ grub_memcpy(&w, src, sizeof w);
-+ return w;
-+#else
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint32_t w = *p++;
-+ w |= (grub_uint32_t)(*p++) << 8;
-+ w |= (grub_uint32_t)(*p++) << 16;
-+ w |= (grub_uint32_t)(*p++) << 24;
-+ return w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t load64(const void *src) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_uint64_t w;
-+ grub_memcpy(&w, src, sizeof w);
-+ return w;
-+#else
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint64_t w = *p++;
-+ w |= (grub_uint64_t)(*p++) << 8;
-+ w |= (grub_uint64_t)(*p++) << 16;
-+ w |= (grub_uint64_t)(*p++) << 24;
-+ w |= (grub_uint64_t)(*p++) << 32;
-+ w |= (grub_uint64_t)(*p++) << 40;
-+ w |= (grub_uint64_t)(*p++) << 48;
-+ w |= (grub_uint64_t)(*p++) << 56;
-+ return w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE void store32(void *dst, grub_uint32_t w) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_memcpy(dst, &w, sizeof w);
-+#else
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE void store64(void *dst, grub_uint64_t w) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_memcpy(dst, &w, sizeof w);
-+#else
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t load48(const void *src) {
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint64_t w = *p++;
-+ w |= (grub_uint64_t)(*p++) << 8;
-+ w |= (grub_uint64_t)(*p++) << 16;
-+ w |= (grub_uint64_t)(*p++) << 24;
-+ w |= (grub_uint64_t)(*p++) << 32;
-+ w |= (grub_uint64_t)(*p++) << 40;
-+ return w;
-+}
-+
-+static BLAKE2_INLINE void store48(void *dst, grub_uint64_t w) {
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+}
-+
-+static BLAKE2_INLINE grub_uint32_t rotr32(const grub_uint32_t w, const unsigned c) {
-+ return (w >> c) | (w << (32 - c));
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t rotr64(const grub_uint64_t w, const unsigned c) {
-+ return (w >> c) | (w << (64 - c));
-+}
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2.h b/grub-core/lib/argon2/blake2/blake2.h
-new file mode 100644
-index 000000000..4e8efeb22
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2.h
-@@ -0,0 +1,89 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef PORTABLE_BLAKE2_H
-+#define PORTABLE_BLAKE2_H
-+
-+#include "../argon2.h"
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+enum blake2b_constant {
-+ BLAKE2B_BLOCKBYTES = 128,
-+ BLAKE2B_OUTBYTES = 64,
-+ BLAKE2B_KEYBYTES = 64,
-+ BLAKE2B_SALTBYTES = 16,
-+ BLAKE2B_PERSONALBYTES = 16
-+};
-+
-+#pragma pack(push, 1)
-+typedef struct __blake2b_param {
-+ grub_uint8_t digest_length; /* 1 */
-+ grub_uint8_t key_length; /* 2 */
-+ grub_uint8_t fanout; /* 3 */
-+ grub_uint8_t depth; /* 4 */
-+ grub_uint32_t leaf_length; /* 8 */
-+ grub_uint64_t node_offset; /* 16 */
-+ grub_uint8_t node_depth; /* 17 */
-+ grub_uint8_t inner_length; /* 18 */
-+ grub_uint8_t reserved[14]; /* 32 */
-+ grub_uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */
-+ grub_uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */
-+} blake2b_param;
-+#pragma pack(pop)
-+
-+typedef struct __blake2b_state {
-+ grub_uint64_t h[8];
-+ grub_uint64_t t[2];
-+ grub_uint64_t f[2];
-+ grub_uint8_t buf[BLAKE2B_BLOCKBYTES];
-+ unsigned buflen;
-+ unsigned outlen;
-+ grub_uint8_t last_node;
-+} blake2b_state;
-+
-+/* Ensure param structs have not been wrongly padded */
-+/* Poor man's static_assert */
-+enum {
-+ blake2_size_check_0 = 1 / !!(GRUB_CHAR_BIT == 8),
-+ blake2_size_check_2 =
-+ 1 / !!(sizeof(blake2b_param) == sizeof(grub_uint64_t) * GRUB_CHAR_BIT)
-+};
-+
-+/* Streaming API */
-+ARGON2_LOCAL int blake2b_init(blake2b_state *S, grub_size_t outlen);
-+ARGON2_LOCAL int blake2b_init_key(blake2b_state *S, grub_size_t outlen, const void *key,
-+ grub_size_t keylen);
-+ARGON2_LOCAL int blake2b_init_param(blake2b_state *S, const blake2b_param *P);
-+ARGON2_LOCAL int blake2b_update(blake2b_state *S, const void *in, grub_size_t inlen);
-+ARGON2_LOCAL int blake2b_final(blake2b_state *S, void *out, grub_size_t outlen);
-+
-+/* Simple API */
-+ARGON2_LOCAL int blake2b(void *out, grub_size_t outlen, const void *in, grub_size_t inlen,
-+ const void *key, grub_size_t keylen);
-+
-+/* Argon2 Team - Begin Code */
-+ARGON2_LOCAL int blake2b_long(void *out, grub_size_t outlen, const void *in, grub_size_t inlen);
-+/* Argon2 Team - End Code */
-+
-+#if defined(__cplusplus)
-+}
-+#endif
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2b.c b/grub-core/lib/argon2/blake2/blake2b.c
-new file mode 100644
-index 000000000..53abd7bef
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2b.c
-@@ -0,0 +1,388 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include "blake2.h"
-+#include "blake2-impl.h"
-+
-+static const grub_uint64_t blake2b_IV[8] = {
-+ GRUB_UINT64_C(0x6a09e667f3bcc908), GRUB_UINT64_C(0xbb67ae8584caa73b),
-+ GRUB_UINT64_C(0x3c6ef372fe94f82b), GRUB_UINT64_C(0xa54ff53a5f1d36f1),
-+ GRUB_UINT64_C(0x510e527fade682d1), GRUB_UINT64_C(0x9b05688c2b3e6c1f),
-+ GRUB_UINT64_C(0x1f83d9abfb41bd6b), GRUB_UINT64_C(0x5be0cd19137e2179)};
-+
-+static const unsigned int blake2b_sigma[12][16] = {
-+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
-+ {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
-+ {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4},
-+ {7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8},
-+ {9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13},
-+ {2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9},
-+ {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11},
-+ {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10},
-+ {6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5},
-+ {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0},
-+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
-+ {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
-+};
-+
-+void clear_internal_memory(void *v, grub_size_t n);
-+
-+static BLAKE2_INLINE void blake2b_set_lastnode(blake2b_state *S) {
-+ S->f[1] = (grub_uint64_t)-1;
-+}
-+
-+static BLAKE2_INLINE void blake2b_set_lastblock(blake2b_state *S) {
-+ if (S->last_node) {
-+ blake2b_set_lastnode(S);
-+ }
-+ S->f[0] = (grub_uint64_t)-1;
-+}
-+
-+static BLAKE2_INLINE void blake2b_increment_counter(blake2b_state *S,
-+ grub_uint64_t inc) {
-+ S->t[0] += inc;
-+ S->t[1] += (S->t[0] < inc);
-+}
-+
-+static BLAKE2_INLINE void blake2b_invalidate_state(blake2b_state *S) {
-+ clear_internal_memory(S, sizeof(*S)); /* wipe */
-+ blake2b_set_lastblock(S); /* invalidate for further use */
-+}
-+
-+static BLAKE2_INLINE void blake2b_init0(blake2b_state *S) {
-+ grub_memset(S, 0, sizeof(*S));
-+ grub_memcpy(S->h, blake2b_IV, sizeof(S->h));
-+}
-+
-+int blake2b_init_param(blake2b_state *S, const blake2b_param *P) {
-+ const unsigned char *p = (const unsigned char *)P;
-+ unsigned int i;
-+
-+ if (NULL == P || NULL == S) {
-+ return -1;
-+ }
-+
-+ blake2b_init0(S);
-+ /* IV XOR Parameter Block */
-+ for (i = 0; i < 8; ++i) {
-+ S->h[i] ^= load64(&p[i * sizeof(S->h[i])]);
-+ }
-+ S->outlen = P->digest_length;
-+ return 0;
-+}
-+
-+/* Sequential blake2b initialization */
-+int blake2b_init(blake2b_state *S, grub_size_t outlen) {
-+ blake2b_param P;
-+
-+ if (S == NULL) {
-+ return -1;
-+ }
-+
-+ if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ /* Setup Parameter Block for unkeyed BLAKE2 */
-+ P.digest_length = (grub_uint8_t)outlen;
-+ P.key_length = 0;
-+ P.fanout = 1;
-+ P.depth = 1;
-+ P.leaf_length = 0;
-+ P.node_offset = 0;
-+ P.node_depth = 0;
-+ P.inner_length = 0;
-+ grub_memset(P.reserved, 0, sizeof(P.reserved));
-+ grub_memset(P.salt, 0, sizeof(P.salt));
-+ grub_memset(P.personal, 0, sizeof(P.personal));
-+
-+ return blake2b_init_param(S, &P);
-+}
-+
-+int blake2b_init_key(blake2b_state *S, grub_size_t outlen, const void *key,
-+ grub_size_t keylen) {
-+ blake2b_param P;
-+
-+ if (S == NULL) {
-+ return -1;
-+ }
-+
-+ if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ if ((key == 0) || (keylen == 0) || (keylen > BLAKE2B_KEYBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ /* Setup Parameter Block for keyed BLAKE2 */
-+ P.digest_length = (grub_uint8_t)outlen;
-+ P.key_length = (grub_uint8_t)keylen;
-+ P.fanout = 1;
-+ P.depth = 1;
-+ P.leaf_length = 0;
-+ P.node_offset = 0;
-+ P.node_depth = 0;
-+ P.inner_length = 0;
-+ grub_memset(P.reserved, 0, sizeof(P.reserved));
-+ grub_memset(P.salt, 0, sizeof(P.salt));
-+ grub_memset(P.personal, 0, sizeof(P.personal));
-+
-+ if (blake2b_init_param(S, &P) < 0) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ {
-+ grub_uint8_t block[BLAKE2B_BLOCKBYTES];
-+ grub_memset(block, 0, BLAKE2B_BLOCKBYTES);
-+ grub_memcpy(block, key, keylen);
-+ blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
-+ /* Burn the key from stack */
-+ clear_internal_memory(block, BLAKE2B_BLOCKBYTES);
-+ }
-+ return 0;
-+}
-+
-+static void blake2b_compress(blake2b_state *S, const grub_uint8_t *block) {
-+ grub_uint64_t m[16];
-+ grub_uint64_t v[16];
-+ unsigned int i, r;
-+
-+ for (i = 0; i < 16; ++i) {
-+ m[i] = load64(block + i * sizeof(m[i]));
-+ }
-+
-+ for (i = 0; i < 8; ++i) {
-+ v[i] = S->h[i];
-+ }
-+
-+ v[8] = blake2b_IV[0];
-+ v[9] = blake2b_IV[1];
-+ v[10] = blake2b_IV[2];
-+ v[11] = blake2b_IV[3];
-+ v[12] = blake2b_IV[4] ^ S->t[0];
-+ v[13] = blake2b_IV[5] ^ S->t[1];
-+ v[14] = blake2b_IV[6] ^ S->f[0];
-+ v[15] = blake2b_IV[7] ^ S->f[1];
-+
-+#define G(r, i, a, b, c, d) \
-+ do { \
-+ a = a + b + m[blake2b_sigma[r][2 * i + 0]]; \
-+ d = rotr64(d ^ a, 32); \
-+ c = c + d; \
-+ b = rotr64(b ^ c, 24); \
-+ a = a + b + m[blake2b_sigma[r][2 * i + 1]]; \
-+ d = rotr64(d ^ a, 16); \
-+ c = c + d; \
-+ b = rotr64(b ^ c, 63); \
-+ } while ((void)0, 0)
-+
-+#define ROUND(r) \
-+ do { \
-+ G(r, 0, v[0], v[4], v[8], v[12]); \
-+ G(r, 1, v[1], v[5], v[9], v[13]); \
-+ G(r, 2, v[2], v[6], v[10], v[14]); \
-+ G(r, 3, v[3], v[7], v[11], v[15]); \
-+ G(r, 4, v[0], v[5], v[10], v[15]); \
-+ G(r, 5, v[1], v[6], v[11], v[12]); \
-+ G(r, 6, v[2], v[7], v[8], v[13]); \
-+ G(r, 7, v[3], v[4], v[9], v[14]); \
-+ } while ((void)0, 0)
-+
-+ for (r = 0; r < 12; ++r) {
-+ ROUND(r);
-+ }
-+
-+ for (i = 0; i < 8; ++i) {
-+ S->h[i] = S->h[i] ^ v[i] ^ v[i + 8];
-+ }
-+
-+#undef G
-+#undef ROUND
-+}
-+
-+int blake2b_update(blake2b_state *S, const void *in, grub_size_t inlen) {
-+ const grub_uint8_t *pin = (const grub_uint8_t *)in;
-+
-+ if (inlen == 0) {
-+ return 0;
-+ }
-+
-+ /* Sanity check */
-+ if (S == NULL || in == NULL) {
-+ return -1;
-+ }
-+
-+ /* Is this a reused state? */
-+ if (S->f[0] != 0) {
-+ return -1;
-+ }
-+
-+ if (S->buflen + inlen > BLAKE2B_BLOCKBYTES) {
-+ /* Complete current block */
-+ grub_size_t left = S->buflen;
-+ grub_size_t fill = BLAKE2B_BLOCKBYTES - left;
-+ grub_memcpy(&S->buf[left], pin, fill);
-+ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES);
-+ blake2b_compress(S, S->buf);
-+ S->buflen = 0;
-+ inlen -= fill;
-+ pin += fill;
-+ /* Avoid buffer copies when possible */
-+ while (inlen > BLAKE2B_BLOCKBYTES) {
-+ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES);
-+ blake2b_compress(S, pin);
-+ inlen -= BLAKE2B_BLOCKBYTES;
-+ pin += BLAKE2B_BLOCKBYTES;
-+ }
-+ }
-+ grub_memcpy(&S->buf[S->buflen], pin, inlen);
-+ S->buflen += (unsigned int)inlen;
-+ return 0;
-+}
-+
-+int blake2b_final(blake2b_state *S, void *out, grub_size_t outlen) {
-+ grub_uint8_t buffer[BLAKE2B_OUTBYTES] = {0};
-+ unsigned int i;
-+
-+ /* Sanity checks */
-+ if (S == NULL || out == NULL || outlen < S->outlen) {
-+ return -1;
-+ }
-+
-+ /* Is this a reused state? */
-+ if (S->f[0] != 0) {
-+ return -1;
-+ }
-+
-+ blake2b_increment_counter(S, S->buflen);
-+ blake2b_set_lastblock(S);
-+ grub_memset(&S->buf[S->buflen], 0, BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */
-+ blake2b_compress(S, S->buf);
-+
-+ for (i = 0; i < 8; ++i) { /* Output full hash to temp buffer */
-+ store64(buffer + sizeof(S->h[i]) * i, S->h[i]);
-+ }
-+
-+ grub_memcpy(out, buffer, S->outlen);
-+ clear_internal_memory(buffer, sizeof(buffer));
-+ clear_internal_memory(S->buf, sizeof(S->buf));
-+ clear_internal_memory(S->h, sizeof(S->h));
-+ return 0;
-+}
-+
-+int blake2b(void *out, grub_size_t outlen, const void *in, grub_size_t inlen,
-+ const void *key, grub_size_t keylen) {
-+ blake2b_state S;
-+ int ret = -1;
-+
-+ /* Verify parameters */
-+ if (NULL == in && inlen > 0) {
-+ goto fail;
-+ }
-+
-+ if (NULL == out || outlen == 0 || outlen > BLAKE2B_OUTBYTES) {
-+ goto fail;
-+ }
-+
-+ if ((NULL == key && keylen > 0) || keylen > BLAKE2B_KEYBYTES) {
-+ goto fail;
-+ }
-+
-+ if (keylen > 0) {
-+ if (blake2b_init_key(&S, outlen, key, keylen) < 0) {
-+ goto fail;
-+ }
-+ } else {
-+ if (blake2b_init(&S, outlen) < 0) {
-+ goto fail;
-+ }
-+ }
-+
-+ if (blake2b_update(&S, in, inlen) < 0) {
-+ goto fail;
-+ }
-+ ret = blake2b_final(&S, out, outlen);
-+
-+fail:
-+ clear_internal_memory(&S, sizeof(S));
-+ return ret;
-+}
-+
-+/* Argon2 Team - Begin Code */
-+int blake2b_long(void *pout, grub_size_t outlen, const void *in, grub_size_t inlen) {
-+ grub_uint8_t *out = (grub_uint8_t *)pout;
-+ blake2b_state blake_state;
-+ grub_uint8_t outlen_bytes[sizeof(grub_uint32_t)] = {0};
-+ int ret = -1;
-+
-+ if (outlen > GRUB_UINT32_MAX) {
-+ goto fail;
-+ }
-+
-+ /* Ensure little-endian byte order! */
-+ store32(outlen_bytes, (grub_uint32_t)outlen);
-+
-+#define TRY(statement) \
-+ do { \
-+ ret = statement; \
-+ if (ret < 0) { \
-+ goto fail; \
-+ } \
-+ } while ((void)0, 0)
-+
-+ if (outlen <= BLAKE2B_OUTBYTES) {
-+ TRY(blake2b_init(&blake_state, outlen));
-+ TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
-+ TRY(blake2b_update(&blake_state, in, inlen));
-+ TRY(blake2b_final(&blake_state, out, outlen));
-+ } else {
-+ grub_uint32_t toproduce;
-+ grub_uint8_t out_buffer[BLAKE2B_OUTBYTES];
-+ grub_uint8_t in_buffer[BLAKE2B_OUTBYTES];
-+ TRY(blake2b_init(&blake_state, BLAKE2B_OUTBYTES));
-+ TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
-+ TRY(blake2b_update(&blake_state, in, inlen));
-+ TRY(blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES));
-+ grub_memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
-+ out += BLAKE2B_OUTBYTES / 2;
-+ toproduce = (grub_uint32_t)outlen - BLAKE2B_OUTBYTES / 2;
-+
-+ while (toproduce > BLAKE2B_OUTBYTES) {
-+ grub_memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
-+ TRY(blake2b(out_buffer, BLAKE2B_OUTBYTES, in_buffer,
-+ BLAKE2B_OUTBYTES, NULL, 0));
-+ grub_memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
-+ out += BLAKE2B_OUTBYTES / 2;
-+ toproduce -= BLAKE2B_OUTBYTES / 2;
-+ }
-+
-+ grub_memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
-+ TRY(blake2b(out_buffer, toproduce, in_buffer, BLAKE2B_OUTBYTES, NULL,
-+ 0));
-+ grub_memcpy(out, out_buffer, toproduce);
-+ }
-+fail:
-+ clear_internal_memory(&blake_state, sizeof(blake_state));
-+ return ret;
-+#undef TRY
-+}
-+/* Argon2 Team - End Code */
-diff --git a/grub-core/lib/argon2/blake2/blamka-round-ref.h b/grub-core/lib/argon2/blake2/blamka-round-ref.h
-new file mode 100644
-index 000000000..7f0071ada
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blamka-round-ref.h
-@@ -0,0 +1,56 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef BLAKE_ROUND_MKA_H
-+#define BLAKE_ROUND_MKA_H
-+
-+#include "blake2.h"
-+#include "blake2-impl.h"
-+
-+/* designed by the Lyra PHC team */
-+static BLAKE2_INLINE grub_uint64_t fBlaMka(grub_uint64_t x, grub_uint64_t y) {
-+ const grub_uint64_t m = GRUB_UINT64_C(0xFFFFFFFF);
-+ const grub_uint64_t xy = (x & m) * (y & m);
-+ return x + y + 2 * xy;
-+}
-+
-+#define G(a, b, c, d) \
-+ do { \
-+ a = fBlaMka(a, b); \
-+ d = rotr64(d ^ a, 32); \
-+ c = fBlaMka(c, d); \
-+ b = rotr64(b ^ c, 24); \
-+ a = fBlaMka(a, b); \
-+ d = rotr64(d ^ a, 16); \
-+ c = fBlaMka(c, d); \
-+ b = rotr64(b ^ c, 63); \
-+ } while ((void)0, 0)
-+
-+#define BLAKE2_ROUND_NOMSG(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, \
-+ v12, v13, v14, v15) \
-+ do { \
-+ G(v0, v4, v8, v12); \
-+ G(v1, v5, v9, v13); \
-+ G(v2, v6, v10, v14); \
-+ G(v3, v7, v11, v15); \
-+ G(v0, v5, v10, v15); \
-+ G(v1, v6, v11, v12); \
-+ G(v2, v7, v8, v13); \
-+ G(v3, v4, v9, v14); \
-+ } while ((void)0, 0)
-+
-+#endif
-diff --git a/grub-core/lib/argon2/core.c b/grub-core/lib/argon2/core.c
-new file mode 100644
-index 000000000..0fe5b74cb
---- /dev/null
-+++ b/grub-core/lib/argon2/core.c
-@@ -0,0 +1,506 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+/*For memory wiping*/
-+#ifdef _MSC_VER
-+#include <windows.h>
-+#include <winbase.h> /* For SecureZeroMemory */
-+#endif
-+#if defined __STDC_LIB_EXT1__
-+#define __STDC_WANT_LIB_EXT1__ 1
-+#endif
-+#define VC_GE_2005(version) (version >= 1400)
-+
-+#include "core.h"
-+#include "blake2/blake2.h"
-+#include "blake2/blake2-impl.h"
-+
-+#ifdef GENKAT
-+#include "genkat.h"
-+#endif
-+
-+#if defined(__clang__)
-+#if __has_attribute(optnone)
-+#define NOT_OPTIMIZED __attribute__((optnone))
-+#endif
-+#elif defined(__GNUC__)
-+#define GCC_VERSION \
-+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-+#if GCC_VERSION >= 40400
-+#define NOT_OPTIMIZED __attribute__((optimize("O0")))
-+#endif
-+#endif
-+#ifndef NOT_OPTIMIZED
-+#define NOT_OPTIMIZED
-+#endif
-+
-+/***************Instance and Position constructors**********/
-+void init_block_value(block *b, grub_uint8_t in) { grub_memset(b->v, in, sizeof(b->v)); }
-+
-+void copy_block(block *dst, const block *src) {
-+ grub_memcpy(dst->v, src->v, sizeof(grub_uint64_t) * ARGON2_QWORDS_IN_BLOCK);
-+}
-+
-+void xor_block(block *dst, const block *src) {
-+ int i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ dst->v[i] ^= src->v[i];
-+ }
-+}
-+
-+static void load_block(block *dst, const void *input) {
-+ unsigned i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ dst->v[i] = load64((const grub_uint8_t *)input + i * sizeof(dst->v[i]));
-+ }
-+}
-+
-+static void store_block(void *output, const block *src) {
-+ unsigned i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ store64((grub_uint8_t *)output + i * sizeof(src->v[i]), src->v[i]);
-+ }
-+}
-+
-+/***************Memory functions*****************/
-+
-+int allocate_memory(const argon2_context *context, grub_uint8_t **memory,
-+ grub_size_t num, grub_size_t size) {
-+ grub_size_t memory_size = num*size;
-+ if (memory == NULL) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ /* 1. Check for multiplication overflow */
-+ if (size != 0 && memory_size / size != num) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ /* 2. Try to allocate with appropriate allocator */
-+ if (context->allocate_cbk) {
-+ (context->allocate_cbk)(memory, memory_size);
-+ } else {
-+ *memory = grub_malloc(memory_size);
-+ }
-+
-+ if (*memory == NULL) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ return ARGON2_OK;
-+}
-+
-+void grub_free_memory(const argon2_context *context, grub_uint8_t *memory,
-+ grub_size_t num, grub_size_t size) {
-+ grub_size_t memory_size = num*size;
-+ clear_internal_memory(memory, memory_size);
-+ if (context->grub_free_cbk) {
-+ (context->grub_free_cbk)(memory, memory_size);
-+ } else {
-+ grub_free(memory);
-+ }
-+}
-+
-+void NOT_OPTIMIZED secure_wipe_memory(void *v, grub_size_t n) {
-+ static void *(*const volatile grub_memset_sec)(void *, int, grub_size_t) = &grub_memset;
-+ grub_memset_sec(v, 0, n);
-+}
-+
-+/* Memory clear flag defaults to true. */
-+int FLAG_clear_internal_memory = 1;
-+void clear_internal_memory(void *v, grub_size_t n) {
-+ if (FLAG_clear_internal_memory && v) {
-+ secure_wipe_memory(v, n);
-+ }
-+}
-+
-+void finalize(const argon2_context *context, argon2_instance_t *instance) {
-+ if (context != NULL && instance != NULL) {
-+ block blockhash;
-+ grub_uint32_t l;
-+
-+ copy_block(&blockhash, instance->memory + instance->lane_length - 1);
-+
-+ /* XOR the last blocks */
-+ for (l = 1; l < instance->lanes; ++l) {
-+ grub_uint32_t last_block_in_lane =
-+ l * instance->lane_length + (instance->lane_length - 1);
-+ xor_block(&blockhash, instance->memory + last_block_in_lane);
-+ }
-+
-+ /* Hash the result */
-+ {
-+ grub_uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE];
-+ store_block(blockhash_bytes, &blockhash);
-+ blake2b_long(context->out, context->outlen, blockhash_bytes,
-+ ARGON2_BLOCK_SIZE);
-+ /* clear blockhash and blockhash_bytes */
-+ clear_internal_memory(blockhash.v, ARGON2_BLOCK_SIZE);
-+ clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE);
-+ }
-+
-+#ifdef GENKAT
-+ print_tag(context->out, context->outlen);
-+#endif
-+
-+ grub_free_memory(context, (grub_uint8_t *)instance->memory,
-+ instance->memory_blocks, sizeof(block));
-+ }
-+}
-+
-+grub_uint32_t index_alpha(const argon2_instance_t *instance,
-+ const argon2_position_t *position, grub_uint32_t pseudo_rand,
-+ int same_lane) {
-+ /*
-+ * Pass 0:
-+ * This lane : all already finished segments plus already constructed
-+ * blocks in this segment
-+ * Other lanes : all already finished segments
-+ * Pass 1+:
-+ * This lane : (SYNC_POINTS - 1) last segments plus already constructed
-+ * blocks in this segment
-+ * Other lanes : (SYNC_POINTS - 1) last segments
-+ */
-+ grub_uint32_t reference_area_size;
-+ grub_uint64_t relative_position;
-+ grub_uint64_t start_position, absolute_position;
-+
-+ if (0 == position->pass) {
-+ /* First pass */
-+ if (0 == position->slice) {
-+ /* First slice */
-+ reference_area_size =
-+ position->index - 1; /* all but the previous */
-+ } else {
-+ if (same_lane) {
-+ /* The same lane => add current segment */
-+ reference_area_size =
-+ position->slice * instance->segment_length +
-+ position->index - 1;
-+ } else {
-+ reference_area_size =
-+ position->slice * instance->segment_length +
-+ ((position->index == 0) ? (-1) : 0);
-+ }
-+ }
-+ } else {
-+ /* Second pass */
-+ if (same_lane) {
-+ reference_area_size = instance->lane_length -
-+ instance->segment_length + position->index -
-+ 1;
-+ } else {
-+ reference_area_size = instance->lane_length -
-+ instance->segment_length +
-+ ((position->index == 0) ? (-1) : 0);
-+ }
-+ }
-+
-+ /* 1.2.4. Mapping pseudo_rand to 0..<reference_area_size-1> and produce
-+ * relative position */
-+ relative_position = pseudo_rand;
-+ relative_position = relative_position * relative_position >> 32;
-+ relative_position = reference_area_size - 1 -
-+ (reference_area_size * relative_position >> 32);
-+
-+ /* 1.2.5 Computing starting position */
-+ start_position = 0;
-+
-+ if (0 != position->pass) {
-+ start_position = (position->slice == ARGON2_SYNC_POINTS - 1)
-+ ? 0
-+ : (position->slice + 1) * instance->segment_length;
-+ }
-+
-+ /* 1.2.6. Computing absolute position */
-+ grub_divmod64 (start_position + relative_position, instance->lane_length,
-+ &absolute_position); /* absolute position */
-+ return absolute_position;
-+}
-+
-+/* Single-threaded version for p=1 case */
-+static int fill_memory_blocks_st(argon2_instance_t *instance) {
-+ grub_uint32_t r, s, l;
-+
-+ for (r = 0; r < instance->passes; ++r) {
-+ for (s = 0; s < ARGON2_SYNC_POINTS; ++s) {
-+ for (l = 0; l < instance->lanes; ++l) {
-+ argon2_position_t position = {r, l, (grub_uint8_t)s, 0};
-+ fill_segment(instance, position);
-+ }
-+ }
-+#ifdef GENKAT
-+ internal_kat(instance, r); /* Print all memory blocks */
-+#endif
-+ }
-+ return ARGON2_OK;
-+}
-+
-+int fill_memory_blocks(argon2_instance_t *instance) {
-+ if (instance == NULL || instance->lanes == 0) {
-+ return ARGON2_INCORRECT_PARAMETER;
-+ }
-+ return fill_memory_blocks_st(instance);
-+}
-+
-+int validate_inputs(const argon2_context *context) {
-+ if (NULL == context) {
-+ return ARGON2_INCORRECT_PARAMETER;
-+ }
-+
-+ if (NULL == context->out) {
-+ return ARGON2_OUTPUT_PTR_NULL;
-+ }
-+
-+ /* Validate output length */
-+ if (ARGON2_MIN_OUTLEN > context->outlen) {
-+ return ARGON2_OUTPUT_TOO_SHORT;
-+ }
-+
-+ if (ARGON2_MAX_OUTLEN < context->outlen) {
-+ return ARGON2_OUTPUT_TOO_LONG;
-+ }
-+
-+ /* Validate password (required param) */
-+ if (NULL == context->pwd) {
-+ if (0 != context->pwdlen) {
-+ return ARGON2_PWD_PTR_MISMATCH;
-+ }
-+ }
-+
-+ if (ARGON2_MAX_PWD_LENGTH < context->pwdlen) {
-+ return ARGON2_PWD_TOO_LONG;
-+ }
-+
-+ /* Validate salt (required param) */
-+ if (NULL == context->salt) {
-+ if (0 != context->saltlen) {
-+ return ARGON2_SALT_PTR_MISMATCH;
-+ }
-+ }
-+
-+ if (ARGON2_MIN_SALT_LENGTH > context->saltlen) {
-+ return ARGON2_SALT_TOO_SHORT;
-+ }
-+
-+ if (ARGON2_MAX_SALT_LENGTH < context->saltlen) {
-+ return ARGON2_SALT_TOO_LONG;
-+ }
-+
-+ /* Validate secret (optional param) */
-+ if (NULL == context->secret) {
-+ if (0 != context->secretlen) {
-+ return ARGON2_SECRET_PTR_MISMATCH;
-+ }
-+ } else {
-+ if (ARGON2_MAX_SECRET < context->secretlen) {
-+ return ARGON2_SECRET_TOO_LONG;
-+ }
-+ }
-+
-+ /* Validate associated data (optional param) */
-+ if (NULL == context->ad) {
-+ if (0 != context->adlen) {
-+ return ARGON2_AD_PTR_MISMATCH;
-+ }
-+ } else {
-+ if (ARGON2_MAX_AD_LENGTH < context->adlen) {
-+ return ARGON2_AD_TOO_LONG;
-+ }
-+ }
-+
-+ /* Validate memory cost */
-+ if (ARGON2_MIN_MEMORY > context->m_cost) {
-+ return ARGON2_MEMORY_TOO_LITTLE;
-+ }
-+
-+ if (context->m_cost < 8 * context->lanes) {
-+ return ARGON2_MEMORY_TOO_LITTLE;
-+ }
-+
-+ /* Validate time cost */
-+ if (ARGON2_MIN_TIME > context->t_cost) {
-+ return ARGON2_TIME_TOO_SMALL;
-+ }
-+
-+ if (ARGON2_MAX_TIME < context->t_cost) {
-+ return ARGON2_TIME_TOO_LARGE;
-+ }
-+
-+ /* Validate lanes */
-+ if (ARGON2_MIN_LANES > context->lanes) {
-+ return ARGON2_LANES_TOO_FEW;
-+ }
-+
-+ if (ARGON2_MAX_LANES < context->lanes) {
-+ return ARGON2_LANES_TOO_MANY;
-+ }
-+
-+ /* Validate threads */
-+ if (ARGON2_MIN_THREADS > context->threads) {
-+ return ARGON2_THREADS_TOO_FEW;
-+ }
-+
-+ if (ARGON2_MAX_THREADS < context->threads) {
-+ return ARGON2_THREADS_TOO_MANY;
-+ }
-+
-+ if (NULL != context->allocate_cbk && NULL == context->grub_free_cbk) {
-+ return ARGON2_FREE_MEMORY_CBK_NULL;
-+ }
-+
-+ if (NULL == context->allocate_cbk && NULL != context->grub_free_cbk) {
-+ return ARGON2_ALLOCATE_MEMORY_CBK_NULL;
-+ }
-+
-+ return ARGON2_OK;
-+}
-+
-+void fill_first_blocks(grub_uint8_t *blockhash, const argon2_instance_t *instance) {
-+ grub_uint32_t l;
-+ /* Make the first and second block in each lane as G(H0||0||i) or
-+ G(H0||1||i) */
-+ grub_uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE];
-+ for (l = 0; l < instance->lanes; ++l) {
-+
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 0);
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH + 4, l);
-+ blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash,
-+ ARGON2_PREHASH_SEED_LENGTH);
-+ load_block(&instance->memory[l * instance->lane_length + 0],
-+ blockhash_bytes);
-+
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 1);
-+ blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash,
-+ ARGON2_PREHASH_SEED_LENGTH);
-+ load_block(&instance->memory[l * instance->lane_length + 1],
-+ blockhash_bytes);
-+ }
-+ clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE);
-+}
-+
-+void initial_hash(grub_uint8_t *blockhash, argon2_context *context,
-+ argon2_type type) {
-+ blake2b_state BlakeHash;
-+ grub_uint8_t value[sizeof(grub_uint32_t)];
-+
-+ if (NULL == context || NULL == blockhash) {
-+ return;
-+ }
-+
-+ blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH);
-+
-+ store32(&value, context->lanes);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->outlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->m_cost);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->t_cost);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->version);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, (grub_uint32_t)type);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->pwdlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->pwd != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->pwd,
-+ context->pwdlen);
-+
-+ if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) {
-+ secure_wipe_memory(context->pwd, context->pwdlen);
-+ context->pwdlen = 0;
-+ }
-+ }
-+
-+ store32(&value, context->saltlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->salt != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->salt,
-+ context->saltlen);
-+ }
-+
-+ store32(&value, context->secretlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->secret != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->secret,
-+ context->secretlen);
-+
-+ if (context->flags & ARGON2_FLAG_CLEAR_SECRET) {
-+ secure_wipe_memory(context->secret, context->secretlen);
-+ context->secretlen = 0;
-+ }
-+ }
-+
-+ store32(&value, context->adlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->ad != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->ad,
-+ context->adlen);
-+ }
-+
-+ blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH);
-+}
-+
-+int initialize(argon2_instance_t *instance, argon2_context *context) {
-+ grub_uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH];
-+ int result = ARGON2_OK;
-+
-+ if (instance == NULL || context == NULL)
-+ return ARGON2_INCORRECT_PARAMETER;
-+ instance->context_ptr = context;
-+
-+ /* 1. Memory allocation */
-+ result = allocate_memory(context, (grub_uint8_t **)&(instance->memory),
-+ instance->memory_blocks, sizeof(block));
-+ if (result != ARGON2_OK) {
-+ return result;
-+ }
-+
-+ /* 2. Initial hashing */
-+ /* H_0 + 8 extra bytes to produce the first blocks */
-+ /* grub_uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; */
-+ /* Hashing all inputs */
-+ initial_hash(blockhash, context, instance->type);
-+ /* Zeroing 8 extra bytes */
-+ clear_internal_memory(blockhash + ARGON2_PREHASH_DIGEST_LENGTH,
-+ ARGON2_PREHASH_SEED_LENGTH -
-+ ARGON2_PREHASH_DIGEST_LENGTH);
-+
-+#ifdef GENKAT
-+ initial_kat(blockhash, context, instance->type);
-+#endif
-+
-+ /* 3. Creating first blocks, we always have at least two blocks in a slice
-+ */
-+ fill_first_blocks(blockhash, instance);
-+ /* Clearing the hash */
-+ clear_internal_memory(blockhash, ARGON2_PREHASH_SEED_LENGTH);
-+
-+ return ARGON2_OK;
-+}
-diff --git a/grub-core/lib/argon2/core.h b/grub-core/lib/argon2/core.h
-new file mode 100644
-index 000000000..bbcd56998
---- /dev/null
-+++ b/grub-core/lib/argon2/core.h
-@@ -0,0 +1,228 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef ARGON2_CORE_H
-+#define ARGON2_CORE_H
-+
-+#include "argon2.h"
-+
-+#define CONST_CAST(x) (x)(grub_addr_t)
-+
-+/**********************Argon2 internal constants*******************************/
-+
-+enum argon2_core_constants {
-+ /* Memory block size in bytes */
-+ ARGON2_BLOCK_SIZE = 1024,
-+ ARGON2_QWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 8,
-+ ARGON2_OWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 16,
-+ ARGON2_HWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 32,
-+ ARGON2_512BIT_WORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 64,
-+
-+ /* Number of pseudo-random values generated by one call to Blake in Argon2i
-+ to
-+ generate reference block positions */
-+ ARGON2_ADDRESSES_IN_BLOCK = 128,
-+
-+ /* Pre-hashing digest length and its extension*/
-+ ARGON2_PREHASH_DIGEST_LENGTH = 64,
-+ ARGON2_PREHASH_SEED_LENGTH = 72
-+};
-+
-+/*************************Argon2 internal data types***********************/
-+
-+/*
-+ * Structure for the (1KB) memory block implemented as 128 64-bit words.
-+ * Memory blocks can be copied, XORed. Internal words can be accessed by [] (no
-+ * bounds checking).
-+ */
-+typedef struct block_ { grub_uint64_t v[ARGON2_QWORDS_IN_BLOCK]; } block;
-+
-+/*****************Functions that work with the block******************/
-+
-+/* Initialize each byte of the block with @in */
-+void init_block_value(block *b, grub_uint8_t in);
-+
-+/* Copy block @src to block @dst */
-+void copy_block(block *dst, const block *src);
-+
-+/* XOR @src onto @dst bytewise */
-+void xor_block(block *dst, const block *src);
-+
-+/*
-+ * Argon2 instance: memory pointer, number of passes, amount of memory, type,
-+ * and derived values.
-+ * Used to evaluate the number and location of blocks to construct in each
-+ * thread
-+ */
-+typedef struct Argon2_instance_t {
-+ block *memory; /* Memory pointer */
-+ grub_uint32_t version;
-+ grub_uint32_t passes; /* Number of passes */
-+ grub_uint32_t memory_blocks; /* Number of blocks in memory */
-+ grub_uint32_t segment_length;
-+ grub_uint32_t lane_length;
-+ grub_uint32_t lanes;
-+ grub_uint32_t threads;
-+ argon2_type type;
-+ int print_internals; /* whether to print the memory blocks */
-+ argon2_context *context_ptr; /* points back to original context */
-+} argon2_instance_t;
-+
-+/*
-+ * Argon2 position: where we construct the block right now. Used to distribute
-+ * work between threads.
-+ */
-+typedef struct Argon2_position_t {
-+ grub_uint32_t pass;
-+ grub_uint32_t lane;
-+ grub_uint8_t slice;
-+ grub_uint32_t index;
-+} argon2_position_t;
-+
-+/*Struct that holds the inputs for thread handling FillSegment*/
-+typedef struct Argon2_thread_data {
-+ argon2_instance_t *instance_ptr;
-+ argon2_position_t pos;
-+} argon2_thread_data;
-+
-+/*************************Argon2 core functions********************************/
-+
-+/* Allocates memory to the given pointer, uses the appropriate allocator as
-+ * specified in the context. Total allocated memory is num*size.
-+ * @param context argon2_context which specifies the allocator
-+ * @param memory pointer to the pointer to the memory
-+ * @param size the size in bytes for each element to be allocated
-+ * @param num the number of elements to be allocated
-+ * @return ARGON2_OK if @memory is a valid pointer and memory is allocated
-+ */
-+int allocate_memory(const argon2_context *context, grub_uint8_t **memory,
-+ grub_size_t num, grub_size_t size);
-+
-+/*
-+ * Frees memory at the given pointer, uses the appropriate deallocator as
-+ * specified in the context. Also cleans the memory using clear_internal_memory.
-+ * @param context argon2_context which specifies the deallocator
-+ * @param memory pointer to buffer to be grub_freed
-+ * @param size the size in bytes for each element to be deallocated
-+ * @param num the number of elements to be deallocated
-+ */
-+void grub_free_memory(const argon2_context *context, grub_uint8_t *memory,
-+ grub_size_t num, grub_size_t size);
-+
-+/* Function that securely cleans the memory. This ignores any flags set
-+ * regarding clearing memory. Usually one just calls clear_internal_memory.
-+ * @param mem Pointer to the memory
-+ * @param s Memory size in bytes
-+ */
-+void secure_wipe_memory(void *v, grub_size_t n);
-+
-+/* Function that securely clears the memory if FLAG_clear_internal_memory is
-+ * set. If the flag isn't set, this function does nothing.
-+ * @param mem Pointer to the memory
-+ * @param s Memory size in bytes
-+ */
-+void clear_internal_memory(void *v, grub_size_t n);
-+
-+/*
-+ * Computes absolute position of reference block in the lane following a skewed
-+ * distribution and using a pseudo-random value as input
-+ * @param instance Pointer to the current instance
-+ * @param position Pointer to the current position
-+ * @param pseudo_rand 32-bit pseudo-random value used to determine the position
-+ * @param same_lane Indicates if the block will be taken from the current lane.
-+ * If so we can reference the current segment
-+ * @pre All pointers must be valid
-+ */
-+grub_uint32_t index_alpha(const argon2_instance_t *instance,
-+ const argon2_position_t *position, grub_uint32_t pseudo_rand,
-+ int same_lane);
-+
-+/*
-+ * Function that validates all inputs against predefined restrictions and return
-+ * an error code
-+ * @param context Pointer to current Argon2 context
-+ * @return ARGON2_OK if everything is all right, otherwise one of error codes
-+ * (all defined in <argon2.h>
-+ */
-+int validate_inputs(const argon2_context *context);
-+
-+/*
-+ * Hashes all the inputs into @a blockhash[PREHASH_DIGEST_LENGTH], clears
-+ * password and secret if needed
-+ * @param context Pointer to the Argon2 internal structure containing memory
-+ * pointer, and parameters for time and space requirements.
-+ * @param blockhash Buffer for pre-hashing digest
-+ * @param type Argon2 type
-+ * @pre @a blockhash must have at least @a PREHASH_DIGEST_LENGTH bytes
-+ * allocated
-+ */
-+void initial_hash(grub_uint8_t *blockhash, argon2_context *context,
-+ argon2_type type);
-+
-+/*
-+ * Function creates first 2 blocks per lane
-+ * @param instance Pointer to the current instance
-+ * @param blockhash Pointer to the pre-hashing digest
-+ * @pre blockhash must point to @a PREHASH_SEED_LENGTH allocated values
-+ */
-+void fill_first_blocks(grub_uint8_t *blockhash, const argon2_instance_t *instance);
-+
-+/*
-+ * Function allocates memory, hashes the inputs with Blake, and creates first
-+ * two blocks. Returns the pointer to the main memory with 2 blocks per lane
-+ * initialized
-+ * @param context Pointer to the Argon2 internal structure containing memory
-+ * pointer, and parameters for time and space requirements.
-+ * @param instance Current Argon2 instance
-+ * @return Zero if successful, -1 if memory failed to allocate. @context->state
-+ * will be modified if successful.
-+ */
-+int initialize(argon2_instance_t *instance, argon2_context *context);
-+
-+/*
-+ * XORing the last block of each lane, hashing it, making the tag. Deallocates
-+ * the memory.
-+ * @param context Pointer to current Argon2 context (use only the out parameters
-+ * from it)
-+ * @param instance Pointer to current instance of Argon2
-+ * @pre instance->state must point to necessary amount of memory
-+ * @pre context->out must point to outlen bytes of memory
-+ * @pre if context->grub_free_cbk is not NULL, it should point to a function that
-+ * deallocates memory
-+ */
-+void finalize(const argon2_context *context, argon2_instance_t *instance);
-+
-+/*
-+ * Function that fills the segment using previous segments also from other
-+ * threads
-+ * @param context current context
-+ * @param instance Pointer to the current instance
-+ * @param position Current position
-+ * @pre all block pointers must be valid
-+ */
-+void fill_segment(const argon2_instance_t *instance,
-+ argon2_position_t position);
-+
-+/*
-+ * Function that fills the entire memory t_cost times based on the first two
-+ * blocks in each lane
-+ * @param instance Pointer to the current instance
-+ * @return ARGON2_OK if successful, @context->state
-+ */
-+int fill_memory_blocks(argon2_instance_t *instance);
-+
-+#endif
-diff --git a/grub-core/lib/argon2/ref.c b/grub-core/lib/argon2/ref.c
-new file mode 100644
-index 000000000..c933df80d
---- /dev/null
-+++ b/grub-core/lib/argon2/ref.c
-@@ -0,0 +1,190 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include "argon2.h"
-+#include "core.h"
-+
-+#include "blake2/blamka-round-ref.h"
-+#include "blake2/blake2-impl.h"
-+#include "blake2/blake2.h"
-+
-+
-+/*
-+ * Function fills a new memory block and optionally XORs the old block over the new one.
-+ * @next_block must be initialized.
-+ * @param prev_block Pointer to the previous block
-+ * @param ref_block Pointer to the reference block
-+ * @param next_block Pointer to the block to be constructed
-+ * @param with_xor Whether to XOR into the new block (1) or just overwrite (0)
-+ * @pre all block pointers must be valid
-+ */
-+static void fill_block(const block *prev_block, const block *ref_block,
-+ block *next_block, int with_xor) {
-+ block blockR, block_tmp;
-+ unsigned i;
-+
-+ copy_block(&blockR, ref_block);
-+ xor_block(&blockR, prev_block);
-+ copy_block(&block_tmp, &blockR);
-+ /* Now blockR = ref_block + prev_block and block_tmp = ref_block + prev_block */
-+ if (with_xor) {
-+ /* Saving the next block contents for XOR over: */
-+ xor_block(&block_tmp, next_block);
-+ /* Now blockR = ref_block + prev_block and
-+ block_tmp = ref_block + prev_block + next_block */
-+ }
-+
-+ /* Apply Blake2 on columns of 64-bit words: (0,1,...,15) , then
-+ (16,17,..31)... finally (112,113,...127) */
-+ for (i = 0; i < 8; ++i) {
-+ BLAKE2_ROUND_NOMSG(
-+ blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2],
-+ blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5],
-+ blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8],
-+ blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11],
-+ blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14],
-+ blockR.v[16 * i + 15]);
-+ }
-+
-+ /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then
-+ (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */
-+ for (i = 0; i < 8; i++) {
-+ BLAKE2_ROUND_NOMSG(
-+ blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16],
-+ blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33],
-+ blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64],
-+ blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81],
-+ blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112],
-+ blockR.v[2 * i + 113]);
-+ }
-+
-+ copy_block(next_block, &block_tmp);
-+ xor_block(next_block, &blockR);
-+}
-+
-+static void next_addresses(block *address_block, block *input_block,
-+ const block *zero_block) {
-+ input_block->v[6]++;
-+ fill_block(zero_block, input_block, address_block, 0);
-+ fill_block(zero_block, address_block, address_block, 0);
-+}
-+
-+void fill_segment(const argon2_instance_t *instance,
-+ argon2_position_t position) {
-+ block *ref_block = NULL, *curr_block = NULL;
-+ block address_block, input_block, zero_block;
-+ grub_uint64_t pseudo_rand, ref_index, ref_lane;
-+ grub_uint32_t prev_offset, curr_offset;
-+ grub_uint32_t starting_index;
-+ grub_uint32_t i;
-+ int data_independent_addressing;
-+
-+ if (instance == NULL) {
-+ return;
-+ }
-+
-+ data_independent_addressing =
-+ (instance->type == Argon2_i) ||
-+ (instance->type == Argon2_id && (position.pass == 0) &&
-+ (position.slice < ARGON2_SYNC_POINTS / 2));
-+
-+ if (data_independent_addressing) {
-+ init_block_value(&zero_block, 0);
-+ init_block_value(&input_block, 0);
-+
-+ input_block.v[0] = position.pass;
-+ input_block.v[1] = position.lane;
-+ input_block.v[2] = position.slice;
-+ input_block.v[3] = instance->memory_blocks;
-+ input_block.v[4] = instance->passes;
-+ input_block.v[5] = instance->type;
-+ }
-+
-+ starting_index = 0;
-+
-+ if ((0 == position.pass) && (0 == position.slice)) {
-+ starting_index = 2; /* we have already generated the first two blocks */
-+
-+ /* Don't forget to generate the first block of addresses: */
-+ if (data_independent_addressing) {
-+ next_addresses(&address_block, &input_block, &zero_block);
-+ }
-+ }
-+
-+ /* Offset of the current block */
-+ curr_offset = position.lane * instance->lane_length +
-+ position.slice * instance->segment_length + starting_index;
-+
-+ if (0 == curr_offset % instance->lane_length) {
-+ /* Last block in this lane */
-+ prev_offset = curr_offset + instance->lane_length - 1;
-+ } else {
-+ /* Previous block */
-+ prev_offset = curr_offset - 1;
-+ }
-+
-+ for (i = starting_index; i < instance->segment_length;
-+ ++i, ++curr_offset, ++prev_offset) {
-+ /*1.1 Rotating prev_offset if needed */
-+ if (curr_offset % instance->lane_length == 1) {
-+ prev_offset = curr_offset - 1;
-+ }
-+
-+ /* 1.2 Computing the index of the reference block */
-+ /* 1.2.1 Taking pseudo-random value from the previous block */
-+ if (data_independent_addressing) {
-+ if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) {
-+ next_addresses(&address_block, &input_block, &zero_block);
-+ }
-+ pseudo_rand = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK];
-+ } else {
-+ pseudo_rand = instance->memory[prev_offset].v[0];
-+ }
-+
-+ /* 1.2.2 Computing the lane of the reference block */
-+ grub_divmod64 (pseudo_rand >> 32, instance->lanes, &ref_lane);
-+
-+ if ((position.pass == 0) && (position.slice == 0)) {
-+ /* Can not reference other lanes yet */
-+ ref_lane = position.lane;
-+ }
-+
-+ /* 1.2.3 Computing the number of possible reference block within the
-+ * lane.
-+ */
-+ position.index = i;
-+ ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF,
-+ ref_lane == position.lane);
-+
-+ /* 2 Creating a new block */
-+ ref_block =
-+ instance->memory + instance->lane_length * ref_lane + ref_index;
-+ curr_block = instance->memory + curr_offset;
-+ if (ARGON2_VERSION_10 == instance->version) {
-+ /* version 1.2.1 and earlier: overwrite, not XOR */
-+ fill_block(instance->memory + prev_offset, ref_block, curr_block, 0);
-+ } else {
-+ if(0 == position.pass) {
-+ fill_block(instance->memory + prev_offset, ref_block,
-+ curr_block, 0);
-+ } else {
-+ fill_block(instance->memory + prev_offset, ref_block,
-+ curr_block, 1);
-+ }
-+ }
-+ }
-+}
---
-2.39.5
-
diff --git a/config/grub/xhci_nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch b/config/grub/default/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
index 4f03515e..93b0c505 100644
--- a/config/grub/xhci_nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
+++ b/config/grub/default/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
@@ -1,7 +1,7 @@
-From afd68d1e132970e4fa8e26e9ca0ccb7efb69dc37 Mon Sep 17 00:00:00 2001
+From c5ad46b7ba93136764fd1eae1bd0c0c32ce1c5b2 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:14:58 +0000
-Subject: [PATCH 11/26] don't print missing prefix errors on the screen
+Subject: [PATCH 05/10] don't print missing prefix errors on the screen
we do actually set the prefix. this patch modifies
grub to still set grub_errno and return accordingly,
@@ -85,10 +85,10 @@ index 18de52562..2a0fea6c8 100644
}
file = try_open_from_prefix (prefix, filename);
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 4a3be8568..6ae3d73f8 100644
+index de8c3aa8d..eac3ea48d 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -881,7 +881,7 @@ grub_dl_load (const char *name)
+@@ -880,7 +880,7 @@ grub_dl_load (const char *name)
return 0;
if (! grub_dl_dir) {
@@ -98,5 +98,5 @@ index 4a3be8568..6ae3d73f8 100644
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch b/config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch
deleted file mode 100644
index 1531d60c..00000000
--- a/config/grub/default/patches/0006-Error-on-missing-Argon2id-parameters.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 594a7011d551af530bbbdf5e39b941811a0b7811 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 06/14] Error on missing Argon2id parameters
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- grub-core/disk/luks2.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index b17cd2115..bbd8f5579 100644
---- a/grub-core/disk/luks2.c
-+++ b/grub-core/disk/luks2.c
-@@ -39,6 +39,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
- enum grub_luks2_kdf_type
- {
- LUKS2_KDF_TYPE_ARGON2I,
-+ LUKS2_KDF_TYPE_ARGON2ID,
- LUKS2_KDF_TYPE_PBKDF2
- };
- typedef enum grub_luks2_kdf_type grub_luks2_kdf_type_t;
-@@ -91,7 +92,7 @@ struct grub_luks2_keyslot
- grub_int64_t time;
- grub_int64_t memory;
- grub_int64_t cpus;
-- } argon2i;
-+ } argon2;
- struct
- {
- const char *hash;
-@@ -161,10 +162,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing or invalid KDF");
- else if (!grub_strcmp (type, "argon2i") || !grub_strcmp (type, "argon2id"))
- {
-- out->kdf.type = LUKS2_KDF_TYPE_ARGON2I;
-- if (grub_json_getint64 (&out->kdf.u.argon2i.time, &kdf, "time") ||
-- grub_json_getint64 (&out->kdf.u.argon2i.memory, &kdf, "memory") ||
-- grub_json_getint64 (&out->kdf.u.argon2i.cpus, &kdf, "cpus"))
-+ out->kdf.type = !grub_strcmp (type, "argon2i")
-+ ? LUKS2_KDF_TYPE_ARGON2I : LUKS2_KDF_TYPE_ARGON2ID;
-+ if (grub_json_getint64 (&out->kdf.u.argon2.time, &kdf, "time") ||
-+ grub_json_getint64 (&out->kdf.u.argon2.memory, &kdf, "memory") ||
-+ grub_json_getint64 (&out->kdf.u.argon2.cpus, &kdf, "cpus"))
- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing Argon2i parameters");
- }
- else if (!grub_strcmp (type, "pbkdf2"))
-@@ -460,6 +462,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
- switch (k->kdf.type)
- {
- case LUKS2_KDF_TYPE_ARGON2I:
-+ case LUKS2_KDF_TYPE_ARGON2ID:
- ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
- goto err;
- case LUKS2_KDF_TYPE_PBKDF2:
---
-2.39.5
-
diff --git a/config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch b/config/grub/default/patches/0006-don-t-print-error-if-module-not-found.patch
index fb4c836a..2dbf6d87 100644
--- a/config/grub/nvme/patches/0012-don-t-print-error-if-module-not-found.patch
+++ b/config/grub/default/patches/0006-don-t-print-error-if-module-not-found.patch
@@ -1,7 +1,7 @@
-From 62f4bd17485c3d65649de2cef398ec708f35ea9d Mon Sep 17 00:00:00 2001
+From 6522ceca8949105b2e1575ada2f05b3061bfe8f3 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:36:22 +0000
-Subject: [PATCH 12/15] don't print error if module not found
+Subject: [PATCH 06/10] don't print error if module not found
still set grub_errno accordingly, and otherwise
behave the same. in libreboot, we remove a lot of
@@ -17,10 +17,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 6ae3d73f8..4c15027fe 100644
+index eac3ea48d..6d67ba54f 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -511,7 +511,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
+@@ -510,7 +510,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
s = grub_dl_find_section (e, ".modname");
if (!s)
@@ -30,5 +30,5 @@ index 6ae3d73f8..4c15027fe 100644
mod->name = grub_strdup ((char *) e + s->sh_offset);
if (! mod->name)
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0007-Compile-with-Argon2id-support.patch b/config/grub/default/patches/0007-Compile-with-Argon2id-support.patch
deleted file mode 100644
index 344dfb1d..00000000
--- a/config/grub/default/patches/0007-Compile-with-Argon2id-support.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 6a757a3cdf22e840162bb222a87446a32d9b94a2 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 07/14] Compile with Argon2id support
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- Makefile.util.def | 6 +++++-
- grub-core/Makefile.core.def | 2 +-
- grub-core/disk/luks2.c | 13 +++++++++++--
- 3 files changed, 17 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.util.def b/Makefile.util.def
-index 038253b37..2f19569c9 100644
---- a/Makefile.util.def
-+++ b/Makefile.util.def
-@@ -3,7 +3,7 @@ AutoGen definitions Makefile.tpl;
- library = {
- name = libgrubkern.a;
- cflags = '$(CFLAGS_GNULIB)';
-- cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json';
-+ cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json -I$(srcdir)/grub-core/lib/argon2';
-
- common = util/misc.c;
- common = grub-core/kern/command.c;
-@@ -36,6 +36,10 @@ library = {
- common = grub-core/kern/misc.c;
- common = grub-core/kern/partition.c;
- common = grub-core/lib/crypto.c;
-+ common = grub-core/lib/argon2/argon2.c;
-+ common = grub-core/lib/argon2/core.c;
-+ common = grub-core/lib/argon2/ref.c;
-+ common = grub-core/lib/argon2/blake2/blake2b.c;
- common = grub-core/lib/json/json.c;
- common = grub-core/disk/luks.c;
- common = grub-core/disk/luks2.c;
-diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index 0ee65d54d..cd29a9df8 100644
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -1242,7 +1242,7 @@ module = {
- common = disk/luks2.c;
- common = lib/gnulib/base64.c;
- cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
-- cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json';
-+ cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json -I$(srcdir)/lib/argon2';
- };
-
- module = {
-diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index bbd8f5579..02cd615d9 100644
---- a/grub-core/disk/luks2.c
-+++ b/grub-core/disk/luks2.c
-@@ -28,6 +28,7 @@
- #include <grub/i18n.h>
- #include <grub/safemath.h>
-
-+#include <argon2.h>
- #include <base64.h>
- #include <json.h>
-
-@@ -463,8 +464,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
- {
- case LUKS2_KDF_TYPE_ARGON2I:
- case LUKS2_KDF_TYPE_ARGON2ID:
-- ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
-- goto err;
-+ ret = argon2_hash (k->kdf.u.argon2.time, k->kdf.u.argon2.memory, k->kdf.u.argon2.cpus,
-+ passphrase, passphraselen, salt, saltlen, area_key, k->area.key_size,
-+ k->kdf.type == LUKS2_KDF_TYPE_ARGON2I ? Argon2_i : Argon2_id,
-+ ARGON2_VERSION_NUMBER);
-+ if (ret)
-+ {
-+ grub_dprintf ("luks2", "Argon2 failed: %s\n", argon2_error_message (ret));
-+ goto err;
-+ }
-+ break;
- case LUKS2_KDF_TYPE_PBKDF2:
- hash = grub_crypto_lookup_md_by_name (k->kdf.u.pbkdf2.hash);
- if (!hash)
---
-2.39.5
-
diff --git a/config/grub/default/patches/0013-don-t-print-empty-error-messages.patch b/config/grub/default/patches/0007-don-t-print-empty-error-messages.patch
index 0cdadbe9..67ae7d66 100644
--- a/config/grub/default/patches/0013-don-t-print-empty-error-messages.patch
+++ b/config/grub/default/patches/0007-don-t-print-empty-error-messages.patch
@@ -1,7 +1,7 @@
-From 5a1dd3c19307859aac7d1a22a7a0c0c7ffb09ddb Mon Sep 17 00:00:00 2001
+From 557d3e583e6aaa887d7b3876c6980ba0e0e671a3 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 17:25:20 +0000
-Subject: [PATCH 13/14] don't print empty error messages
+Subject: [PATCH 07/10] don't print empty error messages
this is part two of the quest to kill the prefix
error message. after i disabled prefix-related
@@ -13,10 +13,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/grub-core/kern/err.c b/grub-core/kern/err.c
-index 53c734de7..7cac53983 100644
+index ba04b57fb..dab62646d 100644
--- a/grub-core/kern/err.c
+++ b/grub-core/kern/err.c
-@@ -107,7 +107,8 @@ grub_print_error (void)
+@@ -116,7 +116,8 @@ grub_print_error (void)
{
if (grub_errno != GRUB_ERR_NONE)
{
@@ -27,5 +27,5 @@ index 53c734de7..7cac53983 100644
}
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch b/config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch
deleted file mode 100644
index b7ea852a..00000000
--- a/config/grub/default/patches/0008-Make-grub-install-work-with-Argon2.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4e4ded3f127f5567bdb41de7b671bd9b2a478125 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 08/14] Make grub-install work with Argon2
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- util/grub-install.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/util/grub-install.c b/util/grub-install.c
-index 060246589..059036d3c 100644
---- a/util/grub-install.c
-+++ b/util/grub-install.c
-@@ -448,6 +448,8 @@ probe_mods (grub_disk_t disk)
- {
- grub_util_cryptodisk_get_abstraction (disk,
- push_cryptodisk_module, NULL);
-+ /* HACK: always push argon2 */
-+ grub_install_push_module ("argon2");
- have_abstractions = 1;
- have_cryptodisk = 1;
- }
---
-2.39.5
-
diff --git a/config/grub/xhci_nvme/patches/0026-kern-coreboot-mmap-Map-to-reserved.patch b/config/grub/default/patches/0008-kern-coreboot-mmap-Map-to-reserved.patch
index 712d2218..7ce1bf09 100644
--- a/config/grub/xhci_nvme/patches/0026-kern-coreboot-mmap-Map-to-reserved.patch
+++ b/config/grub/default/patches/0008-kern-coreboot-mmap-Map-to-reserved.patch
@@ -1,7 +1,7 @@
-From d73ca74ef879bf602274bee6eb24f0080a45d235 Mon Sep 17 00:00:00 2001
+From 101ea5afcfbe459e624df27c422f59b4ded07000 Mon Sep 17 00:00:00 2001
From: Paul Menzel <pmenzel@molgen.mpg.de>
Date: Mon, 17 May 2021 10:24:36 +0200
-Subject: [PATCH 26/26] kern/coreboot/mmap: Map to reserved
+Subject: [PATCH 08/10] kern/coreboot/mmap: Map to reserved
https://git.savannah.gnu.org/cgit/grub.git/commit/?id=6de9ee86bf9ae50967413e6a73b5dfd13e5ffb50
@@ -33,5 +33,5 @@ index caf8f7cef..2fc316e8d 100644
return 1;
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch b/config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch
new file mode 100644
index 00000000..9bb2563d
--- /dev/null
+++ b/config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch
@@ -0,0 +1,70 @@
+From a56ceedd60bd6515ad3c84ec6aa4c3d66a8bac87 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Wed, 24 Dec 2025 01:42:17 +0100
+Subject: [PATCH 09/10] Revert "configure: Check linker for --image-base
+ support"
+
+This reverts commit 1a5417f39a0ccefcdd5440f2a67f84d2d2e26960.
+---
+ acinclude.m4 | 5 -----
+ configure.ac | 14 ++------------
+ 2 files changed, 2 insertions(+), 17 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 70c1912f8..fa7840f09 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -79,11 +79,6 @@ AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE],
+ [AC_MSG_CHECKING([whether ${TARGET_OBJCOPY} works for absolute addresses])
+ AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
+ [cat > conftest.c <<\EOF
+-asm (
+- ".globl start, _start, __start\n"
+- ".ifdef cmain; .set start = _start = __start = cmain\n.endif\n"
+- ".ifdef _cmain; .set start = _start = __start = _cmain\n.endif\n"
+-);
+ void cmain (void);
+ void
+ cmain (void)
+diff --git a/configure.ac b/configure.ac
+index d8ca1b7c1..041cfbab4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1461,6 +1461,7 @@ elif test x$grub_cv_target_cc_link_format = x-mi386pe || test x$grub_cv_target_c
+ TARGET_IMG_LDSCRIPT='$(top_srcdir)'"/conf/i386-cygwin-img-ld.sc"
+ TARGET_IMG_LDFLAGS="-Wl,-T${TARGET_IMG_LDSCRIPT}"
+ TARGET_IMG_LDFLAGS_AC="-Wl,-T${srcdir}/conf/i386-cygwin-img-ld.sc"
++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+ TARGET_IMG_CFLAGS=
+ else
+ TARGET_APPLE_LINKER=0
+@@ -1468,6 +1469,7 @@ else
+ TARGET_IMG_LDSCRIPT=
+ TARGET_IMG_LDFLAGS='-Wl,-N'
+ TARGET_IMG_LDFLAGS_AC='-Wl,-N'
++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+ TARGET_IMG_CFLAGS=
+ fi
+
+@@ -1798,18 +1800,6 @@ grub_PROG_TARGET_CC
+ m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
+
+ if test "x$TARGET_APPLE_LINKER" != x1 ; then
+-AX_CHECK_LINK_FLAG([-Wl,--image-base,0x400000],
+- [TARGET_IMG_BASE_LDOPT="-Wl,--image-base"],
+- [TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"],
+- [],
+- [AC_LANG_SOURCE([
+-asm (".globl start; start:");
+-asm (".globl _start; _start:");
+-asm (".globl __start; __start:");
+-void __main (void);
+-void __main (void) {}
+-int main (void);
+- ])])
+ grub_PROG_OBJCOPY_ABSOLUTE
+ fi
+ grub_PROG_LD_BUILD_ID_NONE
+--
+2.47.3
+
diff --git a/config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch b/config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
new file mode 100644
index 00000000..0c968993
--- /dev/null
+++ b/config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
@@ -0,0 +1,30 @@
+From 66028b6bc149a25894fe5ca395b22804f389a18e Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 19 Jan 2026 15:27:23 +0000
+Subject: [PATCH 10/10] Revert "configure: Print a more helpful error if
+ autoconf-archive is not installed"
+
+This reverts commit ac042f3f58d33ce9cd5ff61750f06da1a1d7b0eb.
+---
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 041cfbab4..209c0fb11 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1794,11 +1794,6 @@ LIBS=""
+ # Defined in acinclude.m4.
+ grub_ASM_USCORE
+ grub_PROG_TARGET_CC
+-
+-# The error message produced by autoconf if autoconf-archive is not installed is
+-# quite misleading and not very helpful. So, try point people in the right direction.
+-m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
+-
+ if test "x$TARGET_APPLE_LINKER" != x1 ; then
+ grub_PROG_OBJCOPY_ABSOLUTE
+ fi
+--
+2.47.3
+
diff --git a/config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch b/config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch
new file mode 100644
index 00000000..cfb66047
--- /dev/null
+++ b/config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch
@@ -0,0 +1,91 @@
+From 5d18c96a22d98d137ea40bfc6aabadce933c2d45 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Sun, 1 Feb 2026 20:30:55 +0100
+Subject: [PATCH 1/1] bootstrap: Don't download po files
+
+GRUB doesn't verify checksums at all, and it pulls from
+this URL recursively:
+
+https://translationproject.org/latest/grub/
+
+These files can change at any time, and GRUB is just
+downloading them trustingly. Even if the upstream is
+totally benevolent, what if they got hacked?
+
+I downloaded them, hashed them and decided to mirror
+them on my RSYNC mirror. In this way, Libreboot can now
+use them in a deterministic fashion.
+
+Simply adding them to the GRUB source code would mean
+patching GRUB, which would add 8MB to lbmk. I won't do
+it.
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ bootstrap | 31 +++++++++++++------------------
+ 1 file changed, 13 insertions(+), 18 deletions(-)
+
+diff --git a/bootstrap b/bootstrap
+index dc9fb4383..9fc5a5c36 100755
+--- a/bootstrap
++++ b/bootstrap
+@@ -1,5 +1,16 @@
+ #! /bin/sh
+-# DO NOT EDIT! GENERATED AUTOMATICALLY!
++# THIS FILE WAS EDITED BY LIBREBOOT TO REMOVE
++# HACKY GRUB BEHAVIOUR; po files now downloaded
++# by lbmk, via config/submodule/grub/ - so that
++# versioned files are possible, with proper checksum
++# verification, and mirrors are used.
++
++# Yes. This file has been modified. I intend to
++# eventually remove this hacky script. Probably
++# replace the entire GRUB build system.
++
++# Please do fix/edit or (when possible) remove
++# this file. Thank you.
+
+ # Bootstrap this package from checked-out sources.
+
+@@ -145,13 +156,6 @@ bootstrap_post_import_hook() { :; }
+ # Override it via your own definition in bootstrap.conf.
+ bootstrap_epilogue() { :; }
+
+-# The command to download all .po files for a specified domain into a
+-# specified directory. Fill in the first %s with the destination
+-# directory and the second with the domain name.
+-po_download_command_format=\
+-"wget --mirror --level=1 -nd -nv -A.po -P '%s' \
+- https://translationproject.org/latest/%s/"
+-
+ # When extracting the package name from an AC_INIT invocation,
+ # prefer a non-empty tarname (4th argument of AC_INIT if given), else
+ # fall back to the package name (1st argument with munging).
+@@ -909,14 +913,6 @@ autopull()
+
+ # ----------------------------- Get translations. -----------------------------
+
+-download_po_files() {
+- subdir=$1
+- domain=$2
+- echo "$me: getting translations into $subdir for $domain..."
+- cmd=$(printf "$po_download_command_format" "$subdir" "$domain")
+- eval "$cmd"
+-}
+-
+ # Mirror .po files to $po_dir/.reference and copy only the new
+ # or modified ones into $po_dir. Also update $po_dir/LINGUAS.
+ # Note po files that exist locally only are left in $po_dir but will
+@@ -932,8 +928,7 @@ update_po_files() {
+ ref_po_dir="$po_dir/.reference"
+
+ test -d $ref_po_dir || mkdir $ref_po_dir || return
+- download_po_files $ref_po_dir $domain \
+- && ls "$ref_po_dir"/*.po 2>/dev/null |
++ ls "$ref_po_dir"/*.po 2>/dev/null |
+ sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
+
+ for po in x $(ls $ref_po_dir | sed -n 's/\.po$//p'); do
+--
+2.47.3
+
diff --git a/config/grub/default/target.cfg b/config/grub/default/target.cfg
index 6a13a189..2ce61fff 100644
--- a/config/grub/default/target.cfg
+++ b/config/grub/default/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="default"
-rev="a68a7dece464c35b1c8d20b98502b6881b103911"
+rev="eaa3b8f0f90605a82c6bfda4c5c4b73c58eb81ac"
diff --git a/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch b/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
index 1c55b85a..41194e98 100644
--- a/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
+++ b/config/grub/nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
@@ -1,7 +1,7 @@
-From 759a673b3c4601a32837f2b26661d2998f6cb8d6 Mon Sep 17 00:00:00 2001
+From 2c953c9160cbed357437891cf1790aeb1c2bd0f5 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 31 Oct 2021 03:47:05 +0000
-Subject: [PATCH 01/15] mitigate grub's missing characters for borders/arrow
+Subject: [PATCH 01/10] mitigate grub's missing characters for borders/arrow
characters
This cleans up the display on the main screen in GRUB.
@@ -86,5 +86,5 @@ index 9c383e64a..8ec1dd1e8 100644
grub_term_highlight_color = old_color_highlight;
geo->timeout_y = geo->first_entry_y + geo->num_entries
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch b/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
index 8515f2a8..359f31f8 100644
--- a/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
+++ b/config/grub/nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
@@ -1,25 +1,25 @@
-From 88007c24f8bceb97d0aecf31545c3b49b380b1a6 Mon Sep 17 00:00:00 2001
+From 71623385f90580b2138110cf00ee66b7a05abcf6 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 19 Nov 2022 16:30:24 +0000
-Subject: [PATCH 02/15] say the name libreboot, in the grub menu
+Subject: [PATCH 02/10] say the name libreboot, in the grub menu
---
grub-core/normal/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
-index 96abfda2f..d806db9c4 100644
+index de9a3f961..bed502cde 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
-@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
+@@ -215,7 +215,7 @@ grub_normal_init_page (struct grub_term_output *term,
grub_term_cls (term);
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
-+ msg_formatted = grub_xasprintf (_("Libreboot 25.06 Luminous Lemon (GRUB menu): https://libreboot.org/"));
++ msg_formatted = grub_xasprintf (_("Libreboot 26.01 Magnanimous Max (GRUB menu): https://libreboot.org/"));
if (!msg_formatted)
return;
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0003-Add-CC0-license.patch b/config/grub/nvme/patches/0003-Add-CC0-license.patch
deleted file mode 100644
index 5b09922b..00000000
--- a/config/grub/nvme/patches/0003-Add-CC0-license.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d1925aadf848c269b35a3004c104e014df582536 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 03/15] Add CC0 license
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- grub-core/kern/dl.c | 3 ++-
- util/grub-module-verifierXX.c | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index de8c3aa8d..4a3be8568 100644
---- a/grub-core/kern/dl.c
-+++ b/grub-core/kern/dl.c
-@@ -495,7 +495,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
-
- if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
- || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
-- || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0)
-+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0
-+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=CC0") == 0)
- return GRUB_ERR_NONE;
-
- return grub_error (GRUB_ERR_BAD_MODULE,
-diff --git a/util/grub-module-verifierXX.c b/util/grub-module-verifierXX.c
-index a42c20bd1..7157a30aa 100644
---- a/util/grub-module-verifierXX.c
-+++ b/util/grub-module-verifierXX.c
-@@ -236,7 +236,8 @@ check_license (const char * const filename,
- Elf_Shdr *s = find_section (arch, e, ".module_license", module_size);
- if (s && (strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3") == 0
- || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3+") == 0
-- || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0))
-+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0
-+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=CC0") == 0))
- return;
- grub_util_error ("%s: incompatible license", filename);
- }
---
-2.39.5
-
diff --git a/config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch b/config/grub/nvme/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
index 3a8591d1..ab26c6b2 100644
--- a/config/grub/nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
+++ b/config/grub/nvme/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
@@ -1,7 +1,7 @@
-From a90a11f02d5bfc8b9f9e1253a67906fde9102a14 Mon Sep 17 00:00:00 2001
+From a21c5e997d6247d713717745b5f7bd380b98fce1 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 30 Oct 2023 22:19:21 +0000
-Subject: [PATCH 09/15] at_keyboard coreboot: force scancodes2+translate
+Subject: [PATCH 03/10] at_keyboard coreboot: force scancodes2+translate
Scan code set 2 with translation should be assumed in
every case, as the default starting position.
@@ -103,5 +103,5 @@ index f8a129eb7..8207225c2 100644
grub_dprintf ("atkeyb", "returned set %d\n", ps2_state.current_set);
if (ps2_state.current_set == 2)
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch b/config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch
deleted file mode 100644
index be0e6b13..00000000
--- a/config/grub/nvme/patches/0004-Define-GRUB_UINT32_MAX.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b0adafee9fcd820dd9d1c03a9619953cb3407854 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 04/15] Define GRUB_UINT32_MAX
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- include/grub/types.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/include/grub/types.h b/include/grub/types.h
-index 45079bf65..8c0b30395 100644
---- a/include/grub/types.h
-+++ b/include/grub/types.h
-@@ -156,6 +156,7 @@ typedef grub_int32_t grub_ssize_t;
- #define GRUB_SHRT_MAX 0x7fff
- #define GRUB_SHRT_MIN (-GRUB_SHRT_MAX - 1)
- #define GRUB_UINT_MAX 4294967295U
-+#define GRUB_UINT32_MAX 4294967295U
- #define GRUB_INT_MAX 0x7fffffff
- #define GRUB_INT_MIN (-GRUB_INT_MAX - 1)
- #define GRUB_INT32_MAX 2147483647
-@@ -177,6 +178,13 @@ typedef grub_int32_t grub_ssize_t;
- #define GRUB_TYPE_U_MAX(type) ((unsigned long long)((typeof (type))(~0)))
- #define GRUB_TYPE_U_MIN(type) 0ULL
-
-+# define GRUB_UINT32_C(x) x ## U
-+# if GRUB_ULONG_MAX >> 31 >> 31 >> 1 == 1
-+# define GRUB_UINT64_C(x) x##UL
-+# elif 1
-+# define GRUB_UINT64_C(x) x##ULL
-+# endif
-+
- typedef grub_uint64_t grub_properly_aligned_t;
-
- #define GRUB_PROPERLY_ALIGNED_ARRAY(name, size) grub_properly_aligned_t name[((size) + sizeof (grub_properly_aligned_t) - 1) / sizeof (grub_properly_aligned_t)]
---
-2.39.5
-
diff --git a/config/grub/xhci_nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/nvme/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
index 607f3541..68dfb2f7 100644
--- a/config/grub/xhci_nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
+++ b/config/grub/nvme/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
@@ -1,7 +1,7 @@
-From 18f88785a46e6657e1404e1914638f4768d65008 Mon Sep 17 00:00:00 2001
+From 062379b1cd5a4f99324c625fb371c29eb00ad4a2 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 31 Oct 2023 10:33:28 +0000
-Subject: [PATCH 10/26] keylayouts: don't print "Unknown key" message
+Subject: [PATCH 04/10] keylayouts: don't print "Unknown key" message
on keyboards with stuck keys, this results in GRUB just
spewing it repeatedly, preventing use of GRUB.
@@ -34,5 +34,5 @@ index aa3ba34f2..445fa0601 100644
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch b/config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch
deleted file mode 100644
index 772a05d9..00000000
--- a/config/grub/nvme/patches/0005-Add-Argon2-algorithm.patch
+++ /dev/null
@@ -1,2612 +0,0 @@
-From c42e09330674005d8b2d74f75fca387af87e5465 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 05/15] Add Argon2 algorithm
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- docs/grub-dev.texi | 64 +++
- grub-core/Makefile.core.def | 8 +
- grub-core/lib/argon2/LICENSE | 314 +++++++++++
- grub-core/lib/argon2/argon2.c | 232 ++++++++
- grub-core/lib/argon2/argon2.h | 264 +++++++++
- grub-core/lib/argon2/blake2/blake2-impl.h | 151 ++++++
- grub-core/lib/argon2/blake2/blake2.h | 89 +++
- grub-core/lib/argon2/blake2/blake2b.c | 388 ++++++++++++++
- .../lib/argon2/blake2/blamka-round-ref.h | 56 ++
- grub-core/lib/argon2/core.c | 506 ++++++++++++++++++
- grub-core/lib/argon2/core.h | 228 ++++++++
- grub-core/lib/argon2/ref.c | 190 +++++++
- 12 files changed, 2490 insertions(+)
- create mode 100644 grub-core/lib/argon2/LICENSE
- create mode 100644 grub-core/lib/argon2/argon2.c
- create mode 100644 grub-core/lib/argon2/argon2.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2-impl.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2b.c
- create mode 100644 grub-core/lib/argon2/blake2/blamka-round-ref.h
- create mode 100644 grub-core/lib/argon2/core.c
- create mode 100644 grub-core/lib/argon2/core.h
- create mode 100644 grub-core/lib/argon2/ref.c
-
-diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
-index f4367f895..9d96cedf9 100644
---- a/docs/grub-dev.texi
-+++ b/docs/grub-dev.texi
-@@ -503,12 +503,76 @@ GRUB includes some code from other projects, and it is sometimes necessary
- to update it.
-
- @menu
-+* Argon2::
- * Gnulib::
- * jsmn::
- * minilzo::
- * libtasn1::
- @end menu
-
-+@node Argon2
-+@section Argon2
-+
-+Argon2 is a key derivation function used by LUKS2 in order to derive encryption
-+keys from a user-provided password. GRUB imports the official reference
-+implementation of Argon2 from @url{https://github.com/P-H-C/phc-winner-argon2}.
-+In order to make the library usable for GRUB, we need to perform various
-+conversions. This is mainly due to the fact that the imported code makes use of
-+types and functions defined in the C standard library, which isn't available.
-+Furthermore, using the POSIX wrapper library is not possible as the code needs
-+to be part of the kernel.
-+
-+Updating the code can thus be performed like following:
-+
-+@example
-+$ git clone https://github.com/P-H-C/phc-winner-argon2 argon2
-+$ cp argon2/include/argon2.h argon2/src/@{argon2.c,core.c,core.h,ref.c@} \
-+ grub-core/lib/argon2/
-+$ cp argon2/src/blake2/@{blake2-impl.h,blake2.h,blake2b.c,blamka-round-ref.h@} \
-+ grub-core/lib/argon2/blake2/
-+$ sed -e 's/UINT32_C/GRUB_UINT32_C/g' \
-+ -e 's/UINT64_C/GRUB_UINT64_C/g' \
-+ -e 's/UINT32_MAX/GRUB_UINT32_MAX/g' \
-+ -e 's/CHAR_BIT/GRUB_CHAR_BIT/g' \
-+ -e 's/UINT_MAX/GRUB_UINT_MAX/g' \
-+ -e 's/uintptr_t/grub_addr_t/g' \
-+ -e 's/size_t/grub_size_t/g' \
-+ -e 's/uint32_t/grub_uint32_t/g' \
-+ -e 's/uint64_t/grub_uint64_t/g' \
-+ -e 's/uint8_t/grub_uint8_t/g' \
-+ -e 's/memset/grub_memset/g' \
-+ -e 's/memcpy/grub_memcpy/g' \
-+ -e 's/malloc/grub_malloc/g' \
-+ -e 's/free/grub_free/g' \
-+ -e 's/#elif _MSC_VER/#elif defined(_MSC_VER)/' \
-+ grub-core/lib/argon2/@{*,blake2/*@}.@{c,h@} -i
-+@end example
-+
-+Afterwards, you need to perform the following manual steps:
-+
-+@enumerate
-+@item Remove all includes of standard library headers, "encoding.h" and
-+ "thread.h".
-+@item Add includes <grub/mm.h> and <grub/misc.h> to "argon2.h".
-+@item Add include <grub/dl.h> and module license declaration to "argon2.c".
-+@item Remove the following declarations and functions from "argon2.h" and
-+ "argon2.c": argon2_type2string, argon2i_hash_encoded, argon2i_hash_raw,
-+ argon2d_hash_encoded, argon2d_hash_raw, argon2id_hash_encoded,
-+ argon2id_hash_raw, argon2_compare, argon2_verify, argon2i_verify,
-+ argon2d_verify, argon2id_verify, argon2d_ctx, argon2i_ctx, argon2id_ctx,
-+ argon2_verify_ctx, argon2d_verify_ctx, argon2i_verify_ctx,
-+ argon2id_verify_ctx, argon2_encodedlen.
-+@item Move the declaration of `clear_internal_memory()` in "blake2-impl.h" to
-+ "blake2b.c".
-+@item Remove code guarded by the ARGON2_NO_THREADS macro.
-+@item Remove parameters `encoded` and `encodedlen` from `argon2_hash` and remove
-+ the encoding block in that function.
-+@item Remove parameter verifications in `validate_inputs()` for
-+ ARGON2_MIN_PWD_LENGTH, ARGON2_MIN_SECRET, ARGON2_MIN_AD_LENGTH and
-+ ARGON2_MAX_MEMORY to fix compiler warnings.
-+@item Mark the function argon2_ctx as static.
-+@end enumerate
-+
- @node Gnulib
- @section Gnulib
-
-diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index 24e8c8437..0ee65d54d 100644
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -1219,6 +1219,14 @@ module = {
- common = lib/json/json.c;
- };
-
-+module = {
-+ name = argon2;
-+ common = lib/argon2/argon2.c;
-+ common = lib/argon2/core.c;
-+ common = lib/argon2/ref.c;
-+ common = lib/argon2/blake2/blake2b.c;
-+};
-+
- module = {
- name = afsplitter;
- common = disk/AFSplitter.c;
-diff --git a/grub-core/lib/argon2/LICENSE b/grub-core/lib/argon2/LICENSE
-new file mode 100644
-index 000000000..97aae2925
---- /dev/null
-+++ b/grub-core/lib/argon2/LICENSE
-@@ -0,0 +1,314 @@
-+Argon2 reference source code package - reference C implementations
-+
-+Copyright 2015
-+Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+
-+You may use this work under the terms of a Creative Commons CC0 1.0
-+License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+these licenses can be found at:
-+
-+- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+
-+The terms of the licenses are reproduced below.
-+
-+--------------------------------------------------------------------------------
-+
-+Creative Commons Legal Code
-+
-+CC0 1.0 Universal
-+
-+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
-+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
-+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
-+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
-+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
-+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
-+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
-+ HEREUNDER.
-+
-+Statement of Purpose
-+
-+The laws of most jurisdictions throughout the world automatically confer
-+exclusive Copyright and Related Rights (defined below) upon the creator
-+and subsequent owner(s) (each and all, an "owner") of an original work of
-+authorship and/or a database (each, a "Work").
-+
-+Certain owners wish to permanently relinquish those rights to a Work for
-+the purpose of contributing to a commons of creative, cultural and
-+scientific works ("Commons") that the public can reliably and without fear
-+of later claims of infringement build upon, modify, incorporate in other
-+works, reuse and redistribute as freely as possible in any form whatsoever
-+and for any purposes, including without limitation commercial purposes.
-+These owners may contribute to the Commons to promote the ideal of a free
-+culture and the further production of creative, cultural and scientific
-+works, or to gain reputation or greater distribution for their Work in
-+part through the use and efforts of others.
-+
-+For these and/or other purposes and motivations, and without any
-+expectation of additional consideration or compensation, the person
-+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
-+is an owner of Copyright and Related Rights in the Work, voluntarily
-+elects to apply CC0 to the Work and publicly distribute the Work under its
-+terms, with knowledge of his or her Copyright and Related Rights in the
-+Work and the meaning and intended legal effect of CC0 on those rights.
-+
-+1. Copyright and Related Rights. A Work made available under CC0 may be
-+protected by copyright and related or neighboring rights ("Copyright and
-+Related Rights"). Copyright and Related Rights include, but are not
-+limited to, the following:
-+
-+ i. the right to reproduce, adapt, distribute, perform, display,
-+ communicate, and translate a Work;
-+ ii. moral rights retained by the original author(s) and/or performer(s);
-+iii. publicity and privacy rights pertaining to a person's image or
-+ likeness depicted in a Work;
-+ iv. rights protecting against unfair competition in regards to a Work,
-+ subject to the limitations in paragraph 4(a), below;
-+ v. rights protecting the extraction, dissemination, use and reuse of data
-+ in a Work;
-+ vi. database rights (such as those arising under Directive 96/9/EC of the
-+ European Parliament and of the Council of 11 March 1996 on the legal
-+ protection of databases, and under any national implementation
-+ thereof, including any amended or successor version of such
-+ directive); and
-+vii. other similar, equivalent or corresponding rights throughout the
-+ world based on applicable law or treaty, and any national
-+ implementations thereof.
-+
-+2. Waiver. To the greatest extent permitted by, but not in contravention
-+of, applicable law, Affirmer hereby overtly, fully, permanently,
-+irrevocably and unconditionally waives, abandons, and surrenders all of
-+Affirmer's Copyright and Related Rights and associated claims and causes
-+of action, whether now known or unknown (including existing as well as
-+future claims and causes of action), in the Work (i) in all territories
-+worldwide, (ii) for the maximum duration provided by applicable law or
-+treaty (including future time extensions), (iii) in any current or future
-+medium and for any number of copies, and (iv) for any purpose whatsoever,
-+including without limitation commercial, advertising or promotional
-+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
-+member of the public at large and to the detriment of Affirmer's heirs and
-+successors, fully intending that such Waiver shall not be subject to
-+revocation, rescission, cancellation, termination, or any other legal or
-+equitable action to disrupt the quiet enjoyment of the Work by the public
-+as contemplated by Affirmer's express Statement of Purpose.
-+
-+3. Public License Fallback. Should any part of the Waiver for any reason
-+be judged legally invalid or ineffective under applicable law, then the
-+Waiver shall be preserved to the maximum extent permitted taking into
-+account Affirmer's express Statement of Purpose. In addition, to the
-+extent the Waiver is so judged Affirmer hereby grants to each affected
-+person a royalty-free, non transferable, non sublicensable, non exclusive,
-+irrevocable and unconditional license to exercise Affirmer's Copyright and
-+Related Rights in the Work (i) in all territories worldwide, (ii) for the
-+maximum duration provided by applicable law or treaty (including future
-+time extensions), (iii) in any current or future medium and for any number
-+of copies, and (iv) for any purpose whatsoever, including without
-+limitation commercial, advertising or promotional purposes (the
-+"License"). The License shall be deemed effective as of the date CC0 was
-+applied by Affirmer to the Work. Should any part of the License for any
-+reason be judged legally invalid or ineffective under applicable law, such
-+partial invalidity or ineffectiveness shall not invalidate the remainder
-+of the License, and in such case Affirmer hereby affirms that he or she
-+will not (i) exercise any of his or her remaining Copyright and Related
-+Rights in the Work or (ii) assert any associated claims and causes of
-+action with respect to the Work, in either case contrary to Affirmer's
-+express Statement of Purpose.
-+
-+4. Limitations and Disclaimers.
-+
-+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
-+ surrendered, licensed or otherwise affected by this document.
-+ b. Affirmer offers the Work as-is and makes no representations or
-+ warranties of any kind concerning the Work, express, implied,
-+ statutory or otherwise, including without limitation warranties of
-+ title, merchantability, fitness for a particular purpose, non
-+ infringement, or the absence of latent or other defects, accuracy, or
-+ the present or absence of errors, whether or not discoverable, all to
-+ the greatest extent permissible under applicable law.
-+ c. Affirmer disclaims responsibility for clearing rights of other persons
-+ that may apply to the Work or any use thereof, including without
-+ limitation any person's Copyright and Related Rights in the Work.
-+ Further, Affirmer disclaims responsibility for obtaining any necessary
-+ consents, permissions or other rights required for any use of the
-+ Work.
-+ d. Affirmer understands and acknowledges that Creative Commons is not a
-+ party to this document and has no duty or obligation with respect to
-+ this CC0 or use of the Work.
-+
-+--------------------------------------------------------------------------------
-+
-+ Apache License
-+ Version 2.0, January 2004
-+ http://www.apache.org/licenses/
-+
-+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-+
-+ 1. Definitions.
-+
-+ "License" shall mean the terms and conditions for use, reproduction,
-+ and distribution as defined by Sections 1 through 9 of this document.
-+
-+ "Licensor" shall mean the copyright owner or entity authorized by
-+ the copyright owner that is granting the License.
-+
-+ "Legal Entity" shall mean the union of the acting entity and all
-+ other entities that control, are controlled by, or are under common
-+ control with that entity. For the purposes of this definition,
-+ "control" means (i) the power, direct or indirect, to cause the
-+ direction or management of such entity, whether by contract or
-+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
-+ outstanding shares, or (iii) beneficial ownership of such entity.
-+
-+ "You" (or "Your") shall mean an individual or Legal Entity
-+ exercising permissions granted by this License.
-+
-+ "Source" form shall mean the preferred form for making modifications,
-+ including but not limited to software source code, documentation
-+ source, and configuration files.
-+
-+ "Object" form shall mean any form resulting from mechanical
-+ transformation or translation of a Source form, including but
-+ not limited to compiled object code, generated documentation,
-+ and conversions to other media types.
-+
-+ "Work" shall mean the work of authorship, whether in Source or
-+ Object form, made available under the License, as indicated by a
-+ copyright notice that is included in or attached to the work
-+ (an example is provided in the Appendix below).
-+
-+ "Derivative Works" shall mean any work, whether in Source or Object
-+ form, that is based on (or derived from) the Work and for which the
-+ editorial revisions, annotations, elaborations, or other modifications
-+ represent, as a whole, an original work of authorship. For the purposes
-+ of this License, Derivative Works shall not include works that remain
-+ separable from, or merely link (or bind by name) to the interfaces of,
-+ the Work and Derivative Works thereof.
-+
-+ "Contribution" shall mean any work of authorship, including
-+ the original version of the Work and any modifications or additions
-+ to that Work or Derivative Works thereof, that is intentionally
-+ submitted to Licensor for inclusion in the Work by the copyright owner
-+ or by an individual or Legal Entity authorized to submit on behalf of
-+ the copyright owner. For the purposes of this definition, "submitted"
-+ means any form of electronic, verbal, or written communication sent
-+ to the Licensor or its representatives, including but not limited to
-+ communication on electronic mailing lists, source code control systems,
-+ and issue tracking systems that are managed by, or on behalf of, the
-+ Licensor for the purpose of discussing and improving the Work, but
-+ excluding communication that is conspicuously marked or otherwise
-+ designated in writing by the copyright owner as "Not a Contribution."
-+
-+ "Contributor" shall mean Licensor and any individual or Legal Entity
-+ on behalf of whom a Contribution has been received by Licensor and
-+ subsequently incorporated within the Work.
-+
-+ 2. Grant of Copyright License. Subject to the terms and conditions of
-+ this License, each Contributor hereby grants to You a perpetual,
-+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-+ copyright license to reproduce, prepare Derivative Works of,
-+ publicly display, publicly perform, sublicense, and distribute the
-+ Work and such Derivative Works in Source or Object form.
-+
-+ 3. Grant of Patent License. Subject to the terms and conditions of
-+ this License, each Contributor hereby grants to You a perpetual,
-+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-+ (except as stated in this section) patent license to make, have made,
-+ use, offer to sell, sell, import, and otherwise transfer the Work,
-+ where such license applies only to those patent claims licensable
-+ by such Contributor that are necessarily infringed by their
-+ Contribution(s) alone or by combination of their Contribution(s)
-+ with the Work to which such Contribution(s) was submitted. If You
-+ institute patent litigation against any entity (including a
-+ cross-claim or counterclaim in a lawsuit) alleging that the Work
-+ or a Contribution incorporated within the Work constitutes direct
-+ or contributory patent infringement, then any patent licenses
-+ granted to You under this License for that Work shall terminate
-+ as of the date such litigation is filed.
-+
-+ 4. Redistribution. You may reproduce and distribute copies of the
-+ Work or Derivative Works thereof in any medium, with or without
-+ modifications, and in Source or Object form, provided that You
-+ meet the following conditions:
-+
-+ (a) You must give any other recipients of the Work or
-+ Derivative Works a copy of this License; and
-+
-+ (b) You must cause any modified files to carry prominent notices
-+ stating that You changed the files; and
-+
-+ (c) You must retain, in the Source form of any Derivative Works
-+ that You distribute, all copyright, patent, trademark, and
-+ attribution notices from the Source form of the Work,
-+ excluding those notices that do not pertain to any part of
-+ the Derivative Works; and
-+
-+ (d) If the Work includes a "NOTICE" text file as part of its
-+ distribution, then any Derivative Works that You distribute must
-+ include a readable copy of the attribution notices contained
-+ within such NOTICE file, excluding those notices that do not
-+ pertain to any part of the Derivative Works, in at least one
-+ of the following places: within a NOTICE text file distributed
-+ as part of the Derivative Works; within the Source form or
-+ documentation, if provided along with the Derivative Works; or,
-+ within a display generated by the Derivative Works, if and
-+ wherever such third-party notices normally appear. The contents
-+ of the NOTICE file are for informational purposes only and
-+ do not modify the License. You may add Your own attribution
-+ notices within Derivative Works that You distribute, alongside
-+ or as an addendum to the NOTICE text from the Work, provided
-+ that such additional attribution notices cannot be construed
-+ as modifying the License.
-+
-+ You may add Your own copyright statement to Your modifications and
-+ may provide additional or different license terms and conditions
-+ for use, reproduction, or distribution of Your modifications, or
-+ for any such Derivative Works as a whole, provided Your use,
-+ reproduction, and distribution of the Work otherwise complies with
-+ the conditions stated in this License.
-+
-+ 5. Submission of Contributions. Unless You explicitly state otherwise,
-+ any Contribution intentionally submitted for inclusion in the Work
-+ by You to the Licensor shall be under the terms and conditions of
-+ this License, without any additional terms or conditions.
-+ Notwithstanding the above, nothing herein shall supersede or modify
-+ the terms of any separate license agreement you may have executed
-+ with Licensor regarding such Contributions.
-+
-+ 6. Trademarks. This License does not grant permission to use the trade
-+ names, trademarks, service marks, or product names of the Licensor,
-+ except as required for reasonable and customary use in describing the
-+ origin of the Work and reproducing the content of the NOTICE file.
-+
-+ 7. Disclaimer of Warranty. Unless required by applicable law or
-+ agreed to in writing, Licensor provides the Work (and each
-+ Contributor provides its Contributions) on an "AS IS" BASIS,
-+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-+ implied, including, without limitation, any warranties or conditions
-+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-+ PARTICULAR PURPOSE. You are solely responsible for determining the
-+ appropriateness of using or redistributing the Work and assume any
-+ risks associated with Your exercise of permissions under this License.
-+
-+ 8. Limitation of Liability. In no event and under no legal theory,
-+ whether in tort (including negligence), contract, or otherwise,
-+ unless required by applicable law (such as deliberate and grossly
-+ negligent acts) or agreed to in writing, shall any Contributor be
-+ liable to You for damages, including any direct, indirect, special,
-+ incidental, or consequential damages of any character arising as a
-+ result of this License or out of the use or inability to use the
-+ Work (including but not limited to damages for loss of goodwill,
-+ work stoppage, computer failure or malfunction, or any and all
-+ other commercial damages or losses), even if such Contributor
-+ has been advised of the possibility of such damages.
-+
-+ 9. Accepting Warranty or Additional Liability. While redistributing
-+ the Work or Derivative Works thereof, You may choose to offer,
-+ and charge a fee for, acceptance of support, warranty, indemnity,
-+ or other liability obligations and/or rights consistent with this
-+ License. However, in accepting such obligations, You may act only
-+ on Your own behalf and on Your sole responsibility, not on behalf
-+ of any other Contributor, and only if You agree to indemnify,
-+ defend, and hold each Contributor harmless for any liability
-+ incurred by, or claims asserted against, such Contributor by reason
-+ of your accepting any such warranty or additional liability.
-diff --git a/grub-core/lib/argon2/argon2.c b/grub-core/lib/argon2/argon2.c
-new file mode 100644
-index 000000000..49532fe80
---- /dev/null
-+++ b/grub-core/lib/argon2/argon2.c
-@@ -0,0 +1,232 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include <grub/dl.h>
-+
-+#include "argon2.h"
-+#include "core.h"
-+
-+GRUB_MOD_LICENSE ("CC0");
-+
-+static int argon2_ctx(argon2_context *context, argon2_type type) {
-+ /* 1. Validate all inputs */
-+ int result = validate_inputs(context);
-+ grub_uint32_t memory_blocks, segment_length;
-+ argon2_instance_t instance;
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+
-+ if (Argon2_d != type && Argon2_i != type && Argon2_id != type) {
-+ return ARGON2_INCORRECT_TYPE;
-+ }
-+
-+ /* 2. Align memory size */
-+ /* Minimum memory_blocks = 8L blocks, where L is the number of lanes */
-+ memory_blocks = context->m_cost;
-+
-+ if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) {
-+ memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes;
-+ }
-+
-+ segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS);
-+ /* Ensure that all segments have equal length */
-+ memory_blocks = segment_length * (context->lanes * ARGON2_SYNC_POINTS);
-+
-+ instance.version = context->version;
-+ instance.memory = NULL;
-+ instance.passes = context->t_cost;
-+ instance.memory_blocks = memory_blocks;
-+ instance.segment_length = segment_length;
-+ instance.lane_length = segment_length * ARGON2_SYNC_POINTS;
-+ instance.lanes = context->lanes;
-+ instance.threads = context->threads;
-+ instance.type = type;
-+
-+ if (instance.threads > instance.lanes) {
-+ instance.threads = instance.lanes;
-+ }
-+
-+ /* 3. Initialization: Hashing inputs, allocating memory, filling first
-+ * blocks
-+ */
-+ result = initialize(&instance, context);
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+
-+ /* 4. Filling memory */
-+ result = fill_memory_blocks(&instance);
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+ /* 5. Finalization */
-+ finalize(context, &instance);
-+
-+ return ARGON2_OK;
-+}
-+
-+int argon2_hash(const grub_uint32_t t_cost, const grub_uint32_t m_cost,
-+ const grub_uint32_t parallelism, const void *pwd,
-+ const grub_size_t pwdlen, const void *salt, const grub_size_t saltlen,
-+ void *hash, const grub_size_t hashlen, argon2_type type,
-+ const grub_uint32_t version){
-+
-+ argon2_context context;
-+ int result;
-+ grub_uint8_t *out;
-+
-+ if (pwdlen > ARGON2_MAX_PWD_LENGTH) {
-+ return ARGON2_PWD_TOO_LONG;
-+ }
-+
-+ if (saltlen > ARGON2_MAX_SALT_LENGTH) {
-+ return ARGON2_SALT_TOO_LONG;
-+ }
-+
-+ if (hashlen > ARGON2_MAX_OUTLEN) {
-+ return ARGON2_OUTPUT_TOO_LONG;
-+ }
-+
-+ if (hashlen < ARGON2_MIN_OUTLEN) {
-+ return ARGON2_OUTPUT_TOO_SHORT;
-+ }
-+
-+ out = grub_malloc(hashlen);
-+ if (!out) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ context.out = (grub_uint8_t *)out;
-+ context.outlen = (grub_uint32_t)hashlen;
-+ context.pwd = CONST_CAST(grub_uint8_t *)pwd;
-+ context.pwdlen = (grub_uint32_t)pwdlen;
-+ context.salt = CONST_CAST(grub_uint8_t *)salt;
-+ context.saltlen = (grub_uint32_t)saltlen;
-+ context.secret = NULL;
-+ context.secretlen = 0;
-+ context.ad = NULL;
-+ context.adlen = 0;
-+ context.t_cost = t_cost;
-+ context.m_cost = m_cost;
-+ context.lanes = parallelism;
-+ context.threads = parallelism;
-+ context.allocate_cbk = NULL;
-+ context.grub_free_cbk = NULL;
-+ context.flags = ARGON2_DEFAULT_FLAGS;
-+ context.version = version;
-+
-+ result = argon2_ctx(&context, type);
-+
-+ if (result != ARGON2_OK) {
-+ clear_internal_memory(out, hashlen);
-+ grub_free(out);
-+ return result;
-+ }
-+
-+ /* if raw hash requested, write it */
-+ if (hash) {
-+ grub_memcpy(hash, out, hashlen);
-+ }
-+
-+ clear_internal_memory(out, hashlen);
-+ grub_free(out);
-+
-+ return ARGON2_OK;
-+}
-+
-+const char *argon2_error_message(int error_code) {
-+ switch (error_code) {
-+ case ARGON2_OK:
-+ return "OK";
-+ case ARGON2_OUTPUT_PTR_NULL:
-+ return "Output pointer is NULL";
-+ case ARGON2_OUTPUT_TOO_SHORT:
-+ return "Output is too short";
-+ case ARGON2_OUTPUT_TOO_LONG:
-+ return "Output is too long";
-+ case ARGON2_PWD_TOO_SHORT:
-+ return "Password is too short";
-+ case ARGON2_PWD_TOO_LONG:
-+ return "Password is too long";
-+ case ARGON2_SALT_TOO_SHORT:
-+ return "Salt is too short";
-+ case ARGON2_SALT_TOO_LONG:
-+ return "Salt is too long";
-+ case ARGON2_AD_TOO_SHORT:
-+ return "Associated data is too short";
-+ case ARGON2_AD_TOO_LONG:
-+ return "Associated data is too long";
-+ case ARGON2_SECRET_TOO_SHORT:
-+ return "Secret is too short";
-+ case ARGON2_SECRET_TOO_LONG:
-+ return "Secret is too long";
-+ case ARGON2_TIME_TOO_SMALL:
-+ return "Time cost is too small";
-+ case ARGON2_TIME_TOO_LARGE:
-+ return "Time cost is too large";
-+ case ARGON2_MEMORY_TOO_LITTLE:
-+ return "Memory cost is too small";
-+ case ARGON2_MEMORY_TOO_MUCH:
-+ return "Memory cost is too large";
-+ case ARGON2_LANES_TOO_FEW:
-+ return "Too few lanes";
-+ case ARGON2_LANES_TOO_MANY:
-+ return "Too many lanes";
-+ case ARGON2_PWD_PTR_MISMATCH:
-+ return "Password pointer is NULL, but password length is not 0";
-+ case ARGON2_SALT_PTR_MISMATCH:
-+ return "Salt pointer is NULL, but salt length is not 0";
-+ case ARGON2_SECRET_PTR_MISMATCH:
-+ return "Secret pointer is NULL, but secret length is not 0";
-+ case ARGON2_AD_PTR_MISMATCH:
-+ return "Associated data pointer is NULL, but ad length is not 0";
-+ case ARGON2_MEMORY_ALLOCATION_ERROR:
-+ return "Memory allocation error";
-+ case ARGON2_FREE_MEMORY_CBK_NULL:
-+ return "The grub_free memory callback is NULL";
-+ case ARGON2_ALLOCATE_MEMORY_CBK_NULL:
-+ return "The allocate memory callback is NULL";
-+ case ARGON2_INCORRECT_PARAMETER:
-+ return "Argon2_Context context is NULL";
-+ case ARGON2_INCORRECT_TYPE:
-+ return "There is no such version of Argon2";
-+ case ARGON2_OUT_PTR_MISMATCH:
-+ return "Output pointer mismatch";
-+ case ARGON2_THREADS_TOO_FEW:
-+ return "Not enough threads";
-+ case ARGON2_THREADS_TOO_MANY:
-+ return "Too many threads";
-+ case ARGON2_MISSING_ARGS:
-+ return "Missing arguments";
-+ case ARGON2_ENCODING_FAIL:
-+ return "Encoding failed";
-+ case ARGON2_DECODING_FAIL:
-+ return "Decoding failed";
-+ case ARGON2_THREAD_FAIL:
-+ return "Threading failure";
-+ case ARGON2_DECODING_LENGTH_FAIL:
-+ return "Some of encoded parameters are too long or too short";
-+ case ARGON2_VERIFY_MISMATCH:
-+ return "The password does not match the supplied hash";
-+ default:
-+ return "Unknown error code";
-+ }
-+}
-diff --git a/grub-core/lib/argon2/argon2.h b/grub-core/lib/argon2/argon2.h
-new file mode 100644
-index 000000000..129f7efbd
---- /dev/null
-+++ b/grub-core/lib/argon2/argon2.h
-@@ -0,0 +1,264 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef ARGON2_H
-+#define ARGON2_H
-+
-+#include <grub/misc.h>
-+#include <grub/mm.h>
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+/* Symbols visibility control */
-+#ifdef A2_VISCTL
-+#define ARGON2_PUBLIC __attribute__((visibility("default")))
-+#define ARGON2_LOCAL __attribute__ ((visibility ("hidden")))
-+#elif defined(_MSC_VER)
-+#define ARGON2_PUBLIC __declspec(dllexport)
-+#define ARGON2_LOCAL
-+#else
-+#define ARGON2_PUBLIC
-+#define ARGON2_LOCAL
-+#endif
-+
-+/*
-+ * Argon2 input parameter restrictions
-+ */
-+
-+/* Minimum and maximum number of lanes (degree of parallelism) */
-+#define ARGON2_MIN_LANES GRUB_UINT32_C(1)
-+#define ARGON2_MAX_LANES GRUB_UINT32_C(0xFFFFFF)
-+
-+/* Minimum and maximum number of threads */
-+#define ARGON2_MIN_THREADS GRUB_UINT32_C(1)
-+#define ARGON2_MAX_THREADS GRUB_UINT32_C(0xFFFFFF)
-+
-+/* Number of synchronization points between lanes per pass */
-+#define ARGON2_SYNC_POINTS GRUB_UINT32_C(4)
-+
-+/* Minimum and maximum digest size in bytes */
-+#define ARGON2_MIN_OUTLEN GRUB_UINT32_C(4)
-+#define ARGON2_MAX_OUTLEN GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum number of memory blocks (each of BLOCK_SIZE bytes) */
-+#define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */
-+
-+#define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b))
-+/* Max memory size is addressing-space/2, topping at 2^32 blocks (4 TB) */
-+#define ARGON2_MAX_MEMORY_BITS \
-+ ARGON2_MIN(GRUB_UINT32_C(32), (sizeof(void *) * GRUB_CHAR_BIT - 10 - 1))
-+#define ARGON2_MAX_MEMORY \
-+ ARGON2_MIN(GRUB_UINT32_C(0xFFFFFFFF), GRUB_UINT64_C(1) << ARGON2_MAX_MEMORY_BITS)
-+
-+/* Minimum and maximum number of passes */
-+#define ARGON2_MIN_TIME GRUB_UINT32_C(1)
-+#define ARGON2_MAX_TIME GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum password length in bytes */
-+#define ARGON2_MIN_PWD_LENGTH GRUB_UINT32_C(0)
-+#define ARGON2_MAX_PWD_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum associated data length in bytes */
-+#define ARGON2_MIN_AD_LENGTH GRUB_UINT32_C(0)
-+#define ARGON2_MAX_AD_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum salt length in bytes */
-+#define ARGON2_MIN_SALT_LENGTH GRUB_UINT32_C(8)
-+#define ARGON2_MAX_SALT_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum key length in bytes */
-+#define ARGON2_MIN_SECRET GRUB_UINT32_C(0)
-+#define ARGON2_MAX_SECRET GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Flags to determine which fields are securely wiped (default = no wipe). */
-+#define ARGON2_DEFAULT_FLAGS GRUB_UINT32_C(0)
-+#define ARGON2_FLAG_CLEAR_PASSWORD (GRUB_UINT32_C(1) << 0)
-+#define ARGON2_FLAG_CLEAR_SECRET (GRUB_UINT32_C(1) << 1)
-+
-+/* Global flag to determine if we are wiping internal memory buffers. This flag
-+ * is defined in core.c and defaults to 1 (wipe internal memory). */
-+extern int FLAG_clear_internal_memory;
-+
-+/* Error codes */
-+typedef enum Argon2_ErrorCodes {
-+ ARGON2_OK = 0,
-+
-+ ARGON2_OUTPUT_PTR_NULL = -1,
-+
-+ ARGON2_OUTPUT_TOO_SHORT = -2,
-+ ARGON2_OUTPUT_TOO_LONG = -3,
-+
-+ ARGON2_PWD_TOO_SHORT = -4,
-+ ARGON2_PWD_TOO_LONG = -5,
-+
-+ ARGON2_SALT_TOO_SHORT = -6,
-+ ARGON2_SALT_TOO_LONG = -7,
-+
-+ ARGON2_AD_TOO_SHORT = -8,
-+ ARGON2_AD_TOO_LONG = -9,
-+
-+ ARGON2_SECRET_TOO_SHORT = -10,
-+ ARGON2_SECRET_TOO_LONG = -11,
-+
-+ ARGON2_TIME_TOO_SMALL = -12,
-+ ARGON2_TIME_TOO_LARGE = -13,
-+
-+ ARGON2_MEMORY_TOO_LITTLE = -14,
-+ ARGON2_MEMORY_TOO_MUCH = -15,
-+
-+ ARGON2_LANES_TOO_FEW = -16,
-+ ARGON2_LANES_TOO_MANY = -17,
-+
-+ ARGON2_PWD_PTR_MISMATCH = -18, /* NULL ptr with non-zero length */
-+ ARGON2_SALT_PTR_MISMATCH = -19, /* NULL ptr with non-zero length */
-+ ARGON2_SECRET_PTR_MISMATCH = -20, /* NULL ptr with non-zero length */
-+ ARGON2_AD_PTR_MISMATCH = -21, /* NULL ptr with non-zero length */
-+
-+ ARGON2_MEMORY_ALLOCATION_ERROR = -22,
-+
-+ ARGON2_FREE_MEMORY_CBK_NULL = -23,
-+ ARGON2_ALLOCATE_MEMORY_CBK_NULL = -24,
-+
-+ ARGON2_INCORRECT_PARAMETER = -25,
-+ ARGON2_INCORRECT_TYPE = -26,
-+
-+ ARGON2_OUT_PTR_MISMATCH = -27,
-+
-+ ARGON2_THREADS_TOO_FEW = -28,
-+ ARGON2_THREADS_TOO_MANY = -29,
-+
-+ ARGON2_MISSING_ARGS = -30,
-+
-+ ARGON2_ENCODING_FAIL = -31,
-+
-+ ARGON2_DECODING_FAIL = -32,
-+
-+ ARGON2_THREAD_FAIL = -33,
-+
-+ ARGON2_DECODING_LENGTH_FAIL = -34,
-+
-+ ARGON2_VERIFY_MISMATCH = -35
-+} argon2_error_codes;
-+
-+/* Memory allocator types --- for external allocation */
-+typedef int (*allocate_fptr)(grub_uint8_t **memory, grub_size_t bytes_to_allocate);
-+typedef void (*deallocate_fptr)(grub_uint8_t *memory, grub_size_t bytes_to_allocate);
-+
-+/* Argon2 external data structures */
-+
-+/*
-+ *****
-+ * Context: structure to hold Argon2 inputs:
-+ * output array and its length,
-+ * password and its length,
-+ * salt and its length,
-+ * secret and its length,
-+ * associated data and its length,
-+ * number of passes, amount of used memory (in KBytes, can be rounded up a bit)
-+ * number of parallel threads that will be run.
-+ * All the parameters above affect the output hash value.
-+ * Additionally, two function pointers can be provided to allocate and
-+ * deallocate the memory (if NULL, memory will be allocated internally).
-+ * Also, three flags indicate whether to erase password, secret as soon as they
-+ * are pre-hashed (and thus not needed anymore), and the entire memory
-+ *****
-+ * Simplest situation: you have output array out[8], password is stored in
-+ * pwd[32], salt is stored in salt[16], you do not have keys nor associated
-+ * data. You need to spend 1 GB of RAM and you run 5 passes of Argon2d with
-+ * 4 parallel lanes.
-+ * You want to erase the password, but you're OK with last pass not being
-+ * erased. You want to use the default memory allocator.
-+ * Then you initialize:
-+ Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false)
-+ */
-+typedef struct Argon2_Context {
-+ grub_uint8_t *out; /* output array */
-+ grub_uint32_t outlen; /* digest length */
-+
-+ grub_uint8_t *pwd; /* password array */
-+ grub_uint32_t pwdlen; /* password length */
-+
-+ grub_uint8_t *salt; /* salt array */
-+ grub_uint32_t saltlen; /* salt length */
-+
-+ grub_uint8_t *secret; /* key array */
-+ grub_uint32_t secretlen; /* key length */
-+
-+ grub_uint8_t *ad; /* associated data array */
-+ grub_uint32_t adlen; /* associated data length */
-+
-+ grub_uint32_t t_cost; /* number of passes */
-+ grub_uint32_t m_cost; /* amount of memory requested (KB) */
-+ grub_uint32_t lanes; /* number of lanes */
-+ grub_uint32_t threads; /* maximum number of threads */
-+
-+ grub_uint32_t version; /* version number */
-+
-+ allocate_fptr allocate_cbk; /* pointer to memory allocator */
-+ deallocate_fptr grub_free_cbk; /* pointer to memory deallocator */
-+
-+ grub_uint32_t flags; /* array of bool options */
-+} argon2_context;
-+
-+/* Argon2 primitive type */
-+typedef enum Argon2_type {
-+ Argon2_d = 0,
-+ Argon2_i = 1,
-+ Argon2_id = 2
-+} argon2_type;
-+
-+/* Version of the algorithm */
-+typedef enum Argon2_version {
-+ ARGON2_VERSION_10 = 0x10,
-+ ARGON2_VERSION_13 = 0x13,
-+ ARGON2_VERSION_NUMBER = ARGON2_VERSION_13
-+} argon2_version;
-+
-+/**
-+ * Hashes a password with Argon2, producing a raw hash at @hash
-+ * @param t_cost Number of iterations
-+ * @param m_cost Sets memory usage to m_cost kibibytes
-+ * @param parallelism Number of threads and compute lanes
-+ * @param pwd Pointer to password
-+ * @param pwdlen Password size in bytes
-+ * @param salt Pointer to salt
-+ * @param saltlen Salt size in bytes
-+ * @param hash Buffer where to write the raw hash - updated by the function
-+ * @param hashlen Desired length of the hash in bytes
-+ * @pre Different parallelism levels will give different results
-+ * @pre Returns ARGON2_OK if successful
-+ */
-+ARGON2_PUBLIC int argon2_hash(const grub_uint32_t t_cost, const grub_uint32_t m_cost,
-+ const grub_uint32_t parallelism, const void *pwd,
-+ const grub_size_t pwdlen, const void *salt,
-+ const grub_size_t saltlen, void *hash,
-+ const grub_size_t hashlen, argon2_type type,
-+ const grub_uint32_t version);
-+
-+/**
-+ * Get the associated error message for given error code
-+ * @return The error message associated with the given error code
-+ */
-+ARGON2_PUBLIC const char *argon2_error_message(int error_code);
-+
-+#if defined(__cplusplus)
-+}
-+#endif
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2-impl.h b/grub-core/lib/argon2/blake2/blake2-impl.h
-new file mode 100644
-index 000000000..3a795680b
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2-impl.h
-@@ -0,0 +1,151 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef PORTABLE_BLAKE2_IMPL_H
-+#define PORTABLE_BLAKE2_IMPL_H
-+
-+#if defined(_MSC_VER)
-+#define BLAKE2_INLINE __inline
-+#elif defined(__GNUC__) || defined(__clang__)
-+#define BLAKE2_INLINE __inline__
-+#else
-+#define BLAKE2_INLINE
-+#endif
-+
-+/* Argon2 Team - Begin Code */
-+/*
-+ Not an exhaustive list, but should cover the majority of modern platforms
-+ Additionally, the code will always be correct---this is only a performance
-+ tweak.
-+*/
-+#if (defined(__BYTE_ORDER__) && \
-+ (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) || \
-+ defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || defined(__MIPSEL__) || \
-+ defined(__AARCH64EL__) || defined(__amd64__) || defined(__i386__) || \
-+ defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \
-+ defined(_M_ARM)
-+#define NATIVE_LITTLE_ENDIAN
-+#endif
-+/* Argon2 Team - End Code */
-+
-+static BLAKE2_INLINE grub_uint32_t load32(const void *src) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_uint32_t w;
-+ grub_memcpy(&w, src, sizeof w);
-+ return w;
-+#else
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint32_t w = *p++;
-+ w |= (grub_uint32_t)(*p++) << 8;
-+ w |= (grub_uint32_t)(*p++) << 16;
-+ w |= (grub_uint32_t)(*p++) << 24;
-+ return w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t load64(const void *src) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_uint64_t w;
-+ grub_memcpy(&w, src, sizeof w);
-+ return w;
-+#else
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint64_t w = *p++;
-+ w |= (grub_uint64_t)(*p++) << 8;
-+ w |= (grub_uint64_t)(*p++) << 16;
-+ w |= (grub_uint64_t)(*p++) << 24;
-+ w |= (grub_uint64_t)(*p++) << 32;
-+ w |= (grub_uint64_t)(*p++) << 40;
-+ w |= (grub_uint64_t)(*p++) << 48;
-+ w |= (grub_uint64_t)(*p++) << 56;
-+ return w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE void store32(void *dst, grub_uint32_t w) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_memcpy(dst, &w, sizeof w);
-+#else
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE void store64(void *dst, grub_uint64_t w) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_memcpy(dst, &w, sizeof w);
-+#else
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t load48(const void *src) {
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint64_t w = *p++;
-+ w |= (grub_uint64_t)(*p++) << 8;
-+ w |= (grub_uint64_t)(*p++) << 16;
-+ w |= (grub_uint64_t)(*p++) << 24;
-+ w |= (grub_uint64_t)(*p++) << 32;
-+ w |= (grub_uint64_t)(*p++) << 40;
-+ return w;
-+}
-+
-+static BLAKE2_INLINE void store48(void *dst, grub_uint64_t w) {
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+}
-+
-+static BLAKE2_INLINE grub_uint32_t rotr32(const grub_uint32_t w, const unsigned c) {
-+ return (w >> c) | (w << (32 - c));
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t rotr64(const grub_uint64_t w, const unsigned c) {
-+ return (w >> c) | (w << (64 - c));
-+}
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2.h b/grub-core/lib/argon2/blake2/blake2.h
-new file mode 100644
-index 000000000..4e8efeb22
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2.h
-@@ -0,0 +1,89 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef PORTABLE_BLAKE2_H
-+#define PORTABLE_BLAKE2_H
-+
-+#include "../argon2.h"
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+enum blake2b_constant {
-+ BLAKE2B_BLOCKBYTES = 128,
-+ BLAKE2B_OUTBYTES = 64,
-+ BLAKE2B_KEYBYTES = 64,
-+ BLAKE2B_SALTBYTES = 16,
-+ BLAKE2B_PERSONALBYTES = 16
-+};
-+
-+#pragma pack(push, 1)
-+typedef struct __blake2b_param {
-+ grub_uint8_t digest_length; /* 1 */
-+ grub_uint8_t key_length; /* 2 */
-+ grub_uint8_t fanout; /* 3 */
-+ grub_uint8_t depth; /* 4 */
-+ grub_uint32_t leaf_length; /* 8 */
-+ grub_uint64_t node_offset; /* 16 */
-+ grub_uint8_t node_depth; /* 17 */
-+ grub_uint8_t inner_length; /* 18 */
-+ grub_uint8_t reserved[14]; /* 32 */
-+ grub_uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */
-+ grub_uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */
-+} blake2b_param;
-+#pragma pack(pop)
-+
-+typedef struct __blake2b_state {
-+ grub_uint64_t h[8];
-+ grub_uint64_t t[2];
-+ grub_uint64_t f[2];
-+ grub_uint8_t buf[BLAKE2B_BLOCKBYTES];
-+ unsigned buflen;
-+ unsigned outlen;
-+ grub_uint8_t last_node;
-+} blake2b_state;
-+
-+/* Ensure param structs have not been wrongly padded */
-+/* Poor man's static_assert */
-+enum {
-+ blake2_size_check_0 = 1 / !!(GRUB_CHAR_BIT == 8),
-+ blake2_size_check_2 =
-+ 1 / !!(sizeof(blake2b_param) == sizeof(grub_uint64_t) * GRUB_CHAR_BIT)
-+};
-+
-+/* Streaming API */
-+ARGON2_LOCAL int blake2b_init(blake2b_state *S, grub_size_t outlen);
-+ARGON2_LOCAL int blake2b_init_key(blake2b_state *S, grub_size_t outlen, const void *key,
-+ grub_size_t keylen);
-+ARGON2_LOCAL int blake2b_init_param(blake2b_state *S, const blake2b_param *P);
-+ARGON2_LOCAL int blake2b_update(blake2b_state *S, const void *in, grub_size_t inlen);
-+ARGON2_LOCAL int blake2b_final(blake2b_state *S, void *out, grub_size_t outlen);
-+
-+/* Simple API */
-+ARGON2_LOCAL int blake2b(void *out, grub_size_t outlen, const void *in, grub_size_t inlen,
-+ const void *key, grub_size_t keylen);
-+
-+/* Argon2 Team - Begin Code */
-+ARGON2_LOCAL int blake2b_long(void *out, grub_size_t outlen, const void *in, grub_size_t inlen);
-+/* Argon2 Team - End Code */
-+
-+#if defined(__cplusplus)
-+}
-+#endif
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2b.c b/grub-core/lib/argon2/blake2/blake2b.c
-new file mode 100644
-index 000000000..53abd7bef
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2b.c
-@@ -0,0 +1,388 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include "blake2.h"
-+#include "blake2-impl.h"
-+
-+static const grub_uint64_t blake2b_IV[8] = {
-+ GRUB_UINT64_C(0x6a09e667f3bcc908), GRUB_UINT64_C(0xbb67ae8584caa73b),
-+ GRUB_UINT64_C(0x3c6ef372fe94f82b), GRUB_UINT64_C(0xa54ff53a5f1d36f1),
-+ GRUB_UINT64_C(0x510e527fade682d1), GRUB_UINT64_C(0x9b05688c2b3e6c1f),
-+ GRUB_UINT64_C(0x1f83d9abfb41bd6b), GRUB_UINT64_C(0x5be0cd19137e2179)};
-+
-+static const unsigned int blake2b_sigma[12][16] = {
-+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
-+ {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
-+ {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4},
-+ {7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8},
-+ {9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13},
-+ {2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9},
-+ {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11},
-+ {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10},
-+ {6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5},
-+ {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0},
-+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
-+ {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
-+};
-+
-+void clear_internal_memory(void *v, grub_size_t n);
-+
-+static BLAKE2_INLINE void blake2b_set_lastnode(blake2b_state *S) {
-+ S->f[1] = (grub_uint64_t)-1;
-+}
-+
-+static BLAKE2_INLINE void blake2b_set_lastblock(blake2b_state *S) {
-+ if (S->last_node) {
-+ blake2b_set_lastnode(S);
-+ }
-+ S->f[0] = (grub_uint64_t)-1;
-+}
-+
-+static BLAKE2_INLINE void blake2b_increment_counter(blake2b_state *S,
-+ grub_uint64_t inc) {
-+ S->t[0] += inc;
-+ S->t[1] += (S->t[0] < inc);
-+}
-+
-+static BLAKE2_INLINE void blake2b_invalidate_state(blake2b_state *S) {
-+ clear_internal_memory(S, sizeof(*S)); /* wipe */
-+ blake2b_set_lastblock(S); /* invalidate for further use */
-+}
-+
-+static BLAKE2_INLINE void blake2b_init0(blake2b_state *S) {
-+ grub_memset(S, 0, sizeof(*S));
-+ grub_memcpy(S->h, blake2b_IV, sizeof(S->h));
-+}
-+
-+int blake2b_init_param(blake2b_state *S, const blake2b_param *P) {
-+ const unsigned char *p = (const unsigned char *)P;
-+ unsigned int i;
-+
-+ if (NULL == P || NULL == S) {
-+ return -1;
-+ }
-+
-+ blake2b_init0(S);
-+ /* IV XOR Parameter Block */
-+ for (i = 0; i < 8; ++i) {
-+ S->h[i] ^= load64(&p[i * sizeof(S->h[i])]);
-+ }
-+ S->outlen = P->digest_length;
-+ return 0;
-+}
-+
-+/* Sequential blake2b initialization */
-+int blake2b_init(blake2b_state *S, grub_size_t outlen) {
-+ blake2b_param P;
-+
-+ if (S == NULL) {
-+ return -1;
-+ }
-+
-+ if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ /* Setup Parameter Block for unkeyed BLAKE2 */
-+ P.digest_length = (grub_uint8_t)outlen;
-+ P.key_length = 0;
-+ P.fanout = 1;
-+ P.depth = 1;
-+ P.leaf_length = 0;
-+ P.node_offset = 0;
-+ P.node_depth = 0;
-+ P.inner_length = 0;
-+ grub_memset(P.reserved, 0, sizeof(P.reserved));
-+ grub_memset(P.salt, 0, sizeof(P.salt));
-+ grub_memset(P.personal, 0, sizeof(P.personal));
-+
-+ return blake2b_init_param(S, &P);
-+}
-+
-+int blake2b_init_key(blake2b_state *S, grub_size_t outlen, const void *key,
-+ grub_size_t keylen) {
-+ blake2b_param P;
-+
-+ if (S == NULL) {
-+ return -1;
-+ }
-+
-+ if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ if ((key == 0) || (keylen == 0) || (keylen > BLAKE2B_KEYBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ /* Setup Parameter Block for keyed BLAKE2 */
-+ P.digest_length = (grub_uint8_t)outlen;
-+ P.key_length = (grub_uint8_t)keylen;
-+ P.fanout = 1;
-+ P.depth = 1;
-+ P.leaf_length = 0;
-+ P.node_offset = 0;
-+ P.node_depth = 0;
-+ P.inner_length = 0;
-+ grub_memset(P.reserved, 0, sizeof(P.reserved));
-+ grub_memset(P.salt, 0, sizeof(P.salt));
-+ grub_memset(P.personal, 0, sizeof(P.personal));
-+
-+ if (blake2b_init_param(S, &P) < 0) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ {
-+ grub_uint8_t block[BLAKE2B_BLOCKBYTES];
-+ grub_memset(block, 0, BLAKE2B_BLOCKBYTES);
-+ grub_memcpy(block, key, keylen);
-+ blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
-+ /* Burn the key from stack */
-+ clear_internal_memory(block, BLAKE2B_BLOCKBYTES);
-+ }
-+ return 0;
-+}
-+
-+static void blake2b_compress(blake2b_state *S, const grub_uint8_t *block) {
-+ grub_uint64_t m[16];
-+ grub_uint64_t v[16];
-+ unsigned int i, r;
-+
-+ for (i = 0; i < 16; ++i) {
-+ m[i] = load64(block + i * sizeof(m[i]));
-+ }
-+
-+ for (i = 0; i < 8; ++i) {
-+ v[i] = S->h[i];
-+ }
-+
-+ v[8] = blake2b_IV[0];
-+ v[9] = blake2b_IV[1];
-+ v[10] = blake2b_IV[2];
-+ v[11] = blake2b_IV[3];
-+ v[12] = blake2b_IV[4] ^ S->t[0];
-+ v[13] = blake2b_IV[5] ^ S->t[1];
-+ v[14] = blake2b_IV[6] ^ S->f[0];
-+ v[15] = blake2b_IV[7] ^ S->f[1];
-+
-+#define G(r, i, a, b, c, d) \
-+ do { \
-+ a = a + b + m[blake2b_sigma[r][2 * i + 0]]; \
-+ d = rotr64(d ^ a, 32); \
-+ c = c + d; \
-+ b = rotr64(b ^ c, 24); \
-+ a = a + b + m[blake2b_sigma[r][2 * i + 1]]; \
-+ d = rotr64(d ^ a, 16); \
-+ c = c + d; \
-+ b = rotr64(b ^ c, 63); \
-+ } while ((void)0, 0)
-+
-+#define ROUND(r) \
-+ do { \
-+ G(r, 0, v[0], v[4], v[8], v[12]); \
-+ G(r, 1, v[1], v[5], v[9], v[13]); \
-+ G(r, 2, v[2], v[6], v[10], v[14]); \
-+ G(r, 3, v[3], v[7], v[11], v[15]); \
-+ G(r, 4, v[0], v[5], v[10], v[15]); \
-+ G(r, 5, v[1], v[6], v[11], v[12]); \
-+ G(r, 6, v[2], v[7], v[8], v[13]); \
-+ G(r, 7, v[3], v[4], v[9], v[14]); \
-+ } while ((void)0, 0)
-+
-+ for (r = 0; r < 12; ++r) {
-+ ROUND(r);
-+ }
-+
-+ for (i = 0; i < 8; ++i) {
-+ S->h[i] = S->h[i] ^ v[i] ^ v[i + 8];
-+ }
-+
-+#undef G
-+#undef ROUND
-+}
-+
-+int blake2b_update(blake2b_state *S, const void *in, grub_size_t inlen) {
-+ const grub_uint8_t *pin = (const grub_uint8_t *)in;
-+
-+ if (inlen == 0) {
-+ return 0;
-+ }
-+
-+ /* Sanity check */
-+ if (S == NULL || in == NULL) {
-+ return -1;
-+ }
-+
-+ /* Is this a reused state? */
-+ if (S->f[0] != 0) {
-+ return -1;
-+ }
-+
-+ if (S->buflen + inlen > BLAKE2B_BLOCKBYTES) {
-+ /* Complete current block */
-+ grub_size_t left = S->buflen;
-+ grub_size_t fill = BLAKE2B_BLOCKBYTES - left;
-+ grub_memcpy(&S->buf[left], pin, fill);
-+ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES);
-+ blake2b_compress(S, S->buf);
-+ S->buflen = 0;
-+ inlen -= fill;
-+ pin += fill;
-+ /* Avoid buffer copies when possible */
-+ while (inlen > BLAKE2B_BLOCKBYTES) {
-+ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES);
-+ blake2b_compress(S, pin);
-+ inlen -= BLAKE2B_BLOCKBYTES;
-+ pin += BLAKE2B_BLOCKBYTES;
-+ }
-+ }
-+ grub_memcpy(&S->buf[S->buflen], pin, inlen);
-+ S->buflen += (unsigned int)inlen;
-+ return 0;
-+}
-+
-+int blake2b_final(blake2b_state *S, void *out, grub_size_t outlen) {
-+ grub_uint8_t buffer[BLAKE2B_OUTBYTES] = {0};
-+ unsigned int i;
-+
-+ /* Sanity checks */
-+ if (S == NULL || out == NULL || outlen < S->outlen) {
-+ return -1;
-+ }
-+
-+ /* Is this a reused state? */
-+ if (S->f[0] != 0) {
-+ return -1;
-+ }
-+
-+ blake2b_increment_counter(S, S->buflen);
-+ blake2b_set_lastblock(S);
-+ grub_memset(&S->buf[S->buflen], 0, BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */
-+ blake2b_compress(S, S->buf);
-+
-+ for (i = 0; i < 8; ++i) { /* Output full hash to temp buffer */
-+ store64(buffer + sizeof(S->h[i]) * i, S->h[i]);
-+ }
-+
-+ grub_memcpy(out, buffer, S->outlen);
-+ clear_internal_memory(buffer, sizeof(buffer));
-+ clear_internal_memory(S->buf, sizeof(S->buf));
-+ clear_internal_memory(S->h, sizeof(S->h));
-+ return 0;
-+}
-+
-+int blake2b(void *out, grub_size_t outlen, const void *in, grub_size_t inlen,
-+ const void *key, grub_size_t keylen) {
-+ blake2b_state S;
-+ int ret = -1;
-+
-+ /* Verify parameters */
-+ if (NULL == in && inlen > 0) {
-+ goto fail;
-+ }
-+
-+ if (NULL == out || outlen == 0 || outlen > BLAKE2B_OUTBYTES) {
-+ goto fail;
-+ }
-+
-+ if ((NULL == key && keylen > 0) || keylen > BLAKE2B_KEYBYTES) {
-+ goto fail;
-+ }
-+
-+ if (keylen > 0) {
-+ if (blake2b_init_key(&S, outlen, key, keylen) < 0) {
-+ goto fail;
-+ }
-+ } else {
-+ if (blake2b_init(&S, outlen) < 0) {
-+ goto fail;
-+ }
-+ }
-+
-+ if (blake2b_update(&S, in, inlen) < 0) {
-+ goto fail;
-+ }
-+ ret = blake2b_final(&S, out, outlen);
-+
-+fail:
-+ clear_internal_memory(&S, sizeof(S));
-+ return ret;
-+}
-+
-+/* Argon2 Team - Begin Code */
-+int blake2b_long(void *pout, grub_size_t outlen, const void *in, grub_size_t inlen) {
-+ grub_uint8_t *out = (grub_uint8_t *)pout;
-+ blake2b_state blake_state;
-+ grub_uint8_t outlen_bytes[sizeof(grub_uint32_t)] = {0};
-+ int ret = -1;
-+
-+ if (outlen > GRUB_UINT32_MAX) {
-+ goto fail;
-+ }
-+
-+ /* Ensure little-endian byte order! */
-+ store32(outlen_bytes, (grub_uint32_t)outlen);
-+
-+#define TRY(statement) \
-+ do { \
-+ ret = statement; \
-+ if (ret < 0) { \
-+ goto fail; \
-+ } \
-+ } while ((void)0, 0)
-+
-+ if (outlen <= BLAKE2B_OUTBYTES) {
-+ TRY(blake2b_init(&blake_state, outlen));
-+ TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
-+ TRY(blake2b_update(&blake_state, in, inlen));
-+ TRY(blake2b_final(&blake_state, out, outlen));
-+ } else {
-+ grub_uint32_t toproduce;
-+ grub_uint8_t out_buffer[BLAKE2B_OUTBYTES];
-+ grub_uint8_t in_buffer[BLAKE2B_OUTBYTES];
-+ TRY(blake2b_init(&blake_state, BLAKE2B_OUTBYTES));
-+ TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
-+ TRY(blake2b_update(&blake_state, in, inlen));
-+ TRY(blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES));
-+ grub_memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
-+ out += BLAKE2B_OUTBYTES / 2;
-+ toproduce = (grub_uint32_t)outlen - BLAKE2B_OUTBYTES / 2;
-+
-+ while (toproduce > BLAKE2B_OUTBYTES) {
-+ grub_memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
-+ TRY(blake2b(out_buffer, BLAKE2B_OUTBYTES, in_buffer,
-+ BLAKE2B_OUTBYTES, NULL, 0));
-+ grub_memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
-+ out += BLAKE2B_OUTBYTES / 2;
-+ toproduce -= BLAKE2B_OUTBYTES / 2;
-+ }
-+
-+ grub_memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
-+ TRY(blake2b(out_buffer, toproduce, in_buffer, BLAKE2B_OUTBYTES, NULL,
-+ 0));
-+ grub_memcpy(out, out_buffer, toproduce);
-+ }
-+fail:
-+ clear_internal_memory(&blake_state, sizeof(blake_state));
-+ return ret;
-+#undef TRY
-+}
-+/* Argon2 Team - End Code */
-diff --git a/grub-core/lib/argon2/blake2/blamka-round-ref.h b/grub-core/lib/argon2/blake2/blamka-round-ref.h
-new file mode 100644
-index 000000000..7f0071ada
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blamka-round-ref.h
-@@ -0,0 +1,56 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef BLAKE_ROUND_MKA_H
-+#define BLAKE_ROUND_MKA_H
-+
-+#include "blake2.h"
-+#include "blake2-impl.h"
-+
-+/* designed by the Lyra PHC team */
-+static BLAKE2_INLINE grub_uint64_t fBlaMka(grub_uint64_t x, grub_uint64_t y) {
-+ const grub_uint64_t m = GRUB_UINT64_C(0xFFFFFFFF);
-+ const grub_uint64_t xy = (x & m) * (y & m);
-+ return x + y + 2 * xy;
-+}
-+
-+#define G(a, b, c, d) \
-+ do { \
-+ a = fBlaMka(a, b); \
-+ d = rotr64(d ^ a, 32); \
-+ c = fBlaMka(c, d); \
-+ b = rotr64(b ^ c, 24); \
-+ a = fBlaMka(a, b); \
-+ d = rotr64(d ^ a, 16); \
-+ c = fBlaMka(c, d); \
-+ b = rotr64(b ^ c, 63); \
-+ } while ((void)0, 0)
-+
-+#define BLAKE2_ROUND_NOMSG(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, \
-+ v12, v13, v14, v15) \
-+ do { \
-+ G(v0, v4, v8, v12); \
-+ G(v1, v5, v9, v13); \
-+ G(v2, v6, v10, v14); \
-+ G(v3, v7, v11, v15); \
-+ G(v0, v5, v10, v15); \
-+ G(v1, v6, v11, v12); \
-+ G(v2, v7, v8, v13); \
-+ G(v3, v4, v9, v14); \
-+ } while ((void)0, 0)
-+
-+#endif
-diff --git a/grub-core/lib/argon2/core.c b/grub-core/lib/argon2/core.c
-new file mode 100644
-index 000000000..0fe5b74cb
---- /dev/null
-+++ b/grub-core/lib/argon2/core.c
-@@ -0,0 +1,506 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+/*For memory wiping*/
-+#ifdef _MSC_VER
-+#include <windows.h>
-+#include <winbase.h> /* For SecureZeroMemory */
-+#endif
-+#if defined __STDC_LIB_EXT1__
-+#define __STDC_WANT_LIB_EXT1__ 1
-+#endif
-+#define VC_GE_2005(version) (version >= 1400)
-+
-+#include "core.h"
-+#include "blake2/blake2.h"
-+#include "blake2/blake2-impl.h"
-+
-+#ifdef GENKAT
-+#include "genkat.h"
-+#endif
-+
-+#if defined(__clang__)
-+#if __has_attribute(optnone)
-+#define NOT_OPTIMIZED __attribute__((optnone))
-+#endif
-+#elif defined(__GNUC__)
-+#define GCC_VERSION \
-+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-+#if GCC_VERSION >= 40400
-+#define NOT_OPTIMIZED __attribute__((optimize("O0")))
-+#endif
-+#endif
-+#ifndef NOT_OPTIMIZED
-+#define NOT_OPTIMIZED
-+#endif
-+
-+/***************Instance and Position constructors**********/
-+void init_block_value(block *b, grub_uint8_t in) { grub_memset(b->v, in, sizeof(b->v)); }
-+
-+void copy_block(block *dst, const block *src) {
-+ grub_memcpy(dst->v, src->v, sizeof(grub_uint64_t) * ARGON2_QWORDS_IN_BLOCK);
-+}
-+
-+void xor_block(block *dst, const block *src) {
-+ int i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ dst->v[i] ^= src->v[i];
-+ }
-+}
-+
-+static void load_block(block *dst, const void *input) {
-+ unsigned i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ dst->v[i] = load64((const grub_uint8_t *)input + i * sizeof(dst->v[i]));
-+ }
-+}
-+
-+static void store_block(void *output, const block *src) {
-+ unsigned i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ store64((grub_uint8_t *)output + i * sizeof(src->v[i]), src->v[i]);
-+ }
-+}
-+
-+/***************Memory functions*****************/
-+
-+int allocate_memory(const argon2_context *context, grub_uint8_t **memory,
-+ grub_size_t num, grub_size_t size) {
-+ grub_size_t memory_size = num*size;
-+ if (memory == NULL) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ /* 1. Check for multiplication overflow */
-+ if (size != 0 && memory_size / size != num) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ /* 2. Try to allocate with appropriate allocator */
-+ if (context->allocate_cbk) {
-+ (context->allocate_cbk)(memory, memory_size);
-+ } else {
-+ *memory = grub_malloc(memory_size);
-+ }
-+
-+ if (*memory == NULL) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ return ARGON2_OK;
-+}
-+
-+void grub_free_memory(const argon2_context *context, grub_uint8_t *memory,
-+ grub_size_t num, grub_size_t size) {
-+ grub_size_t memory_size = num*size;
-+ clear_internal_memory(memory, memory_size);
-+ if (context->grub_free_cbk) {
-+ (context->grub_free_cbk)(memory, memory_size);
-+ } else {
-+ grub_free(memory);
-+ }
-+}
-+
-+void NOT_OPTIMIZED secure_wipe_memory(void *v, grub_size_t n) {
-+ static void *(*const volatile grub_memset_sec)(void *, int, grub_size_t) = &grub_memset;
-+ grub_memset_sec(v, 0, n);
-+}
-+
-+/* Memory clear flag defaults to true. */
-+int FLAG_clear_internal_memory = 1;
-+void clear_internal_memory(void *v, grub_size_t n) {
-+ if (FLAG_clear_internal_memory && v) {
-+ secure_wipe_memory(v, n);
-+ }
-+}
-+
-+void finalize(const argon2_context *context, argon2_instance_t *instance) {
-+ if (context != NULL && instance != NULL) {
-+ block blockhash;
-+ grub_uint32_t l;
-+
-+ copy_block(&blockhash, instance->memory + instance->lane_length - 1);
-+
-+ /* XOR the last blocks */
-+ for (l = 1; l < instance->lanes; ++l) {
-+ grub_uint32_t last_block_in_lane =
-+ l * instance->lane_length + (instance->lane_length - 1);
-+ xor_block(&blockhash, instance->memory + last_block_in_lane);
-+ }
-+
-+ /* Hash the result */
-+ {
-+ grub_uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE];
-+ store_block(blockhash_bytes, &blockhash);
-+ blake2b_long(context->out, context->outlen, blockhash_bytes,
-+ ARGON2_BLOCK_SIZE);
-+ /* clear blockhash and blockhash_bytes */
-+ clear_internal_memory(blockhash.v, ARGON2_BLOCK_SIZE);
-+ clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE);
-+ }
-+
-+#ifdef GENKAT
-+ print_tag(context->out, context->outlen);
-+#endif
-+
-+ grub_free_memory(context, (grub_uint8_t *)instance->memory,
-+ instance->memory_blocks, sizeof(block));
-+ }
-+}
-+
-+grub_uint32_t index_alpha(const argon2_instance_t *instance,
-+ const argon2_position_t *position, grub_uint32_t pseudo_rand,
-+ int same_lane) {
-+ /*
-+ * Pass 0:
-+ * This lane : all already finished segments plus already constructed
-+ * blocks in this segment
-+ * Other lanes : all already finished segments
-+ * Pass 1+:
-+ * This lane : (SYNC_POINTS - 1) last segments plus already constructed
-+ * blocks in this segment
-+ * Other lanes : (SYNC_POINTS - 1) last segments
-+ */
-+ grub_uint32_t reference_area_size;
-+ grub_uint64_t relative_position;
-+ grub_uint64_t start_position, absolute_position;
-+
-+ if (0 == position->pass) {
-+ /* First pass */
-+ if (0 == position->slice) {
-+ /* First slice */
-+ reference_area_size =
-+ position->index - 1; /* all but the previous */
-+ } else {
-+ if (same_lane) {
-+ /* The same lane => add current segment */
-+ reference_area_size =
-+ position->slice * instance->segment_length +
-+ position->index - 1;
-+ } else {
-+ reference_area_size =
-+ position->slice * instance->segment_length +
-+ ((position->index == 0) ? (-1) : 0);
-+ }
-+ }
-+ } else {
-+ /* Second pass */
-+ if (same_lane) {
-+ reference_area_size = instance->lane_length -
-+ instance->segment_length + position->index -
-+ 1;
-+ } else {
-+ reference_area_size = instance->lane_length -
-+ instance->segment_length +
-+ ((position->index == 0) ? (-1) : 0);
-+ }
-+ }
-+
-+ /* 1.2.4. Mapping pseudo_rand to 0..<reference_area_size-1> and produce
-+ * relative position */
-+ relative_position = pseudo_rand;
-+ relative_position = relative_position * relative_position >> 32;
-+ relative_position = reference_area_size - 1 -
-+ (reference_area_size * relative_position >> 32);
-+
-+ /* 1.2.5 Computing starting position */
-+ start_position = 0;
-+
-+ if (0 != position->pass) {
-+ start_position = (position->slice == ARGON2_SYNC_POINTS - 1)
-+ ? 0
-+ : (position->slice + 1) * instance->segment_length;
-+ }
-+
-+ /* 1.2.6. Computing absolute position */
-+ grub_divmod64 (start_position + relative_position, instance->lane_length,
-+ &absolute_position); /* absolute position */
-+ return absolute_position;
-+}
-+
-+/* Single-threaded version for p=1 case */
-+static int fill_memory_blocks_st(argon2_instance_t *instance) {
-+ grub_uint32_t r, s, l;
-+
-+ for (r = 0; r < instance->passes; ++r) {
-+ for (s = 0; s < ARGON2_SYNC_POINTS; ++s) {
-+ for (l = 0; l < instance->lanes; ++l) {
-+ argon2_position_t position = {r, l, (grub_uint8_t)s, 0};
-+ fill_segment(instance, position);
-+ }
-+ }
-+#ifdef GENKAT
-+ internal_kat(instance, r); /* Print all memory blocks */
-+#endif
-+ }
-+ return ARGON2_OK;
-+}
-+
-+int fill_memory_blocks(argon2_instance_t *instance) {
-+ if (instance == NULL || instance->lanes == 0) {
-+ return ARGON2_INCORRECT_PARAMETER;
-+ }
-+ return fill_memory_blocks_st(instance);
-+}
-+
-+int validate_inputs(const argon2_context *context) {
-+ if (NULL == context) {
-+ return ARGON2_INCORRECT_PARAMETER;
-+ }
-+
-+ if (NULL == context->out) {
-+ return ARGON2_OUTPUT_PTR_NULL;
-+ }
-+
-+ /* Validate output length */
-+ if (ARGON2_MIN_OUTLEN > context->outlen) {
-+ return ARGON2_OUTPUT_TOO_SHORT;
-+ }
-+
-+ if (ARGON2_MAX_OUTLEN < context->outlen) {
-+ return ARGON2_OUTPUT_TOO_LONG;
-+ }
-+
-+ /* Validate password (required param) */
-+ if (NULL == context->pwd) {
-+ if (0 != context->pwdlen) {
-+ return ARGON2_PWD_PTR_MISMATCH;
-+ }
-+ }
-+
-+ if (ARGON2_MAX_PWD_LENGTH < context->pwdlen) {
-+ return ARGON2_PWD_TOO_LONG;
-+ }
-+
-+ /* Validate salt (required param) */
-+ if (NULL == context->salt) {
-+ if (0 != context->saltlen) {
-+ return ARGON2_SALT_PTR_MISMATCH;
-+ }
-+ }
-+
-+ if (ARGON2_MIN_SALT_LENGTH > context->saltlen) {
-+ return ARGON2_SALT_TOO_SHORT;
-+ }
-+
-+ if (ARGON2_MAX_SALT_LENGTH < context->saltlen) {
-+ return ARGON2_SALT_TOO_LONG;
-+ }
-+
-+ /* Validate secret (optional param) */
-+ if (NULL == context->secret) {
-+ if (0 != context->secretlen) {
-+ return ARGON2_SECRET_PTR_MISMATCH;
-+ }
-+ } else {
-+ if (ARGON2_MAX_SECRET < context->secretlen) {
-+ return ARGON2_SECRET_TOO_LONG;
-+ }
-+ }
-+
-+ /* Validate associated data (optional param) */
-+ if (NULL == context->ad) {
-+ if (0 != context->adlen) {
-+ return ARGON2_AD_PTR_MISMATCH;
-+ }
-+ } else {
-+ if (ARGON2_MAX_AD_LENGTH < context->adlen) {
-+ return ARGON2_AD_TOO_LONG;
-+ }
-+ }
-+
-+ /* Validate memory cost */
-+ if (ARGON2_MIN_MEMORY > context->m_cost) {
-+ return ARGON2_MEMORY_TOO_LITTLE;
-+ }
-+
-+ if (context->m_cost < 8 * context->lanes) {
-+ return ARGON2_MEMORY_TOO_LITTLE;
-+ }
-+
-+ /* Validate time cost */
-+ if (ARGON2_MIN_TIME > context->t_cost) {
-+ return ARGON2_TIME_TOO_SMALL;
-+ }
-+
-+ if (ARGON2_MAX_TIME < context->t_cost) {
-+ return ARGON2_TIME_TOO_LARGE;
-+ }
-+
-+ /* Validate lanes */
-+ if (ARGON2_MIN_LANES > context->lanes) {
-+ return ARGON2_LANES_TOO_FEW;
-+ }
-+
-+ if (ARGON2_MAX_LANES < context->lanes) {
-+ return ARGON2_LANES_TOO_MANY;
-+ }
-+
-+ /* Validate threads */
-+ if (ARGON2_MIN_THREADS > context->threads) {
-+ return ARGON2_THREADS_TOO_FEW;
-+ }
-+
-+ if (ARGON2_MAX_THREADS < context->threads) {
-+ return ARGON2_THREADS_TOO_MANY;
-+ }
-+
-+ if (NULL != context->allocate_cbk && NULL == context->grub_free_cbk) {
-+ return ARGON2_FREE_MEMORY_CBK_NULL;
-+ }
-+
-+ if (NULL == context->allocate_cbk && NULL != context->grub_free_cbk) {
-+ return ARGON2_ALLOCATE_MEMORY_CBK_NULL;
-+ }
-+
-+ return ARGON2_OK;
-+}
-+
-+void fill_first_blocks(grub_uint8_t *blockhash, const argon2_instance_t *instance) {
-+ grub_uint32_t l;
-+ /* Make the first and second block in each lane as G(H0||0||i) or
-+ G(H0||1||i) */
-+ grub_uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE];
-+ for (l = 0; l < instance->lanes; ++l) {
-+
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 0);
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH + 4, l);
-+ blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash,
-+ ARGON2_PREHASH_SEED_LENGTH);
-+ load_block(&instance->memory[l * instance->lane_length + 0],
-+ blockhash_bytes);
-+
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 1);
-+ blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash,
-+ ARGON2_PREHASH_SEED_LENGTH);
-+ load_block(&instance->memory[l * instance->lane_length + 1],
-+ blockhash_bytes);
-+ }
-+ clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE);
-+}
-+
-+void initial_hash(grub_uint8_t *blockhash, argon2_context *context,
-+ argon2_type type) {
-+ blake2b_state BlakeHash;
-+ grub_uint8_t value[sizeof(grub_uint32_t)];
-+
-+ if (NULL == context || NULL == blockhash) {
-+ return;
-+ }
-+
-+ blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH);
-+
-+ store32(&value, context->lanes);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->outlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->m_cost);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->t_cost);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->version);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, (grub_uint32_t)type);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->pwdlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->pwd != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->pwd,
-+ context->pwdlen);
-+
-+ if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) {
-+ secure_wipe_memory(context->pwd, context->pwdlen);
-+ context->pwdlen = 0;
-+ }
-+ }
-+
-+ store32(&value, context->saltlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->salt != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->salt,
-+ context->saltlen);
-+ }
-+
-+ store32(&value, context->secretlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->secret != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->secret,
-+ context->secretlen);
-+
-+ if (context->flags & ARGON2_FLAG_CLEAR_SECRET) {
-+ secure_wipe_memory(context->secret, context->secretlen);
-+ context->secretlen = 0;
-+ }
-+ }
-+
-+ store32(&value, context->adlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->ad != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->ad,
-+ context->adlen);
-+ }
-+
-+ blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH);
-+}
-+
-+int initialize(argon2_instance_t *instance, argon2_context *context) {
-+ grub_uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH];
-+ int result = ARGON2_OK;
-+
-+ if (instance == NULL || context == NULL)
-+ return ARGON2_INCORRECT_PARAMETER;
-+ instance->context_ptr = context;
-+
-+ /* 1. Memory allocation */
-+ result = allocate_memory(context, (grub_uint8_t **)&(instance->memory),
-+ instance->memory_blocks, sizeof(block));
-+ if (result != ARGON2_OK) {
-+ return result;
-+ }
-+
-+ /* 2. Initial hashing */
-+ /* H_0 + 8 extra bytes to produce the first blocks */
-+ /* grub_uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; */
-+ /* Hashing all inputs */
-+ initial_hash(blockhash, context, instance->type);
-+ /* Zeroing 8 extra bytes */
-+ clear_internal_memory(blockhash + ARGON2_PREHASH_DIGEST_LENGTH,
-+ ARGON2_PREHASH_SEED_LENGTH -
-+ ARGON2_PREHASH_DIGEST_LENGTH);
-+
-+#ifdef GENKAT
-+ initial_kat(blockhash, context, instance->type);
-+#endif
-+
-+ /* 3. Creating first blocks, we always have at least two blocks in a slice
-+ */
-+ fill_first_blocks(blockhash, instance);
-+ /* Clearing the hash */
-+ clear_internal_memory(blockhash, ARGON2_PREHASH_SEED_LENGTH);
-+
-+ return ARGON2_OK;
-+}
-diff --git a/grub-core/lib/argon2/core.h b/grub-core/lib/argon2/core.h
-new file mode 100644
-index 000000000..bbcd56998
---- /dev/null
-+++ b/grub-core/lib/argon2/core.h
-@@ -0,0 +1,228 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef ARGON2_CORE_H
-+#define ARGON2_CORE_H
-+
-+#include "argon2.h"
-+
-+#define CONST_CAST(x) (x)(grub_addr_t)
-+
-+/**********************Argon2 internal constants*******************************/
-+
-+enum argon2_core_constants {
-+ /* Memory block size in bytes */
-+ ARGON2_BLOCK_SIZE = 1024,
-+ ARGON2_QWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 8,
-+ ARGON2_OWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 16,
-+ ARGON2_HWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 32,
-+ ARGON2_512BIT_WORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 64,
-+
-+ /* Number of pseudo-random values generated by one call to Blake in Argon2i
-+ to
-+ generate reference block positions */
-+ ARGON2_ADDRESSES_IN_BLOCK = 128,
-+
-+ /* Pre-hashing digest length and its extension*/
-+ ARGON2_PREHASH_DIGEST_LENGTH = 64,
-+ ARGON2_PREHASH_SEED_LENGTH = 72
-+};
-+
-+/*************************Argon2 internal data types***********************/
-+
-+/*
-+ * Structure for the (1KB) memory block implemented as 128 64-bit words.
-+ * Memory blocks can be copied, XORed. Internal words can be accessed by [] (no
-+ * bounds checking).
-+ */
-+typedef struct block_ { grub_uint64_t v[ARGON2_QWORDS_IN_BLOCK]; } block;
-+
-+/*****************Functions that work with the block******************/
-+
-+/* Initialize each byte of the block with @in */
-+void init_block_value(block *b, grub_uint8_t in);
-+
-+/* Copy block @src to block @dst */
-+void copy_block(block *dst, const block *src);
-+
-+/* XOR @src onto @dst bytewise */
-+void xor_block(block *dst, const block *src);
-+
-+/*
-+ * Argon2 instance: memory pointer, number of passes, amount of memory, type,
-+ * and derived values.
-+ * Used to evaluate the number and location of blocks to construct in each
-+ * thread
-+ */
-+typedef struct Argon2_instance_t {
-+ block *memory; /* Memory pointer */
-+ grub_uint32_t version;
-+ grub_uint32_t passes; /* Number of passes */
-+ grub_uint32_t memory_blocks; /* Number of blocks in memory */
-+ grub_uint32_t segment_length;
-+ grub_uint32_t lane_length;
-+ grub_uint32_t lanes;
-+ grub_uint32_t threads;
-+ argon2_type type;
-+ int print_internals; /* whether to print the memory blocks */
-+ argon2_context *context_ptr; /* points back to original context */
-+} argon2_instance_t;
-+
-+/*
-+ * Argon2 position: where we construct the block right now. Used to distribute
-+ * work between threads.
-+ */
-+typedef struct Argon2_position_t {
-+ grub_uint32_t pass;
-+ grub_uint32_t lane;
-+ grub_uint8_t slice;
-+ grub_uint32_t index;
-+} argon2_position_t;
-+
-+/*Struct that holds the inputs for thread handling FillSegment*/
-+typedef struct Argon2_thread_data {
-+ argon2_instance_t *instance_ptr;
-+ argon2_position_t pos;
-+} argon2_thread_data;
-+
-+/*************************Argon2 core functions********************************/
-+
-+/* Allocates memory to the given pointer, uses the appropriate allocator as
-+ * specified in the context. Total allocated memory is num*size.
-+ * @param context argon2_context which specifies the allocator
-+ * @param memory pointer to the pointer to the memory
-+ * @param size the size in bytes for each element to be allocated
-+ * @param num the number of elements to be allocated
-+ * @return ARGON2_OK if @memory is a valid pointer and memory is allocated
-+ */
-+int allocate_memory(const argon2_context *context, grub_uint8_t **memory,
-+ grub_size_t num, grub_size_t size);
-+
-+/*
-+ * Frees memory at the given pointer, uses the appropriate deallocator as
-+ * specified in the context. Also cleans the memory using clear_internal_memory.
-+ * @param context argon2_context which specifies the deallocator
-+ * @param memory pointer to buffer to be grub_freed
-+ * @param size the size in bytes for each element to be deallocated
-+ * @param num the number of elements to be deallocated
-+ */
-+void grub_free_memory(const argon2_context *context, grub_uint8_t *memory,
-+ grub_size_t num, grub_size_t size);
-+
-+/* Function that securely cleans the memory. This ignores any flags set
-+ * regarding clearing memory. Usually one just calls clear_internal_memory.
-+ * @param mem Pointer to the memory
-+ * @param s Memory size in bytes
-+ */
-+void secure_wipe_memory(void *v, grub_size_t n);
-+
-+/* Function that securely clears the memory if FLAG_clear_internal_memory is
-+ * set. If the flag isn't set, this function does nothing.
-+ * @param mem Pointer to the memory
-+ * @param s Memory size in bytes
-+ */
-+void clear_internal_memory(void *v, grub_size_t n);
-+
-+/*
-+ * Computes absolute position of reference block in the lane following a skewed
-+ * distribution and using a pseudo-random value as input
-+ * @param instance Pointer to the current instance
-+ * @param position Pointer to the current position
-+ * @param pseudo_rand 32-bit pseudo-random value used to determine the position
-+ * @param same_lane Indicates if the block will be taken from the current lane.
-+ * If so we can reference the current segment
-+ * @pre All pointers must be valid
-+ */
-+grub_uint32_t index_alpha(const argon2_instance_t *instance,
-+ const argon2_position_t *position, grub_uint32_t pseudo_rand,
-+ int same_lane);
-+
-+/*
-+ * Function that validates all inputs against predefined restrictions and return
-+ * an error code
-+ * @param context Pointer to current Argon2 context
-+ * @return ARGON2_OK if everything is all right, otherwise one of error codes
-+ * (all defined in <argon2.h>
-+ */
-+int validate_inputs(const argon2_context *context);
-+
-+/*
-+ * Hashes all the inputs into @a blockhash[PREHASH_DIGEST_LENGTH], clears
-+ * password and secret if needed
-+ * @param context Pointer to the Argon2 internal structure containing memory
-+ * pointer, and parameters for time and space requirements.
-+ * @param blockhash Buffer for pre-hashing digest
-+ * @param type Argon2 type
-+ * @pre @a blockhash must have at least @a PREHASH_DIGEST_LENGTH bytes
-+ * allocated
-+ */
-+void initial_hash(grub_uint8_t *blockhash, argon2_context *context,
-+ argon2_type type);
-+
-+/*
-+ * Function creates first 2 blocks per lane
-+ * @param instance Pointer to the current instance
-+ * @param blockhash Pointer to the pre-hashing digest
-+ * @pre blockhash must point to @a PREHASH_SEED_LENGTH allocated values
-+ */
-+void fill_first_blocks(grub_uint8_t *blockhash, const argon2_instance_t *instance);
-+
-+/*
-+ * Function allocates memory, hashes the inputs with Blake, and creates first
-+ * two blocks. Returns the pointer to the main memory with 2 blocks per lane
-+ * initialized
-+ * @param context Pointer to the Argon2 internal structure containing memory
-+ * pointer, and parameters for time and space requirements.
-+ * @param instance Current Argon2 instance
-+ * @return Zero if successful, -1 if memory failed to allocate. @context->state
-+ * will be modified if successful.
-+ */
-+int initialize(argon2_instance_t *instance, argon2_context *context);
-+
-+/*
-+ * XORing the last block of each lane, hashing it, making the tag. Deallocates
-+ * the memory.
-+ * @param context Pointer to current Argon2 context (use only the out parameters
-+ * from it)
-+ * @param instance Pointer to current instance of Argon2
-+ * @pre instance->state must point to necessary amount of memory
-+ * @pre context->out must point to outlen bytes of memory
-+ * @pre if context->grub_free_cbk is not NULL, it should point to a function that
-+ * deallocates memory
-+ */
-+void finalize(const argon2_context *context, argon2_instance_t *instance);
-+
-+/*
-+ * Function that fills the segment using previous segments also from other
-+ * threads
-+ * @param context current context
-+ * @param instance Pointer to the current instance
-+ * @param position Current position
-+ * @pre all block pointers must be valid
-+ */
-+void fill_segment(const argon2_instance_t *instance,
-+ argon2_position_t position);
-+
-+/*
-+ * Function that fills the entire memory t_cost times based on the first two
-+ * blocks in each lane
-+ * @param instance Pointer to the current instance
-+ * @return ARGON2_OK if successful, @context->state
-+ */
-+int fill_memory_blocks(argon2_instance_t *instance);
-+
-+#endif
-diff --git a/grub-core/lib/argon2/ref.c b/grub-core/lib/argon2/ref.c
-new file mode 100644
-index 000000000..c933df80d
---- /dev/null
-+++ b/grub-core/lib/argon2/ref.c
-@@ -0,0 +1,190 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include "argon2.h"
-+#include "core.h"
-+
-+#include "blake2/blamka-round-ref.h"
-+#include "blake2/blake2-impl.h"
-+#include "blake2/blake2.h"
-+
-+
-+/*
-+ * Function fills a new memory block and optionally XORs the old block over the new one.
-+ * @next_block must be initialized.
-+ * @param prev_block Pointer to the previous block
-+ * @param ref_block Pointer to the reference block
-+ * @param next_block Pointer to the block to be constructed
-+ * @param with_xor Whether to XOR into the new block (1) or just overwrite (0)
-+ * @pre all block pointers must be valid
-+ */
-+static void fill_block(const block *prev_block, const block *ref_block,
-+ block *next_block, int with_xor) {
-+ block blockR, block_tmp;
-+ unsigned i;
-+
-+ copy_block(&blockR, ref_block);
-+ xor_block(&blockR, prev_block);
-+ copy_block(&block_tmp, &blockR);
-+ /* Now blockR = ref_block + prev_block and block_tmp = ref_block + prev_block */
-+ if (with_xor) {
-+ /* Saving the next block contents for XOR over: */
-+ xor_block(&block_tmp, next_block);
-+ /* Now blockR = ref_block + prev_block and
-+ block_tmp = ref_block + prev_block + next_block */
-+ }
-+
-+ /* Apply Blake2 on columns of 64-bit words: (0,1,...,15) , then
-+ (16,17,..31)... finally (112,113,...127) */
-+ for (i = 0; i < 8; ++i) {
-+ BLAKE2_ROUND_NOMSG(
-+ blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2],
-+ blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5],
-+ blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8],
-+ blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11],
-+ blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14],
-+ blockR.v[16 * i + 15]);
-+ }
-+
-+ /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then
-+ (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */
-+ for (i = 0; i < 8; i++) {
-+ BLAKE2_ROUND_NOMSG(
-+ blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16],
-+ blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33],
-+ blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64],
-+ blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81],
-+ blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112],
-+ blockR.v[2 * i + 113]);
-+ }
-+
-+ copy_block(next_block, &block_tmp);
-+ xor_block(next_block, &blockR);
-+}
-+
-+static void next_addresses(block *address_block, block *input_block,
-+ const block *zero_block) {
-+ input_block->v[6]++;
-+ fill_block(zero_block, input_block, address_block, 0);
-+ fill_block(zero_block, address_block, address_block, 0);
-+}
-+
-+void fill_segment(const argon2_instance_t *instance,
-+ argon2_position_t position) {
-+ block *ref_block = NULL, *curr_block = NULL;
-+ block address_block, input_block, zero_block;
-+ grub_uint64_t pseudo_rand, ref_index, ref_lane;
-+ grub_uint32_t prev_offset, curr_offset;
-+ grub_uint32_t starting_index;
-+ grub_uint32_t i;
-+ int data_independent_addressing;
-+
-+ if (instance == NULL) {
-+ return;
-+ }
-+
-+ data_independent_addressing =
-+ (instance->type == Argon2_i) ||
-+ (instance->type == Argon2_id && (position.pass == 0) &&
-+ (position.slice < ARGON2_SYNC_POINTS / 2));
-+
-+ if (data_independent_addressing) {
-+ init_block_value(&zero_block, 0);
-+ init_block_value(&input_block, 0);
-+
-+ input_block.v[0] = position.pass;
-+ input_block.v[1] = position.lane;
-+ input_block.v[2] = position.slice;
-+ input_block.v[3] = instance->memory_blocks;
-+ input_block.v[4] = instance->passes;
-+ input_block.v[5] = instance->type;
-+ }
-+
-+ starting_index = 0;
-+
-+ if ((0 == position.pass) && (0 == position.slice)) {
-+ starting_index = 2; /* we have already generated the first two blocks */
-+
-+ /* Don't forget to generate the first block of addresses: */
-+ if (data_independent_addressing) {
-+ next_addresses(&address_block, &input_block, &zero_block);
-+ }
-+ }
-+
-+ /* Offset of the current block */
-+ curr_offset = position.lane * instance->lane_length +
-+ position.slice * instance->segment_length + starting_index;
-+
-+ if (0 == curr_offset % instance->lane_length) {
-+ /* Last block in this lane */
-+ prev_offset = curr_offset + instance->lane_length - 1;
-+ } else {
-+ /* Previous block */
-+ prev_offset = curr_offset - 1;
-+ }
-+
-+ for (i = starting_index; i < instance->segment_length;
-+ ++i, ++curr_offset, ++prev_offset) {
-+ /*1.1 Rotating prev_offset if needed */
-+ if (curr_offset % instance->lane_length == 1) {
-+ prev_offset = curr_offset - 1;
-+ }
-+
-+ /* 1.2 Computing the index of the reference block */
-+ /* 1.2.1 Taking pseudo-random value from the previous block */
-+ if (data_independent_addressing) {
-+ if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) {
-+ next_addresses(&address_block, &input_block, &zero_block);
-+ }
-+ pseudo_rand = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK];
-+ } else {
-+ pseudo_rand = instance->memory[prev_offset].v[0];
-+ }
-+
-+ /* 1.2.2 Computing the lane of the reference block */
-+ grub_divmod64 (pseudo_rand >> 32, instance->lanes, &ref_lane);
-+
-+ if ((position.pass == 0) && (position.slice == 0)) {
-+ /* Can not reference other lanes yet */
-+ ref_lane = position.lane;
-+ }
-+
-+ /* 1.2.3 Computing the number of possible reference block within the
-+ * lane.
-+ */
-+ position.index = i;
-+ ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF,
-+ ref_lane == position.lane);
-+
-+ /* 2 Creating a new block */
-+ ref_block =
-+ instance->memory + instance->lane_length * ref_lane + ref_index;
-+ curr_block = instance->memory + curr_offset;
-+ if (ARGON2_VERSION_10 == instance->version) {
-+ /* version 1.2.1 and earlier: overwrite, not XOR */
-+ fill_block(instance->memory + prev_offset, ref_block, curr_block, 0);
-+ } else {
-+ if(0 == position.pass) {
-+ fill_block(instance->memory + prev_offset, ref_block,
-+ curr_block, 0);
-+ } else {
-+ fill_block(instance->memory + prev_offset, ref_block,
-+ curr_block, 1);
-+ }
-+ }
-+ }
-+}
---
-2.39.5
-
diff --git a/config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch b/config/grub/nvme/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
index 4f7014d8..53dbdd87 100644
--- a/config/grub/nvme/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
+++ b/config/grub/nvme/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
@@ -1,7 +1,7 @@
-From 92aab8e78e0a9dc400376f31fdd7eee980aa33aa Mon Sep 17 00:00:00 2001
+From e77ca67985c1bef8afd93587232da3d298a8dd51 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:14:58 +0000
-Subject: [PATCH 11/15] don't print missing prefix errors on the screen
+Subject: [PATCH 05/10] don't print missing prefix errors on the screen
we do actually set the prefix. this patch modifies
grub to still set grub_errno and return accordingly,
@@ -85,10 +85,10 @@ index 18de52562..2a0fea6c8 100644
}
file = try_open_from_prefix (prefix, filename);
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 4a3be8568..6ae3d73f8 100644
+index de8c3aa8d..eac3ea48d 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -881,7 +881,7 @@ grub_dl_load (const char *name)
+@@ -880,7 +880,7 @@ grub_dl_load (const char *name)
return 0;
if (! grub_dl_dir) {
@@ -98,5 +98,5 @@ index 4a3be8568..6ae3d73f8 100644
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch b/config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch
deleted file mode 100644
index 508fd740..00000000
--- a/config/grub/nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 6c74f4ff91f741e74dca1accc6c173c277f4ca5b Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 06/15] Error on missing Argon2id parameters
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- grub-core/disk/luks2.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index b17cd2115..bbd8f5579 100644
---- a/grub-core/disk/luks2.c
-+++ b/grub-core/disk/luks2.c
-@@ -39,6 +39,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
- enum grub_luks2_kdf_type
- {
- LUKS2_KDF_TYPE_ARGON2I,
-+ LUKS2_KDF_TYPE_ARGON2ID,
- LUKS2_KDF_TYPE_PBKDF2
- };
- typedef enum grub_luks2_kdf_type grub_luks2_kdf_type_t;
-@@ -91,7 +92,7 @@ struct grub_luks2_keyslot
- grub_int64_t time;
- grub_int64_t memory;
- grub_int64_t cpus;
-- } argon2i;
-+ } argon2;
- struct
- {
- const char *hash;
-@@ -161,10 +162,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing or invalid KDF");
- else if (!grub_strcmp (type, "argon2i") || !grub_strcmp (type, "argon2id"))
- {
-- out->kdf.type = LUKS2_KDF_TYPE_ARGON2I;
-- if (grub_json_getint64 (&out->kdf.u.argon2i.time, &kdf, "time") ||
-- grub_json_getint64 (&out->kdf.u.argon2i.memory, &kdf, "memory") ||
-- grub_json_getint64 (&out->kdf.u.argon2i.cpus, &kdf, "cpus"))
-+ out->kdf.type = !grub_strcmp (type, "argon2i")
-+ ? LUKS2_KDF_TYPE_ARGON2I : LUKS2_KDF_TYPE_ARGON2ID;
-+ if (grub_json_getint64 (&out->kdf.u.argon2.time, &kdf, "time") ||
-+ grub_json_getint64 (&out->kdf.u.argon2.memory, &kdf, "memory") ||
-+ grub_json_getint64 (&out->kdf.u.argon2.cpus, &kdf, "cpus"))
- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing Argon2i parameters");
- }
- else if (!grub_strcmp (type, "pbkdf2"))
-@@ -460,6 +462,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
- switch (k->kdf.type)
- {
- case LUKS2_KDF_TYPE_ARGON2I:
-+ case LUKS2_KDF_TYPE_ARGON2ID:
- ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
- goto err;
- case LUKS2_KDF_TYPE_PBKDF2:
---
-2.39.5
-
diff --git a/config/grub/xhci_nvme/patches/0012-don-t-print-error-if-module-not-found.patch b/config/grub/nvme/patches/0006-don-t-print-error-if-module-not-found.patch
index e817ca85..3851c7fe 100644
--- a/config/grub/xhci_nvme/patches/0012-don-t-print-error-if-module-not-found.patch
+++ b/config/grub/nvme/patches/0006-don-t-print-error-if-module-not-found.patch
@@ -1,7 +1,7 @@
-From 06f9480a670d374e1599bf9871f6cd26656418a7 Mon Sep 17 00:00:00 2001
+From 9412b6be27bce2d79f154761387d35f44184c069 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:36:22 +0000
-Subject: [PATCH 12/26] don't print error if module not found
+Subject: [PATCH 06/10] don't print error if module not found
still set grub_errno accordingly, and otherwise
behave the same. in libreboot, we remove a lot of
@@ -17,10 +17,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 6ae3d73f8..4c15027fe 100644
+index eac3ea48d..6d67ba54f 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -511,7 +511,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
+@@ -510,7 +510,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
s = grub_dl_find_section (e, ".modname");
if (!s)
@@ -30,5 +30,5 @@ index 6ae3d73f8..4c15027fe 100644
mod->name = grub_strdup ((char *) e + s->sh_offset);
if (! mod->name)
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch b/config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch
deleted file mode 100644
index 1cfe1ab7..00000000
--- a/config/grub/nvme/patches/0007-Compile-with-Argon2id-support.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 50157401f90366e5b7c8f80ae7bc59c2276f7c35 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 07/15] Compile with Argon2id support
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- Makefile.util.def | 6 +++++-
- grub-core/Makefile.core.def | 2 +-
- grub-core/disk/luks2.c | 13 +++++++++++--
- 3 files changed, 17 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.util.def b/Makefile.util.def
-index 038253b37..2f19569c9 100644
---- a/Makefile.util.def
-+++ b/Makefile.util.def
-@@ -3,7 +3,7 @@ AutoGen definitions Makefile.tpl;
- library = {
- name = libgrubkern.a;
- cflags = '$(CFLAGS_GNULIB)';
-- cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json';
-+ cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json -I$(srcdir)/grub-core/lib/argon2';
-
- common = util/misc.c;
- common = grub-core/kern/command.c;
-@@ -36,6 +36,10 @@ library = {
- common = grub-core/kern/misc.c;
- common = grub-core/kern/partition.c;
- common = grub-core/lib/crypto.c;
-+ common = grub-core/lib/argon2/argon2.c;
-+ common = grub-core/lib/argon2/core.c;
-+ common = grub-core/lib/argon2/ref.c;
-+ common = grub-core/lib/argon2/blake2/blake2b.c;
- common = grub-core/lib/json/json.c;
- common = grub-core/disk/luks.c;
- common = grub-core/disk/luks2.c;
-diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index 0ee65d54d..cd29a9df8 100644
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -1242,7 +1242,7 @@ module = {
- common = disk/luks2.c;
- common = lib/gnulib/base64.c;
- cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
-- cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json';
-+ cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json -I$(srcdir)/lib/argon2';
- };
-
- module = {
-diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index bbd8f5579..02cd615d9 100644
---- a/grub-core/disk/luks2.c
-+++ b/grub-core/disk/luks2.c
-@@ -28,6 +28,7 @@
- #include <grub/i18n.h>
- #include <grub/safemath.h>
-
-+#include <argon2.h>
- #include <base64.h>
- #include <json.h>
-
-@@ -463,8 +464,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
- {
- case LUKS2_KDF_TYPE_ARGON2I:
- case LUKS2_KDF_TYPE_ARGON2ID:
-- ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
-- goto err;
-+ ret = argon2_hash (k->kdf.u.argon2.time, k->kdf.u.argon2.memory, k->kdf.u.argon2.cpus,
-+ passphrase, passphraselen, salt, saltlen, area_key, k->area.key_size,
-+ k->kdf.type == LUKS2_KDF_TYPE_ARGON2I ? Argon2_i : Argon2_id,
-+ ARGON2_VERSION_NUMBER);
-+ if (ret)
-+ {
-+ grub_dprintf ("luks2", "Argon2 failed: %s\n", argon2_error_message (ret));
-+ goto err;
-+ }
-+ break;
- case LUKS2_KDF_TYPE_PBKDF2:
- hash = grub_crypto_lookup_md_by_name (k->kdf.u.pbkdf2.hash);
- if (!hash)
---
-2.39.5
-
diff --git a/config/grub/xhci_nvme/patches/0013-don-t-print-empty-error-messages.patch b/config/grub/nvme/patches/0007-don-t-print-empty-error-messages.patch
index 4bf96b50..aa42420f 100644
--- a/config/grub/xhci_nvme/patches/0013-don-t-print-empty-error-messages.patch
+++ b/config/grub/nvme/patches/0007-don-t-print-empty-error-messages.patch
@@ -1,7 +1,7 @@
-From 272c5f5724c0790aff48b0d6ba75928de2275b33 Mon Sep 17 00:00:00 2001
+From 2ad50d482cae148df832ccd68f90b8111684ecde Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 17:25:20 +0000
-Subject: [PATCH 13/26] don't print empty error messages
+Subject: [PATCH 07/10] don't print empty error messages
this is part two of the quest to kill the prefix
error message. after i disabled prefix-related
@@ -13,10 +13,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/grub-core/kern/err.c b/grub-core/kern/err.c
-index 53c734de7..7cac53983 100644
+index ba04b57fb..dab62646d 100644
--- a/grub-core/kern/err.c
+++ b/grub-core/kern/err.c
-@@ -107,7 +107,8 @@ grub_print_error (void)
+@@ -116,7 +116,8 @@ grub_print_error (void)
{
if (grub_errno != GRUB_ERR_NONE)
{
@@ -27,5 +27,5 @@ index 53c734de7..7cac53983 100644
}
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch b/config/grub/nvme/patches/0008-Add-native-NVMe-driver-based-on-SeaBIOS.patch
index a181ddc9..e0b40f2f 100644
--- a/config/grub/nvme/patches/0014-Add-native-NVMe-driver-based-on-SeaBIOS.patch
+++ b/config/grub/nvme/patches/0008-Add-native-NVMe-driver-based-on-SeaBIOS.patch
@@ -1,7 +1,7 @@
-From c8d5481586133d7738a9e2d27b5554470bef719d Mon Sep 17 00:00:00 2001
+From 202e20bef3766480aee18e679b9306387be615dc Mon Sep 17 00:00:00 2001
From: Mate Kukri <km@mkukri.xyz>
Date: Mon, 20 May 2024 11:43:35 +0100
-Subject: [PATCH 14/15] Add native NVMe driver based on SeaBIOS
+Subject: [PATCH 08/10] Add native NVMe driver based on SeaBIOS
Tested to successfully boot Debian on QEMU and OptiPlex 3050.
@@ -31,10 +31,10 @@ index 43635d5ff..2c86dbbf6 100644
endif
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index cd29a9df8..0034f8c61 100644
+index 0cf155128..176d35364 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
-@@ -2682,3 +2682,9 @@ module = {
+@@ -2773,3 +2773,9 @@ module = {
cflags = '-Wno-uninitialized';
cppflags = '-I$(srcdir)/lib/libtasn1-grub -I$(srcdir)/tests/asn1/';
};
@@ -1070,5 +1070,5 @@ index fbf23df7f..186e76f0b 100644
struct grub_disk;
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch b/config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch
deleted file mode 100644
index bdf9343e..00000000
--- a/config/grub/nvme/patches/0008-Make-grub-install-work-with-Argon2.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 2f7814e55cbae04cb2b307fee559f40cdc70609c Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 08/15] Make grub-install work with Argon2
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- util/grub-install.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/util/grub-install.c b/util/grub-install.c
-index 060246589..059036d3c 100644
---- a/util/grub-install.c
-+++ b/util/grub-install.c
-@@ -448,6 +448,8 @@ probe_mods (grub_disk_t disk)
- {
- grub_util_cryptodisk_get_abstraction (disk,
- push_cryptodisk_module, NULL);
-+ /* HACK: always push argon2 */
-+ grub_install_push_module ("argon2");
- have_abstractions = 1;
- have_cryptodisk = 1;
- }
---
-2.39.5
-
diff --git a/config/grub/default/patches/0014-kern-coreboot-mmap-Map-to-reserved.patch b/config/grub/nvme/patches/0009-kern-coreboot-mmap-Map-to-reserved.patch
index 78e4eafc..11b82429 100644
--- a/config/grub/default/patches/0014-kern-coreboot-mmap-Map-to-reserved.patch
+++ b/config/grub/nvme/patches/0009-kern-coreboot-mmap-Map-to-reserved.patch
@@ -1,7 +1,7 @@
-From 818f1b19f32e355cc2a0ebe29eee2a2bac7bcb3f Mon Sep 17 00:00:00 2001
+From 9ec8534a4d27db37cf4feebd44fd9f8973a89e59 Mon Sep 17 00:00:00 2001
From: Paul Menzel <pmenzel@molgen.mpg.de>
Date: Mon, 17 May 2021 10:24:36 +0200
-Subject: [PATCH 14/14] kern/coreboot/mmap: Map to reserved
+Subject: [PATCH 09/10] kern/coreboot/mmap: Map to reserved
https://git.savannah.gnu.org/cgit/grub.git/commit/?id=6de9ee86bf9ae50967413e6a73b5dfd13e5ffb50
@@ -33,5 +33,5 @@ index caf8f7cef..2fc316e8d 100644
return 1;
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0010-Revert-configure-Check-linker-for-image-base-support.patch b/config/grub/nvme/patches/0010-Revert-configure-Check-linker-for-image-base-support.patch
new file mode 100644
index 00000000..8e78e8b7
--- /dev/null
+++ b/config/grub/nvme/patches/0010-Revert-configure-Check-linker-for-image-base-support.patch
@@ -0,0 +1,70 @@
+From 7b0d621389fc1857c918058f82093f9630ea7730 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Wed, 24 Dec 2025 01:42:17 +0100
+Subject: [PATCH 10/10] Revert "configure: Check linker for --image-base
+ support"
+
+This reverts commit 1a5417f39a0ccefcdd5440f2a67f84d2d2e26960.
+---
+ acinclude.m4 | 5 -----
+ configure.ac | 14 ++------------
+ 2 files changed, 2 insertions(+), 17 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 70c1912f8..fa7840f09 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -79,11 +79,6 @@ AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE],
+ [AC_MSG_CHECKING([whether ${TARGET_OBJCOPY} works for absolute addresses])
+ AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
+ [cat > conftest.c <<\EOF
+-asm (
+- ".globl start, _start, __start\n"
+- ".ifdef cmain; .set start = _start = __start = cmain\n.endif\n"
+- ".ifdef _cmain; .set start = _start = __start = _cmain\n.endif\n"
+-);
+ void cmain (void);
+ void
+ cmain (void)
+diff --git a/configure.ac b/configure.ac
+index d8ca1b7c1..041cfbab4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1461,6 +1461,7 @@ elif test x$grub_cv_target_cc_link_format = x-mi386pe || test x$grub_cv_target_c
+ TARGET_IMG_LDSCRIPT='$(top_srcdir)'"/conf/i386-cygwin-img-ld.sc"
+ TARGET_IMG_LDFLAGS="-Wl,-T${TARGET_IMG_LDSCRIPT}"
+ TARGET_IMG_LDFLAGS_AC="-Wl,-T${srcdir}/conf/i386-cygwin-img-ld.sc"
++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+ TARGET_IMG_CFLAGS=
+ else
+ TARGET_APPLE_LINKER=0
+@@ -1468,6 +1469,7 @@ else
+ TARGET_IMG_LDSCRIPT=
+ TARGET_IMG_LDFLAGS='-Wl,-N'
+ TARGET_IMG_LDFLAGS_AC='-Wl,-N'
++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+ TARGET_IMG_CFLAGS=
+ fi
+
+@@ -1798,18 +1800,6 @@ grub_PROG_TARGET_CC
+ m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
+
+ if test "x$TARGET_APPLE_LINKER" != x1 ; then
+-AX_CHECK_LINK_FLAG([-Wl,--image-base,0x400000],
+- [TARGET_IMG_BASE_LDOPT="-Wl,--image-base"],
+- [TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"],
+- [],
+- [AC_LANG_SOURCE([
+-asm (".globl start; start:");
+-asm (".globl _start; _start:");
+-asm (".globl __start; __start:");
+-void __main (void);
+-void __main (void) {}
+-int main (void);
+- ])])
+ grub_PROG_OBJCOPY_ABSOLUTE
+ fi
+ grub_PROG_LD_BUILD_ID_NONE
+--
+2.47.3
+
diff --git a/config/grub/nvme/patches/0011-Revert-configure-Print-a-more-helpful-error-if-autoc.patch b/config/grub/nvme/patches/0011-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
new file mode 100644
index 00000000..c0a504ff
--- /dev/null
+++ b/config/grub/nvme/patches/0011-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
@@ -0,0 +1,30 @@
+From abf2bf6e2973ccaa994f63ff851ba11cbd45f1eb Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 19 Jan 2026 15:27:23 +0000
+Subject: [PATCH 1/1] Revert "configure: Print a more helpful error if
+ autoconf-archive is not installed"
+
+This reverts commit ac042f3f58d33ce9cd5ff61750f06da1a1d7b0eb.
+---
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 041cfbab4..209c0fb11 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1794,11 +1794,6 @@ LIBS=""
+ # Defined in acinclude.m4.
+ grub_ASM_USCORE
+ grub_PROG_TARGET_CC
+-
+-# The error message produced by autoconf if autoconf-archive is not installed is
+-# quite misleading and not very helpful. So, try point people in the right direction.
+-m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
+-
+ if test "x$TARGET_APPLE_LINKER" != x1 ; then
+ grub_PROG_OBJCOPY_ABSOLUTE
+ fi
+--
+2.47.3
+
diff --git a/config/grub/nvme/patches/0012-bootstrap-Don-t-download-po-files.patch b/config/grub/nvme/patches/0012-bootstrap-Don-t-download-po-files.patch
new file mode 100644
index 00000000..cfb66047
--- /dev/null
+++ b/config/grub/nvme/patches/0012-bootstrap-Don-t-download-po-files.patch
@@ -0,0 +1,91 @@
+From 5d18c96a22d98d137ea40bfc6aabadce933c2d45 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Sun, 1 Feb 2026 20:30:55 +0100
+Subject: [PATCH 1/1] bootstrap: Don't download po files
+
+GRUB doesn't verify checksums at all, and it pulls from
+this URL recursively:
+
+https://translationproject.org/latest/grub/
+
+These files can change at any time, and GRUB is just
+downloading them trustingly. Even if the upstream is
+totally benevolent, what if they got hacked?
+
+I downloaded them, hashed them and decided to mirror
+them on my RSYNC mirror. In this way, Libreboot can now
+use them in a deterministic fashion.
+
+Simply adding them to the GRUB source code would mean
+patching GRUB, which would add 8MB to lbmk. I won't do
+it.
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ bootstrap | 31 +++++++++++++------------------
+ 1 file changed, 13 insertions(+), 18 deletions(-)
+
+diff --git a/bootstrap b/bootstrap
+index dc9fb4383..9fc5a5c36 100755
+--- a/bootstrap
++++ b/bootstrap
+@@ -1,5 +1,16 @@
+ #! /bin/sh
+-# DO NOT EDIT! GENERATED AUTOMATICALLY!
++# THIS FILE WAS EDITED BY LIBREBOOT TO REMOVE
++# HACKY GRUB BEHAVIOUR; po files now downloaded
++# by lbmk, via config/submodule/grub/ - so that
++# versioned files are possible, with proper checksum
++# verification, and mirrors are used.
++
++# Yes. This file has been modified. I intend to
++# eventually remove this hacky script. Probably
++# replace the entire GRUB build system.
++
++# Please do fix/edit or (when possible) remove
++# this file. Thank you.
+
+ # Bootstrap this package from checked-out sources.
+
+@@ -145,13 +156,6 @@ bootstrap_post_import_hook() { :; }
+ # Override it via your own definition in bootstrap.conf.
+ bootstrap_epilogue() { :; }
+
+-# The command to download all .po files for a specified domain into a
+-# specified directory. Fill in the first %s with the destination
+-# directory and the second with the domain name.
+-po_download_command_format=\
+-"wget --mirror --level=1 -nd -nv -A.po -P '%s' \
+- https://translationproject.org/latest/%s/"
+-
+ # When extracting the package name from an AC_INIT invocation,
+ # prefer a non-empty tarname (4th argument of AC_INIT if given), else
+ # fall back to the package name (1st argument with munging).
+@@ -909,14 +913,6 @@ autopull()
+
+ # ----------------------------- Get translations. -----------------------------
+
+-download_po_files() {
+- subdir=$1
+- domain=$2
+- echo "$me: getting translations into $subdir for $domain..."
+- cmd=$(printf "$po_download_command_format" "$subdir" "$domain")
+- eval "$cmd"
+-}
+-
+ # Mirror .po files to $po_dir/.reference and copy only the new
+ # or modified ones into $po_dir. Also update $po_dir/LINGUAS.
+ # Note po files that exist locally only are left in $po_dir but will
+@@ -932,8 +928,7 @@ update_po_files() {
+ ref_po_dir="$po_dir/.reference"
+
+ test -d $ref_po_dir || mkdir $ref_po_dir || return
+- download_po_files $ref_po_dir $domain \
+- && ls "$ref_po_dir"/*.po 2>/dev/null |
++ ls "$ref_po_dir"/*.po 2>/dev/null |
+ sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
+
+ for po in x $(ls $ref_po_dir | sed -n 's/\.po$//p'); do
+--
+2.47.3
+
diff --git a/config/grub/nvme/target.cfg b/config/grub/nvme/target.cfg
index 0aff1315..e2a67cc0 100644
--- a/config/grub/nvme/target.cfg
+++ b/config/grub/nvme/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="nvme"
-rev="a68a7dece464c35b1c8d20b98502b6881b103911"
+rev="eaa3b8f0f90605a82c6bfda4c5c4b73c58eb81ac"
diff --git a/config/grub/xhci_nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch b/config/grub/xhci_nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
index d480d60a..7f489819 100644
--- a/config/grub/xhci_nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
+++ b/config/grub/xhci_nvme/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
@@ -1,7 +1,7 @@
-From 6a04ceb244366ddab75ce229afd19687ce35d15a Mon Sep 17 00:00:00 2001
+From 8ce8095abbbcc69b50466cb2b890a59be5a9baed Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 31 Oct 2021 03:47:05 +0000
-Subject: [PATCH 01/26] mitigate grub's missing characters for borders/arrow
+Subject: [PATCH 01/21] mitigate grub's missing characters for borders/arrow
characters
This cleans up the display on the main screen in GRUB.
@@ -86,5 +86,5 @@ index 9c383e64a..8ec1dd1e8 100644
grub_term_highlight_color = old_color_highlight;
geo->timeout_y = geo->first_entry_y + geo->num_entries
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch b/config/grub/xhci_nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
index e50e6c6a..fdf97c16 100644
--- a/config/grub/xhci_nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
+++ b/config/grub/xhci_nvme/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
@@ -1,25 +1,25 @@
-From c18175417d4fa4501dac21ef26b9c30f67ece0fd Mon Sep 17 00:00:00 2001
+From d073d6a6d3c63a2b37df754bb890f88482ef2a75 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 19 Nov 2022 16:30:24 +0000
-Subject: [PATCH 02/26] say the name libreboot, in the grub menu
+Subject: [PATCH 02/21] say the name libreboot, in the grub menu
---
grub-core/normal/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
-index 96abfda2f..d806db9c4 100644
+index de9a3f961..1fabb9c86 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
-@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
+@@ -215,7 +215,7 @@ grub_normal_init_page (struct grub_term_output *term,
grub_term_cls (term);
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
-+ msg_formatted = grub_xasprintf (_("Libreboot 25.06 Luminous Lemon (GRUB menu): https://libreboot.org/"));
++ msg_formatted = grub_xasprintf (_("Libreboot 26.01 Magnanimous Max (GRUB menu): https://libreboot.org/"));
if (!msg_formatted)
return;
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0003-Add-CC0-license.patch b/config/grub/xhci_nvme/patches/0003-Add-CC0-license.patch
deleted file mode 100644
index c2fd1c01..00000000
--- a/config/grub/xhci_nvme/patches/0003-Add-CC0-license.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 72b0b0f76b3cc7f03e42322b77400b89c3ccf766 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 03/26] Add CC0 license
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- grub-core/kern/dl.c | 3 ++-
- util/grub-module-verifierXX.c | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index de8c3aa8d..4a3be8568 100644
---- a/grub-core/kern/dl.c
-+++ b/grub-core/kern/dl.c
-@@ -495,7 +495,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
-
- if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
- || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
-- || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0)
-+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0
-+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=CC0") == 0)
- return GRUB_ERR_NONE;
-
- return grub_error (GRUB_ERR_BAD_MODULE,
-diff --git a/util/grub-module-verifierXX.c b/util/grub-module-verifierXX.c
-index a42c20bd1..7157a30aa 100644
---- a/util/grub-module-verifierXX.c
-+++ b/util/grub-module-verifierXX.c
-@@ -236,7 +236,8 @@ check_license (const char * const filename,
- Elf_Shdr *s = find_section (arch, e, ".module_license", module_size);
- if (s && (strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3") == 0
- || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3+") == 0
-- || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0))
-+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0
-+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=CC0") == 0))
- return;
- grub_util_error ("%s: incompatible license", filename);
- }
---
-2.39.5
-
diff --git a/config/grub/xhci_nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch b/config/grub/xhci_nvme/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
index 87164461..3e6d9203 100644
--- a/config/grub/xhci_nvme/patches/0009-at_keyboard-coreboot-force-scancodes2-translate.patch
+++ b/config/grub/xhci_nvme/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
@@ -1,7 +1,7 @@
-From dfbfe525d6f138e3db1e683096302045c064096f Mon Sep 17 00:00:00 2001
+From befc0d1c61b4ba0c43981774eeff0f0f026f513d Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 30 Oct 2023 22:19:21 +0000
-Subject: [PATCH 09/26] at_keyboard coreboot: force scancodes2+translate
+Subject: [PATCH 03/21] at_keyboard coreboot: force scancodes2+translate
Scan code set 2 with translation should be assumed in
every case, as the default starting position.
@@ -103,5 +103,5 @@ index f8a129eb7..8207225c2 100644
grub_dprintf ("atkeyb", "returned set %d\n", ps2_state.current_set);
if (ps2_state.current_set == 2)
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0004-Define-GRUB_UINT32_MAX.patch b/config/grub/xhci_nvme/patches/0004-Define-GRUB_UINT32_MAX.patch
deleted file mode 100644
index d41c802e..00000000
--- a/config/grub/xhci_nvme/patches/0004-Define-GRUB_UINT32_MAX.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 451ca97719aa9178f3202554c74ab636baece616 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 04/26] Define GRUB_UINT32_MAX
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- include/grub/types.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/include/grub/types.h b/include/grub/types.h
-index 45079bf65..8c0b30395 100644
---- a/include/grub/types.h
-+++ b/include/grub/types.h
-@@ -156,6 +156,7 @@ typedef grub_int32_t grub_ssize_t;
- #define GRUB_SHRT_MAX 0x7fff
- #define GRUB_SHRT_MIN (-GRUB_SHRT_MAX - 1)
- #define GRUB_UINT_MAX 4294967295U
-+#define GRUB_UINT32_MAX 4294967295U
- #define GRUB_INT_MAX 0x7fffffff
- #define GRUB_INT_MIN (-GRUB_INT_MAX - 1)
- #define GRUB_INT32_MAX 2147483647
-@@ -177,6 +178,13 @@ typedef grub_int32_t grub_ssize_t;
- #define GRUB_TYPE_U_MAX(type) ((unsigned long long)((typeof (type))(~0)))
- #define GRUB_TYPE_U_MIN(type) 0ULL
-
-+# define GRUB_UINT32_C(x) x ## U
-+# if GRUB_ULONG_MAX >> 31 >> 31 >> 1 == 1
-+# define GRUB_UINT64_C(x) x##UL
-+# elif 1
-+# define GRUB_UINT64_C(x) x##ULL
-+# endif
-+
- typedef grub_uint64_t grub_properly_aligned_t;
-
- #define GRUB_PROPERLY_ALIGNED_ARRAY(name, size) grub_properly_aligned_t name[((size) + sizeof (grub_properly_aligned_t) - 1) / sizeof (grub_properly_aligned_t)]
---
-2.39.5
-
diff --git a/config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/xhci_nvme/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
index 8cc2f1b6..0fdcaac7 100644
--- a/config/grub/nvme/patches/0010-keylayouts-don-t-print-Unknown-key-message.patch
+++ b/config/grub/xhci_nvme/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
@@ -1,7 +1,7 @@
-From 86d06a8075d87cdaece0c5495f7505ff01f1e752 Mon Sep 17 00:00:00 2001
+From abe0aa9a6edba181b0f964f3cf4bcd7155322ac1 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 31 Oct 2023 10:33:28 +0000
-Subject: [PATCH 10/15] keylayouts: don't print "Unknown key" message
+Subject: [PATCH 04/21] keylayouts: don't print "Unknown key" message
on keyboards with stuck keys, this results in GRUB just
spewing it repeatedly, preventing use of GRUB.
@@ -34,5 +34,5 @@ index aa3ba34f2..445fa0601 100644
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0005-Add-Argon2-algorithm.patch b/config/grub/xhci_nvme/patches/0005-Add-Argon2-algorithm.patch
deleted file mode 100644
index d2d202db..00000000
--- a/config/grub/xhci_nvme/patches/0005-Add-Argon2-algorithm.patch
+++ /dev/null
@@ -1,2612 +0,0 @@
-From 93404ba667dae9a5da9953f7a17245adfe529c78 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 05/26] Add Argon2 algorithm
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- docs/grub-dev.texi | 64 +++
- grub-core/Makefile.core.def | 8 +
- grub-core/lib/argon2/LICENSE | 314 +++++++++++
- grub-core/lib/argon2/argon2.c | 232 ++++++++
- grub-core/lib/argon2/argon2.h | 264 +++++++++
- grub-core/lib/argon2/blake2/blake2-impl.h | 151 ++++++
- grub-core/lib/argon2/blake2/blake2.h | 89 +++
- grub-core/lib/argon2/blake2/blake2b.c | 388 ++++++++++++++
- .../lib/argon2/blake2/blamka-round-ref.h | 56 ++
- grub-core/lib/argon2/core.c | 506 ++++++++++++++++++
- grub-core/lib/argon2/core.h | 228 ++++++++
- grub-core/lib/argon2/ref.c | 190 +++++++
- 12 files changed, 2490 insertions(+)
- create mode 100644 grub-core/lib/argon2/LICENSE
- create mode 100644 grub-core/lib/argon2/argon2.c
- create mode 100644 grub-core/lib/argon2/argon2.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2-impl.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2.h
- create mode 100644 grub-core/lib/argon2/blake2/blake2b.c
- create mode 100644 grub-core/lib/argon2/blake2/blamka-round-ref.h
- create mode 100644 grub-core/lib/argon2/core.c
- create mode 100644 grub-core/lib/argon2/core.h
- create mode 100644 grub-core/lib/argon2/ref.c
-
-diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
-index f4367f895..9d96cedf9 100644
---- a/docs/grub-dev.texi
-+++ b/docs/grub-dev.texi
-@@ -503,12 +503,76 @@ GRUB includes some code from other projects, and it is sometimes necessary
- to update it.
-
- @menu
-+* Argon2::
- * Gnulib::
- * jsmn::
- * minilzo::
- * libtasn1::
- @end menu
-
-+@node Argon2
-+@section Argon2
-+
-+Argon2 is a key derivation function used by LUKS2 in order to derive encryption
-+keys from a user-provided password. GRUB imports the official reference
-+implementation of Argon2 from @url{https://github.com/P-H-C/phc-winner-argon2}.
-+In order to make the library usable for GRUB, we need to perform various
-+conversions. This is mainly due to the fact that the imported code makes use of
-+types and functions defined in the C standard library, which isn't available.
-+Furthermore, using the POSIX wrapper library is not possible as the code needs
-+to be part of the kernel.
-+
-+Updating the code can thus be performed like following:
-+
-+@example
-+$ git clone https://github.com/P-H-C/phc-winner-argon2 argon2
-+$ cp argon2/include/argon2.h argon2/src/@{argon2.c,core.c,core.h,ref.c@} \
-+ grub-core/lib/argon2/
-+$ cp argon2/src/blake2/@{blake2-impl.h,blake2.h,blake2b.c,blamka-round-ref.h@} \
-+ grub-core/lib/argon2/blake2/
-+$ sed -e 's/UINT32_C/GRUB_UINT32_C/g' \
-+ -e 's/UINT64_C/GRUB_UINT64_C/g' \
-+ -e 's/UINT32_MAX/GRUB_UINT32_MAX/g' \
-+ -e 's/CHAR_BIT/GRUB_CHAR_BIT/g' \
-+ -e 's/UINT_MAX/GRUB_UINT_MAX/g' \
-+ -e 's/uintptr_t/grub_addr_t/g' \
-+ -e 's/size_t/grub_size_t/g' \
-+ -e 's/uint32_t/grub_uint32_t/g' \
-+ -e 's/uint64_t/grub_uint64_t/g' \
-+ -e 's/uint8_t/grub_uint8_t/g' \
-+ -e 's/memset/grub_memset/g' \
-+ -e 's/memcpy/grub_memcpy/g' \
-+ -e 's/malloc/grub_malloc/g' \
-+ -e 's/free/grub_free/g' \
-+ -e 's/#elif _MSC_VER/#elif defined(_MSC_VER)/' \
-+ grub-core/lib/argon2/@{*,blake2/*@}.@{c,h@} -i
-+@end example
-+
-+Afterwards, you need to perform the following manual steps:
-+
-+@enumerate
-+@item Remove all includes of standard library headers, "encoding.h" and
-+ "thread.h".
-+@item Add includes <grub/mm.h> and <grub/misc.h> to "argon2.h".
-+@item Add include <grub/dl.h> and module license declaration to "argon2.c".
-+@item Remove the following declarations and functions from "argon2.h" and
-+ "argon2.c": argon2_type2string, argon2i_hash_encoded, argon2i_hash_raw,
-+ argon2d_hash_encoded, argon2d_hash_raw, argon2id_hash_encoded,
-+ argon2id_hash_raw, argon2_compare, argon2_verify, argon2i_verify,
-+ argon2d_verify, argon2id_verify, argon2d_ctx, argon2i_ctx, argon2id_ctx,
-+ argon2_verify_ctx, argon2d_verify_ctx, argon2i_verify_ctx,
-+ argon2id_verify_ctx, argon2_encodedlen.
-+@item Move the declaration of `clear_internal_memory()` in "blake2-impl.h" to
-+ "blake2b.c".
-+@item Remove code guarded by the ARGON2_NO_THREADS macro.
-+@item Remove parameters `encoded` and `encodedlen` from `argon2_hash` and remove
-+ the encoding block in that function.
-+@item Remove parameter verifications in `validate_inputs()` for
-+ ARGON2_MIN_PWD_LENGTH, ARGON2_MIN_SECRET, ARGON2_MIN_AD_LENGTH and
-+ ARGON2_MAX_MEMORY to fix compiler warnings.
-+@item Mark the function argon2_ctx as static.
-+@end enumerate
-+
- @node Gnulib
- @section Gnulib
-
-diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index 24e8c8437..0ee65d54d 100644
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -1219,6 +1219,14 @@ module = {
- common = lib/json/json.c;
- };
-
-+module = {
-+ name = argon2;
-+ common = lib/argon2/argon2.c;
-+ common = lib/argon2/core.c;
-+ common = lib/argon2/ref.c;
-+ common = lib/argon2/blake2/blake2b.c;
-+};
-+
- module = {
- name = afsplitter;
- common = disk/AFSplitter.c;
-diff --git a/grub-core/lib/argon2/LICENSE b/grub-core/lib/argon2/LICENSE
-new file mode 100644
-index 000000000..97aae2925
---- /dev/null
-+++ b/grub-core/lib/argon2/LICENSE
-@@ -0,0 +1,314 @@
-+Argon2 reference source code package - reference C implementations
-+
-+Copyright 2015
-+Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+
-+You may use this work under the terms of a Creative Commons CC0 1.0
-+License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+these licenses can be found at:
-+
-+- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+
-+The terms of the licenses are reproduced below.
-+
-+--------------------------------------------------------------------------------
-+
-+Creative Commons Legal Code
-+
-+CC0 1.0 Universal
-+
-+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
-+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
-+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
-+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
-+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
-+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
-+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
-+ HEREUNDER.
-+
-+Statement of Purpose
-+
-+The laws of most jurisdictions throughout the world automatically confer
-+exclusive Copyright and Related Rights (defined below) upon the creator
-+and subsequent owner(s) (each and all, an "owner") of an original work of
-+authorship and/or a database (each, a "Work").
-+
-+Certain owners wish to permanently relinquish those rights to a Work for
-+the purpose of contributing to a commons of creative, cultural and
-+scientific works ("Commons") that the public can reliably and without fear
-+of later claims of infringement build upon, modify, incorporate in other
-+works, reuse and redistribute as freely as possible in any form whatsoever
-+and for any purposes, including without limitation commercial purposes.
-+These owners may contribute to the Commons to promote the ideal of a free
-+culture and the further production of creative, cultural and scientific
-+works, or to gain reputation or greater distribution for their Work in
-+part through the use and efforts of others.
-+
-+For these and/or other purposes and motivations, and without any
-+expectation of additional consideration or compensation, the person
-+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
-+is an owner of Copyright and Related Rights in the Work, voluntarily
-+elects to apply CC0 to the Work and publicly distribute the Work under its
-+terms, with knowledge of his or her Copyright and Related Rights in the
-+Work and the meaning and intended legal effect of CC0 on those rights.
-+
-+1. Copyright and Related Rights. A Work made available under CC0 may be
-+protected by copyright and related or neighboring rights ("Copyright and
-+Related Rights"). Copyright and Related Rights include, but are not
-+limited to, the following:
-+
-+ i. the right to reproduce, adapt, distribute, perform, display,
-+ communicate, and translate a Work;
-+ ii. moral rights retained by the original author(s) and/or performer(s);
-+iii. publicity and privacy rights pertaining to a person's image or
-+ likeness depicted in a Work;
-+ iv. rights protecting against unfair competition in regards to a Work,
-+ subject to the limitations in paragraph 4(a), below;
-+ v. rights protecting the extraction, dissemination, use and reuse of data
-+ in a Work;
-+ vi. database rights (such as those arising under Directive 96/9/EC of the
-+ European Parliament and of the Council of 11 March 1996 on the legal
-+ protection of databases, and under any national implementation
-+ thereof, including any amended or successor version of such
-+ directive); and
-+vii. other similar, equivalent or corresponding rights throughout the
-+ world based on applicable law or treaty, and any national
-+ implementations thereof.
-+
-+2. Waiver. To the greatest extent permitted by, but not in contravention
-+of, applicable law, Affirmer hereby overtly, fully, permanently,
-+irrevocably and unconditionally waives, abandons, and surrenders all of
-+Affirmer's Copyright and Related Rights and associated claims and causes
-+of action, whether now known or unknown (including existing as well as
-+future claims and causes of action), in the Work (i) in all territories
-+worldwide, (ii) for the maximum duration provided by applicable law or
-+treaty (including future time extensions), (iii) in any current or future
-+medium and for any number of copies, and (iv) for any purpose whatsoever,
-+including without limitation commercial, advertising or promotional
-+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
-+member of the public at large and to the detriment of Affirmer's heirs and
-+successors, fully intending that such Waiver shall not be subject to
-+revocation, rescission, cancellation, termination, or any other legal or
-+equitable action to disrupt the quiet enjoyment of the Work by the public
-+as contemplated by Affirmer's express Statement of Purpose.
-+
-+3. Public License Fallback. Should any part of the Waiver for any reason
-+be judged legally invalid or ineffective under applicable law, then the
-+Waiver shall be preserved to the maximum extent permitted taking into
-+account Affirmer's express Statement of Purpose. In addition, to the
-+extent the Waiver is so judged Affirmer hereby grants to each affected
-+person a royalty-free, non transferable, non sublicensable, non exclusive,
-+irrevocable and unconditional license to exercise Affirmer's Copyright and
-+Related Rights in the Work (i) in all territories worldwide, (ii) for the
-+maximum duration provided by applicable law or treaty (including future
-+time extensions), (iii) in any current or future medium and for any number
-+of copies, and (iv) for any purpose whatsoever, including without
-+limitation commercial, advertising or promotional purposes (the
-+"License"). The License shall be deemed effective as of the date CC0 was
-+applied by Affirmer to the Work. Should any part of the License for any
-+reason be judged legally invalid or ineffective under applicable law, such
-+partial invalidity or ineffectiveness shall not invalidate the remainder
-+of the License, and in such case Affirmer hereby affirms that he or she
-+will not (i) exercise any of his or her remaining Copyright and Related
-+Rights in the Work or (ii) assert any associated claims and causes of
-+action with respect to the Work, in either case contrary to Affirmer's
-+express Statement of Purpose.
-+
-+4. Limitations and Disclaimers.
-+
-+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
-+ surrendered, licensed or otherwise affected by this document.
-+ b. Affirmer offers the Work as-is and makes no representations or
-+ warranties of any kind concerning the Work, express, implied,
-+ statutory or otherwise, including without limitation warranties of
-+ title, merchantability, fitness for a particular purpose, non
-+ infringement, or the absence of latent or other defects, accuracy, or
-+ the present or absence of errors, whether or not discoverable, all to
-+ the greatest extent permissible under applicable law.
-+ c. Affirmer disclaims responsibility for clearing rights of other persons
-+ that may apply to the Work or any use thereof, including without
-+ limitation any person's Copyright and Related Rights in the Work.
-+ Further, Affirmer disclaims responsibility for obtaining any necessary
-+ consents, permissions or other rights required for any use of the
-+ Work.
-+ d. Affirmer understands and acknowledges that Creative Commons is not a
-+ party to this document and has no duty or obligation with respect to
-+ this CC0 or use of the Work.
-+
-+--------------------------------------------------------------------------------
-+
-+ Apache License
-+ Version 2.0, January 2004
-+ http://www.apache.org/licenses/
-+
-+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-+
-+ 1. Definitions.
-+
-+ "License" shall mean the terms and conditions for use, reproduction,
-+ and distribution as defined by Sections 1 through 9 of this document.
-+
-+ "Licensor" shall mean the copyright owner or entity authorized by
-+ the copyright owner that is granting the License.
-+
-+ "Legal Entity" shall mean the union of the acting entity and all
-+ other entities that control, are controlled by, or are under common
-+ control with that entity. For the purposes of this definition,
-+ "control" means (i) the power, direct or indirect, to cause the
-+ direction or management of such entity, whether by contract or
-+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
-+ outstanding shares, or (iii) beneficial ownership of such entity.
-+
-+ "You" (or "Your") shall mean an individual or Legal Entity
-+ exercising permissions granted by this License.
-+
-+ "Source" form shall mean the preferred form for making modifications,
-+ including but not limited to software source code, documentation
-+ source, and configuration files.
-+
-+ "Object" form shall mean any form resulting from mechanical
-+ transformation or translation of a Source form, including but
-+ not limited to compiled object code, generated documentation,
-+ and conversions to other media types.
-+
-+ "Work" shall mean the work of authorship, whether in Source or
-+ Object form, made available under the License, as indicated by a
-+ copyright notice that is included in or attached to the work
-+ (an example is provided in the Appendix below).
-+
-+ "Derivative Works" shall mean any work, whether in Source or Object
-+ form, that is based on (or derived from) the Work and for which the
-+ editorial revisions, annotations, elaborations, or other modifications
-+ represent, as a whole, an original work of authorship. For the purposes
-+ of this License, Derivative Works shall not include works that remain
-+ separable from, or merely link (or bind by name) to the interfaces of,
-+ the Work and Derivative Works thereof.
-+
-+ "Contribution" shall mean any work of authorship, including
-+ the original version of the Work and any modifications or additions
-+ to that Work or Derivative Works thereof, that is intentionally
-+ submitted to Licensor for inclusion in the Work by the copyright owner
-+ or by an individual or Legal Entity authorized to submit on behalf of
-+ the copyright owner. For the purposes of this definition, "submitted"
-+ means any form of electronic, verbal, or written communication sent
-+ to the Licensor or its representatives, including but not limited to
-+ communication on electronic mailing lists, source code control systems,
-+ and issue tracking systems that are managed by, or on behalf of, the
-+ Licensor for the purpose of discussing and improving the Work, but
-+ excluding communication that is conspicuously marked or otherwise
-+ designated in writing by the copyright owner as "Not a Contribution."
-+
-+ "Contributor" shall mean Licensor and any individual or Legal Entity
-+ on behalf of whom a Contribution has been received by Licensor and
-+ subsequently incorporated within the Work.
-+
-+ 2. Grant of Copyright License. Subject to the terms and conditions of
-+ this License, each Contributor hereby grants to You a perpetual,
-+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-+ copyright license to reproduce, prepare Derivative Works of,
-+ publicly display, publicly perform, sublicense, and distribute the
-+ Work and such Derivative Works in Source or Object form.
-+
-+ 3. Grant of Patent License. Subject to the terms and conditions of
-+ this License, each Contributor hereby grants to You a perpetual,
-+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-+ (except as stated in this section) patent license to make, have made,
-+ use, offer to sell, sell, import, and otherwise transfer the Work,
-+ where such license applies only to those patent claims licensable
-+ by such Contributor that are necessarily infringed by their
-+ Contribution(s) alone or by combination of their Contribution(s)
-+ with the Work to which such Contribution(s) was submitted. If You
-+ institute patent litigation against any entity (including a
-+ cross-claim or counterclaim in a lawsuit) alleging that the Work
-+ or a Contribution incorporated within the Work constitutes direct
-+ or contributory patent infringement, then any patent licenses
-+ granted to You under this License for that Work shall terminate
-+ as of the date such litigation is filed.
-+
-+ 4. Redistribution. You may reproduce and distribute copies of the
-+ Work or Derivative Works thereof in any medium, with or without
-+ modifications, and in Source or Object form, provided that You
-+ meet the following conditions:
-+
-+ (a) You must give any other recipients of the Work or
-+ Derivative Works a copy of this License; and
-+
-+ (b) You must cause any modified files to carry prominent notices
-+ stating that You changed the files; and
-+
-+ (c) You must retain, in the Source form of any Derivative Works
-+ that You distribute, all copyright, patent, trademark, and
-+ attribution notices from the Source form of the Work,
-+ excluding those notices that do not pertain to any part of
-+ the Derivative Works; and
-+
-+ (d) If the Work includes a "NOTICE" text file as part of its
-+ distribution, then any Derivative Works that You distribute must
-+ include a readable copy of the attribution notices contained
-+ within such NOTICE file, excluding those notices that do not
-+ pertain to any part of the Derivative Works, in at least one
-+ of the following places: within a NOTICE text file distributed
-+ as part of the Derivative Works; within the Source form or
-+ documentation, if provided along with the Derivative Works; or,
-+ within a display generated by the Derivative Works, if and
-+ wherever such third-party notices normally appear. The contents
-+ of the NOTICE file are for informational purposes only and
-+ do not modify the License. You may add Your own attribution
-+ notices within Derivative Works that You distribute, alongside
-+ or as an addendum to the NOTICE text from the Work, provided
-+ that such additional attribution notices cannot be construed
-+ as modifying the License.
-+
-+ You may add Your own copyright statement to Your modifications and
-+ may provide additional or different license terms and conditions
-+ for use, reproduction, or distribution of Your modifications, or
-+ for any such Derivative Works as a whole, provided Your use,
-+ reproduction, and distribution of the Work otherwise complies with
-+ the conditions stated in this License.
-+
-+ 5. Submission of Contributions. Unless You explicitly state otherwise,
-+ any Contribution intentionally submitted for inclusion in the Work
-+ by You to the Licensor shall be under the terms and conditions of
-+ this License, without any additional terms or conditions.
-+ Notwithstanding the above, nothing herein shall supersede or modify
-+ the terms of any separate license agreement you may have executed
-+ with Licensor regarding such Contributions.
-+
-+ 6. Trademarks. This License does not grant permission to use the trade
-+ names, trademarks, service marks, or product names of the Licensor,
-+ except as required for reasonable and customary use in describing the
-+ origin of the Work and reproducing the content of the NOTICE file.
-+
-+ 7. Disclaimer of Warranty. Unless required by applicable law or
-+ agreed to in writing, Licensor provides the Work (and each
-+ Contributor provides its Contributions) on an "AS IS" BASIS,
-+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-+ implied, including, without limitation, any warranties or conditions
-+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-+ PARTICULAR PURPOSE. You are solely responsible for determining the
-+ appropriateness of using or redistributing the Work and assume any
-+ risks associated with Your exercise of permissions under this License.
-+
-+ 8. Limitation of Liability. In no event and under no legal theory,
-+ whether in tort (including negligence), contract, or otherwise,
-+ unless required by applicable law (such as deliberate and grossly
-+ negligent acts) or agreed to in writing, shall any Contributor be
-+ liable to You for damages, including any direct, indirect, special,
-+ incidental, or consequential damages of any character arising as a
-+ result of this License or out of the use or inability to use the
-+ Work (including but not limited to damages for loss of goodwill,
-+ work stoppage, computer failure or malfunction, or any and all
-+ other commercial damages or losses), even if such Contributor
-+ has been advised of the possibility of such damages.
-+
-+ 9. Accepting Warranty or Additional Liability. While redistributing
-+ the Work or Derivative Works thereof, You may choose to offer,
-+ and charge a fee for, acceptance of support, warranty, indemnity,
-+ or other liability obligations and/or rights consistent with this
-+ License. However, in accepting such obligations, You may act only
-+ on Your own behalf and on Your sole responsibility, not on behalf
-+ of any other Contributor, and only if You agree to indemnify,
-+ defend, and hold each Contributor harmless for any liability
-+ incurred by, or claims asserted against, such Contributor by reason
-+ of your accepting any such warranty or additional liability.
-diff --git a/grub-core/lib/argon2/argon2.c b/grub-core/lib/argon2/argon2.c
-new file mode 100644
-index 000000000..49532fe80
---- /dev/null
-+++ b/grub-core/lib/argon2/argon2.c
-@@ -0,0 +1,232 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include <grub/dl.h>
-+
-+#include "argon2.h"
-+#include "core.h"
-+
-+GRUB_MOD_LICENSE ("CC0");
-+
-+static int argon2_ctx(argon2_context *context, argon2_type type) {
-+ /* 1. Validate all inputs */
-+ int result = validate_inputs(context);
-+ grub_uint32_t memory_blocks, segment_length;
-+ argon2_instance_t instance;
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+
-+ if (Argon2_d != type && Argon2_i != type && Argon2_id != type) {
-+ return ARGON2_INCORRECT_TYPE;
-+ }
-+
-+ /* 2. Align memory size */
-+ /* Minimum memory_blocks = 8L blocks, where L is the number of lanes */
-+ memory_blocks = context->m_cost;
-+
-+ if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) {
-+ memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes;
-+ }
-+
-+ segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS);
-+ /* Ensure that all segments have equal length */
-+ memory_blocks = segment_length * (context->lanes * ARGON2_SYNC_POINTS);
-+
-+ instance.version = context->version;
-+ instance.memory = NULL;
-+ instance.passes = context->t_cost;
-+ instance.memory_blocks = memory_blocks;
-+ instance.segment_length = segment_length;
-+ instance.lane_length = segment_length * ARGON2_SYNC_POINTS;
-+ instance.lanes = context->lanes;
-+ instance.threads = context->threads;
-+ instance.type = type;
-+
-+ if (instance.threads > instance.lanes) {
-+ instance.threads = instance.lanes;
-+ }
-+
-+ /* 3. Initialization: Hashing inputs, allocating memory, filling first
-+ * blocks
-+ */
-+ result = initialize(&instance, context);
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+
-+ /* 4. Filling memory */
-+ result = fill_memory_blocks(&instance);
-+
-+ if (ARGON2_OK != result) {
-+ return result;
-+ }
-+ /* 5. Finalization */
-+ finalize(context, &instance);
-+
-+ return ARGON2_OK;
-+}
-+
-+int argon2_hash(const grub_uint32_t t_cost, const grub_uint32_t m_cost,
-+ const grub_uint32_t parallelism, const void *pwd,
-+ const grub_size_t pwdlen, const void *salt, const grub_size_t saltlen,
-+ void *hash, const grub_size_t hashlen, argon2_type type,
-+ const grub_uint32_t version){
-+
-+ argon2_context context;
-+ int result;
-+ grub_uint8_t *out;
-+
-+ if (pwdlen > ARGON2_MAX_PWD_LENGTH) {
-+ return ARGON2_PWD_TOO_LONG;
-+ }
-+
-+ if (saltlen > ARGON2_MAX_SALT_LENGTH) {
-+ return ARGON2_SALT_TOO_LONG;
-+ }
-+
-+ if (hashlen > ARGON2_MAX_OUTLEN) {
-+ return ARGON2_OUTPUT_TOO_LONG;
-+ }
-+
-+ if (hashlen < ARGON2_MIN_OUTLEN) {
-+ return ARGON2_OUTPUT_TOO_SHORT;
-+ }
-+
-+ out = grub_malloc(hashlen);
-+ if (!out) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ context.out = (grub_uint8_t *)out;
-+ context.outlen = (grub_uint32_t)hashlen;
-+ context.pwd = CONST_CAST(grub_uint8_t *)pwd;
-+ context.pwdlen = (grub_uint32_t)pwdlen;
-+ context.salt = CONST_CAST(grub_uint8_t *)salt;
-+ context.saltlen = (grub_uint32_t)saltlen;
-+ context.secret = NULL;
-+ context.secretlen = 0;
-+ context.ad = NULL;
-+ context.adlen = 0;
-+ context.t_cost = t_cost;
-+ context.m_cost = m_cost;
-+ context.lanes = parallelism;
-+ context.threads = parallelism;
-+ context.allocate_cbk = NULL;
-+ context.grub_free_cbk = NULL;
-+ context.flags = ARGON2_DEFAULT_FLAGS;
-+ context.version = version;
-+
-+ result = argon2_ctx(&context, type);
-+
-+ if (result != ARGON2_OK) {
-+ clear_internal_memory(out, hashlen);
-+ grub_free(out);
-+ return result;
-+ }
-+
-+ /* if raw hash requested, write it */
-+ if (hash) {
-+ grub_memcpy(hash, out, hashlen);
-+ }
-+
-+ clear_internal_memory(out, hashlen);
-+ grub_free(out);
-+
-+ return ARGON2_OK;
-+}
-+
-+const char *argon2_error_message(int error_code) {
-+ switch (error_code) {
-+ case ARGON2_OK:
-+ return "OK";
-+ case ARGON2_OUTPUT_PTR_NULL:
-+ return "Output pointer is NULL";
-+ case ARGON2_OUTPUT_TOO_SHORT:
-+ return "Output is too short";
-+ case ARGON2_OUTPUT_TOO_LONG:
-+ return "Output is too long";
-+ case ARGON2_PWD_TOO_SHORT:
-+ return "Password is too short";
-+ case ARGON2_PWD_TOO_LONG:
-+ return "Password is too long";
-+ case ARGON2_SALT_TOO_SHORT:
-+ return "Salt is too short";
-+ case ARGON2_SALT_TOO_LONG:
-+ return "Salt is too long";
-+ case ARGON2_AD_TOO_SHORT:
-+ return "Associated data is too short";
-+ case ARGON2_AD_TOO_LONG:
-+ return "Associated data is too long";
-+ case ARGON2_SECRET_TOO_SHORT:
-+ return "Secret is too short";
-+ case ARGON2_SECRET_TOO_LONG:
-+ return "Secret is too long";
-+ case ARGON2_TIME_TOO_SMALL:
-+ return "Time cost is too small";
-+ case ARGON2_TIME_TOO_LARGE:
-+ return "Time cost is too large";
-+ case ARGON2_MEMORY_TOO_LITTLE:
-+ return "Memory cost is too small";
-+ case ARGON2_MEMORY_TOO_MUCH:
-+ return "Memory cost is too large";
-+ case ARGON2_LANES_TOO_FEW:
-+ return "Too few lanes";
-+ case ARGON2_LANES_TOO_MANY:
-+ return "Too many lanes";
-+ case ARGON2_PWD_PTR_MISMATCH:
-+ return "Password pointer is NULL, but password length is not 0";
-+ case ARGON2_SALT_PTR_MISMATCH:
-+ return "Salt pointer is NULL, but salt length is not 0";
-+ case ARGON2_SECRET_PTR_MISMATCH:
-+ return "Secret pointer is NULL, but secret length is not 0";
-+ case ARGON2_AD_PTR_MISMATCH:
-+ return "Associated data pointer is NULL, but ad length is not 0";
-+ case ARGON2_MEMORY_ALLOCATION_ERROR:
-+ return "Memory allocation error";
-+ case ARGON2_FREE_MEMORY_CBK_NULL:
-+ return "The grub_free memory callback is NULL";
-+ case ARGON2_ALLOCATE_MEMORY_CBK_NULL:
-+ return "The allocate memory callback is NULL";
-+ case ARGON2_INCORRECT_PARAMETER:
-+ return "Argon2_Context context is NULL";
-+ case ARGON2_INCORRECT_TYPE:
-+ return "There is no such version of Argon2";
-+ case ARGON2_OUT_PTR_MISMATCH:
-+ return "Output pointer mismatch";
-+ case ARGON2_THREADS_TOO_FEW:
-+ return "Not enough threads";
-+ case ARGON2_THREADS_TOO_MANY:
-+ return "Too many threads";
-+ case ARGON2_MISSING_ARGS:
-+ return "Missing arguments";
-+ case ARGON2_ENCODING_FAIL:
-+ return "Encoding failed";
-+ case ARGON2_DECODING_FAIL:
-+ return "Decoding failed";
-+ case ARGON2_THREAD_FAIL:
-+ return "Threading failure";
-+ case ARGON2_DECODING_LENGTH_FAIL:
-+ return "Some of encoded parameters are too long or too short";
-+ case ARGON2_VERIFY_MISMATCH:
-+ return "The password does not match the supplied hash";
-+ default:
-+ return "Unknown error code";
-+ }
-+}
-diff --git a/grub-core/lib/argon2/argon2.h b/grub-core/lib/argon2/argon2.h
-new file mode 100644
-index 000000000..129f7efbd
---- /dev/null
-+++ b/grub-core/lib/argon2/argon2.h
-@@ -0,0 +1,264 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef ARGON2_H
-+#define ARGON2_H
-+
-+#include <grub/misc.h>
-+#include <grub/mm.h>
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+/* Symbols visibility control */
-+#ifdef A2_VISCTL
-+#define ARGON2_PUBLIC __attribute__((visibility("default")))
-+#define ARGON2_LOCAL __attribute__ ((visibility ("hidden")))
-+#elif defined(_MSC_VER)
-+#define ARGON2_PUBLIC __declspec(dllexport)
-+#define ARGON2_LOCAL
-+#else
-+#define ARGON2_PUBLIC
-+#define ARGON2_LOCAL
-+#endif
-+
-+/*
-+ * Argon2 input parameter restrictions
-+ */
-+
-+/* Minimum and maximum number of lanes (degree of parallelism) */
-+#define ARGON2_MIN_LANES GRUB_UINT32_C(1)
-+#define ARGON2_MAX_LANES GRUB_UINT32_C(0xFFFFFF)
-+
-+/* Minimum and maximum number of threads */
-+#define ARGON2_MIN_THREADS GRUB_UINT32_C(1)
-+#define ARGON2_MAX_THREADS GRUB_UINT32_C(0xFFFFFF)
-+
-+/* Number of synchronization points between lanes per pass */
-+#define ARGON2_SYNC_POINTS GRUB_UINT32_C(4)
-+
-+/* Minimum and maximum digest size in bytes */
-+#define ARGON2_MIN_OUTLEN GRUB_UINT32_C(4)
-+#define ARGON2_MAX_OUTLEN GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum number of memory blocks (each of BLOCK_SIZE bytes) */
-+#define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */
-+
-+#define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b))
-+/* Max memory size is addressing-space/2, topping at 2^32 blocks (4 TB) */
-+#define ARGON2_MAX_MEMORY_BITS \
-+ ARGON2_MIN(GRUB_UINT32_C(32), (sizeof(void *) * GRUB_CHAR_BIT - 10 - 1))
-+#define ARGON2_MAX_MEMORY \
-+ ARGON2_MIN(GRUB_UINT32_C(0xFFFFFFFF), GRUB_UINT64_C(1) << ARGON2_MAX_MEMORY_BITS)
-+
-+/* Minimum and maximum number of passes */
-+#define ARGON2_MIN_TIME GRUB_UINT32_C(1)
-+#define ARGON2_MAX_TIME GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum password length in bytes */
-+#define ARGON2_MIN_PWD_LENGTH GRUB_UINT32_C(0)
-+#define ARGON2_MAX_PWD_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum associated data length in bytes */
-+#define ARGON2_MIN_AD_LENGTH GRUB_UINT32_C(0)
-+#define ARGON2_MAX_AD_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum salt length in bytes */
-+#define ARGON2_MIN_SALT_LENGTH GRUB_UINT32_C(8)
-+#define ARGON2_MAX_SALT_LENGTH GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Minimum and maximum key length in bytes */
-+#define ARGON2_MIN_SECRET GRUB_UINT32_C(0)
-+#define ARGON2_MAX_SECRET GRUB_UINT32_C(0xFFFFFFFF)
-+
-+/* Flags to determine which fields are securely wiped (default = no wipe). */
-+#define ARGON2_DEFAULT_FLAGS GRUB_UINT32_C(0)
-+#define ARGON2_FLAG_CLEAR_PASSWORD (GRUB_UINT32_C(1) << 0)
-+#define ARGON2_FLAG_CLEAR_SECRET (GRUB_UINT32_C(1) << 1)
-+
-+/* Global flag to determine if we are wiping internal memory buffers. This flag
-+ * is defined in core.c and defaults to 1 (wipe internal memory). */
-+extern int FLAG_clear_internal_memory;
-+
-+/* Error codes */
-+typedef enum Argon2_ErrorCodes {
-+ ARGON2_OK = 0,
-+
-+ ARGON2_OUTPUT_PTR_NULL = -1,
-+
-+ ARGON2_OUTPUT_TOO_SHORT = -2,
-+ ARGON2_OUTPUT_TOO_LONG = -3,
-+
-+ ARGON2_PWD_TOO_SHORT = -4,
-+ ARGON2_PWD_TOO_LONG = -5,
-+
-+ ARGON2_SALT_TOO_SHORT = -6,
-+ ARGON2_SALT_TOO_LONG = -7,
-+
-+ ARGON2_AD_TOO_SHORT = -8,
-+ ARGON2_AD_TOO_LONG = -9,
-+
-+ ARGON2_SECRET_TOO_SHORT = -10,
-+ ARGON2_SECRET_TOO_LONG = -11,
-+
-+ ARGON2_TIME_TOO_SMALL = -12,
-+ ARGON2_TIME_TOO_LARGE = -13,
-+
-+ ARGON2_MEMORY_TOO_LITTLE = -14,
-+ ARGON2_MEMORY_TOO_MUCH = -15,
-+
-+ ARGON2_LANES_TOO_FEW = -16,
-+ ARGON2_LANES_TOO_MANY = -17,
-+
-+ ARGON2_PWD_PTR_MISMATCH = -18, /* NULL ptr with non-zero length */
-+ ARGON2_SALT_PTR_MISMATCH = -19, /* NULL ptr with non-zero length */
-+ ARGON2_SECRET_PTR_MISMATCH = -20, /* NULL ptr with non-zero length */
-+ ARGON2_AD_PTR_MISMATCH = -21, /* NULL ptr with non-zero length */
-+
-+ ARGON2_MEMORY_ALLOCATION_ERROR = -22,
-+
-+ ARGON2_FREE_MEMORY_CBK_NULL = -23,
-+ ARGON2_ALLOCATE_MEMORY_CBK_NULL = -24,
-+
-+ ARGON2_INCORRECT_PARAMETER = -25,
-+ ARGON2_INCORRECT_TYPE = -26,
-+
-+ ARGON2_OUT_PTR_MISMATCH = -27,
-+
-+ ARGON2_THREADS_TOO_FEW = -28,
-+ ARGON2_THREADS_TOO_MANY = -29,
-+
-+ ARGON2_MISSING_ARGS = -30,
-+
-+ ARGON2_ENCODING_FAIL = -31,
-+
-+ ARGON2_DECODING_FAIL = -32,
-+
-+ ARGON2_THREAD_FAIL = -33,
-+
-+ ARGON2_DECODING_LENGTH_FAIL = -34,
-+
-+ ARGON2_VERIFY_MISMATCH = -35
-+} argon2_error_codes;
-+
-+/* Memory allocator types --- for external allocation */
-+typedef int (*allocate_fptr)(grub_uint8_t **memory, grub_size_t bytes_to_allocate);
-+typedef void (*deallocate_fptr)(grub_uint8_t *memory, grub_size_t bytes_to_allocate);
-+
-+/* Argon2 external data structures */
-+
-+/*
-+ *****
-+ * Context: structure to hold Argon2 inputs:
-+ * output array and its length,
-+ * password and its length,
-+ * salt and its length,
-+ * secret and its length,
-+ * associated data and its length,
-+ * number of passes, amount of used memory (in KBytes, can be rounded up a bit)
-+ * number of parallel threads that will be run.
-+ * All the parameters above affect the output hash value.
-+ * Additionally, two function pointers can be provided to allocate and
-+ * deallocate the memory (if NULL, memory will be allocated internally).
-+ * Also, three flags indicate whether to erase password, secret as soon as they
-+ * are pre-hashed (and thus not needed anymore), and the entire memory
-+ *****
-+ * Simplest situation: you have output array out[8], password is stored in
-+ * pwd[32], salt is stored in salt[16], you do not have keys nor associated
-+ * data. You need to spend 1 GB of RAM and you run 5 passes of Argon2d with
-+ * 4 parallel lanes.
-+ * You want to erase the password, but you're OK with last pass not being
-+ * erased. You want to use the default memory allocator.
-+ * Then you initialize:
-+ Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false)
-+ */
-+typedef struct Argon2_Context {
-+ grub_uint8_t *out; /* output array */
-+ grub_uint32_t outlen; /* digest length */
-+
-+ grub_uint8_t *pwd; /* password array */
-+ grub_uint32_t pwdlen; /* password length */
-+
-+ grub_uint8_t *salt; /* salt array */
-+ grub_uint32_t saltlen; /* salt length */
-+
-+ grub_uint8_t *secret; /* key array */
-+ grub_uint32_t secretlen; /* key length */
-+
-+ grub_uint8_t *ad; /* associated data array */
-+ grub_uint32_t adlen; /* associated data length */
-+
-+ grub_uint32_t t_cost; /* number of passes */
-+ grub_uint32_t m_cost; /* amount of memory requested (KB) */
-+ grub_uint32_t lanes; /* number of lanes */
-+ grub_uint32_t threads; /* maximum number of threads */
-+
-+ grub_uint32_t version; /* version number */
-+
-+ allocate_fptr allocate_cbk; /* pointer to memory allocator */
-+ deallocate_fptr grub_free_cbk; /* pointer to memory deallocator */
-+
-+ grub_uint32_t flags; /* array of bool options */
-+} argon2_context;
-+
-+/* Argon2 primitive type */
-+typedef enum Argon2_type {
-+ Argon2_d = 0,
-+ Argon2_i = 1,
-+ Argon2_id = 2
-+} argon2_type;
-+
-+/* Version of the algorithm */
-+typedef enum Argon2_version {
-+ ARGON2_VERSION_10 = 0x10,
-+ ARGON2_VERSION_13 = 0x13,
-+ ARGON2_VERSION_NUMBER = ARGON2_VERSION_13
-+} argon2_version;
-+
-+/**
-+ * Hashes a password with Argon2, producing a raw hash at @hash
-+ * @param t_cost Number of iterations
-+ * @param m_cost Sets memory usage to m_cost kibibytes
-+ * @param parallelism Number of threads and compute lanes
-+ * @param pwd Pointer to password
-+ * @param pwdlen Password size in bytes
-+ * @param salt Pointer to salt
-+ * @param saltlen Salt size in bytes
-+ * @param hash Buffer where to write the raw hash - updated by the function
-+ * @param hashlen Desired length of the hash in bytes
-+ * @pre Different parallelism levels will give different results
-+ * @pre Returns ARGON2_OK if successful
-+ */
-+ARGON2_PUBLIC int argon2_hash(const grub_uint32_t t_cost, const grub_uint32_t m_cost,
-+ const grub_uint32_t parallelism, const void *pwd,
-+ const grub_size_t pwdlen, const void *salt,
-+ const grub_size_t saltlen, void *hash,
-+ const grub_size_t hashlen, argon2_type type,
-+ const grub_uint32_t version);
-+
-+/**
-+ * Get the associated error message for given error code
-+ * @return The error message associated with the given error code
-+ */
-+ARGON2_PUBLIC const char *argon2_error_message(int error_code);
-+
-+#if defined(__cplusplus)
-+}
-+#endif
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2-impl.h b/grub-core/lib/argon2/blake2/blake2-impl.h
-new file mode 100644
-index 000000000..3a795680b
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2-impl.h
-@@ -0,0 +1,151 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef PORTABLE_BLAKE2_IMPL_H
-+#define PORTABLE_BLAKE2_IMPL_H
-+
-+#if defined(_MSC_VER)
-+#define BLAKE2_INLINE __inline
-+#elif defined(__GNUC__) || defined(__clang__)
-+#define BLAKE2_INLINE __inline__
-+#else
-+#define BLAKE2_INLINE
-+#endif
-+
-+/* Argon2 Team - Begin Code */
-+/*
-+ Not an exhaustive list, but should cover the majority of modern platforms
-+ Additionally, the code will always be correct---this is only a performance
-+ tweak.
-+*/
-+#if (defined(__BYTE_ORDER__) && \
-+ (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) || \
-+ defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || defined(__MIPSEL__) || \
-+ defined(__AARCH64EL__) || defined(__amd64__) || defined(__i386__) || \
-+ defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \
-+ defined(_M_ARM)
-+#define NATIVE_LITTLE_ENDIAN
-+#endif
-+/* Argon2 Team - End Code */
-+
-+static BLAKE2_INLINE grub_uint32_t load32(const void *src) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_uint32_t w;
-+ grub_memcpy(&w, src, sizeof w);
-+ return w;
-+#else
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint32_t w = *p++;
-+ w |= (grub_uint32_t)(*p++) << 8;
-+ w |= (grub_uint32_t)(*p++) << 16;
-+ w |= (grub_uint32_t)(*p++) << 24;
-+ return w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t load64(const void *src) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_uint64_t w;
-+ grub_memcpy(&w, src, sizeof w);
-+ return w;
-+#else
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint64_t w = *p++;
-+ w |= (grub_uint64_t)(*p++) << 8;
-+ w |= (grub_uint64_t)(*p++) << 16;
-+ w |= (grub_uint64_t)(*p++) << 24;
-+ w |= (grub_uint64_t)(*p++) << 32;
-+ w |= (grub_uint64_t)(*p++) << 40;
-+ w |= (grub_uint64_t)(*p++) << 48;
-+ w |= (grub_uint64_t)(*p++) << 56;
-+ return w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE void store32(void *dst, grub_uint32_t w) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_memcpy(dst, &w, sizeof w);
-+#else
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE void store64(void *dst, grub_uint64_t w) {
-+#if defined(NATIVE_LITTLE_ENDIAN)
-+ grub_memcpy(dst, &w, sizeof w);
-+#else
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+#endif
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t load48(const void *src) {
-+ const grub_uint8_t *p = (const grub_uint8_t *)src;
-+ grub_uint64_t w = *p++;
-+ w |= (grub_uint64_t)(*p++) << 8;
-+ w |= (grub_uint64_t)(*p++) << 16;
-+ w |= (grub_uint64_t)(*p++) << 24;
-+ w |= (grub_uint64_t)(*p++) << 32;
-+ w |= (grub_uint64_t)(*p++) << 40;
-+ return w;
-+}
-+
-+static BLAKE2_INLINE void store48(void *dst, grub_uint64_t w) {
-+ grub_uint8_t *p = (grub_uint8_t *)dst;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+ w >>= 8;
-+ *p++ = (grub_uint8_t)w;
-+}
-+
-+static BLAKE2_INLINE grub_uint32_t rotr32(const grub_uint32_t w, const unsigned c) {
-+ return (w >> c) | (w << (32 - c));
-+}
-+
-+static BLAKE2_INLINE grub_uint64_t rotr64(const grub_uint64_t w, const unsigned c) {
-+ return (w >> c) | (w << (64 - c));
-+}
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2.h b/grub-core/lib/argon2/blake2/blake2.h
-new file mode 100644
-index 000000000..4e8efeb22
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2.h
-@@ -0,0 +1,89 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef PORTABLE_BLAKE2_H
-+#define PORTABLE_BLAKE2_H
-+
-+#include "../argon2.h"
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+enum blake2b_constant {
-+ BLAKE2B_BLOCKBYTES = 128,
-+ BLAKE2B_OUTBYTES = 64,
-+ BLAKE2B_KEYBYTES = 64,
-+ BLAKE2B_SALTBYTES = 16,
-+ BLAKE2B_PERSONALBYTES = 16
-+};
-+
-+#pragma pack(push, 1)
-+typedef struct __blake2b_param {
-+ grub_uint8_t digest_length; /* 1 */
-+ grub_uint8_t key_length; /* 2 */
-+ grub_uint8_t fanout; /* 3 */
-+ grub_uint8_t depth; /* 4 */
-+ grub_uint32_t leaf_length; /* 8 */
-+ grub_uint64_t node_offset; /* 16 */
-+ grub_uint8_t node_depth; /* 17 */
-+ grub_uint8_t inner_length; /* 18 */
-+ grub_uint8_t reserved[14]; /* 32 */
-+ grub_uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */
-+ grub_uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */
-+} blake2b_param;
-+#pragma pack(pop)
-+
-+typedef struct __blake2b_state {
-+ grub_uint64_t h[8];
-+ grub_uint64_t t[2];
-+ grub_uint64_t f[2];
-+ grub_uint8_t buf[BLAKE2B_BLOCKBYTES];
-+ unsigned buflen;
-+ unsigned outlen;
-+ grub_uint8_t last_node;
-+} blake2b_state;
-+
-+/* Ensure param structs have not been wrongly padded */
-+/* Poor man's static_assert */
-+enum {
-+ blake2_size_check_0 = 1 / !!(GRUB_CHAR_BIT == 8),
-+ blake2_size_check_2 =
-+ 1 / !!(sizeof(blake2b_param) == sizeof(grub_uint64_t) * GRUB_CHAR_BIT)
-+};
-+
-+/* Streaming API */
-+ARGON2_LOCAL int blake2b_init(blake2b_state *S, grub_size_t outlen);
-+ARGON2_LOCAL int blake2b_init_key(blake2b_state *S, grub_size_t outlen, const void *key,
-+ grub_size_t keylen);
-+ARGON2_LOCAL int blake2b_init_param(blake2b_state *S, const blake2b_param *P);
-+ARGON2_LOCAL int blake2b_update(blake2b_state *S, const void *in, grub_size_t inlen);
-+ARGON2_LOCAL int blake2b_final(blake2b_state *S, void *out, grub_size_t outlen);
-+
-+/* Simple API */
-+ARGON2_LOCAL int blake2b(void *out, grub_size_t outlen, const void *in, grub_size_t inlen,
-+ const void *key, grub_size_t keylen);
-+
-+/* Argon2 Team - Begin Code */
-+ARGON2_LOCAL int blake2b_long(void *out, grub_size_t outlen, const void *in, grub_size_t inlen);
-+/* Argon2 Team - End Code */
-+
-+#if defined(__cplusplus)
-+}
-+#endif
-+
-+#endif
-diff --git a/grub-core/lib/argon2/blake2/blake2b.c b/grub-core/lib/argon2/blake2/blake2b.c
-new file mode 100644
-index 000000000..53abd7bef
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blake2b.c
-@@ -0,0 +1,388 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include "blake2.h"
-+#include "blake2-impl.h"
-+
-+static const grub_uint64_t blake2b_IV[8] = {
-+ GRUB_UINT64_C(0x6a09e667f3bcc908), GRUB_UINT64_C(0xbb67ae8584caa73b),
-+ GRUB_UINT64_C(0x3c6ef372fe94f82b), GRUB_UINT64_C(0xa54ff53a5f1d36f1),
-+ GRUB_UINT64_C(0x510e527fade682d1), GRUB_UINT64_C(0x9b05688c2b3e6c1f),
-+ GRUB_UINT64_C(0x1f83d9abfb41bd6b), GRUB_UINT64_C(0x5be0cd19137e2179)};
-+
-+static const unsigned int blake2b_sigma[12][16] = {
-+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
-+ {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
-+ {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4},
-+ {7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8},
-+ {9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13},
-+ {2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9},
-+ {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11},
-+ {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10},
-+ {6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5},
-+ {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0},
-+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
-+ {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
-+};
-+
-+void clear_internal_memory(void *v, grub_size_t n);
-+
-+static BLAKE2_INLINE void blake2b_set_lastnode(blake2b_state *S) {
-+ S->f[1] = (grub_uint64_t)-1;
-+}
-+
-+static BLAKE2_INLINE void blake2b_set_lastblock(blake2b_state *S) {
-+ if (S->last_node) {
-+ blake2b_set_lastnode(S);
-+ }
-+ S->f[0] = (grub_uint64_t)-1;
-+}
-+
-+static BLAKE2_INLINE void blake2b_increment_counter(blake2b_state *S,
-+ grub_uint64_t inc) {
-+ S->t[0] += inc;
-+ S->t[1] += (S->t[0] < inc);
-+}
-+
-+static BLAKE2_INLINE void blake2b_invalidate_state(blake2b_state *S) {
-+ clear_internal_memory(S, sizeof(*S)); /* wipe */
-+ blake2b_set_lastblock(S); /* invalidate for further use */
-+}
-+
-+static BLAKE2_INLINE void blake2b_init0(blake2b_state *S) {
-+ grub_memset(S, 0, sizeof(*S));
-+ grub_memcpy(S->h, blake2b_IV, sizeof(S->h));
-+}
-+
-+int blake2b_init_param(blake2b_state *S, const blake2b_param *P) {
-+ const unsigned char *p = (const unsigned char *)P;
-+ unsigned int i;
-+
-+ if (NULL == P || NULL == S) {
-+ return -1;
-+ }
-+
-+ blake2b_init0(S);
-+ /* IV XOR Parameter Block */
-+ for (i = 0; i < 8; ++i) {
-+ S->h[i] ^= load64(&p[i * sizeof(S->h[i])]);
-+ }
-+ S->outlen = P->digest_length;
-+ return 0;
-+}
-+
-+/* Sequential blake2b initialization */
-+int blake2b_init(blake2b_state *S, grub_size_t outlen) {
-+ blake2b_param P;
-+
-+ if (S == NULL) {
-+ return -1;
-+ }
-+
-+ if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ /* Setup Parameter Block for unkeyed BLAKE2 */
-+ P.digest_length = (grub_uint8_t)outlen;
-+ P.key_length = 0;
-+ P.fanout = 1;
-+ P.depth = 1;
-+ P.leaf_length = 0;
-+ P.node_offset = 0;
-+ P.node_depth = 0;
-+ P.inner_length = 0;
-+ grub_memset(P.reserved, 0, sizeof(P.reserved));
-+ grub_memset(P.salt, 0, sizeof(P.salt));
-+ grub_memset(P.personal, 0, sizeof(P.personal));
-+
-+ return blake2b_init_param(S, &P);
-+}
-+
-+int blake2b_init_key(blake2b_state *S, grub_size_t outlen, const void *key,
-+ grub_size_t keylen) {
-+ blake2b_param P;
-+
-+ if (S == NULL) {
-+ return -1;
-+ }
-+
-+ if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ if ((key == 0) || (keylen == 0) || (keylen > BLAKE2B_KEYBYTES)) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ /* Setup Parameter Block for keyed BLAKE2 */
-+ P.digest_length = (grub_uint8_t)outlen;
-+ P.key_length = (grub_uint8_t)keylen;
-+ P.fanout = 1;
-+ P.depth = 1;
-+ P.leaf_length = 0;
-+ P.node_offset = 0;
-+ P.node_depth = 0;
-+ P.inner_length = 0;
-+ grub_memset(P.reserved, 0, sizeof(P.reserved));
-+ grub_memset(P.salt, 0, sizeof(P.salt));
-+ grub_memset(P.personal, 0, sizeof(P.personal));
-+
-+ if (blake2b_init_param(S, &P) < 0) {
-+ blake2b_invalidate_state(S);
-+ return -1;
-+ }
-+
-+ {
-+ grub_uint8_t block[BLAKE2B_BLOCKBYTES];
-+ grub_memset(block, 0, BLAKE2B_BLOCKBYTES);
-+ grub_memcpy(block, key, keylen);
-+ blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
-+ /* Burn the key from stack */
-+ clear_internal_memory(block, BLAKE2B_BLOCKBYTES);
-+ }
-+ return 0;
-+}
-+
-+static void blake2b_compress(blake2b_state *S, const grub_uint8_t *block) {
-+ grub_uint64_t m[16];
-+ grub_uint64_t v[16];
-+ unsigned int i, r;
-+
-+ for (i = 0; i < 16; ++i) {
-+ m[i] = load64(block + i * sizeof(m[i]));
-+ }
-+
-+ for (i = 0; i < 8; ++i) {
-+ v[i] = S->h[i];
-+ }
-+
-+ v[8] = blake2b_IV[0];
-+ v[9] = blake2b_IV[1];
-+ v[10] = blake2b_IV[2];
-+ v[11] = blake2b_IV[3];
-+ v[12] = blake2b_IV[4] ^ S->t[0];
-+ v[13] = blake2b_IV[5] ^ S->t[1];
-+ v[14] = blake2b_IV[6] ^ S->f[0];
-+ v[15] = blake2b_IV[7] ^ S->f[1];
-+
-+#define G(r, i, a, b, c, d) \
-+ do { \
-+ a = a + b + m[blake2b_sigma[r][2 * i + 0]]; \
-+ d = rotr64(d ^ a, 32); \
-+ c = c + d; \
-+ b = rotr64(b ^ c, 24); \
-+ a = a + b + m[blake2b_sigma[r][2 * i + 1]]; \
-+ d = rotr64(d ^ a, 16); \
-+ c = c + d; \
-+ b = rotr64(b ^ c, 63); \
-+ } while ((void)0, 0)
-+
-+#define ROUND(r) \
-+ do { \
-+ G(r, 0, v[0], v[4], v[8], v[12]); \
-+ G(r, 1, v[1], v[5], v[9], v[13]); \
-+ G(r, 2, v[2], v[6], v[10], v[14]); \
-+ G(r, 3, v[3], v[7], v[11], v[15]); \
-+ G(r, 4, v[0], v[5], v[10], v[15]); \
-+ G(r, 5, v[1], v[6], v[11], v[12]); \
-+ G(r, 6, v[2], v[7], v[8], v[13]); \
-+ G(r, 7, v[3], v[4], v[9], v[14]); \
-+ } while ((void)0, 0)
-+
-+ for (r = 0; r < 12; ++r) {
-+ ROUND(r);
-+ }
-+
-+ for (i = 0; i < 8; ++i) {
-+ S->h[i] = S->h[i] ^ v[i] ^ v[i + 8];
-+ }
-+
-+#undef G
-+#undef ROUND
-+}
-+
-+int blake2b_update(blake2b_state *S, const void *in, grub_size_t inlen) {
-+ const grub_uint8_t *pin = (const grub_uint8_t *)in;
-+
-+ if (inlen == 0) {
-+ return 0;
-+ }
-+
-+ /* Sanity check */
-+ if (S == NULL || in == NULL) {
-+ return -1;
-+ }
-+
-+ /* Is this a reused state? */
-+ if (S->f[0] != 0) {
-+ return -1;
-+ }
-+
-+ if (S->buflen + inlen > BLAKE2B_BLOCKBYTES) {
-+ /* Complete current block */
-+ grub_size_t left = S->buflen;
-+ grub_size_t fill = BLAKE2B_BLOCKBYTES - left;
-+ grub_memcpy(&S->buf[left], pin, fill);
-+ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES);
-+ blake2b_compress(S, S->buf);
-+ S->buflen = 0;
-+ inlen -= fill;
-+ pin += fill;
-+ /* Avoid buffer copies when possible */
-+ while (inlen > BLAKE2B_BLOCKBYTES) {
-+ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES);
-+ blake2b_compress(S, pin);
-+ inlen -= BLAKE2B_BLOCKBYTES;
-+ pin += BLAKE2B_BLOCKBYTES;
-+ }
-+ }
-+ grub_memcpy(&S->buf[S->buflen], pin, inlen);
-+ S->buflen += (unsigned int)inlen;
-+ return 0;
-+}
-+
-+int blake2b_final(blake2b_state *S, void *out, grub_size_t outlen) {
-+ grub_uint8_t buffer[BLAKE2B_OUTBYTES] = {0};
-+ unsigned int i;
-+
-+ /* Sanity checks */
-+ if (S == NULL || out == NULL || outlen < S->outlen) {
-+ return -1;
-+ }
-+
-+ /* Is this a reused state? */
-+ if (S->f[0] != 0) {
-+ return -1;
-+ }
-+
-+ blake2b_increment_counter(S, S->buflen);
-+ blake2b_set_lastblock(S);
-+ grub_memset(&S->buf[S->buflen], 0, BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */
-+ blake2b_compress(S, S->buf);
-+
-+ for (i = 0; i < 8; ++i) { /* Output full hash to temp buffer */
-+ store64(buffer + sizeof(S->h[i]) * i, S->h[i]);
-+ }
-+
-+ grub_memcpy(out, buffer, S->outlen);
-+ clear_internal_memory(buffer, sizeof(buffer));
-+ clear_internal_memory(S->buf, sizeof(S->buf));
-+ clear_internal_memory(S->h, sizeof(S->h));
-+ return 0;
-+}
-+
-+int blake2b(void *out, grub_size_t outlen, const void *in, grub_size_t inlen,
-+ const void *key, grub_size_t keylen) {
-+ blake2b_state S;
-+ int ret = -1;
-+
-+ /* Verify parameters */
-+ if (NULL == in && inlen > 0) {
-+ goto fail;
-+ }
-+
-+ if (NULL == out || outlen == 0 || outlen > BLAKE2B_OUTBYTES) {
-+ goto fail;
-+ }
-+
-+ if ((NULL == key && keylen > 0) || keylen > BLAKE2B_KEYBYTES) {
-+ goto fail;
-+ }
-+
-+ if (keylen > 0) {
-+ if (blake2b_init_key(&S, outlen, key, keylen) < 0) {
-+ goto fail;
-+ }
-+ } else {
-+ if (blake2b_init(&S, outlen) < 0) {
-+ goto fail;
-+ }
-+ }
-+
-+ if (blake2b_update(&S, in, inlen) < 0) {
-+ goto fail;
-+ }
-+ ret = blake2b_final(&S, out, outlen);
-+
-+fail:
-+ clear_internal_memory(&S, sizeof(S));
-+ return ret;
-+}
-+
-+/* Argon2 Team - Begin Code */
-+int blake2b_long(void *pout, grub_size_t outlen, const void *in, grub_size_t inlen) {
-+ grub_uint8_t *out = (grub_uint8_t *)pout;
-+ blake2b_state blake_state;
-+ grub_uint8_t outlen_bytes[sizeof(grub_uint32_t)] = {0};
-+ int ret = -1;
-+
-+ if (outlen > GRUB_UINT32_MAX) {
-+ goto fail;
-+ }
-+
-+ /* Ensure little-endian byte order! */
-+ store32(outlen_bytes, (grub_uint32_t)outlen);
-+
-+#define TRY(statement) \
-+ do { \
-+ ret = statement; \
-+ if (ret < 0) { \
-+ goto fail; \
-+ } \
-+ } while ((void)0, 0)
-+
-+ if (outlen <= BLAKE2B_OUTBYTES) {
-+ TRY(blake2b_init(&blake_state, outlen));
-+ TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
-+ TRY(blake2b_update(&blake_state, in, inlen));
-+ TRY(blake2b_final(&blake_state, out, outlen));
-+ } else {
-+ grub_uint32_t toproduce;
-+ grub_uint8_t out_buffer[BLAKE2B_OUTBYTES];
-+ grub_uint8_t in_buffer[BLAKE2B_OUTBYTES];
-+ TRY(blake2b_init(&blake_state, BLAKE2B_OUTBYTES));
-+ TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
-+ TRY(blake2b_update(&blake_state, in, inlen));
-+ TRY(blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES));
-+ grub_memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
-+ out += BLAKE2B_OUTBYTES / 2;
-+ toproduce = (grub_uint32_t)outlen - BLAKE2B_OUTBYTES / 2;
-+
-+ while (toproduce > BLAKE2B_OUTBYTES) {
-+ grub_memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
-+ TRY(blake2b(out_buffer, BLAKE2B_OUTBYTES, in_buffer,
-+ BLAKE2B_OUTBYTES, NULL, 0));
-+ grub_memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
-+ out += BLAKE2B_OUTBYTES / 2;
-+ toproduce -= BLAKE2B_OUTBYTES / 2;
-+ }
-+
-+ grub_memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
-+ TRY(blake2b(out_buffer, toproduce, in_buffer, BLAKE2B_OUTBYTES, NULL,
-+ 0));
-+ grub_memcpy(out, out_buffer, toproduce);
-+ }
-+fail:
-+ clear_internal_memory(&blake_state, sizeof(blake_state));
-+ return ret;
-+#undef TRY
-+}
-+/* Argon2 Team - End Code */
-diff --git a/grub-core/lib/argon2/blake2/blamka-round-ref.h b/grub-core/lib/argon2/blake2/blamka-round-ref.h
-new file mode 100644
-index 000000000..7f0071ada
---- /dev/null
-+++ b/grub-core/lib/argon2/blake2/blamka-round-ref.h
-@@ -0,0 +1,56 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef BLAKE_ROUND_MKA_H
-+#define BLAKE_ROUND_MKA_H
-+
-+#include "blake2.h"
-+#include "blake2-impl.h"
-+
-+/* designed by the Lyra PHC team */
-+static BLAKE2_INLINE grub_uint64_t fBlaMka(grub_uint64_t x, grub_uint64_t y) {
-+ const grub_uint64_t m = GRUB_UINT64_C(0xFFFFFFFF);
-+ const grub_uint64_t xy = (x & m) * (y & m);
-+ return x + y + 2 * xy;
-+}
-+
-+#define G(a, b, c, d) \
-+ do { \
-+ a = fBlaMka(a, b); \
-+ d = rotr64(d ^ a, 32); \
-+ c = fBlaMka(c, d); \
-+ b = rotr64(b ^ c, 24); \
-+ a = fBlaMka(a, b); \
-+ d = rotr64(d ^ a, 16); \
-+ c = fBlaMka(c, d); \
-+ b = rotr64(b ^ c, 63); \
-+ } while ((void)0, 0)
-+
-+#define BLAKE2_ROUND_NOMSG(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, \
-+ v12, v13, v14, v15) \
-+ do { \
-+ G(v0, v4, v8, v12); \
-+ G(v1, v5, v9, v13); \
-+ G(v2, v6, v10, v14); \
-+ G(v3, v7, v11, v15); \
-+ G(v0, v5, v10, v15); \
-+ G(v1, v6, v11, v12); \
-+ G(v2, v7, v8, v13); \
-+ G(v3, v4, v9, v14); \
-+ } while ((void)0, 0)
-+
-+#endif
-diff --git a/grub-core/lib/argon2/core.c b/grub-core/lib/argon2/core.c
-new file mode 100644
-index 000000000..0fe5b74cb
---- /dev/null
-+++ b/grub-core/lib/argon2/core.c
-@@ -0,0 +1,506 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+/*For memory wiping*/
-+#ifdef _MSC_VER
-+#include <windows.h>
-+#include <winbase.h> /* For SecureZeroMemory */
-+#endif
-+#if defined __STDC_LIB_EXT1__
-+#define __STDC_WANT_LIB_EXT1__ 1
-+#endif
-+#define VC_GE_2005(version) (version >= 1400)
-+
-+#include "core.h"
-+#include "blake2/blake2.h"
-+#include "blake2/blake2-impl.h"
-+
-+#ifdef GENKAT
-+#include "genkat.h"
-+#endif
-+
-+#if defined(__clang__)
-+#if __has_attribute(optnone)
-+#define NOT_OPTIMIZED __attribute__((optnone))
-+#endif
-+#elif defined(__GNUC__)
-+#define GCC_VERSION \
-+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-+#if GCC_VERSION >= 40400
-+#define NOT_OPTIMIZED __attribute__((optimize("O0")))
-+#endif
-+#endif
-+#ifndef NOT_OPTIMIZED
-+#define NOT_OPTIMIZED
-+#endif
-+
-+/***************Instance and Position constructors**********/
-+void init_block_value(block *b, grub_uint8_t in) { grub_memset(b->v, in, sizeof(b->v)); }
-+
-+void copy_block(block *dst, const block *src) {
-+ grub_memcpy(dst->v, src->v, sizeof(grub_uint64_t) * ARGON2_QWORDS_IN_BLOCK);
-+}
-+
-+void xor_block(block *dst, const block *src) {
-+ int i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ dst->v[i] ^= src->v[i];
-+ }
-+}
-+
-+static void load_block(block *dst, const void *input) {
-+ unsigned i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ dst->v[i] = load64((const grub_uint8_t *)input + i * sizeof(dst->v[i]));
-+ }
-+}
-+
-+static void store_block(void *output, const block *src) {
-+ unsigned i;
-+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
-+ store64((grub_uint8_t *)output + i * sizeof(src->v[i]), src->v[i]);
-+ }
-+}
-+
-+/***************Memory functions*****************/
-+
-+int allocate_memory(const argon2_context *context, grub_uint8_t **memory,
-+ grub_size_t num, grub_size_t size) {
-+ grub_size_t memory_size = num*size;
-+ if (memory == NULL) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ /* 1. Check for multiplication overflow */
-+ if (size != 0 && memory_size / size != num) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ /* 2. Try to allocate with appropriate allocator */
-+ if (context->allocate_cbk) {
-+ (context->allocate_cbk)(memory, memory_size);
-+ } else {
-+ *memory = grub_malloc(memory_size);
-+ }
-+
-+ if (*memory == NULL) {
-+ return ARGON2_MEMORY_ALLOCATION_ERROR;
-+ }
-+
-+ return ARGON2_OK;
-+}
-+
-+void grub_free_memory(const argon2_context *context, grub_uint8_t *memory,
-+ grub_size_t num, grub_size_t size) {
-+ grub_size_t memory_size = num*size;
-+ clear_internal_memory(memory, memory_size);
-+ if (context->grub_free_cbk) {
-+ (context->grub_free_cbk)(memory, memory_size);
-+ } else {
-+ grub_free(memory);
-+ }
-+}
-+
-+void NOT_OPTIMIZED secure_wipe_memory(void *v, grub_size_t n) {
-+ static void *(*const volatile grub_memset_sec)(void *, int, grub_size_t) = &grub_memset;
-+ grub_memset_sec(v, 0, n);
-+}
-+
-+/* Memory clear flag defaults to true. */
-+int FLAG_clear_internal_memory = 1;
-+void clear_internal_memory(void *v, grub_size_t n) {
-+ if (FLAG_clear_internal_memory && v) {
-+ secure_wipe_memory(v, n);
-+ }
-+}
-+
-+void finalize(const argon2_context *context, argon2_instance_t *instance) {
-+ if (context != NULL && instance != NULL) {
-+ block blockhash;
-+ grub_uint32_t l;
-+
-+ copy_block(&blockhash, instance->memory + instance->lane_length - 1);
-+
-+ /* XOR the last blocks */
-+ for (l = 1; l < instance->lanes; ++l) {
-+ grub_uint32_t last_block_in_lane =
-+ l * instance->lane_length + (instance->lane_length - 1);
-+ xor_block(&blockhash, instance->memory + last_block_in_lane);
-+ }
-+
-+ /* Hash the result */
-+ {
-+ grub_uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE];
-+ store_block(blockhash_bytes, &blockhash);
-+ blake2b_long(context->out, context->outlen, blockhash_bytes,
-+ ARGON2_BLOCK_SIZE);
-+ /* clear blockhash and blockhash_bytes */
-+ clear_internal_memory(blockhash.v, ARGON2_BLOCK_SIZE);
-+ clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE);
-+ }
-+
-+#ifdef GENKAT
-+ print_tag(context->out, context->outlen);
-+#endif
-+
-+ grub_free_memory(context, (grub_uint8_t *)instance->memory,
-+ instance->memory_blocks, sizeof(block));
-+ }
-+}
-+
-+grub_uint32_t index_alpha(const argon2_instance_t *instance,
-+ const argon2_position_t *position, grub_uint32_t pseudo_rand,
-+ int same_lane) {
-+ /*
-+ * Pass 0:
-+ * This lane : all already finished segments plus already constructed
-+ * blocks in this segment
-+ * Other lanes : all already finished segments
-+ * Pass 1+:
-+ * This lane : (SYNC_POINTS - 1) last segments plus already constructed
-+ * blocks in this segment
-+ * Other lanes : (SYNC_POINTS - 1) last segments
-+ */
-+ grub_uint32_t reference_area_size;
-+ grub_uint64_t relative_position;
-+ grub_uint64_t start_position, absolute_position;
-+
-+ if (0 == position->pass) {
-+ /* First pass */
-+ if (0 == position->slice) {
-+ /* First slice */
-+ reference_area_size =
-+ position->index - 1; /* all but the previous */
-+ } else {
-+ if (same_lane) {
-+ /* The same lane => add current segment */
-+ reference_area_size =
-+ position->slice * instance->segment_length +
-+ position->index - 1;
-+ } else {
-+ reference_area_size =
-+ position->slice * instance->segment_length +
-+ ((position->index == 0) ? (-1) : 0);
-+ }
-+ }
-+ } else {
-+ /* Second pass */
-+ if (same_lane) {
-+ reference_area_size = instance->lane_length -
-+ instance->segment_length + position->index -
-+ 1;
-+ } else {
-+ reference_area_size = instance->lane_length -
-+ instance->segment_length +
-+ ((position->index == 0) ? (-1) : 0);
-+ }
-+ }
-+
-+ /* 1.2.4. Mapping pseudo_rand to 0..<reference_area_size-1> and produce
-+ * relative position */
-+ relative_position = pseudo_rand;
-+ relative_position = relative_position * relative_position >> 32;
-+ relative_position = reference_area_size - 1 -
-+ (reference_area_size * relative_position >> 32);
-+
-+ /* 1.2.5 Computing starting position */
-+ start_position = 0;
-+
-+ if (0 != position->pass) {
-+ start_position = (position->slice == ARGON2_SYNC_POINTS - 1)
-+ ? 0
-+ : (position->slice + 1) * instance->segment_length;
-+ }
-+
-+ /* 1.2.6. Computing absolute position */
-+ grub_divmod64 (start_position + relative_position, instance->lane_length,
-+ &absolute_position); /* absolute position */
-+ return absolute_position;
-+}
-+
-+/* Single-threaded version for p=1 case */
-+static int fill_memory_blocks_st(argon2_instance_t *instance) {
-+ grub_uint32_t r, s, l;
-+
-+ for (r = 0; r < instance->passes; ++r) {
-+ for (s = 0; s < ARGON2_SYNC_POINTS; ++s) {
-+ for (l = 0; l < instance->lanes; ++l) {
-+ argon2_position_t position = {r, l, (grub_uint8_t)s, 0};
-+ fill_segment(instance, position);
-+ }
-+ }
-+#ifdef GENKAT
-+ internal_kat(instance, r); /* Print all memory blocks */
-+#endif
-+ }
-+ return ARGON2_OK;
-+}
-+
-+int fill_memory_blocks(argon2_instance_t *instance) {
-+ if (instance == NULL || instance->lanes == 0) {
-+ return ARGON2_INCORRECT_PARAMETER;
-+ }
-+ return fill_memory_blocks_st(instance);
-+}
-+
-+int validate_inputs(const argon2_context *context) {
-+ if (NULL == context) {
-+ return ARGON2_INCORRECT_PARAMETER;
-+ }
-+
-+ if (NULL == context->out) {
-+ return ARGON2_OUTPUT_PTR_NULL;
-+ }
-+
-+ /* Validate output length */
-+ if (ARGON2_MIN_OUTLEN > context->outlen) {
-+ return ARGON2_OUTPUT_TOO_SHORT;
-+ }
-+
-+ if (ARGON2_MAX_OUTLEN < context->outlen) {
-+ return ARGON2_OUTPUT_TOO_LONG;
-+ }
-+
-+ /* Validate password (required param) */
-+ if (NULL == context->pwd) {
-+ if (0 != context->pwdlen) {
-+ return ARGON2_PWD_PTR_MISMATCH;
-+ }
-+ }
-+
-+ if (ARGON2_MAX_PWD_LENGTH < context->pwdlen) {
-+ return ARGON2_PWD_TOO_LONG;
-+ }
-+
-+ /* Validate salt (required param) */
-+ if (NULL == context->salt) {
-+ if (0 != context->saltlen) {
-+ return ARGON2_SALT_PTR_MISMATCH;
-+ }
-+ }
-+
-+ if (ARGON2_MIN_SALT_LENGTH > context->saltlen) {
-+ return ARGON2_SALT_TOO_SHORT;
-+ }
-+
-+ if (ARGON2_MAX_SALT_LENGTH < context->saltlen) {
-+ return ARGON2_SALT_TOO_LONG;
-+ }
-+
-+ /* Validate secret (optional param) */
-+ if (NULL == context->secret) {
-+ if (0 != context->secretlen) {
-+ return ARGON2_SECRET_PTR_MISMATCH;
-+ }
-+ } else {
-+ if (ARGON2_MAX_SECRET < context->secretlen) {
-+ return ARGON2_SECRET_TOO_LONG;
-+ }
-+ }
-+
-+ /* Validate associated data (optional param) */
-+ if (NULL == context->ad) {
-+ if (0 != context->adlen) {
-+ return ARGON2_AD_PTR_MISMATCH;
-+ }
-+ } else {
-+ if (ARGON2_MAX_AD_LENGTH < context->adlen) {
-+ return ARGON2_AD_TOO_LONG;
-+ }
-+ }
-+
-+ /* Validate memory cost */
-+ if (ARGON2_MIN_MEMORY > context->m_cost) {
-+ return ARGON2_MEMORY_TOO_LITTLE;
-+ }
-+
-+ if (context->m_cost < 8 * context->lanes) {
-+ return ARGON2_MEMORY_TOO_LITTLE;
-+ }
-+
-+ /* Validate time cost */
-+ if (ARGON2_MIN_TIME > context->t_cost) {
-+ return ARGON2_TIME_TOO_SMALL;
-+ }
-+
-+ if (ARGON2_MAX_TIME < context->t_cost) {
-+ return ARGON2_TIME_TOO_LARGE;
-+ }
-+
-+ /* Validate lanes */
-+ if (ARGON2_MIN_LANES > context->lanes) {
-+ return ARGON2_LANES_TOO_FEW;
-+ }
-+
-+ if (ARGON2_MAX_LANES < context->lanes) {
-+ return ARGON2_LANES_TOO_MANY;
-+ }
-+
-+ /* Validate threads */
-+ if (ARGON2_MIN_THREADS > context->threads) {
-+ return ARGON2_THREADS_TOO_FEW;
-+ }
-+
-+ if (ARGON2_MAX_THREADS < context->threads) {
-+ return ARGON2_THREADS_TOO_MANY;
-+ }
-+
-+ if (NULL != context->allocate_cbk && NULL == context->grub_free_cbk) {
-+ return ARGON2_FREE_MEMORY_CBK_NULL;
-+ }
-+
-+ if (NULL == context->allocate_cbk && NULL != context->grub_free_cbk) {
-+ return ARGON2_ALLOCATE_MEMORY_CBK_NULL;
-+ }
-+
-+ return ARGON2_OK;
-+}
-+
-+void fill_first_blocks(grub_uint8_t *blockhash, const argon2_instance_t *instance) {
-+ grub_uint32_t l;
-+ /* Make the first and second block in each lane as G(H0||0||i) or
-+ G(H0||1||i) */
-+ grub_uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE];
-+ for (l = 0; l < instance->lanes; ++l) {
-+
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 0);
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH + 4, l);
-+ blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash,
-+ ARGON2_PREHASH_SEED_LENGTH);
-+ load_block(&instance->memory[l * instance->lane_length + 0],
-+ blockhash_bytes);
-+
-+ store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 1);
-+ blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash,
-+ ARGON2_PREHASH_SEED_LENGTH);
-+ load_block(&instance->memory[l * instance->lane_length + 1],
-+ blockhash_bytes);
-+ }
-+ clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE);
-+}
-+
-+void initial_hash(grub_uint8_t *blockhash, argon2_context *context,
-+ argon2_type type) {
-+ blake2b_state BlakeHash;
-+ grub_uint8_t value[sizeof(grub_uint32_t)];
-+
-+ if (NULL == context || NULL == blockhash) {
-+ return;
-+ }
-+
-+ blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH);
-+
-+ store32(&value, context->lanes);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->outlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->m_cost);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->t_cost);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->version);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, (grub_uint32_t)type);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ store32(&value, context->pwdlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->pwd != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->pwd,
-+ context->pwdlen);
-+
-+ if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) {
-+ secure_wipe_memory(context->pwd, context->pwdlen);
-+ context->pwdlen = 0;
-+ }
-+ }
-+
-+ store32(&value, context->saltlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->salt != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->salt,
-+ context->saltlen);
-+ }
-+
-+ store32(&value, context->secretlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->secret != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->secret,
-+ context->secretlen);
-+
-+ if (context->flags & ARGON2_FLAG_CLEAR_SECRET) {
-+ secure_wipe_memory(context->secret, context->secretlen);
-+ context->secretlen = 0;
-+ }
-+ }
-+
-+ store32(&value, context->adlen);
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)&value, sizeof(value));
-+
-+ if (context->ad != NULL) {
-+ blake2b_update(&BlakeHash, (const grub_uint8_t *)context->ad,
-+ context->adlen);
-+ }
-+
-+ blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH);
-+}
-+
-+int initialize(argon2_instance_t *instance, argon2_context *context) {
-+ grub_uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH];
-+ int result = ARGON2_OK;
-+
-+ if (instance == NULL || context == NULL)
-+ return ARGON2_INCORRECT_PARAMETER;
-+ instance->context_ptr = context;
-+
-+ /* 1. Memory allocation */
-+ result = allocate_memory(context, (grub_uint8_t **)&(instance->memory),
-+ instance->memory_blocks, sizeof(block));
-+ if (result != ARGON2_OK) {
-+ return result;
-+ }
-+
-+ /* 2. Initial hashing */
-+ /* H_0 + 8 extra bytes to produce the first blocks */
-+ /* grub_uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; */
-+ /* Hashing all inputs */
-+ initial_hash(blockhash, context, instance->type);
-+ /* Zeroing 8 extra bytes */
-+ clear_internal_memory(blockhash + ARGON2_PREHASH_DIGEST_LENGTH,
-+ ARGON2_PREHASH_SEED_LENGTH -
-+ ARGON2_PREHASH_DIGEST_LENGTH);
-+
-+#ifdef GENKAT
-+ initial_kat(blockhash, context, instance->type);
-+#endif
-+
-+ /* 3. Creating first blocks, we always have at least two blocks in a slice
-+ */
-+ fill_first_blocks(blockhash, instance);
-+ /* Clearing the hash */
-+ clear_internal_memory(blockhash, ARGON2_PREHASH_SEED_LENGTH);
-+
-+ return ARGON2_OK;
-+}
-diff --git a/grub-core/lib/argon2/core.h b/grub-core/lib/argon2/core.h
-new file mode 100644
-index 000000000..bbcd56998
---- /dev/null
-+++ b/grub-core/lib/argon2/core.h
-@@ -0,0 +1,228 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#ifndef ARGON2_CORE_H
-+#define ARGON2_CORE_H
-+
-+#include "argon2.h"
-+
-+#define CONST_CAST(x) (x)(grub_addr_t)
-+
-+/**********************Argon2 internal constants*******************************/
-+
-+enum argon2_core_constants {
-+ /* Memory block size in bytes */
-+ ARGON2_BLOCK_SIZE = 1024,
-+ ARGON2_QWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 8,
-+ ARGON2_OWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 16,
-+ ARGON2_HWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 32,
-+ ARGON2_512BIT_WORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 64,
-+
-+ /* Number of pseudo-random values generated by one call to Blake in Argon2i
-+ to
-+ generate reference block positions */
-+ ARGON2_ADDRESSES_IN_BLOCK = 128,
-+
-+ /* Pre-hashing digest length and its extension*/
-+ ARGON2_PREHASH_DIGEST_LENGTH = 64,
-+ ARGON2_PREHASH_SEED_LENGTH = 72
-+};
-+
-+/*************************Argon2 internal data types***********************/
-+
-+/*
-+ * Structure for the (1KB) memory block implemented as 128 64-bit words.
-+ * Memory blocks can be copied, XORed. Internal words can be accessed by [] (no
-+ * bounds checking).
-+ */
-+typedef struct block_ { grub_uint64_t v[ARGON2_QWORDS_IN_BLOCK]; } block;
-+
-+/*****************Functions that work with the block******************/
-+
-+/* Initialize each byte of the block with @in */
-+void init_block_value(block *b, grub_uint8_t in);
-+
-+/* Copy block @src to block @dst */
-+void copy_block(block *dst, const block *src);
-+
-+/* XOR @src onto @dst bytewise */
-+void xor_block(block *dst, const block *src);
-+
-+/*
-+ * Argon2 instance: memory pointer, number of passes, amount of memory, type,
-+ * and derived values.
-+ * Used to evaluate the number and location of blocks to construct in each
-+ * thread
-+ */
-+typedef struct Argon2_instance_t {
-+ block *memory; /* Memory pointer */
-+ grub_uint32_t version;
-+ grub_uint32_t passes; /* Number of passes */
-+ grub_uint32_t memory_blocks; /* Number of blocks in memory */
-+ grub_uint32_t segment_length;
-+ grub_uint32_t lane_length;
-+ grub_uint32_t lanes;
-+ grub_uint32_t threads;
-+ argon2_type type;
-+ int print_internals; /* whether to print the memory blocks */
-+ argon2_context *context_ptr; /* points back to original context */
-+} argon2_instance_t;
-+
-+/*
-+ * Argon2 position: where we construct the block right now. Used to distribute
-+ * work between threads.
-+ */
-+typedef struct Argon2_position_t {
-+ grub_uint32_t pass;
-+ grub_uint32_t lane;
-+ grub_uint8_t slice;
-+ grub_uint32_t index;
-+} argon2_position_t;
-+
-+/*Struct that holds the inputs for thread handling FillSegment*/
-+typedef struct Argon2_thread_data {
-+ argon2_instance_t *instance_ptr;
-+ argon2_position_t pos;
-+} argon2_thread_data;
-+
-+/*************************Argon2 core functions********************************/
-+
-+/* Allocates memory to the given pointer, uses the appropriate allocator as
-+ * specified in the context. Total allocated memory is num*size.
-+ * @param context argon2_context which specifies the allocator
-+ * @param memory pointer to the pointer to the memory
-+ * @param size the size in bytes for each element to be allocated
-+ * @param num the number of elements to be allocated
-+ * @return ARGON2_OK if @memory is a valid pointer and memory is allocated
-+ */
-+int allocate_memory(const argon2_context *context, grub_uint8_t **memory,
-+ grub_size_t num, grub_size_t size);
-+
-+/*
-+ * Frees memory at the given pointer, uses the appropriate deallocator as
-+ * specified in the context. Also cleans the memory using clear_internal_memory.
-+ * @param context argon2_context which specifies the deallocator
-+ * @param memory pointer to buffer to be grub_freed
-+ * @param size the size in bytes for each element to be deallocated
-+ * @param num the number of elements to be deallocated
-+ */
-+void grub_free_memory(const argon2_context *context, grub_uint8_t *memory,
-+ grub_size_t num, grub_size_t size);
-+
-+/* Function that securely cleans the memory. This ignores any flags set
-+ * regarding clearing memory. Usually one just calls clear_internal_memory.
-+ * @param mem Pointer to the memory
-+ * @param s Memory size in bytes
-+ */
-+void secure_wipe_memory(void *v, grub_size_t n);
-+
-+/* Function that securely clears the memory if FLAG_clear_internal_memory is
-+ * set. If the flag isn't set, this function does nothing.
-+ * @param mem Pointer to the memory
-+ * @param s Memory size in bytes
-+ */
-+void clear_internal_memory(void *v, grub_size_t n);
-+
-+/*
-+ * Computes absolute position of reference block in the lane following a skewed
-+ * distribution and using a pseudo-random value as input
-+ * @param instance Pointer to the current instance
-+ * @param position Pointer to the current position
-+ * @param pseudo_rand 32-bit pseudo-random value used to determine the position
-+ * @param same_lane Indicates if the block will be taken from the current lane.
-+ * If so we can reference the current segment
-+ * @pre All pointers must be valid
-+ */
-+grub_uint32_t index_alpha(const argon2_instance_t *instance,
-+ const argon2_position_t *position, grub_uint32_t pseudo_rand,
-+ int same_lane);
-+
-+/*
-+ * Function that validates all inputs against predefined restrictions and return
-+ * an error code
-+ * @param context Pointer to current Argon2 context
-+ * @return ARGON2_OK if everything is all right, otherwise one of error codes
-+ * (all defined in <argon2.h>
-+ */
-+int validate_inputs(const argon2_context *context);
-+
-+/*
-+ * Hashes all the inputs into @a blockhash[PREHASH_DIGEST_LENGTH], clears
-+ * password and secret if needed
-+ * @param context Pointer to the Argon2 internal structure containing memory
-+ * pointer, and parameters for time and space requirements.
-+ * @param blockhash Buffer for pre-hashing digest
-+ * @param type Argon2 type
-+ * @pre @a blockhash must have at least @a PREHASH_DIGEST_LENGTH bytes
-+ * allocated
-+ */
-+void initial_hash(grub_uint8_t *blockhash, argon2_context *context,
-+ argon2_type type);
-+
-+/*
-+ * Function creates first 2 blocks per lane
-+ * @param instance Pointer to the current instance
-+ * @param blockhash Pointer to the pre-hashing digest
-+ * @pre blockhash must point to @a PREHASH_SEED_LENGTH allocated values
-+ */
-+void fill_first_blocks(grub_uint8_t *blockhash, const argon2_instance_t *instance);
-+
-+/*
-+ * Function allocates memory, hashes the inputs with Blake, and creates first
-+ * two blocks. Returns the pointer to the main memory with 2 blocks per lane
-+ * initialized
-+ * @param context Pointer to the Argon2 internal structure containing memory
-+ * pointer, and parameters for time and space requirements.
-+ * @param instance Current Argon2 instance
-+ * @return Zero if successful, -1 if memory failed to allocate. @context->state
-+ * will be modified if successful.
-+ */
-+int initialize(argon2_instance_t *instance, argon2_context *context);
-+
-+/*
-+ * XORing the last block of each lane, hashing it, making the tag. Deallocates
-+ * the memory.
-+ * @param context Pointer to current Argon2 context (use only the out parameters
-+ * from it)
-+ * @param instance Pointer to current instance of Argon2
-+ * @pre instance->state must point to necessary amount of memory
-+ * @pre context->out must point to outlen bytes of memory
-+ * @pre if context->grub_free_cbk is not NULL, it should point to a function that
-+ * deallocates memory
-+ */
-+void finalize(const argon2_context *context, argon2_instance_t *instance);
-+
-+/*
-+ * Function that fills the segment using previous segments also from other
-+ * threads
-+ * @param context current context
-+ * @param instance Pointer to the current instance
-+ * @param position Current position
-+ * @pre all block pointers must be valid
-+ */
-+void fill_segment(const argon2_instance_t *instance,
-+ argon2_position_t position);
-+
-+/*
-+ * Function that fills the entire memory t_cost times based on the first two
-+ * blocks in each lane
-+ * @param instance Pointer to the current instance
-+ * @return ARGON2_OK if successful, @context->state
-+ */
-+int fill_memory_blocks(argon2_instance_t *instance);
-+
-+#endif
-diff --git a/grub-core/lib/argon2/ref.c b/grub-core/lib/argon2/ref.c
-new file mode 100644
-index 000000000..c933df80d
---- /dev/null
-+++ b/grub-core/lib/argon2/ref.c
-@@ -0,0 +1,190 @@
-+/*
-+ * Argon2 reference source code package - reference C implementations
-+ *
-+ * Copyright 2015
-+ * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves
-+ *
-+ * You may use this work under the terms of a Creative Commons CC0 1.0
-+ * License/Waiver or the Apache Public License 2.0, at your option. The terms of
-+ * these licenses can be found at:
-+ *
-+ * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
-+ * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * You should have received a copy of both of these licenses along with this
-+ * software. If not, they may be obtained at the above URLs.
-+ */
-+
-+#include "argon2.h"
-+#include "core.h"
-+
-+#include "blake2/blamka-round-ref.h"
-+#include "blake2/blake2-impl.h"
-+#include "blake2/blake2.h"
-+
-+
-+/*
-+ * Function fills a new memory block and optionally XORs the old block over the new one.
-+ * @next_block must be initialized.
-+ * @param prev_block Pointer to the previous block
-+ * @param ref_block Pointer to the reference block
-+ * @param next_block Pointer to the block to be constructed
-+ * @param with_xor Whether to XOR into the new block (1) or just overwrite (0)
-+ * @pre all block pointers must be valid
-+ */
-+static void fill_block(const block *prev_block, const block *ref_block,
-+ block *next_block, int with_xor) {
-+ block blockR, block_tmp;
-+ unsigned i;
-+
-+ copy_block(&blockR, ref_block);
-+ xor_block(&blockR, prev_block);
-+ copy_block(&block_tmp, &blockR);
-+ /* Now blockR = ref_block + prev_block and block_tmp = ref_block + prev_block */
-+ if (with_xor) {
-+ /* Saving the next block contents for XOR over: */
-+ xor_block(&block_tmp, next_block);
-+ /* Now blockR = ref_block + prev_block and
-+ block_tmp = ref_block + prev_block + next_block */
-+ }
-+
-+ /* Apply Blake2 on columns of 64-bit words: (0,1,...,15) , then
-+ (16,17,..31)... finally (112,113,...127) */
-+ for (i = 0; i < 8; ++i) {
-+ BLAKE2_ROUND_NOMSG(
-+ blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2],
-+ blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5],
-+ blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8],
-+ blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11],
-+ blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14],
-+ blockR.v[16 * i + 15]);
-+ }
-+
-+ /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then
-+ (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */
-+ for (i = 0; i < 8; i++) {
-+ BLAKE2_ROUND_NOMSG(
-+ blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16],
-+ blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33],
-+ blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64],
-+ blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81],
-+ blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112],
-+ blockR.v[2 * i + 113]);
-+ }
-+
-+ copy_block(next_block, &block_tmp);
-+ xor_block(next_block, &blockR);
-+}
-+
-+static void next_addresses(block *address_block, block *input_block,
-+ const block *zero_block) {
-+ input_block->v[6]++;
-+ fill_block(zero_block, input_block, address_block, 0);
-+ fill_block(zero_block, address_block, address_block, 0);
-+}
-+
-+void fill_segment(const argon2_instance_t *instance,
-+ argon2_position_t position) {
-+ block *ref_block = NULL, *curr_block = NULL;
-+ block address_block, input_block, zero_block;
-+ grub_uint64_t pseudo_rand, ref_index, ref_lane;
-+ grub_uint32_t prev_offset, curr_offset;
-+ grub_uint32_t starting_index;
-+ grub_uint32_t i;
-+ int data_independent_addressing;
-+
-+ if (instance == NULL) {
-+ return;
-+ }
-+
-+ data_independent_addressing =
-+ (instance->type == Argon2_i) ||
-+ (instance->type == Argon2_id && (position.pass == 0) &&
-+ (position.slice < ARGON2_SYNC_POINTS / 2));
-+
-+ if (data_independent_addressing) {
-+ init_block_value(&zero_block, 0);
-+ init_block_value(&input_block, 0);
-+
-+ input_block.v[0] = position.pass;
-+ input_block.v[1] = position.lane;
-+ input_block.v[2] = position.slice;
-+ input_block.v[3] = instance->memory_blocks;
-+ input_block.v[4] = instance->passes;
-+ input_block.v[5] = instance->type;
-+ }
-+
-+ starting_index = 0;
-+
-+ if ((0 == position.pass) && (0 == position.slice)) {
-+ starting_index = 2; /* we have already generated the first two blocks */
-+
-+ /* Don't forget to generate the first block of addresses: */
-+ if (data_independent_addressing) {
-+ next_addresses(&address_block, &input_block, &zero_block);
-+ }
-+ }
-+
-+ /* Offset of the current block */
-+ curr_offset = position.lane * instance->lane_length +
-+ position.slice * instance->segment_length + starting_index;
-+
-+ if (0 == curr_offset % instance->lane_length) {
-+ /* Last block in this lane */
-+ prev_offset = curr_offset + instance->lane_length - 1;
-+ } else {
-+ /* Previous block */
-+ prev_offset = curr_offset - 1;
-+ }
-+
-+ for (i = starting_index; i < instance->segment_length;
-+ ++i, ++curr_offset, ++prev_offset) {
-+ /*1.1 Rotating prev_offset if needed */
-+ if (curr_offset % instance->lane_length == 1) {
-+ prev_offset = curr_offset - 1;
-+ }
-+
-+ /* 1.2 Computing the index of the reference block */
-+ /* 1.2.1 Taking pseudo-random value from the previous block */
-+ if (data_independent_addressing) {
-+ if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) {
-+ next_addresses(&address_block, &input_block, &zero_block);
-+ }
-+ pseudo_rand = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK];
-+ } else {
-+ pseudo_rand = instance->memory[prev_offset].v[0];
-+ }
-+
-+ /* 1.2.2 Computing the lane of the reference block */
-+ grub_divmod64 (pseudo_rand >> 32, instance->lanes, &ref_lane);
-+
-+ if ((position.pass == 0) && (position.slice == 0)) {
-+ /* Can not reference other lanes yet */
-+ ref_lane = position.lane;
-+ }
-+
-+ /* 1.2.3 Computing the number of possible reference block within the
-+ * lane.
-+ */
-+ position.index = i;
-+ ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF,
-+ ref_lane == position.lane);
-+
-+ /* 2 Creating a new block */
-+ ref_block =
-+ instance->memory + instance->lane_length * ref_lane + ref_index;
-+ curr_block = instance->memory + curr_offset;
-+ if (ARGON2_VERSION_10 == instance->version) {
-+ /* version 1.2.1 and earlier: overwrite, not XOR */
-+ fill_block(instance->memory + prev_offset, ref_block, curr_block, 0);
-+ } else {
-+ if(0 == position.pass) {
-+ fill_block(instance->memory + prev_offset, ref_block,
-+ curr_block, 0);
-+ } else {
-+ fill_block(instance->memory + prev_offset, ref_block,
-+ curr_block, 1);
-+ }
-+ }
-+ }
-+}
---
-2.39.5
-
diff --git a/config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch b/config/grub/xhci_nvme/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
index cef7a273..cec589e1 100644
--- a/config/grub/default/patches/0011-don-t-print-missing-prefix-errors-on-the-screen.patch
+++ b/config/grub/xhci_nvme/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
@@ -1,7 +1,7 @@
-From d0345db429be8089145e0c072db9ac8db0b644bd Mon Sep 17 00:00:00 2001
+From f8d8c00b9ff65bbaef029b087d6b2ad1091b39e4 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:14:58 +0000
-Subject: [PATCH 11/14] don't print missing prefix errors on the screen
+Subject: [PATCH 05/21] don't print missing prefix errors on the screen
we do actually set the prefix. this patch modifies
grub to still set grub_errno and return accordingly,
@@ -85,10 +85,10 @@ index 18de52562..2a0fea6c8 100644
}
file = try_open_from_prefix (prefix, filename);
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 4a3be8568..6ae3d73f8 100644
+index de8c3aa8d..eac3ea48d 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -881,7 +881,7 @@ grub_dl_load (const char *name)
+@@ -880,7 +880,7 @@ grub_dl_load (const char *name)
return 0;
if (! grub_dl_dir) {
@@ -98,5 +98,5 @@ index 4a3be8568..6ae3d73f8 100644
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch b/config/grub/xhci_nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch
deleted file mode 100644
index 3fc6d3dc..00000000
--- a/config/grub/xhci_nvme/patches/0006-Error-on-missing-Argon2id-parameters.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From c75424efa3a6357d4785c7a66721809a642b3968 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 06/26] Error on missing Argon2id parameters
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- grub-core/disk/luks2.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index b17cd2115..bbd8f5579 100644
---- a/grub-core/disk/luks2.c
-+++ b/grub-core/disk/luks2.c
-@@ -39,6 +39,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
- enum grub_luks2_kdf_type
- {
- LUKS2_KDF_TYPE_ARGON2I,
-+ LUKS2_KDF_TYPE_ARGON2ID,
- LUKS2_KDF_TYPE_PBKDF2
- };
- typedef enum grub_luks2_kdf_type grub_luks2_kdf_type_t;
-@@ -91,7 +92,7 @@ struct grub_luks2_keyslot
- grub_int64_t time;
- grub_int64_t memory;
- grub_int64_t cpus;
-- } argon2i;
-+ } argon2;
- struct
- {
- const char *hash;
-@@ -161,10 +162,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing or invalid KDF");
- else if (!grub_strcmp (type, "argon2i") || !grub_strcmp (type, "argon2id"))
- {
-- out->kdf.type = LUKS2_KDF_TYPE_ARGON2I;
-- if (grub_json_getint64 (&out->kdf.u.argon2i.time, &kdf, "time") ||
-- grub_json_getint64 (&out->kdf.u.argon2i.memory, &kdf, "memory") ||
-- grub_json_getint64 (&out->kdf.u.argon2i.cpus, &kdf, "cpus"))
-+ out->kdf.type = !grub_strcmp (type, "argon2i")
-+ ? LUKS2_KDF_TYPE_ARGON2I : LUKS2_KDF_TYPE_ARGON2ID;
-+ if (grub_json_getint64 (&out->kdf.u.argon2.time, &kdf, "time") ||
-+ grub_json_getint64 (&out->kdf.u.argon2.memory, &kdf, "memory") ||
-+ grub_json_getint64 (&out->kdf.u.argon2.cpus, &kdf, "cpus"))
- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing Argon2i parameters");
- }
- else if (!grub_strcmp (type, "pbkdf2"))
-@@ -460,6 +462,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
- switch (k->kdf.type)
- {
- case LUKS2_KDF_TYPE_ARGON2I:
-+ case LUKS2_KDF_TYPE_ARGON2ID:
- ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
- goto err;
- case LUKS2_KDF_TYPE_PBKDF2:
---
-2.39.5
-
diff --git a/config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch b/config/grub/xhci_nvme/patches/0006-don-t-print-error-if-module-not-found.patch
index e30c3f9a..afffefca 100644
--- a/config/grub/default/patches/0012-don-t-print-error-if-module-not-found.patch
+++ b/config/grub/xhci_nvme/patches/0006-don-t-print-error-if-module-not-found.patch
@@ -1,7 +1,7 @@
-From 2fe963570ac19e3390a792ca2c195112d4efdc24 Mon Sep 17 00:00:00 2001
+From 807a54732c3a9b056d33a0fdb0baedd44b581f0b Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 16:36:22 +0000
-Subject: [PATCH 12/14] don't print error if module not found
+Subject: [PATCH 06/21] don't print error if module not found
still set grub_errno accordingly, and otherwise
behave the same. in libreboot, we remove a lot of
@@ -17,10 +17,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 6ae3d73f8..4c15027fe 100644
+index eac3ea48d..6d67ba54f 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
-@@ -511,7 +511,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
+@@ -510,7 +510,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
s = grub_dl_find_section (e, ".modname");
if (!s)
@@ -30,5 +30,5 @@ index 6ae3d73f8..4c15027fe 100644
mod->name = grub_strdup ((char *) e + s->sh_offset);
if (! mod->name)
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0007-Compile-with-Argon2id-support.patch b/config/grub/xhci_nvme/patches/0007-Compile-with-Argon2id-support.patch
deleted file mode 100644
index 0f9d92ee..00000000
--- a/config/grub/xhci_nvme/patches/0007-Compile-with-Argon2id-support.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 801aa8b85d8f3b999f4660cc299a3517e811f0bb Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 07/26] Compile with Argon2id support
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- Makefile.util.def | 6 +++++-
- grub-core/Makefile.core.def | 2 +-
- grub-core/disk/luks2.c | 13 +++++++++++--
- 3 files changed, 17 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.util.def b/Makefile.util.def
-index 038253b37..2f19569c9 100644
---- a/Makefile.util.def
-+++ b/Makefile.util.def
-@@ -3,7 +3,7 @@ AutoGen definitions Makefile.tpl;
- library = {
- name = libgrubkern.a;
- cflags = '$(CFLAGS_GNULIB)';
-- cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json';
-+ cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json -I$(srcdir)/grub-core/lib/argon2';
-
- common = util/misc.c;
- common = grub-core/kern/command.c;
-@@ -36,6 +36,10 @@ library = {
- common = grub-core/kern/misc.c;
- common = grub-core/kern/partition.c;
- common = grub-core/lib/crypto.c;
-+ common = grub-core/lib/argon2/argon2.c;
-+ common = grub-core/lib/argon2/core.c;
-+ common = grub-core/lib/argon2/ref.c;
-+ common = grub-core/lib/argon2/blake2/blake2b.c;
- common = grub-core/lib/json/json.c;
- common = grub-core/disk/luks.c;
- common = grub-core/disk/luks2.c;
-diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index 0ee65d54d..cd29a9df8 100644
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -1242,7 +1242,7 @@ module = {
- common = disk/luks2.c;
- common = lib/gnulib/base64.c;
- cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
-- cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json';
-+ cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json -I$(srcdir)/lib/argon2';
- };
-
- module = {
-diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
-index bbd8f5579..02cd615d9 100644
---- a/grub-core/disk/luks2.c
-+++ b/grub-core/disk/luks2.c
-@@ -28,6 +28,7 @@
- #include <grub/i18n.h>
- #include <grub/safemath.h>
-
-+#include <argon2.h>
- #include <base64.h>
- #include <json.h>
-
-@@ -463,8 +464,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
- {
- case LUKS2_KDF_TYPE_ARGON2I:
- case LUKS2_KDF_TYPE_ARGON2ID:
-- ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
-- goto err;
-+ ret = argon2_hash (k->kdf.u.argon2.time, k->kdf.u.argon2.memory, k->kdf.u.argon2.cpus,
-+ passphrase, passphraselen, salt, saltlen, area_key, k->area.key_size,
-+ k->kdf.type == LUKS2_KDF_TYPE_ARGON2I ? Argon2_i : Argon2_id,
-+ ARGON2_VERSION_NUMBER);
-+ if (ret)
-+ {
-+ grub_dprintf ("luks2", "Argon2 failed: %s\n", argon2_error_message (ret));
-+ goto err;
-+ }
-+ break;
- case LUKS2_KDF_TYPE_PBKDF2:
- hash = grub_crypto_lookup_md_by_name (k->kdf.u.pbkdf2.hash);
- if (!hash)
---
-2.39.5
-
diff --git a/config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch b/config/grub/xhci_nvme/patches/0007-don-t-print-empty-error-messages.patch
index 90aefde6..44a9c432 100644
--- a/config/grub/nvme/patches/0013-don-t-print-empty-error-messages.patch
+++ b/config/grub/xhci_nvme/patches/0007-don-t-print-empty-error-messages.patch
@@ -1,7 +1,7 @@
-From 97381d8c85c0934ca500f07339d89f9f6245b079 Mon Sep 17 00:00:00 2001
+From 53ae675a60c53792b0296828fb66d414b2d3f70e Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 17:25:20 +0000
-Subject: [PATCH 13/15] don't print empty error messages
+Subject: [PATCH 07/21] don't print empty error messages
this is part two of the quest to kill the prefix
error message. after i disabled prefix-related
@@ -13,10 +13,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/grub-core/kern/err.c b/grub-core/kern/err.c
-index 53c734de7..7cac53983 100644
+index ba04b57fb..dab62646d 100644
--- a/grub-core/kern/err.c
+++ b/grub-core/kern/err.c
-@@ -107,7 +107,8 @@ grub_print_error (void)
+@@ -116,7 +116,8 @@ grub_print_error (void)
{
if (grub_errno != GRUB_ERR_NONE)
{
@@ -27,5 +27,5 @@ index 53c734de7..7cac53983 100644
}
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0008-Make-grub-install-work-with-Argon2.patch b/config/grub/xhci_nvme/patches/0008-Make-grub-install-work-with-Argon2.patch
deleted file mode 100644
index 21ad8855..00000000
--- a/config/grub/xhci_nvme/patches/0008-Make-grub-install-work-with-Argon2.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c114684bb103af427296e40b78adc0d036a9b237 Mon Sep 17 00:00:00 2001
-From: Ax333l <main@axelen.xyz>
-Date: Thu, 17 Aug 2023 00:00:00 +0000
-Subject: [PATCH 08/26] Make grub-install work with Argon2
-
-Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
----
- util/grub-install.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/util/grub-install.c b/util/grub-install.c
-index 060246589..059036d3c 100644
---- a/util/grub-install.c
-+++ b/util/grub-install.c
-@@ -448,6 +448,8 @@ probe_mods (grub_disk_t disk)
- {
- grub_util_cryptodisk_get_abstraction (disk,
- push_cryptodisk_module, NULL);
-+ /* HACK: always push argon2 */
-+ grub_install_push_module ("argon2");
- have_abstractions = 1;
- have_cryptodisk = 1;
- }
---
-2.39.5
-
diff --git a/config/grub/xhci_nvme/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch b/config/grub/xhci_nvme/patches/0008-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch
index c04e138e..95e9fb7b 100644
--- a/config/grub/xhci_nvme/patches/0014-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch
+++ b/config/grub/xhci_nvme/patches/0008-grub-core-bus-usb-Parse-SuperSpeed-companion-descrip.patch
@@ -1,7 +1,7 @@
-From 1c5716f42deb27b1111839b9782fd06b077eaa90 Mon Sep 17 00:00:00 2001
+From 64769f3b285e8bf2c21a65fba81673a0a4f6dde3 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Sun, 15 Nov 2020 19:00:27 +0100
-Subject: [PATCH 14/26] grub-core/bus/usb: Parse SuperSpeed companion
+Subject: [PATCH 08/21] grub-core/bus/usb: Parse SuperSpeed companion
descriptors
Parse the SS_ENDPOINT_COMPANION descriptor, which is only present on USB 3.0
@@ -161,7 +161,7 @@ index f5608e330..2ae29cba1 100644
if ((endp->endp_addr & 128) && grub_usb_get_ep_type(endp)
== GRUB_USB_EP_INTERRUPT)
diff --git a/grub-core/commands/usbtest.c b/grub-core/commands/usbtest.c
-index 2c6d93fe6..55a657635 100644
+index 3184ac9af..7d128449d 100644
--- a/grub-core/commands/usbtest.c
+++ b/grub-core/commands/usbtest.c
@@ -185,7 +185,7 @@ usb_iterate (grub_usb_device_t dev, void *data __attribute__ ((unused)))
@@ -242,5 +242,5 @@ index aac5ab05a..bb2ab2e27 100644
{
grub_uint8_t length;
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0015-usb-Add-enum-for-xHCI.patch b/config/grub/xhci_nvme/patches/0009-usb-Add-enum-for-xHCI.patch
index 4de9d894..5b79d33c 100644
--- a/config/grub/xhci_nvme/patches/0015-usb-Add-enum-for-xHCI.patch
+++ b/config/grub/xhci_nvme/patches/0009-usb-Add-enum-for-xHCI.patch
@@ -1,7 +1,7 @@
-From 260f27e1ea1dbcdeb63d4411dbdddb97ebb39668 Mon Sep 17 00:00:00 2001
+From 43522cfb0ec375be1b6a226103e9a55d4b88ee1d Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Mon, 7 Dec 2020 08:41:22 +0100
-Subject: [PATCH 15/26] usb: Add enum for xHCI
+Subject: [PATCH 09/21] usb: Add enum for xHCI
Will be used in future patches.
@@ -25,5 +25,5 @@ index 688c11f6d..ea6ee8c2c 100644
typedef int (*grub_usb_iterate_hook_t) (grub_usb_device_t dev, void *data);
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0016-usbtrans-Set-default-maximum-packet-size.patch b/config/grub/xhci_nvme/patches/0010-usbtrans-Set-default-maximum-packet-size.patch
index 908c3adb..c6196f87 100644
--- a/config/grub/xhci_nvme/patches/0016-usbtrans-Set-default-maximum-packet-size.patch
+++ b/config/grub/xhci_nvme/patches/0010-usbtrans-Set-default-maximum-packet-size.patch
@@ -1,7 +1,7 @@
-From 97f71a34c011ad9d37b96c02eb7483fe253c6025 Mon Sep 17 00:00:00 2001
+From 296f9b732393315bc3a91f8531f6ac9e7b9f43e0 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Mon, 7 Dec 2020 08:41:23 +0100
-Subject: [PATCH 16/26] usbtrans: Set default maximum packet size
+Subject: [PATCH 10/21] usbtrans: Set default maximum packet size
Set the maximum packet size to 512 for SuperSpeed devices.
@@ -29,5 +29,5 @@ index c5680b33a..c1080bb33 100644
max = 64;
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch b/config/grub/xhci_nvme/patches/0011-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch
index e4798a8d..ac53118a 100644
--- a/config/grub/xhci_nvme/patches/0017-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch
+++ b/config/grub/xhci_nvme/patches/0011-grub-core-bus-usb-Add-function-pointer-for-attach-de.patch
@@ -1,7 +1,7 @@
-From ea5081844c3112b582f52360cfb14ef95b56f5e1 Mon Sep 17 00:00:00 2001
+From de471d16aeaab3cf12956d783604f22944ea7ed0 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Sun, 15 Nov 2020 19:51:42 +0100
-Subject: [PATCH 17/26] grub-core/bus/usb: Add function pointer for
+Subject: [PATCH 11/21] grub-core/bus/usb: Add function pointer for
attach/detach events
The xHCI code needs to be called for attaching or detaching a device.
@@ -117,5 +117,5 @@ index ea6ee8c2c..4dd179db2 100644
grub_uint64_t pending_reset;
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch b/config/grub/xhci_nvme/patches/0012-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch
index d2067637..fbedfc77 100644
--- a/config/grub/xhci_nvme/patches/0018-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch
+++ b/config/grub/xhci_nvme/patches/0012-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch
@@ -1,7 +1,7 @@
-From 7db1cdd1cdbb79a8da04648dcbf7318d200f72a4 Mon Sep 17 00:00:00 2001
+From 8966fadb8c19fd5c30dd585a53f465767c1cd627 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Mon, 7 Dec 2020 08:41:25 +0100
-Subject: [PATCH 18/26] grub-core/bus/usb/usbhub: Add new private fields for
+Subject: [PATCH 12/21] grub-core/bus/usb/usbhub: Add new private fields for
xHCI controller
Store the root port number, the route, consisting out of the port ID
@@ -73,5 +73,5 @@ index 4dd179db2..609faf7d0 100644
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0019-grub-core-bus-usb-Add-xhci-support.patch b/config/grub/xhci_nvme/patches/0013-grub-core-bus-usb-Add-xhci-support.patch
index b4d6e956..1393092a 100644
--- a/config/grub/xhci_nvme/patches/0019-grub-core-bus-usb-Add-xhci-support.patch
+++ b/config/grub/xhci_nvme/patches/0013-grub-core-bus-usb-Add-xhci-support.patch
@@ -1,7 +1,7 @@
-From 6b34ac2449362da5139e702e484a432d828a505d Mon Sep 17 00:00:00 2001
+From 764e79efa273fadb8fc4b5ec286dd9e5688a58e8 Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Mon, 7 Dec 2020 08:41:26 +0100
-Subject: [PATCH 19/26] grub-core/bus/usb: Add xhci support
+Subject: [PATCH 13/21] grub-core/bus/usb: Add xhci support
Add support for xHCI USB controllers.
The code is based on seabios implementation, but has been heavily
@@ -67,10 +67,10 @@ index 43635d5ff..65016f856 100644
endif
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index cd29a9df8..d3947739f 100644
+index 0cf155128..ec4c76ea8 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
-@@ -667,6 +667,13 @@ module = {
+@@ -675,6 +675,13 @@ module = {
enable = arm_coreboot;
};
@@ -2803,5 +2803,5 @@ index 609faf7d0..eb71fa1c7 100644
#endif /* GRUB_USB_H */
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch b/config/grub/xhci_nvme/patches/0014-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch
index 31e831ec..bb5c4fd8 100644
--- a/config/grub/xhci_nvme/patches/0020-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch
+++ b/config/grub/xhci_nvme/patches/0014-grub-core-bus-usb-usbhub-Add-xHCI-non-root-hub-suppo.patch
@@ -1,7 +1,7 @@
-From d84ac94dc55baad9a2297980b2017cd22e4ecb3c Mon Sep 17 00:00:00 2001
+From f289290da21c2eafdf52ae4859623971a3da07bb Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Mon, 7 Dec 2020 08:41:27 +0100
-Subject: [PATCH 20/26] grub-core/bus/usb/usbhub: Add xHCI non root hub support
+Subject: [PATCH 14/21] grub-core/bus/usb/usbhub: Add xHCI non root hub support
Tested on Intel PCH C246, the USB3 hub can be configured by grub.
@@ -123,5 +123,5 @@ index 039ebed65..d6c3f71dc 100644
#define GRUB_USB_FEATURE_ENDP_HALT 0x00
#define GRUB_USB_FEATURE_DEV_REMOTE_WU 0x01
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0021-xHCI-also-accept-SBRN-0x31-and-0x32.patch b/config/grub/xhci_nvme/patches/0015-xHCI-also-accept-SBRN-0x31-and-0x32.patch
index f6e0f366..9deb581d 100644
--- a/config/grub/xhci_nvme/patches/0021-xHCI-also-accept-SBRN-0x31-and-0x32.patch
+++ b/config/grub/xhci_nvme/patches/0015-xHCI-also-accept-SBRN-0x31-and-0x32.patch
@@ -1,7 +1,7 @@
-From 0433c5bb1e40fba93205e1c9fd6b1b397d31ae5a Mon Sep 17 00:00:00 2001
+From e8bb5e7445dad3514c88d5286563781f27233e5e Mon Sep 17 00:00:00 2001
From: Sven Anderson <sven@anderson.de>
Date: Sat, 28 May 2022 21:39:23 +0200
-Subject: [PATCH 21/26] xHCI: also accept SBRN 0x31 and 0x32
+Subject: [PATCH 15/21] xHCI: also accept SBRN 0x31 and 0x32
Signed-off-by: Sven Anderson <sven@anderson.de>
---
@@ -22,5 +22,5 @@ index a5bd3c97d..cde21f57a 100644
grub_dprintf ("xhci", "XHCI grub_xhci_pci_iter: Wrong SBRN: %0x\n",
release);
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0022-xhci-fix-port-indexing.patch b/config/grub/xhci_nvme/patches/0016-xhci-fix-port-indexing.patch
index edfcca2c..b1cb368a 100644
--- a/config/grub/xhci_nvme/patches/0022-xhci-fix-port-indexing.patch
+++ b/config/grub/xhci_nvme/patches/0016-xhci-fix-port-indexing.patch
@@ -1,7 +1,7 @@
-From d300f12cb624998f3d5ab5948c3fc64d6d7baf4f Mon Sep 17 00:00:00 2001
+From 3db55ea63bc2c4fb41f7489a77a42c821256bbf5 Mon Sep 17 00:00:00 2001
From: Sven Anderson <sven@anderson.de>
Date: Mon, 13 Jan 2025 19:51:41 +0100
-Subject: [PATCH 22/26] xhci: fix port indexing
+Subject: [PATCH 16/21] xhci: fix port indexing
---
grub-core/bus/usb/xhci.c | 10 +++++-----
@@ -39,5 +39,5 @@ index f4591ffb5..dc89b9619 100644
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0023-xhci-configure-TT-for-non-root-hubs.patch b/config/grub/xhci_nvme/patches/0017-xhci-configure-TT-for-non-root-hubs.patch
index b41db45f..fb8ed0b4 100644
--- a/config/grub/xhci_nvme/patches/0023-xhci-configure-TT-for-non-root-hubs.patch
+++ b/config/grub/xhci_nvme/patches/0017-xhci-configure-TT-for-non-root-hubs.patch
@@ -1,7 +1,7 @@
-From 0a669ef9815267de4fb14f3c329431ac531755c9 Mon Sep 17 00:00:00 2001
+From a82ef95fffc0a869e90467ce4f7c28282c084518 Mon Sep 17 00:00:00 2001
From: Sven Anderson <sven@anderson.de>
Date: Mon, 13 Jan 2025 20:26:32 +0100
-Subject: [PATCH 23/26] xhci: configure TT for non-root-hubs
+Subject: [PATCH 17/21] xhci: configure TT for non-root-hubs
---
grub-core/bus/usb/usbhub.c | 6 +++++
@@ -94,5 +94,5 @@ index eb71fa1c7..df97a60cc 100644
grub_usb_err_t grub_usb_get_descriptor (grub_usb_device_t dev,
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0024-Fix-compilation-on-x86_64.patch b/config/grub/xhci_nvme/patches/0018-Fix-compilation-on-x86_64.patch
index cdc692d6..70a1a22c 100644
--- a/config/grub/xhci_nvme/patches/0024-Fix-compilation-on-x86_64.patch
+++ b/config/grub/xhci_nvme/patches/0018-Fix-compilation-on-x86_64.patch
@@ -1,7 +1,7 @@
-From 625fdcf42f2cf11a4bfe644412450c9e4f551d25 Mon Sep 17 00:00:00 2001
+From cc671d76816c8370a85e289d5ac7bdf1f687ff3a Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Wed, 24 Feb 2021 08:25:41 +0100
-Subject: [PATCH 24/26] Fix compilation on x86_64
+Subject: [PATCH 18/21] Fix compilation on x86_64
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
---
@@ -86,5 +86,5 @@ index 88c9ac57f..9b9bae6e5 100644
}
else
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0025-Add-native-NVMe-driver-based-on-SeaBIOS.patch b/config/grub/xhci_nvme/patches/0019-Add-native-NVMe-driver-based-on-SeaBIOS.patch
index e9dc54b5..f09ae69d 100644
--- a/config/grub/xhci_nvme/patches/0025-Add-native-NVMe-driver-based-on-SeaBIOS.patch
+++ b/config/grub/xhci_nvme/patches/0019-Add-native-NVMe-driver-based-on-SeaBIOS.patch
@@ -1,7 +1,7 @@
-From 1ede42b39a87ccb2cc43d919f3ee4803d6551102 Mon Sep 17 00:00:00 2001
+From 467fe4c5a98c0cfc1b357ec8acc360a03b5f7038 Mon Sep 17 00:00:00 2001
From: Mate Kukri <km@mkukri.xyz>
Date: Mon, 20 May 2024 11:43:35 +0100
-Subject: [PATCH 25/26] Add native NVMe driver based on SeaBIOS
+Subject: [PATCH 19/21] Add native NVMe driver based on SeaBIOS
Tested to successfully boot Debian on QEMU and OptiPlex 3050.
@@ -31,10 +31,10 @@ index 65016f856..7bc0866ba 100644
endif
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index d3947739f..fb9f24c0f 100644
+index ec4c76ea8..08b83ad06 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
-@@ -2689,3 +2689,9 @@ module = {
+@@ -2780,3 +2780,9 @@ module = {
cflags = '-Wno-uninitialized';
cppflags = '-I$(srcdir)/lib/libtasn1-grub -I$(srcdir)/tests/asn1/';
};
@@ -1070,5 +1070,5 @@ index fbf23df7f..186e76f0b 100644
struct grub_disk;
--
-2.39.5
+2.47.3
diff --git a/config/grub/nvme/patches/0015-kern-coreboot-mmap-Map-to-reserved.patch b/config/grub/xhci_nvme/patches/0020-kern-coreboot-mmap-Map-to-reserved.patch
index 06ebc37c..ffa01e7a 100644
--- a/config/grub/nvme/patches/0015-kern-coreboot-mmap-Map-to-reserved.patch
+++ b/config/grub/xhci_nvme/patches/0020-kern-coreboot-mmap-Map-to-reserved.patch
@@ -1,7 +1,7 @@
-From 9228fa35d5af64e67a33372231baa3862f6fad67 Mon Sep 17 00:00:00 2001
+From 331af0cc985aa5ec57964c6e3ab69f65c23f6481 Mon Sep 17 00:00:00 2001
From: Paul Menzel <pmenzel@molgen.mpg.de>
Date: Mon, 17 May 2021 10:24:36 +0200
-Subject: [PATCH 15/15] kern/coreboot/mmap: Map to reserved
+Subject: [PATCH 20/21] kern/coreboot/mmap: Map to reserved
https://git.savannah.gnu.org/cgit/grub.git/commit/?id=6de9ee86bf9ae50967413e6a73b5dfd13e5ffb50
@@ -33,5 +33,5 @@ index caf8f7cef..2fc316e8d 100644
return 1;
}
--
-2.39.5
+2.47.3
diff --git a/config/grub/xhci_nvme/patches/0021-Revert-configure-Check-linker-for-image-base-support.patch b/config/grub/xhci_nvme/patches/0021-Revert-configure-Check-linker-for-image-base-support.patch
new file mode 100644
index 00000000..0e563fd5
--- /dev/null
+++ b/config/grub/xhci_nvme/patches/0021-Revert-configure-Check-linker-for-image-base-support.patch
@@ -0,0 +1,70 @@
+From cf791012987ea90f7a88edd21a0f619fbc40986d Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Wed, 24 Dec 2025 01:42:17 +0100
+Subject: [PATCH 21/21] Revert "configure: Check linker for --image-base
+ support"
+
+This reverts commit 1a5417f39a0ccefcdd5440f2a67f84d2d2e26960.
+---
+ acinclude.m4 | 5 -----
+ configure.ac | 14 ++------------
+ 2 files changed, 2 insertions(+), 17 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 70c1912f8..fa7840f09 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -79,11 +79,6 @@ AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE],
+ [AC_MSG_CHECKING([whether ${TARGET_OBJCOPY} works for absolute addresses])
+ AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
+ [cat > conftest.c <<\EOF
+-asm (
+- ".globl start, _start, __start\n"
+- ".ifdef cmain; .set start = _start = __start = cmain\n.endif\n"
+- ".ifdef _cmain; .set start = _start = __start = _cmain\n.endif\n"
+-);
+ void cmain (void);
+ void
+ cmain (void)
+diff --git a/configure.ac b/configure.ac
+index d8ca1b7c1..041cfbab4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1461,6 +1461,7 @@ elif test x$grub_cv_target_cc_link_format = x-mi386pe || test x$grub_cv_target_c
+ TARGET_IMG_LDSCRIPT='$(top_srcdir)'"/conf/i386-cygwin-img-ld.sc"
+ TARGET_IMG_LDFLAGS="-Wl,-T${TARGET_IMG_LDSCRIPT}"
+ TARGET_IMG_LDFLAGS_AC="-Wl,-T${srcdir}/conf/i386-cygwin-img-ld.sc"
++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+ TARGET_IMG_CFLAGS=
+ else
+ TARGET_APPLE_LINKER=0
+@@ -1468,6 +1469,7 @@ else
+ TARGET_IMG_LDSCRIPT=
+ TARGET_IMG_LDFLAGS='-Wl,-N'
+ TARGET_IMG_LDFLAGS_AC='-Wl,-N'
++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+ TARGET_IMG_CFLAGS=
+ fi
+
+@@ -1798,18 +1800,6 @@ grub_PROG_TARGET_CC
+ m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
+
+ if test "x$TARGET_APPLE_LINKER" != x1 ; then
+-AX_CHECK_LINK_FLAG([-Wl,--image-base,0x400000],
+- [TARGET_IMG_BASE_LDOPT="-Wl,--image-base"],
+- [TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"],
+- [],
+- [AC_LANG_SOURCE([
+-asm (".globl start; start:");
+-asm (".globl _start; _start:");
+-asm (".globl __start; __start:");
+-void __main (void);
+-void __main (void) {}
+-int main (void);
+- ])])
+ grub_PROG_OBJCOPY_ABSOLUTE
+ fi
+ grub_PROG_LD_BUILD_ID_NONE
+--
+2.47.3
+
diff --git a/config/grub/xhci_nvme/patches/0022-Revert-configure-Print-a-more-helpful-error-if-autoc.patch b/config/grub/xhci_nvme/patches/0022-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
new file mode 100644
index 00000000..c0a504ff
--- /dev/null
+++ b/config/grub/xhci_nvme/patches/0022-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
@@ -0,0 +1,30 @@
+From abf2bf6e2973ccaa994f63ff851ba11cbd45f1eb Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 19 Jan 2026 15:27:23 +0000
+Subject: [PATCH 1/1] Revert "configure: Print a more helpful error if
+ autoconf-archive is not installed"
+
+This reverts commit ac042f3f58d33ce9cd5ff61750f06da1a1d7b0eb.
+---
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 041cfbab4..209c0fb11 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1794,11 +1794,6 @@ LIBS=""
+ # Defined in acinclude.m4.
+ grub_ASM_USCORE
+ grub_PROG_TARGET_CC
+-
+-# The error message produced by autoconf if autoconf-archive is not installed is
+-# quite misleading and not very helpful. So, try point people in the right direction.
+-m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
+-
+ if test "x$TARGET_APPLE_LINKER" != x1 ; then
+ grub_PROG_OBJCOPY_ABSOLUTE
+ fi
+--
+2.47.3
+
diff --git a/config/grub/xhci_nvme/patches/0023-bootstrap-Don-t-download-po-files.patch b/config/grub/xhci_nvme/patches/0023-bootstrap-Don-t-download-po-files.patch
new file mode 100644
index 00000000..cfb66047
--- /dev/null
+++ b/config/grub/xhci_nvme/patches/0023-bootstrap-Don-t-download-po-files.patch
@@ -0,0 +1,91 @@
+From 5d18c96a22d98d137ea40bfc6aabadce933c2d45 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Sun, 1 Feb 2026 20:30:55 +0100
+Subject: [PATCH 1/1] bootstrap: Don't download po files
+
+GRUB doesn't verify checksums at all, and it pulls from
+this URL recursively:
+
+https://translationproject.org/latest/grub/
+
+These files can change at any time, and GRUB is just
+downloading them trustingly. Even if the upstream is
+totally benevolent, what if they got hacked?
+
+I downloaded them, hashed them and decided to mirror
+them on my RSYNC mirror. In this way, Libreboot can now
+use them in a deterministic fashion.
+
+Simply adding them to the GRUB source code would mean
+patching GRUB, which would add 8MB to lbmk. I won't do
+it.
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ bootstrap | 31 +++++++++++++------------------
+ 1 file changed, 13 insertions(+), 18 deletions(-)
+
+diff --git a/bootstrap b/bootstrap
+index dc9fb4383..9fc5a5c36 100755
+--- a/bootstrap
++++ b/bootstrap
+@@ -1,5 +1,16 @@
+ #! /bin/sh
+-# DO NOT EDIT! GENERATED AUTOMATICALLY!
++# THIS FILE WAS EDITED BY LIBREBOOT TO REMOVE
++# HACKY GRUB BEHAVIOUR; po files now downloaded
++# by lbmk, via config/submodule/grub/ - so that
++# versioned files are possible, with proper checksum
++# verification, and mirrors are used.
++
++# Yes. This file has been modified. I intend to
++# eventually remove this hacky script. Probably
++# replace the entire GRUB build system.
++
++# Please do fix/edit or (when possible) remove
++# this file. Thank you.
+
+ # Bootstrap this package from checked-out sources.
+
+@@ -145,13 +156,6 @@ bootstrap_post_import_hook() { :; }
+ # Override it via your own definition in bootstrap.conf.
+ bootstrap_epilogue() { :; }
+
+-# The command to download all .po files for a specified domain into a
+-# specified directory. Fill in the first %s with the destination
+-# directory and the second with the domain name.
+-po_download_command_format=\
+-"wget --mirror --level=1 -nd -nv -A.po -P '%s' \
+- https://translationproject.org/latest/%s/"
+-
+ # When extracting the package name from an AC_INIT invocation,
+ # prefer a non-empty tarname (4th argument of AC_INIT if given), else
+ # fall back to the package name (1st argument with munging).
+@@ -909,14 +913,6 @@ autopull()
+
+ # ----------------------------- Get translations. -----------------------------
+
+-download_po_files() {
+- subdir=$1
+- domain=$2
+- echo "$me: getting translations into $subdir for $domain..."
+- cmd=$(printf "$po_download_command_format" "$subdir" "$domain")
+- eval "$cmd"
+-}
+-
+ # Mirror .po files to $po_dir/.reference and copy only the new
+ # or modified ones into $po_dir. Also update $po_dir/LINGUAS.
+ # Note po files that exist locally only are left in $po_dir but will
+@@ -932,8 +928,7 @@ update_po_files() {
+ ref_po_dir="$po_dir/.reference"
+
+ test -d $ref_po_dir || mkdir $ref_po_dir || return
+- download_po_files $ref_po_dir $domain \
+- && ls "$ref_po_dir"/*.po 2>/dev/null |
++ ls "$ref_po_dir"/*.po 2>/dev/null |
+ sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
+
+ for po in x $(ls $ref_po_dir | sed -n 's/\.po$//p'); do
+--
+2.47.3
+
diff --git a/config/grub/xhci_nvme/target.cfg b/config/grub/xhci_nvme/target.cfg
index c3c8127d..15e3e00e 100644
--- a/config/grub/xhci_nvme/target.cfg
+++ b/config/grub/xhci_nvme/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="xhci_nvme"
-rev="a68a7dece464c35b1c8d20b98502b6881b103911"
+rev="eaa3b8f0f90605a82c6bfda4c5c4b73c58eb81ac"
diff --git a/config/ifd/e7240/gbe b/config/ifd/e7240/gbe
new file mode 100644
index 00000000..2dd470c3
--- /dev/null
+++ b/config/ifd/e7240/gbe
Binary files differ
diff --git a/config/ifd/e7240/ifd b/config/ifd/e7240/ifd
new file mode 100644
index 00000000..9ac0cf9c
--- /dev/null
+++ b/config/ifd/e7240/ifd
Binary files differ
diff --git a/config/ifd/supermicro-x11-lga1151-series/ifd b/config/ifd/supermicro-x11-lga1151-series/ifd
new file mode 100644
index 00000000..0c3746cc
--- /dev/null
+++ b/config/ifd/supermicro-x11-lga1151-series/ifd
Binary files differ
diff --git a/config/ifd/supermicro_x11_lga1151_series/ifd b/config/ifd/supermicro_x11_lga1151_series/ifd
new file mode 100644
index 00000000..0c3746cc
--- /dev/null
+++ b/config/ifd/supermicro_x11_lga1151_series/ifd
Binary files differ
diff --git a/config/seabios/default/patches/0001-romfile-implement-a-generic-loader.patch b/config/seabios/default/patches/0001-romfile-implement-a-generic-loader.patch
index dc1464bb..c7925ecb 100644
--- a/config/seabios/default/patches/0001-romfile-implement-a-generic-loader.patch
+++ b/config/seabios/default/patches/0001-romfile-implement-a-generic-loader.patch
@@ -1,7 +1,7 @@
-From 04e972e14191f3a480e569e972c195ba8eb53a30 Mon Sep 17 00:00:00 2001
+From cb35009da3b9335845a6e8a2f0ba2a031bf52183 Mon Sep 17 00:00:00 2001
From: Riku Viitanen <riku.viitanen@protonmail.com>
Date: Sat, 10 Feb 2024 21:23:33 +0200
-Subject: [PATCH 1/4] romfile: implement a generic loader
+Subject: [PATCH 1/3] romfile: implement a generic loader
romfile_loadfile_g:
Based on romfile_loadfile but more flexible. User has to supply pointer
@@ -82,5 +82,5 @@ index ae2f4ac7..f62b2fee 100644
u64 romfile_loadint(const char *name, u64 defval);
u32 romfile_loadbool(const char *name, u32 defval);
--
-2.39.5
+2.47.3
diff --git a/config/seabios/default/patches/0002-vgahooks-optionroms-implement-mxm-3.0-interrupts.patch b/config/seabios/default/patches/0002-vgahooks-optionroms-implement-mxm-3.0-interrupts.patch
index 5224d768..c1400f64 100644
--- a/config/seabios/default/patches/0002-vgahooks-optionroms-implement-mxm-3.0-interrupts.patch
+++ b/config/seabios/default/patches/0002-vgahooks-optionroms-implement-mxm-3.0-interrupts.patch
@@ -1,7 +1,7 @@
-From 270ac30b862c58c69455dbdace716044d29b20e2 Mon Sep 17 00:00:00 2001
+From 7c1400e3cd2b5e6ece0bf141a0ddca9f4f9df16e Mon Sep 17 00:00:00 2001
From: Riku Viitanen <riku.viitanen@protonmail.com>
Date: Sat, 10 Feb 2024 21:38:17 +0200
-Subject: [PATCH 2/4] vgahooks, optionroms: implement mxm 3.0 interrupts
+Subject: [PATCH 2/3] vgahooks, optionroms: implement mxm 3.0 interrupts
VGAROMs on MXM graphics cards need certain int15h functions present.
@@ -184,5 +184,5 @@ index 00000000..f0c203af
+
+#endif // vgahooks.h
--
-2.39.5
+2.47.3
diff --git a/config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch b/config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch
index c78d6660..aee850c5 100644
--- a/config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch
+++ b/config/seabios/default/patches/0003-Print-the-Libreboot-version-in-the-SeaBIOS-menu.patch
@@ -1,7 +1,7 @@
-From cc6b13ddea9086586d34621d0b82d820af5ae785 Mon Sep 17 00:00:00 2001
+From cd0b2ad4c0d68c00f7e430d098e540a1af629f97 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 6 Jan 2025 18:49:58 +0000
-Subject: [PATCH 3/4] Print the Libreboot version in the SeaBIOS menu
+Subject: [PATCH 3/3] Print the Libreboot version in the SeaBIOS menu
Signed-off-by: Leah Rowe <leah@libreboot.org>
---
@@ -9,7 +9,7 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bootsplash.c b/src/bootsplash.c
-index 538b316d..9eed0b12 100644
+index 538b316d..e02bf3d2 100644
--- a/src/bootsplash.c
+++ b/src/bootsplash.c
@@ -48,7 +48,7 @@ enable_vga_console(void)
@@ -17,10 +17,10 @@ index 538b316d..9eed0b12 100644
// Write to screen.
- printf("SeaBIOS (version %s)\n", VERSION);
-+ printf("Libreboot 25.06 Luminous Lemon (SeaBIOS menu): https://libreboot.org/\n");
++ printf("Libreboot 26.01 Magnanimous Max (SeaBIOS menu): https://libreboot.org/\n");
display_uuid();
}
--
-2.39.5
+2.47.3
diff --git a/config/seabios/default/target.cfg b/config/seabios/default/target.cfg
index 5058266d..78cfc9e2 100644
--- a/config/seabios/default/target.cfg
+++ b/config/seabios/default/target.cfg
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
tree="default"
-rev="b686f4600792c504f01929f761be473e298de33d"
+rev="0026c353eb4e220af29750fcf000d48faf8d4ab3"
diff --git a/config/submodule/coreboot/default/acpica-unix-20250807.tar.gz/module.cfg b/config/submodule/coreboot/default/acpica-unix-20250807.tar.gz/module.cfg
new file mode 100644
index 00000000..26b5adfd
--- /dev/null
+++ b/config/submodule/coreboot/default/acpica-unix-20250807.tar.gz/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/acpica/acpica-unix-20250807.tar.gz"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/acpica/acpica-unix-20250807.tar.gz"
+subhash="408aa933cacbef50a728675001204530bae2ea31a8cde1c54a604b350ca9c7b59dd9cde8dccaf7c1a59e466baac59585466c2ccd80ddd038c8f6048edbc5f19c"
diff --git a/config/submodule/coreboot/default/binutils-2.45.tar.xz/module.cfg b/config/submodule/coreboot/default/binutils-2.45.tar.xz/module.cfg
new file mode 100644
index 00000000..3bd6f52e
--- /dev/null
+++ b/config/submodule/coreboot/default/binutils-2.45.tar.xz/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/binutils/binutils-2.45.tar.xz"
+subcurl_bkup="https://ftp.nluug.nl/pub/gnu/binutils/binutils-2.45.tar.xz"
+subhash="c7b10a7466d9fd398d7a0b3f2a43318432668d714f2ec70069a31bdc93c86d28e0fe83792195727167743707fbae45337c0873a0786416db53bbf22860c16ce7"
diff --git a/config/submodule/coreboot/default/fsp/module.cfg b/config/submodule/coreboot/default/fsp/module.cfg
index 9e611acd..f670dbbc 100644
--- a/config/submodule/coreboot/default/fsp/module.cfg
+++ b/config/submodule/coreboot/default/fsp/module.cfg
@@ -2,4 +2,4 @@
subgit="https://review.coreboot.org/fsp.git"
subgit_bkup="https://github.com/coreboot/fsp"
-subhash="9623d524500c140a6b11d2c727cb282b54962f09"
+subhash="a5b3d0e056ad713f0055334427bc424f91aa6602"
diff --git a/config/submodule/coreboot/default/fspcc36ae2b5775fa7400cb3282680afc0f6cb37a3c/module.cfg b/config/submodule/coreboot/default/fspcc36ae2b5775fa7400cb3282680afc0f6cb37a3c/module.cfg
new file mode 100644
index 00000000..297e1703
--- /dev/null
+++ b/config/submodule/coreboot/default/fspcc36ae2b5775fa7400cb3282680afc0f6cb37a3c/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subgit="https://review.coreboot.org/fsp.git"
+subgit_bkup="https://github.com/coreboot/fsp"
+subhash="cc36ae2b5775fa7400cb3282680afc0f6cb37a3c"
diff --git a/config/submodule/coreboot/default/module.list b/config/submodule/coreboot/default/module.list
index 95688e5f..40d3f46b 100644
--- a/config/submodule/coreboot/default/module.list
+++ b/config/submodule/coreboot/default/module.list
@@ -1,5 +1,6 @@
3rdparty/arm-trusted-firmware
3rdparty/fsp
+3rdparty/fspcc36ae2b5775fa7400cb3282680afc0f6cb37a3c
3rdparty/intel-microcode
3rdparty/libgfxinit
3rdparty/libhwbase
diff --git a/config/submodule/grub/default/ast.po/module.cfg b/config/submodule/grub/default/ast.po/module.cfg
new file mode 100644
index 00000000..24f5340e
--- /dev/null
+++ b/config/submodule/grub/default/ast.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ast.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ast.po"
+subhash="9960439950f0a6f89fcb3a014a0bdbf06e322f0cff699b9f4e8783dea9233cfde800cfa6b94811ddb42eec62bf1bfb9f0fd64805ac2d24b68f3a854f4e02b40b"
diff --git a/config/submodule/grub/default/ca.po/module.cfg b/config/submodule/grub/default/ca.po/module.cfg
new file mode 100644
index 00000000..b12c8631
--- /dev/null
+++ b/config/submodule/grub/default/ca.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ca.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ca.po"
+subhash="c58c3c96a9beabe5fd6383c15e65681909ca93b433f22e3103b977200692edab9e36c2485484ec3e50c7627e7623ae5d3b7166e63044828ed67cc07c5bfe5581"
diff --git a/config/submodule/grub/default/da.po/module.cfg b/config/submodule/grub/default/da.po/module.cfg
new file mode 100644
index 00000000..3d9c17b5
--- /dev/null
+++ b/config/submodule/grub/default/da.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/da.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/da.po"
+subhash="d53dafc5e4c4a7a2943923c44fd7a6af8fb1b4b40297e639952c2f65baa068d9103414de69fd9030a926907d78d5d240244ac8e6e4ae94dac15330e228635e70"
diff --git a/config/submodule/grub/default/de.po/module.cfg b/config/submodule/grub/default/de.po/module.cfg
new file mode 100644
index 00000000..6fa5860c
--- /dev/null
+++ b/config/submodule/grub/default/de.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/de.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/de.po"
+subhash="0d58da2e7d3d18ffa6d45a0e22bd8841699704438b95abc6658935fcec4b0f7fa8f279b5ed08ba3881e5fed56d3beedfeaaab14686146bf8dd194c7a4179065a"
diff --git a/config/submodule/grub/default/eo.po/module.cfg b/config/submodule/grub/default/eo.po/module.cfg
new file mode 100644
index 00000000..b3411b82
--- /dev/null
+++ b/config/submodule/grub/default/eo.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/eo.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/eo.po"
+subhash="14db316ab5b8599031019f5d7f0fc8f6c847478945170f1555f1bc0e427ad7133d3b5f40dc019f356ed86521255ac74f602ef7f081a4bc2c25dbaae7a0adc545"
diff --git a/config/submodule/grub/default/es.po/module.cfg b/config/submodule/grub/default/es.po/module.cfg
new file mode 100644
index 00000000..c07d060d
--- /dev/null
+++ b/config/submodule/grub/default/es.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/es.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/es.po"
+subhash="9821774d0c2c9ae498688d170f0563a0b4bac013922de0769c49c30830ecde27c0ea7bd599a6f2e9a317629faac326dbb3f0c159e4e72bf943f30febe88c08b6"
diff --git a/config/submodule/grub/default/fi.po/module.cfg b/config/submodule/grub/default/fi.po/module.cfg
new file mode 100644
index 00000000..1dee3f10
--- /dev/null
+++ b/config/submodule/grub/default/fi.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/fi.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/fi.po"
+subhash="ec3cd99fd654c9008344148002310a4733b9edf9dbc8f0df952adac527230af936ae0dbd9acfab07b4b0cd7f0c01b2d17ba9e15fc7b527fc0dd974c9e42bf668"
diff --git a/config/submodule/grub/default/fr.po/module.cfg b/config/submodule/grub/default/fr.po/module.cfg
new file mode 100644
index 00000000..b57cbc35
--- /dev/null
+++ b/config/submodule/grub/default/fr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/fr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/fr.po"
+subhash="7d863df1d733b57bde6a4e15e37d100523d740c9b0b7a95eaffd8bfffbb32fabc21d4d76f8d6f8c9d3b68a11f472157a3e3d385cd2e360284a02697772a17eff"
diff --git a/config/submodule/grub/default/gl.po/module.cfg b/config/submodule/grub/default/gl.po/module.cfg
new file mode 100644
index 00000000..ab6010e3
--- /dev/null
+++ b/config/submodule/grub/default/gl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/gl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/gl.po"
+subhash="0e80f4a57e55c7b5c849f4283c830a6c4852a5d3e5a86fdaa00aeb02bc7ccbca72c6c4e2530bf1db6a6f83073c00c8f4df6f1e08a340ce58b58f5f09099cd616"
diff --git a/config/submodule/grub/default/he.po/module.cfg b/config/submodule/grub/default/he.po/module.cfg
new file mode 100644
index 00000000..d01485f5
--- /dev/null
+++ b/config/submodule/grub/default/he.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/he.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/he.po"
+subhash="02c9775c3738f2ead03c3fb912f0706ce2716dbea9230ab342631a7207dda56ef0a14f2fe1d31ad60804aa2ab853897dfa39480630db6686152262962ffd283e"
diff --git a/config/submodule/grub/default/hr.po/module.cfg b/config/submodule/grub/default/hr.po/module.cfg
new file mode 100644
index 00000000..f6cb61c6
--- /dev/null
+++ b/config/submodule/grub/default/hr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/hr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/hr.po"
+subhash="baa819047d7ef709fdbd089c2ddee0d4ea0ec32cee7aff81ae087214fb0bf41fa0266750770f08b6f61d0831b7d4fc8358181e374b287ca7067a7832334c5047"
diff --git a/config/submodule/grub/default/hu.po/module.cfg b/config/submodule/grub/default/hu.po/module.cfg
new file mode 100644
index 00000000..34ca727a
--- /dev/null
+++ b/config/submodule/grub/default/hu.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/hu.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/hu.po"
+subhash="f397b572cfc1e1a57a6415cb0f674041fbe661393cbb8c6f2f70da4e830e7019ac4cb7d6408a2695e19493e555e8a391c16a1c5b0d44fc653c5be433d4f94030"
diff --git a/config/submodule/grub/default/id.po/module.cfg b/config/submodule/grub/default/id.po/module.cfg
new file mode 100644
index 00000000..e70cfd5d
--- /dev/null
+++ b/config/submodule/grub/default/id.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/id.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/id.po"
+subhash="78154279f7c4495b3546318a9eb694ecf0e1ca5018085aa47a1bb4505cefbe8e44d4af56aadff75c598157a5f15a1168ac5ead0cefef98704852a3d5b9fe0158"
diff --git a/config/submodule/grub/default/it.po/module.cfg b/config/submodule/grub/default/it.po/module.cfg
new file mode 100644
index 00000000..7ed6dab2
--- /dev/null
+++ b/config/submodule/grub/default/it.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/it.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/it.po"
+subhash="dbf178c85306eecbdb269617f3f803f188615a0637aa65752b991fa6a8581ef819ccdcb1e62c407977f38254b1f45787e7c288285808ea4f7d11e601bc584942"
diff --git a/config/submodule/grub/default/ja.po/module.cfg b/config/submodule/grub/default/ja.po/module.cfg
new file mode 100644
index 00000000..245471f5
--- /dev/null
+++ b/config/submodule/grub/default/ja.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ja.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ja.po"
+subhash="df13d6e26079bd196c3f0bb3f0ea8f1d8279e0fc2706a5a1b3e0b388a667500efa64ca6d5c50d4a0bf7e5736d0af9bbf27e851883746ce8292ed5f91a6d025d7"
diff --git a/config/submodule/grub/default/ka.po/module.cfg b/config/submodule/grub/default/ka.po/module.cfg
new file mode 100644
index 00000000..2c22434c
--- /dev/null
+++ b/config/submodule/grub/default/ka.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ka.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ka.po"
+subhash="2b21ab9170e3c08165c64d16080666f263aea8d3b69f44d89e050ae5a7d83599618857f48234eb0078d88c193d70c1e03f9f77dd9186f67c24968bb01fa8a386"
diff --git a/config/submodule/grub/default/ko.po/module.cfg b/config/submodule/grub/default/ko.po/module.cfg
new file mode 100644
index 00000000..c3ea0d2a
--- /dev/null
+++ b/config/submodule/grub/default/ko.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ko.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ko.po"
+subhash="988e67763e541a1ba6bd9db750088821608c81a9414b58b3759c6ac8d6ca7420e4a8a460b7cb03acc26132a59c12ca9c5549dbbe2ae062f3f007fb8a258e9785"
diff --git a/config/submodule/grub/default/lg.po/module.cfg b/config/submodule/grub/default/lg.po/module.cfg
new file mode 100644
index 00000000..76006826
--- /dev/null
+++ b/config/submodule/grub/default/lg.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/lg.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/lg.po"
+subhash="f64cb2add4ee65973bbb5e3509d9203ba8f136870c67795c21c0dde266514848a0b9d161a1e71c2b8732d1ef5200798d1b8be7ca4b0b44fae5acfe1810282f15"
diff --git a/config/submodule/grub/default/lt.po/module.cfg b/config/submodule/grub/default/lt.po/module.cfg
new file mode 100644
index 00000000..4531b6f4
--- /dev/null
+++ b/config/submodule/grub/default/lt.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/lt.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/lt.po"
+subhash="3770cf0624a892868df1c64100bccfcd41ca4707c96d92c1752570c2957c9d861065a5f9d5250bba307e520aedb00ebbcd4d09902a305421708a5da54b39cd56"
diff --git a/config/submodule/grub/default/module.list b/config/submodule/grub/default/module.list
index 0e57095c..d4f1e5e3 100644
--- a/config/submodule/grub/default/module.list
+++ b/config/submodule/grub/default/module.list
@@ -1 +1,36 @@
+po/.reference/zh_TW.po
+po/.reference/zh_CN.po
+po/.reference/vi.po
+po/.reference/uk.po
+po/.reference/tr.po
+po/.reference/sv.po
+po/.reference/sr.po
+po/.reference/sl.po
+po/.reference/ru.po
+po/.reference/ro.po
+po/.reference/pt_BR.po
+po/.reference/pt.po
+po/.reference/pl.po
+po/.reference/pa.po
+po/.reference/nl.po
+po/.reference/nb.po
+po/.reference/lt.po
+po/.reference/lg.po
+po/.reference/ko.po
+po/.reference/ka.po
+po/.reference/ja.po
+po/.reference/it.po
+po/.reference/id.po
+po/.reference/hu.po
+po/.reference/hr.po
+po/.reference/he.po
+po/.reference/gl.po
+po/.reference/fr.po
+po/.reference/fi.po
+po/.reference/es.po
+po/.reference/eo.po
+po/.reference/de.po
+po/.reference/da.po
+po/.reference/ca.po
+po/.reference/ast.po
gnulib
diff --git a/config/submodule/grub/default/nb.po/module.cfg b/config/submodule/grub/default/nb.po/module.cfg
new file mode 100644
index 00000000..e8340f93
--- /dev/null
+++ b/config/submodule/grub/default/nb.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/nb.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/nb.po"
+subhash="58671e04ed2ca88ece06ff5c6dc5e09fda1f1d7d0c510ece8f8777c090a39f0a1cf89e7783797219f343efb19aa0b75a7dcf3d8f7bc48589109ba0a18b14d122"
diff --git a/config/submodule/grub/default/nl.po/module.cfg b/config/submodule/grub/default/nl.po/module.cfg
new file mode 100644
index 00000000..2f67d971
--- /dev/null
+++ b/config/submodule/grub/default/nl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/nl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/nl.po"
+subhash="8ce36e055a9587967d853a15167888ffd218707978c7ee80e697ddae766889cef90b7c354ee31794c6354a46d1c3138724e0b26cd3db7e737fd0e65e034e7d61"
diff --git a/config/submodule/grub/default/pa.po/module.cfg b/config/submodule/grub/default/pa.po/module.cfg
new file mode 100644
index 00000000..a4b1aa62
--- /dev/null
+++ b/config/submodule/grub/default/pa.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pa.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pa.po"
+subhash="00f2ea030d9f275cf4828e01cf7a9a0912f48ffeaad6b1085783bfb5772437e9a354cd4337b79fc6c0fc7827ebeeaa38b1422e105c00d4c58ea685824d8b28ea"
diff --git a/config/submodule/grub/default/pl.po/module.cfg b/config/submodule/grub/default/pl.po/module.cfg
new file mode 100644
index 00000000..5a8d17d1
--- /dev/null
+++ b/config/submodule/grub/default/pl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pl.po"
+subhash="1de3545a3015986435c091b7ee3339c5bd9bddb3e8814b6cfb55acdb957829dc453e05812063b7438ae6aec0abc232065413be7456fb95ad0a5da8d36e7076ce"
diff --git a/config/submodule/grub/default/pt.po/module.cfg b/config/submodule/grub/default/pt.po/module.cfg
new file mode 100644
index 00000000..826f8752
--- /dev/null
+++ b/config/submodule/grub/default/pt.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pt.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pt.po"
+subhash="1bc2d024b1261b6f7a1fea00bc1ee45b29b860adfa98fcbb2022fbaf817ceefe12f961564bed01b129735fb838025e6d30e38020a9aeeb8aa5e14a2b22d07156"
diff --git a/config/submodule/grub/default/pt_BR.po/module.cfg b/config/submodule/grub/default/pt_BR.po/module.cfg
new file mode 100644
index 00000000..8e0dcaaf
--- /dev/null
+++ b/config/submodule/grub/default/pt_BR.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pt_BR.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pt_BR.po"
+subhash="009b11465e67f310d50f4dcc8a34a2e3ba19ba9c3bfcb382065f8deb1818b2a879c146c27e6f49085c73ed6f8c9924feaa9a068fec47f8138df822f685f896ca"
diff --git a/config/submodule/grub/default/ro.po/module.cfg b/config/submodule/grub/default/ro.po/module.cfg
new file mode 100644
index 00000000..e95467cd
--- /dev/null
+++ b/config/submodule/grub/default/ro.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ro.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ro.po"
+subhash="f4c5f621ea217b06b07f6db29da921358de49ed9ebb655b0b1331fd48b0a68795c7c666f0b97833ad5f6e3fdbd0918b4e8f00bcc890e5f3673121c0b676ffda4"
diff --git a/config/submodule/grub/default/ru.po/module.cfg b/config/submodule/grub/default/ru.po/module.cfg
new file mode 100644
index 00000000..4d864e71
--- /dev/null
+++ b/config/submodule/grub/default/ru.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ru.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ru.po"
+subhash="8883d7786863679e16214e9a3b2f4e607de9f7d958ae28756bab4cfd4f86356ef26c403d105aed9cf1d0ecd498059481ecf2b3d2df694a759510f4c442431494"
diff --git a/config/submodule/grub/default/sl.po/module.cfg b/config/submodule/grub/default/sl.po/module.cfg
new file mode 100644
index 00000000..bf2548aa
--- /dev/null
+++ b/config/submodule/grub/default/sl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sl.po"
+subhash="3047e48665c0528eefdb201cff12c2ef5c937b10ee8cbca637ee6b5a9c8017604c7f849830ae0f5dcc4613efb490a41668f925d499e6083fa4587653327819cb"
diff --git a/config/submodule/grub/default/sr.po/module.cfg b/config/submodule/grub/default/sr.po/module.cfg
new file mode 100644
index 00000000..bf1352be
--- /dev/null
+++ b/config/submodule/grub/default/sr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sr.po"
+subhash="5e9a51dfb02fef0daa26c1df37e606952f2f922a6933e5ce0890eaabc039ec5e13de50a4fd927d9c9ab15385cca9b8b1f33b35bccde50384f45c75769a5f04ea"
diff --git a/config/submodule/grub/default/sv.po/module.cfg b/config/submodule/grub/default/sv.po/module.cfg
new file mode 100644
index 00000000..ed2f74bd
--- /dev/null
+++ b/config/submodule/grub/default/sv.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sv.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sv.po"
+subhash="80b249091e2cfb369da1a4365fe76f7643ed6b34e46b4ee73359721ece6d87ef0c1f099a46f74b4c85416bea431c7dc36bf36ab16dce36e2d6c0c1b890b431dc"
diff --git a/config/submodule/grub/default/tr.po/module.cfg b/config/submodule/grub/default/tr.po/module.cfg
new file mode 100644
index 00000000..83410286
--- /dev/null
+++ b/config/submodule/grub/default/tr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/tr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/tr.po"
+subhash="a83ebdd25d5438ff6489d88a8cb0657e606c2fc2c1efbc7dd34193fda4e0d92e10f9a29185c12e665af151b995c12b8bce755418d9e6c9978dddc23ca4a10d2b"
diff --git a/config/submodule/grub/default/uk.po/module.cfg b/config/submodule/grub/default/uk.po/module.cfg
new file mode 100644
index 00000000..678efae7
--- /dev/null
+++ b/config/submodule/grub/default/uk.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/uk.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/uk.po"
+subhash="0545c90c2bc5df9ee813806cff9a5193d8fbef00aab80f85cef14f967c8d9fd650de3a0bd1063abb8fcc65b5c68e59a02832fda6827e7120fdf0a28fe58a3474"
diff --git a/config/submodule/grub/default/vi.po/module.cfg b/config/submodule/grub/default/vi.po/module.cfg
new file mode 100644
index 00000000..61a7a058
--- /dev/null
+++ b/config/submodule/grub/default/vi.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/vi.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/vi.po"
+subhash="995754563bb472b93dfb5dd13b27b2540cebcf819be5ff2718553444b5fe06ad50a2fa8a0fdfcb06ab1bce9c2b870c950257c28b29e90413f1bfb42ad2643e72"
diff --git a/config/submodule/grub/default/zh_CN.po/module.cfg b/config/submodule/grub/default/zh_CN.po/module.cfg
new file mode 100644
index 00000000..0ba80be9
--- /dev/null
+++ b/config/submodule/grub/default/zh_CN.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/zh_CN.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/zh_CN.po"
+subhash="8c77c78ae8e5c26107eec83a0a22465c6fc8399eb2e4f9a18f7c056f32a3e5392a313afd6520f72cc044efe6360fe0390f0a2f2edc825344d497e55ab83bfbb4"
diff --git a/config/submodule/grub/default/zh_TW.po/module.cfg b/config/submodule/grub/default/zh_TW.po/module.cfg
new file mode 100644
index 00000000..4907e2f9
--- /dev/null
+++ b/config/submodule/grub/default/zh_TW.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/zh_TW.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/zh_TW.po"
+subhash="ef25bc8a0d558868a3135f6fe1816cad9fa0510b8adb48e04938053b3a0e95cc2061611601b0d23ec03e8e7c837cf5e9712eed108ee35aef98991591878f4577"
diff --git a/config/submodule/grub/nvme/ast.po/module.cfg b/config/submodule/grub/nvme/ast.po/module.cfg
new file mode 100644
index 00000000..24f5340e
--- /dev/null
+++ b/config/submodule/grub/nvme/ast.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ast.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ast.po"
+subhash="9960439950f0a6f89fcb3a014a0bdbf06e322f0cff699b9f4e8783dea9233cfde800cfa6b94811ddb42eec62bf1bfb9f0fd64805ac2d24b68f3a854f4e02b40b"
diff --git a/config/submodule/grub/nvme/ca.po/module.cfg b/config/submodule/grub/nvme/ca.po/module.cfg
new file mode 100644
index 00000000..b12c8631
--- /dev/null
+++ b/config/submodule/grub/nvme/ca.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ca.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ca.po"
+subhash="c58c3c96a9beabe5fd6383c15e65681909ca93b433f22e3103b977200692edab9e36c2485484ec3e50c7627e7623ae5d3b7166e63044828ed67cc07c5bfe5581"
diff --git a/config/submodule/grub/nvme/da.po/module.cfg b/config/submodule/grub/nvme/da.po/module.cfg
new file mode 100644
index 00000000..3d9c17b5
--- /dev/null
+++ b/config/submodule/grub/nvme/da.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/da.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/da.po"
+subhash="d53dafc5e4c4a7a2943923c44fd7a6af8fb1b4b40297e639952c2f65baa068d9103414de69fd9030a926907d78d5d240244ac8e6e4ae94dac15330e228635e70"
diff --git a/config/submodule/grub/nvme/de.po/module.cfg b/config/submodule/grub/nvme/de.po/module.cfg
new file mode 100644
index 00000000..6fa5860c
--- /dev/null
+++ b/config/submodule/grub/nvme/de.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/de.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/de.po"
+subhash="0d58da2e7d3d18ffa6d45a0e22bd8841699704438b95abc6658935fcec4b0f7fa8f279b5ed08ba3881e5fed56d3beedfeaaab14686146bf8dd194c7a4179065a"
diff --git a/config/submodule/grub/nvme/eo.po/module.cfg b/config/submodule/grub/nvme/eo.po/module.cfg
new file mode 100644
index 00000000..b3411b82
--- /dev/null
+++ b/config/submodule/grub/nvme/eo.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/eo.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/eo.po"
+subhash="14db316ab5b8599031019f5d7f0fc8f6c847478945170f1555f1bc0e427ad7133d3b5f40dc019f356ed86521255ac74f602ef7f081a4bc2c25dbaae7a0adc545"
diff --git a/config/submodule/grub/nvme/es.po/module.cfg b/config/submodule/grub/nvme/es.po/module.cfg
new file mode 100644
index 00000000..c07d060d
--- /dev/null
+++ b/config/submodule/grub/nvme/es.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/es.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/es.po"
+subhash="9821774d0c2c9ae498688d170f0563a0b4bac013922de0769c49c30830ecde27c0ea7bd599a6f2e9a317629faac326dbb3f0c159e4e72bf943f30febe88c08b6"
diff --git a/config/submodule/grub/nvme/fi.po/module.cfg b/config/submodule/grub/nvme/fi.po/module.cfg
new file mode 100644
index 00000000..1dee3f10
--- /dev/null
+++ b/config/submodule/grub/nvme/fi.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/fi.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/fi.po"
+subhash="ec3cd99fd654c9008344148002310a4733b9edf9dbc8f0df952adac527230af936ae0dbd9acfab07b4b0cd7f0c01b2d17ba9e15fc7b527fc0dd974c9e42bf668"
diff --git a/config/submodule/grub/nvme/fr.po/module.cfg b/config/submodule/grub/nvme/fr.po/module.cfg
new file mode 100644
index 00000000..b57cbc35
--- /dev/null
+++ b/config/submodule/grub/nvme/fr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/fr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/fr.po"
+subhash="7d863df1d733b57bde6a4e15e37d100523d740c9b0b7a95eaffd8bfffbb32fabc21d4d76f8d6f8c9d3b68a11f472157a3e3d385cd2e360284a02697772a17eff"
diff --git a/config/submodule/grub/nvme/gl.po/module.cfg b/config/submodule/grub/nvme/gl.po/module.cfg
new file mode 100644
index 00000000..ab6010e3
--- /dev/null
+++ b/config/submodule/grub/nvme/gl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/gl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/gl.po"
+subhash="0e80f4a57e55c7b5c849f4283c830a6c4852a5d3e5a86fdaa00aeb02bc7ccbca72c6c4e2530bf1db6a6f83073c00c8f4df6f1e08a340ce58b58f5f09099cd616"
diff --git a/config/submodule/grub/nvme/he.po/module.cfg b/config/submodule/grub/nvme/he.po/module.cfg
new file mode 100644
index 00000000..d01485f5
--- /dev/null
+++ b/config/submodule/grub/nvme/he.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/he.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/he.po"
+subhash="02c9775c3738f2ead03c3fb912f0706ce2716dbea9230ab342631a7207dda56ef0a14f2fe1d31ad60804aa2ab853897dfa39480630db6686152262962ffd283e"
diff --git a/config/submodule/grub/nvme/hr.po/module.cfg b/config/submodule/grub/nvme/hr.po/module.cfg
new file mode 100644
index 00000000..f6cb61c6
--- /dev/null
+++ b/config/submodule/grub/nvme/hr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/hr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/hr.po"
+subhash="baa819047d7ef709fdbd089c2ddee0d4ea0ec32cee7aff81ae087214fb0bf41fa0266750770f08b6f61d0831b7d4fc8358181e374b287ca7067a7832334c5047"
diff --git a/config/submodule/grub/nvme/hu.po/module.cfg b/config/submodule/grub/nvme/hu.po/module.cfg
new file mode 100644
index 00000000..34ca727a
--- /dev/null
+++ b/config/submodule/grub/nvme/hu.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/hu.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/hu.po"
+subhash="f397b572cfc1e1a57a6415cb0f674041fbe661393cbb8c6f2f70da4e830e7019ac4cb7d6408a2695e19493e555e8a391c16a1c5b0d44fc653c5be433d4f94030"
diff --git a/config/submodule/grub/nvme/id.po/module.cfg b/config/submodule/grub/nvme/id.po/module.cfg
new file mode 100644
index 00000000..e70cfd5d
--- /dev/null
+++ b/config/submodule/grub/nvme/id.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/id.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/id.po"
+subhash="78154279f7c4495b3546318a9eb694ecf0e1ca5018085aa47a1bb4505cefbe8e44d4af56aadff75c598157a5f15a1168ac5ead0cefef98704852a3d5b9fe0158"
diff --git a/config/submodule/grub/nvme/it.po/module.cfg b/config/submodule/grub/nvme/it.po/module.cfg
new file mode 100644
index 00000000..7ed6dab2
--- /dev/null
+++ b/config/submodule/grub/nvme/it.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/it.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/it.po"
+subhash="dbf178c85306eecbdb269617f3f803f188615a0637aa65752b991fa6a8581ef819ccdcb1e62c407977f38254b1f45787e7c288285808ea4f7d11e601bc584942"
diff --git a/config/submodule/grub/nvme/ja.po/module.cfg b/config/submodule/grub/nvme/ja.po/module.cfg
new file mode 100644
index 00000000..245471f5
--- /dev/null
+++ b/config/submodule/grub/nvme/ja.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ja.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ja.po"
+subhash="df13d6e26079bd196c3f0bb3f0ea8f1d8279e0fc2706a5a1b3e0b388a667500efa64ca6d5c50d4a0bf7e5736d0af9bbf27e851883746ce8292ed5f91a6d025d7"
diff --git a/config/submodule/grub/nvme/ka.po/module.cfg b/config/submodule/grub/nvme/ka.po/module.cfg
new file mode 100644
index 00000000..2c22434c
--- /dev/null
+++ b/config/submodule/grub/nvme/ka.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ka.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ka.po"
+subhash="2b21ab9170e3c08165c64d16080666f263aea8d3b69f44d89e050ae5a7d83599618857f48234eb0078d88c193d70c1e03f9f77dd9186f67c24968bb01fa8a386"
diff --git a/config/submodule/grub/nvme/ko.po/module.cfg b/config/submodule/grub/nvme/ko.po/module.cfg
new file mode 100644
index 00000000..c3ea0d2a
--- /dev/null
+++ b/config/submodule/grub/nvme/ko.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ko.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ko.po"
+subhash="988e67763e541a1ba6bd9db750088821608c81a9414b58b3759c6ac8d6ca7420e4a8a460b7cb03acc26132a59c12ca9c5549dbbe2ae062f3f007fb8a258e9785"
diff --git a/config/submodule/grub/nvme/lg.po/module.cfg b/config/submodule/grub/nvme/lg.po/module.cfg
new file mode 100644
index 00000000..76006826
--- /dev/null
+++ b/config/submodule/grub/nvme/lg.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/lg.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/lg.po"
+subhash="f64cb2add4ee65973bbb5e3509d9203ba8f136870c67795c21c0dde266514848a0b9d161a1e71c2b8732d1ef5200798d1b8be7ca4b0b44fae5acfe1810282f15"
diff --git a/config/submodule/grub/nvme/lt.po/module.cfg b/config/submodule/grub/nvme/lt.po/module.cfg
new file mode 100644
index 00000000..4531b6f4
--- /dev/null
+++ b/config/submodule/grub/nvme/lt.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/lt.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/lt.po"
+subhash="3770cf0624a892868df1c64100bccfcd41ca4707c96d92c1752570c2957c9d861065a5f9d5250bba307e520aedb00ebbcd4d09902a305421708a5da54b39cd56"
diff --git a/config/submodule/grub/nvme/module.list b/config/submodule/grub/nvme/module.list
index 0e57095c..d4f1e5e3 100644
--- a/config/submodule/grub/nvme/module.list
+++ b/config/submodule/grub/nvme/module.list
@@ -1 +1,36 @@
+po/.reference/zh_TW.po
+po/.reference/zh_CN.po
+po/.reference/vi.po
+po/.reference/uk.po
+po/.reference/tr.po
+po/.reference/sv.po
+po/.reference/sr.po
+po/.reference/sl.po
+po/.reference/ru.po
+po/.reference/ro.po
+po/.reference/pt_BR.po
+po/.reference/pt.po
+po/.reference/pl.po
+po/.reference/pa.po
+po/.reference/nl.po
+po/.reference/nb.po
+po/.reference/lt.po
+po/.reference/lg.po
+po/.reference/ko.po
+po/.reference/ka.po
+po/.reference/ja.po
+po/.reference/it.po
+po/.reference/id.po
+po/.reference/hu.po
+po/.reference/hr.po
+po/.reference/he.po
+po/.reference/gl.po
+po/.reference/fr.po
+po/.reference/fi.po
+po/.reference/es.po
+po/.reference/eo.po
+po/.reference/de.po
+po/.reference/da.po
+po/.reference/ca.po
+po/.reference/ast.po
gnulib
diff --git a/config/submodule/grub/nvme/nb.po/module.cfg b/config/submodule/grub/nvme/nb.po/module.cfg
new file mode 100644
index 00000000..e8340f93
--- /dev/null
+++ b/config/submodule/grub/nvme/nb.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/nb.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/nb.po"
+subhash="58671e04ed2ca88ece06ff5c6dc5e09fda1f1d7d0c510ece8f8777c090a39f0a1cf89e7783797219f343efb19aa0b75a7dcf3d8f7bc48589109ba0a18b14d122"
diff --git a/config/submodule/grub/nvme/nl.po/module.cfg b/config/submodule/grub/nvme/nl.po/module.cfg
new file mode 100644
index 00000000..2f67d971
--- /dev/null
+++ b/config/submodule/grub/nvme/nl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/nl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/nl.po"
+subhash="8ce36e055a9587967d853a15167888ffd218707978c7ee80e697ddae766889cef90b7c354ee31794c6354a46d1c3138724e0b26cd3db7e737fd0e65e034e7d61"
diff --git a/config/submodule/grub/nvme/pa.po/module.cfg b/config/submodule/grub/nvme/pa.po/module.cfg
new file mode 100644
index 00000000..a4b1aa62
--- /dev/null
+++ b/config/submodule/grub/nvme/pa.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pa.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pa.po"
+subhash="00f2ea030d9f275cf4828e01cf7a9a0912f48ffeaad6b1085783bfb5772437e9a354cd4337b79fc6c0fc7827ebeeaa38b1422e105c00d4c58ea685824d8b28ea"
diff --git a/config/submodule/grub/nvme/pl.po/module.cfg b/config/submodule/grub/nvme/pl.po/module.cfg
new file mode 100644
index 00000000..5a8d17d1
--- /dev/null
+++ b/config/submodule/grub/nvme/pl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pl.po"
+subhash="1de3545a3015986435c091b7ee3339c5bd9bddb3e8814b6cfb55acdb957829dc453e05812063b7438ae6aec0abc232065413be7456fb95ad0a5da8d36e7076ce"
diff --git a/config/submodule/grub/nvme/pt.po/module.cfg b/config/submodule/grub/nvme/pt.po/module.cfg
new file mode 100644
index 00000000..826f8752
--- /dev/null
+++ b/config/submodule/grub/nvme/pt.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pt.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pt.po"
+subhash="1bc2d024b1261b6f7a1fea00bc1ee45b29b860adfa98fcbb2022fbaf817ceefe12f961564bed01b129735fb838025e6d30e38020a9aeeb8aa5e14a2b22d07156"
diff --git a/config/submodule/grub/nvme/pt_BR.po/module.cfg b/config/submodule/grub/nvme/pt_BR.po/module.cfg
new file mode 100644
index 00000000..8e0dcaaf
--- /dev/null
+++ b/config/submodule/grub/nvme/pt_BR.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pt_BR.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pt_BR.po"
+subhash="009b11465e67f310d50f4dcc8a34a2e3ba19ba9c3bfcb382065f8deb1818b2a879c146c27e6f49085c73ed6f8c9924feaa9a068fec47f8138df822f685f896ca"
diff --git a/config/submodule/grub/nvme/ro.po/module.cfg b/config/submodule/grub/nvme/ro.po/module.cfg
new file mode 100644
index 00000000..e95467cd
--- /dev/null
+++ b/config/submodule/grub/nvme/ro.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ro.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ro.po"
+subhash="f4c5f621ea217b06b07f6db29da921358de49ed9ebb655b0b1331fd48b0a68795c7c666f0b97833ad5f6e3fdbd0918b4e8f00bcc890e5f3673121c0b676ffda4"
diff --git a/config/submodule/grub/nvme/ru.po/module.cfg b/config/submodule/grub/nvme/ru.po/module.cfg
new file mode 100644
index 00000000..4d864e71
--- /dev/null
+++ b/config/submodule/grub/nvme/ru.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ru.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ru.po"
+subhash="8883d7786863679e16214e9a3b2f4e607de9f7d958ae28756bab4cfd4f86356ef26c403d105aed9cf1d0ecd498059481ecf2b3d2df694a759510f4c442431494"
diff --git a/config/submodule/grub/nvme/sl.po/module.cfg b/config/submodule/grub/nvme/sl.po/module.cfg
new file mode 100644
index 00000000..bf2548aa
--- /dev/null
+++ b/config/submodule/grub/nvme/sl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sl.po"
+subhash="3047e48665c0528eefdb201cff12c2ef5c937b10ee8cbca637ee6b5a9c8017604c7f849830ae0f5dcc4613efb490a41668f925d499e6083fa4587653327819cb"
diff --git a/config/submodule/grub/nvme/sr.po/module.cfg b/config/submodule/grub/nvme/sr.po/module.cfg
new file mode 100644
index 00000000..bf1352be
--- /dev/null
+++ b/config/submodule/grub/nvme/sr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sr.po"
+subhash="5e9a51dfb02fef0daa26c1df37e606952f2f922a6933e5ce0890eaabc039ec5e13de50a4fd927d9c9ab15385cca9b8b1f33b35bccde50384f45c75769a5f04ea"
diff --git a/config/submodule/grub/nvme/sv.po/module.cfg b/config/submodule/grub/nvme/sv.po/module.cfg
new file mode 100644
index 00000000..ed2f74bd
--- /dev/null
+++ b/config/submodule/grub/nvme/sv.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sv.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sv.po"
+subhash="80b249091e2cfb369da1a4365fe76f7643ed6b34e46b4ee73359721ece6d87ef0c1f099a46f74b4c85416bea431c7dc36bf36ab16dce36e2d6c0c1b890b431dc"
diff --git a/config/submodule/grub/nvme/tr.po/module.cfg b/config/submodule/grub/nvme/tr.po/module.cfg
new file mode 100644
index 00000000..83410286
--- /dev/null
+++ b/config/submodule/grub/nvme/tr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/tr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/tr.po"
+subhash="a83ebdd25d5438ff6489d88a8cb0657e606c2fc2c1efbc7dd34193fda4e0d92e10f9a29185c12e665af151b995c12b8bce755418d9e6c9978dddc23ca4a10d2b"
diff --git a/config/submodule/grub/nvme/uk.po/module.cfg b/config/submodule/grub/nvme/uk.po/module.cfg
new file mode 100644
index 00000000..678efae7
--- /dev/null
+++ b/config/submodule/grub/nvme/uk.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/uk.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/uk.po"
+subhash="0545c90c2bc5df9ee813806cff9a5193d8fbef00aab80f85cef14f967c8d9fd650de3a0bd1063abb8fcc65b5c68e59a02832fda6827e7120fdf0a28fe58a3474"
diff --git a/config/submodule/grub/nvme/vi.po/module.cfg b/config/submodule/grub/nvme/vi.po/module.cfg
new file mode 100644
index 00000000..61a7a058
--- /dev/null
+++ b/config/submodule/grub/nvme/vi.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/vi.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/vi.po"
+subhash="995754563bb472b93dfb5dd13b27b2540cebcf819be5ff2718553444b5fe06ad50a2fa8a0fdfcb06ab1bce9c2b870c950257c28b29e90413f1bfb42ad2643e72"
diff --git a/config/submodule/grub/nvme/zh_CN.po/module.cfg b/config/submodule/grub/nvme/zh_CN.po/module.cfg
new file mode 100644
index 00000000..0ba80be9
--- /dev/null
+++ b/config/submodule/grub/nvme/zh_CN.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/zh_CN.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/zh_CN.po"
+subhash="8c77c78ae8e5c26107eec83a0a22465c6fc8399eb2e4f9a18f7c056f32a3e5392a313afd6520f72cc044efe6360fe0390f0a2f2edc825344d497e55ab83bfbb4"
diff --git a/config/submodule/grub/nvme/zh_TW.po/module.cfg b/config/submodule/grub/nvme/zh_TW.po/module.cfg
new file mode 100644
index 00000000..4907e2f9
--- /dev/null
+++ b/config/submodule/grub/nvme/zh_TW.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/zh_TW.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/zh_TW.po"
+subhash="ef25bc8a0d558868a3135f6fe1816cad9fa0510b8adb48e04938053b3a0e95cc2061611601b0d23ec03e8e7c837cf5e9712eed108ee35aef98991591878f4577"
diff --git a/config/submodule/grub/xhci_nvme/ast.po/module.cfg b/config/submodule/grub/xhci_nvme/ast.po/module.cfg
new file mode 100644
index 00000000..24f5340e
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/ast.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ast.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ast.po"
+subhash="9960439950f0a6f89fcb3a014a0bdbf06e322f0cff699b9f4e8783dea9233cfde800cfa6b94811ddb42eec62bf1bfb9f0fd64805ac2d24b68f3a854f4e02b40b"
diff --git a/config/submodule/grub/xhci_nvme/ca.po/module.cfg b/config/submodule/grub/xhci_nvme/ca.po/module.cfg
new file mode 100644
index 00000000..b12c8631
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/ca.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ca.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ca.po"
+subhash="c58c3c96a9beabe5fd6383c15e65681909ca93b433f22e3103b977200692edab9e36c2485484ec3e50c7627e7623ae5d3b7166e63044828ed67cc07c5bfe5581"
diff --git a/config/submodule/grub/xhci_nvme/da.po/module.cfg b/config/submodule/grub/xhci_nvme/da.po/module.cfg
new file mode 100644
index 00000000..3d9c17b5
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/da.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/da.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/da.po"
+subhash="d53dafc5e4c4a7a2943923c44fd7a6af8fb1b4b40297e639952c2f65baa068d9103414de69fd9030a926907d78d5d240244ac8e6e4ae94dac15330e228635e70"
diff --git a/config/submodule/grub/xhci_nvme/de.po/module.cfg b/config/submodule/grub/xhci_nvme/de.po/module.cfg
new file mode 100644
index 00000000..6fa5860c
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/de.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/de.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/de.po"
+subhash="0d58da2e7d3d18ffa6d45a0e22bd8841699704438b95abc6658935fcec4b0f7fa8f279b5ed08ba3881e5fed56d3beedfeaaab14686146bf8dd194c7a4179065a"
diff --git a/config/submodule/grub/xhci_nvme/eo.po/module.cfg b/config/submodule/grub/xhci_nvme/eo.po/module.cfg
new file mode 100644
index 00000000..b3411b82
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/eo.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/eo.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/eo.po"
+subhash="14db316ab5b8599031019f5d7f0fc8f6c847478945170f1555f1bc0e427ad7133d3b5f40dc019f356ed86521255ac74f602ef7f081a4bc2c25dbaae7a0adc545"
diff --git a/config/submodule/grub/xhci_nvme/es.po/module.cfg b/config/submodule/grub/xhci_nvme/es.po/module.cfg
new file mode 100644
index 00000000..c07d060d
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/es.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/es.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/es.po"
+subhash="9821774d0c2c9ae498688d170f0563a0b4bac013922de0769c49c30830ecde27c0ea7bd599a6f2e9a317629faac326dbb3f0c159e4e72bf943f30febe88c08b6"
diff --git a/config/submodule/grub/xhci_nvme/fi.po/module.cfg b/config/submodule/grub/xhci_nvme/fi.po/module.cfg
new file mode 100644
index 00000000..1dee3f10
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/fi.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/fi.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/fi.po"
+subhash="ec3cd99fd654c9008344148002310a4733b9edf9dbc8f0df952adac527230af936ae0dbd9acfab07b4b0cd7f0c01b2d17ba9e15fc7b527fc0dd974c9e42bf668"
diff --git a/config/submodule/grub/xhci_nvme/fr.po/module.cfg b/config/submodule/grub/xhci_nvme/fr.po/module.cfg
new file mode 100644
index 00000000..b57cbc35
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/fr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/fr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/fr.po"
+subhash="7d863df1d733b57bde6a4e15e37d100523d740c9b0b7a95eaffd8bfffbb32fabc21d4d76f8d6f8c9d3b68a11f472157a3e3d385cd2e360284a02697772a17eff"
diff --git a/config/submodule/grub/xhci_nvme/gl.po/module.cfg b/config/submodule/grub/xhci_nvme/gl.po/module.cfg
new file mode 100644
index 00000000..ab6010e3
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/gl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/gl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/gl.po"
+subhash="0e80f4a57e55c7b5c849f4283c830a6c4852a5d3e5a86fdaa00aeb02bc7ccbca72c6c4e2530bf1db6a6f83073c00c8f4df6f1e08a340ce58b58f5f09099cd616"
diff --git a/config/submodule/grub/xhci_nvme/he.po/module.cfg b/config/submodule/grub/xhci_nvme/he.po/module.cfg
new file mode 100644
index 00000000..d01485f5
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/he.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/he.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/he.po"
+subhash="02c9775c3738f2ead03c3fb912f0706ce2716dbea9230ab342631a7207dda56ef0a14f2fe1d31ad60804aa2ab853897dfa39480630db6686152262962ffd283e"
diff --git a/config/submodule/grub/xhci_nvme/hr.po/module.cfg b/config/submodule/grub/xhci_nvme/hr.po/module.cfg
new file mode 100644
index 00000000..f6cb61c6
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/hr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/hr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/hr.po"
+subhash="baa819047d7ef709fdbd089c2ddee0d4ea0ec32cee7aff81ae087214fb0bf41fa0266750770f08b6f61d0831b7d4fc8358181e374b287ca7067a7832334c5047"
diff --git a/config/submodule/grub/xhci_nvme/hu.po/module.cfg b/config/submodule/grub/xhci_nvme/hu.po/module.cfg
new file mode 100644
index 00000000..34ca727a
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/hu.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/hu.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/hu.po"
+subhash="f397b572cfc1e1a57a6415cb0f674041fbe661393cbb8c6f2f70da4e830e7019ac4cb7d6408a2695e19493e555e8a391c16a1c5b0d44fc653c5be433d4f94030"
diff --git a/config/submodule/grub/xhci_nvme/id.po/module.cfg b/config/submodule/grub/xhci_nvme/id.po/module.cfg
new file mode 100644
index 00000000..e70cfd5d
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/id.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/id.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/id.po"
+subhash="78154279f7c4495b3546318a9eb694ecf0e1ca5018085aa47a1bb4505cefbe8e44d4af56aadff75c598157a5f15a1168ac5ead0cefef98704852a3d5b9fe0158"
diff --git a/config/submodule/grub/xhci_nvme/it.po/module.cfg b/config/submodule/grub/xhci_nvme/it.po/module.cfg
new file mode 100644
index 00000000..7ed6dab2
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/it.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/it.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/it.po"
+subhash="dbf178c85306eecbdb269617f3f803f188615a0637aa65752b991fa6a8581ef819ccdcb1e62c407977f38254b1f45787e7c288285808ea4f7d11e601bc584942"
diff --git a/config/submodule/grub/xhci_nvme/ja.po/module.cfg b/config/submodule/grub/xhci_nvme/ja.po/module.cfg
new file mode 100644
index 00000000..245471f5
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/ja.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ja.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ja.po"
+subhash="df13d6e26079bd196c3f0bb3f0ea8f1d8279e0fc2706a5a1b3e0b388a667500efa64ca6d5c50d4a0bf7e5736d0af9bbf27e851883746ce8292ed5f91a6d025d7"
diff --git a/config/submodule/grub/xhci_nvme/ka.po/module.cfg b/config/submodule/grub/xhci_nvme/ka.po/module.cfg
new file mode 100644
index 00000000..2c22434c
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/ka.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ka.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ka.po"
+subhash="2b21ab9170e3c08165c64d16080666f263aea8d3b69f44d89e050ae5a7d83599618857f48234eb0078d88c193d70c1e03f9f77dd9186f67c24968bb01fa8a386"
diff --git a/config/submodule/grub/xhci_nvme/ko.po/module.cfg b/config/submodule/grub/xhci_nvme/ko.po/module.cfg
new file mode 100644
index 00000000..c3ea0d2a
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/ko.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ko.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ko.po"
+subhash="988e67763e541a1ba6bd9db750088821608c81a9414b58b3759c6ac8d6ca7420e4a8a460b7cb03acc26132a59c12ca9c5549dbbe2ae062f3f007fb8a258e9785"
diff --git a/config/submodule/grub/xhci_nvme/lg.po/module.cfg b/config/submodule/grub/xhci_nvme/lg.po/module.cfg
new file mode 100644
index 00000000..76006826
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/lg.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/lg.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/lg.po"
+subhash="f64cb2add4ee65973bbb5e3509d9203ba8f136870c67795c21c0dde266514848a0b9d161a1e71c2b8732d1ef5200798d1b8be7ca4b0b44fae5acfe1810282f15"
diff --git a/config/submodule/grub/xhci_nvme/lt.po/module.cfg b/config/submodule/grub/xhci_nvme/lt.po/module.cfg
new file mode 100644
index 00000000..4531b6f4
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/lt.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/lt.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/lt.po"
+subhash="3770cf0624a892868df1c64100bccfcd41ca4707c96d92c1752570c2957c9d861065a5f9d5250bba307e520aedb00ebbcd4d09902a305421708a5da54b39cd56"
diff --git a/config/submodule/grub/xhci_nvme/module.list b/config/submodule/grub/xhci_nvme/module.list
index 0e57095c..d4f1e5e3 100644
--- a/config/submodule/grub/xhci_nvme/module.list
+++ b/config/submodule/grub/xhci_nvme/module.list
@@ -1 +1,36 @@
+po/.reference/zh_TW.po
+po/.reference/zh_CN.po
+po/.reference/vi.po
+po/.reference/uk.po
+po/.reference/tr.po
+po/.reference/sv.po
+po/.reference/sr.po
+po/.reference/sl.po
+po/.reference/ru.po
+po/.reference/ro.po
+po/.reference/pt_BR.po
+po/.reference/pt.po
+po/.reference/pl.po
+po/.reference/pa.po
+po/.reference/nl.po
+po/.reference/nb.po
+po/.reference/lt.po
+po/.reference/lg.po
+po/.reference/ko.po
+po/.reference/ka.po
+po/.reference/ja.po
+po/.reference/it.po
+po/.reference/id.po
+po/.reference/hu.po
+po/.reference/hr.po
+po/.reference/he.po
+po/.reference/gl.po
+po/.reference/fr.po
+po/.reference/fi.po
+po/.reference/es.po
+po/.reference/eo.po
+po/.reference/de.po
+po/.reference/da.po
+po/.reference/ca.po
+po/.reference/ast.po
gnulib
diff --git a/config/submodule/grub/xhci_nvme/nb.po/module.cfg b/config/submodule/grub/xhci_nvme/nb.po/module.cfg
new file mode 100644
index 00000000..e8340f93
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/nb.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/nb.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/nb.po"
+subhash="58671e04ed2ca88ece06ff5c6dc5e09fda1f1d7d0c510ece8f8777c090a39f0a1cf89e7783797219f343efb19aa0b75a7dcf3d8f7bc48589109ba0a18b14d122"
diff --git a/config/submodule/grub/xhci_nvme/nl.po/module.cfg b/config/submodule/grub/xhci_nvme/nl.po/module.cfg
new file mode 100644
index 00000000..2f67d971
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/nl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/nl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/nl.po"
+subhash="8ce36e055a9587967d853a15167888ffd218707978c7ee80e697ddae766889cef90b7c354ee31794c6354a46d1c3138724e0b26cd3db7e737fd0e65e034e7d61"
diff --git a/config/submodule/grub/xhci_nvme/pa.po/module.cfg b/config/submodule/grub/xhci_nvme/pa.po/module.cfg
new file mode 100644
index 00000000..a4b1aa62
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/pa.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pa.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pa.po"
+subhash="00f2ea030d9f275cf4828e01cf7a9a0912f48ffeaad6b1085783bfb5772437e9a354cd4337b79fc6c0fc7827ebeeaa38b1422e105c00d4c58ea685824d8b28ea"
diff --git a/config/submodule/grub/xhci_nvme/pl.po/module.cfg b/config/submodule/grub/xhci_nvme/pl.po/module.cfg
new file mode 100644
index 00000000..5a8d17d1
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/pl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pl.po"
+subhash="1de3545a3015986435c091b7ee3339c5bd9bddb3e8814b6cfb55acdb957829dc453e05812063b7438ae6aec0abc232065413be7456fb95ad0a5da8d36e7076ce"
diff --git a/config/submodule/grub/xhci_nvme/pt.po/module.cfg b/config/submodule/grub/xhci_nvme/pt.po/module.cfg
new file mode 100644
index 00000000..826f8752
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/pt.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pt.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pt.po"
+subhash="1bc2d024b1261b6f7a1fea00bc1ee45b29b860adfa98fcbb2022fbaf817ceefe12f961564bed01b129735fb838025e6d30e38020a9aeeb8aa5e14a2b22d07156"
diff --git a/config/submodule/grub/xhci_nvme/pt_BR.po/module.cfg b/config/submodule/grub/xhci_nvme/pt_BR.po/module.cfg
new file mode 100644
index 00000000..8e0dcaaf
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/pt_BR.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/pt_BR.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/pt_BR.po"
+subhash="009b11465e67f310d50f4dcc8a34a2e3ba19ba9c3bfcb382065f8deb1818b2a879c146c27e6f49085c73ed6f8c9924feaa9a068fec47f8138df822f685f896ca"
diff --git a/config/submodule/grub/xhci_nvme/ro.po/module.cfg b/config/submodule/grub/xhci_nvme/ro.po/module.cfg
new file mode 100644
index 00000000..e95467cd
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/ro.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ro.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ro.po"
+subhash="f4c5f621ea217b06b07f6db29da921358de49ed9ebb655b0b1331fd48b0a68795c7c666f0b97833ad5f6e3fdbd0918b4e8f00bcc890e5f3673121c0b676ffda4"
diff --git a/config/submodule/grub/xhci_nvme/ru.po/module.cfg b/config/submodule/grub/xhci_nvme/ru.po/module.cfg
new file mode 100644
index 00000000..4d864e71
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/ru.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/ru.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/ru.po"
+subhash="8883d7786863679e16214e9a3b2f4e607de9f7d958ae28756bab4cfd4f86356ef26c403d105aed9cf1d0ecd498059481ecf2b3d2df694a759510f4c442431494"
diff --git a/config/submodule/grub/xhci_nvme/sl.po/module.cfg b/config/submodule/grub/xhci_nvme/sl.po/module.cfg
new file mode 100644
index 00000000..bf2548aa
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/sl.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sl.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sl.po"
+subhash="3047e48665c0528eefdb201cff12c2ef5c937b10ee8cbca637ee6b5a9c8017604c7f849830ae0f5dcc4613efb490a41668f925d499e6083fa4587653327819cb"
diff --git a/config/submodule/grub/xhci_nvme/sr.po/module.cfg b/config/submodule/grub/xhci_nvme/sr.po/module.cfg
new file mode 100644
index 00000000..bf1352be
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/sr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sr.po"
+subhash="5e9a51dfb02fef0daa26c1df37e606952f2f922a6933e5ce0890eaabc039ec5e13de50a4fd927d9c9ab15385cca9b8b1f33b35bccde50384f45c75769a5f04ea"
diff --git a/config/submodule/grub/xhci_nvme/sv.po/module.cfg b/config/submodule/grub/xhci_nvme/sv.po/module.cfg
new file mode 100644
index 00000000..ed2f74bd
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/sv.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/sv.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/sv.po"
+subhash="80b249091e2cfb369da1a4365fe76f7643ed6b34e46b4ee73359721ece6d87ef0c1f099a46f74b4c85416bea431c7dc36bf36ab16dce36e2d6c0c1b890b431dc"
diff --git a/config/submodule/grub/xhci_nvme/tr.po/module.cfg b/config/submodule/grub/xhci_nvme/tr.po/module.cfg
new file mode 100644
index 00000000..83410286
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/tr.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/tr.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/tr.po"
+subhash="a83ebdd25d5438ff6489d88a8cb0657e606c2fc2c1efbc7dd34193fda4e0d92e10f9a29185c12e665af151b995c12b8bce755418d9e6c9978dddc23ca4a10d2b"
diff --git a/config/submodule/grub/xhci_nvme/uk.po/module.cfg b/config/submodule/grub/xhci_nvme/uk.po/module.cfg
new file mode 100644
index 00000000..678efae7
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/uk.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/uk.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/uk.po"
+subhash="0545c90c2bc5df9ee813806cff9a5193d8fbef00aab80f85cef14f967c8d9fd650de3a0bd1063abb8fcc65b5c68e59a02832fda6827e7120fdf0a28fe58a3474"
diff --git a/config/submodule/grub/xhci_nvme/vi.po/module.cfg b/config/submodule/grub/xhci_nvme/vi.po/module.cfg
new file mode 100644
index 00000000..61a7a058
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/vi.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/vi.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/vi.po"
+subhash="995754563bb472b93dfb5dd13b27b2540cebcf819be5ff2718553444b5fe06ad50a2fa8a0fdfcb06ab1bce9c2b870c950257c28b29e90413f1bfb42ad2643e72"
diff --git a/config/submodule/grub/xhci_nvme/zh_CN.po/module.cfg b/config/submodule/grub/xhci_nvme/zh_CN.po/module.cfg
new file mode 100644
index 00000000..0ba80be9
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/zh_CN.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/zh_CN.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/zh_CN.po"
+subhash="8c77c78ae8e5c26107eec83a0a22465c6fc8399eb2e4f9a18f7c056f32a3e5392a313afd6520f72cc044efe6360fe0390f0a2f2edc825344d497e55ab83bfbb4"
diff --git a/config/submodule/grub/xhci_nvme/zh_TW.po/module.cfg b/config/submodule/grub/xhci_nvme/zh_TW.po/module.cfg
new file mode 100644
index 00000000..4907e2f9
--- /dev/null
+++ b/config/submodule/grub/xhci_nvme/zh_TW.po/module.cfg
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+subcurl="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub/zh_TW.po"
+subcurl_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub/zh_TW.po"
+subhash="ef25bc8a0d558868a3135f6fe1816cad9fa0510b8adb48e04938053b3a0e95cc2061611601b0d23ec03e8e7c837cf5e9712eed108ee35aef98991591878f4577"
diff --git a/config/u-boot/amd64coreboot/config/default b/config/u-boot/amd64coreboot/config/default
index d44de2d3..7c2a45f0 100644
--- a/config/u-boot/amd64coreboot/config/default
+++ b/config/u-boot/amd64coreboot/config/default
@@ -4,7 +4,7 @@
#
#
-# Compiler: gcc (Debian 12.2.0-14) 12.2.0
+# Compiler: gcc (Debian 14.2.0-19) 14.2.0
#
CONFIG_CREATE_ARCH_SYMLINK=y
CONFIG_SUPPORT_LITTLE_ENDIAN=y
@@ -141,7 +141,7 @@ CONFIG_SYS_LITTLE_ENDIAN=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=120200
+CONFIG_GCC_VERSION=140200
CONFIG_CLANG_VERSION=0
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
diff --git a/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch
index 8a09fa7d..ec033187 100644
--- a/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch
+++ b/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch
@@ -18,7 +18,7 @@ index 84831915a2..8e26ec2aef 100644
ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100);
ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE,
- "U-Boot - Boot Menu", NULL);
-+ "Libreboot 25.06 Luminous Lemon (U-Boot menu): https://libreboot.org/", NULL);
++ "Libreboot 26.01 Magnanimous Max (U-Boot menu): https://libreboot.org/", NULL);
ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT);
logo = video_get_u_boot_logo();
diff --git a/config/u-boot/i386coreboot/config/default b/config/u-boot/i386coreboot/config/default
index ba4fd18b..32e41bba 100644
--- a/config/u-boot/i386coreboot/config/default
+++ b/config/u-boot/i386coreboot/config/default
@@ -4,7 +4,7 @@
#
#
-# Compiler: gcc (Debian 12.2.0-14) 12.2.0
+# Compiler: gcc (Debian 14.2.0-19) 14.2.0
#
CONFIG_CREATE_ARCH_SYMLINK=y
CONFIG_SUPPORT_LITTLE_ENDIAN=y
@@ -118,7 +118,7 @@ CONFIG_SYS_LITTLE_ENDIAN=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=120200
+CONFIG_GCC_VERSION=140200
CONFIG_CLANG_VERSION=0
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
diff --git a/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
index 8a09fa7d..ec033187 100644
--- a/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
+++ b/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
@@ -18,7 +18,7 @@ index 84831915a2..8e26ec2aef 100644
ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100);
ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE,
- "U-Boot - Boot Menu", NULL);
-+ "Libreboot 25.06 Luminous Lemon (U-Boot menu): https://libreboot.org/", NULL);
++ "Libreboot 26.01 Magnanimous Max (U-Boot menu): https://libreboot.org/", NULL);
ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT);
logo = video_get_u_boot_logo();
diff --git a/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
index 8a09fa7d..ec033187 100644
--- a/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
+++ b/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch
@@ -18,7 +18,7 @@ index 84831915a2..8e26ec2aef 100644
ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100);
ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE,
- "U-Boot - Boot Menu", NULL);
-+ "Libreboot 25.06 Luminous Lemon (U-Boot menu): https://libreboot.org/", NULL);
++ "Libreboot 26.01 Magnanimous Max (U-Boot menu): https://libreboot.org/", NULL);
ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT);
logo = video_get_u_boot_logo();
diff --git a/config/vendor/e7240/pkg.cfg b/config/vendor/e7240/pkg.cfg
new file mode 100644
index 00000000..753f834d
--- /dev/null
+++ b/config/vendor/e7240/pkg.cfg
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+DL_hash="d697d66cc895e51dd4639e5a17bfb3795e0b9c46940db12ac4cab6470a1536adb38b93f83e52c0c43418e7ce0d8763a12c7bea0a7157396a7cae6c4099287bb1"
+ME_bin_hash="fc8a66e94f0842652a566f8ededb903cdcf0b9188af20351818d960e310339f343e661ee9bc10d7ace437dbbd99a3bd052844c50364674849e86a9d3b9742606"
+DL_url="https://dl.dell.com/FOLDER05674269M/1/E7240A29.exe"
+DL_url_bkup="https://web.archive.org/web/20260121011236/https://dl.dell.com/FOLDER05674269M/1/E7240A29.exe"
diff --git a/config/vendor/supermicro_x11_lga1151_series/pkg.cfg b/config/vendor/supermicro_x11_lga1151_series/pkg.cfg
new file mode 100644
index 00000000..9a08f4e0
--- /dev/null
+++ b/config/vendor/supermicro_x11_lga1151_series/pkg.cfg
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+DL_hash="42f52d61af5e958c4395208acb5b57c85071cf7c333c2a24083b9697fcf904cd053e176b4ac2c5868739a34aa228d48051f1f55930a79fd9adaa6f349d5427c1"
+DL_url="https://www.supermicro.com/Bios/softfiles/28700/X11SSH-(LN4)F_3.6_AS1.78_SUM2.14.0.zip"
+# TODO: Find a backup URL. It's not on web.archive.org because robots.txt disallows crawling /Bios/*.
+DL_url_bkup="https://www.supermicro.com/Bios/softfiles/28700/X11SSH-(LN4)F_3.6_AS1.78_SUM2.14.0.zip"
+ME_bin_hash="0bab3e9e53ccba7dd0f345e66dd04dc7d4a47acab5945ffbc9e32cb73765b5ad5a12b42bb7ec145c08bcf1ed76b4d57bf2752988190da62067e578359adfc1d8"
+
+# for Fsp.fd, we don't rely on a download. Instead,
+# we copy from coreboot.git. The file is defined
+# by CONFIG_FSP_FD_PATH, split to CONFIG_FSP_M_FILE and CONFIG_FSP_S_FILE
+# and inserted to CBFS with names CONFIG_FSP_S_CBFS and CONFIG_FSP_M_CBFS
+#
+FSPFD_hash="c500166a8553a80ba8db8b8185a896e0ae1562ea3c139e07acd9e7937baf8110ba743cc79b69db09a5f39c076d1d22bc45045223975f46aea2034ba82a6b0360"
+FSPM_bin_hash="b15712a53f4d16f36b384beb6dbb716c0b0924751d6ca1e229cd4b8c03aef9eda025c235af247e53dac94d94b79559623974d0d21c7f97e125d8ecc2c86bf03f"
+FSPS_bin_hash="64ac9f93e43efddc35931e168d6594c2b39fb5a0da863d22f2d000d7eacc0692b07ce89389cbb1c5b95ff9b2bba508c538e37d0e644fcab7b2cada773da65ce6"
+
+# No bootguard, no deguard required
+ME11bootguard="n"