public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 2.6.9-test] Remove remnants of ar.k[56] being physical
@ 2004-09-16  6:20 Keith Owens
  2004-09-16  9:12 ` Keith Owens
  0 siblings, 1 reply; 2+ messages in thread
From: Keith Owens @ 2004-09-16  6:20 UTC (permalink / raw)
  To: linux-ia64

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 <kaos@sgi.com>

Index: linux/arch/ia64/kernel/minstate.h
=================================--- linux.orig/arch/ia64/kernel/minstate.h	Thu Sep 16 12:25:31 2004
+++ linux/arch/ia64/kernel/minstate.h	Thu Sep 16 15:05:22 2004
@@ -54,8 +54,6 @@
 (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 */			\
 	;;
 
 #ifdef MINSTATE_VIRT
@@ -172,7 +170,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	Sat Aug 14 15:37:55 2004
+++ linux/include/asm-ia64/mca_asm.h	Thu Sep 16 14:38:26 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);				\


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [patch 2.6.9-test] Remove remnants of ar.k[56] being physical
  2004-09-16  6:20 [patch 2.6.9-test] Remove remnants of ar.k[56] being physical Keith Owens
@ 2004-09-16  9:12 ` Keith Owens
  0 siblings, 0 replies; 2+ messages in thread
From: Keith Owens @ 2004-09-16  9:12 UTC (permalink / raw)
  To: linux-ia64

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 <kaos@sgi.com>

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);				\


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-09-16  9:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-16  6:20 [patch 2.6.9-test] Remove remnants of ar.k[56] being physical Keith Owens
2004-09-16  9:12 ` Keith Owens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox