[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 03/16] vmx: nest: nested availability and status flags



On Wednesday 08 September 2010 17:22:11 Qing He wrote:
> These are the vendor neutral availability and status flags of nested
> virtualization.
>
> The availability hvm parameter can be used to disable all reporting
> and functions of nested, improving guest security in certain circumstances.
>
> The per vcpu flag in_nesting is used to indicate fundamental status:
> the current mode.
>
> Signed-off-by: Qing He <qing.he@xxxxxxxxx>
> Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx>
>
> ---
> diff -r 11c98ab76326 xen/include/asm-x86/hvm/hvm.h
> --- a/xen/include/asm-x86/hvm/hvm.h   Wed Sep 08 20:35:38 2010 +0800
> +++ b/xen/include/asm-x86/hvm/hvm.h   Wed Sep 08 20:36:19 2010 +0800
> @@ -250,6 +250,10 @@
>  #define is_viridian_domain(_d)                                            
> \ (is_hvm_domain(_d) && ((_d)->arch.hvm_domain.params[HVM_PARAM_VIRIDIAN]))
>
> +#define is_nested_avail(_d)                                               
> \ + (is_hvm_domain(_d) &&
> ((_d)->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM])) +
> +

That is functional equal to nestedhvm_enabled() in my patch series.
The is_hvm_domain() check is not necessary. The tools patch check
that nestedhvm is for hvm guests only.

>  void hvm_cpuid(unsigned int input, unsigned int *eax, unsigned int *ebx,
>                                     unsigned int *ecx, unsigned int *edx);
>  void hvm_migrate_timers(struct vcpu *v);
> diff -r 11c98ab76326 xen/include/asm-x86/hvm/vcpu.h
> --- a/xen/include/asm-x86/hvm/vcpu.h  Wed Sep 08 20:35:38 2010 +0800
> +++ b/xen/include/asm-x86/hvm/vcpu.h  Wed Sep 08 20:36:19 2010 +0800
> @@ -71,6 +71,8 @@
>      bool_t              debug_state_latch;
>      bool_t              single_step;
>
> +    bool_t              in_nesting;

This is functional equal to nestedhvm_vcpu_in_guestmode() in my patch series.

> +
>      u64                 asid_generation;
>      u32                 asid;
>
> diff -r 11c98ab76326 xen/include/public/hvm/params.h
> --- a/xen/include/public/hvm/params.h Wed Sep 08 20:35:38 2010 +0800
> +++ b/xen/include/public/hvm/params.h Wed Sep 08 20:36:19 2010 +0800
> @@ -113,6 +113,9 @@
>  #define HVM_PARAM_CONSOLE_PFN    17
>  #define HVM_PARAM_CONSOLE_EVTCHN 18
>
> -#define HVM_NR_PARAMS          19
> +/* Boolean: Enable nested virtualization (hvm only) */
> +#define HVM_PARAM_NESTEDHVM    19
> +
> +#define HVM_NR_PARAMS          20
>
>  #endif /* __XEN_PUBLIC_HVM_PARAMS_H__ */

I already have this part in my tools patch.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.