* [PATCH v2] libxc: expand cpuid features exposed to PVH guests
@ 2014-07-23 15:59 Roger Pau Monne
2014-08-01 15:28 ` Roger Pau Monné
0 siblings, 1 reply; 3+ messages in thread
From: Roger Pau Monne @ 2014-07-23 15:59 UTC (permalink / raw)
To: xen-devel; +Cc: Andrew Cooper, Ian Jackson, Ian Campbell, Roger Pau Monne
Expand the cpuid features exposed to PVH guests, this includes
exposing PSE, PGE and 1GB pages (which will be masked by the
hypervisor if not supported by the hardware).
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes since v1:
- Rename autotranslated param to pvh and make it a bool.
---
tools/libxc/xc_cpuid_x86.c | 14 +++++++++-----
tools/libxc/xc_domain.c | 1 +
tools/libxc/xenctrl.h | 2 +-
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
index 8acb9fb..6b81641 100644
--- a/tools/libxc/xc_cpuid_x86.c
+++ b/tools/libxc/xc_cpuid_x86.c
@@ -21,6 +21,7 @@
*/
#include <stdlib.h>
+#include <stdbool.h>
#include "xc_private.h"
#include "xc_cpufeature.h"
#include <xen/hvm/params.h>
@@ -437,7 +438,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, bool pvh)
{
DECLARE_DOMCTL;
unsigned int guest_width;
@@ -460,8 +461,10 @@ 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]);
+ if ( !pvh ) {
+ 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_MTRR, regs[3]);
@@ -530,7 +533,8 @@ static void xc_cpuid_pv_policy(
{
set_bit(X86_FEATURE_SYSCALL, regs[3]);
}
- clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
+ if ( !pvh )
+ clear_bit(X86_FEATURE_PAGE1GB, regs[3]);
clear_bit(X86_FEATURE_RDTSCP, regs[3]);
clear_bit(X86_FEATURE_SVM, regs[2]);
@@ -578,7 +582,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 0230c6c..c67ac9a 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -348,6 +348,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 3578b09..8b55fba 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -422,7 +422,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.7.5 (Apple Git-26)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] libxc: expand cpuid features exposed to PVH guests
2014-07-23 15:59 [PATCH v2] libxc: expand cpuid features exposed to PVH guests Roger Pau Monne
@ 2014-08-01 15:28 ` Roger Pau Monné
2014-08-04 13:56 ` Ian Campbell
0 siblings, 1 reply; 3+ messages in thread
From: Roger Pau Monné @ 2014-08-01 15:28 UTC (permalink / raw)
To: xen-devel; +Cc: Andrew Cooper, Ian Jackson, Ian Campbell
On 23/07/14 17:59, Roger Pau Monne wrote:
> Expand the cpuid features exposed to PVH guests, this includes
> exposing PSE, PGE and 1GB pages (which will be masked by the
> hypervisor if not supported by the hardware).
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
> Cc: Ian Campbell <ian.campbell@citrix.com>
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Ping?
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] libxc: expand cpuid features exposed to PVH guests
2014-08-01 15:28 ` Roger Pau Monné
@ 2014-08-04 13:56 ` Ian Campbell
0 siblings, 0 replies; 3+ messages in thread
From: Ian Campbell @ 2014-08-04 13:56 UTC (permalink / raw)
To: Roger Pau Monné; +Cc: xen-devel, Ian Jackson, Andrew Cooper
On Fri, 2014-08-01 at 17:28 +0200, Roger Pau Monné wrote:
> On 23/07/14 17:59, Roger Pau Monne wrote:
> > Expand the cpuid features exposed to PVH guests, this includes
> > exposing PSE, PGE and 1GB pages (which will be masked by the
> > hypervisor if not supported by the hardware).
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
> > Cc: Ian Campbell <ian.campbell@citrix.com>
> > Cc: Andrew Cooper <andrew.cooper3@citrix.com>
>
> Ping?
Sorry, I'd mentally filed PVH as a hypervisor side thing, despite your
$subject being perfectly clear.
Acked + applied.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-08-04 13:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-23 15:59 [PATCH v2] libxc: expand cpuid features exposed to PVH guests Roger Pau Monne
2014-08-01 15:28 ` Roger Pau Monné
2014-08-04 13:56 ` Ian Campbell
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).