• Stefan Mahnke-Hartmann's avatar
    tpm: Add upgrade/reduced mode support for TPM1.2 modules · 5e3a3f27
    Stefan Mahnke-Hartmann authored
    In case a TPM in failure mode is detected, the TPM should be accessible
    through a transparent communication channel for analysing purposes (e.g.
    TPM_GetTestResult) or a field upgrade. Since a TPM in failure mode has
    similar reduced functionality as in field upgrade mode, the flag
    TPM_CHIP_FLAG_FIRMWARE_UPGRADE is also valid.
    
    As described in TCG TPM Main Part1 Design Principles, Revision 116,
    chapter 9.2.1. the TPM also allows an update function in case a TPM is
    in failure mode.
    
    If the TPM in failure mode is detected, the function tpm1_auto_startup()
    sets TPM_CHIP_FLAG_FIRMWARE_UPGRADE flag, which is used later during
    driver initialization/deinitialization to disable functionality which
    makes no sense or will fail in the current TPM state. The following
    functionality is affected:
     * Do not register TPM as a hwrng
     * Do not get pcr allocation
     * Do not register sysfs entries which provide information impossible to
       obtain in limited mode
    Signed-off-by: default avatarStefan Mahnke-Hartmann <stefan.mahnke-hartmann@infineon.com>
    Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    5e3a3f27
tpm1-cmd.c 18.6 KB