===========================================================================
|       Pentium(R) Pro Processor and Pentium(R) II Processor              |
|                  Processor Update Utility Help File                     |
|                             v3.2  June 1997                             |
|                   Copyright 1995-7, Intel Corporation.                  |
|                                                                         |
|                            TABLE OF CONTENTS                            |
|                   1) INTRODUCTION                                       |
|                   2) MICROCODE UPDATE OVERVIEW                          |
|                   3) USING THE PROCESSOR UPDATE UTILITY                 |
|                   4) ERROR MESSAGES                                     |
|                   5) LEGAL NOTICE                                       |
===========================================================================

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 the Pentium(R) Pro processor and Pentium II processor. The 
information in this document applies to PCs assembled using Boxed Pentium 
Pro processors and Boxed Pentium II processors. The term "Boxed processors" 
refers to processors packaged for use by system integrators.


2) MICROCODE UPDATE OVERVIEW 

The Pentium Pro processor and Pentium II processor 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, which are 
documented in the Pentum Pro Processor Specification Update and Pentium II 
Processor Specification Update, both of which can be found at www.intel.com.  
Pentium Pro and Pentium II processors 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 Pentium Pro and Pentium II 
processors 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 the Pentium Pro and Pentium II 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. These microcode update revisions are contained in the microcode
update database file, which comes with the Pentium Pro processor and 
Pentium II processor update utility.

					Table 1.  
	Processor steppings (revisions) and microcode update revisions 
        supported by the microcode update database file PEP4.PDB
		
		    Processor Stepping    Microcode Update Rev    
                                0x612               0xC6                
                                0x616               0xC6                
                                0x617               0xC6
                                0x619               0xD1
                                0x633               0x32

Using this utility, and the information in Table 1, integrators can 
easily verify that the correct microcode update is present in all Pentium 
Pro processor-based motherboards and Pentium II processor-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

CHECKUP3.EXE supports systems based on both the Pentium Pro processor and 
Pentium II processor. The Intel-defined processor update API is identical 
for both processors.

This Pentium Pro processor and Pentium II processor update utility, 
and it's associated files, are distributed in the self-extracting archive 
file PUPDT32.EXE, which includes the files listed below. Copy these files 
onto a DOS bootable diskette and boot from this diskette.

	1) CHECKUP3.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) PEPx.PDB    --  Microcode update database file, where "x" is the 
			revision number. This file will updated as required 
			when a new microcode update is released. 
	3) CHECKUP.HLP -- ASCII text help file that can be viewed from 
			CHECKUP3.EXE
	4) README.TXT  -- Same as CHECKUP.HLP and can be viewed with any ASCII 
			text viewer
	
CHECKUP3.EXE will create the following files in the present working 
directory:
	
	4) LASTUP.PDB  -- ASCII file created by CHECKUP3.EXE to store the
			name of the microcode update database file that was 
			most recently used.
	5) STATUS.LOG  -- ASCII file that contains the messages that 
			were printed to the screen during the most recent 
			update session.


COMMANDS/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:

			CHECKUP3 <CR>

The main menu should now be displayed, showing the following four 
options available:

	1)  Check and load update
	2)  Specify Microcode Update database file [current: pepx.pdb]
	3)  Help
	4)  Quit without loading update


SPECIFY UPDATE DATABASE:

Option #2 allows the microcode update database file to be specified. The 
target microcode update database file needs to be specified any time a new 
microcode update database file is obtained. Only one version of the 
microcode update database file will be the most current at any point in 
time. The most current microcode update database file contains data for all 
Pentium Pro and Pentium II processors that are in production. These files 
are named using the format PEPx.PDB, where the most current database file 
has the largest value of "x".

CHECK AND LOAD UPDATE (Example with Update API not present in the BIOS):

For motherboards with a BIOS that does not have the Intel-defined processor 
update API, option #1 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 no 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.

	The database file contains a microcode update (revision d1)
	for your processor. 
	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 "D1" microcode update was found in the 
database file. 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.

CHECK AND LOAD UPDATE (Examples where update API is present in the BIOS)

For motherboards with a system BIOS that DOES have the Intel-defined 
processor update API, option #1 can be used to determine that the system 
BIOS has loaded the latest microcode update into the processor and 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 from the 
microcode update database file (the "PEPx.pdb" file on the floppy disc.) 

 (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 32.

	The microcode update already loaded in yoiur processor is newer
	or as new as the microcode update (revision 32) in the database
	file.  Please make sure you have the latest database file.
	No changes were made to the system.

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

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

	Your processor contains a microcode update, revision c5.

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

	Would you like to permanently install the microcode update
	for this processor in your system BIOS? (Y/N) y

	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.


	<< Please Remove Floppy from Floppy Disk Drive,
	 Then COLD BOOT (power down) system to continue >>


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.


4) ERROR MESSAGES

ERROR: All processors in the system are not Pentium(R) Pro Processors or 
	   Pentium(R) II processors. Exiting
ERROR: All Pentium(R) Pro Processor steppings present cannot be 
	   updated. Exiting
REASON: Processor must contain an Intel Pentium Pro processor or Pentium II
	   processor that has a CPUID signature of 0x612 or newer to be 
	   compatible with this processor 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.

    

5) 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 PROCESSOR AND PENTIUM II 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 PENTIUM PRO PROCESSOR AND PENTIUM II PROCESSOR MAY CONTAIN DESIGN 
DEFECTS OR ERRORS KNOWN AS ERRATA. CURRENT CHARACTERIZED ERRATA ARE 
AVAILABLE ON REQUEST.
