Lines Matching refs:al
451 struct addr_location al;
453 al.map = maps__find(&machine->kmaps, tp->addr);
454 if (al.map && map__load(al.map) >= 0) {
455 al.addr = al.map->map_ip(al.map, tp->addr);
456 al.sym = map__find_symbol(al.map, al.addr);
457 if (al.sym)
458 ret += symbol__fprintf_symname_offs(al.sym, &al, fp);
534 struct addr_location *al)
540 al->maps = maps;
541 al->thread = thread;
542 al->addr = addr;
543 al->cpumode = cpumode;
544 al->filtered = 0;
547 al->map = NULL;
552 al->level = 'k';
553 al->maps = maps = &machine->kmaps;
556 al->level = '.';
558 al->level = 'g';
559 al->maps = maps = &machine->kmaps;
562 al->level = 'u';
564 al->level = 'H';
565 al->map = NULL;
570 al->filtered |= (1 << HIST_FILTER__GUEST);
574 al->filtered |= (1 << HIST_FILTER__HOST);
579 al->map = maps__find(maps, al->addr);
580 if (al->map != NULL) {
586 map__load(al->map);
587 al->addr = al->map->map_ip(al->map, al->addr);
590 return al->map;
599 struct addr_location *al)
601 struct map *map = thread__find_map(thread, cpumode, addr, al);
608 return thread__find_map(thread, addr_cpumode, addr, al);
612 u64 addr, struct addr_location *al)
614 al->sym = NULL;
615 if (thread__find_map(thread, cpumode, addr, al))
616 al->sym = map__find_symbol(al->map, al->addr);
617 return al->sym;
621 u64 addr, struct addr_location *al)
623 al->sym = NULL;
624 if (thread__find_map_fb(thread, cpumode, addr, al))
625 al->sym = map__find_symbol(al->map, al->addr);
626 return al->sym;
630 * Callers need to drop the reference to al->thread, obtained in
633 int machine__resolve(struct machine *machine, struct addr_location *al,
643 thread__find_map(thread, sample->cpumode, sample->ip, al);
645 al->map ? al->map->dso->long_name :
646 al->level == 'H' ? "[hypervisor]" : "<not found>");
649 al->filtered |= (1 << HIST_FILTER__THREAD);
651 al->sym = NULL;
652 al->cpu = sample->cpu;
653 al->socket = -1;
654 al->srcline = NULL;
656 if (al->cpu >= 0) {
660 al->socket = env->cpu[al->cpu].socket_id;
663 if (al->map) {
664 struct dso *dso = al->map->dso;
672 al->filtered |= (1 << HIST_FILTER__DSO);
675 al->sym = map__find_symbol(al->map, al->addr);
677 al->filtered |= (1 << HIST_FILTER__DSO);
685 if (al->sym) {
687 al->sym->name);
689 if (!ret && al->sym) {
691 al->map->unmap_ip(al->map, al->sym->start));
696 al->filtered |= (1 << HIST_FILTER__SYMBOL);
708 void addr_location__put(struct addr_location *al)
710 thread__zput(al->thread);
734 void thread__resolve(struct thread *thread, struct addr_location *al,
737 thread__find_map_fb(thread, sample->cpumode, sample->addr, al);
739 al->cpu = sample->cpu;
740 al->sym = NULL;
742 if (al->map)
743 al->sym = map__find_symbol(al->map, al->addr);