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