[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Some tables used when shadowable



Hi, I find there are several kinds of tables are used when shadowsable. They
are defined as follow:
  xen/include/asm-86/domain.h
 struct arch_vcpu
{
    .........................
    pagetable_t guest_table;            /* (MFN) guest notion of cr3 */
    pagetable_t shadow_table[4];        /* (MFN) shadow(s) of guest */
    pagetable_t monitor_table;          /* (MFN) hypervisor PT (for HVM) */
    unsigned long cr3;                  /* (MA) value to install in HW CR3
*/
    ...............

}
I am confused by these tables. My understanding as follow:

1.      guest_table
Does guest_table point to MFN of page tables which constructed used by guest
kernel?
where it convert from? guest_cr[3] or hw_cr[3]?
What is it used? Does it used for VMM when emulating? such as: when guest
generate page fault, it will trigger VM exit, 
then VMM read GUEST_CR3 and convert GUEST_CR3 to MFN ïthen store the MFN in
guest_table, now because the MFN is the guest physical
address ,so VMM will convert it to the machine physical address via P2M
table? right?


2. shadow_table
hw_cr[3] and GUEST_CR3  both point to shadow_table, right?


3. monitor_table
I am not sure the use of monitor_table.
Does it used for VMM access guest's address space?
And I find HOST_CR3 point to monitor tableïwhy HOST_CR3 pointing it?
I think HOST_CR3 should point to VMM's page table when VM exit, then VMM can
access address space itself. But why HOST_CR3 don't point to the page table
itself?


Anyone help me? 




--
View this message in context: 
http://xen.1045712.n5.nabble.com/Some-tables-used-when-shadowable-tp4432753p4432753.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.