aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Lukhtionov <dmitryluhtionov@gmail.com>2026-02-23 14:42:59 +0000
committerEd Maste <emaste@FreeBSD.org>2026-02-24 14:48:58 +0000
commitf4f9054dc47b430872d38c7a75fea753c6fe796f (patch)
tree89729eb6f3e6487b1086e67f5779f798eb503fda
parent9ed56cd8d6929e3ee733e1e61d2e0c6b81122983 (diff)
camcontrol: Print 'transport revision'
As described in Serial ATA Revision 3.5a Reviewed by: mav Pull Request: https://github.com/freebsd/freebsd-src/pull/2044
-rw-r--r--sbin/camcontrol/camcontrol.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c
index c2deafbd81da..7ad177c3e4b6 100644
--- a/sbin/camcontrol/camcontrol.c
+++ b/sbin/camcontrol/camcontrol.c
@@ -1674,6 +1674,35 @@ atacapprint(struct ata_params *parm)
}
printf("\n");
+ printf("transport revision ");
+ if (parm->transport_major == 0 || parm->transport_major == 0xffff) {
+ printf("Unknown");
+ } else {
+ if (parm->transport_major & 0x0400)
+ printf("SATA Rev 3.5");
+ else if (parm->transport_major & 0x0200)
+ printf("SATA Rev 3.4");
+ else if (parm->transport_major & 0x0100)
+ printf("SATA Rev 3.3");
+ else if (parm->transport_major & 0x0080)
+ printf("SATA Rev 3.2");
+ else if (parm->transport_major & 0x0040)
+ printf("SATA Rev 3.1");
+ else if (parm->transport_major & 0x0020)
+ printf("SATA Rev 3.0");
+ else if (parm->transport_major & 0x0010)
+ printf("SATA Rev 2.6");
+ else if (parm->transport_major & 0x0008)
+ printf("SATA Rev 2.5");
+ else if (parm->transport_major & 0x0004)
+ printf("SATA II: Extensions");
+ else if (parm->transport_major & 0x0002)
+ printf("SATA 1.0a");
+ else if (parm->transport_major & 0x0001)
+ printf("ATA8-AST");
+ }
+ printf("\n");
+
if (parm->media_rotation_rate == 1) {
printf("media RPM non-rotating\n");
} else if (parm->media_rotation_rate >= 0x0401 &&