summaryrefslogtreecommitdiff
blob: a1b88df7fa842fcfe383a85f495ba751a46e982d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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 */