linux_dsm_epyc7002/drivers/gpu/drm/radeon
Jerome Glisse 068a117ca3 drm/radeon: command stream checker for r3xx-r5xx hardware
For security purpose we want to make sure the userspace process doesn't
access memory beyond buffer it owns. To achieve this we need to check
states the userspace program. For color buffer and zbuffer we check that
the clipping register will discard access beyond buffers set as color
or zbuffer. For vertex buffer we check that no vertex fetch will happen
beyond buffer end. For texture we check various texture states (number
of mipmap level, texture size, texture depth, ...) to compute the amount
of memory the texture fetcher might access.

The command stream checking impact the performances so far quick benchmark
shows an average of 3% decrease in fps of various applications. It can
be optimized a bit more by caching result of checking and thus avoid a
full recheck if no states changed since last check.

Note that this patch is still incomplete on checking side as it doesn't
check 2d rendering states.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-06-19 09:32:27 +10:00
..
atom-bits.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom-names.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom-types.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atombios_crtc.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atombios.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
Kconfig drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
Makefile drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
ObjectID.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r100.c drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
r300_cmdbuf.c drm/radeon: add regs required for occlusion queries support 2009-03-29 18:31:35 +10:00
r300_reg.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r300.c drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
r300.h drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
r420.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r500_reg.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r520.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r600_cp.c drm/radeon: add support for RV790. 2009-06-12 15:56:30 +10:00
r600_microcode.h drm/radeon: add r6xx/r7xx microcode 2009-03-13 14:24:10 +10:00
r600_reg.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r600.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_agp.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_asic.h drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
radeon_atombios.c radeon legacy chips: tv dac bg/dac adj updates 2009-06-15 12:02:27 +10:00
radeon_benchmark.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_bios.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_clocks.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_combios.c drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM. 2009-06-19 09:30:06 +10:00
radeon_connectors.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_cp.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_cs.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_cursor.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_device.c drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
radeon_display.c drm: EDID endianness fixes. 2009-06-19 09:11:13 +10:00
radeon_drv.c radeon: Enable modesetting on non-x86. 2009-06-19 09:23:44 +10:00
radeon_drv.h Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-06-12 18:09:18 -07:00
radeon_encoders.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_fb.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_fence.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_fixed.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_gart.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_gem.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_i2c.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_ioc32.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
radeon_irq_kms.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_irq.c drm/radeon: RS600: fix interrupt handling 2009-03-13 14:24:16 +10:00
radeon_kms.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_legacy_crtc.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_legacy_encoders.c radeon legacy chips: tv dac bg/dac adj updates 2009-06-15 12:02:27 +10:00
radeon_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_microcode.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
radeon_mode.h radeon legacy chips: tv dac bg/dac adj updates 2009-06-15 12:02:27 +10:00
radeon_object.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_object.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_reg.h radeon: Fix CP byte order on big endian architectures with KMS. 2009-06-19 09:28:20 +10:00
radeon_ring.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_state.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_ttm.c drm/radeon: Respect AGP cant_use_aperture flag. 2009-06-19 09:23:03 +10:00
radeon.h drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
rs400.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
rs600.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
rs690.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
rs780.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
rv515.c drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
rv770.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00