From 8f976817e7ffe463e88a08121c57816a24527a17 Mon Sep 17 00:00:00 2001 From: Olof Johansson Date: Sun, 28 Aug 2005 21:42:10 -0500 Subject: [PATCH] --- yaml --- r: 6457 b: refs/heads/master c: 7fea82ab1a74030f79a2adfac1af3d93b8638fc3 h: refs/heads/master i: 6455: 6cddc756b3a0bf9b1e6d2e37cc208d88d8f8ffd8 v: v3 --- [refs] | 2 +- trunk/arch/ppc64/kernel/prom_init.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index a6e2ba333c9f..910291eca2cf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6f9aa727433fe7647869c9b64ce2f7b5feac0052 +refs/heads/master: 7fea82ab1a74030f79a2adfac1af3d93b8638fc3 diff --git a/trunk/arch/ppc64/kernel/prom_init.c b/trunk/arch/ppc64/kernel/prom_init.c index adcf972711fc..122283a1d39a 100644 --- a/trunk/arch/ppc64/kernel/prom_init.c +++ b/trunk/arch/ppc64/kernel/prom_init.c @@ -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));