blob: 2bceed59265e5564c8620259a8c333eb5616bca0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#
# 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 ifp driver alone.
### Tell warlock there's only one ifp struct, so that it will complain
### if the lock is acquired when it is already locked.
one ifp
### Tell warlock that ifp_scsi_reset_notify(), which gets called from
### the scsa stuff through the transport table, is a root function.
root ifp_scsi_reset_notify
root ifp_ifptm_alive
root ifp_ifptm_attach
root ifp_ifptm_detach
root ifp_ifptm_init
root ifp_ifptm_mbox_cmd_init
root ifp_ifptm_mbox_cmd_start
root ifp_ifptm_reset
ignore ifp.c:ifp_hp_daemon
### Give warlock the lock order we use to prevent deadlocks.
assert order \
ifp::ifp_response_mutex \
ifp::ifp_request_mutex \
ifp::ifp_waitq_mutex
### Tell warlock not to analyze this calling sequence, since it
### never really occurs.
disallow \
ifp_i_empty_waitQ \
ifp_scsi_start \
ifp_i_polled_cmd_start
ignore ifp_kmem_cache_constructor ifp_kmem_cache_destructor
ignore ifp_i_print_fcal_position_map
ignore ifp_bus_get_eventcookie ifp_bus_add_eventcall ifp_bus_remove_eventcall
ignore ifp_bus_post_event
ignore ifp_i_print_state
ignore ifp_scsi_get_name ifp_scsi_get_bus_addr
ignore ifp_kstat_update
### Tell warlock where calls through pkt_comp go.
add scsi_pkt::pkt_comp targets \
ifp_scsi_start \
ifp_scsi_abort \
ifp_scsi_reset \
ifp_scsi_getcap \
ifp_scsi_setcap \
ifp_scsi_dmafree \
ifp_scsi_sync_pkt \
ifp_scsi_destroy_pkt \
ifp_scsi_init_pkt
add notify_entry::callback target warlock_dummy
### pointers in the scsi_hba_tran structure.
for ptr in `funcptrs | grep '^scsi_hba_tran::'`
do
add $ptr target warlock_dummy
done
root scsi_hba_bus_power
|