summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/sys/ata.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/sys/ata.h')
-rw-r--r--freebsd/sys/sys/ata.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/freebsd/sys/sys/ata.h b/freebsd/sys/sys/ata.h
index cacb1ea0..efa5b246 100644
--- a/freebsd/sys/sys/ata.h
+++ b/freebsd/sys/sys/ata.h
@@ -135,6 +135,7 @@ struct ata_params {
#define ATA_SUPPORT_AUTOACTIVATE 0x0004
#define ATA_SUPPORT_IFPWRMNGT 0x0008
#define ATA_SUPPORT_INORDERDATA 0x0010
+#define ATA_SUPPORT_ASYNCNOTIF 0x0020
#define ATA_SUPPORT_SOFTSETPRESERVE 0x0040
/*79*/ u_int16_t sataenabled;
#define ATA_ENABLED_DAPST 0x0080
@@ -260,6 +261,20 @@ struct ata_params {
/*255*/ u_int16_t integrity;
} __packed;
+/*
+ * ATA Device Register
+ *
+ * bit 7 Obsolete (was 1 in early ATA specs)
+ * bit 6 Sets LBA/CHS mode. 1=LBA, 0=CHS
+ * bit 5 Obsolete (was 1 in early ATA specs)
+ * bit 4 1 = Slave Drive, 0 = Master Drive
+ * bit 3-0 In LBA mode, 27-24 of address. In CHS mode, head number
+*/
+
+#define ATA_DEV_MASTER 0x00
+#define ATA_DEV_SLAVE 0x10
+#define ATA_DEV_LBA 0x40
+
/* ATA transfer modes */
#define ATA_MODE_MASK 0x0f