|
|
|
|
|
|
|
|
|
|
xen-devel
[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");
|
|
|
|
|