summaryrefslogtreecommitdiff
path: root/sys/arch/mvme68k
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-01-12 16:45:26 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-01-12 16:45:26 +0000
commit9807134aa8d672508c00c5979b471c50767a4a58 (patch)
treee9160bab39fc6bc72b1cad6589855a74bd436f02 /sys/arch/mvme68k
parent7d1dbee8e40acdc6772a2bc6c608dd3f8f592813 (diff)
SIGBUS is an alignment fault. SIGSEGV is an access violation
Diffstat (limited to 'sys/arch/mvme68k')
-rw-r--r--sys/arch/mvme68k/mvme68k/trap.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/sys/arch/mvme68k/mvme68k/trap.c b/sys/arch/mvme68k/mvme68k/trap.c
index 3c81ef7b474..2b0e8fcd1f9 100644
--- a/sys/arch/mvme68k/mvme68k/trap.c
+++ b/sys/arch/mvme68k/mvme68k/trap.c
@@ -1,4 +1,4 @@
-/* $Id: trap.c,v 1.4 1995/11/23 13:14:31 deraadt Exp $ */
+/* $Id: trap.c,v 1.5 1996/01/12 16:45:14 deraadt Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -611,7 +611,7 @@ copyfault:
goto dopanic;
}
ucode = v;
- i = (rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV;
+ i = SIGSEGV;
break;
}
}
@@ -867,22 +867,10 @@ writeback(fp, docachepush)
}
p->p_addr->u_pcb.pcb_onfault = oonfault;
/*
- * Determine the cause of the failure if any translating to
- * a signal. If the corresponding VA is valid and RO it is
- * a protection fault (SIGBUS) otherwise consider it an
- * illegal reference (SIGSEGV).
+ * Any problems are SIGSEGV's
*/
- if (err) {
- if (vm_map_check_protection(&p->p_vmspace->vm_map,
- trunc_page(fa), round_page(fa),
- VM_PROT_READ) &&
- !vm_map_check_protection(&p->p_vmspace->vm_map,
- trunc_page(fa), round_page(fa),
- VM_PROT_WRITE))
- err = SIGBUS;
- else
- err = SIGSEGV;
- }
+ if (err)
+ err = SIGSEGV;
return(err);
}