Public bug reported:
The following patch against fglrx makes it function correctly in dom0,
opengl and all. I'm currently running this patched fglrx with xen dom0,
beryl/xgl and it feels basically native performance!
Please include in feisty :)
diff -Naru build_mod/firegl_public.c build_mod.xen/firegl_public.c
--- build_mod/firegl_public.c 2006-10-26 22:39:30.000000000 +0900
+++ build_mod.xen/firegl_public.c 2006-11-16 22:47:57.000000000 +0900
@@ -36,6 +36,7 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,71)
#if !defined(CONFIG_X86_PC)
+#if !defined(CONFIG_X86_XEN)
#if !defined(CONFIG_X86_64)
#if !defined(CONFIG_X86_VOYAGER)
#if !defined(CONFIG_X86_NUMAQ)
@@ -52,6 +53,7 @@
#endif
#endif
#endif
+#endif
#endif /* LINUX_VERSION_CODE */
/* The dirty-page-tracking patch included in NLD 9 SMP kernels defines
diff -Naru build_mod/firegl_public.h build_mod.xen/firegl_public.h
--- build_mod/firegl_public.h 2006-10-26 22:39:30.000000000 +0900
+++ build_mod.xen/firegl_public.h 2006-11-16 22:48:06.000000000 +0900
@@ -32,8 +32,13 @@
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
+#ifdef CONFIG_XEN
+#define REMAP_PAGE_RANGE_FN io_remap_pfn_range
+#define REMAP_PAGE_RANGE_STR "io_remap_pfn_range"
+#else
#define REMAP_PAGE_RANGE_FN remap_pfn_range
#define REMAP_PAGE_RANGE_STR "remap_pfn_range"
+#endif
#define REMAP_PAGE_RANGE_OFF(offset) ((offset) >> PAGE_SHIFT)
#else /* LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,9) */
@@ -44,12 +49,21 @@
#endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) */
+#ifdef CONFIG_XEN
+#define REMAP_PAGE_RANGE(vma,offset) \
+ REMAP_PAGE_RANGE_FN((vma), \
+ (vma)->vm_start, \
+ REMAP_PAGE_RANGE_OFF(offset), \
+ (vma)->vm_end - (vma)->vm_start, \
+ (vma)->vm_page_prot)
+#else
#define REMAP_PAGE_RANGE(vma,offset) \
REMAP_PAGE_RANGE_FN(FGL_VMA_API_PASS \
(vma)->vm_start, \
REMAP_PAGE_RANGE_OFF(offset), \
(vma)->vm_end - (vma)->vm_start, \
(vma)->vm_page_prot)
+#endif
/* Page table macros */
diff -Naru build_mod/make.sh build_mod.xen/make.sh
--- build_mod/make.sh 2006-10-26 22:39:30.000000000 +0900
+++ build_mod.xen/make.sh 2006-11-16 22:47:57.000000000 +0900
@@ -788,10 +788,15 @@
pgprot_t prot;
return (
+#ifdef CONFIG_X86_XEN
+ io_remap_page_range(
+ vma,
+#else
remap_page_range(
#ifdef FGL_LINUX253P1_VMA_API
vma,
#endif
+#endif
from, to, size, prot)
);
}
** Affects: xen-restricted-modules-2.6.17 (Ubuntu)
Importance: Undecided
Status: Unconfirmed
--
[patch] fglrx under xen dom0
https://launchpad.net/bugs/73067
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs