[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |