/****************************************************************************
* 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
* 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 2014 QLogic Corporation
* The contents of this file are subject to the terms of the
* QLogic End User License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the License at
* See the License for the specific language governing permissions
* and limitations under the License.
*
*
* Name: bdn.h
*
* Description: BDN definitions
*
* Author: Yaniv Rosner
*
****************************************************************************/
#ifndef BDN_H
#define BDN_H
struct Codec_Info {
enum codec_location {
e_None = 0,
};
struct codec_t {
};
#define BDN_CFG_SIZE_OFFSET 0
struct bdn_fcoe_boot_target {
};
#if 0
#define MAX_IBOOT_TARGETS 8
struct bdn_fcoe_boot_next_dlr {
};
struct bdn_fcoe_boot { // Main fcoe_iboot struct
};
#endif
struct bdn_netport_now {
};
struct bdn_netport_on_port_reset {
/* Same definitions as in PORT_HW_CFG_SPEED_CAPABILITY_D3_MASK */
#define BDN_LINK_CONFIG_ADVERTISED_SPEED_SHIFT 0
/* Same definitions as PORT_FEATURE_FLOW_CONTROL_MASK */
};
struct bdn_netport_next_os_boot {
};
struct bdn_netport {
};
struct bdn_flexfunc_now {
};
struct bdn_flexfunc_next_os_boot {
};
struct bdn_flex_func {
};
#ifndef PF_NUM_MAX
#endif
struct bdn {
//struct bdn_pxe_boot pxe_boot;
//struct bdn_iscsi_boot iscsi_boot;
//struct bdn_fcoe_boot fcoe_boot;
};
union bdn_image {
};
/* Expected BDN size is basically the offset of rsrv within the bdn structure */
#define BDN_NETPORT_NOW(papo) (ASN1_P->bdn_addr + OFFSETOF(struct bdn, netport[(papo.path << 1) + papo.port].now))
#define BDN_NETPORT_ON_PORT_RESET(papo) (ASN1_P->bdn_addr + OFFSETOF(struct bdn, netport[(papo.path << 1) + papo.port].on_port_reset))
#define BDN_NETPORT_NEXT_OS_BOOT(papo) (ASN1_P->bdn_addr + OFFSETOF(struct bdn, netport[(papo.path << 1) + papo.port].next_os_boot))
#define BDN_FLEXFUNC_NEXT_OS_BOOT(pf_num) (ASN1_P->bdn_addr + OFFSETOF(struct bdn, flexfunc[pf_num].next_os_boot))
/*----------------------------------------------------------------------------
* ------------------------------ Function Prototypes ------------------------
* ---------------------------------------------------------------------------
*/
int bd_populate_os_reset_config(void);
#endif /* BDN_H */