Skip to content

Commit

Permalink
[POWERPC] Allocate the hash table under 1G on cell
Browse files Browse the repository at this point in the history
In order to support the fixed IOMMU mapping (in a subsequent patch),
we need the hash table to be inside the IOMMUs DMA window.  This is
usually 2G, but let's make sure the hash table is under 1G as that
will satisfy the IOMMU requirements and also means the hash table will
be on node 0.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Michael Ellerman authored and Paul Mackerras committed Jan 31, 2008
1 parent 1f62a16 commit 41d824b
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions arch/powerpc/mm/hash_utils_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ void __init htab_initialize(void)
unsigned long table;
unsigned long pteg_count;
unsigned long mode_rw;
unsigned long base = 0, size = 0;
unsigned long base = 0, size = 0, limit;
int i;

extern unsigned long tce_alloc_start, tce_alloc_end;
Expand Down Expand Up @@ -505,9 +505,15 @@ void __init htab_initialize(void)
_SDR1 = 0;
} else {
/* Find storage for the HPT. Must be contiguous in
* the absolute address space.
* the absolute address space. On cell we want it to be
* in the first 1 Gig.
*/
table = lmb_alloc(htab_size_bytes, htab_size_bytes);
if (machine_is(cell))
limit = 0x40000000;
else
limit = 0;

table = lmb_alloc_base(htab_size_bytes, htab_size_bytes, limit);

DBG("Hash table allocated at %lx, size: %lx\n", table,
htab_size_bytes);
Expand Down

0 comments on commit 41d824b

Please sign in to comment.