xen/pvcalls: implement connect command
authorStefano Stabellini <sstabellini@kernel.org>
Mon, 30 Oct 2017 22:40:55 +0000 (15:40 -0700)
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>
Tue, 31 Oct 2017 13:05:53 +0000 (09:05 -0400)
commitcb1c7d9bbc878a67af270ccd2d23f6d1450579db
tree6c8da668a5439ca54d5c6dfb72137c665eb680bc
parent2195046bfd69e487d9a76dc47840f15c8412840c
xen/pvcalls: implement connect command

Send PVCALLS_CONNECT to the backend. Allocate a new ring and evtchn for
the active socket.

Introduce fields in struct sock_mapping to keep track of active sockets.
Introduce a waitqueue to allow the frontend to wait on data coming from
the backend on the active socket (recvmsg command).

Two mutexes (one of reads and one for writes) will be used to protect
the active socket in and out rings from concurrent accesses.

Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
CC: boris.ostrovsky@oracle.com
CC: jgross@suse.com
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
drivers/xen/pvcalls-front.c
drivers/xen/pvcalls-front.h