mirror of https://gitee.com/openkylin/qemu.git
tpm: convert tpm_emulator.c to use trace-events
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
cc7d320f5d
commit
9d9dcd9602
|
@ -39,14 +39,7 @@
|
|||
#include "qapi/error.h"
|
||||
#include "qapi/clone-visitor.h"
|
||||
#include "chardev/char-fe.h"
|
||||
|
||||
#define DEBUG_TPM 0
|
||||
|
||||
#define DPRINTF(fmt, ...) do { \
|
||||
if (DEBUG_TPM) { \
|
||||
fprintf(stderr, "tpm-emulator:"fmt"\n", ## __VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
#include "trace.h"
|
||||
|
||||
#define TYPE_TPM_EMULATOR "tpm-emulator"
|
||||
#define TPM_EMULATOR(obj) \
|
||||
|
@ -151,13 +144,12 @@ static int tpm_emulator_set_locality(TPMEmulator *tpm_emu, uint8_t locty_number,
|
|||
{
|
||||
ptm_loc loc;
|
||||
|
||||
DPRINTF("%s : locality: 0x%x", __func__, locty_number);
|
||||
|
||||
if (tpm_emu->cur_locty_number == locty_number) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
DPRINTF("setting locality : 0x%x", locty_number);
|
||||
trace_tpm_emulator_set_locality(locty_number);
|
||||
|
||||
loc.u.req.loc = locty_number;
|
||||
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_LOCALITY, &loc,
|
||||
sizeof(loc), sizeof(loc)) < 0) {
|
||||
|
@ -183,7 +175,7 @@ static void tpm_emulator_handle_request(TPMBackend *tb, TPMBackendCmd *cmd,
|
|||
{
|
||||
TPMEmulator *tpm_emu = TPM_EMULATOR(tb);
|
||||
|
||||
DPRINTF("processing TPM command");
|
||||
trace_tpm_emulator_handle_request();
|
||||
|
||||
if (tpm_emulator_set_locality(tpm_emu, cmd->locty, errp) < 0 ||
|
||||
tpm_emulator_unix_tx_bufs(tpm_emu, cmd->in, cmd->in_len,
|
||||
|
@ -195,7 +187,6 @@ static void tpm_emulator_handle_request(TPMBackend *tb, TPMBackendCmd *cmd,
|
|||
|
||||
static int tpm_emulator_probe_caps(TPMEmulator *tpm_emu)
|
||||
{
|
||||
DPRINTF("%s", __func__);
|
||||
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_GET_CAPABILITY,
|
||||
&tpm_emu->caps, 0, sizeof(tpm_emu->caps)) < 0) {
|
||||
error_report("tpm-emulator: probing failed : %s", strerror(errno));
|
||||
|
@ -204,7 +195,7 @@ static int tpm_emulator_probe_caps(TPMEmulator *tpm_emu)
|
|||
|
||||
tpm_emu->caps = be64_to_cpu(tpm_emu->caps);
|
||||
|
||||
DPRINTF("capabilities : 0x%"PRIx64, tpm_emu->caps);
|
||||
trace_tpm_emulator_probe_caps(tpm_emu->caps);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -293,7 +284,7 @@ static int tpm_emulator_set_buffer_size(TPMBackend *tb,
|
|||
*actual_size = be32_to_cpu(psbs.u.resp.buffersize);
|
||||
}
|
||||
|
||||
DPRINTF("buffer size: %u, min: %u, max: %u\n",
|
||||
trace_tpm_emulator_set_buffer_size(
|
||||
be32_to_cpu(psbs.u.resp.buffersize),
|
||||
be32_to_cpu(psbs.u.resp.minsize),
|
||||
be32_to_cpu(psbs.u.resp.maxsize));
|
||||
|
@ -314,7 +305,7 @@ static int tpm_emulator_startup_tpm(TPMBackend *tb, size_t buffersize)
|
|||
goto err_exit;
|
||||
}
|
||||
|
||||
DPRINTF("%s", __func__);
|
||||
trace_tpm_emulator_startup_tpm();
|
||||
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_INIT, &init, sizeof(init),
|
||||
sizeof(init)) < 0) {
|
||||
error_report("tpm-emulator: could not send INIT: %s",
|
||||
|
@ -348,7 +339,7 @@ static bool tpm_emulator_get_tpm_established_flag(TPMBackend *tb)
|
|||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
DPRINTF("got established flag: %0x", est.u.resp.bit);
|
||||
trace_tpm_emulator_get_tpm_established_flag(est.u.resp.bit);
|
||||
|
||||
tpm_emu->established_flag_cached = 1;
|
||||
tpm_emu->established_flag = (est.u.resp.bit != 0);
|
||||
|
@ -395,7 +386,7 @@ static void tpm_emulator_cancel_cmd(TPMBackend *tb)
|
|||
ptm_res res;
|
||||
|
||||
if (!TPM_EMULATOR_IMPLEMENTS_ALL_CAPS(tpm_emu, PTM_CAP_CANCEL_TPM_CMD)) {
|
||||
DPRINTF("Backend does not support CANCEL_TPM_CMD");
|
||||
trace_tpm_emulator_cancel_cmd_not_supt();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -521,8 +512,16 @@ static int tpm_emulator_handle_device_opts(TPMEmulator *tpm_emu, QemuOpts *opts)
|
|||
goto err;
|
||||
}
|
||||
|
||||
DPRINTF("TPM Version %s", tpm_emu->tpm_version == TPM_VERSION_1_2 ? "1.2" :
|
||||
(tpm_emu->tpm_version == TPM_VERSION_2_0 ? "2.0" : "Unspecified"));
|
||||
switch (tpm_emu->tpm_version) {
|
||||
case TPM_VERSION_1_2:
|
||||
trace_tpm_emulator_handle_device_opts_tpm12();
|
||||
break;
|
||||
case TPM_VERSION_2_0:
|
||||
trace_tpm_emulator_handle_device_opts_tpm2();
|
||||
break;
|
||||
default:
|
||||
trace_tpm_emulator_handle_device_opts_unspec();
|
||||
}
|
||||
|
||||
if (tpm_emulator_probe_caps(tpm_emu) ||
|
||||
tpm_emulator_check_caps(tpm_emu)) {
|
||||
|
@ -532,7 +531,8 @@ static int tpm_emulator_handle_device_opts(TPMEmulator *tpm_emu, QemuOpts *opts)
|
|||
return tpm_emulator_block_migration(tpm_emu);
|
||||
|
||||
err:
|
||||
DPRINTF("Startup error");
|
||||
trace_tpm_emulator_handle_device_opts_startup_error();
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -573,7 +573,8 @@ static void tpm_emulator_inst_init(Object *obj)
|
|||
{
|
||||
TPMEmulator *tpm_emu = TPM_EMULATOR(obj);
|
||||
|
||||
DPRINTF("%s", __func__);
|
||||
trace_tpm_emulator_inst_init();
|
||||
|
||||
tpm_emu->options = g_new0(TPMEmulatorOptions, 1);
|
||||
tpm_emu->cur_locty_number = ~0;
|
||||
qemu_mutex_init(&tpm_emu->mutex);
|
||||
|
|
|
@ -14,3 +14,17 @@ tpm_util_get_buffer_size_len(uint32_t len, size_t expected) "tpm_resp->len = %u,
|
|||
tpm_util_get_buffer_size_hdr_len2(uint32_t len, size_t expected) "tpm2_resp->hdr.len = %u, expected = %zu"
|
||||
tpm_util_get_buffer_size_len2(uint32_t len, size_t expected) "tpm2_resp->len = %u, expected = %zu"
|
||||
tpm_util_get_buffer_size(size_t len) "buffersize of device: %zu"
|
||||
|
||||
# hw/tpm/tpm_emulator.c
|
||||
tpm_emulator_set_locality(uint8_t locty) "setting locality to %d"
|
||||
tpm_emulator_handle_request(void) "processing TPM command"
|
||||
tpm_emulator_probe_caps(uint64_t caps) "capabilities: 0x%"PRIx64
|
||||
tpm_emulator_set_buffer_size(uint32_t buffersize, uint32_t minsize, uint32_t maxsize) "buffer size: %u, min: %u, max: %u"
|
||||
tpm_emulator_startup_tpm(void) "startup"
|
||||
tpm_emulator_get_tpm_established_flag(uint8_t flag) "got established flag: %d"
|
||||
tpm_emulator_cancel_cmd_not_supt(void) "Backend does not support CANCEL_TPM_CMD"
|
||||
tpm_emulator_handle_device_opts_tpm12(void) "TPM Version 1.2"
|
||||
tpm_emulator_handle_device_opts_tpm2(void) "TPM Version 2"
|
||||
tpm_emulator_handle_device_opts_unspec(void) "TPM Version Unspecified"
|
||||
tpm_emulator_handle_device_opts_startup_error(void) "Startup error"
|
||||
tpm_emulator_inst_init(void) ""
|
||||
|
|
Loading…
Reference in New Issue