XP SP2 vs. Intel Prescott

Geek's summary: SP2 will hard lock on all XP bootups if BIOS does not push Revision 8 (sometimes 7) microcode to Prescott processors!  Read on for fixes etc.

This page is specifically about a particular problem that can cause a minority of new PCs to lock up after installing Windows XP Service Pack 2.  Topics:

This page is a rush job, because right now Windows Update is delivering SP2 to users!

Typical SP2 issues

There are plenty of excellent pages on the usual SP2 issues such as programs that behave differently or don't work.  Instead, this is about a particular issue that is currently not covered in Microsoft's pre-install checks.  Other significant installation problems are covered here.

Most SP2 issues (and discussions thereof) will be the result of what SP2 does by design, and how this affects other programs that do things that run foul of that design. 

This is to be expected, given that SP2 design represents a change in direction for Microsoft; from allowing just about anything to do anything, to blocking several behaviors that malware exploit on a regular basis.  Developers who followed Microsoft's original direction to the max are now likely to find themselves caught in the crossfire (especially if they slept through the generously long SP2 beta period).

The best way to manage SP2 and the problems it may cause with other programs, is to understand what it does, and why.  That way, you can make a better call as to whether you should give the problem program what it wants, or not!

However, some users may be in for a nasty shock if they try to install XP Service Pack 2 on a PC that is running an Intel Prescott processor on a motherboard that isn't quite as Prescott-ready as was hoped.  The rest of this page is dedicated to such users, as what they will experience is far more traumatic than a couple of apps that don't work.

What is "Prescott"?

Prescott is the project name of the latest generation of Pentium 4 and Celeron processors from Intel.  They were released around June 2004, and feature smaller a fabrication size of 90nm that allows Level 2 cache to be doubled; the Celerons (Celeron D) enjoy a base speed boost from 400MHz to 533MHz too. So all Prescott Pentium 4 have 1M Level 2 cache, and all Celeron D have 256k Level 2 cache.  Odd chip out is the Prescott Pentium 4 at specifically 2.4GHz, which has a base speed of 533MHz rather than 800MHz.

Similarly affected by this XP SP2 issue may be the older, rare and costly Pentium 4 Extreme Edition; like Prescott, this enjoys a larger Level 2 cache.

What is "microcode"?

Anything sufficiently complex that has been handcrafted by humans will contain errors.  Modern software has millions of lines of source code, and modern processors have millions of transistors, so this applies to both.

Microsoft Operating Systems arrive on CD that is built to a particular Service Pack level, and errors found after that was made will be fixed via patches downloaded from their web site.

Intel processors are manufactured to a particular stepping level, and errors found after that was made may be fixed via microcode updates sent to the processor, typically by BIOS on every system startup.  BIOS is well-positioned to do this, as the content doesn't require a disk to survive or be accessed, and BIOS POST code will always be run, no matter what OS or disk drive is being booted up. 

Microcode updates are not stored permanently within the processor; they vanish when the power is cut, so every boot has to re-assert them.

What is the problem?

Normally, Windows XP will run whether the BIOS updates Prescott's microcode, or just leaves it at Revision 0.  But the new Update.sys installed as part of XP Service Pack 2 will hard lockup the PC if Prescott's microcode is left below Revision 8 (or for some Prescott steppings, Revision 7).

How can I predict this?

You can download a tool from Intel that will not only tell you whether your processor is relevant to this issue, but whether your BIOS is properly updating its microcode so that it will work properly (with particular respect to XP SP2).  The URL:

http://downloadfinder.intel.com/scripts-df/Product_Filter.asp?ProductID=441

If you have a Celeron with 256k Level 2 cache, or a Pentium 4 with over 1M of Level 2 cache, you have a processor that may be at risk.  In addition to this, if the revision level is less than 8 (in some cases 7; typically it will be 0) then you are definitely at risk.

The definitive fix is to get a BIOS update that will update Prescott's microcode to Revision 8 or better.  Then everything works.  Trouble is, your motherboard vendor may not have written that BIOS as yet; in many cases, even the latest BIOS doesn't do the necessary.

What will happen if I install SP2 on an affected PC?

The installation of SP2 will go fine, until it prompts to restart.  Then every attempt to boot XP (Last Known Good, Safe Mode Command Only, the works) will lock up hard before you ever see the desktop.  Fortunately, this happens before file system writes are pending, so the file system doesn't seem to get corrupted.

If you are doing a "normal" XP boot, you will see the black GUI splash screen with the progress indicator bar that normally moves back and forth.  In my case, this always locks up about 2/3 of its first pass from left to right.

If you do a Safe Mode boot, then you will see all your drivers being listed as they load.  The last one you see will usually be AGP440.SYS; if you rename that away so it can't load, then the one before that (typically MUP.SYS) will be the last thing you see before lockup.

At this point you may despair and do something truly damaging, such as trying to re-install Windows (or even wiping the hard drive and rebuilding the software installation).

How do I get out alive?

There are two ways; one that allows you to uninstall SP2 and carry on as if nothing had happened, and another that lets you keep SP2, with one file out of use.

Disable Level 1 and Level 2 cache in CMOS

This will leave the system running so slowly, you will often think it's crashed!  Have faith; XP will load fine, and you will be able to go to Start, Settings, Control Panel, Add/Remove Programs and uninstall Service Pack 2 from there. 

Expect this to take some hours; when it's done, shut down the PC.  On the next boot, go back into CMOS setup (the magic keys to do that vary between PCs; Del, Ctl+Alt+Esc, Ctl+Alt+S, F1, F2 and F10 are good guesses), find your way to where you disabled the Level 1 and 2 cache last time, enable these again, save settings and quit.

This is exactly what I did (thanks Cari for the tip!) and it worked fine.

Rename away Update.sys

For best results, keep a copy of your old pre-SP2 Update.sys somewhere else before you install SP2.  To find the file, navigate Windows Explorer into your Windows base directory (typically C:\Windows), then into System32, then into Drivers.  You may have to change settings so that Windows Explorer actually shows you these things!

After you install SP2, and the system can't boot Windows anymore, etc. then fire up your maintenance OS, find the Update.sys file as described, and rename it away.  If you kept the old pre-SP2 copy, then copy that back in as Update.sys - that is currently how I'm running my test PC, and time will tell how well this works.

Note: Running XP, perhaps especially with SP2, with Prescott that isn't microcode-updated to revision 8 or better, is not the ideal situation.  You really should update BIOS so that it updates the Prescott processor properly, for the definitive fix!

The big picture

It's worth keeping a sense of perspective on this; only the few PCs new enough to be running Prescott right now (August 2004) will be affected by this, and then only if the system's BIOS is not doing everything needed for Prescott compatibility.

 

(C) Chris Quirke, all rights reserved, 27 August 2004

Back to index