* [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