===========================================================================
|       Processor Update Utility for Intel(R) P6 and NetBurst(TM)         |
|                    Micro-Architecture Microprocessors                   |
|                                Help File                                |
|                          v7.17  May 24th, 2006                       |
|                  Copyright 1995-2005, Intel Corporation.                |
|                                                                         |
|                            TABLE OF CONTENTS                            |
|                   1) INTRODUCTION                                       |
|                   2) MICROCODE UPDATE OVERVIEW                          |
|                   3) EXTRACTING THE DOWNLOADED FILES                    |
|                   4) UTILITY COMMAND LINE OPTIONS                       |
|                   5) FUNCTIONAL DESCRIPTION                             |
|                   6) ERROR MESSAGES                                     |
|                   7) LEGAL NOTICE                                       |
|                   8) REVISION HISTORY                                   |
===========================================================================

1) INTRODUCTION

This document is written for professional system integrators building PCs
from industry accepted motherboards, chassis, and peripherals. It summarizes
use of the Processor Update Utility needed to successfully integrate PCs 
based on Intel(R) P6 micro-architecture, NetBurst micro-architecture, and Centrino(TM) Mobile Technology microprocessors. Intel
NetBurst micro-architecture microprocessors include the following
processors:

   - Intel(R) Pentium(R) 4 processor
   - Intel(R) Xeon(TM) processor
   - Intel(R) Xeon(TM) processor MP
   - Intel(R) Celeron(R) D processor 
   - Intel(R) Celeron(R) processor

Centrino(TM) Mobile Technology microporcessors include the following processors:
   -Intel(R) Pentium(R) M Processor

Intel P6 micro-architecture microprocessors include the following
processors:

   - Intel(R) Pentium(R) III processor
   - Intel(R) Pentium(R) III Xeon(TM) processor
   - Intel(R) Pentium(R) II processor
   - Intel(R) Pentium(R) II Xeon(TM) processor
   - Intel(R) Celeron(R) processor (370-pin)
   - Mobile Intel(R) Pentium(R) 4 processor
   - Mobile Intel(R) Pentium(R) III processor
   - Mobile Intel(R) Pentium(R) II processor 
   - Mobile Intel(R) Celeron(TM) processor
   - Intel Pentium(R) II OverDrive(R) processor
   - Intel Pentium(R) Pro processor
                                                           
The information in this document applies to PCs assembled using boxed Intel
P6 micro-architecture, NetBurst micro-architecture, and Centrino(TM) Mobile Technology microprocessors. The term "boxed Intel
P6 and NetBurst micro-architecture processors" refers to processors packaged
for use by system integrators.


2) MICROCODE UPDATE OVERVIEW 

Intel P6 , Centrino(TM) Mobile Technology, and NetBurst micro-architecture microprocessors may contain design
defects or errors known as errata that may cause the product to deviate from
published specifications.  Many times, the effects of the errata can be
avoided by implementing hardware or software work-arounds.  Errata and work-
arounds are documented in the appropriate processor specification update,
which can be found at www.intel.com.  Intel P6 ,Centrino(TM) Mobile Technology and NetBurst micro-
architecture microprocessors include a feature called "reprogrammable
microcode", which allows certain types of errata to be worked around via
microcode updates.  The microcode updates reside in the system BIOS and are
loaded into the processor by the system BIOS during Power-On Self Test, or
POST.

System BIOS code on motherboards based on P6 and NetBurst micro-architecture
microprocessors contains microcode updates that are specific to each silicon
stepping (revision) of the processor. Integrators must ensure the microcode
update matches the processor stepping used. When the BIOS does not contain a
microcode update that matches the processor stepping, integrators must
install the latest microcode update in the BIOS before shipping the system.
Historically, systems based on P6 and NetBurst micro-architecture micro-
processors have been updated by upgrading the entire system BIOS with a new
revision of the system BIOS that contains the correct microcode update for
the processor.  However, such a process may be time consuming when
assembling and configuring many systems.

Intel has worked closely with BIOS developers to implement a processor 
update Applications Programming Interface (API), which allows just the 
microcode update within the system BIOS to be installed as needed. 
Motherboards that contain a system BIOS with the Intel-defined processor 
update API can be quickly and easily updated, if required, without need for 
a complete system BIOS upgrade. 

Table 1 contains the current microcode update revision for each processor 
stepping. 

				  Table 1.  
	Processor steppings (revisions) and microcode update revisions 
        supported by the processor update utility, revision 7.00
		
     Processor                    Package         Processor    Microcode
                                                  Stepping     Update Rev

  Intel Core 2 Dual                 FC-LGA4         0x6F6          0x44  
  Pentium D Processor               FC-LGA4         0xF62          0x0D              
  Pentium D Processor  		    FC-LGA4	    0xF44          0x06
  Pentium D Processor  		    FC-LGA4	    0xF47          0x03 
  
  Pentium 4 Processor  		  FC-LGA4/FC-PGA    0xFB1          0x0D
  Pentium 4 Processor  		  FC-LGA4/FC-PGA    0xF49          0x03
  Pentium 4 Processor  		    FC-LGA4	    0xF43          0x05
  Pentium 4 Processor  		FC-LGA4/FC-PGA2	    0xF41          0x17
  Pentium 4 Processor  	        FC-LGA4/FC-PGA2	    0xF34          0x17
  Pentium 4 Processor  		    FC-LGA4  	    0xF25          0x2C
  Pentium 4 Processor  		    FC-PGA2	    0xF25          0x2B
  Pentium 4 Processor  		    FC-PGA2	    0xF33          0x0C
  Pentium 4 Processor  		    FC-PGA2	    0xF29          0x2E
  Pentium 4 Processor  		    FC-PGA2	    0xF27          0x37
  Pentium 4 Processor  		    FC-PGA2	    0xF24          0x1E
  Pentium 4 Processor  		    FC-PGA2	    0xF13          0x05   
  Pentium 4 Processor  		    FC-PGA2	    0xF12          0x2E
  Pentium 4 Processor  		      OOI	    0xF12          0x2D
  Pentium 4 Processor		    FC-PGA2	    0xF0A	   0x14
  Pentium 4 Processor                 OOI           0xF0A          0x13
  Pentium 4 Processor                 OOI           0xF07          0x12
  
  Pentium M Processor	            uFCPGA	    0x6D8	   0x20
  Pentium M Processor	            uFCPGA	    0x6D6	   0x18
  Pentium M Processor	            uFCPGA	    0x695	   0x07

  Intel Xeon Processor   	      OOI	    0xF4A	   0x02
  Intel Xeon Processor MP	      OOI	    0xF41	   0x16
  Intel Xeon Processor		      OOI	    0xF43	   0x05
  Intel Xeon Processor		      OOI	    0xF49	   0x03
  Intel Xeon Processor		      OOI	    0xF48	   0x08
  Intel Xeon Processor		      OOI	    0xF41	   0x17
  Intel Xeon Processor		      OOI	    0xF34	   0x17
  Intel Xeon Processor		      OOI	    0xF29	   0x2D
  Intel Xeon Processor		      OOI	    0xF27	   0x38
  Intel Xeon Processor   	      OOI	    0xF26	   0x10 
  Intel Xeon Processor MP	      OOI	    0xF25	   0x2A
  Intel Xeon Processor  	      OOI	    0xF25	   0x29
  Intel Xeon Processor MP             OOI	    0xF22	   0x05
  Intel Xeon Processor		      OOI	    0xF24	   0x1F
  Intel Xeon Processor		      OOI	    0xF12	   0x2F
  Intel Xeon Processor MP             OOI	    0xF11	   0x0A
  Intel Xeon Processor		      OOI	    0xF0A	   0x15
  
  Pentium III Processor              FC-PGA2        0x6B4          0x01
  Pentium III Processor              FC-PGA2        0x6B1          0x1C
  Pentium III Processor              FC-PGA         0x68A          0x01  
  Pentium III Processor              SECC2          0x686          0x07
  Pentium III Processor              FC-PGA         0x686          0x08
  Pentium III Processor              SECC2          0x683          0x13
  Pentium III Processor              FC-PGA         0x683          0x14
  Pentium III Processor            SECC/SECC2       0x681          0x0D
  Pentium III Processor              FC-PGA         0x681          0x11
  Pentium III Processor            SECC/SECC2       0x673          0x0E
  Pentium III Processor            SECC/SECC2       0x672          0x10

  Pentium III Xeon Processor          SECC          0x6A4          0x01
  Pentium III Xeon Processor          SECC          0x6A1          0x01
  Pentium III Xeon Processor          SECC          0x6A0          0x03
  Pentium III Xeon Processor          SECC          0x686          0x02
  Pentium III Xeon Processor          SECC          0x683          0x10
  Pentium III Xeon Processor          SECC          0x681          0x10
  Pentium III Xeon Processor          SECC          0x673          0x2E
  Pentium III Xeon Processor          SECC          0x672          0x38

  Pentium II Processor             SECC/SECC2       0x653          0x10
  Pentium II Processor             SECC/SECC2       0x652          0x2A
  Pentium II Processor             SECC/SECC2       0x651          0x40
  Pentium II Processor                SECC          0x650          0x40
  Pentium II Processor                SECC          0x634          0x35
  Pentium II Processor                SECC          0x633          0x34

  Pentium II Xeon Processor           SECC          0x653          0x0B
  Pentium II Xeon Processor           SECC          0x652          0x2B

  Intel Celeron D Processor      FC-LGA4/FC-PGA2    0xF64h         0x04
  Intel Celeron D Processor      FC-LGA4/FC-PGA2    0xF64          0x04    
  Intel Celeron D Processor      FC-LGA4/FC-PGA2    0xF49          0x03 
  Intel Celeron D Processor      FC-LGA4/FC-PGA2    0xF41          0x17
  Intel Celeron D Processor      FC-LGA4/FC-PGA2    0xF34          0x17
  Intel Celeron D Processor          FC-PGA2        0xF33          0x0C
  Intel Celeron D Processor          FC-PGA2        0xF32          0x0A
  Intel Celeron Processor            FC-PGA2        0xF29          0x2E
  Intel Celeron Processor            FC-PGA2        0xF27          0x37
  Intel Celeron Processor            FC-PGA2        0xF13          0x05
  Intel Celeron Processor            FC-PGA2        0x6B4          0x01
  Intel Celeron Processor            FC-PGA2        0x6B1          0x1C
  Intel Celeron Processor            FC-PGA/2       0x68A          0x01
  Intel Celeron Processor            FC-PGA         0x686          0x08
  Intel Celeron Processor            FC-PGA         0x683          0x14
  Intel Celeron Processor             PPGA          0x665          0x03
  Intel Celeron Processor             SEPP          0x660          0x0A
  Intel Celeron Processor             SEPP          0x651          0x40
  Intel Celeron Processor             SEPP          0x650          0x40

  Mobile Pentium 4 Processor       uFC-PGA          0xF29          0x2F
  Mobile Pentium 4 Processor       uFC-PGA          0xF27          0x39
  Mobile Pentium 4 Processor       uFC-PGA          0xF24          0x20

  Mobile Pentium III Processor     uFC-PGA          0x6B1          0x1D
  Mobile Pentium III Processor     uFC-PGA          0x68A          0x05
  Mobile Pentium III Processor     Micro-PGA2       0x68A          0x04
  Mobile Pentium III Processor     Micro-PGA2       0x686          0x0C
  Mobile Pentium III Processor        MMC2          0x686          0x0A
  Mobile Pentium III Processor     Micro-PGA2       0x683          0x07
  Mobile Pentium III Processor        MMC2          0x683          0x08
  Mobile Pentium III Processor     Micro-PGA2       0x681          0x0E
  Mobile Pentium III Processor        MMC2          0x681          0x0F

  Mobile Pentium II Processor      Micro-PGA1       0x66D          0x07
  Mobile Pentium II Processor      Mini-Cart        0x66A          0x0C
  Mobile Pentium II Processor      MMC1/MMC2        0x66A          0x0D
  Mobile Pentium II Processor      Micro-PGA1       0x66A          0x0B

  Intel Celeron M Processor        uFC-PGA          0x695          0x47

  Mobile Intel Celeron Processor   uFC-PGA          0xF33          0x0B
  Mobile Intel Celeron Processor   uFC-PGA          0xF24          0x21
  Mobile Intel Celeron Processor   uFC-PGA          0xF27          0x39
  Mobile Intel Celeron Processor   uFC-PGA          0xF29          0x2F
  Mobile Intel Celeron Processor   uFC-PGA          0x6B1          0x1D
  Mobile Intel Celeron Processor   uFC-PGA          0x68A          0x05
  Mobile Intel Celeron Processor   Micro-PGA2       0x68A          0x04
  Mobile Intel Celeron Processor   Micro-PGA2       0x686          0x0B
  Mobile Intel Celeron Processor   MMC1/MMC2        0x66A          0x0D
  Mobile Intel Celeron Processor   Micro-PGA1       0x66A          0x0B

  Pentium II OverDrive Processor      PGA           x1632          0x02

  Pentium Pro Processor               PGA           0x619          0xD2
  Pentium Pro Processor               PGA           0x617          0xC6
  Pentium Pro Processor               PGA           0x616          0xC6                
  Pentium Pro Processor               PGA           0x612          0xC6
                               

Using this utility, and the information in Table 1, integrators can 
easily verify that the correct microcode update is present in all P6 and
NetBurst micro-architecture microprocessor-based motherboards (even those
without the API). Refer to the examples below for information on determining
the processor stepping and microcode update revision contained in the
motherboard. If the microcode update requires updating, the motherboard BIOS
must contain the Intel-defined processor update API, otherwise a complete
BIOS upgrade is required from the motherboard vendor.


3) USING THE PROCESSOR UPDATE UTILITY

CHECKUP7.EXE supports systems based on Intel P6 and NetBurst micro-architec-
ture microprocessors. The Intel-defined processor update API is identical
for all P6 and NetBurst micro-architecture microprocessors.

This processor update utility, and its associated files, are distributed in 
the self-extracting archive file pupdt717.EXE, which includes the files
listed below.  

        1) CHECKUP7.EXE --  DOS application to check the presence of a
                            valid microcode update loaded into the processor
                            by the BIOS. This utility also updates the
                            microcode update, as required, in motherboards
                            containing a BIOS that supports the Intel-
                            defined processor update API.  
        2) PEP.DAT      --  Database file containing microcode updates
        3) README.TXT   --  ASCII text help file that can be viewed from
                            CHECKUp7.EXE
        4) AUTOEXEC.BAT --  DOS batch file invoked at boot to automatically
                            run CHECKUP7.EXE
        5) AGREE.TXT    --  Software License Agreement


Uncompressing pupdt717.EXE

Uncompress pupdt717.EXE into a temporary directory (e.g. C:\TEMP).  Read the
license agreement in the file AGREE.TXT.  In order to uncompress the utility
and attached files (in pup717.EXE) to a DOS bootable floppy disk, you must
agree to the license agreement.  Since this is a self-extracting archive
file, simply insert a DOS bootable floppy disk and type the following
command at the DOS prompt from the temporary directory:

   pup717 A: <CR>

The processor update utility must be run in real mode.  Running the utility
from a "Safe Mode Command Prompt" within Windows98* and Windows95* may
cause "phantom" errors.  Booting the target system from a DOS 7.00 bootable
floppy is a good way to ensure that the target system is running in real
mode.
	
CHECKUP7.EXE will create the following files in the present working 
directory:
	
	1) STATUS.LOG  -- ASCII file that contains the messages that 
			were printed to the screen during the most recent 
			update session.


4) COMMAND LINE OPTIONS:

Before using the utility, ensure that any jumper settings on the 
motherboard are placed in the "Flash update" position to enable writing  
to the flash memory. After successfully installing a microcode update, be 
sure to return all jumpers to their orginal setting.

To invoke the utility, at the DOS prompt type the command line:

                        CHECKUP7 <CR>

When run, the utility automatically loads the appropriate microcode update
into your system BIOS if needed and returns you to the DOS prompt.  No user
intervention is needed.  However, the utility offers the option of enabling
some or all of the user prompts as needed.  This is done via command line
options.  The following command line options are available to allow a user
menu or user confirmation prompts to be displayed.

The general syntax is:

        CHECKUP7 -[flag]

where [flag] is one or more of the following:

    m   Causes the main menu to be displayed.  From this menu, the help file
	file can be displayed.  This command line option does not enable
	user promptse to confirm any permanent or temporary loading of
	microcode updates into BIOS. 

    u   Forces user confirmation.  If the utility is about to make changes
	to your system, the user will be prompted for confirmation.

    p   Specifies on the command line an external microcode update 
	database file (*.pdb).  The utility already includes the latest
        microcode updates for all production Intel P7 and NetBurst micro-architecture microprocessors.
        The syntax is "CHECKUP7 -P <file name>"  Use this command line
	option if you have a separate database file (from Intel).  Database
	files usually end with a .PDB extension.

A typical batch file syntax to force user input and use a specific PDB file
would be:

   CHECKUP7 -u -p PEP5.PDB

	or

   CHECKUP7 -p PEP5.PDB -u


5) FUNCTIONAL DESCRIPTION

Example 1: Update API is not present in the BIOS

For motherboards with a BIOS that does not have the Intel-defined processor 
update API, the utility can be used to determine that the system BIOS loads 
the latest microcode update into the processor. The utility will display the 
bootstrap processor stepping signature, which consists of the Family, Model 
and Stepping number. (Example: Stepping signature 616 can be broken into 
Family=6, Model=1, Stepping=6). Next, an indication that the API does or 
does not exist will be displayed, followed by the revision of the microcode
update loaded into the processor by the BIOS. The utility will then display 
the revision of microcode update in the database file. If this revision is 
newer than the update loaded into the processor, the utility will ask if you 
wish to temporarily load the update into the processor and boot to the hard 
disk.

 (Typical example with API NOT present in the system BIOS, but an update is
  required)

	Pentium(R) Pro processor detected.  (CPUID=x619)

	Your system will not allow this utility to permanently
	install the appropriate microcode update in your system.
	You need to contact your system manufacturer for a system
	BIOS upgrade that contains the microcode update for the 
	processor installed.  Make sure to specify the CPUID of the
	processor as shown above.

	Your system BIOS does not contain a microcode update for
	this processor.  Therefore, no microcode update was loaded.

	This utility can temporarily load the microcode update into 
	your processor.

	Would you like to temporarily load the microcode update 
	in your processor? (Y/N) y

	The update was loaded into the processor.  You need to 
	run this utility again after a system power-up or reset.
	No changes were made to the system BIOS.


	<< Please remove Floppy from Floppy Disk Drive,
	 Then press any key to boot from the hard drive >>

The above example indicates that the processor has not been loaded with a 
microcode update. A revision "D2" microcode update is available. The user 
has selected a temporary loading of the microcode update. However, this 
process must be repeated at each system boot unless the microcode update 
is permanently installed in the system BIOS.  Permanent installation of 
the microcode update when the API is not present can only be achieved by a 
system BIOS upgrade.


EXAMPLE 2: Update API is present in the BIOS

For motherboards with a system BIOS that DOES have the Intel-defined 
processor update API, the utility can be used to determine if the system BIOS
has loaded the latest microcode update into the processor and can install 
a new microcode update if required. The utility will display the bootstrap 
processor stepping, and revision of the microcode update loaded into the 
processor if it is present. Next, since the BIOS contains the API in these 
examples, the processor update utility and the API automatically determine 
if the microcode update in the system BIOS should be updated. 

 (Typical example where API is present in the BIOS, but no update is 
  required) 

	Pentium(R) II processor detected.  (CPUID=633)

	Your processor contains a microcode update, revision 34.

	The microcode update already loaded in your processor is the
	latest revision as of 12/28/98.  No changes are needed.  
	Please make sure you have the latest database file.
	

 (Typical example where API is present in the BIOS, and an update to a 
  later microcode update is required) 

	Pentium(R) II processor detected.  (CPUID=651)

	Your processor contains a microcode update, revision 29.

	The database file contains a microcode update (revision 30)
	for your processor that is more recent than the microcode
	update currently loaded in your processor.

	The microcode update was successfully loaded.
	You do not need to run this utility again, unless a new
	processor is installed or a new database file is used.



IMPORTANT: After running the utility, turn off power to the system to 
		 reboot (do not warm boot) to ensure new update is 
		 correctly initialized in the processor. Also, ensure all
		 jumpers are returned to their normal settings.



6) ERROR MESSAGES

ERROR:  The microcode update for signature xxxx found
	in the database file is not for this platform.
	Please obtain the correct database file.
REASON: The microcode update database file does not contain an update
	for the processor installed, even though the correct CPUID is
	found.  Pentium II and Pentium II Xeon processors may share the
	same CPUID, but require different microcode updates.  
	Obtain a database file that contains the appropriate microcode
	update for your platform.


ERROR: All processors in the system are not Intel P6 and NetBurst micro-
       architecture Microprocessors. Exiting
ERROR: All Pentium(R) Pro Processor steppings present cannot be 
	   updated. Exiting
REASON: Processor must contain an Intel Pentium Pro, Pentium II, Pentium III,
        Pentium 4, Celeron, Pentium II Xeon, Pentium III Xeon, or Pentium II
        OverDrive processor that has a CPUID signature of 0x612 or newer to
        be compatible with this microcode update API. One of these
        conditions is not being met by the system.
	  

ERROR: Unable to allocate enough memory to determine cache size.
ERROR: Unable to allocate enough memory.
REASON: The utility can't find enough free system memory (aprox.
	   330K bytes) for allocating various data buffers.  


ERROR: Unable to open update database file: [FILENAME].
ERROR: No microcode update for signature 0xXXX found
	  in database file. Please obtain the latest database file.
ERROR: Microcode update loader version is incompatible with data 
	  file. Version: XX.
ERROR: Checksum failure in database record XX.
ERROR: Update not loaded. Microcode update header contains a 
	  loader version which was not recognized by the BIOS.
ERROR: Update not loaded. Microcode update checksum incorrect.
ERROR: Update not loaded. Microcode update was rejected
	  by processor.
ERROR: No microcode update found for processor(s) in database file. 
	  Ensure you are working with the latest database file.
ERROR: Database file does not contain updates for all of
	  the unique processor steppings in the system.
	  Please obtain the latest database file.
REASON: Database file (PEPx.PDB) is corrupt or not the most current one
	   available. Obtain the latest version of this file. 


ERROR: Update Load Verification Failed!
ERROR: Update not loaded. Failure due to inability to 
	  erase flash memory device
ERROR: Update not loaded. Failure due to inability to 
	  read flash memory device.
ERROR: Update not successully enabled. BIOS unable to read flash 
	  memory device.
ERROR: Failure reading flash memory device.
ERROR: Update not loaded. BIOS unable to write to flash memory device.
	  Ensure jumper settings on motherboard are correct.
ERROR: Error reading microcode update slot XX.
ERROR: Verification of microcode update write to flash memory failed.
REASON: FLASH memory device has failed, or writes are not enabled          
	   due to incorrect jumper settings on the motherboard.
		

ERROR: 0x%x OEM Error: 0x%x enabling update.
ERROR: 0x%x OEM Error 0x%x reading update,
ERROR: 0x%x OEM Error 0x%x writing update.,
ERROR: Update not loaded. All microcode update slots 
	  are occupied. BIOS is not managing slots 
	  correctly. Please contact your motherboard vendor.
REASON: BIOS vendor does not correctly support the API specification               
	   and has returned an unrecognized error code to the utility.
	   Inform your motherboard vendor of these results, and obtain        
	   an updated BIOS from them.


ERROR: Number of unique processors exceeds 4,
	  which is the limit of this update utility.
ERROR: Number of updates required exceeds the maximum number 
	  of slots implemented by the BIOS.
ERROR: BIOS does not contain sufficient number of slots
	  to store the microcode update(s).
REASON: Motherboard contains a larger number of unique-stepping 
	   processors then the BIOS or this utility supports. If 
	   possible, install a mix of processors that reduces the 
	   number of unique steppings, or consult your motherboard 
	   vendor to obtain a BIOS that supports the same number of
	   microcode update slots as it does processors

    

7) LEGAL NOTICE
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. 
YOU MAY COPY THE ATTACHED PROCESSOR UPDATE UTILITY AND DATABASE FILE SOLELY 
FOR YOUR USE WITH THE INTEL PENTIUM PRO, PENTIUM II, PENTIUM III, PENTIUM 4, Xeon,
CELERON, PENTIUM II XEON, PENTIUM III XEON, AND PENTIUM II OVERDRIVE
PROCESSOR.

NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY 
INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS 
PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL 
ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED 
WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY 
OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, 
OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY 
RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, 
OR LIFE SUSTAINING APPLICATIONS. INTEL MAY MAKE CHANGES TO SPECIFICATIONS 
AND PRODUCT DESCRIPTIONS AT ANY TIME, WITHOUT NOTICE.

DESIGNERS MUST NOT RELY ON THE ABSENCE OR CHARACTERISTICS OF ANY FEATURES 
OR INSTRUCTIONS MARKED "RESERVED" OR "UNDEFINED." INTEL RESERVES THESE 
FOR FUTURE DEFINITION AND SHALL HAVE NO RESPONSIBILITY WHATSOEVER FOR 
CONFLICTS OR INCOMPATIBILITIES ARISING FROM FUTURE CHANGES TO THEM.

THE INTEL PENTIUM PRO, PENTIUM II, PENTIUM III, PENTIUM 4, Xeon,
CELERON, PENTIUM II XEON, PENTIUM III XEON, AND PENTIUM II OVERDRIVE
PROCESSORS MAY CONTAIN DESIGN DEFECTS OR ERRORS KNOWN AS ERRATA.  CURRENT 
CHARACTERIZED ERRATA ARE AVAILABLE ON REQUEST.

8) REVISION HISTORY

Rev. 7.13 
2/3/05  -Added latest production micorocode updates from files PER_P_41.exe,
	SRV_P_42.exe, VAL_P_27.exe.
	-Corrected code which interprets extended signature headers structures
Rev. 7.12 
10/25/04 Added latest "production,"microcode        
	updates from files:  per_p_38.zip, srv_P_38.zip,        
	val_p_25.zip  by S. Gallo  
Rev. 7.11
10/01/04 Version 7.11 B Triplett                                 
          Modified text string changes to make output more clear. 

Rev. 7.10 - 08/04/04
-Added latest microcode updates for Desktop and Server processors.
-Fixed minor bug found by customer.

Rev. 7.00 - 1/26/04
-Added support for variable lenght microcodes
-Added latest microcode updates for Desktop and Server processors.

Rev. 6.13 - 11/18/03
- Updated microcode updates for
	Intel Xeon Processor MP C0 Stepping CPUID=xF11
	Intel Xeon Processor MP A0 Stepping CPUID=xF22
	Intel Xeon Processor DP M0 Stepping CPUID=xF25
	Intel Xeon Processor DP D0 Stepping CPUID=xF12
	Intel Xeon Processor DP C1 Stepping CPUID=xF27
	Intel Xeon Processor DP D1 Stepping CPUID=xF29
	Intel Pentium 4 Processor B0 Stepping CPUID=xF24
	Intel Pentium 4 processor C1 Stepping CPUID=xF27
	Intel Pentium 4 processor D1 Stepping CPUID=xF29
	Intel Pentium 4 processor M0 Stepping CPUID=xF25
	Intel Celeron processor M0 Stepping CPUID=xF25
	Intel Celeron processor D1 Stepping CPUID=xF29
Rev. 6.12 - 06/26/03
- Updated microcode updates for
	Intel Xeon Processor B0 Stepping CPUID=xF29
	Intel Xeon Processor C1 Stepping CPUID=xF27
	Intel Xeon Processor MP B1 Stepping CPUID=xF25
	Intel Xeon Processor DP M0 Stepping CPUID=xF25
	Intel Xeon Processor DP D0 Stepping CPUID=xF12
	Intel Pentium 4 Processor E0 Stepping CPUID=xF13
	Intel Pentium 4 processor D0 Stepping CPUID=xF12
	Intel Pentium 4 processor 423 pin D0 Stepping CPUID=xF12
	Intel Celeron Processor E0 Stepping CPUID=xF13

Rev. 6.10 - 03/04/03
- Added microcode updates for
	Intel Xeon Processor B0 Stepping CPUID=xF24
	Intel Pentium 4 Processor B0 Stepping CPUID=xF24
	Intel Pentium 4 Processor C1 Stepping CPUID=xF27
	Intel Pentium 4 Processor C1 Stepping CPUID=xF29
	Intel Pentium M Processor B1 Stepping CPUID=x695
	Mobile Pentium 4 Processor B0 Stepping CPUID=xF24
	Mobile Pentium 4 Processor B0 Stepping CPUID=xF27
-Made changes to support Intel Pentium M Processor.  
	
Rev. 6.09 - 11/01/02
- Added microcode updates for
	Intel Xeon Processor C1 Stepping CPUID=xf0A
	Intel Xeon Processor A0 Stepping CPUID=xF22
	Intel Xeon Processor C0 Stepping CPUID=xF11
	Intel Xeon Processor D0 Stepping CPUID=xF12
	Intel Xeon Processor B1 Stepping CPUID=xF24
	Intel Xeon Processor C1 Stepping CPUID=xF27

	Intel Pentium 4 Processor B2 Stepping CPUID=xF07
	Intel Pentium 4 Processor C1 Stepping CPUID=xF0A
	Intel Pentium 4 Processor D0 Stepping CPUID=xF12
	Intel Pentium 4 Processor C1 Stepping CPUID=xF0A
	Intel Pentium 4 Processor D0 Stepping CPUID=xF12
	Intel Pentium 4 Processor E0 Stepping CPUID=xF13
	Intel Pentium 4 Processor B0 Stepping CPUID=xF24
	Intel Pentium 4 Processor C1 Stepping CPUID=xF27

	Intel Pentium III processor B1 stepping CPUID=x6B4
	Intel Pentium III processor -S w/ 512k cache B1 stepping CPUID=x6B4
	
	Intel Celeron Processor C1 Stepping CPUID=xF27
	Intel Celeron Processor E0 Stepping CPUID=xF13
	Intel Celeron Processor B1 Stepping CPUID=x6B4	

Rev. 6.08 - 5/29/02
- Added microcode updates for
   	Intel Xeon Processor MP C0 Stepping CPUID=xF11
	Intel Pentium 4 Processor E0 Stepping CPUID=xF13 
	Intel Celeron Processor E0 Stepping CPUID=xF13
Rev. 6.07 - 3/20/02
-Added microcode updates for
	Mobile Pentium 4 Processor B0 Stepping CPUID=xF24 
	Mobile Pentium III Processor B1 Stepping CPUID=x6B1    
  	Mobile Pentium III Processor D0 Stepping CPUID=x68A uFC-PGA 
	Mobile Pentium III Processor D0 Stepping CPUID=x68A Micro-PGA2
	Mobile Intel Celeron Processor B1 Stepping CPUID=x6B1      
  	Mobile Intel Celeron Processor D0 Stepping CPUID=x68A uFC-PGA 
  	Mobile Intel Celeron Processor D0 Stepping CPUID=x68A Micro-PGA2
-Replaced microcode updates for
	Pentium 4 Processor B0 Stepping CPUID=xF24 
 	Pentium 4 Processor D0 Stepping CPUID=xF12 478-pin
  	Pentium 4 Processor D0 Stepping CPUID=xF12 423-pin
 	Pentium 4 Processor C1 Stepping CPUID=xF0A 478-pin
  	Pentium 4 Processor C1 Stepping CPUID=xF0A 423-pin
 	Pentium 4 Processor B2 Stepping CPUID=xF07
   	Intel Xeon Processor B0	Stepping CPUID=xF24
 	Intel Xeon Processor D0	Stepping CPUID=xF12	
  	Intel Xeon Processor C1	Stepping CPUID=xF0A	  
 

Rev. 6.06 - 1/4/02
-Improved the utilitie's ability to correctly identify Intel processors using the Brandsting function
-Added microcode updated for:
	Intel(R) Xeon(TM) Processor B0 Stepping CPUID=xF24
	Intel(R) Pentium 4 processor B0 stepping CPUID=xF24 

Rev. 6.05 - 10/9/01
-Added support for all processers which use Extended CPUID function "Brandstring"
the Brandstring CPUID function will allow utility to support all future Intel processor
micorcode updates.
-Added microcode update for:
	Intel(R) Xeon(TM) Processor D0 Stepping CPUID=xF12
	
Rev. 6.04 - 8/24/01
-Added microcode updates for:
	Pentium 4 processor C1 stepping CPUID=xF0A w/ 478pin
	Pentium 4 processor D0 stepping CPUID=xF12 w 478 pin
	Pentium 4 processor D0 stepping CPUID=xF12 w 423 pin
-Added support for the Pentium 4 processor CPUID=xF12.

Rev. 6.03 - 6/6/2001
- Added support for the Intel Xeon processor.
- Added support for the Pentium III processor CPUID=x6Bx
- Added microcode updates for:
	Pentium III processor A1 stepping CPUID=x6B1
	Xeon processor C1 stepping CPUID=xF0A

Rev. 6.02 - 3/29/2001
- Updated microcode updates for:
	Pentium III Xeon processor B0 stepping CPUID=x683
	Pentium III processor B0 stepping in the PGA370 package CPUID=x683
	Pentium III processor B0 stepping in the SC242 package CPUID=x683
        Intel Celeron processor B0 stepping in the PGA370 package CPUID=x683
- Added micorcode updates for:
	Pentium III processor and Celeron processor D0 stepping CPUID=x68A
	Pentium 4 processor C0 stepping. CPUID=xF0A

Rev. 6.01 - 1/24/2001
- Fixed ID issue with Pentium III Xeon processor.
- Added microcode update for Pentium III Xeon processor D0 stepping.

Rev. 6.00 - 11/17/2000
- Added support for the Pentium 4 processor.  Added microcode updates for
  Pentium 4 processor B2 stepping, CPUID=xF07.
- Fixed identification issue with A-stepping Pentium III Xeon processors
- Fixed identification issue with PC0 stepping mobile Pentium III processor

Rev. 5.15 - 10/19/2000
- Added microcode updates for Pentium III processor cC0 stepping, Intel
  Celeron processor cC0 stepping, and Pentium III Xeon processor C0
  stepping, all CPUID=x686
- Added microcode updates for mobile Pentium III processor PC0 stepping and
  mobile Intel Celeron processor PC0 stepping, both CPUID=x686

Rev. 5.14 - 7/26/2000
- Added microcode updates for Pentium III Xeon processor A0 and A1 stepping,
  CPUID x6A0 and x6A1
- Corrected table to indicate support for the Intel Celeron processor cB0
  stepping CPUID x683

Rev. 5.13 - 3/16/2000
- Added microcode updates for Mobile Pentium III Processor, B0 stepping
- Fixed compatibility issue with some Intel server boards

Rev. 5.12 - 2/4/2000
- Added microcode updates for Pentium III processor cB0 stepping, Pentium
  III Xeon processor B0 stepping
- Added support for Intel Celeron processors built on 0.18 micron process
- Added support for Pentium III Xeon processors with large L2 cache built
  on 0.18 micron process

Rev. 5.11 - 12/17/1999
- Added microcode updates for mobile Pentium III processor A2 stepping

Rev. 5.10 - 11/30/1999
- Updated microcode updates for Pentium III and Pentium III Xeon processors

Rev. 5.09 - 9/27/1999
- Added support for Intel mobile processors and Pentium III processors built
  on 0.18 micron process

Rev. 5.07 - 7/6/1999
- Updated microcode update for dB1 stepping of Pentium II processor

Rev. 5.06 - 6/21/1999
- Fixed issue with loading the microcode update for the Pentium III Xeon
  processor C0 stepping

Rev. 5.05 - 6/9/1999
- Added microcode updates for the Pentium II, Pentium III, and Intel Celeron
  processors.

Rev. 7.17 - 7/20/2006
- Added microcode updates for the Intel Celeron
  processors.

