| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #!/usr/bin/perl | 
 | 2 |  | 
 | 3 | # This script can be used to generate a new starfire_firmware.h | 
 | 4 | # from GFP_RX.DAT and GFP_TX.DAT, files included with the DDK | 
 | 5 | # and also with the Novell drivers. | 
 | 6 |  | 
 | 7 | open FW, "GFP_RX.DAT" || die; | 
 | 8 | open FWH, ">starfire_firmware.h" || die; | 
 | 9 |  | 
 | 10 | printf(FWH "static u32 firmware_rx[] = {\n"); | 
 | 11 | $counter = 0; | 
 | 12 | while ($foo = <FW>) { | 
 | 13 |   chomp; | 
 | 14 |   printf(FWH "  0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4)); | 
 | 15 |   $counter++; | 
 | 16 | } | 
 | 17 |  | 
 | 18 | close FW; | 
 | 19 | open FW, "GFP_TX.DAT" || die; | 
 | 20 |  | 
 | 21 | printf(FWH "};\t/* %d Rx instructions */\n#define FIRMWARE_RX_SIZE %d\n\nstatic u32 firmware_tx[] = {\n", $counter, $counter); | 
 | 22 | $counter = 0; | 
 | 23 | while ($foo = <FW>) { | 
 | 24 |   chomp; | 
 | 25 |   printf(FWH "  0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4)); | 
 | 26 |   $counter++; | 
 | 27 | } | 
 | 28 |  | 
 | 29 | close FW; | 
 | 30 | printf(FWH "};\t/* %d Tx instructions */\n#define FIRMWARE_TX_SIZE %d\n", $counter, $counter); | 
 | 31 | close(FWH); |