CHERRY-PICK: Add autotest support for a new TPM class directory.

Kernel TPM patches from 4.x moved /sys/class/misc/tpm0 to /sys/class/tpm/tpm0.
Support both paths in autotest.

BUG=chromium:573368
TEST=grep for TPM_DICTIONARY_ATTACK_COUNTER in the keyval of Pkcs11 tests
     and verify numeric values.
     Confirm firmware_TPMExtend gives valid
     "Dumping PCRs read from device" data.

Change-Id: I6801f1be24a67720b9e96d9ff769bad57501d32b
Reviewed-on: https://chromium-review.googlesource.com/320460
Commit-Ready: Bryan Freed <bfreed@chromium.org>
Tested-by: Bryan Freed <bfreed@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
(cherry picked from commit ed5bdb3b626cf524aec3b8801901223f2476484b)
Reviewed-on: https://chromium-review.googlesource.com/373758
Reviewed-by: David Wu <david_wu@quantatw.com>
Reviewed-by: Duncan Laurie <dlaurie@google.com>
Tested-by: David Wu <david_wu@quantatw.com>
Commit-Queue: David Wu <david_wu@quantatw.com>
diff --git a/client/cros/tpm_dam.py b/client/cros/tpm_dam.py
index 0c7666e..15887ae 100644
--- a/client/cros/tpm_dam.py
+++ b/client/cros/tpm_dam.py
@@ -11,7 +11,7 @@
 mechanism is triggered.
 """
 
-import re
+import os, re
 
 from autotest_lib.client.common_lib import utils
 from autotest_lib.client.cros import service_stopper
@@ -43,8 +43,11 @@
                         '00 00 00 02 '   # Size = 2
                         '00 04'),        # Entity Type = TPM_ET_SRK
             'response_offset': 18}}      # TPM_DA_INFO.currentCount LSB
+    caps_file='/sys/class/misc/tpm0/device/caps'
+    if not os.path.exists(caps_file):
+        caps_file='/sys/class/tpm/tpm0/device/caps'
     try:
-        with open('/sys/class/misc/tpm0/device/caps', 'r') as fp:
+        with open(caps_file, 'r') as fp:
             caps = fp.read()
     except IOError:
         return 'Could not read TPM device caps.'
diff --git a/server/site_tests/firmware_TPMExtend/firmware_TPMExtend.py b/server/site_tests/firmware_TPMExtend/firmware_TPMExtend.py
index dbc28fd..44b355f 100644
--- a/server/site_tests/firmware_TPMExtend/firmware_TPMExtend.py
+++ b/server/site_tests/firmware_TPMExtend/firmware_TPMExtend.py
@@ -2,7 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import hashlib, logging
+import hashlib, logging, os
 
 from autotest_lib.client.common_lib import error
 from autotest_lib.server.cros.faft.firmware_test import FirmwareTest
@@ -19,8 +19,11 @@
 
     def _check_pcr(self, num, hash_obj):
         """Returns true iff PCR |num| was extended with hashlib |hash_obj|."""
+        pcrs_file='/sys/class/misc/tpm0/device/pcrs'
+        if not os.path.exists(pcrs_file):
+            pcrs_file='/sys/class/tpm/tpm0/device/pcrs'
         pcrs = '\n'.join(self.faft_client.system.run_shell_command_get_output(
-                        'cat /sys/class/misc/tpm0/device/pcrs'))
+                        'cat %s' % pcrs_file))
         logging.debug('Dumping PCRs read from device: \n%s', pcrs)
         extended = hashlib.sha1('\0' * 20 + hash_obj.digest()[:20]).hexdigest()
         spaced = ' '.join(extended[i:i+2] for i in xrange(0, len(extended), 2))