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 fasm cpuid.asm cpuid
@echo lang fix en >lang.inc pause
@fasm -m 16384 cpuid.asm cpuid
@erase lang.inc
@kpack 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 ; 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 ; 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 ; compiler: flat assembler 1.70.03
; version: 2.28 ; version: 2.29
; last update: 23rd October 2013 ; last update: 12 October 2014
; maintained by: Sergey Kuzmin aka Wildwest ; maintained by: Sergey Kuzmin aka Wildwest
; e-mail: kuzmin_serg@list.ru ; e-mail: kuzmin_serg@list.ru
; site: http://coolthemes.narod.ru/files.html ; site: http://coolthemes.narod.ru/files.html
@ -37,7 +37,7 @@
; improve support of Vortex86 ; improve support of Vortex86
;****************************************************************************** ;******************************************************************************
;HISTORY: ;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> ;Authors: Sergey Kuzmin aka Wildwest <kuzmin_serg@list.ru>
; Pavel Rymovskiy aka Heavyiron <Heavyiron@pisem.net> ; Pavel Rymovskiy aka Heavyiron <Heavyiron@pisem.net>
; fedesco ; fedesco
@ -50,6 +50,7 @@
; (+) new cache descriptors for Intel; ; (+) 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 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; ; (+) 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 ;Known issues: Sempron marked as AthlonXP
; second window doesn't closed when you close main window ; second window doesn't closed when you close main window
; incorrect multiplier detection for newest CPU ; incorrect multiplier detection for newest CPU

View File

@ -5,7 +5,7 @@ ENGLISH
Hi! My name is Sergey Kuzmin aka Wildwest. Hi! My name is Sergey Kuzmin aka Wildwest.
This is one of the mostly famous program for KolibriOS/MenuetOS. This is one of the mostly famous program for KolibriOS/MenuetOS.
I called it CPUID. CPUID talks with you CPU and show log. 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. 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. All righs on this program are mine, except parts of code written by other developers.
@ -50,7 +50,7 @@ RUSSIAN
Привет! Меня зовут Сергей Кузьмин aka Wildwest. Привет! Меня зовут Сергей Кузьмин aka Wildwest.
Это одна из самых известных программ для KolibriOS/MenuetOS. Это одна из самых известных программ для KolibriOS/MenuetOS.
Она называется CPUID и показывает результаты идентификации процессора. Она называется CPUID и показывает результаты идентификации процессора.
Это версия 2.28 и ВЫ можете её использовать на свой собственный риск безо всяких гарантий. Это версия 2.29 и ВЫ можете её использовать на свой собственный риск безо всяких гарантий.
Если будут какие-то проблемы или предложения, то напишите мне (kuzmin_serg@list.ru). Если будут какие-то проблемы или предложения, то напишите мне (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 and edx, 6 ; voltage ID control & frequency ID control
cmp edx, 6 cmp edx, 6
je AMDK7M je AMDK7M
@@: mov eax, 68 ; Athlon/AthlonXP @@: mov eax, 68 ; Athlon/AthlonXP
mov ebx, 3 mov ebx, 3
mov edx, 0x0C0010015 mov edx, 0x0C0010015
mcall mcall
@ -171,7 +171,7 @@ noAMDK6:cmp byte [f], 6
@@: mov cl, [athloncoef + ebx] @@: mov cl, [athloncoef + ebx]
ret ret
AMDK7M: mov eax, 68 ; AthonXP-M AMDK7M: mov eax, 68 ; AthonXP-M
mov ebx, 3 mov ebx, 3
mov edx, 0xC0010042 mov edx, 0xC0010042
mcall mcall
@ -186,7 +186,7 @@ noAMDK7:cmp byte [f], 0xF
and edx, 6 ; voltage ID control & frequency ID control and edx, 6 ; voltage ID control & frequency ID control
cmp edx, 6 cmp edx, 6
je AMDK8M je AMDK8M
mov eax, 68 ; Athon64 mov eax, 68 ; Athon64
mov ebx, 3 mov ebx, 3
mov edx, 0xC0010015 mov edx, 0xC0010015
mcall mcall
@ -199,7 +199,7 @@ noAMDK7:cmp byte [f], 0xF
mov cl, al mov cl, al
ret ret
AMDK8M: mov eax, 68 ; Athon64-M AMDK8M: mov eax, 68 ; Athon64-M
mov ebx, 3 mov ebx, 3
mov edx, 0xC0010042 mov edx, 0xC0010042
mcall mcall
@ -217,7 +217,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
jne noIntelP4 jne noIntelP4
cmp byte [t], 6 cmp byte [t], 6
jne @f jne @f
mov eax, 68 ; Pentium M mov eax, 68 ; Pentium M
mov ebx, 3 mov ebx, 3
mov edx, 0x2A mov edx, 0x2A
mcall mcall
@ -229,7 +229,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
ret ret
@@: cmp byte [m], 2 @@: cmp byte [m], 2
jae @f jae @f
mov eax, 68 ; Pentium 4 / Xeon (model < 2) Willamete mov eax, 68 ; Pentium 4 / Xeon (model < 2) Willamete
mov ebx, 3 mov ebx, 3
mov edx, 0x2A mov edx, 0x2A
mcall mcall
@ -237,7 +237,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
and eax, 0x0F and eax, 0x0F
mov cl, [p4coef + eax] mov cl, [p4coef + eax]
ret ret
@@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) NorthWood @@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) NorthWood
mov ebx, 3 mov ebx, 3
mov edx, 0x2C mov edx, 0x2C
mcall mcall
@ -250,7 +250,26 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU
noIntelP4: noIntelP4:
cmp byte[f], 6 cmp byte[f], 6
jne noIntelP6 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 ebx, 3
mov edx, 0x2A mov edx, 0x2A
mcall mcall
@ -280,4 +299,6 @@ noIntelP4:
noIntel: noIntel:
noIntelP6: noIntelP6:
noAMDK8: noAMDK8:
newCPU:
mov [nomultiplier], 1
ret ret

View File

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