[LinuxBIOS] VGA help under QEMU
Corey Osgood
corey.osgood at gmail.com
Sat Dec 15 06:03:14 CET 2007
Marc Karasek wrote:
> I do not see how to put the vgabios image into LB. I see where u can
> specify to run option roms and tell LB to initialize vga devices. I do
> not see where you can tell it to pull in the vgabios image.
>
In qemu's Config.lb, you specify something like
chip drivers/pci/onboard
device pci 2.0 on end
register "rom_address" = "0xfff80000"
end
The vga device location varies from system to system, dunno off the top
of my head where QEMU's is. rom_address is always 4GB - the total rom
size - 1, including vga bios, the value above is for a 512K rom. The
ROM_SIZE in target/../Config.lb should be adjusted to be total rom size
- vga rom size. The vga rom should then be cat'd into the beginning of
the final rom, ie "cat vga.rom linuxbios.rom > lb_final.rom". I haven't
been following the thread, so please excuse me if you already know some
parts of this.
-Corey
>
> /*********************
> Marc Karasek
> MTS
> Sun Microsystems
> mailto:marc.karasek at sun.com
> ph:770.360.6415
> *********************/
>
>
>
> Myles Watson wrote:
>
>> 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.
>>>
>>>
>> No problem.
>>
>>
>>
>>> 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
>>>
>>>
>> I'm not specifying the vgabios specifically, but v2 finds 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 .
>>>
>>>
>> Good catch.
>>
>>
>>
>>> What vga bios are you using? I hope to wake up more soon and might
>>> actually give a useful answer :-)
>>>
>>>
>> I don't know where it's getting another VGA bios. I tried removing
>> the other vgabios.bin file from the directory, but I get the same
>> results.
>>
>> I looked in the pci.ids file, and the Vendor ID is not there, so I'm
>> not sure what the problem is.
>>
>> Myles
>>
>>
>>
>
>
More information about the coreboot
mailing list