Skip to content

Commit

Permalink
[IA64-SGI] Fix SN PTC deadlock recovery
Browse files Browse the repository at this point in the history
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: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
  • Loading branch information
Jack Steiner authored and Tony Luck committed Dec 6, 2005
1 parent bd1d6e2 commit 590711b
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions arch/ia64/sn/kernel/sn2/ptc_deadlock.S
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 590711b

Please sign in to comment.