summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Kconfig10
-rw-r--r--src/include/console/debug.h22
-rw-r--r--src/include/device/device.h14
-rw-r--r--src/soc/intel/xeon_sp/cpx/chip.c1
-rw-r--r--src/soc/intel/xeon_sp/cpx/cpu.c1
-rw-r--r--src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h16
-rw-r--r--src/soc/intel/xeon_sp/include/soc/util.h15
-rw-r--r--src/soc/intel/xeon_sp/skx/chip.c2
-rw-r--r--src/soc/intel/xeon_sp/skx/cpu.c1
9 files changed, 51 insertions, 31 deletions
diff --git a/src/Kconfig b/src/Kconfig
index eda11c331e..dc98ca2c05 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -1123,6 +1123,16 @@ config TRACE
of calling function. Please note some printk related functions
are omitted from trace to have good looking console dumps.
+config DEBUG_FUNC
+ bool "Enable function entry and exit reporting macros" if DEFAULT_CONSOLE_LOGLEVEL_8
+ default n
+ help
+ This option enables additional function entry and exit debug messages
+ for select functions. If supported, this is less output than
+ the TRACE option.
+ Note: This option will increase the size of the coreboot image.
+ If unsure, say N.
+
config DEBUG_COVERAGE
bool "Debug code coverage"
default n
diff --git a/src/include/console/debug.h b/src/include/console/debug.h
new file mode 100644
index 0000000000..174c287c6a
--- /dev/null
+++ b/src/include/console/debug.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef _CONSOLE_DEBUG_H_
+#define _CONSOLE_DEBUG_H_
+
+#if CONFIG(DEBUG_FUNC)
+#include <console/console.h>
+
+#define FUNC_ENTER() \
+ printk(BIOS_SPEW, "%s:%s:%d: ENTER\n", __FILE__, __func__, __LINE__)
+
+#define FUNC_EXIT() \
+ printk(BIOS_SPEW, "%s:%s:%d: EXIT\n", __FILE__, __func__, __LINE__)
+
+#else /* FUNC_DEBUG */
+
+#define FUNC_ENTER()
+#define FUNC_EXIT()
+
+#endif /* FUNC_DEBUG */
+
+#endif
diff --git a/src/include/device/device.h b/src/include/device/device.h
index eb9ef42eef..8a481b2ca2 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -279,6 +279,20 @@ void show_all_devs_resources(int debug_level, const char *msg);
#define LOG_IO_RESOURCE(type, dev, index, base, size)
#endif /* DEBUG_RESOURCES*/
+#if CONFIG(DEBUG_FUNC)
+#include <console/console.h>
+#define DEV_FUNC_ENTER(dev) \
+ printk(BIOS_SPEW, "%s:%s:%d: ENTER (dev: %s)\n", \
+ __FILE__, __func__, __LINE__, dev_path(dev))
+
+#define DEV_FUNC_EXIT(dev) \
+ printk(BIOS_SPEW, "%s:%s:%d: EXIT (dev: %s)\n", __FILE__, \
+ __func__, __LINE__, dev_path(dev))
+#else /* DEBUG_FUNC */
+#define DEV_FUNC_ENTER(dev)
+#define DEV_FUNC_EXIT(dev)
+#endif /* DEBUG_FUNC */
+
/* Rounding for boundaries.
* Due to some chip bugs, go ahead and round IO to 16
*/
diff --git a/src/soc/intel/xeon_sp/cpx/chip.c b/src/soc/intel/xeon_sp/cpx/chip.c
index c5a8c1cb1c..6d2dfba3c7 100644
--- a/src/soc/intel/xeon_sp/cpx/chip.c
+++ b/src/soc/intel/xeon_sp/cpx/chip.c
@@ -3,6 +3,7 @@
#include <arch/ioapic.h>
#include <assert.h>
#include <console/console.h>
+#include <console/debug.h>
#include <cpu/x86/lapic.h>
#include <device/pci.h>
#include <fsp/api.h>
diff --git a/src/soc/intel/xeon_sp/cpx/cpu.c b/src/soc/intel/xeon_sp/cpx/cpu.c
index 0999f6d721..4afe47cbff 100644
--- a/src/soc/intel/xeon_sp/cpx/cpu.c
+++ b/src/soc/intel/xeon_sp/cpx/cpu.c
@@ -4,6 +4,7 @@
#include <acpi/acpi.h>
#include <assert.h>
#include <console/console.h>
+#include <console/debug.h>
#include <cpu/cpu.h>
#include <cpu/intel/microcode.h>
#include <cpu/intel/turbo.h>
diff --git a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
index 412730b647..3e19bac6e9 100644
--- a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
+++ b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
@@ -3,24 +3,8 @@
#ifndef _SOC_UTIL_H_
#define _SOC_UTIL_H_
-#include <console/console.h>
#include <hob_iiouds.h>
#include <hob_memmap.h>
-#include <stdint.h>
-
-#define DEV_FUNC_ENTER(dev) \
- printk(BIOS_SPEW, "%s:%s:%d: ENTER (dev: %s)\n", \
- __FILE__, __func__, __LINE__, dev_path(dev))
-
-#define DEV_FUNC_EXIT(dev) \
- printk(BIOS_SPEW, "%s:%s:%d: EXIT (dev: %s)\n", __FILE__, \
- __func__, __LINE__, dev_path(dev))
-
-#define FUNC_ENTER() \
- printk(BIOS_SPEW, "%s:%s:%d: ENTER\n", __FILE__, __func__, __LINE__)
-
-#define FUNC_EXIT() \
- printk(BIOS_SPEW, "%s:%s:%d: EXIT\n", __FILE__, __func__, __LINE__)
struct iiostack_resource {
uint8_t no_of_stacks;
diff --git a/src/soc/intel/xeon_sp/include/soc/util.h b/src/soc/intel/xeon_sp/include/soc/util.h
index f223efafe0..8c2b597247 100644
--- a/src/soc/intel/xeon_sp/include/soc/util.h
+++ b/src/soc/intel/xeon_sp/include/soc/util.h
@@ -3,25 +3,10 @@
#ifndef _XEON_SP_SOC_UTIL_H_
#define _XEON_SP_SOC_UTIL_H_
-#include <console/console.h>
#include <hob_iiouds.h>
void get_cpubusnos(uint32_t *bus0, uint32_t *bus1, uint32_t *bus2, uint32_t *bus3);
void unlock_pam_regions(void);
void get_stack_busnos(uint32_t *bus);
-#define DEV_FUNC_ENTER(dev) \
- printk(BIOS_SPEW, "%s:%s:%d: ENTER (dev: %s)\n", \
- __FILE__, __func__, __LINE__, dev_path(dev))
-
-#define DEV_FUNC_EXIT(dev) \
- printk(BIOS_SPEW, "%s:%s:%d: EXIT (dev: %s)\n", __FILE__, \
- __func__, __LINE__, dev_path(dev))
-
-#define FUNC_ENTER() \
- printk(BIOS_SPEW, "%s:%s:%d: ENTER\n", __FILE__, __func__, __LINE__)
-
-#define FUNC_EXIT() \
- printk(BIOS_SPEW, "%s:%s:%d: EXIT\n", __FILE__, __func__, __LINE__)
-
#endif
diff --git a/src/soc/intel/xeon_sp/skx/chip.c b/src/soc/intel/xeon_sp/skx/chip.c
index 4324660f47..fba1e1f7d0 100644
--- a/src/soc/intel/xeon_sp/skx/chip.c
+++ b/src/soc/intel/xeon_sp/skx/chip.c
@@ -2,6 +2,8 @@
#include <cbfs.h>
#include <assert.h>
+#include <console/console.h>
+#include <console/debug.h>
#include <post.h>
#include <device/pci.h>
#include <soc/acpi.h>
diff --git a/src/soc/intel/xeon_sp/skx/cpu.c b/src/soc/intel/xeon_sp/skx/cpu.c
index bf712c3618..581378b410 100644
--- a/src/soc/intel/xeon_sp/skx/cpu.c
+++ b/src/soc/intel/xeon_sp/skx/cpu.c
@@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <console/console.h>
+#include <console/debug.h>
#include <intelblocks/cpulib.h>
#include <cpu/cpu.h>
#include <cpu/x86/mtrr.h>