Greetings,
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.
Cheers,
Hi Michael,
Michael Marineau wrote:
I've just finished bisecting recent coreboot history to see what broke VGA on my EPIA-MII and traced it to commit 5543:
Thanks for the patch! Although I agree it's a little petty for such a simple patch, please send a sign-off per http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure
//Peter
On Sun, May 23, 2010 at 5:47 PM, Peter Stuge peter@stuge.se wrote:
Hi Michael,
Michael Marineau wrote:
I've just finished bisecting recent coreboot history to see what broke VGA on my EPIA-MII and traced it to commit 5543:
Thanks for the patch! Although I agree it's a little petty for such a simple patch, please send a sign-off per http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure
Heh, here ya go:
Signed-off-by: Michael Marineau mike@marineau.org
On 5/23/10 10:55 PM, Michael Marineau wrote:
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.
Hi Michael,
thanks a lot for finding my mistake :-) I committed your fix.
Stefan