|
@@ -72,7 +72,7 @@ struct TPMEmulator {
|
|
|
CharBackend ctrl_chr;
|
|
|
QIOChannel *data_ioc;
|
|
|
TPMVersion tpm_version;
|
|
|
- ptm_cap caps; /* capabilities of the TPM */
|
|
|
+ uint32_t caps; /* capabilities of the TPM */
|
|
|
uint8_t cur_locty_number; /* last set locality */
|
|
|
Error *migration_blocker;
|
|
|
|
|
@@ -239,13 +239,15 @@ static void tpm_emulator_handle_request(TPMBackend *tb, TPMBackendCmd *cmd,
|
|
|
|
|
|
static int tpm_emulator_probe_caps(TPMEmulator *tpm_emu)
|
|
|
{
|
|
|
+ ptm_cap_n cap_n;
|
|
|
+
|
|
|
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_GET_CAPABILITY,
|
|
|
- &tpm_emu->caps, 0, sizeof(tpm_emu->caps)) < 0) {
|
|
|
+ &cap_n, 0, sizeof(cap_n)) < 0) {
|
|
|
error_report("tpm-emulator: probing failed : %s", strerror(errno));
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- tpm_emu->caps = be64_to_cpu(tpm_emu->caps);
|
|
|
+ tpm_emu->caps = be32_to_cpu(cap_n.u.resp.caps);
|
|
|
|
|
|
trace_tpm_emulator_probe_caps(tpm_emu->caps);
|
|
|
|
|
@@ -254,7 +256,7 @@ static int tpm_emulator_probe_caps(TPMEmulator *tpm_emu)
|
|
|
|
|
|
static int tpm_emulator_check_caps(TPMEmulator *tpm_emu)
|
|
|
{
|
|
|
- ptm_cap caps = 0;
|
|
|
+ uint32_t caps = 0;
|
|
|
const char *tpm = NULL;
|
|
|
|
|
|
/* check for min. required capabilities */
|
|
@@ -527,8 +529,8 @@ static size_t tpm_emulator_get_buffer_size(TPMBackend *tb)
|
|
|
static int tpm_emulator_block_migration(TPMEmulator *tpm_emu)
|
|
|
{
|
|
|
Error *err = NULL;
|
|
|
- ptm_cap caps = PTM_CAP_GET_STATEBLOB | PTM_CAP_SET_STATEBLOB |
|
|
|
- PTM_CAP_STOP;
|
|
|
+ uint32_t caps = PTM_CAP_GET_STATEBLOB | PTM_CAP_SET_STATEBLOB |
|
|
|
+ PTM_CAP_STOP;
|
|
|
|
|
|
if (!TPM_EMULATOR_IMPLEMENTS_ALL_CAPS(tpm_emu, caps)) {
|
|
|
error_setg(&tpm_emu->migration_blocker,
|