summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/proc/process.h
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-09-29 12:53:57 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-09-29 12:53:57 -0400
commitc2788174198632e0c8bdbfa7762081f595460bdf (patch)
tree373b1f5c7cfe0e87f29c1c8956579c58b4f22bf9 /arch/x86_64/proc/process.h
parent8de23ca36173cfdb3c609074496115ebd9045887 (diff)
downloadjove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.tar.gz
jove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.tar.bz2
jove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.zip
move process code into proc. add panic folder
Diffstat (limited to 'arch/x86_64/proc/process.h')
-rw-r--r--arch/x86_64/proc/process.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/x86_64/proc/process.h b/arch/x86_64/proc/process.h
new file mode 100644
index 0000000..cf4d8a8
--- /dev/null
+++ b/arch/x86_64/proc/process.h
@@ -0,0 +1,29 @@
+#ifndef _JOVE_x86_64_HAL_PROCESS_H
+#define _JOVE_x86_64_HAL_PROCESS_H 1
+
+#include "proc/process.h"
+#include "arch/x86_64/x86_64.h"
+#include "lib/rbtree.h"
+
+typedef struct process_control_block
+{
+ struct rbtree_node tree_node;
+ struct process_control_block *sched_next;
+
+ pid_t pid;
+ jove_obj_t *rootdir;
+ jove_owned_obj_t *iopb;
+ uintptr_t pml4;
+
+ enum pcb_state state;
+ int killed;
+ struct pcb_mailbox send, recv;
+
+ struct cpu_context context;
+ void *ksp;
+ char kstack[];
+} pcb_t;
+
+#define PCB_KSTACK_SIZE (0x1000 - sizeof(pcb_t))
+
+#endif