50 likes | 282 Views
x86 MMU. Shadow Page Table. Extended Page Table . Guest wants to access GVA 0 , guest PTE (page table entry) maps GVA 0 to GPA 0 Hardware checks NPT (nested page table) NPT entry for GPA 0 is empty, we have a NPT page fault
E N D
Guest wants to access GVA 0, guest PTE (page table entry) maps GVA 0 to GPA 0 • Hardware checks NPT (nested page table) • NPT entry for GPA 0 is empty, we have a NPT page fault • KVM goes in, checks where GPA 0 is mapped (through memslots), finds GPA 0 -> HVA x,resolves HVA x to HPA y (through QEMU page table), adds GPA 0 -> HPA y mapping to the NPT • Guest runs again, the memory access it did before would resolve GVA 0 -> GPA 0 -> HPA y
GVA -> GPA (guest page table) • GPA -> HVA (memslot) • HVA -> HPA (QEMU page table) • GPA -> HPA (nested page table)