Annotation of sys/dev/microcode/fxp/rcvbundl.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: rcvbundl.h,v 1.2 2005/04/24 20:41:34 brad Exp $ */
2:
3: /*
4: Copyright (c) 1999-2001, Intel Corporation
5:
6: All rights reserved.
7:
8: Redistribution and use in source and binary forms, with or without
9: modification, are permitted provided that the following conditions are met:
10:
11: 1. Redistributions of source code must retain the above copyright notice,
12: this list of conditions and the following disclaimer.
13:
14: 2. Redistributions in binary form must reproduce the above copyright notice,
15: this list of conditions and the following disclaimer in the documentation
16: and/or other materials provided with the distribution.
17:
18: 3. Neither the name of Intel Corporation nor the names of its contributors
19: may be used to endorse or promote products derived from this software
20: without specific prior written permission.
21:
22: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
23: AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24: IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25: DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26: INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27: LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28: PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29: LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30: NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32: */
33: /*
34: rcvbundl.h
35:
36: Author: Patrick J Luhmann (PJL)
37: Date: 05/30/2000
38: Version: 3.28
39:
40: This file contains the loadable micro code arrays to implement receive bundling on the
41: D101 A-step, D101 B-step, D101M (B-step only), D101S, D102 B-step,
42: D102 B-step with TCO work around, D102 C-step and D102 E-step.
43:
44: Each controller has its own specific micro code array. The array for one controller
45: is totally incompatible with any other controller, and if used will most likely
46: cause the controller to lock up and stop responding to the driver. Each micro
47: code array has its own parameter offsets (described below), and they each have
48: their own version number (which should not be confused with the version of the
49: rcvbundl.h file given above).
50:
51: */
52:
53:
54:
55: /*************************************************************************
56: * CPUSaver parameters
57: *
58: * All CPUSaver parameters are 16-bit literals that are part of a
59: * "move immediate value" instruction. By changing the value of
60: * the literal in the instruction before the code is loaded, the
61: * driver can change algorithm.
62: *
63: * CPUSAVER_DWORD - This is the location of the instruction that loads
64: * the dead-man timer with its inital value. By writing a 16-bit
65: * value to the low word of this instruction, the driver can change
66: * the timer value. The current default is either x600 or x800;
67: * experiments show that the value probably should stay within the
68: * range of x200 - x1000.
69: *
70: * CPUSAVER_BUNDLE_MAX_DWORD - This is the location of the instruction
71: * that sets the maximum number of frames that will be bundled. In
72: * some situations, such as the TCP windowing algorithm, it may be
73: * better to limit the growth of the bundle size than let it go as
74: * high as it can, because that could cause too much added latency.
75: * The default is six, because this is the number of packets in the
76: * default TCP window size. A value of 1 would make CPUSaver indicate
77: * an interrupt for every frame received. If you do not want to put
78: * a limit on the bundle size, set this value to xFFFF.
79: *
80: * CPUSAVER_MIN_SIZE_DWORD - This is the location of the instruction
81: * that contains a bit-mask describing the minimum size frame that
82: * will be bundled. The default masks the lower 7 bits, which means
83: * that any frame less than 128 bytes in length will not be bundled,
84: * but will instead immediately generate an interrupt. This does
85: * not affect the current bundle in any way. Any frame that is 128
86: * bytes or large will be bundled normally. This feature is meant
87: * to provide immediate indication of ACK frames in a TCP environment.
88: * Customers were seeing poor performance when a machine with CPUSaver
89: * enabled was sending but not receiving. The delay introduced when
90: * the ACKs were received was enough to reduce total throughput, because
91: * the sender would sit idle until the ACK was finally seen.
92: *
93: * The current default is 0xFF80, which masks out the lower 7 bits.
94: * This means that any frame which is x7F (127) bytes or smaller
95: * will cause an immediate interrupt. Because this value must be a
96: * bit mask, there are only a few valid values that can be used. To
97: * turn this feature off, the driver can write the value xFFFF to the
98: * lower word of this instruction (in the same way that the other
99: * parameters are used). Likewise, a value of 0xF800 (2047) would
100: * cause an interrupt to be generated for every frame, because all
101: * standard Ethernet frames are <= 2047 bytes in length.
102: *************************************************************************/
103:
104:
105:
106: /********************************************************/
107: /* CPUSaver micro code for the D101A */
108: /********************************************************/
109:
110: /* Version 2.0 */
111:
112: /* This value is the same for both A and B step of 558. */
113: #define D101_CPUSAVER_DWORD 72
114:
115:
116: #define D101_A_RCVBUNDLE_UCODE \
117: {\
118: 0x03B301BB, \
119: 0x0046FFFF, \
120: 0xFFFFFFFF, \
121: 0x051DFFFF, \
122: 0xFFFFFFFF, \
123: 0xFFFFFFFF, \
124: 0x000C0001, \
125: 0x00101212, \
126: 0x000C0008, \
127: 0x003801BC, \
128: 0x00000000, \
129: 0x00124818, \
130: 0x000C1000, \
131: 0x00220809, \
132: 0x00010200, \
133: 0x00124818, \
134: 0x000CFFFC, \
135: 0x003803B5, \
136: 0x00000000, \
137: 0x00000000, \
138: 0x00000000, \
139: 0x00000000, \
140: 0x0010009C, \
141: 0x0024B81D, \
142: 0x00130836, \
143: 0x000C0001, \
144: 0x0026081C, \
145: 0x0020C81B, \
146: 0x00130824, \
147: 0x00222819, \
148: 0x00101213, \
149: 0x00041000, \
150: 0x003A03B3, \
151: 0x00010200, \
152: 0x00101B13, \
153: 0x00238081, \
154: 0x00213049, \
155: 0x0038003B, \
156: 0x00000000, \
157: 0x00000000, \
158: 0x00000000, \
159: 0x00000000, \
160: 0x00000000, \
161: 0x00000000, \
162: 0x00000000, \
163: 0x00000000, \
164: 0x00000000, \
165: 0x00000000, \
166: 0x00000000, \
167: 0x00000000, \
168: 0x00000000, \
169: 0x00000000, \
170: 0x00000000, \
171: 0x00000000, \
172: 0x0010009C, \
173: 0x0024B83E, \
174: 0x00130826, \
175: 0x000C0001, \
176: 0x0026083B, \
177: 0x00010200, \
178: 0x00134824, \
179: 0x000C0001, \
180: 0x00101213, \
181: 0x00041000, \
182: 0x0038051E, \
183: 0x00101313, \
184: 0x00010400, \
185: 0x00380521, \
186: 0x00050600, \
187: 0x00100824, \
188: 0x00101310, \
189: 0x00041000, \
190: 0x00080600, \
191: 0x00101B10, \
192: 0x0038051E, \
193: 0x00000000, \
194: 0x00000000, \
195: 0x00000000, \
196: 0x00000000, \
197: 0x00000000, \
198: 0x00000000, \
199: 0x00000000, \
200: 0x00000000, \
201: 0x00000000, \
202: 0x00000000, \
203: 0x00000000, \
204: 0x00000000, \
205: 0x00000000, \
206: 0x00000000, \
207: 0x00000000, \
208: 0x00000000, \
209: 0x00000000, \
210: 0x00000000, \
211: 0x00000000, \
212: 0x00000000, \
213: 0x00000000, \
214: 0x00000000, \
215: 0x00000000, \
216: 0x00000000, \
217: 0x00000000, \
218: 0x00000000, \
219: 0x00000000, \
220: }
221:
222:
223: /********************************************************/
224: /* CPUSaver micro code for the D101B */
225: /********************************************************/
226:
227: /* Version 2.0 */
228:
229: #define D101_B0_RCVBUNDLE_UCODE \
230: {\
231: 0x03B401BC, \
232: 0x0047FFFF, \
233: 0xFFFFFFFF, \
234: 0x051EFFFF, \
235: 0xFFFFFFFF, \
236: 0xFFFFFFFF, \
237: 0x000C0001, \
238: 0x00101B92, \
239: 0x000C0008, \
240: 0x003801BD, \
241: 0x00000000, \
242: 0x00124818, \
243: 0x000C1000, \
244: 0x00220809, \
245: 0x00010200, \
246: 0x00124818, \
247: 0x000CFFFC, \
248: 0x003803B6, \
249: 0x00000000, \
250: 0x00000000, \
251: 0x00000000, \
252: 0x00000000, \
253: 0x0010009C, \
254: 0x0024B81D, \
255: 0x0013082F, \
256: 0x000C0001, \
257: 0x0026081C, \
258: 0x0020C81B, \
259: 0x00130837, \
260: 0x00222819, \
261: 0x00101B93, \
262: 0x00041000, \
263: 0x003A03B4, \
264: 0x00010200, \
265: 0x00101793, \
266: 0x00238082, \
267: 0x0021304A, \
268: 0x0038003C, \
269: 0x00000000, \
270: 0x00000000, \
271: 0x00000000, \
272: 0x00000000, \
273: 0x00000000, \
274: 0x00000000, \
275: 0x00000000, \
276: 0x00000000, \
277: 0x00000000, \
278: 0x00000000, \
279: 0x00000000, \
280: 0x00000000, \
281: 0x00000000, \
282: 0x00000000, \
283: 0x00000000, \
284: 0x00000000, \
285: 0x0010009C, \
286: 0x0024B83E, \
287: 0x00130826, \
288: 0x000C0001, \
289: 0x0026083B, \
290: 0x00010200, \
291: 0x00134837, \
292: 0x000C0001, \
293: 0x00101B93, \
294: 0x00041000, \
295: 0x0038051F, \
296: 0x00101313, \
297: 0x00010400, \
298: 0x00380522, \
299: 0x00050600, \
300: 0x00100837, \
301: 0x00101310, \
302: 0x00041000, \
303: 0x00080600, \
304: 0x00101790, \
305: 0x0038051F, \
306: 0x00000000, \
307: 0x00000000, \
308: 0x00000000, \
309: 0x00000000, \
310: 0x00000000, \
311: 0x00000000, \
312: 0x00000000, \
313: 0x00000000, \
314: 0x00000000, \
315: 0x00000000, \
316: 0x00000000, \
317: 0x00000000, \
318: 0x00000000, \
319: 0x00000000, \
320: 0x00000000, \
321: 0x00000000, \
322: 0x00000000, \
323: 0x00000000, \
324: 0x00000000, \
325: 0x00000000, \
326: 0x00000000, \
327: 0x00000000, \
328: 0x00000000, \
329: 0x00000000, \
330: 0x00000000, \
331: 0x00000000, \
332: 0x00000000, \
333: }
334:
335:
336: /********************************************************/
337: /* CPUSaver micro code for the D101M (B-step only) */
338: /********************************************************/
339:
340: /* Version 2.10 */
341:
342: /* Parameter values for the D101M B-step */
343: #define D101M_CPUSAVER_DWORD 78
344: #define D101M_CPUSAVER_BUNDLE_MAX_DWORD 65
345: #define D101M_CPUSAVER_MIN_SIZE_DWORD 126
346:
347:
348: #define D101M_B_RCVBUNDLE_UCODE \
349: {\
350: 0x00550215, \
351: 0xFFFF0437, \
352: 0xFFFFFFFF, \
353: 0x06A70789, \
354: 0xFFFFFFFF, \
355: 0x0558FFFF, \
356: 0x000C0001, \
357: 0x00101312, \
358: 0x000C0008, \
359: 0x00380216, \
360: 0x0010009C, \
361: 0x00204056, \
362: 0x002380CC, \
363: 0x00380056, \
364: 0x0010009C, \
365: 0x00244C0B, \
366: 0x00000800, \
367: 0x00124818, \
368: 0x00380438, \
369: 0x00000000, \
370: 0x00140000, \
371: 0x00380555, \
372: 0x00308000, \
373: 0x00100662, \
374: 0x00100561, \
375: 0x000E0408, \
376: 0x00134861, \
377: 0x000C0002, \
378: 0x00103093, \
379: 0x00308000, \
380: 0x00100624, \
381: 0x00100561, \
382: 0x000E0408, \
383: 0x00100861, \
384: 0x000C007E, \
385: 0x00222C21, \
386: 0x000C0002, \
387: 0x00103093, \
388: 0x00380C7A, \
389: 0x00080000, \
390: 0x00103090, \
391: 0x00380C7A, \
392: 0x00000000, \
393: 0x00000000, \
394: 0x00000000, \
395: 0x00000000, \
396: 0x0010009C, \
397: 0x00244C2D, \
398: 0x00010004, \
399: 0x00041000, \
400: 0x003A0437, \
401: 0x00044010, \
402: 0x0038078A, \
403: 0x00000000, \
404: 0x00100099, \
405: 0x00206C7A, \
406: 0x0010009C, \
407: 0x00244C48, \
408: 0x00130824, \
409: 0x000C0001, \
410: 0x00101213, \
411: 0x00260C75, \
412: 0x00041000, \
413: 0x00010004, \
414: 0x00130826, \
415: 0x000C0006, \
416: 0x002206A8, \
417: 0x0013C926, \
418: 0x00101313, \
419: 0x003806A8, \
420: 0x00000000, \
421: 0x00000000, \
422: 0x00000000, \
423: 0x00000000, \
424: 0x00000000, \
425: 0x00000000, \
426: 0x00000000, \
427: 0x00000000, \
428: 0x00080600, \
429: 0x00101B10, \
430: 0x00050004, \
431: 0x00100826, \
432: 0x00101210, \
433: 0x00380C34, \
434: 0x00000000, \
435: 0x00000000, \
436: 0x0021155B, \
437: 0x00100099, \
438: 0x00206559, \
439: 0x0010009C, \
440: 0x00244559, \
441: 0x00130836, \
442: 0x000C0000, \
443: 0x00220C62, \
444: 0x000C0001, \
445: 0x00101B13, \
446: 0x00229C0E, \
447: 0x00210C0E, \
448: 0x00226C0E, \
449: 0x00216C0E, \
450: 0x0022FC0E, \
451: 0x00215C0E, \
452: 0x00214C0E, \
453: 0x00380555, \
454: 0x00010004, \
455: 0x00041000, \
456: 0x00278C67, \
457: 0x00040800, \
458: 0x00018100, \
459: 0x003A0437, \
460: 0x00130826, \
461: 0x000C0001, \
462: 0x00220559, \
463: 0x00101313, \
464: 0x00380559, \
465: 0x00000000, \
466: 0x00000000, \
467: 0x00000000, \
468: 0x00000000, \
469: 0x00000000, \
470: 0x00000000, \
471: 0x00000000, \
472: 0x00000000, \
473: 0x00130831, \
474: 0x0010090B, \
475: 0x00124813, \
476: 0x000CFF80, \
477: 0x002606AB, \
478: 0x00041000, \
479: 0x003806A8, \
480: 0x00000000, \
481: 0x00000000, \
482: 0x00000000, \
483: 0x00000000, \
484: }
485:
486:
487: /********************************************************/
488: /* CPUSaver micro code for the D101S */
489: /********************************************************/
490:
491: /* Version 1.20 */
492:
493: /* Parameter values for the D101S */
494: #define D101S_CPUSAVER_DWORD 78
495: #define D101S_CPUSAVER_BUNDLE_MAX_DWORD 67
496: #define D101S_CPUSAVER_MIN_SIZE_DWORD 129
497:
498:
499: #define D101S_RCVBUNDLE_UCODE \
500: {\
501: 0x00550242, \
502: 0xFFFF047E, \
503: 0xFFFFFFFF, \
504: 0x06FF0818, \
505: 0xFFFFFFFF, \
506: 0x05A6FFFF, \
507: 0x000C0001, \
508: 0x00101312, \
509: 0x000C0008, \
510: 0x00380243, \
511: 0x0010009C, \
512: 0x00204056, \
513: 0x002380D0, \
514: 0x00380056, \
515: 0x0010009C, \
516: 0x00244F8B, \
517: 0x00000800, \
518: 0x00124818, \
519: 0x0038047F, \
520: 0x00000000, \
521: 0x00140000, \
522: 0x003805A3, \
523: 0x00308000, \
524: 0x00100610, \
525: 0x00100561, \
526: 0x000E0408, \
527: 0x00134861, \
528: 0x000C0002, \
529: 0x00103093, \
530: 0x00308000, \
531: 0x00100624, \
532: 0x00100561, \
533: 0x000E0408, \
534: 0x00100861, \
535: 0x000C007E, \
536: 0x00222FA1, \
537: 0x000C0002, \
538: 0x00103093, \
539: 0x00380F90, \
540: 0x00080000, \
541: 0x00103090, \
542: 0x00380F90, \
543: 0x00000000, \
544: 0x00000000, \
545: 0x00000000, \
546: 0x00000000, \
547: 0x0010009C, \
548: 0x00244FAD, \
549: 0x00010004, \
550: 0x00041000, \
551: 0x003A047E, \
552: 0x00044010, \
553: 0x00380819, \
554: 0x00000000, \
555: 0x00100099, \
556: 0x00206FFD, \
557: 0x0010009A, \
558: 0x0020AFFD, \
559: 0x0010009C, \
560: 0x00244FC8, \
561: 0x00130824, \
562: 0x000C0001, \
563: 0x00101213, \
564: 0x00260FF8, \
565: 0x00041000, \
566: 0x00010004, \
567: 0x00130826, \
568: 0x000C0006, \
569: 0x00220700, \
570: 0x0013C926, \
571: 0x00101313, \
572: 0x00380700, \
573: 0x00000000, \
574: 0x00000000, \
575: 0x00000000, \
576: 0x00000000, \
577: 0x00000000, \
578: 0x00000000, \
579: 0x00080600, \
580: 0x00101B10, \
581: 0x00050004, \
582: 0x00100826, \
583: 0x00101210, \
584: 0x00380FB6, \
585: 0x00000000, \
586: 0x00000000, \
587: 0x002115A9, \
588: 0x00100099, \
589: 0x002065A7, \
590: 0x0010009A, \
591: 0x0020A5A7, \
592: 0x0010009C, \
593: 0x002445A7, \
594: 0x00130836, \
595: 0x000C0000, \
596: 0x00220FE4, \
597: 0x000C0001, \
598: 0x00101B13, \
599: 0x00229F8E, \
600: 0x00210F8E, \
601: 0x00226F8E, \
602: 0x00216F8E, \
603: 0x0022FF8E, \
604: 0x00215F8E, \
605: 0x00214F8E, \
606: 0x003805A3, \
607: 0x00010004, \
608: 0x00041000, \
609: 0x00278FE9, \
610: 0x00040800, \
611: 0x00018100, \
612: 0x003A047E, \
613: 0x00130826, \
614: 0x000C0001, \
615: 0x002205A7, \
616: 0x00101313, \
617: 0x003805A7, \
618: 0x00000000, \
619: 0x00000000, \
620: 0x00000000, \
621: 0x00000000, \
622: 0x00000000, \
623: 0x00000000, \
624: 0x00000000, \
625: 0x00000000, \
626: 0x00000000, \
627: 0x00130831, \
628: 0x0010090B, \
629: 0x00124813, \
630: 0x000CFF80, \
631: 0x00260703, \
632: 0x00041000, \
633: 0x00380700, \
634: 0x00000000, \
635: }
636:
637:
638: /********************************************************/
639: /* CPUSaver micro code for the D102 B-step */
640: /********************************************************/
641:
642: /* Version 2.0 */
643:
644: /*
645: This version of CPUSaver is different from all others in
646: a different way. It combines the CPUSaver algorithm with
647: fixes for bugs in the B-step hardware (specifically, bugs
648: with Inline Receive).
649: Thus, when CPUSaver is disabled, this micro code image will
650: still need to be loaded. Before this happens, the hit addresses
651: for the CPUSaver algorithm must be set to 0x1FFFF. The hit
652: addresses for CPUSaver are (starting with 0, and remember that
653:
654: */
655:
656: /* Parameter values for the D102 B-step */
657: #define D102_B_CPUSAVER_DWORD 91
658: #define D102_B_CPUSAVER_BUNDLE_MAX_DWORD 115
659: #define D102_B_CPUSAVER_MIN_SIZE_DWORD 70
660:
661:
662: #define D102_B_RCVBUNDLE_UCODE \
663: {\
664: 0x006F0276, \
665: 0x02BF0E93, \
666: 0x1FFF0ED9, \
667: 0x0D2508FA, \
668: 0x04D21FFF, \
669: 0x0EA10892, \
670: 0x00300001, \
671: 0x0140D871, \
672: 0x00300008, \
673: 0x00E00277, \
674: 0x01406C57, \
675: 0x00816073, \
676: 0x008700FA, \
677: 0x00E00070, \
678: 0x00E00E94, \
679: 0x00200004, \
680: 0x01410000, \
681: 0x014B6F6F, \
682: 0x0030FFFF, \
683: 0x01486F72, \
684: 0x00E81F9B, \
685: 0x00E00EA3, \
686: 0x003C0040, \
687: 0x00380920, \
688: 0x00C02000, \
689: 0x0150ED38, \
690: 0x0150EE39, \
691: 0x0150EF3A, \
692: 0x003C0040, \
693: 0x01506F0D, \
694: 0x01600E72, \
695: 0x00380AE0, \
696: 0x00E002C0, \
697: 0x00300001, \
698: 0x014C0000, \
699: 0x008404DC, \
700: 0x014C6F72, \
701: 0x00E01F9D, \
702: 0x01406C51, \
703: 0x0080DFC2, \
704: 0x01406C52, \
705: 0x00815FC2, \
706: 0x01406C57, \
707: 0x00917FD5, \
708: 0x00E01FE6, \
709: 0x00000000, \
710: 0x01406C57, \
711: 0x00919FAD, \
712: 0x00038800, \
713: 0x00300000, \
714: 0x00E81FF2, \
715: 0x014D6FC4, \
716: 0x00E008FB, \
717: 0x00000000, \
718: 0x00822D30, \
719: 0x01406C51, \
720: 0x0080CD26, \
721: 0x01406C52, \
722: 0x00814D26, \
723: 0x01406C57, \
724: 0x00916D26, \
725: 0x014C6FD7, \
726: 0x00300000, \
727: 0x00841FDB, \
728: 0x00300001, \
729: 0x0140D772, \
730: 0x00E012B3, \
731: 0x014C6F91, \
732: 0x0150710B, \
733: 0x01496F72, \
734: 0x0030FF80, \
735: 0x00940EDD, \
736: 0x00102000, \
737: 0x00E00EDA, \
738: 0x01406C57, \
739: 0x00917FFD, \
740: 0x00001000, \
741: 0x00E01FFD, \
742: 0x00138800, \
743: 0x00300001, \
744: 0x00E81FF2, \
745: 0x00202500, \
746: 0x00E81F9B, \
747: 0x01600EC5, \
748: 0x00E00893, \
749: 0x00000000, \
750: 0x01406CD5, \
751: 0x0091EEA3, \
752: 0x00904EA3, \
753: 0x00901F89, \
754: 0x00E00EA3, \
755: 0x00200600, \
756: 0x0140D76F, \
757: 0x00138400, \
758: 0x01406FD8, \
759: 0x0140D96F, \
760: 0x00E01FE6, \
761: 0x00038400, \
762: 0x00102000, \
763: 0x00971FE0, \
764: 0x00101000, \
765: 0x00050200, \
766: 0x00E804D2, \
767: 0x014C6FD8, \
768: 0x00300001, \
769: 0x00840D26, \
770: 0x0140D872, \
771: 0x00E00D26, \
772: 0x014C6FD9, \
773: 0x00300001, \
774: 0x0140D972, \
775: 0x00941FBD, \
776: 0x00102000, \
777: 0x00038400, \
778: 0x014C6FD8, \
779: 0x00300006, \
780: 0x00840EDA, \
781: 0x014F71D8, \
782: 0x0140D872, \
783: 0x00E00EDA, \
784: 0x00340020, \
785: 0x014C6FED, \
786: 0x01603472, \
787: 0x016035EE, \
788: 0x016036EF, \
789: 0x00300004, \
790: 0x01611C71, \
791: 0x00300014, \
792: 0x00200A00, \
793: 0x00E810B9, \
794: 0x00600000, \
795: 0x01496F50, \
796: 0x00E004D3, \
797: 0x00000000, \
798: }
799:
800:
801:
802:
803: /********************************************************/
804: /* TCO micro code for the D102 B-step */
805: /********************************************************/
806:
807: /* Version 2.0 */
808:
809: /*
810: This version is a fix to TCO bug. This version can be loaded instead
811: the CPUSaver version by modifing the registry key "LoadTcoUCodeInsteadOfCpuSaver"
812:
813: */
814:
815:
816: #define D102_B_TCO_UCODE \
817: {\
818: 0x1FFF0ED3, \
819: 0x02BF0E93, \
820: 0x1FFF1FFF, \
821: 0x1FFF08FA, \
822: 0x1FFF1FFF, \
823: 0x0EA10892, \
824: 0x00906ED8, \
825: 0x01406C55, \
826: 0x00E00ED4, \
827: 0x00000000, \
828: 0x00000000, \
829: 0x00000000, \
830: 0x00000000, \
831: 0x00000000, \
832: 0x00E00E94, \
833: 0x00200004, \
834: 0x01410000, \
835: 0x014B6F6F, \
836: 0x0030FFFF, \
837: 0x01486F72, \
838: 0x00E81F9B, \
839: 0x00E00EA3, \
840: 0x003C0040, \
841: 0x00380920, \
842: 0x00C02000, \
843: 0x0150ED38, \
844: 0x0150EE39, \
845: 0x0150EF3A, \
846: 0x003C0040, \
847: 0x01506F0D, \
848: 0x01600E72, \
849: 0x00380AE0, \
850: 0x00E002C0, \
851: 0x00300001, \
852: 0x014C0000, \
853: 0x008404DC, \
854: 0x014C6F72, \
855: 0x00E01F9D, \
856: 0x00000000, \
857: 0x00000000, \
858: 0x00000000, \
859: 0x00000000, \
860: 0x00000000, \
861: 0x00000000, \
862: 0x00000000, \
863: 0x00000000, \
864: 0x01406C57, \
865: 0x00919FAD, \
866: 0x00038800, \
867: 0x00300000, \
868: 0x00E81FD5, \
869: 0x014D6FC4, \
870: 0x00E008FB, \
871: 0x00000000, \
872: 0x00000000, \
873: 0x00000000, \
874: 0x00000000, \
875: 0x00000000, \
876: 0x00000000, \
877: 0x00000000, \
878: 0x00000000, \
879: 0x00000000, \
880: 0x00000000, \
881: 0x00000000, \
882: 0x00000000, \
883: 0x00000000, \
884: 0x00000000, \
885: 0x00000000, \
886: 0x00000000, \
887: 0x00000000, \
888: 0x00000000, \
889: 0x00000000, \
890: 0x00000000, \
891: 0x00000000, \
892: 0x00000000, \
893: 0x00000000, \
894: 0x00000000, \
895: 0x00000000, \
896: 0x00138800, \
897: 0x00300001, \
898: 0x00E81FD5, \
899: 0x00202500, \
900: 0x00E81F9B, \
901: 0x01600EC5, \
902: 0x00E00893, \
903: 0x00000000, \
904: 0x01406CD5, \
905: 0x0091EEA3, \
906: 0x00904EA3, \
907: 0x00901F89, \
908: 0x00E00EA3, \
909: 0x00340020, \
910: 0x014C6FED, \
911: 0x01603472, \
912: 0x016035EE, \
913: 0x016036EF, \
914: 0x00300004, \
915: 0x01611C71, \
916: 0x00300014, \
917: 0x00200A00, \
918: 0x00E810B9, \
919: 0x00600000, \
920: 0x00000000, \
921: 0x00000000, \
922: 0x00000000, \
923: 0x00000000, \
924: 0x00000000, \
925: 0x00000000, \
926: 0x00000000, \
927: 0x00000000, \
928: 0x00000000, \
929: 0x00000000, \
930: 0x00000000, \
931: 0x00000000, \
932: 0x00000000, \
933: 0x00000000, \
934: 0x00000000, \
935: 0x00000000, \
936: 0x00000000, \
937: 0x00000000, \
938: 0x00000000, \
939: 0x00000000, \
940: 0x00000000, \
941: 0x00000000, \
942: 0x00000000, \
943: 0x00000000, \
944: 0x00000000, \
945: 0x00000000, \
946: 0x00000000, \
947: 0x00000000, \
948: 0x00000000, \
949: 0x00000000, \
950: 0x00000000, \
951: 0x00000000, \
952: }
953:
954:
955:
956: /********************************************************/
957: /* Micro code for the D102 C-step */
958: /********************************************************/
959:
960: /* Parameter values for the D102 C-step */
961: #define D102_C_CPUSAVER_DWORD 46
962: #define D102_C_CPUSAVER_BUNDLE_MAX_DWORD 54
963: #define D102_C_CPUSAVER_MIN_SIZE_DWORD 133 /* not implemented */
964:
965:
966:
967:
968:
969: #if 0
970: // this uCode include the CPU Saver and the TCO work around
971: //for IP fregments.
972: #endif
973: #define D102_C_RCVBUNDLE_UCODE \
974: { \
975: 0x00700279, \
976: 0x0E6104E2, \
977: 0x02BF0CAE, \
978: 0x1519150C, \
979: 0x1FFF0E5B, \
980: 0x1FFF1FFF, \
981: 0x00E014D8, \
982: 0x00000000, \
983: 0x00000000, \
984: 0x00000000, \
985: 0x00E014DC, \
986: 0x00000000, \
987: 0x00000000, \
988: 0x00000000, \
989: 0x00E014F4, \
990: 0x00000000, \
991: 0x00000000, \
992: 0x00000000, \
993: 0x00000000, \
994: 0x00000000, \
995: 0x00000000, \
996: 0x00000000, \
997: 0x00E014E0, \
998: 0x00000000, \
999: 0x00000000, \
1000: 0x00000000, \
1001: 0x00000000, \
1002: 0x00000000, \
1003: 0x00000000, \
1004: 0x00000000, \
1005: 0x00000000, \
1006: 0x00000000, \
1007: 0x00000000, \
1008: 0x00000000, \
1009: 0x00000000, \
1010: 0x00000000, \
1011: 0x00000000, \
1012: 0x00000000, \
1013: 0x00E014E7, \
1014: 0x00000000, \
1015: 0x00000000, \
1016: 0x00000000, \
1017: 0x00141000, \
1018: 0x015D6F0D, \
1019: 0x00E002C0, \
1020: 0x00000000, \
1021: 0x00200600, \
1022: 0x00E0150D, \
1023: 0x00000000, \
1024: 0x00000000, \
1025: 0x00000000, \
1026: 0x00000000, \
1027: 0x00000000, \
1028: 0x00000000, \
1029: 0x00300006, \
1030: 0x00E0151A, \
1031: 0x00000000, \
1032: 0x00000000, \
1033: 0x00000000, \
1034: 0x00000000, \
1035: 0x00000000, \
1036: 0x00000000, \
1037: 0x00000000, \
1038: 0x00000000, \
1039: 0x00000000, \
1040: 0x00000000, \
1041: 0x00000000, \
1042: 0x00000000, \
1043: 0x00000000, \
1044: 0x00000000, \
1045: 0x00906E65, \
1046: 0x00800E60, \
1047: 0x00E00E5D, \
1048: 0x00000000, \
1049: 0x00000000, \
1050: 0x00000000, \
1051: 0x00000000, \
1052: 0x00000000, \
1053: 0x00000000, \
1054: 0x00000000, \
1055: 0x00000000, \
1056: 0x00000000, \
1057: 0x00000000, \
1058: 0x00000000, \
1059: 0x00000000, \
1060: 0x00000000, \
1061: 0x00000000, \
1062: 0x00000000, \
1063: 0x00000000, \
1064: 0x00000000, \
1065: 0x00000000, \
1066: 0x00000000, \
1067: 0x00000000, \
1068: 0x00000000, \
1069: 0x00000000, \
1070: 0x00000000, \
1071: 0x00000000, \
1072: 0x00000000, \
1073: 0x00000000, \
1074: 0x00000000, \
1075: 0x00000000, \
1076: 0x00000000, \
1077: 0x00000000, \
1078: 0x00000000, \
1079: 0x00000000, \
1080: 0x00000000, \
1081: 0x00000000, \
1082: 0x00000000, \
1083: 0x00000000, \
1084: 0x00000000, \
1085: 0x00000000, \
1086: 0x00000000, \
1087: 0x00000000, \
1088: 0x00000000, \
1089: 0x00000000, \
1090: 0x00000000, \
1091: 0x00000000, \
1092: 0x00000000, \
1093: 0x00000000, \
1094: 0x00000000, \
1095: 0x00000000, \
1096: 0x00000000, \
1097: 0x00000000, \
1098: 0x00000000, \
1099: 0x00000000, \
1100: 0x00000000, \
1101: 0x00000000, \
1102: 0x00000000, \
1103: 0x00000000, \
1104: 0x00000000, \
1105: 0x00000000, \
1106: 0x00000000, \
1107: 0x00000000, \
1108: 0x00000000, \
1109: }
1110:
1111: /********************************************************/
1112: /* Micro code for the D102 E-step */
1113: /********************************************************/
1114:
1115: /* Parameter values for the D102 E-step */
1116: #define D102_E_CPUSAVER_DWORD 42
1117: #define D102_E_CPUSAVER_BUNDLE_MAX_DWORD 54
1118: #define D102_E_CPUSAVER_MIN_SIZE_DWORD 46
1119:
1120: #define D102_E_RCVBUNDLE_UCODE \
1121: {\
1122: 0x007D028F, \
1123: 0x0E4204F9, \
1124: 0x14ED0C85, \
1125: 0x14FA14E9, \
1126: 0x0EF70E36, \
1127: 0x1FFF1FFF, \
1128: 0x00E014B9, \
1129: 0x00000000, \
1130: 0x00000000, \
1131: 0x00000000, \
1132: 0x00E014BD, \
1133: 0x00000000, \
1134: 0x00000000, \
1135: 0x00000000, \
1136: 0x00E014D5, \
1137: 0x00000000, \
1138: 0x00000000, \
1139: 0x00000000, \
1140: 0x00000000, \
1141: 0x00000000, \
1142: 0x00000000, \
1143: 0x00000000, \
1144: 0x00E014C1, \
1145: 0x00000000, \
1146: 0x00000000, \
1147: 0x00000000, \
1148: 0x00000000, \
1149: 0x00000000, \
1150: 0x00000000, \
1151: 0x00000000, \
1152: 0x00000000, \
1153: 0x00000000, \
1154: 0x00000000, \
1155: 0x00000000, \
1156: 0x00000000, \
1157: 0x00000000, \
1158: 0x00000000, \
1159: 0x00000000, \
1160: 0x00E014C8, \
1161: 0x00000000, \
1162: 0x00000000, \
1163: 0x00000000, \
1164: 0x00200600, \
1165: 0x00E014EE, \
1166: 0x00000000, \
1167: 0x00000000, \
1168: 0x0030FF80, \
1169: 0x00940E46, \
1170: 0x00038200, \
1171: 0x00102000, \
1172: 0x00E00E43, \
1173: 0x00000000, \
1174: 0x00000000, \
1175: 0x00000000, \
1176: 0x00300006, \
1177: 0x00E014FB, \
1178: 0x00000000, \
1179: 0x00000000, \
1180: 0x00000000, \
1181: 0x00000000, \
1182: 0x00000000, \
1183: 0x00000000, \
1184: 0x00000000, \
1185: 0x00000000, \
1186: 0x00000000, \
1187: 0x00000000, \
1188: 0x00000000, \
1189: 0x00000000, \
1190: 0x00000000, \
1191: 0x00000000, \
1192: 0x00906E41, \
1193: 0x00800E3C, \
1194: 0x00E00E39, \
1195: 0x00000000, \
1196: 0x00906EFD, \
1197: 0x00900EFD, \
1198: 0x00E00EF8, \
1199: 0x00000000, \
1200: 0x00000000, \
1201: 0x00000000, \
1202: 0x00000000, \
1203: 0x00000000, \
1204: 0x00000000, \
1205: 0x00000000, \
1206: 0x00000000, \
1207: 0x00000000, \
1208: 0x00000000, \
1209: 0x00000000, \
1210: 0x00000000, \
1211: 0x00000000, \
1212: 0x00000000, \
1213: 0x00000000, \
1214: 0x00000000, \
1215: 0x00000000, \
1216: 0x00000000, \
1217: 0x00000000, \
1218: 0x00000000, \
1219: 0x00000000, \
1220: 0x00000000, \
1221: 0x00000000, \
1222: 0x00000000, \
1223: 0x00000000, \
1224: 0x00000000, \
1225: 0x00000000, \
1226: 0x00000000, \
1227: 0x00000000, \
1228: 0x00000000, \
1229: 0x00000000, \
1230: 0x00000000, \
1231: 0x00000000, \
1232: 0x00000000, \
1233: 0x00000000, \
1234: 0x00000000, \
1235: 0x00000000, \
1236: 0x00000000, \
1237: 0x00000000, \
1238: 0x00000000, \
1239: 0x00000000, \
1240: 0x00000000, \
1241: 0x00000000, \
1242: 0x00000000, \
1243: 0x00000000, \
1244: 0x00000000, \
1245: 0x00000000, \
1246: 0x00000000, \
1247: 0x00000000, \
1248: 0x00000000, \
1249: 0x00000000, \
1250: 0x00000000, \
1251: 0x00000000, \
1252: 0x00000000, \
1253: 0x00000000, \
1254: 0x00000000, \
1255: 0x00000000, \
1256: }
CVSweb