6065f616eb
There's no need for the global list of files to ignore, so use git's ability to work with more local configuration. Change-Id: I50882e6756cbc0fdfd899353cc23962544690fb3 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46879 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Christian Walter <christian.walter@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> |
||
---|---|---|
.. | ||
.gitignore | ||
description.md | ||
genprof.c | ||
log2dress | ||
Makefile | ||
README |
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/ramstage | ./gprof2dot.py -e0 -n0 | dot -Tpng -o output.png Which generates a PNG with a call graph.