diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2008-03-12 03:03:24 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-03-12 19:10:26 -0400 |
commit | 31bf111944e31b64a7b692f9d660f71c5ff3d419 (patch) | |
tree | d35dd19288e3bc3529c1ccb00aacc74690f97776 /arch/powerpc | |
parent | 07dc42f632e335a03c0e780805dc9dc141f83e63 (diff) |
[POWERPC] Fix large hash table allocation on Cell blades
My recent hack to allocate the hash table under 1GB on cell was poorly
tested, *cough*. It turns out on blades with large amounts of memory we
fail to allocate the hash table at all. This is because RTAS has been
instantiated just below 768MB, and 0-x MB are used by the kernel,
leaving no areas that are both large enough and also naturally-aligned.
For the cell IOMMU hack the page tables must be under 2GB, so use that
as the limit instead. This has been tested on real hardware and boots
happily.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 32f416175db1..590f1f67c874 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -506,10 +506,10 @@ void __init htab_initialize(void) | |||
506 | } else { | 506 | } else { |
507 | /* Find storage for the HPT. Must be contiguous in | 507 | /* Find storage for the HPT. Must be contiguous in |
508 | * the absolute address space. On cell we want it to be | 508 | * the absolute address space. On cell we want it to be |
509 | * in the first 1 Gig. | 509 | * in the first 2 Gig so we can use it for IOMMU hacks. |
510 | */ | 510 | */ |
511 | if (machine_is(cell)) | 511 | if (machine_is(cell)) |
512 | limit = 0x40000000; | 512 | limit = 0x80000000; |
513 | else | 513 | else |
514 | limit = 0; | 514 | limit = 0; |
515 | 515 | ||