unsigned long first_gfn,
unsigned long first_mfn,
unsigned long nr_mfns,
- uint32_t add_mapping,
- uint32_t cache_policy);
+ uint32_t add_mapping);
+
+int xc_domain_memory_mapping_cache(xc_interface *xch,
+ uint32_t domid,
+ unsigned long first_gfn,
+ unsigned long first_mfn,
+ unsigned long nr_mfns,
+ uint32_t add_mapping,
+ uint32_t cache_policy);
int xc_domain_ioport_mapping(xc_interface *xch,
uint32_t domid,
}
int xc_domain_memory_mapping(
+ xc_interface *xch,
+ uint32_t domid,
+ unsigned long first_gfn,
+ unsigned long first_mfn,
+ unsigned long nr_mfns,
+ uint32_t add_mapping)
+{
+ return xc_domain_memory_mapping_cache(xch,
+ domid,
+ first_gfn,
+ first_mfn,
+ nr_mfns,
+ add_mapping,
+ CACHEABILITY_DEVMEM);
+}
+
+int xc_domain_memory_mapping_cache(
xc_interface *xch,
uint32_t domid,
unsigned long first_gfn,
* Errors here are ignored.
*/
if ( ret && add_mapping != DPCI_REMOVE_MAPPING )
- xc_domain_memory_mapping(xch, domid, first_gfn, first_mfn, nr_mfns,
- DPCI_REMOVE_MAPPING, CACHEABILITY_DEVMEM);
+ xc_domain_memory_mapping_cache(xch, domid, first_gfn, first_mfn,
+ nr_mfns, DPCI_REMOVE_MAPPING,
+ CACHEABILITY_DEVMEM);
/* We might get E2BIG so many times that we never advance. */
if ( !done && !ret )
ret = ERROR_FAIL;
goto error_out;
}
- ret = xc_domain_memory_mapping(CTX->xch, domid,
- io->gfn, io->start,
- io->number, 1,
- libxl__cacheability_to_xc(
- io->cache_policy));
+ ret = xc_domain_memory_mapping_cache(CTX->xch, domid,
+ io->gfn, io->start,
+ io->number, 1,
+ libxl__cacheability_to_xc(
+ io->cache_policy));
if (ret < 0) {
LOGED(ERROR, domid,
"failed to map to domain iomem range %"PRIx64"-%"PRIx64