• Home
  • Raw
  • Download

Lines Matching refs:pid

30 					unsigned int pid,  in tlbiel_radix_set_isa300()  argument
37 rs = ((unsigned long)pid << PPC_BITLSHIFT(31)); in tlbiel_radix_set_isa300()
94 static __always_inline void __tlbiel_pid(unsigned long pid, int set, in __tlbiel_pid() argument
101 rs = ((unsigned long)pid) << PPC_BITLSHIFT(31); in __tlbiel_pid()
110 static __always_inline void __tlbie_pid(unsigned long pid, unsigned long ric) in __tlbie_pid() argument
115 rs = pid << PPC_BITLSHIFT(31); in __tlbie_pid()
152 static __always_inline void __tlbiel_va(unsigned long va, unsigned long pid, in __tlbiel_va() argument
159 rs = pid << PPC_BITLSHIFT(31); in __tlbiel_va()
168 static __always_inline void __tlbie_va(unsigned long va, unsigned long pid, in __tlbie_va() argument
175 rs = pid << PPC_BITLSHIFT(31); in __tlbie_va()
201 static inline void fixup_tlbie_va(unsigned long va, unsigned long pid, in fixup_tlbie_va() argument
211 __tlbie_va(va, pid, ap, RIC_FLUSH_TLB); in fixup_tlbie_va()
215 static inline void fixup_tlbie_va_range(unsigned long va, unsigned long pid, in fixup_tlbie_va_range() argument
225 __tlbie_va(va, pid, ap, RIC_FLUSH_TLB); in fixup_tlbie_va_range()
229 static inline void fixup_tlbie_pid(unsigned long pid) in fixup_tlbie_pid() argument
244 __tlbie_va(va, pid, mmu_get_ap(MMU_PAGE_64K), RIC_FLUSH_TLB); in fixup_tlbie_pid()
285 static inline void _tlbiel_pid(unsigned long pid, unsigned long ric) in _tlbiel_pid() argument
295 __tlbiel_pid(pid, 0, RIC_FLUSH_PWC); in _tlbiel_pid()
299 __tlbiel_pid(pid, 0, RIC_FLUSH_TLB); in _tlbiel_pid()
308 __tlbiel_pid(pid, 0, RIC_FLUSH_ALL); in _tlbiel_pid()
313 __tlbiel_pid(pid, set, RIC_FLUSH_TLB); in _tlbiel_pid()
319 static inline void _tlbie_pid(unsigned long pid, unsigned long ric) in _tlbie_pid() argument
330 __tlbie_pid(pid, RIC_FLUSH_TLB); in _tlbie_pid()
331 fixup_tlbie_pid(pid); in _tlbie_pid()
334 __tlbie_pid(pid, RIC_FLUSH_PWC); in _tlbie_pid()
338 __tlbie_pid(pid, RIC_FLUSH_ALL); in _tlbie_pid()
339 fixup_tlbie_pid(pid); in _tlbie_pid()
345 unsigned long pid; member
354 _tlbiel_pid(t->pid, RIC_FLUSH_TLB); in do_tlbiel_pid()
356 _tlbiel_pid(t->pid, RIC_FLUSH_PWC); in do_tlbiel_pid()
358 _tlbiel_pid(t->pid, RIC_FLUSH_ALL); in do_tlbiel_pid()
362 unsigned long pid, unsigned long ric) in _tlbiel_pid_multicast() argument
365 struct tlbiel_pid t = { .pid = pid, .ric = ric }; in _tlbiel_pid_multicast()
374 _tlbie_pid(pid, RIC_FLUSH_ALL); in _tlbiel_pid_multicast()
425 unsigned long pid, unsigned long page_size, in __tlbiel_va_range() argument
432 __tlbiel_va(addr, pid, ap, RIC_FLUSH_TLB); in __tlbiel_va_range()
435 static __always_inline void _tlbiel_va(unsigned long va, unsigned long pid, in _tlbiel_va() argument
441 __tlbiel_va(va, pid, ap, ric); in _tlbiel_va()
446 unsigned long pid, unsigned long page_size, in _tlbiel_va_range() argument
451 __tlbiel_pid(pid, 0, RIC_FLUSH_PWC); in _tlbiel_va_range()
452 __tlbiel_va_range(start, end, pid, page_size, psize); in _tlbiel_va_range()
457 unsigned long pid, unsigned long page_size, in __tlbie_va_range() argument
464 __tlbie_va(addr, pid, ap, RIC_FLUSH_TLB); in __tlbie_va_range()
466 fixup_tlbie_va_range(addr - page_size, pid, ap); in __tlbie_va_range()
469 static __always_inline void _tlbie_va(unsigned long va, unsigned long pid, in _tlbie_va() argument
475 __tlbie_va(va, pid, ap, ric); in _tlbie_va()
476 fixup_tlbie_va(va, pid, ap); in _tlbie_va()
481 unsigned long pid; member
492 _tlbiel_va(t->va, t->pid, t->psize, RIC_FLUSH_TLB); in do_tlbiel_va()
494 _tlbiel_va(t->va, t->pid, t->psize, RIC_FLUSH_PWC); in do_tlbiel_va()
496 _tlbiel_va(t->va, t->pid, t->psize, RIC_FLUSH_ALL); in do_tlbiel_va()
500 unsigned long va, unsigned long pid, in _tlbiel_va_multicast() argument
504 struct tlbiel_va t = { .va = va, .pid = pid, .psize = psize, .ric = ric }; in _tlbiel_va_multicast()
507 _tlbie_va(va, pid, psize, RIC_FLUSH_TLB); in _tlbiel_va_multicast()
511 unsigned long pid; member
523 _tlbiel_va_range(t->start, t->end, t->pid, t->page_size, in do_tlbiel_va_range()
539 unsigned long pid, unsigned long page_size, in _tlbie_va_range() argument
544 __tlbie_pid(pid, RIC_FLUSH_PWC); in _tlbie_va_range()
545 __tlbie_va_range(start, end, pid, page_size, psize); in _tlbie_va_range()
551 unsigned long pid, unsigned long page_size, in _tlbiel_va_range_multicast() argument
556 .pid = pid, .page_size = page_size, in _tlbiel_va_range_multicast()
561 _tlbie_va_range(start, end, pid, page_size, psize, also_pwc); in _tlbiel_va_range_multicast()
577 unsigned long pid; in radix__local_flush_tlb_mm() local
580 pid = mm->context.id; in radix__local_flush_tlb_mm()
581 if (pid != MMU_NO_CONTEXT) in radix__local_flush_tlb_mm()
582 _tlbiel_pid(pid, RIC_FLUSH_TLB); in radix__local_flush_tlb_mm()
590 unsigned long pid; in radix__local_flush_all_mm() local
593 pid = mm->context.id; in radix__local_flush_all_mm()
594 if (pid != MMU_NO_CONTEXT) in radix__local_flush_all_mm()
595 _tlbiel_pid(pid, RIC_FLUSH_ALL); in radix__local_flush_all_mm()
609 unsigned long pid; in radix__local_flush_tlb_page_psize() local
612 pid = mm->context.id; in radix__local_flush_tlb_page_psize()
613 if (pid != MMU_NO_CONTEXT) in radix__local_flush_tlb_page_psize()
614 _tlbiel_va(vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__local_flush_tlb_page_psize()
654 unsigned long pid = mm->context.id; in do_exit_flush_lazy_tlb() local
679 _tlbiel_pid(pid, RIC_FLUSH_ALL); in do_exit_flush_lazy_tlb()
697 unsigned long pid; in radix__flush_tlb_mm() local
699 pid = mm->context.id; in radix__flush_tlb_mm()
700 if (unlikely(pid == MMU_NO_CONTEXT)) in radix__flush_tlb_mm()
720 pseries_rpt_invalidate(pid, tgt, H_RPTI_TYPE_TLB, in radix__flush_tlb_mm()
724 _tlbie_pid(pid, RIC_FLUSH_ALL); in radix__flush_tlb_mm()
726 _tlbie_pid(pid, RIC_FLUSH_TLB); in radix__flush_tlb_mm()
728 _tlbiel_pid_multicast(mm, pid, RIC_FLUSH_TLB); in radix__flush_tlb_mm()
732 _tlbiel_pid(pid, RIC_FLUSH_TLB); in radix__flush_tlb_mm()
740 unsigned long pid; in __flush_all_mm() local
742 pid = mm->context.id; in __flush_all_mm()
743 if (unlikely(pid == MMU_NO_CONTEXT)) in __flush_all_mm()
762 pseries_rpt_invalidate(pid, tgt, type, in __flush_all_mm()
765 _tlbie_pid(pid, RIC_FLUSH_ALL); in __flush_all_mm()
767 _tlbiel_pid_multicast(mm, pid, RIC_FLUSH_ALL); in __flush_all_mm()
770 _tlbiel_pid(pid, RIC_FLUSH_ALL); in __flush_all_mm()
784 unsigned long pid; in radix__flush_tlb_page_psize() local
786 pid = mm->context.id; in radix__flush_tlb_page_psize()
787 if (unlikely(pid == MMU_NO_CONTEXT)) in radix__flush_tlb_page_psize()
806 pseries_rpt_invalidate(pid, tgt, H_RPTI_TYPE_TLB, in radix__flush_tlb_page_psize()
810 _tlbie_va(vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__flush_tlb_page_psize()
812 _tlbiel_va_multicast(mm, vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__flush_tlb_page_psize()
815 _tlbiel_va(vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__flush_tlb_page_psize()
891 unsigned long pid; in __radix__flush_tlb_range() local
897 pid = mm->context.id; in __radix__flush_tlb_range()
898 if (unlikely(pid == MMU_NO_CONTEXT)) in __radix__flush_tlb_range()
928 pseries_rpt_invalidate(pid, tgt, H_RPTI_TYPE_TLB, pg_sizes, in __radix__flush_tlb_range()
932 _tlbiel_pid(pid, RIC_FLUSH_TLB); in __radix__flush_tlb_range()
936 _tlbie_pid(pid, RIC_FLUSH_ALL); in __radix__flush_tlb_range()
938 _tlbie_pid(pid, RIC_FLUSH_TLB); in __radix__flush_tlb_range()
940 _tlbiel_pid_multicast(mm, pid, RIC_FLUSH_TLB); in __radix__flush_tlb_range()
956 __tlbiel_va_range(start, end, pid, page_size, mmu_virtual_psize); in __radix__flush_tlb_range()
958 __tlbiel_va_range(hstart, hend, pid, in __radix__flush_tlb_range()
963 __tlbie_va_range(start, end, pid, page_size, mmu_virtual_psize); in __radix__flush_tlb_range()
965 __tlbie_va_range(hstart, hend, pid, in __radix__flush_tlb_range()
970 start, end, pid, page_size, mmu_virtual_psize, false); in __radix__flush_tlb_range()
973 hstart, hend, pid, PMD_SIZE, MMU_PAGE_2M, false); in __radix__flush_tlb_range()
1083 unsigned long pid; in __radix__flush_tlb_range_psize() local
1089 pid = mm->context.id; in __radix__flush_tlb_range_psize()
1090 if (unlikely(pid == MMU_NO_CONTEXT)) in __radix__flush_tlb_range_psize()
1121 pseries_rpt_invalidate(pid, tgt, type, pg_sizes, start, end); in __radix__flush_tlb_range_psize()
1124 _tlbiel_pid(pid, also_pwc ? RIC_FLUSH_ALL : RIC_FLUSH_TLB); in __radix__flush_tlb_range_psize()
1130 _tlbie_pid(pid, in __radix__flush_tlb_range_psize()
1133 _tlbiel_pid_multicast(mm, pid, in __radix__flush_tlb_range_psize()
1140 _tlbiel_va_range(start, end, pid, page_size, psize, also_pwc); in __radix__flush_tlb_range_psize()
1142 _tlbie_va_range(start, end, pid, page_size, psize, also_pwc); in __radix__flush_tlb_range_psize()
1145 start, end, pid, page_size, psize, also_pwc); in __radix__flush_tlb_range_psize()
1165 unsigned long pid, end; in radix__flush_tlb_collapsed_pmd() local
1167 pid = mm->context.id; in radix__flush_tlb_collapsed_pmd()
1168 if (unlikely(pid == MMU_NO_CONTEXT)) in radix__flush_tlb_collapsed_pmd()
1197 pseries_rpt_invalidate(pid, tgt, type, pg_sizes, in radix__flush_tlb_collapsed_pmd()
1200 _tlbie_va_range(addr, end, pid, PAGE_SIZE, mmu_virtual_psize, true); in radix__flush_tlb_collapsed_pmd()
1203 addr, end, pid, PAGE_SIZE, mmu_virtual_psize, true); in radix__flush_tlb_collapsed_pmd()
1206 _tlbiel_va_range(addr, end, pid, PAGE_SIZE, mmu_virtual_psize, true); in radix__flush_tlb_collapsed_pmd()
1247 unsigned long pid = mm->context.id; in radix_kvm_prefetch_workaround() local
1249 if (unlikely(pid == MMU_NO_CONTEXT)) in radix_kvm_prefetch_workaround()
1284 _tlbiel_pid(pid, RIC_FLUSH_ALL); in radix_kvm_prefetch_workaround()