[BACK]Return to rcvbundl.h CVS log [TXT][DIR] Up to [local] / sys / dev / microcode / fxp

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