git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'for-linus' of git://github.com/rustyrussell/linux
[pandora-kernel.git]
/
arch
/
arm
/
mm
/
flush.c
diff --git
a/arch/arm/mm/flush.c
b/arch/arm/mm/flush.c
index
1a8d4aa
..
7745854
100644
(file)
--- a/
arch/arm/mm/flush.c
+++ b/
arch/arm/mm/flush.c
@@
-16,22
+16,18
@@
#include <asm/cachetype.h>
#include <asm/highmem.h>
#include <asm/smp_plat.h>
#include <asm/cachetype.h>
#include <asm/highmem.h>
#include <asm/smp_plat.h>
-#include <asm/system.h>
#include <asm/tlbflush.h>
#include "mm.h"
#ifdef CONFIG_CPU_CACHE_VIPT
#include <asm/tlbflush.h>
#include "mm.h"
#ifdef CONFIG_CPU_CACHE_VIPT
-#define ALIAS_FLUSH_START 0xffff4000
-
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
{
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
{
- unsigned long to =
ALIAS_FLUSH
_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
+ unsigned long to =
FLUSH_ALIAS
_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
const int zero = 0;
const int zero = 0;
- set_pte_ext(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL), 0);
- flush_tlb_kernel_page(to);
+ set_top_pte(to, pfn_pte(pfn, PAGE_KERNEL));
asm( "mcrr p15, 0, %1, %0, c14\n"
" mcr p15, 0, %2, c7, c10, 4"
asm( "mcrr p15, 0, %1, %0, c14\n"
" mcr p15, 0, %2, c7, c10, 4"
@@
-42,13
+38,12
@@
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
static void flush_icache_alias(unsigned long pfn, unsigned long vaddr, unsigned long len)
{
static void flush_icache_alias(unsigned long pfn, unsigned long vaddr, unsigned long len)
{
- unsigned long
colour = CACHE_COLOUR(vaddr
);
+ unsigned long
va = FLUSH_ALIAS_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT
);
unsigned long offset = vaddr & (PAGE_SIZE - 1);
unsigned long to;
unsigned long offset = vaddr & (PAGE_SIZE - 1);
unsigned long to;
- set_pte_ext(TOP_PTE(ALIAS_FLUSH_START) + colour, pfn_pte(pfn, PAGE_KERNEL), 0);
- to = ALIAS_FLUSH_START + (colour << PAGE_SHIFT) + offset;
- flush_tlb_kernel_page(to);
+ set_top_pte(va, pfn_pte(pfn, PAGE_KERNEL));
+ to = va + offset;
flush_icache_range(to, to + len);
}
flush_icache_range(to, to + len);
}