linux-uconsole/arch/frv/include/asm
Laurent Dufour 2ae416b142 mm: new mm hook framework
CRIU is recreating the process memory layout by remapping the checkpointee
memory area on top of the current process (criu).  This includes remapping
the vDSO to the place it has at checkpoint time.

However some architectures like powerpc are keeping a reference to the
vDSO base address to build the signal return stack frame by calling the
vDSO sigreturn service.  So once the vDSO has been moved, this reference
is no more valid and the signal frame built later are not usable.

This patch serie is introducing a new mm hook framework, and a new
arch_remap hook which is called when mremap is done and the mm lock still
hold.  The next patch is adding the vDSO remap and unmap tracking to the
powerpc architecture.

This patch (of 3):

This patch introduces a new set of header file to manage mm hooks:
- per architecture empty header file (arch/x/include/asm/mm-arch-hooks.h)
- a generic header (include/linux/mm-arch-hooks.h)

The architecture which need to overwrite a hook as to redefine it in its
header file, while architecture which doesn't need have nothing to do.

The default hooks are defined in the generic header and are used in the
case the architecture is not defining it.

In a next step, mm hooks defined in include/asm-generic/mm_hooks.h should
be moved here.

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Suggested-by: Andrew Morton <akpm@linux-foundation.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-24 17:49:41 -07:00
..
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic.h locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() 2014-10-03 06:06:23 +02:00
ax88796.h
barrier.h arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
bitops.h arch,frv: Convert smp_mb__*() 2014-04-18 14:20:34 +02:00
bug.h Disintegrate asm/system.h for FRV 2012-03-28 18:30:02 +01:00
bugs.h
busctl-regs.h
cache.h FRV: ARCH_KMALLOC_MINALIGN was already defined 2010-05-28 10:17:21 -07:00
cacheflush.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
checksum.h
cmpxchg.h Disintegrate asm/system.h for FRV 2012-03-28 18:30:02 +01:00
cpu-irqs.h
current.h
delay.h
device.h
div64.h
dm9000.h
dma-mapping.h frv: Provide dummy dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:11:15 +01:00
dma.h
elf.h default SET_PERSONALITY() in linux/elf.h 2013-02-26 02:46:08 -05:00
emergency-restart.h
fb.h
fpu.h
ftrace.h
futex.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gdb-stub.h frv: extend gdbstub to support more features of gdb 2010-05-25 08:07:02 -07:00
gpio-regs.h
hardirq.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
highmem.h frv: remove the second parameter of kmap_atomic_primary() 2012-07-23 14:11:22 +08:00
hw_irq.h
io.h video/fbdev, asm/io.h: Remove ioremap_writethrough() 2015-06-07 15:28:57 +02:00
irc-regs.h
irq.h
irq_regs.h
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild net, lib: kill arch_fast_hash library bits 2014-12-10 15:17:46 -05:00
kdebug.h
kmap_types.h frv: remove km_type definitions 2012-07-24 15:27:29 +08:00
linkage.h
local.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
math-emu.h
mb-regs.h
mb86943a.h
mb93091-fpga-irqs.h
mb93093-fpga-irqs.h
mb93493-irqs.h
mb93493-regs.h
mc146818rtc.h
mem-layout.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
mm-arch-hooks.h mm: new mm hook framework 2015-06-24 17:49:41 -07:00
mmu.h
mmu_context.h
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
mutex.h
page.h FDPIC: Respect PT_GNU_STACK exec protection markings when creating NOMMU stack 2010-01-06 18:16:02 -08:00
pci.h PCI: Remove unused pci_dma_burst_advice() 2015-06-08 07:56:43 -05:00
percpu.h
perf_event.h perf, arch: Rework perf_event_index() 2011-12-21 11:01:07 +01:00
pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable.h mm: add missing __PAGETABLE_{PUD,PMD}_FOLDED defines 2015-02-28 09:57:51 -08:00
processor.h frv: remove unused cpuinfo_frv and friends to fix future build error 2014-10-09 22:26:03 -04:00
ptrace.h UAPI Disintegration 2012-10-10 2012-10-13 11:22:31 +09:00
sections.h
segment.h frv: macro whitespace fixes 2015-01-13 15:23:59 +02:00
serial-regs.h
serial.h
setup.h UAPI: (Scripted) Disintegrate arch/frv/include/asm 2012-10-10 12:09:42 +01:00
shmparam.h
signal.h frv: switch to generic old sigaction() 2013-02-03 18:15:55 -05:00
smp.h
spinlock.h
spr-regs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
string.h lib/string.c: remove strnicmp() 2015-02-12 18:54:14 -08:00
switch_to.h Disintegrate asm/system.h for FRV 2012-03-28 18:30:02 +01:00
syscall.h FRV: Implement new-style ptrace 2009-06-11 09:01:26 -07:00
termios.h UAPI: (Scripted) Disintegrate arch/frv/include/asm 2012-10-10 12:09:42 +01:00
thread_info.h frv: Remove signal translation and exec_domain 2015-04-12 20:58:24 +02:00
timer-regs.h
timex.h
tlb.h
tlbflush.h
topology.h
types.h UAPI: (Scripted) Disintegrate arch/frv/include/asm 2012-10-10 12:09:42 +01:00
uaccess.h frv: uaccess s/might_sleep/might_fault/ 2013-05-28 09:41:07 +02:00
ucontext.h
unaligned.h
unistd.h sys_sgetmask/sys_ssetmask: add CONFIG_SGETMASK_SYSCALL 2014-06-04 16:54:14 -07:00
user.h
vga.h
virtconvert.h Fix common misspellings 2011-03-31 11:26:23 -03:00
xor.h