WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] hvm's cpuid config fix

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] hvm's cpuid config fix
From: Jean Guyader <jean.guyader@xxxxxxxxxxxxx>
Date: Wed, 30 Apr 2008 16:32:39 +0100
Delivery-date: Thu, 01 May 2008 07:59:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110)
Hi,

This patch fix some problem with the hvm's cpuid configuration.

 - When we overwrite a cpuid's input, apply the default policy
   for the other registers.
 - For the python binding, get unsigned long instead long.
 - Fix the multiple inputs cpuid's configuration parsing.

Signed-off-by: Jean Guyader <jean.guyader@xxxxxxxxxxxxx>

--
Jean Guyader
diff -r 483d006cc607 tools/libxc/xc_cpuid_x86.c
--- a/tools/libxc/xc_cpuid_x86.c        Fri Apr 25 13:46:27 2008 +0100
+++ b/tools/libxc/xc_cpuid_x86.c        Wed Apr 30 16:18:53 2008 +0100
@@ -385,7 +385,10 @@ int xc_cpuid_set(
     for ( i = 0; i < 4; i++ )
     {
         if ( config[i] == NULL )
+        {
+            regs[i] = polregs[i];
             continue;
+        }
         
         config_transformed[i] = alloc_str();
 
diff -r 483d006cc607 tools/python/xen/lowlevel/xc/xc.c
--- a/tools/python/xen/lowlevel/xc/xc.c Fri Apr 25 13:46:27 2008 +0100
+++ b/tools/python/xen/lowlevel/xc/xc.c Wed Apr 30 16:18:53 2008 +0100
@@ -696,7 +696,7 @@ static PyObject *pyxc_dom_set_cpuid(XcOb
     unsigned int input[2];
     char *regs[4], *regs_transform[4];
 
-    if ( !PyArg_ParseTuple(args, "iiOO", &domid,
+    if ( !PyArg_ParseTuple(args, "IIOO", &domid,
                            &input[0], &sub_input, &config) )
         return NULL;
 
diff -r 483d006cc607 tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py     Fri Apr 25 13:46:27 2008 +0100
+++ b/tools/python/xen/xm/create.py     Wed Apr 30 16:18:53 2008 +0100
@@ -856,7 +856,9 @@ def preprocess_cpuid(vals, attr_name):
     if not vals.cpuid: return
     cpuid = {} 
     for cpuid_input in getattr(vals, attr_name):
-        cpuid_match = re.match(r"(?P<input>(0x)?[0-9A-Fa-f]+):(?P<regs>.*)", 
cpuid_input)
+        input_re = "(0x)?[0-9A-Fa-f]+(,(0x)?[0-9A-Fa-f]+)?"
+        cpuid_match = re.match(r'(?P<input>%s):(?P<regs>.*)' % \
+                               input_re, cpuid_input)
         if cpuid_match != None:
             res_cpuid = cpuid_match.groupdict()
             input = res_cpuid['input']
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] hvm's cpuid config fix, Jean Guyader <=