Loading drivers/xen/grant-table.c +24 −24 Original line number Diff line number Diff line Loading @@ -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; Loading Loading
drivers/xen/grant-table.c +24 −24 Original line number Diff line number Diff line Loading @@ -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; Loading