1*3138Sfrits# 2*3138Sfrits# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3*3138Sfrits# Use is subject to license terms. 4*3138Sfrits# 5*3138Sfrits#ident "%Z%%M% %I% %E% SMI" 6*3138Sfrits 7*3138Sfrits### Warlock commands for analyzing the ifp driver alone. 8*3138Sfrits 9*3138Sfrits### Tell warlock there's only one ifp struct, so that it will complain 10*3138Sfrits### if the lock is acquired when it is already locked. 11*3138Sfrits 12*3138Sfritsone ifp 13*3138Sfrits 14*3138Sfrits### Tell warlock that ifp_scsi_reset_notify(), which gets called from 15*3138Sfrits### the scsa stuff through the transport table, is a root function. 16*3138Sfrits 17*3138Sfritsroot ifp_scsi_reset_notify 18*3138Sfritsroot ifp_ifptm_alive 19*3138Sfritsroot ifp_ifptm_attach 20*3138Sfritsroot ifp_ifptm_detach 21*3138Sfritsroot ifp_ifptm_init 22*3138Sfritsroot ifp_ifptm_mbox_cmd_init 23*3138Sfritsroot ifp_ifptm_mbox_cmd_start 24*3138Sfritsroot ifp_ifptm_reset 25*3138Sfrits 26*3138Sfritsignore ifp.c:ifp_hp_daemon 27*3138Sfrits 28*3138Sfrits### Give warlock the lock order we use to prevent deadlocks. 29*3138Sfrits 30*3138Sfritsassert order \ 31*3138Sfrits ifp::ifp_response_mutex \ 32*3138Sfrits ifp::ifp_request_mutex \ 33*3138Sfrits ifp::ifp_waitq_mutex 34*3138Sfrits 35*3138Sfrits### Tell warlock not to analyze this calling sequence, since it 36*3138Sfrits### never really occurs. 37*3138Sfrits 38*3138Sfritsdisallow \ 39*3138Sfrits ifp_i_empty_waitQ \ 40*3138Sfrits ifp_scsi_start \ 41*3138Sfrits ifp_i_polled_cmd_start 42*3138Sfrits 43*3138Sfritsignore ifp_kmem_cache_constructor ifp_kmem_cache_destructor 44*3138Sfritsignore ifp_i_print_fcal_position_map 45*3138Sfritsignore ifp_bus_get_eventcookie ifp_bus_add_eventcall ifp_bus_remove_eventcall 46*3138Sfritsignore ifp_bus_post_event 47*3138Sfritsignore ifp_i_print_state 48*3138Sfritsignore ifp_scsi_get_name ifp_scsi_get_bus_addr 49*3138Sfritsignore ifp_kstat_update 50*3138Sfrits 51*3138Sfrits### Tell warlock where calls through pkt_comp go. 52*3138Sfrits 53*3138Sfritsadd scsi_pkt::pkt_comp targets \ 54*3138Sfrits ifp_scsi_start \ 55*3138Sfrits ifp_scsi_abort \ 56*3138Sfrits ifp_scsi_reset \ 57*3138Sfrits ifp_scsi_getcap \ 58*3138Sfrits ifp_scsi_setcap \ 59*3138Sfrits ifp_scsi_dmafree \ 60*3138Sfrits ifp_scsi_sync_pkt \ 61*3138Sfrits ifp_scsi_destroy_pkt \ 62*3138Sfrits ifp_scsi_init_pkt 63*3138Sfrits 64*3138Sfritsadd notify_entry::callback target warlock_dummy 65*3138Sfrits 66*3138Sfrits### pointers in the scsi_hba_tran structure. 67*3138Sfritsfor ptr in `funcptrs | grep '^scsi_hba_tran::'` 68*3138Sfritsdo 69*3138Sfrits add $ptr target warlock_dummy 70*3138Sfritsdone 71*3138Sfritsroot scsi_hba_bus_power 72*3138Sfrits 73