xref: /titanic_51/usr/src/uts/common/io/warlock/ifp.wlcmd (revision dfb96a4f56fb431b915bc67e5d9d5c8d4f4f6679)
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