lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Sat, 16 Feb 2008 18:56:27 -0800
From:	"Subbu Seetharaman" <subbus@...verengines.com>
To:	netdev@...r.kernel.org
Subject: [PATHCH 14/16]  ServerEngines 10Gb NIC driver

F/W header files.

------------------
diff -uprN orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/iscsi_initiator_host_struct_bmap.h benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/iscsi_initiator_host_struct_bmap.h
--- orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/iscsi_initiator_host_struct_bmap.h	1970-01-01 05:30:00.000000000 +0530
+++ benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/iscsi_initiator_host_struct_bmap.h	2008-02-14 15:23:07.836201480 +0530
@@ -0,0 +1,642 @@
+/*
+ * Copyright (C) 2005 - 2008 ServerEngines
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or at your option any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, 5th Floor
+ * Boston, MA 02110-1301 USA
+ *
+ *
+ * The full GNU General Public License is included in this distribution
+ * in the file called GPL.
+ *
+ * Contact Information:
+ * linux-drivers@...verengines.com
+ *
+ * ServerEngines
+ * 209 N. Fair Oaks Ave
+ * Sunnyvale, CA 94085
+ */
+/*
+ * Autogenerated by srcgen version: 0127  */ #ifndef 
+__iscsi_initiator_host_struct_bmap_h__
+#define __iscsi_initiator_host_struct_bmap_h__
+#include "setypes.h"
+
+#undef SG_PACK
+#if defined(SG_PRAGMA_PACK)
+#pragma pack(push, 1)
+#define SG_PACK
+#elif defined(SG_ATTRIBUTE_PACK)
+#define SG_PACK __attribute__ ((packed)) #else #define SG_PACK #endif
+
+#ifndef SG_C_ASSERT
+#define SG_C_ASSERT(_name_, _condition_) #endif
+
+#if defined(__BIG_ENDIAN)
+   /* iSCSI Completion Queue Entry definition for cmd/cxn level 
+completions */ typedef struct _ISCSI_CQ_ENTRY {
+	union {
+		struct {
+			u32 status:4;	/* DWORD 0 */
+			u32 cq_type:2;	/* DWORD 0 */
+			u32 cid:10;	/* DWORD 0 */
+			u32 sts_type:1;	/* DWORD 0 */
+			u32 wrb_index:15;	/* DWORD 0 */
+			u32 iMaxCmdSNOffset:8;	/* DWORD 1 */
+			u32 s:1;	/* DWORD 1 */
+			u32 iFlags:7;	/* DWORD 1 */
+			u32 iResponse:8;	/* DWORD 1 */
+			u32 iStatus:8;	/* DWORD 1 */
+			u32 iExpCmdSN;	/* DWORD 2 */
+			u32 Valid:1;	/* DWORD 3 */
+			u32 iResidualCnt:31;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_CQ_ENTRY, *PISCSI_CQ_ENTRY;
+
+SG_C_ASSERT(__sizeof__ISCSI_CQ_ENTRY, sizeof(ISCSI_CQ_ENTRY) == 16);
+
+#else
+   /* iSCSI Completion Queue Entry definition for cmd/cxn level 
+completions */ typedef struct _ISCSI_CQ_ENTRY {
+	union {
+		struct {
+			u32 wrb_index:15;	/* DWORD 0 */
+			u32 sts_type:1;	/* DWORD 0 */
+			u32 cid:10;	/* DWORD 0 */
+			u32 cq_type:2;	/* DWORD 0 */
+			u32 status:4;	/* DWORD 0 */
+			u32 iStatus:8;	/* DWORD 1 */
+			u32 iResponse:8;	/* DWORD 1 */
+			u32 iFlags:7;	/* DWORD 1 */
+			u32 s:1;	/* DWORD 1 */
+			u32 iMaxCmdSNOffset:8;	/* DWORD 1 */
+			u32 iExpCmdSN;	/* DWORD 2 */
+			u32 iResidualCnt:31;	/* DWORD 3 */
+			u32 Valid:1;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_CQ_ENTRY, *PISCSI_CQ_ENTRY;
+
+SG_C_ASSERT(__sizeof__ISCSI_CQ_ENTRY, sizeof(ISCSI_CQ_ENTRY) == 16); 
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_102_RSVD {
+	u32 rsvd1:22;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_102_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_102_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_102_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:22;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_102_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_102_RSVD;
+
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_103_RSVD {
+	u32 rsvd1:7;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_103_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_103_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_103_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:7;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_103_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_103_RSVD;
+
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD {
+	union {
+		struct {
+			u32 rsvd1:31;	/* DWORD 0 */
+			u32 rsvd0:1;	/* DWORD 0 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw;		/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD,
+	    sizeof(ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD) == 4);
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD {
+	union {
+		struct {
+			u32 rsvd0:1;	/* DWORD 0 */
+			u32 rsvd1:31;	/* DWORD 0 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw;		/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD,
+	    sizeof(ISCSI_INITIATOR_HOST_STRUCT_ANON_104_RSVD) == 4); #endif
+
+#if defined(__BIG_ENDIAN)
+   /*
+    *  iSCSI Completion Queue Entry Definition for default (aka unsolicited)
+    *  pdu  completions
+    */
+typedef struct _ISCSI_DEFAULT_PDU_CQ_ENTRY {
+	union {
+		struct {
+			u32 status:4;	/* DWORD 0 */
+			u32 cq_type:2;	/* DWORD 0 */
+			u32 cid:10;	/* DWORD 0 */
+			u32 dataPlacementLength:16;	/* DWORD 0 */
+			u32 rsvd1:8;	/* DWORD 1 */
+			u32 s:1;	/* DWORD 1 */
+			u32 rsvd0:23;	/* DWORD 1 */
+			u32 rsvd2[1];	/* DWORDS 2 to 2 */
+			u32 Valid:1;	/* DWORD 3 */
+			u32 pduBytesRcvd:31;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_DEFAULT_PDU_CQ_ENTRY, *PISCSI_DEFAULT_PDU_CQ_ENTRY;
+
+SG_C_ASSERT(__sizeof__ISCSI_DEFAULT_PDU_CQ_ENTRY,
+	    sizeof(ISCSI_DEFAULT_PDU_CQ_ENTRY) == 16);
+
+#else
+   /*
+    *  iSCSI Completion Queue Entry Definition for default (aka unsolicited)
+    *  pdu  completions
+    */
+typedef struct _ISCSI_DEFAULT_PDU_CQ_ENTRY {
+	union {
+		struct {
+			u32 dataPlacementLength:16;	/* DWORD 0 */
+			u32 cid:10;	/* DWORD 0 */
+			u32 cq_type:2;	/* DWORD 0 */
+			u32 status:4;	/* DWORD 0 */
+			u32 rsvd0:23;	/* DWORD 1 */
+			u32 s:1;	/* DWORD 1 */
+			u32 rsvd1:8;	/* DWORD 1 */
+			u32 rsvd2[1];	/* DWORDS 2 to 2 */
+			u32 pduBytesRcvd:31;	/* DWORD 3 */
+			u32 Valid:1;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_DEFAULT_PDU_CQ_ENTRY, *PISCSI_DEFAULT_PDU_CQ_ENTRY;
+
+SG_C_ASSERT(__sizeof__ISCSI_DEFAULT_PDU_CQ_ENTRY,
+	    sizeof(ISCSI_DEFAULT_PDU_CQ_ENTRY) == 16); #endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_105_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_105_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_105_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_105_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_105_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_105_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_106_RSVD {
+	u32 rsvd1:22;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_106_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_106_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_106_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:22;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_106_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_106_RSVD;
+
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_107_RSVD {
+	u32 rsvd1:7;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_107_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_107_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_107_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:7;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_107_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_107_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD {
+	union {
+		struct {
+			u32 rsvd1:31;	/* DWORD 0 */
+			u32 rsvd0:1;	/* DWORD 0 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw;		/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD,
+	    sizeof(ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD) == 4);
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD {
+	union {
+		struct {
+			u32 rsvd0:1;	/* DWORD 0 */
+			u32 rsvd1:31;	/* DWORD 0 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw;		/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD,
+	    sizeof(ISCSI_INITIATOR_HOST_STRUCT_ANON_108_RSVD) == 4); #endif
+
+#if defined(__BIG_ENDIAN)
+   /* iSCSI Completion Queue Entry definition for driver msg 
+completions */ typedef struct _ISCSI_DRIVER_MSG_CQ_ENTRY {
+	union {
+		struct {
+			u32 status:4;	/* DWORD 0 */
+			u32 cq_type:2;	/* DWORD 0 */
+			u32 cid:10;	/* DWORD 0 */
+			u32 rsvd0:1;	/* DWORD 0 */
+			u32 wrb_index:15;	/* DWORD 0 */
+			u32 rsvd2:8;	/* DWORD 1 */
+			u32 s:1;	/* DWORD 1 */
+			u32 rsvd1:23;	/* DWORD 1 */
+			u32 rsvd3[1];	/* DWORDS 2 to 2 */
+			u32 Valid:1;	/* DWORD 3 */
+			u32 pduBytesRcvd:31;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_DRIVER_MSG_CQ_ENTRY, *PISCSI_DRIVER_MSG_CQ_ENTRY;
+
+SG_C_ASSERT(__sizeof__ISCSI_DRIVER_MSG_CQ_ENTRY,
+	    sizeof(ISCSI_DRIVER_MSG_CQ_ENTRY) == 16);
+
+#else
+   /* iSCSI Completion Queue Entry definition for driver msg 
+completions */ typedef struct _ISCSI_DRIVER_MSG_CQ_ENTRY {
+	union {
+		struct {
+			u32 wrb_index:15;	/* DWORD 0 */
+			u32 rsvd0:1;	/* DWORD 0 */
+			u32 cid:10;	/* DWORD 0 */
+			u32 cq_type:2;	/* DWORD 0 */
+			u32 status:4;	/* DWORD 0 */
+			u32 rsvd1:23;	/* DWORD 1 */
+			u32 s:1;	/* DWORD 1 */
+			u32 rsvd2:8;	/* DWORD 1 */
+			u32 rsvd3[1];	/* DWORDS 2 to 2 */
+			u32 pduBytesRcvd:31;	/* DWORD 3 */
+			u32 Valid:1;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_DRIVER_MSG_CQ_ENTRY, *PISCSI_DRIVER_MSG_CQ_ENTRY;
+
+SG_C_ASSERT(__sizeof__ISCSI_DRIVER_MSG_CQ_ENTRY,
+	    sizeof(ISCSI_DRIVER_MSG_CQ_ENTRY) == 16); #endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_109_RSVD {
+	u32 rsvd1:3;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_109_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_109_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_109_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:3;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_109_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_109_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_110_RSVD {
+	u32 rsvd1:7;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_110_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_110_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_110_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:7;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_110_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_110_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_111_RSVD {
+	u32 rsvd1:3;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_111_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_111_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_111_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:3;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_111_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_111_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD {
+	union {
+		struct {
+			u32 rsvd1:31;	/* DWORD 0 */
+			u32 rsvd0:1;	/* DWORD 0 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw;		/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD,
+	    sizeof(ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD) == 4); #else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD {
+	union {
+		struct {
+			u32 rsvd0:1;	/* DWORD 0 */
+			u32 rsvd1:31;	/* DWORD 0 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw;		/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD,
+	    sizeof(ISCSI_INITIATOR_HOST_STRUCT_ANON_112_RSVD) == 4); #endif
+
+#if defined(__BIG_ENDIAN)
+   /*
+    *  [table name="iSCSIWRBInitiator" col="4" delimit=":" caption="iSCSI
+    *  Initiator WRB  flag details."] iSCSI PDU type : WR : DSP : DMSG
+    *  : iSCSI Write command with/without  Immediate/unsolicited data
+    *  : 1 : 1 : 0 : iSCSI Read command: 0 : 0 : 0 : Text  request without
+    *  data: 0 : 0 : 0 : Text request with data: 1 : 1 : 0 : Logout
+    *  request: 0 : 0 : 0 : NOP OUT with ping data with acknowledgement:
+    *  1 : 1 : 0 : NOP  OUT without ping data with acknowledgement: 0
+    *  : 0 : 0 : NOP OUT without  acknowledgement: 0 : 0 : 1 : NOP OUT
+    *  in response to NOP IN from iSCSI target: 0 : 0  : 1 : Task Management
+    *  function request: 0 : 0 : 0 : [/table] Note:  The logout and
+    *  task management response will be notified to host driver by Rx
+    *  ULP as part of  default ring processing. It is host driver responsibility
+    *  to wait for response or  time out for these commands to cleanup
+    *  related data structures.
+    */
+typedef struct _ISCSI_INITIATOR_WRB {
+	union {
+		struct {
+			u32 rsvd0:4;	/* DWORD 0 */
+			u32 invld:1;	/* DWORD 0 */
+			u32 dsp:1;	/* DWORD 0 */
+			u32 abort:1;	/* DWORD 0 */
+			u32 dmsg:1;	/* DWORD 0 */
+			u32 wrbindex:8;	/* DWORD 0 */
+			u32 wr:1;	/* DWORD 0 */
+			u32 lt:1;	/* DWORD 0 */
+			u32 lun:14;	/* DWORD 0 */
+			u32 rsvd2:4;	/* DWORD 1 */
+			u32 sgl_icd_Index:12;	/* DWORD 1 */
+			u32 rsvd1:8;	/* DWORD 1 */
+			u32 ptr2NextWrb:8;	/* DWORD 1 */
+			u32 cmdsn;	/* DWORD 2 */
+			u32 rsvd3:20;	/* DWORD 3 */
+			u32 abort_sgl_icd_Index:12;	/* DWORD 3 */
+			u32 addr_hi;	/* DWORD 4 */
+			u32 addr_lo;	/* DWORD 5 */
+			u32 rsvd4[1];	/* DWORDS 6 to 6 */
+			u32 ExpDataXfrLen:24;	/* DWORD 7 */
+			u32 len:8;	/* DWORD 7 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[8];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_WRB, *PISCSI_INITIATOR_WRB;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_WRB,
+	    sizeof(ISCSI_INITIATOR_WRB) == 32); #else
+   /*
+    *  [table name="iSCSIWRBInitiator" col="4" delimit=":" caption="iSCSI
+    *  Initiator WRB  flag details."] iSCSI PDU type : WR : DSP : DMSG
+    *  : iSCSI Write command with/without  Immediate/unsolicited data
+    *  : 1 : 1 : 0 : iSCSI Read command: 0 : 0 : 0 : Text  request without
+    *  data: 0 : 0 : 0 : Text request with data: 1 : 1 : 0 : Logout
+    *  request: 0 : 0 : 0 : NOP OUT with ping data with acknowledgement:
+    *  1 : 1 : 0 : NOP  OUT without ping data with acknowledgement: 0
+    *  : 0 : 0 : NOP OUT without  acknowledgement: 0 : 0 : 1 : NOP OUT
+    *  in response to NOP IN from iSCSI target: 0 : 0  : 1 : Task Management
+    *  function request: 0 : 0 : 0 : [/table] Note:  The logout and
+    *  task management response will be notified to host driver by Rx
+    *  ULP as part of  default ring processing. It is host driver responsibility
+    *  to wait for response or  time out for these commands to cleanup
+    *  related data structures.
+    */
+typedef struct _ISCSI_INITIATOR_WRB {
+	union {
+		struct {
+			u32 lun:14;	/* DWORD 0 */
+			u32 lt:1;	/* DWORD 0 */
+			u32 wr:1;	/* DWORD 0 */
+			u32 wrbindex:8;	/* DWORD 0 */
+			u32 dmsg:1;	/* DWORD 0 */
+			u32 abort:1;	/* DWORD 0 */
+			u32 dsp:1;	/* DWORD 0 */
+			u32 invld:1;	/* DWORD 0 */
+			u32 rsvd0:4;	/* DWORD 0 */
+			u32 ptr2NextWrb:8;	/* DWORD 1 */
+			u32 rsvd1:8;	/* DWORD 1 */
+			u32 sgl_icd_Index:12;	/* DWORD 1 */
+			u32 rsvd2:4;	/* DWORD 1 */
+			u32 cmdsn;	/* DWORD 2 */
+			u32 abort_sgl_icd_Index:12;	/* DWORD 3 */
+			u32 rsvd3:20;	/* DWORD 3 */
+			u32 addr_hi;	/* DWORD 4 */
+			u32 addr_lo;	/* DWORD 5 */
+			u32 rsvd4[1];	/* DWORDS 6 to 6 */
+			u32 len:8;	/* DWORD 7 */
+			u32 ExpDataXfrLen:24;	/* DWORD 7 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[8];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_INITIATOR_WRB, *PISCSI_INITIATOR_WRB;
+
+SG_C_ASSERT(__sizeof__ISCSI_INITIATOR_WRB,
+	    sizeof(ISCSI_INITIATOR_WRB) == 32); #endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_113_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_113_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_113_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_113_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_113_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_113_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_114_RSVD {
+	u32 rsvd1:5;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_114_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_114_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_114_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:5;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_114_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_114_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_115_RSVD {
+	u32 rsvd1:7;		/* DWORD 0 */
+	u32 rsvd0:1;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_115_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_115_RSVD;
+
+#else
+
+typedef struct _ISCSI_INITIATOR_HOST_STRUCT_ANON_115_RSVD {
+	u32 rsvd0:1;		/* DWORD 0 */
+	u32 rsvd1:7;		/* DWORD 0 */
+} SG_PACK ISCSI_INITIATOR_HOST_STRUCT_ANON_115_RSVD,
+    *PISCSI_INITIATOR_HOST_STRUCT_ANON_115_RSVD;
+#endif
+
+#if defined(__BIG_ENDIAN)
+   /* DEPRECATE  */
+typedef struct _ISCSI_WRB {
+	union {
+		struct {
+			u32 driverMessage:1;	/* DWORD 0 */
+			u32 rw_cmd:1;	/* DWORD 0 */
+			u32 rsvd1:6;	/* DWORD 0 */
+			u32 wrbIndex:8;	/* DWORD 0 */
+			u32 rsvd0:1;	/* DWORD 0 */
+			u32 invalidate:1;	/* DWORD 0 */
+			u32 opcode:6;	/* DWORD 0 */
+			u32 targetLUN:8;	/* DWORD 0 */
+			u32 unsolicited_length:16;	/* DWORD 1 */
+			u32 rsvd2:8;	/* DWORD 1 */
+			u32 ptr2NextWrb:8;	/* DWORD 1 */
+			u32 cmd_sn;	/* DWORD 2 */
+			u32 exp_stat_sn;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_WRB, *PISCSI_WRB;
+
+SG_C_ASSERT(__sizeof__ISCSI_WRB, sizeof(ISCSI_WRB) == 16);
+
+#else
+   /* DEPRECATE  */
+typedef struct _ISCSI_WRB {
+	union {
+		struct {
+			u32 targetLUN:8;	/* DWORD 0 */
+			u32 opcode:6;	/* DWORD 0 */
+			u32 invalidate:1;	/* DWORD 0 */
+			u32 rsvd0:1;	/* DWORD 0 */
+			u32 wrbIndex:8;	/* DWORD 0 */
+			u32 rsvd1:6;	/* DWORD 0 */
+			u32 rw_cmd:1;	/* DWORD 0 */
+			u32 driverMessage:1;	/* DWORD 0 */
+			u32 ptr2NextWrb:8;	/* DWORD 1 */
+			u32 rsvd2:8;	/* DWORD 1 */
+			u32 unsolicited_length:16;	/* DWORD 1 */
+			u32 cmd_sn;	/* DWORD 2 */
+			u32 exp_stat_sn;	/* DWORD 3 */
+		} SG_PACK;	/* unnamed struct */
+		u32 dw[4];	/* dword union */
+	};			/* unnamed union */
+} SG_PACK ISCSI_WRB, *PISCSI_WRB;
+
+SG_C_ASSERT(__sizeof__ISCSI_WRB, sizeof(ISCSI_WRB) == 16); #endif
+
+#ifdef SG_PRAGMA_PACK
+#pragma pack(pop)
+#endif
+
+#endif /* __iscsi_initiator_host_struct_bmap_h__ */
diff -uprN orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/descriptors_bmap.h benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/descriptors_bmap.h
--- orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/descriptors_bmap.h	1970-01-01 05:30:00.000000000 +0530
+++ benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/descriptors_bmap.h	2008-02-14 15:23:07.836201480 +0530
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2005 - 2008 ServerEngines
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or at your option any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, 5th Floor
+ * Boston, MA 02110-1301 USA
+ *
+ *
+ * The full GNU General Public License is included in this distribution
+ * in the file called GPL.
+ *
+ * Contact Information:
+ * linux-drivers@...verengines.com
+ *
+ * ServerEngines
+ * 209 N. Fair Oaks Ave
+ * Sunnyvale, CA 94085
+ */
+/*
+ * Autogenerated by srcgen version: 0127  */ #ifndef 
+__descriptors_bmap_h__ #define __descriptors_bmap_h__ #include 
+"setypes.h"
+
+#undef SG_PACK
+#if defined(SG_PRAGMA_PACK)
+#pragma pack(push, 1)
+#define SG_PACK
+#elif defined(SG_ATTRIBUTE_PACK)
+#define SG_PACK __attribute__ ((packed)) #else #define SG_PACK #endif
+
+#ifndef SG_C_ASSERT
+#define SG_C_ASSERT(_name_, _condition_) #endif
+
+#if defined(__BIG_ENDIAN)
+   /*
+    *  After a packet is written to the appropriate FIFO, the receive filter
+    *  will write an 128bit pseudo-header with the results of the parsing
+    *  and checking. This pseudo header is used by the Receive Packet
+    *  Processor to determine what command descriptor to generate, and
+    *  where to send it
+    */
+typedef struct _RXFILT_D {
+	u32 s:1;		/* DWORD 0 */
+	u32 ipsec:1;		/* DWORD 0 */
+	u32 dest_id:10;		/* DWORD 0 */
+	u32 err:1;		/* DWORD 0 */
+	u32 udpcksm:1;		/* DWORD 0 */
+	u32 tcpcksm:1;		/* DWORD 0 */
+	u32 ipcksm:1;		/* DWORD 0 */
+	u32 vtm:1;		/* DWORD 0 */
+	u32 l3type:2;		/* DWORD 0 */
+	u32 snap:1;		/* DWORD 0 */
+	u32 tho:1;		/* DWORD 0 */
+	u32 port:1;		/* DWORD 0 */
+	u32 vtp:1;		/* DWORD 0 */
+	u32 mac_id:6;		/* DWORD 0 */
+	u32 ba:1;		/* DWORD 0 */
+	u32 ma:1;		/* DWORD 0 */
+	u32 ua:1;		/* DWORD 0 */
+	u32 ct:2;		/* DWORD 1 */
+	u32 len:14;		/* DWORD 1 */
+	u32 vtag:16;		/* DWORD 1 */
+	u32 mpacrc;		/* DWORD 2 */
+	u32 rss_hash;		/* DWORD 3 */
+} SG_PACK RXFILT_D, *PRXFILT_D;
+
+#else
+   /*
+    *  After a packet is written to the appropriate FIFO, the receive filter
+    *  will write an 128bit pseudo-header with the results of the parsing
+    *  and checking. This pseudo header is used by the Receive Packet
+    *  Processor to determine what command descriptor  to generate, and
+    *  where to send it
+    */
+typedef struct _RXFILT_D {
+	u32 ua:1;		/* DWORD 0 */
+	u32 ma:1;		/* DWORD 0 */
+	u32 ba:1;		/* DWORD 0 */
+	u32 mac_id:6;		/* DWORD 0 */
+	u32 vtp:1;		/* DWORD 0 */
+	u32 port:1;		/* DWORD 0 */
+	u32 tho:1;		/* DWORD 0 */
+	u32 snap:1;		/* DWORD 0 */
+	u32 l3type:2;		/* DWORD 0 */
+	u32 vtm:1;		/* DWORD 0 */
+	u32 ipcksm:1;		/* DWORD 0 */
+	u32 tcpcksm:1;		/* DWORD 0 */
+	u32 udpcksm:1;		/* DWORD 0 */
+	u32 err:1;		/* DWORD 0 */
+	u32 dest_id:10;		/* DWORD 0 */
+	u32 ipsec:1;		/* DWORD 0 */
+	u32 s:1;		/* DWORD 0 */
+	u32 vtag:16;		/* DWORD 1 */
+	u32 len:14;		/* DWORD 1 */
+	u32 ct:2;		/* DWORD 1 */
+	u32 mpacrc;		/* DWORD 2 */
+	u32 rss_hash;		/* DWORD 3 */
+} SG_PACK RXFILT_D, *PRXFILT_D;
+
+#endif
+
+#ifdef SG_PRAGMA_PACK
+#pragma pack(pop)
+#endif
+
+#endif /* __descriptors_bmap_h__ */
diff -uprN orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/regmap_bmap.h benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/regmap_bmap.h
--- orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/regmap_bmap.h	1970-01-01 05:30:00.000000000 +0530
+++ benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/regmap_bmap.h	2008-02-14 15:23:07.837201328 +0530
@@ -0,0 +1,204 @@
+/*
+ * Copyright (C) 2005 - 2008 ServerEngines
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or at your option any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, 5th Floor
+ * Boston, MA 02110-1301 USA
+ *
+ *
+ * The full GNU General Public License is included in this distribution
+ * in the file called GPL.
+ *
+ * Contact Information:
+ * linux-drivers@...verengines.com
+ *
+ * ServerEngines
+ * 209 N. Fair Oaks Ave
+ * Sunnyvale, CA 94085
+ */
+/*
+ * Autogenerated by srcgen version: 0127  */ #ifndef __regmap_bmap_h__ 
+#define __regmap_bmap_h__ #include "setypes.h"
+#include "pcicfg_bmap.h"
+#include "ep_bmap.h"
+#include "cev_bmap.h"
+#include "mpu_bmap.h"
+#include "doorbells_bmap.h"
+
+#undef SG_PACK
+#if defined(SG_PRAGMA_PACK)
+#pragma pack(push, 1)
+#define SG_PACK
+#elif defined(SG_ATTRIBUTE_PACK)
+#define SG_PACK __attribute__ ((packed)) #else #define SG_PACK #endif
+
+#ifndef SG_C_ASSERT
+#define SG_C_ASSERT(_name_, _condition_) #endif
+
+#if defined(__BIG_ENDIAN)
+typedef struct _REGMAP_ANON_110_RSVD {
+	u32 rsvd0[1];		/* DWORDS 0 to 0 */
+	u32 rsvd1[255];		/* DWORDS 1 to 255 */
+} SG_PACK REGMAP_ANON_110_RSVD, *PREGMAP_ANON_110_RSVD;
+
+#else
+
+typedef struct _REGMAP_ANON_110_RSVD {
+	u32 rsvd0[1];		/* DWORDS 0 to 0 */
+	u32 rsvd1[255];		/* DWORDS 1 to 255 */
+} SG_PACK REGMAP_ANON_110_RSVD, *PREGMAP_ANON_110_RSVD;
+
+#endif
+
+#if defined(__BIG_ENDIAN)
+      /*
+       *  This is the control and status register map for BladeEngine, showing
+       *  the relative  size and offset of each sub-module. The CSR registers
+       *  are identical for the  network and storage PCI functions. The
+       *  CSR map is shown below, followed by  details of each block,
+       *  in sub-sections. The sub-sections begin with a description
+       *   of CSRs that are instantiated in multiple blocks.
+       */
+typedef struct _BLADE_ENGINE_CSRMAP {
+	MPU_CSRMAP mpu;
+	u32 rsvd0[256];		/* DWORDS 256 to 511 */
+	u32 rsvd1[256];		/* DWORDS 512 to 767 */
+	CEV_CSRMAP cev;
+	u32 rsvd2[256];		/* DWORDS 1024 to 1279 */
+	u32 rsvd3[256];		/* DWORDS 1280 to 1535 */
+	u32 rsvd4[256];		/* DWORDS 1536 to 1791 */
+	u32 rsvd5[256];		/* DWORDS 1792 to 2047 */
+	u32 rsvd6[256];		/* DWORDS 2048 to 2303 */
+	u32 rsvd7[256];		/* DWORDS 2304 to 2559 */
+	u32 rsvd8[256];		/* DWORDS 2560 to 2815 */
+	u32 rsvd9[256];		/* DWORDS 2816 to 3071 */
+	u32 rsvd10[256];	/* DWORDS 3072 to 3327 */
+	u32 rsvd11[256];	/* DWORDS 3328 to 3583 */
+	u32 rsvd12[256];	/* DWORDS 3584 to 3839 */
+	u32 rsvd13[256];	/* DWORDS 3840 to 4095 */
+	u32 rsvd14[256];	/* DWORDS 4096 to 4351 */
+	u32 rsvd15[256];	/* DWORDS 4352 to 4607 */
+	u32 rsvd16[256];	/* DWORDS 4608 to 4863 */
+	u32 rsvd17[256];	/* DWORDS 4864 to 5119 */
+	u32 rsvd18[256];	/* DWORDS 5120 to 5375 */
+	u32 rsvd19[256];	/* DWORDS 5376 to 5631 */
+	u32 rsvd20[256];	/* DWORDS 5632 to 5887 */
+	u32 rsvd21[256];	/* DWORDS 5888 to 6143 */
+	u32 rsvd22[256];	/* DWORDS 6144 to 6399 */
+	u32 rsvd23[17152];	/* DWORDS 6400 to 23551 */
+} SG_PACK BLADE_ENGINE_CSRMAP, *PBLADE_ENGINE_CSRMAP;
+
+#else
+      /*
+       *  This is the control and status register map for BladeEngine, showing
+       *  the relative  size and offset of each sub-module. The CSR registers
+       *  are identical for the  network and storage PCI functions. The
+       *  CSR map is shown below, followed by  details of each block,
+       *  in sub-sections. The sub-sections begin with a description
+       *   of CSRs that are instantiated in multiple blocks.
+       */
+typedef struct _BLADE_ENGINE_CSRMAP {
+	MPU_CSRMAP mpu;
+	u32 rsvd0[256];		/* DWORDS 256 to 511 */
+	u32 rsvd1[256];		/* DWORDS 512 to 767 */
+	CEV_CSRMAP cev;
+	u32 rsvd2[256];		/* DWORDS 1024 to 1279 */
+	u32 rsvd3[256];		/* DWORDS 1280 to 1535 */
+	u32 rsvd4[256];		/* DWORDS 1536 to 1791 */
+	u32 rsvd5[256];		/* DWORDS 1792 to 2047 */
+	u32 rsvd6[256];		/* DWORDS 2048 to 2303 */
+	u32 rsvd7[256];		/* DWORDS 2304 to 2559 */
+	u32 rsvd8[256];		/* DWORDS 2560 to 2815 */
+	u32 rsvd9[256];		/* DWORDS 2816 to 3071 */
+	u32 rsvd10[256];	/* DWORDS 3072 to 3327 */
+	u32 rsvd11[256];	/* DWORDS 3328 to 3583 */
+	u32 rsvd12[256];	/* DWORDS 3584 to 3839 */
+	u32 rsvd13[256];	/* DWORDS 3840 to 4095 */
+	u32 rsvd14[256];	/* DWORDS 4096 to 4351 */
+	u32 rsvd15[256];	/* DWORDS 4352 to 4607 */
+	u32 rsvd16[256];	/* DWORDS 4608 to 4863 */
+	u32 rsvd17[256];	/* DWORDS 4864 to 5119 */
+	u32 rsvd18[256];	/* DWORDS 5120 to 5375 */
+	u32 rsvd19[256];	/* DWORDS 5376 to 5631 */
+	u32 rsvd20[256];	/* DWORDS 5632 to 5887 */
+	u32 rsvd21[256];	/* DWORDS 5888 to 6143 */
+	u32 rsvd22[256];	/* DWORDS 6144 to 6399 */
+	u32 rsvd23[17152];	/* DWORDS 6400 to 23551 */
+} SG_PACK BLADE_ENGINE_CSRMAP, *PBLADE_ENGINE_CSRMAP;
+
+#endif
+
+#if defined(__BIG_ENDIAN)
+      /*
+       *  The Blade Engine storage function (PCI function 0) requires
+       *  32 doorbell pages (up  to 32 protection domains).
+       */
+typedef struct _BLADE_ENGINE_PCI0_DBMAP {
+	PROTECTION_DOMAIN_DBMAP pci_func0_protection_domain_dbmap;
+	u32 rsvd0[31744];	/* DWORDS 1024 to 32767 */
+} SG_PACK BLADE_ENGINE_PCI0_DBMAP, *PBLADE_ENGINE_PCI0_DBMAP;
+
+#else
+      /*
+       *  The Blade Engine storage function (PCI function 0) requires
+       *  32 doorbell pages (up  to 32 protection domains).
+       */
+typedef struct _BLADE_ENGINE_PCI0_DBMAP {
+	PROTECTION_DOMAIN_DBMAP pci_func0_protection_domain_dbmap;
+	u32 rsvd0[31744];	/* DWORDS 1024 to 32767 */
+} SG_PACK BLADE_ENGINE_PCI0_DBMAP, *PBLADE_ENGINE_PCI0_DBMAP;
+
+#endif
+
+#if defined(__BIG_ENDIAN)
+      /*
+       *  The Blade Engine network function (PCI function 1) requires
+       *  543 doorbell pages  (up to 32 for protection domain pages and
+       *  an additional 511 specific to RDMA).
+       */
+typedef struct _BLADE_ENGINE_PCI1_DBMAP {
+	PROTECTION_DOMAIN_DBMAP pci_func1_protection_domain_dbmap;
+	u32 rsvd0[31744];	/* DWORDS 1024 to 32767 */
+	PROTECTION_DOMAIN_DBMAP
+	    pci_func1_protection_domain_dbmap_rdma[511];
+} SG_PACK BLADE_ENGINE_PCI1_DBMAP, *PBLADE_ENGINE_PCI1_DBMAP;
+
+#else
+      /*
+       *  The Blade Engine network function (PCI function 1) requires
+       *  543 doorbell pages  (up to 32 for protection domain pages and
+       *  an additional 511 specific to RDMA).
+       */
+typedef struct _BLADE_ENGINE_PCI1_DBMAP {
+	PROTECTION_DOMAIN_DBMAP pci_func1_protection_domain_dbmap;
+	u32 rsvd0[31744];	/* DWORDS 1024 to 32767 */
+	PROTECTION_DOMAIN_DBMAP
+	    pci_func1_protection_domain_dbmap_rdma[511];
+} SG_PACK BLADE_ENGINE_PCI1_DBMAP, *PBLADE_ENGINE_PCI1_DBMAP;
+
+#endif
+
+#ifdef SG_PRAGMA_PACK
+#pragma pack(pop)
+#endif
+
+#endif /* __regmap_bmap_h__ */
diff -uprN orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_hdr_bmap.h benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_hdr_bmap.h
--- orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_hdr_bmap.h	1970-01-01 05:30:00.000000000 +0530
+++ benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_hdr_bmap.h	2008-02-14 15:23:07.837201328 +0530
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2005 - 2008 ServerEngines
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or at your option any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, 5th Floor
+ * Boston, MA 02110-1301 USA
+ *
+ *
+ * The full GNU General Public License is included in this distribution
+ * in the file called GPL.
+ *
+ * Contact Information:
+ * linux-drivers@...verengines.com
+ *
+ * ServerEngines
+ * 209 N. Fair Oaks Ave
+ * Sunnyvale, CA 94085
+ */
+/*
+ * Autogenerated by srcgen version: 0127  */ #ifndef 
+__ioctl_hdr_bmap_h__ #define __ioctl_hdr_bmap_h__ #include "setypes.h"
+
+#undef SG_PACK
+#if defined(SG_PRAGMA_PACK)
+#pragma pack(push, 1)
+#define SG_PACK
+#elif defined(SG_ATTRIBUTE_PACK)
+#define SG_PACK __attribute__ ((packed)) #else #define SG_PACK #endif
+
+#ifndef SG_C_ASSERT
+#define SG_C_ASSERT(_name_, _condition_) #endif
+
+typedef struct _IOCTL_REQUEST_HEADER {
+	u8 opcode;
+	u8 subsystem;
+	u8 port_number;
+	u8 domain;
+	u32 timeout;
+	u32 request_length;
+	u32 rsvd0;
+} SG_PACK IOCTL_REQUEST_HEADER, *PIOCTL_REQUEST_HEADER;
+
+typedef struct _IOCTL_RESPONSE_HEADER {
+	u8 opcode;
+	u8 subsystem;
+	u8 rsvd0;
+	u8 domain;
+	u8 status;
+	u8 additional_status;
+	u16 rsvd1;
+	u32 response_length;
+	u32 actual_response_length;
+} SG_PACK IOCTL_RESPONSE_HEADER, *PIOCTL_RESPONSE_HEADER;
+
+/*
+ *  The firmware/driver overwrites the input IOCTL_REQUEST_HEADER with
+ *  the output  IOCTL_RESPONSE_HEADER.
+ */
+typedef union _IOCTL_HEADER {
+	IOCTL_REQUEST_HEADER request;
+	IOCTL_RESPONSE_HEADER response;
+} SG_PACK IOCTL_HEADER, *PIOCTL_HEADER;
+
+#ifdef SG_PRAGMA_PACK
+#pragma pack(pop)
+#endif
+
+#endif /* __ioctl_hdr_bmap_h__ */
diff -uprN orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_top_bmap.h benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_top_bmap.h
--- orig/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_top_bmap.h	1970-01-01 05:30:00.000000000 +0530
+++ benet/linux-2.6.24.2/drivers/message/beclib/fw/bmap/ioctl_top_bmap.h	2008-02-14 15:23:07.837201328 +0530
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2005 - 2008 ServerEngines
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or at your option any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, 5th Floor
+ * Boston, MA 02110-1301 USA
+ *
+ *
+ * The full GNU General Public License is included in this distribution
+ * in the file called GPL.
+ *
+ * Contact Information:
+ * linux-drivers@...verengines.com
+ *
+ * ServerEngines
+ * 209 N. Fair Oaks Ave
+ * Sunnyvale, CA 94085
+ */
+/*
+ * Autogenerated by srcgen version: 0127  */ #ifndef 
+__ioctl_top_bmap_h__ #define __ioctl_top_bmap_h__ #include "setypes.h"
+#include "asyncmesg_bmap.h"
+#include "ioctl_types_bmap.h"
+#include "ioctl_mcc_bmap.h"
+#include "ioctl_common_bmap.h"
+#include "ioctl_eth_bmap.h"
+
+#undef SG_PACK
+#if defined(SG_PRAGMA_PACK)
+#pragma pack(push, 1)
+#define SG_PACK
+#elif defined(SG_ATTRIBUTE_PACK)
+#define SG_PACK __attribute__ ((packed)) #else #define SG_PACK #endif
+
+#ifndef SG_C_ASSERT
+#define SG_C_ASSERT(_name_, _condition_) #endif
+
+#ifdef SG_PRAGMA_PACK
+#pragma pack(pop)
+#endif
+
+#endif /* __ioctl_top_bmap_h__ */

___________________________________________________________________________________
This message, together with any attachment(s), contains confidential and proprietary information of
ServerEngines Corporation and is intended only for the designated recipient(s) named above. Any unauthorized
review, printing, retention, copying, disclosure or distribution is strictly prohibited.  If you are not the
intended recipient of this message, please immediately advise the sender by reply email message and
delete all copies of this message and any attachment(s). Thank you.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists