[Xorg] OLS and console rearchitecture: second pass

Jon Smirl jonsmirl at yahoo.com
Fri Jul 30 07:37:59 PDT 2004


Monitoring hotplug does two thing:
1) if you pull the active VGA card with VGAcon on it, it will let the
kernel switch to another VGA device.
2) it tracks the list of available devices.

> 	take vga routing to card {n} and lock (blocking)

This action has an implicit - make sure you only have one card enabled
in it. So when you routed to a card I also looped over routing to every
VGA card in the system and sending it commands to make sure it is off.
That was to help protect against things like reset or user space apps
enabling secondary cards.

It's easy enough to generate the list of VGA devices in the system from
the kernel PCI structures. So the only real need for hotplug would be
to move the console if the the active VGA device were pulled.

--- Alan Cox <alan at lxorguk.ukuu.org.uk> wrote:
> On Gwe, 2004-07-30 at 02:09, Jon Smirl wrote:
> > 1) disable all VGA devices for sure.
> > 2) enable a VGA device and make sure none of the other ones are
> > enabled.
> > 3) maybe list all VGA devices, but you can do this via sysfs and
> the
> > pci space.
> > 4) which device is the currently active device
> > 5) monitor hotplug for new VGA devices or removal of one
> > 6) anything else?
> 
> I wasn't planning to put the hotplug part into the kernel vga switch
> code, but that does belong in the frame buffer. The implementation
> I anticipated was essentially
> 
> 	take vga routing to card {n} and lock (blocking)
> 	take vga routing to card {n} and lock (nonblocking)
> 	free vga routing lock
> 
> with multiple people being able to take the lock at once for the same
> card and automatically losing the lock on file close/program exit.
> The
> API also has to be available to the kernel.
> 
> 
> 


=====
Jon Smirl
jonsmirl at yahoo.com


		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail 



More information about the xorg mailing list