/****************************************************************************
* 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: nvm_map.h
*
* Description: Everest NVRAM map
*
* Created: 05/03/2006 eilong
*
* $Date: 2014/07/16 $ $Revision: #111 $
****************************************************************************/
#ifndef NVM_MAP_H
#define NVM_MAP_H
#include "mcp_shmem.h"
#include "types.h"
#include "invm_cfg.h"
#include "fcb_nvm.h"
#endif
/****************************************************************************
* Boot Strap Region *
****************************************************************************/
typedef struct _bootstrap_region_t
{
typedef struct {
#else
typedef struct {
#endif
/****************************************************************************
* Directories Region *
****************************************************************************/
typedef struct _code_entry_t
{
agent in code_attribute field */
/* Images which are stored in extended dir have bit 0 set to 1 */
/* for shaddow SWIMs feature */
/* next few groups of image: 0x90800003 -- 0xf0800003
0x00800001 -- 0xf0800001*/
} code_entry_t;
/* version since which shadow feature is supported */
#define MFW_SHADOW_FEATURE_SUPPORTED_MINOR 0
typedef struct _dir_t
{
/* Similar to the part number in VPD */
} dir_t;
/****************************************************************************
* Manufacturing Information Region *
****************************************************************************/
typedef struct _manuf_info_t
{ /* NVM Offset (size) */
} manuf_info_t;
/****************************************************************************
* Features Information Region *
****************************************************************************/
typedef struct _feature_info_t
{
/****************************************************************************
* VPD Region *
****************************************************************************/
typedef struct media_vpd_read_t
{
typedef struct media_vpd_write_t
{
typedef struct media_vpd_t
{
} media_vpd_t;
/****************************************************************************
* License Region *
****************************************************************************/
/* Upgrade License Region */
typedef struct _upgrade_key_info_t
{
(SVID followed by MAC addr) */
/* Manufacturing License Region */
typedef struct _manuf_key_info_t
{
/****************************************************************************
* NVRAM FULL MAP *
****************************************************************************/
typedef struct _nvm_image_t
{ /* NVM Offset (size) */
/* This struct defines the additional NVM configuration parameters needed for PATH 1 in E2 */
typedef struct _path1_nvm_image_t
{ /* NVM Offset (size) */
/****************************************/
/*** NVM RETAIN section ***/
/****************************************/
// Max nvm retain bitmap size is currently set to the size of manuf_info
// To be to preserve manuf_info in a dword resolution, we need sizeof(manuf_info_t) >> 2
// To represent each dword in bit, divide by 32 ( >>5), and add 1 to round up.
#define NVM_RETAIN_BEGIN 0
/*******************************************************/
/* These structs define the modules image block in NVM */
/*******************************************************/
typedef struct _module_info_t
{
typedef struct _module_image_t
{
/* With branding */
/* This array length depends on the no_modules */
typedef struct _vpd_image_t
{
/* This array length depends on the number of VPD fields */
} vpd_image_t;
typedef struct _extended_dir_image_t
{
the extended dir image */
included in the extended dir */
/* Array of images information
within extended dir image */
struct macp_gbl_cfg {
/* Reserved bits: 0-0 */
#define MACP_GBL_CFG_FORMAT_VER_SHIFT 0
};
struct macp_port_cfg {
#define MACP_PORT_CFG_FLOW_CTRL_SHIFT 0
};
struct macp_func_cfg {
#define MACP_FUNC_CFG_FLAGS_SHIFT 0
/* pause on host ring */
/* number of vfs in function, if 0 - sriov disabled */
#define MACP_FUNC_CFG_NUMBER_OF_VFS_SHIFT 0
};
typedef struct _nvm_nic_part_cfg_t
{
/* NOTE: CRC will be appended by nvm_program procedure */
#define NIV_GBL_CFG_IMAGE_VER_SHIFT 0
};
#define NIV_PORT_CFG_FLOW_CTRL_SHIFT 0
};
#define NIV_FUNC_CFG_bw_weight_SHIFT 0
#define NIV_FUNC_CFG_vif_type_SHIFT 0
/* pause on host ring */
};
typedef struct _nvm_niv_cfg_t
{
};
typedef struct _nvm_niv_port_profile_t
{
typedef struct _hw_set_info_t
{
typedef struct _hw_set_image_t
{
/* This array length depends on the no_hw_sets */
struct iscsi_flash_meta_data {
};
struct iscsi_flash_session {
#define FLASH_SESS_CTRL_ENTRY_ENABLE (0)
#define FLASH_SESS_STAT_IS_BOOT_TARGET (0)
};
struct iscsi_flash_connection {
#define FLASH_CONN_CTRL_HEADER_DIGEST (0)
#define FLASH_CONN_STAT_IS_FW_ASSIGNED_IPV6 (0)
};
struct iscsi_flash_initiator {
};
struct iscsi_flashnode {
};
struct iscsi_persistent_image {
};
#endif //NVM_MAP_H