Changeset 48123 in vbox for trunk/src/VBox/Devices/PC/BIOS/scsi.c
- Timestamp:
- Aug 28, 2013 11:57:34 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 88503
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/scsi.c
r46241 r48123 94 94 while (status & VBSCSI_BUSY); 95 95 96 96 97 97 sizes = ((length >> 12) & 0xF0) | cbCDB; 98 98 outb(io_base + VBSCSI_REGISTER_COMMAND, target_id); /* Write the target ID. */ … … 100 100 outb(io_base + VBSCSI_REGISTER_COMMAND, sizes); /* Write CDB size and top bufsize bits. */ 101 101 outb(io_base + VBSCSI_REGISTER_COMMAND, length); /* Write the buffer size. */ 102 outb(io_base + VBSCSI_REGISTER_COMMAND, (length >> 8)); 102 outb(io_base + VBSCSI_REGISTER_COMMAND, (length >> 8)); 103 103 for (i = 0; i < cbCDB; i++) /* Write the CDB. */ 104 104 outb(io_base + VBSCSI_REGISTER_COMMAND, aCDB[i]); … … 136 136 while (status & VBSCSI_BUSY); 137 137 138 138 139 139 sizes = ((length >> 12) & 0xF0) | cbCDB; 140 140 outb(io_base + VBSCSI_REGISTER_COMMAND, target_id); /* Write the target ID. */ … … 171 171 * 172 172 * @returns status code. 173 * @param bios_dsk Pointer to disk request packet (in the 173 * @param bios_dsk Pointer to disk request packet (in the 174 174 * EBDA). 175 175 */ … … 203 203 count, device_id, bios_dsk->scsidev[device_id].target_id); 204 204 205 rc = scsi_cmd_data_in(io_base, target_id, (void __far *)&cdb, 10, 205 rc = scsi_cmd_data_in(io_base, target_id, (void __far *)&cdb, 10, 206 206 bios_dsk->drqp.buffer, (count * 512L)); 207 207 … … 220 220 * 221 221 * @returns status code. 222 * @param bios_dsk Pointer to disk request packet (in the 222 * @param bios_dsk Pointer to disk request packet (in the 223 223 * EBDA). 224 224 */ … … 274 274 * 275 275 * @returns status code. 276 * @param bios_dsk Pointer to disk request packet (in the 276 * @param bios_dsk Pointer to disk request packet (in the 277 277 * EBDA). 278 278 */ 279 uint16_t scsi_cmd_packet(uint16_t device_id, uint8_t cmdlen, char __far *cmdbuf, 279 uint16_t scsi_cmd_packet(uint16_t device_id, uint8_t cmdlen, char __far *cmdbuf, 280 280 uint16_t before, uint32_t length, uint8_t inout, char __far *buffer) 281 281 { … … 440 440 } 441 441 442 /* We need to calculate the geometry for the disk. From 443 * the BusLogic driver in the Linux kernel. 442 /* We need to calculate the geometry for the disk. From 443 * the BusLogic driver in the Linux kernel. 444 444 */ 445 445 if (sectors >= (uint32_t)4 * 1024 * 1024)
Note:
See TracChangeset
for help on using the changeset viewer.