Существует проблема при ремонте материнских плат, когда реальна необходимость трассировки POST. Так зачастую возникает зависание при выполнении кода 25h, связанного с вызовом процедуры Ct_Early_Shadow.
Ct_Early_Shadow proc near
F000:2904 call far ptr 1000h:773Dh ; пустая функция
F000:2909 call far ptr 0E000h:0BAEDh
F000:290E call far ptr 0E000h:0B2E3h
F000:2913 call far ptr 1000h:773Eh ; пустая функция
F000:2918 call Pci_IO_Mem_Init
F000:291B call far ptr 0E000h:0BD09h
F000:2920 call far ptr 0E000h:0B6D3h
F000:2925 call far ptr 0E000h:0B75Ah
F000:292A mov eax, 1
F000:2930 cpuid
F000:2932 cmp ax, 660h
F000:2935 jnb End
F000:2937 push cs
F000:2938 push offset loc_F2943
F000:293B push 867Bh
F000:293E jmp far ptr 0E000h:8000h
F000:2943 mov si, 67Bh
F000:2946 mov bx, 200h
F000:2949 mov dh, 1
F000:294B call far ptr 1000h:3E0Fh
F000:2950 mov si, 67Bh
F000:2953 or word ptr cs:[si], 8
F000:2957 mov si, 775h
F000:295A or word ptr cs:[si], 8
F000:295E push cs
F000:295F push offset End
F000:2962 push offset _call_10_ ; SMBUS
F000:2965 jmp far ptr 0E000h:8000h
End:
F000:296A retn
Опытному ремонтнику не помешала бы опция BIOS Patcher, когда по ключу скажем /w - Write можно было бы задать адрес, например, F000:2909, который патчер бы заменил на код
MOV AX,0DEADh
_DEADPOINT: OUT 80h,AX
JMP _DEADPOINT
Тогда строка запуска имела бы вид BP sample.bin /WF:2909 или /WE:2110, что в последнем случае указывало бы на адрес E000:2110 в ORIGINAL.TMP. Как нам кажется, это вполне осуществимо имеющимися средствами патчера.
P.S. Пример кода взят из BIOS платы ECS KM400-M2 Rev.1
Существует проблема при ремонте материнских плат, когда реальна необходимость трассировки POST. Так зачастую возникает зависание при выполнении кода 25h, связанного с вызовом процедуры Ct_Early_Shadow.
Опытному ремонтнику не помешала бы опция BIOS Patcher, когда по ключу скажем /w - Write можно было бы задать адрес, например, F000:2909, который патчер бы заменил на код
Тогда строка запуска имела бы вид BP sample.bin /WF:2909 или /WE:2110, что в последнем случае указывало бы на адрес E000:2110 в ORIGINAL.TMP. Как нам кажется, это вполне осуществимо имеющимися средствами патчера.
P.S. Пример кода взят из BIOS платы ECS KM400-M2 Rev.1