summaryrefslogtreecommitdiff
path: root/defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'defs.h')
-rw-r--r--defs.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/defs.h b/defs.h
index bcfab55..0197e70 100644
--- a/defs.h
+++ b/defs.h
@@ -60,9 +60,10 @@ extern uchar ioapicid;
void ioapicinit(void);
// kalloc.c
+extern int nfreemem;
char* kalloc(int);
void kfree(char*, int);
-void kinit(void);
+void kinit(char*,uint);
// kbd.c
void kbdintr(void);
@@ -101,8 +102,6 @@ int kill(int);
void pinit(void);
void procdump(void);
void scheduler(void) __attribute__((noreturn));
-void ksegment(void);
-void usegment(void);
void sleep(void*, struct spinlock*);
void userinit(void);
int wait(void);
@@ -143,7 +142,7 @@ void timerinit(void);
// trap.c
void idtinit(void);
-extern int ticks;
+extern uint ticks;
void tvinit(void);
extern struct spinlock tickslock;
@@ -152,6 +151,21 @@ void uartinit(void);
void uartintr(void);
void uartputc(int);
+// vm.c
+void pminit(void);
+void ksegment(void);
+void kvmalloc(void);
+void vminit(void);
+pde_t* setupkvm(void);
+char* uva2ka(pde_t*, char*);
+int allocuvm(pde_t*, char*, uint);
+int deallocuvm(pde_t *pgdir, char *addr, uint sz);
+void freevm(pde_t*);
+void inituvm(pde_t*, char*, char*, uint);
+int loaduvm(pde_t*, char*, struct inode *ip, uint, uint);
+pde_t* copyuvm(pde_t*,uint);
+void switchuvm(struct proc*);
+void switchkvm();
+
// number of elements in fixed-size array
#define NELEM(x) (sizeof(x)/sizeof((x)[0]))
-