aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/Kconfig
diff options
context:
space:
mode:
authorMichal Januszewski <spock@gentoo.org>2007-10-16 04:28:26 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:13 -0400
commit8bdb3a2d7df48b861972c4bfb58490853a228f51 (patch)
treefebc4fbe0fd90e4677fe7703350ce349ddbfc342 /drivers/video/Kconfig
parentcc54f46e39dff9891dd334ef158a238ff5a9ffd2 (diff)
uvesafb: the driver core
uvesafb is an enhanced version of vesafb. It uses a userspace helper (v86d) to execute calls to the x86 Video BIOS functions. The driver is not limited to any specific arch and whether it works on a given arch or not depends on that arch being supported by the userspace daemon. It has been tested on x86_32 and x86_64. A single BIOS call is represented by an instance of the uvesafb_ktask structure. This structure contains a buffer, a completion struct and a uvesafb_task substructure, containing the values of the x86 registers, a flags field and a field indicating the length of the buffer. Whenever a BIOS call is made in the driver, uvesafb_exec() builds a message using the uvesafb_task substructure and the contents of the buffer. This message is then assigned a random ack number and sent to the userspace daemon using the connector interface. The message's sequence number is used as an index for the uvfb_tasks array, which provides a mapping from the messages coming from userspace to the in-kernel uvesafb_ktask structs. The userspace daemon performs the requested operation and sends a reply in the form of a uvesafb_task struct and, optionally, a buffer. The seq and ack numbers in the reply should be exactly the same as those in the request. Each message from userspace is processed by uvesafb_cn_callback() and after passing a few sanity checks leads to the completion of a BIOS call request. Signed-off-by: Michal Januszewski <spock@gentoo.org> Signed-off-by: Antonino Daplas <adaplas@gmail.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Paulo Marques <pmarques@grupopie.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/Kconfig')
-rw-r--r--drivers/video/Kconfig18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 5216c11d4dec..f1cc8996456f 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -592,6 +592,24 @@ config FB_TGA
592 592
593 Say Y if you have one of those. 593 Say Y if you have one of those.
594 594
595config FB_UVESA
596 tristate "Userspace VESA VGA graphics support"
597 depends on FB && CONNECTOR
598 select FB_CFB_FILLRECT
599 select FB_CFB_COPYAREA
600 select FB_CFB_IMAGEBLIT
601 select FB_MODE_HELPERS
602 help
603 This is the frame buffer driver for generic VBE 2.0 compliant
604 graphic cards. It can also take advantage of VBE 3.0 features,
605 such as refresh rate adjustment.
606
607 This driver generally provides more features than vesafb but
608 requires a userspace helper application called 'v86d'. See
609 <file:Documentation/fb/uvesafb.txt> for more information.
610
611 If unsure, say N.
612
595config FB_VESA 613config FB_VESA
596 bool "VESA VGA graphics support" 614 bool "VESA VGA graphics support"
597 depends on (FB = y) && X86 615 depends on (FB = y) && X86