Adds some needed bits for a config option PS3PF_USE_LPAR_ADDR that disables the ps3pf lpar address translation mechanism. This is a currently needed workaround for limitations in the design of the spu support. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann --- arch/powerpc/platforms/ps3pf/Kconfig | 11 +++++++++++ include/asm-powerpc/sparsemem.h | 6 ++++++ 2 files changed, 17 insertions(+) Index: linux-2.6/arch/powerpc/platforms/ps3pf/Kconfig =================================================================== --- linux-2.6.orig/arch/powerpc/platforms/ps3pf/Kconfig +++ linux-2.6/arch/powerpc/platforms/ps3pf/Kconfig @@ -29,4 +29,15 @@ config PS3PF_DYNAMIC_DMA This support is mainly for Linux kernel development. If unsure, say N. +config PS3PF_USE_LPAR_ADDR + depends on PS3PF && EXPERIMENTAL + bool "PS3 Platform use lpar address space" + default y + help + This option is solely for experimentation by experts. Disables + translation of lpar addresses. SPE support currently won't work + without this set to y. + + If you have any doubt, choose the default y. + endmenu Index: linux-2.6/include/asm-powerpc/sparsemem.h =================================================================== --- linux-2.6.orig/include/asm-powerpc/sparsemem.h +++ linux-2.6/include/asm-powerpc/sparsemem.h @@ -9,8 +9,14 @@ * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space */ #define SECTION_SIZE_BITS 24 + +#if defined(CONFIG_PS3PF_USE_LPAR_ADDR) +#define MAX_PHYSADDR_BITS 47 +#define MAX_PHYSMEM_BITS 47 +#else #define MAX_PHYSADDR_BITS 44 #define MAX_PHYSMEM_BITS 44 +#endif #ifdef CONFIG_MEMORY_HOTPLUG extern void create_section_mapping(unsigned long start, unsigned long end);