Subversion Repositories Kolibri OS

Rev

Rev 318 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 318 Rev 485
Line 128... Line 128...
128
  cmp  byte [f], 5
128
  cmp  byte [f], 5
129
  jne  noAMDK6
129
  jne  noAMDK6
130
  mov  eax, 68	  ; AMD-K6 (p.30)
130
  mov  eax, 68	  ; AMD-K6 (p.30)
131
  mov  ebx, 3
131
  mov  ebx, 3
132
  mov  edx, 0x0C0000087
132
  mov  edx, 0x0C0000087
133
  int  0x40    ; eax - low dword
133
  mcall    ; eax - low dword
134
  and  eax, 111b
134
  and  eax, 111b
135
  mov  cl, [athloncoef3 + eax]
135
  mov  cl, [athloncoef3 + eax]
136
  cmp  eax, 6
136
  cmp  eax, 6
137
  jne  @f
137
  jne  @f
138
  cmp  byte[m], 8
138
  cmp  byte[m], 8
Line 150... Line 150...
150
	cmp	edx, 6
150
	cmp	edx, 6
151
	je	AMDK7M
151
	je	AMDK7M
152
@@:	mov	eax, 68		; Athlon/AthlonXP
152
@@:	mov	eax, 68		; Athlon/AthlonXP
153
	mov	ebx, 3
153
	mov	ebx, 3
154
	mov	edx, 0x0C0010015
154
	mov	edx, 0x0C0010015
155
	int	0x40
155
	mcall
156
	mov	ebx, eax
156
	mov	ebx, eax
157
	shr	ebx, 24
157
	shr	ebx, 24
158
	and	ebx, 0x0F
158
	and	ebx, 0x0F
159
	shr	eax, 20
159
	shr	eax, 20
160
	jnc	@f
160
	jnc	@f
Line 163... Line 163...
163
	ret
163
	ret
Line 164... Line 164...
164
 
164
 
165
AMDK7M:	mov	eax, 68		; AthonXP-M
165
AMDK7M:	mov	eax, 68		; AthonXP-M
166
	mov	ebx, 3
166
	mov	ebx, 3
167
	mov	edx, 0xC0010042
167
	mov	edx, 0xC0010042
168
	int	0x40
168
	mcall
169
	and	eax, 0x1F
169
	and	eax, 0x1F
170
	mov	cl, [athlonmcoef + eax]
170
	mov	cl, [athlonmcoef + eax]
Line 171... Line 171...
171
	ret
171
	ret
Line 178... Line 178...
178
	cmp	edx, 6
178
	cmp	edx, 6
179
	je	AMDK8M
179
	je	AMDK8M
180
	mov	eax, 68		; Athon64
180
	mov	eax, 68		; Athon64
181
	mov	ebx, 3
181
	mov	ebx, 3
182
	mov	edx, 0xC0010015
182
	mov	edx, 0xC0010015
183
	int	0x40
183
	mcall
184
	shr	eax, 24
184
	shr	eax, 24
185
	and	al, 0x3F
185
	and	al, 0x3F
186
	shr	al, 1
186
	shr	al, 1
187
	add	al, 4
187
	add	al, 4
188
	mov	dl, 10
188
	mov	dl, 10
Line 191... Line 191...
191
	ret
191
	ret
Line 192... Line 192...
192
 
192
 
193
AMDK8M:	mov	eax, 68		; Athon64-M
193
AMDK8M:	mov	eax, 68		; Athon64-M
194
	mov	ebx, 3
194
	mov	ebx, 3
195
	mov	edx, 0xC0010042
195
	mov	edx, 0xC0010042
196
	int	0x40
196
	mcall
197
	and	al, 0x3F
197
	and	al, 0x3F
198
	shr	al, 1
198
	shr	al, 1
199
	add	al, 4
199
	add	al, 4
200
	mov	dl, 10
200
	mov	dl, 10
Line 209... Line 209...
209
	cmp	byte [t], 6
209
	cmp	byte [t], 6
210
	jne	@f
210
	jne	@f
211
	mov	eax, 68		; Pentium M
211
	mov	eax, 68		; Pentium M
212
	mov	ebx, 3
212
	mov	ebx, 3
213
	mov	edx, 0x2A
213
	mov	edx, 0x2A
214
	int	0x40
214
	mcall
215
	shr	eax, 22
215
	shr	eax, 22
216
	and	eax, 0x1F
216
	and	eax, 0x1F
217
	mov	dl, 10
217
	mov	dl, 10
218
	mul	dl
218
	mul	dl
219
	mov	cl, al
219
	mov	cl, al
Line 221... Line 221...
221
@@:	cmp	byte [m], 2
221
@@:	cmp	byte [m], 2
222
	jae	@f
222
	jae	@f
223
	mov	eax, 68		; Pentium 4 / Xeon (model < 2) Willamete
223
	mov	eax, 68		; Pentium 4 / Xeon (model < 2) Willamete
224
	mov	ebx, 3
224
	mov	ebx, 3
225
	mov	edx, 0x2A
225
	mov	edx, 0x2A
226
	int	0x40
226
	mcall
227
	shr	eax, 8
227
	shr	eax, 8
228
	and	eax, 0x0F
228
	and	eax, 0x0F
229
	mov	cl, [p4coef + eax]
229
	mov	cl, [p4coef + eax]
230
	ret
230
	ret
231
@@:	mov	eax, 68		; Pentium 4 / Xeon (model >= 2) NorthWood
231
@@:	mov	eax, 68		; Pentium 4 / Xeon (model >= 2) NorthWood
232
	mov	ebx, 3
232
	mov	ebx, 3
233
	mov	edx, 0x2C
233
	mov	edx, 0x2C
234
	int	0x40
234
	mcall
235
	shr	eax, 24
235
	shr	eax, 24
236
	and	eax, 0x1F
236
	and	eax, 0x1F
237
	mov	dl, 10
237
	mov	dl, 10
238
	mul	dl
238
	mul	dl
239
	mov	cl, al
239
	mov	cl, al
Line 242... Line 242...
242
	cmp	byte[f], 6
242
	cmp	byte[f], 6
243
	jne	noIntelP6
243
	jne	noIntelP6
244
	mov	eax, 68		; Pentium Pro / Pentium II / Pentium III
244
	mov	eax, 68		; Pentium Pro / Pentium II / Pentium III
245
	mov	ebx, 3
245
	mov	ebx, 3
246
	mov	edx, 0x2A
246
	mov	edx, 0x2A
247
	int	0x40
247
	mcall
248
	shr	eax, 22
248
	shr	eax, 22
249
	test	al, 0x20
249
	test	al, 0x20
250
	jz	@f
250
	jz	@f
251
	or	al, 0x10
251
	or	al, 0x10
252
@@:	and	eax, 0x1f
252
@@:	and	eax, 0x1f