PERFORCE change 29931 for review
Marcel Moolenaar
marcel at FreeBSD.org
Sun Apr 27 22:35:09 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=29931
Change 29931 by marcel at marcel_nfs on 2003/04/27 22:34:48
We have an annoying race when using EPC syscalls which results
in a general exception in cpu_switch(). We obviously get an
interrupt when setting up the trapframe, but why and how this
result in cloberring is not know yet. So, apply the equivalent
of a 9-inch nail and disable interrupts. I need to understand
what is happening exactly so that I can create a real fix (or
acknowledge that this is in fact the fix). For now it simply
makes EPC syscalls reliable enough to make the switch.
Affected files ...
.. //depot/projects/ia64_epc/sys/ia64/ia64/syscall.s#13 edit
Differences ...
==== //depot/projects/ia64_epc/sys/ia64/ia64/syscall.s#13 (text+ko) ====
@@ -224,6 +224,8 @@
.section .text.syscall, "ax"
ENTRY(epc_syscall, 8)
+ rsm psr.i
+ ;;
{ .mmi
mov r16=ar.rsc
mov ar.rsc=0
@@ -359,7 +361,7 @@
;;
}
{ .mlx
- ssm psr.dfh|psr.ac
+ ssm psr.dfh|psr.ac|psr.i
movl gp=__gp
;;
}
More information about the p4-projects
mailing list