Attention is currently required from: Arthur Heymans, Kyösti Mälkki. Hello Arthur Heymans, Kyösti Mälkki,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/53985
to review the following change.
Change subject: AGESA f15tn: Hook up IDS options to Kconfig ......................................................................
AGESA f15tn: Hook up IDS options to Kconfig
IDS (Integrated Debug Services) options are meant to be enabled when one wants to debug AGESA. Since they are compile-time options, using Kconfig is the logical choice. Currently, none of the options builds.
Tested with BUILD_TIMELESS=1 without adding the configuration options into the binary, and Asus A88XM-E does not change.
Change-Id: I465627c19c9856e58ca94aa0efedbddb6baaf3f6 Signed-off-by: Angel Pons th3fanbus@gmail.com --- M src/cpu/amd/agesa/family15tn/Kconfig M src/vendorcode/amd/agesa/Kconfig M src/vendorcode/amd/agesa/f15tn/OptionsIds.h 3 files changed, 62 insertions(+), 26 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/85/53985/1
diff --git a/src/cpu/amd/agesa/family15tn/Kconfig b/src/cpu/amd/agesa/family15tn/Kconfig index 70f71ed..8c52e9a 100644 --- a/src/cpu/amd/agesa/family15tn/Kconfig +++ b/src/cpu/amd/agesa/family15tn/Kconfig @@ -2,6 +2,7 @@
config CPU_AMD_AGESA_FAMILY15_TN bool + select IDS_OPTIONS_HOOKED_UP select X86_AMD_FIXED_MTRRS
if CPU_AMD_AGESA_FAMILY15_TN diff --git a/src/vendorcode/amd/agesa/Kconfig b/src/vendorcode/amd/agesa/Kconfig index ce59fe1..df177bb 100644 --- a/src/vendorcode/amd/agesa/Kconfig +++ b/src/vendorcode/amd/agesa/Kconfig @@ -1,5 +1,61 @@ # SPDX-License-Identifier: GPL-2.0-only
+config IDS_OPTIONS_HOOKED_UP + bool + help + to Kconfig options. + Historically, IDS configuration was defined in a mainboard-specific + `OptionsIds.h` header. Select this on platforms where IDS config is + hooked up to Kconfig options instead. + +if IDS_OPTIONS_HOOKED_UP + +config IDS_ENABLED + bool "Enable AGESA IDS (Integrated Debug Services) support" + default y + help + This is the master switch for the IDS sub-system. Use this option to + enable or remove the entire IDS feature set. This switch must be TRUE + for any of the other options to function. + +comment "Warning: IDS options may not work. Enable at your own risk!" + depends on IDS_ENABLED + +config IDS_CONTROL_ENABLED + bool "Enable IDS User Interface controls" + depends on IDS_ENABLED + help + This is the main switch for the IDS configuration controls. This + switch must be TRUE for any of the configuration controls to function. + + This seems to allow AGESA to retrieve settings from CMOS. + +config IDS_PERF_ANALYSIS + bool "Enable IDS performance analysis" + depends on IDS_ENABLED + help + This is the main switch for the IDS performance analysis controls, + macros and support code needed to enable time data gathering. This + switch must be TRUE for any of the performance analysis features to + function. + +config IDS_TRACING_ENABLED + bool "Enable IDS console" + depends on IDS_ENABLED + help + This is the main switch for the IDS console controls, macros and + support code needed to enable tracing of algorithms. This switch + must be TRUE for any of the tracing features to function. + +config IDS_TRACING_CONSOLE_SERIAL + bool "Use serial port as IDS console" + depends on IDS_TRACING_ENABLED + default DRIVERS_UART_8250IO + help + Use an I/O-mapped serial port to output IDS messages. + +endif # IDS_OPTIONS_HOOKED_UP + choice prompt "DDR3 memory profile" default CPU_AMD_AGESA_OPENSOURCE_MEM_JEDEC diff --git a/src/vendorcode/amd/agesa/f15tn/OptionsIds.h b/src/vendorcode/amd/agesa/f15tn/OptionsIds.h index 77b239d..cf16de3 100644 --- a/src/vendorcode/amd/agesa/f15tn/OptionsIds.h +++ b/src/vendorcode/amd/agesa/f15tn/OptionsIds.h @@ -1,33 +1,12 @@ /* SPDX-License-Identifier: GPL-2.0-only */
-/** - * @file - * - * IDS Option File - * - * This file is used to switch on/off IDS features. - */ #ifndef _OPTION_IDS_H_ #define _OPTION_IDS_H_
-/** - * This file generates the defaults tables for the Integrated Debug Support - * Module. The documented build options are imported from a user controlled - * file for processing. The build options for the Integrated Debug Support - * Module are listed below: - * - * IDSOPT_IDS_ENABLED - * IDSOPT_ERROR_TRAP_ENABLED - * IDSOPT_CONTROL_ENABLED - * IDSOPT_TRACING_ENABLED - * IDSOPT_PERF_ANALYSIS - * IDSOPT_CAR_CORRUPTION_CHECK_ENABLED - **/ - -#define IDSOPT_IDS_ENABLED TRUE -//#define IDSOPT_CONTROL_ENABLED TRUE -//#define IDSOPT_TRACING_ENABLED TRUE -#define IDSOPT_TRACING_CONSOLE_SERIALPORT TRUE -//#define IDSOPT_PERF_ANALYSIS TRUE +#define IDSOPT_IDS_ENABLED CONFIG(IDS_ENABLED) +#define IDSOPT_CONTROL_ENABLED CONFIG(IDS_CONTROL_ENABLED) +#define IDSOPT_PERF_ANALYSIS CONFIG(IDS_PERF_ANALYSIS) +#define IDSOPT_TRACING_ENABLED CONFIG(IDS_TRACING_ENABLED) +#define IDSOPT_TRACING_CONSOLE_SERIALPORT CONFIG(IDS_TRACING_CONSOLE_SERIAL)
#endif