WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] ATI fglrx OpenGL working in Xen!

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] ATI fglrx OpenGL working in Xen!
From: Jacob Gorm Hansen <jacobg@xxxxxxx>
Date: Mon, 07 Feb 2005 18:22:12 -0800
Delivery-date: Tue, 08 Feb 2005 02:23:31 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (X11/20050116)
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");
<Prev in Thread] Current Thread [Next in Thread>