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