diff options
author | Soby Mathew <soby.mathew@arm.com> | 2016-01-19 17:52:28 +0000 |
---|---|---|
committer | Soby Mathew <soby.mathew@arm.com> | 2016-02-01 10:10:09 +0000 |
commit | d30ac1c36f79588e7384cc56c69f885147a4286f (patch) | |
tree | de065c02470d752eaddddc4df77fbb491f48f5fe | |
parent | 870d881ced126bd492fe96f6a7bedd0d869dd23a (diff) | |
download | platform_external_arm-trusted-firmware-d30ac1c36f79588e7384cc56c69f885147a4286f.tar.gz platform_external_arm-trusted-firmware-d30ac1c36f79588e7384cc56c69f885147a4286f.tar.bz2 platform_external_arm-trusted-firmware-d30ac1c36f79588e7384cc56c69f885147a4286f.zip |
Use tf_printf() for debug logs from xlat_tables.c
The debug prints used to debug translation table setup in xlat_tables.c
used the `printf()` standard library function instead of the stack
optimized `tf_printf()` API. DEBUG_XLAT_TABLE option was used to enable
debug logs within xlat_tables.c and it configured a much larger stack
size for the platform in case it was enabled. This patch modifies these
debug prints within xlat_tables.c to use tf_printf() and modifies the format
specifiers to be compatible with tf_printf(). The debug prints are now enabled
if the VERBOSE prints are enabled in Trusted Firmware via LOG_LEVEL build
option.
The much larger stack size definition when DEBUG_XLAT_TABLE is defined
is no longer required and the platform ports are modified to remove this
stack size definition.
Change-Id: I2f7d77ea12a04b827fa15e2adc3125b1175e4c23
-rw-r--r-- | include/plat/arm/board/common/board_arm_def.h | 4 | ||||
-rw-r--r-- | lib/aarch64/xlat_tables.c | 28 | ||||
-rw-r--r-- | plat/mediatek/mt8173/include/platform_def.h | 5 | ||||
-rw-r--r-- | plat/nvidia/tegra/include/platform_def.h | 4 |
4 files changed, 19 insertions, 22 deletions
diff --git a/include/plat/arm/board/common/board_arm_def.h b/include/plat/arm/board/common/board_arm_def.h index b4e431348..db2a8dfb0 100644 --- a/include/plat/arm/board/common/board_arm_def.h +++ b/include/plat/arm/board/common/board_arm_def.h @@ -39,9 +39,7 @@ */ /* Size of cacheable stacks */ -#if DEBUG_XLAT_TABLE -# define PLATFORM_STACK_SIZE 0x800 -#elif IMAGE_BL1 +#if IMAGE_BL1 #if TRUSTED_BOARD_BOOT # define PLATFORM_STACK_SIZE 0x1000 #else diff --git a/lib/aarch64/xlat_tables.c b/lib/aarch64/xlat_tables.c index b00dc0be1..2f2ca814e 100644 --- a/lib/aarch64/xlat_tables.c +++ b/lib/aarch64/xlat_tables.c @@ -33,17 +33,21 @@ #include <assert.h> #include <bl_common.h> #include <cassert.h> +#include <debug.h> #include <platform_def.h> #include <string.h> #include <xlat_tables.h> - -#ifndef DEBUG_XLAT_TABLE -#define DEBUG_XLAT_TABLE 0 -#endif - -#if DEBUG_XLAT_TABLE -#define debug_print(...) printf(__VA_ARGS__) +#if LOG_LEVEL >= LOG_LEVEL_VERBOSE +#define LVL0_SPACER "" +#define LVL1_SPACER " " +#define LVL2_SPACER " " +#define LVL3_SPACER " " +#define get_level_spacer(level) \ + (((level) == 0) ? LVL0_SPACER : \ + (((level) == 1) ? LVL1_SPACER : \ + (((level) == 2) ? LVL2_SPACER : LVL3_SPACER))) +#define debug_print(...) tf_printf(__VA_ARGS__) #else #define debug_print(...) ((void)0) #endif @@ -74,12 +78,12 @@ static mmap_region_t mmap[MAX_MMAP_REGIONS + 1]; static void print_mmap(void) { -#if DEBUG_XLAT_TABLE +#if LOG_LEVEL >= LOG_LEVEL_VERBOSE debug_print("mmap:\n"); mmap_region_t *mm = mmap; while (mm->size) { - debug_print(" %010lx %010lx %10lx %x\n", mm->base_va, - mm->base_pa, mm->size, mm->attr); + debug_print(" VA:0x%lx PA:0x%lx size:0x%lx attr:0x%x\n", + mm->base_va, mm->base_pa, mm->size, mm->attr); ++mm; }; debug_print("\n"); @@ -209,8 +213,8 @@ static mmap_region_t *init_xlation_table(mmap_region_t *mm, continue; } - debug_print(" %010lx %8lx " + 6 - 2 * level, base_va, - level_size); + debug_print("%s VA:0x%lx size:0x%x ", get_level_spacer(level), + base_va, level_size); if (mm->base_va >= base_va + level_size) { /* Next region is after area so nothing to map yet */ diff --git a/plat/mediatek/mt8173/include/platform_def.h b/plat/mediatek/mt8173/include/platform_def.h index 7759b3eea..0573bc5e8 100644 --- a/plat/mediatek/mt8173/include/platform_def.h +++ b/plat/mediatek/mt8173/include/platform_def.h @@ -31,7 +31,6 @@ #ifndef __PLATFORM_DEF_H__ #define __PLATFORM_DEF_H__ -#define DEBUG_XLAT_TABLE 0 /******************************************************************************* * Platform binary types for linking @@ -44,9 +43,7 @@ ******************************************************************************/ /* Size of cacheable stacks */ -#if DEBUG_XLAT_TABLE -#define PLATFORM_STACK_SIZE 0x800 -#elif IMAGE_BL1 +#if IMAGE_BL1 #define PLATFORM_STACK_SIZE 0x440 #elif IMAGE_BL2 #define PLATFORM_STACK_SIZE 0x400 diff --git a/plat/nvidia/tegra/include/platform_def.h b/plat/nvidia/tegra/include/platform_def.h index 2a7935fd0..70ddaa9a1 100644 --- a/plat/nvidia/tegra/include/platform_def.h +++ b/plat/nvidia/tegra/include/platform_def.h @@ -40,9 +40,7 @@ ******************************************************************************/ /* Size of cacheable stacks */ -#if DEBUG_XLAT_TABLE -#define PLATFORM_STACK_SIZE 0x800 -#elif IMAGE_BL31 +#if IMAGE_BL31 #define PLATFORM_STACK_SIZE 0x400 #endif |