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

Reply via email to