diff options
Diffstat (limited to 'kernel/proc.h')
-rw-r--r-- | kernel/proc.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/proc.h b/kernel/proc.h index a195b02..ebdbb7a 100644 --- a/kernel/proc.h +++ b/kernel/proc.h @@ -81,6 +81,20 @@ struct trapframe { enum procstate { UNUSED, USED, SLEEPING, RUNNABLE, RUNNING, ZOMBIE }; +// mmap vm area +#define MAX_VM_AREA 0x40 + +struct vm_area { + uint64 start_addr; + uint64 roff; + uint64 woff; + uint64 len; + int prot; + int flags; + struct file* file; + int fd; +}; + // Per-process state struct proc { struct spinlock lock; @@ -111,4 +125,6 @@ struct proc { int alarm_tickspassed; // record how many ticks passed since last sigalarm handler call int alarm_caninvoke; // prevent re-entrant calls to handler struct trapframe *atpfm; // trapframe to resume after handling, must hold p->lock + struct vm_area vma[MAX_VM_AREA]; // vm_area + uint64 cur_max_vm_addr; // current max vm addr, used by mmap }; |