Lines Matching refs:machine
17 #include "machine.h"
108 void machine__exit_vdso(struct machine *machine)
110 struct vdso_info *vdso_info = machine->vdso_info;
124 zfree(&machine->vdso_info);
127 static struct dso *__machine__addnew_vdso(struct machine *machine, const char *short_name,
134 __dsos__add(&machine->dsos, dso);
143 static enum dso_type machine__thread_dso_type(struct machine *machine,
154 dso_type = dso__type(dso, machine);
238 static struct dso *__machine__findnew_compat(struct machine *machine,
244 dso = __dsos__find(&machine->dsos, vdso_file->dso_name, true);
252 dso = __machine__addnew_vdso(machine, vdso_file->dso_name, file_name);
257 static int __machine__findnew_vdso_compat(struct machine *machine,
264 dso_type = machine__thread_dso_type(machine, thread);
277 *dso = __machine__findnew_compat(machine, &vdso_info->vdso32);
280 *dso = __machine__findnew_compat(machine, &vdso_info->vdsox32);
291 static struct dso *machine__find_vdso(struct machine *machine,
297 dso_type = machine__thread_dso_type(machine, thread);
300 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO32, true);
302 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO,
304 if (dso && dso_type != dso__type(dso, machine))
309 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSOX32, true);
314 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true);
321 struct dso *machine__findnew_vdso(struct machine *machine,
327 down_write(&machine->dsos.lock);
328 if (!machine->vdso_info)
329 machine->vdso_info = vdso_info__new();
331 vdso_info = machine->vdso_info;
335 dso = machine__find_vdso(machine, thread);
340 if (__machine__findnew_vdso_compat(machine, thread, vdso_info, &dso))
344 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true);
350 dso = __machine__addnew_vdso(machine, DSO__NAME_VDSO, file);
355 up_write(&machine->dsos.lock);