kdb updates for x86_64
Keith Owens <[email protected]>
| Newsgroups | gmane.linux.kernel.debugging |
|---|---|
| Message-ID | <[email protected]> |
ftp://oss.sgi.com/projects/kdb/download/v4.4/ ftp://ftp.ocs.com.au/pub/mirrors/oss.sgi.com/projects/kdb/download/v4.4/ I am still working on getting the kdb patch for x86_64 up to scratch, but the time has come to release the existing work in progress, incomplete though it is. The backtrace code for i386 and x86_64 had bit rotted beyond repair. It did not handle mutiple kernel stacks correctly. It either did not get arguments or it printed misleading values for arguments. It did not handle the special case assembler routines very well. The kdb infrastructure for doing backtraces has been completely rewritten. This has affected the common code plus all the architecture patches, make sure you update the common patch to the same level as the architecture patches. ia64 is basically unaffected, the code changes have not changed the backtrace output. For i386 and x86_64, kdb now works its way through the multiple kernel stacks, even including the "interesting" nested debug stacks on x86_64. At the moment (patches kdb-v4.4-2.6.18-rc5-*-2), the i386 and x86_64 backtrace output is only an approximation. Like the built in kernel oops output, kdb for i386 and x86_64 prints anything that looks like a kernel or module address. IOW it is an imprecise backtrace which may have false positives, so be aware that any address listed in the kdb backtrace for i386 and x86_64 may not be real. Also there are no arguments listed in the backtrace for these architectures. I am working on getting arguments for i386 and x86_64 which will get a precise backtrace as a side effect. For the moment, an approximate output is better than nothing at all, which is what the previous kdb for x86_64 patches generated. KDB_ENTER() does not work on x86_64 at the moment. Also under development. My tree contained x86_64 patches against 2.6.17 onwards, they were not released because I did not consider them to be usable. They have been released now for historical purposes, but you should not use any patch before kdb-v4.4-2.6.18-rc5-x86_64-2. x86_64 changelog summary since kdb-v4.4-2.6.17-x86_64-1. 2006-08-29 Keith Owens <[email protected]> * Rewrite all backtrace code. * Add pt_regs and cpu_pda commands. * Include patch to define orig_ist, to be removed once that patch is in the community tree. * kdb v4.4-2.6.18-rc5-x86_64-2. 2006-08-28 Keith Owens <[email protected]> * kdb v4.4-2.6.18-rc5-x86_64-1. 2006-08-08 Keith Owens <[email protected]> * kdb v4.4-2.6.18-rc4-x86_64-1. 2006-08-04 Keith Owens <[email protected]> * kdb v4.4-2.6.18-rc3-x86_64-1. 2006-07-18 Keith Owens <[email protected]> * kdb v4.4-2.6.18-rc2-x86_64-1. 2006-07-12 Keith Owens <[email protected]> * sparse cleanups * kdb v4.4-2.6.18-rc1-x86_64-2. 2006-07-07 Keith Owens <[email protected]> * kdb v4.4-2.6.18-rc1-x86_64-1. 2006-07-04 Keith Owens <[email protected]> * Make KDB rendezvous on x86_64 a two stage approach. * Move smp_kdb_stop() and smp_kdb_interrupt() to kdbasupport.c. * Move setting of interrupt traps to kdbasupport.c. * Add KDB_REASON_CPU_UP support. * Move per cpu setup to kdba_cpu_up(). * Delete kdba_enable_mce, architectures now do their own setup. * Delete kdba_enable_lbr, kdba_disable_lbr, kdba_print_lbr, page_fault_mca. Only ever implemented on x86, difficult to maintain and rarely used in the field. * Replace #ifdef KDB_HAVE_LONGJMP with #ifdef kdba_setjmp. * kdb v4.4-2.6.17-x86_64-2. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.