This fix is if Windows XP is only showing one processor on a multi processor/core machine.
1. Boot to safe mode with networking
2. Delete (or rename) the following if they exist from C:\WINDOWS\System32\
(Check for these. They usually do not exist but delete them if they do)
3. Copy the following into C:\WINDOWS\System32\ from the files described in the bottom note.
4. Reboot and it should fix itself the rest of the way.
NOTE: The new files in step 3 were taken from the originals which can be found on other machines in C:\WINDOWS\ServicePackFiles\i386:
halmacpi.dll renamed to –>HAL.DLL
ntkrnlmp.exe renamed to –>ntoskrnl.exe
ntkrpamp.exe renamed to –>ntkrnlpa.exe