1 *4ebb14b2Sfrits# 2 *4ebb14b2Sfrits# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3 *4ebb14b2Sfrits# Use is subject to license terms. 4 *4ebb14b2Sfrits# 5 *4ebb14b2Sfrits#ident "%Z%%M% %I% %E% SMI" 6 *4ebb14b2Sfrits 7 *4ebb14b2Sfrits### Warlock commands for analyzing the isp driver alone. 8 *4ebb14b2Sfrits 9 *4ebb14b2Sfrits### Tell warlock there's only one isp struct, so that it will complain 10 *4ebb14b2Sfrits### if the lock is acquired when it is already locked. 11 *4ebb14b2Sfrits 12 *4ebb14b2Sfritsone isp 13 *4ebb14b2Sfrits 14 *4ebb14b2Sfrits### Tell warlock that isp_scsi_reset_notify(), which gets called from 15 *4ebb14b2Sfrits### the scsa stuff through the transport table, is a root function. 16 *4ebb14b2Sfrits 17 *4ebb14b2Sfritsroot isp_scsi_reset_notify isp_i_print_response 18 *4ebb14b2Sfrits 19 *4ebb14b2Sfrits### Give warlock the lock order we use to prevent deadlocks. 20 *4ebb14b2Sfrits 21 *4ebb14b2Sfritsassert order \ 22 *4ebb14b2Sfrits isp::isp_response_mutex \ 23 *4ebb14b2Sfrits isp::isp_request_mutex \ 24 *4ebb14b2Sfrits isp::isp_waitq_mutex 25 *4ebb14b2Sfrits 26 *4ebb14b2Sfrits### Tell warlock not to analyze this calling sequence, since it 27 *4ebb14b2Sfrits### never really occurs. 28 *4ebb14b2Sfrits 29 *4ebb14b2Sfritsdisallow \ 30 *4ebb14b2Sfrits isp_i_empty_waitQ \ 31 *4ebb14b2Sfrits isp_scsi_start \ 32 *4ebb14b2Sfrits isp_i_polled_cmd_start 33 *4ebb14b2Sfrits 34 *4ebb14b2Sfritsroot isp_kmem_cache_constructor isp_kmem_cache_destructor 35 *4ebb14b2Sfrits 36 *4ebb14b2Sfrits### Tell warlock where calls through pkt_comp go. 37 *4ebb14b2Sfrits 38 *4ebb14b2Sfritsadd scsi_pkt::pkt_comp targets \ 39 *4ebb14b2Sfrits isp_scsi_start \ 40 *4ebb14b2Sfrits isp_scsi_abort \ 41 *4ebb14b2Sfrits isp_scsi_reset \ 42 *4ebb14b2Sfrits isp_scsi_getcap \ 43 *4ebb14b2Sfrits isp_scsi_setcap \ 44 *4ebb14b2Sfrits isp_scsi_dmafree \ 45 *4ebb14b2Sfrits isp_scsi_sync_pkt \ 46 *4ebb14b2Sfrits isp_scsi_destroy_pkt \ 47 *4ebb14b2Sfrits isp_scsi_init_pkt 48 *4ebb14b2Sfrits 49 *4ebb14b2Sfritsadd notify_entry::callback target warlock_dummy 50 *4ebb14b2Sfrits 51 *4ebb14b2Sfrits 52 *4ebb14b2Sfritsfor ptr in `funcptrs | grep '^scsi_hba_tran::'` 53 *4ebb14b2Sfritsdo 54 *4ebb14b2Sfrits add $ptr target warlock_dummy 55 *4ebb14b2Sfritsdone 56 *4ebb14b2Sfritsroot scsi_hba_bus_power 57