[kernel] r15391 - dists/sid/linux-2.6/debian/patches/features/all/xen

Ben Hutchings benh at alioth.debian.org
Tue Mar 16 01:49:15 UTC 2010


Author: benh
Date: Tue Mar 16 01:49:13 2010
New Revision: 15391

Log:
Remove highmem PTE workaround, included in 2.6.32.10

Modified:
   dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch

Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch	Tue Mar 16 01:44:04 2010	(r15390)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch	Tue Mar 16 01:49:13 2010	(r15391)
@@ -2972,14 +2972,6 @@
  #include <xen/interface/xen.h>
  #include <xen/interface/version.h>
  #include <xen/interface/physdev.h>
-@@ -48,6 +49,7 @@
- #include <asm/traps.h>
- #include <asm/setup.h>
- #include <asm/desc.h>
-+#include <asm/pgalloc.h>
- #include <asm/pgtable.h>
- #include <asm/tlbflush.h>
- #include <asm/reboot.h>
 @@ -65,6 +67,11 @@ DEFINE_PER_CPU(struct vcpu_info, xen_vcpu_info);
  enum xen_domain_type xen_domain_type = XEN_NATIVE;
  EXPORT_SYMBOL_GPL(xen_domain_type);
@@ -3137,19 +3129,6 @@
  	/* Install Xen paravirt ops */
  	pv_info = xen_info;
  	pv_init_ops = xen_init_ops;
-@@ -1085,6 +1124,12 @@ asmlinkage void __init xen_start_kernel(void)
- 
- 	xen_init_mmu_ops();
- 
-+	/*
-+	 * Prevent page tables from being allocated in highmem, even
-+	 * if CONFIG_HIGHPTE is enabled.
-+	 */
-+	__userpte_alloc_gfp &= ~__GFP_HIGHMEM;
-+
- 	/* Prevent unwanted bits from being set in PTEs. */
- 	__supported_pte_mask &= ~_PAGE_GLOBAL;
- 	if (!xen_initial_domain())
 @@ -1137,6 +1182,8 @@ asmlinkage void __init xen_start_kernel(void)
  
  	pgd = (pgd_t *)xen_start_info->pt_base;
@@ -3435,27 +3414,6 @@
  static void xen_pgd_free(struct mm_struct *mm, pgd_t *pgd)
  {
  #ifdef CONFIG_X86_64
-@@ -1432,14 +1552,15 @@ static void *xen_kmap_atomic_pte(struct page *page, enum km_type type)
- {
- 	pgprot_t prot = PAGE_KERNEL;
- 
-+	/*
-+	 * We disable highmem allocations for page tables so we should never
-+	 * see any calls to kmap_atomic_pte on a highmem page.
-+	 */
-+	BUG_ON(PageHighMem(page));
-+
- 	if (PagePinned(page))
- 		prot = PAGE_KERNEL_RO;
- 
--	if (0 && PageHighMem(page))
--		printk("mapping highpte %lx type %d prot %s\n",
--		       page_to_pfn(page), type,
--		       (unsigned long)pgprot_val(prot) & _PAGE_RW ? "WRITE" : "READ");
--
- 	return kmap_atomic_prot(page, type, prot);
- }
- #endif
 @@ -1447,10 +1568,17 @@ static void *xen_kmap_atomic_pte(struct page *page, enum km_type type)
  #ifdef CONFIG_X86_32
  static __init pte_t mask_rw_pte(pte_t *ptep, pte_t pte)



More information about the Kernel-svn-changes mailing list