switchkvm and switchuvm to switchvm

上级 785c3855
...@@ -253,8 +253,7 @@ void uartputc(char c); ...@@ -253,8 +253,7 @@ void uartputc(char c);
void uartintr(void); void uartintr(void);
// vm.c // vm.c
void switchuvm(struct proc*); void switchvm(struct proc*);
void switchkvm(void);
int pagefault(struct vmap *, uptr, u32); int pagefault(struct vmap *, uptr, u32);
// wq.c // wq.c
......
...@@ -213,7 +213,7 @@ exec(char *path, char **argv) ...@@ -213,7 +213,7 @@ exec(char *path, char **argv)
myproc()->brk = BRK + 8; // XXX so that brk-1 points within heap vma.. myproc()->brk = BRK + 8; // XXX so that brk-1 points within heap vma..
myproc()->tf->rip = elf.entry; // main myproc()->tf->rip = elf.entry; // main
switchuvm(myproc()); switchvm(myproc());
oldvmap->decref(); oldvmap->decref();
gc_end_epoch(); gc_end_epoch();
......
...@@ -106,7 +106,7 @@ setupkshared(pgmap *pml4, char *kshared) ...@@ -106,7 +106,7 @@ setupkshared(pgmap *pml4, char *kshared)
// Switch h/w page table register to the kernel-only page table, // Switch h/w page table register to the kernel-only page table,
// for when no process is running. // for when no process is running.
void static void
switchkvm(void) switchkvm(void)
{ {
lcr3(v2p(&kpml4)); // switch to the kernel page table lcr3(v2p(&kpml4)); // switch to the kernel page table
...@@ -114,7 +114,7 @@ switchkvm(void) ...@@ -114,7 +114,7 @@ switchkvm(void)
// Switch TSS and h/w page table to correspond to process p. // Switch TSS and h/w page table to correspond to process p.
void void
switchuvm(struct proc *p) switchvm(struct proc *p)
{ {
u64 base = (u64) &mycpu()->ts; u64 base = (u64) &mycpu()->ts;
pushcli(); pushcli();
......
...@@ -76,7 +76,7 @@ sched(void) ...@@ -76,7 +76,7 @@ sched(void)
mycpu()->proc = next; mycpu()->proc = next;
mycpu()->prev = prev; mycpu()->prev = prev;
switchuvm(next); switchvm(next);
set_proc_state(next, RUNNING); set_proc_state(next, RUNNING);
next->tsc = rdtsc(); next->tsc = rdtsc();
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论