diff options
author | David S. Miller <davem@davemloft.net> | 2006-01-31 21:33:49 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:11:26 -0500 |
commit | 2f7ee7c63f08b7f883b710a29d91c1891b81b8e1 (patch) | |
tree | c0539482cecfd3cbc0b983a23058315811dc8b55 /arch | |
parent | a8b900d801697609d1b56cc9c110148c64678068 (diff) |
[SPARC64]: Increase swapper_tsb size to 32K.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc64/kernel/head.S | 12 | ||||
-rw-r--r-- | arch/sparc64/kernel/vmlinux.lds.S | 3 | ||||
-rw-r--r-- | arch/sparc64/mm/tsb.c | 8 |
3 files changed, 6 insertions, 17 deletions
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S index 2988be85147c..7840271d7aae 100644 --- a/arch/sparc64/kernel/head.S +++ b/arch/sparc64/kernel/head.S | |||
@@ -484,16 +484,16 @@ sparc64_boot_end: | |||
484 | /* | 484 | /* |
485 | * The following skip makes sure the trap table in ttable.S is aligned | 485 | * The following skip makes sure the trap table in ttable.S is aligned |
486 | * on a 32K boundary as required by the v9 specs for TBA register. | 486 | * on a 32K boundary as required by the v9 specs for TBA register. |
487 | * | ||
488 | * We align to a 32K boundary, then we have the 32K kernel TSB, | ||
489 | * then the 32K aligned trap table. | ||
487 | */ | 490 | */ |
488 | 1: | 491 | 1: |
489 | .skip 0x4000 + _start - 1b | 492 | .skip 0x4000 + _start - 1b |
490 | 493 | ||
491 | #ifdef CONFIG_SBUS | 494 | .globl swapper_tsb |
492 | /* This is just a hack to fool make depend config.h discovering | 495 | swapper_tsb: |
493 | strategy: As the .S files below need config.h, but | 496 | .skip (32 * 1024) |
494 | make depend does not find it for them, we include config.h | ||
495 | in head.S */ | ||
496 | #endif | ||
497 | 497 | ||
498 | ! 0x0000000000408000 | 498 | ! 0x0000000000408000 |
499 | 499 | ||
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S index f018aaf45486..467d13a0d5c1 100644 --- a/arch/sparc64/kernel/vmlinux.lds.S +++ b/arch/sparc64/kernel/vmlinux.lds.S | |||
@@ -44,9 +44,6 @@ SECTIONS | |||
44 | __stop___ex_table = .; | 44 | __stop___ex_table = .; |
45 | 45 | ||
46 | . = ALIGN(8192); | 46 | . = ALIGN(8192); |
47 | swapper_tsb = .; | ||
48 | . += 8192; | ||
49 | . = ALIGN(8192); | ||
50 | __init_begin = .; | 47 | __init_begin = .; |
51 | .init.text : { | 48 | .init.text : { |
52 | _sinittext = .; | 49 | _sinittext = .; |
diff --git a/arch/sparc64/mm/tsb.c b/arch/sparc64/mm/tsb.c index e605478217c2..1c4e5c2dfc53 100644 --- a/arch/sparc64/mm/tsb.c +++ b/arch/sparc64/mm/tsb.c | |||
@@ -12,14 +12,6 @@ | |||
12 | #include <asm/pgtable.h> | 12 | #include <asm/pgtable.h> |
13 | #include <asm/tsb.h> | 13 | #include <asm/tsb.h> |
14 | 14 | ||
15 | /* We use an 8K TSB for the whole kernel, this allows to | ||
16 | * handle about 4MB of modules and vmalloc mappings without | ||
17 | * incurring many hash conflicts. | ||
18 | */ | ||
19 | #define KERNEL_TSB_SIZE_BYTES 8192 | ||
20 | #define KERNEL_TSB_NENTRIES \ | ||
21 | (KERNEL_TSB_SIZE_BYTES / sizeof(struct tsb)) | ||
22 | |||
23 | extern struct tsb swapper_tsb[KERNEL_TSB_NENTRIES]; | 15 | extern struct tsb swapper_tsb[KERNEL_TSB_NENTRIES]; |
24 | 16 | ||
25 | static inline unsigned long tsb_hash(unsigned long vaddr, unsigned long nentries) | 17 | static inline unsigned long tsb_hash(unsigned long vaddr, unsigned long nentries) |