argo: implement the unregister op
authorChristopher Clark <christopher.w.clark@gmail.com>
Wed, 6 Feb 2019 09:04:00 +0000 (10:04 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 7 Feb 2019 13:23:39 +0000 (14:23 +0100)
commita00ee1ec8f732940eb76f83057095c585d253e04
tree9eeb87fc6e96e50dd029c6c5a968d38b1a02d8c4
parent4048189d0125ed6033300a7951feb8a430504bf5
argo: implement the unregister op

Takes a single argument: a handle to the ring unregistration struct,
which specifies the port and partner domain id or wildcard.

The ring's entry is removed from the hashtable of registered rings;
any entries for pending notifications are removed; and the ring is
unmapped from Xen's address space.

If the ring had been registered to communicate with a single specified
domain (ie. a non-wildcard ring) then the partner domain state is removed
from the partner domain's argo send_info hash table.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Tested-by: Chris Patterson <pattersonc@ainfosec.com>
Release-acked-by: Juergen Gross <jgross@suse.com>
xen/common/argo.c
xen/include/public/argo.h
xen/include/xlat.lst