[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [MINI-OS PATCH 17/19] gnttab: add function to obtain memory address from grantref
Add a new function gnttab_get_addr() to obtain a memory pointer for a given grant reference. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- gnttab.c | 10 ++++++++++ include/gnttab.h | 1 + 2 files changed, 11 insertions(+) diff --git a/gnttab.c b/gnttab.c index 6bac0905..52d6792a 100644 --- a/gnttab.c +++ b/gnttab.c @@ -149,6 +149,16 @@ gnttab_end_transfer(grant_ref_t ref) } EXPORT_SYMBOL(gnttab_end_transfer); +void *gnttab_get_addr(grant_ref_t ref) +{ + BUG_ON(ref >= NR_GRANT_ENTRIES || ref < NR_RESERVED_ENTRIES); + + if ( !gnttab_table[ref].flags ) + return NULL; + + return mfn_to_virt(gnttab_table[ref].frame); +} + static const char * const gnttabop_error_msgs[] = GNTTABOP_error_msgs; const char * diff --git a/include/gnttab.h b/include/gnttab.h index 108c4425..46e72a36 100644 --- a/include/gnttab.h +++ b/include/gnttab.h @@ -9,6 +9,7 @@ grant_ref_t gnttab_grant_access(domid_t domid, unsigned long frame, grant_ref_t gnttab_grant_transfer(domid_t domid, unsigned long pfn); unsigned long gnttab_end_transfer(grant_ref_t gref); int gnttab_end_access(grant_ref_t ref); +void *gnttab_get_addr(grant_ref_t ref); const char *gnttabop_error(int16_t status); void fini_gnttab(void); void suspend_gnttab(void); -- 2.43.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |