[Ilugc] help regarding powerpc and vga card

  • From: siva.ilugc@xxxxxxxxx (Sivasankar Chander)
  • Date: Fri Jul 14 22:20:03 2006

On 7/14/06, sudheer <urwithsudheer@xxxxxxxxx> wrote:



I have a doubt here. How does the processor know that the card  sitting
here is a vga card
and control should be transfered to initialize it.


   The processor (in an x86 PC) doesn't actually know that there's
a VGA controller in that PCI slot. However, the VGA ROM BIOS
is in a well-known range - usually 0xC0000 upwards. The PC ROM
BIOS does a quick presence check to see if there's a valid ROM
extension at 0xC0000, does a checksum and then just transfers
control to 0xC0000. At this point, the VGA ROM BIOS gets
control and does everything to initialize the VGA controller and
make it respond to PCI bus activity. Then it returns control to
PC ROM BIOS, which then repeats the exercise for other
memory ranges, like 0xD0000, etc. (where there may be other
ROM extensions, like a Network Boot ROM on a LAN card, etc.)

 I think it can know
that it is a vga card only by reading the config space .
And bios is necesary for vga card to work in its normal way. Is it
necesary for bios to be initialised to get detected.
Please correct me if i am wrong.


  Remember, an x86 PC with any PCI VGA card still works fine with
an OS like MS-DOS-3.3, which knows nothing about PCI - it was
written before the PCI spec was developed. A VGA card must
work correctly in some default mode, with a text-mode character
buffer at a well-known MMIO range, and functioning ASCII-to-
character glyph mapping. All this is taken care off by the VGA BIOS
ROM sitting on the VGA card - which initializes the controller to
the default text mode when it gets control after POST. That's
also the reason that the very first visible text message that you
see on powering up a PC is from the VGA BIOS, not the
motherboard ROM BIOS.

The reason for the VGA controller on an add-in PCI card to remain
inactive on POST, until it is initialized, is simple: there may be multiple
PCI VGA cards, and there would be bus contention for the text buffer
if they all initialized themselves to active on say, the reset signal. Also,
many boards have on-board integrated VGA (like the i810), and there
has to be a way of over-riding the off-board VGA(s) and leaving them
inactive, if so desired.

Could anyone please suggest me which  vga card i need to buy so that
it can be supported
with powerpc boards and available in the market. Or can i have any
other alternative solution .


     Back in the hoary old days of PREP and CHRP (IBM specifications
for PCs with PowerPC CPUs) reference implementations, there were
a handful of S3 cards which were supported by the PREP ROM
itself. However, you may want to ask the developer of the PowerPC
board about which VGA controllers are initialized correctly by the
PowerPC ROM BIOS code alone.

-Siva

Other related posts: