[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Xen Nested Virtualization for HyperPlatform
Hi, I am researching HyperPlatform(https://github.com/tandasat/HyperPlatform) recently, it is a thin hypervisor based on Intel VT-x and EPT technology, it can't create a new virtual machine but just turns the already running Windows OS into its guest VM. HyperPlatform works very well in VMware VM with Intel VT-x/EPT enabled, however can't run in Xen VM with nested virtualizaiton, after loading HyperPlatform, the VM hangs or BSOD. I debug it with serial console and printk, add the following printks to function nestedhvm_hap_nested_page_fault(), which will be called by EPT violation exit handler. ... 212 /* walk the L1 P2M table */ 213 rv = nestedhap_walk_L1_p2m(v, *L2_gpa, &L1_gpa, &page_order_21, &p2ma_21, 214 access_r, access_w, access_x); + 215 gdprintk(XENLOG_ERR, "nestedhap_walk_L1_p2m, rv: %d, L2_gpa: %lx, L1_gpa: %lx\n", rv, *L2_gpa, L1_gpa); ... 230 /* ==> we have to walk L0 P2M */ 231 rv = nestedhap_walk_L0_p2m(p2m, L1_gpa, &L0_gpa, 232 &p2mt_10, &p2ma_10, &page_order_10, 233 access_r, access_w, access_x); + 234 gdprintk(XENLOG_ERR, "nestedhap_walk_L0_p2m, rv: %d, L1_gpa: %lx, L0_gpa: %lx\n", rv, L1_gpa, L0_gpa); ... The serial console output: ... (XEN) nested_hap.c:215:d1v0 nestedhap_walk_L1_p2m, rv: 0, L2_gpa: f1000000, L1_gpa: f1000000 (XEN) nested_hap.c:234:d1v0 nestedhap_walk_L0_p2m, rv: 3, L1_gpa: f1000000, L0_gpa: 0 ... (XEN) nested_hap.c:215:d1v0 nestedhap_walk_L1_p2m, rv: 0, L2_gpa: f1001000, L1_gpa: f1001000 (XEN) nested_hap.c:234:d1v0 nestedhap_walk_L0_p2m, rv: 3, L1_gpa: f1001000, L0_gpa: 0 ... There are many "rv: 3", which is NESTEDHVM_PAGEFAULT_L0_ERROR, returned by read-only check conditon: 170 if ( access_w && p2m_is_readonly(*p2mt) ) 171 goto out; The address 0xf100000 is the VM's display memory address (0xF1000000-0xF1FFFFFF). Is it a I/O virtualization error or MMIO error? Any idea to fix it? Thanks -Xi Kangjie _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |