提交 5ee5ebf4 编写于 作者: A Andrea Bolognani

qemu: Unify address assignment for virt guests

The rules are the same for all virt guests, regardless of the
architecture.
Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
Reviewed-by: NCole Robinson <crobinso@redhat.com>
上级 20011d01
......@@ -460,19 +460,23 @@ qemuDomainHasVirtioMMIODevices(virDomainDefPtr def)
static void
qemuDomainAssignARMVirtioMMIOAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps)
qemuDomainAssignVirtioMMIOAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps)
{
if (def->os.arch != VIR_ARCH_ARMV6L &&
def->os.arch != VIR_ARCH_ARMV7L &&
def->os.arch != VIR_ARCH_AARCH64)
def->os.arch != VIR_ARCH_AARCH64 &&
!ARCH_IS_RISCV(def->os.arch)) {
return;
}
if (!(STRPREFIX(def->os.machine, "vexpress-") ||
qemuDomainIsARMVirt(def)))
qemuDomainIsARMVirt(def) ||
qemuDomainIsRISCVVirt(def))) {
return;
}
/* We use virtio-mmio by default on mach-virt guests only if they already
/* We use virtio-mmio by default on virt guests only if they already
* have at least one virtio-mmio device: in all other cases, assuming
* the QEMU binary supports all necessary capabilities (PCIe Root plus
* some kind of PCIe Root Port), we prefer virtio-pci */
......@@ -489,30 +493,6 @@ qemuDomainAssignARMVirtioMMIOAddresses(virDomainDefPtr def,
}
static void
qemuDomainAssignRISCVVirtioMMIOAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps)
{
if (!qemuDomainIsRISCVVirt(def))
return;
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_MMIO)) {
qemuDomainPrimeVirtioDeviceAddresses(def,
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO);
}
}
static void
qemuDomainAssignVirtioMMIOAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps)
{
qemuDomainAssignARMVirtioMMIOAddresses(def, qemuCaps);
qemuDomainAssignRISCVVirtioMMIOAddresses(def, qemuCaps);
}
static bool
qemuDomainDeviceSupportZPCI(virDomainDeviceDefPtr device)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册