b43-fwcutter: Add 5 new drivers to cut list
[b43-tools.git] / fwcutter / fwcutter_list.h
1 /*
2  * Extraction of core 4 firmware from V4 drivers has been commented out as these
3  * cores will not work with driver b43.
4  *
5  * In contrast, extraction of core 5 firmware from V3 drivers should be retained
6  * as those devices will work with b43legacy and are useful for testing.
7  */
8
9 /* file member lists */
10 static struct extract _e08665c5c5b66beb9c3b2dd54aa80cb3[] =
11 {
12         { .name = "ucode2", .offset = 0x59ca0, .length = 0x3fe0, .type = EXT_UCODE_1, },
13         { .name = "ucode4", .offset = 0x5dc84, .length = 0x4e78, .type = EXT_UCODE_1, },
14         { .name = "ucode5", .offset = 0x62b00, .length = 0x5700, .type = EXT_UCODE_2, },
15         { .name = "ucode11", .offset = 0x68204, .length = 0x54a8, .type = EXT_UCODE_2, },
16         { .name = "pcm4", .offset = 0x6d6b0, .length = 0x520, .type = EXT_PCM, },
17         { .name = "pcm5", .offset = 0x6dbd4, .length = 0x520, .type = EXT_PCM, },
18         { .name = "a0g0bsinitvals2", .offset = 0x54ad0 + 0x30d8, .length = 0x18 - 8, .type = EXT_IV, },
19         { .name = "b0g0bsinitvals5", .offset = 0x54ad0 + 0x3ae0, .length = 0x100 - 8, .type = EXT_IV, },
20         { .name = "a0g0initvals5", .offset = 0x54ad0 + 0x3be0, .length = 0x9f0 - 8, .type = EXT_IV, },
21         { .name = "a0g1bsinitvals5", .offset = 0x54ad0 + 0x50c0, .length = 0x100 - 8, .type = EXT_IV, },
22         { .name = "a0g0initvals2", .offset = 0x54ad0 + 0x2320, .length = 0xdb8 - 8, .type = EXT_IV, },
23         { .name = "a0g1initvals5", .offset = 0x54ad0 + 0x45d0, .length = 0x9f0 - 8, .type = EXT_IV, },
24         { .name = "b0g0bsinitvals2", .offset = 0x54ad0 + 0x2308, .length = 0x18 - 8, .type = EXT_IV, },
25         { .name = "b0g0initvals5", .offset = 0x54ad0 + 0x30f0, .length = 0x9f0 - 8, .type = EXT_IV, },
26         { .name = "b0g0initvals2", .offset = 0x54ad0 + 0x1550, .length = 0xdb8 - 8, .type = EXT_IV, },
27         { .name = "a0g0bsinitvals5", .offset = 0x54ad0 + 0x4fc0, .length = 0x100 - 8, .type = EXT_IV, },
28         EXTRACT_LIST_END
29 };
30
31 static struct extract _9207bc565c2fc9fa1591f6c7911d3fc0[] =
32 {
33 /*
34  *      { .name = "ucode4",  .offset = 0x66220 +  0x7ad8, .length = 0x4e68, .type = EXT_UCODE_1, },
35  */
36         { .name = "ucode5",  .offset = 0x66220 +  0xc944, .length = 0x5640, .type = EXT_UCODE_2, },
37         { .name = "ucode11", .offset = 0x66220 + 0x11f90, .length = 0x67e0, .type = EXT_UCODE_2, },
38         { .name = "ucode13", .offset = 0x66220 + 0x18774, .length = 0x5f60, .type = EXT_UCODE_2, },
39 /*
40  *      { .name = "pcm4", .offset = 0x66220 + 0x1e6d8, .length = 0x520, .type = EXT_PCM, },
41  */
42         { .name = "pcm5", .offset = 0x66220 + 0x1ebfc, .length = 0x520, .type = EXT_PCM, },
43 /*
44  *      { .name = "b0g0initvals4",      .offset = 0x66220 + 0x1710, .length = 0xe90 - 8, .type = EXT_IV, },
45  *      { .name = "b0g0bsinitvals4",    .offset = 0x66220 + 0x25a0, .length = 0x18 - 8, .type = EXT_IV, },
46  *      { .name = "a0g0initvals4",      .offset = 0x66220 + 0x25b8, .length = 0xe90 - 8, .type = EXT_IV, },
47  *      { .name = "a0g0bsinitvals4",    .offset = 0x66220 + 0x3448, .length = 0x18 - 8, .type = EXT_IV, },
48  */
49         { .name = "b0g0initvals5",      .offset = 0x66220 + 0x3460, .length = 0xa28 - 8, .type = EXT_IV, },
50         { .name = "b0g0bsinitvals5",    .offset = 0x66220 + 0x3e88, .length = 0x100 - 8, .type = EXT_IV, },
51         { .name = "a0g0initvals5",      .offset = 0x66220 + 0x3f88, .length = 0xa28 - 8, .type = EXT_IV, },
52         { .name = "a0g1initvals5",      .offset = 0x66220 + 0x49b0, .length = 0xa28 - 8, .type = EXT_IV, },
53         { .name = "a0g0bsinitvals5",    .offset = 0x66220 + 0x53d8, .length = 0x100 - 8, .type = EXT_IV, },
54         { .name = "a0g1bsinitvals5",    .offset = 0x66220 + 0x54d8, .length = 0x100 - 8, .type = EXT_IV, },
55         { .name = "lp0initvals13",      .offset = 0x66220 + 0x5620, .length = 0xb38 - 8, .type = EXT_IV, },
56         { .name = "lp0bsinitvals13",    .offset = 0x66220 + 0x6158, .length = 0x100 - 8, .type = EXT_IV, },
57         { .name = "b0g0initvals13",     .offset = 0x66220 + 0x6258, .length = 0xb40 - 8, .type = EXT_IV, },
58         { .name = "b0g0bsinitvals13",.offset = 0x66220 + 0x6d98, .length = 0x100 - 8, .type = EXT_IV, },
59         { .name = "a0g1initvals13",     .offset = 0x66220 + 0x6e98, .length = 0xb40 - 8, .type = EXT_IV, },
60         { .name = "a0g1bsinitvals13",.offset = 0x66220 + 0x79d8, .length = 0x100 - 8, .type = EXT_IV, },
61         EXTRACT_LIST_END
62 };
63
64 static struct extract _722e2e0d8cc04b8f118bb5afe6829ff9[] =
65 {
66 /*
67  *      { .name = "ucode4",  .offset = 0x76a10 +  0x8960, .length = 0x4e68, .type = EXT_UCODE_1, },
68  */
69         { .name = "ucode5",  .offset = 0x76a10 +  0xd7cc, .length = 0x5640, .type = EXT_UCODE_2, },
70         { .name = "ucode11", .offset = 0x76a10 + 0x12e18, .length = 0x67e0, .type = EXT_UCODE_2, },
71         { .name = "ucode13", .offset = 0x76a10 + 0x195fc, .length = 0x5f60, .type = EXT_UCODE_2, },
72 /*
73  *      { .name = "pcm4", .offset = 0x76a10 + 0x1f560, .length = 0x520, .type = EXT_PCM, },
74  */
75         { .name = "pcm5", .offset = 0x76a10 + 0x1fa84, .length = 0x520, .type = EXT_PCM, },
76 /*
77  *      { .name = "b0g0initvals4",      .offset = 0x76a10 + 0x1840, .length = 0xe90 - 8, .type = EXT_IV, },
78  *      { .name = "b0g0bsinitvals4",    .offset = 0x76a10 + 0x26d0, .length = 0x18 - 8, .type = EXT_IV, },
79  *      { .name = "a0g0initvals4",      .offset = 0x76a10 + 0x26e8, .length = 0xe90 - 8, .type = EXT_IV, },
80  *      { .name = "a0g0bsinitvals4",    .offset = 0x76a10 + 0x3578, .length = 0x18 - 8, .type = EXT_IV, },
81  */
82         { .name = "b0g0initvals5",      .offset = 0x76a10 + 0x3590, .length = 0xa28 - 8, .type = EXT_IV, },
83         { .name = "b0g0bsinitvals5",    .offset = 0x76a10 + 0x3fb8, .length = 0x100 - 8, .type = EXT_IV, },
84         { .name = "a0g0initvals5",      .offset = 0x76a10 + 0x40b8, .length = 0xa28 - 8, .type = EXT_IV, },
85         { .name = "a0g1initvals5",      .offset = 0x76a10 + 0x4ae0, .length = 0xa28 - 8, .type = EXT_IV, },
86         { .name = "a0g0bsinitvals5",    .offset = 0x76a10 + 0x5508, .length = 0x100 - 8, .type = EXT_IV, },
87         { .name = "a0g1bsinitvals5",    .offset = 0x76a10 + 0x5608, .length = 0x100 - 8, .type = EXT_IV, },
88         { .name = "lp0initvals13",      .offset = 0x76a10 + 0x64a8, .length = 0xb38 - 8, .type = EXT_IV, },
89         { .name = "lp0bsinitvals13",    .offset = 0x76a10 + 0x6fe0, .length = 0x100 - 8, .type = EXT_IV, },
90         { .name = "b0g0initvals13",     .offset = 0x76a10 + 0x70e0, .length = 0xb40 - 8, .type = EXT_IV, },
91         { .name = "b0g0bsinitvals13",.offset = 0x76a10 + 0x7c20, .length = 0x100 - 8, .type = EXT_IV, },
92         { .name = "a0g1initvals13",     .offset = 0x76a10 + 0x7d20, .length = 0xb40 - 8, .type = EXT_IV, },
93         { .name = "a0g1bsinitvals13",.offset = 0x76a10 + 0x8860, .length = 0x100 - 8, .type = EXT_IV, },
94         EXTRACT_LIST_END
95 };
96
97 static struct extract _1e4763b4cb8cfbaae43e5c6d3d6b2ae7[] =
98 {
99         { .name = "ucode5",  .offset = 0x71c80 +  0xacd0, .length = 0x5768, .type = EXT_UCODE_2, },
100         { .name = "ucode9",  .offset = 0x71c80 + 0x1043c, .length = 0x6240, .type = EXT_UCODE_2, },
101         { .name = "ucode11", .offset = 0x71c80 + 0x16680, .length = 0x74a0, .type = EXT_UCODE_2, },
102         { .name = "ucode13", .offset = 0x71c80 + 0x1db24, .length = 0x7de0, .type = EXT_UCODE_2, },
103         { .name = "ucode14", .offset = 0x71c80 + 0x25908, .length = 0x7a90, .type = EXT_UCODE_2, },
104         { .name = "ucode15", .offset = 0x71c80 + 0x2d39c, .length = 0x7710, .type = EXT_UCODE_3, },
105         { .name = "pcm5", .offset = 0x71c80 + 0x34ab0, .length = 0x520, .type = EXT_PCM, },
106         { .name = "b0g0initvals5",      .offset = 0x71c80 + 0x14d0, .length = 0xa10 - 8, .type = EXT_IV, },
107         { .name = "b0g0bsinitvals5",    .offset = 0x71c80 + 0x1ee0, .length = 0x100 - 8, .type = EXT_IV, },
108         { .name = "a0g0initvals5",      .offset = 0x71c80 + 0x1fe0, .length = 0xa10 - 8, .type = EXT_IV, },
109         { .name = "a0g1initvals5",      .offset = 0x71c80 + 0x29f0, .length = 0xa10 - 8, .type = EXT_IV, },
110         { .name = "a0g0bsinitvals5",    .offset = 0x71c80 + 0x3400, .length = 0x100 - 8, .type = EXT_IV, },
111         { .name = "a0g1bsinitvals5",    .offset = 0x71c80 + 0x3500, .length = 0x100 - 8, .type = EXT_IV, },
112         { .name = "b0g0initvals9",      .offset = 0x71c80 + 0x3600, .length = 0xae8 - 8, .type = EXT_IV, },
113         { .name = "b0g0bsinitvals9",    .offset = 0x71c80 + 0x40e8, .length = 0x100 - 8, .type = EXT_IV, },
114         { .name = "a0g0initvals9",      .offset = 0x71c80 + 0x41e8, .length = 0xae8 - 8, .type = EXT_IV, },
115         { .name = "a0g1initvals9",      .offset = 0x71c80 + 0x4cd0, .length = 0xae8 - 8, .type = EXT_IV, },
116         { .name = "a0g0bsinitvals9",    .offset = 0x71c80 + 0x57b8, .length = 0x100 - 8, .type = EXT_IV, },
117         { .name = "a0g1bsinitvals9",    .offset = 0x71c80 + 0x58b8, .length = 0x100 - 8, .type = EXT_IV, },
118         { .name = "n0initvals11",       .offset = 0x71c80 + 0x59b8, .length = 0xb78 - 8, .type = EXT_IV, },
119         { .name = "n0bsinitvals11",     .offset = 0x71c80 + 0x6530, .length = 0x100 - 8, .type = EXT_IV, },
120         { .name = "n0absinitvals11",    .offset = 0x71c80 + 0x6630, .length = 0x100 - 8, .type = EXT_IV, },
121         { .name = "lp0initvals13",      .offset = 0x71c80 + 0x6730, .length = 0x1360 - 8, .type = EXT_IV, },
122         { .name = "lp0bsinitvals13",    .offset = 0x71c80 + 0x7a90, .length = 0x100 - 8, .type = EXT_IV, },
123         { .name = "b0g0initvals13",     .offset = 0x71c80 + 0x7b90, .length = 0xb60 - 8, .type = EXT_IV, },
124         { .name = "b0g0bsinitvals13",.offset = 0x71c80 + 0x86f0, .length = 0x100 - 8, .type = EXT_IV, },
125         { .name = "a0g1initvals13",     .offset = 0x71c80 + 0x87f0, .length = 0xb60 - 8, .type = EXT_IV, },
126         { .name = "a0g1bsinitvals13",.offset = 0x71c80 + 0x9350, .length = 0x100 - 8, .type = EXT_IV, },
127         { .name = "lp0initvals14",      .offset = 0x71c80 + 0x9450, .length = 0xb48 - 8, .type = EXT_IV, },
128         { .name = "lp0bsinitvals14",    .offset = 0x71c80 + 0x9f98, .length = 0x100 - 8, .type = EXT_IV, },
129         { .name = "lp0initvals15",      .offset = 0x71c80 + 0xa098, .length = 0xb38 - 8, .type = EXT_IV, },
130         { .name = "lp0bsinitvals15",    .offset = 0x71c80 + 0xabd0, .length = 0x100 - 8, .type = EXT_IV, },
131         EXTRACT_LIST_END
132 };
133
134
135 static struct extract _cb8d70972b885b1f8883b943c0261a3c[] =
136 {
137         { .name = "pcm5", .offset = 0x8e554, .type = EXT_PCM, .length = 0x520 },
138 /*
139  *      { .name = "pcm4", .offset = 0x8ea78, .type = EXT_PCM, .length = 0x520 },
140  */
141         { .name = "ucode15", .offset = 0x8ef9c, .type = EXT_UCODE_3, .length = 0x7710 },
142         { .name = "ucode14", .offset = 0x966b0, .type = EXT_UCODE_2, .length = 0x7a90 },
143         { .name = "ucode13", .offset = 0x9e144, .type = EXT_UCODE_2, .length = 0x7de0 },
144         { .name = "ucode11", .offset = 0xa5f28, .type = EXT_UCODE_2, .length = 0x74a0 },
145         { .name = "ucode9", .offset = 0xad3cc, .type = EXT_UCODE_2, .length = 0x6240 },
146         { .name = "ucode5", .offset = 0xb3610, .type = EXT_UCODE_2, .length = 0x5768 },
147 /*
148  *      { .name = "ucode4", .offset = 0xb8d7c, .type = EXT_UCODE_1, .length = 0x4ec8 },
149  */
150         { .name = "lp0bsinitvals15", .offset = 0xbdc44, .type = EXT_IV, .length = 0xf8 },
151         { .name = "lp0initvals15", .offset = 0xbdd44, .type = EXT_IV, .length = 0xb30 },
152         { .name = "lp0bsinitvals14", .offset = 0xbe87c, .type = EXT_IV, .length = 0xf8 },
153         { .name = "lp0initvals14", .offset = 0xbe97c, .type = EXT_IV, .length = 0xb40 },
154         { .name = "a0g1bsinitvals13", .offset = 0xbf4c4, .type = EXT_IV, .length = 0xf8 },
155         { .name = "a0g1initvals13", .offset = 0xbf5c4, .type = EXT_IV, .length = 0xb58 },
156         { .name = "b0g0bsinitvals13", .offset = 0xc0124, .type = EXT_IV, .length = 0xf8 },
157         { .name = "b0g0initvals13", .offset = 0xc0224, .type = EXT_IV, .length = 0xb58 },
158         { .name = "lp0bsinitvals13", .offset = 0xc0d84, .type = EXT_IV, .length = 0xf8 },
159         { .name = "lp0initvals13", .offset = 0xc0e84, .type = EXT_IV, .length = 0x1358 },
160         { .name = "n0absinitvals11", .offset = 0xc21e4, .type = EXT_IV, .length = 0xf8 },
161         { .name = "n0bsinitvals11", .offset = 0xc22e4, .type = EXT_IV, .length = 0xf8 },
162         { .name = "n0initvals11", .offset = 0xc23e4, .type = EXT_IV, .length = 0xb70 },
163         { .name = "a0g1bsinitvals9", .offset = 0xc2f5c, .type = EXT_IV, .length = 0xf8 },
164         { .name = "a0g0bsinitvals9", .offset = 0xc305c, .type = EXT_IV, .length = 0xf8 },
165         { .name = "a0g1initvals9", .offset = 0xc315c, .type = EXT_IV, .length = 0xae0 },
166         { .name = "a0g0initvals9", .offset = 0xc3c44, .type = EXT_IV, .length = 0xae0 },
167         { .name = "b0g0bsinitvals9", .offset = 0xc472c, .type = EXT_IV, .length = 0xf8 },
168         { .name = "b0g0initvals9", .offset = 0xc482c, .type = EXT_IV, .length = 0xae0 },
169         { .name = "a0g1bsinitvals5", .offset = 0xc5314, .type = EXT_IV, .length = 0xf8 },
170         { .name = "a0g0bsinitvals5", .offset = 0xc5414, .type = EXT_IV, .length = 0xf8 },
171         { .name = "a0g1initvals5", .offset = 0xc5514, .type = EXT_IV, .length = 0xa08 },
172         { .name = "a0g0initvals5", .offset = 0xc5f24, .type = EXT_IV, .length = 0xa08 },
173         { .name = "b0g0bsinitvals5", .offset = 0xc6934, .type = EXT_IV, .length = 0xf8 },
174         { .name = "b0g0initvals5", .offset = 0xc6a34, .type = EXT_IV, .length = 0xa08 },
175 /*
176  *      { .name = "a0g0bsinitvals4", .offset = 0xc7444, .type = EXT_IV, .length = 0x10 },
177  *      { .name = "a0g0initvals4", .offset = 0xc745c, .type = EXT_IV, .length = 0xe88 },
178  *      { .name = "b0g0bsinitvals4", .offset = 0xc82ec, .type = EXT_IV, .length = 0x10 },
179  *      { .name = "b0g0initvals4", .offset = 0xc8304, .type = EXT_IV, .length = 0xe8c },
180  */
181         EXTRACT_LIST_END
182 };
183
184 static struct extract _bb8537e3204a1ea5903fe3e66b5e2763[] =
185 {
186         /* ucode major version at offset 0xa8b70 */
187         /* ucode minor version at offset 0xa8b74 */
188         /* { .name = "ucode4", .offset = 0xB6108, .type = EXT_UCODE_1, .length = 0x4EA0 }, */
189         /* { .name = "pcm4", .offset = 0xEF2E0, .type = EXT_PCM, .length = 0x520 }, */
190         /* { .name = "b0g0initvals4", .offset = 0xA8B78, .type = EXT_IV, .length = 0xE80 }, */
191         /* { .name = "a0g0bsinitvals4", .offset = 0xAA8C0, .type = EXT_IV, .length = 0x30 }, */
192         /* { .name = "b0g0bsinitvals4", .offset = 0xA9A00, .type = EXT_IV, .length = 0x30 }, */
193         /* { .name = "a0g0initvals4", .offset = 0xA9A38, .type = EXT_IV, .length = 0xE80 }, */
194         { .name = "ucode5", .offset = 0xBAFAC, .type = EXT_UCODE_2, .length = 0x56F0 },
195         { .name = "pcm5", .offset = 0xEF804, .type = EXT_PCM, .length = 0x520 },
196         { .name = "b0g0bsinitvals5", .offset = 0xAB318, .type = EXT_IV, .length = 0x118 },
197         { .name = "a0g0bsinitvals5", .offset = 0xAC878, .type = EXT_IV, .length = 0x118 },
198         { .name = "b0g0initvals5", .offset = 0xAA8F8, .type = EXT_IV, .length = 0xA18 },
199         { .name = "a0g1initvals5", .offset = 0xABE58, .type = EXT_IV, .length = 0xA18 },
200         { .name = "a0g0initvals5", .offset = 0xAB438, .type = EXT_IV, .length = 0xA18 },
201         { .name = "a0g1bsinitvals5", .offset = 0xAC998, .type = EXT_IV, .length = 0x118 },
202         { .name = "ucode9", .offset = 0xC06A0, .type = EXT_UCODE_2, .length = 0x6248 },
203         { .name = "a0g1initvals9", .offset = 0xAE1C8, .type = EXT_IV, .length = 0xAF0 },
204         { .name = "a0g0bsinitvals9", .offset = 0xAECC0, .type = EXT_IV, .length = 0x118 },
205         { .name = "b0g0bsinitvals9", .offset = 0xAD5B0, .type = EXT_IV, .length = 0x118 },
206         { .name = "b0g0initvals9", .offset = 0xACAB8, .type = EXT_IV, .length = 0xAF0 },
207         { .name = "a0g1bsinitvals9", .offset = 0xAEDE0, .type = EXT_IV, .length = 0x118 },
208         { .name = "a0g0initvals9", .offset = 0xAD6D0, .type = EXT_IV, .length = 0xAF0 },
209         { .name = "ucode11", .offset = 0xC68EC, .type = EXT_UCODE_2, .length = 0x8000 },
210         { .name = "n0bsinitvals11", .offset = 0xAFAD0, .type = EXT_IV, .length = 0x118 },
211         { .name = "n0absinitvals11", .offset = 0xAFBF0, .type = EXT_IV, .length = 0x118 },
212         { .name = "n0initvals11", .offset = 0xAEF00, .type = EXT_IV, .length = 0xBC8 },
213         { .name = "ucode13", .offset = 0xCE8F0, .type = EXT_UCODE_2, .length = 0x7AC8 },
214         { .name = "b0g0initvals13", .offset = 0xB11D0, .type = EXT_IV, .length = 0xB98 },
215         { .name = "a0g1bsinitvals13", .offset = 0xB2A30, .type = EXT_IV, .length = 0x118 },
216         { .name = "a0g1initvals13", .offset = 0xB1E90, .type = EXT_IV, .length = 0xB98 },
217         { .name = "lp0bsinitvals13", .offset = 0xB10B0, .type = EXT_IV, .length = 0x118 },
218         { .name = "b0g0bsinitvals13", .offset = 0xB1D70, .type = EXT_IV, .length = 0x118 },
219         { .name = "lp0initvals13", .offset = 0xAFD10, .type = EXT_IV, .length = 0x1398 },
220         { .name = "ucode14", .offset = 0xD63BC, .type = EXT_UCODE_2, .length = 0x7910 },
221         { .name = "lp0initvals14", .offset = 0xB2B50, .type = EXT_IV, .length = 0xB80 },
222         { .name = "lp0bsinitvals14", .offset = 0xB36D8, .type = EXT_IV, .length = 0x118 },
223         { .name = "ucode15", .offset = 0xDDCD0, .type = EXT_UCODE_3, .length = 0x8768 },
224         { .name = "lp0bsinitvals15", .offset = 0xB4468, .type = EXT_IV, .length = 0x118 },
225         { .name = "lp0initvals15", .offset = 0xB37F8, .type = EXT_IV, .length = 0xC68 },
226         { .name = "ucode16", .offset = 0xE643C, .type = EXT_UCODE_3, .length = 0x8EA0 },
227         { .name = "n0bsinitvals16", .offset = 0xB5220, .type = EXT_IV, .length = 0x118 },
228         { .name = "sslpn0initvals16", .offset = 0xB5340, .type = EXT_IV, .length = 0x0 },
229         { .name = "n0initvals16", .offset = 0xB4588, .type = EXT_IV, .length = 0xC90 },
230         { .name = "lp0initvals16", .offset = 0xB5350, .type = EXT_IV, .length = 0xC90 },
231         { .name = "sslpn0bsinitvals16", .offset = 0xB5348, .type = EXT_IV, .length = 0x0 },
232         { .name = "lp0bsinitvals16", .offset = 0xB5FE8, .type = EXT_IV, .length = 0x118 },
233         EXTRACT_LIST_END
234 };
235
236 static struct extract _490d4e149ecc45eb1a91f06aa75be071[] =
237 {
238         { .name = "ucode19", .offset = 0xFB3BC, .type = EXT_UCODE_3, .length = 0x9998 },
239         { .name = "lp0initvals14", .offset = 0x999C8, .type = EXT_IV, .length = 0xB20 },
240         { .name = "ucode16_lp", .offset = 0xCE5F4, .type = EXT_UCODE_3, .length = 0x9D90 },
241         { .name = "ucode16_sslpn", .offset = 0xD8388, .type = EXT_UCODE_3, .length = 0x8936 },
242         { .name = "lp0bsinitvals14", .offset = 0x9A4F0, .type = EXT_IV, .length = 0x118 },
243         { .name = "b0g0initvals9", .offset = 0x939F8, .type = EXT_IV, .length = 0xAE0 },
244         { .name = "sslpn2bsinitvals17", .offset = 0x9ECE8, .type = EXT_IV, .length = 0x118 },
245         { .name = "a0g1bsinitvals9", .offset = 0x95CF0, .type = EXT_IV, .length = 0x118 },
246         { .name = "b0g0bsinitvals13", .offset = 0x98C00, .type = EXT_IV, .length = 0x118 },
247         { .name = "ucode16_sslpn_nobt", .offset = 0xE0CC4, .type = EXT_UCODE_3, .length = 0x7413 },
248         { .name = "b0g0bsinitvals5", .offset = 0x92278, .type = EXT_IV, .length = 0x118 },
249         { .name = "sslpn2initvals17", .offset = 0x9E020, .type = EXT_IV, .length = 0xCC0 },
250 /*      { .name = "ucode4", .offset = 0xA0A68, .type = EXT_UCODE_1, .length = 0x4E80 }, */
251 /*      { .name = "b0g0initvals4", .offset = 0x8FB08, .type = EXT_IV, .length = 0xE70 }, */
252         { .name = "b0g0initvals13", .offset = 0x98078, .type = EXT_IV, .length = 0xB80 },
253         { .name = "ucode17", .offset = 0xF1B50, .type = EXT_UCODE_3, .length = 0x9868 },
254         { .name = "sslpn1bsinitvals20", .offset = 0xA0948, .type = EXT_IV, .length = 0x118 },
255         { .name = "ucode14", .offset = 0xBF864, .type = EXT_UCODE_2, .length = 0x64A0 },
256         { .name = "a0g0initvals5", .offset = 0x92398, .type = EXT_IV, .length = 0xA08 },
257         { .name = "lp0bsinitvals16", .offset = 0x9DF00, .type = EXT_IV, .length = 0x118 },
258 /*      { .name = "pcm4", .offset = 0x10E9EC, .type = EXT_PCM, .length = 0x520 }, */
259         { .name = "a0g1bsinitvals5", .offset = 0x938D8, .type = EXT_IV, .length = 0x118 },
260         { .name = "n0bsinitvals11", .offset = 0x96990, .type = EXT_IV, .length = 0x118 },
261         { .name = "n0absinitvals11", .offset = 0x96AB0, .type = EXT_IV, .length = 0x118 },
262         /* ucode minor version at offset 0x8fb04 */
263         { .name = "a0g1bsinitvals13", .offset = 0x998A8, .type = EXT_IV, .length = 0x118 },
264         { .name = "pcm5", .offset = 0x10EF10, .type = EXT_PCM, .length = 0x520 },
265         { .name = "ucode9", .offset = 0xAB000, .type = EXT_UCODE_2, .length = 0x6268 },
266         { .name = "a0g0bsinitvals9", .offset = 0x95BD0, .type = EXT_IV, .length = 0x118 },
267 /*      { .name = "a0g0bsinitvals4", .offset = 0x91830, .type = EXT_IV, .length = 0x30 }, */
268         { .name = "ucode20", .offset = 0x104D58, .type = EXT_UCODE_3, .length = 0x9C90 },
269         { .name = "a0g1initvals5", .offset = 0x92DA8, .type = EXT_IV, .length = 0xA08 },
270         { .name = "n0bsinitvals16", .offset = 0x9C1D0, .type = EXT_IV, .length = 0x118 },
271 /*      { .name = "b0g0bsinitvals4", .offset = 0x90980, .type = EXT_IV, .length = 0x30 }, */
272         { .name = "lp0initvals15", .offset = 0x9A610, .type = EXT_IV, .length = 0xD20 },
273         { .name = "b0g0initvals5", .offset = 0x91868, .type = EXT_IV, .length = 0xA08 },
274 /*      { .name = "a0g0initvals4", .offset = 0x909B8, .type = EXT_IV, .length = 0xE70 }, */
275         { .name = "sslpn0initvals16", .offset = 0x9C2F0, .type = EXT_IV, .length = 0xD70 },
276         { .name = "a0g1initvals13", .offset = 0x98D20, .type = EXT_IV, .length = 0xB80 },
277         { .name = "sslpn2initvals19", .offset = 0x9EE08, .type = EXT_IV, .length = 0xCB0 },
278         /* ucode major version at offset 0x8fb00 */
279         { .name = "a0g1initvals9", .offset = 0x950E8, .type = EXT_IV, .length = 0xAE0 },
280         { .name = "ucode5", .offset = 0xA58EC, .type = EXT_UCODE_2, .length = 0x5710 },
281         { .name = "lp0bsinitvals13", .offset = 0x97F58, .type = EXT_IV, .length = 0x118 },
282         { .name = "n0initvals16", .offset = 0x9B458, .type = EXT_IV, .length = 0xD70 },
283         { .name = "b0g0bsinitvals9", .offset = 0x944E0, .type = EXT_IV, .length = 0x118 },
284         { .name = "ucode11", .offset = 0xB126C, .type = EXT_UCODE_2, .length = 0x74A8 },
285         { .name = "lp0initvals16", .offset = 0x9D188, .type = EXT_IV, .length = 0xD70 },
286         { .name = "ucode16_mimo", .offset = 0xE80DC, .type = EXT_UCODE_3, .length = 0x9A70 },
287         { .name = "a0g0initvals9", .offset = 0x94600, .type = EXT_IV, .length = 0xAE0 },
288         { .name = "lp0initvals13", .offset = 0x96BD0, .type = EXT_IV, .length = 0x1380 },
289         { .name = "a0g0bsinitvals5", .offset = 0x937B8, .type = EXT_IV, .length = 0x118 },
290         { .name = "ucode13", .offset = 0xB8718, .type = EXT_UCODE_2, .length = 0x7148 },
291         { .name = "sslpn2bsinitvals19", .offset = 0x9FAC0, .type = EXT_IV, .length = 0x118 },
292         { .name = "ucode15", .offset = 0xC5D08, .type = EXT_UCODE_3, .length = 0x88E8 },
293         { .name = "lp0bsinitvals15", .offset = 0x9B338, .type = EXT_IV, .length = 0x118 },
294         { .name = "n0initvals11", .offset = 0x95E10, .type = EXT_IV, .length = 0xB78 },
295         { .name = "sslpn0bsinitvals16", .offset = 0x9D068, .type = EXT_IV, .length = 0x118 },
296         { .name = "sslpn1initvals20", .offset = 0x9FBE0, .type = EXT_IV, .length = 0xD60 },
297         EXTRACT_LIST_END
298 };
299
300 static struct extract _f06c8aa30ea549ce21872d10ee9a7d48[] =
301 {
302         { .name = "ucode19", .offset = 0x1364E0, .type = EXT_UCODE_3, .length = 0x9B30 },
303         { .name = "lp0initvals14", .offset = 0xD3338, .type = EXT_IV, .length = 0xB20 },
304         { .name = "ucode16_lp", .offset = 0x108E84, .type = EXT_UCODE_3, .length = 0x9EB0 },
305         { .name = "sslpn3bsinitvals21", .offset = 0xDB0B0, .type = EXT_IV, .length = 0x118 },
306         { .name = "ucode16_sslpn", .offset = 0x112D38, .type = EXT_UCODE_3, .length = 0x8BE4 },
307         { .name = "lp0bsinitvals14", .offset = 0xD3E60, .type = EXT_IV, .length = 0x118 },
308         { .name = "b0g0initvals9", .offset = 0xCD368, .type = EXT_IV, .length = 0xAE0 },
309         { .name = "sslpn2bsinitvals17", .offset = 0xD8640, .type = EXT_IV, .length = 0x118 },
310         { .name = "a0g1bsinitvals9", .offset = 0xCF660, .type = EXT_IV, .length = 0x118 },
311         { .name = "b0g0bsinitvals13", .offset = 0xD2570, .type = EXT_IV, .length = 0x118 },
312         { .name = "ucode16_sslpn_nobt", .offset = 0x11B920, .type = EXT_UCODE_3, .length = 0x76C1 },
313         { .name = "b0g0bsinitvals5", .offset = 0xCBBE8, .type = EXT_IV, .length = 0x118 },
314         { .name = "sslpn2initvals17", .offset = 0xD7980, .type = EXT_IV, .length = 0xCB8 },
315 /*      { .name = "ucode4", .offset = 0xDB1D0, .type = EXT_UCODE_1, .length = 0x4EB0 }, */
316 /*      { .name = "b0g0initvals4", .offset = 0xC9478, .type = EXT_IV, .length = 0xE70 }, */
317         { .name = "b0g0initvals13", .offset = 0xD19E8, .type = EXT_IV, .length = 0xB80 },
318         { .name = "ucode17", .offset = 0x12CADC, .type = EXT_UCODE_3, .length = 0x9A00 },
319         { .name = "sslpn1bsinitvals20", .offset = 0xDA290, .type = EXT_IV, .length = 0x118 },
320         { .name = "ucode14", .offset = 0xFA09C, .type = EXT_UCODE_2, .length = 0x6498 },
321         { .name = "a0g0initvals5", .offset = 0xCBD08, .type = EXT_IV, .length = 0xA08 },
322         { .name = "lp0bsinitvals16", .offset = 0xD7860, .type = EXT_IV, .length = 0x118 },
323 /*      { .name = "pcm4", .offset = 0x151470, .type = EXT_PCM, .length = 0x520 }, */
324         { .name = "a0g1bsinitvals5", .offset = 0xCD248, .type = EXT_IV, .length = 0x118 },
325         { .name = "n0bsinitvals11", .offset = 0xD0300, .type = EXT_IV, .length = 0x118 },
326         { .name = "n0absinitvals11", .offset = 0xD0420, .type = EXT_IV, .length = 0x118 },
327         { .name = "ucode21_sslpn_nobt", .offset = 0x149FA0, .type = EXT_UCODE_3, .length = 0x74C9 },
328         /* ucode minor version at offset 0xc9474 */
329         { .name = "sslpn3initvals21", .offset = 0xDA3B0, .type = EXT_IV, .length = 0xCF8 },
330         { .name = "a0g1bsinitvals13", .offset = 0xD3218, .type = EXT_IV, .length = 0x118 },
331         { .name = "pcm5", .offset = 0x151994, .type = EXT_PCM, .length = 0x520 },
332         /* ucode minor version at offset 0x151ec4 */
333         { .name = "ucode9", .offset = 0xE57C8, .type = EXT_UCODE_2, .length = 0x6290 },
334         { .name = "a0g0bsinitvals9", .offset = 0xCF540, .type = EXT_IV, .length = 0x118 },
335 /*      { .name = "a0g0bsinitvals4", .offset = 0xCB1A0, .type = EXT_IV, .length = 0x30 }, */
336         { .name = "ucode20", .offset = 0x140014, .type = EXT_UCODE_3, .length = 0x9F88 },
337         { .name = "a0g1initvals5", .offset = 0xCC718, .type = EXT_IV, .length = 0xA08 },
338         { .name = "n0bsinitvals16", .offset = 0xD5B40, .type = EXT_IV, .length = 0x118 },
339 /*      { .name = "b0g0bsinitvals4", .offset = 0xCA2F0, .type = EXT_IV, .length = 0x30 }, */
340         { .name = "lp0initvals15", .offset = 0xD3F80, .type = EXT_IV, .length = 0xD28 },
341         { .name = "b0g0initvals5", .offset = 0xCB1D8, .type = EXT_IV, .length = 0xA08 },
342 /*      { .name = "a0g0initvals4", .offset = 0xCA328, .type = EXT_IV, .length = 0xE70 }, */
343         { .name = "sslpn0initvals16", .offset = 0xD5C60, .type = EXT_IV, .length = 0xD68 },
344         { .name = "a0g1initvals13", .offset = 0xD2690, .type = EXT_IV, .length = 0xB80 },
345         { .name = "sslpn2initvals19", .offset = 0xD8760, .type = EXT_IV, .length = 0xCA8 },
346         /* ucode major version at offset 0xc9470 */
347         { .name = "a0g1initvals9", .offset = 0xCEA58, .type = EXT_IV, .length = 0xAE0 },
348         { .name = "ucode5", .offset = 0xE0084, .type = EXT_UCODE_2, .length = 0x5740 },
349         { .name = "lp0bsinitvals13", .offset = 0xD18C8, .type = EXT_IV, .length = 0x118 },
350         { .name = "n0initvals16", .offset = 0xD4DD0, .type = EXT_IV, .length = 0xD68 },
351         /* ucode major version at offset 0x151ec0 */
352         { .name = "b0g0bsinitvals9", .offset = 0xCDE50, .type = EXT_IV, .length = 0x118 },
353         { .name = "ucode11", .offset = 0xEBA5C, .type = EXT_UCODE_2, .length = 0x74F8 },
354         { .name = "lp0initvals16", .offset = 0xD6AF0, .type = EXT_IV, .length = 0xD68 },
355         { .name = "ucode16_mimo", .offset = 0x122FE8, .type = EXT_UCODE_3, .length = 0x9AF0 },
356         { .name = "a0g0initvals9", .offset = 0xCDF70, .type = EXT_IV, .length = 0xAE0 },
357         { .name = "lp0initvals13", .offset = 0xD0540, .type = EXT_IV, .length = 0x1380 },
358         { .name = "a0g0bsinitvals5", .offset = 0xCD128, .type = EXT_IV, .length = 0x118 },
359         { .name = "ucode13", .offset = 0xF2F58, .type = EXT_UCODE_2, .length = 0x7140 },
360         { .name = "sslpn2bsinitvals19", .offset = 0xD9410, .type = EXT_IV, .length = 0x118 },
361         { .name = "ucode15", .offset = 0x100538, .type = EXT_UCODE_3, .length = 0x8948 },
362         { .name = "lp0bsinitvals15", .offset = 0xD4CB0, .type = EXT_IV, .length = 0x118 },
363         { .name = "n0initvals11", .offset = 0xCF780, .type = EXT_IV, .length = 0xB78 },
364         { .name = "sslpn0bsinitvals16", .offset = 0xD69D0, .type = EXT_IV, .length = 0x118 },
365         { .name = "sslpn1initvals20", .offset = 0xD9530, .type = EXT_IV, .length = 0xD58 },
366         EXTRACT_LIST_END
367 };
368
369 static struct extract _e413c0017b99195f3231201c53f314d1[] =
370 {
371         { .name = "ucode19", .offset = 0x129000, .type = EXT_UCODE_3, .length = 0x99A0 },
372         { .name = "lp0initvals14", .offset = 0xC75D8, .type = EXT_IV, .length = 0xB20 },
373         { .name = "ucode16_lp", .offset = 0xFC23C, .type = EXT_UCODE_3, .length = 0x9DC0 },
374         { .name = "ucode16_sslpn", .offset = 0x106000, .type = EXT_UCODE_3, .length = 0x8960 },
375         { .name = "lp0bsinitvals14", .offset = 0xC8100, .type = EXT_IV, .length = 0x118 },
376         { .name = "b0g0initvals9", .offset = 0xC1608, .type = EXT_IV, .length = 0xAE0 },
377         { .name = "sslpn2bsinitvals17", .offset = 0xCC8F8, .type = EXT_IV, .length = 0x118 },
378         { .name = "a0g1bsinitvals9", .offset = 0xC3900, .type = EXT_IV, .length = 0x118 },
379         { .name = "b0g0bsinitvals13", .offset = 0xC6810, .type = EXT_IV, .length = 0x118 },
380         { .name = "ucode16_sslpn_nobt", .offset = 0x10E964, .type = EXT_UCODE_3, .length = 0x743D },
381         { .name = "b0g0bsinitvals5", .offset = 0xBFE88, .type = EXT_IV, .length = 0x118 },
382         { .name = "sslpn2initvals17", .offset = 0xCBC30, .type = EXT_IV, .length = 0xCC0 },
383 /*      { .name = "ucode4", .offset = 0xCE678, .type = EXT_UCODE_1, .length = 0x4E80 }, */
384 /*      { .name = "b0g0initvals4", .offset = 0xBD718, .type = EXT_IV, .length = 0xE70 }, */
385         { .name = "b0g0initvals13", .offset = 0xC5C88, .type = EXT_IV, .length = 0xB80 },
386         { .name = "ucode17", .offset = 0x11F78C, .type = EXT_UCODE_3, .length = 0x9870 },
387         { .name = "sslpn1bsinitvals20", .offset = 0xCE558, .type = EXT_IV, .length = 0x118 },
388         { .name = "ucode14", .offset = 0xED49C, .type = EXT_UCODE_2, .length = 0x64A8 },
389         { .name = "a0g0initvals5", .offset = 0xBFFA8, .type = EXT_IV, .length = 0xA08 },
390         { .name = "lp0bsinitvals16", .offset = 0xCBB10, .type = EXT_IV, .length = 0x118 },
391 /*      { .name = "pcm4", .offset = 0x13C640, .type = EXT_PCM, .length = 0x520 }, */
392         { .name = "a0g1bsinitvals5", .offset = 0xC14E8, .type = EXT_IV, .length = 0x118 },
393         { .name = "n0bsinitvals11", .offset = 0xC45A0, .type = EXT_IV, .length = 0x118 },
394         { .name = "n0absinitvals11", .offset = 0xC46C0, .type = EXT_IV, .length = 0x118 },
395         /* ucode minor version at offset 0xbd714 */
396         { .name = "a0g1bsinitvals13", .offset = 0xC74B8, .type = EXT_IV, .length = 0x118 },
397         { .name = "pcm5", .offset = 0x13CB64, .type = EXT_PCM, .length = 0x520 },
398         /* ucode minor version at offset 0x13d094 */
399         { .name = "ucode9", .offset = 0xD8C10, .type = EXT_UCODE_2, .length = 0x6268 },
400         { .name = "a0g0bsinitvals9", .offset = 0xC37E0, .type = EXT_IV, .length = 0x118 },
401 /*      { .name = "a0g0bsinitvals4", .offset = 0xBF440, .type = EXT_IV, .length = 0x30 }, */
402         { .name = "ucode20", .offset = 0x1329A4, .type = EXT_UCODE_3, .length = 0x9C98 },
403         { .name = "a0g1initvals5", .offset = 0xC09B8, .type = EXT_IV, .length = 0xA08 },
404         { .name = "n0bsinitvals16", .offset = 0xC9DE0, .type = EXT_IV, .length = 0x118 },
405 /*      { .name = "b0g0bsinitvals4", .offset = 0xBE590, .type = EXT_IV, .length = 0x30 }, */
406         { .name = "lp0initvals15", .offset = 0xC8220, .type = EXT_IV, .length = 0xD20 },
407         { .name = "b0g0initvals5", .offset = 0xBF478, .type = EXT_IV, .length = 0xA08 },
408 /*      { .name = "a0g0initvals4", .offset = 0xBE5C8, .type = EXT_IV, .length = 0xE70 }, */
409         { .name = "sslpn0initvals16", .offset = 0xC9F00, .type = EXT_IV, .length = 0xD70 },
410         { .name = "a0g1initvals13", .offset = 0xC6930, .type = EXT_IV, .length = 0xB80 },
411         { .name = "sslpn2initvals19", .offset = 0xCCA18, .type = EXT_IV, .length = 0xCB0 },
412         /* ucode major version at offset 0xbd710 */
413         { .name = "a0g1initvals9", .offset = 0xC2CF8, .type = EXT_IV, .length = 0xAE0 },
414         { .name = "ucode5", .offset = 0xD34FC, .type = EXT_UCODE_2, .length = 0x5710 },
415         { .name = "lp0bsinitvals13", .offset = 0xC5B68, .type = EXT_IV, .length = 0x118 },
416         { .name = "n0initvals16", .offset = 0xC9068, .type = EXT_IV, .length = 0xD70 },
417         /* ucode major version at offset 0x13d090 */
418         { .name = "b0g0bsinitvals9", .offset = 0xC20F0, .type = EXT_IV, .length = 0x118 },
419         { .name = "ucode11", .offset = 0xDEE7C, .type = EXT_UCODE_2, .length = 0x74C8 },
420         { .name = "lp0initvals16", .offset = 0xCAD98, .type = EXT_IV, .length = 0xD70 },
421         { .name = "ucode16_mimo", .offset = 0x115DA8, .type = EXT_UCODE_3, .length = 0x99E0 },
422         { .name = "a0g0initvals9", .offset = 0xC2210, .type = EXT_IV, .length = 0xAE0 },
423         { .name = "lp0initvals13", .offset = 0xC47E0, .type = EXT_IV, .length = 0x1380 },
424         { .name = "a0g0bsinitvals5", .offset = 0xC13C8, .type = EXT_IV, .length = 0x118 },
425         { .name = "ucode13", .offset = 0xE6348, .type = EXT_UCODE_2, .length = 0x7150 },
426         { .name = "sslpn2bsinitvals19", .offset = 0xCD6D0, .type = EXT_IV, .length = 0x118 },
427         { .name = "ucode15", .offset = 0xF3948, .type = EXT_UCODE_3, .length = 0x88F0 },
428         { .name = "lp0bsinitvals15", .offset = 0xC8F48, .type = EXT_IV, .length = 0x118 },
429         { .name = "n0initvals11", .offset = 0xC3A20, .type = EXT_IV, .length = 0xB78 },
430         { .name = "sslpn0bsinitvals16", .offset = 0xCAC78, .type = EXT_IV, .length = 0x118 },
431         { .name = "sslpn1initvals20", .offset = 0xCD7F0, .type = EXT_IV, .length = 0xD60 },
432         EXTRACT_LIST_END
433 };
434
435 static struct extract _023fafbe4918e384dd531a046dbc03e8[] =
436 {
437         { .name = "ucode19", .offset = 0x123318, .type = EXT_UCODE_3, .length = 0x93E8 },
438         { .name = "lp0initvals14", .offset = 0xD3710, .type = EXT_IV, .length = 0xB20 },
439         { .name = "ucode16_lp", .offset = 0x105EC4, .type = EXT_UCODE_3, .length = 0x9E08 },
440         { .name = "ucode16_sslpn", .offset = 0x10FCD0, .type = EXT_UCODE_3, .length = 0x1 },
441         { .name = "lp0bsinitvals14", .offset = 0xD4238, .type = EXT_IV, .length = 0x118 },
442         { .name = "b0g0initvals9", .offset = 0xCD6E8, .type = EXT_IV, .length = 0xAE0 },
443         { .name = "sslpn2bsinitvals17", .offset = 0xD7038, .type = EXT_IV, .length = 0x0 },
444         { .name = "a0g1bsinitvals9", .offset = 0xCF9E0, .type = EXT_IV, .length = 0x118 },
445         { .name = "b0g0bsinitvals13", .offset = 0xD2940, .type = EXT_IV, .length = 0x118 },
446         { .name = "sslpn4bsinitvals22", .offset = 0xD7068, .type = EXT_IV, .length = 0x0 },
447         { .name = "ucode16_sslpn_nobt", .offset = 0x10FCD8, .type = EXT_UCODE_3, .length = 0x1 },
448         { .name = "b0g0bsinitvals5", .offset = 0xCBF68, .type = EXT_IV, .length = 0x118 },
449         { .name = "sslpn2initvals17", .offset = 0xD7030, .type = EXT_IV, .length = 0x0 },
450         { .name = "ucode22_sslpn", .offset = 0x136608, .type = EXT_UCODE_3, .length = 0x1 },
451 /*      { .name = "ucode4", .offset = 0xD7070, .type = EXT_UCODE_1, .length = 0x4F50 }, */
452 /*      { .name = "b0g0initvals4", .offset = 0xC97F8, .type = EXT_IV, .length = 0xE70 }, */
453         { .name = "b0g0initvals13", .offset = 0xD1DB0, .type = EXT_IV, .length = 0xB88 },
454         { .name = "ucode17", .offset = 0x119684, .type = EXT_UCODE_3, .length = 0x9C90 },
455         { .name = "sslpn1bsinitvals20", .offset = 0xD7058, .type = EXT_IV, .length = 0x0 },
456         { .name = "ucode14", .offset = 0xF6C1C, .type = EXT_UCODE_2, .length = 0x6518 },
457         { .name = "a0g0initvals5", .offset = 0xCC088, .type = EXT_IV, .length = 0xA08 },
458         /* ERROR: Could not guess data type for: sampleucode16 */
459         { .name = "lp0bsinitvals16", .offset = 0xD6F10, .type = EXT_IV, .length = 0x118 },
460 /*      { .name = "pcm4", .offset = 0x136610, .type = EXT_PCM, .length = 0x520 }, */
461         { .name = "a0g1bsinitvals5", .offset = 0xCD5C8, .type = EXT_IV, .length = 0x118 },
462         { .name = "n0bsinitvals11", .offset = 0xD06C0, .type = EXT_IV, .length = 0x118 },
463         { .name = "n0absinitvals11", .offset = 0xD07E0, .type = EXT_IV, .length = 0x118 },
464         /* ucode minor version at offset 0xc97f4 */
465         { .name = "a0g1bsinitvals13", .offset = 0xD35F0, .type = EXT_IV, .length = 0x118 },
466         { .name = "sslpn4initvals22", .offset = 0xD7060, .type = EXT_IV, .length = 0x0 },
467         { .name = "pcm5", .offset = 0x136B34, .type = EXT_PCM, .length = 0x520 },
468         /* ucode minor version at offset 0x1374f4 */
469         { .name = "ucode9", .offset = 0xE17B0, .type = EXT_UCODE_2, .length = 0x6338 },
470         { .name = "a0g0bsinitvals9", .offset = 0xCF8C0, .type = EXT_IV, .length = 0x118 },
471 /*      { .name = "a0g0bsinitvals4", .offset = 0xCB520, .type = EXT_IV, .length = 0x30 }, */
472         { .name = "ucode20", .offset = 0x12C704, .type = EXT_UCODE_3, .length = 0x9F00 },
473         { .name = "a0g1initvals5", .offset = 0xCCA98, .type = EXT_IV, .length = 0xA08 },
474         { .name = "n0bsinitvals16", .offset = 0xD5FF8, .type = EXT_IV, .length = 0x118 },
475 /*      { .name = "b0g0bsinitvals4", .offset = 0xCA670, .type = EXT_IV, .length = 0x30 }, */
476         { .name = "lp0initvals15", .offset = 0xD4358, .type = EXT_IV, .length = 0xD90 },
477         { .name = "b0g0initvals5", .offset = 0xCB558, .type = EXT_IV, .length = 0xA08 },
478 /*      { .name = "a0g0initvals4", .offset = 0xCA6A8, .type = EXT_IV, .length = 0xE70 }, */
479         { .name = "sslpn0initvals16", .offset = 0xD6118, .type = EXT_IV, .length = 0x0 },
480         { .name = "a0g1initvals13", .offset = 0xD2A60, .type = EXT_IV, .length = 0xB88 },
481         { .name = "sslpn2initvals19", .offset = 0xD7040, .type = EXT_IV, .length = 0x0 },
482         /* ucode major version at offset 0xc97f0 */
483         { .name = "a0g1initvals9", .offset = 0xCEDD8, .type = EXT_IV, .length = 0xAE0 },
484         { .name = "ucode5", .offset = 0xDBFC4, .type = EXT_UCODE_2, .length = 0x57E8 },
485         { .name = "lp0bsinitvals13", .offset = 0xD1C90, .type = EXT_IV, .length = 0x118 },
486         { .name = "n0initvals16", .offset = 0xD5210, .type = EXT_IV, .length = 0xDE0 },
487         /* ucode major version at offset 0x1374f0 */
488         { .name = "b0g0bsinitvals9", .offset = 0xCE1D0, .type = EXT_IV, .length = 0x118 },
489         { .name = "ucode11", .offset = 0xE7AEC, .type = EXT_UCODE_2, .length = 0x7F48 },
490         { .name = "lp0initvals16", .offset = 0xD6128, .type = EXT_IV, .length = 0xDE0 },
491         { .name = "ucode16_mimo", .offset = 0x10FCE0, .type = EXT_UCODE_3, .length = 0x99A0 },
492         { .name = "a0g0initvals9", .offset = 0xCE2F0, .type = EXT_IV, .length = 0xAE0 },
493         { .name = "lp0initvals13", .offset = 0xD0900, .type = EXT_IV, .length = 0x1388 },
494         { .name = "a0g0bsinitvals5", .offset = 0xCD4A8, .type = EXT_IV, .length = 0x118 },
495         { .name = "ucode13", .offset = 0xEFA38, .type = EXT_UCODE_2, .length = 0x71E0 },
496         { .name = "sslpn2bsinitvals19", .offset = 0xD7048, .type = EXT_IV, .length = 0x0 },
497         { .name = "ucode15", .offset = 0xFD138, .type = EXT_UCODE_3, .length = 0x8D88 },
498         { .name = "lp0bsinitvals15", .offset = 0xD50F0, .type = EXT_IV, .length = 0x118 },
499         { .name = "n0initvals11", .offset = 0xCFB00, .type = EXT_IV, .length = 0xBB8 },
500         { .name = "sslpn0bsinitvals16", .offset = 0xD6120, .type = EXT_IV, .length = 0x0 },
501         { .name = "sslpn1initvals20", .offset = 0xD7050, .type = EXT_IV, .length = 0x0 },
502         EXTRACT_LIST_END
503 };
504
505 static struct extract _68f38d139b1f69f3ea12393fb645c6f9[] =
506 {
507         { .name = "lp0initvals14", .offset = 0x1DBB68, .type = EXT_IV, .length = 0x0 },
508         { .name = "lcn0bsinitvals25", .offset = 0x13FC40, .type = EXT_IV, .length = 0x118 },
509         { .name = "n0bsinitvals25", .offset = 0x142B68, .type = EXT_IV, .length = 0x118 },
510         /* ucode major version at offset 0x193a10 */
511         { .name = "n0bsinitvals17", .offset = 0x1977A0, .type = EXT_IV, .length = 0x118 },
512         { .name = "ucode17_mimo", .offset = 0x1BA904, .type = EXT_UCODE_3, .length = 0x9140 },
513         { .name = "ucode16_lp", .offset = 0x198870, .type = EXT_UCODE_3, .length = 0x8728 },
514         { .name = "sslpn1initvals27", .offset = 0x146C88, .type = EXT_IV, .length = 0x0 },
515         { .name = "lp2bsinitvals19", .offset = 0x1978E8, .type = EXT_IV, .length = 0x0 },
516         { .name = "sslpn3bsinitvals21", .offset = 0x198720, .type = EXT_IV, .length = 0x118 },
517         { .name = "ucode16_sslpn", .offset = 0x1A0F9C, .type = EXT_UCODE_3, .length = 0x8959 },
518         { .name = "ucode25_lcn", .offset = 0x164EC0, .type = EXT_UCODE_3, .length = 0x8975 },
519         { .name = "ucode21_sslpn", .offset = 0x1C3A68, .type = EXT_UCODE_3, .length = 0x8A78 },
520         { .name = "lp0bsinitvals14", .offset = 0x1DBB70, .type = EXT_IV, .length = 0x0 },
521         { .name = "b0g0initvals9", .offset = 0x1D5AF8, .type = EXT_IV, .length = 0xAE8 },
522         { .name = "ucode20_sslpn", .offset = 0x1C3A58, .type = EXT_UCODE_3, .length = 0x1 },
523         /* ucode minor version at offset 0x193a14 */
524         { .name = "a0g1bsinitvals9", .offset = 0x1D7E08, .type = EXT_IV, .length = 0x118 },
525         { .name = "lp1initvals20", .offset = 0x197910, .type = EXT_IV, .length = 0x0 },
526         { .name = "b0g0bsinitvals13", .offset = 0x1DAD88, .type = EXT_IV, .length = 0x118 },
527         { .name = "lp2initvals19", .offset = 0x1978E0, .type = EXT_IV, .length = 0x0 },
528         { .name = "n2bsinitvals19", .offset = 0x1978C8, .type = EXT_IV, .length = 0x0 },
529         { .name = "sslpn4bsinitvals22", .offset = 0x198858, .type = EXT_IV, .length = 0x0 },
530         { .name = "ucode16_sslpn_nobt", .offset = 0x1A98FC, .type = EXT_UCODE_3, .length = 0x72B5 },
531         { .name = "n1bsinitvals20", .offset = 0x1978F8, .type = EXT_IV, .length = 0x0 },
532         { .name = "n1initvals20", .offset = 0x1978F0, .type = EXT_IV, .length = 0x0 },
533         { .name = "b0g0bsinitvals5", .offset = 0x1D4378, .type = EXT_IV, .length = 0x118 },
534         { .name = "ucode22_sslpn", .offset = 0x1D392C, .type = EXT_UCODE_3, .length = 0x1 },
535 /*      { .name = "ucode4", .offset = 0x1DCAC0, .type = EXT_UCODE_1, .length = 0x4 }, */
536 /*      { .name = "b0g0initvals4", .offset = 0x1D3948, .type = EXT_IV, .length = 0x0 }, */
537         { .name = "b0g0initvals13", .offset = 0x1DA1E8, .type = EXT_IV, .length = 0xB98 },
538         { .name = "ht0initvals26", .offset = 0x145C88, .type = EXT_IV, .length = 0xED8 },
539         /* ucode major version at offset 0x13ae80 */
540         { .name = "ucode33_lcn40", .offset = 0x193A08, .type = EXT_UCODE_3, .length = 0x1 },
541         { .name = "sslpn1bsinitvals20", .offset = 0x197908, .type = EXT_IV, .length = 0x0 },
542         { .name = "lcn400bsinitvals33", .offset = 0x148C48, .type = EXT_IV, .length = 0x0 },
543         { .name = "ucode14", .offset = 0x1F76A8, .type = EXT_UCODE_2, .length = 0x4 },
544         /* ucode major version at offset 0x1d3940 */
545         { .name = "a0g0initvals5", .offset = 0x1D4498, .type = EXT_IV, .length = 0xA08 },
546         { .name = "lp1bsinitvals22", .offset = 0x198868, .type = EXT_IV, .length = 0x0 },
547         { .name = "n16initvals30", .offset = 0x147CD0, .type = EXT_IV, .length = 0xE38 },
548         { .name = "lp0bsinitvals16", .offset = 0x196940, .type = EXT_IV, .length = 0x118 },
549         { .name = "lcn1bsinitvals25", .offset = 0x140BF8, .type = EXT_IV, .length = 0x118 },
550 /*      { .name = "pcm4", .offset = 0x20090C, .type = EXT_PCM, .length = 0x4 }, */
551         { .name = "lcn400initvals33", .offset = 0x148C40, .type = EXT_IV, .length = 0x0 },
552         { .name = "n0bsinitvals24", .offset = 0x13EC88, .type = EXT_IV, .length = 0x118 },
553         { .name = "lcn2bsinitvals26", .offset = 0x145B68, .type = EXT_IV, .length = 0x118 },
554         { .name = "lcn1initvals26", .offset = 0x143C88, .type = EXT_IV, .length = 0xED8 },
555         { .name = "n0bsinitvals22", .offset = 0x198848, .type = EXT_IV, .length = 0x0 },
556         { .name = "n18initvals32", .offset = 0x148C30, .type = EXT_IV, .length = 0x0 },
557         { .name = "lcn2initvals26", .offset = 0x144C88, .type = EXT_IV, .length = 0xED8 },
558         { .name = "a0g1bsinitvals5", .offset = 0x1D59D8, .type = EXT_IV, .length = 0x118 },
559         { .name = "n0bsinitvals11", .offset = 0x1D8AE8, .type = EXT_IV, .length = 0x118 },
560         { .name = "lcn2initvals24", .offset = 0x13CE18, .type = EXT_IV, .length = 0xEA0 },
561         { .name = "lcn0initvals26", .offset = 0x142C88, .type = EXT_IV, .length = 0xED8 },
562         { .name = "n0absinitvals11", .offset = 0x1D8C08, .type = EXT_IV, .length = 0x118 },
563         { .name = "ucode21_sslpn_nobt", .offset = 0x1CC4E4, .type = EXT_UCODE_3, .length = 0x7444 },
564         { .name = "ucode26_mimo", .offset = 0x16D83C, .type = EXT_UCODE_3, .length = 0x9E00 },
565         { .name = "n2initvals19", .offset = 0x1978C0, .type = EXT_IV, .length = 0x0 },
566         { .name = "sslpn3initvals21", .offset = 0x197920, .type = EXT_IV, .length = 0xDF8 },
567         { .name = "a0g1bsinitvals13", .offset = 0x1DBA48, .type = EXT_IV, .length = 0x118 },
568         { .name = "sslpn4initvals22", .offset = 0x198850, .type = EXT_IV, .length = 0x0 },
569         { .name = "pcm5", .offset = 0x200914, .type = EXT_PCM, .length = 0x520 },
570         { .name = "ucode29_lcn", .offset = 0x181464, .type = EXT_UCODE_3, .length = 0x8729 },
571         { .name = "ucode22_mimo", .offset = 0x1D3934, .type = EXT_UCODE_3, .length = 0x4 },
572         { .name = "ucode9", .offset = 0x1E226C, .type = EXT_UCODE_2, .length = 0x63A8 },
573         { .name = "lcn2initvals25", .offset = 0x140D18, .type = EXT_IV, .length = 0xE90 },
574         { .name = "lp1initvals22", .offset = 0x198860, .type = EXT_IV, .length = 0x0 },
575         { .name = "sslpn1bsinitvals27", .offset = 0x146C90, .type = EXT_IV, .length = 0x0 },
576         { .name = "lcn0initvals24", .offset = 0x13AE88, .type = EXT_IV, .length = 0xEA0 },
577         { .name = "ucode32_mimo", .offset = 0x193A00, .type = EXT_UCODE_3, .length = 0x4 },
578         { .name = "a0g0bsinitvals9", .offset = 0x1D7CE8, .type = EXT_IV, .length = 0x118 },
579         { .name = "n18bsinitvals32", .offset = 0x148C38, .type = EXT_IV, .length = 0x0 },
580         { .name = "n0initvals24", .offset = 0x13DDE0, .type = EXT_IV, .length = 0xEA0 },
581 /*      { .name = "a0g0bsinitvals4", .offset = 0x1D3960, .type = EXT_IV, .length = 0x0 }, */
582         { .name = "n0initvals25", .offset = 0x141CD0, .type = EXT_IV, .length = 0xE90 },
583         { .name = "a0g1initvals5", .offset = 0x1D4EA8, .type = EXT_IV, .length = 0xA08 },
584         { .name = "ucode24_lcn", .offset = 0x15297C, .type = EXT_UCODE_3, .length = 0x8991 },
585         { .name = "n0initvals17", .offset = 0x196A60, .type = EXT_IV, .length = 0xD38 },
586         { .name = "n0bsinitvals16", .offset = 0x194910, .type = EXT_IV, .length = 0x118 },
587 /*      { .name = "b0g0bsinitvals4", .offset = 0x1D3950, .type = EXT_IV, .length = 0x0 }, */
588         { .name = "lp0initvals15", .offset = 0x1DBB78, .type = EXT_IV, .length = 0xE20 },
589         { .name = "b0g0initvals5", .offset = 0x1D3968, .type = EXT_IV, .length = 0xA08 },
590 /*      { .name = "a0g0initvals4", .offset = 0x1D3958, .type = EXT_IV, .length = 0x0 }, */
591         { .name = "ucode20_sslpn_nobt", .offset = 0x1C3A60, .type = EXT_UCODE_3, .length = 0x1 },
592         { .name = "lcn1initvals24", .offset = 0x13BE50, .type = EXT_IV, .length = 0xEA0 },
593         { .name = "sslpn0initvals16", .offset = 0x194A30, .type = EXT_IV, .length = 0xEF0 },
594         { .name = "a0g1initvals13", .offset = 0x1DAEA8, .type = EXT_IV, .length = 0xB98 },
595         { .name = "lp1bsinitvals20", .offset = 0x197918, .type = EXT_IV, .length = 0x0 },
596         { .name = "sslpn2initvals19", .offset = 0x1978D0, .type = EXT_IV, .length = 0x0 },
597         { .name = "a0g1initvals9", .offset = 0x1D71F8, .type = EXT_IV, .length = 0xAE8 },
598         { .name = "lcn1bsinitvals24", .offset = 0x13CCF8, .type = EXT_IV, .length = 0x118 },
599         { .name = "ucode5", .offset = 0x1DCAC8, .type = EXT_UCODE_2, .length = 0x57A0 },
600         { .name = "lcn2bsinitvals24", .offset = 0x13DCC0, .type = EXT_IV, .length = 0x118 },
601         { .name = "lp0bsinitvals13", .offset = 0x1DA0C8, .type = EXT_IV, .length = 0x118 },
602         { .name = "n0initvals16", .offset = 0x193A18, .type = EXT_IV, .length = 0xEF0 },
603         { .name = "ucode19_sslpn_nobt", .offset = 0x1C3A50, .type = EXT_UCODE_3, .length = 0x1 },
604         { .name = "b0g0bsinitvals9", .offset = 0x1D65E8, .type = EXT_IV, .length = 0x118 },
605         { .name = "ucode11", .offset = 0x1E8618, .type = EXT_UCODE_2, .length = 0x7DE0 },
606         { .name = "lp0initvals16", .offset = 0x195A48, .type = EXT_IV, .length = 0xEF0 },
607         { .name = "ucode16_mimo", .offset = 0x1B0BB8, .type = EXT_UCODE_3, .length = 0x9D48 },
608         { .name = "lcn0bsinitvals26", .offset = 0x143B68, .type = EXT_IV, .length = 0x118 },
609         { .name = "ht0initvals29", .offset = 0x146C98, .type = EXT_IV, .length = 0xF10 },
610         { .name = "lcn2bsinitvals25", .offset = 0x141BB0, .type = EXT_IV, .length = 0x118 },
611         { .name = "a0g0initvals9", .offset = 0x1D6708, .type = EXT_IV, .length = 0xAE8 },
612         { .name = "ucode29_mimo", .offset = 0x177648, .type = EXT_UCODE_3, .length = 0x9E18 },
613         { .name = "lcn0bsinitvals24", .offset = 0x13BD30, .type = EXT_IV, .length = 0x118 },
614         { .name = "ucode19_sslpn", .offset = 0x1C3A48, .type = EXT_UCODE_3, .length = 0x1 },
615         { .name = "lcn1initvals25", .offset = 0x13FD60, .type = EXT_IV, .length = 0xE90 },
616         { .name = "ucode30_mimo", .offset = 0x189B94, .type = EXT_UCODE_3, .length = 0x9E68 },
617         { .name = "n16bsinitvals30", .offset = 0x148B10, .type = EXT_IV, .length = 0x118 },
618         /* ucode minor version at offset 0x13ae84 */
619         { .name = "ucode25_mimo", .offset = 0x15B314, .type = EXT_UCODE_3, .length = 0x9BA8 },
620         { .name = "ucode24_mimo", .offset = 0x148C50, .type = EXT_UCODE_3, .length = 0x9D28 },
621         { .name = "ucode27_sslpn", .offset = 0x177640, .type = EXT_UCODE_3, .length = 0x1 },
622         { .name = "lp0initvals13", .offset = 0x1D8D28, .type = EXT_IV, .length = 0x1398 },
623         { .name = "a0g0bsinitvals5", .offset = 0x1D58B8, .type = EXT_IV, .length = 0x118 },
624         /* ucode minor version at offset 0x1d3944 */
625         { .name = "ht0bsinitvals26", .offset = 0x146B68, .type = EXT_IV, .length = 0x118 },
626         { .name = "ucode13", .offset = 0x1F03FC, .type = EXT_UCODE_2, .length = 0x72A8 },
627         { .name = "sslpn2bsinitvals19", .offset = 0x1978D8, .type = EXT_IV, .length = 0x0 },
628         { .name = "ucode15", .offset = 0x1F76B0, .type = EXT_UCODE_3, .length = 0x9258 },
629         { .name = "lp0bsinitvals15", .offset = 0x1DC9A0, .type = EXT_IV, .length = 0x118 },
630         { .name = "n0initvals11", .offset = 0x1D7F28, .type = EXT_IV, .length = 0xBB8 },
631         { .name = "lcn0initvals25", .offset = 0x13EDA8, .type = EXT_IV, .length = 0xE90 },
632         { .name = "sslpn0bsinitvals16", .offset = 0x195928, .type = EXT_IV, .length = 0x118 },
633         { .name = "sslpn1initvals20", .offset = 0x197900, .type = EXT_IV, .length = 0x0 },
634         { .name = "lcn1bsinitvals26", .offset = 0x144B68, .type = EXT_IV, .length = 0x118 },
635         { .name = "n0initvals22", .offset = 0x198840, .type = EXT_IV, .length = 0x0 },
636         { .name = "ht0bsinitvals29", .offset = 0x147BB0, .type = EXT_IV, .length = 0x118 },
637         EXTRACT_LIST_END
638 };
639
640 static struct extract _e1b05e268bcdbfef3560c28fc161f30e[] =
641 {
642         { .name = "lp0initvals14", .offset = 0x1F17C8, .type = EXT_IV, .length = 0x0 },
643         { .name = "lcn0bsinitvals25", .offset = 0x1601D0, .type = EXT_IV, .length = 0x118 },
644         { .name = "n0bsinitvals25", .offset = 0x1635A8, .type = EXT_IV, .length = 0x118 },
645         /* ucode major version at offset 0x1aad60 */
646         { .name = "n0bsinitvals17", .offset = 0x1AEB10, .type = EXT_IV, .length = 0x118 },
647         { .name = "ucode17_mimo", .offset = 0x1D0F48, .type = EXT_UCODE_3, .length = 0x8D70 },
648         { .name = "ucode16_lp", .offset = 0x1AFBE8, .type = EXT_UCODE_3, .length = 0x83A8 },
649         { .name = "sslpn1initvals27", .offset = 0x167628, .type = EXT_IV, .length = 0x0 },
650         { .name = "lp2bsinitvals19", .offset = 0x1AEC58, .type = EXT_IV, .length = 0x0 },
651         { .name = "sslpn3bsinitvals21", .offset = 0x1AFA98, .type = EXT_IV, .length = 0x118 },
652         { .name = "ucode16_sslpn", .offset = 0x1B7F94, .type = EXT_UCODE_3, .length = 0x8688 },
653         { .name = "ucode25_lcn", .offset = 0x1853E0, .type = EXT_UCODE_3, .length = 0x8817 },
654         { .name = "ucode21_sslpn", .offset = 0x1D9CDC, .type = EXT_UCODE_3, .length = 0x87A7 },
655         { .name = "lp0bsinitvals14", .offset = 0x1F17D0, .type = EXT_IV, .length = 0x0 },
656         { .name = "b0g0initvals9", .offset = 0x1EB788, .type = EXT_IV, .length = 0xAD8 },
657         { .name = "ucode20_sslpn", .offset = 0x1D9CCC, .type = EXT_UCODE_3, .length = 0x1 },
658         /* ucode minor version at offset 0x1aad64 */
659         { .name = "a0g1bsinitvals9", .offset = 0x1EDA68, .type = EXT_IV, .length = 0x118 },
660         { .name = "lp1initvals20", .offset = 0x1AEC80, .type = EXT_IV, .length = 0x0 },
661         { .name = "b0g0bsinitvals13", .offset = 0x1F09E8, .type = EXT_IV, .length = 0x118 },
662         { .name = "lp2initvals19", .offset = 0x1AEC50, .type = EXT_IV, .length = 0x0 },
663         { .name = "n2bsinitvals19", .offset = 0x1AEC38, .type = EXT_IV, .length = 0x0 },
664         { .name = "sslpn4bsinitvals22", .offset = 0x1AFBD0, .type = EXT_IV, .length = 0x0 },
665         { .name = "ucode16_sslpn_nobt", .offset = 0x1C0620, .type = EXT_UCODE_3, .length = 0x6FA5 },
666         { .name = "n1bsinitvals20", .offset = 0x1AEC68, .type = EXT_IV, .length = 0x0 },
667         { .name = "n1initvals20", .offset = 0x1AEC60, .type = EXT_IV, .length = 0x0 },
668         { .name = "b0g0bsinitvals5", .offset = 0x1EA008, .type = EXT_IV, .length = 0x118 },
669         { .name = "ucode22_sslpn", .offset = 0x1E95C0, .type = EXT_UCODE_3, .length = 0x1 },
670 /*      { .name = "ucode4", .offset = 0x1F2710, .type = EXT_UCODE_1, .length = 0x4 }, */
671 /*      { .name = "b0g0initvals4", .offset = 0x1E95D8, .type = EXT_IV, .length = 0x0 }, */
672         { .name = "b0g0initvals13", .offset = 0x1EFE48, .type = EXT_IV, .length = 0xB98 },
673         { .name = "ht0initvals26", .offset = 0x166650, .type = EXT_IV, .length = 0xEB0 },
674         /* ucode major version at offset 0x15ac20 */
675         { .name = "ucode33_lcn40", .offset = 0x1AAD50, .type = EXT_UCODE_3, .length = 0x1 },
676         { .name = "sslpn1bsinitvals20", .offset = 0x1AEC78, .type = EXT_IV, .length = 0x0 },
677         { .name = "lcn400bsinitvals33", .offset = 0x1695F8, .type = EXT_IV, .length = 0x0 },
678         { .name = "ucode14", .offset = 0x20BD30, .type = EXT_UCODE_2, .length = 0x4 },
679         /* ucode major version at offset 0x1e95d0 */
680         { .name = "a0g0initvals5", .offset = 0x1EA128, .type = EXT_IV, .length = 0xA08 },
681         { .name = "lp1bsinitvals22", .offset = 0x1AFBE0, .type = EXT_IV, .length = 0x0 },
682         { .name = "n16initvals30", .offset = 0x168648, .type = EXT_IV, .length = 0xE70 },
683         { .name = "lp0bsinitvals16", .offset = 0x1ADCA8, .type = EXT_IV, .length = 0x118 },
684         { .name = "lcn1bsinitvals25", .offset = 0x161318, .type = EXT_IV, .length = 0x118 },
685 /*      { .name = "pcm4", .offset = 0x2147EC, .type = EXT_PCM, .length = 0x4 }, */
686         { .name = "lcn400initvals33", .offset = 0x1695F0, .type = EXT_IV, .length = 0x0 },
687         { .name = "n0bsinitvals24", .offset = 0x15F088, .type = EXT_IV, .length = 0x118 },
688         { .name = "lcn2bsinitvals26", .offset = 0x166530, .type = EXT_IV, .length = 0x118 },
689         { .name = "lcn1initvals26", .offset = 0x1646A0, .type = EXT_IV, .length = 0xEB0 },
690         { .name = "n0bsinitvals22", .offset = 0x1AFBC0, .type = EXT_IV, .length = 0x0 },
691         { .name = "n18initvals32", .offset = 0x1695E0, .type = EXT_IV, .length = 0x0 },
692         { .name = "lcn2initvals26", .offset = 0x165678, .type = EXT_IV, .length = 0xEB0 },
693         { .name = "a0g1bsinitvals5", .offset = 0x1EB668, .type = EXT_IV, .length = 0x118 },
694         { .name = "n0bsinitvals11", .offset = 0x1EE748, .type = EXT_IV, .length = 0x118 },
695         { .name = "lcn2initvals24", .offset = 0x15CEE8, .type = EXT_IV, .length = 0x1038 },
696         { .name = "lcn0initvals26", .offset = 0x1636C8, .type = EXT_IV, .length = 0xEB0 },
697         { .name = "n0absinitvals11", .offset = 0x1EE868, .type = EXT_IV, .length = 0x118 },
698         { .name = "ucode21_sslpn_nobt", .offset = 0x1E2488, .type = EXT_UCODE_3, .length = 0x7134 },
699         { .name = "ucode26_mimo", .offset = 0x18DBFC, .type = EXT_UCODE_3, .length = 0x9B28 },
700         { .name = "n2initvals19", .offset = 0x1AEC30, .type = EXT_IV, .length = 0x0 },
701         { .name = "sslpn3initvals21", .offset = 0x1AEC90, .type = EXT_IV, .length = 0xE00 },
702         { .name = "a0g1bsinitvals13", .offset = 0x1F16A8, .type = EXT_IV, .length = 0x118 },
703         { .name = "sslpn4initvals22", .offset = 0x1AFBC8, .type = EXT_IV, .length = 0x0 },
704         { .name = "pcm5", .offset = 0x2147F4, .type = EXT_PCM, .length = 0x520 },
705         { .name = "ucode22_mimo", .offset = 0x1E95C8, .type = EXT_UCODE_3, .length = 0x4 },
706         { .name = "ucode9", .offset = 0x1F7A64, .type = EXT_UCODE_2, .length = 0x5AD0 },
707         { .name = "lcn2initvals25", .offset = 0x161438, .type = EXT_IV, .length = 0x1020 },
708         { .name = "lp1initvals22", .offset = 0x1AFBD8, .type = EXT_IV, .length = 0x0 },
709         { .name = "sslpn1bsinitvals27", .offset = 0x167630, .type = EXT_IV, .length = 0x0 },
710         { .name = "lcn0initvals24", .offset = 0x15AC28, .type = EXT_IV, .length = 0x1038 },
711         { .name = "ucode32_mimo", .offset = 0x1AAD48, .type = EXT_UCODE_3, .length = 0x4 },
712         { .name = "a0g0bsinitvals9", .offset = 0x1ED948, .type = EXT_IV, .length = 0x118 },
713         { .name = "n18bsinitvals32", .offset = 0x1695E8, .type = EXT_IV, .length = 0x0 },
714         { .name = "n0initvals24", .offset = 0x15E048, .type = EXT_IV, .length = 0x1038 },
715 /*      { .name = "a0g0bsinitvals4", .offset = 0x1E95F0, .type = EXT_IV, .length = 0x0 }, */
716         { .name = "n0initvals25", .offset = 0x162580, .type = EXT_IV, .length = 0x1020 },
717         { .name = "a0g1initvals5", .offset = 0x1EAB38, .type = EXT_IV, .length = 0xA08 },
718         { .name = "ucode24_lcn", .offset = 0x17314C, .type = EXT_UCODE_3, .length = 0x89BB },
719         { .name = "n0initvals17", .offset = 0x1ADDC8, .type = EXT_IV, .length = 0xD40 },
720         { .name = "n0bsinitvals16", .offset = 0x1ABC68, .type = EXT_IV, .length = 0x118 },
721 /*      { .name = "b0g0bsinitvals4", .offset = 0x1E95E0, .type = EXT_IV, .length = 0x0 }, */
722         { .name = "lp0initvals15", .offset = 0x1F17D8, .type = EXT_IV, .length = 0xE10 },
723         { .name = "b0g0initvals5", .offset = 0x1E95F8, .type = EXT_IV, .length = 0xA08 },
724 /*      { .name = "a0g0initvals4", .offset = 0x1E95E8, .type = EXT_IV, .length = 0x0 }, */
725         { .name = "ucode20_sslpn_nobt", .offset = 0x1D9CD4, .type = EXT_UCODE_3, .length = 0x1 },
726         { .name = "lcn1initvals24", .offset = 0x15BD88, .type = EXT_IV, .length = 0x1038 },
727         { .name = "sslpn0initvals16", .offset = 0x1ABD88, .type = EXT_IV, .length = 0xEF8 },
728         { .name = "a0g1initvals13", .offset = 0x1F0B08, .type = EXT_IV, .length = 0xB98 },
729         { .name = "lp1bsinitvals20", .offset = 0x1AEC88, .type = EXT_IV, .length = 0x0 },
730         { .name = "sslpn2initvals19", .offset = 0x1AEC40, .type = EXT_IV, .length = 0x0 },
731         { .name = "a0g1initvals9", .offset = 0x1ECE68, .type = EXT_IV, .length = 0xAD8 },
732         { .name = "lcn1bsinitvals24", .offset = 0x15CDC8, .type = EXT_IV, .length = 0x118 },
733         { .name = "ucode5", .offset = 0x1F2718, .type = EXT_UCODE_2, .length = 0x5348 },
734         { .name = "lcn2bsinitvals24", .offset = 0x15DF28, .type = EXT_IV, .length = 0x118 },
735         { .name = "lp0bsinitvals13", .offset = 0x1EFD28, .type = EXT_IV, .length = 0x118 },
736         { .name = "n0initvals16", .offset = 0x1AAD68, .type = EXT_IV, .length = 0xEF8 },
737         { .name = "ucode19_sslpn_nobt", .offset = 0x1D9CC4, .type = EXT_UCODE_3, .length = 0x1 },
738         { .name = "b0g0bsinitvals9", .offset = 0x1EC268, .type = EXT_IV, .length = 0x118 },
739         { .name = "ucode11", .offset = 0x1FD538, .type = EXT_UCODE_2, .length = 0x79C0 },
740         { .name = "lp0initvals16", .offset = 0x1ACDA8, .type = EXT_IV, .length = 0xEF8 },
741         { .name = "ucode16_mimo", .offset = 0x1C75CC, .type = EXT_UCODE_3, .length = 0x9978 },
742         { .name = "lcn0bsinitvals26", .offset = 0x164580, .type = EXT_IV, .length = 0x118 },
743         { .name = "ht0initvals29", .offset = 0x167638, .type = EXT_IV, .length = 0xEE8 },
744         { .name = "lcn2bsinitvals25", .offset = 0x162460, .type = EXT_IV, .length = 0x118 },
745         { .name = "a0g0initvals9", .offset = 0x1EC388, .type = EXT_IV, .length = 0xAD8 },
746         { .name = "ucode29_mimo", .offset = 0x197730, .type = EXT_UCODE_3, .length = 0x9B48 },
747         { .name = "lcn0bsinitvals24", .offset = 0x15BC68, .type = EXT_IV, .length = 0x118 },
748         { .name = "ucode19_sslpn", .offset = 0x1D9CBC, .type = EXT_UCODE_3, .length = 0x1 },
749         { .name = "lcn1initvals25", .offset = 0x1602F0, .type = EXT_IV, .length = 0x1020 },
750         { .name = "ucode30_mimo", .offset = 0x1A127C, .type = EXT_UCODE_3, .length = 0x9AC8 },
751         { .name = "n16bsinitvals30", .offset = 0x1694C0, .type = EXT_IV, .length = 0x118 },
752         /* ucode minor version at offset 0x15ac24 */
753         { .name = "ucode25_mimo", .offset = 0x17BB0C, .type = EXT_UCODE_3, .length = 0x98D0 },
754         { .name = "ucode24_mimo", .offset = 0x169600, .type = EXT_UCODE_3, .length = 0x9B48 },
755         { .name = "ucode27_sslpn", .offset = 0x197728, .type = EXT_UCODE_3, .length = 0x1 },
756         { .name = "lp0initvals13", .offset = 0x1EE988, .type = EXT_IV, .length = 0x1398 },
757         { .name = "a0g0bsinitvals5", .offset = 0x1EB548, .type = EXT_IV, .length = 0x118 },
758         /* ucode minor version at offset 0x1e95d4 */
759         { .name = "ht0bsinitvals26", .offset = 0x167508, .type = EXT_IV, .length = 0x118 },
760         { .name = "ucode13", .offset = 0x204EFC, .type = EXT_UCODE_2, .length = 0x6E30 },
761         { .name = "sslpn2bsinitvals19", .offset = 0x1AEC48, .type = EXT_IV, .length = 0x0 },
762         { .name = "ucode15", .offset = 0x20BD38, .type = EXT_UCODE_3, .length = 0x8AB0 },
763         { .name = "lp0bsinitvals15", .offset = 0x1F25F0, .type = EXT_IV, .length = 0x118 },
764         { .name = "n0initvals11", .offset = 0x1EDB88, .type = EXT_IV, .length = 0xBB8 },
765         { .name = "lcn0initvals25", .offset = 0x15F1A8, .type = EXT_IV, .length = 0x1020 },
766         { .name = "sslpn0bsinitvals16", .offset = 0x1ACC88, .type = EXT_IV, .length = 0x118 },
767         { .name = "sslpn1initvals20", .offset = 0x1AEC70, .type = EXT_IV, .length = 0x0 },
768         { .name = "lcn1bsinitvals26", .offset = 0x165558, .type = EXT_IV, .length = 0x118 },
769         { .name = "n0initvals22", .offset = 0x1AFBB8, .type = EXT_IV, .length = 0x0 },
770         { .name = "ht0bsinitvals29", .offset = 0x168528, .type = EXT_IV, .length = 0x118 },
771         EXTRACT_LIST_END
772 };
773
774 /*
775  * Links change, so let's not put them into the README.
776  * I still put them here so we know where the file was obtained.
777  */
778 static const struct file files[] = 
779 {
780         {
781                 .name           = "wl_apsta.o",
782                 .id             = "FW10",
783                 .ucode_version  = "295.14",
784                 .md5            = "e08665c5c5b66beb9c3b2dd54aa80cb3",
785                 .flags          = FW_FLAG_LE,
786                 .extract        = _e08665c5c5b66beb9c3b2dd54aa80cb3,
787         },
788         {
789                 /* http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2 */
790                 /* This firmware has the old TX header. */
791                 .name           = "wl_apsta.o",
792                 .id             = "FW11",
793                 .ucode_version  = "351.126",
794                 .md5            = "9207bc565c2fc9fa1591f6c7911d3fc0",
795                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
796                 .extract        = _9207bc565c2fc9fa1591f6c7911d3fc0,
797         },
798         {
799                 /* http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2 */
800                 /* This firmware has the old TX header. */
801                 .name           = "wl_apsta_mimo.o",
802                 .id             = "FW11",
803                 .ucode_version  = "351.126",
804                 .md5            = "722e2e0d8cc04b8f118bb5afe6829ff9",
805                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
806                 .extract        = _722e2e0d8cc04b8f118bb5afe6829ff9,
807         },
808         {
809                 /* ftp://ftp.linksys.com/opensourcecode/wrt150nv11/1.51.3/ */
810                 .name           = "wl_ap.o",
811                 .id             = "FW12",
812                 .ucode_version  = "410.2160",
813                 .md5            = "1e4763b4cb8cfbaae43e5c6d3d6b2ae7",
814                 .flags          = FW_FLAG_LE | FW_FLAG_V4 | FW_FLAG_UNSUPPORTED,
815                 .extract        = _1e4763b4cb8cfbaae43e5c6d3d6b2ae7,
816         },
817         {
818                 /* http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2 */
819                 .name           = "wl_apsta_mimo.o",
820                 .id             = "FW13",
821                 .ucode_version  = "410.2160",
822                 .md5            = "cb8d70972b885b1f8883b943c0261a3c",
823                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
824                 .extract        = _cb8d70972b885b1f8883b943c0261a3c,
825         },
826         {
827                 /* http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2 */
828                 .name           = "wl_apsta.o",
829                 .id             = "FW14",
830                 .ucode_version  = "478.104",
831                 .md5            = "bb8537e3204a1ea5903fe3e66b5e2763",
832                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
833                 .extract        = _bb8537e3204a1ea5903fe3e66b5e2763,
834         },
835         {
836                 /* http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mipsel.tar.bz2 */
837                 .name           = "wl_prebuilt.o",
838                 .id             = "FW15",
839                 .ucode_version  = "508.1084",
840                 .md5            = "490d4e149ecc45eb1a91f06aa75be071",
841                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
842                 .extract        = _490d4e149ecc45eb1a91f06aa75be071,
843         },
844         {
845                 /* http://www.lwfinger.com/b43-firmware/broadcom-wl-5.10.56.51.tar.bz2 */
846                 .name           = "wl_apsta.o",
847                 .id             = "FW16",
848                 .ucode_version  = "508.1107",
849                 .md5            = "f06c8aa30ea549ce21872d10ee9a7d48",
850                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
851                 .extract        = _f06c8aa30ea549ce21872d10ee9a7d48,
852         },
853         {
854                 /* http://www.lwfinger.com/b43-firmware/broadcom-wl-5.10.56.2808.tar.bz2 */
855                 .name           = "wl_apsta.o",
856                 .id             = "FW17",
857                 .ucode_version  = "508.10872",
858                 .md5            = "e413c0017b99195f3231201c53f314d1",
859                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
860                 .extract        = _e413c0017b99195f3231201c53f314d1,
861         },
862         {
863                 /* http://www.lwfinger.com/b43-firmware/broadcom-wl-5.10.144.3.tar.bz2 */
864                 .name           = "wl_apsta.o",
865                 .id             = "FW18",
866                 .ucode_version  = "508.154",
867                 .md5            = "023fafbe4918e384dd531a046dbc03e8",
868                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
869                 .extract        = _023fafbe4918e384dd531a046dbc03e8,
870         },
871         {
872                 /* http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.104.2.tar.bz2 */
873                 .name           = "wl_apsta.o",
874                 .id             = "FW19",
875                 .ucode_version  = "644.1001",
876                 .md5            = "68f38d139b1f69f3ea12393fb645c6f9",
877                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
878                 .extract        = _68f38d139b1f69f3ea12393fb645c6f9,
879         },
880         {
881                 /* http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2 */
882                 .name           = "wl_apsta.o",
883                 .id             = "FW20",
884                 .ucode_version  = "666.2",
885                 .md5            = "e1b05e268bcdbfef3560c28fc161f30e",
886                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
887                 .extract        = _e1b05e268bcdbfef3560c28fc161f30e,
888         },
889 };