Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4106 → Rev 4107

/programs/system/cpuid/trunk/caches.inc
1,15 → 1,24
; Decoding cache L1,L2,L3 for Intel
 
decodecache32:
 
call decodecache
 
 
decodecache24:
 
shr eax, 8
 
call decodecache
 
shr eax, 8
 
call decodecache
 
shr eax, 8
 
 
decodecache:
 
comp0:
16,8 → 25,117
cmp al, 00h
je L000
 
;-------L2
 
comp6:
cmp al, 06h
je kk6
 
comp7:
cmp al, 08h
je kk7
 
comp61: ;+1
cmp al, 09h
je kk61
 
comp11:
cmp al, 0Ah
je kk11
je Ld8
 
 
comp13:
cmp al, 0Ch
je kk13
je Ld16
 
comp62: ;+1
cmp al, 0Dh
je kk15
 
comp63: ;+1
cmp al, 0Eh
je kk63
 
comp14:
cmp al, 10h
je kk14
je Ld16
 
 
comp8:
cmp al, 15h
je kk8
 
comp48:
cmp al, 1Ah
je kk48
je L96
 
comp64: ;+1
cmp al, 21h
je kk23
 
 
comp39:
cmp al, 22h
je kk39
je L305
 
comp40:
cmp al, 23h
je kk40
je L31
 
comp41:
cmp al, 25h
je kk41
je L32
 
comp42:
cmp al, 29h
je kk42
je L34
 
comp16:
cmp al, 2Ch
je kk16
je Ld32
 
comp10:
cmp al, 30h
je kk10
 
comp18:
cmp al, 39h
je kk18
je L128
 
comp49:
cmp al, 3Ah
je kk49
je L192
 
comp19:
cmp al, 3Bh
je kk19
je L128
 
comp22:
cmp al, 3Ch
je kk22
je L256
 
comp50:
cmp al, 3Dh
je kk50
je L384
 
comp51:
cmp al, 3Eh
je kk51
je L512
 
comp1:
cmp al, 41h
je kk1
43,261 → 161,334
je kk5
 
 
;------------L1 inst
comp6:
cmp al, 06h
je kk6
comp53:
cmp al, 46h
je kk53
je L34
 
comp7:
cmp al, 08h
je kk7
comp54:
cmp al, 47h
je kk54
je L38
 
comp8:
cmp al, 15h
je kk8
comp65: ;+1
cmp al, 48h
je kk26
 
 
comp9:
cmp al, 77h
je kk9
comp55:
cmp al, 49h
je kk55
je L34
 
comp56:
cmp al, 4Ah
je kk56
je L36
 
comp10:
cmp al, 30h
je kk10
comp57:
cmp al, 4Bh
je kk57
je L38
 
;---------------L1 data
comp11:
cmp al, 0Ah
je kk11
comp58:
cmp al, 4Ch
je kk58
je L312
 
comp59:
cmp al, 4Dh
je kk59
je L316
 
comp60:
cmp al, 4Eh
je kk60
je L6144
 
comp36:
cmp al, 60h
je kk36
je Ld16
 
comp12:
cmp al, 66h
je kk12
je Ld8
 
comp13:
cmp al, 0Ch
je kk13
 
comp14:
cmp al, 10h
je kk14
 
comp15:
cmp al, 67h
je kk15
je Ld16
 
comp16:
cmp al, 2Ch
je kk16
 
comp17:
cmp al, 68h
je kk17
je Ld32
 
;-------L2
comp18:
cmp al, 39h
je kk18
comp33:
cmp al, 70h
je kk33
je Li12
 
comp19:
cmp al, 3Bh
je kk19
comp34:
cmp al, 71h
je kk34
je Li16
 
comp35:
cmp al, 72h
je kk35
je Li32
 
 
comp47:
cmp al, 73h
je kk47
je Li64
 
 
comp9:
cmp al, 77h
je kk9
 
 
 
comp37:
cmp al, 78h
je kk37
je L1024
 
 
 
comp20:
cmp al, 79h
je kk20
je L128
 
comp21:
cmp al, 81h
je kk21
 
comp22:
cmp al, 3Ch
je kk22
 
comp23:
cmp al, 7Ah
je kk23
je L256
 
 
comp26:
cmp al, 7Bh
je kk26
je L512
 
comp29:
cmp al, 7Ch
je kk29
je L1024
 
comp38:
cmp al, 7Dh
je kk38
je L2048
 
comp24:
cmp al, 7Eh
je kk24
je L256
 
comp52:
cmp al, 7Fh
je kk52
je L512
 
 
comp66:
cmp al, 80h
je kk21
 
 
comp21:
cmp al, 81h
je kk21
je L128
 
 
comp25:
cmp al, 82h
je kk25
je L256
 
comp26:
cmp al, 7Bh
je kk26
 
comp27:
cmp al, 83h
je kk27
je L512
 
comp28:
cmp al, 86h
je kk28
 
comp29:
cmp al, 7Ch
je kk29
 
comp30:
cmp al, 84h
je kk30
je L1024
 
comp31:
cmp al, 87h
je kk31
 
comp32:
cmp al, 85h
je kk32
je L2048
 
;-----L1 Trace instr
comp28:
cmp al, 86h
je kk28
je L512
 
comp33:
cmp al, 70h
je kk33
comp31:
cmp al, 87h
je kk31
je L1024
 
comp34:
cmp al, 71h
je kk34
 
comp35:
cmp al, 72h
je kk35
 
;----New codes
 
comp36:
cmp al, 60h
je kk36
 
comp37:
cmp al, 78h
je kk37
 
comp38:
cmp al, 7Dh
je kk38
 
;---- L3
comp39:
cmp al, 22h
je kk39
 
comp40:
cmp al, 23h
je kk40
 
comp41:
cmp al, 25h
je kk41
 
comp42:
cmp al, 29h
je kk42
 
comp43:
cmp al, 88h
je kk43
je L32
 
comp44:
cmp al, 89h
je kk44
je L34
 
comp45:
cmp al, 8Ah
je kk45
je L38
 
comp46:
cmp al, 8Dh
je kk46
je L34
 
;============= v. 2.04
comp47:
cmp al, 73h
je kk47
 
comp48:
cmp al, 1Ah
je kk48
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;comp67: ;+1
;cmp al, 208 ; D0h
;je kk39
 
comp49:
cmp al, 3Ah
je kk49
;comp68: ;+1
;cmp al, 209 ; D1h
;je kk68
 
comp50:
cmp al, 3Dh
je kk50
;comp69: ;+1
;cmp al, 210 ; D2h
;je kk43
 
comp51:
cmp al, 3Eh
je kk51
;comp70: ;+1
;cmp al, 214 ; D6h
;je kk40
 
comp52:
cmp al, 7Fh
je kk52
;comp71: ;+1
;cmp al, 215 ; D7h
;je kk41
 
comp53:
cmp al, 46h
je kk53
;comp72: ;+1
;cmp al, 216 ;D8h
;je kk42
 
comp54:
cmp al, 47h
je kk54
;comp73: ;+1
;cmp al, 220 ; DCh
;je kk73
 
comp55:
cmp al, 49h
je kk55
;comp74: ;+1
;cmp al, 221 ;DDh
;je kk74
 
comp56:
cmp al, 4Ah
;comp75: ;+1
;cmp al, 222 ;DEh
;je kk56
 
;comp76: ;+1
;cmp al, 226 ;E2h
;je kk76
 
;comp77: ;+1
;cmp al, 227 ;E3h
;je kk55
 
;comp78: ;+1
;cmp al, 228 ;E4h
;je kk57
 
;comp79: ;+1
;cmp al, 234 ;EAh
;je kk79
 
;comp80: ;+1
;cmp al, 235 ;EBh
;je kk80
 
;comp81: ;+1
;cmp al, 236 ;ECh
;je kk81
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
comp67: ;+1
cmp al, 0D0h
je kk39
 
comp68: ;+1
cmp al, 0D1h
je kk68
 
comp69: ;+1
cmp al, 0D2h
je kk43
 
comp70: ;+1
cmp al, 0D6h
je kk40
 
comp71: ;+1
cmp al, 0D7h
je kk41
 
comp72: ;+1
cmp al, 0D8h
je kk42
 
comp73: ;+1
cmp al, 0DCh
je kk73
 
comp74: ;+1
cmp al, 0DDh
je kk74
 
comp75: ;+1
cmp al, 0DEh
je kk56
 
comp57:
cmp al, 4Bh
comp76: ;+1
cmp al, 0E2h
je kk76
 
comp77: ;+1
cmp al, 0E3h
je kk55
 
comp78: ;+1
cmp al, 0E4h
je kk57
 
comp58:
cmp al, 4Ch
je kk58
comp79: ;+1
cmp al, 0EAh
je kk79
 
comp59:
cmp al, 4Dh
je kk59
comp80: ;+1
cmp al, 0EBh
je kk80
 
ret
comp81: ;+1
cmp al, 0ECh
je kk81
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
jne L000
;------------------
 
kk1:
mov [wayl2], 4
mov [linel2], 32
jmp L128
 
kk2:
mov [wayl2], 4
mov [linel2], 32
jmp L256
 
kk3:
mov [wayl2], 4
mov [linel2], 32
jmp L512
 
kk4:
mov [wayl2], 4
mov [linel2], 32
jmp L1024
 
kk5:
mov [wayl2], 4
mov [linel2], 32
jmp L2048
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;; L1 instr
kk6:
mov [wayli], 4
mov [lineli], 32
318,6 → 509,32
mov [lineli], 64
jmp Li16
 
kk61:
mov [wayli], 4 ;+1
mov [lineli], 64
jmp Li32
 
 
kk33:
mov [wayli], 8
;mov [lineli], 32
jmp Li12
 
kk34:
mov [wayli], 8
;mov [lineli], 32
jmp Li16
 
kk35:
mov [wayli], 8
;mov [lineli], 32
jmp Li32
 
kk47:
mov [wayli], 8
;mov [lineli], 32
jmp Li64
 
kk10:
mov [wayli], 8
mov [lineli], 64
359,75 → 576,111
mov [wayld], 4
mov [lineld], 64
jmp Ld32
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
kk18:
mov [wayl2], 4
mov [linel2], 64
jmp L128
 
kk63:
mov [wayld], 6
mov [lineld], 64
jmp Ld24
 
kk36:
mov [wayld], 8
mov [lineld], 64
jmp Ld16
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;; L2
kk19:
mov [wayl2], 2
mov [linel2], 64
jmp L128
 
kk20:
mov [wayl2], 8
kk52:
mov [wayl2], 2
mov [linel2], 64
jmp L128
jmp L512
 
kk21:
mov [wayl2], 8
kk1:
mov [wayl2], 4
mov [linel2], 32
jmp L128
 
kk22:
kk2:
mov [wayl2], 4
mov [linel2], 64
mov [linel2], 32
jmp L256
 
kk23:
mov [wayl2], 8
mov [linel2], 64
jmp L256
 
kk24:
mov [wayl2], 8
mov [linel2], 128
jmp L256
 
kk25:
mov [wayl2], 4
mov [linel2], 32
jmp L256
 
kk26:
mov [wayl2], 8
mov [linel2], 64
kk3:
mov [wayl2], 4
mov [linel2], 32
jmp L512
 
kk27:
mov [wayl2], 8
kk4:
mov [wayl2], 4
mov [linel2], 32
jmp L512
jmp L1024
 
kk5:
mov [wayl2], 4
mov [linel2], 32
jmp L2048
 
kk18:
mov [wayl2], 4
mov [linel2], 64
jmp L128
 
kk22:
mov [wayl2], 4
mov [linel2], 64
jmp L256
 
kk28:
mov [wayl2], 4
mov [linel2], 64
jmp L512
 
kk29:
mov [wayl2], 8
kk51:
mov [wayl2], 4
mov [linel2], 64
jmp L512
 
kk37:
mov [wayl2], 4
mov [linel2], 64
jmp L1024
 
kk30:
kk48:
mov [wayl2], 6
mov [linel2], 64
jmp L96
 
kk49:
mov [wayl2], 6
mov [linel2], 64
jmp L192
 
kk50:
mov [wayl2], 6
mov [linel2], 64
jmp L384
 
kk21:
mov [wayl2], 8
mov [linel2], 32
jmp L1024
jmp L128
 
kk31:
kk27:
mov [wayl2], 8
mov [linel2], 64
mov [linel2], 32
jmp L512
 
kk30:
mov [wayl2], 8
mov [linel2], 32
jmp L1024
 
kk32:
434,37 → 687,52
mov [wayl2], 8
mov [linel2], 32
jmp L2048
;;;;;;;;;;;;;;;;;;;;;;;;;
kk33:
mov [wayli], 8
;mov [lineli], 32
jmp Li12
 
kk34:
mov [wayli], 8
;mov [lineli], 32
jmp Li16
kk20:
mov [wayl2], 8
mov [linel2], 64
jmp L128
 
kk35:
mov [wayli], 8
;mov [lineli], 32
jmp Li32
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
kk36:
mov [wayld], 8
mov [lineld], 64
jmp Ld16
kk23:
mov [wayl2], 8
mov [linel2], 64
jmp L256
 
kk37:
mov [wayl2], 4
kk26:
mov [wayl2], 8
mov [linel2], 64
jmp L512
 
kk29:
mov [wayl2], 8
mov [linel2], 64
jmp L1024
 
kk31:
mov [wayl2], 8
mov [linel2], 64
jmp L1024
 
kk38:
mov [wayl2], 8
mov [linel2], 64
jmp L2048
;;;;;;;;;;;;;;;;;;;;;;;;;
 
kk24:
mov [wayl2], 8
mov [linel2], 128
jmp L256
 
kk65:
mov [wayl2], 12
mov [linel2], 64
jmp L3072
 
kk60:
mov [wayl2], 24
mov [linel2], 64
jmp L6144
;;;;;;;;;;;;;;;;;;;;;;;;; L3
kk39:
mov [wayl3], 4
mov [linel3], 64
500,75 → 768,81
mov [linel3], 64
jmp L38
 
kk46:
mov [wayl3], 12
mov [linel3], 128
jmp L33
;;;;;;;;;;;;;;;;;;;;;;
kk47:
mov [wayli], 8
;mov [lineli], 32
jmp Li64
 
kk48:
mov [wayl2], 6
mov [linel2], 64
jmp L96
 
kk49:
mov [wayl2], 6
mov [linel2], 64
jmp L192
 
kk50:
mov [wayl2], 6
mov [linel2], 64
jmp L384
 
kk51:
mov [wayl2], 4
mov [linel2], 64
jmp L512
 
kk52:
mov [wayl2], 2
mov [linel2], 64
jmp L512
 
kk53:
mov [wayl3], 4
mov [linel3], 64
jmp L34
 
kk68:
mov [wayl3], 4
mov [linel3], 64
jmp L31
 
kk54:
mov [wayl3], 8
mov [linel3], 64
jmp L38
 
kk55:
mov [wayl3], 16
kk74:
mov [wayl3], 12
mov [linel3], 64
jmp L34
jmp L33
 
kk73:
mov [wayl3], 12
mov [linel3], 64
jmp L315
 
kk56:
mov [wayl3], 12
mov [linel3], 64
jmp L36
 
kk58:
mov [wayl3], 12
mov [linel3], 64
jmp L312
 
kk46:
mov [wayl3], 12
mov [linel3], 128
jmp L33
 
kk76:
mov [wayl3], 16
mov [linel3], 64
jmp L32
 
kk55:
mov [wayl3], 16
mov [linel3], 64
jmp L34
 
kk57:
mov [wayl3], 16
mov [linel3], 64
jmp L38
 
kk58:
mov [wayl3], 12
kk59:
mov [wayl3], 16
mov [linel3], 64
jmp L316
 
kk79:
mov [wayl3], 24
mov [linel3], 64
jmp L312
 
kk59:
mov [wayl3], 16
kk80:
mov [wayl3], 24
mov [linel3], 64
jmp L316
jmp L318
 
kk81:
mov [wayl3], 24
mov [linel3], 64
jmp L324
 
;------------------
Li8:
mov [L1i], 8
598,6 → 872,10
mov [L1d], 16
jmp L000
 
Ld24:
mov [L1d], 24
jmp L000
 
Ld32:
mov [L1d], 32
jmp L000
634,6 → 912,14
mov [L2], 2048
jmp L000
 
L3072:
mov [L2], 3072
jmp L000
 
L6144:
mov [L2], 6144
jmp L000
 
L305:
mov [L3], 512
jmp L000
642,6 → 928,10
mov [L3], 1024
jmp L000
 
L315:
mov [L3], 1536
jmp L000
 
L32:
mov [L3], 2048
jmp L000
668,9 → 958,15
 
L316:
mov [L3], 16384
;jmp L000
jmp L000
 
L318:
mov [L3], 18432
jmp L000
 
L324:
mov [L3], 24576
jmp L000
 
L000:
ret
ret