summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/init.h5
-rw-r--r--api/obj.h5
-rw-r--r--api/syscall.h22
3 files changed, 15 insertions, 17 deletions
diff --git a/api/init.h b/api/init.h
index 436cfa8..107ebef 100644
--- a/api/init.h
+++ b/api/init.h
@@ -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
diff --git a/api/obj.h b/api/obj.h
index 2ac0b51..c5a4e6e 100644
--- a/api/obj.h
+++ b/api/obj.h
@@ -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[];
};