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);