mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
Add support for some SCSI ioctls. Patch from Jakub Jelinek on BZ#292627.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12375
This commit is contained in:
parent
74eb6fb3b4
commit
dc42e147f5
@ -4032,6 +4032,10 @@ PRE(sys_ioctl)
|
||||
case VKI_SNDRV_TIMER_IOCTL_STOP:
|
||||
case VKI_SNDRV_TIMER_IOCTL_CONTINUE:
|
||||
case VKI_SNDRV_TIMER_IOCTL_PAUSE:
|
||||
|
||||
/* SCSI no operand */
|
||||
case VKI_SCSI_IOCTL_DOORLOCK:
|
||||
case VKI_SCSI_IOCTL_DOORUNLOCK:
|
||||
PRINT("sys_ioctl ( %ld, 0x%lx )",ARG1,ARG2);
|
||||
PRE_REG_READ2(long, "ioctl",
|
||||
unsigned int, fd, unsigned int, request);
|
||||
@ -4517,6 +4521,14 @@ PRE(sys_ioctl)
|
||||
VKI_SIZEOF_STRUCT_HD_DRIVEID );
|
||||
break;
|
||||
|
||||
/* SCSI */
|
||||
case VKI_SCSI_IOCTL_GET_IDLUN: /* 0x5382 */
|
||||
PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_IDLUN)", ARG3, sizeof(struct vki_scsi_idlun));
|
||||
break;
|
||||
case VKI_SCSI_IOCTL_GET_BUS_NUMBER: /* 0x5386 */
|
||||
PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_BUS_NUMBER)", ARG3, sizeof(int));
|
||||
break;
|
||||
|
||||
/* CD ROM stuff (??) */
|
||||
case VKI_CDROM_GET_MCN:
|
||||
PRE_MEM_READ( "ioctl(CDROM_GET_MCN)", ARG3,
|
||||
@ -5618,6 +5630,10 @@ POST(sys_ioctl)
|
||||
case VKI_SNDRV_TIMER_IOCTL_STOP:
|
||||
case VKI_SNDRV_TIMER_IOCTL_CONTINUE:
|
||||
case VKI_SNDRV_TIMER_IOCTL_PAUSE:
|
||||
|
||||
/* SCSI no operand */
|
||||
case VKI_SCSI_IOCTL_DOORLOCK:
|
||||
case VKI_SCSI_IOCTL_DOORUNLOCK:
|
||||
break;
|
||||
|
||||
/* Real Time Clock (/dev/rtc) ioctls */
|
||||
@ -5684,6 +5700,14 @@ POST(sys_ioctl)
|
||||
POST_MEM_WRITE(ARG3, VKI_SIZEOF_STRUCT_HD_DRIVEID );
|
||||
break;
|
||||
|
||||
/* SCSI */
|
||||
case VKI_SCSI_IOCTL_GET_IDLUN: /* 0x5382 */
|
||||
POST_MEM_WRITE(ARG3, sizeof(struct vki_scsi_idlun));
|
||||
break;
|
||||
case VKI_SCSI_IOCTL_GET_BUS_NUMBER: /* 0x5386 */
|
||||
POST_MEM_WRITE(ARG3, sizeof(int));
|
||||
break;
|
||||
|
||||
/* CD ROM stuff (??) */
|
||||
case VKI_CDROMSUBCHNL:
|
||||
POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_subchnl));
|
||||
|
||||
@ -1750,6 +1750,20 @@ typedef struct vki_sg_scsi_id { /* used by SG_GET_SCSI_ID ioctl() */
|
||||
//#define SG_GET_COMMAND_Q 0x2270 /* Yields 0 (queuing off) or 1 (on) */
|
||||
#define VKI_SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1 */
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// From linux-2.6.34/include/scsi/scsi.h and scsi/scsi_ioctl.h
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
#define VKI_SCSI_IOCTL_DOORLOCK 0x5380 /* Lock the eject mechanism. */
|
||||
#define VKI_SCSI_IOCTL_DOORUNLOCK 0x5381 /* Unlock the mechanism. */
|
||||
#define VKI_SCSI_IOCTL_GET_IDLUN 0x5382
|
||||
#define VKI_SCSI_IOCTL_GET_BUS_NUMBER 0x5386
|
||||
|
||||
struct vki_scsi_idlun {
|
||||
__vki_u32 dev_id;
|
||||
__vki_u32 host_unique_id;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// From linux-2.6.8.1/include/linux/cdrom.h
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user