diff options
author | Rudolf Marek <r.marek@assembler.cz> | 2011-09-02 23:23:41 +0200 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2011-09-07 01:26:47 +0200 |
commit | 7f0e93060e720149bb59023d608a67cfc21542b1 (patch) | |
tree | a61f1b7a530b517948529506a6dec73e8a4db19c /src/console | |
parent | f73535c089564864eb92628c351f76b0c556ab91 (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.c | 3 | ||||
-rw-r--r-- | src/console/vsprintf.c | 3 |
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; } |