diff options
author | marcel <marcel@FreeBSD.org> | 2014-03-18 23:51:34 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2014-03-18 23:51:34 +0000 |
commit | 2a451c287a9a19c38767195e2e6977a6fa289ec7 (patch) | |
tree | 4c07fabcbd2ddf56761a2d7fbb01256c2ea49875 /sys/conf | |
parent | bd27130916a9110b8c069566b0d8213d68ae4f9b (diff) | |
download | FreeBSD-src-2a451c287a9a19c38767195e2e6977a6fa289ec7.zip FreeBSD-src-2a451c287a9a19c38767195e2e6977a6fa289ec7.tar.gz |
Fix and improve exception tracing:
1. Name the kernel option XTRACE instead of EXCEPTION_TRACING
2. Put support functions in ia64/ia64/xtrace.c
3. Make it work with SMP by giving each CPU its own buffer
4. Save 16 key registers in the buffer for every exception
5. In ia64_handle_intr() and trap() transfer the trace record
to the KTR trace buffer using CTRx() and with some basic
information for now
6. Use a tunable to anble tracing and stop tracing as soon as
we enter the debugger
Room for improvements:
1. Transferring exception-relevant information to KTR
2. Add a sysctl to enable/disable tracing
Diffstat (limited to 'sys/conf')
-rw-r--r-- | sys/conf/files.ia64 | 1 | ||||
-rw-r--r-- | sys/conf/options.ia64 | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/sys/conf/files.ia64 b/sys/conf/files.ia64 index 81563fb..71b6232 100644 --- a/sys/conf/files.ia64 +++ b/sys/conf/files.ia64 @@ -110,6 +110,7 @@ ia64/ia64/uma_machdep.c standard ia64/ia64/unaligned.c standard ia64/ia64/unwind.c standard ia64/ia64/vm_machdep.c standard +ia64/ia64/xtrace.c optional xtrace ia64/isa/isa.c optional isa ia64/isa/isa_dma.c optional isa ia64/pci/pci_cfgreg.c optional pci diff --git a/sys/conf/options.ia64 b/sys/conf/options.ia64 index 750aeca..e5ef143 100644 --- a/sys/conf/options.ia64 +++ b/sys/conf/options.ia64 @@ -13,7 +13,7 @@ COMPAT_FREEBSD32 opt_compat.h PV_STATS opt_pmap.h -EXCEPTION_TRACING opt_xtrace.h +XTRACE VGA_ALT_SEQACCESS opt_vga.h VGA_DEBUG opt_vga.h |