# # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" ### Warlock commands for analyzing the isp driver alone. ### Tell warlock there's only one isp struct, so that it will complain ### if the lock is acquired when it is already locked. one isp ### Tell warlock that isp_scsi_reset_notify(), which gets called from ### the scsa stuff through the transport table, is a root function. root isp_scsi_reset_notify isp_i_print_response ### Give warlock the lock order we use to prevent deadlocks. assert order \ isp::isp_response_mutex \ isp::isp_request_mutex \ isp::isp_waitq_mutex ### Tell warlock not to analyze this calling sequence, since it ### never really occurs. disallow \ isp_i_empty_waitQ \ isp_scsi_start \ isp_i_polled_cmd_start root isp_kmem_cache_constructor isp_kmem_cache_destructor ### Tell warlock where calls through pkt_comp go. add scsi_pkt::pkt_comp targets \ isp_scsi_start \ isp_scsi_abort \ isp_scsi_reset \ isp_scsi_getcap \ isp_scsi_setcap \ isp_scsi_dmafree \ isp_scsi_sync_pkt \ isp_scsi_destroy_pkt \ isp_scsi_init_pkt add notify_entry::callback target warlock_dummy for ptr in `funcptrs | grep '^scsi_hba_tran::'` do add $ptr target warlock_dummy done root scsi_hba_bus_power