summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-drivers/ati-drivers/files/ati-drivers-xen.patch')
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-xen.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-xen.patch b/x11-drivers/ati-drivers/files/ati-drivers-xen.patch
new file mode 100644
index 0000000..a1b88df
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-xen.patch
@@ -0,0 +1,62 @@
+--- common/lib/modules/fglrx/build_mod/firegl_public.c 2008-12-09 15:17:27.000000000 +0000
++++ common/lib/modules/fglrx/build_mod/firegl_public.c 2008-12-09 15:12:34.000000000 +0000
+@@ -31,6 +31,9 @@
+ #include <linux/autoconf.h>
+
+ #if !defined(CONFIG_X86_PC)
++#if !defined(CONFIG_X86_PC_XEN)
++#if !defined(CONFIG_X86_XEN)
++#if !defined(CONFIG_X86_64_XEN)
+ #if !defined(CONFIG_X86_64)
+ #if !defined(CONFIG_X86_VOYAGER)
+ #if !defined(CONFIG_X86_NUMAQ)
+@@ -47,6 +50,9 @@
+ #endif
+ #endif
+ #endif
++#endif
++#endif
++#endif
+
+ /* The dirty-page-tracking patch included in NLD 9 SMP kernels defines
+ * a static inline function that uses a GPL-only symbol in a header
+--- common/lib/modules/fglrx/build_mod/firegl_public.h 2008-12-09 15:17:27.000000000 +0000
++++ common/lib/modules/fglrx/build_mod/firegl_public.h 2008-12-09 15:15:45.000000000 +0000
+@@ -30,9 +30,13 @@
+ #endif
+
+ #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) */
+@@ -43,13 +47,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 */
+