Add an additional parameter to xc_domain_memory_mapping to pass
cacheability information. The same parameter values are the same for the
XEN_DOMCTL_memory_mapping hypercall (0 is device memory, 1 is normal
memory). Pass CACHEABILITY_DEVMEM by default -- no changes in behavior.
Signed-off-by: Stefano Stabellini <stefanos@xilinx.com>
CC: ian.jackson@eu.citrix.com
CC: wei.liu2@citrix.com
unsigned long first_gfn,
unsigned long first_mfn,
unsigned long nr_mfns,
- uint32_t add_mapping);
+ uint32_t add_mapping,
+ uint32_t cache_policy);
int xc_domain_ioport_mapping(xc_interface *xch,
uint32_t domid,
unsigned long first_gfn,
unsigned long first_mfn,
unsigned long nr_mfns,
- uint32_t add_mapping)
+ uint32_t add_mapping,
+ uint32_t cache_policy)
{
DECLARE_DOMCTL;
xc_dominfo_t info;
domctl.cmd = XEN_DOMCTL_memory_mapping;
domctl.domain = domid;
domctl.u.memory_mapping.add_mapping = add_mapping;
+ domctl.u.memory_mapping.cache_policy = cache_policy;
max_batch_sz = nr_mfns;
do
{
*/
if ( ret && add_mapping != DPCI_REMOVE_MAPPING )
xc_domain_memory_mapping(xch, domid, first_gfn, first_mfn, nr_mfns,
- DPCI_REMOVE_MAPPING);
+ DPCI_REMOVE_MAPPING, CACHEABILITY_DEVMEM);
/* We might get E2BIG so many times that we never advance. */
if ( !done && !ret )
}
ret = xc_domain_memory_mapping(CTX->xch, domid,
io->gfn, io->start,
- io->number, 1);
+ io->number, 1, CACHEABILITY_DEVMEM);
if (ret < 0) {
LOGED(ERROR, domid,
"failed to map to domain iomem range %"PRIx64"-%"PRIx64