Re: [Qemu-discuss] [problem] QEMU-GA & Windows 10
> -Oorspronkelijk bericht- > Van: Frank Sfalanga Jr. [mailto:fr...@csiglobalvcard.com] > Verzonden: dinsdag 26 juli 2016 19:51 > Aan: Dominique Ramaekers > CC: qemu-discuss@nongnu.org > Onderwerp: Re: [Qemu-discuss] [problem] QEMU-GA & Windows 10 > > Hi Dominique, > > Perhaps I'm missing something, I could not find an apparmor profile for > qemu (specifically) at all on my system. I did do this: > > -- > frank@Linux-Precision-T1500:~$ sudo aa-complain /usr/sbin/libvirtd [sudo] > password for frank: > Setting /usr/sbin/libvirtd to complain mode. > frank@Linux-Precision-T1500:~$ sudo > aa-complain /usr/lib/libvirt/virt-aa-helper Setting /usr/lib/libvirt/virt-aa- > helper to complain mode. > --- > > After restarting even, I get the same error when I try to start QEMU-GA. > > Anything more specific I should try? Put security_driver = "none" in /etc/libvirt.qemu.conf + Restart libvirt > > Thanks in advance. > > -Frank > > -Original Message- > From: Dominique Ramaekers > To: Frank Sfalanga Jr. > Cc: qemu-discuss@nongnu.org > Subject: RE: [Qemu-discuss] [problem] QEMU-GA & Windows 10 > Date: Tue, 26 Jul 2016 12:01:18 + > > Maybe something to try, I disabled apparmour in the qemu hypervisor conf > file > > > > -Oorspronkelijk bericht- > > Van: Frank Sfalanga Jr. [mailto:fr...@csiglobalvcard.com] > > Verzonden: maandag 25 juli 2016 23:54 > > Aan: Dominique Ramaekers > > CC: qemu-discuss@nongnu.org > > Onderwerp: Re: [Qemu-discuss] [problem] QEMU-GA & Windows 10 > > > > Now the channel is there and the VM is booting but the QEMU-GA still > > will not start. It is failing with the same (original) error: > > > > -- > > > > Windows could not start the QEMU Guest Agent service on local computer. > > > > Error 1053: the service did not respond to the start or control > > request in a timely fashion. > > > > > > --- > > > > Following Dominique's directions, I was able to get past the "Failed > > to bind > > socket: Permission denied errors" below using information I found > > here: > > > > https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1407434 > > > > "WORKAROUND for those who want to go on with MV creation while this > > bug is valid : > > > > 0. do not quit virt-manager vm creation > > > > 1. locate apparmor profile for your VM with ls-ltr > > /etc/apparmor.d/libvirt/libvirt-* (the long string with numbers is > > your vm UUID - look inside to find your vm name) > > > > 2. set this apparmor profil in complain mode # aa-complain > > /etc/apparmor.d/libvirt/libvirt-73aa79f1-0023-4e37-8001-5be78e884348 > > (for > > example) > > > > 3. go on with vm creation - it will succeed" > > > > Now the Windows 10 VM is booting up and working fine. Also, the > > channel appears to be created too: > > > > root@Linux-Precision-T1500:/var/lib/libvirt/qemu/channel/target# ls -l > > total 0 srwxr-xr-x 1 libvirt-qemu kvm 0 Jul 25 17:16 > > Windows10.org.qemu.quest_agent.0 > > > > -- > > > > As I said above, I'm still not able to get the QEMU-GA to start, > > although the VSS starts fine. > > > > -Frank > >
[Qemu-discuss] virtio guest->host notify, host->guest notify
Hello List, I have these 3 different call graphs, they are somehow connected in the Virtio-blk I/O path. Any help?? "->" means "invokes" virtio_blk_device_realize -> virtio_blk_complete_request -> virtqueue_push, virtqueue_notify, virtio_notify_vector -> pci_set_irq -> pci_irq_handler -> pci_change_irq_level chain 2) virtio_blk_device_realize -> virtio_blk_handle_output -> virtio_blk_submit_multireq -> submit_requests _> blk_aio_writev -> virtio_blk_rw_complete -> virtio_blk_req_complete -> complete_request_vring -> qemu_bh_schedule -> aio_notify -> event_notifier_set(EventNotifier *e) do { ret = write(e->wfd, &value, sizeof(value)); } w chain 3) virtio_pci_config_write -> virtio_ioport_write -> virtio_queue_notify -> virtio_queue_notify_vq -> VIRTIO_PCI_QUEUE_NOTIFY: /** * Notify hypervisor about queue update */ void virtio_queue_notify(struct virtio_device *dev, int queue) { if (dev->type == VIRTIO_TYPE_PCI) { ci_write_16(dev->base+VIRTIOHDR_QUEUE_NOTIFY, cpu_to_le16(queue)); } } Thanks in advance On Sat, Jul 30, 2016 at 4:38 PM, Charls D. Chap wrote: > Hello List, > > I have these 3 different call graphs, they are somehow connected in > the Virtio-blk I/O path. Any help?? > > "->" means "invokes" > > virtio_blk_device_realize -> virtio_blk_complete_request -> > virtqueue_push, virtqueue_notify, virtio_notify_vector -> pci_set_irq -> > pci_irq_handler -> pci_change_irq_level > > > chain 2) > virtio_blk_device_realize -> virtio_blk_handle_output -> > virtio_blk_submit_multireq -> submit_requests _> > blk_aio_writev -> virtio_blk_rw_complete -> virtio_blk_req_complete -> > complete_request_vring -> qemu_bh_schedule -> aio_notify -> > event_notifier_set(EventNotifier *e) > do { > ret = write(e->wfd, &value, sizeof(value)); > } w > > > chain 3) > virtio_pci_config_write -> virtio_ioport_write -> virtio_queue_notify -> > virtio_queue_notify_vq -> > > VIRTIO_PCI_QUEUE_NOTIFY: > /** > * Notify hypervisor about queue update > */ > void virtio_queue_notify(struct virtio_device *dev, int queue) > { > if (dev->type == VIRTIO_TYPE_PCI) { > ci_write_16(dev->base+VIRTIOHDR_QUEUE_NOTIFY, cpu_to_le16(queue)); > } > } > > Thanks in advance
[Qemu-discuss] Fwd: From virtio_kick until VM-exit?
Hello List, I have these 3 different call graphs, they are somehow connected in the Virtio-blk I/O path. Any help?? "->" means "invokes" virtio_blk_device_realize -> virtio_blk_complete_request -> virtqueue_push, virtqueue_notify, virtio_notify_vector -> pci_set_irq -> pci_irq_handler -> pci_change_irq_level chain 2) virtio_blk_device_realize -> virtio_blk_handle_output -> virtio_blk_submit_multireq -> submit_requests _> blk_aio_writev -> virtio_blk_rw_complete -> virtio_blk_req_complete -> complete_request_vring -> qemu_bh_schedule -> aio_notify -> event_notifier_set(EventNotifier *e) do { ret = write(e->wfd, &value, sizeof(value)); } w chain 3) virtio_pci_config_write -> virtio_ioport_write -> virtio_queue_notify -> virtio_queue_notify_vq -> VIRTIO_PCI_QUEUE_NOTIFY: /** * Notify hypervisor about queue update */ void virtio_queue_notify(struct virtio_device *dev, int queue) { if (dev->type == VIRTIO_TYPE_PCI) { ci_write_16(dev->base+VIRTIOHDR_QUEUE_NOTIFY, cpu_to_le16(queue)); } } Thanks in advance