[virt-tools-list] [PATCH 1/2] Add support for cpu mode attribute and cpu host-passthrough
Hu Tao
hutao at cn.fujitsu.com
Mon Apr 8 10:22:33 UTC 2013
Hi,
Any comments?
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
More information about the virt-tools-list
mailing list