#include "private.h"
void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
- uint32_t dom, int prot,
- const xen_pfn_t *arr, int *err, size_t num)
+ uint32_t dom, int prot, size_t num,
+ const xen_pfn_t arr[/*num*/], int err[/*num*/])
{
xen_pfn_t *pfn;
unsigned int i;
void *xenforeignmemory_map(xenforeignmemory_handle *fmem,
uint32_t dom, int prot,
- const xen_pfn_t *arr, int *err, size_t num)
+ size_t num,
+ const xen_pfn_t arr[/*num*/], int err[/*num*/])
{
void *ret;
int *err_to_free = NULL;
if ( err == NULL )
return NULL;
- ret = osdep_xenforeignmemory_map(fmem, dom, prot, arr, err, num);
+ ret = osdep_xenforeignmemory_map(fmem, dom, prot, num, arr, err);
if ( ret == 0 && err_to_free )
{
void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
uint32_t dom, int prot,
- const xen_pfn_t *arr, int *err,
- size_t num)
+ size_t num,
+ const xen_pfn_t arr[/*num*/], int err[/*num*/])
{
int fd = fmem->fd;
privcmd_mmapbatch_t ioctlx;
* of @err indicating failure to map every page.
*/
void *xenforeignmemory_map(xenforeignmemory_handle *fmem, uint32_t dom,
- int prot, const xen_pfn_t *arr, int *err,
- size_t pages);
+ int prot, size_t pages,
+ const xen_pfn_t arr[/*pages*/], int err[/*pages*/]);
/*
* Unmap a mapping previous created with xenforeignmemory_map().
void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
uint32_t dom, int prot,
- const xen_pfn_t *arr, int *err, size_t num)
+ size_t num,
+ const xen_pfn_t arr[/*num*/], int err[/*num*/])
{
int fd = fmem->fd;
privcmd_mmapbatch_v2_t ioctlx;
void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
uint32_t dom, int prot,
- const xen_pfn_t *arr, int *err, size_t num)
+ size_t num,
+ const xen_pfn_t arr[/*num*/], int err[/*num*/])
{
unsigned long pt_prot = 0;
if (prot & PROT_READ)
void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
uint32_t dom, int prot,
- const xen_pfn_t *arr, int *err, size_t num);
+ size_t num,
+ const xen_pfn_t arr[num], int err[num]);
int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
void *addr, size_t num);
return NULL;
}
- return xenforeignmemory_map(xch->fmem, dom, prot, arr, NULL, num);
+ return xenforeignmemory_map(xch->fmem, dom, prot, num, arr, NULL);
}
void *xc_map_foreign_range(xc_interface *xch,
void *xc_map_foreign_bulk(xc_interface *xch, uint32_t dom, int prot,
const xen_pfn_t *arr, int *err, unsigned int num)
{
- return xenforeignmemory_map(xch->fmem, dom, prot, arr, err, num);
+ return xenforeignmemory_map(xch->fmem, dom, prot, num, arr, err);
}
/*
mapping = guest_page = xenforeignmemory_map(xch->fmem,
ctx->domid, PROT_READ | PROT_WRITE,
- mfns, map_errs, nr_pages);
+ nr_pages, mfns, map_errs);
if ( !mapping )
{
rc = -1;
if ( nr_pages > 0 )
{
guest_mapping = xenforeignmemory_map(xch->fmem,
- ctx->domid, PROT_READ, mfns, errors, nr_pages);
+ ctx->domid, PROT_READ, nr_pages, mfns, errors);
if ( !guest_mapping )
{
PERROR("Failed to map guest pages");