/openbmc/u-boot/drivers/tpm/ |
H A D | Kconfig | 2 # TPM subsystem configuration 5 menu "TPM support" 9 depends on TPM 12 Major TPM versions are not compatible at all, choose either 18 bool "Enable sandbox TPM driver" 23 such as reading and writing TPM private data. This is enough to 28 bool "Enable Atmel TWI TPM device driver" 31 This driver supports an Atmel TPM device connected on the I2C bus. 32 The usual tpm operations and the 'tpm' command can be used to talk 33 to the device using the standard TPM Interface Specification (TIS) [all …]
|
H A D | tpm2_tis_sandbox.c | 9 #include <tpm-v2.h> 44 /* TPM internal states */ 48 /* TPM password per hierarchy */ 51 /* TPM properties */ 53 /* TPM PCRs */ 55 /* TPM PCR extensions */ 68 struct sandbox_tpm2 *tpm = dev_get_priv(dev); in sandbox_tpm2_check_session() local 161 if (!pw_sz && !tpm->pw_sz[*hierarchy]) in sandbox_tpm2_check_session() 175 if (pw_sz != tpm->pw_sz[*hierarchy] || in sandbox_tpm2_check_session() 176 strncmp(pw, tpm->pw[*hierarchy], tpm->pw_sz[*hierarchy])) { in sandbox_tpm2_check_session() [all …]
|
/openbmc/qemu/qapi/ |
H A D | tpm.json | 7 # TPM (trusted platform module) devices 14 # An enumeration of TPM models 16 # @tpm-tis: TPM TIS model 18 # @tpm-crb: TPM CRB model (since 2.12) 20 # @tpm-spapr: TPM SPAPR model (since 5.0) 24 { 'enum': 'TpmModel', 'data': [ 'tpm-tis', 'tpm-crb', 'tpm-spapr' ], 28 # @query-tpm-models: 30 # Return a list of supported TPM models 36 # -> { "execute": "query-tpm-models" } 37 # <- { "return": [ "tpm-tis", "tpm-crb", "tpm-spapr" ] } [all …]
|
/openbmc/openbmc/meta-security/meta-tpm/recipes-core/packagegroup/ |
H A D | packagegroup-security-tpm.bb | 8 PACKAGES = "packagegroup-security-tpm" 10 SUMMARY:packagegroup-security-tpm = "Security TPM support" 11 RDEPENDS:packagegroup-security-tpm = " \ 12 tpm-tools \ 15 tpm-quote-tools \ 18 openssl-tpm-engine \ 25 kernel-module-tpm-atmel \ 26 kernel-module-tpm-infineon \ 27 kernel-module-tpm-nsc \ 31 kernel-module-tpm-atmel \ [all …]
|
H A D | packagegroup-security-tpm-i2c.bb | 1 DESCRIPTION = "Security packagegroup for TPM i2c support" 8 PACKAGES = "packagegroup-security-tpm-i2c" 10 SUMMARY:packagegroup-security-tpm-i2c = "Security TPM i2c support" 11 RDEPENDS:packagegroup-security-tpm-i2c = " \ 12 ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'packagegroup-security-tpm', '', d)} \ 14 kernel-module-tpm-i2c-atmel \ 15 kernel-module-tpm-i2c-infineon \ 16 kernel-module-tpm-i2c-nuvoton \ 17 kernel-module-tpm-st33zp24 \ 18 kernel-module-tpm-st33zp24-i2c \
|
/openbmc/u-boot/include/ |
H A D | tpm_api.h | 10 #include <tpm-common.h> 11 #include <tpm-v1.h> 12 #include <tpm-v2.h> 17 * @param dev TPM device 18 * @param mode TPM startup mode 26 * @param dev TPM device 34 * @param dev TPM device 44 * @param dev TPM device 57 * @param dev TPM device 70 * @param dev TPM device [all …]
|
H A D | tpm-common.h | 24 * Here is a partial implementation of TPM commands. Please consult TCG Main 25 * Specification for definitions of TPM commands. 30 /* Max buffer size supported by our tpm */ 36 * enum tpm_version - The version of the TPM stack to be used 37 * @TPM_V1: Use TPM v1.x stack 38 * @TPM_V2: Use TPM v2.x stack 46 * struct tpm_chip_priv - Information about a TPM, stored by the uclass 52 * @version: TPM stack to be used 58 * @plat_hier_disabled: Platform hierarchy has been disabled (TPM is locked 68 /* TPM v2 specific data */ [all …]
|
H A D | tpm-v1.h | 10 #include <tpm-common.h> 114 * TPM return codes as defined in the TCG Main specification 115 * (TPM Main Part 2 Structures; Specification version 1.2) 121 /* TPM-defined fatal error codes */ 220 /* TPM-defined non-fatal errors */ 288 * @param dev TPM device 289 * @param mode TPM startup mode 297 * @param dev TPM device 305 * @param dev TPM device 315 * @param dev TPM device [all …]
|
/openbmc/qemu/docs/specs/ |
H A D | tpm.rst | 4 QEMU TPM Device 13 The QEMU TPM emulation implements a TPM TIS hardware interface 15 Specific TPM Interface Specification (TIS)", Specification Version 22 QEMU files related to TPM TIS interface: 23 - ``hw/tpm/tpm_tis_common.c`` 24 - ``hw/tpm/tpm_tis_isa.c`` 25 - ``hw/tpm/tpm_tis_sysbus.c`` 26 - ``hw/tpm/tpm_tis_i2c.c`` 27 - ``hw/tpm/tpm_tis.h`` 34 based emulation machines. This device only supports the TPM 2 protocol. [all …]
|
H A D | ppc-spapr-uv-hcalls.rst | 34 key stored in the system's TPM. An Ultravisor will use this hcall to 35 unwrap/unseal the symmetric key using the system's TPM device or a TPM Resource 38 The Ultravisor sets up a separate session key with the TPM in advance during 47 ``r4``: ``TPM`` operation, one of: 49 ``TPM_COMM_OP_EXECUTE`` (``0x1``): send a request to a TPM and receive a 50 response, opening a new TPM session if one has not already been opened. 52 ``TPM_COMM_OP_CLOSE_SESSION`` (``0x2``): close the existing TPM session, if 65 is the maximum request/response size supported by most TPM implementations, 66 including the TPM Resource Manager in the linux kernel. 74 ``H_PARAMETER``: invalid TPM operation. [all …]
|
/openbmc/openbmc/meta-security/meta-tpm/recipes-tpm1/tpm-quote-tools/ |
H A D | tpm-quote-tools_1.0.4.bb | 1 SUMMARY = "The TPM Quote Tools is a collection of programs that provide support \ 2 for TPM based attestation using the TPM quote mechanism. \ 4 DESCRIPTION = "The TPM Quote Tools is a collection of programs that provide support \ 5 for TPM based attestation using the TPM quote mechanism. The manual \ 8 TPM Quote Tools has been tested with TrouSerS on Linux and NTRU on \ 12 SECTION = "security/tpm" 16 DEPENDS = "libtspi tpm-tools" 18 SRC_URI = "git://git.code.sf.net/p/tpmquotetools/tpm-quote-tools;branch=master"
|
/openbmc/docs/designs/oem/google/ |
H A D | root_of_trust.md | 79 Considered adding the new APIs as an OEM extension to the TPM resource. However, 81 to use TPM for Google's RoT: 84 - Somewhat closely fixed to the design of TPM. TPM 1.2 had 32-bit firmware 85 version and TPM 2.0 extended it clumsily by just tacking on another firmware 87 - TPM "Firmware 1" and "Firmware 2" together refer to the 64-bit firmware 91 numbers than the rest of the TPM vendors, reserving some bits and expressing 95 is (not) within the TPM ecosystem. 97 - Currently closely fixed to the ecosystem of TPM variants. 98 - Which flavor of TPM interface is implemented. TCM is the "China version" of 99 TPM 1.2. The Chinese TPM switched over to TPM 2.0 after that version of the [all …]
|
/openbmc/qemu/backends/tpm/ |
H A D | tpm_emulator.c | 2 * Emulator TPM driver 44 #include "qapi/qapi-visit-tpm.h" 49 #define TYPE_TPM_EMULATOR "tpm-emulator" 56 /* blobs from the TPM; part of VM state when migrating */ 75 uint32_t caps; /* capabilities of the TPM */ 96 /* TPM 1.2 error codes */ 107 /* TPM 2 error codes */ 125 static int tpm_emulator_ctrlcmd(TPMEmulator *tpm, unsigned long cmd, void *msg, in tpm_emulator_ctrlcmd() argument 129 CharBackend *dev = &tpm->ctrl_chr; in tpm_emulator_ctrlcmd() 134 WITH_QEMU_LOCK_GUARD(&tpm->mutex) { in tpm_emulator_ctrlcmd() [all …]
|
/openbmc/smbios-mdr/include/ |
H A D | tpm.hpp | 27 class Tpm : class 31 Tpm() = delete; 32 ~Tpm() = default; 33 Tpm(const Tpm&) = delete; 34 Tpm& operator=(const Tpm&) = delete; 35 Tpm(Tpm&&) = default; 36 Tpm& operator=(Tpm&&) = default; 38 Tpm(sdbusplus::bus_t& bus, const std::string& objPath, const uint8_t tpmID, in Tpm() function in phosphor::smbios::Tpm
|
/openbmc/qemu/tests/qtest/ |
H A D | tpm-tis-device-test.c | 2 * QTest testcase for SYSBUS TPM TIS 21 #include "tpm-emu.h" 22 #include "tpm-util.h" 23 #include "tpm-tis-util.h" 26 * As the Sysbus tpm-tis-device is instantiated on the ARM virt 34 char *tmp_path = g_dir_make_tmp("qemu-tpm-tis-device-test.XXXXXX", NULL); in main() 58 "-device tpm-tis-device,tpmdev=dev", in main() 62 qtest_add_data_func("/tpm-tis/test_check_localities", &test, in main() 65 qtest_add_data_func("/tpm-tis/test_check_access_reg", &test, in main() 68 qtest_add_data_func("/tpm-tis/test_check_access_reg_seize", &test, in main() [all …]
|
H A D | tpm-tis-test.c | 2 * QTest testcase for ISA TPM TIS 18 #include "hw/acpi/tpm.h" 22 #include "tpm-emu.h" 23 #include "tpm-tis-util.h" 30 char *args, *tmp_path = g_dir_make_tmp("qemu-tpm-tis-test.XXXXXX", NULL); in main() 51 "-device tpm-tis,tpmdev=dev", in main() 55 qtest_add_data_func("/tpm-tis/test_check_localities", &test, in main() 58 qtest_add_data_func("/tpm-tis/test_check_access_reg", &test, in main() 61 qtest_add_data_func("/tpm-tis/test_check_access_reg_seize", &test, in main() 64 qtest_add_data_func("/tpm-tis/test_check_access_reg_release", &test, in main() [all …]
|
H A D | tpm-tis-swtpm-test.c | 2 * QTest testcase for TPM TIS talking to external swtpm and swtpm migration 19 #include "tpm-tests.h" 20 #include "tpm-tis-util.h" 21 #include "hw/acpi/tpm.h" 36 "tpm-tis", NULL); in tpm_tis_swtpm_test() 44 tpm_tis_transfer, "tpm-tis", NULL); in tpm_tis_swtpm_migration_test() 52 ts.src_tpm_path = g_dir_make_tmp("qemu-tpm-tis-swtpm-test.XXXXXX", NULL); in main() 53 ts.dst_tpm_path = g_dir_make_tmp("qemu-tpm-tis-swtpm-test.XXXXXX", NULL); in main() 59 qtest_add_data_func("/tpm/tis-swtpm/test", &ts, tpm_tis_swtpm_test); in main() 60 qtest_add_data_func("/tpm/tis-swtpm-migration/test", &ts, in main()
|
H A D | tpm-tis-device-swtpm-test.c | 2 * QTest testcase for Sysbus TPM TIS talking to external swtpm and swtpm 20 #include "tpm-tests.h" 21 #include "tpm-tis-util.h" 22 #include "hw/acpi/tpm.h" 38 "tpm-tis-device", MACHINE_OPTIONS); in tpm_tis_swtpm_test() 46 tpm_tis_transfer, "tpm-tis-device", in tpm_tis_swtpm_migration_test() 55 ts.src_tpm_path = g_dir_make_tmp("qemu-tpm-tis-device-swtpm-test.XXXXXX", in main() 57 ts.dst_tpm_path = g_dir_make_tmp("qemu-tpm-tis-device-swtpm-test.XXXXXX", in main() 64 qtest_add_data_func("/tpm/tis-swtpm/test", &ts, tpm_tis_swtpm_test); in main() 65 qtest_add_data_func("/tpm/tis-swtpm-migration/test", &ts, in main()
|
/openbmc/openbmc/meta-security/meta-tpm/recipes-tpm1/openssl-tpm-engine/ |
H A D | openssl-tpm-engine_0.5.0.bb | 1 DESCRIPTION = "OpenSSL secure engine based on TPM hardware" 3 SECTION = "security/tpm" 12 file://0001-create-tpm-key-support-well-known-key-option.patch \ 14 file://0003-tpm-openssl-tpm-engine-parse-an-encrypted-tpm-SRK-pa.patch \ 15 file://0004-tpm-openssl-tpm-engine-change-variable-c-type-from-c.patch \ 49 FILES:${PN}-staticdev += "${libdir}/ssl/engines-3/tpm.la" 56 ${libdir}/ssl/engines-3/tpm.so* \ 57 ${libdir}/engines-3/tpm.so* \ 59 ${prefix}/local/ssl/lib/engines-3/tpm.so* \
|
/openbmc/u-boot/board/gdsys/a38x/ |
H A D | hre.c | 12 #include <tpm-v1.h> 95 * @brief get the size of a given (TPM) NV area 96 * @param tpm TPM device 101 static int get_tpm_nv_size(struct udevice *tpm, uint32_t index, uint32_t *size) in get_tpm_nv_size() argument 108 err = tpm_get_capability(tpm, TPM_CAP_NV_INDEX, index, in get_tpm_nv_size() 132 * @param tpm TPM device 136 * @return 0 if key was found in TPM; != 0 if not. 138 static int find_key(struct udevice *tpm, const uint8_t auth[20], in find_key() argument 150 /* fetch list of already loaded keys in the TPM */ in find_key() 151 err = tpm_get_capability(tpm, TPM_CAP_HANDLE, TPM_RT_KEY, buf, in find_key() [all …]
|
/openbmc/u-boot/lib/ |
H A D | tpm-utils.h | 12 /* Internal error of TPM command library */ 54 * Get TPM command size. 56 * @param command byte string of TPM command 57 * @return command size of the TPM command 62 * Get TPM response return code, which is one of TPM_RESULT values. 64 * @param response byte string of TPM response 65 * @return return code of the TPM response 70 * Send a TPM command and return response's return code, and optionally 73 * @param command byte string of TPM command 74 * @param response output buffer for TPM response, or NULL if the [all …]
|
/openbmc/qemu/hw/tpm/ |
H A D | Kconfig | 3 depends on TPM 10 depends on TPM && ISA_BUS 15 depends on TPM 20 depends on TPM 25 depends on TPM && PC 31 depends on TPM && PSERIES
|
/openbmc/qemu/include/system/ |
H A D | tpm.h | 2 * Public TPM functions 15 #include "qapi/qapi-types-tpm.h" 30 #define TYPE_TPM_IF "tpm-if" 47 #define TYPE_TPM_TIS_ISA "tpm-tis" 48 #define TYPE_TPM_TIS_SYSBUS "tpm-tis-device" 49 #define TYPE_TPM_CRB "tpm-crb" 50 #define TYPE_TPM_SPAPR "tpm-spapr" 51 #define TYPE_TPM_TIS_I2C "tpm-tis-i2c" 64 /* returns NULL unless there is exactly one TPM device */ 86 /* needed for an alignment check in non-tpm code */
|
/openbmc/openbmc/meta-security/meta-tpm/ |
H A D | README.md | 1 meta-tpm layer 5 to have 'tpm' in DISTRO_FEATURES to have effect. 8 DISTRO_FEATURES:append = " tpm" 10 If meta-tpm is included, but tpm is not enabled as a 13 You have included the meta-tpm layer, but 14 'tpm' has not been enabled in your DISTRO_FEATURES. Some bbappend files 23 This layer contains base TPM recipes. 40 Adding the meta-tpm layer to your build 48 location of the meta-tpm layer to bblayers.conf, along with any 54 /path/to/layer/meta-tpm \
|
/openbmc/openbmc/meta-security/meta-tpm/recipes-tpm1/tpm-tools/ |
H A D | tpm-tools_1.3.9.2.bb | 1 …UMMARY = "The tpm-tools package contains commands to allow the platform administrator the ability … 3 The tpm-tools package contains commands to allow the platform administrator \ 4 the ability to manage and diagnose the platform's TPM. Additionally, the \ 6 in the TPM PKCS#11 interface implemented in the openCryptoki project. \ 8 SECTION = "tpm" 17 git://git.code.sf.net/p/trousers/tpm-tools;branch=master \ 18 file://tpm-tools-extendpcr.patch \
|