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