From 5857f6b96fdaa3586e8ce067bd935c58c05b5cab Mon Sep 17 00:00:00 2001 From: Jack Steiner Date: Tue, 6 Dec 2005 08:05:24 -0600 Subject: [PATCH] --- yaml --- r: 15081 b: refs/heads/master c: 590711b7dd731bb04e7892c0451566d788985e79 h: refs/heads/master i: 15079: 516182494413a52b66127df19afd6486ff56fdd5 v: v3 --- [refs] | 2 +- trunk/arch/ia64/sn/kernel/sn2/ptc_deadlock.S | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fec700b69ae4..03bbfabf8312 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bd1d6e2451f2bb0132416fda4d129c4f57a827bc +refs/heads/master: 590711b7dd731bb04e7892c0451566d788985e79 diff --git a/trunk/arch/ia64/sn/kernel/sn2/ptc_deadlock.S b/trunk/arch/ia64/sn/kernel/sn2/ptc_deadlock.S index 3fa95065a446..bebbcc4f8dd4 100644 --- a/trunk/arch/ia64/sn/kernel/sn2/ptc_deadlock.S +++ b/trunk/arch/ia64/sn/kernel/sn2/ptc_deadlock.S @@ -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