Implement a leaner printf for Trusted Firmware
This patch implements a "tf_printf" which supports only the commonly
used format specifiers in Trusted Firmware, which uses a lot less
stack space than the stdlib printf function.
Fixes ARM-software/tf-issues#116
Change-Id: I7dfa1944f4c1e634b3e2d571f49afe02d109a351
diff --git a/bl32/tsp/tsp_main.c b/bl32/tsp/tsp_main.c
index eaabe61..8844f41 100644
--- a/bl32/tsp/tsp_main.c
+++ b/bl32/tsp/tsp_main.c
@@ -34,7 +34,6 @@
#include <platform.h>
#include <platform_def.h>
#include <spinlock.h>
-#include <stdio.h>
#include <tsp.h>
/*******************************************************************************
@@ -121,7 +120,7 @@
tsp_stats[linear_id].cpu_on_count++;
spin_lock(&console_lock);
- printf("TSP %s\n\r", build_message);
+ tf_printf("TSP %s\n\r", build_message);
INFO("Total memory base : 0x%x\n", (unsigned long)BL32_TOTAL_BASE);
INFO("Total memory size : 0x%x bytes\n",
(unsigned long)(BL32_TOTAL_LIMIT - BL32_TOTAL_BASE));
@@ -153,7 +152,7 @@
tsp_stats[linear_id].cpu_on_count++;
spin_lock(&console_lock);
- printf("SP: cpu 0x%x turned on\n\r", mpidr);
+ tf_printf("SP: cpu 0x%x turned on\n\r", mpidr);
INFO("cpu 0x%x: %d smcs, %d erets %d cpu on requests\n", mpidr,
tsp_stats[linear_id].smc_count,
tsp_stats[linear_id].eret_count,
@@ -193,7 +192,7 @@
tsp_stats[linear_id].cpu_off_count++;
spin_lock(&console_lock);
- printf("SP: cpu 0x%x off request\n\r", mpidr);
+ tf_printf("SP: cpu 0x%x off request\n\r", mpidr);
INFO("cpu 0x%x: %d smcs, %d erets %d cpu off requests\n", mpidr,
tsp_stats[linear_id].smc_count,
tsp_stats[linear_id].eret_count,
@@ -235,7 +234,7 @@
tsp_stats[linear_id].cpu_suspend_count++;
spin_lock(&console_lock);
- printf("SP: cpu 0x%x suspend request. power state: 0x%x\n\r",
+ tf_printf("SP: cpu 0x%x suspend request. power state: 0x%x\n\r",
mpidr, power_state);
INFO("cpu 0x%x: %d smcs, %d erets %d cpu suspend requests\n", mpidr,
tsp_stats[linear_id].smc_count,
@@ -273,7 +272,7 @@
tsp_stats[linear_id].cpu_resume_count++;
spin_lock(&console_lock);
- printf("SP: cpu 0x%x resumed. suspend level %d \n\r",
+ tf_printf("SP: cpu 0x%x resumed. suspend level %d \n\r",
mpidr, suspend_level);
INFO("cpu 0x%x: %d smcs, %d erets %d cpu suspend requests\n", mpidr,
tsp_stats[linear_id].smc_count,
@@ -312,7 +311,7 @@
smc_type = ((func >> 31) & 1) == 1 ? "fast" : "standard";
- printf("SP: cpu 0x%x received %s smc 0x%x\n", read_mpidr(), smc_type, func);
+ tf_printf("SP: cpu 0x%x received %s smc 0x%x\n", read_mpidr(), smc_type, func);
INFO("cpu 0x%x: %d smcs, %d erets\n", mpidr,
tsp_stats[linear_id].smc_count,
tsp_stats[linear_id].eret_count);