virtio-mmio is still used by default, so if PCI is desired
it's necessary to explicitly opt-in by adding an appropriate
<address type='pci' domain='0x0000' ... />
element to the corresponding device.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
src/qemu/qemu_capabilities.c | 4 +++-
src/qemu/qemu_domain.c | 2 ++
src/qemu/qemu_domain_address.c | 3 ++-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index f504db7d05..6fe8693170 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1741,8 +1741,10 @@ bool virQEMUCapsHasPCIMultiBus(virQEMUCapsPtr qemuCaps,
/* If ARM 'virt' supports PCI, it supports multibus.
* No extra conditions here for simplicity.
*/
- if (qemuDomainIsARMVirt(def))
+ if (qemuDomainIsARMVirt(def) ||
+ qemuDomainIsRISCVVirt(def)) {
return true;
+ }
return false;
}
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 5bfe4fe14e..0b8e6fa011 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3380,6 +3380,8 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
case VIR_ARCH_RISCV32:
case VIR_ARCH_RISCV64:
addDefaultUSB = false;
+ if (qemuDomainIsRISCVVirt(def))
+ addPCIeRoot = virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_GPEX);
break;
case VIR_ARCH_S390:
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index c376f3f897..c35ecd8585 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -2369,7 +2369,8 @@ qemuDomainSupportsPCI(virDomainDefPtr def,
if (STREQ(def->os.machine, "versatilepb"))
return true;
- if (qemuDomainIsARMVirt(def) &&
+ if ((qemuDomainIsARMVirt(def) ||
+ qemuDomainIsRISCVVirt(def)) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_GPEX))
return true;
--
2.20.1
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Thu, Jan 31, 2019 at 03:34:19PM +0100, Andrea Bolognani wrote:
>virtio-mmio is still used by default, so if PCI is desired
>it's necessary to explicitly opt-in by adding an appropriate
>
> <address type='pci' domain='0x0000' ... />
>
>element to the corresponding device.
>
>Signed-off-by: Andrea Bolognani <abologna@redhat.com>
>---
> src/qemu/qemu_capabilities.c | 4 +++-
> src/qemu/qemu_domain.c | 2 ++
> src/qemu/qemu_domain_address.c | 3 ++-
> 3 files changed, 7 insertions(+), 2 deletions(-)
>
>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>index f504db7d05..6fe8693170 100644
>--- a/src/qemu/qemu_capabilities.c
>+++ b/src/qemu/qemu_capabilities.c
>@@ -1741,8 +1741,10 @@ bool virQEMUCapsHasPCIMultiBus(virQEMUCapsPtr qemuCaps,
> /* If ARM 'virt' supports PCI, it supports multibus.
> * No extra conditions here for simplicity.
> */
>- if (qemuDomainIsARMVirt(def))
>+ if (qemuDomainIsARMVirt(def) ||
>+ qemuDomainIsRISCVVirt(def)) {
> return true;
>+ }
The comment above only mentions arm. Either decouple the conditions or
remove the comment. For simplicity.
>
> return false;
> }
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Thu, 2019-01-31 at 17:31 +0100, Ján Tomko wrote:
> On Thu, Jan 31, 2019 at 03:34:19PM +0100, Andrea Bolognani wrote:
> > /* If ARM 'virt' supports PCI, it supports multibus.
> > * No extra conditions here for simplicity.
> > */
> > - if (qemuDomainIsARMVirt(def))
> > + if (qemuDomainIsARMVirt(def) ||
> > + qemuDomainIsRISCVVirt(def)) {
> > return true;
> > + }
>
> The comment above only mentions arm. Either decouple the conditions or
> remove the comment. For simplicity.
Good catch, I'll take care of it.
--
Andrea Bolognani / Red Hat / Virtualization
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2026 Red Hat, Inc.