| 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); |