- 论坛徽章:
- 0
|
hp9000 L1000机器上安装的是hp-ux11.0操作系统,在安装好HBA卡的驱动软件重启后,使用ioscan软件不能发现此卡上连接的磁盘阵列。按说明书介绍还需配置adapCfg.h,但是因为我是初次接触hp-ux,不知道如何修改此文件。
我现在比较急,希望大伙给我一些帮助。先谢谢啦!
附adapCfg.h
/*
* $Header: /fcsw/driver/unix/src/mks/Arch/prod/HPUX/adapCfg.h 1.5 2001/03/07 00:10:14 mks Exp $
*
* adapCfg.h - local per-adapter configuration
*
* Modify this file with your local, per-adapter config options, and then
* run `config(1M)\' to rebuild the kernel. Reboot is required.
*/
#ifndef _ADAPCFG_H
#define _ADAPCFG_H
/*
* AdapCfgOverride_t - overrides for the global configuration options.
*
* The global configuration options are specified in the \"system\" file,
* as specified in the $TUNABLE parameter section in
* the \"/usr/conf/master.d/lpfc\" file. See `config(1M)\' for details.
*/
typedef struct AdapCfgOverride {
uint8_t cfgIdx; /* configuration parameter index */
uint32_t value; /* override value */
} AdapCfgOverride_t;
/*
* AdapCfg_t - per-adapter configuration info aggregate.
*
* For each adapter in the system you wish to provide specific config info
* for, initialize an instance of this datastructure.
*
* All fields are optional -- specify only those which are pretinante.
*/
typedef struct AdapCfg {
AdapCfgOverride_t *overrides; /* config variable overrides */
char **wwnnBindings; /* bindings */
char **wwpnBindings; /* bindings */
char **didBindings; /* bindings */
} AdapCfg_t;
/*
* configuration parameter indices
*
* The AdapCfgOverride_t.cfgIdx value is set to one of the following to
* indicate the configuration parameter to be overridden.
*/
#ifndef CFG_PCI_PATENCY
/* #define CFG_PCI_LATENCY 0 * pci-latency-clocks */
/* #define CFG_PCI_CACHELINE 1 * pci-cache-line */
#define CFG_INTR_ACK 2 /* intr-ack */
#define CFG_LOG_VERBOSE 3 /* log-verbose */
#define CFG_LOG_ONLY 4 /* log-only */
/*efine CFG_IDENTIFY_SELF 5 * identify-self */
#define CFG_NUM_IOCBS 6 /* num-iocbs */
#define CFG_NUM_BUFS 7 /* num-bufs */
#define CFG_FCP_ON 8 /* fcp-on */
#define CFG_DEVICE_REPORT 9 /* device-report */
#define CFG_AUTOMAP 0 /* automap */
#define CFG_DFT_TGT_Q_DEPTH 11 /* tgt_queue_depth */
#define CFG_DFT_LUN_Q_DEPTH 12 /* lun_queue_depth */
/* #define CFG_AVOID_RESETS 13 * Avoid-resets */
#define CFG_FIRST_CHECK 14 /* first-check */
#define CFG_FCPFABRIC_TMO 15 /* fcpfabric-tmo */
#define CFG_FCP_CLASS 16 /* fcp-class */
#define CFG_USE_ADISC 17 /* use-adisc */
#define CFG_NO_DEVICE_DELAY 18 /* no-device-delay */
#define CFG_NETWORK_ON 19 /* network-on */
#define CFG_POST_IP_BUF 20 /* post-ip-buf */
#define CFG_XMT_Q_SIZE 21 /* xmt-que-size */
#define CFG_IP_CLASS 22 /* ip-class */
#define CFG_ACK0 23 /* ack0 */
#define CFG_TOPOLOGY 24 /* topology */
/* #define CFG_FRAME_512 25 * frame-512 */
#define CFG_SCAN_DOWN 26 /* scan-down */
/* #define CFG_TRAFFIC_COP 27 * traffic-cop */
/* #define CFG_FABRIC_REG 28 * fabric-reg */
#define CFG_LINKDOWN_TMO 29 /* linkdown-tmo */
/* #define CFG_SLI 30 * sli */
#define CFG_USE_LOMEM 31 /* use-lomempages */
/* #define CFG_ZONE_RSCN 32 * zone-rscn */
#define CFG_HOLDIO 33 /* nodev-holdio */
/* #define CFG_RSCN_ADISC 34 * rscn-adisc */
/* #define CFG_RSCN_NS_DLY 35 * rscn-ns-delay */
#define CFG_DELAY_RSP_ERR 36 /* delay-rsp-err */
#define CFG_CHK_COND_ERR 37 /* check-cond-err */
#define CFG_NODEV_TMO 38 /* nodev-tmo */
#define CFG_DQFULL_THROTTLE 39 /* dqfull-throttle */
#define CFG_LINK_SPEED 40 /* link-speed */
#define CFG_QFULL_RSP_ERR 41 /* qfull-rsp-err */
#define CFG_DQFULL_THROTTLE_UP_TIME 42 /* dqfull-throttle-up-time */
#define CFG_DQFULL_THROTTLE_UP_INC 43 /* dqfull-throttle-up-inc */
#define NUM_CFG_PARAM 44
/*
* some defaults
*/
#define LPFC_DFT_POST_IP_BUF 128
#define LPFC_MIN_POST_IP_BUF 64
#define LPFC_MAX_POST_IP_BUF 1024
#define LPFC_DFT_XMT_QUE_SIZE 256
#define LPFC_MIN_XMT_QUE_SIZE 128
#define LPFC_MAX_XMT_QUE_SIZE 10240
#define LPFC_DFT_NUM_IOCBS 512
#define LPFC_MIN_NUM_IOCBS 128
#define LPFC_MAX_NUM_IOCBS 10240
#define LPFC_DFT_NUM_BUFS 512
#define LPFC_MIN_NUM_BUFS 64
#define LPFC_MAX_NUM_BUFS 4096
#define LPFC_DFT_TOPOLOGY 4
#define LPFC_DFT_FC_CLASS 3
#define LPFC_DFT_NO_DEVICE_DELAY 1 /* 1 sec */
#define LPFC_MAX_NO_DEVICE_DELAY 30000000 /* 30 sec */
#define LPFC_DFT_FABRIC_TIMEOUT 0
#define LPFC_MAX_FABRIC_TIMEOUT 255 /* 255 sec */
#define LPFC_DFT_LNKDWN_TIMEOUT 30
#define LPFC_MAX_LNKDWN_TIMEOUT 255 /* 255 sec */
#define LPFC_DFT_NODEV_TIMEOUT 0
#define LPFC_MAX_NODEV_TIMEOUT 255 /* 255 sec */
#define LPFC_MAX_TGT_Q_DEPTH 10240 /* max cmds allowed per tgt */
#define LPFC_DFT_TGT_Q_DEPTH 0 /* default max cmds per tgt */
#define LPFC_MAX_LUN_Q_DEPTH 128 /* max cmds to allow per lun */
#define LPFC_DFT_LUN_Q_DEPTH 30 /* default max cmds per lun */
#define LPFC_MAX_DQFULL_THROTTLE 1 /* Boolean (max value) */
/*
* topology choices
*/
#define TOPOLOGY_LOCAL_LB 0x01 /* local loopback */
#define TOPOLOGY_MODE_LOOP_PT 0x00 /* Attempt loop then pt-pt */
#define TOPOLOGY_MODE_PT_PT 0x02 /* Attempt pt-pt only */
#define TOPOLOGY_MODE_LOOP 0x04 /* Attempt loop only */
#define TOPOLOGY_MODE_PT_LOOP 0x06 /* Attempt pt-pt then loop */
#endif
/*
* per-adapter config structures
*
* Each adapter which has per-adapter config info will look for it in the
* following table.
*/
AdapCfg_t *lpfcAdapterCfg[16];
/*#ifdef ThisIsJustAnExample*/
/*
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
*
* for example, to override the defaults for adapter 0:
*/
AdapCfgOverride_t lpfcOver_0[] = {
{
CFG_TOPOLOGY, TOPOLOGY_MODE_LOOP
}, {
-1, -1 /* final entry: REQUIRED */
}
};
/*
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
*
* select DID (device ID) bindings for adapter 0
*
* The strings format is:
* 112233 - 6 bytes of FC Device ID
* :lpfcX - redundant specification of adapter # X
* t - target selector, actually node [0,,511]
* {X,X,...} - Optional lun exclusion list for lun blocking,
* {0,,255}.
*/
char *lpfcBindDID_0[] = {
\"0000e1:lpfc0t14\",
\"0000e2:lpfc0t13\",
\"0000e4:lpfc0t12\",
\"0000e8:lpfc0t1\",
0 /* final entry: REQUIRED */
};
/*
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
*/
AdapCfg_t lpfcCfg_0 = {
lpfcOver_0, /* adapter 0 overrides (could be NULL) */
0, /* WWNN bindings */
0, /* WWPN bindings */
lpfcBindDID_0 /* DID bindings */
};
/*
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
*/
AdapCfgOverride_t lpfcOver_1[] = {
{
CFG_TOPOLOGY, TOPOLOGY_MODE_LOOP
}, {
-1, -1 /* final entry: REQUIRED */
}
};
/*
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
*
* select WorldWideNodeName bindings for devices on adapter 1.
*
* The string format is:
* 1122334455667788 - 16 bytes of WWNN
* :lpfcX - redundant specification of adapter # X
* hYY - pseudo HBA selector YY [00,,31]
* t - target selector, actually node [0,,511]
* {X,X,...} - Optional lun exclusion list for lun blocking,
* {0,,255}.
*
* The example inverts these, mainly for testing.
*/
char *lpfcBindWWNN_1[] = {
\"2000002037182fe9:lpfc1t1\",
\"2000002037181142:lpfc1t2\",
\"2000002037182ec0:lpfc1t3\",
\"2000002037182fe2:lpfc1t4\",
0 /* final entry: REQUIRED */
};
AdapCfg_t lpfcCfg_1 = {
lpfcOver_1, /* adapter 1 overrides (could be NULL) */
lpfcBindWWNN_1, /* WWNN bindings */
0, /* WWPN bindings */
0 /* DID bindings */
};
/*
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
* *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE *** EXAMPLE ***
*
* per-adapter config structures
*
* Each adapter which has per-adapter config info will look for it in the
* following table. In the example above, slot 0 would have the \"0\"
* replaced with \"&lpfcCfg_0\".
*/
AdapCfg_t *lpfcAdapterCfg[16] = {
/* 0 */ &lpfcCfg_0,
/* 1 */ &lpfcCfg_1,
/* 2 */ 0, /* &lpfcCfg_2 */
/* 3 */ 0, /* &lpfcCfg_3 */
/* 4 */ 0, /* &lpfcCfg_4 */
/* 5 */ 0, /* &lpfcCfg_5 */
/* 6 */ 0, /* &lpfcCfg_6 */
/* 7 */ 0, /* &lpfcCfg_7 */
/* 8 */ 0, /* &lpfcCfg_8 */
/* 9 */ 0, /* &lpfcCfg_9 */
/* 10 */ 0, /* &lpfcCfg_10 */
/* 11 */ 0, /* &lpfcCfg_11 */
/* 12 */ 0, /* &lpfcCfg_12 */
/* 13 */ 0, /* &lpfcCfg_13 */
/* 14 */ 0, /* &lpfcCfg_14 */
/* 15 */ 0 /* &lpfcCfg_15 */
};
/*#endif just an example */
#endif /* _ADAPCFG_H */ |
|