On 16/12/16 13:43, Haozhong Zhang wrote: > Fault #GP(0) is expected in this test. > > Signed-off-by: Haozhong Zhang <haozhong.zh...@intel.com> > --- > tests/vvmx/vmxon.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/tests/vvmx/vmxon.c b/tests/vvmx/vmxon.c > index 0664a48..ec7ee7e 100644 > --- a/tests/vvmx/vmxon.c > +++ b/tests/vvmx/vmxon.c > @@ -3,6 +3,7 @@ > #include "util.h" > > static uint8_t vmxon_region[PAGE_SIZE] __aligned(PAGE_SIZE); > +static uint8_t vmxon_region_2nd[PAGE_SIZE] __aligned(PAGE_SIZE);
You introduce vmxon_region_2nd here, but reference it in the previous patch. However, I am not sure of its purpose. Why cant you reuse the previous host state area? > > /** > * vmxon with CR4.VMXE cleared > @@ -165,6 +166,31 @@ static bool test_vmxon_in_root_cpl0_novmcs(void) > VMXERR_VMFAIL_INVALID, 0, 0); > } > > +static unsigned long vmxon_in_root_user(void) > +{ > + exinfo_t fault; > + unsigned long ret = vmxon((uint64_t)vmxon_region_2nd, &fault); > + > + return (ret << 32) | fault; > +} I have a pending patch for exec_user_param() (originally written for a test which I subsequently reimplemented differently). I have just pushed it for you to use. You can have one common user_vmxon() and pass a variable host region to it, rather than having an almost-entirely duplicate function. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel