#
# 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 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

one hermon_state_s

### IBTF CI interface entry points
root	hermon_ci_query_hca_ports
root	hermon_ci_modify_ports
root	hermon_ci_modify_system_image
root	hermon_ci_alloc_pd
root	hermon_ci_free_pd
root	hermon_ci_alloc_rdd
root	hermon_ci_free_rdd
root	hermon_ci_alloc_ah
root	hermon_ci_free_ah
root	hermon_ci_query_ah
root	hermon_ci_modify_ah
root	hermon_ci_alloc_qp
root	hermon_ci_alloc_special_qp
root	hermon_ci_alloc_qp_range
root	hermon_ci_free_qp
root	hermon_ci_release_qpn
root	hermon_ci_query_qp
root	hermon_ci_modify_qp
root	hermon_ci_alloc_cq
root	hermon_ci_free_cq
root	hermon_ci_query_cq
root	hermon_ci_resize_cq
root	hermon_ci_modify_cq
root	hermon_ci_alloc_cq_sched
root	hermon_ci_free_cq_sched
root	hermon_ci_alloc_eec
root	hermon_ci_free_eec
root	hermon_ci_query_eec
root	hermon_ci_modify_eec
root	hermon_ci_register_mr
root	hermon_ci_register_buf
root	hermon_ci_register_shared_mr
root	hermon_ci_deregister_mr
root	hermon_ci_query_mr
root	hermon_ci_reregister_mr
root	hermon_ci_reregister_buf
root	hermon_ci_sync_mr
root	hermon_ci_alloc_mw
root	hermon_ci_free_mw
root	hermon_ci_query_mw
root	hermon_ci_attach_mcg
root	hermon_ci_detach_mcg
root	hermon_ci_post_send
root	hermon_ci_post_recv
root	hermon_ci_poll_cq
root	hermon_ci_notify_cq
root	hermon_ci_ci_data_in
root	hermon_ci_ci_data_out
root	hermon_ci_alloc_srq
root	hermon_ci_free_srq
root	hermon_ci_query_srq
root	hermon_ci_modify_srq
root	hermon_ci_post_srq
root	hermon_ci_map_mem_area
root	hermon_ci_unmap_mem_area
root	hermon_ci_map_mem_iov
root	hermon_ci_unmap_mem_iov
root	hermon_ci_alloc_lkey
root	hermon_ci_register_physical_mr
root	hermon_ci_reregister_physical_mr
root	hermon_ci_create_fmr_pool
root	hermon_ci_destroy_fmr_pool
root	hermon_ci_flush_fmr_pool
root	hermon_ci_register_physical_fmr
root	hermon_ci_deregister_fmr
root	hermon_ci_alloc_io_mem
root	hermon_ci_free_io_mem

### Hermon Firmware commands (currently unused)
root	hermon_sync_tpt_cmd_post
root	hermon_read_mtt_cmd_post
root	hermon_write_mtt_cmd_post
root	hermon_close_hca_cmd_post
root	hermon_modify_mpt_cmd_post
root	hermon_setdebug_post
root	hermon_pci_capability_msix

### Hermon Event Queue function pointers
add	hermon_eq_poll/eqfunction targets hermon_cq_handler		\
    hermon_cq_err_handler hermon_comm_estbl_handler hermon_eq_arm	\
    hermon_port_state_change_handler hermon_invreq_local_wq_err_handler	\
    hermon_local_acc_vio_wq_err_handler					\
    hermon_path_mig_handler hermon_path_mig_err_handler			\
    hermon_local_wq_cat_err_handler hermon_sendq_drained_handler	\
    hermon_eq_overflow_handler hermon_cmd_complete_handler		\
    hermon_srq_last_wqe_reached_handler hermon_catastrophic_handler	\
    hermon_ecc_detection_handler hermon_no_eqhandler hermon_eq_demux

### Hermon agent callbacks
root	hermon_agent_handle_req
root	hermon_agent_request_cb
root	hermon_agent_response_cb

### Hermon kmem_cache constructors and destructors
root	hermon_rsrc_cqhdl_constructor
root	hermon_rsrc_cqhdl_destructor
root	hermon_rsrc_qphdl_constructor
root	hermon_rsrc_qphdl_destructor
root	hermon_rsrc_pdhdl_constructor
root	hermon_rsrc_pdhdl_destructor
root	hermon_rsrc_refcnt_constructor
root	hermon_rsrc_refcnt_destructor
root	hermon_rsrc_ahhdl_constructor
root	hermon_rsrc_ahhdl_destructor
root	hermon_rsrc_mrhdl_constructor
root	hermon_rsrc_mrhdl_destructor
root	hermon_rsrc_srqhdl_constructor
root	hermon_rsrc_srqhdl_destructor

### Hermon kstat callback
root	hermon_kstat_cntr_update

### Hermon userland mapping callbacks and functions
root	hermon_umap_umemlock_cb
root	hermon_devmap_umem_map
root	hermon_devmap_umem_dup
root	hermon_devmap_umem_unmap
root	hermon_devmap_devmem_map
root	hermon_devmap_devmem_dup
root	hermon_devmap_devmem_unmap
root	hermon_devmap_dbrecmem_map
root	hermon_devmap_dbrecmem_dup
root	hermon_devmap_dbrecmem_unmap
root	hermon_umap_db_compare
add	hermon_umap_umemlock_cb/mr_callback	targets warlock_dummy


### Hermon cleanup on close callback(s)
add	hermon_umap_db_handle_onclose_cb/callback targets \
    hermon_ioctl_flash_cleanup

### Hermon QP number AVL tree compare function
root	hermon_qpn_avl_compare

### Hermon FMR processing
root	hermon_fmr_avl_compare
root	hermon_fmr_processing
add	hermon_sw_fmr_s::fmr_flush_function targets warlock_dummy

### Hermon FMR processing
root	hermon_inter_err_chk

add	bus_ops::bus_add_eventcall	targets warlock_dummy
add	bus_ops::bus_get_eventcookie	targets warlock_dummy
add	bus_ops::bus_post_event		targets warlock_dummy
add	bus_ops::bus_remove_eventcall	targets warlock_dummy
add	bus_ops::bus_intr_ctl		targets warlock_dummy
add	bus_ops::bus_config		targets warlock_dummy
add	bus_ops::bus_unconfig		targets warlock_dummy