Lines Matching refs:addr
148 addr_t addr) in __peek_user_per() argument
152 if (addr == (addr_t) &dummy->cr9) in __peek_user_per()
156 else if (addr == (addr_t) &dummy->cr10) in __peek_user_per()
160 else if (addr == (addr_t) &dummy->cr11) in __peek_user_per()
164 else if (addr == (addr_t) &dummy->bits) in __peek_user_per()
168 else if (addr == (addr_t) &dummy->starting_addr) in __peek_user_per()
171 else if (addr == (addr_t) &dummy->ending_addr) in __peek_user_per()
174 else if (addr == (addr_t) &dummy->perc_atmid) in __peek_user_per()
178 else if (addr == (addr_t) &dummy->address) in __peek_user_per()
181 else if (addr == (addr_t) &dummy->access_id) in __peek_user_per()
197 static unsigned long __peek_user(struct task_struct *child, addr_t addr) in __peek_user() argument
202 if (addr < (addr_t) &dummy->regs.acrs) { in __peek_user()
206 tmp = *(addr_t *)((addr_t) &task_pt_regs(child)->psw + addr); in __peek_user()
207 if (addr == (addr_t) &dummy->regs.psw.mask) { in __peek_user()
213 } else if (addr < (addr_t) &dummy->regs.orig_gpr2) { in __peek_user()
217 offset = addr - (addr_t) &dummy->regs.acrs; in __peek_user()
223 if (addr == (addr_t) &dummy->regs.acrs[15]) in __peek_user()
228 } else if (addr == (addr_t) &dummy->regs.orig_gpr2) { in __peek_user()
234 } else if (addr < (addr_t) &dummy->regs.fp_regs) { in __peek_user()
241 } else if (addr == (addr_t) &dummy->regs.fp_regs.fpc) { in __peek_user()
248 } else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) { in __peek_user()
253 offset = addr - (addr_t) &dummy->regs.fp_regs.fprs; in __peek_user()
261 } else if (addr < (addr_t) (&dummy->regs.per_info + 1)) { in __peek_user()
265 addr -= (addr_t) &dummy->regs.per_info; in __peek_user()
266 tmp = __peek_user_per(child, addr); in __peek_user()
275 peek_user(struct task_struct *child, addr_t addr, addr_t data) in peek_user() argument
284 if (addr >= (addr_t) &((struct user *) NULL)->regs.acrs && in peek_user()
285 addr < (addr_t) &((struct user *) NULL)->regs.orig_gpr2) in peek_user()
287 if ((addr & mask) || addr > sizeof(struct user) - __ADDR_MASK) in peek_user()
290 tmp = __peek_user(child, addr); in peek_user()
295 addr_t addr, addr_t data) in __poke_user_per() argument
311 if (addr == (addr_t) &dummy->cr9) in __poke_user_per()
315 else if (addr == (addr_t) &dummy->starting_addr) in __poke_user_per()
318 else if (addr == (addr_t) &dummy->ending_addr) in __poke_user_per()
329 static int __poke_user(struct task_struct *child, addr_t addr, addr_t data) in __poke_user() argument
334 if (addr < (addr_t) &dummy->regs.acrs) { in __poke_user()
338 if (addr == (addr_t) &dummy->regs.psw.mask) { in __poke_user()
352 *(addr_t *)((addr_t) &task_pt_regs(child)->psw + addr) = data; in __poke_user()
354 } else if (addr < (addr_t) (&dummy->regs.orig_gpr2)) { in __poke_user()
358 offset = addr - (addr_t) &dummy->regs.acrs; in __poke_user()
365 if (addr == (addr_t) &dummy->regs.acrs[15]) in __poke_user()
370 } else if (addr == (addr_t) &dummy->regs.orig_gpr2) { in __poke_user()
376 } else if (addr < (addr_t) &dummy->regs.fp_regs) { in __poke_user()
383 } else if (addr == (addr_t) &dummy->regs.fp_regs.fpc) { in __poke_user()
392 } else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) { in __poke_user()
397 offset = addr - (addr_t) &dummy->regs.fp_regs.fprs; in __poke_user()
405 } else if (addr < (addr_t) (&dummy->regs.per_info + 1)) { in __poke_user()
409 addr -= (addr_t) &dummy->regs.per_info; in __poke_user()
410 __poke_user_per(child, addr, data); in __poke_user()
417 static int poke_user(struct task_struct *child, addr_t addr, addr_t data) in poke_user() argument
426 if (addr >= (addr_t) &((struct user *) NULL)->regs.acrs && in poke_user()
427 addr < (addr_t) &((struct user *) NULL)->regs.orig_gpr2) in poke_user()
429 if ((addr & mask) || addr > sizeof(struct user) - __ADDR_MASK) in poke_user()
432 return __poke_user(child, addr, data); in poke_user()
436 unsigned long addr, unsigned long data) in arch_ptrace() argument
444 return peek_user(child, addr, data); in arch_ptrace()
448 return poke_user(child, addr, data); in arch_ptrace()
452 if (copy_from_user(&parea, (void __force __user *) addr, in arch_ptrace()
455 addr = parea.kernel_addr; in arch_ptrace()
460 ret = peek_user(child, addr, data); in arch_ptrace()
466 ret = poke_user(child, addr, utmp); in arch_ptrace()
470 addr += sizeof(unsigned long); in arch_ptrace()
511 addr &= PSW_ADDR_INSN; in arch_ptrace()
512 return ptrace_request(child, request, addr, data); in arch_ptrace()
535 addr_t addr) in __peek_user_per_compat() argument
539 if (addr == (addr_t) &dummy32->cr9) in __peek_user_per_compat()
543 else if (addr == (addr_t) &dummy32->cr10) in __peek_user_per_compat()
547 else if (addr == (addr_t) &dummy32->cr11) in __peek_user_per_compat()
551 else if (addr == (addr_t) &dummy32->bits) in __peek_user_per_compat()
555 else if (addr == (addr_t) &dummy32->starting_addr) in __peek_user_per_compat()
558 else if (addr == (addr_t) &dummy32->ending_addr) in __peek_user_per_compat()
561 else if (addr == (addr_t) &dummy32->perc_atmid) in __peek_user_per_compat()
564 else if (addr == (addr_t) &dummy32->address) in __peek_user_per_compat()
567 else if (addr == (addr_t) &dummy32->access_id) in __peek_user_per_compat()
576 static u32 __peek_user_compat(struct task_struct *child, addr_t addr) in __peek_user_compat() argument
582 if (addr < (addr_t) &dummy32->regs.acrs) { in __peek_user_compat()
587 if (addr == (addr_t) &dummy32->regs.psw.mask) { in __peek_user_compat()
592 } else if (addr == (addr_t) &dummy32->regs.psw.addr) { in __peek_user_compat()
594 tmp = (__u32) regs->psw.addr | in __peek_user_compat()
598 tmp = *(__u32 *)((addr_t) ®s->psw + addr*2 + 4); in __peek_user_compat()
600 } else if (addr < (addr_t) (&dummy32->regs.orig_gpr2)) { in __peek_user_compat()
604 offset = addr - (addr_t) &dummy32->regs.acrs; in __peek_user_compat()
607 } else if (addr == (addr_t) (&dummy32->regs.orig_gpr2)) { in __peek_user_compat()
613 } else if (addr < (addr_t) &dummy32->regs.fp_regs) { in __peek_user_compat()
620 } else if (addr == (addr_t) &dummy32->regs.fp_regs.fpc) { in __peek_user_compat()
626 } else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) { in __peek_user_compat()
631 offset = addr - (addr_t) &dummy32->regs.fp_regs.fprs; in __peek_user_compat()
639 } else if (addr < (addr_t) (&dummy32->regs.per_info + 1)) { in __peek_user_compat()
643 addr -= (addr_t) &dummy32->regs.per_info; in __peek_user_compat()
644 tmp = __peek_user_per_compat(child, addr); in __peek_user_compat()
653 addr_t addr, addr_t data) in peek_user_compat() argument
657 if (!is_compat_task() || (addr & 3) || addr > sizeof(struct user) - 3) in peek_user_compat()
660 tmp = __peek_user_compat(child, addr); in peek_user_compat()
668 addr_t addr, __u32 data) in __poke_user_per_compat() argument
672 if (addr == (addr_t) &dummy32->cr9) in __poke_user_per_compat()
676 else if (addr == (addr_t) &dummy32->starting_addr) in __poke_user_per_compat()
679 else if (addr == (addr_t) &dummy32->ending_addr) in __poke_user_per_compat()
688 addr_t addr, addr_t data) in __poke_user_compat() argument
694 if (addr < (addr_t) &dummy32->regs.acrs) { in __poke_user_compat()
699 if (addr == (addr_t) &dummy32->regs.psw.mask) { in __poke_user_compat()
713 } else if (addr == (addr_t) &dummy32->regs.psw.addr) { in __poke_user_compat()
715 regs->psw.addr = (__u64) tmp & PSW32_ADDR_INSN; in __poke_user_compat()
721 *(__u32*)((addr_t) ®s->psw + addr*2 + 4) = tmp; in __poke_user_compat()
723 } else if (addr < (addr_t) (&dummy32->regs.orig_gpr2)) { in __poke_user_compat()
727 offset = addr - (addr_t) &dummy32->regs.acrs; in __poke_user_compat()
730 } else if (addr == (addr_t) (&dummy32->regs.orig_gpr2)) { in __poke_user_compat()
736 } else if (addr < (addr_t) &dummy32->regs.fp_regs) { in __poke_user_compat()
743 } else if (addr == (addr_t) &dummy32->regs.fp_regs.fpc) { in __poke_user_compat()
751 } else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) { in __poke_user_compat()
756 offset = addr - (addr_t) &dummy32->regs.fp_regs.fprs; in __poke_user_compat()
764 } else if (addr < (addr_t) (&dummy32->regs.per_info + 1)) { in __poke_user_compat()
768 addr -= (addr_t) &dummy32->regs.per_info; in __poke_user_compat()
769 __poke_user_per_compat(child, addr, data); in __poke_user_compat()
776 addr_t addr, addr_t data) in poke_user_compat() argument
778 if (!is_compat_task() || (addr & 3) || in poke_user_compat()
779 addr > sizeof(struct compat_user) - 3) in poke_user_compat()
782 return __poke_user_compat(child, addr, data); in poke_user_compat()
788 unsigned long addr = caddr; in compat_arch_ptrace() local
796 return peek_user_compat(child, addr, data); in compat_arch_ptrace()
800 return poke_user_compat(child, addr, data); in compat_arch_ptrace()
804 if (copy_from_user(&parea, (void __force __user *) addr, in compat_arch_ptrace()
807 addr = parea.kernel_addr; in compat_arch_ptrace()
812 ret = peek_user_compat(child, addr, data); in compat_arch_ptrace()
818 ret = poke_user_compat(child, addr, utmp); in compat_arch_ptrace()
822 addr += sizeof(unsigned int); in compat_arch_ptrace()
832 return compat_ptrace_request(child, request, addr, data); in compat_arch_ptrace()
1509 static int regs_within_kernel_stack(struct pt_regs *regs, unsigned long addr) in regs_within_kernel_stack() argument
1513 return (addr & ~(THREAD_SIZE - 1)) == (ksp & ~(THREAD_SIZE - 1)); in regs_within_kernel_stack()
1527 unsigned long addr; in regs_get_kernel_stack_nth() local
1529 addr = kernel_stack_pointer(regs) + n * sizeof(long); in regs_get_kernel_stack_nth()
1530 if (!regs_within_kernel_stack(regs, addr)) in regs_get_kernel_stack_nth()
1532 return *(unsigned long *)addr; in regs_get_kernel_stack_nth()