diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-06-11 23:04:37 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-06-11 23:04:37 -0400 |
commit | fec69a97489f961026e24536dbb7b86ac663948c (patch) | |
tree | 869713470d81ebc261598489a2711960336c7c37 /include/asm-sparc64 | |
parent | 1049cb478783c74ca8c99ef70e7d2bf920b9335b (diff) | |
parent | 2f9719b61e1fcf7422a016ac4f2420a0cc6ba320 (diff) | |
download | kernel_samsung_smdk4412-fec69a97489f961026e24536dbb7b86ac663948c.zip kernel_samsung_smdk4412-fec69a97489f961026e24536dbb7b86ac663948c.tar.gz kernel_samsung_smdk4412-fec69a97489f961026e24536dbb7b86ac663948c.tar.bz2 |
Merge branch 'upstream-fixes' into upstream
Conflicts:
drivers/scsi/sata_sil24.c
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r-- | include/asm-sparc64/pgtable.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/asm-sparc64/pgtable.h b/include/asm-sparc64/pgtable.h index c44e746..cd464f4 100644 --- a/include/asm-sparc64/pgtable.h +++ b/include/asm-sparc64/pgtable.h @@ -689,6 +689,23 @@ static inline void set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *p #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 (tlb_type != hypervisor && 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]; |