Segment descriptor contents are fixed on amd64 and not very interesting
compared to the other values that are displayed.
While here, include the TID of the current thread along with the PID
and drop redundant output of the trap number.
Differential D56989
amd64: Drop segment descriptor details from trap messsages Authored by jhb on Wed, May 13, 4:30 PM. Tags None Referenced Files
Subscribers
Details
Segment descriptor contents are fixed on amd64 and not very interesting While here, include the TID of the current thread along with the PID
Diff Detail
Event TimelineComment Actions Sample output: Fatal trap 12: page fault while in kernel mode cpuid = 14; apic id = 0e fault virtual address = 0x10 fault code = supervisor read data, page not present instruction pointer = 0xffffffff80c2d954 stack pointer = 0xfffffe00d8341bb0 frame pointer = 0xfffffe00d8341be0 processor eflags = interrupt enabled, resume, IOPL = 0 current thread = 1545/100296 (sysctl) trap number = 12 rdi: fffffe00d8341bc4 rsi: 00002c35e0209000 rdx: 0000000000000001 rcx: 0000000000000004 r8: 0000000000000001 r9: 0000000000000000 rax: 0000000000000010 rbx: 0000000000000000 rbp: fffffe00d8341be0 r10: 0000000000000000 r11: fffff800070cf550 r12: 0000000000000000 r13: 0000000000000000 r14: fffffe00d8341cc0 r15: ffffffff81adf7c0 panic: page fault cpuid = 14 time = 1778689713 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00d83418e0 ... Comment Actions For me, the segment registers values from the trap frame appeared to be very useful and sometimes even instrumental, e.g. during the recent FRED work. If the kernel idea of the trap frame address is misaligned with the location where the hardware put it, segment values are canaries that allow to see that immediately. Also, bugs with segments handling in doreti or fred_gouser are relatively obvious then. I am asking to keep that in the frame dump.
| ||||||||||||||||||||||||||||||||||