linux-user: Split TARGET_MAP_* out of syscall_defs.h
Move the values into the per-target target_mman.h headers Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-7-richard.henderson@linaro.org>
This commit is contained in:
parent
40965ad931
commit
492fe4e754
@ -1,6 +1,19 @@
|
||||
#ifndef ALPHA_TARGET_MMAN_H
|
||||
#define ALPHA_TARGET_MMAN_H
|
||||
|
||||
#define TARGET_MAP_ANONYMOUS 0x10
|
||||
#define TARGET_MAP_FIXED 0x100
|
||||
#define TARGET_MAP_GROWSDOWN 0x01000
|
||||
#define TARGET_MAP_DENYWRITE 0x02000
|
||||
#define TARGET_MAP_EXECUTABLE 0x04000
|
||||
#define TARGET_MAP_LOCKED 0x08000
|
||||
#define TARGET_MAP_NORESERVE 0x10000
|
||||
#define TARGET_MAP_POPULATE 0x20000
|
||||
#define TARGET_MAP_NONBLOCK 0x40000
|
||||
#define TARGET_MAP_STACK 0x80000
|
||||
#define TARGET_MAP_HUGETLB 0x100000
|
||||
#define TARGET_MAP_FIXED_NOREPLACE 0x200000
|
||||
|
||||
#define TARGET_MADV_DONTNEED 6
|
||||
|
||||
#define TARGET_MS_ASYNC 1
|
||||
|
@ -1,6 +1,60 @@
|
||||
#ifndef LINUX_USER_TARGET_MMAN_H
|
||||
#define LINUX_USER_TARGET_MMAN_H
|
||||
|
||||
/* These are defined in linux/mmap.h */
|
||||
#define TARGET_MAP_SHARED 0x01
|
||||
#define TARGET_MAP_PRIVATE 0x02
|
||||
#define TARGET_MAP_SHARED_VALIDATE 0x03
|
||||
|
||||
/* 0x0100 - 0x4000 flags are defined in asm-generic/mman.h */
|
||||
#ifndef TARGET_MAP_GROWSDOWN
|
||||
#define TARGET_MAP_GROWSDOWN 0x0100
|
||||
#endif
|
||||
#ifndef TARGET_MAP_DENYWRITE
|
||||
#define TARGET_MAP_DENYWRITE 0x0800
|
||||
#endif
|
||||
#ifndef TARGET_MAP_EXECUTABLE
|
||||
#define TARGET_MAP_EXECUTABLE 0x1000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_LOCKED
|
||||
#define TARGET_MAP_LOCKED 0x2000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_NORESERVE
|
||||
#define TARGET_MAP_NORESERVE 0x4000
|
||||
#endif
|
||||
|
||||
/* Other MAP flags are defined in asm-generic/mman-common.h */
|
||||
#ifndef TARGET_MAP_TYPE
|
||||
#define TARGET_MAP_TYPE 0x0f
|
||||
#endif
|
||||
#ifndef TARGET_MAP_FIXED
|
||||
#define TARGET_MAP_FIXED 0x10
|
||||
#endif
|
||||
#ifndef TARGET_MAP_ANONYMOUS
|
||||
#define TARGET_MAP_ANONYMOUS 0x20
|
||||
#endif
|
||||
#ifndef TARGET_MAP_POPULATE
|
||||
#define TARGET_MAP_POPULATE 0x008000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_NONBLOCK
|
||||
#define TARGET_MAP_NONBLOCK 0x010000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_STACK
|
||||
#define TARGET_MAP_STACK 0x020000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_HUGETLB
|
||||
#define TARGET_MAP_HUGETLB 0x040000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_SYNC
|
||||
#define TARGET_MAP_SYNC 0x080000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_FIXED_NOREPLACE
|
||||
#define TARGET_MAP_FIXED_NOREPLACE 0x100000
|
||||
#endif
|
||||
#ifndef TARGET_MAP_UNINITIALIZED
|
||||
#define TARGET_MAP_UNINITIALIZED 0x4000000
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_MADV_NORMAL
|
||||
#define TARGET_MADV_NORMAL 0
|
||||
#endif
|
||||
|
@ -1,6 +1,16 @@
|
||||
#ifndef HPPA_TARGET_MMAN_H
|
||||
#define HPPA_TARGET_MMAN_H
|
||||
|
||||
#define TARGET_MAP_TYPE 0x2b
|
||||
#define TARGET_MAP_FIXED 0x04
|
||||
#define TARGET_MAP_ANONYMOUS 0x10
|
||||
#define TARGET_MAP_GROWSDOWN 0x8000
|
||||
#define TARGET_MAP_POPULATE 0x10000
|
||||
#define TARGET_MAP_NONBLOCK 0x20000
|
||||
#define TARGET_MAP_STACK 0x40000
|
||||
#define TARGET_MAP_HUGETLB 0x80000
|
||||
#define TARGET_MAP_UNINITIALIZED 0
|
||||
|
||||
#define TARGET_MADV_MERGEABLE 65
|
||||
#define TARGET_MADV_UNMERGEABLE 66
|
||||
#define TARGET_MADV_HUGEPAGE 67
|
||||
|
@ -1 +1,17 @@
|
||||
#ifndef MIPS_TARGET_MMAN_H
|
||||
#define MIPS_TARGET_MMAN_H
|
||||
|
||||
#define TARGET_MAP_NORESERVE 0x0400
|
||||
#define TARGET_MAP_ANONYMOUS 0x0800
|
||||
#define TARGET_MAP_GROWSDOWN 0x1000
|
||||
#define TARGET_MAP_DENYWRITE 0x2000
|
||||
#define TARGET_MAP_EXECUTABLE 0x4000
|
||||
#define TARGET_MAP_LOCKED 0x8000
|
||||
#define TARGET_MAP_POPULATE 0x10000
|
||||
#define TARGET_MAP_NONBLOCK 0x20000
|
||||
#define TARGET_MAP_STACK 0x40000
|
||||
#define TARGET_MAP_HUGETLB 0x80000
|
||||
|
||||
#include "../generic/target_mman.h"
|
||||
|
||||
#endif
|
||||
|
@ -1 +1 @@
|
||||
#include "../generic/target_mman.h"
|
||||
#include "../mips/target_mman.h"
|
||||
|
@ -1 +1,9 @@
|
||||
#ifndef PPC_TARGET_MMAN_H
|
||||
#define PPC_TARGET_MMAN_H
|
||||
|
||||
#define TARGET_MAP_NORESERVE 0x40
|
||||
#define TARGET_MAP_LOCKED 0x80
|
||||
|
||||
#include "../generic/target_mman.h"
|
||||
|
||||
#endif
|
||||
|
@ -1 +1,10 @@
|
||||
#ifndef SPARC_TARGET_MMAN_H
|
||||
#define SPARC_TARGET_MMAN_H
|
||||
|
||||
#define TARGET_MAP_NORESERVE 0x40
|
||||
#define TARGET_MAP_LOCKED 0x100
|
||||
#define TARGET_MAP_GROWSDOWN 0x0200
|
||||
|
||||
#include "../generic/target_mman.h"
|
||||
|
||||
#endif
|
||||
|
@ -1238,90 +1238,7 @@ struct target_winsize {
|
||||
#define TARGET_PROT_MTE 0x20
|
||||
#endif
|
||||
|
||||
/* Common */
|
||||
#define TARGET_MAP_SHARED 0x01 /* Share changes */
|
||||
#define TARGET_MAP_PRIVATE 0x02 /* Changes are private */
|
||||
#if defined(TARGET_HPPA)
|
||||
#define TARGET_MAP_TYPE 0x03 /* Mask for type of mapping */
|
||||
#else
|
||||
#define TARGET_MAP_TYPE 0x0f /* Mask for type of mapping */
|
||||
#endif
|
||||
|
||||
/* Target specific */
|
||||
#if defined(TARGET_MIPS)
|
||||
#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
|
||||
#define TARGET_MAP_ANONYMOUS 0x0800 /* don't use a file */
|
||||
#define TARGET_MAP_GROWSDOWN 0x1000 /* stack-like segment */
|
||||
#define TARGET_MAP_DENYWRITE 0x2000 /* ETXTBSY */
|
||||
#define TARGET_MAP_EXECUTABLE 0x4000 /* mark it as an executable */
|
||||
#define TARGET_MAP_LOCKED 0x8000 /* pages are locked */
|
||||
#define TARGET_MAP_NORESERVE 0x0400 /* don't check for reservations */
|
||||
#define TARGET_MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
|
||||
#define TARGET_MAP_NONBLOCK 0x20000 /* do not block on IO */
|
||||
#define TARGET_MAP_STACK 0x40000 /* ignored */
|
||||
#define TARGET_MAP_HUGETLB 0x80000 /* create a huge page mapping */
|
||||
#elif defined(TARGET_PPC)
|
||||
#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
|
||||
#define TARGET_MAP_ANONYMOUS 0x20 /* don't use a file */
|
||||
#define TARGET_MAP_GROWSDOWN 0x0100 /* stack-like segment */
|
||||
#define TARGET_MAP_DENYWRITE 0x0800 /* ETXTBSY */
|
||||
#define TARGET_MAP_EXECUTABLE 0x1000 /* mark it as an executable */
|
||||
#define TARGET_MAP_LOCKED 0x0080 /* pages are locked */
|
||||
#define TARGET_MAP_NORESERVE 0x0040 /* don't check for reservations */
|
||||
#define TARGET_MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
|
||||
#define TARGET_MAP_NONBLOCK 0x10000 /* do not block on IO */
|
||||
#define TARGET_MAP_STACK 0x20000 /* ignored */
|
||||
#define TARGET_MAP_HUGETLB 0x40000 /* create a huge page mapping */
|
||||
#elif defined(TARGET_ALPHA)
|
||||
#define TARGET_MAP_ANONYMOUS 0x10 /* don't use a file */
|
||||
#define TARGET_MAP_FIXED 0x100 /* Interpret addr exactly */
|
||||
#define TARGET_MAP_GROWSDOWN 0x01000 /* stack-like segment */
|
||||
#define TARGET_MAP_DENYWRITE 0x02000 /* ETXTBSY */
|
||||
#define TARGET_MAP_EXECUTABLE 0x04000 /* mark it as an executable */
|
||||
#define TARGET_MAP_LOCKED 0x08000 /* lock the mapping */
|
||||
#define TARGET_MAP_NORESERVE 0x10000 /* no check for reservations */
|
||||
#define TARGET_MAP_POPULATE 0x20000 /* pop (prefault) pagetables */
|
||||
#define TARGET_MAP_NONBLOCK 0x40000 /* do not block on IO */
|
||||
#define TARGET_MAP_STACK 0x80000 /* ignored */
|
||||
#define TARGET_MAP_HUGETLB 0x100000 /* create a huge page mapping */
|
||||
#elif defined(TARGET_HPPA)
|
||||
#define TARGET_MAP_ANONYMOUS 0x10 /* don't use a file */
|
||||
#define TARGET_MAP_FIXED 0x04 /* Interpret addr exactly */
|
||||
#define TARGET_MAP_GROWSDOWN 0x08000 /* stack-like segment */
|
||||
#define TARGET_MAP_DENYWRITE 0x00800 /* ETXTBSY */
|
||||
#define TARGET_MAP_EXECUTABLE 0x01000 /* mark it as an executable */
|
||||
#define TARGET_MAP_LOCKED 0x02000 /* lock the mapping */
|
||||
#define TARGET_MAP_NORESERVE 0x04000 /* no check for reservations */
|
||||
#define TARGET_MAP_POPULATE 0x10000 /* pop (prefault) pagetables */
|
||||
#define TARGET_MAP_NONBLOCK 0x20000 /* do not block on IO */
|
||||
#define TARGET_MAP_STACK 0x40000 /* ignored */
|
||||
#define TARGET_MAP_HUGETLB 0x80000 /* create a huge page mapping */
|
||||
#elif defined(TARGET_XTENSA)
|
||||
#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
|
||||
#define TARGET_MAP_ANONYMOUS 0x0800 /* don't use a file */
|
||||
#define TARGET_MAP_GROWSDOWN 0x1000 /* stack-like segment */
|
||||
#define TARGET_MAP_DENYWRITE 0x2000 /* ETXTBSY */
|
||||
#define TARGET_MAP_EXECUTABLE 0x4000 /* mark it as an executable */
|
||||
#define TARGET_MAP_LOCKED 0x8000 /* pages are locked */
|
||||
#define TARGET_MAP_NORESERVE 0x0400 /* don't check for reservations */
|
||||
#define TARGET_MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
|
||||
#define TARGET_MAP_NONBLOCK 0x20000 /* do not block on IO */
|
||||
#define TARGET_MAP_STACK 0x40000
|
||||
#define TARGET_MAP_HUGETLB 0x80000 /* create a huge page mapping */
|
||||
#else
|
||||
#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
|
||||
#define TARGET_MAP_ANONYMOUS 0x20 /* don't use a file */
|
||||
#define TARGET_MAP_GROWSDOWN 0x0100 /* stack-like segment */
|
||||
#define TARGET_MAP_DENYWRITE 0x0800 /* ETXTBSY */
|
||||
#define TARGET_MAP_EXECUTABLE 0x1000 /* mark it as an executable */
|
||||
#define TARGET_MAP_LOCKED 0x2000 /* pages are locked */
|
||||
#define TARGET_MAP_NORESERVE 0x4000 /* don't check for reservations */
|
||||
#define TARGET_MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
|
||||
#define TARGET_MAP_NONBLOCK 0x10000 /* do not block on IO */
|
||||
#define TARGET_MAP_STACK 0x20000 /* ignored */
|
||||
#define TARGET_MAP_HUGETLB 0x40000 /* create a huge page mapping */
|
||||
#define TARGET_MAP_UNINITIALIZED 0x4000000 /* for anonymous mmap, memory could be uninitialized */
|
||||
#endif
|
||||
#include "target_mman.h"
|
||||
|
||||
#if (defined(TARGET_I386) && defined(TARGET_ABI32)) \
|
||||
|| (defined(TARGET_ARM) && defined(TARGET_ABI32)) \
|
||||
|
@ -1 +1,17 @@
|
||||
#ifndef XTENSA_TARGET_MMAN_H
|
||||
#define XTENSA_TARGET_MMAN_H
|
||||
|
||||
#define TARGET_MAP_NORESERVE 0x0400
|
||||
#define TARGET_MAP_ANONYMOUS 0x0800
|
||||
#define TARGET_MAP_GROWSDOWN 0x1000
|
||||
#define TARGET_MAP_DENYWRITE 0x2000
|
||||
#define TARGET_MAP_EXECUTABLE 0x4000
|
||||
#define TARGET_MAP_LOCKED 0x8000
|
||||
#define TARGET_MAP_POPULATE 0x10000
|
||||
#define TARGET_MAP_NONBLOCK 0x20000
|
||||
#define TARGET_MAP_STACK 0x40000
|
||||
#define TARGET_MAP_HUGETLB 0x80000
|
||||
|
||||
#include "../generic/target_mman.h"
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user