/* Page is in use, but not as a shadow. */
struct {
/* Owner of this page (zero if page is anonymous). */
- __pdx_t _domain;
+ struct domain *_domain;
} inuse;
/* Page is in use as a shadow. */
/* OOS fixup entries */
#define SHADOW_OOS_FIXUPS 2
-#define page_get_owner(_p) \
- ((struct domain *)((_p)->v.inuse._domain ? \
- pdx_to_virt((_p)->v.inuse._domain) : NULL))
-#define page_set_owner(_p,_d) \
- ((_p)->v.inuse._domain = (_d) ? virt_to_pdx(_d) : 0)
+#define page_get_owner(_p) ((_p)->v.inuse._domain)
+#define page_set_owner(_p,_d) (_p)->v.inuse._domain = (_d)
#define maddr_get_owner(ma) (page_get_owner(maddr_to_page((ma))))
extern unsigned long xen_virt_end;
+#if 0
/*
* Note: These are solely for the use by page_{get,set}_owner(), and
* therefore don't need to handle the XEN_VIRT_{START,END} range.
PAGE_SHIFT)
#define pdx_to_virt(pdx) ((void *)(DIRECTMAP_VIRT_START + \
((unsigned long)(pdx) << PAGE_SHIFT)))
+#endif
unsigned long __virt_to_maddr(unsigned long va);
void *__maddr_to_virt(unsigned long ma);