linux_dsm_epyc7002/arch/parisc/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
..
agp.h agp: kill phys_to_gart() and gart_to_phys() 2009-08-03 09:05:00 +01:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asmregs.h
assembly.h parisc: provide macro to create exception table entries 2013-11-07 22:25:33 +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
bitops.h arch,parisc: Convert smp_mb__*() 2014-04-18 14:20:41 +02:00
bug.h [PARISC] fix missing TAINT_WARN problem 2012-06-05 14:10:17 +09:00
bugs.h
cache.h parisc: remove homegrown L1_CACHE_ALIGN macro 2010-10-21 21:20:09 -04:00
cacheflush.h sched/preempt, mm/kmap: Explicitly disable/enable preemption in kmap_atomic_* 2015-05-19 08:39:14 +02:00
checksum.h
cmpxchg.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
compat_ucontext.h
compat.h parisc: convert msgrcv and msgsnd syscalls to use compat layer 2013-02-20 22:56:50 +01:00
current.h
delay.h parisc: make udelay() SMP-safe 2013-11-07 22:28:26 +01:00
dma-mapping.h parisc: Provide default implementation for dma_{alloc, free}_attrs 2013-05-06 22:29:09 +02:00
dma.h Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
eisa_bus.h
eisa_eeprom.h Fix common misspellings 2011-03-31 11:26:23 -03:00
elf.h parisc,metag: Fix crashes due to stack randomization on stack-grows-upwards architectures 2015-05-12 22:03:44 +02:00
fb.h
fixmap.h parisc: rename parisc's vmalloc_start to parisc_vmalloc_start 2009-09-27 23:27:04 -04:00
floppy.h parisc: remove IRQF_DISABLED 2013-02-20 22:50:26 +01:00
ftrace.h ftrace: Make CALLER_ADDRx macros more generic 2014-05-21 03:10:32 -04:00
futex.h [PARISC] futex: Use same lock set as lws calls 2012-02-27 09:35:08 -06:00
grfioctl.h
hardirq.h parisc: do not count IPI calls twice 2013-11-07 22:28:54 +01:00
hardware.h parisc: drop include of asm/pdc.h from asm/hardware.h 2012-05-10 15:12:08 -07:00
ide.h
io.h parisc: io: implement dummy relaxed accessor macros for writes 2014-10-20 18:49:18 +01:00
irq.h [PARISC] Convert to new irq_chip functions 2011-02-10 10:22:14 -06:00
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
kbdleds.h keyboard: Use BIOS Keyboard variable to set Numlock 2012-05-08 14:19:41 -07:00
Kbuild parisc: Eliminate sg_virt_addr() and private scatterlist.h 2015-04-21 22:02:43 +02:00
kmap_types.h
ldcw.h parisc: fix out-of-register compiler error in ldcw inline assembler function 2014-12-26 17:47:01 +01:00
led.h
linkage.h
machdep.h
mc146818rtc.h
mckinley.h
mm-arch-hooks.h mm: new mm hook framework 2015-06-24 17:49:41 -07:00
mmu_context.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mmu.h
mmzone.h parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50 (part 2) 2013-06-18 20:20:21 +02:00
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
page.h parisc: Remove unused CONFIG_PARISC_TMPALIAS code 2014-03-23 16:46:30 +01:00
parisc-device.h parisc: Fix interrupt routing for C8000 serial ports 2013-07-31 23:42:32 +02:00
parport.h ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
pci.h PCI: Remove unused pci_dma_burst_advice() 2015-06-08 07:56:43 -05:00
pdc_chassis.h
pdc.h UAPI: (Scripted) Disintegrate arch/parisc/include/asm 2012-10-16 21:28:05 +01:00
pdcpat.h
perf_event.h irq_work: Add generic hardirq context callbacks 2010-10-18 19:58:50 +02:00
perf.h
pgalloc.h parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS 2015-04-21 22:04:03 +02:00
pgtable.h parisc: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00
prefetch.h [PARISC] fix panic on prefetch(NULL) on PA7300LC 2012-05-16 13:15:21 +01:00
processor.h parisc: hpux - Remove hpux gateway page 2015-02-16 22:35:06 +01:00
psw.h Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
ptrace.h parisc: add kernel audit feature 2013-11-07 22:27:20 +01:00
ropes.h
rt_sigframe.h
rtc.h
runway.h
sections.h
serial.h parisc: remove empty SERIAL_PORT_DFNS in serial.h 2013-11-30 21:02:18 +01:00
shmparam.h parisc: change value of SHMLBA from 0x00400000 to PAGE_SIZE 2014-04-13 15:00:53 +02:00
signal.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2013-02-23 18:50:11 -08:00
smp.h [PARISC] Fix parisc compile failure after smp: Add task_struct argument to __cpu_up() 2012-05-25 12:35:45 +01:00
socket.h parisc: break out SOCK_NONBLOCK define to own asm header file 2013-11-19 23:36:17 +01:00
special_insns.h parisc: optimize mtsp(0,sr) inline assembly 2013-07-09 22:09:21 +02:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h parisc: locks: remove redundant arch_*_relax operations 2014-03-23 17:01:23 +01:00
string.h
superio.h
switch_to.h Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
syscall.h ARCH: AUDIT: implement syscall_get_arch for all arches 2014-09-23 16:20:10 -04:00
termios.h UAPI: (Scripted) Disintegrate arch/parisc/include/asm 2012-10-16 21:28:05 +01:00
thread_info.h arch: Remove exec_domain from remaining archs 2015-04-12 21:03:30 +02:00
timex.h Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
tlb.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
tlbflush.h parisc: Ensure volatile space register %sr1 is not clobbered 2013-07-09 22:09:22 +02:00
traps.h parisc: mark parisc_terminate() noreturn and cold. 2013-10-13 17:44:49 +02:00
uaccess.h parisc: macro whitespace fixes 2015-02-17 10:39:14 +01:00
ucontext.h
unaligned.h
unistd.h sys_sgetmask/sys_ssetmask: add CONFIG_SGETMASK_SYSCALL 2014-06-04 16:54:14 -07:00
unwind.h