[LinuxBIOS] Need help with the VGA bios

Corey Osgood corey.osgood at gmail.com
Thu Aug 16 06:05:23 CEST 2007


Peter Stuge wrote:
> On Tue, Aug 14, 2007 at 09:53:44PM -0400, Corey Osgood wrote:
>   
>>> Please do dump say 1024 bytes at 0xc0000 before doing the BIOS
>>> init.
>>>       
>> Alright, I'll give it a shot. I assume you mean after the bios is
>> copied, but before it runs?
>>     
>
> Yep.
>
>
> //Peter
>
>   
Okay, did that, along with a ram_check of the entire region. ram_check
failed, but the bios copy seems to have worked fine (???). So I figured
out there was an error in auto.c, the pci_write_config8(ctrl->d0, 0x4f,
0x1) should have been before enable_shadow_ram(). I've fixed that, and
the bios copy still works fine, x86emu still has an error at line 5100
fo ops.c, but vm86.c produces a different error now, posted below. Also,
the screen now turns on and comes up completely green, only with vm86.c.
Also, I've been looking at the msrs from linuxbios and the factory bios,
the factory bios sets up a single msr to cover the entire 512mb range,
then has another msr for the last 32mb (480-512mb), presumably the vga
framebuffer area. A third msr covers 479-480, dunno why, and a fourth
msr is off in deep space at the 4gb range, I assume this is acpi space.
I'm wondering if I need to be simulating this, setting up an msr to
cover the 480-512mb range, or if the vga bios handles this.

Thanks,
Corey

PCI: 01:00.0 init
Initiailizing VGA...
INSTALL REAL-MODE IDT
DO THE VGA BIOS
found VGA: vid=1106, did=3344
rom base, size: fff80000
bus/devfn = 0x100
biosint: INT# 0x6
biosint: eax 0x5f0b ebx 0x10100 ecx 0x60 edx 0x110
biosint: ebp 0x29f74 esp 0xfbe edi 0x1 esi 0xb2d4
biosint:  ip 0xf85e   cs 0xf000  flags 0x13
biosint: Oops, exception 6
Stack contents: 0xf85e 0xf000 0x0013 0xd163 0xc000 0x0006 0x0342 0xd89b
0x0342 0x0060 0x0044 0xb2d4 0x9f74 0x0fe2 0x0100 0x0110 0x0060 0x0342
0xb18d 0x0044 0x03b4 0x9f74 0x0ff4 0x0200 0x03c2 0x0060 0x0000 0x014e
0x9f74 0x0040 0x0046 0x97e7 0x0000
biosint: Bailing out
Enable VGA console
biosint: INT# 0x6
biosint: eax 0x5f08 ebx 0x8001 ecx 0x1 edx 0x0
biosint: ebp 0x20fd0 esp 0xfa8 edi 0x1 esi 0x8f30
biosint:  ip 0xf85e   cs 0xf000  flags 0x213
biosint: Oops, exception 6
Stack contents: 0xf85e 0xf000 0x0213 0xd125 0xc000 0x0206 0x0000 0x8003
0x9824 0x898e 0x956d 0x898e 0x9dfb 0x898e 0xa60b 0x4f14 0x86ec 0x863a
0x8600 0x86a2 0x0000 0x0000 0x03b4 0x0000 0x9f90 0x0002 0x0ff0 0x0000
0x8003 0x0000 0x0000 0x0000 0x0001 0x0000 0x4f14 0x0000 0x0000 0x0000
0x87c9 0xc000 0x0006 0x966d 0x0000 0x0046
biosint: Bailing out
Unexpected Exception: 6 @ 10:ffefbfff - Halting
Code: 0 eflags: 00010006
eax: 0000ffff ebx: 000003b5 ecx: 04000000 edx: 5e000018
edi: 0000003d esi: 000003b4 ebp: 00029f7c esp: 00029f60




More information about the coreboot mailing list