diff options
author | Becky Bruce <becky.bruce@freescale.com> | 2008-09-24 12:01:24 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-09-24 17:29:44 -0400 |
commit | 4ee7084eb11e00eb02dc8435fd18273a61ffa9bf (patch) | |
tree | f9f147f0293bc33e2962ac1c1aa5bbcbd9c0edce /arch/powerpc/platforms | |
parent | 9a62c05180ff55fdaa517370c6f077402820406c (diff) |
POWERPC: Allow 32-bit hashed pgtable code to support 36-bit physical
This rearranges a bit of code, and adds support for
36-bit physical addressing for configs that use a
hashed page table. The 36b physical support is not
enabled by default on any config - it must be
explicitly enabled via the config system.
This patch *only* expands the page table code to accomodate
large physical addresses on 32-bit systems and enables the
PHYS_64BIT config option for 86xx. It does *not*
allow you to boot a board with more than about 3.5GB of
RAM - for that, SWIOTLB support is also required (and
coming soon).
Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/Kconfig.cputype | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 7f6512733862..439c5ba34ecf 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype | |||
@@ -50,6 +50,7 @@ config 44x | |||
50 | select PPC_UDBG_16550 | 50 | select PPC_UDBG_16550 |
51 | select 4xx_SOC | 51 | select 4xx_SOC |
52 | select PPC_PCI_CHOICE | 52 | select PPC_PCI_CHOICE |
53 | select PHYS_64BIT | ||
53 | 54 | ||
54 | config E200 | 55 | config E200 |
55 | bool "Freescale e200" | 56 | bool "Freescale e200" |
@@ -128,18 +129,20 @@ config FSL_EMB_PERFMON | |||
128 | 129 | ||
129 | config PTE_64BIT | 130 | config PTE_64BIT |
130 | bool | 131 | bool |
131 | depends on 44x || E500 | 132 | depends on 44x || E500 || PPC_86xx |
132 | default y if 44x | 133 | default y if PHYS_64BIT |
133 | default y if E500 && PHYS_64BIT | ||
134 | 134 | ||
135 | config PHYS_64BIT | 135 | config PHYS_64BIT |
136 | bool 'Large physical address support' if E500 | 136 | bool 'Large physical address support' if E500 || PPC_86xx |
137 | depends on 44x || E500 | 137 | depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx |
138 | select RESOURCES_64BIT | 138 | select RESOURCES_64BIT |
139 | default y if 44x | ||
140 | ---help--- | 139 | ---help--- |
141 | This option enables kernel support for larger than 32-bit physical | 140 | This option enables kernel support for larger than 32-bit physical |
142 | addresses. This features is not be available on all e500 cores. | 141 | addresses. This feature may not be available on all cores. |
142 | |||
143 | If you have more than 3.5GB of RAM or so, you also need to enable | ||
144 | SWIOTLB under Kernel Options for this to work. The actual number | ||
145 | is platform-dependent. | ||
143 | 146 | ||
144 | If in doubt, say N here. | 147 | If in doubt, say N here. |
145 | 148 | ||