On 09/02/2013 08:52 AM, Daniel P. Berrange wrote: > On Fri, Aug 30, 2013 at 12:41:36PM -0400, Cole Robinson wrote: >> Starting with qemu 1.6, the qemu-system-arm vexpress-a9 model has a >> hardcoded virtio-mmio transport which enables attaching all virtio >> devices. >> >> On the command line, we have to use virtio-XXX-device rather than >> virtio-XXX-pci, thankfully s390 already set the precedent here so >> it's fairly straight forward. >> >> At the XML level, this adds a new device address type virtio-mmio. >> The controller and addressing don't have any subelements at the >> moment because we they aren't needed for this usecase, but could >> be added later if needed. >> >> Add a test case for an ARM guest with one of every virtio device >> enabled. >> --- >> src/conf/domain_conf.c | 12 +++- >> src/conf/domain_conf.h | 1 + >> src/qemu/qemu_capabilities.c | 17 ++++-- >> src/qemu/qemu_capabilities.h | 2 + >> src/qemu/qemu_command.c | 65 +++++++++++++++++----- >> .../qemuxml2argv-arm-vexpressa9-virtio.args | 14 +++++ >> .../qemuxml2argv-arm-vexpressa9-virtio.xml | 45 +++++++++++++++ >> tests/qemuxml2argvtest.c | 4 ++ >> 8 files changed, 139 insertions(+), 21 deletions(-) >> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.args >> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.xml > > ACK > > >> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h >> index 380e2bb..1d70eba 100644 >> --- a/src/conf/domain_conf.h >> +++ b/src/conf/domain_conf.h >> @@ -207,6 +207,7 @@ enum virDomainDeviceAddressType { >> VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO, >> VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390, >> VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW, >> + VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO, >> >> VIR_DOMAIN_DEVICE_ADDRESS_TYPE_LAST >> }; > > So there's no kind of address properties needed for the MMIO > address type ? There may be, when the qemu-system-arm -m virt machine lands, which AIUI will behave more like qemu-system-x86, allowing us to fully specify topology on the command line. Right now the only virtio-mmio user (vexpress) hardcodes creation in the qemu board init code. We might be able to explicitly specify addressing of virtio devices with -device, but if we can it's not obvious to me, and it's pretty pointless since we don't have that same control over the rest of the board config. Long term I think the only qemu arm machine type we will really want to 'support' is -M virt since it's closer to what we are used to with x86. - Cole -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list