提交 590711b7 编写于 作者: J Jack Steiner 提交者: Tony Luck

[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: NJack Steiner <steiner@sgi.com>
Signed-off-by: NTony Luck <tony.luck@intel.com>
上级 bd1d6e24
...@@ -39,9 +39,13 @@ sn2_ptc_deadlock_recovery_core: ...@@ -39,9 +39,13 @@ sn2_ptc_deadlock_recovery_core:
mov r8=r0 mov r8=r0
1: 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 add scr2=ALIAS_OFFSET,piowc // Address of WRITE_STATUS alias register
;; mov scr1=7;; // Clear DEADLOCK, WRITE_ERROR, MULTI_WRITE_ERROR
ld8.acq scr1=[scr2];; (p8) st8.rel [scr2]=scr1;;
(p9) ld8.acq scr1=[scr2];;
5: ld8.acq scr1=[piowc];; // Wait for PIOs to complete. 5: ld8.acq scr1=[piowc];; // Wait for PIOs to complete.
hint @pause hint @pause
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册