Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
hppa: Add MAP_HUGETLB and MAP_STACK defines [BZ #19285]
The attached patch adds some upstream defines like MAP_HUGETLB and MAP_STACK
in mman.h for the hppa architecture.

The existing MADV_xxK_PAGES defines were dropped upstream, because they were
originally added many years ago based on a proposed patch for the Linux kernel
which was never applied. So, this patch drops those unneeded defines.
  • Loading branch information
Helge Deller authored and Mike Frysinger committed Jan 3, 2016
1 parent 19e0751 commit d4eed61
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 13 deletions.
8 changes: 8 additions & 0 deletions ChangeLog
@@ -1,3 +1,11 @@
2016-01-02 Helge Deller <deller@gmx.de>

[BZ #19285]
* sysdeps/unix/sysv/linux/hppa/bits/mman.h (MAP_STACK): Define.
(MAP_HUGETLB, MCL_ONFAULT): Likewise.
(MADV_HUGEPAGE, MADV_NOHUGEPAGE, MADV_DONTDUMP, MADV_DODUMP): Likewise.
(MADV_xxK_PAGES): Remove.

2016-01-01 Mike Frysinger <vapier@gentoo.org>

[BZ #15421]
Expand Down
21 changes: 8 additions & 13 deletions sysdeps/unix/sysv/linux/hppa/bits/mman.h
Expand Up @@ -58,6 +58,8 @@
# define MAP_GROWSDOWN 0x8000 /* Stack-like segment */
# define MAP_POPULATE 0x10000 /* Populate (prefault) pagetables */
# define MAP_NONBLOCK 0x20000 /* Do not block on IO */
# define MAP_STACK 0x40000 /* Create for process/thread stacks */
# define MAP_HUGETLB 0x80000 /* Create a huge page mapping */
#endif

/* Flags to "msync" */
Expand All @@ -68,6 +70,7 @@
/* Flags to "mlockall" */
#define MCL_CURRENT 1 /* Lock all current mappings */
#define MCL_FUTURE 2 /* Lock all future mappings */
#define MCL_ONFAULT 4 /* Lock all pages that are faulted in */

/* Flags for `mremap'. */
#ifdef __USE_GNU
Expand All @@ -90,19 +93,11 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 65 /* KSM may merge identical pages */
# define MADV_UNMERGEABLE 66 /* KSM may not merge identical pages */
#endif

/* The range 12-64 is reserved for page size specification. */
/* These are Linux-specific. */
#ifdef __USE_MISC
# define MADV_4K_PAGES 12 /* Use 4K pages. */
# define MADV_16K_PAGES 14 /* Use 16K pages. */
# define MADV_64K_PAGES 16 /* Use 64K pages. */
# define MADV_256K_PAGES 18 /* Use 256K pages. */
# define MADV_1M_PAGES 20 /* Use 1 Megabyte pages. */
# define MADV_4M_PAGES 22 /* Use 4 Megabyte pages. */
# define MADV_16M_PAGES 24 /* Use 16 Megabyte pages. */
# define MADV_64M_PAGES 26 /* Use 64 Megabyte pages. */
# define MADV_HUGEPAGE 67 /* Worth backing with hugepages */
# define MADV_NOHUGEPAGE 68 /* Not worth backing with hugepages */
# define MADV_DONTDUMP 69 /* Explicity exclude from the core dump,
overrides the coredump filter bits */
# define MADV_DODUMP 70 /* Clear the MADV_NODUMP flag */
#endif

/* The POSIX people had to invent similar names for the same things. */
Expand Down

0 comments on commit d4eed61

Please sign in to comment.