summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hellstrom <unichrome@shipmail.org>2005-01-07 08:21:29 +0000
committerThomas Hellstrom <unichrome@shipmail.org>2005-01-07 08:21:29 +0000
commitca2b94cfa2f07c4fd1188d85d8d916318e15e7f2 (patch)
treeacc820da49e71aebcd0484ccff9e956e649047be
parentfcece3cf34ed5cc7e82d324362a40b3dd5493bbe (diff)
Updated via DRM with check for stray FIRE commands primitive list.
-rw-r--r--shared-core/via_drv.h4
-rw-r--r--shared-core/via_verifier.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/shared-core/via_drv.h b/shared-core/via_drv.h
index eb75f1ed..05ae40ac 100644
--- a/shared-core/via_drv.h
+++ b/shared-core/via_drv.h
@@ -28,11 +28,11 @@
#define DRIVER_NAME "via"
#define DRIVER_DESC "VIA Unichrome"
-#define DRIVER_DATE "20050106"
+#define DRIVER_DATE "20050107"
#define DRIVER_MAJOR 2
#define DRIVER_MINOR 4
-#define DRIVER_PATCHLEVEL 1
+#define DRIVER_PATCHLEVEL 2
typedef struct drm_via_ring_buffer {
drm_map_t map;
diff --git a/shared-core/via_verifier.c b/shared-core/via_verifier.c
index 534f2604..82a558cc 100644
--- a/shared-core/via_verifier.c
+++ b/shared-core/via_verifier.c
@@ -576,6 +576,11 @@ via_check_prim_list(uint32_t const **buffer, const uint32_t *buf_end,
buf++;
break;
}
+ if ((*buf & HALCYON_FIREMASK) == HALCYON_FIRECMD) {
+ DRM_ERROR("Stray Vertex Fire command encountered.\n");
+ ret = 1;
+ break;
+ }
if ((ret = eat_words(&buf, buf_end, dw_count)))
break;
}