Re: [RFC PATCH 11/16] xen/grant-table: make grant-table xenhost aware

From: Ankur Arora
Date: Tue Jun 18 2019 - 22:30:40 EST


On 6/17/19 2:36 AM, Juergen Gross wrote:
On 09.05.19 19:25, Ankur Arora wrote:
Largely mechanical changes: the exported grant table symbols now take
xenhost_t * as a parameter. Also, move the grant table global state
inside xenhost_t.

If there's more than one xenhost, then initialize both.

Signed-off-by: Ankur Arora <ankur.a.arora@xxxxxxxxxx>
---
 arch/x86/xen/grant-table.c | 71 +++--
 drivers/xen/grant-table.c | 611 +++++++++++++++++++++----------------
 include/xen/grant_table.h | 72 ++---
 include/xen/xenhost.h | 11 +
 4 files changed, 443 insertions(+), 322 deletions(-)

diff --git a/include/xen/xenhost.h b/include/xen/xenhost.h
index 9e08627a9e3e..acee0c7872b6 100644
--- a/include/xen/xenhost.h
+++ b/include/xen/xenhost.h
@@ -129,6 +129,17 @@ typedef struct {
ÂÂÂÂÂÂÂÂÂ const struct evtchn_ops *evtchn_ops;
ÂÂÂÂÂÂÂÂÂ int **evtchn_to_irq;
ÂÂÂÂÂ };
+
+ÂÂÂ /* grant table private state */
+ÂÂÂ struct {
+ÂÂÂÂÂÂÂ /* private to drivers/xen/grant-table.c */
+ÂÂÂÂÂÂÂ void *gnttab_private;
+
+ÂÂÂÂÂÂÂ /* x86/xen/grant-table.c */
+ÂÂÂÂÂÂÂ void *gnttab_shared_vm_area;
+ÂÂÂÂÂÂÂ void *gnttab_status_vm_area;
+ÂÂÂÂÂÂÂ void *auto_xlat_grant_frames;

Please use proper types here instead of void *. This avoids lots of
casts. It is okay to just add anonymous struct definitions and keep the
real struct layout local to grant table code.
Will fix.

Ankur



Juergen