[LinuxBIOS] VGA help under QEMU

Myles Watson myles at pel.cs.byu.edu
Fri Dec 21 23:01:54 CET 2007


On Dec 13, 2007 3:01 PM, ron minnich <rminnich at gmail.com> wrote:
> my apologies, it was a big going-away lunch and I am now sleepy.
>
> I just did a build with latest v3, built a 256kb bios, copy it to a
> directory, run qemu as follows:
> qemu -serial stdio -L . -kernel linux-2.6.15-bochs/vmlinux -hdc hda -hda hda
>
> and I get video.
>
> I am using the vgabios-cirrus.bin
>
> Option ROMS are run in Phase 6.
> Mine looks like this:
>
> Phase 6: Initializing devices...
> Phase 6: Root Device init.
> Phase 6: PCI: 00:00.0 init.
> PCI: pci_dev_init
> Probing for option ROM
> Phase 6: PCI: 00:01.0 init.
> Initializing realtime clock.
> RTC: Checksum invalid zeroing cmos
> Invalid LinuxBIOS CMOS checksum.
> Phase 6: PCI: 00:01.1 init.
> Enabling IDE channel 1
> Enabling IDE channel 2
> Enabling Legacy IDE
> Phase 6: PCI: 00:01.3 init.
> Enabling SMBus.
> Enable Power Management Functions
> Phase 6: PCI: 00:02.0 init.
> PCI: pci_dev_init
> Probing for option ROM
> ROM address for PCI: 00:02.0 = c0000
> PCI Expansion ROM, signature 0xaa55, INIT size 0x8c00, data ptr 0x0038
> PCI ROM Image, Vendor 1013, Device 00b8,
> PCI ROM Image, Class Code 030000, Code Type 00
> Copying VGA ROM image from 0x000c0000 to 0xc0000, 0x8c00 bytes
> Phase 6: PCI: 00:03.0 init.
> PCI: pci_dev_init
> Probing for option ROM
> Phase 6: PCI: 00:04.0 init.
> PCI: pci_dev_init
> Probing for option ROM
> Phase 6: Devices initialized.
>
>
> When I look at yours I see an error:
> Phase 6: PCI: 00:02.0 init.
>
> PCI: pci_dev_init
>
> Probing for option ROM
>
> ROM address for PCI: 00:02.0 = c0000
>
> PCI Expansion ROM, signature 0xaa55, INIT size 0x8a00, data ptr 0x736f
>
> PCI ROM Image, Vendor 0846, Device ec89,
>
> Device or Vendor ID mismatch Vendor 0846, Device ec89
>
>
> see the mismatch? So it will not run the rom. The option rom does not
> match the hardware .
>
> What vga bios are you using? I hope to wake up more soon and might
> actually give a useful answer :-)
>
> ron

I looked at it some more, and it looks like it is messed up before it
gets to the Vendor.

> PCI Expansion ROM, signature 0xaa55, INIT size 0x8a00, data ptr 0x736f

The size is wrong, and the data ptr looks questionable.  Since v2
finds the ROM in the right place I'm leaning toward it being a problem
with the compiler I'm using to build v3, or v3.

I'm using gcc version 4.1.2 20070626 (Red Hat 4.1.2-13) for x86_64 if
that makes a difference.

Myles




More information about the coreboot mailing list