…Show last 388 lines
61_F000:E144 shl edx, 16h
62_F000:E148 mov edi, edx
63_F000:E14B inc cx
64_F000:E14C cmp cx, 64h ; 'd'
65_F000:E14F jbe short loc_FE0EF
66_F000:E151 mov cx, 58h ; 'X'
67_F000:E154 mov al, 8
68_F000:E156 mov sp, 0E15Ch
69_F000:E159 jmp pci_write_dev
70_F000:E159 ; ---------------------------------------------------------------------------
71_F000:E15C dw offset loc_FE15E
72_F000:E15E ; ---------------------------------------------------------------------------
73_F000:E15E
74_F000:E15E loc_FE15E: ; DATA XREF: ram_cache+A6o
75_F000:E15E mov al, 1Fh
76_F000:E160 mov cx, 68h ; 'h'
77_F000:E163 mov sp, 0E169h
78_F000:E166 jmp pci_write_dev
79_F000:E166 ; ---------------------------------------------------------------------------
80_F000:E169 dw offset loc_FE16B
81_F000:E16B ; ---------------------------------------------------------------------------
82_F000:E16B
83_F000:E16B loc_FE16B: ; DATA XREF: ram_cache+B3o
84_F000:E16B mov al, 9
85_F000:E16D mov cx, 57h ; 'W'
86_F000:E170 mov sp, 0E176h
87_F000:E173 jmp pci_write_dev
88_F000:E173 ; ---------------------------------------------------------------------------
89_F000:E176 dw offset loc_FE178
90_F000:E178 ; ---------------------------------------------------------------------------
91_F000:E178
92_F000:E178 loc_FE178: ; DATA XREF: ram_cache+C0o
93_F000:E178 mov bl, 1Eh
94_F000:E17A mov cx, 60h ; '`'
95_F000:E17D xor edi, edi
96_F000:E180
97_F000:E180 loc_FE180: ; CODE XREF: ram_cache+10Bj
98_F000:E180 inc cx
99_F000:E181 cmp cx, 64h ; 'd'
100_F000:E184 ja short loc_FE1C3
101_F000:E186 mov sp, 0E18Ch
102_F000:E189 jmp pci_read_dev
103_F000:E189 ; ---------------------------------------------------------------------------
104_F000:E18C dw offset loc_FE18E
105_F000:E18E ; ---------------------------------------------------------------------------
106_F000:E18E
107_F000:E18E loc_FE18E: ; DATA XREF: ram_cache+D6o
108_F000:E18E xor edx, edx
109_F000:E191 mov dl, al
110_F000:E193 shl edx, 16h
111_F000:E197 cmp edi, edx
112_F000:E19A jz short loc_FE1AF
113_F000:E19C mov dword ptr [edi], 0FFFFFFFFh
114_F000:E1A4 cmp dword ptr [edi], 0FFFFFFFFh
115_F000:E1A9 jz short loc_FE1BE
116_F000:E1AB xor bl, bl
117_F000:E1AD jmp short loc_FE1C3
118_F000:E1AF ; ---------------------------------------------------------------------------
119_F000:E1AF
120_F000:E1AF loc_FE1AF: ; CODE XREF: ram_cache+E4j
121_F000:E1AF mov ah, cl
122_F000:E1B1 mov al, 1
123_F000:E1B3 and cl, 7
124_F000:E1B6 shl al, cl
125_F000:E1B8 not al
126_F000:E1BA and bl, al
127_F000:E1BC mov cl, ah
128_F000:E1BE
129_F000:E1BE loc_FE1BE: ; CODE XREF: ram_cache+F3j
130_F000:E1BE mov edi, edx
131_F000:E1C1 jmp short loc_FE180
132_F000:E1C3 ; ---------------------------------------------------------------------------
133_F000:E1C3
134_F000:E1C3 loc_FE1C3: ; CODE XREF: ram_cache+CEj
135_F000:E1C3 ; ram_cache+F7j
136_F000:E1C3 mov al, bl
137_F000:E1C5 mov cx, 68h ; 'h'
138_F000:E1C8 mov sp, 0E1CEh
139_F000:E1CB jmp pci_write_dev
140_F000:E1CB ; ---------------------------------------------------------------------------
141_F000:E1CE dw offset loc_FE1D0
142_F000:E1D0 ; ---------------------------------------------------------------------------
143_F000:E1D0
144_F000:E1D0 loc_FE1D0: ; DATA XREF: ram_cache+118o
145_F000:E1D0 mov al, 1
146_F000:E1D2 mov cx, 57h ; 'W'
147_F000:E1D5 mov sp, 0E1DBh
148_F000:E1D8 jmp pci_write_dev
149_F000:E1D8 ; ---------------------------------------------------------------------------
150_F000:E1DB dw offset torealmode
151_F000:E1DD ; ---------------------------------------------------------------------------
152_F000:E1DD
153_F000:E1DD torealmode: ; DATA XREF: ram_cache+125o
154_F000:E1DD mov eax, cr0
155_F000:E1E0 and al, 0FEh
156_F000:E1E2 mov cr0, eax
157_F000:E1E5 jmp far ptr loc_FE1EA
158_F000:E1EA
159_F000:E1EA loc_FE1EA:
160_F000:E1EA mov al, 0FFh
161_F000:E1EC mov sp, 0E1F2h
162_F000:E1EF jmp CMOS_L1cache
163_F000:E1EF ; ---------------------------------------------------------------------------
164_F000:E1F2 dw offset cache_detect
165_F000:E1F4 ; ---------------------------------------------------------------------------
166_F000:E1F4
167_F000:E1F4 cache_detect: ; DATA XREF: ram_cache+13Co
168_F000:E1F4 mov cx, 52h ; 'R'
169_F000:E1F7 mov al, 0A2h ; 'ó' ; 512KB Async Normal L2 cache operation (dependent on SGS)
170_F000:E1F9 mov sp, 0E1FFh
171_F000:E1FC jmp pci_write_dev
172_F000:E1FC ; ---------------------------------------------------------------------------
173_F000:E1FF dw offset cache_prefill
174_F000:E201 ; ---------------------------------------------------------------------------
175_F000:E201
176_F000:E201 cache_prefill: ; DATA XREF: ram_cache+149o
177_F000:E201 cld
178_F000:E202 mov dx, 8000h
179_F000:E205
180_F000:E205 loc_FE205: ; CODE XREF: ram_cache+15Dj
181_F000:E205 mov ds, dx
182_F000:E207 assume ds:nothing
183_F000:E207 xor si, si
184_F000:E209 mov cx, 4000h
185_F000:E20C rep lodsd
186_F000:E20F sub dx, 1000h
187_F000:E213 jnz short loc_FE205
188_F000:E215 mov cx, 52h ; 'R'
189_F000:E218 mov al, 61h ; 'a' ; 256KB Async Disabled; tag invalidate on reads
190_F000:E21A mov sp, 0E220h
191_F000:E21D jmp pci_write_dev
192_F000:E21D ; ---------------------------------------------------------------------------
193_F000:E220 dw offset loc_FE222
194_F000:E222 ; ---------------------------------------------------------------------------
195_F000:E222
196_F000:E222 loc_FE222: ; DATA XREF: ram_cache+16Ao
197_F000:E222 mov sp, 0E228h
198_F000:E225 jmp cache_test
199_F000:E225 ; ---------------------------------------------------------------------------
200_F000:E228 dw offset loc_FE22A
201_F000:E22A ; ---------------------------------------------------------------------------
202_F000:E22A
203_F000:E22A loc_FE22A: ; DATA XREF: ram_cache+172o
204_F000:E22A jnb short loc_FE26A
205_F000:E22C mov cx, 52h ; 'R'
206_F000:E22F mov al, 0B1h ; '¦' ; 512KB PB Disabled; tag invalidate on reads
207_F000:E231 mov sp, 0E237h
208_F000:E234 jmp pci_write_dev
209_F000:E234 ; ---------------------------------------------------------------------------
210_F000:E237 dw offset loc_FE239
211_F000:E239 ; ---------------------------------------------------------------------------
212_F000:E239
213_F000:E239 loc_FE239: ; DATA XREF: ram_cache+181o
214_F000:E239 mov sp, 0E23Fh
215_F000:E23C jmp cache_test
216_F000:E23C ; ---------------------------------------------------------------------------
217_F000:E23F dw offset loc_FE241
218_F000:E241 ; ---------------------------------------------------------------------------
219_F000:E241
220_F000:E241 loc_FE241: ; DATA XREF: ram_cache+189o
221_F000:E241 jnb short loc_FE296
222_F000:E243 mov cx, 52h ; 'R'
223_F000:E246 mov al, 51h ; 'Q' ; 256KB Burst Disabled; tag invalidate on reads
224_F000:E248 mov sp, 0E24Eh
225_F000:E24B jmp pci_write_dev
226_F000:E24B ; ---------------------------------------------------------------------------
227_F000:E24E dw offset loc_FE250
228_F000:E250 ; ---------------------------------------------------------------------------
229_F000:E250
230_F000:E250 loc_FE250: ; DATA XREF: ram_cache+198o
231_F000:E250 mov sp, 0E256h
232_F000:E253 jmp cache_test
233_F000:E253 ; ---------------------------------------------------------------------------
234_F000:E256 dw offset loc_FE258
235_F000:E258 ; ---------------------------------------------------------------------------
236_F000:E258
237_F000:E258 loc_FE258: ; DATA XREF: ram_cache+1A0o
238_F000:E258 jnb short loc_FE296
239_F000:E25A
240_F000:E25A loc_FE25A: ; CODE XREF: ram_cache:loc_FE27Fj
241_F000:E25A mov cx, 52h ; 'R'
242_F000:E25D mov al, 22h ; '"' ; 0KB Async Normal L2 cache operation (dependent on SGS)
243_F000:E25F mov sp, 0E265h
244_F000:E262 jmp pci_write_dev
245_F000:E262 ; ---------------------------------------------------------------------------
246_F000:E265 dw offset loc_FE267
247_F000:E267 ; ---------------------------------------------------------------------------
248_F000:E267
249_F000:E267 loc_FE267: ; DATA XREF: ram_cache+1AFo
250_F000:E267 jmp loc_FE30E
251_F000:E26A ; ---------------------------------------------------------------------------
252_F000:E26A
253_F000:E26A loc_FE26A: ; CODE XREF: ram_cache:loc_FE22Aj
254_F000:E26A mov cx, 52h ; 'R'
255_F000:E26D mov al, 41h ; 'A' ; 256KB PB Disabled; tag invalidate on read
256_F000:E26F mov sp, 0E275h
257_F000:E272 jmp pci_write_dev
258_F000:E272 ; ---------------------------------------------------------------------------
259_F000:E275 dw offset loc_FE277
260_F000:E277 ; ---------------------------------------------------------------------------
261_F000:E277
262_F000:E277 loc_FE277: ; DATA XREF: ram_cache+1BFo
263_F000:E277 mov sp, 0E27Dh
264_F000:E27A jmp cache_test
265_F000:E27A ; ---------------------------------------------------------------------------
266_F000:E27D dw offset loc_FE27F
267_F000:E27F ; ---------------------------------------------------------------------------
268_F000:E27F
269_F000:E27F loc_FE27F: ; DATA XREF: ram_cache+1C7o
270_F000:E27F jnb short loc_FE25A
271_F000:E281 mov cx, 52h ; 'R'
272_F000:E284 mov al, 61h ; 'a' ; 256KB Async Disabled; tag invalidate on read
273_F000:E286 mov sp, 0E28Ch
274_F000:E289 jmp pci_write_dev
275_F000:E289 ; ---------------------------------------------------------------------------
276_F000:E28C dw offset loc_FE28E
277_F000:E28E ; ---------------------------------------------------------------------------
278_F000:E28E
279_F000:E28E loc_FE28E: ; DATA XREF: ram_cache+1D6o
280_F000:E28E mov sp, 0E294h
281_F000:E291 jmp cache_test
282_F000:E291 ; ---------------------------------------------------------------------------
283_F000:E294 dw offset loc_FE296
284_F000:E296 ; ---------------------------------------------------------------------------
285_F000:E296
286_F000:E296 loc_FE296: ; CODE XREF: ram_cache:loc_FE241j
287_F000:E296 ; ram_cache:loc_FE258j
288_F000:E296 ; DATA XREF: ...
289_F000:E296 mov cx, 52h ; 'R'
290_F000:E299 mov sp, 0E29Fh
291_F000:E29C jmp pci_read_dev
292_F000:E29C ; ---------------------------------------------------------------------------
293_F000:E29F dw offset loc_FE2A1
294_F000:E2A1 ; ---------------------------------------------------------------------------
295_F000:E2A1
296_F000:E2A1 loc_FE2A1: ; DATA XREF: ram_cache+1E9o
297_F000:E2A1 and al, 3Fh
298_F000:E2A3 or al, 80h ; set 512KB, leave type and mode as is
299_F000:E2A5 mov sp, 0E2ABh
300_F000:E2A8 jmp pci_write_dev
301_F000:E2A8 ; ---------------------------------------------------------------------------
302_F000:E2AB dw offset loc_FE2AD
303_F000:E2AD ; ---------------------------------------------------------------------------
304_F000:E2AD
305_F000:E2AD loc_FE2AD: ; DATA XREF: ram_cache+1F5o
306_F000:E2AD xor si, si
307_F000:E2AF xor ax, ax
308_F000:E2B1 mov ds, ax
309_F000:E2B3 assume ds:nothing
310_F000:E2B3 mov eax, [si]
311_F000:E2B6 mov dword ptr [si], 0A55A55AAh
312_F000:E2BD mov dword ptr [si+4], 5AA5AA55h
313_F000:E2C5 wbinvd
314_F000:E2C7 mov ax, 4000h
315_F000:E2CA mov ds, ax
316_F000:E2CC assume ds:nothing
317_F000:E2CC mov eax, [si]
318_F000:E2CF mov dword ptr [si], 5AA5AA55h
319_F000:E2D6 mov dword ptr [si+4], 0A55A55AAh
320_F000:E2DE wbinvd
321_F000:E2E0 xor ax, ax
322_F000:E2E2 mov ds, ax
323_F000:E2E4 assume ds:nothing
324_F000:E2E4 cmp dword ptr [si], 0A55A55AAh
325_F000:E2EB jnz short loc_FE2F7
326_F000:E2ED cmp dword ptr [si+4], 5AA5AA55h
327_F000:E2F5 jz short loc_FE30E
328_F000:E2F7
329_F000:E2F7 loc_FE2F7: ; CODE XREF: ram_cache+235j
330_F000:E2F7 mov cx, 52h ; 'R'
331_F000:E2FA mov sp, 0E300h
332_F000:E2FD jmp pci_read_dev
333_F000:E2FD ; ---------------------------------------------------------------------------
334_F000:E300 dw offset loc_FE302
335_F000:E302 ; ---------------------------------------------------------------------------
336_F000:E302
337_F000:E302 loc_FE302: ; DATA XREF: ram_cache+24Ao
338_F000:E302 and al, 3Fh
339_F000:E304 or al, 40h ; set 256KB, leave type and mode as is
340_F000:E306 mov sp, 0E30Ch
341_F000:E309 jmp pci_write_dev
342_F000:E309 ; ---------------------------------------------------------------------------
343_F000:E30C dw offset loc_FE30E
344_F000:E30E ; ---------------------------------------------------------------------------
345_F000:E30E
346_F000:E30E loc_FE30E: ; CODE XREF: ram_cache:loc_FE267j
347_F000:E30E ; ram_cache+23Fj
348_F000:E30E ; DATA XREF: ...
349_F000:E30E mov cx, 52h ; 'R'
350_F000:E311 mov sp, 0E317h
351_F000:E314 jmp pci_read_dev
352_F000:E314 ; ---------------------------------------------------------------------------
353_F000:E317 dw offset loc_FE319
354_F000:E319 ; ---------------------------------------------------------------------------
355_F000:E319
356_F000:E319 loc_FE319: ; DATA XREF: ram_cache+261o
357_F000:E319 mov ah, al
358_F000:E31B and ah, 0F0h
359_F000:E31E cmp ah, 80h ; 'Ç' ; test if 512KB was selected?
360_F000:E321 jnz short loc_FE325
361_F000:E323 or al, 30h ; if 512KB then set PB
362_F000:E325
363_F000:E325 loc_FE325: ; CODE XREF: ram_cache+26Bj
364_F000:E325 or al, 3 ; set Enabled; miss forced on reads/writes
365_F000:E327 mov sp, 0E32Dh
366_F000:E32A jmp pci_write_dev
367_F000:E32A ; ---------------------------------------------------------------------------
368_F000:E32D dw offset cache_prefll2
369_F000:E32F ; ---------------------------------------------------------------------------
370_F000:E32F
371_F000:E32F cache_prefll2: ; DATA XREF: ram_cache+277o
372_F000:E32F mov dx, 8000h
373_F000:E332
374_F000:E332 loc_FE332: ; CODE XREF: ram_cache+28Aj
375_F000:E332 mov ds, dx
376_F000:E334 assume ds:nothing
377_F000:E334 mov cx, 4000h
378_F000:E337 xor si, si
379_F000:E339 rep lodsd
380_F000:E33C sub dx, 1000h
381_F000:E340 jnz short loc_FE332
382_F000:E342 mov al, 0
383_F000:E344 mov sp, 0E34Ah
384_F000:E347 jmp CMOS_L1cache
385_F000:E347 ; ---------------------------------------------------------------------------
386_F000:E34A dw offset loc_FE34C
387_F000:E34C ; ---------------------------------------------------------------------------
388_F000:E34C
389_F000:E34C loc_FE34C: ; DATA XREF: ram_cache+294o
390_F000:E34C shr esp, 10h
391_F000:E350 clc
392_F000:E351 retn
393_F000:E351 ram_cache endp
394_F000:E351
395_F000:E352
396_F000:E352 ; =============== S U B R O U T I N E =======================================
397_F000:E352
398_F000:E352
399_F000:E352 cache_test proc near ; CODE XREF: ram_cache+16Fj
400_F000:E352 ; ram_cache+186j ...
401_F000:E352 cld
402_F000:E353 mov ax, 1000h
403_F000:E356 mov ds, ax
404_F000:E358 assume ds:nothing
405_F000:E358 xor si, si
406_F000:E35A mov cx, 1000h
407_F000:E35D rep lodsd
408_F000:E360 mov ax, 1000h
409_F000:E363 mov es, ax
410_F000:E365 assume es:nothing
411_F000:E365 xor di, di
412_F000:E367 mov eax, 0A55A55AAh
413_F000:E36D mov edx, 3C3C33CCh
414_F000:E373 mov cx, 100h
415_F000:E376
416_F000:E376 loc_FE376: ; CODE XREF: cache_test+38j
417_F000:E376 mov es:[di], eax
418_F000:E37A add di, 4
419_F000:E37D mov es:[di], edx
420_F000:E381 add di, 4
421_F000:E384 not eax
422_F000:E387 not edx
423_F000:E38A loop loc_FE376
424_F000:E38C wbinvd
425_F000:E38E mov cx, 100h
426_F000:E391 xor di, di
427_F000:E393 mov eax, 0A55A55AAh
428_F000:E399 mov edx, 3C3C33CCh
429_F000:E39F
430_F000:E39F loc_FE39F: ; CODE XREF: cache_test+65j
431_F000:E39F cmp es:[di], eax
432_F000:E3A3 jnz short loc_FE3BB
433_F000:E3A5 add di, 4
434_F000:E3A8 cmp es:[di], edx
435_F000:E3AC jnz short loc_FE3BB
436_F000:E3AE add di, 4
437_F000:E3B1 not eax
438_F000:E3B4 not edx
439_F000:E3B7 loop loc_FE39F
440_F000:E3B9 clc
441_F000:E3BA retn
442_F000:E3BB ; ---------------------------------------------------------------------------
443_F000:E3BB
444_F000:E3BB loc_FE3BB: ; CODE XREF: cache_test+51j
445_F000:E3BB ; cache_test+5Aj
446_F000:E3BB stc
447_F000:E3BC retn
448_F000:E3BC cache_test endp