Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 590711b7 authored by Jack Steiner's avatar Jack Steiner Committed by Tony Luck
Browse files

[IA64-SGI] Fix SN PTC deadlock recovery



The patch that added support for a new platform chipset (shub2) broke
PTC deadlock recovery on older versions of the chipset. (PTCs are the
SN platform-specific method for doing a global TLB purge). This
patch fixes deadlock recovery so that it works on both the old & new
chipsets.

Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent bd1d6e24
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -39,9 +39,13 @@ sn2_ptc_deadlock_recovery_core:
	mov	r8=r0

1:
	cmp.ne  p8,p9=r0,ptc1		// Test for shub type (ptc1 non-null on shub1)
					// p8 = 1 if shub1, p9 = 1 if shub2

	add	scr2=ALIAS_OFFSET,piowc	// Address of WRITE_STATUS alias register 
	;;
	ld8.acq	scr1=[scr2];;
	mov	scr1=7;;		// Clear DEADLOCK, WRITE_ERROR, MULTI_WRITE_ERROR
(p8)	st8.rel	[scr2]=scr1;;
(p9)	ld8.acq	scr1=[scr2];;

5:	ld8.acq	scr1=[piowc];;		// Wait for PIOs to complete.
	hint	@pause