and signal handlers.
ok kettenis@
-/* $OpenBSD: machdep.c,v 1.167 2008/06/27 17:22:14 miod Exp $ */
+/* $OpenBSD: machdep.c,v 1.168 2008/07/14 13:37:39 miod Exp $ */
/*
* Copyright (c) 1999-2003 Michael Shalayeff
/* force strong ordering for now */
if (p->features & HPPA_FTRS_W32B) {
- extern register_t kpsw; /* intr.c */
-
kpsw |= PSL_O;
}
tf->tf_iisq_tail = HPPA_SID_KERNEL;
else
tf->tf_iisq_tail = p->p_addr->u_pcb.pcb_space;
- tf->tf_ipsw = ksc.sc_ps;
+ tf->tf_ipsw = ksc.sc_ps | (kpsw & PSL_O);
#ifdef DEBUG
if ((sigdebug & SDB_FOLLOW) && (!sigpid || p->p_pid == sigpid))
-/* $OpenBSD: vm_machdep.c,v 1.62 2007/10/10 15:53:51 art Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.63 2008/07/14 13:37:39 miod Exp $ */
/*
* Copyright (c) 1999-2004 Michael Shalayeff
*/
tf->tf_sr7 = HPPA_SID_KERNEL;
mfctl(CR_EIEM, tf->tf_eiem);
- tf->tf_ipsw = PSL_C | PSL_Q | PSL_P | PSL_D | PSL_I /* | PSL_L */;
+ tf->tf_ipsw = PSL_C | PSL_Q | PSL_P | PSL_D | PSL_I /* | PSL_L */ |
+ (kpsw & PSL_O);
/*
* If specified, give the child a different stack.
-/* $OpenBSD: cpu.h,v 1.52 2007/10/10 15:53:51 art Exp $ */
+/* $OpenBSD: cpu.h,v 1.53 2008/07/14 13:39:06 miod Exp $ */
/*
* Copyright (c) 2000-2004 Michael Shalayeff
extern enum hppa_cpu_type cpu_type;
extern const char *cpu_typename;
extern int cpu_hvers;
+extern register_t kpsw;
#endif
#endif