aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-03-01 21:24:21 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2022-03-01 21:24:21 +0200
commitcbfca7a9854061e3a2d59795361fb875827e7c50 (patch)
tree5cc7ba8e21e5194afa5e81054d825f91315b10e0 /include
parent2f7742acbeace74f09c8d7bb04cf127a84778712 (diff)
downloadkmi-cbfca7a9854061e3a2d59795361fb875827e7c50.tar.gz
kmi-cbfca7a9854061e3a2d59795361fb875827e7c50.zip
make vmflags_t 16 bits
lower 8 bits are reserved for arch-specific flags (but at least read/write/execute) and higher 8 bits are metadata, currently only for VM_VIRTUAL (to be used when the backing physical memory shouldn't be freed)
Diffstat (limited to 'include')
-rw-r--r--include/apos/types.h2
-rw-r--r--include/apos/vmem.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/include/apos/types.h b/include/apos/types.h
index 9b90611..fea71ae 100644
--- a/include/apos/types.h
+++ b/include/apos/types.h
@@ -178,7 +178,7 @@ typedef intmax_t ssize_t;
/* some common types used throughout the kernel */
typedef int_fast8_t stat_t;
typedef uint_fast32_t id_t;
-typedef uint_fast8_t vmflags_t;
+typedef uint_fast16_t vmflags_t;
/* error types (should this go somewhere else? */
/* negative error codes are reserved for general usage, positive error codes are
diff --git a/include/apos/vmem.h b/include/apos/vmem.h
index 92e9d61..cbdef2e 100644
--- a/include/apos/vmem.h
+++ b/include/apos/vmem.h
@@ -21,4 +21,7 @@ stat_t free_uvmem_wrapper(struct vm_branch *b, pm_t *offset, vm_t vaddr, vmflags
#define unmap_freed_region(b, start, bytes)\
map_fill_region(b, &free_uvmem_wrapper, 0, start, bytes, 0)
+#define vm_flags(x) ((x) & ~0xff)
+#define vp_flags(x) ((x) & 0xff)
+
#endif /* APOS_VMEM_H */