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/common/debug.c b/common/debug.c
index 0f59ed5..be54f5d 100644
--- a/common/debug.c
+++ b/common/debug.c
@@ -29,6 +29,7 @@
*/
#include <console.h>
#include <debug.h>
+#include <stdarg.h>
#include <stdio.h>
/******************************************************************
@@ -73,7 +74,7 @@
#if DEBUG
void __dead2 do_panic(const char *file, int line)
{
- printf("PANIC in file: %s line: %d\n", file, line);
+ tf_printf("PANIC in file: %s line: %d\n", file, line);
while (1)
;
}
@@ -87,7 +88,7 @@
/* x30 reports the next eligible instruction whereas we want the
* place where panic() is invoked. Hence decrement by 4.
*/
- printf("PANIC in PC location 0x%016X\n", pc_reg - 0x4);
+ tf_printf("PANIC in PC location 0x%016X\n", pc_reg - 0x4);
while (1)
;