xen/granttable: Support transitive grants
These allow a domain A which has been granted access on a page of domain B's memory to issue domain C with a copy-grant on the same page. This is useful e.g. for forwarding packets between domains. Signed-off-by: Annie Li <annie.li@oracle.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
6666754b11
commit
9438ce9dbb
2 changed files with 82 additions and 0 deletions
|
@ -65,6 +65,9 @@ int gnttab_grant_foreign_access(domid_t domid, unsigned long frame,
|
|||
int gnttab_grant_foreign_access_subpage(domid_t domid, unsigned long frame,
|
||||
int flags, unsigned page_off,
|
||||
unsigned length);
|
||||
int gnttab_grant_foreign_access_trans(domid_t domid, int flags,
|
||||
domid_t trans_domid,
|
||||
grant_ref_t trans_gref);
|
||||
|
||||
/*
|
||||
* Are sub-page grants available on this version of Xen? Returns true if they
|
||||
|
@ -72,6 +75,12 @@ int gnttab_grant_foreign_access_subpage(domid_t domid, unsigned long frame,
|
|||
*/
|
||||
bool gnttab_subpage_grants_available(void);
|
||||
|
||||
/*
|
||||
* Are transitive grants available on this version of Xen? Returns true if they
|
||||
* are, and false if they're not.
|
||||
*/
|
||||
bool gnttab_trans_grants_available(void);
|
||||
|
||||
/*
|
||||
* End access through the given grant reference, iff the grant entry is no
|
||||
* longer in use. Return 1 if the grant entry was freed, 0 if it is still in
|
||||
|
@ -121,6 +130,9 @@ int gnttab_grant_foreign_access_subpage_ref(grant_ref_t ref, domid_t domid,
|
|||
unsigned long frame, int flags,
|
||||
unsigned page_off,
|
||||
unsigned length);
|
||||
int gnttab_grant_foreign_access_trans_ref(grant_ref_t ref, domid_t domid,
|
||||
int flags, domid_t trans_domid,
|
||||
grant_ref_t trans_gref);
|
||||
|
||||
void gnttab_grant_foreign_transfer_ref(grant_ref_t, domid_t domid,
|
||||
unsigned long pfn);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue