| 869 | } |
| 870 | |
| 871 | void |
| 872 | ktrfault(vm_offset_t vaddr, int type) |
| 873 | { |
| 874 | struct thread *td = curthread; |
| 875 | struct ktr_request *req; |
| 876 | struct ktr_fault *kf; |
| 877 | |
| 878 | if (__predict_false(curthread->td_pflags & TDP_INKTRACE)) |
| 879 | return; |
| 880 | |
| 881 | req = ktr_getrequest(KTR_FAULT); |
| 882 | if (req == NULL) |
| 883 | return; |
| 884 | kf = &req->ktr_data.ktr_fault; |
| 885 | kf->vaddr = vaddr; |
| 886 | kf->type = type; |
| 887 | ktr_enqueuerequest(td, req); |
| 888 | ktrace_exit(td); |
| 889 | } |
| 890 | |
| 891 | void |
| 892 | ktrfaultend(int result) |
no test coverage detected