[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