summary refs log tree commit diff
path: root/arch/ia64
diff options
context:
space:
mode:
authorRuss Anderson <rja@sgi.com>2007-06-14 16:01:24 -0500
committerTony Luck <tony.luck@intel.com>2007-06-26 13:34:16 -0700
commitc034637967881830979b5415e55578e42f806659 (patch)
tree8485c5f219af8df274f2a73b1663c73ff8d997c0 /arch/ia64
parenteaf6c766446c0faa326b339900f975e6f1f62b01 (diff)
downloadlinux-c034637967881830979b5415e55578e42f806659.tar.gz
[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>
Diffstat (limited to 'arch/ia64')
-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