Lines Matching full:ui

322 static int read_unwind_spec_eh_frame(struct dso *dso, struct unwind_info *ui,  in read_unwind_spec_eh_frame()  argument
333 fd = dso__data_get_fd(dso, ui->machine); in read_unwind_spec_eh_frame()
347 maps__for_each_map(thread__maps(ui->thread), read_unwind_spec_eh_frame_maps_cb, &args); in read_unwind_spec_eh_frame()
352 ret = unwind_spec_ehframe(dso, ui->machine, dso__data(dso)->eh_frame_hdr_offset, in read_unwind_spec_eh_frame()
435 static struct map *find_map(unw_word_t ip, struct unwind_info *ui) in find_map() argument
441 thread__find_map(ui->thread, PERF_RECORD_MISC_USER, ip, &al); in find_map()
451 struct unwind_info *ui = arg; in find_proc_info() local
458 map = find_map(ip, ui); in find_proc_info()
471 if (!read_unwind_spec_eh_frame(dso, ui, &table_data, &segbase, &fde_count)) { in find_proc_info()
487 !read_unwind_spec_debug_frame(dso, ui->machine, &segbase)) { in find_proc_info()
488 int fd = dso__data_get_fd(dso, ui->machine); in find_proc_info()
544 static int access_dso_mem(struct unwind_info *ui, unw_word_t addr, in access_dso_mem() argument
551 map = find_map(addr, ui); in access_dso_mem()
564 size = dso__data_read_addr(dso, map, ui->machine, in access_dso_mem()
574 struct unwind_info *ui = arg; in access_mem() local
575 const char *arch = perf_env__arch(ui->machine->env); in access_mem()
576 struct stack_dump *stack = &ui->sample->user_stack; in access_mem()
582 if (__write || !stack || !ui->sample->user_regs.regs) { in access_mem()
587 ret = perf_reg_value(&start, &ui->sample->user_regs, in access_mem()
599 ret = access_dso_mem(ui, addr, valp); in access_mem()
621 struct unwind_info *ui = arg; in access_reg() local
631 if (!ui->sample->user_regs.regs) { in access_reg()
640 ret = perf_reg_value(&val, &ui->sample->user_regs, id); in access_reg()
642 if (!ui->best_effort) in access_reg()
734 static int get_entries(struct unwind_info *ui, unwind_entry_cb_t cb, in get_entries() argument
737 const char *arch = perf_env__arch(ui->machine->env); in get_entries()
744 ret = perf_reg_value(&val, &ui->sample->user_regs, in get_entries()
756 WARN_ONCE(!ui->thread, "WARNING: ui->thread is NULL"); in get_entries()
757 addr_space = maps__addr_space(thread__maps(ui->thread)); in get_entries()
762 ret = unw_init_remote(&c, addr_space, ui); in get_entries()
763 if (ret && !ui->best_effort) in get_entries()
793 ret = ips[j] ? entry(ips[j], ui->thread, cb, arg) : 0; in get_entries()
804 struct unwind_info ui = { in _unwind__get_entries() local
817 return get_entries(&ui, cb, arg, max_stack); in _unwind__get_entries()