X86 MMU. Shadow Page Table Extended Page Table Guest wants to access GVA 0, guest PTE (page table...

5

Click here to load reader

description

Extended Page Table

Transcript of X86 MMU. Shadow Page Table Extended Page Table Guest wants to access GVA 0, guest PTE (page table...

Page 1: 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.

x86 MMU

Page 2: 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.

Shadow Page Table

Page 3: 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.

Extended Page Table

Page 4: 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.

• 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

Page 5: 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.

• GVA -> GPA (guest page table)• GPA -> HVA (memslot)• HVA -> HPA (QEMU page table)• GPA -> HPA (nested page table)