186d7f5d3SJohn Marino /* 286d7f5d3SJohn Marino Copyright (c) 1999-2001, Intel Corporation 386d7f5d3SJohn Marino 486d7f5d3SJohn Marino All rights reserved. 586d7f5d3SJohn Marino 686d7f5d3SJohn Marino Redistribution and use in source and binary forms, with or without 786d7f5d3SJohn Marino modification, are permitted provided that the following conditions are met: 886d7f5d3SJohn Marino 986d7f5d3SJohn Marino 1. Redistributions of source code must retain the above copyright notice, 1086d7f5d3SJohn Marino this list of conditions and the following disclaimer. 1186d7f5d3SJohn Marino 1286d7f5d3SJohn Marino 2. Redistributions in binary form must reproduce the above copyright notice, 1386d7f5d3SJohn Marino this list of conditions and the following disclaimer in the documentation 1486d7f5d3SJohn Marino and/or other materials provided with the distribution. 1586d7f5d3SJohn Marino 1686d7f5d3SJohn Marino 3. Neither the name of Intel Corporation nor the names of its contributors 1786d7f5d3SJohn Marino may be used to endorse or promote products derived from this software 1886d7f5d3SJohn Marino without specific prior written permission. 1986d7f5d3SJohn Marino 2086d7f5d3SJohn Marino THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' 2186d7f5d3SJohn Marino AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2286d7f5d3SJohn Marino IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2386d7f5d3SJohn Marino DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 2486d7f5d3SJohn Marino INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2586d7f5d3SJohn Marino LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 2686d7f5d3SJohn Marino PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 2786d7f5d3SJohn Marino LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 2886d7f5d3SJohn Marino NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 2986d7f5d3SJohn Marino EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3086d7f5d3SJohn Marino */ 3186d7f5d3SJohn Marino /* 3286d7f5d3SJohn Marino * $FreeBSD: src/sys/dev/fxp/rcvbundl.h,v 1.1.2.1 2001/11/02 16:50:42 jlemon Exp $ 3386d7f5d3SJohn Marino * $DragonFly: src/sys/dev/netif/fxp/rcvbundl.h,v 1.2 2003/06/17 04:28:26 dillon Exp $ 3486d7f5d3SJohn Marino */ 3586d7f5d3SJohn Marino /* 3686d7f5d3SJohn Marino rcvbundl.h 3786d7f5d3SJohn Marino 3886d7f5d3SJohn Marino Author: Patrick J Luhmann (PJL) 3986d7f5d3SJohn Marino Date: 05/30/2000 4086d7f5d3SJohn Marino Version: 3.28 4186d7f5d3SJohn Marino 4286d7f5d3SJohn Marino This file contains the loadable micro code arrays to implement receive bundling on the 4386d7f5d3SJohn Marino D101 A-step, D101 B-step, D101M (B-step only), D101S, D102 B-step, 4486d7f5d3SJohn Marino D102 B-step with TCO work around and D012 C-step. 4586d7f5d3SJohn Marino 4686d7f5d3SJohn Marino Each controller has its own specific micro code array. The array for one controller 4786d7f5d3SJohn Marino is totally incompatible with any other controller, and if used will most likely 4886d7f5d3SJohn Marino cause the controller to lock up and stop responding to the driver. Each micro 4986d7f5d3SJohn Marino code array has its own parameter offsets (described below), and they each have 5086d7f5d3SJohn Marino their own version number (which should not be confused with the version of the 5186d7f5d3SJohn Marino rcvbundl.h file given above). 5286d7f5d3SJohn Marino 5386d7f5d3SJohn Marino */ 5486d7f5d3SJohn Marino 5586d7f5d3SJohn Marino /* Size of loadable micro code image for each supported chip. */ 5686d7f5d3SJohn Marino #ifndef D100_NUM_MICROCODE_DWORDS 5786d7f5d3SJohn Marino #define D100_NUM_MICROCODE_DWORDS 66 5886d7f5d3SJohn Marino #endif 5986d7f5d3SJohn Marino #ifndef D101_NUM_MICROCODE_DWORDS 6086d7f5d3SJohn Marino #define D101_NUM_MICROCODE_DWORDS 102 6186d7f5d3SJohn Marino #endif 6286d7f5d3SJohn Marino #ifndef D101M_NUM_MICROCODE_DWORDS 6386d7f5d3SJohn Marino #define D101M_NUM_MICROCODE_DWORDS 134 6486d7f5d3SJohn Marino #endif 6586d7f5d3SJohn Marino #ifndef D101S_NUM_MICROCODE_DWORDS 6686d7f5d3SJohn Marino #define D101S_NUM_MICROCODE_DWORDS 134 6786d7f5d3SJohn Marino #endif 6886d7f5d3SJohn Marino #ifndef D102_NUM_MICROCODE_DWORDS 6986d7f5d3SJohn Marino #define D102_NUM_MICROCODE_DWORDS 134 7086d7f5d3SJohn Marino #endif 7186d7f5d3SJohn Marino #ifndef D102_NUM_TCO_MICROCODE_DWORDS 7286d7f5d3SJohn Marino #define D102_NUM_TCO_MICROCODE_DWORDS 134 7386d7f5d3SJohn Marino #endif 7486d7f5d3SJohn Marino 7586d7f5d3SJohn Marino 7686d7f5d3SJohn Marino /************************************************************************* 7786d7f5d3SJohn Marino * CPUSaver parameters 7886d7f5d3SJohn Marino * 7986d7f5d3SJohn Marino * All CPUSaver parameters are 16-bit literals that are part of a 8086d7f5d3SJohn Marino * "move immediate value" instruction. By changing the value of 8186d7f5d3SJohn Marino * the literal in the instruction before the code is loaded, the 8286d7f5d3SJohn Marino * driver can change algorithm. 8386d7f5d3SJohn Marino * 8486d7f5d3SJohn Marino * CPUSAVER_DWORD - This is the location of the instruction that loads 8586d7f5d3SJohn Marino * the dead-man timer with its inital value. By writing a 16-bit 8686d7f5d3SJohn Marino * value to the low word of this instruction, the driver can change 8786d7f5d3SJohn Marino * the timer value. The current default is either x600 or x800; 8886d7f5d3SJohn Marino * experiments show that the value probably should stay within the 8986d7f5d3SJohn Marino * range of x200 - x1000. 9086d7f5d3SJohn Marino * 9186d7f5d3SJohn Marino * CPUSAVER_BUNDLE_MAX_DWORD - This is the location of the instruction 9286d7f5d3SJohn Marino * that sets the maximum number of frames that will be bundled. In 9386d7f5d3SJohn Marino * some situations, such as the TCP windowing algorithm, it may be 9486d7f5d3SJohn Marino * better to limit the growth of the bundle size than let it go as 9586d7f5d3SJohn Marino * high as it can, because that could cause too much added latency. 9686d7f5d3SJohn Marino * The default is six, because this is the number of packets in the 9786d7f5d3SJohn Marino * default TCP window size. A value of 1 would make CPUSaver indicate 9886d7f5d3SJohn Marino * an interrupt for every frame received. If you do not want to put 9986d7f5d3SJohn Marino * a limit on the bundle size, set this value to xFFFF. 10086d7f5d3SJohn Marino * 10186d7f5d3SJohn Marino * CPUSAVER_MIN_SIZE_DWORD - This is the location of the instruction 10286d7f5d3SJohn Marino * that contains a bit-mask describing the minimum size frame that 10386d7f5d3SJohn Marino * will be bundled. The default masks the lower 7 bits, which means 10486d7f5d3SJohn Marino * that any frame less than 128 bytes in length will not be bundled, 10586d7f5d3SJohn Marino * but will instead immediately generate an interrupt. This does 10686d7f5d3SJohn Marino * not affect the current bundle in any way. Any frame that is 128 10786d7f5d3SJohn Marino * bytes or large will be bundled normally. This feature is meant 10886d7f5d3SJohn Marino * to provide immediate indication of ACK frames in a TCP environment. 10986d7f5d3SJohn Marino * Customers were seeing poor performance when a machine with CPUSaver 11086d7f5d3SJohn Marino * enabled was sending but not receiving. The delay introduced when 11186d7f5d3SJohn Marino * the ACKs were received was enough to reduce total throughput, because 11286d7f5d3SJohn Marino * the sender would sit idle until the ACK was finally seen. 11386d7f5d3SJohn Marino * 11486d7f5d3SJohn Marino * The current default is 0xFF80, which masks out the lower 7 bits. 11586d7f5d3SJohn Marino * This means that any frame which is x7F (127) bytes or smaller 11686d7f5d3SJohn Marino * will cause an immediate interrupt. Because this value must be a 11786d7f5d3SJohn Marino * bit mask, there are only a few valid values that can be used. To 11886d7f5d3SJohn Marino * turn this feature off, the driver can write the value xFFFF to the 11986d7f5d3SJohn Marino * lower word of this instruction (in the same way that the other 12086d7f5d3SJohn Marino * parameters are used). Likewise, a value of 0xF800 (2047) would 12186d7f5d3SJohn Marino * cause an interrupt to be generated for every frame, because all 12286d7f5d3SJohn Marino * standard Ethernet frames are <= 2047 bytes in length. 12386d7f5d3SJohn Marino *************************************************************************/ 12486d7f5d3SJohn Marino 12586d7f5d3SJohn Marino 12686d7f5d3SJohn Marino 12786d7f5d3SJohn Marino /********************************************************/ 12886d7f5d3SJohn Marino /* CPUSaver micro code for the D101A */ 12986d7f5d3SJohn Marino /********************************************************/ 13086d7f5d3SJohn Marino 13186d7f5d3SJohn Marino /* Version 2.0 */ 13286d7f5d3SJohn Marino 13386d7f5d3SJohn Marino /* This value is the same for both A and B step of 558. */ 13486d7f5d3SJohn Marino #define D101_CPUSAVER_DWORD 72 13586d7f5d3SJohn Marino 13686d7f5d3SJohn Marino 13786d7f5d3SJohn Marino #define D101_A_RCVBUNDLE_UCODE \ 13886d7f5d3SJohn Marino {\ 13986d7f5d3SJohn Marino 0x03B301BB, \ 14086d7f5d3SJohn Marino 0x0046FFFF, \ 14186d7f5d3SJohn Marino 0xFFFFFFFF, \ 14286d7f5d3SJohn Marino 0x051DFFFF, \ 14386d7f5d3SJohn Marino 0xFFFFFFFF, \ 14486d7f5d3SJohn Marino 0xFFFFFFFF, \ 14586d7f5d3SJohn Marino 0x000C0001, \ 14686d7f5d3SJohn Marino 0x00101212, \ 14786d7f5d3SJohn Marino 0x000C0008, \ 14886d7f5d3SJohn Marino 0x003801BC, \ 14986d7f5d3SJohn Marino 0x00000000, \ 15086d7f5d3SJohn Marino 0x00124818, \ 15186d7f5d3SJohn Marino 0x000C1000, \ 15286d7f5d3SJohn Marino 0x00220809, \ 15386d7f5d3SJohn Marino 0x00010200, \ 15486d7f5d3SJohn Marino 0x00124818, \ 15586d7f5d3SJohn Marino 0x000CFFFC, \ 15686d7f5d3SJohn Marino 0x003803B5, \ 15786d7f5d3SJohn Marino 0x00000000, \ 15886d7f5d3SJohn Marino 0x00000000, \ 15986d7f5d3SJohn Marino 0x00000000, \ 16086d7f5d3SJohn Marino 0x00000000, \ 16186d7f5d3SJohn Marino 0x0010009C, \ 16286d7f5d3SJohn Marino 0x0024B81D, \ 16386d7f5d3SJohn Marino 0x00130836, \ 16486d7f5d3SJohn Marino 0x000C0001, \ 16586d7f5d3SJohn Marino 0x0026081C, \ 16686d7f5d3SJohn Marino 0x0020C81B, \ 16786d7f5d3SJohn Marino 0x00130824, \ 16886d7f5d3SJohn Marino 0x00222819, \ 16986d7f5d3SJohn Marino 0x00101213, \ 17086d7f5d3SJohn Marino 0x00041000, \ 17186d7f5d3SJohn Marino 0x003A03B3, \ 17286d7f5d3SJohn Marino 0x00010200, \ 17386d7f5d3SJohn Marino 0x00101B13, \ 17486d7f5d3SJohn Marino 0x00238081, \ 17586d7f5d3SJohn Marino 0x00213049, \ 17686d7f5d3SJohn Marino 0x0038003B, \ 17786d7f5d3SJohn Marino 0x00000000, \ 17886d7f5d3SJohn Marino 0x00000000, \ 17986d7f5d3SJohn Marino 0x00000000, \ 18086d7f5d3SJohn Marino 0x00000000, \ 18186d7f5d3SJohn Marino 0x00000000, \ 18286d7f5d3SJohn Marino 0x00000000, \ 18386d7f5d3SJohn Marino 0x00000000, \ 18486d7f5d3SJohn Marino 0x00000000, \ 18586d7f5d3SJohn Marino 0x00000000, \ 18686d7f5d3SJohn Marino 0x00000000, \ 18786d7f5d3SJohn Marino 0x00000000, \ 18886d7f5d3SJohn Marino 0x00000000, \ 18986d7f5d3SJohn Marino 0x00000000, \ 19086d7f5d3SJohn Marino 0x00000000, \ 19186d7f5d3SJohn Marino 0x00000000, \ 19286d7f5d3SJohn Marino 0x00000000, \ 19386d7f5d3SJohn Marino 0x0010009C, \ 19486d7f5d3SJohn Marino 0x0024B83E, \ 19586d7f5d3SJohn Marino 0x00130826, \ 19686d7f5d3SJohn Marino 0x000C0001, \ 19786d7f5d3SJohn Marino 0x0026083B, \ 19886d7f5d3SJohn Marino 0x00010200, \ 19986d7f5d3SJohn Marino 0x00134824, \ 20086d7f5d3SJohn Marino 0x000C0001, \ 20186d7f5d3SJohn Marino 0x00101213, \ 20286d7f5d3SJohn Marino 0x00041000, \ 20386d7f5d3SJohn Marino 0x0038051E, \ 20486d7f5d3SJohn Marino 0x00101313, \ 20586d7f5d3SJohn Marino 0x00010400, \ 20686d7f5d3SJohn Marino 0x00380521, \ 20786d7f5d3SJohn Marino 0x00050600, \ 20886d7f5d3SJohn Marino 0x00100824, \ 20986d7f5d3SJohn Marino 0x00101310, \ 21086d7f5d3SJohn Marino 0x00041000, \ 21186d7f5d3SJohn Marino 0x00080600, \ 21286d7f5d3SJohn Marino 0x00101B10, \ 21386d7f5d3SJohn Marino 0x0038051E, \ 21486d7f5d3SJohn Marino 0x00000000, \ 21586d7f5d3SJohn Marino 0x00000000, \ 21686d7f5d3SJohn Marino 0x00000000, \ 21786d7f5d3SJohn Marino 0x00000000, \ 21886d7f5d3SJohn Marino 0x00000000, \ 21986d7f5d3SJohn Marino 0x00000000, \ 22086d7f5d3SJohn Marino 0x00000000, \ 22186d7f5d3SJohn Marino 0x00000000, \ 22286d7f5d3SJohn Marino 0x00000000, \ 22386d7f5d3SJohn Marino 0x00000000, \ 22486d7f5d3SJohn Marino 0x00000000, \ 22586d7f5d3SJohn Marino 0x00000000, \ 22686d7f5d3SJohn Marino 0x00000000, \ 22786d7f5d3SJohn Marino 0x00000000, \ 22886d7f5d3SJohn Marino 0x00000000, \ 22986d7f5d3SJohn Marino 0x00000000, \ 23086d7f5d3SJohn Marino 0x00000000, \ 23186d7f5d3SJohn Marino 0x00000000, \ 23286d7f5d3SJohn Marino 0x00000000, \ 23386d7f5d3SJohn Marino 0x00000000, \ 23486d7f5d3SJohn Marino 0x00000000, \ 23586d7f5d3SJohn Marino 0x00000000, \ 23686d7f5d3SJohn Marino 0x00000000, \ 23786d7f5d3SJohn Marino 0x00000000, \ 23886d7f5d3SJohn Marino 0x00000000, \ 23986d7f5d3SJohn Marino 0x00000000, \ 24086d7f5d3SJohn Marino 0x00000000, \ 24186d7f5d3SJohn Marino } 24286d7f5d3SJohn Marino 24386d7f5d3SJohn Marino 24486d7f5d3SJohn Marino /********************************************************/ 24586d7f5d3SJohn Marino /* CPUSaver micro code for the D101B */ 24686d7f5d3SJohn Marino /********************************************************/ 24786d7f5d3SJohn Marino 24886d7f5d3SJohn Marino /* Version 2.0 */ 24986d7f5d3SJohn Marino 25086d7f5d3SJohn Marino #define D101_B0_RCVBUNDLE_UCODE \ 25186d7f5d3SJohn Marino {\ 25286d7f5d3SJohn Marino 0x03B401BC, \ 25386d7f5d3SJohn Marino 0x0047FFFF, \ 25486d7f5d3SJohn Marino 0xFFFFFFFF, \ 25586d7f5d3SJohn Marino 0x051EFFFF, \ 25686d7f5d3SJohn Marino 0xFFFFFFFF, \ 25786d7f5d3SJohn Marino 0xFFFFFFFF, \ 25886d7f5d3SJohn Marino 0x000C0001, \ 25986d7f5d3SJohn Marino 0x00101B92, \ 26086d7f5d3SJohn Marino 0x000C0008, \ 26186d7f5d3SJohn Marino 0x003801BD, \ 26286d7f5d3SJohn Marino 0x00000000, \ 26386d7f5d3SJohn Marino 0x00124818, \ 26486d7f5d3SJohn Marino 0x000C1000, \ 26586d7f5d3SJohn Marino 0x00220809, \ 26686d7f5d3SJohn Marino 0x00010200, \ 26786d7f5d3SJohn Marino 0x00124818, \ 26886d7f5d3SJohn Marino 0x000CFFFC, \ 26986d7f5d3SJohn Marino 0x003803B6, \ 27086d7f5d3SJohn Marino 0x00000000, \ 27186d7f5d3SJohn Marino 0x00000000, \ 27286d7f5d3SJohn Marino 0x00000000, \ 27386d7f5d3SJohn Marino 0x00000000, \ 27486d7f5d3SJohn Marino 0x0010009C, \ 27586d7f5d3SJohn Marino 0x0024B81D, \ 27686d7f5d3SJohn Marino 0x0013082F, \ 27786d7f5d3SJohn Marino 0x000C0001, \ 27886d7f5d3SJohn Marino 0x0026081C, \ 27986d7f5d3SJohn Marino 0x0020C81B, \ 28086d7f5d3SJohn Marino 0x00130837, \ 28186d7f5d3SJohn Marino 0x00222819, \ 28286d7f5d3SJohn Marino 0x00101B93, \ 28386d7f5d3SJohn Marino 0x00041000, \ 28486d7f5d3SJohn Marino 0x003A03B4, \ 28586d7f5d3SJohn Marino 0x00010200, \ 28686d7f5d3SJohn Marino 0x00101793, \ 28786d7f5d3SJohn Marino 0x00238082, \ 28886d7f5d3SJohn Marino 0x0021304A, \ 28986d7f5d3SJohn Marino 0x0038003C, \ 29086d7f5d3SJohn Marino 0x00000000, \ 29186d7f5d3SJohn Marino 0x00000000, \ 29286d7f5d3SJohn Marino 0x00000000, \ 29386d7f5d3SJohn Marino 0x00000000, \ 29486d7f5d3SJohn Marino 0x00000000, \ 29586d7f5d3SJohn Marino 0x00000000, \ 29686d7f5d3SJohn Marino 0x00000000, \ 29786d7f5d3SJohn Marino 0x00000000, \ 29886d7f5d3SJohn Marino 0x00000000, \ 29986d7f5d3SJohn Marino 0x00000000, \ 30086d7f5d3SJohn Marino 0x00000000, \ 30186d7f5d3SJohn Marino 0x00000000, \ 30286d7f5d3SJohn Marino 0x00000000, \ 30386d7f5d3SJohn Marino 0x00000000, \ 30486d7f5d3SJohn Marino 0x00000000, \ 30586d7f5d3SJohn Marino 0x00000000, \ 30686d7f5d3SJohn Marino 0x0010009C, \ 30786d7f5d3SJohn Marino 0x0024B83E, \ 30886d7f5d3SJohn Marino 0x00130826, \ 30986d7f5d3SJohn Marino 0x000C0001, \ 31086d7f5d3SJohn Marino 0x0026083B, \ 31186d7f5d3SJohn Marino 0x00010200, \ 31286d7f5d3SJohn Marino 0x00134837, \ 31386d7f5d3SJohn Marino 0x000C0001, \ 31486d7f5d3SJohn Marino 0x00101B93, \ 31586d7f5d3SJohn Marino 0x00041000, \ 31686d7f5d3SJohn Marino 0x0038051F, \ 31786d7f5d3SJohn Marino 0x00101313, \ 31886d7f5d3SJohn Marino 0x00010400, \ 31986d7f5d3SJohn Marino 0x00380522, \ 32086d7f5d3SJohn Marino 0x00050600, \ 32186d7f5d3SJohn Marino 0x00100837, \ 32286d7f5d3SJohn Marino 0x00101310, \ 32386d7f5d3SJohn Marino 0x00041000, \ 32486d7f5d3SJohn Marino 0x00080600, \ 32586d7f5d3SJohn Marino 0x00101790, \ 32686d7f5d3SJohn Marino 0x0038051F, \ 32786d7f5d3SJohn Marino 0x00000000, \ 32886d7f5d3SJohn Marino 0x00000000, \ 32986d7f5d3SJohn Marino 0x00000000, \ 33086d7f5d3SJohn Marino 0x00000000, \ 33186d7f5d3SJohn Marino 0x00000000, \ 33286d7f5d3SJohn Marino 0x00000000, \ 33386d7f5d3SJohn Marino 0x00000000, \ 33486d7f5d3SJohn Marino 0x00000000, \ 33586d7f5d3SJohn Marino 0x00000000, \ 33686d7f5d3SJohn Marino 0x00000000, \ 33786d7f5d3SJohn Marino 0x00000000, \ 33886d7f5d3SJohn Marino 0x00000000, \ 33986d7f5d3SJohn Marino 0x00000000, \ 34086d7f5d3SJohn Marino 0x00000000, \ 34186d7f5d3SJohn Marino 0x00000000, \ 34286d7f5d3SJohn Marino 0x00000000, \ 34386d7f5d3SJohn Marino 0x00000000, \ 34486d7f5d3SJohn Marino 0x00000000, \ 34586d7f5d3SJohn Marino 0x00000000, \ 34686d7f5d3SJohn Marino 0x00000000, \ 34786d7f5d3SJohn Marino 0x00000000, \ 34886d7f5d3SJohn Marino 0x00000000, \ 34986d7f5d3SJohn Marino 0x00000000, \ 35086d7f5d3SJohn Marino 0x00000000, \ 35186d7f5d3SJohn Marino 0x00000000, \ 35286d7f5d3SJohn Marino 0x00000000, \ 35386d7f5d3SJohn Marino 0x00000000, \ 35486d7f5d3SJohn Marino } 35586d7f5d3SJohn Marino 35686d7f5d3SJohn Marino 35786d7f5d3SJohn Marino /********************************************************/ 35886d7f5d3SJohn Marino /* CPUSaver micro code for the D101M (B-step only) */ 35986d7f5d3SJohn Marino /********************************************************/ 36086d7f5d3SJohn Marino 36186d7f5d3SJohn Marino /* Version 2.10 */ 36286d7f5d3SJohn Marino 36386d7f5d3SJohn Marino /* Parameter values for the D101M B-step */ 36486d7f5d3SJohn Marino #define D101M_CPUSAVER_DWORD 78 36586d7f5d3SJohn Marino #define D101M_CPUSAVER_BUNDLE_MAX_DWORD 65 36686d7f5d3SJohn Marino #define D101M_CPUSAVER_MIN_SIZE_DWORD 126 36786d7f5d3SJohn Marino 36886d7f5d3SJohn Marino 36986d7f5d3SJohn Marino #define D101M_B_RCVBUNDLE_UCODE \ 37086d7f5d3SJohn Marino {\ 37186d7f5d3SJohn Marino 0x00550215, \ 37286d7f5d3SJohn Marino 0xFFFF0437, \ 37386d7f5d3SJohn Marino 0xFFFFFFFF, \ 37486d7f5d3SJohn Marino 0x06A70789, \ 37586d7f5d3SJohn Marino 0xFFFFFFFF, \ 37686d7f5d3SJohn Marino 0x0558FFFF, \ 37786d7f5d3SJohn Marino 0x000C0001, \ 37886d7f5d3SJohn Marino 0x00101312, \ 37986d7f5d3SJohn Marino 0x000C0008, \ 38086d7f5d3SJohn Marino 0x00380216, \ 38186d7f5d3SJohn Marino 0x0010009C, \ 38286d7f5d3SJohn Marino 0x00204056, \ 38386d7f5d3SJohn Marino 0x002380CC, \ 38486d7f5d3SJohn Marino 0x00380056, \ 38586d7f5d3SJohn Marino 0x0010009C, \ 38686d7f5d3SJohn Marino 0x00244C0B, \ 38786d7f5d3SJohn Marino 0x00000800, \ 38886d7f5d3SJohn Marino 0x00124818, \ 38986d7f5d3SJohn Marino 0x00380438, \ 39086d7f5d3SJohn Marino 0x00000000, \ 39186d7f5d3SJohn Marino 0x00140000, \ 39286d7f5d3SJohn Marino 0x00380555, \ 39386d7f5d3SJohn Marino 0x00308000, \ 39486d7f5d3SJohn Marino 0x00100662, \ 39586d7f5d3SJohn Marino 0x00100561, \ 39686d7f5d3SJohn Marino 0x000E0408, \ 39786d7f5d3SJohn Marino 0x00134861, \ 39886d7f5d3SJohn Marino 0x000C0002, \ 39986d7f5d3SJohn Marino 0x00103093, \ 40086d7f5d3SJohn Marino 0x00308000, \ 40186d7f5d3SJohn Marino 0x00100624, \ 40286d7f5d3SJohn Marino 0x00100561, \ 40386d7f5d3SJohn Marino 0x000E0408, \ 40486d7f5d3SJohn Marino 0x00100861, \ 40586d7f5d3SJohn Marino 0x000C007E, \ 40686d7f5d3SJohn Marino 0x00222C21, \ 40786d7f5d3SJohn Marino 0x000C0002, \ 40886d7f5d3SJohn Marino 0x00103093, \ 40986d7f5d3SJohn Marino 0x00380C7A, \ 41086d7f5d3SJohn Marino 0x00080000, \ 41186d7f5d3SJohn Marino 0x00103090, \ 41286d7f5d3SJohn Marino 0x00380C7A, \ 41386d7f5d3SJohn Marino 0x00000000, \ 41486d7f5d3SJohn Marino 0x00000000, \ 41586d7f5d3SJohn Marino 0x00000000, \ 41686d7f5d3SJohn Marino 0x00000000, \ 41786d7f5d3SJohn Marino 0x0010009C, \ 41886d7f5d3SJohn Marino 0x00244C2D, \ 41986d7f5d3SJohn Marino 0x00010004, \ 42086d7f5d3SJohn Marino 0x00041000, \ 42186d7f5d3SJohn Marino 0x003A0437, \ 42286d7f5d3SJohn Marino 0x00044010, \ 42386d7f5d3SJohn Marino 0x0038078A, \ 42486d7f5d3SJohn Marino 0x00000000, \ 42586d7f5d3SJohn Marino 0x00100099, \ 42686d7f5d3SJohn Marino 0x00206C7A, \ 42786d7f5d3SJohn Marino 0x0010009C, \ 42886d7f5d3SJohn Marino 0x00244C48, \ 42986d7f5d3SJohn Marino 0x00130824, \ 43086d7f5d3SJohn Marino 0x000C0001, \ 43186d7f5d3SJohn Marino 0x00101213, \ 43286d7f5d3SJohn Marino 0x00260C75, \ 43386d7f5d3SJohn Marino 0x00041000, \ 43486d7f5d3SJohn Marino 0x00010004, \ 43586d7f5d3SJohn Marino 0x00130826, \ 43686d7f5d3SJohn Marino 0x000C0006, \ 43786d7f5d3SJohn Marino 0x002206A8, \ 43886d7f5d3SJohn Marino 0x0013C926, \ 43986d7f5d3SJohn Marino 0x00101313, \ 44086d7f5d3SJohn Marino 0x003806A8, \ 44186d7f5d3SJohn Marino 0x00000000, \ 44286d7f5d3SJohn Marino 0x00000000, \ 44386d7f5d3SJohn Marino 0x00000000, \ 44486d7f5d3SJohn Marino 0x00000000, \ 44586d7f5d3SJohn Marino 0x00000000, \ 44686d7f5d3SJohn Marino 0x00000000, \ 44786d7f5d3SJohn Marino 0x00000000, \ 44886d7f5d3SJohn Marino 0x00000000, \ 44986d7f5d3SJohn Marino 0x00080600, \ 45086d7f5d3SJohn Marino 0x00101B10, \ 45186d7f5d3SJohn Marino 0x00050004, \ 45286d7f5d3SJohn Marino 0x00100826, \ 45386d7f5d3SJohn Marino 0x00101210, \ 45486d7f5d3SJohn Marino 0x00380C34, \ 45586d7f5d3SJohn Marino 0x00000000, \ 45686d7f5d3SJohn Marino 0x00000000, \ 45786d7f5d3SJohn Marino 0x0021155B, \ 45886d7f5d3SJohn Marino 0x00100099, \ 45986d7f5d3SJohn Marino 0x00206559, \ 46086d7f5d3SJohn Marino 0x0010009C, \ 46186d7f5d3SJohn Marino 0x00244559, \ 46286d7f5d3SJohn Marino 0x00130836, \ 46386d7f5d3SJohn Marino 0x000C0000, \ 46486d7f5d3SJohn Marino 0x00220C62, \ 46586d7f5d3SJohn Marino 0x000C0001, \ 46686d7f5d3SJohn Marino 0x00101B13, \ 46786d7f5d3SJohn Marino 0x00229C0E, \ 46886d7f5d3SJohn Marino 0x00210C0E, \ 46986d7f5d3SJohn Marino 0x00226C0E, \ 47086d7f5d3SJohn Marino 0x00216C0E, \ 47186d7f5d3SJohn Marino 0x0022FC0E, \ 47286d7f5d3SJohn Marino 0x00215C0E, \ 47386d7f5d3SJohn Marino 0x00214C0E, \ 47486d7f5d3SJohn Marino 0x00380555, \ 47586d7f5d3SJohn Marino 0x00010004, \ 47686d7f5d3SJohn Marino 0x00041000, \ 47786d7f5d3SJohn Marino 0x00278C67, \ 47886d7f5d3SJohn Marino 0x00040800, \ 47986d7f5d3SJohn Marino 0x00018100, \ 48086d7f5d3SJohn Marino 0x003A0437, \ 48186d7f5d3SJohn Marino 0x00130826, \ 48286d7f5d3SJohn Marino 0x000C0001, \ 48386d7f5d3SJohn Marino 0x00220559, \ 48486d7f5d3SJohn Marino 0x00101313, \ 48586d7f5d3SJohn Marino 0x00380559, \ 48686d7f5d3SJohn Marino 0x00000000, \ 48786d7f5d3SJohn Marino 0x00000000, \ 48886d7f5d3SJohn Marino 0x00000000, \ 48986d7f5d3SJohn Marino 0x00000000, \ 49086d7f5d3SJohn Marino 0x00000000, \ 49186d7f5d3SJohn Marino 0x00000000, \ 49286d7f5d3SJohn Marino 0x00000000, \ 49386d7f5d3SJohn Marino 0x00000000, \ 49486d7f5d3SJohn Marino 0x00130831, \ 49586d7f5d3SJohn Marino 0x0010090B, \ 49686d7f5d3SJohn Marino 0x00124813, \ 49786d7f5d3SJohn Marino 0x000CFF80, \ 49886d7f5d3SJohn Marino 0x002606AB, \ 49986d7f5d3SJohn Marino 0x00041000, \ 50086d7f5d3SJohn Marino 0x003806A8, \ 50186d7f5d3SJohn Marino 0x00000000, \ 50286d7f5d3SJohn Marino 0x00000000, \ 50386d7f5d3SJohn Marino 0x00000000, \ 50486d7f5d3SJohn Marino 0x00000000, \ 50586d7f5d3SJohn Marino } 50686d7f5d3SJohn Marino 50786d7f5d3SJohn Marino 50886d7f5d3SJohn Marino /********************************************************/ 50986d7f5d3SJohn Marino /* CPUSaver micro code for the D101S */ 51086d7f5d3SJohn Marino /********************************************************/ 51186d7f5d3SJohn Marino 51286d7f5d3SJohn Marino /* Version 1.20 */ 51386d7f5d3SJohn Marino 51486d7f5d3SJohn Marino /* Parameter values for the D101S */ 51586d7f5d3SJohn Marino #define D101S_CPUSAVER_DWORD 78 51686d7f5d3SJohn Marino #define D101S_CPUSAVER_BUNDLE_MAX_DWORD 67 51786d7f5d3SJohn Marino #define D101S_CPUSAVER_MIN_SIZE_DWORD 129 51886d7f5d3SJohn Marino 51986d7f5d3SJohn Marino 52086d7f5d3SJohn Marino #define D101S_RCVBUNDLE_UCODE \ 52186d7f5d3SJohn Marino {\ 52286d7f5d3SJohn Marino 0x00550242, \ 52386d7f5d3SJohn Marino 0xFFFF047E, \ 52486d7f5d3SJohn Marino 0xFFFFFFFF, \ 52586d7f5d3SJohn Marino 0x06FF0818, \ 52686d7f5d3SJohn Marino 0xFFFFFFFF, \ 52786d7f5d3SJohn Marino 0x05A6FFFF, \ 52886d7f5d3SJohn Marino 0x000C0001, \ 52986d7f5d3SJohn Marino 0x00101312, \ 53086d7f5d3SJohn Marino 0x000C0008, \ 53186d7f5d3SJohn Marino 0x00380243, \ 53286d7f5d3SJohn Marino 0x0010009C, \ 53386d7f5d3SJohn Marino 0x00204056, \ 53486d7f5d3SJohn Marino 0x002380D0, \ 53586d7f5d3SJohn Marino 0x00380056, \ 53686d7f5d3SJohn Marino 0x0010009C, \ 53786d7f5d3SJohn Marino 0x00244F8B, \ 53886d7f5d3SJohn Marino 0x00000800, \ 53986d7f5d3SJohn Marino 0x00124818, \ 54086d7f5d3SJohn Marino 0x0038047F, \ 54186d7f5d3SJohn Marino 0x00000000, \ 54286d7f5d3SJohn Marino 0x00140000, \ 54386d7f5d3SJohn Marino 0x003805A3, \ 54486d7f5d3SJohn Marino 0x00308000, \ 54586d7f5d3SJohn Marino 0x00100610, \ 54686d7f5d3SJohn Marino 0x00100561, \ 54786d7f5d3SJohn Marino 0x000E0408, \ 54886d7f5d3SJohn Marino 0x00134861, \ 54986d7f5d3SJohn Marino 0x000C0002, \ 55086d7f5d3SJohn Marino 0x00103093, \ 55186d7f5d3SJohn Marino 0x00308000, \ 55286d7f5d3SJohn Marino 0x00100624, \ 55386d7f5d3SJohn Marino 0x00100561, \ 55486d7f5d3SJohn Marino 0x000E0408, \ 55586d7f5d3SJohn Marino 0x00100861, \ 55686d7f5d3SJohn Marino 0x000C007E, \ 55786d7f5d3SJohn Marino 0x00222FA1, \ 55886d7f5d3SJohn Marino 0x000C0002, \ 55986d7f5d3SJohn Marino 0x00103093, \ 56086d7f5d3SJohn Marino 0x00380F90, \ 56186d7f5d3SJohn Marino 0x00080000, \ 56286d7f5d3SJohn Marino 0x00103090, \ 56386d7f5d3SJohn Marino 0x00380F90, \ 56486d7f5d3SJohn Marino 0x00000000, \ 56586d7f5d3SJohn Marino 0x00000000, \ 56686d7f5d3SJohn Marino 0x00000000, \ 56786d7f5d3SJohn Marino 0x00000000, \ 56886d7f5d3SJohn Marino 0x0010009C, \ 56986d7f5d3SJohn Marino 0x00244FAD, \ 57086d7f5d3SJohn Marino 0x00010004, \ 57186d7f5d3SJohn Marino 0x00041000, \ 57286d7f5d3SJohn Marino 0x003A047E, \ 57386d7f5d3SJohn Marino 0x00044010, \ 57486d7f5d3SJohn Marino 0x00380819, \ 57586d7f5d3SJohn Marino 0x00000000, \ 57686d7f5d3SJohn Marino 0x00100099, \ 57786d7f5d3SJohn Marino 0x00206FFD, \ 57886d7f5d3SJohn Marino 0x0010009A, \ 57986d7f5d3SJohn Marino 0x0020AFFD, \ 58086d7f5d3SJohn Marino 0x0010009C, \ 58186d7f5d3SJohn Marino 0x00244FC8, \ 58286d7f5d3SJohn Marino 0x00130824, \ 58386d7f5d3SJohn Marino 0x000C0001, \ 58486d7f5d3SJohn Marino 0x00101213, \ 58586d7f5d3SJohn Marino 0x00260FF8, \ 58686d7f5d3SJohn Marino 0x00041000, \ 58786d7f5d3SJohn Marino 0x00010004, \ 58886d7f5d3SJohn Marino 0x00130826, \ 58986d7f5d3SJohn Marino 0x000C0006, \ 59086d7f5d3SJohn Marino 0x00220700, \ 59186d7f5d3SJohn Marino 0x0013C926, \ 59286d7f5d3SJohn Marino 0x00101313, \ 59386d7f5d3SJohn Marino 0x00380700, \ 59486d7f5d3SJohn Marino 0x00000000, \ 59586d7f5d3SJohn Marino 0x00000000, \ 59686d7f5d3SJohn Marino 0x00000000, \ 59786d7f5d3SJohn Marino 0x00000000, \ 59886d7f5d3SJohn Marino 0x00000000, \ 59986d7f5d3SJohn Marino 0x00000000, \ 60086d7f5d3SJohn Marino 0x00080600, \ 60186d7f5d3SJohn Marino 0x00101B10, \ 60286d7f5d3SJohn Marino 0x00050004, \ 60386d7f5d3SJohn Marino 0x00100826, \ 60486d7f5d3SJohn Marino 0x00101210, \ 60586d7f5d3SJohn Marino 0x00380FB6, \ 60686d7f5d3SJohn Marino 0x00000000, \ 60786d7f5d3SJohn Marino 0x00000000, \ 60886d7f5d3SJohn Marino 0x002115A9, \ 60986d7f5d3SJohn Marino 0x00100099, \ 61086d7f5d3SJohn Marino 0x002065A7, \ 61186d7f5d3SJohn Marino 0x0010009A, \ 61286d7f5d3SJohn Marino 0x0020A5A7, \ 61386d7f5d3SJohn Marino 0x0010009C, \ 61486d7f5d3SJohn Marino 0x002445A7, \ 61586d7f5d3SJohn Marino 0x00130836, \ 61686d7f5d3SJohn Marino 0x000C0000, \ 61786d7f5d3SJohn Marino 0x00220FE4, \ 61886d7f5d3SJohn Marino 0x000C0001, \ 61986d7f5d3SJohn Marino 0x00101B13, \ 62086d7f5d3SJohn Marino 0x00229F8E, \ 62186d7f5d3SJohn Marino 0x00210F8E, \ 62286d7f5d3SJohn Marino 0x00226F8E, \ 62386d7f5d3SJohn Marino 0x00216F8E, \ 62486d7f5d3SJohn Marino 0x0022FF8E, \ 62586d7f5d3SJohn Marino 0x00215F8E, \ 62686d7f5d3SJohn Marino 0x00214F8E, \ 62786d7f5d3SJohn Marino 0x003805A3, \ 62886d7f5d3SJohn Marino 0x00010004, \ 62986d7f5d3SJohn Marino 0x00041000, \ 63086d7f5d3SJohn Marino 0x00278FE9, \ 63186d7f5d3SJohn Marino 0x00040800, \ 63286d7f5d3SJohn Marino 0x00018100, \ 63386d7f5d3SJohn Marino 0x003A047E, \ 63486d7f5d3SJohn Marino 0x00130826, \ 63586d7f5d3SJohn Marino 0x000C0001, \ 63686d7f5d3SJohn Marino 0x002205A7, \ 63786d7f5d3SJohn Marino 0x00101313, \ 63886d7f5d3SJohn Marino 0x003805A7, \ 63986d7f5d3SJohn Marino 0x00000000, \ 64086d7f5d3SJohn Marino 0x00000000, \ 64186d7f5d3SJohn Marino 0x00000000, \ 64286d7f5d3SJohn Marino 0x00000000, \ 64386d7f5d3SJohn Marino 0x00000000, \ 64486d7f5d3SJohn Marino 0x00000000, \ 64586d7f5d3SJohn Marino 0x00000000, \ 64686d7f5d3SJohn Marino 0x00000000, \ 64786d7f5d3SJohn Marino 0x00000000, \ 64886d7f5d3SJohn Marino 0x00130831, \ 64986d7f5d3SJohn Marino 0x0010090B, \ 65086d7f5d3SJohn Marino 0x00124813, \ 65186d7f5d3SJohn Marino 0x000CFF80, \ 65286d7f5d3SJohn Marino 0x00260703, \ 65386d7f5d3SJohn Marino 0x00041000, \ 65486d7f5d3SJohn Marino 0x00380700, \ 65586d7f5d3SJohn Marino 0x00000000, \ 65686d7f5d3SJohn Marino } 65786d7f5d3SJohn Marino 65886d7f5d3SJohn Marino 65986d7f5d3SJohn Marino /********************************************************/ 66086d7f5d3SJohn Marino /* CPUSaver micro code for the D102 B-step */ 66186d7f5d3SJohn Marino /********************************************************/ 66286d7f5d3SJohn Marino 66386d7f5d3SJohn Marino /* Version 2.0 */ 66486d7f5d3SJohn Marino 66586d7f5d3SJohn Marino /* 66686d7f5d3SJohn Marino This version of CPUSaver is different from all others in 66786d7f5d3SJohn Marino a different way. It combines the CPUSaver algorithm with 66886d7f5d3SJohn Marino fixes for bugs in the B-step hardware (specifically, bugs 66986d7f5d3SJohn Marino with Inline Receive). 67086d7f5d3SJohn Marino Thus, when CPUSaver is disabled, this micro code image will 67186d7f5d3SJohn Marino still need to be loaded. Before this happens, the hit addresses 67286d7f5d3SJohn Marino for the CPUSaver algorithm must be set to 0x1FFFF. The hit 67386d7f5d3SJohn Marino addresses for CPUSaver are (starting with 0, and remember that 67486d7f5d3SJohn Marino 67586d7f5d3SJohn Marino */ 67686d7f5d3SJohn Marino 67786d7f5d3SJohn Marino /* Parameter values for the D102 B-step */ 67886d7f5d3SJohn Marino #define D102_B_CPUSAVER_DWORD 91 67986d7f5d3SJohn Marino #define D102_B_CPUSAVER_BUNDLE_MAX_DWORD 115 68086d7f5d3SJohn Marino #define D102_B_CPUSAVER_MIN_SIZE_DWORD 70 68186d7f5d3SJohn Marino 68286d7f5d3SJohn Marino 68386d7f5d3SJohn Marino #define D102_B_RCVBUNDLE_UCODE \ 68486d7f5d3SJohn Marino {\ 68586d7f5d3SJohn Marino 0x006F0276, \ 68686d7f5d3SJohn Marino 0x02BF0E93, \ 68786d7f5d3SJohn Marino 0x1FFF0ED9, \ 68886d7f5d3SJohn Marino 0x0D2508FA, \ 68986d7f5d3SJohn Marino 0x04D21FFF, \ 69086d7f5d3SJohn Marino 0x0EA10892, \ 69186d7f5d3SJohn Marino 0x00300001, \ 69286d7f5d3SJohn Marino 0x0140D871, \ 69386d7f5d3SJohn Marino 0x00300008, \ 69486d7f5d3SJohn Marino 0x00E00277, \ 69586d7f5d3SJohn Marino 0x01406C57, \ 69686d7f5d3SJohn Marino 0x00816073, \ 69786d7f5d3SJohn Marino 0x008700FA, \ 69886d7f5d3SJohn Marino 0x00E00070, \ 69986d7f5d3SJohn Marino 0x00E00E94, \ 70086d7f5d3SJohn Marino 0x00200004, \ 70186d7f5d3SJohn Marino 0x01410000, \ 70286d7f5d3SJohn Marino 0x014B6F6F, \ 70386d7f5d3SJohn Marino 0x0030FFFF, \ 70486d7f5d3SJohn Marino 0x01486F72, \ 70586d7f5d3SJohn Marino 0x00E81F9B, \ 70686d7f5d3SJohn Marino 0x00E00EA3, \ 70786d7f5d3SJohn Marino 0x003C0040, \ 70886d7f5d3SJohn Marino 0x00380920, \ 70986d7f5d3SJohn Marino 0x00C02000, \ 71086d7f5d3SJohn Marino 0x0150ED38, \ 71186d7f5d3SJohn Marino 0x0150EE39, \ 71286d7f5d3SJohn Marino 0x0150EF3A, \ 71386d7f5d3SJohn Marino 0x003C0040, \ 71486d7f5d3SJohn Marino 0x01506F0D, \ 71586d7f5d3SJohn Marino 0x01600E72, \ 71686d7f5d3SJohn Marino 0x00380AE0, \ 71786d7f5d3SJohn Marino 0x00E002C0, \ 71886d7f5d3SJohn Marino 0x00300001, \ 71986d7f5d3SJohn Marino 0x014C0000, \ 72086d7f5d3SJohn Marino 0x008404DC, \ 72186d7f5d3SJohn Marino 0x014C6F72, \ 72286d7f5d3SJohn Marino 0x00E01F9D, \ 72386d7f5d3SJohn Marino 0x01406C51, \ 72486d7f5d3SJohn Marino 0x0080DFC2, \ 72586d7f5d3SJohn Marino 0x01406C52, \ 72686d7f5d3SJohn Marino 0x00815FC2, \ 72786d7f5d3SJohn Marino 0x01406C57, \ 72886d7f5d3SJohn Marino 0x00917FD5, \ 72986d7f5d3SJohn Marino 0x00E01FE6, \ 73086d7f5d3SJohn Marino 0x00000000, \ 73186d7f5d3SJohn Marino 0x01406C57, \ 73286d7f5d3SJohn Marino 0x00919FAD, \ 73386d7f5d3SJohn Marino 0x00038800, \ 73486d7f5d3SJohn Marino 0x00300000, \ 73586d7f5d3SJohn Marino 0x00E81FF2, \ 73686d7f5d3SJohn Marino 0x014D6FC4, \ 73786d7f5d3SJohn Marino 0x00E008FB, \ 73886d7f5d3SJohn Marino 0x00000000, \ 73986d7f5d3SJohn Marino 0x00822D30, \ 74086d7f5d3SJohn Marino 0x01406C51, \ 74186d7f5d3SJohn Marino 0x0080CD26, \ 74286d7f5d3SJohn Marino 0x01406C52, \ 74386d7f5d3SJohn Marino 0x00814D26, \ 74486d7f5d3SJohn Marino 0x01406C57, \ 74586d7f5d3SJohn Marino 0x00916D26, \ 74686d7f5d3SJohn Marino 0x014C6FD7, \ 74786d7f5d3SJohn Marino 0x00300000, \ 74886d7f5d3SJohn Marino 0x00841FDB, \ 74986d7f5d3SJohn Marino 0x00300001, \ 75086d7f5d3SJohn Marino 0x0140D772, \ 75186d7f5d3SJohn Marino 0x00E012B3, \ 75286d7f5d3SJohn Marino 0x014C6F91, \ 75386d7f5d3SJohn Marino 0x0150710B, \ 75486d7f5d3SJohn Marino 0x01496F72, \ 75586d7f5d3SJohn Marino 0x0030FF80, \ 75686d7f5d3SJohn Marino 0x00940EDD, \ 75786d7f5d3SJohn Marino 0x00102000, \ 75886d7f5d3SJohn Marino 0x00E00EDA, \ 75986d7f5d3SJohn Marino 0x01406C57, \ 76086d7f5d3SJohn Marino 0x00917FFD, \ 76186d7f5d3SJohn Marino 0x00001000, \ 76286d7f5d3SJohn Marino 0x00E01FFD, \ 76386d7f5d3SJohn Marino 0x00138800, \ 76486d7f5d3SJohn Marino 0x00300001, \ 76586d7f5d3SJohn Marino 0x00E81FF2, \ 76686d7f5d3SJohn Marino 0x00202500, \ 76786d7f5d3SJohn Marino 0x00E81F9B, \ 76886d7f5d3SJohn Marino 0x01600EC5, \ 76986d7f5d3SJohn Marino 0x00E00893, \ 77086d7f5d3SJohn Marino 0x00000000, \ 77186d7f5d3SJohn Marino 0x01406CD5, \ 77286d7f5d3SJohn Marino 0x0091EEA3, \ 77386d7f5d3SJohn Marino 0x00904EA3, \ 77486d7f5d3SJohn Marino 0x00901F89, \ 77586d7f5d3SJohn Marino 0x00E00EA3, \ 77686d7f5d3SJohn Marino 0x00200600, \ 77786d7f5d3SJohn Marino 0x0140D76F, \ 77886d7f5d3SJohn Marino 0x00138400, \ 77986d7f5d3SJohn Marino 0x01406FD8, \ 78086d7f5d3SJohn Marino 0x0140D96F, \ 78186d7f5d3SJohn Marino 0x00E01FE6, \ 78286d7f5d3SJohn Marino 0x00038400, \ 78386d7f5d3SJohn Marino 0x00102000, \ 78486d7f5d3SJohn Marino 0x00971FE0, \ 78586d7f5d3SJohn Marino 0x00101000, \ 78686d7f5d3SJohn Marino 0x00050200, \ 78786d7f5d3SJohn Marino 0x00E804D2, \ 78886d7f5d3SJohn Marino 0x014C6FD8, \ 78986d7f5d3SJohn Marino 0x00300001, \ 79086d7f5d3SJohn Marino 0x00840D26, \ 79186d7f5d3SJohn Marino 0x0140D872, \ 79286d7f5d3SJohn Marino 0x00E00D26, \ 79386d7f5d3SJohn Marino 0x014C6FD9, \ 79486d7f5d3SJohn Marino 0x00300001, \ 79586d7f5d3SJohn Marino 0x0140D972, \ 79686d7f5d3SJohn Marino 0x00941FBD, \ 79786d7f5d3SJohn Marino 0x00102000, \ 79886d7f5d3SJohn Marino 0x00038400, \ 79986d7f5d3SJohn Marino 0x014C6FD8, \ 80086d7f5d3SJohn Marino 0x00300006, \ 80186d7f5d3SJohn Marino 0x00840EDA, \ 80286d7f5d3SJohn Marino 0x014F71D8, \ 80386d7f5d3SJohn Marino 0x0140D872, \ 80486d7f5d3SJohn Marino 0x00E00EDA, \ 80586d7f5d3SJohn Marino 0x00340020, \ 80686d7f5d3SJohn Marino 0x014C6FED, \ 80786d7f5d3SJohn Marino 0x01603472, \ 80886d7f5d3SJohn Marino 0x016035EE, \ 80986d7f5d3SJohn Marino 0x016036EF, \ 81086d7f5d3SJohn Marino 0x00300004, \ 81186d7f5d3SJohn Marino 0x01611C71, \ 81286d7f5d3SJohn Marino 0x00300014, \ 81386d7f5d3SJohn Marino 0x00200A00, \ 81486d7f5d3SJohn Marino 0x00E810B9, \ 81586d7f5d3SJohn Marino 0x00600000, \ 81686d7f5d3SJohn Marino 0x01496F50, \ 81786d7f5d3SJohn Marino 0x00E004D3, \ 81886d7f5d3SJohn Marino 0x00000000, \ 81986d7f5d3SJohn Marino } 82086d7f5d3SJohn Marino 82186d7f5d3SJohn Marino 82286d7f5d3SJohn Marino 82386d7f5d3SJohn Marino 82486d7f5d3SJohn Marino /********************************************************/ 82586d7f5d3SJohn Marino /* TCO micro code for the D102 B-step */ 82686d7f5d3SJohn Marino /********************************************************/ 82786d7f5d3SJohn Marino 82886d7f5d3SJohn Marino /* Version 2.0 */ 82986d7f5d3SJohn Marino 83086d7f5d3SJohn Marino /* 83186d7f5d3SJohn Marino This version is a fix to TCO bug. This version can be loaded instead 83286d7f5d3SJohn Marino the CPUSaver version by modifing the registry key "LoadTcoUCodeInsteadOfCpuSaver" 83386d7f5d3SJohn Marino 83486d7f5d3SJohn Marino */ 83586d7f5d3SJohn Marino 83686d7f5d3SJohn Marino 83786d7f5d3SJohn Marino #define D102_B_TCO_UCODE \ 83886d7f5d3SJohn Marino {\ 83986d7f5d3SJohn Marino 0x1FFF0ED3, \ 84086d7f5d3SJohn Marino 0x02BF0E93, \ 84186d7f5d3SJohn Marino 0x1FFF1FFF, \ 84286d7f5d3SJohn Marino 0x1FFF08FA, \ 84386d7f5d3SJohn Marino 0x1FFF1FFF, \ 84486d7f5d3SJohn Marino 0x0EA10892, \ 84586d7f5d3SJohn Marino 0x00906ED8, \ 84686d7f5d3SJohn Marino 0x01406C55, \ 84786d7f5d3SJohn Marino 0x00E00ED4, \ 84886d7f5d3SJohn Marino 0x00000000, \ 84986d7f5d3SJohn Marino 0x00000000, \ 85086d7f5d3SJohn Marino 0x00000000, \ 85186d7f5d3SJohn Marino 0x00000000, \ 85286d7f5d3SJohn Marino 0x00000000, \ 85386d7f5d3SJohn Marino 0x00E00E94, \ 85486d7f5d3SJohn Marino 0x00200004, \ 85586d7f5d3SJohn Marino 0x01410000, \ 85686d7f5d3SJohn Marino 0x014B6F6F, \ 85786d7f5d3SJohn Marino 0x0030FFFF, \ 85886d7f5d3SJohn Marino 0x01486F72, \ 85986d7f5d3SJohn Marino 0x00E81F9B, \ 86086d7f5d3SJohn Marino 0x00E00EA3, \ 86186d7f5d3SJohn Marino 0x003C0040, \ 86286d7f5d3SJohn Marino 0x00380920, \ 86386d7f5d3SJohn Marino 0x00C02000, \ 86486d7f5d3SJohn Marino 0x0150ED38, \ 86586d7f5d3SJohn Marino 0x0150EE39, \ 86686d7f5d3SJohn Marino 0x0150EF3A, \ 86786d7f5d3SJohn Marino 0x003C0040, \ 86886d7f5d3SJohn Marino 0x01506F0D, \ 86986d7f5d3SJohn Marino 0x01600E72, \ 87086d7f5d3SJohn Marino 0x00380AE0, \ 87186d7f5d3SJohn Marino 0x00E002C0, \ 87286d7f5d3SJohn Marino 0x00300001, \ 87386d7f5d3SJohn Marino 0x014C0000, \ 87486d7f5d3SJohn Marino 0x008404DC, \ 87586d7f5d3SJohn Marino 0x014C6F72, \ 87686d7f5d3SJohn Marino 0x00E01F9D, \ 87786d7f5d3SJohn Marino 0x00000000, \ 87886d7f5d3SJohn Marino 0x00000000, \ 87986d7f5d3SJohn Marino 0x00000000, \ 88086d7f5d3SJohn Marino 0x00000000, \ 88186d7f5d3SJohn Marino 0x00000000, \ 88286d7f5d3SJohn Marino 0x00000000, \ 88386d7f5d3SJohn Marino 0x00000000, \ 88486d7f5d3SJohn Marino 0x00000000, \ 88586d7f5d3SJohn Marino 0x01406C57, \ 88686d7f5d3SJohn Marino 0x00919FAD, \ 88786d7f5d3SJohn Marino 0x00038800, \ 88886d7f5d3SJohn Marino 0x00300000, \ 88986d7f5d3SJohn Marino 0x00E81FD5, \ 89086d7f5d3SJohn Marino 0x014D6FC4, \ 89186d7f5d3SJohn Marino 0x00E008FB, \ 89286d7f5d3SJohn Marino 0x00000000, \ 89386d7f5d3SJohn Marino 0x00000000, \ 89486d7f5d3SJohn Marino 0x00000000, \ 89586d7f5d3SJohn Marino 0x00000000, \ 89686d7f5d3SJohn Marino 0x00000000, \ 89786d7f5d3SJohn Marino 0x00000000, \ 89886d7f5d3SJohn Marino 0x00000000, \ 89986d7f5d3SJohn Marino 0x00000000, \ 90086d7f5d3SJohn Marino 0x00000000, \ 90186d7f5d3SJohn Marino 0x00000000, \ 90286d7f5d3SJohn Marino 0x00000000, \ 90386d7f5d3SJohn Marino 0x00000000, \ 90486d7f5d3SJohn Marino 0x00000000, \ 90586d7f5d3SJohn Marino 0x00000000, \ 90686d7f5d3SJohn Marino 0x00000000, \ 90786d7f5d3SJohn Marino 0x00000000, \ 90886d7f5d3SJohn Marino 0x00000000, \ 90986d7f5d3SJohn Marino 0x00000000, \ 91086d7f5d3SJohn Marino 0x00000000, \ 91186d7f5d3SJohn Marino 0x00000000, \ 91286d7f5d3SJohn Marino 0x00000000, \ 91386d7f5d3SJohn Marino 0x00000000, \ 91486d7f5d3SJohn Marino 0x00000000, \ 91586d7f5d3SJohn Marino 0x00000000, \ 91686d7f5d3SJohn Marino 0x00000000, \ 91786d7f5d3SJohn Marino 0x00138800, \ 91886d7f5d3SJohn Marino 0x00300001, \ 91986d7f5d3SJohn Marino 0x00E81FD5, \ 92086d7f5d3SJohn Marino 0x00202500, \ 92186d7f5d3SJohn Marino 0x00E81F9B, \ 92286d7f5d3SJohn Marino 0x01600EC5, \ 92386d7f5d3SJohn Marino 0x00E00893, \ 92486d7f5d3SJohn Marino 0x00000000, \ 92586d7f5d3SJohn Marino 0x01406CD5, \ 92686d7f5d3SJohn Marino 0x0091EEA3, \ 92786d7f5d3SJohn Marino 0x00904EA3, \ 92886d7f5d3SJohn Marino 0x00901F89, \ 92986d7f5d3SJohn Marino 0x00E00EA3, \ 93086d7f5d3SJohn Marino 0x00340020, \ 93186d7f5d3SJohn Marino 0x014C6FED, \ 93286d7f5d3SJohn Marino 0x01603472, \ 93386d7f5d3SJohn Marino 0x016035EE, \ 93486d7f5d3SJohn Marino 0x016036EF, \ 93586d7f5d3SJohn Marino 0x00300004, \ 93686d7f5d3SJohn Marino 0x01611C71, \ 93786d7f5d3SJohn Marino 0x00300014, \ 93886d7f5d3SJohn Marino 0x00200A00, \ 93986d7f5d3SJohn Marino 0x00E810B9, \ 94086d7f5d3SJohn Marino 0x00600000, \ 94186d7f5d3SJohn Marino 0x00000000, \ 94286d7f5d3SJohn Marino 0x00000000, \ 94386d7f5d3SJohn Marino 0x00000000, \ 94486d7f5d3SJohn Marino 0x00000000, \ 94586d7f5d3SJohn Marino 0x00000000, \ 94686d7f5d3SJohn Marino 0x00000000, \ 94786d7f5d3SJohn Marino 0x00000000, \ 94886d7f5d3SJohn Marino 0x00000000, \ 94986d7f5d3SJohn Marino 0x00000000, \ 95086d7f5d3SJohn Marino 0x00000000, \ 95186d7f5d3SJohn Marino 0x00000000, \ 95286d7f5d3SJohn Marino 0x00000000, \ 95386d7f5d3SJohn Marino 0x00000000, \ 95486d7f5d3SJohn Marino 0x00000000, \ 95586d7f5d3SJohn Marino 0x00000000, \ 95686d7f5d3SJohn Marino 0x00000000, \ 95786d7f5d3SJohn Marino 0x00000000, \ 95886d7f5d3SJohn Marino 0x00000000, \ 95986d7f5d3SJohn Marino 0x00000000, \ 96086d7f5d3SJohn Marino 0x00000000, \ 96186d7f5d3SJohn Marino 0x00000000, \ 96286d7f5d3SJohn Marino 0x00000000, \ 96386d7f5d3SJohn Marino 0x00000000, \ 96486d7f5d3SJohn Marino 0x00000000, \ 96586d7f5d3SJohn Marino 0x00000000, \ 96686d7f5d3SJohn Marino 0x00000000, \ 96786d7f5d3SJohn Marino 0x00000000, \ 96886d7f5d3SJohn Marino 0x00000000, \ 96986d7f5d3SJohn Marino 0x00000000, \ 97086d7f5d3SJohn Marino 0x00000000, \ 97186d7f5d3SJohn Marino 0x00000000, \ 97286d7f5d3SJohn Marino 0x00000000, \ 97386d7f5d3SJohn Marino } 97486d7f5d3SJohn Marino 97586d7f5d3SJohn Marino 97686d7f5d3SJohn Marino 97786d7f5d3SJohn Marino /********************************************************/ 97886d7f5d3SJohn Marino /* Micro code for the D102 C-step */ 97986d7f5d3SJohn Marino /********************************************************/ 98086d7f5d3SJohn Marino 98186d7f5d3SJohn Marino /* Parameter values for the D102 C-step */ 98286d7f5d3SJohn Marino #define D102_C_CPUSAVER_DWORD 46 98386d7f5d3SJohn Marino #define D102_C_CPUSAVER_BUNDLE_MAX_DWORD 54 98486d7f5d3SJohn Marino #define D102_C_CPUSAVER_MIN_SIZE_DWORD 133 /* not implemented */ 98586d7f5d3SJohn Marino 98686d7f5d3SJohn Marino 98786d7f5d3SJohn Marino 98886d7f5d3SJohn Marino 98986d7f5d3SJohn Marino 99086d7f5d3SJohn Marino #if 0 99186d7f5d3SJohn Marino // this uCode include the CPU Saver and the TCO work around 99286d7f5d3SJohn Marino //for IP fregments. 99386d7f5d3SJohn Marino #endif 99486d7f5d3SJohn Marino #define D102_C_RCVBUNDLE_UCODE \ 99586d7f5d3SJohn Marino { \ 99686d7f5d3SJohn Marino 0x00700279, \ 99786d7f5d3SJohn Marino 0x0E6104E2, \ 99886d7f5d3SJohn Marino 0x02BF0CAE, \ 99986d7f5d3SJohn Marino 0x1519150C, \ 100086d7f5d3SJohn Marino 0x1FFF0E5B, \ 100186d7f5d3SJohn Marino 0x1FFF1FFF, \ 100286d7f5d3SJohn Marino 0x00E014D8, \ 100386d7f5d3SJohn Marino 0x00000000, \ 100486d7f5d3SJohn Marino 0x00000000, \ 100586d7f5d3SJohn Marino 0x00000000, \ 100686d7f5d3SJohn Marino 0x00E014DC, \ 100786d7f5d3SJohn Marino 0x00000000, \ 100886d7f5d3SJohn Marino 0x00000000, \ 100986d7f5d3SJohn Marino 0x00000000, \ 101086d7f5d3SJohn Marino 0x00E014F4, \ 101186d7f5d3SJohn Marino 0x00000000, \ 101286d7f5d3SJohn Marino 0x00000000, \ 101386d7f5d3SJohn Marino 0x00000000, \ 101486d7f5d3SJohn Marino 0x00000000, \ 101586d7f5d3SJohn Marino 0x00000000, \ 101686d7f5d3SJohn Marino 0x00000000, \ 101786d7f5d3SJohn Marino 0x00000000, \ 101886d7f5d3SJohn Marino 0x00E014E0, \ 101986d7f5d3SJohn Marino 0x00000000, \ 102086d7f5d3SJohn Marino 0x00000000, \ 102186d7f5d3SJohn Marino 0x00000000, \ 102286d7f5d3SJohn Marino 0x00000000, \ 102386d7f5d3SJohn Marino 0x00000000, \ 102486d7f5d3SJohn Marino 0x00000000, \ 102586d7f5d3SJohn Marino 0x00000000, \ 102686d7f5d3SJohn Marino 0x00000000, \ 102786d7f5d3SJohn Marino 0x00000000, \ 102886d7f5d3SJohn Marino 0x00000000, \ 102986d7f5d3SJohn Marino 0x00000000, \ 103086d7f5d3SJohn Marino 0x00000000, \ 103186d7f5d3SJohn Marino 0x00000000, \ 103286d7f5d3SJohn Marino 0x00000000, \ 103386d7f5d3SJohn Marino 0x00000000, \ 103486d7f5d3SJohn Marino 0x00E014E7, \ 103586d7f5d3SJohn Marino 0x00000000, \ 103686d7f5d3SJohn Marino 0x00000000, \ 103786d7f5d3SJohn Marino 0x00000000, \ 103886d7f5d3SJohn Marino 0x00141000, \ 103986d7f5d3SJohn Marino 0x015D6F0D, \ 104086d7f5d3SJohn Marino 0x00E002C0, \ 104186d7f5d3SJohn Marino 0x00000000, \ 104286d7f5d3SJohn Marino 0x00200600, \ 104386d7f5d3SJohn Marino 0x00E0150D, \ 104486d7f5d3SJohn Marino 0x00000000, \ 104586d7f5d3SJohn Marino 0x00000000, \ 104686d7f5d3SJohn Marino 0x00000000, \ 104786d7f5d3SJohn Marino 0x00000000, \ 104886d7f5d3SJohn Marino 0x00000000, \ 104986d7f5d3SJohn Marino 0x00000000, \ 105086d7f5d3SJohn Marino 0x00300006, \ 105186d7f5d3SJohn Marino 0x00E0151A, \ 105286d7f5d3SJohn Marino 0x00000000, \ 105386d7f5d3SJohn Marino 0x00000000, \ 105486d7f5d3SJohn Marino 0x00000000, \ 105586d7f5d3SJohn Marino 0x00000000, \ 105686d7f5d3SJohn Marino 0x00000000, \ 105786d7f5d3SJohn Marino 0x00000000, \ 105886d7f5d3SJohn Marino 0x00000000, \ 105986d7f5d3SJohn Marino 0x00000000, \ 106086d7f5d3SJohn Marino 0x00000000, \ 106186d7f5d3SJohn Marino 0x00000000, \ 106286d7f5d3SJohn Marino 0x00000000, \ 106386d7f5d3SJohn Marino 0x00000000, \ 106486d7f5d3SJohn Marino 0x00000000, \ 106586d7f5d3SJohn Marino 0x00000000, \ 106686d7f5d3SJohn Marino 0x00906E65, \ 106786d7f5d3SJohn Marino 0x00800E60, \ 106886d7f5d3SJohn Marino 0x00E00E5D, \ 106986d7f5d3SJohn Marino 0x00000000, \ 107086d7f5d3SJohn Marino 0x00000000, \ 107186d7f5d3SJohn Marino 0x00000000, \ 107286d7f5d3SJohn Marino 0x00000000, \ 107386d7f5d3SJohn Marino 0x00000000, \ 107486d7f5d3SJohn Marino 0x00000000, \ 107586d7f5d3SJohn Marino 0x00000000, \ 107686d7f5d3SJohn Marino 0x00000000, \ 107786d7f5d3SJohn Marino 0x00000000, \ 107886d7f5d3SJohn Marino 0x00000000, \ 107986d7f5d3SJohn Marino 0x00000000, \ 108086d7f5d3SJohn Marino 0x00000000, \ 108186d7f5d3SJohn Marino 0x00000000, \ 108286d7f5d3SJohn Marino 0x00000000, \ 108386d7f5d3SJohn Marino 0x00000000, \ 108486d7f5d3SJohn Marino 0x00000000, \ 108586d7f5d3SJohn Marino 0x00000000, \ 108686d7f5d3SJohn Marino 0x00000000, \ 108786d7f5d3SJohn Marino 0x00000000, \ 108886d7f5d3SJohn Marino 0x00000000, \ 108986d7f5d3SJohn Marino 0x00000000, \ 109086d7f5d3SJohn Marino 0x00000000, \ 109186d7f5d3SJohn Marino 0x00000000, \ 109286d7f5d3SJohn Marino 0x00000000, \ 109386d7f5d3SJohn Marino 0x00000000, \ 109486d7f5d3SJohn Marino 0x00000000, \ 109586d7f5d3SJohn Marino 0x00000000, \ 109686d7f5d3SJohn Marino 0x00000000, \ 109786d7f5d3SJohn Marino 0x00000000, \ 109886d7f5d3SJohn Marino 0x00000000, \ 109986d7f5d3SJohn Marino 0x00000000, \ 110086d7f5d3SJohn Marino 0x00000000, \ 110186d7f5d3SJohn Marino 0x00000000, \ 110286d7f5d3SJohn Marino 0x00000000, \ 110386d7f5d3SJohn Marino 0x00000000, \ 110486d7f5d3SJohn Marino 0x00000000, \ 110586d7f5d3SJohn Marino 0x00000000, \ 110686d7f5d3SJohn Marino 0x00000000, \ 110786d7f5d3SJohn Marino 0x00000000, \ 110886d7f5d3SJohn Marino 0x00000000, \ 110986d7f5d3SJohn Marino 0x00000000, \ 111086d7f5d3SJohn Marino 0x00000000, \ 111186d7f5d3SJohn Marino 0x00000000, \ 111286d7f5d3SJohn Marino 0x00000000, \ 111386d7f5d3SJohn Marino 0x00000000, \ 111486d7f5d3SJohn Marino 0x00000000, \ 111586d7f5d3SJohn Marino 0x00000000, \ 111686d7f5d3SJohn Marino 0x00000000, \ 111786d7f5d3SJohn Marino 0x00000000, \ 111886d7f5d3SJohn Marino 0x00000000, \ 111986d7f5d3SJohn Marino 0x00000000, \ 112086d7f5d3SJohn Marino 0x00000000, \ 112186d7f5d3SJohn Marino 0x00000000, \ 112286d7f5d3SJohn Marino 0x00000000, \ 112386d7f5d3SJohn Marino 0x00000000, \ 112486d7f5d3SJohn Marino 0x00000000, \ 112586d7f5d3SJohn Marino 0x00000000, \ 112686d7f5d3SJohn Marino 0x00000000, \ 112786d7f5d3SJohn Marino 0x00000000, \ 112886d7f5d3SJohn Marino 0x00000000, \ 112986d7f5d3SJohn Marino 0x00000000, \ 113086d7f5d3SJohn Marino } 1131