Lines Matching refs:addr
133 write_validate (void *addr) in write_validate() argument
154 ret = syscall(SYS_write, mem_validate_pipe[1], addr, 1); in write_validate()
161 static int (*mem_validate_func) (void *addr, size_t len);
162 static int msync_validate (void *addr, size_t len) in msync_validate() argument
164 if (msync (addr, len, MS_ASYNC) != 0) in msync_validate()
169 return write_validate (addr); in msync_validate()
173 static int mincore_validate (void *addr, size_t len) in mincore_validate() argument
179 if (mincore (addr, len, (unsigned char *)mvec) != 0) in mincore_validate()
184 return write_validate (addr); in mincore_validate()
199 unw_word_t addr = PAGE_START((unw_word_t)&present); in tdep_init_mem_validate() local
202 while ((ret = mincore ((void*)addr, PAGE_SIZE, (unsigned char *)mvec)) == -1 && in tdep_init_mem_validate()
225 is_cached_valid_mem(unw_word_t addr) in is_cached_valid_mem() argument
230 if (addr == last_good_addr[i]) in is_cached_valid_mem()
237 cache_valid_mem(unw_word_t addr) in cache_valid_mem() argument
243 last_good_addr[victim] = addr; in cache_valid_mem()
250 last_good_addr[victim] = addr; in cache_valid_mem()
261 is_cached_valid_mem(unw_word_t addr) in is_cached_valid_mem() argument
266 if (addr == atomic_load(&last_good_addr[i])) in is_cached_valid_mem()
273 cache_valid_mem(unw_word_t addr) in cache_valid_mem() argument
279 if (atomic_compare_exchange_strong(&last_good_addr[victim], &zero, addr)) { in cache_valid_mem()
286 atomic_store(&last_good_addr[victim], addr); in cache_valid_mem()
293 validate_mem (unw_word_t addr) in validate_mem() argument
297 if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr)) in validate_mem()
302 addr = PAGE_START(addr); in validate_mem()
304 if (addr == 0) in validate_mem()
307 if (is_cached_valid_mem(addr)) in validate_mem()
310 if (mem_validate_func ((void *) addr, len) == -1) in validate_mem()
313 cache_valid_mem(addr); in validate_mem()
319 access_mem (unw_addr_space_t as, unw_word_t addr, unw_word_t *val, int write, in access_mem() argument
324 if (c && validate_mem(addr)) in access_mem()
329 Debug (16, "mem[%x] <- %x\n", addr, *val); in access_mem()
330 *(unw_word_t *) addr = *val; in access_mem()
334 *val = *(unw_word_t *) addr; in access_mem()
335 Debug (16, "mem[%x] -> %x\n", addr, *val); in access_mem()
344 unw_word_t *addr; in access_reg() local
351 if (!(addr = uc_addr (uc, reg))) in access_reg()
356 *(unw_word_t *) addr = *val; in access_reg()
361 *val = *(unw_word_t *) addr; in access_reg()
376 unw_fpreg_t *addr; in access_fpreg() local
381 if (!(addr = uc_addr (uc, reg))) in access_fpreg()
388 *(unw_fpreg_t *) addr = *val; in access_fpreg()
392 *val = *(unw_fpreg_t *) addr; in access_fpreg()