[coreboot] [PATCH] Fix typo in r5543 "Change real mode API..."
mike at marineau.org
Sun May 23 22:55:31 CEST 2010
I've just finished bisecting recent coreboot history to see what broke
VGA on my EPIA-MII and traced it to commit 5543:
Change real mode API to allow passing intXX number or entry point and
some register values from C.
This theoretically fixes non-vga option roms, but it also allows to use
the same assembler code for option roms and vsm.
After digging through the diff between the good and bad boot logs I
noticed that all of the INT# 0x15 ... via_vt8623_int15_handler
messages were missing after the "Enable VGA console" message. That
call had somehow turned into a no-op. In the diff I observed the
following assembly code:
- /* Call VGA BIOS int10 function 0x4f14 to enable main console
- * Epia-M does not always autosence the main console so forcing
- * it on is good.
- /* Ask VGA option rom to enable main console */
- movw $0x4f14,%ax
- movw $0x8003,%bx
- movw $1, %cx
- movw $0, %dx
- movw $0, %di
- int $0x10
Became 3 copies of this function:
+static void vga_enable_console(void)
+ /* Call VGA BIOS int10 function 0x4f14 to enable main console
+ * Epia-M does not always autosense the main console so forcing
+ * it on is good.
+ /* int#, EAX, EBX, ECX, EDX, ESI, EDI */
+ realmode_interrupt(0x10, 0x4f1f, 0x8003, 0x0001, 0x0000, 0x0000, 0x0000);
The value of AX magically transformed from 0x4f14 to 0x4f1f Doh!
The attach patch fixes the three new C functions back to the original
value, this fixes VGA for me.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1580 bytes
Desc: not available
More information about the coreboot