On 15/06/2020 14.35, Auger Eric wrote: > 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.
I just sent a fix ("Only run the TPM test with CONFIG_TPM enabled") ... please have a look at that mail whether it looks fine to you. Thanks, Thomas