Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 175711
b: refs/heads/master
c: f71dc17
h: refs/heads/master
i:
  175709: 01ffc36
  175707: b558d10
  175703: bac568c
  175695: be70443
  175679: 6dc6558
v: v3
  • Loading branch information
David Gibson authored and Benjamin Herrenschmidt committed Oct 30, 2009
1 parent 437b92f commit e0ba118
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8be8cf5b47f72096e42bf88cc3afff7a942a346c
refs/heads/master: f71dc176aa06359681c30ba6877ffccab6fba3a6
6 changes: 1 addition & 5 deletions trunk/arch/powerpc/mm/hugetlbpage.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,11 +445,7 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
* necessary anymore if we make hpte_need_flush() get the
* page size from the slices
*/
unsigned int psize = get_slice_psize(mm, addr);
unsigned int shift = mmu_psize_to_shift(psize);
unsigned long sz = ((1UL) << shift);
struct hstate *hstate = size_to_hstate(sz);
pte_update(mm, addr & hstate->mask, ptep, ~0UL, 1);
pte_update(mm, addr, ptep, ~0UL, 1);
}
*ptep = __pte(pte_val(pte) & ~_PAGE_HPTEFLAGS);
}
Expand Down
8 changes: 3 additions & 5 deletions trunk/arch/powerpc/mm/tlb_hash64.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,6 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,

i = batch->index;

/* We mask the address for the base page size. Huge pages will
* have applied their own masking already
*/
addr &= PAGE_MASK;

/* Get page size (maybe move back to caller).
*
* NOTE: when using special 64K mappings in 4K environment like
Expand All @@ -75,6 +70,9 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,
} else
psize = pte_pagesize_index(mm, addr, pte);

/* Mask the address for the correct page size */
addr &= ~((1UL << mmu_psize_defs[psize].shift) - 1);

/* Build full vaddr */
if (!is_kernel_addr(addr)) {
ssize = user_segment_size(addr);
Expand Down

0 comments on commit e0ba118

Please sign in to comment.