Implemented support for hardware cache flush. This is based on code I originally
did for yellowTAB GmbH when I worked for then and is being used under permission. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19840 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1023,4 +1023,21 @@ enum {
|
||||
// and Mechanism status page
|
||||
} scsi_read_cd_sub_channel_selection;
|
||||
|
||||
// SYNCHRONIZE CACHE (10)
|
||||
|
||||
typedef struct scsi_cmd_sync_cache {
|
||||
uint8 opcode;
|
||||
LBITFIELD8_4(
|
||||
RelAddr : 1,
|
||||
immed : 1, // 1 - return immediately, 0 - return on completion
|
||||
res1_1 : 3,
|
||||
LUN : 3
|
||||
);
|
||||
scsi_cd_lba lba;
|
||||
uint8 res2;
|
||||
uint8 nblocks_high;
|
||||
uint8 nblocks_low;
|
||||
uint8 control;
|
||||
} scsi_cmd_sync_cache;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -154,7 +154,9 @@ typedef struct scsi_periph_interface {
|
||||
|
||||
// fill data with icon (for B_GET_ICON ioctl)
|
||||
status_t (*get_icon)( icon_type type, device_icon *data );
|
||||
|
||||
|
||||
// synchronizes (flush) the device cache
|
||||
err_res(*synchronize_cache)(scsi_periph_device device, scsi_ccb *request);
|
||||
} scsi_periph_interface;
|
||||
|
||||
#define SCSI_PERIPH_MODULE_NAME "generic/scsi_periph/v1"
|
||||
|
||||
Reference in New Issue
Block a user