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

[Xen-changelog] [xen master] pvh: restrict tsc_mode to NEVER_EMULATE for now



commit a51243376b4fe6bfed7e47ed2cd77258b33788ea
Author:     Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
AuthorDate: Wed Nov 13 09:41:12 2013 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Nov 13 09:41:12 2013 +0100

    pvh: restrict tsc_mode to NEVER_EMULATE for now
    
    The reason given for this restriction in the first place, given in one
    of the comments checking for PVH requirements, had to do with
    additional infrastructure required to allow PV RDTSC emulation for PVH
    guests.
    
    Since we don't use the PV emulation path at all anymore, we may be
    able to remove this restriction.
    
    Experiments show that pvh will boot without apparent issues in
    "default", "native", and "native_paravirt" mode, but not in
    "always_emulate" mode.  We'll leave this restriction in until
    we can sort out what's going on.
    
    Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
    Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
    Acked-by: Tim Deegan <tim@xxxxxxx>
    Acked-by: Keir Fraser <keir@xxxxxxx>
    Acked-by: Eddie Dong <eddie.dong@xxxxxxxxx>
---
 xen/arch/x86/time.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 21224f0..62c3443 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1827,6 +1827,33 @@ void tsc_set_info(struct domain *d,
         d->arch.vtsc = 0;
         return;
     }
+    if ( is_pvh_domain(d) )
+    {
+        /*
+         * PVH fixme: support more tsc modes.
+         *
+         * NB: The reason this is disabled here appears to be with
+         * additional support required to do the PV RDTSC emulation.
+         * Since we're no longer taking the PV emulation path for
+         * anything, we may be able to remove this restriction.
+         *
+         * pvhfixme: Experiments show that "default" works for PVH,
+         * but "always_emulate" does not for some reason.  Figure out
+         * why.
+         */
+        switch ( tsc_mode )
+        {
+        case TSC_MODE_NEVER_EMULATE:
+            break;
+        default:
+            printk(XENLOG_WARNING
+                   "PVH currently does not support tsc emulation. Setting 
timer_mode = never_emulate\n");
+            /* FALLTHRU */
+        case TSC_MODE_DEFAULT:
+            tsc_mode = TSC_MODE_NEVER_EMULATE;
+            break;
+        }
+    }
 
     switch ( d->arch.tsc_mode = tsc_mode )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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