linux/drivers/char/drm
Dave Airlie 3528af1b18 drm: fix a LOR issue on FreeBSD for savage driver
Correct a LOR issue on FreeBSD by allocating temporary space and doing a single
DRM_COPY_FROM_USER rather than DRM_VERIFYAREA_READ followed by tons of
DRM_COPY_FROM_USER_UNCHECKED.  I don't like the look of the temporary space
allocation, but I like the simplification in the rest of the file.  Tested
with glxgears, tuxracer, and q3 on a savage4.

From: Eric Anholt <anholt@freebsd.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-01-02 16:11:44 +11:00
..
Kconfig drm: add savage driver 2005-08-07 15:43:54 +10:00
Makefile drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
README.drm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ati_pcigart.c [PATCH] drm fixup pci gart settings 2005-11-09 07:55:51 -08:00
drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drmP.h drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
drm_agpsupport.c drm: add in-kernel entry points for rest of AGP ioctls 2005-11-11 22:33:39 +11:00
drm_auth.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_bufs.c drm: fix warning on 64-bit platforms.. 2005-10-24 18:41:39 +10:00
drm_context.c drm: fix all sparse warning on 32-bit x86 2005-09-30 18:37:36 +10:00
drm_core.h drm: add in-kernel entry points for rest of AGP ioctls 2005-11-11 22:33:39 +11:00
drm_dma.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_drawable.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_drv.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
drm_fops.c drm: remove drm_flush 2005-11-11 19:40:52 +11:00
drm_ioc32.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_ioctl.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
drm_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_lock.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_memory.c drm: remove exports that modules shouldn't use. 2005-11-11 23:10:18 +11:00
drm_memory.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_memory_debug.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_os_linux.h drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
drm_pci.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_pciids.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_proc.c drm: fixup drm_proc.c struct table 2005-11-11 20:27:35 +11:00
drm_sarea.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_scatter.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_stub.c drm: simplify sysfs code for drm 2005-11-11 22:07:35 +11:00
drm_sysfs.c drm: simplify sysfs code for drm 2005-11-11 22:07:35 +11:00
drm_vm.c merge linus head to drm-mm branch 2005-10-22 15:25:01 +10:00
ffb_context.c [PATCH] kfree cleanup: drivers/char 2005-11-07 07:54:02 -08:00
ffb_drv.c [PATCH] kfree cleanup: drivers/char 2005-11-07 07:54:02 -08:00
ffb_drv.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i810_dma.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
i810_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i810_drv.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
i810_drv.h drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
i830_dma.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
i830_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i830_drv.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
i830_drv.h drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
i830_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i915_dma.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
i915_drm.h Add missing license texts from Tungsten Graphics. 2005-06-23 22:46:46 +10:00
i915_drv.c drm: drop mtrr from i915 2005-11-11 23:30:27 +11:00
i915_drv.h drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
i915_ioc32.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i915_irq.c drm: misc cleanup 2005-07-07 21:03:38 +10:00
i915_mem.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_dma.c drm: update mga driver for new bootstrap code 2005-11-11 23:11:34 +11:00
mga_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_drv.c drm: update mga driver for new bootstrap code 2005-11-11 23:11:34 +11:00
mga_drv.h drm: update mga driver for new bootstrap code 2005-11-11 23:11:34 +11:00
mga_ioc32.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_state.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
mga_ucode.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_warp.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_cce.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_drv.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
r128_drv.h drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
r128_ioc32.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_state.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
r300_cmdbuf.c drm: fix all sparse warning on 32-bit x86 2005-09-30 18:37:36 +10:00
r300_reg.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_cp.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
radeon_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_drv.c drm: simplify sysfs code for drm 2005-11-11 22:07:35 +11:00
radeon_drv.h drm: simplify sysfs code for drm 2005-11-11 22:07:35 +11:00
radeon_ioc32.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_mem.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_state.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
savage_bci.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
savage_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
savage_drv.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
savage_drv.h drm: fix a LOR issue on FreeBSD for savage driver 2006-01-02 16:11:44 +11:00
savage_state.c drm: fix a LOR issue on FreeBSD for savage driver 2006-01-02 16:11:44 +11:00
sis_drm.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
sis_drv.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
sis_drv.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
sis_ds.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
sis_ds.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
sis_mm.c drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
tdfx_drv.c drm: rename driver hooks more understandably 2005-11-10 22:16:34 +11:00
tdfx_drv.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
via_3d_reg.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
via_dma.c drm: via driver update to CVS version 2006-01-02 14:26:20 +11:00
via_dmablit.c drm: via driver update to CVS version 2006-01-02 14:26:20 +11:00
via_dmablit.h drm: via driver update to CVS version 2006-01-02 14:26:20 +11:00
via_drm.h drm: via driver update to CVS version 2006-01-02 14:26:20 +11:00
via_drv.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_drv.h drm: via driver update to CVS version 2006-01-02 14:26:20 +11:00
via_ds.c drm: cleanup via_ds.c includes 2005-11-11 19:34:47 +11:00
via_ds.h [PATCH] drm: via: fix sparse warnings 2005-07-27 16:25:54 -07:00
via_irq.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_map.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_mm.c drm: via driver update to CVS version 2006-01-02 14:26:20 +11:00
via_mm.h drm: Add via unichrome support 2005-06-28 22:48:56 +10:00
via_verifier.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_verifier.h drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_video.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00

README.drm

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.sourceforge.net/                          *
************************************************************

The Direct Rendering Manager (drm) is a device-independent kernel-level
device driver that provides support for the XFree86 Direct Rendering
Infrastructure (DRI).

The DRM supports the Direct Rendering Infrastructure (DRI) in four major
ways:

    1. The DRM provides synchronized access to the graphics hardware via
       the use of an optimized two-tiered lock.

    2. The DRM enforces the DRI security policy for access to the graphics
       hardware by only allowing authenticated X11 clients access to
       restricted regions of memory.

    3. The DRM provides a generic DMA engine, complete with multiple
       queues and the ability to detect the need for an OpenGL context
       switch.

    4. The DRM is extensible via the use of small device-specific modules
       that rely extensively on the API exported by the DRM module.


Documentation on the DRI is available from:
    http://precisioninsight.com/piinsights.html

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://precisioninsight.com/dr/drm.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/locking.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/security.html

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.sourceforge.net/                          *
************************************************************