The problem is in hypervisor checking definitely. I deeper debugged the code, I met vmcall instruction execution. This means EFAULT is coming from hypervisor.
Best Regards, Rockosov Dmitry 2016-08-22 18:09 GMT+03:00 Dmitry Rockosov <rocko...@gmail.com>: > Hello Tamas, > > Thank you for the answer! > > I installed the same xen source code (4.7.0) as on dom0 to domU, built > dist-tools, installed xen-tools, updated rc.d configuration and rebooted. > IOCTL channel to privcmd driver is working fine, but all requests to > hypervisor like hvm_get_param, translate_foreign_address, > altp2m_vcpu_enable_notify return EFAULT errno (Bad access). > > Just for experiment I wrote below code in usermode: > =================================== > ... > rc = xc_hvm_param_get(xch, DOMID_SELF, HVM_PARAM_CONSOLE_PFN, &value); > if (rc < 0) { > PERROR("Fail to get CONSOLE PFN HVM PARAM\n"); > goto exit; > } > DPRINTF("CONSOLE PFN == %llx", (unsigned long long)value); > ... > =================================== > > and below code in kernelmode: > =================================== > ... > printk(KERN_INFO "We are in Xen domain HVM = %d\n", xen_hvm_domain()); > err = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &value); > printk(KERN_INFO "err = %d\n", err); > printk(KERN_INFO "CONSOLE PFN = %llx\n", value); > ... > =================================== > > In the usermode I got an error: > =================================== > Fail to get CONSOLE PFN HVM PARAM > : Bad address > =================================== > > In the kernelmode code executed fine: > =================================== > [23261.230188] We are in Xen domain HVM = 1 > [23261.307840] err = 0 > [23261.352587] CONSOLE PFN = fefff > =================================== > > Looks like usermode wrappers don't support many requests to hypervisor, > right? > > Best Regards, > Rockosov Dmitry > > 2016-08-21 20:27 GMT+03:00 Tamas K Lengyel <tamas.k.leng...@gmail.com>: > >> Hi Dmitry, >> as long as you are testing with a HVM Linux guest you should be able >> to just compile the Xen tools in the guest and then use libxc from >> within the guest to issue that hypercall via >> xc_altp2m_set_vcpu_enable_notify. You will need to load a couple Xen >> related kernel-modules for it to work (like xen-privcmd). Let us know >> if you got it working! >> >> Cheers, >> Tamas >> >> On Fri, Aug 19, 2016 at 1:19 PM, Dmitry Rockosov <rocko...@gmail.com> >> wrote: >> > Hello Xen Team! >> > >> > Does anybody have any code examples of HVMOP_altp2m_vcpu_enable_notify? >> > >> > I want to fully test #VE, VMFUNC and EPTP Switching VM Function 0 in >> Xen, >> > but doesn't have any documentations/examples for it. >> > I tried xen-access test from tools/tests/xen-access, but looks like it >> > doesn't use VMFUNC and #VE, it simply changes VMCS entries with >> vmwrite, w/o >> > VMFUNC 0 (EPTP Switching). >> > >> > Thanks in advance! >> > >> > Best Regards, >> > Rockosov Dmitry >> > >> > _______________________________________________ >> > Xen-devel mailing list >> > Xen-devel@lists.xen.org >> > https://lists.xen.org/xen-devel >> > >> > >
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel