[kernel] r6847 - dists/sid/linux-2.6.16/debian/patches
Jurij Smakov
jurij-guest at costa.debian.org
Tue Jun 20 13:30:24 UTC 2006
Author: jurij-guest
Date: Tue Jun 20 13:30:17 2006
New Revision: 6847
Added:
dists/sid/linux-2.6.16/debian/patches/dcache-memory-corruption.patch
dists/sid/linux-2.6.16/debian/patches/sparc32-iotlb.patch
Log:
Forgot to add the patches themselves, oops.
Added: dists/sid/linux-2.6.16/debian/patches/dcache-memory-corruption.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6.16/debian/patches/dcache-memory-corruption.patch Tue Jun 20 13:30:17 2006
@@ -0,0 +1,69 @@
+diff -aur a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
+--- a/include/asm-generic/pgtable.h 2006-03-19 21:53:29.000000000 -0800
++++ b/include/asm-generic/pgtable.h 2006-06-20 00:06:31.000000000 -0700
+@@ -159,17 +159,8 @@
+ #define lazy_mmu_prot_update(pte) do { } while (0)
+ #endif
+
+-#ifndef __HAVE_ARCH_MULTIPLE_ZERO_PAGE
++#ifndef __HAVE_ARCH_MOVE_PTE
+ #define move_pte(pte, prot, old_addr, new_addr) (pte)
+-#else
+-#define move_pte(pte, prot, old_addr, new_addr) \
+-({ \
+- pte_t newpte = (pte); \
+- if (pte_present(pte) && pfn_valid(pte_pfn(pte)) && \
+- pte_page(pte) == ZERO_PAGE(old_addr)) \
+- newpte = mk_pte(ZERO_PAGE(new_addr), (prot)); \
+- newpte; \
+-})
+ #endif
+
+ /*
+diff -aur a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h
+--- a/include/asm-mips/pgtable.h 2006-03-19 21:53:29.000000000 -0800
++++ b/include/asm-mips/pgtable.h 2006-06-20 00:06:31.000000000 -0700
+@@ -70,7 +70,15 @@
+ #define ZERO_PAGE(vaddr) \
+ (virt_to_page(empty_zero_page + (((unsigned long)(vaddr)) & zero_page_mask)))
+
+-#define __HAVE_ARCH_MULTIPLE_ZERO_PAGE
++#define __HAVE_ARCH_MOVE_PTE
++#define move_pte(pte, prot, old_addr, new_addr) \
++({ \
++ pte_t newpte = (pte); \
++ if (pte_present(pte) && pfn_valid(pte_pfn(pte)) && \
++ pte_page(pte) == ZERO_PAGE(old_addr)) \
++ newpte = mk_pte(ZERO_PAGE(new_addr), (prot)); \
++ newpte; \
++})
+
+ extern void paging_init(void);
+
+diff -aur a/include/asm-sparc64/pgtable.h b/include/asm-sparc64/pgtable.h
+--- a/include/asm-sparc64/pgtable.h 2006-03-19 21:53:29.000000000 -0800
++++ b/include/asm-sparc64/pgtable.h 2006-06-20 00:07:17.000000000 -0700
+@@ -335,6 +335,23 @@
+ #define pte_clear(mm,addr,ptep) \
+ set_pte_at((mm), (addr), (ptep), __pte(0UL))
+
++#ifdef DCACHE_ALIASING_POSSIBLE
++#define __HAVE_ARCH_MOVE_PTE
++#define move_pte(pte, prot, old_addr, new_addr) \
++({ \
++ pte_t newpte = (pte); \
++ if (pte_present(pte)) { \
++ unsigned long this_pfn = pte_pfn(pte); \
++ \
++ if (pfn_valid(this_pfn) && \
++ (((old_addr) ^ (new_addr)) & (1 << 13))) \
++ flush_dcache_page_all(current->mm, \
++ pfn_to_page(this_pfn)); \
++ } \
++ newpte; \
++})
++#endif
++
+ extern pgd_t swapper_pg_dir[2048];
+ extern pmd_t swapper_low_pmd_dir[2048];
+
Added: dists/sid/linux-2.6.16/debian/patches/sparc32-iotlb.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6.16/debian/patches/sparc32-iotlb.patch Tue Jun 20 13:30:17 2006
@@ -0,0 +1,14 @@
+diff -aur a/arch/sparc/mm/iommu.c b/arch/sparc/mm/iommu.c
+--- a/arch/sparc/mm/iommu.c 2006-03-19 21:53:29.000000000 -0800
++++ b/arch/sparc/mm/iommu.c 2006-06-19 22:18:05.000000000 -0700
+@@ -144,8 +144,9 @@
+ unsigned long start;
+ unsigned long end;
+
+- start = (unsigned long)iopte & PAGE_MASK;
++ start = (unsigned long)iopte;
+ end = PAGE_ALIGN(start + niopte*sizeof(iopte_t));
++ start &= PAGE_MASK;
+ if (viking_mxcc_present) {
+ while(start < end) {
+ viking_mxcc_flush_page(start);
More information about the Kernel-svn-changes
mailing list