The patch titled

     ppc64: don't try to claim memory from OF at 1GB mark

has been added to the -mm tree.  Its filename is

     ppc64-dont-try-to-claim-memory-from-of-at-1gb-mark.patch

Patches currently in -mm which might be from [EMAIL PROTECTED] are

ppc64-add-vmx-save-flag-to-vpa.patch
ppc64-dont-try-to-claim-memory-from-of-at-1gb-mark.patch
add-rdinit-parameter-to-pick-early-userspace-init.patch



From: Olof Johansson <[EMAIL PROTECTED]>

Some RS64-based machines (p620, F80, others) have problems with firmware
returning 0xdeadbeef instead of failure to allocations that end at the 1GB
mark.

We have two options:
1. Detect the undocumented 0xdeadbeef return value and interpret it as
a failure.
2. Avoid allocating that high.

(2) is really the cleaner solution here. 768MB is plenty of room so use
that as the max alloc_top instead of 1GB.

Signed-off-by: Olof Johansson <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 arch/ppc64/kernel/prom_init.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

diff -puN 
arch/ppc64/kernel/prom_init.c~ppc64-dont-try-to-claim-memory-from-of-at-1gb-mark
 arch/ppc64/kernel/prom_init.c
--- 
devel/arch/ppc64/kernel/prom_init.c~ppc64-dont-try-to-claim-memory-from-of-at-1gb-mark
      2005-08-29 23:31:34.000000000 -0700
+++ devel-akpm/arch/ppc64/kernel/prom_init.c    2005-08-29 23:31:34.000000000 
-0700
@@ -892,7 +892,10 @@ static void __init prom_init_mem(void)
        if ( RELOC(of_platform) == PLATFORM_PSERIES_LPAR )
                RELOC(alloc_top) = RELOC(rmo_top);
        else
-               RELOC(alloc_top) = RELOC(rmo_top) = min(0x40000000ul, 
RELOC(ram_top));
+               /* Some RS64 machines have buggy firmware where claims up at 1GB
+                * fails. Cap at 768MB as a workaround. Still plenty of room.
+                */
+               RELOC(alloc_top) = RELOC(rmo_top) = min(0x30000000ul, 
RELOC(ram_top));
 
        prom_printf("memory layout at init:\n");
        prom_printf("  memory_limit : %x (16 MB aligned)\n", 
RELOC(prom_memory_limit));
_
-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to