/* * VAS_EBOOT -- GRand Unified Bootloader * Copyright (C) 2018 Free Software Foundation, Inc. * * VAS_EBOOT is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * VAS_EBOOT is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with VAS_EBOOT. If not, see . */ #ifndef VAS_EBOOT_TPM_HEADER #define VAS_EBOOT_TPM_HEADER 1 #include #define VAS_EBOOT_STRING_PCR 8 #define VAS_EBOOT_BINARY_PCR 9 #define SHA1_DIGEST_SIZE 20 #define TPM_BASE 0x0 #define TPM_SUCCESS TPM_BASE #define TPM_AUTHFAIL (TPM_BASE + 0x1) #define TPM_BADINDEX (TPM_BASE + 0x2) #define TPM_TAG_RQU_COMMAND 0x00C1 #define TPM_ORD_Extend 0x14 #define EV_IPL 0x0d VasEBoot_err_t VasEBoot_tpm_measure (unsigned char *buf, VasEBoot_size_t size, VasEBoot_uint8_t pcr, const char *description); int VasEBoot_tpm_present (void); VasEBoot_uint32_t VasEBoot_tpm2_active_pcr_banks (void); static inline bool VasEBoot_is_tpm_fail_fatal (void) { return VasEBoot_env_get_bool ("tpm_fail_fatal", false); } #endif