summaryrefslogtreecommitdiff
path: root/arch/ppc64/mm/hash_native.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-09-29 13:13:36 +1000
committerPaul Mackerras <paulus@samba.org>2005-09-29 13:13:36 +1000
commitab11d1ea281e85895369ef57c5259ad8a432fabb (patch)
tree684147479c6a8bb2fbed21bdcf12de1dd519c730 /arch/ppc64/mm/hash_native.c
parent952ecef7a0479049c8abb7c34a688ec2981ceadd (diff)
parent664cceb0093b755739e56572b836a99104ee8a75 (diff)
Merge by hand from Linus' tree.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/mm/hash_native.c')
-rw-r--r--arch/ppc64/mm/hash_native.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/ppc64/mm/hash_native.c b/arch/ppc64/mm/hash_native.c
index 874cf96938ff..174d14576c28 100644
--- a/arch/ppc64/mm/hash_native.c
+++ b/arch/ppc64/mm/hash_native.c
@@ -342,14 +342,13 @@ static void native_flush_hash_range(unsigned long number, int local)
hpte_t *hptep;
unsigned long hpte_v;
struct ppc64_tlb_batch *batch = &__get_cpu_var(ppc64_tlb_batch);
- unsigned long large;
+ unsigned long large = batch->large;
local_irq_save(flags);
j = 0;
for (i = 0; i < number; i++) {
va = batch->vaddr[j];
- large = pte_huge(batch->pte[i]);
if (large)
vpn = va >> HPAGE_SHIFT;
else
@@ -399,7 +398,7 @@ static void native_flush_hash_range(unsigned long number, int local)
asm volatile("ptesync":::"memory");
for (i = 0; i < j; i++)
- __tlbie(batch->vaddr[i], 0);
+ __tlbie(batch->vaddr[i], large);
asm volatile("eieio; tlbsync; ptesync":::"memory");