diff --git a/defs.h b/defs.h index 0197e700a858005104fce77e317a8018ef871b17..02da96f545789b2bdc61a56f7470f04ee95ff202 100644 --- a/defs.h +++ b/defs.h @@ -155,7 +155,7 @@ void uartputc(int); void pminit(void); void ksegment(void); void kvmalloc(void); -void vminit(void); +void vmenable(void); pde_t* setupkvm(void); char* uva2ka(pde_t*, char*); int allocuvm(pde_t*, char*, uint); diff --git a/main.c b/main.c index c8aa53a024a789ff02e8a9739e401005950b0262..1a49bc609e7ff8ee68349129888d05da9b755af9 100644 --- a/main.c +++ b/main.c @@ -67,7 +67,7 @@ mpmain(void) ksegment(); lapicinit(cpunum()); } - vminit(); // turn on paging + vmenable(); // turn on paging cprintf("cpu%d: starting\n", cpu->id); idtinit(); // load idt register xchg(&cpu->booted, 1); diff --git a/vm.c b/vm.c index 20afa28828ca182d69d26f44c9c34cd9ac5d3ccb..262f079e8b5d22692571d19f15510b750632a0c0 100644 --- a/vm.c +++ b/vm.c @@ -369,11 +369,11 @@ kvmalloc(void) // Turn on paging. void -vminit(void) +vmenable(void) { uint cr0; - lcr3(PADDR(kpgdir)); + switchkvm(); // load kpgdir into cr3 cr0 = rcr0(); cr0 |= CR0_PG; lcr0(cr0);