[Xorg] The big multiconsole nasty

Egbert Eich eich at pdx.freedesktop.org
Wed Jul 7 05:57:41 PDT 2004


Jon Smirl writes:
 > --- John Dennis <jdennis at redhat.com> wrote:
 > > bus topology and that VGA routing is correct. Unlike the current
 > 
 > You can't make the assumptions about VGA routing. When secondary video
 > cards are reset by running their ROM, at the very least they enable
 > their VGA support. Sometimes they remap the bridges too.
 > 
 > We need kernel support for:
 > 1) disabling all VGA devices
 > 2) setting one VGA device active and get the bus routed to it
 > 3) retrieving the board's VBIOS ROM.

4. Obtain a mmappable address for the PCI address ranges.

 > 
 > This allow a user space reset program (they have to be user space since
 > they use VM86 mode) to disable all VGA devices, reset the card by
 > running the ROM, reenable the orginal VGA device.
 > 
 > #3 needs a special case. The kernel has to track which VGA device the
 > BIOS left active. When an app asks for the VBIOS ROM from this device,
 > you return the memory contents at C000:0. Some laptops compress the
 > VBIOS image of the primary adapter and this is where the uncompressed
 > version is stored. The kernel has to remember the boot device so that
 > if someone changes the active VGA device we will still know which
 > adapter the image at C000:0 belongs too.

Some comments:
1. POSTed BIOSes are not always located at 0xc0000. Embedded systems
   have them at all sorts of different places.
2. If we want to use vm86 mode for POSTing we will have to map the 
   first 1MB anyway, therefore it should be possible to retrieve this
   BIOS from user land without having to map the kernel. Also to
   use a POSTed BIOS we also need to know the int vectors (and some
   other data from the first 64MB).
   Most systems without vm86 probably don't keep this data around 
   thus require reposting anyway.
3. Even on primary cards you sometimes would like to have a copy of 
   the unposted BIOS around.
Therefore it would suffice to have a way to obtain the (unposted)
PCI BIOS image.

Egbert.




More information about the xorg mailing list