On Sat, 23 Jun 2001, Stefanos Papanicolopoulos wrote:

> >From the webpage and the mailing list, it seems that Linuxbios has
> graphics support only for the embedded chip in SiS-based motherboards,
> and then it is supported by the fb driver of linux, which means you
> have to load a linux kernel to get text on your monitor (that is,
> unless your monitor is a terminal plugged on your serial port...). Am
> I right?

yep. This is kind of a hard issue. Note that the linux palmtops work the
same way, you get graphics only after the kernel reaches a certain point
of "upness". The reason in part is that since Linux will do things to
video hardware, why have the code space used for linuxbios to do it too?

Is it bad? Yes and no. If linux can do it, I have no problem with letting
LInux do it. But there is a delay until you see output.

The real issues is that Linux can't always do it, due to lack of vendor
cooperation. But if Linux can't do it, linuxBIOS probably can't do it,
since the issue is chipset programming info.

One thing people could look at is putting 16-bit code and data segments
into the Linuxbios GDT, and have linuxbios call expansion card ROM code
for this type of thing. Nobody's had time to tackle this yet.

> Is there any code *in* linuxbios to set up a VGA adapter (either in
> 'hardare' text mode, or in graphics mode)? Or perhaps I should be
> looking for it in some other project like TIARA?

TIARA knows how to set up precisely one type of vga adapter. Linux (not
LinuxBIOS, Linux) knows how to set up about 10 or so right now. You've
missed this discussion but believe me "setting up the adapter" is not as
easy as you might think. It took Ollie Lho about 9 months to get code that
would work out of his own company. VGA people can be difficult. The TIARA
people are really smart so I expect they'll decode more and more VGA
adapters as time goes by. Whether they'll ever catch up to the fbdev
people in Linux I don't know.

> It seems that the linuxbios philosophy is ''if the kernel can do it,
> then let the kernel do it''. Yet, for cases where a linux kernel
> won't fit in the FLASH, it would be nice to have something like a list
> of choices on your video.

Agreed. But how do you set up a TNT2, or Cyberblade, or whatever. I've had
chipset companies tell me they don't know how to turn their own graphics
on. This is not a simple issue! VGA hardware is an incredible mess.

> Does Linux use the VGA BIOS in any way? (IIRC it is used by vesafb,
> but are there any other cases?).

No, because with most of our chipsets VGA is in the northbridge, and the
VGA bios is in one single FLASH part, and we wipe out VGA bios when we
wipe out the system BIOS.

Also most VGA bioses don't seem to realize that you can put two graphics
cards in a system. They are rather stupid pieces of code. As a result when
you run that VGA bios it does a lot of things that are "PC80" specific,
and that is a problem.

> Of course it relies on the VGA BIOS
> (or someone else) to have set up the card for text mode, but does it
> actually use INT10?

No VGA bios, no int10.

> Do I have to setup the card in any way before I can access it's I/O
> ports from the CPU? (Actually I'm curious about the general question:
> how do the expansion cards 'register' their I/O ports? And what
> happens if I install two cards that would use the same ports (e.g. two
> VGA cards)? How do I access each of them?. I'm thinking about PCI
> cards, but I'm also curious about other types, like ISA)

Forget ISA, it's dead. It's not worth your time. But a good reading of PCI
would help you on this question. Parts of your questions here are dealt
with by the way PCI works.


ron

Reply via email to