1 /* 2 * SATA Definitions 3 */ 4 5 #ifndef __SATA_H__ 6 #define __SATA_H__ 7 8 typedef struct SATAFIS_REG_H2D { 9 uint8_t type; // 0x27 10 uint8_t flag; 11 uint8_t command; 12 uint8_t feature0; 13 uint8_t lba0; 14 uint8_t lba1; 15 uint8_t lba2; 16 uint8_t device; 17 uint8_t lba3; 18 uint8_t lba4; 19 uint8_t lba5; 20 uint8_t feature1; 21 uint8_t count0; 22 uint8_t count1; 23 uint8_t icc; 24 uint8_t control; 25 uint8_t _rsvd[4]; 26 } SATAFIS_REG_H2D; 27 28 #define SATAFIS_REG_H2D_FLAG_COMMAND 0x80 /* Command Flag */ 29 30 #define SATAFIS_TYPE_REG_H2D 0x27 31 32 #define SATAFIS_CMD_IDENTIFY 0xEC 33 34 #endif /* __SATA_H__ */ 35 36