Date: Fri, 23 Oct 1998 13:30:06 +1000 From: David Dawes <dawes@rf900.physics.usyd.edu.au> To: Mike Smith <mike@smith.net.au>, Greg Lehey <grog@lemis.com> Cc: Jason Thorpe <thorpej@nas.nasa.gov>, Nick Hibma <nick.hibma@jrc.it>, FreeBSD hackers mailing list <hackers@FreeBSD.ORG> Subject: Re: multi-user: multiple consoles in FreeBSD Message-ID: <19981023133006.D20302@rf900.physics.usyd.edu.au> In-Reply-To: <199810222335.QAA01865@dingo.cdrom.com>; from Mike Smith on Thu, Oct 22, 1998 at 04:35:05PM -0700 References: <19981023085339.H28824@freebie.lemis.com> <199810222335.QAA01865@dingo.cdrom.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 22, 1998 at 04:35:05PM -0700, Mike Smith wrote: >> > Some display controllers (notably, 3D accellerators) have a jumper >> > to disable VGA mode completely, but then you only get a memory >> > mapped frame buffer (if you're lucky :-) >> >> Hmm. I think this is your proviso. You specifically mean VGA >> compatibility. Well, yes, if you want a graphics board to conform to >> a standard which only allows one board, then you can only use one >> board. But there's more than just a frame buffer if you disable this >> feature. > >Jason's gripe was that you con't have more than one video card because >the second wants its VGA-compatibility registers mapped in the same >place as the first. Unless there's something really odd going on, it's >relatively trivial to simply map the I/O ranges for display cards other >than the first somewhere else; you just need the smarts in your system >to do this. > >Video chipsets not supporting this would be in violation of the PCI >spec. I wouldn't expect this to be too common. The PCI spec doesn't provide a device-independent way of remapping the VGA compatibility resources. They are not relocatable in the sense of normal PCI resources defined through the base address registers. In my experience, most PCI BIOSs disable memory and I/O access for secondary VGA-compatible cards by clearing the appropriate bits in the PCI command register. Multi-head friendly cards provide a (device-specific) way of disabling and/or relocating the VGA-compatible resources. When disabled (like the case of the older Millennium cards that have a switch for this), the PCI class setting may indicate Display/other rather than Display/VGA. As Kazu mentioned in his reply, another important issue is initialising secondary video cards. Even setting up a standard video mode will in general require more detailed knowledge of the hardware than just the standard VGA regisers. We (XFree86) are currently grappling with these issues for our multi-head support in 4.0. One thing we're hoping to do is multiplex access to fixed resources like the VGA-compatiblity registers when needed and when they can be disabled but not relocated. If on some OSs the video BIOS could be called by the X server, it may help with initialisation issues. It might be even better of the OS took care of this at boot time. David To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981023133006.D20302>