/* * Copyright (c) 2005-2009 Brocade Communications Systems, Inc. * All rights reserved * www.brocade.com * * Linux driver for Brocade Fibre Channel Host Bus Adapter. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License (GPL) Version 2 as * published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. */ #ifndef __BFA_DEFS_BOOT_H__ #define __BFA_DEFS_BOOT_H__ #include #include #include enum { BFA_BOOT_BOOTLUN_MAX = 4, /* maximum boot lun per IOC */ BFA_PREBOOT_BOOTLUN_MAX = 8, /* maximum preboot lun per IOC */ }; #define BOOT_CFG_REV1 1 /** * Boot options setting. Boot options setting determines from where * to get the boot lun information */ enum bfa_boot_bootopt { BFA_BOOT_AUTO_DISCOVER = 0, /* Boot from blun provided by fabric */ BFA_BOOT_STORED_BLUN = 1, /* Boot from bluns stored in flash */ BFA_BOOT_FIRST_LUN = 2, /* Boot from first discovered blun */ }; /** * Boot lun information. */ struct bfa_boot_bootlun_s { wwn_t pwwn; /* port wwn of target */ lun_t lun; /* 64-bit lun */ }; /** * BOOT boot configuraton */ struct bfa_boot_cfg_s { u8 version; u8 rsvd1; u16 chksum; u8 enable; /* enable/disable SAN boot */ u8 speed; /* boot speed settings */ u8 topology; /* boot topology setting */ u8 bootopt; /* bfa_boot_bootopt_t */ u32 nbluns; /* number of boot luns */ u32 rsvd2; struct bfa_boot_bootlun_s blun[BFA_BOOT_BOOTLUN_MAX]; struct bfa_boot_bootlun_s blun_disc[BFA_BOOT_BOOTLUN_MAX]; }; struct bfa_boot_pbc_s { u8 enable; /* enable/disable SAN boot */ u8 speed; /* boot speed settings */ u8 topology; /* boot topology setting */ u8 rsvd1; u32 nbluns; /* number of boot luns */ struct bfa_boot_bootlun_s pblun[BFA_PREBOOT_BOOTLUN_MAX]; }; #endif /* __BFA_DEFS_BOOT_H__ */