2 * Minimal TPM emulator for TPM test cases
4 * Copyright (c) 2018 Red Hat, Inc.
7 * Marc-André Lureau <marcandre.lureau@redhat.com>
9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10 * See the COPYING file in the top-level directory.
13 #ifndef TESTS_TPM_EMU_H
14 #define TESTS_TPM_EMU_H
16 #define TPM_RC_FAILURE 0x101
17 #define TPM2_ST_NO_SESSIONS 0x8001
20 #define TPM_TAG_RSP_COMMAND 0xc4
22 #include "qemu/sockets.h"
23 #include "io/channel.h"
24 #include "sysemu/tpm.h"
30 uint32_t code
; /*ordinal/error */
41 typedef struct TPMTestState
{
44 bool data_cond_signal
;
47 GThread
*emu_tpm_thread
;
48 struct tpm_hdr
*tpm_msg
;
49 enum TPMVersion tpm_version
;
52 void tpm_emu_test_wait_cond(TPMTestState
*s
);
53 void *tpm_emu_ctrl_thread(void *data
);
54 bool tpm_model_is_available(const char *args
, const char *tpm_if
);
56 #endif /* TESTS_TPM_EMU_H */