Changeset 44533 in vbox for trunk/src/VBox/Devices/Storage/VBoxSCSI.h
- Timestamp:
- Feb 4, 2013 8:55:12 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/VBoxSCSI.h
r44528 r44533 1 1 /* $Id$ */ 2 2 /** @file 3 * 4 * VBox storage devices: 5 * Simple SCSI interface for BIOS access 3 * VBox storage devices - Simple SCSI interface for BIOS access. 6 4 */ 7 5 … … 18 16 */ 19 17 20 /** 21 * This is a simple interface to access SCSI devices from the BIOS 22 * which is shared between the BusLogic and the LsiLogic 23 * SCSI host adapters to simplify the BIOS part. 18 /** @page pg_drv_scsi Simple SCSI interface for BIOS access. 24 19 * 25 * The BusLogic interface if available will be starting at port 0x330 26 * and the LsiLogic starts at 0x340 and each will have a size of 4 ports. 27 * The ports are used as described below: 20 * This is a simple interface to access SCSI devices from the BIOS which is 21 * shared between the BusLogic and the LsiLogic SCSI host adapters to simplify 22 * the BIOS part. 23 * 24 * The BusLogic interface if available will be starting at port 0x330 and the 25 * LsiLogic starts at 0x340 and each will have a size of 4 ports. The ports are 26 * used as described below: 28 27 * 29 28 * +--------+--------+----------+ … … 45 44 * +--------+--------+----------+ 46 45 * 47 * The register at port 0 receives the SCSI CDB issued from the driver when writing to it but 48 * before writing the actual CDB the first write gives the size of the CDB in bytes. 46 * The register at port 0 receives the SCSI CDB issued from the driver when 47 * writing to it but before writing the actual CDB the first write gives the 48 * size of the CDB in bytes. 49 49 * 50 * Reading the port at offset 0 gives status information about the adapter. 51 * Ifthe busy bit is set the adapter is processing a previous issued request if it is50 * Reading the port at offset 0 gives status information about the adapter. If 51 * the busy bit is set the adapter is processing a previous issued request if it is 52 52 * cleared the command finished and the adapter can process another request. 53 * The driver has to poll this bit because the adapter will not assert an IRQ for simplicity reasons. 53 * The driver has to poll this bit because the adapter will not assert an IRQ 54 * for simplicity reasons. 54 55 * 55 * The register at offset 2 is to detect if a host adapter is available 56 * If thedriver writes a value to this port and gets the same value after reading it56 * The register at offset 2 is to detect if a host adapter is available. If the 57 * driver writes a value to this port and gets the same value after reading it 57 58 * again the adapter is available. 58 59 * 59 * Any write to the register at offset 3 causes the interface to be reset. A read returns60 * the SCSI status code of the last operation.60 * Any write to the register at offset 3 causes the interface to be reset. A 61 * read returns the SCSI status code of the last operation. 61 62 * 62 * This part has no R0 or GC components.63 * This part has no R0 or RC components. 63 64 */ 64 65 … … 101 102 uint8_t cbCDB; 102 103 /** The command to issue. */ 103 uint8_t a CDB[12];104 uint8_t abCDB[12]; 104 105 /** Current position in the array. */ 105 106 uint8_t iCDB; … … 110 111 111 112 /** Pointer to the buffer holding the data. */ 112 R3PTRTYPE(uint8_t *) p Buf;113 R3PTRTYPE(uint8_t *) pbBuf; 113 114 /** Size of the buffer in bytes. */ 114 115 uint32_t cbBuf; 115 /** Current position in the buffer . */116 /** Current position in the buffer (offBuf if you like). */ 116 117 uint32_t iBuf; 117 118 /** The result code of last operation. */ … … 142 143 RTGCPTR *pGCPtrDst, PRTGCUINTREG pcTransfer, unsigned cb); 143 144 RT_C_DECLS_END 144 #endif 145 #endif /* IN_RING3 */ 145 146 146 #endif /* ___Storage_VBoxSCSI_h */ 147 #endif /* !___Storage_VBoxSCSI_h */ 148
Note:
See TracChangeset
for help on using the changeset viewer.