#!/usr/bin/perl # bit 1 (TCQ) and 14 (word is valid) must be set to indicate tcq support $mask = (1 << 1) | (1 << 14); # bit 15 must be cleared too $bits = $mask | (1 << 15); # mail me the results! $addr = "linux-tcq\@kernel.dk"; foreach $i () { foreach $d (<$i/hd*>) { @words = split(/\s/,`cat $d/identify`); $w83 = hex($words[83]); if (!(($w83 & $bits) ^ $mask)) { $model = `cat $d/model`; push(@goodies, $model); chomp($model); print "$d ($model) supports TCQ\n"; } } } if ($addr && $#goodies) { open(M, "| mail -s TCQ-report $addr"); print M @goodies; close(M); }