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 */
|