summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2006-09-20 22:18:24 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2006-09-20 22:18:24 +0000
commit5b6c6eb379152e293002907f3ccbaacf20fd054e (patch)
tree3ac456b47ce5c871c5360c65dfd516cbd351cb05 /sys/dev/pci
parent2d186595d5eec8310c44e8a7a35d0a7a762429b0 (diff)
export a structure for the firmware file header. Unfortunately this is
one of the more gross firmwares around (as in, the broadcom supplied header file has 30+ ugly global variables.. which we must copy into a header. Kernel and userland must agree about this header, then the kernel can rip the header apart back into it's driver specific "globals"..)
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/if_bnxreg.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/sys/dev/pci/if_bnxreg.h b/sys/dev/pci/if_bnxreg.h
index 01f3ba4b3f2..1e4aca719dd 100644
--- a/sys/dev/pci/if_bnxreg.h
+++ b/sys/dev/pci/if_bnxreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_bnxreg.h,v 1.11 2006/08/21 03:22:09 brad Exp $ */
+/* $OpenBSD: if_bnxreg.h,v 1.12 2006/09/20 22:18:23 deraadt Exp $ */
/*-
* Copyright (c) 2006 Broadcom Corporation
@@ -34,6 +34,7 @@
#ifndef _BNX_H_DEFINED
#define _BNX_H_DEFINED
+#ifdef _KERNEL
#include "bpfilter.h"
#include "vlan.h"
@@ -4838,4 +4839,28 @@ struct bnx_softc
#endif
};
+#endif /* _KERNEL */
+
+struct bnx_firmware_header {
+ int bnx_COM_b06FwReleaseMajor;
+ int bnx_COM_b06FwReleaseMinor;
+ int bnx_COM_b06FwReleaseFix;
+ u_int32_t bnx_COM_b06FwStartAddr;
+ u_int32_t bnx_COM_b06FwTextAddr;
+ int bnx_COM_b06FwTextLen;
+ u_int32_t bnx_COM_b06FwDataAddr;
+ int bnx_COM_b06FwDataLen;
+ u_int32_t bnx_COM_b06FwRodataAddr;
+ int bnx_COM_b06FwRodataLen;
+ u_int32_t bnx_COM_b06FwBssAddr;
+ int bnx_COM_b06FwBssLen;
+ u_int32_t bnx_COM_b06FwSbssAddr;
+ int bnx_COM_b06FwSbssLen;
+ u_int32_t bnx_TXP_b06FwData[(0x0/4) + 1];
+ u_int32_t bnx_TXP_b06FwRodata[(0x0/4) + 1];
+ u_int32_t bnx_TXP_b06FwBss[(0x1c4/4) + 1];
+ u_int32_t bnx_TXP_b06FwSbss[(0x38/4) + 1];
+ int firmlength;
+};
+
#endif /* #ifndef _BNX_H_DEFINED */