Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
Vol. 3 27-7
VIRTUALIZATION OF SYSTEM RESOURCES
As noted above, the VMM maintains an active page-table hierarchy for each virtual
machine that it supports. It also maintains, for each machine, values that the
machine expects for control registers CR0, CR2, CR3, and CR4 (they control address
translation). These values are called the guest control registers.
In general, the VMM selects the physical-address space that is allocated to guest
software. The term guest address refers to an address installed by guest software in
the guest CR3, in a guest PDE (as a page table base address or a page base address),
or in a guest PTE (as a page base address). While guest software considers these to
be specific physical addresses, the VMM may map them differently.
27.3.5.1 Initialization of Virtual TLB
To enable the Virtual TLB scheme, the VMCS must be set up to trigger VM exits on:
All writes to CR3 (the CR3-target count should be 0) or the paging-mode bits in
CR0 and CR4 (using the CR0 and CR4 guest/host masks)
Page-fault (#PF) exceptions
Execution of INVLPG
Figure 27-1. Virtual TLB Scheme
refill on
TLB miss
CR3
PD
PT
PT
F
F
F
F
PD
"Virtual TLB"
Active
Guest
INVLPG
MOV to CR3
task switch
refill on
page fault
set accessed
and dirty bits
TLB
PD = page directory
PT = page table
F = page frame
INVLPG
MOV to
CR3
task switch
Active Page-Table Hierarchy
Guest Page-Table Hierarchy
PT
PT
F
F
F
F
CR3
set dirty
accessed
OM1904
0