[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] ATI fglrx OpenGL working in Xen!
hi,I gave the closed-source fglrx-driver another try, and with the latest xeno-unstable and some patching of the open-source wrapper provided with fglrx, I managed to get my ATI Radeon 9600SE accellerated OpenGL running at what appears to be full speed, in dom0. I have attached diffs to the two source files that need changing, below. Basically, I replaced all CONFIG_X86* ifdefs with CONFIG_XEN*, and I replaced the calls to remap_page_range() with calls to io_remap_page_range(). This is not a very clean or nice patch, but it does the job. Does anyone know where to send fglrx-patches, once I have a nicer version? Jacob ------------------------ agpgart_be.c ------------------ 140a141 > 1053c1054 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 1162c1163 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 1167c1168 < agp_bridge.gatt_table = ioremap_nocache(virt_to_phys(table), --- > agp_bridge.gatt_table = ioremap_nocache(virt_to_bus(table), 1173c1174 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 1248c1249 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 1405c1406 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 1446c1447 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 3179c3180 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 3199c3200 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 3204c3205 < page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real), --- > page_map->remapped = ioremap_nocache(virt_to_bus(page_map->real), 3209c3210 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 3238c3239 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 4407c4408 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 4485c4486 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 4506c4507 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 4600c4601 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 4621c4622 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 4626c4627 < page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real), --- > page_map->remapped = ioremap_nocache(virt_to_bus(page_map->real), 4631c4632 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) 4658c4659 < #if defined(CONFIG_X86) && (PAGE_ATTR_FIX != 0) --- > #if defined(CONFIG_XEN) && (PAGE_ATTR_FIX != 0) ------------------------ firegl_public.c ------------------ 34a35 > #include <asm/pgtable.h> 41,48c42,49 < #if !defined(CONFIG_X86_PC) < #if !defined(CONFIG_X86_64) < #if !defined(CONFIG_X86_VOYAGER) < #if !defined(CONFIG_X86_NUMAQ) < #if !defined(CONFIG_X86_SUMMIT) < #if !defined(CONFIG_X86_BIGSMP) < #if !defined(CONFIG_X86_VISWS) < #if !defined(CONFIG_X86_GENERICARCH) --- > #if !defined(CONFIG_XEN) > #if !defined(CONFIG_XEN_64) > #if !defined(CONFIG_XEN_VOYAGER) > #if !defined(CONFIG_XEN_NUMAQ) > #if !defined(CONFIG_XEN_SUMMIT) > #if !defined(CONFIG_XEN_BIGSMP) > #if !defined(CONFIG_XEN_VISWS) > #if !defined(CONFIG_XEN_GENERICARCH) 2556a2558 > 2558c2560 < __KE_DEBUG3("start=0x%08lx, " --- > printk("start=0x%08lx, " 2564a2567,2569 > printk("__ke_vm_map\n"); > //return -EPERM; > 2589c2594 < if (remap_page_range(FGL_VMA_API_PASS --- > if (io_remap_page_range(vma, 2595c2600 < __KE_DEBUG("remap_page_range failed\n"); --- > __KE_DEBUG("io_remap_page_range failed\n"); 2656c2661 < if (remap_page_range(FGL_VMA_API_PASS --- > if (io_remap_page_range(vma, 2662c2667 < __KE_DEBUG("remap_page_range failed\n"); --- > __KE_DEBUG("io_remap_page_range > failed\n"); 2693c2698 < if (remap_page_range(FGL_VMA_API_PASS --- > if (io_remap_page_range(vma, 2699c2704 < __KE_DEBUG("remap_page_range failed\n"); --- > __KE_DEBUG("io_remap_page_range > failed\n");
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |