xref: /onnv-gate/usr/src/uts/common/io/warlock/ifp.wlcmd (revision 3138:7bbdcbfa4cd5)
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