Tim Roberts wrote:
NO, NO, NO!  EnterVT/LeaveVT do NOT end up in a kernel module!  The
user-mode driver that is part of XFree86 does ALL of the register
manipulation needed to change the video mode in and out of graphics.  It's
ALL done in the user-mode driver.  For those drivers that DO have kernel
components, the kernel sections are doing little more than DMA memory
management, which cannot be done in user-mode.  Register I/O and mode
switching is STILL in user mode.
...  Because the driver knows the card, it knows which of the addresses
is the frame buffer and which has the memory-mapped registers.  It maps
that space into user-mode address space, and starts writing.

And where can I find that code, which interacts with the driver? I think this EnterLeaveVT functions are only a small part of this. Is the most of that card dependent stuff in there as well?


It doesn't INTERACT with the driver.  It IS the driver.  Every driver in
the XFree86 source code (which you really need to read) includes EnterVT
and LeaveVT entry points, that do whatever needs to be done to switch the
board into and out of graphics mode.  For many of the drivers, EnterVT and
LeaveVT looks the same; they just call into other functions within that
driver.

I think that one more thing to be said here is that the video drivers' Enter/LeaveVT are


1) completely driver private functions, and
2) - more important - not doing everything needed in order to switch to another VT or back to the server. Leave/EnterVT (with root entry points in one of the top level structures, ScrnInfo) are possibly a cascade of functions which are called one after the other in order to do this. Just - in what hacky way ever - calling a video driver's Enter/LeaveVT will have very unpleasant and unexpected results.


Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net          http://www.winischhofer.net/
twini AT xfree86 DOT org

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to