Question 22
Consider the following code for kvminit function in vm. c.
1 void 2 kvminit() 3 { 4 kernel_pagetable = (pagetable_t) kalloc(); 5 memset(kernel_pagetable, 0, PGSIZE); 6 7 kvmmap(UART0, UART0, PGSIZE, PTE_R | PTE_W); 8 9 kvmmap(VIRTION(0), VIRTION(0), PGSIZE, PTE_R | PTE_W);1011 kvmmap(VIRTION(1), VIRTION(1), PGSIZE, PTE_R | PTE_W);1213 kvmmap(CLINT, CLINT, 0x10000, PTE_R | PTE_W);1415 kvmmap(PLIC, PLIC, 0x400000, PTE_R | PTE_W);1617 kvmmap(KERNBASE, KERNBASE, (uint64)etext-KERNBASE, PTE_R | PTE_X);1819 kvmmap((uint64)etext, (uint64)etext, PHYSTOP-(uint64)etext, PTE_R | PTE_W);2021 kvmmap(TRAMPOLINE, (uint64)trampoline, PGSIZE, PTE_R | PTE_X);22 }Based on the above data, answer the given subquestions.
What will be the values of the first 5 bits (from the right) of the page table entry after the execution of kvmmap(KERNBASE, KERNBASE, (uint64)etext-KERNBASE, PTE_R |PTE_X); .
01110
10111
01011
10110