return foreign_trackers[idx >> LIVE_MAP_TRACKER_IDX_BITS];
}
+static inline void *get_page_tracker_ctxt(struct page *p)
+{
+ struct page_foreign_tracker *pft = tracker_for_page(p);
+ unsigned idx = page_private(p);
+ return pft->contents[idx & LIVE_MAP_TRACKER_IDX_MASK].ctxt;
+}
+
/* Start tracking a page. @idx is an index in the tracker which is
not currently in use, and must be less than the size of the
tracker. The page must be marked as foreign before this is called.
#endif
pft->contents[idx].dom = dom;
pft->contents[idx].gref = gref;
+ pft->contents[idx].ctxt = ctxt;
set_page_private(p, idx | (pft->id << LIVE_MAP_TRACKER_IDX_BITS));
}