Home
last modified time | relevance | path

Searched full:tpm (Results 1 – 25 of 94) sorted by relevance

1234

/qemu/qapi/
H A Dtpm.json6 # = TPM (trusted platform module) devices
12 # An enumeration of TPM models
14 # @tpm-tis: TPM TIS model
16 # @tpm-crb: TPM CRB model (since 2.12)
18 # @tpm-spapr: TPM SPAPR model (since 5.0)
22 { 'enum': 'TpmModel', 'data': [ 'tpm-tis', 'tpm-crb', 'tpm-spapr' ],
26 # @query-tpm-models:
28 # Return a list of supported TPM models
36 # -> { "execute": "query-tpm-models" }
37 # <- { "return": [ "tpm-tis", "tpm-crb", "tpm-spapr" ] }
[all …]
/qemu/docs/specs/
H A Dtpm.rst4 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 Dppc-spapr-uv-hcalls.rst34 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 …]
/qemu/backends/tpm/
H A Dtpm_emulator.c2 * 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 …]
H A Dtpm_passthrough.c2 * passthrough TPM driver
33 #include "qapi/qapi-visit-tpm.h"
37 #define TYPE_TPM_PASSTHROUGH "tpm-passthrough"
95 "transmitting data to TPM"); in tpm_passthrough_unix_tx_bufs()
106 "reading data from TPM"); in tpm_passthrough_unix_tx_bufs()
112 "response packet from TPM"); in tpm_passthrough_unix_tx_bufs()
154 /* only a TPM 2.0 will support this */ in tpm_passthrough_reset_tpm_established_flag()
165 * commands on all TPM manufacturers' TPMs. in tpm_passthrough_cancel_cmd()
174 error_report("Canceling TPM command failed: %s", in tpm_passthrough_cancel_cmd()
178 error_report("Cannot cancel TPM command due to missing " in tpm_passthrough_cancel_cmd()
[all …]
H A Dtpm_util.c2 * TPM utility functions
34 /* tpm backend property */
80 .description = "ID of a tpm to use as a backend",
108 * Send request to a TPM device. We expect a response within one second.
147 * A basic test of a TPM device. We expect a well formatted response header
170 * Probe for the TPM device in the back
171 * Returns 0 on success with the version of the probed TPM set, 1 on failure.
179 * Sending a TPM2 command to a TPM 2 will give a TPM 2 tag in the in tpm_util_test_tpmdev()
181 * Sending a TPM2 command to a TPM 1.2 will give a TPM 1.2 tag in tpm_util_test_tpmdev()
198 /* Send TPM 2 command */ in tpm_util_test_tpmdev()
[all …]
/qemu/tests/qtest/
H A Dtpm-tis-device-test.c2 * 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 Dtpm-tis-test.c2 * 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 Dtpm-tis-swtpm-test.c2 * 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 Dtpm-tis-device-swtpm-test.c2 * 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()
H A Dtpm-crb-swtpm-test.c2 * QTest testcase for TPM CRB talking to external swtpm and swtpm migration
19 #include "tpm-tests.h"
20 #include "hw/acpi/tpm.h"
33 "tpm-crb", NULL); in tpm_crb_swtpm_test()
41 tpm_util_crb_transfer, "tpm-crb", NULL); in tpm_crb_swtpm_migration_test()
49 ts.src_tpm_path = g_dir_make_tmp("qemu-tpm-crb-swtpm-test.XXXXXX", NULL); in main()
50 ts.dst_tpm_path = g_dir_make_tmp("qemu-tpm-crb-swtpm-test.XXXXXX", NULL); in main()
56 qtest_add_data_func("/tpm/crb-swtpm/test", &ts, tpm_crb_swtpm_test); in main()
57 qtest_add_data_func("/tpm/crb-swtpm-migration/test", &ts, in main()
H A Dmeson.build83 (config_all_devices.has_key('CONFIG_TPM_CRB') ? ['tpm-crb-test'] : []) + \
84 (config_all_devices.has_key('CONFIG_TPM_CRB') ? ['tpm-crb-swtpm-test'] : []) + \
85 (config_all_devices.has_key('CONFIG_TPM_TIS_ISA') ? ['tpm-tis-test'] : []) + \
86 (config_all_devices.has_key('CONFIG_TPM_TIS_ISA') ? ['tpm-tis-swtpm-test'] : []) + \
242 (config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
256 …['tpm-tis-device-test', 'tpm-tis-device-swtpm-test'] : []) + …
261 config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
341 tpmemu_files = ['tpm-emu.c', 'tpm-util.c', 'tpm-tests.c']
371 'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'],
382 'tpm-crb-swtpm-test': [io, tpmemu_files],
[all …]
H A Dtpm-crb-test.c2 * QTest testcase for TPM CRB
16 #include "hw/acpi/tpm.h"
20 #include "tpm-emu.h"
86 /* TPM must not be in the idle state */ in tpm_crb_test()
105 /* TPM must still not be in the idle state */ in tpm_crb_test()
114 /* set TPM into idle state */ in tpm_crb_test()
143 char *args, *tmp_path = g_dir_make_tmp("qemu-tpm-crb-test.XXXXXX", NULL); in main()
164 "-device tpm-crb,tpmdev=dev", in main()
168 qtest_add_data_func("/tpm-crb/test", &test, tpm_crb_test); in main()
/qemu/system/
H A Dtpm.c2 * TPM configuration
18 #include "qapi/qapi-commands-tpm.h"
21 #include "system/tpm.h"
32 char *typename = g_strdup_printf("tpm-%s", TpmType_str(type)); in tpm_be_find_by_type()
45 * Walk the list of available TPM backend drivers and display them on the
59 error_printf("Supported TPM types (choose only one):\n"); in tpm_display_backend_drivers()
65 error_printf("No TPM backend types are available\n"); in tpm_display_backend_drivers()
70 * Find the TPM with the given Id
103 error_report("Only one TPM is allowed."); in tpm_init_tpmdev()
124 "type", "a TPM backend type"); in tpm_init_tpmdev()
[all …]
H A Dtpm-hmp-cmds.c2 * HMP commands related to TPM
9 #include "qapi/qapi-commands-tpm.h"
25 monitor_printf(mon, "TPM device not supported\n"); in hmp_info_tpm()
31 monitor_printf(mon, "TPM device:\n"); in hmp_info_tpm()
36 monitor_printf(mon, " tpm%d: model=%s\n", in hmp_info_tpm()
63 monitor_printf(mon, "TPM device not supported\n"); in hmp_info_tpm()
/qemu/include/system/
H A Dtpm.h2 * 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 */
H A Dtpm_backend.h2 * QEMU TPM Backend
18 #include "system/tpm.h"
23 #define TYPE_TPM_BACKEND "tpm-backend"
62 /* start up the TPM on the backend - optional */
96 * @tpmif: TPM interface
108 * @s: the backend whose TPM support is to be started
109 * @buffersize: the buffer size the TPM is supposed to use,
132 * to the TPM implementation.
149 * Cancel any ongoing command being processed by the TPM implementation
158 * Get the TPM establishment flag. This function may be called very
[all …]
/qemu/include/hw/acpi/
H A Dtpm.h2 * tpm.h - TPM ACPI definitions
22 #include "system/tpm.h"
51 #define TPM_TIS_STS_TPM_FAMILY_MASK (0x3 << 26)/* TPM 2.0 */
52 #define TPM_TIS_STS_TPM_FAMILY1_2 (0 << 26) /* TPM 2.0 */
53 #define TPM_TIS_STS_TPM_FAMILY2_0 (1 << 26) /* TPM 2.0 */
54 #define TPM_TIS_STS_RESET_ESTABLISHMENT_BIT (1 << 25) /* TPM 2.0 */
55 #define TPM_TIS_STS_COMMAND_CANCEL (1 << 24) /* TPM 2.0 */
112 #define TPM_TIS_IFACE_ID_INTERFACE_TIS1_3 (0xf) /* TPM 2.0 */
113 #define TPM_TIS_IFACE_ID_INTERFACE_FIFO (0x0) /* TPM 2.0 */
114 #define TPM_TIS_IFACE_ID_INTERFACE_VER_FIFO (0 << 4) /* TPM 2.0 */
[all …]
/qemu/hw/tpm/
H A DKconfig3 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
H A Dtrace-events21 tpm_tis_mmio_write_data2send(uint32_t value, unsigned size) "Data to send to TPM: 0x%08x (size=%d)"
31 tpm_spapr_do_crq_tpm_command(void) "got TPM command payload"
37 tpm_spapr_post_load(void) "Delivering TPM response after resume"
41 tpm_tis_i2c_recv(uint8_t data) "TPM I2C read: 0x%X"
42 tpm_tis_i2c_send(uint8_t data) "TPM I2C write: 0x%X"
43 tpm_tis_i2c_event(const char *event) "TPM I2C event: %s"
44 tpm_tis_i2c_send_reg(const char *name, int reg) "TPM I2C write register: %s(0x%X)"
H A Dtpm_tis_isa.c2 * tpm_tis_isa.c - QEMU's TPM TIS ISA Device
21 * TPM TIS for TPM 2 implementation following TCG PC Client Platform
22 * TPM Profile (PTP) Specification, Family 2.0, Revision 00.43
29 #include "hw/acpi/tpm.h"
53 .name = "tpm-tis",
106 s, "tpm-tis-mmio", in tpm_tis_isa_initfn()
116 error_setg(errp, "at most one TPM device is permitted"); in tpm_tis_isa_realizefn()
147 dev = aml_device("TPM"); in build_tpm_tis_isa_aml()
150 aml_append(dev, aml_name_decl("_STR", aml_string("TPM 2.0 Device"))); in build_tpm_tis_isa_aml()
H A Dtpm_tis_sysbus.c2 * tpm_tis_sysbus.c - QEMU's TPM TIS SYSBUS Device
21 * TPM TIS for TPM 2 implementation following TCG PC Client Platform
22 * TPM Profile (PTP) Specification, Family 2.0, Revision 00.43
28 #include "hw/acpi/tpm.h"
52 .name = "tpm-tis",
104 s, "tpm-tis-mmio", in tpm_tis_sysbus_initfn()
117 error_setg(errp, "at most one TPM device is permitted"); in tpm_tis_sysbus_realizefn()
/qemu/docs/system/arm/
H A Dxenpvh.rst8 When TPM is enabled, this machine also creates a tpm-tis-device at a
9 user input tpm base address, adds a TPM emulator and connects to a
11 enables xenpvh to support TPM functionalities for a guest domain.
13 More information about TPM use and installing swtpm linux application
14 can be found in the :ref:`tpm-device` section.
36 -tpmdev emulator,id=tpm0,chardev=chrtpm -machine tpm-base-addr=0x0C000000
/qemu/hw/ppc/
H A Dspapr_tpm_proxy.c2 * SPAPR TPM Proxy/Hypercall
51 error_report("invalid TPM input buffer size: " TARGET_FMT_lu, in tpm_execute()
57 error_report("invalid TPM output buffer size: " TARGET_FMT_lu, in tpm_execute()
65 error_report("failed to open TPM device %s: %d", in tpm_execute()
81 error_report("failed to write to TPM device %s: %d", in tpm_execute()
91 error_report("failed to read from TPM device %s: %d", in tpm_execute()
111 error_report("TPM proxy not available"); in h_tpm_comm()
/qemu/pc-bios/
HDhppa-firmware.img ... boot device: %c. %s t. TPM Configuration The Trusted Platform Module (TPM) is a ...

1234