diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2025-09-04 12:01:44 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2025-09-04 12:01:44 -0400 |
commit | 032a7bc4d79efea100a00cf3464bea3249a07ff6 (patch) | |
tree | dab1be8053ac540e4163ffbff850fefa4f22171f /include/object.h | |
parent | d26eb8b54969e79d933a8e20f2725343cd42deab (diff) | |
download | jove-kernel-032a7bc4d79efea100a00cf3464bea3249a07ff6.tar.gz jove-kernel-032a7bc4d79efea100a00cf3464bea3249a07ff6.tar.bz2 jove-kernel-032a7bc4d79efea100a00cf3464bea3249a07ff6.zip |
syscall message unmaps upon invokemain
Diffstat (limited to 'include/object.h')
-rw-r--r-- | include/object.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/object.h b/include/object.h index 94e6b15..c8621ee 100644 --- a/include/object.h +++ b/include/object.h @@ -19,7 +19,6 @@ enum /* Generic objects */ KO_NONE = 0, KO_OBJECT_DIRECTORY, - KO_INIT_DATA, KO_MEMORY_UNTYPED, KO_MEMORY_MAPPING, //4KiB aligned fixed width KO_INITRD_FILE, @@ -34,6 +33,8 @@ enum #define KO_MESSAGE_BYTES 4096 #define KO_MESSAGE_ALIGN 0x1000 +#define KODE_EX_MESSAGE_MAPPED 0b1 + typedef uint8_t path_byte_t; typedef uint16_t obj_type_t; @@ -43,7 +44,7 @@ typedef struct jove_ObjectDirectoryEntry union { struct { unsigned char lock; - char u0; + char extra; }; unsigned short flg; }; @@ -63,4 +64,13 @@ typedef struct jove_ObjectDirectory objdir_entry_t *objdir_seek(objdir_t *dir, uint8_t *path, unsigned long pathw); unsigned long objdir_pathw(objdir_t *dir, uint8_t *path); +int ko_message_unmap(objdir_entry_t *message, uintptr_t *saveptr); +int ko_message_remap(objdir_entry_t *message); +void ko_message_move(objdir_entry_t *message, uintptr_t vptr); + +int ko_untyped_retype_objdir(objdir_entry_t *target); +int ko_untyped_retype_memory_mapping(objdir_entry_t *target); +int ko_untyped_retype_tcb(objdir_entry_t *target); +int ko_untyped_retype_message(objdir_entry_t *target); + #endif |