The current modesetting driver fails with cirrus KMS and others on
32bit architecture.  It aborts at mmap() call failure in dumb_bo.c,
and it's because the offset is passed as 32bit off_t; this truncates
DRM_FILE_PAGE_OFFSET bit and the KMS driver refuses the value.

This is an ad hoc fix just to let 64bit off_t being used for mmap() by
adding _FILE_OFFSET_BITS=64.

Signed-off-by: Takashi Iwai <[email protected]>
---
 hw/xfree86/drivers/modesetting/dumb_bo.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/xfree86/drivers/modesetting/dumb_bo.c 
b/hw/xfree86/drivers/modesetting/dumb_bo.c
index 58d420e07568..29948d453a1a 100644
--- a/hw/xfree86/drivers/modesetting/dumb_bo.c
+++ b/hw/xfree86/drivers/modesetting/dumb_bo.c
@@ -25,6 +25,8 @@
  *
  */
 
+#define _FILE_OFFSET_BITS      64
+
 #include "dumb_bo.h"
 
 #include <errno.h>
-- 
2.3.0

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to