From 8d020508fc1f08d9bde3e140410aaaba2815253c Mon Sep 17 00:00:00 2001 From: Cliff Huang Date: Tue, 27 Aug 2024 19:56:13 -0700 Subject: [PATCH] payloads/depthcharge: Add default 64-bit libpayload config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add CONFIG_LP_DEFCONFIG_OVERRIDE_X64 flag to select default 64-bit config file in payloads/libpayload/configs directory. This is used in standalone environment. The existing libpayload deconfig file is for boards with 32-bit format and deconfig_64 file is added for 64-bit without adding specific board.[board name] file in libpayload. BUG=none TEST=Build with this new flag and check that the libpayload and depthcharge.elf are built in 64-bit format. Signed-off-by: Cliff Huang Change-Id: Iac07cf9e3c11e49955c69553407be76ef4f8c060 Reviewed-on: https://review.coreboot.org/c/coreboot/+/84107 Reviewed-by: Jérémy Compostella Tested-by: build bot (Jenkins) Reviewed-by: Kim, Wonkyu --- payloads/external/Makefile.mk | 3 ++- payloads/external/depthcharge/Kconfig | 11 +++++++++++ payloads/external/depthcharge/Makefile | 3 +++ payloads/libpayload/configs/defconfig_64 | 9 +++++++++ payloads/libpayload/curses/Makefile.mk | 5 ++++- 5 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 payloads/libpayload/configs/defconfig_64 diff --git a/payloads/external/Makefile.mk b/payloads/external/Makefile.mk index 1a494486db..a15ec2f378 100644 --- a/payloads/external/Makefile.mk +++ b/payloads/external/Makefile.mk @@ -152,7 +152,8 @@ payloads/external/depthcharge/depthcharge/build/depthcharge.elf depthcharge: $(D DEPTHCHARGE_STABLE=$(CONFIG_DEPTHCHARGE_STABLE) \ DEPTHCHARGE_REVISION=$(CONFIG_DEPTHCHARGE_REVISION) \ DEPTHCHARGE_REVISION_ID=$(CONFIG_DEPTHCHARGE_REVISION_ID) \ - OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE) + OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE) \ + OVERRIDE_DEFCONFIG_64=$(CONFIG_LP_DEFCONFIG_OVERRIDE_X64) # edk2 diff --git a/payloads/external/depthcharge/Kconfig b/payloads/external/depthcharge/Kconfig index 86b20abcaf..7a9c7d7596 100644 --- a/payloads/external/depthcharge/Kconfig +++ b/payloads/external/depthcharge/Kconfig @@ -62,4 +62,15 @@ config LP_DEFCONFIG_OVERRIDE instead. This is can be a convenience for development purposes, or if the defaults in defconfig are sufficient for your system. +config LP_DEFCONFIG_OVERRIDE_X64 + bool "Use default 64-bit libpayload config" + depends on !LP_DEFCONFIG_OVERRIDE + help + The Depthcharge makefile looks for a file config. in the + libpayload/configs directory. Say Y here to use the file defconfig + for 64-bit format instead. This can be convenient for development for + a new board, or if the defaults in 64-bit defconfig file (i.e. + defconfig_64) are sufficient for your system without creating + board.[name] file. + endif diff --git a/payloads/external/depthcharge/Makefile b/payloads/external/depthcharge/Makefile index af303da872..2328d6d2c6 100644 --- a/payloads/external/depthcharge/Makefile +++ b/payloads/external/depthcharge/Makefile @@ -30,6 +30,9 @@ BOARD:=$(notdir $(CONFIG_MAINBOARD_DIR)) ifeq ($(OVERRIDE_DEFCONFIG),y) libpayload_config=$(libpayload_dir)/configs/defconfig DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using default defconfig for libpayload" +else ifeq ($(OVERRIDE_DEFCONFIG_64),y) +libpayload_config=$(libpayload_dir)/configs/defconfig_64 +DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using default defconfig for 64-bit libpayload" else libpayload_config=$(libpayload_dir)/configs/config.$(BOARD) DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using $(libpayload_dir)/configs/config.$(BOARD)" diff --git a/payloads/libpayload/configs/defconfig_64 b/payloads/libpayload/configs/defconfig_64 new file mode 100644 index 0000000000..9db83c0635 --- /dev/null +++ b/payloads/libpayload/configs/defconfig_64 @@ -0,0 +1,9 @@ +CONFIG_LP_ARCH_X86_64=y +# CONFIG_LP_MULTIBOOT is not set +CONFIG_LP_COREBOOT_VIDEO_CONSOLE=y +CONFIG_LP_USB=y +CONFIG_LP_USB_UHCI=y +CONFIG_LP_USB_OHCI=y +CONFIG_LP_USB_EHCI=y +CONFIG_LP_USB_XHCI=y +CONFIG_LP_HEAP_SIZE=1048576 diff --git a/payloads/libpayload/curses/Makefile.mk b/payloads/libpayload/curses/Makefile.mk index 99f8d70e05..8c8c401c65 100644 --- a/payloads/libpayload/curses/Makefile.mk +++ b/payloads/libpayload/curses/Makefile.mk @@ -38,7 +38,10 @@ includes-$(CONFIG_LP_TINYCURSES) += curses.h ifeq ($(CONFIG_LP_PDCURSES),y) PDCURSES := PDCurses -INCLUDES += -D_LP64=0 -Icurses/$(PDCURSES) -Icurses/pdcurses-backend -Icurses/menu -Icurses/form +ifneq ($(CONFIG_LP_ARCH_X86_64),y) +INCLUDES += -D_LP64=0 +endif +INCLUDES += -Icurses/$(PDCURSES) -Icurses/pdcurses-backend -Icurses/menu -Icurses/form endif libcurses-$(CONFIG_LP_PDCURSES) += pdcurses-backend/pdcdisp.c