#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# 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 uata driver alone.

### Tell warlock there's only one ata_controller struct, so that it will 
### complain if the lock is acquired when it is already locked.

one ata_controller

### Tell warlock where calls through pkt_comp go.

add dcd_pkt::pkt_comp targets \
	ata_disk_tran_start \
	ata_disk_tran_reset \
	ata_disk_tran_abort \
	ata_disk_tran_init_pkt \
	ata_disk_tran_destroy_pkt \
	ata_disk_tran_tgt_init

add scsi_pkt::pkt_comp targets \
	atapi_tran_start \
	atapi_tran_abort \
	atapi_tran_init_pkt \
	atapi_tran_destroy_pkt \
	atapi_tran_dmafree \
	atapi_tran_sync_pkt \
	atapi_tran_getcap \
	atapi_tran_setcap \
	atapi_tran_reset \
	atapi_tran_tgt_free \
	atapi_tran_tgt_init \
	ata_disk_tran_tgt_probe
	
	
add dcd_hba_tran::tran_tgt_init target ata_disk_tran_tgt_init 
add scsi_hba_tran::tran_tgt_init target atapi_tran_tgt_init

add dcd_hba_tran::tran_tgt_probe target ata_disk_tran_tgt_probe 
add scsi_hba_tran::tran_tgt_probe target atapi_tran_tgt_probe
add scsi_hba_tran::tran_bus_power target warlock_dummy

add dcd_hba_tran::tran_start  target ata_disk_tran_start
add scsi_hba_tran::tran_start  target atapi_tran_start

add dcd_hba_tran::tran_reset target ata_disk_tran_reset

add dcd_hba_tran::tran_abort target ata_disk_tran_abort
add scsi_hba_tran::tran_abort target atapi_tran_abort

add dcd_hba_tran::tran_init_pkt target ata_disk_tran_init_pkt
add scsi_hba_tran::tran_init_pkt target atapi_tran_init_pkt

add dcd_hba_tran::tran_destroy_pkt  target ata_disk_tran_destroy_pkt
add scsi_hba_tran::tran_destroy_pkt  target atapi_tran_destroy_pkt

add scsi_hba_tran::tran_dmafree target atapi_tran_dmafree

add scsi_hba_tran::tran_sync_pkt target atapi_tran_sync_pkt

add scsi_hba_tran::tran_tgt_free target atapi_tran_tgt_free

add scsi_hba_tran::tran_getcap target atapi_tran_getcap

add scsi_hba_tran::tran_setcap target atapi_tran_setcap

add ata_pkt::ap_start targets \
	atapi_start \
	ata_disk_start

add ata_pkt::ap_intr targets \
	atapi_intr \
	ata_disk_intr

add ata_pkt::ap_complete targets \
	atapi_complete \
	ata_disk_complete

add     scsi_hba_tran::tran_bus_config targets warlock_dummy
add     scsi_hba_tran::tran_bus_unconfig targets warlock_dummy

add cmd_ctl::ccc_hba_start target ata_hba_start
add cmd_ctl::ccc_hba_complete target ata_hba_complete
add cmd_ctl::ccc_process_intr target ata_process_intr
add cmd_ctl::ccc_get_status target ata_get_status
add cmd_ctl::ccc_timeout_func target ata_timeout_func
add processfunc target ata_process_intr
add statfunc target ata_get_status 

### Ignore the following functions as they are never used
ignore L1_remove ata_disk_init_reset ghd_doneq_put ghd_gcmd_alloc
ignore ghd_gcmd_free ghd_timer_stop ghd_tran_sync_pkt
ignore scsi_htos_3byte scsi_htos_long scsi_htos_short scsi_stoh_3byte
ignore scsi_stoh_long scsi_stoh_short

### The following are not used by our code 
add cmd_ctl::ccc_ccballoc target warlock_dummy
add cmd_ctl::ccc_ccbfree target warlock_dummy


root atapi_signature
root scsi_hba_bus_power
root ghd_pktfree
root ghd_scsa.c:ghd_pktalloc