summaryrefslogtreecommitdiff
path: root/src/console
diff options
context:
space:
mode:
authorRudolf Marek <r.marek@assembler.cz>2011-09-02 23:23:41 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2011-09-07 01:26:47 +0200
commit7f0e93060e720149bb59023d608a67cfc21542b1 (patch)
treea61f1b7a530b517948529506a6dec73e8a4db19c /src/console
parentf73535c089564864eb92628c351f76b0c556ab91 (diff)
Add support for the tracing infastructure in coreboot.
The compiler is forced to emmit special functions on every entry/exit of the function. Add a compile time option to support it. Function entries will be printed in the console. The CONFIG_TRACE has more documentation. Patch for userspace tools will follow. Change-Id: I2cbeb3f104892b034c8756f86ed05bf71187c3f3 Signed-off-by: Rudolf Marek <r.marek@assembler.cz> Reviewed-on: http://review.coreboot.org/178 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/console')
-rw-r--r--src/console/printk.c3
-rw-r--r--src/console/vsprintf.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/console/printk.c b/src/console/printk.c
index 488d4e5ca3..75490881f6 100644
--- a/src/console/printk.c
+++ b/src/console/printk.c
@@ -8,6 +8,7 @@
#include <smp/spinlock.h>
#include <console/vtxprintf.h>
#include <console/console.h>
+#include <trace.h>
int console_loglevel = CONFIG_DEFAULT_CONSOLE_LOGLEVEL;
int default_console_loglevel = CONFIG_DEFAULT_CONSOLE_LOGLEVEL;
@@ -23,6 +24,7 @@ int do_printk(int msg_level, const char *fmt, ...)
return 0;
}
+ DISABLE_TRACE;
spin_lock(&console_lock);
va_start(args, fmt);
@@ -32,6 +34,7 @@ int do_printk(int msg_level, const char *fmt, ...)
console_tx_flush();
spin_unlock(&console_lock);
+ ENABLE_TRACE;
return i;
}
diff --git a/src/console/vsprintf.c b/src/console/vsprintf.c
index 4a745233b9..435401b7ef 100644
--- a/src/console/vsprintf.c
+++ b/src/console/vsprintf.c
@@ -22,6 +22,7 @@
#include <string.h>
#include <smp/spinlock.h>
#include <console/vtxprintf.h>
+#include <trace.h>
DECLARE_SPIN_LOCK(vsprintf_lock)
@@ -37,6 +38,7 @@ static int vsprintf(char *buf, const char *fmt, va_list args)
{
int i;
+ DISABLE_TRACE;
spin_lock(&vsprintf_lock);
str_buf = buf;
@@ -44,6 +46,7 @@ static int vsprintf(char *buf, const char *fmt, va_list args)
*str_buf = '\0';
spin_unlock(&vsprintf_lock);
+ ENABLE_TRACE;
return i;
}