// sudo /home/gromero/systemtap/bin/stap -g --suppress-time-limits -v -r /home/gromero/git/linux ./script.d probe kernel.function("start_thread").return { if (execname() == "vrsave_") printf("start_thread.return : vrsave=%p start=%p\n", task_current()->thread->vrsave, @entry($start)); } probe kernel.function("__switch_to").call { if (execname() == "vrsave_") printf("__switch_to.call : vrsave=%p, nip=%p\n", task_current()->thread->vrsave, task_current()->thread->regs->nip); } probe kernel.function("load_up_altivec").call { if (execname() == "vrsave_") printf("load_up_altivec.call :\n"); printf("trap=%p nip=%p vrsave=%p\n", task_current()->thread->regs->trap, task_current()->thread->regs->nip, task_current()->thread->vrsave); print_backtrace(); } probe kernel.function("load_up_altivec").return { if (execname() == "vrsave_") printf("load_up_altivec.return:\n"); printf("trap=%p nip=%p vrsave=%p\n", task_current()->thread->regs->trap, task_current()->thread->regs->nip, task_current()->thread->vrsave); print_backtrace(); }