Lines Matching refs:addr

22 				unsigned long addr;  member
29 unsigned long addr; member
33 unsigned long addr; member
63 ret = map(hvc->id, op->u.mmap.addr, op->u.mmap.len, in do_ops()
68 ret = unmap(hvc->id, op->u.munmap.addr, in do_ops()
72 ret = protect(hvc->id, op->u.mprotect.addr, in do_ops()
98 (last->u.mmap.addr + last->u.mmap.len == virt) && in add_mmap()
113 .u = { .mmap = { .addr = virt, in add_mmap()
122 static int add_munmap(unsigned long addr, unsigned long len, in add_munmap() argument
128 if ((addr >= STUB_START) && (addr < STUB_END)) in add_munmap()
134 (last->u.munmap.addr + last->u.mmap.len == addr)) { in add_munmap()
147 .u = { .munmap = { .addr = addr, in add_munmap()
152 static int add_mprotect(unsigned long addr, unsigned long len, in add_mprotect() argument
161 (last->u.mprotect.addr + last->u.mprotect.len == addr) && in add_mprotect()
175 .u = { .mprotect = { .addr = addr, in add_mprotect()
183 static inline int update_pte_range(pmd_t *pmd, unsigned long addr, in update_pte_range() argument
190 pte = pte_offset_kernel(pmd, addr); in update_pte_range()
192 if ((addr >= STUB_START) && (addr < STUB_END)) in update_pte_range()
208 ret = add_mmap(addr, pte_val(*pte) & PAGE_MASK, in update_pte_range()
211 ret = add_munmap(addr, PAGE_SIZE, hvc); in update_pte_range()
213 ret = add_mprotect(addr, PAGE_SIZE, prot, hvc); in update_pte_range()
215 } while (pte++, addr += PAGE_SIZE, ((addr < end) && !ret)); in update_pte_range()
219 static inline int update_pmd_range(pud_t *pud, unsigned long addr, in update_pmd_range() argument
227 pmd = pmd_offset(pud, addr); in update_pmd_range()
229 next = pmd_addr_end(addr, end); in update_pmd_range()
232 ret = add_munmap(addr, next - addr, hvc); in update_pmd_range()
236 else ret = update_pte_range(pmd, addr, next, hvc); in update_pmd_range()
237 } while (pmd++, addr = next, ((addr < end) && !ret)); in update_pmd_range()
241 static inline int update_pud_range(pgd_t *pgd, unsigned long addr, in update_pud_range() argument
249 pud = pud_offset(pgd, addr); in update_pud_range()
251 next = pud_addr_end(addr, end); in update_pud_range()
254 ret = add_munmap(addr, next - addr, hvc); in update_pud_range()
258 else ret = update_pmd_range(pud, addr, next, hvc); in update_pud_range()
259 } while (pud++, addr = next, ((addr < end) && !ret)); in update_pud_range()
268 unsigned long addr = start_addr, next; in fix_range_common() local
272 pgd = pgd_offset(mm, addr); in fix_range_common()
274 next = pgd_addr_end(addr, end_addr); in fix_range_common()
277 ret = add_munmap(addr, next - addr, &hvc); in fix_range_common()
281 else ret = update_pud_range(pgd, addr, next, &hvc); in fix_range_common()
282 } while (pgd++, addr = next, ((addr < end_addr) && !ret)); in fix_range_common()
305 unsigned long addr, last; in flush_tlb_kernel_range_common() local
309 for (addr = start; addr < end;) { in flush_tlb_kernel_range_common()
310 pgd = pgd_offset(mm, addr); in flush_tlb_kernel_range_common()
312 last = ADD_ROUND(addr, PGDIR_SIZE); in flush_tlb_kernel_range_common()
317 err = os_unmap_memory((void *) addr, in flush_tlb_kernel_range_common()
318 last - addr); in flush_tlb_kernel_range_common()
323 addr = last; in flush_tlb_kernel_range_common()
327 pud = pud_offset(pgd, addr); in flush_tlb_kernel_range_common()
329 last = ADD_ROUND(addr, PUD_SIZE); in flush_tlb_kernel_range_common()
334 err = os_unmap_memory((void *) addr, in flush_tlb_kernel_range_common()
335 last - addr); in flush_tlb_kernel_range_common()
340 addr = last; in flush_tlb_kernel_range_common()
344 pmd = pmd_offset(pud, addr); in flush_tlb_kernel_range_common()
346 last = ADD_ROUND(addr, PMD_SIZE); in flush_tlb_kernel_range_common()
351 err = os_unmap_memory((void *) addr, in flush_tlb_kernel_range_common()
352 last - addr); in flush_tlb_kernel_range_common()
357 addr = last; in flush_tlb_kernel_range_common()
361 pte = pte_offset_kernel(pmd, addr); in flush_tlb_kernel_range_common()
364 err = os_unmap_memory((void *) addr, in flush_tlb_kernel_range_common()
370 map_memory(addr, in flush_tlb_kernel_range_common()
376 os_protect_memory((void *) addr, PAGE_SIZE, 1, 1, 1); in flush_tlb_kernel_range_common()
378 addr += PAGE_SIZE; in flush_tlb_kernel_range_common()
468 pte_t *addr_pte(struct task_struct *task, unsigned long addr) in addr_pte() argument
470 pgd_t *pgd = pgd_offset(task->mm, addr); in addr_pte()
471 pud_t *pud = pud_offset(pgd, addr); in addr_pte()
472 pmd_t *pmd = pmd_offset(pud, addr); in addr_pte()
474 return pte_offset_map(pmd, addr); in addr_pte()
492 void __flush_tlb_one(unsigned long addr) in __flush_tlb_one() argument
494 flush_tlb_kernel_range_common(addr, addr + PAGE_SIZE); in __flush_tlb_one()