#!/usr/sbin/dtrace -s #pragma D option quiet #pragma D option flowindent sdt:::interrupt-start /stringof(`devnamesp[((struct dev_info *)arg0)->devi_major].dn_name) == "i8042"/ { printf("%s\n", stringof(`devnamesp[((struct dev_info *)arg0)->devi_major].dn_name)); @keypresses["i8042"]=count(); self->ts = 1; } sdt:::interrupt-complete /self->ts/ { self->ts = 0; } /* fbt:::entry,fbt:::return /self->ts/ { printf("%s %s %s\n", probemod, probefunc, probename) } */ /* this->devi = (struct dev_info *)arg0; @[stringof(`devnamesp[this->devi->devi_major].dn_name), this->devi->devi_instance] = quantize(vtimestamp - self->ts); } */