From patchwork Thu Dec 21 10:37:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 756989 Delivered-To: patch@linaro.org Received: by 2002:a5d:67c6:0:b0:336:6142:bf13 with SMTP id n6csp815231wrw; Thu, 21 Dec 2023 02:39:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IH07kTOsU4sSg6wD58FmqbA2JFjeUnEkwgj654AlEPrYDXhnqFbTDHKeyms+NaJYFWraXaa X-Received: by 2002:a05:620a:2916:b0:77f:95a0:43b5 with SMTP id m22-20020a05620a291600b0077f95a043b5mr17159156qkp.34.1703155192830; Thu, 21 Dec 2023 02:39:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703155192; cv=none; d=google.com; s=arc-20160816; b=NTDYZ0t0B/QbRD0D5AmLTnUvyPI+ZKpxRCwEi2VxNdMJKOWB+KL1cniCGRNk2HC15y zt+B8HlNEhXa4JMNw3uQa5RaOdi/OXt2rZ+ZU9GcpZ7kJFS/oVP5uvid5p2nvXZttyBB xzdgClw9iFLhCiA7d7thBu3HFmAxgMcPLCgycyHacrD9H1fCqGZI7X9WrN4fUKVclJfT t3C5VDeu1x7LKncmtl0EgZ0RqENrPitS5P/uYmKfaHeaoNKoUSOEUbmf1koVVpX7GM5n HUMF7Kyc4VYLaPEh2TUAyiknkk7pcxEElIh4MeRdYczSGSLd7AJBQ8Sw2CZTXdg39NR0 Wirg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=gkoO3wXiqTI2NxB7hGCZob5xUBPaL3tAx2dwNp2CaZw=; fh=/x/VuKbJqq/JDyBDl+INLKIronWsd/HPhxkyxLC6mng=; b=LhqMtQgrVGpDe/V9YX5VpPDeS4gtE1mnl0TVch7mDPb7uUxb6NivcEdy4ZLop/ZpLM PaJFmOjYywS36uFZw31Q09JzyhIru/WJtsTK/EKrc9iDAmVHqyhB0Yll913ZjX6EOHqm QDKGDfdxLPyiXKwxmydDLmsfMqNP93zfnW7OBW9EAqmKXpR2kzVq0OXYRMFss7m0O8vk SUIChlsvvqhlaeKHkJ3UVArU1LAfzo7lEgfKcU1mV7i3cB0T5YdSn9Wtc7usS2kGKUXT hEgDaUGkADTsku7DFez81WnJ434Rs1bnMabhFgbX/y+7mNb1o8lhgzhnZMREgTjKyIRj 5xEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zrCLN1FZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id f2-20020a05620a280200b00778fcee30dcsi1984907qkp.173.2023.12.21.02.39.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 Dec 2023 02:39:52 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zrCLN1FZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rGGRh-0003fi-HO; Thu, 21 Dec 2023 05:38:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rGGRd-0003fA-Qg for qemu-devel@nongnu.org; Thu, 21 Dec 2023 05:38:25 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rGGRZ-0003pz-GD for qemu-devel@nongnu.org; Thu, 21 Dec 2023 05:38:25 -0500 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3368ac0f74dso272549f8f.0 for ; Thu, 21 Dec 2023 02:38:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1703155100; x=1703759900; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=gkoO3wXiqTI2NxB7hGCZob5xUBPaL3tAx2dwNp2CaZw=; b=zrCLN1FZ+eafsSu6AmBIEYimmuAvH9QbhlulXDe/E9s4dAKQ2nvqj9GS/GZKMuvUeg xepOaX+cK0fE7tPR/8KwEnIFBR7b1CKGr+oJHRLOlSHp4d2gaKIwJYDrDLjExpAEXD9o 8THOURplf6Ez5bMdBQ57Ug5d2NW9M+nIeE3jqBpL3lkDoWw5mUQmpDWqAE/xNT+Cwyld H7BXOQKECBw2l8FRKzD7wlz6wu1lK7vhXKnvNNEfSujNOlft2IN4D7dExgEBsOjZCHpj gf6g+W61etR7fNerP+Fe36GkEwySlr1RYWr70mbfl6esPE3MQQ5H6eQ5VQChHBlGPMEo yiLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703155100; x=1703759900; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gkoO3wXiqTI2NxB7hGCZob5xUBPaL3tAx2dwNp2CaZw=; b=ndWYGwfNuiEn2RbcZ8QQwZN9ehk2+XpnsdVTfaYwO6QjmIX6sTaJY21cOiYEUIcgiB 0VTLKKHWA1Tc6TZL2uv5UmYinbePhbVDq+dsgtAGVjawuhoYmSnjfi2gvDBvLk3QF4m6 XRNciJ/rfgLEG19J3vbKFeR+GcfHF1i4EI91WA7Kcg9qtyc53NOpy0ZJ5K5yclhfI16H thYoU8ZUOMckSNm5jfDkjbQPbHuIvLi7ixtxR/CqF/wrbPyLB/tX16Cypzo9SwVQad9Z 458m5fdUOVA12hjYaKUxylI4WExTGEDQ+5mV9sZ85TEh2TmWd9eY0sJVrDZ/+WD3hdrv aYhQ== X-Gm-Message-State: AOJu0YwnTIL5kXGGWTq0xXxnF3Gi0rI0yIM4eG9csHrTKfYDIWcg42DL 2W0HX3Wvr/hBs3EnkER94YxOsA== X-Received: by 2002:adf:fc8d:0:b0:336:8160:cbcb with SMTP id g13-20020adffc8d000000b003368160cbcbmr760131wrr.125.1703155099676; Thu, 21 Dec 2023 02:38:19 -0800 (PST) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id j9-20020adfb309000000b00336641feb02sm1748375wrd.19.2023.12.21.02.38.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 02:38:19 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EE01B5F7D4; Thu, 21 Dec 2023 10:38:18 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: "Edgar E. Iglesias" , John Snow , Aurelien Jarno , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Yanan Wang , Eduardo Habkost , Brian Cain , Laurent Vivier , Palmer Dabbelt , Cleber Rosa , David Hildenbrand , Beraldo Leal , Pierrick Bouvier , Weiwei Li , =?utf-8?q?Alex_Benn=C3=A9e?= , Paul Durrant , qemu-s390x@nongnu.org, David Woodhouse , Liu Zhiwei , Ilya Leoshkevich , Wainer dos Santos Moschetta , Michael Rolnik , Alistair Francis , Daniel Henrique Barboza , Laurent Vivier , kvm@vger.kernel.org, =?utf-8?q?Marc-An?= =?utf-8?q?dr=C3=A9_Lureau?= , Alexandre Iooss , Thomas Huth , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , Marcel Apfelbaum , Nicholas Piggin , qemu-riscv@nongnu.org, qemu-arm@nongnu.org, Song Gao , Yoshinori Sato , Richard Henderson , Daniel Henrique Barboza , =?utf-8?q?C=C3=A9dric_?= =?utf-8?q?Le_Goater?= , Mahmoud Mandour , Bin Meng Subject: [PATCH 00/40] testing and plugin updates for 9.0 Date: Thu, 21 Dec 2023 10:37:38 +0000 Message-Id: <20231221103818.1633766-1-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org This brings in the first batch of testing updates for the next release. The main bulk of these is Daniel and Thomas' cleanups of the qtest timeouts and allowing meson control them. There are a few minor tweaks I've made to some avocado and gitlab tests. The big update is support for reading register values in TCG plugins. After feedback from Akihiko I've left all the smarts to the plugin and made the interface a simple "all the registers" dump. There is a follow on patch to make the register code a little more efficient by checking disassembly. However we can leave the door open for future API enhancements if the translator ever learns to reliably know when registers might be touched. The following still need review: contrib/plugins: optimise the register value tracking contrib/plugins: extend execlog to track register changes contrib/plugins: fix imatch plugins: add an API to read registers gdbstub: expose api to find registers gitlab: include microblazeel in testing tests/avocado: use snapshot=on in kvm_xen_guest Akihiko Odaki (15): hw/riscv: Use misa_mxl instead of misa_mxl_max target/riscv: Remove misa_mxl validation target/riscv: Move misa_mxl_max to class target/riscv: Validate misa_mxl_max only once target/arm: Use GDBFeature for dynamic XML target/ppc: Use GDBFeature for dynamic XML target/riscv: Use GDBFeature for dynamic XML gdbstub: Use GDBFeature for gdb_register_coprocessor gdbstub: Use GDBFeature for GDBRegisterState gdbstub: Change gdb_get_reg_cb and gdb_set_reg_cb gdbstub: Simplify XML lookup gdbstub: Infer number of core registers from XML hw/core/cpu: Remove gdb_get_dynamic_xml member gdbstub: Add members to identify registers to GDBFeature plugins: Use different helpers when reading registers Alex Bennée (8): tests/avocado: use snapshot=on in kvm_xen_guest gitlab: include microblazeel in testing chardev: use bool for fe_is_open gdbstub: expose api to find registers plugins: add an API to read registers contrib/plugins: fix imatch contrib/plugins: extend execlog to track register changes contrib/plugins: optimise the register value tracking Daniel P. Berrangé (12): qtest: bump min meson timeout to 60 seconds qtest: bump migration-test timeout to 8 minutes qtest: bump qom-test timeout to 15 minutes qtest: bump npcm7xx_pwn-test timeout to 5 minutes qtest: bump test-hmp timeout to 4 minutes qtest: bump pxe-test timeout to 10 minutes qtest: bump prom-env-test timeout to 6 minutes qtest: bump boot-serial-test timeout to 3 minutes qtest: bump qos-test timeout to 2 minutes qtest: bump aspeed_smc-test timeout to 6 minutes qtest: bump bios-table-test timeout to 9 minutes mtest2make: stop disabling meson test timeouts Thomas Huth (5): tests/avocado: Add a test for a little-endian microblaze machine tests/qtest: Bump the device-introspect-test timeout to 12 minutes tests/unit: Bump test-aio-multithread test timeout to 2 minutes tests/unit: Bump test-crypto-block test timeout to 5 minutes tests/fp: Bump fp-test-mulAdd test timeout to 3 minutes docs/devel/tcg-plugins.rst | 17 +- accel/tcg/plugin-helpers.h | 3 +- include/chardev/char-fe.h | 19 +- include/exec/gdbstub.h | 62 +++++- include/hw/core/cpu.h | 7 +- include/qemu/plugin.h | 1 + include/qemu/qemu-plugin.h | 53 ++++- target/arm/cpu.h | 27 +-- target/arm/internals.h | 14 +- target/hexagon/internal.h | 4 +- target/microblaze/cpu.h | 4 +- target/ppc/cpu-qom.h | 1 + target/ppc/cpu.h | 5 +- target/riscv/cpu.h | 9 +- target/s390x/cpu.h | 2 - accel/tcg/plugin-gen.c | 43 +++- chardev/char-fe.c | 16 +- chardev/char.c | 2 +- contrib/plugins/execlog.c | 322 +++++++++++++++++++++++----- gdbstub/gdbstub.c | 198 +++++++++++------ hw/core/cpu-common.c | 5 +- hw/riscv/boot.c | 2 +- plugins/api.c | 114 +++++++++- target/arm/cpu.c | 2 - target/arm/cpu64.c | 1 - target/arm/gdbstub.c | 230 ++++++++++---------- target/arm/gdbstub64.c | 122 +++++------ target/avr/cpu.c | 1 - target/hexagon/cpu.c | 4 +- target/hexagon/gdbstub.c | 10 +- target/i386/cpu.c | 2 - target/loongarch/cpu.c | 2 - target/loongarch/gdbstub.c | 13 +- target/m68k/cpu.c | 1 - target/m68k/helper.c | 26 ++- target/microblaze/cpu.c | 6 +- target/microblaze/gdbstub.c | 9 +- target/ppc/cpu_init.c | 7 - target/ppc/gdbstub.c | 114 +++++----- target/riscv/cpu.c | 154 ++++++------- target/riscv/gdbstub.c | 151 +++++++------ target/riscv/kvm/kvm-cpu.c | 10 +- target/riscv/machine.c | 7 +- target/riscv/tcg/tcg-cpu.c | 44 +--- target/riscv/translate.c | 3 +- target/rx/cpu.c | 1 - target/s390x/cpu.c | 1 - target/s390x/gdbstub.c | 105 +++++---- .gitlab-ci.d/buildtest.yml | 4 +- plugins/qemu-plugins.symbols | 2 + scripts/feature_to_c.py | 14 +- scripts/mtest2make.py | 3 +- tests/avocado/kvm_xen_guest.py | 2 +- tests/avocado/machine_microblaze.py | 26 +++ tests/fp/meson.build | 2 +- tests/qtest/meson.build | 25 +-- tests/unit/meson.build | 2 + 57 files changed, 1332 insertions(+), 704 deletions(-)