]> git.proxmox.com Git - mirror_qemu.git/blobdiff - hw/display/xenfb.c
xen: Switch uses of xc_map_foreign_range into xc_map_foreign_pages
[mirror_qemu.git] / hw / display / xenfb.c
index 8eb30462440e37d6b639144899db7892b38329d6..aa38803aa95d1cda0f8480f2471350aef36ad6c4 100644 (file)
@@ -95,23 +95,24 @@ struct XenFB {
 
 static int common_bind(struct common *c)
 {
-    uint64_t mfn;
+    uint64_t val;
+    xen_pfn_t mfn;
 
-    if (xenstore_read_fe_uint64(&c->xendev, "page-ref", &mfn) == -1)
+    if (xenstore_read_fe_uint64(&c->xendev, "page-ref", &val) == -1)
        return -1;
-    assert(mfn == (xen_pfn_t)mfn);
+    mfn = (xen_pfn_t)val;
+    assert(val == mfn);
 
     if (xenstore_read_fe_int(&c->xendev, "event-channel", &c->xendev.remote_port) == -1)
        return -1;
 
-    c->page = xc_map_foreign_range(xen_xc, c->xendev.dom,
-                                  XC_PAGE_SIZE,
-                                  PROT_READ | PROT_WRITE, mfn);
+    c->page = xc_map_foreign_pages(xen_xc, c->xendev.dom,
+                                   PROT_READ | PROT_WRITE, &mfn, 1);
     if (c->page == NULL)
        return -1;
 
     xen_be_bind_evtchn(&c->xendev);
-    xen_be_printf(&c->xendev, 1, "ring mfn %"PRIx64", remote-port %d, local-port %d\n",
+    xen_be_printf(&c->xendev, 1, "ring mfn %"PRI_xen_pfn", remote-port %d, local-port %d\n",
                  mfn, c->xendev.remote_port, c->xendev.local_port);
 
     return 0;