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/include/asm/page_32.h | |
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/include/asm/page_32.h')
-rw-r--r-- | arch/powerpc/include/asm/page_32.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/page_32.h b/arch/powerpc/include/asm/page_32.h index ebfae530a379..d77072a32cc6 100644 --- a/arch/powerpc/include/asm/page_32.h +++ b/arch/powerpc/include/asm/page_32.h | |||
@@ -13,10 +13,16 @@ | |||
13 | #define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES | 13 | #define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES |
14 | #endif | 14 | #endif |
15 | 15 | ||
16 | #ifdef CONFIG_PTE_64BIT | ||
17 | #define PTE_FLAGS_OFFSET 4 /* offset of PTE flags, in bytes */ | ||
18 | #else | ||
19 | #define PTE_FLAGS_OFFSET 0 | ||
20 | #endif | ||
21 | |||
16 | #ifndef __ASSEMBLY__ | 22 | #ifndef __ASSEMBLY__ |
17 | /* | 23 | /* |
18 | * The basic type of a PTE - 64 bits for those CPUs with > 32 bit | 24 | * The basic type of a PTE - 64 bits for those CPUs with > 32 bit |
19 | * physical addressing. For now this just the IBM PPC440. | 25 | * physical addressing. |
20 | */ | 26 | */ |
21 | #ifdef CONFIG_PTE_64BIT | 27 | #ifdef CONFIG_PTE_64BIT |
22 | typedef unsigned long long pte_basic_t; | 28 | typedef unsigned long long pte_basic_t; |