Added the NCR 53c815 and 53c820, and made sure the 53c810 and the 53c820 do not have the BIOS option as real ones do not have a BIOS BAR, while the 53c815 and 53c825 do (they are basically 53c810 and 53c820, respectively, with own BIOS support);
Roughly implemented the SCSI IDENTIFY message LUN operation, fixes some SCSI controller drivers in some situations; Added an undocumented CMD640 IDE controller register required by Linux and by a DOS driver.
This commit is contained in:
@@ -130,8 +130,8 @@ typedef struct {
|
||||
|
||||
uint8_t status, phase,
|
||||
error, id,
|
||||
features, pad0,
|
||||
pad1, pad2;
|
||||
features, cur_lun,
|
||||
pad0, pad1;
|
||||
|
||||
uint16_t request_length, max_transfer_len;
|
||||
|
||||
|
||||
@@ -36,8 +36,8 @@ typedef struct {
|
||||
|
||||
uint8_t status, phase,
|
||||
error, id,
|
||||
features, pad0,
|
||||
pad1, pad2;
|
||||
features, cur_lun,
|
||||
pad0, pad1;
|
||||
|
||||
uint16_t request_length, max_transfer_len;
|
||||
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
#define SCSI_ID_MAX 16 /* 16 on wide buses */
|
||||
#define SCSI_LUN_MAX 8 /* always 8 */
|
||||
|
||||
#define SCSI_LUN_USE_CDB 0xff
|
||||
|
||||
#ifdef WALTJE
|
||||
#define SCSI_TIME 50.0
|
||||
#else
|
||||
@@ -320,7 +322,7 @@ typedef struct scsi_common_s {
|
||||
|
||||
uint8_t status, phase,
|
||||
error, id,
|
||||
features, pad,
|
||||
features, cur_lun,
|
||||
pad0, pad1;
|
||||
|
||||
uint16_t request_length, max_transfer_len;
|
||||
@@ -378,6 +380,7 @@ extern int scsi_device_cdb_length(scsi_device_t *dev);
|
||||
extern void scsi_device_command_phase0(scsi_device_t *dev, uint8_t *cdb);
|
||||
extern void scsi_device_command_phase1(scsi_device_t *dev);
|
||||
extern void scsi_device_command_stop(scsi_device_t *dev);
|
||||
extern void scsi_device_identify(scsi_device_t *dev, uint8_t lun);
|
||||
extern void scsi_device_close_all(void);
|
||||
extern void scsi_device_init(void);
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@ typedef struct {
|
||||
|
||||
uint8_t status, phase,
|
||||
error, id,
|
||||
pad0, pad1,
|
||||
pad2, pad3;
|
||||
pad0, cur_lun,
|
||||
pad1, pad2;
|
||||
|
||||
uint16_t request_length, pad4;
|
||||
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
|
||||
extern const device_t ncr53c810_pci_device;
|
||||
extern const device_t ncr53c810_onboard_pci_device;
|
||||
extern const device_t ncr53c815_pci_device;
|
||||
extern const device_t ncr53c820_pci_device;
|
||||
extern const device_t ncr53c825a_pci_device;
|
||||
extern const device_t ncr53c860_pci_device;
|
||||
extern const device_t ncr53c875_pci_device;
|
||||
|
||||
@@ -76,8 +76,8 @@ typedef struct {
|
||||
|
||||
uint8_t status, phase,
|
||||
error, id,
|
||||
features, pad0,
|
||||
pad1, pad2;
|
||||
features, cur_lun,
|
||||
pad0, pad1;
|
||||
|
||||
uint16_t request_length, max_transfer_len;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user