payloads/tianocore: Rename TianoCore to edk2

coreboot uses TianoCore interchangeably with EDK II, and whilst the
meaning is generally clear, it's not the payload it uses. EDK II is
commonly written as edk2.

coreboot builds edk2 directly from the edk2 repository. Whilst it
can build some components from edk2-platforms, the target is still
edk2.

[1] tianocore.org - "Welcome to TianoCore, the community supporting"
[2] tianocore.org - "EDK II is a modern, feature-rich, cross-platform
firmware development environment for the UEFI and UEFI Platform
Initialization (PI) specifications."

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I4de125d92ae38ff8dfd0c4c06806c2d2921945ab
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65820
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Sean Rhodes 2022-07-13 10:11:44 +01:00 committed by Martin L Roth
parent 8f7f4bf87a
commit 38c99b5659
44 changed files with 173 additions and 176 deletions

View File

@ -278,7 +278,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
* ECC - [**Error Correction Code**](https://en.wikipedia.org/wiki/Error_correction_code) - Typically used to refer to a type of * ECC - [**Error Correction Code**](https://en.wikipedia.org/wiki/Error_correction_code) - Typically used to refer to a type of
memory that can detect and correct memory errors. memory that can detect and correct memory errors.
* EDID - [**Extended Display Identification Data**](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data) * EDID - [**Extended Display Identification Data**](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data)
* EDK2 - EFI Development Kit 2 * edk2 - EFI Development Kit 2
* EDO - Memory: [**Extended Data * EDO - Memory: [**Extended Data
Out**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory#Extended_data_out_DRAM) Out**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory#Extended_data_out_DRAM)
- A DRAM standard introduced in 1994 that improved upon, but was - A DRAM standard introduced in 1994 that improved upon, but was

View File

@ -87,7 +87,7 @@ across architectures.
## Port payloads to ARM, AArch64 or RISC-V ## Port payloads to ARM, AArch64 or RISC-V
While we have a rather big set of payloads for x86 based platforms, all other While we have a rather big set of payloads for x86 based platforms, all other
architectures are rather limited. Improve the situation by porting a payload architectures are rather limited. Improve the situation by porting a payload
to one of the platforms, for example GRUB2, U-Boot (the UI part), Tianocore, to one of the platforms, for example GRUB2, U-Boot (the UI part), edk2,
yabits, FILO, or Linux-as-Payload. yabits, FILO, or Linux-as-Payload.
Since this is a bit of a catch-all idea, an application to GSoC should pick a Since this is a bit of a catch-all idea, an application to GSoC should pick a

View File

@ -37,15 +37,15 @@ firmware binaries on [GitHub](https://pcengines.github.io).
[Star Labs](https://starlabs.systems/) offers a range of laptops designed and [Star Labs](https://starlabs.systems/) offers a range of laptops designed and
built specifically for Linux that are available with coreboot firmware. They built specifically for Linux that are available with coreboot firmware. They
use Tianocore as the payload and include an NVRAM option to disable the use edk2 as the payload and include an NVRAM option to disable the Intel
Intel Management Engine. Management Engine.
### System76 ### System76
[System76](https://system76.com/) manufactures Linux laptops, desktops, and [System76](https://system76.com/) manufactures Linux laptops, desktops, and
servers. Some models are sold with [System76 Open servers. Some models are sold with [System76 Open
Firmware](https://github.com/system76/firmware-open), an open source Firmware](https://github.com/system76/firmware-open), an open source
distribution of coreboot, EDK2, and System76 firmware applications. distribution of coreboot, edk2, and System76 firmware applications.
### Purism ### Purism
@ -76,7 +76,7 @@ trustworthiness for all.
[MrChromebox](https://mrchromebox.tech/) provides upstream coreboot firmware [MrChromebox](https://mrchromebox.tech/) provides upstream coreboot firmware
images for the vast majority of x86-based Chromebooks and Chromeboxes, using images for the vast majority of x86-based Chromebooks and Chromeboxes, using
Tianocore as the payload to provide a modern UEFI bootloader. Why replace edk2 as the payload to provide a modern UEFI bootloader. Why replace
coreboot with coreboot? Mr Chromebox's images are built using upstream coreboot with coreboot? Mr Chromebox's images are built using upstream
coreboot (vs Google's older, static tree/branch), include many features and coreboot (vs Google's older, static tree/branch), include many features and
fixes not found in the stock firmware, and offer much broader OS compatibility fixes not found in the stock firmware, and offer much broader OS compatibility

View File

@ -21,7 +21,7 @@ operations is desired, as it reduces complexity and potential for bugs.
This can be used by a FTW (FaultTolerantWrite) implementation that uses This can be used by a FTW (FaultTolerantWrite) implementation that uses
at least two regions in an A/B update scheme. The FTW implementation in at least two regions in an A/B update scheme. The FTW implementation in
EDK2 uses three different regions in the store: edk2 uses three different regions in the store:
- The variable store - The variable store
- The FTW spare block - The FTW spare block
@ -35,7 +35,7 @@ With 64 KiB as block size, the minimum size of the FTW-enabled store is:
- The FTW spare block: 2 blocks = 2 * 64 KiB - The FTW spare block: 2 blocks = 2 * 64 KiB
- The FTW working block: 1 block = 64 KiB - The FTW working block: 1 block = 64 KiB
Therefore, the minimum size for EDK2 FTW is 4 blocks, or 256 KiB. Therefore, the minimum size for edk2 FTW is 4 blocks, or 256 KiB.
## API ## API

View File

@ -26,7 +26,7 @@ initialization routines across many different use cases, no matter if
they provide standard interfaces or entirely custom boot flows. they provide standard interfaces or entirely custom boot flows.
Popular [payloads](payloads.md) in use with coreboot are SeaBIOS, Popular [payloads](payloads.md) in use with coreboot are SeaBIOS,
which provides PCBIOS services, Tianocore, which provides UEFI services, which provides PCBIOS services, edk2, which provides UEFI services,
GRUB2, the bootloader used by many Linux distributions, or depthcharge, GRUB2, the bootloader used by many Linux distributions, or depthcharge,
a custom boot loader used on Chromebooks. a custom boot loader used on Chromebooks.

View File

@ -37,7 +37,7 @@ easy to remove and reflash.
## Working ## Working
- PS/2 keyboard with SeaBIOS & Tianocore (in Mint 18.3/19.1) - PS/2 keyboard with SeaBIOS & edk2 (in Mint 18.3/19.1)
- Rear/front headphones connector audio & mic - Rear/front headphones connector audio & mic
@ -57,7 +57,7 @@ easy to remove and reflash.
port 3 port 5 port 1 port 8 port 3 port 5 port 1 port 8
port 4 port 6 port 2 port 7 port 4 port 6 port 2 port 7
- NVME SSD boot on PCIe-x16/x8/4x slot using Tianocore - NVME SSD boot on PCIe-x16/x8/4x slot using edk2
(tested with M.2-to-PCIe adapter and a M.2 Samsung EVO 970 SSD) (tested with M.2-to-PCIe adapter and a M.2 Samsung EVO 970 SSD)
- CPU Temp sensors (tested PSensor on linux + HWINFO64 on Win10) - CPU Temp sensors (tested PSensor on linux + HWINFO64 on Win10)
@ -89,7 +89,7 @@ easy to remove and reflash.
- If you use the MRC.bin, the NVRAM variable gfx_uma_size may be ignored - If you use the MRC.bin, the NVRAM variable gfx_uma_size may be ignored
as IGP's UMA could be reconfigured by the blob as IGP's UMA could be reconfigured by the blob
- Using TianoCore + a PCIe GPU under Windows crashes with an - Using edk2 + a PCIe GPU under Windows crashes with an
ACPI_BIOS_ERROR fatal code, not sure why. Using just the IGP ACPI_BIOS_ERROR fatal code, not sure why. Using just the IGP
works perfectly works perfectly
@ -105,9 +105,9 @@ easy to remove and reflash.
## Not working ## Not working
- PS/2 keyboard in Win10 using Tianocore (please see [Known issues]) - PS/2 keyboard in Win10 using edk2 (please see [Known issues])
- PS/2 mouse using Tianocore - PS/2 mouse using edk2
- PCIe graphics card on Windows and Tianocore (throws critical ACPI_BIOS_ERROR) - PCIe graphics card on Windows and edk2 (throws critical ACPI_BIOS_ERROR)
## Native raminit compatibility ## Native raminit compatibility

View File

@ -104,11 +104,11 @@ solution. Wires need to be connected to be able to flash using an external progr
- SMBus - SMBus
- Initialization with FSP - Initialization with FSP
- SeaBIOS payload (commit a5cab58e9a3fb6e168aba919c5669bea406573b4) - SeaBIOS payload (commit a5cab58e9a3fb6e168aba919c5669bea406573b4)
- TianoCore payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629) - edk2 payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629)
- LinuxBoot (kernel kernel-4_19_97) (uroot commit 9c9db9dbd6b532f5f91a511a0de885c6562aadd7) - LinuxBoot (kernel kernel-4_19_97) (uroot commit 9c9db9dbd6b532f5f91a511a0de885c6562aadd7)
- eMMC - eMMC
All of the above has been briefly tested by booting Linux from eMMC using the TianoCore payload All of the above has been briefly tested by booting Linux from eMMC using the edk2 payload
and LinuxBoot. and LinuxBoot.
SeaBios has been checked to the extend that it runs to the boot selection and provides display SeaBios has been checked to the extend that it runs to the boot selection and provides display

View File

@ -130,7 +130,7 @@ The board can be debugged with EHCI debug. The EHCI debug port is the USB port o
- Arch Linux with Linux 5.8.9 - Arch Linux with Linux 5.8.9
- Memory initialization with mrc.bin version 1.6.1 Build 2 - Memory initialization with mrc.bin version 1.6.1 Build 2
- Graphics initialization with libgfxinit - Graphics initialization with libgfxinit
- Payload: SeaBIOS, Tianocore - Payload: SeaBIOS, edk2
- EC firmware - EC firmware
- KBC Revision 92.15 from OEM firmware version 01.33 - KBC Revision 92.15 from OEM firmware version 01.33
- KBC Revision 92.17 from OEM firmware version 01.50 - KBC Revision 92.17 from OEM firmware version 01.50

View File

@ -45,7 +45,7 @@ make
``` ```
## Payloads ## Payloads
- SeaBIOS - SeaBIOS
- Tianocore - edk2
- Linux as payload - Linux as payload
## Flashing coreboot ## Flashing coreboot

View File

@ -92,7 +92,7 @@ located underneath the Wi-Fi module, below the left cooling fan.
* Internal display with libgfxinit, VGA option ROM, or FSP/GOP init * Internal display with libgfxinit, VGA option ROM, or FSP/GOP init
* External displays via HDMI, USB-C Alt-Mode * External displays via HDMI, USB-C Alt-Mode
* SeaBIOS (1.14), Tianocore (CorebootPayloadPkg), and Heads payloads * SeaBIOS (1.14), edk2 (CorebootPayloadPkg), and Heads payloads
* Ethernet, m.2 2230 Wi-Fi * Ethernet, m.2 2230 Wi-Fi
* System firmware updates via flashrom * System firmware updates via flashrom
* M.2 storage (NVMe, SATA III) * M.2 storage (NVMe, SATA III)

View File

@ -107,7 +107,7 @@ desoldering it from the mainboard.
* External displays via HDMI/DisplayPort with VGA option ROM or FSP/GOP init * External displays via HDMI/DisplayPort with VGA option ROM or FSP/GOP init
(no libgfxinit support yet) (no libgfxinit support yet)
* SeaBIOS (1.14), Tianocore (CorebootPayloadPkg), Heads (Purism downstream) payloads * SeaBIOS (1.14), edk2 (CorebootPayloadPkg), Heads (Purism downstream) payloads
* Ethernet, m.2 2230 Wi-Fi * Ethernet, m.2 2230 Wi-Fi
* System firmware updates via flashrom * System firmware updates via flashrom
* PCIe NVMe * PCIe NVMe

View File

@ -23,13 +23,11 @@ When chainloaded from GRUB2, the following menuentry could be used:
module /vgaroms/seavgabios.bin module /vgaroms/seavgabios.bin
} }
## Tianocore ## edk2
[Tianocore](https://www.tianocore.org) is the open source reference [edk2](https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II) is an open-source modern, feature-rich,
implementation of the UEFI Specifications that modern firmware for PCs is cross-platform firmware development environment for the UEFI and UEFI
based on. There were various projects in the past to make it suitable as a Platform Initialization (PI) specifications.
coreboot payload, but these days this function is available directly in the
UefiPayloadPkg part of its source tree.
## GRUB2 ## GRUB2

View File

@ -52,9 +52,9 @@ Deprecations and incompatible changes
Drop the deprecated COREBOOTPAYLOAD option, and replace it with MrChromebox's Drop the deprecated COREBOOTPAYLOAD option, and replace it with MrChromebox's
updated UefiPayloadPkg option. Simplify the Kconfig options to make it easier updated UefiPayloadPkg option. Simplify the Kconfig options to make it easier
to build from upstream edk2 master. Drop the TIANOCORE_USE_8254_TIMER Kconfig to build from upstream edk2 master. Drop the EDK2_USE_8254_TIMER Kconfig
option since it applies only to CorebootPayloadPkg. Clean up the Makefile now option since it applies only to CorebootPayloadPkg. Clean up the Makefile now
that we're only building from a single Tianocore package/target. that we're only building from a single edk2 package/target.
### Remove old lp4x and ddr4 versions of spd_tools ### Remove old lp4x and ddr4 versions of spd_tools

View File

@ -55,15 +55,15 @@ is here: https://github.com/siro20/coreboot/tree/cbui/payloads/cbui
### UEFI support: A long road to go ### UEFI support: A long road to go
coreboot can be used with the Tianocore EDK2 UEFI implementation which coreboot can be used with the edk2 UEFI implementation which
is open source and available at Github. Sadly it is not currently is open source and available at Github. Sadly it is not currently
integrated into the coreboot build. This has several reasons: integrated into the coreboot build. This has several reasons:
* EDK2 only supports GCC 4.8 profile. coreboot is now running on GCC 6.3.0. * edk2 only supports GCC 4.8 profile. coreboot is now running on GCC 6.3.0.
* Incompatibilities with code inside the EDK2 which has not been updated. * Incompatibilities with code inside the edk2 which has not been updated.
We started to make progress with the integration into our sources and We started to make progress with the integration into our sources and
the hope is that by the end of the summer, we finally support the EDK2 the hope is that by the end of the summer, we finally support the edk2
payload out-of-the- box. See the current patch state at payload out-of-the- box. See the current patch state at
http://review.coreboot.org/#/c/15057/ http://review.coreboot.org/#/c/15057/

View File

@ -84,7 +84,7 @@ General changes
* Integrate me_cleaner * Integrate me_cleaner
* Add flashconsole implementation * Add flashconsole implementation
* Build Tianocore UEFI payload from upstream source * Build edk2 UEFI payload from upstream source
* Remove CMOS NVRAM configurable baud rates * Remove CMOS NVRAM configurable baud rates
* A common mrc_cache driver to store romstage settings in SPI flash * A common mrc_cache driver to store romstage settings in SPI flash

View File

@ -71,7 +71,7 @@ detection
Payloads Payloads
-------- --------
* Bumped SeaBIOS to 1.11.1 * Bumped SeaBIOS to 1.11.1
* Improved TianoCore integration * Improved edk2 integration
Security Security
-------- --------

View File

@ -1,7 +1,7 @@
CONFIG_VENDOR_MSI=y CONFIG_VENDOR_MSI=y
CONFIG_CBFS_SIZE=0x1000000 CONFIG_CBFS_SIZE=0x1000000
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_TIANOCORE_BOOT_TIMEOUT=3 CONFIG_EDK2_BOOT_TIMEOUT=3
CONFIG_BOARD_MSI_Z690_A_PRO_WIFI_DDR4=y CONFIG_BOARD_MSI_Z690_A_PRO_WIFI_DDR4=y
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
CONFIG_PCIEXP_HOTPLUG=y CONFIG_PCIEXP_HOTPLUG=y
@ -9,11 +9,11 @@ CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_POST_DEVICE_PCI_PCIE=y CONFIG_POST_DEVICE_PCI_PCIE=y
CONFIG_POST_IO_PORT=0x80 CONFIG_POST_IO_PORT=0x80
CONFIG_PAYLOAD_TIANOCORE=y CONFIG_PAYLOAD_EDK2=y
CONFIG_TIANOCORE_REPOSITORY="https://github.com/Dasharo/edk2.git" CONFIG_EDK2_REPOSITORY="https://github.com/Dasharo/edk2.git"
CONFIG_TIANOCORE_TAG_OR_REV="origin/dasharo" CONFIG_EDK2_TAG_OR_REV="origin/dasharo"
CONFIG_TIANOCORE_CBMEM_LOGGING=y CONFIG_EDK2_CBMEM_LOGGING=y
CONFIG_TIANOCORE_FOLLOW_BGRT_SPEC=y CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
CONFIG_TIANOCORE_SD_MMC_TIMEOUT=1000 CONFIG_EDK2_SD_MMC_TIMEOUT=1000
CONFIG_TPM2=y CONFIG_TPM2=y
CONFIG_TPM_MEASURED_BOOT=y CONFIG_TPM_MEASURED_BOOT=y

View File

@ -1,5 +1,5 @@
CONFIG_VENDOR_SYSTEM76=y CONFIG_VENDOR_SYSTEM76=y
CONFIG_BOARD_SYSTEM76_GAZE15=y CONFIG_BOARD_SYSTEM76_GAZE15=y
CONFIG_PAYLOAD_TIANOCORE=y CONFIG_PAYLOAD_EDK2=y
CONFIG_RUN_FSP_GOP=y CONFIG_RUN_FSP_GOP=y
CONFIG_SMMSTORE=y CONFIG_SMMSTORE=y

View File

@ -1,5 +1,5 @@
CONFIG_VENDOR_SYSTEM76=y CONFIG_VENDOR_SYSTEM76=y
CONFIG_BOARD_SYSTEM76_LEMP9=y CONFIG_BOARD_SYSTEM76_LEMP9=y
CONFIG_PAYLOAD_TIANOCORE=y CONFIG_PAYLOAD_EDK2=y
CONFIG_RUN_FSP_GOP=y CONFIG_RUN_FSP_GOP=y
CONFIG_SMMSTORE=y CONFIG_SMMSTORE=y

View File

@ -1,6 +1,6 @@
CONFIG_VENDOR_SYSTEM76=y CONFIG_VENDOR_SYSTEM76=y
CONFIG_BOARD_SYSTEM76_ORYP5=y CONFIG_BOARD_SYSTEM76_ORYP5=y
CONFIG_PAYLOAD_TIANOCORE=y CONFIG_PAYLOAD_EDK2=y
CONFIG_POST_IO=n CONFIG_POST_IO=n
CONFIG_RUN_FSP_GOP=y CONFIG_RUN_FSP_GOP=y
CONFIG_SMMSTORE=y CONFIG_SMMSTORE=y

View File

@ -24,7 +24,7 @@ payloads/external/U-Boot \
payloads/external/Memtest86Plus \ payloads/external/Memtest86Plus \
payloads/external/iPXE \ payloads/external/iPXE \
payloads/external/tint \ payloads/external/tint \
payloads/external/tianocore \ payloads/external/edk2 \
payloads/external/GRUB2 \ payloads/external/GRUB2 \
payloads/external/LinuxBoot \ payloads/external/LinuxBoot \
payloads/external/Yabits \ payloads/external/Yabits \

View File

@ -3,7 +3,7 @@ FILO/filo/
GRUB2/grub2/ GRUB2/grub2/
LinuxBoot/linuxboot/ LinuxBoot/linuxboot/
SeaBIOS/seabios/ SeaBIOS/seabios/
tianocore/tianocore/ edk2/edk2/
tint/tint/ tint/tint/
U-Boot/u-boot/ U-Boot/u-boot/
Memtest86Plus/memtest86plus/ Memtest86Plus/memtest86plus/

View File

@ -152,35 +152,35 @@ payloads/external/depthcharge/depthcharge/build/depthcharge.elf depthcharge: $(D
DEPTHCHARGE_REVISION_ID=$(CONFIG_DEPTHCHARGE_REVISION_ID) \ DEPTHCHARGE_REVISION_ID=$(CONFIG_DEPTHCHARGE_REVISION_ID) \
OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE) OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE)
# Tianocore # edk2
$(obj)/UEFIPAYLOAD.fd tianocore: $(DOTCONFIG) $(obj)/UEFIPAYLOAD.fd edk2: $(DOTCONFIG)
$(MAKE) -C payloads/external/tianocore all \ $(MAKE) -C payloads/external/edk2 all \
HOSTCC="$(HOSTCC)" \ HOSTCC="$(HOSTCC)" \
CC="$(HOSTCC)" \ CC="$(HOSTCC)" \
CONFIG_TIANOCORE_REPOSITORY=$(CONFIG_TIANOCORE_REPOSITORY) \ CONFIG_EDK2_REPOSITORY=$(CONFIG_EDK2_REPOSITORY) \
CONFIG_TIANOCORE_TAG_OR_REV=$(CONFIG_TIANOCORE_TAG_OR_REV) \ CONFIG_EDK2_TAG_OR_REV=$(CONFIG_EDK2_TAG_OR_REV) \
CONFIG_TIANOCORE_UEFIPAYLOAD=$(CONFIG_TIANOCORE_UEFIPAYLOAD) \ CONFIG_EDK2_UEFIPAYLOAD=$(CONFIG_EDK2_UEFIPAYLOAD) \
CONFIG_TIANOCORE_UPSTREAM=$(CONFIG_TIANOCORE_UPSTREAM) \ CONFIG_EDK2_UPSTREAM=$(CONFIG_EDK2_UPSTREAM) \
CONFIG_TIANOCORE_CUSTOM=$(CONFIG_TIANOCORE_CUSTOM) \ CONFIG_EDK2_CUSTOM=$(CONFIG_EDK2_CUSTOM) \
CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS=$(CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS) \ CONFIG_EDK2_CUSTOM_BUILD_PARAMS=$(CONFIG_EDK2_CUSTOM_BUILD_PARAMS) \
CONFIG_TIANOCORE_DEBUG=$(CONFIG_TIANOCORE_DEBUG) \ CONFIG_EDK2_DEBUG=$(CONFIG_EDK2_DEBUG) \
CONFIG_TIANOCORE_RELEASE=$(CONFIG_TIANOCORE_RELEASE) \ CONFIG_EDK2_RELEASE=$(CONFIG_EDK2_RELEASE) \
CONFIG_TIANOCORE_ABOVE_4G_MEMORY=$(CONFIG_TIANOCORE_ABOVE_4G_MEMORY) \ CONFIG_EDK2_ABOVE_4G_MEMORY=$(CONFIG_EDK2_ABOVE_4G_MEMORY) \
CONFIG_TIANOCORE_BOOTSPLASH_FILE=$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \ CONFIG_EDK2_BOOTSPLASH_FILE=$(CONFIG_EDK2_BOOTSPLASH_FILE) \
CONFIG_TIANOCORE_BOOT_MANAGER_ESCAPE=$(CONFIG_TIANOCORE_BOOT_MANAGER_ESCAPE) \ CONFIG_EDK2_BOOT_MANAGER_ESCAPE=$(CONFIG_EDK2_BOOT_MANAGER_ESCAPE) \
CONFIG_TIANOCORE_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT) \ CONFIG_EDK2_BOOT_TIMEOUT=$(CONFIG_EDK2_BOOT_TIMEOUT) \
CONFIG_TIANOCORE_CBMEM_LOGGING=$(CONFIG_TIANOCORE_CBMEM_LOGGING) \ CONFIG_EDK2_CBMEM_LOGGING=$(CONFIG_EDK2_CBMEM_LOGGING) \
CONFIG_TIANOCORE_FOLLOW_BGRT_SPEC=$(CONFIG_TIANOCORE_FOLLOW_BGRT_SPEC) \ CONFIG_EDK2_FOLLOW_BGRT_SPEC=$(CONFIG_EDK2_FOLLOW_BGRT_SPEC) \
CONFIG_TIANOCORE_FULL_SCREEN_SETUP=$(CONFIG_TIANOCORE_FULL_SCREEN_SETUP) \ CONFIG_EDK2_FULL_SCREEN_SETUP=$(CONFIG_EDK2_FULL_SCREEN_SETUP) \
CONFIG_TIANOCORE_HAVE_EFI_SHELL=$(CONFIG_TIANOCORE_HAVE_EFI_SHELL) \ CONFIG_EDK2_HAVE_EFI_SHELL=$(CONFIG_EDK2_HAVE_EFI_SHELL) \
CONFIG_TIANOCORE_PRIORITIZE_INTERNAL=$(CONFIG_TIANOCORE_PRIORITIZE_INTERNAL) \ CONFIG_EDK2_PRIORITIZE_INTERNAL=$(CONFIG_EDK2_PRIORITIZE_INTERNAL) \
CONFIG_TIANOCORE_PS2_SUPPORT=$(CONFIG_TIANOCORE_PS2_SUPPORT) \ CONFIG_EDK2_PS2_SUPPORT=$(CONFIG_EDK2_PS2_SUPPORT) \
CONFIG_TIANOCORE_SERIAL_SUPPORT=$(CONFIG_TIANOCORE_SERIAL_SUPPORT) \ CONFIG_EDK2_SERIAL_SUPPORT=$(CONFIG_EDK2_SERIAL_SUPPORT) \
CONFIG_TIANOCORE_SD_MMC_TIMEOUT=$(CONFIG_TIANOCORE_SD_MMC_TIMEOUT) \ CONFIG_EDK2_SD_MMC_TIMEOUT=$(CONFIG_EDK2_SD_MMC_TIMEOUT) \
CONFIG_ECAM_MMCONF_BASE_ADDRESS=$(CONFIG_ECAM_MMCONF_BASE_ADDRESS) \ CONFIG_ECAM_MMCONF_BASE_ADDRESS=$(CONFIG_ECAM_MMCONF_BASE_ADDRESS) \
CONFIG_ECAM_MMCONF_LENGTH=$(CONFIG_ECAM_MMCONF_LENGTH) \ CONFIG_ECAM_MMCONF_LENGTH=$(CONFIG_ECAM_MMCONF_LENGTH) \
CONFIG_SMMSTORE_V2=$(CONFIG_SMMSTORE_V2) \ CONFIG_SMMSTORE_V2=$(CONFIG_SMMSTORE_v2) \
GCC_CC_x86_32=$(GCC_CC_x86_32) \ GCC_CC_x86_32=$(GCC_CC_x86_32) \
GCC_CC_x86_64=$(GCC_CC_x86_64) \ GCC_CC_x86_64=$(GCC_CC_x86_64) \
GCC_CC_arm=$(GCC_CC_arm) \ GCC_CC_arm=$(GCC_CC_arm) \
@ -190,7 +190,7 @@ $(obj)/UEFIPAYLOAD.fd tianocore: $(DOTCONFIG)
OBJCOPY_arm=$(OBJCOPY_arm) \ OBJCOPY_arm=$(OBJCOPY_arm) \
OBJCOPY_arm64=$(OBJCOPY_arm64) \ OBJCOPY_arm64=$(OBJCOPY_arm64) \
MFLAGS= MAKEFLAGS= MFLAGS= MAKEFLAGS=
mv payloads/external/tianocore/output/UEFIPAYLOAD.fd $@ mv payloads/external/edk2/output/UEFIPAYLOAD.fd $@
# FILO # FILO

View File

@ -1,77 +1,77 @@
if PAYLOAD_TIANOCORE if PAYLOAD_EDK2
config PAYLOAD_FILE config PAYLOAD_FILE
string "Tianocore binary" string "edk2 binary"
default "$(obj)/UEFIPAYLOAD.fd" default "$(obj)/UEFIPAYLOAD.fd"
help help
The result of a UefiPayloadPkg build The result of a UefiPayloadPkg build
choice choice
prompt "Tianocore payload" prompt "Tianocore's EDK II payload"
default TIANOCORE_UEFIPAYLOAD default EDK2_UEFIPAYLOAD
help help
Select which type of payload Tianocore will build (default is UefiPayload) Select which type of payload edk2 will build (default is UefiPayload)
UefiPayload: MrChromebox's customized fork of Tianocore which works on most UefiPayload: MrChromebox's customized fork of edk2 which works on most
x86_64 devices x86_64 devices
Upstream: Use upstream Tianocore payload from https://github.com/tianocore/edk2 Upstream: Use upstream edk2 payload from https://github.com/tianocore/edk2
config TIANOCORE_UEFIPAYLOAD config EDK2_UEFIPAYLOAD
bool "UEFIPayload" bool "UEFIPayload"
help help
Select this option to build using MrChromebox's custom Tianocore fork, Select this option to build using MrChromebox's custom edk2 fork,
which incorporates fixes/improvements from System 76's and 9elements' trees. which incorporates fixes/improvements from System 76's and 9elements' trees.
config TIANOCORE_UPSTREAM config EDK2_UPSTREAM
bool "Upstream" bool "Upstream"
help help
Select this option if you want to use upstream EDK2 to build Tianocore. Select this option if you want to use upstream edk2 to build edk2.
config TIANOCORE_CUSTOM config EDK2_CUSTOM
bool "Custom" bool "Custom"
help help
Specify your own edk2 repository and branch to use. Specify your own edk2 repository and branch to use.
endchoice endchoice
config TIANOCORE_REPOSITORY config EDK2_REPOSITORY
string "URL to git repository for edk2" string "URL to git repository for edk2"
default "https://github.com/tianocore/edk2" if TIANOCORE_UPSTREAM default "https://github.com/tianocore/edk2" if EDK2_UPSTREAM
default "https://github.com/mrchromebox/edk2" if TIANOCORE_UEFIPAYLOAD default "https://github.com/mrchromebox/edk2" if EDK2_UEFIPAYLOAD
help help
coreboot supports an array of build options which can be found below. These options coreboot supports an array of build options which can be found below. These options
will only have an effect if the relevant options exist in the target repository. will only have an effect if the relevant options exist in the target repository.
config TIANOCORE_TAG_OR_REV config EDK2_TAG_OR_REV
string "Insert a commit's SHA-1 or a branch name" string "Insert a commit's SHA-1 or a branch name"
default "origin/uefipayload_202207" if TIANOCORE_UEFIPAYLOAD default "origin/uefipayload_202207" if EDK2_UEFIPAYLOAD
default "origin/master" if TIANOCORE_UPSTREAM default "origin/master" if EDK2_UPSTREAM
help help
The commit's SHA-1 or branch name of the revision to use. This must exist in The commit's SHA-1 or branch name of the revision to use. This must exist in
TIANOCORE_REPOSITORY, and in the case of a branch name, prefixed with origin i.e. EDK2_REPOSITORY, and in the case of a branch name, prefixed with origin i.e.
"origin/uefipayload_202202" "origin/uefipayload_202202"
choice choice
prompt "Tianocore build" prompt "edk2 build"
default TIANOCORE_RELEASE default EDK2_RELEASE
help help
Select whether to generate a debug or release build for Select whether to generate a debug or release build for
Tianocore; default is to generate a release build. edk2; default is to generate a release build.
config TIANOCORE_DEBUG config EDK2_DEBUG
bool "Generate Tianocore debug build" bool "Generate edk2 debug build"
help help
Generate a debug build. Generate a debug build.
config TIANOCORE_RELEASE config EDK2_RELEASE
bool "Generate Tianocore release build" bool "Generate edk2 release build"
help help
Generate a release build. Generate a release build.
endchoice endchoice
if TIANOCORE_UEFIPAYLOAD || TIANOCORE_CUSTOM || TIANOCORE_UPSTREAM if EDK2_UEFIPAYLOAD || EDK2_CUSTOM || EDK2_UPSTREAM
config TIANOCORE_ABOVE_4G_MEMORY config EDK2_ABOVE_4G_MEMORY
bool "Enable above 4G memory" bool "Enable above 4G memory"
default n default n
help help
@ -81,9 +81,8 @@ config TIANOCORE_ABOVE_4G_MEMORY
Disabling memory above 4G is useful for bootloaders that are not Disabling memory above 4G is useful for bootloaders that are not
fully 64-bit aware such as Qubes R4.0.4 bootloader. fully 64-bit aware such as Qubes R4.0.4 bootloader.
config EDK2_BOOTSPLASH_FILE
config TIANOCORE_BOOTSPLASH_FILE string "edk2 Bootsplash path and filename"
string "Tianocore Bootsplash path and filename"
default "Documentation/coreboot_logo.bmp" default "Documentation/coreboot_logo.bmp"
help help
The path and filename of the file to use as graphical bootsplash The path and filename of the file to use as graphical bootsplash
@ -94,7 +93,7 @@ config TIANOCORE_BOOTSPLASH_FILE
can be found [here](https://imagemagick.org/script/formats.php). can be found [here](https://imagemagick.org/script/formats.php).
The build process will automatically convert this to the format that The build process will automatically convert this to the format that
EDK2 requires, which is an uncompressed BMP, in BMP3 format. It does edk2 requires, which is an uncompressed BMP, in BMP3 format. It does
this using imagemagick (`convert splosh.bmp BMP3:splash.bmp`). this using imagemagick (`convert splosh.bmp BMP3:splash.bmp`).
The newly formatted file will be the dimensions size as the original The newly formatted file will be the dimensions size as the original
@ -117,14 +116,14 @@ config TIANOCORE_BOOTSPLASH_FILE
If an absolute path is not given, the path will assumed to be If an absolute path is not given, the path will assumed to be
relative to the coreboot root directory. relative to the coreboot root directory.
config TIANOCORE_BOOT_MANAGER_ESCAPE config EDK2_BOOT_MANAGER_ESCAPE
bool "Use Escape key for Boot Manager" bool "Use Escape key for Boot Manager"
default n default n
help help
Use Escape as the hot-key to access the Boot Manager. This replaces Use Escape as the hot-key to access the Boot Manager. This replaces
the default key of F2. the default key of F2.
config TIANOCORE_BOOT_TIMEOUT config EDK2_BOOT_TIMEOUT
int "Set the timeout for boot menu prompt" int "Set the timeout for boot menu prompt"
default 2 default 2
help help
@ -132,15 +131,15 @@ config TIANOCORE_BOOT_TIMEOUT
For boards with an internal display, the default value of 2s is generally sufficient. For boards with an internal display, the default value of 2s is generally sufficient.
For boards with an external display, a value of 5s is generally sufficient. For boards with an external display, a value of 5s is generally sufficient.
config TIANOCORE_CBMEM_LOGGING config EDK2_CBMEM_LOGGING
bool "Enable Tianocore logging to CBMEM" bool "Enable edk2 logging to CBMEM"
help help
Select this option if you want to enable Tianocore logging to CBMEM. Select this option if you want to enable edk2 logging to CBMEM.
You may want to increase the default cbmem buffer size when selecting You may want to increase the default cbmem buffer size when selecting
this option, especially if using a debug (vs release) build. this option, especially if using a debug (vs release) build.
Selecting this option will increase the payload size in CBFS by 0x10000. Selecting this option will increase the payload size in CBFS by 0x10000.
config TIANOCORE_FOLLOW_BGRT_SPEC config EDK2_FOLLOW_BGRT_SPEC
bool "Center logo 38.2% from the top of screen" bool "Center logo 38.2% from the top of screen"
default n default n
help help
@ -148,7 +147,7 @@ config TIANOCORE_FOLLOW_BGRT_SPEC
the Boot Logo 38.2% will be vertically centered 38.2% from the Boot Logo 38.2% will be vertically centered 38.2% from
the top of the display. the top of the display.
config TIANOCORE_FULL_SCREEN_SETUP config EDK2_FULL_SCREEN_SETUP
bool "Use the full screen for the edk2 frontpage" bool "Use the full screen for the edk2 frontpage"
default y default y
help help
@ -156,34 +155,34 @@ config TIANOCORE_FULL_SCREEN_SETUP
(aka "Boot Menu"). With this option disable, it will be (aka "Boot Menu"). With this option disable, it will be
limited to 640x480. limited to 640x480.
config TIANOCORE_HAVE_EFI_SHELL config EDK2_HAVE_EFI_SHELL
bool "Include EFI Shell" bool "Include EFI Shell"
default y default y
help help
Include the EFI shell Binary Include the EFI shell Binary
config TIANOCORE_PRIORITIZE_INTERNAL config EDK2_PRIORITIZE_INTERNAL
bool "Prioritize internal boot devices" bool "Prioritize internal boot devices"
default y default y
help help
Prioritize internal boot devices over external devices Prioritize internal boot devices over external devices
config TIANOCORE_PS2_SUPPORT config EDK2_PS2_SUPPORT
bool "Support PS/2 Keyboards" bool "Support PS/2 Keyboards"
default y default y
help help
Include support for PS/2 keyboards Include support for PS/2 keyboards
config TIANOCORE_SD_MMC_TIMEOUT config EDK2_SD_MMC_TIMEOUT
int "Timeout in ms for initializing SD and eMMC devices" int "Timeout in ms for initializing SD and eMMC devices"
default 10 default 10
help help
The amount of time allowed to initialize the SD Card reader and/or eMMC drive. The amount of time allowed to initialize the SD Card reader and/or eMMC drive.
Most only require 10ms, but certain readers can take 1s. Most only require 10ms, but certain readers can take 1s.
config TIANOCORE_SERIAL_SUPPORT config EDK2_SERIAL_SUPPORT
bool "Support serial output" bool "Support serial output"
default y if TIANOCORE_DEBUG default y if EDK2_DEBUG
default n default n
help help
Enable serial port output in edk2. Serial output limits the performance of edk2's Enable serial port output in edk2. Serial output limits the performance of edk2's
@ -191,9 +190,9 @@ config TIANOCORE_SERIAL_SUPPORT
endif endif
config TIANOCORE_CUSTOM_BUILD_PARAMS config EDK2_CUSTOM_BUILD_PARAMS
string "TianoCore additional custom build parameters" string "edk2 additional custom build parameters"
default "-D VARIABLE_SUPPORT=SMMSTORE" if TIANOCORE_UEFIPAYLOAD && SMMSTORE_V2 default "-D VARIABLE_SUPPORT=SMMSTORE" if EDK2_UEFIPAYLOAD && SMMSTORE_V2
help help
edk2 has build options that are not modified by coreboot, and these can be edk2 has build options that are not modified by coreboot, and these can be
found in `UefiPayloadPkg/UefiPayloadPkg.dsc`. Forks may also support found in `UefiPayloadPkg/UefiPayloadPkg.dsc`. Forks may also support

View File

@ -1,9 +1,9 @@
config PAYLOAD_TIANOCORE config PAYLOAD_EDK2
bool "Tianocore payload" bool "edk2 payload"
depends on ARCH_X86 || ARCH_ARM64 depends on ARCH_X86 || ARCH_ARM64
help help
Select this option if you want to build a coreboot image Select this option if you want to build a coreboot image
with a Tianocore payload. If you don't know what this is with a edk2 payload. If you don't know what this is
about, just leave it enabled. about, just leave it enabled.
See https://coreboot.org/Payloads for more information. See https://coreboot.org/Payloads for more information.

View File

@ -3,8 +3,8 @@
# force the shell to bash - the edksetup.sh script doesn't work with dash # force the shell to bash - the edksetup.sh script doesn't work with dash
export SHELL := env bash export SHELL := env bash
project_name = Tianocore project_name = edk2
project_dir = $(CURDIR)/$(word 3,$(subst /, ,$(CONFIG_TIANOCORE_REPOSITORY))) project_dir = $(CURDIR)/$(word 3,$(subst /, ,$(CONFIG_EDK2_REPOSITORY)))
BUILD_STR = -a IA32 -a X64 -t COREBOOT BUILD_STR = -a IA32 -a X64 -t COREBOOT
BUILD_STR += -p UefiPayloadPkg/UefiPayloadPkg.dsc BUILD_STR += -p UefiPayloadPkg/UefiPayloadPkg.dsc
@ -17,27 +17,27 @@ BUILD_STR += -D BOOTLOADER=COREBOOT -q
# OPTION = DEFAULT_VALUE # OPTION = DEFAULT_VALUE
# #
# ABOVE_4G_MEMORY = TRUE # ABOVE_4G_MEMORY = TRUE
ifneq ($(CONFIG_TIANOCORE_ABOVE_4G_MEMORY),y) ifneq ($(CONFIG_EDK2_ABOVE_4G_MEMORY),y)
BUILD_STR += -D ABOVE_4G_MEMORY=FALSE BUILD_STR += -D ABOVE_4G_MEMORY=FALSE
endif endif
# BOOTSPLASH_IMAGE = FALSE # BOOTSPLASH_IMAGE = FALSE
ifneq ($(CONFIG_TIANOCORE_BOOTSPLASH_FILE),) ifneq ($(CONFIG_EDK2_BOOTSPLASH_FILE),)
BUILD_STR += -D BOOTSPLASH_IMAGE=TRUE BUILD_STR += -D BOOTSPLASH_IMAGE=TRUE
endif endif
# BOOT_MANAGER_ESCAPE = FALSE # BOOT_MANAGER_ESCAPE = FALSE
ifeq ($(CONFIG_TIANOCORE_BOOT_MANAGER_ESCAPE),y) ifeq ($(CONFIG_EDK2_BOOT_MANAGER_ESCAPE),y)
BUILD_STR += -D BOOT_MANAGER_ESCAPE=TRUE BUILD_STR += -D BOOT_MANAGER_ESCAPE=TRUE
endif endif
# BUILD_TARGETS = DEBUG # BUILD_TARGETS = DEBUG
ifeq ($(CONFIG_TIANOCORE_RELEASE),y) ifeq ($(CONFIG_EDK2_RELEASE),y)
BUILD_STR += -b RELEASE BUILD_STR += -b RELEASE
endif endif
# DISABLE_SERIAL_TERMINAL = FALSE # DISABLE_SERIAL_TERMINAL = FALSE
ifneq ($(CONFIG_TIANOCORE_SERIAL_SUPPORT),y) ifneq ($(CONFIG_EDK2_SERIAL_SUPPORT),y)
BUILD_STR += -D DISABLE_SERIAL_TERMINAL=TRUE BUILD_STR += -D DISABLE_SERIAL_TERMINAL=TRUE
endif endif
# FOLLOW_BGRT_SPEC = FALSE # FOLLOW_BGRT_SPEC = FALSE
ifeq ($(CONFIG_TIANOCORE_FOLLOW_BGRT_SPEC),y) ifeq ($(CONFIG_EDK2_FOLLOW_BGRT_SPEC),y)
BUILD_STR += -D FOLLOW_BGRT_SPEC=TRUE BUILD_STR += -D FOLLOW_BGRT_SPEC=TRUE
endif endif
# PCIE_BASE_ADDRESS = 0 # PCIE_BASE_ADDRESS = 0
@ -49,39 +49,39 @@ ifneq ($(CONFIG_ECAM_MMCONF_LENGTH),)
BUILD_STR += --pcd gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize=$(CONFIG_ECAM_MMCONF_LENGTH) BUILD_STR += --pcd gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize=$(CONFIG_ECAM_MMCONF_LENGTH)
endif endif
# PRIORITIZE_INTERNAL = FALSE # PRIORITIZE_INTERNAL = FALSE
ifeq ($(CONFIG_TIANOCORE_PRIORITIZE_INTERNAL),y) ifeq ($(CONFIG_EDK2_PRIORITIZE_INTERNAL),y)
BUILD_STR += -D PRIORITIZE_INTERNAL=TRUE BUILD_STR += -D PRIORITIZE_INTERNAL=TRUE
endif endif
# PS2_KEYBOARD_ENABLE = FALSE # PS2_KEYBOARD_ENABLE = FALSE
ifeq ($(CONFIG_TIANOCORE_PS2_SUPPORT),y) ifeq ($(CONFIG_EDK2_PS2_SUPPORT),y)
BUILD_STR += -D PS2_KEYBOARD_ENABLE=TRUE BUILD_STR += -D PS2_KEYBOARD_ENABLE=TRUE
endif endif
# PLATFORM_BOOT_TIMEOUT = 3 # PLATFORM_BOOT_TIMEOUT = 3
ifneq ($(CONFIG_TIANOCORE_BOOT_TIMEOUT),) ifneq ($(CONFIG_EDK2_BOOT_TIMEOUT),)
BUILD_STR += -D PLATFORM_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT) BUILD_STR += -D PLATFORM_BOOT_TIMEOUT=$(CONFIG_EDK2_BOOT_TIMEOUT)
endif endif
# SIO_BUS_ENABLE = FALSE # SIO_BUS_ENABLE = FALSE
ifeq ($(CONFIG_TIANOCORE_PS2_SUPPORT),y) ifeq ($(CONFIG_EDK2_PS2_SUPPORT),y)
BUILD_STR += -D SIO_BUS_ENABLE=TRUE BUILD_STR += -D SIO_BUS_ENABLE=TRUE
endif endif
# SHELL_TYPE = BUILD_SHELL # SHELL_TYPE = BUILD_SHELL
ifneq ($(CONFIG_TIANOCORE_HAVE_EFI_SHELL),y) ifneq ($(CONFIG_EDK2_HAVE_EFI_SHELL),y)
BUILD_STR += -D SHELL_TYPE=NONE BUILD_STR += -D SHELL_TYPE=NONE
endif endif
# USE_CBMEM_FOR_CONSOLE = FALSE # USE_CBMEM_FOR_CONSOLE = FALSE
ifeq ($(CONFIG_TIANOCORE_CBMEM_LOGGING),y) ifeq ($(CONFIG_EDK2_CBMEM_LOGGING),y)
BUILD_STR += -D USE_CBMEM_FOR_CONSOLE=TRUE BUILD_STR += -D USE_CBMEM_FOR_CONSOLE=TRUE
endif endif
# SD_MMC_TIMEOUT = 1000000 # SD_MMC_TIMEOUT = 1000000
ifneq ($(CONFIG_TIANOCORE_SD_MMC_TIMEOUT),) ifneq ($(CONFIG_EDK2_SD_MMC_TIMEOUT),)
BUILD_STR += -D SD_MMC_TIMEOUT=$(shell echo $$(( $(CONFIG_TIANOCORE_SD_MMC_TIMEOUT) * 1000)) ) BUILD_STR += -D SD_MMC_TIMEOUT=$(shell echo $$(( $(CONFIG_EDK2_SD_MMC_TIMEOUT) * 1000)) )
endif endif
# #
# EDKII has the below PCDs that are relevant to coreboot: # EDKII has the below PCDs that are relevant to coreboot:
# #
# Allows EDKII to use the full framebuffer # Allows EDKII to use the full framebuffer
ifeq ($(CONFIG_TIANOCORE_FULL_SCREEN_SETUP),y) ifeq ($(CONFIG_EDK2_FULL_SCREEN_SETUP),y)
BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow=0 BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow=0
BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn=0 BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn=0
BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow=0 BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow=0
@ -90,42 +90,42 @@ endif
bootloader = $(word 8,$(subst /, ,$(BUILD_STR))) bootloader = $(word 8,$(subst /, ,$(BUILD_STR)))
ifneq ($(CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS),) ifneq ($(CONFIG_EDK2_CUSTOM_BUILD_PARAMS),)
BUILD_STR += $(CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS) BUILD_STR += $(CONFIG_EDK2_CUSTOM_BUILD_PARAMS)
endif endif
all: clean build all: clean build
$(project_dir): $(project_dir):
echo " Cloning $(project_name) from $(CONFIG_TIANOCORE_REPOSITORY)" echo " Cloning $(project_name) from $(CONFIG_EDK2_REPOSITORY)"
git clone $(CONFIG_TIANOCORE_REPOSITORY) $(project_dir); \ git clone $(CONFIG_EDK2_REPOSITORY) $(project_dir); \
cd $(project_dir); cd $(project_dir);
update: $(project_dir) update: $(project_dir)
if [ ! -d "$(project_dir)" ]; then \ if [ ! -d "$(project_dir)" ]; then \
git clone $(CONFIG_TIANOCORE_REPOSITORY) $(project_dir); \ git clone $(CONFIG_EDK2_REPOSITORY) $(project_dir); \
fi fi
cd $(project_dir); \ cd $(project_dir); \
echo " Fetching new commits from $(CONFIG_TIANOCORE_REPOSITORY)"; \ echo " Fetching new commits from $(CONFIG_EDK2_REPOSITORY)"; \
git fetch origin 2>/dev/null; \ git fetch origin 2>/dev/null; \
if ! git rev-parse --verify -q $(CONFIG_TIANOCORE_TAG_OR_REV) >/dev/null; then \ if ! git rev-parse --verify -q $(CONFIG_EDK2_TAG_OR_REV) >/dev/null; then \
echo " $(CONFIG_TIANOCORE_TAG_OR_REV) is not a valid git reference"; \ echo " $(CONFIG_EDK2_TAG_OR_REV) is not a valid git reference"; \
exit 1; \ exit 1; \
fi; \ fi; \
if git status --ignore-submodules=dirty | grep -q clean; then \ if git status --ignore-submodules=dirty | grep -q clean; then \
echo " Checking out $(project_name) revision $(CONFIG_TIANOCORE_TAG_OR_REV)"; \ echo " Checking out $(project_name) revision $(CONFIG_EDK2_TAG_OR_REV)"; \
git checkout --detach $(CONFIG_TIANOCORE_TAG_OR_REV) -f; \ git checkout --detach $(CONFIG_EDK2_TAG_OR_REV) -f; \
else \ else \
echo " Working directory not clean; will not overwrite"; \ echo " Working directory not clean; will not overwrite"; \
fi; \ fi; \
git submodule update --init --checkout git submodule update --init --checkout
logo: $(project_dir) logo: $(project_dir)
case "$(CONFIG_TIANOCORE_BOOTSPLASH_FILE)" in \ case "$(CONFIG_EDK2_BOOTSPLASH_FILE)" in \
"") ;; \ "") ;; \
/*) convert -background None $(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \ /*) convert -background None $(CONFIG_EDK2_BOOTSPLASH_FILE) \
BMP3:$(project_dir)/MdeModulePkg/Logo/Logo.bmp;; \ BMP3:$(project_dir)/MdeModulePkg/Logo/Logo.bmp;; \
*) convert -background None $(top)/$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \ *) convert -background None $(top)/$(CONFIG_EDK2_BOOTSPLASH_FILE) \
BMP3:$(project_dir)/MdeModulePkg/Logo/Logo.bmp;; \ BMP3:$(project_dir)/MdeModulePkg/Logo/Logo.bmp;; \
esac \ esac \
@ -152,8 +152,8 @@ checktools:
build: update logo checktools build: update logo checktools
echo " ##### $(project_name) Build Summary #####" echo " ##### $(project_name) Build Summary #####"
echo " Repository: $(CONFIG_TIANOCORE_REPOSITORY)" echo " Repository: $(CONFIG_EDK2_REPOSITORY)"
echo " Branch: $(CONFIG_TIANOCORE_TAG_OR_REV)" echo " Branch: $(CONFIG_EDK2_TAG_OR_REV)"
echo " $(BUILD_STR)" | \ echo " $(BUILD_STR)" | \
sed 's/-/\n /g' | sort | sed \ sed 's/-/\n /g' | sort | sed \
-e 's/a /Architecture: /g' \ -e 's/a /Architecture: /g' \

View File

@ -15,7 +15,7 @@
# #
#The following has been adapted from the BaseTools/Conf/tools_def.template file #The following has been adapted from the BaseTools/Conf/tools_def.template file
#and is used to direct the Tianocore build to use coreboot's crossgcc toolchain #and is used to direct the edk2 build to use coreboot's crossgcc toolchain
#rather than the host machine's toolchain #rather than the host machine's toolchain
DEFINE COREBOOT_IA32_PREFIX = ENV(GCC_CC_x86_32) DEFINE COREBOOT_IA32_PREFIX = ENV(GCC_CC_x86_32)

View File

@ -420,7 +420,7 @@ endif # FRAMEBUFFER_SET_VESA_MODE
config WANT_LINEAR_FRAMEBUFFER config WANT_LINEAR_FRAMEBUFFER
bool bool
default y if CHROMEOS default y if CHROMEOS
default y if PAYLOAD_TIANOCORE default y if PAYLOAD_EDK2
default y if COREDOOM_SECONDARY_PAYLOAD default y if COREDOOM_SECONDARY_PAYLOAD
choice choice

View File

@ -14,7 +14,7 @@ config MP_SERVICES_PPI_V1
select MP_SERVICES_PPI select MP_SERVICES_PPI
help help
This option provides EFI_PEI_MP_SERVICES_PPI structure definitions This option provides EFI_PEI_MP_SERVICES_PPI structure definitions
along with all APIs as per EDK2 specification. along with all APIs as per edk2 specification.
config MP_SERVICES_PPI_V2 config MP_SERVICES_PPI_V2
bool bool
@ -22,7 +22,7 @@ config MP_SERVICES_PPI_V2
select MP_SERVICES_PPI select MP_SERVICES_PPI
help help
This option provides EDKII_PEI_MP_SERVICES2_PPI structure definitions This option provides EDKII_PEI_MP_SERVICES2_PPI structure definitions
along with all APIs as per EDK2 specification. MP services2 PPI is slight along with all APIs as per edk2 specification. MP services2 PPI is slight
modification over MP services1 PPIs. A new API StartupAllCPUs have been modification over MP services1 PPIs. A new API StartupAllCPUs have been
added to allow running a task on BSP and all APs. Also the EFI_PEI_SERVICES added to allow running a task on BSP and all APs. Also the EFI_PEI_SERVICES
parameter has been removed from all MP PPI APIs. parameter has been removed from all MP PPI APIs.

View File

@ -58,7 +58,7 @@ static efi_return_status_t mps1_identify_processor(const
return mp_identify_processor(processor_number); return mp_identify_processor(processor_number);
} }
/* EDK2 UEFIPKG Open Source MP Service PPI to be installed */ /* edk2 UEFIPKG Open Source MP Service PPI to be installed */
static efi_pei_mp_services_ppi mp_service1_ppi = { static efi_pei_mp_services_ppi mp_service1_ppi = {
mps1_get_number_of_processors, mps1_get_number_of_processors,

View File

@ -67,7 +67,7 @@ static efi_return_status_t mps2_identify_processor(
return mp_identify_processor(processor_number); return mp_identify_processor(processor_number);
} }
/* EDK2 UEFIPKG Open Source MP Services 2 PPI to be installed */ /* edk2 UEFIPKG Open Source MP Services 2 PPI to be installed */
static efi_pei_mp_services_ppi mp_service2_ppi = { static efi_pei_mp_services_ppi mp_service2_ppi = {
mps2_get_number_of_processors, mps2_get_number_of_processors,

View File

@ -96,7 +96,7 @@ efi_return_status_t mp_startup_all_cpus(efi_ap_procedure procedure,
/* /*
* Run on APs Serially * Run on APs Serially
* *
* FIXME: As per MP service specification, EDK2 is allowed to specify the mode * FIXME: As per MP service specification, edk2 is allowed to specify the mode
* in which a 'func' routine should be executed on APs (i.e. execute serially * in which a 'func' routine should be executed on APs (i.e. execute serially
* or concurrently). * or concurrently).
* *

View File

@ -33,7 +33,7 @@ static bool looks_like_fsp_header(struct fsp_header *hdr)
return false; return false;
} }
/* It is possible to build FSP with any version of EDK2 which could have introduced new /* It is possible to build FSP with any version of edk2 which could have introduced new
fields in FSP_INFO_HEADER. The new fields will be ignored based on the reported FSP fields in FSP_INFO_HEADER. The new fields will be ignored based on the reported FSP
version. This check ensures that the reported header length is at least what the version. This check ensures that the reported header length is at least what the
reported FSP version requires so that we do not access any out-of-bound bytes. */ reported FSP version requires so that we do not access any out-of-bound bytes. */

View File

@ -3,13 +3,13 @@
config SMMSTORE config SMMSTORE
bool "Support for flash based, SMM mediated data store" bool "Support for flash based, SMM mediated data store"
depends on BOOT_DEVICE_SUPPORTS_WRITES && HAVE_SMI_HANDLER depends on BOOT_DEVICE_SUPPORTS_WRITES && HAVE_SMI_HANDLER
default y if PAYLOAD_TIANOCORE default y if PAYLOAD_EDK2
select SPI_FLASH_SMM if BOOT_DEVICE_SPI_FLASH_RW_NOMMAP select SPI_FLASH_SMM if BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
config SMMSTORE_V2 config SMMSTORE_V2
bool "Use version 2 of SMMSTORE API" bool "Use version 2 of SMMSTORE API"
depends on SMMSTORE depends on SMMSTORE
default y if PAYLOAD_TIANOCORE default y if PAYLOAD_EDK2
default n default n
help help
Version 2 of SMMSTORE allows secure communication with SMM and Version 2 of SMMSTORE allows secure communication with SMM and

View File

@ -311,7 +311,7 @@ int smmstore_get_info(struct smmstore_params_info *out)
out->block_size = SMM_BLOCK_SIZE; out->block_size = SMM_BLOCK_SIZE;
out->num_blocks = region_device_sz(&store) / SMM_BLOCK_SIZE; out->num_blocks = region_device_sz(&store) / SMM_BLOCK_SIZE;
/* FIXME: Broken EDK2 always assumes memory mapped Firmware Block Volumes */ /* FIXME: Broken edk2 always assumes memory mapped Firmware Block Volumes */
out->mmap_addr = (uintptr_t)rdev_mmap_full(&store); out->mmap_addr = (uintptr_t)rdev_mmap_full(&store);
printk(BIOS_DEBUG, "smm store: %d # blocks with size 0x%x\n", printk(BIOS_DEBUG, "smm store: %d # blocks with size 0x%x\n",

View File

@ -12,7 +12,7 @@ config TPM_PPI
depends on TPM depends on TPM
depends on HAVE_ACPI_TABLES depends on HAVE_ACPI_TABLES
depends on !CHROMEOS depends on !CHROMEOS
default y if PAYLOAD_TIANOCORE default y if PAYLOAD_EDK2
help help
This driver automatically generates ACPI tables for the Physical This driver automatically generates ACPI tables for the Physical
Presence Interface defined by the TCG. If not activated only a stub Presence Interface defined by the TCG. If not activated only a stub

View File

@ -53,7 +53,7 @@ struct smmstore_params_init {
/* /*
* Returns the number of blocks the SMMSTORE supports and their size. * Returns the number of blocks the SMMSTORE supports and their size.
* For EDK2 this should be at least two blocks with 64 KiB each. * For edk2 this should be at least two blocks with 64 KiB each.
* The mmap_addr is set the memory mapped physical address of the SMMSTORE. * The mmap_addr is set the memory mapped physical address of the SMMSTORE.
*/ */
struct smmstore_params_info { struct smmstore_params_info {

View File

@ -70,7 +70,7 @@ config ENABLE_DDR_2X_REFRESH
config PCIEXP_AER config PCIEXP_AER
def_bool n def_bool n
config TIANOCORE_BOOT_TIMEOUT config EDK2_BOOT_TIMEOUT
int int
default 5 default 5

View File

@ -100,7 +100,7 @@ config UART_FOR_CONSOLE
config USE_PM_ACPI_TIMER config USE_PM_ACPI_TIMER
default n default n
config TIANOCORE_BOOT_TIMEOUT config EDK2_BOOT_TIMEOUT
int int
default 5 default 5

View File

@ -285,7 +285,7 @@ config VBOOT
config USE_PM_ACPI_TIMER config USE_PM_ACPI_TIMER
default n default n
config TIANOCORE_BOOT_TIMEOUT config EDK2_BOOT_TIMEOUT
int int
default 5 if BOARD_GOOGLE_BASEBOARD_PUFF default 5 if BOARD_GOOGLE_BASEBOARD_PUFF

View File

@ -53,7 +53,7 @@ config MAINBOARD_SMBIOS_MANUFACTURER
config PCIEXP_AER config PCIEXP_AER
def_bool n def_bool n
config TIANOCORE_BOOT_TIMEOUT config EDK2_BOOT_TIMEOUT
int int
default 5 default 5

View File

@ -66,7 +66,7 @@ config TRACKPAD_INTERRUPT
default 0x1 if BOARD_STARLABS_LITE_GLK default 0x1 if BOARD_STARLABS_LITE_GLK
default 0x0 if BOARD_STARLABS_LITE_GLKR default 0x0 if BOARD_STARLABS_LITE_GLKR
config TIANOCORE_BOOTSPLASH_FILE config EDK2_BOOTSPLASH_FILE
string string
default "3rdparty/blobs/mainboard/starlabs/Logo.bmp" default "3rdparty/blobs/mainboard/starlabs/Logo.bmp"

View File

@ -113,7 +113,7 @@ config ME_BIN_PATH
string string
default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/intel_me.bin" default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/intel_me.bin"
config TIANOCORE_BOOTSPLASH_FILE config EDK2_BOOTSPLASH_FILE
string string
default "3rdparty/blobs/mainboard/starlabs/Logo.bmp" default "3rdparty/blobs/mainboard/starlabs/Logo.bmp"

View File

@ -268,7 +268,7 @@ function update_config
echo "# CONFIG_PAYLOAD_DEPTHCHARGE is not set" echo "# CONFIG_PAYLOAD_DEPTHCHARGE is not set"
echo "# CONFIG_PAYLOAD_LINUXBOOT is not set" echo "# CONFIG_PAYLOAD_LINUXBOOT is not set"
echo "# CONFIG_PAYLOAD_UBOOT is not set" echo "# CONFIG_PAYLOAD_UBOOT is not set"
echo "# CONFIG_PAYLOAD_TIANOCORE is not set" echo "# CONFIG_PAYLOAD_EDK2 is not set"
echo "# CONFIG_PXE is not set" echo "# CONFIG_PXE is not set"
echo "# CONFIG_BUILD_IPXE is not set" echo "# CONFIG_BUILD_IPXE is not set"
echo "# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set" echo "# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set"