On Thu, 2018-06-14 at 22:32 +0200, Lubomir Rintel wrote: [...] > +static void > +qemuDomainAssignRISCVVirtioMMIOAddresses(virDomainDefPtr def, > + virQEMUCapsPtr qemuCaps) > +{ > + if (!ARCH_IS_RISCV(def->os.arch)) > + return; > + > + if (STRNEQ(def->os.machine, "virt")) > + return; This will stop working the moment QEMU introduces versioned machine types for RISC-V, which makes it not very future proof. You should instead introduce (in a separate, earlier patch) qemuDomainIsRISCVVirt() qemuDomainMachineIsRISCVVirt() functions modeled after the Arm equivalent, and use the former here. [...] > @@ -2940,6 +2957,8 @@ qemuDomainAssignAddresses(virDomainDefPtr def, > > qemuDomainAssignARMVirtioMMIOAddresses(def, qemuCaps); > > + qemuDomainAssignRISCVVirtioMMIOAddresses(def, qemuCaps); We should have a qemuDomainAssignVirtioMMIOAddresses() wrapper that calls both the Arm and RISC-V variants, and call that one from qemuDomainAssignAddresses(). You can introduce and start using the wrapper in a separate patch; then, in this one, you can add the RISC-V variant and modify the wrapper so that it calls it in addition to the Arm variant. Everything else looks good. -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list