diff options
author | Kumar Gala <galak@freescale.com> | 2005-04-16 18:24:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:24:22 -0400 |
commit | f50b153b1966230e78034d5ab1641ca4bb5db56d (patch) | |
tree | 9f3f0971789ca2cbb59efbd694c172804f4547cd /arch/ppc/Kconfig | |
parent | b464fce5edc08a825907e9d48a2d2f1af0393fef (diff) |
[PATCH] ppc32: Support 36-bit physical addressing on e500
To add support for 36-bit physical addressing on e500 the following changes
have been made. The changes are generalized to support any physical address
size larger than 32-bits:
* Allow FSL Book-E parts to use a 64-bit PTE, it is 44-bits of pfn, 20-bits
of flags.
* Introduced new CPU feature (CPU_FTR_BIG_PHYS) to allow runtime handling of
updating hardware register (SPRN_MAS7) which holds the upper 32-bits of
physical address that will be written into the TLB. This is useful since
not all e500 cores support 36-bit physical addressing.
* Currently have a pass through implementation of fixup_bigphys_addr
* Moved _PAGE_DIRTY in the 64-bit PTE case to free room for three additional
storage attributes that may exist in future FSL Book-E cores and updated
fault handler to copy these bits into the hardware TLBs.
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc/Kconfig')
-rw-r--r-- | arch/ppc/Kconfig | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index 813c6c9a6d99..74aa1e92a395 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -98,13 +98,19 @@ config FSL_BOOKE | |||
98 | 98 | ||
99 | config PTE_64BIT | 99 | config PTE_64BIT |
100 | bool | 100 | bool |
101 | depends on 44x | 101 | depends on 44x || E500 |
102 | default y | 102 | default y if 44x |
103 | default y if E500 && PHYS_64BIT | ||
103 | 104 | ||
104 | config PHYS_64BIT | 105 | config PHYS_64BIT |
105 | bool | 106 | bool 'Large physical address support' if E500 |
106 | depends on 44x | 107 | depends on 44x || E500 |
107 | default y | 108 | default y if 44x |
109 | ---help--- | ||
110 | This option enables kernel support for larger than 32-bit physical | ||
111 | addresses. This features is not be available on all e500 cores. | ||
112 | |||
113 | If in doubt, say N here. | ||
108 | 114 | ||
109 | config ALTIVEC | 115 | config ALTIVEC |
110 | bool "AltiVec Support" | 116 | bool "AltiVec Support" |