diff options
Diffstat (limited to 'trunk/2.6.22/20075_xen-intel-agp.patch1')
-rw-r--r-- | trunk/2.6.22/20075_xen-intel-agp.patch1 | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/trunk/2.6.22/20075_xen-intel-agp.patch1 b/trunk/2.6.22/20075_xen-intel-agp.patch1 new file mode 100644 index 0000000..4009ce6 --- /dev/null +++ b/trunk/2.6.22/20075_xen-intel-agp.patch1 @@ -0,0 +1,33 @@ +From: jbeulich@novell.com +Subject: fix intel-agp address handling +Patch-mainline: obsolete +References: 254208 + +Index: head-2007-08-22/drivers/char/agp/intel-agp.c +=================================================================== +--- head-2007-08-22.orig/drivers/char/agp/intel-agp.c 2007-08-22 09:32:13.000000000 +0200 ++++ head-2007-08-22/drivers/char/agp/intel-agp.c 2007-08-22 10:10:29.000000000 +0200 +@@ -208,6 +208,13 @@ static void *i8xx_alloc_pages(void) + if (page == NULL) + return NULL; + ++#ifdef CONFIG_XEN ++ if (xen_create_contiguous_region((unsigned long)page_address(page), 2, 32)) { ++ __free_pages(page, 2); ++ return NULL; ++ } ++#endif ++ + if (change_page_attr(page, 4, PAGE_KERNEL_NOCACHE) < 0) { + change_page_attr(page, 4, PAGE_KERNEL); + global_flush_tlb(); +@@ -231,6 +238,9 @@ static void i8xx_destroy_pages(void *add + page = virt_to_page(addr); + change_page_attr(page, 4, PAGE_KERNEL); + global_flush_tlb(); ++#ifdef CONFIG_XEN ++ xen_destroy_contiguous_region((unsigned long)page_address(page), 2); ++#endif + put_page(page); + unlock_page(page); + __free_pages(page, 2); |