PERFORCE change 136141 for review
Kip Macy
kmacy at FreeBSD.org
Mon Feb 25 04:12:54 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=136141
Change 136141 by kmacy at pandemonium:kmacy:xen31 on 2008/02/25 04:12:29
increase logging - log SIGSEGV as well
Affected files ...
.. //depot/projects/xen31/sys/i386/i386/trap.c#10 edit
Differences ...
==== //depot/projects/xen31/sys/i386/i386/trap.c#10 (text+ko) ====
@@ -745,7 +745,7 @@
{
vm_offset_t va;
struct vmspace *vm = NULL;
- vm_map_t map;
+ vm_map_t map = NULL;
int rv = 0;
vm_prot_t ftype = 0;
struct thread *td = curthread;
@@ -834,10 +834,30 @@
return (-1);
}
#ifdef XEN
- if (rv == KERN_PROTECTION_FAILURE)
- log(LOG_ERR, "SIGBUS: p=%s va=0x%x ftype=0x%x eip=0x%x\n", p->p_comm, va, ftype, frame->tf_eip);
+ if (rv) {
+ pt_entry_t pteval = 0;
+
+ if (PTD[va >> PDRSHIFT])
+ pteval = *(vtopte(va));
+ if (rv == KERN_PROTECTION_FAILURE) {
+
+ CTR5(KTR_PMAP, "SIGBUS: p=%s va=0x%08x ftype=0x%x eip=0x%08x tf_err=0x%x *pte=%08x",
+ p->p_comm, va, ftype, frame->tf_eip, (u_long)(pteval & 0xffffffff));
+ CTR4(KTR_PMAP,"\t pte=0x%08x map=%p pmap=%p err=0x%x",
+ vtopte(va), map, &p->p_vmspace->vm_pmap, frame->tf_err);
+ log(LOG_ERR, "SIGBUS: p=%s va=0x%x ftype=0x%x eip=0x%x err=%d *pte=0x%016jx\n",
+ p->p_comm, va, ftype, frame->tf_eip, frame->tf_err, pteval);
+ } else {
+ CTR5(KTR_PMAP, "SIGSEGV: p=%s va=0x%08x ftype=0x%x eip=0x%08x tf_err=0x%x *pte=%08x",
+ p->p_comm, va, ftype, frame->tf_eip, (u_long)(pteval & 0xffffffff));
+ CTR4(KTR_PMAP,"\t pte=0x%08x map=%p pmap=%p err=0x%x",
+ vtopte(va), map, &p->p_vmspace->vm_pmap, frame->tf_err);
+ log(LOG_ERR, "SIGSEGV: p=%s va=0x%x ftype=0x%x eip=0x%x err=%d *pte=0x%016jx\n",
+ p->p_comm, va, ftype, frame->tf_eip, frame->tf_err, pteval);
+ }
+
+ }
#endif
-
return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV);
}
More information about the p4-projects
mailing list