|  | #!/usr/bin/perl | 
|  |  | 
|  | # This script can be used to generate a new starfire_firmware.h | 
|  | # from GFP_RX.DAT and GFP_TX.DAT, files included with the DDK | 
|  | # and also with the Novell drivers. | 
|  |  | 
|  | open FW, "GFP_RX.DAT" || die; | 
|  | open FWH, ">starfire_firmware.h" || die; | 
|  |  | 
|  | printf(FWH "static u32 firmware_rx[] = {\n"); | 
|  | $counter = 0; | 
|  | while ($foo = <FW>) { | 
|  | chomp; | 
|  | printf(FWH "  0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4)); | 
|  | $counter++; | 
|  | } | 
|  |  | 
|  | close FW; | 
|  | open FW, "GFP_TX.DAT" || die; | 
|  |  | 
|  | printf(FWH "};\t/* %d Rx instructions */\n#define FIRMWARE_RX_SIZE %d\n\nstatic u32 firmware_tx[] = {\n", $counter, $counter); | 
|  | $counter = 0; | 
|  | while ($foo = <FW>) { | 
|  | chomp; | 
|  | printf(FWH "  0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4)); | 
|  | $counter++; | 
|  | } | 
|  |  | 
|  | close FW; | 
|  | printf(FWH "};\t/* %d Tx instructions */\n#define FIRMWARE_TX_SIZE %d\n", $counter, $counter); | 
|  | close(FWH); |