|
|
|
|
|
|
|
|
|
|
xen-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Some tables used when shadowable,
confucius <=
|
|
|
|
|