diff options
author | Geoff Levand <geoffrey.levand@am.sony.com> | 2006-11-22 18:46:57 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-12-04 04:40:52 -0500 |
commit | 261efc3f178c8c5b55d76208aee1f39ce247f723 (patch) | |
tree | f460915b8ea9c334100188b06974c0a34316c981 | |
parent | 2832a81df7f3cb7e7f912a256c156ddbd3450265 (diff) |
[POWERPC] ps3: add lpar addressing
Adds some needed bits for a config option PS3_USE_LPAR_ADDR that disables
the PS3 lpar address translation mechanism. This is a currently needed
workaround for limitations in the design of the generic cell spu support.
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
-rw-r--r-- | arch/powerpc/platforms/ps3/Kconfig | 11 | ||||
-rw-r--r-- | include/asm-powerpc/sparsemem.h | 6 |
2 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig index f023719f6459..451bfcd5502e 100644 --- a/arch/powerpc/platforms/ps3/Kconfig +++ b/arch/powerpc/platforms/ps3/Kconfig | |||
@@ -29,4 +29,15 @@ config PS3_DYNAMIC_DMA | |||
29 | This support is mainly for Linux kernel development. If unsure, | 29 | This support is mainly for Linux kernel development. If unsure, |
30 | say N. | 30 | say N. |
31 | 31 | ||
32 | config PS3_USE_LPAR_ADDR | ||
33 | depends on PPC_PS3 && EXPERIMENTAL | ||
34 | bool "PS3 use lpar address space" | ||
35 | default y | ||
36 | help | ||
37 | This option is solely for experimentation by experts. Disables | ||
38 | translation of lpar addresses. SPE support currently won't work | ||
39 | without this set to y. | ||
40 | |||
41 | If you have any doubt, choose the default y. | ||
42 | |||
32 | endmenu | 43 | endmenu |
diff --git a/include/asm-powerpc/sparsemem.h b/include/asm-powerpc/sparsemem.h index 38b1ea3b58fd..48ad807a0b8a 100644 --- a/include/asm-powerpc/sparsemem.h +++ b/include/asm-powerpc/sparsemem.h | |||
@@ -9,8 +9,14 @@ | |||
9 | * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space | 9 | * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space |
10 | */ | 10 | */ |
11 | #define SECTION_SIZE_BITS 24 | 11 | #define SECTION_SIZE_BITS 24 |
12 | |||
13 | #if defined(CONFIG_PS3_USE_LPAR_ADDR) | ||
14 | #define MAX_PHYSADDR_BITS 47 | ||
15 | #define MAX_PHYSMEM_BITS 47 | ||
16 | #else | ||
12 | #define MAX_PHYSADDR_BITS 44 | 17 | #define MAX_PHYSADDR_BITS 44 |
13 | #define MAX_PHYSMEM_BITS 44 | 18 | #define MAX_PHYSMEM_BITS 44 |
19 | #endif | ||
14 | 20 | ||
15 | #ifdef CONFIG_MEMORY_HOTPLUG | 21 | #ifdef CONFIG_MEMORY_HOTPLUG |
16 | extern void create_section_mapping(unsigned long start, unsigned long end); | 22 | extern void create_section_mapping(unsigned long start, unsigned long end); |