diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-04-15 15:52:21 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-04-16 17:46:12 -0400 |
commit | 99c62dd773797b68f3b1ca6bb3274725d1852fa2 (patch) | |
tree | 7641433c9a3358c5dc108f2d3d4894f5f96f0b19 /arch/powerpc/mm/pgtable_32.c | |
parent | 1993cbf4ae7d30f9a417e143c1344466f2e2ae2e (diff) |
[POWERPC] Remove and replace uses of PPC_MEMSTART with memstart_addr
A number of users of PPC_MEMSTART (40x, ppc_mmu_32) can just always
use 0 as we don't support booting these kernels at non-zero physical
addresses since their exception vectors must be at 0 (or 0xfffx_xxxx).
For the sub-arches that support relocatable interrupt vectors
(book-e), it's reasonable to have memory start at a non-zero physical
address. For those cases use the variable memstart_addr instead of
the #define PPC_MEMSTART since the only uses of PPC_MEMSTART are for
initialization and in the future we can set memstart_addr at runtime
to have a relocatable kernel.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/mm/pgtable_32.c')
-rw-r--r-- | arch/powerpc/mm/pgtable_32.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index ac3390f81900..64c44bcc68de 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c | |||
@@ -281,12 +281,13 @@ int map_page(unsigned long va, phys_addr_t pa, int flags) | |||
281 | */ | 281 | */ |
282 | void __init mapin_ram(void) | 282 | void __init mapin_ram(void) |
283 | { | 283 | { |
284 | unsigned long v, p, s, f; | 284 | unsigned long v, s, f; |
285 | phys_addr_t p; | ||
285 | int ktext; | 286 | int ktext; |
286 | 287 | ||
287 | s = mmu_mapin_ram(); | 288 | s = mmu_mapin_ram(); |
288 | v = KERNELBASE + s; | 289 | v = KERNELBASE + s; |
289 | p = PPC_MEMSTART + s; | 290 | p = memstart_addr + s; |
290 | for (; s < total_lowmem; s += PAGE_SIZE) { | 291 | for (; s < total_lowmem; s += PAGE_SIZE) { |
291 | ktext = ((char *) v >= _stext && (char *) v < etext); | 292 | ktext = ((char *) v >= _stext && (char *) v < etext); |
292 | f = ktext ?_PAGE_RAM_TEXT : _PAGE_RAM; | 293 | f = ktext ?_PAGE_RAM_TEXT : _PAGE_RAM; |