| 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 |