|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[XenPPC] [linux-ppc-2.6] [LINUX][XEN][POWERPC] Still need a few XenPPC s
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID a49fcec03e363fc838760b4f461175b043327286
# Parent 4a5cbd892ace94d6b70ade541febfcd927bc460c
[LINUX][XEN][POWERPC] Still need a few XenPPC specific hacks
Specifically, the Gurest domains do not create page objects for the Foreign
Mapped area.
Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
---
drivers/xen/blkback/blkback.c | 10 ++++++++++
1 files changed, 10 insertions(+)
diff -r 4a5cbd892ace -r a49fcec03e36 drivers/xen/blkback/blkback.c
--- a/drivers/xen/blkback/blkback.c Sun Oct 08 13:50:43 2006 -0400
+++ b/drivers/xen/blkback/blkback.c Sun Oct 08 13:52:39 2006 -0400
@@ -398,9 +398,14 @@ static void dispatch_rw_block_io(blkif_t
}
pending_handle(pending_req, i) = map[i].handle;
+#ifdef CONFIG_PPC_XEN
+ pending_vaddrs[vaddr_pagenr(pending_req, i)] =
+ (unsigned long)gnttab_map_vaddr(map[i]);
+#else
set_phys_to_machine(__pa(vaddr(
pending_req, i)) >> PAGE_SHIFT,
FOREIGN_FRAME(map[i].dev_bus_addr >> PAGE_SHIFT));
+#endif
seg[i].buf = map[i].dev_bus_addr |
(req->seg[i].first_sect << 9);
}
@@ -514,10 +519,15 @@ static int __init blkif_init(void)
mmap_pages = blkif_reqs * BLKIF_MAX_SEGMENTS_PER_REQUEST;
+#ifdef CONFIG_PPC_XEN
+ (void)page;
+ mmap_vstart = foreign_alloc_empty_page_range(mmap_pages);
+#else
page = balloon_alloc_empty_page_range(mmap_pages);
if (page == NULL)
return -ENOMEM;
mmap_vstart = (unsigned long)pfn_to_kaddr(page_to_pfn(page));
+#endif
pending_reqs = kmalloc(sizeof(pending_reqs[0]) *
blkif_reqs, GFP_KERNEL);
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [XenPPC] [linux-ppc-2.6] [LINUX][XEN][POWERPC] Still need a few XenPPC specific hacks,
Xen patchbot-linux-ppc-2 . 6 <=
|
|
|
|
|