|
@@ -161,11 +161,11 @@ static gint int_cmp(gconstpointer a, gconstpointer b, gpointer user_data)
|
|
|
static void destroy_grant(gpointer pgnt)
|
|
|
{
|
|
|
PersistentGrant *grant = pgnt;
|
|
|
- XenGnttab gnt = grant->blkdev->xendev.gnttabdev;
|
|
|
+ xengnttab_handle *gnt = grant->blkdev->xendev.gnttabdev;
|
|
|
|
|
|
- if (xc_gnttab_munmap(gnt, grant->page, 1) != 0) {
|
|
|
+ if (xengnttab_unmap(gnt, grant->page, 1) != 0) {
|
|
|
xen_be_printf(&grant->blkdev->xendev, 0,
|
|
|
- "xc_gnttab_munmap failed: %s\n",
|
|
|
+ "xengnttab_unmap failed: %s\n",
|
|
|
strerror(errno));
|
|
|
}
|
|
|
grant->blkdev->persistent_gnt_count--;
|
|
@@ -178,11 +178,11 @@ static void remove_persistent_region(gpointer data, gpointer dev)
|
|
|
{
|
|
|
PersistentRegion *region = data;
|
|
|
struct XenBlkDev *blkdev = dev;
|
|
|
- XenGnttab gnt = blkdev->xendev.gnttabdev;
|
|
|
+ xengnttab_handle *gnt = blkdev->xendev.gnttabdev;
|
|
|
|
|
|
- if (xc_gnttab_munmap(gnt, region->addr, region->num) != 0) {
|
|
|
+ if (xengnttab_unmap(gnt, region->addr, region->num) != 0) {
|
|
|
xen_be_printf(&blkdev->xendev, 0,
|
|
|
- "xc_gnttab_munmap region %p failed: %s\n",
|
|
|
+ "xengnttab_unmap region %p failed: %s\n",
|
|
|
region->addr, strerror(errno));
|
|
|
}
|
|
|
xen_be_printf(&blkdev->xendev, 3,
|
|
@@ -317,7 +317,7 @@ err:
|
|
|
|
|
|
static void ioreq_unmap(struct ioreq *ioreq)
|
|
|
{
|
|
|
- XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
|
|
|
+ xengnttab_handle *gnt = ioreq->blkdev->xendev.gnttabdev;
|
|
|
int i;
|
|
|
|
|
|
if (ioreq->num_unmap == 0 || ioreq->mapped == 0) {
|
|
@@ -327,8 +327,9 @@ static void ioreq_unmap(struct ioreq *ioreq)
|
|
|
if (!ioreq->pages) {
|
|
|
return;
|
|
|
}
|
|
|
- if (xc_gnttab_munmap(gnt, ioreq->pages, ioreq->num_unmap) != 0) {
|
|
|
- xen_be_printf(&ioreq->blkdev->xendev, 0, "xc_gnttab_munmap failed: %s\n",
|
|
|
+ if (xengnttab_unmap(gnt, ioreq->pages, ioreq->num_unmap) != 0) {
|
|
|
+ xen_be_printf(&ioreq->blkdev->xendev, 0,
|
|
|
+ "xengnttab_unmap failed: %s\n",
|
|
|
strerror(errno));
|
|
|
}
|
|
|
ioreq->blkdev->cnt_map -= ioreq->num_unmap;
|
|
@@ -338,8 +339,9 @@ static void ioreq_unmap(struct ioreq *ioreq)
|
|
|
if (!ioreq->page[i]) {
|
|
|
continue;
|
|
|
}
|
|
|
- if (xc_gnttab_munmap(gnt, ioreq->page[i], 1) != 0) {
|
|
|
- xen_be_printf(&ioreq->blkdev->xendev, 0, "xc_gnttab_munmap failed: %s\n",
|
|
|
+ if (xengnttab_unmap(gnt, ioreq->page[i], 1) != 0) {
|
|
|
+ xen_be_printf(&ioreq->blkdev->xendev, 0,
|
|
|
+ "xengnttab_unmap failed: %s\n",
|
|
|
strerror(errno));
|
|
|
}
|
|
|
ioreq->blkdev->cnt_map--;
|
|
@@ -351,7 +353,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
|
|
|
|
|
|
static int ioreq_map(struct ioreq *ioreq)
|
|
|
{
|
|
|
- XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
|
|
|
+ xengnttab_handle *gnt = ioreq->blkdev->xendev.gnttabdev;
|
|
|
uint32_t domids[BLKIF_MAX_SEGMENTS_PER_REQUEST];
|
|
|
uint32_t refs[BLKIF_MAX_SEGMENTS_PER_REQUEST];
|
|
|
void *page[BLKIF_MAX_SEGMENTS_PER_REQUEST];
|
|
@@ -402,7 +404,7 @@ static int ioreq_map(struct ioreq *ioreq)
|
|
|
}
|
|
|
|
|
|
if (batch_maps && new_maps) {
|
|
|
- ioreq->pages = xc_gnttab_map_grant_refs
|
|
|
+ ioreq->pages = xengnttab_map_grant_refs
|
|
|
(gnt, new_maps, domids, refs, ioreq->prot);
|
|
|
if (ioreq->pages == NULL) {
|
|
|
xen_be_printf(&ioreq->blkdev->xendev, 0,
|
|
@@ -418,7 +420,7 @@ static int ioreq_map(struct ioreq *ioreq)
|
|
|
ioreq->blkdev->cnt_map += new_maps;
|
|
|
} else if (new_maps) {
|
|
|
for (i = 0; i < new_maps; i++) {
|
|
|
- ioreq->page[i] = xc_gnttab_map_grant_ref
|
|
|
+ ioreq->page[i] = xengnttab_map_grant_ref
|
|
|
(gnt, domids[i], refs[i], ioreq->prot);
|
|
|
if (ioreq->page[i] == NULL) {
|
|
|
xen_be_printf(&ioreq->blkdev->xendev, 0,
|
|
@@ -768,9 +770,9 @@ static void blk_alloc(struct XenDevice *xendev)
|
|
|
if (xen_mode != XEN_EMULATE) {
|
|
|
batch_maps = 1;
|
|
|
}
|
|
|
- if (xc_gnttab_set_max_grants(xendev->gnttabdev,
|
|
|
+ if (xengnttab_set_max_grants(xendev->gnttabdev,
|
|
|
MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < 0) {
|
|
|
- xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
|
|
|
+ xen_be_printf(xendev, 0, "xengnttab_set_max_grants failed: %s\n",
|
|
|
strerror(errno));
|
|
|
}
|
|
|
}
|
|
@@ -980,7 +982,7 @@ static int blk_connect(struct XenDevice *xendev)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- blkdev->sring = xc_gnttab_map_grant_ref(blkdev->xendev.gnttabdev,
|
|
|
+ blkdev->sring = xengnttab_map_grant_ref(blkdev->xendev.gnttabdev,
|
|
|
blkdev->xendev.dom,
|
|
|
blkdev->ring_ref,
|
|
|
PROT_READ | PROT_WRITE);
|
|
@@ -1045,7 +1047,7 @@ static void blk_disconnect(struct XenDevice *xendev)
|
|
|
xen_be_unbind_evtchn(&blkdev->xendev);
|
|
|
|
|
|
if (blkdev->sring) {
|
|
|
- xc_gnttab_munmap(blkdev->xendev.gnttabdev, blkdev->sring, 1);
|
|
|
+ xengnttab_unmap(blkdev->xendev.gnttabdev, blkdev->sring, 1);
|
|
|
blkdev->cnt_map--;
|
|
|
blkdev->sring = NULL;
|
|
|
}
|