aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavem <davem>2001-12-05 01:02:16 +0000
committerdavem <davem>2001-12-05 01:02:16 +0000
commit11aed6cfa5f63042aae02e34aee309454d7232db (patch)
tree343aa147426325e5144c43438ce1a36565f15500
parent5f6fc905e5c28987d7b58138aafbf62684dc3248 (diff)
downloadnetdev-vger-cvs-11aed6cfa5f63042aae02e34aee309454d7232db.tar.gz
Do not assume KERNBASE == 4MB.
-rw-r--r--arch/sparc64/kernel/head.S13
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S
index 2fbc41612..0bc9d83b7 100644
--- a/arch/sparc64/kernel/head.S
+++ b/arch/sparc64/kernel/head.S
@@ -1,4 +1,4 @@
-/* $Id: head.S,v 1.85 2001-11-30 07:03:53 davem Exp $
+/* $Id: head.S,v 1.86 2001-12-05 01:02:16 davem Exp $
* head.S: Initial boot code for the Sparc64 port of Linux.
*
* Copyright (C) 1996,1997 David S. Miller (davem@caip.rutgers.edu)
@@ -219,7 +219,8 @@ cheetah_got_tlbentry:
or %g3, %lo(_end), %g3
srl %g3, 23, %g3 /* Check if _end > 8M */
brz,pt %g3, 1f
- sethi %hi(0x400000), %g3
+ sethi %hi(KERNBASE), %g3 /* Restore for fixup code below */
+ sethi %hi(0x400000), %g3
or %g3, %lo(0x400000), %g3
add %g5, %g3, %g5 /* New tte data */
andn %g5, (_PAGE_G), %g5
@@ -236,6 +237,7 @@ cheetah_got_tlbentry:
membar #Sync
flush %g3
membar #Sync
+ sethi %hi(KERNBASE), %g3 /* Restore for fixup code below */
ba,pt %xcc, 1f
nop
@@ -383,7 +385,8 @@ spitfire_got_tlbentry:
or %g3, %lo(_end), %g3
srl %g3, 23, %g3 /* Check if _end > 8M */
brz,pt %g3, 2f
- sethi %hi(0x400000), %g3
+ sethi %hi(KERNBASE), %g3 /* Restore for fixup code below */
+ sethi %hi(0x400000), %g3
or %g3, %lo(0x400000), %g3
add %g5, %g3, %g5 /* New tte data */
andn %g5, (_PAGE_G), %g5
@@ -399,10 +402,6 @@ spitfire_got_tlbentry:
flush %g3
membar #Sync
sethi %hi(KERNBASE), %g3 /* Restore for fixup code below */
- stxa %g3, [%l7] ASI_DMMU
- stxa %g3, [%l7] ASI_IMMU
- flush %g3
- membar #Sync
2: ba,pt %xcc, 1f
nop
1: