svn commit: r347525 - stable/11/sys/cam/ata
Alexander Motin
mav at FreeBSD.org
Mon May 13 13:30:35 UTC 2019
Author: mav
Date: Mon May 13 13:30:34 2019
New Revision: 347525
URL: https://svnweb.freebsd.org/changeset/base/347525
Log:
MFC r347160: Decode some more ATA commands found in ACS-4.
Modified:
stable/11/sys/cam/ata/ata_all.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/cam/ata/ata_all.c
==============================================================================
--- stable/11/sys/cam/ata/ata_all.c Mon May 13 13:29:51 2019 (r347524)
+++ stable/11/sys/cam/ata/ata_all.c Mon May 13 13:30:34 2019 (r347525)
@@ -87,8 +87,14 @@ ata_op_string(struct ata_cmd *cmd)
case 0x01: return ("DSM TRIM");
}
return "DSM";
+ case 0x07:
+ switch (cmd->features) {
+ case 0x01: return ("DSM_XL TRIM");
+ }
+ return "DSM_XL";
case 0x08: return ("DEVICE_RESET");
case 0x0b: return ("REQUEST_SENSE_DATA_EXT");
+ case 0x12: return ("GET_PHYSICAL_ELEMENT_STATUS");
case 0x20: return ("READ");
case 0x24: return ("READ48");
case 0x25: return ("READ_DMA48");
@@ -111,7 +117,11 @@ ata_op_string(struct ata_cmd *cmd)
case 0x3f: return ("WRITE_LOG_EXT");
case 0x40: return ("READ_VERIFY");
case 0x42: return ("READ_VERIFY48");
- case 0x44: return ("ZERO_EXT");
+ case 0x44:
+ switch (cmd->features) {
+ case 0x01: return ("ZERO_EXT TRIM");
+ }
+ return "ZERO_EXT";
case 0x45:
switch (cmd->features) {
case 0x55: return ("WRITE_UNCORRECTABLE48 PSEUDO");
@@ -133,6 +143,9 @@ ata_op_string(struct ata_cmd *cmd)
switch (cmd->features & 0xf) {
case 0x00: return ("NCQ_NON_DATA ABORT NCQ QUEUE");
case 0x01: return ("NCQ_NON_DATA DEADLINE HANDLING");
+ case 0x02: return ("NCQ_NON_DATA HYBRID DEMOTE BY SIZE");
+ case 0x03: return ("NCQ_NON_DATA HYBRID CHANGE BY LBA RANGE");
+ case 0x04: return ("NCQ_NON_DATA HYBRID CONTROL");
case 0x05: return ("NCQ_NON_DATA SET FEATURES");
/*
* XXX KDM need common decoding between NCQ and non-NCQ
@@ -145,6 +158,7 @@ ata_op_string(struct ata_cmd *cmd)
case 0x64:
switch (cmd->sector_count_exp & 0xf) {
case 0x00: return ("SEND_FPDMA_QUEUED DATA SET MANAGEMENT");
+ case 0x01: return ("SEND_FPDMA_QUEUED HYBRID EVICT");
case 0x02: return ("SEND_FPDMA_QUEUED WRITE LOG DMA EXT");
case 0x03: return ("SEND_FPDMA_QUEUED ZAC MANAGEMENT OUT");
case 0x04: return ("SEND_FPDMA_QUEUED DATA SET MANAGEMENT XL");
@@ -169,6 +183,7 @@ ata_op_string(struct ata_cmd *cmd)
case 0x70: return ("SEEK");
case 0x77: return ("SET_DATE_TIME_EXT");
case 0x78: return ("ACCESSIBLE_MAX_ADDRESS_CONFIGURATION");
+ case 0x7C: return ("REMOVE_ELEMENT_AND_TRUNCATE");
case 0x87: return ("CFA_TRANSLATE_SECTOR");
case 0x90: return ("EXECUTE_DEVICE_DIAGNOSTIC");
case 0x92: return ("DOWNLOAD_MICROCODE");
@@ -183,13 +198,15 @@ ata_op_string(struct ata_cmd *cmd)
case 0xd1: return ("SMART READ ATTR THRESHOLDS");
case 0xd3: return ("SMART SAVE ATTR VALUES");
case 0xd4: return ("SMART EXECUTE OFFLINE IMMEDIATE");
- case 0xd5: return ("SMART READ LOG DATA");
+ case 0xd5: return ("SMART READ LOG");
+ case 0xd6: return ("SMART WRITE LOG");
case 0xd8: return ("SMART ENABLE OPERATION");
case 0xd9: return ("SMART DISABLE OPERATION");
case 0xda: return ("SMART RETURN STATUS");
}
return ("SMART");
case 0xb1: return ("DEVICE CONFIGURATION");
+ case 0xb2: return ("SET_SECTOR_CONFIGURATION_EXT");
case 0xb4: return ("SANITIZE_DEVICE");
case 0xc0: return ("CFA_ERASE");
case 0xc4: return ("READ_MUL");
@@ -227,7 +244,7 @@ ata_op_string(struct ata_cmd *cmd)
switch (cmd->features) {
case 0x02: return ("SETFEATURES ENABLE WCACHE");
case 0x03: return ("SETFEATURES SET TRANSFER MODE");
- case 0x04: return ("SETFEATURES ENABLE APM");
+ case 0x05: return ("SETFEATURES ENABLE APM");
case 0x06: return ("SETFEATURES ENABLE PUIS");
case 0x07: return ("SETFEATURES SPIN-UP");
case 0x0b: return ("SETFEATURES ENABLE WRITE READ VERIFY");
@@ -237,6 +254,7 @@ ata_op_string(struct ata_cmd *cmd)
case 0x43: return ("SETFEATURES SET MAX HOST INT SECT TIMES");
case 0x45: return ("SETFEATURES SET RATE BASIS");
case 0x4a: return ("SETFEATURES EXTENDED POWER CONDITIONS");
+ case 0x50: return ("SETFEATURES ADVANCED BACKGROUD OPERATION");
case 0x55: return ("SETFEATURES DISABLE RCACHE");
case 0x5d: return ("SETFEATURES ENABLE RELIRQ");
case 0x5e: return ("SETFEATURES ENABLE SRVIRQ");
More information about the svn-src-stable
mailing list