Re: [PATCH 5/5] ioeventfd: Introduce KVM_IOEVENTFD_FLAG_SOCKET

Avi Kivity
2011-07-06T13:01:10Z

On 07/06/2011 07:37 AM, Sasha Levin wrote:
> The new flag allows passing a connected socket instead of an
> eventfd to be notified of writes or reads to the specified memory region.
>
> Instead of signaling an event, On write - the value written to the memory
> region is written to the pipe.
> On read - a notification of the read is sent to the host, and a response
> is expected with the value to be 'read'.
>
> Using a socket instead of an eventfd is usefull when any value can be
> written to the memory region but we're interested in recieving the
> actual value instead of just a notification.
>
> A simple example for practical use is the serial port. we are not
> interested in an exit every time a char is written to the port, but
> we do need to know what was written so we could handle it on the guest.
>
> @@ -1341,6 +1341,13 @@ struct kvm_ioeventfd {
> __u8 pad[36];
> };
>
> +struct kvm_ioeventfd_data {
> + __u64 data;
> + __u64 addr;
> + __u32 len;
> + __u8 is_write;
> +};

Please pad, let's say to 32 bytes so it's a nice power of two.

--
error compiling committee.c: too many arguments to function