Lines 123-128
static int isp_read_nvram_2400(ispsoftc_t *);
Link Here
|
123 |
static void isp_rd_2400_nvram(ispsoftc_t *, uint32_t, uint32_t *); |
123 |
static void isp_rd_2400_nvram(ispsoftc_t *, uint32_t, uint32_t *); |
124 |
static void isp_parse_nvram_2400(ispsoftc_t *, uint8_t *); |
124 |
static void isp_parse_nvram_2400(ispsoftc_t *, uint8_t *); |
125 |
|
125 |
|
|
|
126 |
static int isp_read_flthdr_28xx(ispsoftc_t *); |
127 |
static void isp_rd_28xx_flthdr(ispsoftc_t *, uint32_t, uint32_t *); |
128 |
static void isp_parse_flthdr_28xx(ispsoftc_t *, uint8_t *); |
129 |
|
130 |
static int isp_read_flt_28xx(ispsoftc_t *); |
131 |
static void isp_rd_28xx_flt(ispsoftc_t *, uint32_t, uint32_t *); |
132 |
static int isp_parse_flt_28xx(ispsoftc_t *, uint8_t *); |
133 |
|
126 |
static void |
134 |
static void |
127 |
isp_change_fw_state(ispsoftc_t *isp, int chan, int state) |
135 |
isp_change_fw_state(ispsoftc_t *isp, int chan, int state) |
128 |
{ |
136 |
{ |
Lines 179-184
isp_reset(ispsoftc_t *isp, int do_load_defaults)
Link Here
|
179 |
case ISP_HA_FC_2700: |
187 |
case ISP_HA_FC_2700: |
180 |
btype = "2700"; |
188 |
btype = "2700"; |
181 |
break; |
189 |
break; |
|
|
190 |
case ISP_HA_FC_2800: |
191 |
btype = "2800"; |
192 |
break; |
182 |
default: |
193 |
default: |
183 |
break; |
194 |
break; |
184 |
} |
195 |
} |
Lines 710-717
isp_init(ispsoftc_t *isp)
Link Here
|
710 |
icbp->icb_version = ICB_VERSION1; |
721 |
icbp->icb_version = ICB_VERSION1; |
711 |
icbp->icb_maxfrmlen = DEFAULT_FRAMESIZE(isp); |
722 |
icbp->icb_maxfrmlen = DEFAULT_FRAMESIZE(isp); |
712 |
if (icbp->icb_maxfrmlen < ICB_MIN_FRMLEN || icbp->icb_maxfrmlen > ICB_MAX_FRMLEN) { |
723 |
if (icbp->icb_maxfrmlen < ICB_MIN_FRMLEN || icbp->icb_maxfrmlen > ICB_MAX_FRMLEN) { |
713 |
isp_prt(isp, ISP_LOGERR, "bad frame length (%d) from NVRAM- using %d", DEFAULT_FRAMESIZE(isp), ICB_DFLT_FRMLEN); |
|
|
714 |
icbp->icb_maxfrmlen = ICB_DFLT_FRMLEN; |
724 |
icbp->icb_maxfrmlen = ICB_DFLT_FRMLEN; |
|
|
725 |
if (IS_28XX(isp)) |
726 |
icbp->icb_maxfrmlen = ICB_DFLT_FRMLEN_28XX; |
727 |
|
728 |
isp_prt(isp, ISP_LOGERR, "bad frame length (%d) from NVRAM - using %d", DEFAULT_FRAMESIZE(isp), icbp->icb_maxfrmlen); |
715 |
} |
729 |
} |
716 |
|
730 |
|
717 |
if (!IS_26XX(isp)) |
731 |
if (!IS_26XX(isp)) |
Lines 822-833
isp_init(ispsoftc_t *isp)
Link Here
|
822 |
} else if (isp->isp_confopts & ISP_CFG_32GB) { |
836 |
} else if (isp->isp_confopts & ISP_CFG_32GB) { |
823 |
icbp->icb_fwoptions3 &= ~ICB2400_OPT3_RATE_MASK; |
837 |
icbp->icb_fwoptions3 &= ~ICB2400_OPT3_RATE_MASK; |
824 |
icbp->icb_fwoptions3 |= ICB2400_OPT3_RATE_32GB; |
838 |
icbp->icb_fwoptions3 |= ICB2400_OPT3_RATE_32GB; |
|
|
839 |
} else if (isp->isp_confopts & ISP_CFG_64GB) { |
840 |
icbp->icb_fwoptions3 &= ~ICB2400_OPT3_RATE_MASK; |
841 |
icbp->icb_fwoptions3 |= ICB2400_OPT3_RATE_64GB; |
825 |
} else { |
842 |
} else { |
826 |
switch (icbp->icb_fwoptions3 & ICB2400_OPT3_RATE_MASK) { |
843 |
switch (icbp->icb_fwoptions3 & ICB2400_OPT3_RATE_MASK) { |
827 |
case ICB2400_OPT3_RATE_4GB: |
844 |
case ICB2400_OPT3_RATE_4GB: |
828 |
case ICB2400_OPT3_RATE_8GB: |
845 |
case ICB2400_OPT3_RATE_8GB: |
829 |
case ICB2400_OPT3_RATE_16GB: |
846 |
case ICB2400_OPT3_RATE_16GB: |
830 |
case ICB2400_OPT3_RATE_32GB: |
847 |
case ICB2400_OPT3_RATE_32GB: |
|
|
848 |
case ICB2400_OPT3_RATE_64GB: |
831 |
case ICB2400_OPT3_RATE_AUTO: |
849 |
case ICB2400_OPT3_RATE_AUTO: |
832 |
break; |
850 |
break; |
833 |
case ICB2400_OPT3_RATE_2GB: |
851 |
case ICB2400_OPT3_RATE_2GB: |
Lines 1537-1542
isp_fclink_test(ispsoftc_t *isp, int chan, int usdelay)
Link Here
|
1537 |
if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { |
1555 |
if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { |
1538 |
if (mbs.param[1] == MBGSD_10GB) |
1556 |
if (mbs.param[1] == MBGSD_10GB) |
1539 |
fcp->isp_gbspeed = 10; |
1557 |
fcp->isp_gbspeed = 10; |
|
|
1558 |
else if (mbs.param[1] == MBGSD_64GB) |
1559 |
fcp->isp_gbspeed = 64; |
1540 |
else if (mbs.param[1] == MBGSD_32GB) |
1560 |
else if (mbs.param[1] == MBGSD_32GB) |
1541 |
fcp->isp_gbspeed = 32; |
1561 |
fcp->isp_gbspeed = 32; |
1542 |
else if (mbs.param[1] == MBGSD_16GB) |
1562 |
else if (mbs.param[1] == MBGSD_16GB) |
Lines 4322-4339
isp_reinit(ispsoftc_t *isp, int do_load_defaults)
Link Here
|
4322 |
static int |
4342 |
static int |
4323 |
isp_read_nvram(ispsoftc_t *isp, int bus) |
4343 |
isp_read_nvram(ispsoftc_t *isp, int bus) |
4324 |
{ |
4344 |
{ |
|
|
4345 |
if (IS_28XX(isp)) { |
4346 |
fcparam *fcp = FCPARAM(isp, 0); |
4347 |
int r = 0; |
4325 |
|
4348 |
|
|
|
4349 |
fcp->flash_data_addr = ISP28XX_BASE_ADDR; |
4350 |
fcp->flt_length = 0; |
4351 |
r = isp_read_flthdr_28xx(isp); |
4352 |
if (r == 0) { |
4353 |
isp_read_flt_28xx(isp); |
4354 |
} else { |
4355 |
fcp->flt_region_nvram = |
4356 |
(0x300000 + ISP2400_NVRAM_PORT_ADDR(isp->isp_port)); |
4357 |
} |
4358 |
} |
4326 |
return (isp_read_nvram_2400(isp)); |
4359 |
return (isp_read_nvram_2400(isp)); |
4327 |
} |
4360 |
} |
4328 |
|
4361 |
|
4329 |
static int |
4362 |
static int |
4330 |
isp_read_nvram_2400(ispsoftc_t *isp) |
4363 |
isp_read_nvram_2400(ispsoftc_t *isp) |
4331 |
{ |
4364 |
{ |
|
|
4365 |
fcparam *fcp = FCPARAM(isp, 0); |
4332 |
int retval = 0; |
4366 |
int retval = 0; |
4333 |
uint32_t addr, csum, lwrds, *dptr; |
4367 |
uint32_t addr, csum, lwrds, *dptr; |
4334 |
uint8_t nvram_data[ISP2400_NVRAM_SIZE]; |
4368 |
uint8_t nvram_data[ISP2400_NVRAM_SIZE]; |
4335 |
|
4369 |
|
4336 |
addr = ISP2400_NVRAM_PORT_ADDR(isp->isp_port); |
4370 |
if (IS_28XX(isp)) { |
|
|
4371 |
addr = fcp->flt_region_nvram; |
4372 |
} else { |
4373 |
addr = ISP2400_NVRAM_PORT_ADDR(isp->isp_port); |
4374 |
} |
4337 |
dptr = (uint32_t *) nvram_data; |
4375 |
dptr = (uint32_t *) nvram_data; |
4338 |
for (lwrds = 0; lwrds < ISP2400_NVRAM_SIZE >> 2; lwrds++) { |
4376 |
for (lwrds = 0; lwrds < ISP2400_NVRAM_SIZE >> 2; lwrds++) { |
4339 |
isp_rd_2400_nvram(isp, addr++, dptr++); |
4377 |
isp_rd_2400_nvram(isp, addr++, dptr++); |
Lines 4368-4374
isp_rd_2400_nvram(ispsoftc_t *isp, uint32_t addr, uint32_t *rp)
Link Here
|
4368 |
uint32_t base = 0x7ffe0000; |
4406 |
uint32_t base = 0x7ffe0000; |
4369 |
uint32_t tmp = 0; |
4407 |
uint32_t tmp = 0; |
4370 |
|
4408 |
|
4371 |
if (IS_26XX(isp)) { |
4409 |
if (IS_28XX(isp)) { |
|
|
4410 |
// base = 0x7fad0000; /* 0x7f7d0000 + 0x300000 */ |
4411 |
fcparam *fcp = FCPARAM(isp, 0); |
4412 |
base = fcp->flash_data_addr + addr; |
4413 |
addr = 0; |
4414 |
} else if (IS_26XX(isp)) { |
4372 |
base = 0x7fe7c000; /* XXX: Observation, may be wrong. */ |
4415 |
base = 0x7fe7c000; /* XXX: Observation, may be wrong. */ |
4373 |
} else if (IS_25XX(isp)) { |
4416 |
} else if (IS_25XX(isp)) { |
4374 |
base = 0x7ff00000 | 0x48000; |
4417 |
base = 0x7ff00000 | 0x48000; |
Lines 4435-4437
isp_parse_nvram_2400(ispsoftc_t *isp, uint8_t *nvram_data)
Link Here
|
4435 |
fcp->isp_xfwoptions = ISP2400_NVRAM_FIRMWARE_OPTIONS2(nvram_data); |
4478 |
fcp->isp_xfwoptions = ISP2400_NVRAM_FIRMWARE_OPTIONS2(nvram_data); |
4436 |
fcp->isp_zfwoptions = ISP2400_NVRAM_FIRMWARE_OPTIONS3(nvram_data); |
4479 |
fcp->isp_zfwoptions = ISP2400_NVRAM_FIRMWARE_OPTIONS3(nvram_data); |
4437 |
} |
4480 |
} |
|
|
4481 |
|
4482 |
static int |
4483 |
isp_read_flthdr_28xx(ispsoftc_t *isp) |
4484 |
{ |
4485 |
int retval = 0; |
4486 |
uint32_t addr, lwrds, *dptr; |
4487 |
uint16_t csum; |
4488 |
uint8_t flthdr_data[FLT_HEADER_SIZE]; |
4489 |
|
4490 |
addr = ISP28XX_FLT_ADDR; |
4491 |
dptr = (uint32_t *) flthdr_data; |
4492 |
|
4493 |
isp_prt(isp, ISP_LOGDEBUG0, |
4494 |
"FLTL[DEF]: 0x%x", ISP28XX_FLT_ADDR); |
4495 |
for (lwrds = 0; lwrds < FLT_HEADER_SIZE >> 2; lwrds++) { |
4496 |
isp_rd_28xx_flthdr(isp, addr++, dptr++); |
4497 |
} |
4498 |
dptr = (uint32_t *) flthdr_data; |
4499 |
for (csum = 0, lwrds = 0; lwrds < FLT_HEADER_SIZE >> 4; lwrds++) { |
4500 |
uint16_t tmp; |
4501 |
ISP_IOXGET_16(isp, &dptr[lwrds], tmp); |
4502 |
csum += tmp; |
4503 |
} |
4504 |
if (csum != 0) { |
4505 |
retval = -1; |
4506 |
goto out; |
4507 |
} |
4508 |
isp_parse_flthdr_28xx(isp, flthdr_data); |
4509 |
out: |
4510 |
return (retval); |
4511 |
} |
4512 |
|
4513 |
static void |
4514 |
isp_rd_28xx_flthdr(ispsoftc_t *isp, uint32_t addr, uint32_t *rp) |
4515 |
{ |
4516 |
fcparam *fcp = FCPARAM(isp, 0); |
4517 |
int loops = 0; |
4518 |
uint32_t base = fcp->flash_data_addr; |
4519 |
uint32_t tmp = 0; |
4520 |
|
4521 |
ISP_WRITE(isp, BIU2400_FLASH_ADDR, base | addr); |
4522 |
for (loops = 0; loops < 5000; loops++) { |
4523 |
ISP_DELAY(10); |
4524 |
tmp = ISP_READ(isp, BIU2400_FLASH_ADDR); |
4525 |
if ((tmp & (1U << 31)) != 0) { |
4526 |
break; |
4527 |
} |
4528 |
} |
4529 |
if (tmp & (1U << 31)) { |
4530 |
*rp = ISP_READ(isp, BIU2400_FLASH_DATA); |
4531 |
ISP_SWIZZLE_NVRAM_LONG(isp, rp); |
4532 |
} else { |
4533 |
*rp = 0xffffffff; |
4534 |
} |
4535 |
} |
4536 |
|
4537 |
static void |
4538 |
isp_parse_flthdr_28xx(ispsoftc_t *isp, uint8_t *flthdr_data) |
4539 |
{ |
4540 |
fcparam *fcp = FCPARAM(isp, 0); |
4541 |
uint16_t ver, csum; |
4542 |
|
4543 |
ver = le16toh((uint16_t) (ISP28XX_FLT_VERSION(flthdr_data))); |
4544 |
fcp->flt_length = le16toh((uint16_t) (ISP28XX_FLT_LENGTH(flthdr_data))); |
4545 |
csum = le16toh((uint16_t) (ISP28XX_FLT_CSUM(flthdr_data))); |
4546 |
|
4547 |
if ((fcp->flt_length == 0 ) || |
4548 |
(fcp->flt_length > (FLT_HEADER_SIZE + FLT_REGIONS_SIZE))) { |
4549 |
isp_prt(isp, ISP_LOGWARN, |
4550 |
"FLT[DEF]: Invalid length=0x%x(%d)", |
4551 |
fcp->flt_length, fcp->flt_length); |
4552 |
} |
4553 |
isp_prt(isp, ISP_LOGDEBUG0, |
4554 |
"FLT[DEF]: version=0x%x length=0x%x(%d) checksum=0x%x", |
4555 |
ver, fcp->flt_length, fcp->flt_length, csum); |
4556 |
} |
4557 |
|
4558 |
static int |
4559 |
isp_read_flt_28xx(ispsoftc_t *isp) |
4560 |
{ |
4561 |
fcparam *fcp = FCPARAM(isp, 0); |
4562 |
int retval = 0; |
4563 |
int len = fcp->flt_length - FLT_HEADER_SIZE; |
4564 |
uint32_t addr, lwrds, *dptr; |
4565 |
uint8_t flt_data[len]; |
4566 |
fcp->flt_region_entries = len / FLT_REGION_SIZE; |
4567 |
|
4568 |
addr = ISP28XX_FLT_ADDR + (FLT_HEADER_SIZE >> 2); |
4569 |
dptr = (uint32_t *) flt_data; |
4570 |
isp_prt(isp, ISP_LOGDEBUG0, "FLT[DEF]: regions=%d", |
4571 |
fcp->flt_region_entries); |
4572 |
for (lwrds = 0; lwrds < len >> 2; lwrds++) { |
4573 |
isp_rd_28xx_flt(isp, addr++, dptr++); |
4574 |
} |
4575 |
retval = isp_parse_flt_28xx(isp, flt_data); |
4576 |
return (retval); |
4577 |
} |
4578 |
|
4579 |
static void |
4580 |
isp_rd_28xx_flt(ispsoftc_t *isp, uint32_t addr, uint32_t *rp) |
4581 |
{ |
4582 |
fcparam *fcp = FCPARAM(isp, 0); |
4583 |
int loops = 0; |
4584 |
uint32_t base = fcp->flash_data_addr; |
4585 |
uint32_t tmp = 0; |
4586 |
|
4587 |
ISP_WRITE(isp, BIU2400_FLASH_ADDR, base | addr); |
4588 |
for (loops = 0; loops < 5000; loops++) { |
4589 |
ISP_DELAY(10); |
4590 |
tmp = ISP_READ(isp, BIU2400_FLASH_ADDR); |
4591 |
if ((tmp & (1U << 31)) != 0) { |
4592 |
break; |
4593 |
} |
4594 |
} |
4595 |
if (tmp & (1U << 31)) { |
4596 |
*rp = ISP_READ(isp, BIU2400_FLASH_DATA); |
4597 |
ISP_SWIZZLE_NVRAM_LONG(isp, rp); |
4598 |
} else { |
4599 |
*rp = 0xffffffff; |
4600 |
} |
4601 |
} |
4602 |
|
4603 |
static int |
4604 |
isp_parse_flt_28xx(ispsoftc_t *isp, uint8_t *flt_data) |
4605 |
{ |
4606 |
fcparam *fcp = FCPARAM(isp, 0); |
4607 |
int count; |
4608 |
struct flt_region region[fcp->flt_region_entries]; |
4609 |
|
4610 |
for (count = 0; count < fcp->flt_region_entries; count++) { |
4611 |
region[count].code = |
4612 |
le16toh((uint16_t) (ISP28XX_FLT_REG_CODE(flt_data, count))); |
4613 |
region[count].attribute = |
4614 |
(uint8_t) (ISP28XX_FLT_REG_ATTR(flt_data, count)); |
4615 |
region[count].reserved = |
4616 |
(uint8_t) (ISP28XX_FLT_REG_RES(flt_data, count)); |
4617 |
region[count].size = |
4618 |
le32toh((uint32_t) (ISP28XX_FLT_REG_SIZE(flt_data, count)) >> 2); |
4619 |
region[count].start = |
4620 |
le32toh((uint32_t) (ISP28XX_FLT_REG_START(flt_data, count)) >> 2); |
4621 |
region[count].end = |
4622 |
le32toh((uint32_t) (ISP28XX_FLT_REG_END(flt_data, count)) >> 2); |
4623 |
|
4624 |
isp_prt(isp, ISP_LOGDEBUG0, |
4625 |
"FLT[0x%x]: start=0x%x end=0x%x size=0x%x attribute=0x%x", |
4626 |
region[count].code, region[count].start, region[count].end, |
4627 |
region[count].size, region[count].attribute); |
4628 |
|
4629 |
switch(region[count].code) { |
4630 |
case FLT_REG_FW: |
4631 |
fcp->flt_region_fw = region[count].start; |
4632 |
break; |
4633 |
case FLT_REG_BOOT_CODE: |
4634 |
fcp->flt_region_boot = region[count].start; |
4635 |
break; |
4636 |
case FLT_REG_VPD_0: |
4637 |
fcp->flt_region_vpd_nvram = region[count].start; |
4638 |
if (isp->isp_port == 0) |
4639 |
fcp->flt_region_vpd = region[count].start; |
4640 |
break; |
4641 |
case FLT_REG_VPD_1: |
4642 |
if (isp->isp_port == 1) |
4643 |
fcp->flt_region_vpd = region[count].start; |
4644 |
break; |
4645 |
case FLT_REG_VPD_2: |
4646 |
if (isp->isp_port == 2) |
4647 |
fcp->flt_region_vpd = region[count].start; |
4648 |
break; |
4649 |
case FLT_REG_VPD_3: |
4650 |
if (isp->isp_port == 3) |
4651 |
fcp->flt_region_vpd = region[count].start; |
4652 |
break; |
4653 |
case FLT_REG_NVRAM_0: |
4654 |
if (isp->isp_port == 0) |
4655 |
fcp->flt_region_nvram = region[count].start; |
4656 |
break; |
4657 |
case FLT_REG_NVRAM_1: |
4658 |
if (isp->isp_port == 1) |
4659 |
fcp->flt_region_nvram = region[count].start; |
4660 |
break; |
4661 |
case FLT_REG_NVRAM_2: |
4662 |
if (isp->isp_port == 2) |
4663 |
fcp->flt_region_nvram = region[count].start; |
4664 |
break; |
4665 |
case FLT_REG_NVRAM_3: |
4666 |
if (isp->isp_port == 3) |
4667 |
fcp->flt_region_nvram = region[count].start; |
4668 |
break; |
4669 |
case FLT_REG_FDT: |
4670 |
fcp->flt_region_fdt = region[count].start; |
4671 |
break; |
4672 |
case FLT_REG_FLT: |
4673 |
fcp->flt_region_flt = region[count].start; |
4674 |
break; |
4675 |
case FLT_REG_NPIV_CONF_0: |
4676 |
if (isp->isp_port == 0) |
4677 |
fcp->flt_region_npiv_conf = region[count].start; |
4678 |
break; |
4679 |
case FLT_REG_NPIV_CONF_1: |
4680 |
if (isp->isp_port == 1) |
4681 |
fcp->flt_region_npiv_conf = region[count].start; |
4682 |
break; |
4683 |
case FLT_REG_GOLD_FW: |
4684 |
fcp->flt_region_gold_fw = region[count].start; |
4685 |
break; |
4686 |
case FLT_REG_FCP_PRIO_0: |
4687 |
if (isp->isp_port == 0) |
4688 |
fcp->flt_region_fcp_prio = region[count].start; |
4689 |
break; |
4690 |
case FLT_REG_FCP_PRIO_1: |
4691 |
if (isp->isp_port == 1) |
4692 |
fcp->flt_region_fcp_prio = region[count].start; |
4693 |
break; |
4694 |
case FLT_REG_AUX_IMG_PRI_28XX: |
4695 |
fcp->flt_region_aux_img_status_pri = region[count].start; |
4696 |
break; |
4697 |
case FLT_REG_AUX_IMG_SEC_28XX: |
4698 |
fcp->flt_region_aux_img_status_sec = region[count].start; |
4699 |
break; |
4700 |
case FLT_REG_NVRAM_SEC_28XX_0: |
4701 |
if (isp->isp_port == 0) |
4702 |
fcp->flt_region_nvram_sec = region[count].start; |
4703 |
break; |
4704 |
case FLT_REG_NVRAM_SEC_28XX_1: |
4705 |
if (isp->isp_port == 1) |
4706 |
fcp->flt_region_nvram_sec = region[count].start; |
4707 |
break; |
4708 |
case FLT_REG_NVRAM_SEC_28XX_2: |
4709 |
if (isp->isp_port == 2) |
4710 |
fcp->flt_region_nvram_sec = region[count].start; |
4711 |
break; |
4712 |
case FLT_REG_NVRAM_SEC_28XX_3: |
4713 |
if (isp->isp_port == 3) |
4714 |
fcp->flt_region_nvram_sec = region[count].start; |
4715 |
break; |
4716 |
case FLT_REG_VPD_SEC_28XX_0: |
4717 |
fcp->flt_region_vpd_nvram_sec = region[count].start; |
4718 |
if (isp->isp_port == 0) |
4719 |
fcp->flt_region_vpd_sec = region[count].start; |
4720 |
break; |
4721 |
case FLT_REG_VPD_SEC_28XX_1: |
4722 |
if (isp->isp_port == 1) |
4723 |
fcp->flt_region_vpd_sec = region[count].start; |
4724 |
break; |
4725 |
case FLT_REG_VPD_SEC_28XX_2: |
4726 |
if (isp->isp_port == 2) |
4727 |
fcp->flt_region_vpd_sec = region[count].start; |
4728 |
break; |
4729 |
case FLT_REG_VPD_SEC_28XX_3: |
4730 |
if (isp->isp_port == 3) |
4731 |
fcp->flt_region_vpd_sec = region[count].start; |
4732 |
break; |
4733 |
} |
4734 |
} |
4735 |
isp_prt(isp, ISP_LOGDEBUG0, |
4736 |
"FLT[FLT]: boot=0x%x fw=0x%x vpd_nvram=0x%x vpd=0x%x nvram 0x%x " |
4737 |
"fdt=0x%x flt=0x%x npiv=0x%x fcp_prif_cfg=0x%x", |
4738 |
fcp->flt_region_boot, fcp->flt_region_fw, fcp->flt_region_vpd_nvram, |
4739 |
fcp->flt_region_vpd, fcp->flt_region_nvram, fcp->flt_region_fdt, |
4740 |
fcp->flt_region_flt, fcp->flt_region_npiv_conf, |
4741 |
fcp->flt_region_fcp_prio); |
4742 |
|
4743 |
return (0); |
4744 |
} |