[virt-tools-list] [PATCH 1/2] Add support for cpu mode attribute and cpu host-passthrough

Cole Robinson crobinso at redhat.com
Wed Apr 10 14:11:49 UTC 2013


On 04/08/2013 06:22 AM, Hu Tao wrote:
> Hi,
> 
> Any comments?
> 

Sorry, somehow I lost track of these patches.

Since virtinst and virt-manager are now merged, can this series be rebased to
virt-manager.git and reposted? The virtinst bits should just apply cleanly but
the virt-manager bits probably need some minor tweaking.

Thanks,
Cole

> On Fri, Mar 29, 2013 at 03:09:26PM +0800, Hu Tao wrote:
>> From: Ken ICHIKAWA <ichikawa.ken at jp.fujitsu.com>
>>
>> With this patch, users can use cpu host-passthrough like this:
>>
>>   virt-install --cpu host-passthrough ...
>>
>> Signed-off-by: Ken ICHIKAWA <ichikawa.ken at jp.fujitsu.com>
>> Signed-off-by: Hu Tao <hutao at cn.fujitsu.com>
>> ---
>>  virtinst/CPU.py | 20 +++++++++++++++++++-
>>  1 file changed, 19 insertions(+), 1 deletion(-)
>>
>> diff --git a/virtinst/CPU.py b/virtinst/CPU.py
>> index 6ada5bc..33e8886 100644
>> --- a/virtinst/CPU.py
>> +++ b/virtinst/CPU.py
>> @@ -81,6 +81,7 @@ class CPU(XMLBuilderDomain.XMLBuilderDomain):
>>          self._model = None
>>          self._match = None
>>          self._vendor = None
>> +        self._mode = None
>>          self._features = []
>>  
>>          self._sockets = None
>> @@ -130,6 +131,8 @@ class CPU(XMLBuilderDomain.XMLBuilderDomain):
>>      def _get_model(self):
>>          return self._model
>>      def _set_model(self, val):
>> +        if val:
>> +            self.mode = "custom"
>>          if val and not self.match:
>>              self.match = "exact"
>>          self._model = val
>> @@ -150,6 +153,13 @@ class CPU(XMLBuilderDomain.XMLBuilderDomain):
>>      vendor = _xml_property(_get_vendor, _set_vendor,
>>                             xpath="./cpu/vendor")
>>  
>> +    def _get_mode(self):
>> +        return self._mode
>> +    def _set_mode(self, val):
>> +        self._mode = val
>> +    mode = _xml_property(_get_mode, _set_mode,
>> +                         xpath="./cpu/@mode")
>> +
>>      # Topology properties
>>      def _get_sockets(self):
>>          return self._sockets
>> @@ -184,6 +194,7 @@ class CPU(XMLBuilderDomain.XMLBuilderDomain):
>>          if not cpu.model:
>>              raise ValueError(_("No host CPU reported in capabilities"))
>>  
>> +        self.mode = "custom"
>>          self.match = "exact"
>>          self.model = cpu.model
>>          self.vendor = cpu.vendor
>> @@ -261,16 +272,23 @@ class CPU(XMLBuilderDomain.XMLBuilderDomain):
>>      def _get_xml_config(self):
>>          top_xml = self._get_topology_xml()
>>          feature_xml = self._get_feature_xml()
>> +        mode_xml = ""
>>          match_xml = ""
>>          if self.match:
>>              match_xml = " match='%s'" % self.match
>>          xml = ""
>>  
>> +        if self.model == "host-passthrough":
>> +            self.mode = "host-passthrough"
>> +            mode_xml = " mode='%s'" % self.mode
>> +            xml += "  <cpu%s/>" % mode_xml
>> +            return xml
>> +
>>          if not (self.model or top_xml or feature_xml):
>>              return ""
>>  
>>          # Simple topology XML mode
>> -        xml += "  <cpu%s>\n" % match_xml
>> +        xml += "  <cpu%s%s>\n" % (mode_xml, match_xml)
>>          if self.model:
>>              xml += "    <model>%s</model>\n" % self.model
>>          if self.vendor:
>> -- 
>> 1.8.1.4
>>
>> _______________________________________________
>> virt-tools-list mailing list
>> virt-tools-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/virt-tools-list
> 
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
> 




More information about the virt-tools-list mailing list