From: Benjamin H. <be...@ke...> - 2005-03-04 22:48:31
|
On Fri, 2005-03-04 at 12:58 -0500, Jon Smirl wrote: > In the past Jesse Barnes has suggested a completely different approach > to VGA sharing. Instead of each VT trying to control which VGA device > is enabled we keep them all turned off. Then on each access we turn > VGA support on just long enough for the access and then turn it back > off. That's what I had in mind too. > To make this work we have to have a kernel based 'token' for who has > the VGA at the moment. This scheme lets multiuser systems work. For > big IA64 machines which can support multiple simultaneous VGAs we just > have multiple tokens. That means that the arbitrer must need to know how to enable/disable VGA decoding on a per-card basis (when it's possible at all), or active collaboration with the kernel driver. Also, you can't prevent the interrupts from happening unless you also disable them on your card. > We would just ban VGA access from interrupt context, if you really > needed VGA access you would use a workqueue which can be scheduled > from the interrupt. None of my driver work needs VGA access from > interrupt context, is this true for all drivers? I need access to the > video hardware, but not access to the VGA support. It's not enough. There is a variety of cases where the only way to turn off VGA access is to turn off IO & MEM decoding completely on the card... Ben. |