summaryrefslogtreecommitdiffstats
path: root/hal/shmem.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-10-16 16:42:22 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-10-16 16:42:22 -0400
commitd8aca3ff2501f9a77e22e5afb7a30380aed205af (patch)
treea27db1749a35aea07317406f170a2d9b2a799ce7 /hal/shmem.c
parent548506392b789f58b1556a6ffca917441e1d89fd (diff)
downloadjove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.gz
jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.bz2
jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.zip
remove explicit framebuffer in kernel. reduce locking in syscalls
Diffstat (limited to 'hal/shmem.c')
-rw-r--r--hal/shmem.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/hal/shmem.c b/hal/shmem.c
index 3785c2e..2928a1b 100644
--- a/hal/shmem.c
+++ b/hal/shmem.c
@@ -18,3 +18,15 @@ shmem_new(jove_owned_obj_t *untyped_obj)
memset(untyped, 0, untyped->limit);
return 0;
}
+
+inline size_t
+shmem_numpages(jove_owned_obj_t *shmem_obj)
+{
+ return obj_getvalue(shmem_obj) & JOVE_SMHEM_MAXPAGES;
+}
+
+inline void*
+shmem_deref(jove_owned_obj_t *shmem_obj)
+{
+ return phys_tovirt(obj_getvalue(shmem_obj) & ~JOVE_SMHEM_MAXPAGES);
+}