coreboot-kgpe-d16/util/genprof/README
Stefan Reinauer 8d7115560d Rename devices -> device
to match src/include/device

Change-Id: I5d0e5b4361c34881a3b81347aac48738cb5b9af0
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/1960
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix@chromium.org>
2012-11-30 23:59:58 +01:00

31 lines
908 B
Text

Function tracing
----------------
Enable CONFIG_TRACE in debug menu. Run the compiled image on target. You will get
a log with a lot of lines like:
...
~0x001072e8(0x00100099)
~0x00108bc0(0x0010730a)
...
First address is address of function which was just entered, the second address
is address of functions which call that.
You can use the log2dress to dress the log again:
...
src/arch/x86/lib/c_start.S:85 calls /home/ruik/coreboot/src/boot/selfboot.c:367
/home/ruik/coreboot/src/boot/selfboot.c:370 calls /home/ruik/coreboot/src/device/device.c:325
...
Alternatively, you can use genprof to generate a gmon.out file, which can be used
by gprof to show the call traces. You will need to install uthash library to compile
that.
Great use is:
make
./genprof /tmp/yourlog ; gprof ../../build/coreboot_ram | ./gprof2dot.py -e0 -n0 | dot -Tpng -o output.png
Which generates a PNG with a call graph.