|
From: <sv...@va...> - 2010-02-18 15:54:55
|
Author: tom
Date: 2010-02-18 15:54:45 +0000 (Thu, 18 Feb 2010)
New Revision: 11050
Log:
Fix up a few issues with OSS ioctls. Fixes #227325.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/include/vki/vki-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2010-02-17 16:20:04 UTC (rev 11049)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2010-02-18 15:54:45 UTC (rev 11050)
@@ -4035,6 +4035,7 @@
case VKI_SNDCTL_SEQ_NRSYNTHS:
case VKI_SNDCTL_SEQ_NRMIDIS:
case VKI_SNDCTL_SEQ_GETTIME:
+ case VKI_SNDCTL_DSP_GETBLKSIZE:
case VKI_SNDCTL_DSP_GETFMTS:
case VKI_SNDCTL_DSP_GETTRIGGER:
case VKI_SNDCTL_DSP_GETODELAY:
@@ -4043,9 +4044,6 @@
case VKI_SOUND_PCM_READ_RATE:
case VKI_SOUND_PCM_READ_CHANNELS:
case VKI_SOUND_PCM_READ_BITS:
-#if !defined(VGA_ppc32) && !defined(VGA_ppc64)
- case (VKI_SOUND_PCM_READ_BITS|0x40000000): /* what the fuck ? */
-#endif
case VKI_SOUND_PCM_READ_FILTER:
PRE_MEM_WRITE( "ioctl(SNDCTL_XXX|SOUND_XXX (SIOR, int))",
ARG3, sizeof(int));
@@ -4053,11 +4051,11 @@
case VKI_SNDCTL_SEQ_CTRLRATE:
case VKI_SNDCTL_DSP_SPEED:
case VKI_SNDCTL_DSP_STEREO:
- case VKI_SNDCTL_DSP_GETBLKSIZE:
case VKI_SNDCTL_DSP_CHANNELS:
case VKI_SOUND_PCM_WRITE_FILTER:
case VKI_SNDCTL_DSP_SUBDIVIDE:
case VKI_SNDCTL_DSP_SETFRAGMENT:
+ case VKI_SNDCTL_DSP_SETFMT:
case VKI_SNDCTL_DSP_GETCHANNELMASK:
case VKI_SNDCTL_DSP_BIND_CHANNEL:
case VKI_SNDCTL_TMR_TIMEBASE:
@@ -5006,7 +5004,9 @@
case VKI_SNDCTL_SEQ_NRSYNTHS:
case VKI_SNDCTL_SEQ_NRMIDIS:
case VKI_SNDCTL_SEQ_GETTIME:
+ case VKI_SNDCTL_DSP_GETBLKSIZE:
case VKI_SNDCTL_DSP_GETFMTS:
+ case VKI_SNDCTL_DSP_SETFMT:
case VKI_SNDCTL_DSP_GETTRIGGER:
case VKI_SNDCTL_DSP_GETODELAY:
case VKI_SNDCTL_DSP_GETSPDIF:
@@ -5014,16 +5014,12 @@
case VKI_SOUND_PCM_READ_RATE:
case VKI_SOUND_PCM_READ_CHANNELS:
case VKI_SOUND_PCM_READ_BITS:
-#if !defined(VGA_ppc32) && !defined(VGA_ppc64)
- case (VKI_SOUND_PCM_READ_BITS|0x40000000): /* what the fuck ? */
-#endif
case VKI_SOUND_PCM_READ_FILTER:
POST_MEM_WRITE(ARG3, sizeof(int));
break;
case VKI_SNDCTL_SEQ_CTRLRATE:
case VKI_SNDCTL_DSP_SPEED:
case VKI_SNDCTL_DSP_STEREO:
- case VKI_SNDCTL_DSP_GETBLKSIZE:
case VKI_SNDCTL_DSP_CHANNELS:
case VKI_SOUND_PCM_WRITE_FILTER:
case VKI_SNDCTL_DSP_SUBDIVIDE:
Modified: trunk/include/vki/vki-linux.h
===================================================================
--- trunk/include/vki/vki-linux.h 2010-02-17 16:20:04 UTC (rev 11049)
+++ trunk/include/vki/vki-linux.h 2010-02-18 15:54:45 UTC (rev 11050)
@@ -1868,6 +1868,7 @@
#define VKI_SNDCTL_DSP_SETFRAGMENT _VKI_SIOWR('P',10, int)
#define VKI_SNDCTL_DSP_GETFMTS _VKI_SIOR ('P',11, int) /* Returns a mask */
+#define VKI_SNDCTL_DSP_SETFMT _VKI_SIOWR('P', 5, int) /* Selects ONE fmt */
typedef struct vki_audio_buf_info {
int fragments; /* # of available fragments (partially usend ones not counted) */
|