2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 15:13:55 +08:00
linux-next/arch/cris/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
axisflashmap.h
bitops.h CRIS: use generic atomic bitops 2015-03-25 10:55:35 +01:00
bug.h
bugs.h
cache.h
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
current.h
delay.h
dma-mapping.h cris: Provide dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:11:14 +01:00
dma.h
elf.h cris: fix integer overflow in ELF_ET_DYN_BASE 2015-03-25 11:35:12 +01:00
eshlibld.h
etraxi2c.h
fasttimer.h
fb.h
ftrace.h tracing: make CALLER_ADDRx overwriteable 2009-03-02 16:49:37 -05:00
hw_irq.h
io.h cris: io: implement dummy relaxed accessor macros for writes 2014-10-20 18:49:17 +01:00
irq.h
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild CRIS: use generic headers via Kbuild 2015-03-25 10:57:27 +01:00
mm-arch-hooks.h mm: new mm hook framework 2015-06-24 17:49:41 -07:00
mmu_context.h CRIS: Change DEFINE_PER_CPU of current_pgd to be non volatile. 2009-06-24 15:13:41 +09:00
mmu.h
mutex.h
page.h mm/CRIS: clean up unused VALID_PAGE() 2013-07-03 16:07:39 -07:00
pci.h PCI: Turn pcibios_penalize_isa_irq() into a weak function 2014-05-27 16:23:58 -06:00
pgalloc.h cris: handle pgtable_page_ctor() fail 2013-11-15 09:32:17 +09: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
ptrace.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
segment.h
serial.h cris: add arch/cris/include/asm/serial.h 2011-08-25 16:25:35 -07:00
shmparam.h
signal.h cris: switch to generic old sigaction() 2013-02-03 18:15:53 -05:00
string.h CRISv32: Add arch optimized strcmp. 2009-06-10 15:21:03 +02:00
swab.h UAPI: (Scripted) Disintegrate arch/cris/include/asm 2012-10-09 09:46:45 +01:00
switch_to.h Disintegrate asm/system.h for CRIS 2012-03-28 18:30:02 +01:00
termios.h UAPI: (Scripted) Disintegrate arch/cris/include/asm 2012-10-09 09:46:45 +01:00
thread_info.h arch: Remove exec_domain from remaining archs 2015-04-12 21:03:30 +02:00
timex.h
tlb.h
tlbflush.h CRIS: remove SMP code 2015-03-25 10:55:10 +01:00
types.h UAPI: (Scripted) Disintegrate arch/cris/include/asm 2012-10-09 09:46:45 +01:00
uaccess.h CRIS: Whitespace cleanup 2015-02-14 18:54:12 +01: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