Bug Check 0x5D

The UNSUPPORTED_PROCESSOR bug check shows that at least one processor is of a type that is (no longer) supported.

Bug Check Code UNSUPPORTED_PROCESSOR
1st Argument family, model and stepping, in general;
but 0x0386 if processor is an 80386
2nd Argument first four characters of CPU vendor string, in general;
but zero if processor is an 80386
3rd Argument second four characters of CPU vendor string, in general;
but zero if processor is an 80386
4th Argument third four characters of CPU vendor string, in general;
but zero if processor is an 80386

In general, the family, model and stepping of the offending processor are given as byte-wide bit fields in the first argument:

bits 0 to 7 stepping
bits 8 to 15 model
bits 16 to 23 family
bits 24 to 31 3 in Windows Vista;
1 in Windows XP

The significance of the highest byte is not presently known. The indicated values are hard-coded for the free builds of both the uni-processor and multi-processor kernels.

Which Processors?

All 80386 processors are unsupported, and have been since at least Windows NT 4.0.

Other processors cause this bug check if they lack support for particular CPU features. Windows Vista requires the following:

Requiring support for the CMPXCHG8B instruction may date from Windows XP: it is seen in Windows XP (Service Pack 1a) but not Windows 2000 (original). Though the support is established by testing for the feature rather than inferring it for particular models, a consequence is to make all 80486 processors unsupported, if Intel is to be believed that this instruction “is not supported on Intel processors earlier than the Pentium processors.” (See the Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference A-M.)

Requiring the time-stamp counter seems to be new to Windows Vista: it is not seen in Windows XP (Service Pack 1a).

Documentation Status

Microsoft’s documentation says that there are no parameters for this bug check.