2 * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
6 * Linux driver for Brocade Fibre Channel Host Bus Adapter.
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License (GPL) Version 2 as
10 * published by the Free Software Foundation
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
18 #ifndef __BFA_DEFS_BOOT_H__
19 #define __BFA_DEFS_BOOT_H__
21 #include <protocol/types.h>
22 #include <defs/bfa_defs_types.h>
23 #include <defs/bfa_defs_pport.h>
26 BFA_BOOT_BOOTLUN_MAX
= 4, /* maximum boot lun per IOC */
29 #define BOOT_CFG_REV1 1
32 * Boot options setting. Boot options setting determines from where
33 * to get the boot lun information
35 enum bfa_boot_bootopt
{
36 BFA_BOOT_AUTO_DISCOVER
= 0, /* Boot from blun provided by fabric */
37 BFA_BOOT_STORED_BLUN
= 1, /* Boot from bluns stored in flash */
38 BFA_BOOT_FIRST_LUN
= 2, /* Boot from first discovered blun */
42 * Boot lun information.
44 struct bfa_boot_bootlun_s
{
45 wwn_t pwwn
; /* port wwn of target */
46 lun_t lun
; /* 64-bit lun */
50 * BOOT boot configuraton
52 struct bfa_boot_cfg_s
{
57 u8 enable
; /* enable/disable SAN boot */
58 u8 speed
; /* boot speed settings */
59 u8 topology
; /* boot topology setting */
60 u8 bootopt
; /* bfa_boot_bootopt_t */
62 u32 nbluns
; /* number of boot luns */
66 struct bfa_boot_bootlun_s blun
[BFA_BOOT_BOOTLUN_MAX
];
67 struct bfa_boot_bootlun_s blun_disc
[BFA_BOOT_BOOTLUN_MAX
];
71 #endif /* __BFA_DEFS_BOOT_H__ */