Added support for up to four SCSI controllers, closes #343.
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
#include <86box/scsi_device.h>
|
||||
|
||||
|
||||
scsi_device_t scsi_devices[SCSI_ID_MAX];
|
||||
scsi_device_t scsi_devices[SCSI_BUS_MAX][SCSI_ID_MAX];
|
||||
|
||||
uint8_t scsi_null_device_sense[18] = { 0x70,0,SENSE_ILLEGAL_REQUEST,0,0,0,0,0,0,0,0,0,ASC_INV_LUN,0,0,0,0,0 };
|
||||
|
||||
@@ -176,13 +176,15 @@ scsi_device_identify(scsi_device_t *dev, uint8_t lun)
|
||||
void
|
||||
scsi_device_close_all(void)
|
||||
{
|
||||
int i;
|
||||
int i, j;
|
||||
scsi_device_t *dev;
|
||||
|
||||
for (i = 0; i < SCSI_ID_MAX; i++) {
|
||||
dev = &(scsi_devices[i]);
|
||||
if (dev->command_stop && dev->sc)
|
||||
dev->command_stop(dev->sc);
|
||||
for (i = 0; i < SCSI_BUS_MAX; i++) {
|
||||
for (j = 0; j < SCSI_ID_MAX; j++) {
|
||||
dev = &(scsi_devices[i][j]);
|
||||
if (dev->command_stop && dev->sc)
|
||||
dev->command_stop(dev->sc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,13 +192,15 @@ scsi_device_close_all(void)
|
||||
void
|
||||
scsi_device_init(void)
|
||||
{
|
||||
int i;
|
||||
int i, j;
|
||||
scsi_device_t *dev;
|
||||
|
||||
for (i = 0; i < SCSI_ID_MAX; i++) {
|
||||
dev = &(scsi_devices[i]);
|
||||
for (i = 0; i < SCSI_BUS_MAX; i++) {
|
||||
for (j = 0; j < SCSI_ID_MAX; j++) {
|
||||
dev = &(scsi_devices[i][j]);
|
||||
|
||||
memset(dev, 0, sizeof(scsi_device_t));
|
||||
dev->type = SCSI_NONE;
|
||||
memset(dev, 0, sizeof(scsi_device_t));
|
||||
dev->type = SCSI_NONE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user