diff options
Diffstat (limited to 'arch/sparc/mm')
-rw-r--r-- | arch/sparc/mm/fault_32.c | 4 | ||||
-rw-r--r-- | arch/sparc/mm/init_64.c | 3 | ||||
-rw-r--r-- | arch/sparc/mm/nosun4c.c | 2 | ||||
-rw-r--r-- | arch/sparc/mm/srmmu.c | 6 | ||||
-rw-r--r-- | arch/sparc/mm/sun4c.c | 6 |
5 files changed, 11 insertions, 10 deletions
diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c index ec8f22c681e..bd8601601af 100644 --- a/arch/sparc/mm/fault_32.c +++ b/arch/sparc/mm/fault_32.c | |||
@@ -411,7 +411,7 @@ asmlinkage void do_sun4c_fault(struct pt_regs *regs, int text_fault, int write, | |||
411 | unsigned long address) | 411 | unsigned long address) |
412 | { | 412 | { |
413 | extern void sun4c_update_mmu_cache(struct vm_area_struct *, | 413 | extern void sun4c_update_mmu_cache(struct vm_area_struct *, |
414 | unsigned long,pte_t); | 414 | unsigned long,pte_t *); |
415 | extern pte_t *sun4c_pte_offset_kernel(pmd_t *,unsigned long); | 415 | extern pte_t *sun4c_pte_offset_kernel(pmd_t *,unsigned long); |
416 | struct task_struct *tsk = current; | 416 | struct task_struct *tsk = current; |
417 | struct mm_struct *mm = tsk->mm; | 417 | struct mm_struct *mm = tsk->mm; |
@@ -488,7 +488,7 @@ asmlinkage void do_sun4c_fault(struct pt_regs *regs, int text_fault, int write, | |||
488 | * on the CPU and doing a shrink_mmap() on this vma. | 488 | * on the CPU and doing a shrink_mmap() on this vma. |
489 | */ | 489 | */ |
490 | sun4c_update_mmu_cache (find_vma(current->mm, address), address, | 490 | sun4c_update_mmu_cache (find_vma(current->mm, address), address, |
491 | *ptep); | 491 | ptep); |
492 | else | 492 | else |
493 | do_sparc_fault(regs, text_fault, write, address); | 493 | do_sparc_fault(regs, text_fault, write, address); |
494 | } | 494 | } |
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 1886d37d411..9245a822a2f 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c | |||
@@ -289,12 +289,13 @@ static void flush_dcache(unsigned long pfn) | |||
289 | } | 289 | } |
290 | } | 290 | } |
291 | 291 | ||
292 | void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte) | 292 | void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) |
293 | { | 293 | { |
294 | struct mm_struct *mm; | 294 | struct mm_struct *mm; |
295 | struct tsb *tsb; | 295 | struct tsb *tsb; |
296 | unsigned long tag, flags; | 296 | unsigned long tag, flags; |
297 | unsigned long tsb_index, tsb_hash_shift; | 297 | unsigned long tsb_index, tsb_hash_shift; |
298 | pte_t pte = *ptep; | ||
298 | 299 | ||
299 | if (tlb_type != hypervisor) { | 300 | if (tlb_type != hypervisor) { |
300 | unsigned long pfn = pte_pfn(pte); | 301 | unsigned long pfn = pte_pfn(pte); |
diff --git a/arch/sparc/mm/nosun4c.c b/arch/sparc/mm/nosun4c.c index 196263f895b..4e62c27147c 100644 --- a/arch/sparc/mm/nosun4c.c +++ b/arch/sparc/mm/nosun4c.c | |||
@@ -62,7 +62,7 @@ pte_t *sun4c_pte_offset_kernel(pmd_t *dir, unsigned long address) | |||
62 | return NULL; | 62 | return NULL; |
63 | } | 63 | } |
64 | 64 | ||
65 | void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte) | 65 | void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) |
66 | { | 66 | { |
67 | } | 67 | } |
68 | 68 | ||
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index 367321a030d..df49b200ca4 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c | |||
@@ -694,7 +694,7 @@ extern void tsunami_setup_blockops(void); | |||
694 | * The following code is a deadwood that may be necessary when | 694 | * The following code is a deadwood that may be necessary when |
695 | * we start to make precise page flushes again. --zaitcev | 695 | * we start to make precise page flushes again. --zaitcev |
696 | */ | 696 | */ |
697 | static void swift_update_mmu_cache(struct vm_area_struct * vma, unsigned long address, pte_t pte) | 697 | static void swift_update_mmu_cache(struct vm_area_struct * vma, unsigned long address, pte_t *ptep) |
698 | { | 698 | { |
699 | #if 0 | 699 | #if 0 |
700 | static unsigned long last; | 700 | static unsigned long last; |
@@ -703,10 +703,10 @@ static void swift_update_mmu_cache(struct vm_area_struct * vma, unsigned long ad | |||
703 | 703 | ||
704 | if (address == last) { | 704 | if (address == last) { |
705 | val = srmmu_hwprobe(address); | 705 | val = srmmu_hwprobe(address); |
706 | if (val != 0 && pte_val(pte) != val) { | 706 | if (val != 0 && pte_val(*ptep) != val) { |
707 | printk("swift_update_mmu_cache: " | 707 | printk("swift_update_mmu_cache: " |
708 | "addr %lx put %08x probed %08x from %p\n", | 708 | "addr %lx put %08x probed %08x from %p\n", |
709 | address, pte_val(pte), val, | 709 | address, pte_val(*ptep), val, |
710 | __builtin_return_address(0)); | 710 | __builtin_return_address(0)); |
711 | srmmu_flush_whole_tlb(); | 711 | srmmu_flush_whole_tlb(); |
712 | } | 712 | } |
diff --git a/arch/sparc/mm/sun4c.c b/arch/sparc/mm/sun4c.c index a89baf0d875..18652534b91 100644 --- a/arch/sparc/mm/sun4c.c +++ b/arch/sparc/mm/sun4c.c | |||
@@ -1887,7 +1887,7 @@ static void sun4c_check_pgt_cache(int low, int high) | |||
1887 | /* An experiment, turn off by default for now... -DaveM */ | 1887 | /* An experiment, turn off by default for now... -DaveM */ |
1888 | #define SUN4C_PRELOAD_PSEG | 1888 | #define SUN4C_PRELOAD_PSEG |
1889 | 1889 | ||
1890 | void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte) | 1890 | void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) |
1891 | { | 1891 | { |
1892 | unsigned long flags; | 1892 | unsigned long flags; |
1893 | int pseg; | 1893 | int pseg; |
@@ -1929,7 +1929,7 @@ void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, p | |||
1929 | start += PAGE_SIZE; | 1929 | start += PAGE_SIZE; |
1930 | } | 1930 | } |
1931 | #ifndef SUN4C_PRELOAD_PSEG | 1931 | #ifndef SUN4C_PRELOAD_PSEG |
1932 | sun4c_put_pte(address, pte_val(pte)); | 1932 | sun4c_put_pte(address, pte_val(*ptep)); |
1933 | #endif | 1933 | #endif |
1934 | local_irq_restore(flags); | 1934 | local_irq_restore(flags); |
1935 | return; | 1935 | return; |
@@ -1940,7 +1940,7 @@ void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, p | |||
1940 | add_lru(entry); | 1940 | add_lru(entry); |
1941 | } | 1941 | } |
1942 | 1942 | ||
1943 | sun4c_put_pte(address, pte_val(pte)); | 1943 | sun4c_put_pte(address, pte_val(*ptep)); |
1944 | local_irq_restore(flags); | 1944 | local_irq_restore(flags); |
1945 | } | 1945 | } |
1946 | 1946 | ||