type
ESDLCpuIdError = class(ESDLError);
{ CPU standard features (bits 0..31) of feature set flags }
TCPUFeatures = (cpuft_fpu, cpuft_vme, cpuft_de, cpuft_pse, cpuft_tsc,
cpuft_msr, cpuft_pae, cpuft_mce, cpuft_cx8, cpuft_apic,
cpuft_sepamd, cpuft_sep, cpuft_mtrr, cpuft_pge, cpuft_mca,
cpuft_cmov, cpuft_pat, cpuft_pse36, cpuft_serial, cpuft_clflush,
cpuft_reserved1, cpuft_dts, cpuft_acpi, cpuft_mmx, cpuft_xsr,
cpuft_simd, cpuft_simd2, cpuft_ss, cpuft_reserved2, cpuft_tm,
cpuft_ia64, cpuft_3dnow);
const
{$IFDEF PAIDVERS}
SDLVersionInfo = 'cpuid_r1210_full';
IsLightEd = false;
{$ELSE}
SDLVersionInfo = 'cpuid_r1210_lighted';
IsLightEd = true;
{$ENDIF}
Release = 1210;
CPUFeatureNames: array[TCPUFeatures] of string =
('Floating Point Unit', // 0
'V86 Mode Extensions', // 1
'Debug Extensions - I/O breakpoints supported', // 2
'Page Size Extensions (4 MB pages supported)', // 3
'Time Stamp Counter and RDTSC instruction are available', // 4
'Model Specific Registers', // 5
'Physical Address Extensions (36-bit address, 2MB pages)', // 6
'Machine Check Exception supported', // 7
'Compare Exchange Eight Byte instruction available', // 8
'Local APIC present (multiprocessor operation support)', // 9
'Fast system calls (AMD only)', // 10
'Fast system calls', // 11
'Memory Type Range Registers', // 12
'Page Global Enable', // 13
'Machine Check Architecture', // 14
'Conditional MOVe instructions', // 15
'Page Attribute Table', // 16
'36 bit Page Size Extensions', // 17
'Processor Serial Number', // 18
'Cache Flush', // 19
'reserved', // 20
'Debug Trace Store', // 21
'ACPI support', // 22
'MultiMedia Extensions', // 23
'FXSAVE and FXRSTOR instructions', // 24
'SSE instructions', // 25
'SSE2 (WNI) instructions', // 26
'self snoop', // 27
'reserved', // 28
'Automatic clock control', // 29
'IA64 instructions', // 30
'3DNow! instructions available'); // 31
function CheckGeneratedCPUID (CPUId: string): boolean;
function CPU_BrandID: LongInt;
function CPU_Count: LongInt;
function CPU_ExFamily: LongInt;
function CPU_ExModel: LongInt;
function CPU_ExtendedFeatureSet: LongInt;
function CPU_Family: LongInt;
function CPU_FDIVBugPresent: Boolean;
function CPU_FeatureSet: LongInt;
function CPU_IDSupport: Boolean; register;
function CPU_MarketName: string;
function CPU_Model: LongInt;
function CPU_OverDrive: Boolean;
function CPU_SerialNumber: string;
function CPU_Signature: LongInt;
function CPU_Stepping: LongInt;
function CPU_Type: LongInt;
function CPU_VendorString: string;
function GenerateCPUID: string;
{$IFDEF GE_LEV25} // only available from 10.2 Tokyo upwards
function GenerateCPUIDEx: string;
{$ENDIF}
{$IFNDEF WIN64}
function CPU_Speed(ADelay: DWORD): Single;
{$ENDIF}
|