aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-01-31 18:33:49 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:11:26 -0800
commit2f7ee7c63f08b7f883b710a29d91c1891b81b8e1 (patch)
treec0539482cecfd3cbc0b983a23058315811dc8b55 /arch/sparc64
parenta8b900d801697609d1b56cc9c110148c64678068 (diff)
[SPARC64]: Increase swapper_tsb size to 32K.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64')
-rw-r--r--arch/sparc64/kernel/head.S12
-rw-r--r--arch/sparc64/kernel/vmlinux.lds.S3
-rw-r--r--arch/sparc64/mm/tsb.c8
3 files changed, 6 insertions, 17 deletions
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S
index 2988be85147..7840271d7aa 100644
--- a/arch/sparc64/kernel/head.S
+++ b/arch/sparc64/kernel/head.S
@@ -484,16 +484,16 @@ sparc64_boot_end:
/*
* The following skip makes sure the trap table in ttable.S is aligned
* on a 32K boundary as required by the v9 specs for TBA register.
+ *
+ * We align to a 32K boundary, then we have the 32K kernel TSB,
+ * then the 32K aligned trap table.
*/
1:
.skip 0x4000 + _start - 1b
-#ifdef CONFIG_SBUS
-/* This is just a hack to fool make depend config.h discovering
- strategy: As the .S files below need config.h, but
- make depend does not find it for them, we include config.h
- in head.S */
-#endif
+ .globl swapper_tsb
+swapper_tsb:
+ .skip (32 * 1024)
! 0x0000000000408000
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S
index f018aaf4548..467d13a0d5c 100644
--- a/arch/sparc64/kernel/vmlinux.lds.S
+++ b/arch/sparc64/kernel/vmlinux.lds.S
@@ -44,9 +44,6 @@ SECTIONS
__stop___ex_table = .;
. = ALIGN(8192);
- swapper_tsb = .;
- . += 8192;
- . = ALIGN(8192);
__init_begin = .;
.init.text : {
_sinittext = .;
diff --git a/arch/sparc64/mm/tsb.c b/arch/sparc64/mm/tsb.c
index e605478217c..1c4e5c2dfc5 100644
--- a/arch/sparc64/mm/tsb.c
+++ b/arch/sparc64/mm/tsb.c
@@ -12,14 +12,6 @@
#include <asm/pgtable.h>
#include <asm/tsb.h>
-/* We use an 8K TSB for the whole kernel, this allows to
- * handle about 4MB of modules and vmalloc mappings without
- * incurring many hash conflicts.
- */
-#define KERNEL_TSB_SIZE_BYTES 8192
-#define KERNEL_TSB_NENTRIES \
- (KERNEL_TSB_SIZE_BYTES / sizeof(struct tsb))
-
extern struct tsb swapper_tsb[KERNEL_TSB_NENTRIES];
static inline unsigned long tsb_hash(unsigned long vaddr, unsigned long nentries)