aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/Kconfig
diff options
context:
space:
mode:
authorSuzuki Poulose <suzuki@in.ibm.com>2012-04-15 18:27:18 -0400
committerJosh Boyer <jwboyer@gmail.com>2012-05-03 08:40:23 -0400
commit68343020031585f861d93e2f25589598feadaff3 (patch)
tree4045fe3442f3ace10f2f9225bf9c6f3f7ecb67a9 /arch/powerpc/Kconfig
parentf13bfcc6961a5c9f511c401292db522edcd0b061 (diff)
powerpc/47x: Kernel support for KEXEC
This patch adds support for creating 1:1 mapping for the PPC_47x during a KEXEC. The implementation is similar to that of the PPC440x which is described here : http://patchwork.ozlabs.org/patch/104323/ PPC_47x MMU : The 47x uses Unified TLB 1024 entries, with 4-way associative mapping (4 x 256 entries). The index to be used is calculated by the MMU by hashing the PID, EPN and TS. The software can choose to specify the way by setting bit 0(enable way select) and the way in bits 1-2 in the TLB Word 0. Implementation: The patch erases all the UTLB entries which includes the tlb covering the mapping for our code. The shadow TLB caches the mapping for the running code which helps us to continue the execution until we do isync/rfi. We then create a tmp mapping for the current code in the other address space (TS) and switch to it. Then we create a 1:1 mapping(EPN=RPN) for 0-2GiB in the original address space and switch to the new mapping. TODO: Add SMP support. Signed-off-by: Suzuki K. Poulose <suzuki@in.ibm.com> Signed-off-by: Josh Boyer <jwboyer@gmail.com>
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r--arch/powerpc/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index feab3bad6d0f..e588bac91059 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -353,7 +353,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
353 353
354config KEXEC 354config KEXEC
355 bool "kexec system call (EXPERIMENTAL)" 355 bool "kexec system call (EXPERIMENTAL)"
356 depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP && !PPC_47x)) && EXPERIMENTAL 356 depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) && EXPERIMENTAL
357 help 357 help
358 kexec is a system call that implements the ability to shutdown your 358 kexec is a system call that implements the ability to shutdown your
359 current kernel, and to start another kernel. It is like a reboot 359 current kernel, and to start another kernel. It is like a reboot