X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=src%2Fthreads%2Fpaging.c;h=2fa549cd9424c73a0abc133b506aabf0cc13fe20;hp=9fd568caf894107e02b09edda8dff05d9d060d9e;hb=76a72158378a6447bb3dbce5bae41db48da0d64f;hpb=a98578bf3b6b5c946713654b404a886a7199dbee diff --git a/src/threads/paging.c b/src/threads/paging.c index 9fd568c..2fa549c 100644 --- a/src/threads/paging.c +++ b/src/threads/paging.c @@ -77,8 +77,7 @@ paging_init (void) pt[pte_idx] = make_pte (vaddr, true); } - /* Set the page table. */ - asm volatile ("movl %0,%%cr3" :: "r" (vtop (pd))); + pagedir_activate (pd); } uint32_t * @@ -225,4 +224,8 @@ pagedir_next (uint32_t *pd, void **upage) return kpage; } -void pagedir_activate (uint32_t *pagedir); +void +pagedir_activate (uint32_t *pagedir) +{ + asm volatile ("movl %0,%%cr3" :: "r" (vtop (pagedir))); +}