diff --git a/src/Kconfig b/src/Kconfig
index f96c903..e9ceed5 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -845,6 +845,15 @@
 	  Put llshell() in your (romstage) code to start the shell.
 	  See src/arch/x86/llshell/llshell.inc for details.
 
+config TRACE
+	bool "Trace function calls"
+	default n
+	help
+	  If enabled, every function will print information to console once
+	  the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
+	  the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
+	  of calling function. Please note some printk releated functions
+	  are omitted from trace to have good looking console dumps.
 endmenu
 
 config LIFT_BSP_APIC_ID
diff --git a/src/console/printk.c b/src/console/printk.c
index 488d4e5..7549088 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 @@
 		return 0;
 	}
 
+	DISABLE_TRACE;
 	spin_lock(&console_lock);
 
 	va_start(args, fmt);
@@ -32,6 +34,7 @@
 	console_tx_flush();
 
 	spin_unlock(&console_lock);
+	ENABLE_TRACE;
 
 	return i;
 }
diff --git a/src/console/vsprintf.c b/src/console/vsprintf.c
index 4a745233..435401b 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 @@
 {
 	int i;
 
+	DISABLE_TRACE;
 	spin_lock(&vsprintf_lock);
 
 	str_buf = buf;
@@ -44,6 +46,7 @@
 	*str_buf = '\0';
 
 	spin_unlock(&vsprintf_lock);
+	ENABLE_TRACE;
 
 	return i;
 }
diff --git a/src/include/trace.h b/src/include/trace.h
new file mode 100644
index 0000000..ff5b6c2
--- /dev/null
+++ b/src/include/trace.h
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Rudolf Marek <r.marek@assembler.cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef __TRACE_H
+#define __TRACE_H
+
+
+#ifdef __PRE_RAM__
+
+#define DISABLE_TRACE
+#define ENABLE_TRACE
+#define DISABLE_TRACE_ON_FUNCTION
+
+#else /* !__PRE_RAM__ */
+
+#if CONFIG_TRACE
+
+void __cyg_profile_func_enter( void *, void * )
+				 __attribute__ ((no_instrument_function));
+
+void __cyg_profile_func_exit( void *, void * )
+				__attribute__ ((no_instrument_function));
+
+extern volatile int trace_dis;
+
+#define DISABLE_TRACE  do { trace_dis = 1; } while (0);
+#define ENABLE_TRACE    do { trace_dis = 0; } while (0);
+#define DISABLE_TRACE_ON_FUNCTION  __attribute__ ((no_instrument_function));
+
+#else /* !CONFIG_TRACE */
+
+#define DISABLE_TRACE
+#define ENABLE_TRACE
+#define DISABLE_TRACE_ON_FUNCTION
+
+#endif
+#endif
+#endif
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index 54935ca..b207ffe 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -33,6 +33,7 @@
 ramstage-$(CONFIG_CONSOLE_SERIAL8250MEM) += uart8250mem.c
 ramstage-$(CONFIG_USBDEBUG) += usbdebug.c
 ramstage-$(CONFIG_BOOTSPLASH) += jpeg.c
+ramstage-$(CONFIG_TRACE) += trace.c
 
 driver-$(CONFIG_CONSOLE_NE2K) += ne2k.c
 
diff --git a/src/lib/trace.c b/src/lib/trace.c
new file mode 100644
index 0000000..8736c82
--- /dev/null
+++ b/src/lib/trace.c
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Rudolf Marek <r.marek@assembler.cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#include <types.h>
+#include <console/console.h>
+#include <trace.h>
+
+int volatile trace_dis = 0;
+
+void __cyg_profile_func_enter( void *func, void *callsite)
+{
+
+	if (trace_dis)
+		return;
+
+	DISABLE_TRACE
+	printk(BIOS_INFO, "~0x%08x(0x%08x)\n", (uint32_t) func, (uint32_t) callsite);
+	ENABLE_TRACE
+}
+
+void __cyg_profile_func_exit( void *func, void *callsite )
+{
+}
diff --git a/src/lib/uart8250.c b/src/lib/uart8250.c
index e7ddd0b..b224671 100644
--- a/src/lib/uart8250.c
+++ b/src/lib/uart8250.c
@@ -21,6 +21,8 @@
 #include <arch/io.h>
 #include <uart8250.h>
 #include <pc80/mc146818rtc.h>
+#include <trace.h>
+
 #if CONFIG_USE_OPTION_TABLE
 #include "option_table.h"
 #endif
@@ -69,6 +71,7 @@
 
 void uart8250_init(unsigned base_port, unsigned divisor)
 {
+	DISABLE_TRACE;
 	/* Disable interrupts */
 	outb(0x0, base_port + UART_IER);
 	/* Enable FIFOs */
@@ -86,6 +89,7 @@
 
 	/* Set to 3 for 8N1 */
 	outb(CONFIG_TTYS0_LCS, base_port + UART_LCR);
+	ENABLE_TRACE;
 }
 
 void uart_init(void)
