alistair23-linux/drivers/char/drm
Dave Airlie 21f1628927 drm/i915: Fix i965 secured batchbuffer usage
This 965G and above chipsets moved the batch buffer non-secure bits to
another place. This means that previous drm's allowed in-secure batchbuffers
to be submitted to the hardware from non-privileged users who are logged
into X and and have access to direct rendering.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-06 17:46:23 -07:00
..
ati_pcigart.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
drm_agpsupport.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_auth.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_bufs.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_context.c drm: convert drm context code to use Linux idr 2007-07-17 11:04:33 +10:00
drm_core.h drm: add support for secondary vertical blank interrupt to DRM core 2006-12-07 15:53:28 +11:00
drm_dma.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
drm_drawable.c drm: convert drawable code to using idr 2007-07-17 11:04:33 +10:00
drm_drv.c drm: convert drawable code to using idr 2007-07-17 11:04:33 +10:00
drm_fops.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_hashtab.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_hashtab.h drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_ioc32.c drm: remove core typedefs from the ioc32 wrappers 2007-07-16 13:53:57 +10:00
drm_ioctl.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_irq.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_lock.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_memory.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_memory.h drm: remove drm_ioremap and drm_ioremapfree 2007-02-08 13:24:26 +11:00
drm_memory_debug.h drm: remove drm_ioremap and drm_ioremapfree 2007-02-08 13:24:26 +11:00
drm_mm.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_os_linux.h drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_pci.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_pciids.h Add support SiS based XGI chips to SiS DRM. 2007-06-27 09:54:49 -07:00
drm_proc.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_sarea.h drm: remove sarea typedefs 2007-07-12 10:35:02 +10:00
drm_scatter.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_sman.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_sman.h drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_stub.c drm: add idr_init to drm_stub.c 2007-07-17 14:20:07 +10:00
drm_sysfs.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_vm.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drmP.h drm: convert drawable code to using idr 2007-07-17 11:04:33 +10:00
i810_dma.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
i810_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
i810_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i810_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
i830_dma.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
i830_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
i830_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i830_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
i830_irq.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
i915_dma.c drm/i915: Fix i965 secured batchbuffer usage 2007-08-06 17:46:23 -07:00
i915_drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
i915_drv.c drm: add support for secondary vertical blank interrupt to i915 2006-12-07 15:53:28 +11:00
i915_drv.h drm/i915: Fix i965 secured batchbuffer usage 2007-08-06 17:46:23 -07:00
i915_ioc32.c [PATCH] struct path: convert drm 2006-12-08 08:28:44 -08:00
i915_irq.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
i915_mem.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
Kconfig [SPARC]: Mark as emulating cmpxchg, add appropriate depends for DRM. 2007-05-29 02:51:24 -07:00
Makefile [DRM]: Delete sparc64 FFB driver code that never gets built. 2007-03-26 21:49:11 -07:00
mga_dma.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
mga_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
mga_drv.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
mga_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
mga_ioc32.c [PATCH] struct path: convert drm 2006-12-08 08:28:44 -08:00
mga_irq.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
mga_state.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10: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: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
r128_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
r128_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r128_drv.h drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
r128_ioc32.c [PATCH] struct path: convert drm 2006-12-08 08:28:44 -08:00
r128_irq.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
r128_state.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
r300_cmdbuf.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
r300_reg.h r300: updates register header 2007-07-11 12:24:10 +10:00
radeon_cp.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
radeon_drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
radeon_drv.c radeon: add support for vblank on crtc2 2007-07-11 12:16:01 +10:00
radeon_drv.h drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
radeon_ioc32.c fix radeon setparam on 32/64 systems, harder. 2007-06-16 09:39:05 -07:00
radeon_irq.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
radeon_mem.c drm: fixup comment header style 2006-12-19 17:49:08 +11:00
radeon_state.c drm: remove sarea typedefs 2007-07-12 10:35:02 +10:00
README.drm drm: update README.drm (bugzilla #7933) 2007-03-11 12:07:16 +11:00
savage_bci.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
savage_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
savage_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
savage_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
savage_state.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
sis_drm.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
sis_drv.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
sis_drv.h drm: de-typedef sman 2007-07-12 10:21:05 +10:00
sis_mm.c drm: fix problem with SiS typedef with sisfb enabled. 2007-07-17 12:55:58 +10:00
tdfx_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02: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: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_dmablit.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
via_dmablit.h drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
via_drv.c drm: fix driver deadlock with AIGLX and reclaim_buffers_locked 2007-03-23 13:28:33 +11:00
via_drv.h drm: de-typedef sman 2007-07-12 10:21:05 +10:00
via_irq.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_map.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_mm.c drm: de-typedef sman 2007-07-12 10:21:05 +10:00
via_verifier.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
via_verifier.h drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_video.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00

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

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://dri.freedesktop.org/wiki/Documentation
    http://sourceforge.net/project/showfiles.php?group_id=387
    http://dri.sourceforge.net/doc/

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://dri.sourceforge.net/doc/drm_low_level.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/hardware_locking_low_level.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/security_low_level.html