diff options
author | kaf24@labyrinth.cl.cam.ac.uk <kaf24@labyrinth.cl.cam.ac.uk> | 2004-08-26 13:57:01 +0000 |
---|---|---|
committer | kaf24@labyrinth.cl.cam.ac.uk <kaf24@labyrinth.cl.cam.ac.uk> | 2004-08-26 13:57:01 +0000 |
commit | bc76bb665d0d24147f7031e690c217cee8f68bb2 (patch) | |
tree | b7ee1556235ef73c78d17b000032c61ab19dda13 /xen/include/xen/grant_table.h | |
parent | 4f766bc869ba65a012cae8a50a632c3201369548 (diff) | |
download | xen-bc76bb665d0d24147f7031e690c217cee8f68bb2.tar.gz xen-bc76bb665d0d24147f7031e690c217cee8f68bb2.tar.bz2 xen-bc76bb665d0d24147f7031e690c217cee8f68bb2.zip |
bitkeeper revision 1.1159.1.106 (412dec2dJdF7UJz-ddgHVVOekKtAHQ)
Completed first cut of Xen support for grant tables.
The device drivers now need modifying to use them.
Diffstat (limited to 'xen/include/xen/grant_table.h')
-rw-r--r-- | xen/include/xen/grant_table.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h index 395959323c..52c7e828d7 100644 --- a/xen/include/xen/grant_table.h +++ b/xen/include/xen/grant_table.h @@ -77,9 +77,24 @@ void grant_table_destroy( struct domain *d); /* Create/destroy host-CPU mappings via a grant-table entry. */ +#define GNTTAB_MAP_RO 0 +#define GNTTAB_MAP_RW 1 +#define GNTTAB_UNMAP_RO 2 +#define GNTTAB_UNMAP_RW 3 int gnttab_try_map( - struct domain *rd, struct domain *ld, struct pfn_info *page, int readonly); -int gnttab_try_unmap( - struct domain *rd, struct domain *ld, struct pfn_info *page, int readonly); + struct domain *rd, struct domain *ld, unsigned long frame, int op); + +/* + * Check that the given grant reference (rd,ref) allows 'ld' to transfer + * ownership of a page frame. If so, lock down the grant entry. + */ +int +gnttab_prepare_for_transfer( + struct domain *rd, struct domain *ld, grant_ref_t ref); + +/* Notify 'rd' of a completed transfer via an already-locked grant entry. */ +void +gnttab_notify_transfer( + struct domain *rd, grant_ref_t ref, unsigned long frame); #endif /* __XEN_GRANT_H__ */ |