diff --git a/Documentation/payloads.md b/Documentation/payloads.md index eee841eacd..7f4c08c202 100644 --- a/Documentation/payloads.md +++ b/Documentation/payloads.md @@ -21,7 +21,7 @@ mainline code. 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 -CorebootPayloadPkg part of its source tree. +UefiPayloadPkg part of its source tree. ## GRUB2 diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 9b4e708f70..e30f57052d 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -143,10 +143,9 @@ payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd tianocore: $(DOTCONFI CONFIG_TIANOCORE_REVISION_ID=$(CONFIG_TIANOCORE_REVISION_ID) \ CONFIG_TIANOCORE_DEBUG=$(CONFIG_TIANOCORE_DEBUG) \ CONFIG_TIANOCORE_TARGET_IA32=$(CONFIG_TIANOCORE_TARGET_IA32) \ - CONFIG_TIANOCORE_USE_8254_TIMER=$(CONFIG_TIANOCORE_USE_8254_TIMER) \ CONFIG_TIANOCORE_BOOTSPLASH_FILE=$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \ CONFIG_TIANOCORE_UEFIPAYLOAD=$(CONFIG_TIANOCORE_UEFIPAYLOAD) \ - CONFIG_TIANOCORE_COREBOOTPAYLOAD=$(CONFIG_TIANOCORE_COREBOOTPAYLOAD) \ + CONFIG_TIANOCORE_UPSTREAM=$(CONFIG_TIANOCORE_UPSTREAM) \ CONFIG_MMCONF_BASE_ADDRESS=$(CONFIG_MMCONF_BASE_ADDRESS) \ CONFIG_TIANOCORE_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT) \ GCC_CC_x86_32=$(GCC_CC_x86_32) \ diff --git a/payloads/external/tianocore/Kconfig b/payloads/external/tianocore/Kconfig index 87b6e15582..e53be168bc 100644 --- a/payloads/external/tianocore/Kconfig +++ b/payloads/external/tianocore/Kconfig @@ -4,25 +4,25 @@ config PAYLOAD_FILE string "Tianocore binary" default "payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd" help - The result of a corebootPkg build + The result of a UefiPayloadPkg build choice prompt "Tianocore payload" - default TIANOCORE_COREBOOTPAYLOAD + default TIANOCORE_UEFIPAYLOAD help - Select which type of payload Tianocore will build (default is CorebootPayload) - CorebootPayload: MrChromebox's customized version of Tianocore which works on most - (all?) x86_64 devices - UEFIPayload: Use upstream Tianocore payload from https://github.com/tianocore/edk2 - -config TIANOCORE_COREBOOTPAYLOAD - bool "CorebootPayload" - help - Select this option to build using MrChromebox's custom Tianocore tree - i.e. a version of Tianocore that builds without any errors and just works. + Select which type of payload Tianocore will build (default is UefiPayload) + UefiPayload: MrChromebox's customized fork of Tianocore which works on most + x86_64 devices + Upstream: Use upstream Tianocore payload from https://github.com/tianocore/edk2 config TIANOCORE_UEFIPAYLOAD bool "UEFIPayload" + help + Select this option to build using MrChromebox's custom Tianocore fork, + which incorporates fixes/improvements from System 76's and 9elements' trees. + +config TIANOCORE_UPSTREAM + bool "Upstream" help Select this option if you want to use upstream EDK2 to build Tianocore. @@ -76,11 +76,6 @@ config TIANOCORE_RELEASE endchoice -config TIANOCORE_USE_8254_TIMER - bool "TianoCore 8254 Timer" - help - Use 8254 Timer for legacy support. - config TIANOCORE_BOOTSPLASH_IMAGE bool "Use a custom bootsplash image" help diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile index 7cd34f1732..ad0328ad38 100644 --- a/payloads/external/tianocore/Makefile +++ b/payloads/external/tianocore/Makefile @@ -6,18 +6,15 @@ export SHELL := env bash project_name=Tianocore project_dir=$(CURDIR)/tianocore project_git_repo=https://github.com/mrchromebox/edk2 -project_git_branch=coreboot_fb +project_git_branch=uefipayloadpkg upstream_git_repo=https://github.com/tianocore/edk2 -ifeq ($(CONFIG_TIANOCORE_UEFIPAYLOAD),y) -bootloader=UefiPayloadPkg -logo_pkg=MdeModulePkg build_flavor=-D BOOTLOADER=COREBOOT -D PCIE_BASE=$(CONFIG_MMCONF_BASE_ADDRESS) -DPS2_KEYBOARD_ENABLE + +ifeq ($(CONFIG_TIANOCORE_UPSTREAM),y) TAG=upstream/master else -bootloader=CorebootPayloadPkg -logo_pkg=CorebootPayloadPkg -# STABLE revision is MrChromebox's coreboot framebuffer (coreboot_fb) branch +# STABLE revision is MrChromebox's UefiPayloadPkg (ueifpayloadpkg) branch TAG=origin/$(project_git_branch) endif @@ -33,23 +30,15 @@ else BUILD_TYPE=RELEASE endif -ifneq ($(CONFIG_TIANOCORE_USE_8254_TIMER), y) -TIMER=-DUSE_HPET_TIMER -endif - TIMEOUT=-D PLATFORM_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT) -ifeq ($(CONFIG_TIANOCORE_COREBOOTPAYLOAD),y) ifeq ($(CONFIG_TIANOCORE_TARGET_IA32), y) -ARCH=-a IA32 -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc +ARCH=-a IA32 else -ARCH=-a IA32 -a X64 -p CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc -endif -else -ARCH=-a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc +ARCH=-a IA32 -a X64 endif -BUILD_STR=-q $(ARCH) -t COREBOOT -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor) +BUILD_STR=-q $(ARCH) -p UefiPayloadPkg/UefiPayloadPkg.dsc -t COREBOOT -b $(BUILD_TYPE) $(TIMEOUT) $(build_flavor) all: clean build @@ -93,9 +82,9 @@ build: update checktools echo " Copying custom bootsplash image"; \ case "$(CONFIG_TIANOCORE_BOOTSPLASH_FILE)" in \ /*) cp $(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \ - $(project_dir)/$(logo_pkg)/Logo/Logo.bmp;; \ + $(project_dir)/MdeModulePkg/Logo/Logo.bmp;; \ *) cp $(top)/$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \ - $(project_dir)/$(logo_pkg)/Logo/Logo.bmp;; \ + $(project_dir)/MdeModulePkg/Logo/Logo.bmp;; \ esac \ fi; \ cd $(project_dir); \ @@ -108,7 +97,7 @@ build: update checktools fi; \ build $(BUILD_STR); \ mv $(project_dir)/Build/$(bootloader)*/*/FV/UEFIPAYLOAD.fd $(project_dir)/Build/UEFIPAYLOAD.fd; \ - git checkout $(logo_pkg)/Logo/Logo.bmp > /dev/null 2>&1 || true + git checkout MdeModulePkg/Logo/Logo.bmp > /dev/null 2>&1 || true clean: test -d $(project_dir) && (cd $(project_dir); rm -rf Build; rm -f Conf/tools_def.txt) || exit 0