Lines Matching full:ui
305 static int read_unwind_spec_eh_frame(struct dso *dso, struct unwind_info *ui, in read_unwind_spec_eh_frame() argument
314 fd = dso__data_get_fd(dso, ui->machine); in read_unwind_spec_eh_frame()
328 maps__for_each_entry(thread__maps(ui->thread), map_node) { in read_unwind_spec_eh_frame()
338 ret = unwind_spec_ehframe(dso, ui->machine, dso->data.eh_frame_hdr_offset, in read_unwind_spec_eh_frame()
416 static struct map *find_map(unw_word_t ip, struct unwind_info *ui) in find_map() argument
422 thread__find_map(ui->thread, PERF_RECORD_MISC_USER, ip, &al); in find_map()
432 struct unwind_info *ui = arg; in find_proc_info() local
439 map = find_map(ip, ui); in find_proc_info()
452 if (!read_unwind_spec_eh_frame(dso, ui, &table_data, &segbase, &fde_count)) { in find_proc_info()
468 !read_unwind_spec_debug_frame(dso, ui->machine, &segbase)) { in find_proc_info()
469 int fd = dso__data_get_fd(dso, ui->machine); in find_proc_info()
525 static int access_dso_mem(struct unwind_info *ui, unw_word_t addr, in access_dso_mem() argument
532 map = find_map(addr, ui); in access_dso_mem()
545 size = dso__data_read_addr(dso, map, ui->machine, in access_dso_mem()
555 struct unwind_info *ui = arg; in access_mem() local
556 const char *arch = perf_env__arch(ui->machine->env); in access_mem()
557 struct stack_dump *stack = &ui->sample->user_stack; in access_mem()
563 if (__write || !stack || !ui->sample->user_regs.regs) { in access_mem()
568 ret = perf_reg_value(&start, &ui->sample->user_regs, in access_mem()
580 ret = access_dso_mem(ui, addr, valp); in access_mem()
602 struct unwind_info *ui = arg; in access_reg() local
612 if (!ui->sample->user_regs.regs) { in access_reg()
621 ret = perf_reg_value(&val, &ui->sample->user_regs, id); in access_reg()
623 if (!ui->best_effort) in access_reg()
715 static int get_entries(struct unwind_info *ui, unwind_entry_cb_t cb, in get_entries() argument
718 const char *arch = perf_env__arch(ui->machine->env); in get_entries()
725 ret = perf_reg_value(&val, &ui->sample->user_regs, in get_entries()
737 WARN_ONCE(!ui->thread, "WARNING: ui->thread is NULL"); in get_entries()
738 addr_space = maps__addr_space(thread__maps(ui->thread)); in get_entries()
743 ret = unw_init_remote(&c, addr_space, ui); in get_entries()
744 if (ret && !ui->best_effort) in get_entries()
774 ret = ips[j] ? entry(ips[j], ui->thread, cb, arg) : 0; in get_entries()
785 struct unwind_info ui = { in _unwind__get_entries() local
798 return get_entries(&ui, cb, arg, max_stack); in _unwind__get_entries()