mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
qemu: Improve qemuDomainSupportsPCIMultibus()
Rewrite the function so that it's more compact and easier to extend as new architectures, which will likely come with multibus support right out the gate, are introduced. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
176c3b105e
commit
5df470f47d
@ -9088,23 +9088,16 @@ qemuDomainSupportsPCI(const virDomainDef *def)
|
||||
bool
|
||||
qemuDomainSupportsPCIMultibus(const virDomainDef *def)
|
||||
{
|
||||
/* x86_64 and i686 support PCI-multibus on all machine types
|
||||
* since forever */
|
||||
if (ARCH_IS_X86(def->os.arch))
|
||||
return true;
|
||||
|
||||
/* PPC supports multibus on all machine types which have pci since qemu-2.0.0 */
|
||||
if (def->os.arch == VIR_ARCH_PPC ||
|
||||
ARCH_IS_PPC64(def->os.arch)) {
|
||||
/* Most architectures support multibus for all machine types on
|
||||
* all supported QEMU versions */
|
||||
if (ARCH_IS_X86(def->os.arch) ||
|
||||
ARCH_IS_PPC(def->os.arch) ||
|
||||
ARCH_IS_S390(def->os.arch)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* S390 supports PCI-multibus. */
|
||||
if (ARCH_IS_S390(def->os.arch))
|
||||
return true;
|
||||
|
||||
/* If the virt machine, both on ARM and RISC-V, supports PCI,
|
||||
* then it also supports multibus */
|
||||
/* In some cases, support for multibus is limited to some machine
|
||||
* types */
|
||||
if (qemuDomainIsARMVirt(def) ||
|
||||
qemuDomainIsRISCVVirt(def)) {
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user