]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add support for the FBIOGET_VSCREENINFO and FBIOGET_FSCREENINFO ioctls
authorTom Hughes <tom@compton.nu>
Wed, 21 Apr 2004 15:52:33 +0000 (15:52 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 21 Apr 2004 15:52:33 +0000 (15:52 +0000)
based on a patch from Paul Olav Tvete <paul@trolltech.com>.

CCMAIL: 77022-done@bugs.kde.org

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2381

coregrind/vg_syscalls.c
coregrind/vg_unsafe.h

index 3e70eb5c14c8320433ac87e6a4faf61e33171797..31f5d491610a5e9b1bc273094df973e4c1787f94 100644 (file)
@@ -3230,6 +3230,17 @@ PRE(ioctl)
    case CDROM_DRIVE_STATUS: /* 0x5326 */
    case CDROM_CLEAR_OPTIONS: /* 0x5321 */
       break;
+      
+   case FBIOGET_VSCREENINFO: /* 0x4600 */
+      SYSCALL_TRACK( pre_mem_write,tid,
+                     "ioctl(FBIOGET_VSCREENINFO)", arg3,
+                     sizeof(struct fb_var_screeninfo));
+      break;
+   case FBIOGET_FSCREENINFO: /* 0x4602 */
+      SYSCALL_TRACK( pre_mem_write,tid,
+                     "ioctl(FBIOGET_FSCREENINFO)", arg3,
+                     sizeof(struct fb_fix_screeninfo));
+      break;
 
       /* We don't have any specific information on it, so
         try to do something reasonable based on direction and
@@ -3584,6 +3595,15 @@ POST(ioctl)
    case CDROM_CLEAR_OPTIONS: /* 0x5321 */
       break;
 
+   case FBIOGET_VSCREENINFO: //0x4600
+      if (res == 0)
+         VG_TRACK( post_mem_write,arg3, sizeof(struct fb_var_screeninfo));
+      break;
+   case FBIOGET_FSCREENINFO: //0x4602
+      if (res == 0)
+         VG_TRACK( post_mem_write,arg3, sizeof(struct fb_fix_screeninfo));
+      break;
+
       /* We don't have any specific information on it, so
         try to do something reasonable based on direction and
         size bits.  The encoding scheme is described in
index 65c451ec678db05f536b645e39004eae06af4139..2e86f252bdddfc72847d4a805f6ea8e2d9cb010a 100644 (file)
@@ -63,6 +63,7 @@
 #include <linux/cdrom.h>  /* for cd-rom ioctls */
 #include <signal.h>       /* for siginfo_t */
 #include <linux/timex.h>  /* for adjtimex */
+#include <linux/fb.h>     /* for fb_* structs */
 
 #define __USE_LARGEFILE64
 #include <sys/stat.h>     /* for struct stat */