summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Anderson <rja@sgi.com>2007-06-15 01:01:24 +0400
committerTony Luck <tony.luck@intel.com>2007-06-27 00:34:16 +0400
commitc034637967881830979b5415e55578e42f806659 (patch)
tree8485c5f219af8df274f2a73b1663c73ff8d997c0
parenteaf6c766446c0faa326b339900f975e6f1f62b01 (diff)
downloadlinux-c034637967881830979b5415e55578e42f806659.tar.xz
[IA64] Force error to surface in nofault code
Montecito behaves slightly differently than previous processors, resulting in the MCA due to a failed PIO read to sometimes surfacing outside the nofault code. Adding an additional or and stop bits ensures the MCA surfaces in the nofault code. Signed-off-by: Russ Anderson <rja@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r--arch/ia64/sn/kernel/xp_nofault.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/ia64/sn/kernel/xp_nofault.S b/arch/ia64/sn/kernel/xp_nofault.S
index b772543053c9..54e8973b6e99 100644
--- a/arch/ia64/sn/kernel/xp_nofault.S
+++ b/arch/ia64/sn/kernel/xp_nofault.S
@@ -21,7 +21,8 @@
xp_nofault_PIOR:
mov r8=r0 // Stage a success return value
ld8.acq r9=[r32];; // PIO Read the specified register
- adds r9=1,r9 // Add to force a consume
+ adds r9=1,r9;; // Add to force consumption
+ or r9=r9,r9;; // Or to force consumption
br.ret.sptk.many b0;; // Return success
.global xp_error_PIOR