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()
143 static enum dso_type machine__thread_dso_type(struct machine *machine, in machine__thread_dso_type() argument
153 dso_type = dso__type(dso, machine); in machine__thread_dso_type()
237 static struct dso *__machine__findnew_compat(struct machine *machine, in __machine__findnew_compat() argument
243 dso = __dsos__find(&machine->dsos, vdso_file->dso_name, true); in __machine__findnew_compat()
251 dso = __machine__addnew_vdso(machine, vdso_file->dso_name, file_name); in __machine__findnew_compat()
256 static int __machine__findnew_vdso_compat(struct machine *machine, in __machine__findnew_vdso_compat() argument
263 dso_type = machine__thread_dso_type(machine, thread); in __machine__findnew_vdso_compat()
276 *dso = __machine__findnew_compat(machine, &vdso_info->vdso32); in __machine__findnew_vdso_compat()
279 *dso = __machine__findnew_compat(machine, &vdso_info->vdsox32); in __machine__findnew_vdso_compat()
290 static struct dso *machine__find_vdso(struct machine *machine, in machine__find_vdso() argument
296 dso_type = machine__thread_dso_type(machine, thread); in machine__find_vdso()
299 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO32, true); in machine__find_vdso()
301 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, in machine__find_vdso()
303 if (dso && dso_type != dso__type(dso, machine)) in machine__find_vdso()
308 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSOX32, true); in machine__find_vdso()
313 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__find_vdso()
320 struct dso *machine__findnew_vdso(struct machine *machine, in machine__findnew_vdso() argument
326 down_write(&machine->dsos.lock); in machine__findnew_vdso()
327 if (!machine->vdso_info) in machine__findnew_vdso()
328 machine->vdso_info = vdso_info__new(); in machine__findnew_vdso()
330 vdso_info = machine->vdso_info; in machine__findnew_vdso()
334 dso = machine__find_vdso(machine, thread); in machine__findnew_vdso()
339 if (__machine__findnew_vdso_compat(machine, thread, vdso_info, &dso)) in machine__findnew_vdso()
343 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__findnew_vdso()
349 dso = __machine__addnew_vdso(machine, DSO__NAME_VDSO, file); in machine__findnew_vdso()
354 up_write(&machine->dsos.lock); in machine__findnew_vdso()