Hello:

We found the causes for this issue:  QEMU does not connect the socket for 
sending event until enters into its main_loop if libvirt uses "nowait" to 
create the chardev for monitor; And qemu cannot send event until it receives 
the first qmp cmd: qmp_capabilities. So We cannot send event from qemu before 
these conditions met.

To overcome these restrictions I think we either:

1: Change qemu implementation to send the event after receives qmp_capabilities 
cmd and socket connection is setup. This will require some major changes on 
qemu.

Or:

2: Implement a new qmp cmd that libvirt will use to query sev_measurement from 
qemu after issues qmp_capabilities cmd, but before resume VM. Sev_measurement 
value will be sent back from qemu as response for this new qmp cmd.


We would like to know what do you think about these two methods? Which method 
do you prefer? Thank you.

Regards
Xiaogang

From: Chen, Xiaogang
Sent: Thursday, January 18, 2018 2:01 PM
To: 'libvir-list@redhat.com' <libvir-list@redhat.com>
Cc: Singh, Brijesh <brijesh.si...@amd.com>; Lendacky, Thomas 
<thomas.lenda...@amd.com>
Subject: a libvirt event question

Hello:


We are adding libvirt functions to launch SEV VM. When start VM I put it at 
"pause" state. During that time qemu sends an event "sev_measurement". We hope 
libvirtd  get this event before we resume VM. But I did not see libvirtd 
receive it. If I send this event at  qemu during resume time libvirtd can get 
this event successfully. I traced qemuMonitorJSONIOProcessEvent function for 
events received, did not see any event coming before resume VM.



Is there something I missed to get this event during pause state? Thank you for 
your help.



Regards

Xiaogang

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to