11th March 2004
Updated with new P4/AMD64 processor model numbers
Added code to recognise Intel's new cache definition fields

6th May 2000
Corrected a P-III coppermine recognition problem. 
Added processor serial number recognition on P-III's.
Corrected AMD 3D Now recognition.
Probably broke a bunch of other stuff ;-)

4th May 2000
Brought up to date with Sysbench code. Now uses three files: cpuid3b.exe, cpuid.dat and pcidevs.txt. Output much the same as below but more up to date ;-)

1st Jan 1999

There are two other files included in this zip, cpuid3b.exe and pcicfg.dat. They both need to be in the same directory. Run cpuid3b from an OS/2 command prompt and you'll get a bunch of output. You may need to pipe it to a file or into more or use mode 80,50 to change the size of your command prompt before you run it. 

The output will look similar to this:
-------------------------------------------------------------------------
Invocation path = cpuid3b
This system has a Genuine Intel Pentium(R) II 300/333MHz 0.25m processor
CPU type field:   1
Processor Family: 6
Model:            3
Stepping:         2

The processor is an OverDrive(R) upgrade processor
The processor contains an on-chip FPU
The processor supports Virtual Mode Extensions
The processor supports Debugging Extensions
The processor supports Page Size Extensions
The processor supports Time Stamp Counter
The processor supports Model Specific Registers
The processor supports Physical Address Extension
The processor supports Machine Check Exceptions
The processor supports the CMPXCHG8B instruction
The processor contains an on-chip APIC
The processor supports the Fast System Call
The processor supports Memory Type Range Registers
The processor supports Global Paging Extensions
The processor supports Conditional Move Instruction
The processor supports Page Attribute Table
The processor supports 36 bit Page Size Extension
The processor supports Multimedia Extensions
The processor supports Fast Floating Point Save and Restore

16Kb instruction cache, 4 way set associative, 32 byte line size
16Kb data cache, 4 way set associative, 32 byte line size
512Kb unified level2 cache

This system has 1 PCI buses, PCI version 2.10
Intel - 82441FX PCI/Mem Controller (Mars/Natoma) (Bridge - CPU/PCI)
Intel - 82371SB PIIX3 ISA Bridge (Bridge - PCI/ISA)
Intel - 82371SB PIIX3 IDE Controller (Storage - IDE)
Matrox Graphics, Inc. - 2064W (Millennium) (Display - VGA)
Adaptec - Adaptec 2940UW Rev. B. (Storage - SCSI)
Adaptec - Adaptec 2940UW Rev. B. (Storage - SCSI)
-------------------------------------------------------------------------

What I want to know is

1a) Is the processor identification correct? (the line that starts "This system has a..."
1b) Do you have the type and speed of processor that it lists? 
2)  Does the processor description include the word "unknown"?
3a) In the section on PCI devices, are there any that say "Bus 0 Device 0xnn"?
3b) In the section on PCI devices, are there any that say "Unknown device 0x0nnn"?

If the answers to questions 1a and 1b are both "yes" and the answers to questions 2, 3a and 3b are all "no" then I don't need to know your results because everything is working ok. This'll keep my mailbox clear ;-)

If you have any other answers than these then you should send me your results along with a description of what is wrong. My mail address is trevor-hemsley@dial.pipex.com, thanks.

Trevor Hemsley
