diff options
Diffstat (limited to 'api')
| -rw-r--r-- | api/init.h | 5 | ||||
| -rw-r--r-- | api/obj.h | 5 | ||||
| -rw-r--r-- | api/syscall.h | 22 |
3 files changed, 15 insertions, 17 deletions
@@ -10,18 +10,16 @@ enum { INIT_ROOTDIR_PROCESSORS_I, INIT_ROOTDIR_FREEMEMORY_I, INIT_ROOTDIR_HWMEMORY_I, + INIT_ROOTDIR_MODULES_I, INIT_ROOTDIR_INTERRUPTS_I, INIT_ROOTDIR_INITRD_I, INIT_ROOTDIR_MESSAGE_I, - INIT_ROOTDIR_FRAMEBUFFER_I, - INIT_ROOTDIR_VIRTTERM_I, _INIT_ROOTDIR_LAST_I }; #ifdef __x86_64__ enum { INIT_ROOTDIR_IOPB_I = _INIT_ROOTDIR_LAST_I, - INIT_ROOTDIR_SERIAL_COM_I, _INIT_ROOTDIR_LAST_ARCH_I }; #endif @@ -30,6 +28,7 @@ struct init_payload { void *rsdp; uintptr_t brk; + uintptr_t fb_base; }; #endif @@ -15,9 +15,6 @@ enum JOVE_OBJ_SHMEMORY, JOVE_OBJ_INT_HANDLE, JOVE_OBJ_PCB, - JOVE_OBJ_INITRD_FILE, - JOVE_OBJ_FRAMEBUFFER, - JOVE_OBJ_VIRTTERM, JOVE_OBJ_MESSAGE, JOVE_OBJ_LINK, }; @@ -35,6 +32,8 @@ enum #define OBJDIR_SIZE 0x1000 #define OBJDIR_ENTRIES (OBJDIR_SIZE / sizeof(uintmax_t)) +#define SHMEMORY_MAX_PAGES 0xFFF + #define MESSAGE_ALIGN 0x1000 #define MESSAGE_SIZE 0x1000 diff --git a/api/syscall.h b/api/syscall.h index 40fedd4..62b9917 100644 --- a/api/syscall.h +++ b/api/syscall.h @@ -32,7 +32,7 @@ struct syscall_generic_write struct syscall_generic_objpath { - uint16_t pathlen; + objpath_part_t pathlen; objpath_part_t path[]; }; @@ -63,7 +63,7 @@ enum struct syscall_untyped_split { size_t bytes; - uint16_t dest_pathlen; + objpath_part_t dest_pathlen; objpath_part_t dest_path[]; }; @@ -130,25 +130,25 @@ struct syscall_pagedir_flags struct syscall_pagedir_map { - struct syscall_pagedir_flags page_flags; - uint16_t untyped_pathlen; uintptr_t virtual_address; + struct syscall_pagedir_flags page_flags; + objpath_part_t untyped_pathlen; objpath_part_t untyped_path[]; }; struct syscall_pagedir_map_shmem { - struct syscall_pagedir_flags page_flags; - uint8_t page_offset; - uint16_t shmem_pathlen; uintptr_t virtual_address; + unsigned short page_offset; + struct syscall_pagedir_flags page_flags; + objpath_part_t shmem_pathlen; objpath_part_t shmem_path[]; }; struct syscall_pagedir_unmap { uintptr_t virtual_address; - uint16_t none_pathlen; + objpath_part_t none_pathlen; objpath_part_t none_path[]; }; @@ -232,7 +232,7 @@ struct syscall_pcb_send { pid_t send_target; uintmax_t send_timeout; - uint16_t send_path_length; + objpath_part_t send_path_length; objpath_part_t send_path[]; }; @@ -240,7 +240,7 @@ struct syscall_pcb_recv { pid_t recv_target; uintmax_t recv_timeout; - uint16_t recv_path_length; + objpath_part_t recv_path_length; objpath_part_t recv_path[]; }; @@ -256,7 +256,7 @@ struct syscall_pcb_swap struct syscall_pcb_stack { - char type; + unsigned char type; objpath_part_t stack_path_length; objpath_part_t stack_path[]; }; |
