[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