Jacob Gorm Hansen wrote:
Roland Scheidegger wrote:

I'm not familiar with Xen, but I heard one of the few drivers which are problematic with it are the agp drivers. This _could_ be such an issue. If so the Xen guys are likely to know more about it. That's really just a guess though.


hi,

yes this is likely to do with Xen, I have sorted a few bugs related to that already. I was just curious if DRI-people might be better at decoding what goes wrong in this specific case.

For now, I went back to the fglrx driver. I got that to work by applying the following diff (which is not a clean patch and not intended for inclusion anywhere before it is cleaned up), to the fglrx open source wrapper.


I now a accellerated OpenGL using the ATI libs, in Xen's domain 0. I will probably revisit r300 in Xen at a later stage.

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");

Reply via email to