[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XenPPC] [linux-ppc-2.6] [LINUX][XEN][POWERPC] Still need a few XenPPC specific hacks
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |