diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2006-09-20 22:18:24 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2006-09-20 22:18:24 +0000 |
commit | 5b6c6eb379152e293002907f3ccbaacf20fd054e (patch) | |
tree | 3ac456b47ce5c871c5360c65dfd516cbd351cb05 /sys/dev/pci | |
parent | 2d186595d5eec8310c44e8a7a35d0a7a762429b0 (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.h | 27 |
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 */ |