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:
parent
8f7f4bf87a
commit
38c99b5659
@ -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
|
||||
memory that can detect and correct memory errors.
|
||||
* 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
|
||||
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
|
||||
|
@ -87,7 +87,7 @@ across architectures.
|
||||
## Port payloads to ARM, AArch64 or RISC-V
|
||||
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
|
||||
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.
|
||||
|
||||
Since this is a bit of a catch-all idea, an application to GSoC should pick a
|
||||
|
@ -37,15 +37,15 @@ firmware binaries on [GitHub](https://pcengines.github.io).
|
||||
|
||||
[Star Labs](https://starlabs.systems/) offers a range of laptops designed and
|
||||
built specifically for Linux that are available with coreboot firmware. They
|
||||
use Tianocore as the payload and include an NVRAM option to disable the
|
||||
Intel Management Engine.
|
||||
use edk2 as the payload and include an NVRAM option to disable the Intel
|
||||
Management Engine.
|
||||
|
||||
### System76
|
||||
|
||||
[System76](https://system76.com/) manufactures Linux laptops, desktops, and
|
||||
servers. Some models are sold with [System76 Open
|
||||
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
|
||||
|
||||
@ -76,7 +76,7 @@ trustworthiness for all.
|
||||
|
||||
[MrChromebox](https://mrchromebox.tech/) provides upstream coreboot firmware
|
||||
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 (vs Google's older, static tree/branch), include many features and
|
||||
fixes not found in the stock firmware, and offer much broader OS compatibility
|
||||
|
@ -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
|
||||
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 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 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
|
||||
|
||||
|
@ -26,7 +26,7 @@ initialization routines across many different use cases, no matter if
|
||||
they provide standard interfaces or entirely custom boot flows.
|
||||
|
||||
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,
|
||||
a custom boot loader used on Chromebooks.
|
||||
|
||||
|
@ -37,7 +37,7 @@ easy to remove and reflash.
|
||||
|
||||
## 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
|
||||
|
||||
@ -57,7 +57,7 @@ easy to remove and reflash.
|
||||
port 3 port 5 port 1 port 8
|
||||
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)
|
||||
|
||||
- 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
|
||||
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
|
||||
works perfectly
|
||||
|
||||
@ -105,9 +105,9 @@ easy to remove and reflash.
|
||||
|
||||
## Not working
|
||||
|
||||
- PS/2 keyboard in Win10 using Tianocore (please see [Known issues])
|
||||
- PS/2 mouse using Tianocore
|
||||
- PCIe graphics card on Windows and Tianocore (throws critical ACPI_BIOS_ERROR)
|
||||
- PS/2 keyboard in Win10 using edk2 (please see [Known issues])
|
||||
- PS/2 mouse using edk2
|
||||
- PCIe graphics card on Windows and edk2 (throws critical ACPI_BIOS_ERROR)
|
||||
|
||||
## Native raminit compatibility
|
||||
|
||||
|
@ -104,11 +104,11 @@ solution. Wires need to be connected to be able to flash using an external progr
|
||||
- SMBus
|
||||
- Initialization with FSP
|
||||
- SeaBIOS payload (commit a5cab58e9a3fb6e168aba919c5669bea406573b4)
|
||||
- TianoCore payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629)
|
||||
- edk2 payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629)
|
||||
- LinuxBoot (kernel kernel-4_19_97) (uroot commit 9c9db9dbd6b532f5f91a511a0de885c6562aadd7)
|
||||
- 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.
|
||||
|
||||
SeaBios has been checked to the extend that it runs to the boot selection and provides display
|
||||
|
@ -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
|
||||
- Memory initialization with mrc.bin version 1.6.1 Build 2
|
||||
- Graphics initialization with libgfxinit
|
||||
- Payload: SeaBIOS, Tianocore
|
||||
- Payload: SeaBIOS, edk2
|
||||
- EC firmware
|
||||
- KBC Revision 92.15 from OEM firmware version 01.33
|
||||
- KBC Revision 92.17 from OEM firmware version 01.50
|
||||
|
@ -45,7 +45,7 @@ make
|
||||
```
|
||||
## Payloads
|
||||
- SeaBIOS
|
||||
- Tianocore
|
||||
- edk2
|
||||
- Linux as payload
|
||||
|
||||
## Flashing coreboot
|
||||
|
@ -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
|
||||
* 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
|
||||
* System firmware updates via flashrom
|
||||
* M.2 storage (NVMe, SATA III)
|
||||
|
@ -107,7 +107,7 @@ desoldering it from the mainboard.
|
||||
|
||||
* External displays via HDMI/DisplayPort with VGA option ROM or FSP/GOP init
|
||||
(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
|
||||
* System firmware updates via flashrom
|
||||
* PCIe NVMe
|
||||
|
@ -23,13 +23,11 @@ When chainloaded from GRUB2, the following menuentry could be used:
|
||||
module /vgaroms/seavgabios.bin
|
||||
}
|
||||
|
||||
## Tianocore
|
||||
## edk2
|
||||
|
||||
[Tianocore](https://www.tianocore.org) is the open source reference
|
||||
implementation of the UEFI Specifications that modern firmware for PCs is
|
||||
based on. There were various projects in the past to make it suitable as a
|
||||
coreboot payload, but these days this function is available directly in the
|
||||
UefiPayloadPkg part of its source tree.
|
||||
[edk2](https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II) is an open-source modern, feature-rich,
|
||||
cross-platform firmware development environment for the UEFI and UEFI
|
||||
Platform Initialization (PI) specifications.
|
||||
|
||||
## GRUB2
|
||||
|
||||
|
@ -52,9 +52,9 @@ Deprecations and incompatible changes
|
||||
|
||||
Drop the deprecated COREBOOTPAYLOAD option, and replace it with MrChromebox's
|
||||
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
|
||||
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
|
||||
|
||||
|
@ -55,15 +55,15 @@ is here: https://github.com/siro20/coreboot/tree/cbui/payloads/cbui
|
||||
|
||||
### 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
|
||||
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.
|
||||
* Incompatibilities with code inside the EDK2 which has not been updated.
|
||||
* 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.
|
||||
|
||||
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
|
||||
http://review.coreboot.org/#/c/15057/
|
||||
|
||||
|
@ -84,7 +84,7 @@ General changes
|
||||
|
||||
* Integrate me_cleaner
|
||||
* Add flashconsole implementation
|
||||
* Build Tianocore UEFI payload from upstream source
|
||||
* Build edk2 UEFI payload from upstream source
|
||||
* Remove CMOS NVRAM configurable baud rates
|
||||
* A common mrc_cache driver to store romstage settings in SPI flash
|
||||
|
||||
|
@ -71,7 +71,7 @@ detection
|
||||
Payloads
|
||||
--------
|
||||
* Bumped SeaBIOS to 1.11.1
|
||||
* Improved TianoCore integration
|
||||
* Improved edk2 integration
|
||||
|
||||
Security
|
||||
--------
|
||||
|
@ -1,7 +1,7 @@
|
||||
CONFIG_VENDOR_MSI=y
|
||||
CONFIG_CBFS_SIZE=0x1000000
|
||||
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_POWER_STATE_OFF_AFTER_FAILURE=y
|
||||
CONFIG_PCIEXP_HOTPLUG=y
|
||||
@ -9,11 +9,11 @@ CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G=y
|
||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
|
||||
CONFIG_POST_DEVICE_PCI_PCIE=y
|
||||
CONFIG_POST_IO_PORT=0x80
|
||||
CONFIG_PAYLOAD_TIANOCORE=y
|
||||
CONFIG_TIANOCORE_REPOSITORY="https://github.com/Dasharo/edk2.git"
|
||||
CONFIG_TIANOCORE_TAG_OR_REV="origin/dasharo"
|
||||
CONFIG_TIANOCORE_CBMEM_LOGGING=y
|
||||
CONFIG_TIANOCORE_FOLLOW_BGRT_SPEC=y
|
||||
CONFIG_TIANOCORE_SD_MMC_TIMEOUT=1000
|
||||
CONFIG_PAYLOAD_EDK2=y
|
||||
CONFIG_EDK2_REPOSITORY="https://github.com/Dasharo/edk2.git"
|
||||
CONFIG_EDK2_TAG_OR_REV="origin/dasharo"
|
||||
CONFIG_EDK2_CBMEM_LOGGING=y
|
||||
CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
|
||||
CONFIG_EDK2_SD_MMC_TIMEOUT=1000
|
||||
CONFIG_TPM2=y
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
|
@ -1,5 +1,5 @@
|
||||
CONFIG_VENDOR_SYSTEM76=y
|
||||
CONFIG_BOARD_SYSTEM76_GAZE15=y
|
||||
CONFIG_PAYLOAD_TIANOCORE=y
|
||||
CONFIG_PAYLOAD_EDK2=y
|
||||
CONFIG_RUN_FSP_GOP=y
|
||||
CONFIG_SMMSTORE=y
|
||||
|
@ -1,5 +1,5 @@
|
||||
CONFIG_VENDOR_SYSTEM76=y
|
||||
CONFIG_BOARD_SYSTEM76_LEMP9=y
|
||||
CONFIG_PAYLOAD_TIANOCORE=y
|
||||
CONFIG_PAYLOAD_EDK2=y
|
||||
CONFIG_RUN_FSP_GOP=y
|
||||
CONFIG_SMMSTORE=y
|
||||
|
@ -1,6 +1,6 @@
|
||||
CONFIG_VENDOR_SYSTEM76=y
|
||||
CONFIG_BOARD_SYSTEM76_ORYP5=y
|
||||
CONFIG_PAYLOAD_TIANOCORE=y
|
||||
CONFIG_PAYLOAD_EDK2=y
|
||||
CONFIG_POST_IO=n
|
||||
CONFIG_RUN_FSP_GOP=y
|
||||
CONFIG_SMMSTORE=y
|
||||
|
@ -24,7 +24,7 @@ payloads/external/U-Boot \
|
||||
payloads/external/Memtest86Plus \
|
||||
payloads/external/iPXE \
|
||||
payloads/external/tint \
|
||||
payloads/external/tianocore \
|
||||
payloads/external/edk2 \
|
||||
payloads/external/GRUB2 \
|
||||
payloads/external/LinuxBoot \
|
||||
payloads/external/Yabits \
|
||||
|
2
payloads/external/.gitignore
vendored
2
payloads/external/.gitignore
vendored
@ -3,7 +3,7 @@ FILO/filo/
|
||||
GRUB2/grub2/
|
||||
LinuxBoot/linuxboot/
|
||||
SeaBIOS/seabios/
|
||||
tianocore/tianocore/
|
||||
edk2/edk2/
|
||||
tint/tint/
|
||||
U-Boot/u-boot/
|
||||
Memtest86Plus/memtest86plus/
|
||||
|
50
payloads/external/Makefile.inc
vendored
50
payloads/external/Makefile.inc
vendored
@ -152,35 +152,35 @@ payloads/external/depthcharge/depthcharge/build/depthcharge.elf depthcharge: $(D
|
||||
DEPTHCHARGE_REVISION_ID=$(CONFIG_DEPTHCHARGE_REVISION_ID) \
|
||||
OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE)
|
||||
|
||||
# Tianocore
|
||||
# edk2
|
||||
|
||||
$(obj)/UEFIPAYLOAD.fd tianocore: $(DOTCONFIG)
|
||||
$(MAKE) -C payloads/external/tianocore all \
|
||||
$(obj)/UEFIPAYLOAD.fd edk2: $(DOTCONFIG)
|
||||
$(MAKE) -C payloads/external/edk2 all \
|
||||
HOSTCC="$(HOSTCC)" \
|
||||
CC="$(HOSTCC)" \
|
||||
CONFIG_TIANOCORE_REPOSITORY=$(CONFIG_TIANOCORE_REPOSITORY) \
|
||||
CONFIG_TIANOCORE_TAG_OR_REV=$(CONFIG_TIANOCORE_TAG_OR_REV) \
|
||||
CONFIG_TIANOCORE_UEFIPAYLOAD=$(CONFIG_TIANOCORE_UEFIPAYLOAD) \
|
||||
CONFIG_TIANOCORE_UPSTREAM=$(CONFIG_TIANOCORE_UPSTREAM) \
|
||||
CONFIG_TIANOCORE_CUSTOM=$(CONFIG_TIANOCORE_CUSTOM) \
|
||||
CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS=$(CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS) \
|
||||
CONFIG_TIANOCORE_DEBUG=$(CONFIG_TIANOCORE_DEBUG) \
|
||||
CONFIG_TIANOCORE_RELEASE=$(CONFIG_TIANOCORE_RELEASE) \
|
||||
CONFIG_TIANOCORE_ABOVE_4G_MEMORY=$(CONFIG_TIANOCORE_ABOVE_4G_MEMORY) \
|
||||
CONFIG_TIANOCORE_BOOTSPLASH_FILE=$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \
|
||||
CONFIG_TIANOCORE_BOOT_MANAGER_ESCAPE=$(CONFIG_TIANOCORE_BOOT_MANAGER_ESCAPE) \
|
||||
CONFIG_TIANOCORE_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT) \
|
||||
CONFIG_TIANOCORE_CBMEM_LOGGING=$(CONFIG_TIANOCORE_CBMEM_LOGGING) \
|
||||
CONFIG_TIANOCORE_FOLLOW_BGRT_SPEC=$(CONFIG_TIANOCORE_FOLLOW_BGRT_SPEC) \
|
||||
CONFIG_TIANOCORE_FULL_SCREEN_SETUP=$(CONFIG_TIANOCORE_FULL_SCREEN_SETUP) \
|
||||
CONFIG_TIANOCORE_HAVE_EFI_SHELL=$(CONFIG_TIANOCORE_HAVE_EFI_SHELL) \
|
||||
CONFIG_TIANOCORE_PRIORITIZE_INTERNAL=$(CONFIG_TIANOCORE_PRIORITIZE_INTERNAL) \
|
||||
CONFIG_TIANOCORE_PS2_SUPPORT=$(CONFIG_TIANOCORE_PS2_SUPPORT) \
|
||||
CONFIG_TIANOCORE_SERIAL_SUPPORT=$(CONFIG_TIANOCORE_SERIAL_SUPPORT) \
|
||||
CONFIG_TIANOCORE_SD_MMC_TIMEOUT=$(CONFIG_TIANOCORE_SD_MMC_TIMEOUT) \
|
||||
CONFIG_EDK2_REPOSITORY=$(CONFIG_EDK2_REPOSITORY) \
|
||||
CONFIG_EDK2_TAG_OR_REV=$(CONFIG_EDK2_TAG_OR_REV) \
|
||||
CONFIG_EDK2_UEFIPAYLOAD=$(CONFIG_EDK2_UEFIPAYLOAD) \
|
||||
CONFIG_EDK2_UPSTREAM=$(CONFIG_EDK2_UPSTREAM) \
|
||||
CONFIG_EDK2_CUSTOM=$(CONFIG_EDK2_CUSTOM) \
|
||||
CONFIG_EDK2_CUSTOM_BUILD_PARAMS=$(CONFIG_EDK2_CUSTOM_BUILD_PARAMS) \
|
||||
CONFIG_EDK2_DEBUG=$(CONFIG_EDK2_DEBUG) \
|
||||
CONFIG_EDK2_RELEASE=$(CONFIG_EDK2_RELEASE) \
|
||||
CONFIG_EDK2_ABOVE_4G_MEMORY=$(CONFIG_EDK2_ABOVE_4G_MEMORY) \
|
||||
CONFIG_EDK2_BOOTSPLASH_FILE=$(CONFIG_EDK2_BOOTSPLASH_FILE) \
|
||||
CONFIG_EDK2_BOOT_MANAGER_ESCAPE=$(CONFIG_EDK2_BOOT_MANAGER_ESCAPE) \
|
||||
CONFIG_EDK2_BOOT_TIMEOUT=$(CONFIG_EDK2_BOOT_TIMEOUT) \
|
||||
CONFIG_EDK2_CBMEM_LOGGING=$(CONFIG_EDK2_CBMEM_LOGGING) \
|
||||
CONFIG_EDK2_FOLLOW_BGRT_SPEC=$(CONFIG_EDK2_FOLLOW_BGRT_SPEC) \
|
||||
CONFIG_EDK2_FULL_SCREEN_SETUP=$(CONFIG_EDK2_FULL_SCREEN_SETUP) \
|
||||
CONFIG_EDK2_HAVE_EFI_SHELL=$(CONFIG_EDK2_HAVE_EFI_SHELL) \
|
||||
CONFIG_EDK2_PRIORITIZE_INTERNAL=$(CONFIG_EDK2_PRIORITIZE_INTERNAL) \
|
||||
CONFIG_EDK2_PS2_SUPPORT=$(CONFIG_EDK2_PS2_SUPPORT) \
|
||||
CONFIG_EDK2_SERIAL_SUPPORT=$(CONFIG_EDK2_SERIAL_SUPPORT) \
|
||||
CONFIG_EDK2_SD_MMC_TIMEOUT=$(CONFIG_EDK2_SD_MMC_TIMEOUT) \
|
||||
CONFIG_ECAM_MMCONF_BASE_ADDRESS=$(CONFIG_ECAM_MMCONF_BASE_ADDRESS) \
|
||||
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_64=$(GCC_CC_x86_64) \
|
||||
GCC_CC_arm=$(GCC_CC_arm) \
|
||||
@ -190,7 +190,7 @@ $(obj)/UEFIPAYLOAD.fd tianocore: $(DOTCONFIG)
|
||||
OBJCOPY_arm=$(OBJCOPY_arm) \
|
||||
OBJCOPY_arm64=$(OBJCOPY_arm64) \
|
||||
MFLAGS= MAKEFLAGS=
|
||||
mv payloads/external/tianocore/output/UEFIPAYLOAD.fd $@
|
||||
mv payloads/external/edk2/output/UEFIPAYLOAD.fd $@
|
||||
|
||||
# FILO
|
||||
|
||||
|
@ -1,77 +1,77 @@
|
||||
if PAYLOAD_TIANOCORE
|
||||
if PAYLOAD_EDK2
|
||||
|
||||
config PAYLOAD_FILE
|
||||
string "Tianocore binary"
|
||||
string "edk2 binary"
|
||||
default "$(obj)/UEFIPAYLOAD.fd"
|
||||
help
|
||||
The result of a UefiPayloadPkg build
|
||||
|
||||
choice
|
||||
prompt "Tianocore payload"
|
||||
default TIANOCORE_UEFIPAYLOAD
|
||||
prompt "Tianocore's EDK II payload"
|
||||
default EDK2_UEFIPAYLOAD
|
||||
help
|
||||
Select which type of payload Tianocore will build (default is UefiPayload)
|
||||
UefiPayload: MrChromebox's customized fork of Tianocore which works on most
|
||||
Select which type of payload edk2 will build (default is UefiPayload)
|
||||
UefiPayload: MrChromebox's customized fork of edk2 which works on most
|
||||
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"
|
||||
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.
|
||||
|
||||
config TIANOCORE_UPSTREAM
|
||||
config EDK2_UPSTREAM
|
||||
bool "Upstream"
|
||||
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"
|
||||
help
|
||||
Specify your own edk2 repository and branch to use.
|
||||
|
||||
endchoice
|
||||
|
||||
config TIANOCORE_REPOSITORY
|
||||
config EDK2_REPOSITORY
|
||||
string "URL to git repository for edk2"
|
||||
default "https://github.com/tianocore/edk2" if TIANOCORE_UPSTREAM
|
||||
default "https://github.com/mrchromebox/edk2" if TIANOCORE_UEFIPAYLOAD
|
||||
default "https://github.com/tianocore/edk2" if EDK2_UPSTREAM
|
||||
default "https://github.com/mrchromebox/edk2" if EDK2_UEFIPAYLOAD
|
||||
help
|
||||
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.
|
||||
|
||||
config TIANOCORE_TAG_OR_REV
|
||||
config EDK2_TAG_OR_REV
|
||||
string "Insert a commit's SHA-1 or a branch name"
|
||||
default "origin/uefipayload_202207" if TIANOCORE_UEFIPAYLOAD
|
||||
default "origin/master" if TIANOCORE_UPSTREAM
|
||||
default "origin/uefipayload_202207" if EDK2_UEFIPAYLOAD
|
||||
default "origin/master" if EDK2_UPSTREAM
|
||||
help
|
||||
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"
|
||||
|
||||
choice
|
||||
prompt "Tianocore build"
|
||||
default TIANOCORE_RELEASE
|
||||
prompt "edk2 build"
|
||||
default EDK2_RELEASE
|
||||
help
|
||||
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
|
||||
bool "Generate Tianocore debug build"
|
||||
config EDK2_DEBUG
|
||||
bool "Generate edk2 debug build"
|
||||
help
|
||||
Generate a debug build.
|
||||
|
||||
config TIANOCORE_RELEASE
|
||||
bool "Generate Tianocore release build"
|
||||
config EDK2_RELEASE
|
||||
bool "Generate edk2 release build"
|
||||
help
|
||||
Generate a release build.
|
||||
|
||||
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"
|
||||
default n
|
||||
help
|
||||
@ -81,9 +81,8 @@ config TIANOCORE_ABOVE_4G_MEMORY
|
||||
Disabling memory above 4G is useful for bootloaders that are not
|
||||
fully 64-bit aware such as Qubes R4.0.4 bootloader.
|
||||
|
||||
|
||||
config TIANOCORE_BOOTSPLASH_FILE
|
||||
string "Tianocore Bootsplash path and filename"
|
||||
config EDK2_BOOTSPLASH_FILE
|
||||
string "edk2 Bootsplash path and filename"
|
||||
default "Documentation/coreboot_logo.bmp"
|
||||
help
|
||||
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).
|
||||
|
||||
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`).
|
||||
|
||||
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
|
||||
relative to the coreboot root directory.
|
||||
|
||||
config TIANOCORE_BOOT_MANAGER_ESCAPE
|
||||
config EDK2_BOOT_MANAGER_ESCAPE
|
||||
bool "Use Escape key for Boot Manager"
|
||||
default n
|
||||
help
|
||||
Use Escape as the hot-key to access the Boot Manager. This replaces
|
||||
the default key of F2.
|
||||
|
||||
config TIANOCORE_BOOT_TIMEOUT
|
||||
config EDK2_BOOT_TIMEOUT
|
||||
int "Set the timeout for boot menu prompt"
|
||||
default 2
|
||||
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 external display, a value of 5s is generally sufficient.
|
||||
|
||||
config TIANOCORE_CBMEM_LOGGING
|
||||
bool "Enable Tianocore logging to CBMEM"
|
||||
config EDK2_CBMEM_LOGGING
|
||||
bool "Enable edk2 logging to CBMEM"
|
||||
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
|
||||
this option, especially if using a debug (vs release) build.
|
||||
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"
|
||||
default n
|
||||
help
|
||||
@ -148,7 +147,7 @@ config TIANOCORE_FOLLOW_BGRT_SPEC
|
||||
the Boot Logo 38.2% will be vertically centered 38.2% from
|
||||
the top of the display.
|
||||
|
||||
config TIANOCORE_FULL_SCREEN_SETUP
|
||||
config EDK2_FULL_SCREEN_SETUP
|
||||
bool "Use the full screen for the edk2 frontpage"
|
||||
default y
|
||||
help
|
||||
@ -156,34 +155,34 @@ config TIANOCORE_FULL_SCREEN_SETUP
|
||||
(aka "Boot Menu"). With this option disable, it will be
|
||||
limited to 640x480.
|
||||
|
||||
config TIANOCORE_HAVE_EFI_SHELL
|
||||
config EDK2_HAVE_EFI_SHELL
|
||||
bool "Include EFI Shell"
|
||||
default y
|
||||
help
|
||||
Include the EFI shell Binary
|
||||
|
||||
config TIANOCORE_PRIORITIZE_INTERNAL
|
||||
config EDK2_PRIORITIZE_INTERNAL
|
||||
bool "Prioritize internal boot devices"
|
||||
default y
|
||||
help
|
||||
Prioritize internal boot devices over external devices
|
||||
|
||||
config TIANOCORE_PS2_SUPPORT
|
||||
config EDK2_PS2_SUPPORT
|
||||
bool "Support PS/2 Keyboards"
|
||||
default y
|
||||
help
|
||||
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"
|
||||
default 10
|
||||
help
|
||||
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.
|
||||
|
||||
config TIANOCORE_SERIAL_SUPPORT
|
||||
config EDK2_SERIAL_SUPPORT
|
||||
bool "Support serial output"
|
||||
default y if TIANOCORE_DEBUG
|
||||
default y if EDK2_DEBUG
|
||||
default n
|
||||
help
|
||||
Enable serial port output in edk2. Serial output limits the performance of edk2's
|
||||
@ -191,9 +190,9 @@ config TIANOCORE_SERIAL_SUPPORT
|
||||
|
||||
endif
|
||||
|
||||
config TIANOCORE_CUSTOM_BUILD_PARAMS
|
||||
string "TianoCore additional custom build parameters"
|
||||
default "-D VARIABLE_SUPPORT=SMMSTORE" if TIANOCORE_UEFIPAYLOAD && SMMSTORE_V2
|
||||
config EDK2_CUSTOM_BUILD_PARAMS
|
||||
string "edk2 additional custom build parameters"
|
||||
default "-D VARIABLE_SUPPORT=SMMSTORE" if EDK2_UEFIPAYLOAD && SMMSTORE_V2
|
||||
help
|
||||
edk2 has build options that are not modified by coreboot, and these can be
|
||||
found in `UefiPayloadPkg/UefiPayloadPkg.dsc`. Forks may also support
|
@ -1,9 +1,9 @@
|
||||
config PAYLOAD_TIANOCORE
|
||||
bool "Tianocore payload"
|
||||
config PAYLOAD_EDK2
|
||||
bool "edk2 payload"
|
||||
depends on ARCH_X86 || ARCH_ARM64
|
||||
help
|
||||
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.
|
||||
|
||||
See https://coreboot.org/Payloads for more information.
|
@ -3,8 +3,8 @@
|
||||
# force the shell to bash - the edksetup.sh script doesn't work with dash
|
||||
export SHELL := env bash
|
||||
|
||||
project_name = Tianocore
|
||||
project_dir = $(CURDIR)/$(word 3,$(subst /, ,$(CONFIG_TIANOCORE_REPOSITORY)))
|
||||
project_name = edk2
|
||||
project_dir = $(CURDIR)/$(word 3,$(subst /, ,$(CONFIG_EDK2_REPOSITORY)))
|
||||
|
||||
BUILD_STR = -a IA32 -a X64 -t COREBOOT
|
||||
BUILD_STR += -p UefiPayloadPkg/UefiPayloadPkg.dsc
|
||||
@ -17,27 +17,27 @@ BUILD_STR += -D BOOTLOADER=COREBOOT -q
|
||||
# OPTION = DEFAULT_VALUE
|
||||
#
|
||||
# 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
|
||||
endif
|
||||
# BOOTSPLASH_IMAGE = FALSE
|
||||
ifneq ($(CONFIG_TIANOCORE_BOOTSPLASH_FILE),)
|
||||
ifneq ($(CONFIG_EDK2_BOOTSPLASH_FILE),)
|
||||
BUILD_STR += -D BOOTSPLASH_IMAGE=TRUE
|
||||
endif
|
||||
# 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
|
||||
endif
|
||||
# BUILD_TARGETS = DEBUG
|
||||
ifeq ($(CONFIG_TIANOCORE_RELEASE),y)
|
||||
ifeq ($(CONFIG_EDK2_RELEASE),y)
|
||||
BUILD_STR += -b RELEASE
|
||||
endif
|
||||
# DISABLE_SERIAL_TERMINAL = FALSE
|
||||
ifneq ($(CONFIG_TIANOCORE_SERIAL_SUPPORT),y)
|
||||
ifneq ($(CONFIG_EDK2_SERIAL_SUPPORT),y)
|
||||
BUILD_STR += -D DISABLE_SERIAL_TERMINAL=TRUE
|
||||
endif
|
||||
# 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
|
||||
endif
|
||||
# PCIE_BASE_ADDRESS = 0
|
||||
@ -49,39 +49,39 @@ ifneq ($(CONFIG_ECAM_MMCONF_LENGTH),)
|
||||
BUILD_STR += --pcd gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize=$(CONFIG_ECAM_MMCONF_LENGTH)
|
||||
endif
|
||||
# PRIORITIZE_INTERNAL = FALSE
|
||||
ifeq ($(CONFIG_TIANOCORE_PRIORITIZE_INTERNAL),y)
|
||||
ifeq ($(CONFIG_EDK2_PRIORITIZE_INTERNAL),y)
|
||||
BUILD_STR += -D PRIORITIZE_INTERNAL=TRUE
|
||||
endif
|
||||
# PS2_KEYBOARD_ENABLE = FALSE
|
||||
ifeq ($(CONFIG_TIANOCORE_PS2_SUPPORT),y)
|
||||
ifeq ($(CONFIG_EDK2_PS2_SUPPORT),y)
|
||||
BUILD_STR += -D PS2_KEYBOARD_ENABLE=TRUE
|
||||
endif
|
||||
# PLATFORM_BOOT_TIMEOUT = 3
|
||||
ifneq ($(CONFIG_TIANOCORE_BOOT_TIMEOUT),)
|
||||
BUILD_STR += -D PLATFORM_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT)
|
||||
ifneq ($(CONFIG_EDK2_BOOT_TIMEOUT),)
|
||||
BUILD_STR += -D PLATFORM_BOOT_TIMEOUT=$(CONFIG_EDK2_BOOT_TIMEOUT)
|
||||
endif
|
||||
# SIO_BUS_ENABLE = FALSE
|
||||
ifeq ($(CONFIG_TIANOCORE_PS2_SUPPORT),y)
|
||||
ifeq ($(CONFIG_EDK2_PS2_SUPPORT),y)
|
||||
BUILD_STR += -D SIO_BUS_ENABLE=TRUE
|
||||
endif
|
||||
# SHELL_TYPE = BUILD_SHELL
|
||||
ifneq ($(CONFIG_TIANOCORE_HAVE_EFI_SHELL),y)
|
||||
ifneq ($(CONFIG_EDK2_HAVE_EFI_SHELL),y)
|
||||
BUILD_STR += -D SHELL_TYPE=NONE
|
||||
endif
|
||||
# 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
|
||||
endif
|
||||
# SD_MMC_TIMEOUT = 1000000
|
||||
ifneq ($(CONFIG_TIANOCORE_SD_MMC_TIMEOUT),)
|
||||
BUILD_STR += -D SD_MMC_TIMEOUT=$(shell echo $$(( $(CONFIG_TIANOCORE_SD_MMC_TIMEOUT) * 1000)) )
|
||||
ifneq ($(CONFIG_EDK2_SD_MMC_TIMEOUT),)
|
||||
BUILD_STR += -D SD_MMC_TIMEOUT=$(shell echo $$(( $(CONFIG_EDK2_SD_MMC_TIMEOUT) * 1000)) )
|
||||
endif
|
||||
|
||||
#
|
||||
# EDKII has the below PCDs that are relevant to coreboot:
|
||||
#
|
||||
# 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.PcdConOutColumn=0
|
||||
BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow=0
|
||||
@ -90,42 +90,42 @@ endif
|
||||
|
||||
bootloader = $(word 8,$(subst /, ,$(BUILD_STR)))
|
||||
|
||||
ifneq ($(CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS),)
|
||||
BUILD_STR += $(CONFIG_TIANOCORE_CUSTOM_BUILD_PARAMS)
|
||||
ifneq ($(CONFIG_EDK2_CUSTOM_BUILD_PARAMS),)
|
||||
BUILD_STR += $(CONFIG_EDK2_CUSTOM_BUILD_PARAMS)
|
||||
endif
|
||||
|
||||
all: clean build
|
||||
|
||||
$(project_dir):
|
||||
echo " Cloning $(project_name) from $(CONFIG_TIANOCORE_REPOSITORY)"
|
||||
git clone $(CONFIG_TIANOCORE_REPOSITORY) $(project_dir); \
|
||||
echo " Cloning $(project_name) from $(CONFIG_EDK2_REPOSITORY)"
|
||||
git clone $(CONFIG_EDK2_REPOSITORY) $(project_dir); \
|
||||
cd $(project_dir);
|
||||
|
||||
update: $(project_dir)
|
||||
if [ ! -d "$(project_dir)" ]; then \
|
||||
git clone $(CONFIG_TIANOCORE_REPOSITORY) $(project_dir); \
|
||||
git clone $(CONFIG_EDK2_REPOSITORY) $(project_dir); \
|
||||
fi
|
||||
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; \
|
||||
if ! git rev-parse --verify -q $(CONFIG_TIANOCORE_TAG_OR_REV) >/dev/null; then \
|
||||
echo " $(CONFIG_TIANOCORE_TAG_OR_REV) is not a valid git reference"; \
|
||||
if ! git rev-parse --verify -q $(CONFIG_EDK2_TAG_OR_REV) >/dev/null; then \
|
||||
echo " $(CONFIG_EDK2_TAG_OR_REV) is not a valid git reference"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if git status --ignore-submodules=dirty | grep -q clean; then \
|
||||
echo " Checking out $(project_name) revision $(CONFIG_TIANOCORE_TAG_OR_REV)"; \
|
||||
git checkout --detach $(CONFIG_TIANOCORE_TAG_OR_REV) -f; \
|
||||
echo " Checking out $(project_name) revision $(CONFIG_EDK2_TAG_OR_REV)"; \
|
||||
git checkout --detach $(CONFIG_EDK2_TAG_OR_REV) -f; \
|
||||
else \
|
||||
echo " Working directory not clean; will not overwrite"; \
|
||||
fi; \
|
||||
git submodule update --init --checkout
|
||||
|
||||
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;; \
|
||||
*) convert -background None $(top)/$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \
|
||||
*) convert -background None $(top)/$(CONFIG_EDK2_BOOTSPLASH_FILE) \
|
||||
BMP3:$(project_dir)/MdeModulePkg/Logo/Logo.bmp;; \
|
||||
esac \
|
||||
|
||||
@ -152,8 +152,8 @@ checktools:
|
||||
|
||||
build: update logo checktools
|
||||
echo " ##### $(project_name) Build Summary #####"
|
||||
echo " Repository: $(CONFIG_TIANOCORE_REPOSITORY)"
|
||||
echo " Branch: $(CONFIG_TIANOCORE_TAG_OR_REV)"
|
||||
echo " Repository: $(CONFIG_EDK2_REPOSITORY)"
|
||||
echo " Branch: $(CONFIG_EDK2_TAG_OR_REV)"
|
||||
echo " $(BUILD_STR)" | \
|
||||
sed 's/-/\n /g' | sort | sed \
|
||||
-e 's/a /Architecture: /g' \
|
@ -15,7 +15,7 @@
|
||||
#
|
||||
|
||||
#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
|
||||
|
||||
DEFINE COREBOOT_IA32_PREFIX = ENV(GCC_CC_x86_32)
|
@ -420,7 +420,7 @@ endif # FRAMEBUFFER_SET_VESA_MODE
|
||||
config WANT_LINEAR_FRAMEBUFFER
|
||||
bool
|
||||
default y if CHROMEOS
|
||||
default y if PAYLOAD_TIANOCORE
|
||||
default y if PAYLOAD_EDK2
|
||||
default y if COREDOOM_SECONDARY_PAYLOAD
|
||||
|
||||
choice
|
||||
|
@ -14,7 +14,7 @@ config MP_SERVICES_PPI_V1
|
||||
select MP_SERVICES_PPI
|
||||
help
|
||||
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
|
||||
bool
|
||||
@ -22,7 +22,7 @@ config MP_SERVICES_PPI_V2
|
||||
select MP_SERVICES_PPI
|
||||
help
|
||||
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
|
||||
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.
|
||||
|
@ -58,7 +58,7 @@ static efi_return_status_t mps1_identify_processor(const
|
||||
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 = {
|
||||
mps1_get_number_of_processors,
|
||||
|
@ -67,7 +67,7 @@ static efi_return_status_t mps2_identify_processor(
|
||||
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 = {
|
||||
mps2_get_number_of_processors,
|
||||
|
@ -96,7 +96,7 @@ efi_return_status_t mp_startup_all_cpus(efi_ap_procedure procedure,
|
||||
/*
|
||||
* 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
|
||||
* or concurrently).
|
||||
*
|
||||
|
@ -33,7 +33,7 @@ static bool looks_like_fsp_header(struct fsp_header *hdr)
|
||||
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
|
||||
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. */
|
||||
|
@ -3,13 +3,13 @@
|
||||
config SMMSTORE
|
||||
bool "Support for flash based, SMM mediated data store"
|
||||
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
|
||||
|
||||
config SMMSTORE_V2
|
||||
bool "Use version 2 of SMMSTORE API"
|
||||
depends on SMMSTORE
|
||||
default y if PAYLOAD_TIANOCORE
|
||||
default y if PAYLOAD_EDK2
|
||||
default n
|
||||
help
|
||||
Version 2 of SMMSTORE allows secure communication with SMM and
|
||||
|
@ -311,7 +311,7 @@ int smmstore_get_info(struct smmstore_params_info *out)
|
||||
out->block_size = 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);
|
||||
|
||||
printk(BIOS_DEBUG, "smm store: %d # blocks with size 0x%x\n",
|
||||
|
@ -12,7 +12,7 @@ config TPM_PPI
|
||||
depends on TPM
|
||||
depends on HAVE_ACPI_TABLES
|
||||
depends on !CHROMEOS
|
||||
default y if PAYLOAD_TIANOCORE
|
||||
default y if PAYLOAD_EDK2
|
||||
help
|
||||
This driver automatically generates ACPI tables for the Physical
|
||||
Presence Interface defined by the TCG. If not activated only a stub
|
||||
|
@ -53,7 +53,7 @@ struct smmstore_params_init {
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
struct smmstore_params_info {
|
||||
|
@ -70,7 +70,7 @@ config ENABLE_DDR_2X_REFRESH
|
||||
config PCIEXP_AER
|
||||
def_bool n
|
||||
|
||||
config TIANOCORE_BOOT_TIMEOUT
|
||||
config EDK2_BOOT_TIMEOUT
|
||||
int
|
||||
default 5
|
||||
|
||||
|
@ -100,7 +100,7 @@ config UART_FOR_CONSOLE
|
||||
config USE_PM_ACPI_TIMER
|
||||
default n
|
||||
|
||||
config TIANOCORE_BOOT_TIMEOUT
|
||||
config EDK2_BOOT_TIMEOUT
|
||||
int
|
||||
default 5
|
||||
|
||||
|
@ -285,7 +285,7 @@ config VBOOT
|
||||
config USE_PM_ACPI_TIMER
|
||||
default n
|
||||
|
||||
config TIANOCORE_BOOT_TIMEOUT
|
||||
config EDK2_BOOT_TIMEOUT
|
||||
int
|
||||
default 5 if BOARD_GOOGLE_BASEBOARD_PUFF
|
||||
|
||||
|
@ -53,7 +53,7 @@ config MAINBOARD_SMBIOS_MANUFACTURER
|
||||
config PCIEXP_AER
|
||||
def_bool n
|
||||
|
||||
config TIANOCORE_BOOT_TIMEOUT
|
||||
config EDK2_BOOT_TIMEOUT
|
||||
int
|
||||
default 5
|
||||
|
||||
|
@ -66,7 +66,7 @@ config TRACKPAD_INTERRUPT
|
||||
default 0x1 if BOARD_STARLABS_LITE_GLK
|
||||
default 0x0 if BOARD_STARLABS_LITE_GLKR
|
||||
|
||||
config TIANOCORE_BOOTSPLASH_FILE
|
||||
config EDK2_BOOTSPLASH_FILE
|
||||
string
|
||||
default "3rdparty/blobs/mainboard/starlabs/Logo.bmp"
|
||||
|
||||
|
@ -113,7 +113,7 @@ config ME_BIN_PATH
|
||||
string
|
||||
default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/intel_me.bin"
|
||||
|
||||
config TIANOCORE_BOOTSPLASH_FILE
|
||||
config EDK2_BOOTSPLASH_FILE
|
||||
string
|
||||
default "3rdparty/blobs/mainboard/starlabs/Logo.bmp"
|
||||
|
||||
|
@ -268,7 +268,7 @@ function update_config
|
||||
echo "# CONFIG_PAYLOAD_DEPTHCHARGE is not set"
|
||||
echo "# CONFIG_PAYLOAD_LINUXBOOT 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_BUILD_IPXE is not set"
|
||||
echo "# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set"
|
||||
|
Loading…
x
Reference in New Issue
Block a user