dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/arch/powerpc/kernel
Suzuki Poulose 6834302003 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>
2012-05-03 08:40:23 -04:00
..
vdso32 Fix common misspellings 2011-03-31 11:26:23 -03:00
vdso64 Fix common misspellings 2011-03-31 11:26:23 -03:00
.gitignore
Makefile powerpc/perf: Move perf core & PMU code into a subdirectory 2012-02-23 10:50:04 +11:00
align.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
asm-offsets.c powerpc: Remove iseries specific fields in lppaca 2012-04-30 15:37:16 +10:00
audit.c
btext.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cacheinfo.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
cacheinfo.h
clock.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
compat_audit.c
cpu_setup_6xx.S powerpc: Fix some 6xx/7xxx CPU setup functions 2011-02-07 12:57:11 +11:00
cpu_setup_44x.S powerpc/44x: Add support for the AMCC APM821xx SoC 2010-10-13 08:47:09 -04:00
cpu_setup_a2.S powerpc/book3e: Add ICSWX/ACOP support to Book3e cores like A2 2011-11-25 14:11:28 +11:00
cpu_setup_fsl_booke.S powerpc/e5500: set non-base IVORs 2011-05-19 00:36:43 -05:00
cpu_setup_pa6t.S
cpu_setup_power7.S powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits 2011-07-12 13:16:58 +03:00
cpu_setup_ppc970.S powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits 2011-07-12 13:16:58 +03:00
cputable.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
crash.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
crash_dump.c powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
dbell.c powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
dma-iommu.c PowerPC: adapt for dma_map_ops changes 2012-03-28 16:36:33 +02:00
dma-swiotlb.c PowerPC: adapt for dma_map_ops changes 2012-03-28 16:36:33 +02:00
dma.c PowerPC: adapt for dma_map_ops changes 2012-03-28 16:36:33 +02:00
entry_32.S powerpc: Fix page fault with lockdep regression 2012-04-10 17:21:35 +10:00
entry_64.S powerpc: Better scheduling of CR save code in system call path 2012-04-30 15:37:14 +10:00
exceptions-64e.S powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
exceptions-64s.S powerpc: Remove CONFIG_POWER4_ONLY 2012-04-30 15:37:26 +10:00
fadump.c powerpc: Fix fallout from system.h split up 2012-04-02 14:00:03 +10:00
firmware.c powerpc: fix implicit use of cache.h in kernel/firmware.c 2011-10-31 19:30:41 -04:00
fpu.S powerpc: Remove second definition of STACK_FRAME_OVERHEAD 2010-11-29 15:48:23 +11:00
fsl_booke_entry_mapping.S powerpc/fsl-booke: Fix address issue when using relocatable kernels 2010-07-11 11:04:08 -05:00
ftrace.c powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
head_8xx.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_32.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_40x.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_44x.S powerpc: Remove empty giveup_altivec function on book3e CPUs 2012-04-30 15:37:16 +10:00
head_64.S powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
head_booke.h powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_fsl_booke.S powerpc: Remove empty giveup_altivec function on book3e CPUs 2012-04-30 15:37:16 +10:00
hw_breakpoint.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
ibmebus.c Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
idle.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
idle_6xx.S
idle_book3e.S powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
idle_e500.S powerpc: e500mc: Fix: use CONFIG_PPC_E500MC in idle_e500.S 2011-10-11 23:23:24 -05:00
idle_power4.S powerpc: Fix power4/970 idle code regression with lockdep 2012-03-16 09:28:17 +11:00
idle_power7.S powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
init_task.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
io-workarounds.c powerpc: io-workarounds.c was implicitly getting init_mm 2011-10-31 19:30:37 -04:00
io.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
iomap.c powerpc: switch to GENERIC_PCI_IOMAP 2011-11-28 21:13:18 +02:00
iommu.c fadump: Register for firmware assisted dump. 2012-02-23 10:50:01 +11:00
irq.c irq: Kill pointless irqd_to_hw export 2012-04-10 22:39:17 -06:00
isa-bridge.c powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
jump_label.c powerpc: Fix build breakage in jump_label.c 2011-11-16 14:25:19 +11:00
kgdb.c powerpc: Fix fallout from system.h split up 2012-04-02 14:00:03 +10:00
kprobes.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
kvm.c KVM: PPC: Avoid patching paravirt template code 2012-03-05 14:52:34 +02:00
kvm_emul.S KVM: PPC: Avoid patching paravirt template code 2012-03-05 14:52:34 +02:00
l2cr_6xx.S Fix common misspellings 2011-03-31 11:26:23 -03:00
legacy_serial.c powerpc: Fix build on some non-freescale platforms 2012-01-25 13:33:22 +11:00
lparcfg.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
machine_kexec.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
machine_kexec_32.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
machine_kexec_64.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
misc.S powerpc: Remove legacy iSeries bits from assembly files 2012-03-09 10:54:59 +11:00
misc_32.S powerpc/47x: Kernel support for KEXEC 2012-05-03 08:40:23 -04:00
misc_64.S powerpc/maple: Enable scom access functions on Maple 2011-06-29 17:48:20 +10:00
module.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
module_32.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
module_64.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
msi.c
nvram_64.c powerpc/nvram: Generalize code for OS partitions in NVRAM 2011-03-04 18:19:04 +11:00
of_platform.c powerpc/eeh: Introduce EEH device 2012-03-09 11:39:29 +11:00
paca.c powerpc: Remove iseries specific fields in lppaca 2012-04-30 15:37:16 +10:00
pci-common.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
pci_32.c powerpc/PCI: compute I/O space bus-to-resource offset consistently 2012-03-20 10:41:44 -07:00
pci_64.c powerpc/PCI: compute I/O space bus-to-resource offset consistently 2012-03-20 10:41:44 -07:00
pci_dn.c powerpc/powernv: PCI support for p7IOC under OPAL v2 2011-11-25 14:53:15 +11:00
pci_of_scan.c powerpc/PCI: convert devtree bus addresses to resource 2012-03-20 10:41:51 -07:00
pmc.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
ppc32.h
ppc_ksyms.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
ppc_save_regs.S Fix common misspellings 2011-03-31 11:26:23 -03:00
proc_powerpc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
process.c powerpc: Optimise enable_kernel_altivec 2012-04-30 15:37:17 +10:00
prom.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
prom_init.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
prom_init_check.sh powerpc/powernv: Get kernel command line accross OPAL takeover 2011-09-20 16:09:48 +10:00
prom_parse.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
ptrace.c powerpc: Remove old powerpc specific ptrace getregs/setregs calls 2012-04-30 15:37:28 +10:00
ptrace32.c powerpc: Remove old powerpc specific ptrace getregs/setregs calls 2012-04-30 15:37:28 +10:00
reloc_32.S powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00
reloc_64.S
rtas-proc.c
rtas-rtc.c powerpc/rtas-rtc: remove sideeffects of printk_ratelimit 2011-06-29 15:30:43 +10:00
rtas.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
rtas_flash.c powerpc/pseries: Cancel RTAS event scan before firmware flash 2011-11-25 14:11:29 +11:00
rtas_pci.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
rtasd.c powerpc/pseries: Cancel RTAS event scan before firmware flash 2011-11-25 14:11:29 +11:00
setup-common.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
setup.h
setup_32.c powerpc: fix build when CONFIG_BOOKE_WDT is enabled 2012-04-19 14:55:43 -05:00
setup_64.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
signal.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
signal.h powerpc: Fix various issues with return to userspace 2012-02-22 16:48:53 +11:00
signal_32.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
signal_64.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
smp-tbsync.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
softemu8xx.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
stacktrace.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
suspend.c update email address 2010-07-19 10:56:54 +02:00
swsusp.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
swsusp_32.S Fix common misspellings 2011-03-31 11:26:23 -03:00
swsusp_64.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
swsusp_asm64.S
swsusp_booke.S powerpc/fsl-booke: Add hibernation support for FSL BookE processors 2010-05-21 07:41:53 -05:00
sys_ppc32.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
syscalls.c Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
sysfs.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
systbl.S
systbl_chk.c
systbl_chk.sh
tau_6xx.c
time.c powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
traps.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
udbg.c powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
udbg_16550.c powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
vdso.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
vecemu.c
vector.S powerpc: Optimise enable_kernel_altivec 2012-04-30 15:37:17 +10:00
vio.c Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
vmlinux.lds.S powerpc: Remove legacy iSeries bits from assembly files 2012-03-09 10:54:59 +11:00