mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 10:00:53 +07:00
[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: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
bd1d6e2451
commit
590711b7dd
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user