guest: Use virtio for arm -M virt

In fact it's the only thing it supports
This commit is contained in:
Cole Robinson 2014-09-23 15:12:02 -04:00
parent 81fdc1e5e5
commit 0182ba3ead
5 changed files with 20 additions and 4 deletions

View File

@ -24,7 +24,7 @@
<disk type="file" device="disk">
<driver name="qemu" type="qcow2"/>
<source file="/dev/default-pool/testvol1.img"/>
<target dev="hda" bus="ide"/>
<target dev="sda" bus="sd"/>
</disk>
<interface type="bridge">
<source bridge="eth0"/>

View File

@ -24,11 +24,12 @@
<disk type="file" device="disk">
<driver name="qemu" type="qcow2"/>
<source file="/dev/default-pool/testvol1.img"/>
<target dev="hda" bus="ide"/>
<target dev="vda" bus="virtio"/>
</disk>
<interface type="bridge">
<source bridge="eth0"/>
<mac address="00:11:22:33:44:55"/>
<model type="virtio"/>
</interface>
<console type="pty"/>
</devices>

View File

@ -24,11 +24,12 @@
<disk type="file" device="disk">
<driver name="qemu" type="qcow2"/>
<source file="/dev/default-pool/testvol1.img"/>
<target dev="sda" bus="sd"/>
<target dev="vda" bus="virtio"/>
</disk>
<interface type="bridge">
<source bridge="eth0"/>
<mac address="00:11:22:33:44:55"/>
<model type="virtio"/>
</interface>
<console type="pty"/>
</devices>

View File

@ -837,11 +837,17 @@ class Guest(XMLBuilder):
def _can_virtio(self, key):
if not self.conn.is_qemu():
return False
if self.os.is_arm_machvirt():
# Only supports virtio
return True
if not self._lookup_osdict_key(key, False):
return False
if self.os.is_x86():
return True
if (self.os.is_arm_vexpress() and
self.os.dtb and
self._lookup_osdict_key("virtiommio", False) and

View File

@ -50,10 +50,18 @@ class OSXML(XMLBuilder):
def is_x86(self):
return self.arch == "x86_64" or self.arch == "i686"
def is_arm(self):
def is_arm32(self):
return self.arch == "armv7l"
def is_arm64(self):
return self.arch == "aarch64"
def is_arm(self):
return self.is_arm32() or self.is_arm64()
def is_arm_vexpress(self):
return self.is_arm() and str(self.machine).startswith("vexpress-")
def is_arm_machvirt(self):
return self.is_arm() and self.machine == "virt"
def is_ppc64(self):
return self.arch == "ppc64"
def is_pseries(self):