Lines Matching defs:addr

44   void *addr;
48 case UNW_X86_64_R8: addr = &uc->uc_mcontext.gregs[REG_R8]; break;
49 case UNW_X86_64_R9: addr = &uc->uc_mcontext.gregs[REG_R9]; break;
50 case UNW_X86_64_R10: addr = &uc->uc_mcontext.gregs[REG_R10]; break;
51 case UNW_X86_64_R11: addr = &uc->uc_mcontext.gregs[REG_R11]; break;
52 case UNW_X86_64_R12: addr = &uc->uc_mcontext.gregs[REG_R12]; break;
53 case UNW_X86_64_R13: addr = &uc->uc_mcontext.gregs[REG_R13]; break;
54 case UNW_X86_64_R14: addr = &uc->uc_mcontext.gregs[REG_R14]; break;
55 case UNW_X86_64_R15: addr = &uc->uc_mcontext.gregs[REG_R15]; break;
56 case UNW_X86_64_RDI: addr = &uc->uc_mcontext.gregs[REG_RDI]; break;
57 case UNW_X86_64_RSI: addr = &uc->uc_mcontext.gregs[REG_RSI]; break;
58 case UNW_X86_64_RBP: addr = &uc->uc_mcontext.gregs[REG_RBP]; break;
59 case UNW_X86_64_RBX: addr = &uc->uc_mcontext.gregs[REG_RBX]; break;
60 case UNW_X86_64_RDX: addr = &uc->uc_mcontext.gregs[REG_RDX]; break;
61 case UNW_X86_64_RAX: addr = &uc->uc_mcontext.gregs[REG_RAX]; break;
62 case UNW_X86_64_RCX: addr = &uc->uc_mcontext.gregs[REG_RCX]; break;
63 case UNW_X86_64_RSP: addr = &uc->uc_mcontext.gregs[REG_RSP]; break;
64 case UNW_X86_64_RIP: addr = &uc->uc_mcontext.gregs[REG_RIP]; break;
67 addr = NULL;
69 return addr;
94 static int (*mem_validate_func) (void *addr, size_t len);
95 static int mem_is_valid (void *addr, size_t len)
115 validate_mem (unw_word_t addr)
120 if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr))
125 addr = PAGE_START(addr);
127 if (addr == 0)
132 if (last_good_addr[i] && (addr == last_good_addr[i]))
136 if (mem_validate_func ((void *) addr, len) == -1)
142 last_good_addr[victim++] = addr;
149 last_good_addr[victim] = addr;
157 access_mem (unw_addr_space_t as, unw_word_t addr, unw_word_t *val, int write,
162 Debug (16, "mem[%lx] <- %lx\n", addr, *val);
163 *(unw_word_t *) addr = *val;
170 && unlikely (validate_mem (addr))) {
171 Debug (16, "mem[%lx] -> invalid\n", addr);
174 *val = *(unw_word_t *) addr;
175 Debug (16, "mem[%lx] -> %lx\n", addr, *val);
184 unw_word_t *addr;
190 if (!(addr = uc_addr (uc, reg)))
195 *(unw_word_t *) addr = *val;
200 *val = *(unw_word_t *) addr;
215 unw_fpreg_t *addr;
221 if (!(addr = uc_addr (uc, reg)))
228 *(unw_fpreg_t *) addr = *val;
232 *val = *(unw_fpreg_t *) addr;