diff options
author | Nishanth Aravamudan <nacc@linux.vnet.ibm.com> | 2012-02-27 03:55:15 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-03-07 01:06:10 -0500 |
commit | e9daf2ad7f603f173d7cd7ee3673b326414f82f4 (patch) | |
tree | 2aae8013c2948b243c797370bdeef649360a2405 /arch/powerpc/kernel/prom_init.c | |
parent | a2007ce8447c9a71d9d694ddcdf64f9dbbf022ff (diff) |
powerpc/prom: Remove limit on maximum size of properties
On a 16TB system (using AMS/CMO), I get:
WARNING: ignoring large property [/ibm,dynamic-reconfiguration-memory] ibm,dynamic-memory length 0x000000000017ffec
and significantly less memory is thus shown to the partition. As far as
I can tell, the constant used is arbitrary. Ben Herrenschmidt provided
additional background that
> The limit was originally set because of Apple machines carrying ROM
> images in the device-tree, at a time where we were much more memory
> constrained than we are now.
and that it is likely not very useful any longer.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/prom_init.c')
-rw-r--r-- | arch/powerpc/kernel/prom_init.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index eca626ea3f23..e2d599048142 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -48,14 +48,6 @@ | |||
48 | #include <linux/linux_logo.h> | 48 | #include <linux/linux_logo.h> |
49 | 49 | ||
50 | /* | 50 | /* |
51 | * Properties whose value is longer than this get excluded from our | ||
52 | * copy of the device tree. This value does need to be big enough to | ||
53 | * ensure that we don't lose things like the interrupt-map property | ||
54 | * on a PCI-PCI bridge. | ||
55 | */ | ||
56 | #define MAX_PROPERTY_LENGTH (1UL * 1024 * 1024) | ||
57 | |||
58 | /* | ||
59 | * Eventually bump that one up | 51 | * Eventually bump that one up |
60 | */ | 52 | */ |
61 | #define DEVTREE_CHUNK_SIZE 0x100000 | 53 | #define DEVTREE_CHUNK_SIZE 0x100000 |
@@ -2273,13 +2265,6 @@ static void __init scan_dt_build_struct(phandle node, unsigned long *mem_start, | |||
2273 | /* sanity checks */ | 2265 | /* sanity checks */ |
2274 | if (l == PROM_ERROR) | 2266 | if (l == PROM_ERROR) |
2275 | continue; | 2267 | continue; |
2276 | if (l > MAX_PROPERTY_LENGTH) { | ||
2277 | prom_printf("WARNING: ignoring large property "); | ||
2278 | /* It seems OF doesn't null-terminate the path :-( */ | ||
2279 | prom_printf("[%s] ", path); | ||
2280 | prom_printf("%s length 0x%x\n", RELOC(pname), l); | ||
2281 | continue; | ||
2282 | } | ||
2283 | 2268 | ||
2284 | /* push property head */ | 2269 | /* push property head */ |
2285 | dt_push_token(OF_DT_PROP, mem_start, mem_end); | 2270 | dt_push_token(OF_DT_PROP, mem_start, mem_end); |