14 #ifndef __IDE_CTRL_IO_H__ 15 #define __IDE_CTRL_IO_H__ 24 #define IDE_REGISTER_DATA 0 25 #define IDE_REGISTER_ERROR 1 26 #define IDE_REGISTER_FEATURES IDE_REGISTER_ERROR 27 #define IDE_REGISTER_SECTOR_COUNT 2 28 #define IDE_REGISTER_SECTOR_NUMBER 3 29 #define IDE_REGISTER_LBA0 IDE_REGISTER_SECTOR_NUMBER 30 #define IDE_REGISTER_CYLINDER_LOW 4 31 #define IDE_REGISTER_LBA1 IDE_REGISTER_CYLINDER_LOW 32 #define IDE_REGISTER_CYLINDER_HIGH 5 33 #define IDE_REGISTER_LBA2 IDE_REGISTER_CYLINDER_HIGH 34 #define IDE_REGISTER_DEVICE_HEAD 6 35 #define IDE_REGISTER_LBA3 IDE_REGISTER_DEVICE_HEAD 36 #define IDE_REGISTER_STATUS 7 37 #define IDE_REGISTER_COMMAND IDE_REGISTER_STATUS 40 #define IDE_REGISTER_ALTERNATE_STATUS 6 41 #define IDE_REGISTER_DEVICE_CONTROL IDE_REGISTER_ALTERNATE_STATUS 44 #define IDE_REGISTER_DEVICE_CONTROL_OFFSET 8 45 #define IDE_REGISTER_ALTERNATE_STATUS_OFFSET IDE_REGISTER_DEVICE_CONTROL_OFFSET 46 #define IDE_REGISTER_DATA_BYTE 9 47 #define IDE_REGISTER_DATA_WORD 10 52 #define IDE_REGISTER_STATUS_BSY 0x80 53 #define IDE_REGISTER_STATUS_DRDY 0x40 54 #define IDE_REGISTER_STATUS_DF 0x20 55 #define IDE_REGISTER_STATUS_DSC 0x10 57 #define IDE_REGISTER_STATUS_DRQ 0x08 58 #define IDE_REGISTER_STATUS_CORR 0x04 60 #define IDE_REGISTER_STATUS_IDX 0x02 62 #define IDE_REGISTER_STATUS_ERR 0x01 64 #define IDE_REGISTER_DEVICE_CONTROL_SRST 0x04 65 #define IDE_REGISTER_DEVICE_CONTROL_nIEN 0x02 67 #define IDE_REGISTER_DEVICE_HEAD_L 0x40 68 #define IDE_REGISTER_DEVICE_HEAD_DEV 0x10 69 #define IDE_REGISTER_DEVICE_HEAD_DEV_POS 4 70 #define IDE_REGISTER_DEVICE_HEAD_HS 0x0f 71 #define IDE_REGISTER_LBA3_L 0x40 72 #define IDE_REGISTER_LBA3_DEV 0x10 73 #define IDE_REGISTER_LBA3_LBA 0x0f 75 #define IDE_REGISTER_ERROR_ICRC (1 << 7) 77 #define IDE_REGISTER_ERROR_UNC (1 << 6) 78 #if CCJ_COULD_NOT_FIND_THIS_ERROR 79 #define IDE_REGISTER_ERROR_WP (1 << 6) 81 #define IDE_REGISTER_ERROR_MC (1 << 5) 82 #define IDE_REGISTER_ERROR_IDNF (1 << 4) 83 #define IDE_REGISTER_ERROR_MCR (1 << 3) 85 #define IDE_REGISTER_ERROR_ABRT (1 << 2) 86 #define IDE_REGISTER_ERROR_NM (1 << 1) 87 #define IDE_REGISTER_ERROR_AMNF (1 << 0) 89 #define IDE_REGISTER_ERROR_MED (1 << 0) 106 ide_controller_read_data_block(rtems_device_minor_number minor,
127 ide_controller_write_data_block(rtems_device_minor_number minor,
146 ide_controller_read_register(rtems_device_minor_number minor,
163 ide_controller_write_register(rtems_device_minor_number minor,
164 int reg, uint16_t value);
179 ide_controller_config_io_speed(
int minor, uint16_t modes_available);
rtems_status_code
Classic API Status.
Definition: status.h:43
Block device scatter or gather buffer structure.
Definition: blkdev.h:68