summaryrefslogtreecommitdiff
path: root/include/kernel/proc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/kernel/proc.h')
-rw-r--r--include/kernel/proc.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/include/kernel/proc.h b/include/kernel/proc.h
index 89a3db7..559b137 100644
--- a/include/kernel/proc.h
+++ b/include/kernel/proc.h
@@ -1,5 +1,6 @@
#pragma once
#include "common/types.h"
+#include "kernel/trap.h"
struct Context
{
@@ -32,18 +33,20 @@ enum ProcState{
struct Proc
{
struct Context context;
+ struct Trapframe *tf;
+
+ uint64 *pagetable;
enum ProcState state;
int pid;
void* kstack;
char name[16];
+ uint64 sz;
//
};
-inline void intr_on() { asm volatile("csrs sstatus, 0x2"); }
-inline void intr_off() { asm volatile("csrc sstatus, 0x2"); }
namespace ProcManager
{
@@ -52,4 +55,10 @@ namespace ProcManager
void yield();
void create_kernel_thread(void (*func)(), const char *name);
-} \ No newline at end of file
+
+ void user_init();
+}
+
+void forkret();
+struct Proc *myproc();
+void usertrapret(); \ No newline at end of file