|
@@ -76,50 +76,50 @@ static union {
|
|
|
/*This is a structure of function pointers for grant table*/
|
|
|
struct gnttab_ops {
|
|
|
/*
|
|
|
- * Mapping a list of frames for storing grant entries. First input
|
|
|
- * parameter is used to storing grant table address when grant table
|
|
|
- * being setup, second parameter is the number of frames to map grant
|
|
|
- * table. Returning GNTST_okay means success and negative value means
|
|
|
- * failure.
|
|
|
+ * Mapping a list of frames for storing grant entries. Frames parameter
|
|
|
+ * is used to store grant table address when grant table being setup,
|
|
|
+ * nr_gframes is the number of frames to map grant table. Returning
|
|
|
+ * GNTST_okay means success and negative value means failure.
|
|
|
*/
|
|
|
- int (*map_frames)(unsigned long *, unsigned int);
|
|
|
+ int (*map_frames)(unsigned long *frames, unsigned int nr_gframes);
|
|
|
/*
|
|
|
* Release a list of frames which are mapped in map_frames for grant
|
|
|
* entry status.
|
|
|
*/
|
|
|
void (*unmap_frames)(void);
|
|
|
/*
|
|
|
- * Introducing a valid entry into the grant table, granting the frame
|
|
|
- * of this grant entry to domain for accessing, or transfering, or
|
|
|
- * transitively accessing. First input parameter is reference of this
|
|
|
- * introduced grant entry, second one is domid of granted domain, third
|
|
|
- * one is the frame to be granted, and the last one is status of the
|
|
|
- * grant entry to be updated.
|
|
|
+ * Introducing a valid entry into the grant table, granting the frame of
|
|
|
+ * this grant entry to domain for accessing or transfering. Ref
|
|
|
+ * parameter is reference of this introduced grant entry, domid is id of
|
|
|
+ * granted domain, frame is the page frame to be granted, and flags is
|
|
|
+ * status of the grant entry to be updated.
|
|
|
*/
|
|
|
- void (*update_entry)(grant_ref_t, domid_t, unsigned long, unsigned);
|
|
|
+ void (*update_entry)(grant_ref_t ref, domid_t domid,
|
|
|
+ unsigned long frame, unsigned flags);
|
|
|
/*
|
|
|
- * Stop granting a grant entry to domain for accessing. First input
|
|
|
- * parameter is reference of a grant entry whose grant access will be
|
|
|
- * stopped, second one is not in use now. If the grant entry is
|
|
|
+ * Stop granting a grant entry to domain for accessing. Ref parameter is
|
|
|
+ * reference of a grant entry whose grant access will be stopped,
|
|
|
+ * readonly is not in use in this function. If the grant entry is
|
|
|
* currently mapped for reading or writing, just return failure(==0)
|
|
|
* directly and don't tear down the grant access. Otherwise, stop grant
|
|
|
* access for this entry and return success(==1).
|
|
|
*/
|
|
|
- int (*end_foreign_access_ref)(grant_ref_t, int);
|
|
|
+ int (*end_foreign_access_ref)(grant_ref_t ref, int readonly);
|
|
|
/*
|
|
|
- * Stop granting a grant entry to domain for transfer. If tranfer has
|
|
|
- * not started, just reclaim the grant entry and return failure(==0).
|
|
|
- * Otherwise, wait for the transfer to complete and then return the
|
|
|
- * frame.
|
|
|
+ * Stop granting a grant entry to domain for transfer. Ref parameter is
|
|
|
+ * reference of a grant entry whose grant transfer will be stopped. If
|
|
|
+ * tranfer has not started, just reclaim the grant entry and return
|
|
|
+ * failure(==0). Otherwise, wait for the transfer to complete and then
|
|
|
+ * return the frame.
|
|
|
*/
|
|
|
- unsigned long (*end_foreign_transfer_ref)(grant_ref_t);
|
|
|
+ unsigned long (*end_foreign_transfer_ref)(grant_ref_t ref);
|
|
|
/*
|
|
|
- * Query the status of a grant entry. Input parameter is reference of
|
|
|
+ * Query the status of a grant entry. Ref parameter is reference of
|
|
|
* queried grant entry, return value is the status of queried entry.
|
|
|
* Detailed status(writing/reading) can be gotten from the return value
|
|
|
* by bit operations.
|
|
|
*/
|
|
|
- int (*query_foreign_access)(grant_ref_t);
|
|
|
+ int (*query_foreign_access)(grant_ref_t ref);
|
|
|
};
|
|
|
|
|
|
static struct gnttab_ops *gnttab_interface;
|