Post on 19-Jan-2018
description
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
faultKVM 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)