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>
This commit is contained in:
committed by
Stefan Reinauer
parent
f73535c089
commit
7f0e93060e
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user