mm: remove unused MAP_ and PROT_ flags (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 8 Apr 2019 23:41:01 +0000 (19:41 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 9 Apr 2019 00:38:50 +0000 (20:38 -0400)
mmap() and mprotect() have a bunch of flags that we don't use, such as
PROT_GROWSDOWN and MAP_DENYWRITE.  These only existed in the kernel
interface, yet we never actually use them.

This commit removes those flags from the kernel interface.  Userspace
can still pass them to us - they can pass anything after all.  We won't
honor them and may throw errors if we get them.  I'd rather not export
definitions for the kernel interface that the kernel doesn't know about.

Note that glibc still has these common flags in
glibc-2.19-akaros/sysdeps/akaros/bits/mman.h, which is Linux's glibc
header.  Replacing that outright at the moment needs some work.  For
instance, malloc calls __madvise() and whatnot.

Reinstall your kernel headers.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/ros/mman.h

index 576f234..ee46a12 100644 (file)
 #define PROT_WRITE             0x2
 #define PROT_EXEC              0x4
 #define PROT_NONE              0x0
-#define PROT_GROWSDOWN         0x01000000
-#define PROT_GROWSUP           0x02000000
-// TODO NOT A REAL STATE
-#define PROT_UNMAP             0x100
 
 /* mmap flags, only anonymous is supported now, feel free to pass others */
 #define MAP_SHARED             0x01
 #define MAP_ANONYMOUS          0x20
 #define MAP_ANON MAP_ANONYMOUS
 
-#define MAP_GROWSDOWN          0x00100
-#define MAP_DENYWRITE          0x00800
-#define MAP_EXECUTABLE         0x01000
 #define MAP_LOCKED             0x02000
-#define MAP_NORESERVE          0x04000
 #define MAP_POPULATE           0x08000
-#define MAP_NONBLOCK           0x10000
-#define MAP_STACK              0x20000
 
 #define MAP_FAILED             ((void*)-1)
-
-/* Other mmap flags, which we probably won't support
-#define MAP_32BIT
-*/