|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [mini-os master] gnttab: add function to obtain memory address from grantref
commit c164be54095314ef0c417765eba94f4182a66995
Author: Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Tue Jul 15 15:29:34 2025 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Jul 16 15:04:56 2025 +0200
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>
Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx>
---
gnttab.c | 10 ++++++++++
include/gnttab.h | 1 +
2 files changed, 11 insertions(+)
diff --git a/gnttab.c b/gnttab.c
index 6bac090..52d6792 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 108c442..46e72a3 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);
--
generated by git-patchbot for /home/xen/git/mini-os.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |