kernel-fxtec-pro1x/arch/powerpc/include/asm
Michael Neuling c1fb6816fb powerpc: Add relocation on exception vector handlers
POWER8/v2.07 allows exceptions to be taken with the MMU still on.

A new set of exception vectors is added at 0xc000_0000_0000_4xxx.  When the HW
takes us here, MSR IR/DR will be set already and we no longer need a costly
RFID to turn the MMU back on again.

The original 0x0 based exception vectors remain for when the HW can't leave the
MMU on.  Examples of this are when we can't trust the current MMU mappings,
like when we are changing from guest to hypervisor (HV 0 -> 1) or when the MMU
was off already.  In these cases the HW will take us to the original 0x0 based
exception vectors with the MMU off as before.

This uses the new macros added previously too implement these new execption
vectors at 0xc000_0000_0000_4xxx.  We exit these exception vectors using
mflr/blr (rather than mtspr SSR0/RFID), since we don't need the costly MMU
switch anymore.

This moves the __end_interrupts marker down past these new 0x4000 vectors since
they will need to be copied down to 0x0 when the kernel is not at 0x0.

Signed-off-by: Matt Evans <matt@ozlabs.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-11-15 15:08:05 +11:00
..
8xx_immap.h powerpc: Fix multicast problem in fs_enet driver 2011-04-21 16:59:30 -07:00
agp.h
asm-compat.h powerpc: Change mtcrf to use real register names 2012-07-10 19:18:11 +10:00
asm-offsets.h
async_tx.h
atomic.h atomic: implement generic atomic_dec_if_positive() 2012-10-09 16:22:46 +09:00
backlight.h
barrier.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bitops.h powerpc: Use asm-generic/bitops/le.h 2012-11-15 13:01:10 +11:00
bootx.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
btext.h
bug.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bugs.h
cache.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
cacheflush.h powerpc/85xx: add HOTPLUG_CPU support 2012-09-12 14:57:08 -05:00
cell-pmu.h
cell-regs.h
checksum.h powerpc: Add 64bit csum_and_copy_to_user 2010-09-02 14:07:30 +10:00
clk_interface.h
cmpxchg.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
code-patching.h powerpc: Have patch_instruction detect faults 2012-07-03 14:14:38 +10:00
compat.h compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
cpm.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cpm1.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cpm2.h
cputable.h powerpc: POWER8 cputable entry 2012-11-15 13:00:45 +11:00
cputhreads.h powerpc: Fixing a cputhread code documentation 2012-05-22 14:37:00 +10:00
cputime.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
current.h
dbdma.h
dbell.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h powerpc: Rework set_dabr so it can take a DABRX value as well 2012-09-10 09:59:10 +10:00
delay.h
device.h powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
disassemble.h
div64.h
dma-mapping.h common: dma-mapping: add support for generic dma_mmap_* calls 2012-07-30 12:25:46 +02:00
dma.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
edac.h
eeh.h powerpc/eeh: Remove EEH PE for normal PCI hotplug 2012-09-18 15:32:23 +10:00
eeh_event.h powerpc/eeh: Handle EEH error based on PE 2012-09-10 09:35:43 +10:00
ehv_pic.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
elf.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
emergency-restart.h
emulated_ops.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
epapr_hcalls.h KVM: PPC: Factor out guest epapr initialization 2012-05-30 11:43:10 +02:00
exception-64e.h powerpc/booke64: Use SPRG0/3 scratch for bolted TLB miss & crit int 2012-09-05 15:35:52 +10:00
exception-64s.h powerpc: Add relocation on exception vector handlers 2012-11-15 15:08:05 +11:00
exec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
fadump.h fadump: Invalidate registration and release reserved memory for general use. 2012-02-23 10:50:02 +11:00
fb.h
feature-fixups.h powerpc: Use new CPU feature bit to select 2.06 tlbie 2011-05-04 15:19:26 +10:00
firmware.h powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
fixmap.h
floppy.h powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
fs_pd.h
fsl_85xx_cache_sram.h powerpc/85xx: add cache-sram support 2010-10-14 00:54:38 -05:00
fsl_gtm.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
fsl_guts.h powerpc/85xx: implement hardware timebase sync 2012-09-12 14:57:08 -05:00
fsl_hcalls.h powerpc: introduce ePAPR embedded hypervisor hcall interface 2011-06-27 08:30:19 -05:00
fsl_ifc.h powerpc/mpc85xx: Add new ext fields to Integrated FLash Controller 2012-09-12 14:57:10 -05:00
fsl_lbc.h powerpc/85xx: Add lbc suspend support for PM 2011-11-24 02:01:40 -06:00
ftrace.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
futex.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
gpio.h gpiolib/arches: Centralise bolierplate asm/gpio.h 2012-05-11 18:00:14 -06:00
grackle.h
hardirq.h
heathrow.h
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hugetlb.h mm: hugetlb: add arch hook for clearing page flags before entering pool 2012-10-09 16:22:24 +09:00
hvcall.h powerpc: cleanup old DABRX #defines 2012-09-10 09:59:16 +10:00
hvconsole.h
hvcserver.h
hvsi.h powerpc/hvsi: Fix conflict with old HVSI driver 2011-07-01 13:10:21 +10:00
hw_breakpoint.h powerpc: Dynamically calculate the dabrx based on kernel/user/hypervisor 2012-09-10 09:59:13 +10:00
hw_irq.h KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
hydra.h Update broken web addresses in arch directory. 2010-10-18 11:03:21 +02:00
i8259.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
ibmebus.h
ide.h
immap_cpm2.h
immap_qe.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
io-defs.h
io-workarounds.h powerpc/pci: Make IO workarounds init implicit when first bus is registered 2011-04-27 14:18:31 +10:00
io.h powerpc: Disable /dev/port interface on systems without an ISA bridge 2012-07-11 18:22:32 +10:00
io_event_irq.h powerpc/pseries: Add support for IO event interrupts 2011-05-06 13:19:01 +10:00
iommu.h powerpc/iommu: Implement IOMMU pools to improve multiqueue adapter performance 2012-07-03 14:14:48 +10:00
ipic.h
irq.h powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
irq_regs.h
irqflags.h powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
jump_label.h static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() 2012-02-24 10:05:59 +01:00
Kbuild UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
kdebug.h
kdump.h powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
kexec.h powerpc: Cleanup crash/kexec code 2011-12-08 14:02:23 +11:00
keylargo.h Typos: change aditional to additional. 2012-02-21 11:40:36 +01:00
kgdb.h kgdb,ppc: Individual register get/set for ppc 2010-10-29 13:14:42 -05:00
kmap_types.h powerpc: remove km_type definitions 2012-07-24 15:27:29 +08:00
kprobes.h powerpc/kprobes: Rename opcode_t in probes.h to ppc_opcode_t 2012-09-07 09:48:50 +10:00
kvm_44x.h KVM: PPC: booke: add sregs support 2011-05-22 08:47:53 -04:00
kvm_asm.h KVM: PPC: Restrict PPC_[L|ST]D macro to asm code 2012-05-06 16:19:08 +02:00
kvm_book3s.h powerpc/mm: Convert virtual address to vpn 2012-09-17 16:31:49 +10:00
kvm_book3s_32.h powerpc: Build fix for powerpc KVM 2012-10-18 10:37:52 +11:00
kvm_book3s_64.h KVM: PPC: Book3S HV: Make the guest hash table size configurable 2012-05-30 11:43:10 +02:00
kvm_book3s_asm.h powerpc: Restore VDSO information on critical exception om BookE 2012-09-07 09:48:49 +10:00
kvm_booke.h KVM: PPC: factor out lpid allocator from book3s_64_mmu_hv 2012-04-08 12:51:02 +03:00
kvm_booke_hv_asm.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
kvm_fpu.h powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
kvm_host.h Merge remote-tracking branch 'upstream/master' into queue 2012-08-26 13:58:41 -03:00
kvm_para.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
kvm_ppc.h KVM: PPC: Add cache flush on page map 2012-08-16 14:14:53 +02:00
libata-portmap.h
local.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
lppaca.h powerpc: Reformat lppaca.h 2012-04-30 15:37:16 +10:00
lv1call.h powerpc/ps3: Correct lv1 repository routine names 2012-04-24 15:34:16 -07:00
machdep.h powerpc: Remove no longer used ppc_md.idle_loop() 2012-11-15 13:00:20 +11:00
macio.h treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
mc146818rtc.h
mediabay.h
mman.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-book3e.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
mmu-hash32.h
mmu-hash64.h powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
mmu.h powerpc: POWER8 cputable entry 2012-11-15 13:00:45 +11:00
mmu_context.h powerpc: Add Initiate Coprocessor Store Word (icswx) support 2011-05-04 15:19:26 +10:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
mpc5xxx.h
mpc6xx.h
mpc8xx.h
mpc52xx.h powerpc/mpc52xx_lpbfifo: optionally defer fifo transfer start 2012-09-14 10:15:35 +02:00
mpc52xx_psc.h powerpc/5200: add mpc5200_psc_ac97_gpio_reset 2010-08-06 20:49:18 -06:00
mpc5121.h powerpc/5121: shared DIU framebuffer support 2010-08-01 17:06:44 -06:00
mpc8260.h
mpic.h powerpc/mpic: FSL MPIC error interrupt support. 2012-09-12 14:57:10 -05:00
mpic_msgr.h powerpc/mpic_msgr: Add missing includes 2012-08-24 20:26:04 +10:00
msi_bitmap.h
mutex.h
nvram.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
ohare.h
opal.h powerpc/powernv: Update OPAL interfaces 2011-12-07 18:02:02 +11:00
oprofile_impl.h
paca.h powerpc/mm: Use 32bit array for slb cache 2012-09-17 16:31:51 +10:00
page.h powerpc: Define virtual-physical translations for RELOCATABLE 2011-12-20 10:21:34 -05:00
page_32.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
page_64.h powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
parport.h
pasemi_dma.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pci-bridge.h powerpc/eeh: Fix crash on converting OF node to edev 2012-09-18 15:32:51 +10:00
pci.h powerpc/PCI: compute I/O space bus-to-resource offset consistently 2012-03-20 10:41:44 -07:00
percpu.h powerpc: Optimise per cpu accesses on 64bit 2010-07-09 11:28:30 +10:00
perf_event.h powerpc/perf: Move code to select SIAR or pt_regs into perf_read_regs 2012-07-10 19:18:41 +10:00
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Sample only if SIAR-Valid bit is set in P7+ 2012-09-27 12:51:05 +10:00
pgalloc-32.h
pgalloc-64.h
pgalloc.h mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00
pgtable-ppc32.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
pgtable-ppc64-4k.h powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
pgtable-ppc64-64k.h powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
pgtable-ppc64.h powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
pgtable.h powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
pmac_feature.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
ppc-opcode.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
ppc-pci.h powerpc/eeh: Cleanup on EEH PCI address cache 2012-09-10 09:59:00 +10:00
ppc4xx.h
ppc_asm.h powerpc: Enforce usage of R0-R31 where possible 2012-07-10 19:18:30 +10:00
probes.h powerpc/kprobes: Rename opcode_t in probes.h to ppc_opcode_t 2012-09-07 09:48:50 +10:00
processor.h cpuidle/powerpc: Fix smt_snooze_delay functionality. 2012-10-18 10:57:24 +11:00
prom.h powerpc+of: Move of_drconf_cell struct definition to asm/prom.h 2012-11-15 09:43:55 +11:00
ps3.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
ps3av.h
ps3gpu.h
ps3stor.h
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h powerpc: Hugetlb for BookE 2011-09-20 09:19:40 +10:00
pte-common.h powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled 2011-04-18 13:08:21 +10:00
pte-fsl-booke.h
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h powerpc/mm: Convert virtual address to vpn 2012-09-17 16:31:49 +10:00
pte-hash64.h
ptrace.h Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-13 11:21:15 +09:00
qe.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
qe_ic.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
reg.h powerpc: POWER8 cputable entry 2012-11-15 13:00:45 +11:00
reg_8xx.h
reg_a2.h powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
reg_booke.h Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-05-24 16:17:30 -07:00
reg_fsl_emb.h
rheap.h
rio.h powerpc/fsl_rio: Fix compile error when CONFIG_FSL_RIO not set 2011-06-02 15:29:08 -05:00
rtas.h powerpc+of: Remove the pSeries_reconfig.h file 2012-11-15 12:56:55 +11:00
rtc.h
runlatch.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
scom.h powerpc: Add SCOM infrastructure 2011-04-20 17:01:19 +10:00
sections.h powerpc: Copy down exception vectors after feature fixups 2011-11-16 14:47:54 +11:00
serial.h
setjmp.h
setup.h powerpc: Remove stale function prototypes from setup.h 2012-11-15 13:00:54 +11:00
sfp-machine.h Revert "endian: #define __BYTE_ORDER" 2010-05-26 08:30:15 -07:00
shmparam.h
signal.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
smp.h powerpc/85xx: add HOTPLUG_CPU support 2012-09-12 14:57:08 -05:00
smu.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
sparsemem.h powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
spinlock.h powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces 2012-03-21 11:16:12 +11:00
spinlock_types.h
spu.h Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
spu_csa.h
spu_info.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
spu_priv1.h Fix common misspellings 2011-03-31 11:26:23 -03:00
sstep.h
string.h
swab.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
swiotlb.h powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
switch_to.h Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-05-24 16:17:30 -07:00
synch.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
syscall.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
syscalls.h powerpc: switch to generic sys_execve()/kernel_execve() 2012-09-30 23:35:51 -04:00
systbl.h compat: fs: Generic compat_sys_sendfile implementation 2012-10-02 21:35:55 -04:00
tce.h powerpc/powernv: Add TCE SW invalidation support 2011-11-25 14:32:57 +11:00
termios.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
thread_info.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-10-12 10:49:08 +09:00
time.h cputime: Consolidate vtime handling on context switch 2012-08-20 13:05:28 +02:00
timex.h
tlb.h mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00
tlbflush.h powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
topology.h sched/numa: Rewrite the CONFIG_NUMA sched domain support 2012-05-09 15:00:55 +02:00
trace.h powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS 2012-07-03 14:14:41 +10:00
tsi108.h
tsi108_irq.h
tsi108_pci.h
types.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
uaccess.h powerpc: Remove unused __get_user64() and __put_user64() 2012-09-18 15:32:36 +10:00
ucc.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
ucc_fast.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
ucc_slow.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
udbg.h powerpc/udbg: Remove unused udbg_read() 2012-11-15 12:59:33 +11:00
uic.h
unaligned.h
uninorth.h Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
unistd.h Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-13 11:21:15 +09:00
uprobes.h powerpc/kprobes: Rename opcode_t in probes.h to ppc_opcode_t 2012-09-07 09:48:50 +10:00
user.h
vdso.h powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
vdso_datapage.h Fix common misspellings 2011-03-31 11:26:23 -03:00
vga.h
vio.h powerpc: Call dma_debug_add_bus for PCI and VIO buses 2012-07-10 19:18:57 +10:00
word-at-a-time.h powerpc: Use the new generic strncpy_from_user() and strnlen_user() 2012-05-27 21:00:07 -07:00
wsp.h powerpc: Add WSP platform 2011-05-06 13:32:35 +10:00
xics.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h