Revision 00a01ad4
b/hw/scsi-bus.c | ||
---|---|---|
681 | 681 |
case TEST_UNIT_READY: |
682 | 682 |
case REWIND: |
683 | 683 |
case START_STOP: |
684 |
case SEEK_6:
|
|
684 |
case SET_CAPACITY:
|
|
685 | 685 |
case WRITE_FILEMARKS: |
686 | 686 |
case SPACE: |
687 | 687 |
case RESERVE: |
... | ... | |
1036 | 1036 |
[ REASSIGN_BLOCKS ] = "REASSIGN_BLOCKS", |
1037 | 1037 |
[ READ_6 ] = "READ_6", |
1038 | 1038 |
[ WRITE_6 ] = "WRITE_6", |
1039 |
[ SEEK_6 ] = "SEEK_6",
|
|
1039 |
[ SET_CAPACITY ] = "SET_CAPACITY",
|
|
1040 | 1040 |
[ READ_REVERSE ] = "READ_REVERSE", |
1041 | 1041 |
[ WRITE_FILEMARKS ] = "WRITE_FILEMARKS", |
1042 | 1042 |
[ SPACE ] = "SPACE", |
... | ... | |
1064 | 1064 |
[ SEARCH_EQUAL ] = "SEARCH_EQUAL", |
1065 | 1065 |
[ SEARCH_LOW ] = "SEARCH_LOW", |
1066 | 1066 |
[ SET_LIMITS ] = "SET_LIMITS", |
1067 |
[ PRE_FETCH ] = "PRE_FETCH", |
|
1067 |
[ PRE_FETCH ] = "PRE_FETCH/READ_POSITION",
|
|
1068 | 1068 |
/* READ_POSITION and PRE_FETCH use the same operation code */ |
1069 | 1069 |
[ SYNCHRONIZE_CACHE ] = "SYNCHRONIZE_CACHE", |
1070 | 1070 |
[ LOCK_UNLOCK_CACHE ] = "LOCK_UNLOCK_CACHE", |
... | ... | |
1101 | 1101 |
[ WRITE_16 ] = "WRITE_16", |
1102 | 1102 |
[ WRITE_VERIFY_16 ] = "WRITE_VERIFY_16", |
1103 | 1103 |
[ VERIFY_16 ] = "VERIFY_16", |
1104 |
[ SYNCHRONIZE_CACHE_16 ] = "SYNCHRONIZE_CACHE_16", |
|
1104 |
[ PRE_FETCH_16 ] = "PRE_FETCH_16", |
|
1105 |
[ SYNCHRONIZE_CACHE_16 ] = "SPACE_16/SYNCHRONIZE_CACHE_16", |
|
1106 |
/* SPACE_16 and SYNCHRONIZE_CACHE_16 use the same operation code */ |
|
1105 | 1107 |
[ LOCATE_16 ] = "LOCATE_16", |
1106 |
[ WRITE_SAME_16 ] = "WRITE_SAME_16", |
|
1108 |
[ WRITE_SAME_16 ] = "ERASE_16/WRITE_SAME_16",
|
|
1107 | 1109 |
/* ERASE_16 and WRITE_SAME_16 use the same operation code */ |
1108 | 1110 |
[ SERVICE_ACTION_IN_16 ] = "SERVICE_ACTION_IN_16", |
1109 | 1111 |
[ WRITE_LONG_16 ] = "WRITE_LONG_16", |
... | ... | |
1113 | 1115 |
[ LOAD_UNLOAD ] = "LOAD_UNLOAD", |
1114 | 1116 |
[ READ_12 ] = "READ_12", |
1115 | 1117 |
[ WRITE_12 ] = "WRITE_12", |
1118 |
[ ERASE_12 ] = "ERASE_12/GET_PERFORMANCE", |
|
1119 |
/* ERASE_12 and GET_PERFORMANCE use the same operation code */ |
|
1116 | 1120 |
[ SERVICE_ACTION_IN_12 ] = "SERVICE_ACTION_IN_12", |
1117 | 1121 |
[ WRITE_VERIFY_12 ] = "WRITE_VERIFY_12", |
1118 | 1122 |
[ VERIFY_12 ] = "VERIFY_12", |
... | ... | |
1120 | 1124 |
[ SEARCH_EQUAL_12 ] = "SEARCH_EQUAL_12", |
1121 | 1125 |
[ SEARCH_LOW_12 ] = "SEARCH_LOW_12", |
1122 | 1126 |
[ READ_ELEMENT_STATUS ] = "READ_ELEMENT_STATUS", |
1123 |
[ SEND_VOLUME_TAG ] = "SEND_VOLUME_TAG", |
|
1127 |
[ SEND_VOLUME_TAG ] = "SEND_VOLUME_TAG/SET_STREAMING", |
|
1128 |
/* SEND_VOLUME_TAG and SET_STREAMING use the same operation code */ |
|
1129 |
[ READ_CD ] = "READ_CD", |
|
1124 | 1130 |
[ READ_DEFECT_DATA_12 ] = "READ_DEFECT_DATA_12", |
1131 |
[ READ_DVD_STRUCTURE ] = "READ_DVD_STRUCTURE", |
|
1132 |
[ RESERVE_TRACK ] = "RESERVE_TRACK", |
|
1133 |
[ SEND_CUE_SHEET ] = "SEND_CUE_SHEET", |
|
1134 |
[ SEND_DVD_STRUCTURE ] = "SEND_DVD_STRUCTURE", |
|
1125 | 1135 |
[ SET_CD_SPEED ] = "SET_CD_SPEED", |
1136 |
[ SET_READ_AHEAD ] = "SET_READ_AHEAD", |
|
1137 |
[ ALLOW_OVERWRITE ] = "ALLOW_OVERWRITE", |
|
1138 |
[ MECHANISM_STATUS ] = "MECHANISM_STATUS", |
|
1126 | 1139 |
}; |
1127 | 1140 |
|
1128 | 1141 |
if (cmd >= ARRAY_SIZE(names) || names[cmd] == NULL) |
b/hw/scsi-defs.h | ||
---|---|---|
32 | 32 |
#define REASSIGN_BLOCKS 0x07 |
33 | 33 |
#define READ_6 0x08 |
34 | 34 |
#define WRITE_6 0x0a |
35 |
#define SEEK_6 0x0b
|
|
35 |
#define SET_CAPACITY 0x0b
|
|
36 | 36 |
#define READ_REVERSE 0x0f |
37 | 37 |
#define WRITE_FILEMARKS 0x10 |
38 | 38 |
#define SPACE 0x11 |
... | ... | |
81 | 81 |
#define GET_EVENT_STATUS_NOTIFICATION 0x4a |
82 | 82 |
#define LOG_SELECT 0x4c |
83 | 83 |
#define LOG_SENSE 0x4d |
84 |
#define RESERVE_TRACK 0x53 |
|
84 | 85 |
#define MODE_SELECT_10 0x55 |
85 | 86 |
#define RESERVE_10 0x56 |
86 | 87 |
#define RELEASE_10 0x57 |
87 | 88 |
#define MODE_SENSE_10 0x5a |
89 |
#define SEND_CUE_SHEET 0x5d |
|
88 | 90 |
#define PERSISTENT_RESERVE_IN 0x5e |
89 | 91 |
#define PERSISTENT_RESERVE_OUT 0x5f |
90 | 92 |
#define VARLENGTH_CDB 0x7f |
91 | 93 |
#define WRITE_FILEMARKS_16 0x80 |
94 |
#define ALLOW_OVERWRITE 0x82 |
|
92 | 95 |
#define EXTENDED_COPY 0x83 |
93 | 96 |
#define ATA_PASSTHROUGH 0x85 |
94 | 97 |
#define ACCESS_CONTROL_IN 0x86 |
... | ... | |
98 | 101 |
#define WRITE_16 0x8a |
99 | 102 |
#define WRITE_VERIFY_16 0x8e |
100 | 103 |
#define VERIFY_16 0x8f |
104 |
#define PRE_FETCH_16 0x90 |
|
105 |
#define SPACE_16 0x91 |
|
101 | 106 |
#define SYNCHRONIZE_CACHE_16 0x91 |
102 | 107 |
#define LOCATE_16 0x92 |
103 | 108 |
#define WRITE_SAME_16 0x93 |
... | ... | |
110 | 115 |
#define MAINTENANCE_OUT 0xa4 |
111 | 116 |
#define MOVE_MEDIUM 0xa5 |
112 | 117 |
#define LOAD_UNLOAD 0xa6 |
118 |
#define SET_READ_AHEAD 0xa7 |
|
113 | 119 |
#define READ_12 0xa8 |
114 | 120 |
#define WRITE_12 0xaa |
115 | 121 |
#define SERVICE_ACTION_IN_12 0xab |
122 |
#define ERASE_12 0xac |
|
116 | 123 |
#define READ_DVD_STRUCTURE 0xad |
117 | 124 |
#define WRITE_VERIFY_12 0xae |
118 | 125 |
#define VERIFY_12 0xaf |
... | ... | |
125 | 132 |
#define SET_CD_SPEED 0xbb |
126 | 133 |
#define MECHANISM_STATUS 0xbd |
127 | 134 |
#define READ_CD 0xbe |
135 |
#define SEND_DVD_STRUCTURE 0xbf |
|
128 | 136 |
|
129 | 137 |
/* |
130 | 138 |
* SERVICE ACTION IN subcodes |
b/hw/scsi-disk.c | ||
---|---|---|
1374 | 1374 |
goto fail; |
1375 | 1375 |
} |
1376 | 1376 |
break; |
1377 |
case SEEK_6: |
|
1378 | 1377 |
case SEEK_10: |
1379 |
DPRINTF("Seek(%d) (sector %" PRId64 ")\n", command == SEEK_6 ? 6 : 10, |
|
1380 |
r->req.cmd.lba); |
|
1378 |
DPRINTF("Seek(10) (sector %" PRId64 ")\n", r->req.cmd.lba); |
|
1381 | 1379 |
if (r->req.cmd.lba > s->qdev.max_lba) { |
1382 | 1380 |
goto illegal_lba; |
1383 | 1381 |
} |
Also available in: Unified diff