From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keith Owens Date: Thu, 16 Sep 2004 09:12:05 +0000 Subject: [patch 2.6.9-test] Remove remnants of ar.k[56] being physical Message-Id: <14462.1095325925@kao2.melbourne.sgi.com> List-Id: References: <9317.1095315659@kao2.melbourne.sgi.com> In-Reply-To: <9317.1095315659@kao2.melbourne.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org Corrected patch, the minstate stack is still physical. ar.k[56] used to contain physical addresses but now contain virtual addresses. There are code remnants which still believe that they are physical and "convert" ar.k[56] to virtual. This breaks when current is not in region 7 (e.g. the idle task on cpu 0). Signed-off-by: Keith Owens Index: linux/arch/ia64/kernel/minstate.h =================================--- linux.orig/arch/ia64/kernel/minstate.h Thu Sep 16 18:43:18 2004 +++ linux/arch/ia64/kernel/minstate.h Thu Sep 16 18:44:17 2004 @@ -54,8 +54,7 @@ (pUStk) mov ar.rsc=0x3; /* set eager mode, pl 0, little-endian, loadrs=0 */ \ #define MINSTATE_END_SAVE_MIN_PHYS \ - or r12=r12,r14; /* make sp a kernel virtual address */ \ - or r13=r13,r14; /* make `current' a kernel virtual address */ \ + dep r12=-1,r12,61,3; /* make sp a kernel virtual address */ \ ;; #ifdef MINSTATE_VIRT @@ -172,7 +171,6 @@ ;; \ .mem.offset 0,0; st8.spill [r16]=r15,16; \ .mem.offset 8,0; st8.spill [r17]=r14,16; \ - dep r14=-1,r0,61,3; \ ;; \ .mem.offset 0,0; st8.spill [r16]=r2,16; \ .mem.offset 8,0; st8.spill [r17]=r3,16; \ Index: linux/include/asm-ia64/mca_asm.h =================================--- linux.orig/include/asm-ia64/mca_asm.h Thu Sep 16 18:43:18 2004 +++ linux/include/asm-ia64/mca_asm.h Thu Sep 16 18:44:11 2004 @@ -162,9 +162,6 @@ ;; \ srlz.d; \ mov r13 = ar.k6; \ - ;; \ - DATA_PA_TO_VA(r13,temp1); \ - ;; \ mov temp2 = ar.bspstore; \ ;; \ DATA_PA_TO_VA(temp2,temp1); \