Lines Matching full:machine
17 #include "machine.h"
108 void machine__exit_vdso(struct machine *machine) in machine__exit_vdso() argument
110 struct vdso_info *vdso_info = machine->vdso_info; in machine__exit_vdso()
124 zfree(&machine->vdso_info); in machine__exit_vdso()
127 static struct dso *__machine__addnew_vdso(struct machine *machine, const char *short_name, in __machine__addnew_vdso() argument
134 __dsos__add(&machine->dsos, dso); in __machine__addnew_vdso()
141 static enum dso_type machine__thread_dso_type(struct machine *machine, in machine__thread_dso_type() argument
151 dso_type = dso__type(dso, machine); in machine__thread_dso_type()
235 static struct dso *__machine__findnew_compat(struct machine *machine, in __machine__findnew_compat() argument
241 dso = __dsos__find(&machine->dsos, vdso_file->dso_name, true); in __machine__findnew_compat()
249 dso = __machine__addnew_vdso(machine, vdso_file->dso_name, file_name); in __machine__findnew_compat()
254 static int __machine__findnew_vdso_compat(struct machine *machine, in __machine__findnew_vdso_compat() argument
261 dso_type = machine__thread_dso_type(machine, thread); in __machine__findnew_vdso_compat()
274 *dso = __machine__findnew_compat(machine, &vdso_info->vdso32); in __machine__findnew_vdso_compat()
277 *dso = __machine__findnew_compat(machine, &vdso_info->vdsox32); in __machine__findnew_vdso_compat()
288 static struct dso *machine__find_vdso(struct machine *machine, in machine__find_vdso() argument
294 dso_type = machine__thread_dso_type(machine, thread); in machine__find_vdso()
297 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO32, true); in machine__find_vdso()
299 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, in machine__find_vdso()
301 if (dso && dso_type != dso__type(dso, machine)) in machine__find_vdso()
306 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSOX32, true); in machine__find_vdso()
311 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__find_vdso()
318 struct dso *machine__findnew_vdso(struct machine *machine, in machine__findnew_vdso() argument
324 down_write(&machine->dsos.lock); in machine__findnew_vdso()
325 if (!machine->vdso_info) in machine__findnew_vdso()
326 machine->vdso_info = vdso_info__new(); in machine__findnew_vdso()
328 vdso_info = machine->vdso_info; in machine__findnew_vdso()
332 dso = machine__find_vdso(machine, thread); in machine__findnew_vdso()
337 if (__machine__findnew_vdso_compat(machine, thread, vdso_info, &dso)) in machine__findnew_vdso()
341 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__findnew_vdso()
347 dso = __machine__addnew_vdso(machine, DSO__NAME_VDSO, file); in machine__findnew_vdso()
352 up_write(&machine->dsos.lock); in machine__findnew_vdso()