So, given the 1 register block per virt-mmio "bus" then I agree that we need a "dev path" distinction between them.
On 5 July 2016 at 14:22, Thomas Hanson <thomas.han...@linaro.org> wrote: > OK, that makes sense. I was thinking that the MMIO transport would/could > support multiple register blocks and thus multiple devices. > > On 5 July 2016 at 13:26, Laszlo Ersek (Red Hat) <ler...@redhat.com> wrote: > >> A virtio-mmio "bus" is a single-device transport. It has a fixed base >> address that is set at board creation time. The MMIO area is 0x200 bytes >> in size, and hosts the virtio registers for one device that can sit on >> this transport. Transports can be unused. >> >> The "virt" machtype creates 32 transports (= 32 virtio-mmio "buses" >> suitable for one virtio device each). This allows for 32 virtio devices >> exposed via virtio-mmio. The placement of the different virtio-mmio >> "buses" at specific addresses in MMIO space is board specific. >> >> So yes, it definitely makes sense to create several of these "buses". >> It's better to think of a single virtio-mmio "bus" as a virtio-mmio >> "transport" or "register block". The "bus" terminology is just an >> internal QEMU detail. (It is not enumerable in hardware, for example.) >> >> -- >> You received this bug notification because you are subscribed to the bug >> report. >> https://bugs.launchpad.net/bugs/1594239 >> >> Title: >> After adding more scsi disks for Aarch64 virtual machine, start the VM >> and got Qemu Error >> >> Status in QEMU: >> Confirmed >> >> Bug description: >> Description >> =========== >> Using virt-manager to create a VM in Aarch64, Ubuntu 16.04. >> Add scsi disk to the VM. After add four or more scsi disks, start the >> VM and will got Qemu error. >> >> Steps to reproduce >> ================== >> 1.Use virt-manager to create a VM. >> 2.After the VM is started, add scsi disk to the VM. They will be >> allocated to "sdb,sdc,sdd....." . >> 3.If we got a disk name > sdg, virt-manager will also assign a >> virtio-scsi controller for this disk.And the VM will be shutdown. >> 4.Start the VM, will see the error log. >> >> >> Expected result >> =============== >> Start the vm smoothly.The added disks can work. >> >> Actual result >> ============= >> Got the error: >> starting domain: internal error: process exited while connecting to >> monitor: qemu-system-aarch64: >> /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: >> vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id >> == 0' failed. >> details=Traceback (most recent call last): >> File "/usr/share/virt-manager/virtManager/asyncjob.py", line 90, in >> cb_wrapper >> callback(asyncjob, *args, **kwargs) >> File "/usr/share/virt-manager/virtManager/asyncjob.py", line 126, in >> tmpcb >> callback(*args, **kwargs) >> File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, >> in newfn >> ret = fn(self, *args, **kwargs) >> File "/usr/share/virt-manager/virtManager/domain.py", line 1402, in >> startup >> self._backend.create() >> File "/usr/local/lib/python2.7/dist-packages/libvirt.py", line 1035, >> in create >> if ret == -1: raise libvirtError ('virDomainCreate() failed', >> dom=self) >> libvirtError: internal error: process exited while connecting to >> monitor: qemu-system-aarch64: >> /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: >> vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id >> == 0' failed. >> >> >> Environment >> =========== >> 1. virt-manager version is 1.3.2 >> >> 2. Which hypervisor did you use? >> Libvirt+KVM >> $ kvm --version >> QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), >> Copyright (c) 2003-2008 Fabrice Bellard >> $ libvirtd --version >> libvirtd (libvirt) 1.3.1 >> >> 3. Which storage type did you use? >> In the host file system,all in one physics machine. >> stack@u202154:/opt/stack/nova$ df -hl >> Filesystem Size Used Avail Use% Mounted on >> udev 7.8G 0 7.8G 0% /dev >> tmpfs 1.6G 61M 1.6G 4% /run >> /dev/sda2 917G 41G 830G 5% / >> tmpfs 7.9G 0 7.9G 0% /dev/shm >> tmpfs 5.0M 0 5.0M 0% /run/lock >> tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup >> /dev/sda1 511M 888K 511M 1% /boot/efi >> cgmfs 100K 0 100K 0% /run/cgmanager/fs >> tmpfs 1.6G 0 1.6G 0% /run/user/1002 >> tmpfs 1.6G 0 1.6G 0% /run/user/1000 >> tmpfs 1.6G 0 1.6G 0% /run/user/0 >> >> 4. Environment information: >> Architecture : AARCH64 >> OS: Ubuntu 16.04 >> >> The Qemu commmand of libvirt is : >> 2016-06-20 02:39:46.561+0000: starting up libvirt version: 1.3.1, >> package: 1ubuntu10 (William Grant <wgr...@ubuntu.com> Fri, 15 Apr 2016 >> 12:08:21 +1000), qemu version: 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), >> hostname: u202154 >> LC_ALL=C >> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin >> QEMU_AUDIO_DRV=none /usr/bin/kvm -name cent7 -S -machine >> virt,accel=kvm,usb=off -cpu host -drive >> file=/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw,if=pflash,format=raw,unit=0,readonly=on >> -drive >> file=/var/lib/libvirt/qemu/nvram/cent7_VARS.fd,if=pflash,format=raw,unit=1 >> -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid >> d5462bb6-159e-4dbd-9266-bf8c07fa1695 -nographic -no-user-config -nodefaults >> -chardev >> socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-cent7/monitor.sock,server,nowait >> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown >> -boot strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1 >> -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device >> virtio-scsi-device,id=scsi0 -device lsi,id=scsi1 -device lsi,id=scsi2 >> -device virtio-scsi-device,id=scsi3 -usb -drive >> file=/var/lib/libvirt/images/cent7-2.img,format=qcow2,if=none,id=drive-scsi0-0-0-0 >> -device >> scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 >> -drive if=none,id=drive-scsi0-0-0-1,readonly=on -device >> scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,id=scsi0-0-0-1 >> -drive >> file=/var/lib/libvirt/images/cent7-10.img,format=qcow2,if=none,id=drive-scsi0-0-0-2 >> -device >> scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi0-0-0-2,id=scsi0-0-0-2 >> -drive >> file=/var/lib/libvirt/images/cent7-11.img,format=qcow2,if=none,id=drive-scsi0-0-0-3 >> -device >> scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=3,drive=drive-scsi0-0-0-3,id=scsi0-0-0-3 >> -drive >> file=/var/lib/libvirt/images/cent7-13.img,format=qcow2,if=none,id=drive-scsi3-0-0-0 >> -device >> scsi-hd,bus=scsi3.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi3-0-0-0,id=scsi3-0-0-0 >> -netdev tap,fd=33,id=hostnet0,vhost=on,vhostfd=35 -device >> virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:a1:6e:75 -serial pty >> -msg timestamp=on >> Domain id=11 is tainted: host-cpu >> >> The libvirt xml is: >> <domain type='kvm'> >> <name>cent7</name> >> <uuid>d5462bb6-159e-4dbd-9266-bf8c07fa1695</uuid> >> <memory unit='KiB'>2097152</memory> >> <currentMemory unit='KiB'>2097152</currentMemory> >> <vcpu placement='static'>2</vcpu> >> <os> >> <type arch='aarch64' machine='virt'>hvm</type> >> <loader readonly='yes' >> type='pflash'>/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw</loader> >> <nvram>/var/lib/libvirt/qemu/nvram/cent7_VARS.fd</nvram> >> <boot dev='hd'/> >> </os> >> <cpu mode='host-passthrough'/> >> <clock offset='utc'/> >> <on_poweroff>destroy</on_poweroff> >> <on_reboot>restart</on_reboot> >> <on_crash>restart</on_crash> >> <devices> >> <emulator>/usr/bin/kvm</emulator> >> <disk type='file' device='disk'> >> <driver name='qemu' type='qcow2'/> >> <source file='/var/lib/libvirt/images/cent7-2.img'/> >> <target dev='sda' bus='scsi'/> >> <address type='drive' controller='0' bus='0' target='0' unit='0'/> >> </disk> >> <disk type='file' device='cdrom'> >> <driver name='qemu' type='raw'/> >> <target dev='sdb' bus='scsi'/> >> <readonly/> >> <address type='drive' controller='0' bus='0' target='0' unit='1'/> >> </disk> >> <disk type='file' device='disk'> >> <driver name='qemu' type='qcow2'/> >> <source file='/var/lib/libvirt/images/cent7-10.img'/> >> <target dev='sdc' bus='scsi'/> >> <address type='drive' controller='0' bus='0' target='0' unit='2'/> >> </disk> >> <disk type='file' device='disk'> >> <driver name='qemu' type='qcow2'/> >> <source file='/var/lib/libvirt/images/cent7-11.img'/> >> <target dev='sdd' bus='scsi'/> >> <address type='drive' controller='0' bus='0' target='0' unit='3'/> >> </disk> >> <disk type='file' device='disk'> >> <driver name='qemu' type='qcow2'/> >> <source file='/var/lib/libvirt/images/cent7-13.img'/> >> <target dev='sdv' bus='scsi'/> >> <address type='drive' controller='3' bus='0' target='0' unit='0'/> >> </disk> >> <controller type='scsi' index='0' model='virtio-scsi'> >> <address type='virtio-mmio'/> >> </controller> >> <controller type='scsi' index='1'> >> <address type='virtio-mmio'/> >> </controller> >> <controller type='scsi' index='2'> >> <address type='virtio-mmio'/> >> </controller> >> <controller type='scsi' index='3' model='virtio-scsi'> >> <address type='virtio-mmio'/> >> </controller> >> <controller type='pci' index='0' model='pcie-root'/> >> <controller type='pci' index='1' model='dmi-to-pci-bridge'> >> <model name='i82801b11-bridge'/> >> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' >> function='0x0'/> >> </controller> >> <controller type='pci' index='2' model='pci-bridge'> >> <model name='pci-bridge'/> >> <target chassisNr='2'/> >> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' >> function='0x0'/> >> </controller> >> <interface type='bridge'> >> <mac address='52:54:00:a1:6e:75'/> >> <source bridge='br0'/> >> <model type='virtio'/> >> <address type='virtio-mmio'/> >> </interface> >> <serial type='pty'> >> <target port='0'/> >> </serial> >> <console type='pty'> >> <target type='serial' port='0'/> >> </console> >> </devices> >> </domain> >> >> To manage notifications about this bug go to: >> https://bugs.launchpad.net/qemu/+bug/1594239/+subscriptions >> > > -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1594239 Title: After adding more scsi disks for Aarch64 virtual machine, start the VM and got Qemu Error Status in QEMU: Confirmed Bug description: Description =========== Using virt-manager to create a VM in Aarch64, Ubuntu 16.04. Add scsi disk to the VM. After add four or more scsi disks, start the VM and will got Qemu error. Steps to reproduce ================== 1.Use virt-manager to create a VM. 2.After the VM is started, add scsi disk to the VM. They will be allocated to "sdb,sdc,sdd....." . 3.If we got a disk name > sdg, virt-manager will also assign a virtio-scsi controller for this disk.And the VM will be shutdown. 4.Start the VM, will see the error log. Expected result =============== Start the vm smoothly.The added disks can work. Actual result ============= Got the error: starting domain: internal error: process exited while connecting to monitor: qemu-system-aarch64: /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id == 0' failed. details=Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 90, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 126, in tmpcb callback(*args, **kwargs) File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, in newfn ret = fn(self, *args, **kwargs) File "/usr/share/virt-manager/virtManager/domain.py", line 1402, in startup self._backend.create() File "/usr/local/lib/python2.7/dist-packages/libvirt.py", line 1035, in create if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirtError: internal error: process exited while connecting to monitor: qemu-system-aarch64: /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id == 0' failed. Environment =========== 1. virt-manager version is 1.3.2 2. Which hypervisor did you use? Libvirt+KVM $ kvm --version QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), Copyright (c) 2003-2008 Fabrice Bellard $ libvirtd --version libvirtd (libvirt) 1.3.1 3. Which storage type did you use? In the host file system,all in one physics machine. stack@u202154:/opt/stack/nova$ df -hl Filesystem Size Used Avail Use% Mounted on udev 7.8G 0 7.8G 0% /dev tmpfs 1.6G 61M 1.6G 4% /run /dev/sda2 917G 41G 830G 5% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/sda1 511M 888K 511M 1% /boot/efi cgmfs 100K 0 100K 0% /run/cgmanager/fs tmpfs 1.6G 0 1.6G 0% /run/user/1002 tmpfs 1.6G 0 1.6G 0% /run/user/1000 tmpfs 1.6G 0 1.6G 0% /run/user/0 4. Environment information: Architecture : AARCH64 OS: Ubuntu 16.04 The Qemu commmand of libvirt is : 2016-06-20 02:39:46.561+0000: starting up libvirt version: 1.3.1, package: 1ubuntu10 (William Grant <wgr...@ubuntu.com> Fri, 15 Apr 2016 12:08:21 +1000), qemu version: 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), hostname: u202154 LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -name cent7 -S -machine virt,accel=kvm,usb=off -cpu host -drive file=/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/cent7_VARS.fd,if=pflash,format=raw,unit=1 -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid d5462bb6-159e-4dbd-9266-bf8c07fa1695 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-cent7/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device virtio-scsi-device,id=scsi0 -device lsi,id=scsi1 -device lsi,id=scsi2 -device virtio-scsi-device,id=scsi3 -usb -drive file=/var/lib/libvirt/images/cent7-2.img,format=qcow2,if=none,id=drive-scsi0-0-0-0 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 -drive if=none,id=drive-scsi0-0-0-1,readonly=on -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,id=scsi0-0-0-1 -drive file=/var/lib/libvirt/images/cent7-10.img,format=qcow2,if=none,id=drive-scsi0-0-0-2 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi0-0-0-2,id=scsi0-0-0-2 -drive file=/var/lib/libvirt/images/cent7-11.img,format=qcow2,if=none,id=drive-scsi0-0-0-3 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=3,drive=drive-scsi0-0-0-3,id=scsi0-0-0-3 -drive file=/var/lib/libvirt/images/cent7-13.img,format=qcow2,if=none,id=drive-scsi3-0-0-0 -device scsi-hd,bus=scsi3.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi3-0-0-0,id=scsi3-0-0-0 -netdev tap,fd=33,id=hostnet0,vhost=on,vhostfd=35 -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:a1:6e:75 -serial pty -msg timestamp=on Domain id=11 is tainted: host-cpu The libvirt xml is: <domain type='kvm'> <name>cent7</name> <uuid>d5462bb6-159e-4dbd-9266-bf8c07fa1695</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <vcpu placement='static'>2</vcpu> <os> <type arch='aarch64' machine='virt'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw</loader> <nvram>/var/lib/libvirt/qemu/nvram/cent7_VARS.fd</nvram> <boot dev='hd'/> </os> <cpu mode='host-passthrough'/> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-2.img'/> <target dev='sda' bus='scsi'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='sdb' bus='scsi'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-10.img'/> <target dev='sdc' bus='scsi'/> <address type='drive' controller='0' bus='0' target='0' unit='2'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-11.img'/> <target dev='sdd' bus='scsi'/> <address type='drive' controller='0' bus='0' target='0' unit='3'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-13.img'/> <target dev='sdv' bus='scsi'/> <address type='drive' controller='3' bus='0' target='0' unit='0'/> </disk> <controller type='scsi' index='0' model='virtio-scsi'> <address type='virtio-mmio'/> </controller> <controller type='scsi' index='1'> <address type='virtio-mmio'/> </controller> <controller type='scsi' index='2'> <address type='virtio-mmio'/> </controller> <controller type='scsi' index='3' model='virtio-scsi'> <address type='virtio-mmio'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='dmi-to-pci-bridge'> <model name='i82801b11-bridge'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </controller> <controller type='pci' index='2' model='pci-bridge'> <model name='pci-bridge'/> <target chassisNr='2'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:a1:6e:75'/> <source bridge='br0'/> <model type='virtio'/> <address type='virtio-mmio'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> </devices> </domain> To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1594239/+subscriptions