diff options
author | Mark Johnston <markj@FreeBSD.org> | 2020-09-02 18:16:43 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-07-11 11:52:46 +0200 |
commit | 1a5f14a0c547c6c7ecddaeb5171a80ed28ab3316 (patch) | |
tree | ab07ac28f59c5a1df11c57a08be6b73f6a4c1dae /newlib | |
parent | d066d123f1b05bb986fd91743a5e92b7b7cb0690 (diff) | |
download | newlib-1a5f14a0c547c6c7ecddaeb5171a80ed28ab3316.zip newlib-1a5f14a0c547c6c7ecddaeb5171a80ed28ab3316.tar.gz newlib-1a5f14a0c547c6c7ecddaeb5171a80ed28ab3316.tar.bz2 |
Include the psind in data returned by mincore(2).
Currently we use a single bit to indicate whether the virtual page is
part of a superpage. To support a forthcoming implementation of
non-transparent 1GB superpages, it is useful to provide more detailed
information about large page sizes.
The change converts MINCORE_SUPER into a mask for MINCORE_PSIND(psind)
values, indicating a mapping of size psind, where psind is an index into
the pagesizes array returned by getpagesizes(3), which in turn comes
from the hw.pagesizes sysctl. MINCORE_PSIND(1) is equal to the old
value of MINCORE_SUPER.
For now, two bits are used to record the page size, permitting values
of MAXPAGESIZES up to 4.
Reviewed by: alc, kib
Sponsored by: Juniper Networks, Inc.
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D26238
Diffstat (limited to 'newlib')
-rw-r--r-- | newlib/libc/sys/rtems/include/sys/mman.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/newlib/libc/sys/rtems/include/sys/mman.h b/newlib/libc/sys/rtems/include/sys/mman.h index 99c1eb8..6d86142 100644 --- a/newlib/libc/sys/rtems/include/sys/mman.h +++ b/newlib/libc/sys/rtems/include/sys/mman.h @@ -179,7 +179,8 @@ #define MINCORE_MODIFIED 0x4 /* Page has been modified by us */ #define MINCORE_REFERENCED_OTHER 0x8 /* Page has been referenced */ #define MINCORE_MODIFIED_OTHER 0x10 /* Page has been modified */ -#define MINCORE_SUPER 0x20 /* Page is a "super" page */ +#define MINCORE_SUPER 0x60 /* Page is a "super" page */ +#define MINCORE_PSIND(i) (((i) << 5) & MINCORE_SUPER) /* Page size */ /* * Anonymous object constant for shm_open(). |