@@ -1481,10 +1481,10 @@ int p2m_cache_flush(struct domain *d, xen_pfn_t start_mfn, xen_pfn_t end_mfn)
d->arch.p2m.default_access);
}
-unsigned long gmfn_to_mfn(struct domain *d, unsigned long gpfn)
+mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
{
- paddr_t p = p2m_lookup(d, pfn_to_paddr(gpfn), NULL);
- return p >> PAGE_SHIFT;
+ paddr_t p = p2m_lookup(d, pfn_to_paddr(gfn_x(gfn)), NULL);
+ return _mfn(p >> PAGE_SHIFT);
}
/*
@@ -256,7 +256,7 @@ static int __get_paged_frame(unsigned long gfn, unsigned long *frame, struct pag
}
*frame = page_to_mfn(*page);
#else
- *frame = gmfn_to_mfn(rd, gfn);
+ *frame = mfn_x(gfn_to_mfn(rd, _gfn(gfn)));
*page = mfn_valid(*frame) ? mfn_to_page(*frame) : NULL;
if ( (!(*page)) || (!get_page(*page, rd)) )
{
@@ -1788,7 +1788,7 @@ gnttab_transfer(
mfn = INVALID_MFN;
}
#else
- mfn = gmfn_to_mfn(d, gop.mfn);
+ mfn = mfn_x(gfn_to_mfn(d, _gfn(gop.mfn)));
#endif
/* Check the passed page frame for basic validity. */
@@ -264,7 +264,7 @@ int guest_remove_page(struct domain *d, unsigned long gmfn)
return 1;
}
#else
- mfn = gmfn_to_mfn(d, gmfn);
+ mfn = mfn_x(gfn_to_mfn(d, _gfn(gmfn)));
#endif
if ( unlikely(!mfn_valid(mfn)) )
{
@@ -488,7 +488,7 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
goto fail;
}
#else /* !CONFIG_X86 */
- mfn = gmfn_to_mfn(d, gmfn + k);
+ mfn = mfn_x(gfn_to_mfn(d, _gfn(gmfn + k)));
#endif
if ( unlikely(!mfn_valid(mfn)) )
{
@@ -178,7 +178,7 @@ void guest_physmap_remove_page(struct domain *d,
unsigned long gpfn,
unsigned long mfn, unsigned int page_order);
-unsigned long gmfn_to_mfn(struct domain *d, unsigned long gpfn);
+mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn);
/*
* Populate-on-demand