From 0e6ca9547bd4f2735fa2b20f103a7aecd38e0abd Mon Sep 17 00:00:00 2001 From: Stefan Berger Date: Thu, 15 Feb 2018 08:53:56 -0500 Subject: tests: Move common TPM test code into tpm-emu.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move threads and other common TPM test code into tpm-emu.c. Signed-off-by: Stefan Berger Reviewed-by: Marc-André Lureau --- tests/tpm-emu.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/tpm-emu.h (limited to 'tests/tpm-emu.h') diff --git a/tests/tpm-emu.h b/tests/tpm-emu.h new file mode 100644 index 0000000000..ef4bfa8800 --- /dev/null +++ b/tests/tpm-emu.h @@ -0,0 +1,38 @@ +/* + * Minimal TPM emulator for TPM test cases + * + * Copyright (c) 2018 Red Hat, Inc. + * + * Authors: + * Marc-André Lureau + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#ifndef TESTS_TPM_EMU_H +#define TESTS_TPM_EMU_H + +#define TPM_RC_FAILURE 0x101 +#define TPM2_ST_NO_SESSIONS 0x8001 + +struct tpm_hdr { + uint16_t tag; + uint32_t len; + uint32_t code; /*ordinal/error */ + char buffer[]; +} QEMU_PACKED; + +typedef struct TestState { + CompatGMutex data_mutex; + CompatGCond data_cond; + SocketAddress *addr; + QIOChannel *tpm_ioc; + GThread *emu_tpm_thread; + struct tpm_hdr *tpm_msg; +} TestState; + +void tpm_emu_test_wait_cond(TestState *s); +void *tpm_emu_ctrl_thread(void *data); + +#endif /* TEST_TPM_EMU_H */ -- cgit v1.2.3