Hello Toan,
Wednesday, March 14, 2018, 10:13:13 AM, you wrote:
TLm> I'm so sorry if this question does not really relate to
TLm> Coreboot. But I'm facing a serious problem and trying to get help
TLm> from you who have excellent knowledge about BIOS and HW.
I'll answer just this one time.
Please use your Intel support options for non-coreboot related issues.
TLm> I have an Intel Reference Board. I was trying to force BIOS to wait 1 second in SEC phase.
TLm> I inserted these assemble code (BIOS wait function) into very
TLm> first of ProtectedModeEntryPoint in Flat32.asm file:
TLm> MOV CX, 0FH
TLm> MOV DX, 4240H
TLm> MOV AH, 86H
TLm> INT 15H
TLm> Then, the board stopped working. Status code showed "00".
TLm> Even when I re-flashed its original BIOS, it's still not worked.
TLm> Could anyone please help me to figure out what's happen here?
TLm> I appreciate your helps.
The SEC phase is the earliest stage of the firmware init. The CPU has
been just reset; there are no BIOS services available and the interrupt table has
not even been set up yet (no RAM either), so the CPU hangs when you try to invoke an
interrupt with a non-existing handler.
The best you can do in this situation is probably a counted loop (with
a big counter because the modern CPUs are very fast), maybe with some
"out" instructions to an unused port (or even 80h) to slow it down a little.
I don't know why original BIOS did not work, maybe verify that you flashed
the correct binary.
--
WBR,
Igor mailto:skochinsky@mail.ru