xref: /openbmc/qemu/linux-user/sparc/target_mman.h (revision 2f95279a)
1 #ifndef SPARC_TARGET_MMAN_H
2 #define SPARC_TARGET_MMAN_H
3 
4 #define TARGET_MAP_NORESERVE           0x40
5 #define TARGET_MAP_LOCKED              0x100
6 #define TARGET_MAP_GROWSDOWN           0x0200
7 
8 /*
9  * arch/sparc/include/asm/page_64.h:
10  * TASK_UNMAPPED_BASE      (test_thread_flag(TIF_32BIT) ? \
11  *                          _AC(0x0000000070000000,UL) : \
12  *                          VA_EXCLUDE_END)
13  * But VA_EXCLUDE_END is > 0xffff800000000000UL which doesn't work
14  * in userland emulation.
15  */
16 #ifdef TARGET_ABI32
17 #define TASK_UNMAPPED_BASE      0x70000000
18 #else
19 #define TASK_UNMAPPED_BASE      (1ull << (TARGET_VIRT_ADDR_SPACE_BITS - 2))
20 #endif
21 
22 /*
23  * arch/sparc/include/asm/elf_64.h
24  * Except that COMPAT_ELF_ET_DYN_BASE exactly matches TASK_UNMAPPED_BASE,
25  * so move it up a bit.
26  */
27 #ifdef TARGET_ABI32
28 #define ELF_ET_DYN_BASE         0x78000000
29 #else
30 #define ELF_ET_DYN_BASE         0x0000010000000000ull
31 #endif
32 
33 #include "../generic/target_mman.h"
34 
35 #endif
36