Am 18.08.2009 10:30, schrieb Harrison, Jon (SELEX GALILEO, UK):
Hmmm. I guess that means that a CBFS build automagically installs the VGA bios and sets the PCI_ROM_ADDRESS reg in the correct device, and since this 'should' be relocatable I should simply remove my NB code that installs the VGA BIOS manually, and hope for the best.
Sounds like you reimplemented quite some things we have in coreboot already.
At what stage in the init process does the PCI expansion ROM get installed ? Is it necessary to call something from coreboot to make it happen ?
We have several ways to execute option ROMs, one using the realmode of the CPU (under the misleading name VM86) and two x86 emulators (x86emu and yabel). All of them also provide some BIOS services (interrupts) to make the option ROMs happy, but sometimes the VGABIOS requires some special calls that must be added to them.
Bochs as in Bochs BIOS, is needed to provide some callback support for the vendor VGA BIOS. It could be considered as an option rom.... sort of. It doesn't matter where it is in Flash so long as it can be found programatically from coreboot, as it needs to be located in a specific location in RAM for the legacy VGA to find it.
So the VGA option ROM calls into the BIOS directly, instead of using interrupts? That's quite unusual. And once the option ROM is executing using the coreboot mechanisms, there is some BIOS environment around for it.
Patrick
-----Original Message----- From: Patrick Georgi [mailto:patrick@georgi-clan.de] Sent: 18 August 2009 11:08 To: Harrison, Jon (SELEX GALILEO, UK) Cc: coreboot@coreboot.org Subject: Re: [coreboot] Change to use CBFS - Help needed
Am 18.08.2009 10:30, schrieb Harrison, Jon (SELEX GALILEO, UK):
Hmmm. I guess that means that a CBFS build automagically installs
the
VGA bios and sets the PCI_ROM_ADDRESS reg in the correct device, and since this 'should' be relocatable I should simply remove my NB code that installs the VGA BIOS manually, and hope for the best.
Sounds like you reimplemented quite some things we have in coreboot already.
Possibly, but my starting point was the epia-m and as this build was reasonably well documented and very similar to the epia-n(l), that's the way I went.
At what stage in the init process does the PCI expansion ROM get installed ? Is it necessary to call something from coreboot to make
it
happen ?
We have several ways to execute option ROMs, one using the realmode of the CPU (under the misleading name VM86) and two x86 emulators (x86emu and yabel). All of them also provide some BIOS
services
(interrupts) to make the option ROMs happy, but sometimes the VGABIOS
requires some
special calls that must be added to them.
Yes, well any pointers to good (working!) coreboot friendly examples ? I already have a real mode execution environment which I don't want to have to tinker with too much.
Bochs as in Bochs BIOS, is needed to provide some callback support
for
the vendor VGA BIOS. It could be considered as an option rom....
sort
of. It doesn't matter where it is in Flash so long as it can be
found
programatically from coreboot, as it needs to be located in a
specific
location in RAM for the legacy VGA to find it.
So the VGA option ROM calls into the BIOS directly, instead of using interrupts? That's quite unusual. And once the option ROM is executing using the coreboot mechanisms, there is some BIOS
environment
around for it.
Mabey unusual, but it seems to be the way that the older Via Award VGA BIOS operates.
I really don't have the time or inclination to get into a protracted re-structuring of the code right now, after all the effort it's taken to get to this point. I'm looking for the quick hack option that'll get me up and running again. If I knew how to locate and find the binary data in flash then I could more or less preserve my current infrastructure and worry about making it more coreboot friendly later.
Patrick
SELEX Sensors and Airborne Systems Limited Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL A company registered in England & Wales. Company no. 02426132 ******************************************************************** This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. ********************************************************************