Hi Philippe, Thomas, On 6/15/20 12:22 PM, Thomas Huth wrote: > On 15/06/2020 12.02, Philippe Mathieu-Daudé wrote: >> On Fri, Jun 12, 2020 at 5:00 PM Michael S. Tsirkin <m...@redhat.com> wrote: >>> >>> From: Eric Auger <eric.au...@redhat.com> >>> >>> Test tables specific to the TPM-TIS instantiation. >>> The TPM2 is added in the framework. Also the DSDT >>> is updated with the TPM. The new function should be >>> be usable for CRB as well, later one. >>> >>> Signed-off-by: Eric Auger <eric.au...@redhat.com> >>> >>> Message-Id: <20200609125409.24179-5-eric.au...@redhat.com> >>> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> >>> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> >>> --- >>> tests/qtest/bios-tables-test.c | 58 ++++++++++++++++++++++++++++++++++ >>> tests/qtest/Makefile.include | 1 + >>> 2 files changed, 59 insertions(+) >>> >>> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c >>> index c9843829b3..53f104a9c5 100644 >>> --- a/tests/qtest/bios-tables-test.c >>> +++ b/tests/qtest/bios-tables-test.c >>> @@ -57,6 +57,9 @@ >>> #include "qemu/bitmap.h" >>> #include "acpi-utils.h" >>> #include "boot-sector.h" >>> +#include "tpm-emu.h" >>> +#include "hw/acpi/tpm.h" >>> + >>> >>> #define MACHINE_PC "pc" >>> #define MACHINE_Q35 "q35" >>> @@ -874,6 +877,60 @@ static void test_acpi_piix4_tcg_numamem(void) >>> free_test_data(&data); >>> } >>> >>> +uint64_t tpm_tis_base_addr; >>> + >>> +static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if, >>> + uint64_t base) >>> +{ >>> + gchar *tmp_dir_name = >>> g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX", >>> + machine, tpm_if); >>> + char *tmp_path = g_dir_make_tmp(tmp_dir_name, NULL); >>> + TestState test; >>> + test_data data; >>> + GThread *thread; >>> + char *args, *variant = g_strdup_printf(".%s", tpm_if); >>> + >>> + tpm_tis_base_addr = base; >>> + >>> + module_call_init(MODULE_INIT_QOM); >>> + >>> + test.addr = g_new0(SocketAddress, 1); >>> + test.addr->type = SOCKET_ADDRESS_TYPE_UNIX; >>> + test.addr->u.q_unix.path = g_build_filename(tmp_path, "sock", NULL); >>> + g_mutex_init(&test.data_mutex); >>> + g_cond_init(&test.data_cond); >>> + test.data_cond_signal = false; >>> + >>> + thread = g_thread_new(NULL, tpm_emu_ctrl_thread, &test); >>> + tpm_emu_test_wait_cond(&test); >>> + >>> + memset(&data, 0, sizeof(data)); >>> + data.machine = machine; >>> + data.variant = variant; >>> + >>> + args = g_strdup_printf( >>> + " -chardev socket,id=chr,path=%s" >>> + " -tpmdev emulator,id=dev,chardev=chr" >> >> This test makes our CI fail: >> https://gitlab.com/qemu-project/qemu/-/jobs/593586369#L3466 > > Right. The problem seems to occur as soon as you run "configure" with > "--disable-tpm" ... I think you need some "#ifdef CONFIG_TPM" here? Thank you. I will respin asap.
Eric > > Thomas > >