From: Jacob Gorm Hansen <jacobg@diku.dk>
To: xen-devel <xen-devel@lists.sourceforge.net>
Subject: ATI fglrx OpenGL working in Xen!
Date: Mon, 07 Feb 2005 18:22:12 -0800 [thread overview]
Message-ID: <42082254.7070902@diku.dk> (raw)
[-- Attachment #1: Type: text/plain, Size: 639 bytes --]
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
[-- Attachment #2: fglrx.diff --]
[-- Type: text/plain, Size: 3947 bytes --]
------------------------ 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");
next reply other threads:[~2005-02-08 2:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-08 2:22 Jacob Gorm Hansen [this message]
2005-02-08 8:13 ` ATI fglrx OpenGL working in Xen! Jacob Gorm Hansen
2005-02-12 16:53 ` Christian Limpach
2005-02-13 7:28 ` Jacob Gorm Hansen
2005-02-13 11:10 ` Christian Limpach
2005-02-08 23:08 ` Jacob Gorm Hansen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42082254.7070902@diku.dk \
--to=jacobg@diku.dk \
--cc=xen-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.