Page MenuHomeFreeBSD

D26004.id76642.diff
No OneTemporary

D26004.id76642.diff

Index: sys/powerpc/powerpc/trap.c
===================================================================
--- sys/powerpc/powerpc/trap.c
+++ sys/powerpc/powerpc/trap.c
@@ -153,6 +153,11 @@
{ EXC_LAST, NULL }
};
+static int uprintf_signal;
+SYSCTL_INT(_machdep, OID_AUTO, uprintf_signal, CTLFLAG_RWTUN,
+ &uprintf_signal, 0,
+ "Print debugging information on trap signal to ctty");
+
#define ESR_BITMASK \
"\20" \
"\040b0\037b1\036b2\035b3\034PIL\033PRR\032PTR\031FP" \
@@ -483,6 +488,7 @@
}
if (sig != 0) {
+ /* Translate fault for emulators (e.g. Linux) */
if (p->p_sysent->sv_transtrap != NULL)
sig = (p->p_sysent->sv_transtrap)(sig, type);
ksiginfo_init_trap(&ksi);
@@ -490,6 +496,14 @@
ksi.ksi_code = (int) ucode; /* XXX, not POSIX */
ksi.ksi_addr = (void *)addr;
ksi.ksi_trapno = type;
+ if (uprintf_signal) {
+ uprintf("pid %d comm %s: signal %d code %d type %d "
+ "addr 0x%lx r1 0x%lx srr0 0x%lx srr1 0x%lx\n",
+ p->p_pid, p->p_comm, sig, ucode, type, addr,
+ frame->fixreg[1], frame->srr0, frame->srr1);
+ }
+
+
trapsignal(td, &ksi);
}

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 22, 8:07 AM (1 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31963558
Default Alt Text
D26004.id76642.diff (1 KB)

Event Timeline