added codename, extended features, merged older version of CPUID.

git-svn-id: svn://kolibrios.org@6483 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
mat1854 2016-08-18 02:06:21 +00:00
parent b7abf42dc1
commit ca53e0b2fe
7 changed files with 3384 additions and 1126 deletions

View File

@ -1,6 +1,2 @@
@erase lang.inc
@echo lang fix en >lang.inc
@fasm -m 16384 cpuid.asm cpuid
@erase lang.inc
@kpack cpuid
@pause
fasm cpuid.asm cpuid
pause

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,8 @@
; target platform: KolibriOS, x86 (IA-32), x86-64 achitectures
; compability: CPUID works in MS Windows by means of emulator KlbrInWin from Diamond http://board.kolibrios.org/viewtopic.php?f=23&t=1273
; compiler: flat assembler 1.70.03
; version: 2.28
; last update: 23rd October 2013
; version: 2.29
; last update: 12 October 2014
; maintained by: Sergey Kuzmin aka Wildwest
; e-mail: kuzmin_serg@list.ru
; site: http://coolthemes.narod.ru/files.html
@ -37,7 +37,7 @@
; improve support of Vortex86
;******************************************************************************
;HISTORY:
;2.3: CPUID 23/10/2013 (not finished)
;2.3: CPUID 12/10/2014 (not finished)
;Authors: Sergey Kuzmin aka Wildwest <kuzmin_serg@list.ru>
; Pavel Rymovskiy aka Heavyiron <Heavyiron@pisem.net>
; fedesco
@ -50,6 +50,7 @@
; (+) new cache descriptors for Intel;
; (+) fixed typo, which makes output of Brand ID for AMD CPU's at incorrect place by Heavyiron;
; (+) fixed typo, which makes selection of incorrect codename for AMD F8x CPU's;
; (+) added detection of Extended Model for Intel's CPU and example of it's use
;Known issues: Sempron marked as AthlonXP
; second window doesn't closed when you close main window
; incorrect multiplier detection for newest CPU

View File

@ -5,7 +5,7 @@ ENGLISH
Hi! My name is Sergey Kuzmin aka Wildwest.
This is one of the mostly famous program for KolibriOS/MenuetOS.
I called it CPUID. CPUID talks with you CPU and show log.
Current version is 2.28 and you can use it on your own risk without any warranty.
Current version is 2.29 and you can use it on your own risk without any warranty.
E-mail me (kuzmin_serg@list.ru) if you have some problems or suggestions.
All righs on this program are mine, except parts of code written by other developers.
@ -50,7 +50,7 @@ RUSSIAN
Привет! Меня зовут Сергей Кузьмин aka Wildwest.
Это одна из самых известных программ для KolibriOS/MenuetOS.
Она называется CPUID и показывает результаты идентификации процессора.
Это версия 2.28 и ВЫ можете её использовать на свой собственный риск безо всяких гарантий.
Это версия 2.29 и ВЫ можете её использовать на свой собственный риск безо всяких гарантий.
Если будут какие-то проблемы или предложения, то напишите мне (kuzmin_serg@list.ru).
Все права на программу принадлежат мне, кроме прав на части, написанных остальными разработчиками.

File diff suppressed because it is too large Load Diff

View File

@ -158,7 +158,7 @@ noAMDK6:cmp byte [f], 6
and edx, 6 ; voltage ID control & frequency ID control
cmp edx, 6
je AMDK7M
@@: mov eax, 68 ; Athlon/AthlonXP
@@: mov eax, 68 ; Athlon/AthlonXP
mov ebx, 3
mov edx, 0x0C0010015
mcall
@ -171,7 +171,7 @@ noAMDK6:cmp byte [f], 6
@@: mov cl, [athloncoef + ebx]
ret
AMDK7M: mov eax, 68 ; AthonXP-M
AMDK7M: mov eax, 68 ; AthonXP-M
mov ebx, 3
mov edx, 0xC0010042
mcall
@ -186,7 +186,7 @@ noAMDK7:cmp byte [f], 0xF
and edx, 6 ; voltage ID control & frequency ID control
cmp edx, 6
je AMDK8M
mov eax, 68 ; Athon64
mov eax, 68 ; Athon64
mov ebx, 3
mov edx, 0xC0010015
mcall
@ -199,7 +199,7 @@ noAMDK7:cmp byte [f], 0xF
mov cl, al
ret
AMDK8M: mov eax, 68 ; Athon64-M
AMDK8M: mov eax, 68 ; Athon64-M
mov ebx, 3
mov edx, 0xC0010042
mcall
@ -217,7 +217,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
jne noIntelP4
cmp byte [t], 6
jne @f
mov eax, 68 ; Pentium M
mov eax, 68 ; Pentium M
mov ebx, 3
mov edx, 0x2A
mcall
@ -229,7 +229,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
ret
@@: cmp byte [m], 2
jae @f
mov eax, 68 ; Pentium 4 / Xeon (model < 2) Willamete
mov eax, 68 ; Pentium 4 / Xeon (model < 2) Willamete
mov ebx, 3
mov edx, 0x2A
mcall
@ -237,7 +237,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
and eax, 0x0F
mov cl, [p4coef + eax]
ret
@@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) NorthWood
@@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) NorthWood
mov ebx, 3
mov edx, 0x2C
mcall
@ -250,7 +250,26 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
noIntelP4:
cmp byte[f], 6
jne noIntelP6
mov eax, 68 ; Pentium Pro / Pentium II / Pentium III
;edited code for test task-1
cmp byte[em],0x3A ;i3,i5,i7
je newCPU;
cmp byte[em],0x2A ;celeron dekstop, mobile, Xeon E3
je newCPU;
cmp byte[em],0x2D ;i7
je newCPU;
cmp byte[em],0x25 ;celeron, pentium, core i3,i5,i7
je newCPU;
cmp byte[em],0x2C ;Xeon 3000
je newCPU;
cmp byte[em],0x1E ;Clarksfield core i7
je newCPU;
cmp byte[em],0x1A ;Bloomfield-2008
je newCPU;
cmp byte[em],0x2E ;NEhlem ~2008
je newCPU;
mov eax, 68 ; Pentium Pro / Pentium II / Pentium III
mov ebx, 3
mov edx, 0x2A
mcall
@ -280,4 +299,6 @@ noIntelP4:
noIntel:
noIntelP6:
noAMDK8:
newCPU:
mov [nomultiplier], 1
ret

View File

@ -100,232 +100,232 @@ brand17len:
;features
FPU:
db 'FPU: '
db 'FPU: ',0
FPUlen:
VME:
db 'VME: '
db 'VME: ',0
VMElen:
DE:
db 'DE: '
db 'DE: ',0
DElen:
PSE:
db 'PSE: '
db 'PSE: ',0
PSElen:
TSC:
db 'TSC: '
db 'TSC: ',0
TSClen:
MSR:
db 'MSR: '
db 'MSR: ',0
MSRlen:
PAE:
db 'PAE: '
db 'PAE: ',0
PAElen:
MCE:
db 'MCE: '
db 'MCE: ',0
MCElen:
CX8:
db 'CX8: '
db 'CX8: ',0
CX8len:
APIC:
db 'APIC: '
db 'APIC: ',0
APIClen:
SEP:
db 'SEP: '
db 'SEP: ',0
SEPlen:
MTRR:
db 'MTRR: '
db 'MTRR: ',0
MTRRlen:
PGE:
db 'PGE: '
db 'PGE: ',0
PGElen:
MCA:
db 'MCA: '
db 'MCA: ',0
MCAlen:
CMOV:
db 'CMOV: '
db 'CMOV: ',0
CMOVlen:
PAT:
db 'PAT: '
db 'PAT: ',0
PATlen:
PSE36:
db 'PSE36: '
db 'PSE36: ',0
PSE36len:
PSNUM:
db 'PSNUM: '
db 'PSNUM: ',0
PSNUMlen:
CLFLUSHn:
db 'CLFLSH: '
db 'CLFLSH: ',0
CLFLUSHnlen:
DTS:
db 'DTS: '
db 'DTS: ',0
DTSlen:
ACPI:
db 'ACPI: '
db 'ACPI: ',0
ACPIlen:
MMX:
db 'MMX: '
db 'MMX: ',0
MMXlen:
FXSR:
db 'FXSR: '
db 'FXSR: ',0
FXSRlen:
SSE:
db 'SSE: '
db 'SSE: ',0
SSElen:
SSE2:
db 'SSE2: '
db 'SSE2: ',0
SSE2len:
SSn:
db 'SS: '
db 'SS: ',0
SSnlen:
TM:
db 'TM: '
db 'TM: ',0
TMlen:
IA64:
db 'IA64: '
db 'IA64: ',0
IA64len:
PBE:
db 'PBE: '
db 'PBE: ',0
PBElen:
Res:
db 'Reserved'
db 'Reserved',0
Reslen:
;Extended
SS3:
db 'SSE3: '
db 'SSE3: ',0
SS3len:
MON:
db 'MON: '
db 'MON: ',0
MONlen:
DS_CPL:
db 'DS-CPL: '
db 'DS-CPL: ',0
DS_CPLlen:
EST:
db 'EST: '
db 'EST: ',0
ESTlen:
TM2:
db 'TM2: '
db 'TM2: ',0
TM2len:
CNXT_ID:
db 'CNXT-ID: '
db 'CNXT-ID: ',0
CNXT_IDlen:
CX16:
db 'CX16: '
db 'CX16: ',0
CX16len:
ETPRD:
db 'xTPR/ETPRD: ' ; xTPR
db 'xTPR/ETPRD: ',0 ; xTPR
ETPRDlen:
;Extended2
SYS:
db 'SYSCALL: '
db 'SYSCALL: ',0
SYSlen:
MP:
db 'MP: '
db 'MP: ',0
MPlen:
NX:
db 'NX/XD: '
db 'NX/XD: ',0
NXlen:
MMXPi:
db 'MMX+: '
db 'MMX+: ',0
MMXPilen:
MMXn:
db 'MMX: '
db 'MMX: ',0
MMXnlen:
FXSRn:
db 'FXSR: '
db 'FXSR: ',0
FXSRnlen:
FFXSR:
db 'FFXSR: '
db 'FFXSR: ',0
FFXSRlen:
TSCP:
db 'TSCP: '
db 'TSCP: ',0
TSCPlen:
LM:
db 'EM64T/LM: ' ; AA64
db 'EM64T/LM: ',0 ; AA64
LMlen:
DNo:
db '3DNow!+: '
db '3DNow!+: ',0
DNolen:
DN:
db '3DNow!: '
db '3DNow!: ',0
DNlen:
LAF:
db 'LAHF: '
db 'LAHF: ',0
LAFlen:
VMX:
db 'VMX: '
db 'VMX: ',0
VMXlen:
SSSE3:
db 'SSSE3: '
db 'SSSE3: ',0
SSSE3len:
DCA:
db 'DCA: '
db 'DCA: ',0
DCAlen:
MCR8:
db 'MCR8: '
db 'MCR8: ',0
MCR8len:
SVM:
db 'SVM: '
db 'SVM: ',0
SVMlen:
CMPL:
db 'CMPL: '
db 'CMPL: ',0
CMPLlen:
;================================
abrand00:
@ -343,5 +343,13 @@ abrand1len:
abrand2:
db 'AMD Opteron MP'
abrand2len:
;=====================================
multi0:
db 'n/a'
multi0len:
;=====================================
clock0:
db 'n/a'
clock0len: