Commit 9ff2d536 authored by Linus Torvalds's avatar Linus Torvalds

Clean up tlb_start/end_vma.

parent fce9505f
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* x86 doesn't need any special per-pte or * x86 doesn't need any special per-pte or
* per-vma handling.. * per-vma handling..
*/ */
#define tlb_start_vma(tlb, vma, start, end) do { } while (0) #define tlb_start_vma(tlb, vma) do { } while (0)
#define tlb_end_vma(tlb, vma, start, end) do { } while (0) #define tlb_end_vma(tlb, vma) do { } while (0)
#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0) #define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
/* /*
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)
#define tlb_start_vma(tlb, vma, start, end) \ #define tlb_start_vma(tlb, vma) \
flush_cache_range(vma, start, end) flush_cache_range(vma, vma->vm_start, vma->vm_end)
#define tlb_end_vma(tlb, vma, start, end) \ #define tlb_end_vma(tlb, vma) \
flush_tlb_range(vma, start, end) flush_tlb_range(vma, vma->vm_start, vma->vm_end)
#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0) #define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
......
...@@ -387,19 +387,18 @@ static void zap_pmd_range(mmu_gather_t *tlb, pgd_t * dir, unsigned long address, ...@@ -387,19 +387,18 @@ static void zap_pmd_range(mmu_gather_t *tlb, pgd_t * dir, unsigned long address,
void unmap_page_range(mmu_gather_t *tlb, struct vm_area_struct *vma, unsigned long address, unsigned long end) void unmap_page_range(mmu_gather_t *tlb, struct vm_area_struct *vma, unsigned long address, unsigned long end)
{ {
unsigned long start = address;
pgd_t * dir; pgd_t * dir;
if (address >= end) if (address >= end)
BUG(); BUG();
dir = pgd_offset(vma->vm_mm, address); dir = pgd_offset(vma->vm_mm, address);
tlb_start_vma(tlb, vma, start, end); tlb_start_vma(tlb, vma);
do { do {
zap_pmd_range(tlb, dir, address, end - address); zap_pmd_range(tlb, dir, address, end - address);
address = (address + PGDIR_SIZE) & PGDIR_MASK; address = (address + PGDIR_SIZE) & PGDIR_MASK;
dir++; dir++;
} while (address && (address < end)); } while (address && (address < end));
tlb_end_vma(tlb, vma, start, end); tlb_end_vma(tlb, vma);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment