diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-05-29 04:58:31 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-05-29 05:51:38 -0400 |
commit | 2d9e2763c22a4ce41c3cc5f35366a51f1eba38dc (patch) | |
tree | 5a8ee71858b3ec58ff07a2cd9cf875cfb458cf63 /arch/sparc64/mm/init.c | |
parent | 5f81941c9d47f783e834028dcfb8548809da5a53 (diff) |
[SPARC64]: Fix two bugs wrt. kernel 4MB TSB.
1) The TSB lookup was not using the correct hash mask.
2) It was not aligned on a boundary equal to it's size,
which is required by the sun4v Hypervisor.
wasn't having it's return value checked, and that bug will be fixed up
as well in a subsequent changeset.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/mm/init.c')
-rw-r--r-- | arch/sparc64/mm/init.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 087cbf09d0b7..97af4311f787 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -61,8 +61,11 @@ unsigned long kern_linear_pte_xor[2] __read_mostly; | |||
61 | unsigned long kpte_linear_bitmap[KPTE_BITMAP_BYTES / sizeof(unsigned long)]; | 61 | unsigned long kpte_linear_bitmap[KPTE_BITMAP_BYTES / sizeof(unsigned long)]; |
62 | 62 | ||
63 | #ifndef CONFIG_DEBUG_PAGEALLOC | 63 | #ifndef CONFIG_DEBUG_PAGEALLOC |
64 | /* A special kernel TSB for 4MB and 256MB linear mappings. */ | 64 | /* A special kernel TSB for 4MB and 256MB linear mappings. |
65 | struct tsb swapper_4m_tsb[KERNEL_TSB4M_NENTRIES]; | 65 | * Space is allocated for this right after the trap table |
66 | * in arch/sparc64/kernel/head.S | ||
67 | */ | ||
68 | extern struct tsb swapper_4m_tsb[KERNEL_TSB4M_NENTRIES]; | ||
66 | #endif | 69 | #endif |
67 | 70 | ||
68 | #define MAX_BANKS 32 | 71 | #define MAX_BANKS 32 |