diff options
| -rw-r--r-- | config/data/coreboot/build.list | 1 | ||||
| -rw-r--r-- | config/data/coreboot/mkhelper.cfg | 1 | ||||
| -rw-r--r-- | config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch | 47 | ||||
| -rw-r--r-- | config/module/coreboot/dell5050sff_vfsp_16mb/target.cfg | 3 | ||||
| -rw-r--r-- | config/module/coreboot/edk2_mrchromebox/config/libgfxinit_corebootfb | 600 | ||||
| -rw-r--r-- | config/module/coreboot/edk2_mrchromebox/target.cfg | 7 | ||||
| -rw-r--r-- | include/fw/rom.sh | 42 |
7 files changed, 695 insertions, 6 deletions
diff --git a/config/data/coreboot/build.list b/config/data/coreboot/build.list index f6535149..55c2ee44 100644 --- a/config/data/coreboot/build.list +++ b/config/data/coreboot/build.list @@ -1 +1,2 @@ build/coreboot.rom +payloads/external/edk2/workspace/Build/UefiPayloadPkgX64/RELEASE_GCC/FV/UEFIPAYLOAD.fd diff --git a/config/data/coreboot/mkhelper.cfg b/config/data/coreboot/mkhelper.cfg index 3c8b18d9..a81db2bf 100644 --- a/config/data/coreboot/mkhelper.cfg +++ b/config/data/coreboot/mkhelper.cfg @@ -25,6 +25,7 @@ displaymode="" tmprom="" newrom="" payload_uboot="" +payload_edk2="" cbfscfg="" premake="corebootpremake" diff --git a/config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch b/config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch new file mode 100644 index 00000000..31ef8761 --- /dev/null +++ b/config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch @@ -0,0 +1,47 @@ +From fb17486cd4edf6515d93b294546dd1ef4b9c1a3b Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Tue, 22 Sep 2026 08:01:01 +0100 +Subject: [PATCH 1/1] don't delete edk2 builds + +lbmk build.list needs to be able to copy this + +we rely on the coreboot build system to build +edk2, by providing a fake coreboot config. + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + payloads/external/edk2/Makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/payloads/external/edk2/Makefile b/payloads/external/edk2/Makefile +index 75b7f7983d..d6f3d98001 100644 +--- a/payloads/external/edk2/Makefile ++++ b/payloads/external/edk2/Makefile +@@ -413,19 +413,19 @@ $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit: \ + + UefiPayloadPkg: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd + mkdir -p $(dir $(EDK2_UEFIPAYLOAD_OUT)) +- mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd \ ++ cp $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd \ + $(EDK2_UEFIPAYLOAD_OUT) + + UniversalPayload: $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit + mkdir -p $(dir $(EDK2_UNIVERSAL_PAYLOAD_OUT)) +- mv $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit \ ++ cp $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit \ + $(EDK2_UNIVERSAL_PAYLOAD_OUT) + + clean: +- test -d $(WORKSPACE) && (cd $(WORKSPACE); rm -rf Build; rm -f Conf/tools_def.txt Conf/CapsuleFmpPkcs7Pcd.inc) || exit 0 ++ test -d $(WORKSPACE) && (cd $(WORKSPACE); rm -f Conf/tools_def.txt Conf/CapsuleFmpPkcs7Pcd.inc) || exit 0 + +-distclean: +- rm -rf $(WORKSPACE) ++distclean: clean ++ : + + .PHONY: $(EDK2_PATH) checktools logo UefiPayloadPkg UniversalPayload clean distclean + +-- +2.47.3 + diff --git a/config/module/coreboot/dell5050sff_vfsp_16mb/target.cfg b/config/module/coreboot/dell5050sff_vfsp_16mb/target.cfg index 7d3b46e2..3fd463f0 100644 --- a/config/module/coreboot/dell5050sff_vfsp_16mb/target.cfg +++ b/config/module/coreboot/dell5050sff_vfsp_16mb/target.cfg @@ -8,6 +8,7 @@ payload_memtest="y" grub_scan_disk="nvme ahci" grubtree="xhci_nvme" vcfg="5050sff" -build_depend="seabios/build grub/xhci_nvme memtest86plus/default u-boot/amd64coreboot" +build_depend="seabios/build grub/xhci_nvme memtest86plus/default u-boot/amd64coreboot coreboot/edk2_mrchromebox" IFD_platform="sklkbl" payload_uboot="amd64" +payload_edk2="edk2_mrchromebox" diff --git a/config/module/coreboot/edk2_mrchromebox/config/libgfxinit_corebootfb b/config/module/coreboot/edk2_mrchromebox/config/libgfxinit_corebootfb new file mode 100644 index 00000000..dc125eec --- /dev/null +++ b/config/module/coreboot/edk2_mrchromebox/config/libgfxinit_corebootfb @@ -0,0 +1,600 @@ +# +# 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 is not set +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 +# CONFIG_TIMESTAMPS_ON_CONSOLE is not set +CONFIG_USE_BLOBS=y +# CONFIG_USE_AMD_BLOBS is not set +# CONFIG_USE_QC_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_UBSAN is not set +CONFIG_HAVE_ASAN_IN_ROMSTAGE=y +CONFIG_HAVE_ASAN_IN_RAMSTAGE=y +# CONFIG_ASAN is not set +CONFIG_NO_STAGE_CACHE=y +# CONFIG_CBMEM_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=y +# 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_NVIDIA is not set +# CONFIG_VENDOR_OCP is not set +# CONFIG_VENDOR_OPENCELLULAR is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PINE64 is not set +# CONFIG_VENDOR_PORTWELL is not set +# CONFIG_VENDOR_PRODRIVE is not set +# CONFIG_VENDOR_PROTECTLI is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_QOTOM is not set +# CONFIG_VENDOR_RAPTOR_CS is not set +# CONFIG_VENDOR_RAZER is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SAPPHIRE is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SIFIVE is not set +# CONFIG_VENDOR_STARLABS is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_SYSTEM76 is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TOPTON is not set +# CONFIG_VENDOR_UP is not set +# CONFIG_VENDOR_VIA is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_PART_NUMBER="edk2 crash test dummy" +CONFIG_MAINBOARD_VERSION="01189998819991197253" +CONFIG_MAINBOARD_DIR="emulation/qemu-i440fx" +CONFIG_DIMM_MAX=4 +CONFIG_DIMM_SPD_SIZE=256 +CONFIG_FMDFILE="" +# CONFIG_NO_POST is not set +CONFIG_MAINBOARD_VENDOR="edk2 crash test dummy corporation" +CONFIG_CBFS_SIZE=0xFFFFFF +CONFIG_CONSOLE_SERIAL=y +CONFIG_MAX_CPUS=4 +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +CONFIG_POST_DEVICE=y +CONFIG_POST_IO=y +CONFIG_UART_FOR_CONSOLE=0 +CONFIG_OVERRIDE_DEVICETREE="" +CONFIG_DEVICETREE="devicetree.cb" +# CONFIG_VBOOT is not set +CONFIG_VBOOT_VBNV_OFFSET=0x2c +CONFIG_IRQ_SLOT_COUNT=6 +# CONFIG_VGA_BIOS is not set +CONFIG_PCIEXP_ASPM=y +CONFIG_PCIEXP_CLK_PM=y +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="EDK2 CRASH TEST DUMMY CORPORATION" +CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld" +# CONFIG_FATAL_ASSERTS is not set +CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00 +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="EDK2 CRASH TEST DUMMY" +# 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_BOARD_EMULATION_QEMU_AARCH64 is not set +# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set +CONFIG_BOARD_EMULATION_QEMU_X86_I440FX=y +# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set +# CONFIG_BOARD_EMULATION_QEMU_POWER9 is not set +# CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set +# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV64 is not set +# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV32 is not set +# CONFIG_BOARD_EMULATION_QEMU_SBSA is not set +# CONFIG_BOARD_EMULATION_SPIKE_RISCV is not set +CONFIG_DCACHE_RAM_BASE=0x10000 +CONFIG_DCACHE_RAM_SIZE=0x90000 +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_DCACHE_BSP_STACK_SIZE=0x4000 +CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 +CONFIG_DRIVERS_INTEL_WIFI=y +CONFIG_D3COLD_SUPPORT=y +CONFIG_RAMSTAGE_CBFS_CACHE_SIZE=0x4000 +CONFIG_MAINBOARD_SERIAL_NUMBER="01189998819991197253" +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +CONFIG_SYSTEM_SMBIOS_MANUFACTURER="EDK2 CRASH TEST CORPORATION" +CONFIG_EDK2_BOOT_TIMEOUT=2 +CONFIG_PLATFORM_POST_RENDER_DELAY_SEC=5 +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +CONFIG_PS2K_EISAID="PNP0303" +CONFIG_PS2M_EISAID="PNP0F13" +CONFIG_EDK2_BOOT_MANAGER_ESCAPE=y +CONFIG_EDK2_FOLLOW_BGRT_SPEC=y +# CONFIG_EDK2_FULL_SCREEN_SETUP is not set +CONFIG_TTYS0_BAUD=115200 +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72 +CONFIG_HEAP_SIZE=0x100000 +CONFIG_EDK2_BOOTSPLASH_FILE="Documentation/coreboot_logo.bmp" +CONFIG_USE_PC_CMOS_ALTCENTURY=y +# 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 +# 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 +# end of Mainboard + +# +# Chipset +# + +# +# SoC +# +CONFIG_CHIPSET_DEVICETREE="" +CONFIG_CBFS_MCACHE_SIZE=0x4000 +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +# CONFIG_USE_X86_64_SUPPORT is not set +CONFIG_CPU_PT_ROM_MAP_GB=4 +CONFIG_PRERAM_CBFS_CACHE_SIZE=0x4000 +CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xfe000000 +CONFIG_ACPI_CPU_STRING="CP%02X" +CONFIG_STACK_SIZE=0x2000 +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_BOOTBLOCK_IN_CBFS=y +CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH=0 +CONFIG_CBFS_CACHE_ALIGN=8 +# CONFIG_ALWAYS_ALLOW_ABOVE_4G_ALLOCATION is not set +CONFIG_FIXED_SMBUS_IO_BASE=0x400 +CONFIG_UART_BITBANG_TX_DELAY_MS=5 + +# +# CPU +# +CONFIG_CPU_QEMU_X86=y +CONFIG_PARALLEL_MP=y +CONFIG_XAPIC_ONLY=y +# CONFIG_X2APIC_ONLY is not set +# CONFIG_X2APIC_RUNTIME is not set +# CONFIG_X2APIC_LATE_WORKAROUND is not set +CONFIG_UDELAY_TSC=y +CONFIG_UNKNOWN_TSC_RATE=y +CONFIG_TSC_MONOTONIC_TIMER=y +CONFIG_NO_SMM=y +CONFIG_NEED_SMALL_2MB_PAGE_TABLES=y +CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8 +CONFIG_AP_STACK_SIZE=0x800 +CONFIG_SMP=y + +# +# Northbridge +# + +# +# Southbridge +# +# CONFIG_PCIEXP_HOTPLUG is not set +CONFIG_SOUTHBRIDGE_INTEL_I82371EB=y +CONFIG_PCIEXP_COMMON_CLOCK=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y +CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000 +CONFIG_RCBA_LENGTH=0x4000 + +# +# Super I/O +# + +# +# Embedded Controllers +# +CONFIG_ACPI_FNKEY_GEN_SCANCODE=0 +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_POSTCAR_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +CONFIG_ARCH_ALL_STAGES_X86_32=y +CONFIG_HAVE_X86_64_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_IDT_IN_EVERY_STAGE=y +CONFIG_HAVE_CF9_RESET=y +CONFIG_DEBUG_HW_BREAKPOINTS=y +CONFIG_DEBUG_HW_BREAKPOINTS_IN_ALL_STAGES=y +CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y +CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS_IN_ALL_STAGES=y +# CONFIG_DUMP_SMBIOS_TYPE17 is not set +CONFIG_X86_BOOTBLOCK_EXTRA_PROGRAM_SZ=0 +CONFIG_DEFAULT_EBDA_LOWMEM=0x100000 +CONFIG_DEFAULT_EBDA_SEGMENT=0xF600 +CONFIG_DEFAULT_EBDA_SIZE=0x400 +CONFIG_IOAPIC=y +# end of Chipset + +# +# Devices +# +CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y +CONFIG_HAVE_LINEAR_FRAMEBUFFER=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT=y +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_NO_EARLY_GFX_INIT=y +CONFIG_ON_DEVICE_ROM_LOAD=y + +# +# Display +# +CONFIG_WANT_LINEAR_FRAMEBUFFER=y +# 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_NO_ECAM_MMCONF_SUPPORT=y +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_PCI_ALLOW_BUS_MASTER=y +CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y +CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y +# 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_SOFTWARE_I2C is not set +CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 +CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y +# end of Devices + +# +# Generic Drivers +# +CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000 +# CONFIG_DRIVERS_EFI_VARIABLE_STORE is not set +# CONFIG_ELOG is not set +# CONFIG_DRIVERS_HWID_DMI is not set +# CONFIG_DRIVERS_OPTION_CFR is not set +# CONFIG_SELF_TEST is not set +CONFIG_DRIVERS_UART=y +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_VPD is not set +CONFIG_DRIVERS_EMULATION_QEMU_BOCHS=y +CONFIG_DRIVERS_EMULATION_QEMU_CIRRUS=y +CONFIG_DRIVERS_EMULATION_QEMU_XRES=800 +CONFIG_DRIVERS_EMULATION_QEMU_YRES=600 +CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG=y +# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set +# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set +# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set +# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set +# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set +# CONFIG_DRIVERS_I2C_MAX98396 is not set +# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_MC146818=y +CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70 +CONFIG_VGA=y +# CONFIG_DRIVERS_SIL_3114 is not set +CONFIG_DRIVERS_WIFI_GENERIC=y +CONFIG_DRIVERS_MTK_WIFI=y +# end of Generic Drivers + +# +# Security +# + +# +# CBFS verification +# +# CONFIG_CBFS_VERIFICATION is not set +# end of CBFS verification + +# +# Verified Boot (vboot) +# +# end of Verified Boot (vboot) + +# +# Trusted Platform Module +# +CONFIG_NO_TPM=y +CONFIG_PCR_BOOT_MODE=1 +CONFIG_PCR_HWID=1 +CONFIG_PCR_SRTM=2 +CONFIG_PCR_FW_VER=10 +CONFIG_PCR_RUNTIME_DATA=3 +# end of Trusted Platform Module + +# +# TCG storage +# +# end of TCG storage + +# +# Memory initialization +# +CONFIG_PLATFORM_HAS_DRAM_CLEAR=y +# CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT is not set +# end of Memory initialization + +CONFIG_BOOTMEDIA_LOCK_NONE=y +# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set +# CONFIG_BOOTMEDIA_LOCK_CHIP is not set +# end of Security + +CONFIG_ACPI_HAVE_PCAT_8259=y +CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y +CONFIG_ACPI_NO_CUSTOM_MADT=y +CONFIG_ACPI_COMMON_MADT_LAPIC=y +CONFIG_ACPI_COMMON_MADT_IOAPIC=y +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_BOOT_DEVICE_NOT_SPI_FLASH=y +CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y +CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=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_I2C_SMBUS is not set +CONFIG_CONSOLE_QEMU_DEBUGCON=y +CONFIG_CONSOLE_QEMU_DEBUGCON_PORT=0x402 +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7 +CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y +CONFIG_CONSOLE_USE_ANSI_ESCAPES=y +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +CONFIG_HWBASE_DEBUG_CB=y +# end of Console + +CONFIG_HAVE_MONOTONIC_TIMER=y +CONFIG_HAVE_OPTION_TABLE=y +CONFIG_HAVE_PIRQ_TABLE=y + +# +# System tables +# +CONFIG_GENERATE_PIRQ_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_BIOS_VENDOR="leahboot" +# end of System tables + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +# CONFIG_PAYLOAD_ELF is not set +# CONFIG_PAYLOAD_FLAT_BINARY is not set +# CONFIG_PAYLOAD_BOOTBOOT is not set +# CONFIG_PAYLOAD_CRABEFI is not set +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEAGRUB is not set +# CONFIG_PAYLOAD_LINUXBOOT is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +CONFIG_PAYLOAD_EDK2=y +# CONFIG_PAYLOAD_LINUX is not set +CONFIG_PAYLOAD_FILE="build/UEFIPAYLOAD.fd" +CONFIG_EDK2_UEFIPAYLOAD=y +# CONFIG_EDK2_UNIVERSAL_PAYLOAD is not set +CONFIG_EDK2_REPO_MRCHROMEBOX=y +# CONFIG_EDK2_REPO_OFFICIAL is not set +# CONFIG_EDK2_REPO_CUSTOM is not set +CONFIG_EDK2_REPOSITORY="https://github.com/mrchromebox/edk2" +CONFIG_EDK2_TAG_OR_REV="26.09" +# CONFIG_EDK2_USE_EDK2_PLATFORMS is not set +# CONFIG_EDK2_DEBUG is not set +CONFIG_EDK2_RELEASE=y +# CONFIG_EDK2_CBMEM_LOGGING is not set +CONFIG_EDK2_HAVE_EFI_SHELL=y +CONFIG_EDK2_PRIORITIZE_INTERNAL=y +# CONFIG_EDK2_LOAD_OPTION_ROMS is not set +CONFIG_EDK2_PS2_SUPPORT=y +CONFIG_EDK2_SD_MMC_TIMEOUT=10 +# CONFIG_EDK2_SERIAL_SUPPORT is not set +CONFIG_EDK2_USE_LVGL_RENDERER=y +# CONFIG_EDK2_DISABLE_TPM is not set +# CONFIG_EDK2_USE_LAPIC_TIMER is not set +CONFIG_EDK2_CUSTOM_BUILD_PARAMS="" +# CONFIG_EDK2_ENABLE_IPXE is not set +# CONFIG_PXE is not set +# CONFIG_COMPRESSED_PAYLOAD_NONE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_COMPRESSED_PAYLOAD_ZSTD is not set +# CONFIG_COMPRESSED_PAYLOAD_LZ4 is not set +CONFIG_COMPRESS_SECONDARY_PAYLOAD=y + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_GRUB2_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_SEABIOS_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set +# CONFIG_COREDOOM_SECONDARY_PAYLOAD is not set +# end of Secondary Payloads +# end of Payload + +# +# Debugging +# + +# +# CPU Debug Settings +# +# CONFIG_DISPLAY_MTRRS is not set + +# +# Vendorcode Debug Settings +# + +# +# BLOB Debug Settings +# + +# +# General Debug Settings +# +# CONFIG_GDB_STUB is not set +# CONFIG_DEBUG_CBFS is not set +# CONFIG_DEBUG_PIRQ 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_BOOT_STATE is not set +# CONFIG_DEBUG_ADA_CODE is not set +# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set +# end of Debugging + +CONFIG_DECOMPRESS_OFAST=y +CONFIG_PROBE_RAM=y + +# +# Boot Logo Configuration +# +# CONFIG_BMP_LOGO is not set +# CONFIG_PLATFORM_HAS_SECONDARY_BOOT_INDICATOR_LOGO is not set +# CONFIG_FRAMEBUFFER_SPLASH_TEXT is not set +# end of Boot Logo Configuration + +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_RELOCATABLE_MODULES=y +CONFIG_HAVE_BOOTBLOCK=y +CONFIG_HAVE_ROMSTAGE=y +CONFIG_HAVE_RAMSTAGE=y diff --git a/config/module/coreboot/edk2_mrchromebox/target.cfg b/config/module/coreboot/edk2_mrchromebox/target.cfg new file mode 100644 index 00000000..44324ba3 --- /dev/null +++ b/config/module/coreboot/edk2_mrchromebox/target.cfg @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +xarch="i386-elf" + +tree="default" + +release="n" diff --git a/include/fw/rom.sh b/include/fw/rom.sh index df37fdcf..5f98040a 100644 --- a/include/fw/rom.sh +++ b/include/fw/rom.sh @@ -122,6 +122,9 @@ mkcorebootbin_real() { [ "$target" = "$tree" ] && return 0 + [ "$XBMK_RELEASE" = "y" ] \ + payload_edk2="" # source-only payload, for now. + tmprom="$xbtmp/coreboot.rom" initmode="${buildcfg##*/}" @@ -142,9 +145,6 @@ mkcorebootbin_real() elfrom="${elfrom}_$displaymode" elfrom="$elfrom/coreboot.rom" - $if_not_skip_build x_ cp "$elfrom" "$tmprom" - $if_not_skip_build unpad_one_byte "$tmprom" - [ -n "$payload_uboot" ] && [ "$payload_uboot" != "amd64" ] && \ [ "$payload_uboot" != "i386" ] && [ "$payload_uboot" != "arm64" ] \ && err "'$target' defines bad u-boot type '$payload_uboot'" \ @@ -177,10 +177,22 @@ mkcorebootbin_real() [ "$payload_grub" != "y" ] && \ payload_grubsea="n" - [ -f "$cbfscfg" ] && \ - $if_not_skip_build dx_ add_cbfs_option "$cbfscfg" + if [ "$initmode" != "libgfxinit" ] || \ + [ "$displaymode" != "corebootfb" ]; then + [ "$initmode" != "fspgop" ] && [ "$initmode" != "normal" ] && \ + payload_edk2="" # disable on txtmode + fi + + $if_not_skip_build prep_tmprom if grep "CONFIG_PAYLOAD_NONE=y" "$buildcfg"; then + if [ -n "$payload_edk2" ]; then + pname="edk2" + $if_not_skip_build add_edk2 "fallback/payload" + $if_not_skip_build cprom # standalone edk2 + + $if_not_skip_build prep_tmprom + fi if [ "$payload_seabios" = "y" ]; then pname="seabios" $if_not_skip_build add_seabios @@ -196,6 +208,15 @@ mkcorebootbin_real() fi; : } +prep_tmprom() +{ + x_ cp "$elfrom" "$tmprom" + unpad_one_byte "$tmprom" + + [ -f "$cbfscfg" ] && \ + dx_ add_cbfs_option "$cbfscfg"; : +} + # options for cbfs backend (as opposed to nvram/smmstore): add_cbfs_option() @@ -213,6 +234,14 @@ add_cbfs_option() x_ "$cbfstool" "$tmprom" add-int -i "$op_arg" -n "option/$op_name" } +add_edk2() +{ + edk2dir="elf/coreboot/default/$payload_edk2" + edk2="$edk2dir/libgfxinit_corebootfb/UEFIPAYLOAD.fd" + + cbfs "$tmprom" "$edk2" "$1" +} + # in our design, SeaBIOS is also responsible for starting either # a GRUB or U-Boot payload. this is because SeaBIOS is generally # a more reliable codebase, so it's less likely to cause a brick @@ -256,6 +285,9 @@ add_seabios() [ "$payload_grub" = "y" ] && \ add_grub + [ -n "$payload_edk2" ] && \ + add_edk2 "img/edk2" + [ "$payload_grubsea" != "y" ] && \ cprom # seabios, but don't load grub/u-boot first |
