linux/arch/hexagon/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 Hexagon: Add processor and system headers 2011-11-01 07:34:18 -07:00
atomic.h locking,arch,hexagon: Fold atomic_ops 2014-08-14 12:48:06 +02:00
bitops.h arch,hexagon: Convert smp_mb__*() 2014-04-18 14:20:35 +02:00
cache.h Hexagon: set ARCH_DMA_MINALIGN 2014-12-16 13:27:30 -06:00
cacheflush.h hexagon: Fix build failures in linux-next 2014-12-16 13:27:12 -06:00
checksum.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
cmpxchg.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
delay.h arch: hexagon: kernel: add export symbol function __delay() 2014-04-04 18:19:59 -05:00
dma-mapping.h arch: hexagon: Kconfig: add HAVE_DMA_ATTR in Kconfig and remove "linux/dma-mapping.h" from "asm/dma-mapping.h" 2014-04-04 18:19:59 -05:00
dma.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
elf.h Hexagon: update CR year for elf.h 2014-04-04 18:20:02 -05:00
exec.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
fixmap.h hexagon: use generic fixmap.h 2014-01-23 16:36:54 -08:00
fpu.h Hexagon: Core arch-specific header files 2011-11-01 07:34:18 -07:00
futex.h Hexagon: Core arch-specific header files 2011-11-01 07:34:18 -07:00
hexagon_vm.h arch: hexagon: include: asm: add prefix "hvm[ci]_" for all enum members in "hexagon_vm.h" 2014-04-04 18:20:00 -05:00
intrinsics.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
io.h hexagon: Fix build failures in linux-next 2014-12-16 13:27:12 -06:00
irq.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
irqflags.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
Kbuild net, lib: kill arch_fast_hash library bits 2014-12-10 15:17:46 -05:00
kgdb.h hexagon: include: asm: kgdb: extend DBG_MAX_REG_NUM for "cs0/1" 2014-04-04 18:19:59 -05:00
linkage.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
mem-layout.h Hexagon: use correct translation for VMALLOC_START 2013-04-30 19:40:29 -05:00
mm-arch-hooks.h mm: new mm hook framework 2015-06-24 17:49:41 -07:00
mmu_context.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
mmu.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
module.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
mutex.h
page.h Hexagon: use correct translations for DMA mappings 2013-04-30 19:40:28 -05:00
perf_event.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
pgalloc.h hexagon: correct type on pgd copy 2014-04-04 18:20:01 -05:00
pgtable.h mm: make FIRST_USER_ADDRESS unsigned long on all archs 2015-02-11 17:06:03 -08:00
processor.h arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
smp.h smp, hexagon: kill SMP single function call interrupt 2014-04-04 18:20:01 -05:00
spinlock_types.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
spinlock.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
string.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
suspend.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
switch_to.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
syscall.h take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h 2012-11-28 23:43:27 -05:00
thread_info.h arch: Remove exec_domain from remaining archs 2015-04-12 21:03:30 +02:00
time.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
timer-regs.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
timex.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
tlb.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
tlbflush.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
traps.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
uaccess.h mm/uaccess, mm/fault: Clarify that uaccess may only sleep if pagefaults are enabled 2015-05-19 08:39:14 +02:00
vdso.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
vm_fault.h Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
vm_mmu.h Hexagon: update copyright dates 2013-04-30 19:40:27 -05:00