[coreboot] Error executing VGA ROM with coreboot
Joseph Smith
joe at settoplinux.org
Fri Oct 30 13:51:54 CET 2009
On Fri, 30 Oct 2009 17:32:03 +0530 (IST), mansoor at iwavesystems.com wrote:
>>
>>
>>
>> On Fri, 30 Oct 2009 10:11:36 +0530, "Mansoor" <mansoor at iwavesystems.com>
>> wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Joe [mailto:joe at settoplinux.org]
>>>> Sent: Thursday, October 29, 2009 7:32 PM
>>>> To: Mansoor
>>>> Cc: 'coreboot'
>>>> Subject: Re: [coreboot] Error executing VGA ROM with coreboot
>>>>
>>>> On 10/29/2009 07:38 AM, Mansoor wrote:
>>>> > Hi
>>>> >
>>>> > I keep getting "ILLEGAL EXTENDED X86 OPCODE!" from my VGA ROM while
>>>> > trying run VGA ROM in coreboot.
>>>> >
>>>> > I tried x86emu, yabel and real mode for running VGA ROM with no
luck.
>>>> > But the same VGA ROM is running with seabios.
>>>> >
>>>> > I am attaching the boot logs with x86emu, real mode and with
seabios.
>>>> >
>>>> > Any help?
>>>> >
>>>> > What is the big difference while executing VGA ROM in coreboot and
>>>> seabios?
>>>> >
>>>> > Why coreboot can't run a VGA ROM which seabios can?
>>>> >
>>>> Hmm looks like your getting Unexpected Exception errors. Something is
>>>> not initializing correctly. Memory maybe?
>>>
>>> I don't think so, because with seabios I am able to load Linux in GUI
>> mode.
>>> Only with coreboot I am facing these issues for initializing VGA ROM.
>>>
>>>
>> You could always try Debugging the Unexpected Exception errors with GDB,
>> this may give you a clue on what the problem is.
>>
>> http://www.coreboot.org/Debugging
>
> Actually i tried GDB and failed to build the image.. I got section
> overlap error and was not able to solve it.
>
> What i didnt understand is
>
> Why coreboot can't run a VGA ROM which seabios can?
> What is the big difference while executing VGA ROM in coreboot and
> seabios?
>
> From the log you can see seabios emits some warning messages(fail
> handle_155fXX) but still it continues to run the VGA ROM, where x86emu or
> realmode hangs with error messages
>
> in seabios
> fail handle_155fXX:23(86):
>
> a=a0005f38 b=000008c1 c=00000003 d=0000c000 ds=a000 es=c000 ss=a000
>
> si=00000000 di=00000003 bp=000077cc sp=000077be cs=c000 ip=3115 f=0002
>
> Real mode
>
> Real mode stub @00000500: 422 bytes
>
> Calling Option ROM...
>
> oprom: INT# 0x8e41a854
>
> oprom: eax: 8a000885 ebx: 0e21e039 ecx: 00028101 edx: 2989b606
>
> oprom: ebp: 58000a58 esp: c0010004 edi: c668404c esi: c2650304
>
> oprom: ip: e6b0 cs: 8831 flags: 00002900
>
> Unexpected Exception: 6 @ 10:f6fdd07d - Halting
>
> Code: 0 eflags: 00010012
>
> eax: 00007776 ebx: 00008831 ecx: 0010ef73 edx: 001059b1
>
> edi: c0010004 esi: 8e41a854 ebp: 00002900 esp: 0000774a
>
well lets see,
The coreboot rom emulators are completely different beasts than seabios.
Perhaps you take a look at the differences in the interrupt handlers to
find out the differences?
I would suggest running YABEL in full DEBUG mode, YABEL is able to output
rom PCI accesses, io accesses, interrupt calls etc. I would also suggest if
you do this to output your bootlog to a text file in minicom, because it
may run for several hours and get quite large. I would be glad to take a
look at it and see if I can see what is going on.
--
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org
More information about the coreboot
mailing list