[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