0fb1d9bcbc
After TASK_SIZE now gives the current size of the address space the upgrade of a 64 bit process from 3 to 4 levels of page table needs to use the arch_mmap_check hook to catch large mmap lengths. The get_unmapped_area* functions need to check for -ENOMEM from the arch_get_unmapped_area*, upgrade the page table and retry. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
31 lines
927 B
C
31 lines
927 B
C
/*
|
|
* include/asm-s390/mman.h
|
|
*
|
|
* S390 version
|
|
*
|
|
* Derived from "include/asm-i386/mman.h"
|
|
*/
|
|
|
|
#ifndef __S390_MMAN_H__
|
|
#define __S390_MMAN_H__
|
|
|
|
#include <asm-generic/mman.h>
|
|
|
|
#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
|
|
#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
|
|
#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
|
|
#define MAP_LOCKED 0x2000 /* pages are locked */
|
|
#define MAP_NORESERVE 0x4000 /* don't check for reservations */
|
|
#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
|
|
#define MAP_NONBLOCK 0x10000 /* do not block on IO */
|
|
|
|
#define MCL_CURRENT 1 /* lock all current mappings */
|
|
#define MCL_FUTURE 2 /* lock all future mappings */
|
|
|
|
#if defined(__KERNEL__) && !defined(__ASSEMBLY__) && defined(CONFIG_64BIT)
|
|
int s390_mmap_check(unsigned long addr, unsigned long len);
|
|
#define arch_mmap_check(addr,len,flags) s390_mmap_check(addr,len)
|
|
#endif
|
|
|
|
#endif /* __S390_MMAN_H__ */
|