xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [V0 PATCH]: feature flags for PVH
@ 2014-01-25  1:13 Mukesh Rathor
  2014-01-25  1:13 ` [V0 PATCH] pvh: expose feature flags from tools for domUs Mukesh Rathor
  0 siblings, 1 reply; 10+ messages in thread
From: Mukesh Rathor @ 2014-01-25  1:13 UTC (permalink / raw)
  To: Xen-devel; +Cc: stefano.stabellini, ian.jackson, ian.campbell, roger.pau

Hi,

For pass 1, I came with these feature flags to be exposed to pvh
domUs.

thanks
Mukesh

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-25  1:13 [V0 PATCH]: feature flags for PVH Mukesh Rathor
@ 2014-01-25  1:13 ` Mukesh Rathor
  2014-01-28 11:14   ` Ian Campbell
                     ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Mukesh Rathor @ 2014-01-25  1:13 UTC (permalink / raw)
  To: Xen-devel; +Cc: stefano.stabellini, ian.jackson, ian.campbell, roger.pau

Expose features for pvh domUs from tools.

Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
---
 tools/libxc/xc_cpuid_x86.c |   26 ++++++++++++++++----------
 tools/libxc/xc_domain.c    |    1 +
 tools/libxc/xenctrl.h      |    2 +-
 3 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
index bbbf9b8..33f6829 100644
--- a/tools/libxc/xc_cpuid_x86.c
+++ b/tools/libxc/xc_cpuid_x86.c
@@ -433,7 +433,7 @@ static void xc_cpuid_hvm_policy(
 
 static void xc_cpuid_pv_policy(
     xc_interface *xch, domid_t domid,
-    const unsigned int *input, unsigned int *regs)
+    const unsigned int *input, unsigned int *regs, int is_pvh)
 {
     DECLARE_DOMCTL;
     unsigned int guest_width;
@@ -455,13 +455,16 @@ static void xc_cpuid_pv_policy(
 
     if ( (input[0] & 0x7fffffff) == 0x00000001 )
     {
-        clear_bit(X86_FEATURE_VME, regs[3]);
-        clear_bit(X86_FEATURE_PSE, regs[3]);
-        clear_bit(X86_FEATURE_PGE, regs[3]);
-        clear_bit(X86_FEATURE_MCE, regs[3]);
-        clear_bit(X86_FEATURE_MCA, regs[3]);
+        if ( !is_pvh )
+        {
+            clear_bit(X86_FEATURE_VME, regs[3]);
+            clear_bit(X86_FEATURE_PSE, regs[3]);
+            clear_bit(X86_FEATURE_PGE, regs[3]);
+            clear_bit(X86_FEATURE_MCE, regs[3]);
+            clear_bit(X86_FEATURE_MCA, regs[3]);
+            clear_bit(X86_FEATURE_PSE36, regs[3]);
+        }
         clear_bit(X86_FEATURE_MTRR, regs[3]);
-        clear_bit(X86_FEATURE_PSE36, regs[3]);
     }
 
     switch ( input[0] )
@@ -524,8 +527,11 @@ static void xc_cpuid_pv_policy(
         {
             set_bit(X86_FEATURE_SYSCALL, regs[3]);
         }
-        clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
-        clear_bit(X86_FEATURE_RDTSCP, regs[3]);
+        if ( !is_pvh )
+        {
+            clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
+            clear_bit(X86_FEATURE_RDTSCP, regs[3]);
+        }
 
         clear_bit(X86_FEATURE_SVM, regs[2]);
         clear_bit(X86_FEATURE_OSVW, regs[2]);
@@ -561,7 +567,7 @@ static int xc_cpuid_policy(
     if ( info.hvm )
         xc_cpuid_hvm_policy(xch, domid, input, regs);
     else
-        xc_cpuid_pv_policy(xch, domid, input, regs);
+        xc_cpuid_pv_policy(xch, domid, input, regs, info.pvh);
 
     return 0;
 }
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index c2fdd74..f12999a 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -316,6 +316,7 @@ int xc_domain_getinfo(xc_interface *xch,
         info->running  = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_running);
         info->hvm      = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_hvm_guest);
         info->debugged = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_debugged);
+        info->pvh      = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_pvh_guest);
 
         info->shutdown_reason =
             (domctl.u.getdomaininfo.flags>>XEN_DOMINF_shutdownshift) &
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 13f816b..77d219a 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -404,7 +404,7 @@ typedef struct xc_dominfo {
     uint32_t      ssidref;
     unsigned int  dying:1, crashed:1, shutdown:1,
                   paused:1, blocked:1, running:1,
-                  hvm:1, debugged:1;
+                  hvm:1, debugged:1, pvh:1;
     unsigned int  shutdown_reason; /* only meaningful if shutdown==1 */
     unsigned long nr_pages; /* current number, not maximum */
     unsigned long nr_outstanding_pages;
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-25  1:13 ` [V0 PATCH] pvh: expose feature flags from tools for domUs Mukesh Rathor
@ 2014-01-28 11:14   ` Ian Campbell
  2014-01-29  2:31     ` Mukesh Rathor
  2014-01-28 12:24   ` Roger Pau Monné
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Ian Campbell @ 2014-01-28 11:14 UTC (permalink / raw)
  To: Mukesh Rathor; +Cc: Xen-devel, ian.jackson, stefano.stabellini, roger.pau

On Fri, 2014-01-24 at 17:13 -0800, Mukesh Rathor wrote:
> Expose features for pvh domUs from tools.
> 

I assume this is targeting 4.5?

> Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
> ---
>  tools/libxc/xc_cpuid_x86.c |   26 ++++++++++++++++----------
>  tools/libxc/xc_domain.c    |    1 +
>  tools/libxc/xenctrl.h      |    2 +-
>  3 files changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
> index bbbf9b8..33f6829 100644
> --- a/tools/libxc/xc_cpuid_x86.c
> +++ b/tools/libxc/xc_cpuid_x86.c
> @@ -433,7 +433,7 @@ static void xc_cpuid_hvm_policy(
>  
>  static void xc_cpuid_pv_policy(
>      xc_interface *xch, domid_t domid,
> -    const unsigned int *input, unsigned int *regs)
> +    const unsigned int *input, unsigned int *regs, int is_pvh)
>  {
>      DECLARE_DOMCTL;
>      unsigned int guest_width;
> @@ -455,13 +455,16 @@ static void xc_cpuid_pv_policy(
>  
>      if ( (input[0] & 0x7fffffff) == 0x00000001 )
>      {
> -        clear_bit(X86_FEATURE_VME, regs[3]);
> -        clear_bit(X86_FEATURE_PSE, regs[3]);
> -        clear_bit(X86_FEATURE_PGE, regs[3]);
> -        clear_bit(X86_FEATURE_MCE, regs[3]);
> -        clear_bit(X86_FEATURE_MCA, regs[3]);
> +        if ( !is_pvh )
> +        {
> +            clear_bit(X86_FEATURE_VME, regs[3]);
> +            clear_bit(X86_FEATURE_PSE, regs[3]);
> +            clear_bit(X86_FEATURE_PGE, regs[3]);
> +            clear_bit(X86_FEATURE_MCE, regs[3]);
> +            clear_bit(X86_FEATURE_MCA, regs[3]);
> +            clear_bit(X86_FEATURE_PSE36, regs[3]);
> +        }
>          clear_bit(X86_FEATURE_MTRR, regs[3]);
> -        clear_bit(X86_FEATURE_PSE36, regs[3]);
>      }
>  
>      switch ( input[0] )
> @@ -524,8 +527,11 @@ static void xc_cpuid_pv_policy(
>          {
>              set_bit(X86_FEATURE_SYSCALL, regs[3]);
>          }
> -        clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
> -        clear_bit(X86_FEATURE_RDTSCP, regs[3]);
> +        if ( !is_pvh )
> +        {
> +            clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
> +            clear_bit(X86_FEATURE_RDTSCP, regs[3]);
> +        }
>  
>          clear_bit(X86_FEATURE_SVM, regs[2]);
>          clear_bit(X86_FEATURE_OSVW, regs[2]);
> @@ -561,7 +567,7 @@ static int xc_cpuid_policy(
>      if ( info.hvm )
>          xc_cpuid_hvm_policy(xch, domid, input, regs);
>      else
> -        xc_cpuid_pv_policy(xch, domid, input, regs);
> +        xc_cpuid_pv_policy(xch, domid, input, regs, info.pvh);
>  
>      return 0;
>  }
> diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
> index c2fdd74..f12999a 100644
> --- a/tools/libxc/xc_domain.c
> +++ b/tools/libxc/xc_domain.c
> @@ -316,6 +316,7 @@ int xc_domain_getinfo(xc_interface *xch,
>          info->running  = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_running);
>          info->hvm      = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_hvm_guest);
>          info->debugged = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_debugged);
> +        info->pvh      = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_pvh_guest);
>  
>          info->shutdown_reason =
>              (domctl.u.getdomaininfo.flags>>XEN_DOMINF_shutdownshift) &
> diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
> index 13f816b..77d219a 100644
> --- a/tools/libxc/xenctrl.h
> +++ b/tools/libxc/xenctrl.h
> @@ -404,7 +404,7 @@ typedef struct xc_dominfo {
>      uint32_t      ssidref;
>      unsigned int  dying:1, crashed:1, shutdown:1,
>                    paused:1, blocked:1, running:1,
> -                  hvm:1, debugged:1;
> +                  hvm:1, debugged:1, pvh:1;
>      unsigned int  shutdown_reason; /* only meaningful if shutdown==1 */
>      unsigned long nr_pages; /* current number, not maximum */
>      unsigned long nr_outstanding_pages;

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-25  1:13 ` [V0 PATCH] pvh: expose feature flags from tools for domUs Mukesh Rathor
  2014-01-28 11:14   ` Ian Campbell
@ 2014-01-28 12:24   ` Roger Pau Monné
  2014-01-28 12:37     ` Jan Beulich
  2014-01-29  2:33     ` Mukesh Rathor
  2014-02-07  1:15   ` Mukesh Rathor
  2014-02-07  8:41   ` Roger Pau Monné
  3 siblings, 2 replies; 10+ messages in thread
From: Roger Pau Monné @ 2014-01-28 12:24 UTC (permalink / raw)
  To: Mukesh Rathor, Xen-devel; +Cc: ian.jackson, ian.campbell, stefano.stabellini

On 25/01/14 02:13, Mukesh Rathor wrote:
> Expose features for pvh domUs from tools.
> 
> Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
> ---
>  tools/libxc/xc_cpuid_x86.c |   26 ++++++++++++++++----------
>  tools/libxc/xc_domain.c    |    1 +
>  tools/libxc/xenctrl.h      |    2 +-
>  3 files changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
> index bbbf9b8..33f6829 100644
> --- a/tools/libxc/xc_cpuid_x86.c
> +++ b/tools/libxc/xc_cpuid_x86.c
> @@ -433,7 +433,7 @@ static void xc_cpuid_hvm_policy(
>  
>  static void xc_cpuid_pv_policy(
>      xc_interface *xch, domid_t domid,
> -    const unsigned int *input, unsigned int *regs)
> +    const unsigned int *input, unsigned int *regs, int is_pvh)
>  {
>      DECLARE_DOMCTL;
>      unsigned int guest_width;
> @@ -455,13 +455,16 @@ static void xc_cpuid_pv_policy(
>  
>      if ( (input[0] & 0x7fffffff) == 0x00000001 )
>      {
> -        clear_bit(X86_FEATURE_VME, regs[3]);
> -        clear_bit(X86_FEATURE_PSE, regs[3]);
> -        clear_bit(X86_FEATURE_PGE, regs[3]);
> -        clear_bit(X86_FEATURE_MCE, regs[3]);
> -        clear_bit(X86_FEATURE_MCA, regs[3]);
> +        if ( !is_pvh )
> +        {
> +            clear_bit(X86_FEATURE_VME, regs[3]);
> +            clear_bit(X86_FEATURE_PSE, regs[3]);
> +            clear_bit(X86_FEATURE_PGE, regs[3]);
> +            clear_bit(X86_FEATURE_MCE, regs[3]);
> +            clear_bit(X86_FEATURE_MCA, regs[3]);

Should we enable MCA/MCE flags for PVH DomUs? It looks to me like Dom0
is the only domain that can make use of MCE/MCA.

Roger.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-28 12:24   ` Roger Pau Monné
@ 2014-01-28 12:37     ` Jan Beulich
  2014-01-29  2:33     ` Mukesh Rathor
  1 sibling, 0 replies; 10+ messages in thread
From: Jan Beulich @ 2014-01-28 12:37 UTC (permalink / raw)
  To: Roger Pau Monné, Xen-devel, Mukesh Rathor
  Cc: ian.jackson, ian.campbell, stefano.stabellini

>>> On 28.01.14 at 13:24, Roger Pau Monné<roger.pau@citrix.com> wrote:
> On 25/01/14 02:13, Mukesh Rathor wrote:
>> @@ -455,13 +455,16 @@ static void xc_cpuid_pv_policy(
>>  
>>      if ( (input[0] & 0x7fffffff) == 0x00000001 )
>>      {
>> -        clear_bit(X86_FEATURE_VME, regs[3]);
>> -        clear_bit(X86_FEATURE_PSE, regs[3]);
>> -        clear_bit(X86_FEATURE_PGE, regs[3]);
>> -        clear_bit(X86_FEATURE_MCE, regs[3]);
>> -        clear_bit(X86_FEATURE_MCA, regs[3]);
>> +        if ( !is_pvh )
>> +        {
>> +            clear_bit(X86_FEATURE_VME, regs[3]);
>> +            clear_bit(X86_FEATURE_PSE, regs[3]);
>> +            clear_bit(X86_FEATURE_PGE, regs[3]);
>> +            clear_bit(X86_FEATURE_MCE, regs[3]);
>> +            clear_bit(X86_FEATURE_MCA, regs[3]);
> 
> Should we enable MCA/MCE flags for PVH DomUs? It looks to me like Dom0
> is the only domain that can make use of MCE/MCA.

We still have vMCE ...

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-28 11:14   ` Ian Campbell
@ 2014-01-29  2:31     ` Mukesh Rathor
  0 siblings, 0 replies; 10+ messages in thread
From: Mukesh Rathor @ 2014-01-29  2:31 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Xen-devel, ian.jackson, stefano.stabellini, roger.pau

On Tue, 28 Jan 2014 11:14:36 +0000
Ian Campbell <Ian.Campbell@citrix.com> wrote:

> On Fri, 2014-01-24 at 17:13 -0800, Mukesh Rathor wrote:
> > Expose features for pvh domUs from tools.
> > 
> 
> I assume this is targeting 4.5?

Yes. Unless it says "checks in the mail", it's 4.5 :).

-Mukesh

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-28 12:24   ` Roger Pau Monné
  2014-01-28 12:37     ` Jan Beulich
@ 2014-01-29  2:33     ` Mukesh Rathor
  1 sibling, 0 replies; 10+ messages in thread
From: Mukesh Rathor @ 2014-01-29  2:33 UTC (permalink / raw)
  To: Roger Pau Monné
  Cc: Xen-devel, ian.jackson, ian.campbell, stefano.stabellini

On Tue, 28 Jan 2014 13:24:15 +0100
Roger Pau Monné <roger.pau@citrix.com> wrote:

> On 25/01/14 02:13, Mukesh Rathor wrote:
> > Expose features for pvh domUs from tools.
> > 
> > Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
> > ---
> >  tools/libxc/xc_cpuid_x86.c |   26 ++++++++++++++++----------
> >  tools/libxc/xc_domain.c    |    1 +
> >  tools/libxc/xenctrl.h      |    2 +-
> >  3 files changed, 18 insertions(+), 11 deletions(-)
> > 
> > diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
> > index bbbf9b8..33f6829 100644
> > --- a/tools/libxc/xc_cpuid_x86.c
> > +++ b/tools/libxc/xc_cpuid_x86.c
> > @@ -433,7 +433,7 @@ static void xc_cpuid_hvm_policy(
> >  
> >  static void xc_cpuid_pv_policy(
> >      xc_interface *xch, domid_t domid,
> > -    const unsigned int *input, unsigned int *regs)
> > +    const unsigned int *input, unsigned int *regs, int is_pvh)
> >  {
> >      DECLARE_DOMCTL;
> >      unsigned int guest_width;
> > @@ -455,13 +455,16 @@ static void xc_cpuid_pv_policy(
> >  
> >      if ( (input[0] & 0x7fffffff) == 0x00000001 )
> >      {
> > -        clear_bit(X86_FEATURE_VME, regs[3]);
> > -        clear_bit(X86_FEATURE_PSE, regs[3]);
> > -        clear_bit(X86_FEATURE_PGE, regs[3]);
> > -        clear_bit(X86_FEATURE_MCE, regs[3]);
> > -        clear_bit(X86_FEATURE_MCA, regs[3]);
> > +        if ( !is_pvh )
> > +        {
> > +            clear_bit(X86_FEATURE_VME, regs[3]);
> > +            clear_bit(X86_FEATURE_PSE, regs[3]);
> > +            clear_bit(X86_FEATURE_PGE, regs[3]);
> > +            clear_bit(X86_FEATURE_MCE, regs[3]);
> > +            clear_bit(X86_FEATURE_MCA, regs[3]);
> 
> Should we enable MCA/MCE flags for PVH DomUs? It looks to me like Dom0
> is the only domain that can make use of MCE/MCA.

Yes, PVH, like any other guest, may setup MCE handlers if they are
enabled, and xen would inject any MCE to guest if it belongs to the
guest.

thanks
Mukesh



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-25  1:13 ` [V0 PATCH] pvh: expose feature flags from tools for domUs Mukesh Rathor
  2014-01-28 11:14   ` Ian Campbell
  2014-01-28 12:24   ` Roger Pau Monné
@ 2014-02-07  1:15   ` Mukesh Rathor
  2014-02-07  9:54     ` Ian Campbell
  2014-02-07  8:41   ` Roger Pau Monné
  3 siblings, 1 reply; 10+ messages in thread
From: Mukesh Rathor @ 2014-02-07  1:15 UTC (permalink / raw)
  To: Mukesh Rathor
  Cc: roger.pau, Xen-devel, ian.jackson, ian.campbell,
	stefano.stabellini



ping? I think Roger you can ack from xen-pvh side. IanC/J, I guess one
of you need to ack from tool side?

Again this for 4.5, and not 4.4.

thanks
Mukesh


On Fri, 24 Jan 2014 17:13:30 -0800
Mukesh Rathor <mukesh.rathor@oracle.com> wrote:

> Expose features for pvh domUs from tools.
> 
> Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
> ---
>  tools/libxc/xc_cpuid_x86.c |   26 ++++++++++++++++----------
>  tools/libxc/xc_domain.c    |    1 +
>  tools/libxc/xenctrl.h      |    2 +-
>  3 files changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
> index bbbf9b8..33f6829 100644
> --- a/tools/libxc/xc_cpuid_x86.c
> +++ b/tools/libxc/xc_cpuid_x86.c
> @@ -433,7 +433,7 @@ static void xc_cpuid_hvm_policy(
>  
>  static void xc_cpuid_pv_policy(
>      xc_interface *xch, domid_t domid,
> -    const unsigned int *input, unsigned int *regs)
> +    const unsigned int *input, unsigned int *regs, int is_pvh)
>  {
>      DECLARE_DOMCTL;
>      unsigned int guest_width;
> @@ -455,13 +455,16 @@ static void xc_cpuid_pv_policy(
>  
>      if ( (input[0] & 0x7fffffff) == 0x00000001 )
>      {
> -        clear_bit(X86_FEATURE_VME, regs[3]);
> -        clear_bit(X86_FEATURE_PSE, regs[3]);
> -        clear_bit(X86_FEATURE_PGE, regs[3]);
> -        clear_bit(X86_FEATURE_MCE, regs[3]);
> -        clear_bit(X86_FEATURE_MCA, regs[3]);
> +        if ( !is_pvh )
> +        {
> +            clear_bit(X86_FEATURE_VME, regs[3]);
> +            clear_bit(X86_FEATURE_PSE, regs[3]);
> +            clear_bit(X86_FEATURE_PGE, regs[3]);
> +            clear_bit(X86_FEATURE_MCE, regs[3]);
> +            clear_bit(X86_FEATURE_MCA, regs[3]);
> +            clear_bit(X86_FEATURE_PSE36, regs[3]);
> +        }
>          clear_bit(X86_FEATURE_MTRR, regs[3]);
> -        clear_bit(X86_FEATURE_PSE36, regs[3]);
>      }
>  
>      switch ( input[0] )
> @@ -524,8 +527,11 @@ static void xc_cpuid_pv_policy(
>          {
>              set_bit(X86_FEATURE_SYSCALL, regs[3]);
>          }
> -        clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
> -        clear_bit(X86_FEATURE_RDTSCP, regs[3]);
> +        if ( !is_pvh )
> +        {
> +            clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
> +            clear_bit(X86_FEATURE_RDTSCP, regs[3]);
> +        }
>  
>          clear_bit(X86_FEATURE_SVM, regs[2]);
>          clear_bit(X86_FEATURE_OSVW, regs[2]);
> @@ -561,7 +567,7 @@ static int xc_cpuid_policy(
>      if ( info.hvm )
>          xc_cpuid_hvm_policy(xch, domid, input, regs);
>      else
> -        xc_cpuid_pv_policy(xch, domid, input, regs);
> +        xc_cpuid_pv_policy(xch, domid, input, regs, info.pvh);
>  
>      return 0;
>  }
> diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
> index c2fdd74..f12999a 100644
> --- a/tools/libxc/xc_domain.c
> +++ b/tools/libxc/xc_domain.c
> @@ -316,6 +316,7 @@ int xc_domain_getinfo(xc_interface *xch,
>          info->running
> = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_running); info->hvm
> = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_hvm_guest);
> info->debugged = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_debugged);
> +        info->pvh
> = !!(domctl.u.getdomaininfo.flags&XEN_DOMINF_pvh_guest); 
>          info->shutdown_reason =
>              (domctl.u.getdomaininfo.flags>>XEN_DOMINF_shutdownshift)
> & diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
> index 13f816b..77d219a 100644
> --- a/tools/libxc/xenctrl.h
> +++ b/tools/libxc/xenctrl.h
> @@ -404,7 +404,7 @@ typedef struct xc_dominfo {
>      uint32_t      ssidref;
>      unsigned int  dying:1, crashed:1, shutdown:1,
>                    paused:1, blocked:1, running:1,
> -                  hvm:1, debugged:1;
> +                  hvm:1, debugged:1, pvh:1;
>      unsigned int  shutdown_reason; /* only meaningful if shutdown==1
> */ unsigned long nr_pages; /* current number, not maximum */
>      unsigned long nr_outstanding_pages;

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-01-25  1:13 ` [V0 PATCH] pvh: expose feature flags from tools for domUs Mukesh Rathor
                     ` (2 preceding siblings ...)
  2014-02-07  1:15   ` Mukesh Rathor
@ 2014-02-07  8:41   ` Roger Pau Monné
  3 siblings, 0 replies; 10+ messages in thread
From: Roger Pau Monné @ 2014-02-07  8:41 UTC (permalink / raw)
  To: Mukesh Rathor, Xen-devel; +Cc: ian.jackson, ian.campbell, stefano.stabellini

On 25/01/14 02:13, Mukesh Rathor wrote:
> Expose features for pvh domUs from tools.
> 
> Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>

The flags exposed for PVH by this patch look fine to me, but I've been
wondering if it would be easier to use xc_cpuid_hvm_policy for PVH and
just mask MTRR.

Roger.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [V0 PATCH] pvh: expose feature flags from tools for domUs
  2014-02-07  1:15   ` Mukesh Rathor
@ 2014-02-07  9:54     ` Ian Campbell
  0 siblings, 0 replies; 10+ messages in thread
From: Ian Campbell @ 2014-02-07  9:54 UTC (permalink / raw)
  To: Mukesh Rathor; +Cc: Xen-devel, ian.jackson, roger.pau, stefano.stabellini

On Thu, 2014-02-06 at 17:15 -0800, Mukesh Rathor wrote:
> 
> ping? I think Roger you can ack from xen-pvh side. IanC/J, I guess one
> of you need to ack from tool side?

The mechanical bits of the tools side look OK, I'll leave it to others
to ack the actual bits you are setting/clearing.

> Again this for 4.5, and not 4.4.

Right, please ping/resend once 4.5 opens.

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-02-07  9:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-25  1:13 [V0 PATCH]: feature flags for PVH Mukesh Rathor
2014-01-25  1:13 ` [V0 PATCH] pvh: expose feature flags from tools for domUs Mukesh Rathor
2014-01-28 11:14   ` Ian Campbell
2014-01-29  2:31     ` Mukesh Rathor
2014-01-28 12:24   ` Roger Pau Monné
2014-01-28 12:37     ` Jan Beulich
2014-01-29  2:33     ` Mukesh Rathor
2014-02-07  1:15   ` Mukesh Rathor
2014-02-07  9:54     ` Ian Campbell
2014-02-07  8:41   ` Roger Pau Monné

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).