linux/include/asm-powerpc
Nick Piggin ce0ad7f095 powerpc/mm: Lockless get_user_pages_fast() for 64-bit (v3)
Implement lockless get_user_pages_fast for 64-bit powerpc.

Page table existence is guaranteed with RCU, and speculative page references
are used to take a reference to the pages without having a prior existence
guarantee on them.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2008-07-30 15:26:54 +10:00
..
iseries [POWERPC] iSeries: Localise and constify some iSeries data 2008-04-15 21:21:25 +10:00
8xx_immap.h [POWERPC] include/asm-powerpc/: Spelling fixes 2007-12-20 16:17:44 +11:00
8253pit.h
a.out.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
abs_addr.h [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. 2008-02-13 16:56:49 -08:00
agp.h x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
asm-compat.h powerpc: Add a #define for aligning to a long-sized boundary 2008-07-22 10:39:34 +10:00
atomic.h [POWERPC] Implement atomic{, 64}_{read, write}() without volatile 2007-08-17 11:01:58 +10:00
auxvec.h
backlight.h
bitops.h generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
bootx.h
btext.h
bug.h Fix WARN_ON() on bitfield ops 2007-07-31 21:12:07 -07:00
bugs.h
byteorder.h
cache.h powerpc/booke: Add support for new e500mc core 2008-06-18 16:17:56 -05:00
cacheflush.h
cell-pmu.h
cell-regs.h [POWERPC] cell: Add Cell memory controller register defs and expose it 2007-10-09 21:01:56 +10:00
checksum.h
clk_interface.h [POWERPC] clk.h interface for platforms 2007-10-03 09:11:56 +10:00
code-patching.h powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
compat.h asm-*/compat.h: fix typo in comment 2008-02-03 16:32:51 +02:00
cpm1.h powerpc/cpm: Remove !CONFIG_PPC_CPM_NEW_BINDING code 2008-06-26 01:49:06 -05:00
cpm2.h cpm2: Rework baud rate generators configuration to support external clocks. 2008-07-28 08:47:45 -05:00
cpm.h cpm2: Implement GPIO LIB API on CPM2 Freescale SoC. 2008-07-28 07:40:48 -05:00
cputable.h powerpc: Enable AT_BASE_PLATFORM aux vector 2008-07-25 15:44:39 +10:00
cputhreads.h [POWERPC] Fix thinko in cpu_thread_mask_to_cores() 2008-02-26 22:17:03 +11:00
cputime.h taskstats scaled time cleanup 2008-02-06 10:41:00 -08:00
current.h
dbdma.h
dcr-generic.h [POWERPC] Refactor DCR code 2008-05-29 07:06:56 -05:00
dcr-mmio.h [POWERPC] Refactor DCR code 2008-05-29 07:06:56 -05:00
dcr-native.h [POWERPC] Refactor DCR code 2008-05-29 07:06:56 -05:00
dcr-regs.h [POWERPC] 4xx: Add PPC4xx L2-cache support (440GX) 2008-03-26 07:27:54 -05:00
dcr.h [POWERPC] Refactor DCR code 2008-05-29 07:06:56 -05:00
delay.h
device.h
div64.h
dma-mapping.h dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
dma.h scheduled OSS driver removal 2008-02-06 10:41:02 -08:00
edac.h
eeh_event.h
eeh.h
elf.h powerpc: Enable AT_BASE_PLATFORM aux vector 2008-07-25 15:44:39 +10:00
emergency-restart.h
errno.h
exception.h [POWERPC] irqtrace support for 64-bit powerpc 2008-04-18 15:38:47 +10:00
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h
feature-fixups.h powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
firmware.h powerpc/pseries: Enable CMO feature during platform setup 2008-07-25 15:44:42 +10:00
fixmap.h [POWERPC] Port fixmap from x86 and use for kmap_atomic 2008-04-24 20:58:02 +10:00
floppy.h cleanup floppy.h 2007-10-17 08:42:55 -07:00
fs_pd.h [POWERPC] 85xx: Killed <asm/mpc85xx.h> 2007-10-11 09:14:31 -05:00
fsl_gtm.h powerpc/sysdev: implement FSL GTM support 2008-06-10 10:38:50 -05:00
fsl_lbc.h [POWERPC] fsl_lbc: implement few UPM routines 2008-04-17 01:01:38 -05:00
ftrace.h ftrace: store mcount address in rec->ip 2008-06-23 22:10:56 +02:00
futex.h asm-*/futex.h should include linux/uaccess.h 2008-04-30 08:29:52 -07:00
gpio.h gpiolib: allow user-selection 2008-07-25 10:53:30 -07:00
grackle.h
hardirq.h
heathrow.h
highmem.h [POWERPC] Port fixmap from x86 and use for kmap_atomic 2008-04-24 20:58:02 +10:00
hugetlb.h powerpc: support multiple hugepage sizes 2008-07-24 10:47:19 -07:00
hvcall.h powerpc/pseries: Utilities to set firmware page state 2008-07-25 15:44:42 +10:00
hvconsole.h
hvcserver.h
hw_irq.h ftrace, POWERPC: add irqs_disabled_flags to ppc 2008-05-23 22:37:23 +02:00
hydra.h [POWERPC] Copy over headers from arch/ppc to arch/powerpc that we need 2007-08-22 22:43:29 -05:00
i8259.h
ibmebus.h [POWERPC] ibmebus: Move to of_device and of_platform_driver, match eHCA and eHEA drivers 2007-10-17 22:30:08 +10:00
ide.h ide-generic: remove broken PPC_PREP support 2008-07-24 22:53:30 +02:00
immap_86xx.h [POWERPC] 86xx: fix guts_set_dmacr() and add guts_set_pmuxcr_dma() to immap_86xx.h 2007-12-11 13:57:18 -06:00
immap_cpm2.h [POWERPC] cpm2: Infrastructure code cleanup. 2007-10-04 11:02:04 -05:00
immap_qe.h [POWERPC] QE: immap_qe.h should include asm/io.h 2008-04-17 01:01:39 -05:00
io-defs.h [POWERPC] cell: Generalize io-workarounds code 2008-04-24 21:08:12 +10:00
io.h powerpc ioremap_prot 2008-07-24 10:47:15 -07:00
ioctl.h [POWERPC] Get most of ioctl.h content from <asm-generic/ioctl.h> 2008-05-16 23:22:28 +10:00
ioctls.h
iommu.h powerpc/dma: implement new dma_*map*_attrs() interfaces 2008-07-09 16:30:43 +10:00
ipcbuf.h
ipic.h [POWERPC] ipic: add new interrupts introduced by new chip 2007-12-11 13:57:18 -06:00
irq_regs.h
irq.h [POWERPC] Move to runtime allocated exception stacks 2008-06-02 14:54:42 -05:00
irqflags.h [POWERPC] irqtrace support for 64-bit powerpc 2008-04-18 15:38:47 +10:00
Kbuild include/asm/ptrace.h userspace headers cleanup 2008-07-25 10:53:39 -07:00
kdebug.h x86: optimize page faults like all other achitectures and kill notifier cruft 2007-10-16 09:42:50 -07:00
kdump.h [POWERPC] 85xx: Add support for relocatable kernel (and booting at non-zero) 2008-04-24 20:58:01 +10:00
kexec.h powerpc: Provide dummy crash_shutdown_register 2008-06-30 22:30:55 +10:00
keylargo.h
kgdb.h kgdb, powerpc: arch specific powerpc kgdb support 2008-07-23 11:30:15 -05:00
kmap_types.h
kprobes.h Kprobes: indicate kretprobe support in Kconfig 2008-03-04 16:35:11 -08:00
kvm_asm.h KVM: ppc: PowerPC 440 KVM implementation 2008-04-27 18:21:39 +03:00
kvm_host.h KVM: Add coalesced MMIO support (powerpc part) 2008-07-20 12:42:31 +03:00
kvm_para.h KVM: ppc: PowerPC 440 KVM implementation 2008-04-27 18:21:39 +03:00
kvm_ppc.h KVM: ppc: fix invalidation of large guest pages 2008-07-27 12:02:05 +03:00
kvm.h KVM: ppc: PowerPC 440 KVM implementation 2008-04-27 18:21:39 +03:00
libata-portmap.h
linkage.h
lmb.h [POWERPC] Use lowmem_end_addr to limit lmb allocations on ppc32 2008-04-17 07:46:13 +10:00
local.h local_t: powerpc extension 2007-05-08 11:15:20 -07:00
lppaca.h powerpc/pseries: Add CMO paging statistics 2008-07-25 15:44:42 +10:00
lv1call.h [POWERPC] PS3: System-bus rework 2007-06-28 19:16:38 +10:00
machdep.h powerpc/pseries: iommu enablement for CMO 2008-07-25 15:44:43 +10:00
macio.h [POWERPC] replace asm/of_device.h with linux/of_device.h in macio.h 2008-04-15 21:21:26 +10:00
mc146818rtc.h
mediabay.h [POWERPC] Build fix for drivers/macintosh/mediabay.c 2008-06-16 15:00:47 +10:00
mman.h powerpc: mman.h export fixups 2008-07-15 12:24:53 +10:00
mmu_context.h remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
mmu-8xx.h [POWERPC] Move phys_addr_t definition into asm/types.h 2008-04-17 07:46:14 +10:00
mmu-40x.h [POWERPC] Move phys_addr_t definition into asm/types.h 2008-04-17 07:46:14 +10:00
mmu-44x.h ppc: Export tlb_44x_hwater for KVM 2008-04-27 18:21:37 +03:00
mmu-fsl-booke.h [POWERPC] Move phys_addr_t definition into asm/types.h 2008-04-17 07:46:14 +10:00
mmu-hash32.h powerpc: Get rid of bitfields in ppc_bat struct 2008-06-30 22:31:05 +10:00
mmu-hash64.h powerpc: support multiple hugepage sizes 2008-07-24 10:47:19 -07:00
mmu.h [POWERPC] 40x MMU 2007-08-20 07:28:48 -05:00
mmzone.h [POWERPC] We don't define CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID 2007-05-10 21:28:13 +10:00
module.h
mpc6xx.h [POWERPC] Add 6xx-style HID0_SLEEP support. 2008-05-16 23:22:28 +10:00
mpc8xx.h [POWERPC] 8xx: Get rid of conditional includes of board specific setup 2008-01-28 08:31:04 -06:00
mpc52xx_psc.h powerpc/mpc5200: add PSC SICR bit definitions 2008-07-22 01:13:54 -06:00
mpc52xx.h [POWERPC] Add common clock setting routine mpc52xx_psc_set_clkdiv() 2008-01-26 15:32:18 -07:00
mpc86xx.h [POWERPC] kill isa_{io,mem}_base definitions for !PCI 2007-06-29 01:56:43 -05:00
mpc512x.h [POWERPC] mpc512x: Basic platform support 2008-02-06 14:03:10 -07:00
mpc8260.h [POWERPC] 82xx: Embedded Planet EP8248E support 2008-01-23 19:34:43 -06:00
mpic.h Merge branch 'merge' into powerpc-next 2008-05-23 16:53:23 +10:00
msgbuf.h
mutex.h
nvram.h include/asm-powerpc/nvram.h needs list.h 2008-02-05 09:44:08 -08:00
of_device.h [POWERPC] Move of_device_get_modalias to drivers/of 2008-05-16 23:22:28 +10:00
of_platform.h [POWERPC] Enable RTC for Ebony and Walnut (v2) 2008-01-25 07:07:26 -06:00
ohare.h
oprofile_impl.h [POWERPC] Made FSL Book-E PMC support more generic 2008-02-05 23:34:14 -06:00
paca.h [POWERPC] Raise the upper limit of NR_CPUS and move the pacas into the BSS 2008-04-24 20:58:04 +10:00
page_32.h [POWERPC] 85xx: Add support for relocatable kernel (and booting at non-zero) 2008-04-24 20:58:01 +10:00
page_64.h powerpc: support multiple hugepage sizes 2008-07-24 10:47:19 -07:00
page.h PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
param.h
parport.h parport->dev driver model support 2007-05-08 11:15:05 -07:00
pasemi_dma.h pasemi_mac: jumbo frame support 2008-03-05 16:34:39 -06:00
pci-bridge.h powerpc/4xx: Workaround for PPC440EPx/GRx PCI_28 Errata 2008-06-17 19:01:38 -04:00
pci.h [POWERPC] Merge PCI resource allocation & assignment 2007-12-20 16:18:09 +11:00
percpu.h percpu: fix DEBUG_PREEMPT per_cpu checking 2008-02-23 12:09:28 -08:00
pgalloc-32.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
pgalloc-64.h powerpc: support multiple hugepage sizes 2008-07-24 10:47:19 -07:00
pgalloc.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgtable-4k.h powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 64-bit 2008-07-28 16:30:52 +10:00
pgtable-64k.h powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 64-bit 2008-07-28 16:30:52 +10:00
pgtable-ppc32.h powerpc: Fix 8xx build failure 2008-07-28 16:30:48 +10:00
pgtable-ppc64.h powerpc/mm: Lockless get_user_pages_fast() for 64-bit (v3) 2008-07-30 15:26:54 +10:00
pgtable.h Move update_mmu_cache() declaration from tlbflush.h to pgtable.h 2008-07-25 16:21:11 +10:00
phyp_dump.h [POWERPC] pseries/phyp dump: Reserve a variable amount of space at boot 2008-04-17 07:46:14 +10:00
pmac_feature.h [POWERPC] Disable G5 NAP mode during SMU commands on U3 2008-02-08 19:52:35 +11:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h powerpc/cell: Add support for power button of future IBM cell blades 2008-07-22 10:39:32 +10:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h asm-*/posix_types.h: scrub __GLIBC__ 2008-02-08 09:22:34 -08:00
ppc4xx.h [POWERPC] 4xx: Create common ppc4xx_reset_system() in ppc4xx_soc.c 2008-04-02 20:44:56 -05:00
ppc_asm.h powerpc: Add VSX assembler code macros 2008-07-01 11:28:48 +10:00
ppc-pci.h [POWERPC] iSeries: Call iSeries_pcibios_init from setup_arch 2007-12-11 13:42:32 +11:00
processor.h powerpc: Implement task_pt_regs() accessor 2008-07-09 16:30:44 +10:00
prom.h powerpc: Implement OF PCI address accessors stubs for CONFIG_PCI=n 2008-06-30 22:30:51 +10:00
ps3.h powerpc/ps3: Add a sub-match id to ps3_system_bus 2008-07-22 10:39:33 +10:00
ps3av.h ps3: use symbolic names for video modes 2008-02-06 10:41:17 -08:00
ps3fb.h [POWERPC] PS3: Frame buffer system-bus rework 2007-06-28 19:16:42 +10:00
ps3stor.h [POWERPC] PS3: Storage Driver Core 2007-06-28 19:19:20 +10:00
pSeries_reconfig.h powerpc/pseries: Update the device tree correctly for drconf memory add/remove 2008-07-03 16:58:16 +10:00
ptrace.h powerpc: Add asm/syscall.h with the tracehook entry points 2008-07-28 16:30:49 +10:00
qe_ic.h [POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading 2007-10-08 08:38:57 -05:00
qe.h powerpc/QE: use arch_initcall to probe QUICC Engine GPIOs 2008-06-26 01:49:09 -05:00
reg_8xx.h
reg_booke.h powerpc/e500mc: flush L2 on NAP for e500mc 2008-06-26 01:49:03 -05:00
reg_fsl_emb.h [POWERPC] Made FSL Book-E PMC support more generic 2008-02-05 23:34:14 -06:00
reg.h powerpc/mpc83xx: Power Management support 2008-07-16 17:57:30 -05:00
resource.h
rheap.h [POWERPC] User rheap from arch/powerpc/lib 2007-05-09 23:28:17 -05:00
rio.h [RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc 2008-04-29 19:40:27 +10:00
rtas.h Revert "[POWERPC] Fix RTAS os-term usage on kernel panic" 2007-12-03 09:39:45 +11:00
rtc.h
rwsem.h [POWERPC] irqtrace support for 64-bit powerpc 2008-04-18 15:38:47 +10:00
scatterlist.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
seccomp.h
sections.h
sembuf.h
serial.h
setjmp.h [POWERPC] Make setjmp/longjmp code usable outside of xmon 2008-01-25 22:52:50 +11:00
setup.h
shmbuf.h
shmparam.h
sigcontext.h powerpc: Add VSX context save/restore, ptrace and signal support 2008-07-01 11:28:50 +10:00
siginfo.h
signal.h powerpc: Add TIF_NOTIFY_RESUME support for tracehook 2008-07-28 16:30:50 +10:00
smp.h powerpc: Make core id information available to userspace 2008-07-28 16:30:52 +10:00
smu.h [POWERPC] include/asm-powerpc/: Spelling fixes 2007-12-20 16:17:44 +11:00
socket.h [NET]: Introducing socket mark socket option. 2008-01-31 19:27:19 -08:00
sockios.h
sparsemem.h powerpc: Fix building of arch/powerpc/mm/mem.o when MEMORY_HOTPLUG=y and SPARSEMEM=n 2008-07-03 16:58:07 +10:00
spinlock_types.h
spinlock.h powerpc: Make sure that include/asm-powerpc/spinlock.h does not trigger compilation warnings 2008-07-01 11:29:00 +10:00
spu_csa.h powerpc/spufs: remove class_0_dsisr from spu exception handling 2008-06-16 14:35:00 +10:00
spu_info.h
spu_priv1.h [POWERPC] cell: wrap master run control bit 2007-12-21 19:45:05 +11:00
spu.h powerpc/spufs: add atomic busy_spus counter to struct cbe_spu_info 2008-07-09 16:30:42 +10:00
sstep.h
stat.h
statfs.h
string.h [POWERPC] Add hand-coded assembly strcmp 2008-04-07 10:03:03 +10:00
suspend.h [POWERPC] Fix suspend states again 2007-05-02 20:04:30 +10:00
synch.h powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
syscall.h powerpc: Add asm/syscall.h with the tracehook entry points 2008-07-28 16:30:49 +10:00
syscalls.h powerpc: Wireup new syscalls 2008-07-25 16:40:55 +10:00
systbl.h powerpc: Wireup new syscalls 2008-07-25 16:40:55 +10:00
system.h powerpc: BookE hardware watchpoint support 2008-07-25 15:44:39 +10:00
tce.h
termbits.h [POWERPC] Enable arbitary speed tty ioctls and split input/output speed 2007-07-10 22:03:29 +10:00
termios.h
thread_info.h powerpc: Add TIF_NOTIFY_RESUME support for tracehook 2008-07-28 16:30:50 +10:00
time.h [POWERPC] Fix sparse warnings in arch/powerpc/kernel 2008-05-14 22:31:59 +10:00
timex.h powerpc: Introduce infrastructure for feature sections with alternatives 2008-07-01 11:28:28 +10:00
tlb.h [POWERPC] Include pagemap.h in asm/powerpc/tlb.h 2007-10-03 12:02:43 +10:00
tlbflush.h Move update_mmu_cache() declaration from tlbflush.h to pgtable.h 2008-07-25 16:21:11 +10:00
topology.h powerpc: Make core id information available to userspace 2008-07-28 16:30:52 +10:00
tsi108_irq.h [POWERPC] Change include protections to ASM_POWERPC 2007-05-17 21:10:15 +10:00
tsi108_pci.h [POWERPC] Change include protections to ASM_POWERPC 2007-05-17 21:10:15 +10:00
tsi108.h [POWERPC] Generalize tsi108 PCI setup 2007-05-08 11:54:20 +10:00
types.h powerpc: types: use <asm-generic/int-*.h> for the powerpc architecture 2008-05-02 16:18:35 -07:00
uaccess.h powerpc: Use PPC_LONG_ALIGN in uaccess.h 2008-07-22 10:39:35 +10:00
ucc_fast.h powerpc: Fix a bunch of sparse warnings in the qe_lib 2008-07-16 17:57:45 -05:00
ucc_slow.h [POWERPC] qe: miscellaneous code improvements and fixes to the QE library 2007-10-08 08:38:15 -05:00
ucc.h [POWERPC] qe: miscellaneous code improvements and fixes to the QE library 2007-10-08 08:38:15 -05:00
ucontext.h
udbg.h [POWERPC] 4xx: Add early udbg support for 40x processors 2007-12-23 13:13:03 -06:00
uic.h
unaligned.h kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
uninorth.h
unistd.h powerpc: Wireup new syscalls 2008-07-25 16:40:55 +10:00
user.h Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
vdso_datapage.h [POWERPC] vdso: Fixes for cache block sizes 2007-11-20 13:56:31 +11:00
vdso.h
vga.h
vio.h powerpc/pseries: vio bus support for CMO 2008-07-25 15:44:43 +10:00
xilinx_intc.h [POWERPC] Virtex: add xilinx interrupt controller driver 2007-10-03 07:23:14 -05:00
xmon.h [POWERPC] Make cpus_in_xmon static and remove extern mess from hvc_console.c 2008-05-14 22:31:57 +10:00
xor.h