…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