mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 22:55:23 +00:00
qemu: Unify address assignment for virt guests
The rules are the same for all virt guests, regardless of the architecture. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
20011d01d9
commit
5ee5ebf453
@ -460,19 +460,23 @@ qemuDomainHasVirtioMMIODevices(virDomainDefPtr def)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qemuDomainAssignARMVirtioMMIOAddresses(virDomainDefPtr def,
|
qemuDomainAssignVirtioMMIOAddresses(virDomainDefPtr def,
|
||||||
virQEMUCapsPtr qemuCaps)
|
virQEMUCapsPtr qemuCaps)
|
||||||
{
|
{
|
||||||
if (def->os.arch != VIR_ARCH_ARMV6L &&
|
if (def->os.arch != VIR_ARCH_ARMV6L &&
|
||||||
def->os.arch != VIR_ARCH_ARMV7L &&
|
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;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!(STRPREFIX(def->os.machine, "vexpress-") ||
|
if (!(STRPREFIX(def->os.machine, "vexpress-") ||
|
||||||
qemuDomainIsARMVirt(def)))
|
qemuDomainIsARMVirt(def) ||
|
||||||
|
qemuDomainIsRISCVVirt(def))) {
|
||||||
return;
|
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
|
* have at least one virtio-mmio device: in all other cases, assuming
|
||||||
* the QEMU binary supports all necessary capabilities (PCIe Root plus
|
* the QEMU binary supports all necessary capabilities (PCIe Root plus
|
||||||
* some kind of PCIe Root Port), we prefer virtio-pci */
|
* 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
|
static bool
|
||||||
qemuDomainDeviceSupportZPCI(virDomainDeviceDefPtr device)
|
qemuDomainDeviceSupportZPCI(virDomainDeviceDefPtr device)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user