From patchwork Tue Aug 13 20:23:09 2024 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: 818851 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430554wrm; Tue, 13 Aug 2024 13:25:48 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWkFiyKR8sDDehjpw0sVEoHyDt2QiRQktnRjumm4tUyOr29GvFLuJX873W//0HkL4kk9x3pAHBPrigigFYCsP5Q X-Google-Smtp-Source: AGHT+IGsLiN1cr1rpuvflzeZ1aKg3LHu9v6Wc4/51xIvalBql+ig9+/TAVEVkGWitHQw7ZZjdlrO X-Received: by 2002:a05:6358:98a6:b0:1af:7f7a:e6e5 with SMTP id e5c5f4694b2df-1b1aad61e9cmr66081155d.26.1723580748394; Tue, 13 Aug 2024 13:25:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580748; cv=none; d=google.com; s=arc-20160816; b=cExUwC5vwCwH2x3nsYFQuDs8qA5erHX9gD7UcJuBSjUSEWVhHyI9wMmmoKnRHpaIW2 2IMyWY73vLCZjeZG288P7RR9g9Eukwuv8qYu/otbZScvKvfVm9DcnZlUohHZMbYfL5OL KsW66b8mMF5S6SFj27dx/hAWrPZtBIysjAgZlTtdGACicvcL3hx4FIaSTN7owPV2XPzg +/vklGOyMh+212JQfZy6pO+XReRyz/ttkFK2FXrOgfOFH3gBvFCUE/Kk98Xs3CrbIvfh N1F608NSUXYAHienaGSwi6zrStj9/4IFJ4dE2MEWWnmGbj7C8t+TfMRW5f0uwvl7PkZw hwOw== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Ucw1R3kvRxMvMZ60jr55/f9I1k+aTtfbeXhRVA2qPf0=; fh=Ldnso273692IMU0X0frFRUfKP3dGY55NqM4JNuJFPqQ=; b=bt0wawoGWP7+kXzWTgHzOOzazbHezB8xddx99OTZRjMwF7NpvLUTTepNMuBiWn+wpG CWrAmRD+JFbrkh6mMLNmLHVvAJCcJF4M5geO5B7deaGU93IXFG9PjPGEMBngaBpDH3Mr Axw1rVoPGCL8WK2p/Vnd2pR6oxOJ8Ns00oitSUos5bKtxlfcubSDPQMZOEoRVhVlbxVa LHIUnUZbw94j+3ANT64OWJ7uy6HpZVU6wSwFxbO+93mE6RJWPi6w0g/kRbDVKL0p/RjA nTX57DuOTw/rfPNshPmtjlHKADcflJLj3fHFun6zmFSlD8gAdAdVLvSA97esx0wcnne9 vHtQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RmhmXwIp; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7a4c7e07a57si886510685a.527.2024.08.13.13.25.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:25:48 -0700 (PDT) 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=RmhmXwIp; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy3X-0004ez-Nv; Tue, 13 Aug 2024 16:23:47 -0400 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 1sdy3T-0004VN-Mi for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:44 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3K-0006AE-K5 for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:43 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-368584f9e36so2907382f8f.2 for ; Tue, 13 Aug 2024 13:23:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580611; x=1724185411; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ucw1R3kvRxMvMZ60jr55/f9I1k+aTtfbeXhRVA2qPf0=; b=RmhmXwIp07XWFUEQZTx0Y2Sdkg4qOV5ZpincRbmpaQUAcg6KlJPzRGHBxXVcXZ4wEk 4UamNJoXNWGvQZRwq91YV8zczLP9hTMn4VWcosWaYBgEAFZDIpBvxhMVhKFqcFc2x5wv pbrhOfEkbd/Vv6tgrbyo10O7xuODiNKDVJrOZsPWSTiLNubLhD8l4JV56ItsN+jiO5zp 4fSeCzhVYFWwpZAHWf5ie5I76UjvvBcucE2wffREoFidHmW4DlmbZVap2ElVB01xPkEg sH36eS3Wk0RjALII3X5AFGKy+Hbqvw5ACLTzoKiU07806JzxUP+ULp/xDC0ERxDL/MQK +INg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580611; x=1724185411; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ucw1R3kvRxMvMZ60jr55/f9I1k+aTtfbeXhRVA2qPf0=; b=eV8nQAd6UYN0gztjjx0JjouQ7RNhNZgM2IyWynOxzii/rtIl2aG6f3fb9j5NZRwgsB gfJo3yhkr2/7N+B+wLScjHqHhgFivYuXkKnu0hTvHor62sGcCnQyRMSZTOu0H/o6jvXH apvgeUysEjgSEyxI+myZlXJFDHKJ6MF7Yz1CaB6IHqZwxNcmJltYrDvi1TaXfVneNfHw LtN82KnQlYYOEbsuOC89EWspeaUn2Cd/q52U5m1+tQCQGnlWDkjrC+xlv4aQTCwGOpRQ ACdl9dnFye6xDboGbUJ0g2J/PLu/sJmS9m+TGbzsWPvdmex45rIROwMPxgG7+G0boE0B UecQ== X-Gm-Message-State: AOJu0Yzfi2C++5N5DUt6tJt8Lm/IBIJAnXUPr0w8zkVjxM6T59wxDR+8 AAjjtpxTce5QkJwln/qmdoOX6lyLuwBcC9Kj3hrAfqUwAth95NesOIuy5irqwFw= X-Received: by 2002:adf:e5c3:0:b0:368:3717:10b3 with SMTP id ffacd0b85a97d-3717775c791mr508831f8f.8.1723580610895; Tue, 13 Aug 2024 13:23:30 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-37172483bd9sm2664164f8f.0.2024.08.13.13.23.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 778BC5F8BB; Tue, 13 Aug 2024 21:23:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [PATCH v2 01/21] tests/avocado: Re-enable gdbsim-r5f562n8 testing U-Boot Date: Tue, 13 Aug 2024 21:23:09 +0100 Message-Id: <20240813202329.1237572-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_TEMPERROR=0.01 autolearn=no 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 From: Philippe Mathieu-Daudé We disabled all RX tests on commit 9b45cc9931 ("docs/devel: rationalise unstable gitlab tests under FLAKY_TESTS") for being flaky. However I don't recall the U-Boot test to fail (the problematic line checking the 'version' string is already commented out), and I'm running this test reliably, so re-enable it. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Yoshinori Sato Message-Id: <20240801172332.65701-1-philmd@linaro.org> Signed-off-by: Alex Bennée Message-Id: <20240807114059.2339021-2-alex.bennee@linaro.org> --- tests/avocado/machine_rx_gdbsim.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/avocado/machine_rx_gdbsim.py b/tests/avocado/machine_rx_gdbsim.py index 412a7a5089..a83873b738 100644 --- a/tests/avocado/machine_rx_gdbsim.py +++ b/tests/avocado/machine_rx_gdbsim.py @@ -22,8 +22,6 @@ class RxGdbSimMachine(QemuSystemTest): timeout = 30 KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 ' - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab') - def test_uboot(self): """ U-Boot and checks that the console is operational. From patchwork Tue Aug 13 20:23:10 2024 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: 818855 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430671wrm; Tue, 13 Aug 2024 13:26:13 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXp8VHYA6pGAd/AUxs4lK+ETgpEscmbnAVcLTzni960fOU1pTM97aZUnf7Dz/Zokb2azo0irBYjMA3csymQX7Af X-Google-Smtp-Source: AGHT+IEAzB+k2ZHDzt2hQuq1IuWHSFcfnfBKgay9Me+EARRzS9DGN169FfNdQs7bbRO2DaXAICcN X-Received: by 2002:a05:622a:5591:b0:44f:8870:185b with SMTP id d75a77b69052e-4535bacb5aemr6452181cf.22.1723580772913; Tue, 13 Aug 2024 13:26:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580772; cv=none; d=google.com; s=arc-20160816; b=dXwOHZsIWK2Uz+xzsIu/ipjm3W0GK4SNMYc5q1PqfmH4KuJEpytitZMirJaQ0VjSOM hl1xqAl3p8bN335JDEBf08DK1rQk1dc/4dLpoOV77WKHFl4ZH0NlO/WfYHTEaWRhQhsg WjWxtUZ1yno+jz68tnaTjrZ1fDImaLFwHRar3/DlT4DiYG1ZVNLMa4F8GgDcHGuVCHnu yVmovasYDRPYEX+pM4BhDgN+uzAP7rQ61SBhmZlyUb++pW4N2s9YJ9345OHlaDZvmRsm 53KggHKCI/vqHyG8rD3tqAmqm7/UxnPgdrAH3Po/f8f7iiBVl2gnBPF8NdeIiVwF/Liv FHKg== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=yKD7jTj6Nf0+e/1hZyzKkWpKuU283fm5mnyf6o/tDJg=; fh=Ldnso273692IMU0X0frFRUfKP3dGY55NqM4JNuJFPqQ=; b=oGe7IzolDXmlZIb/NSKSugNfsAjBA8UV4VAGreRnicylAQKSpNtRdMjzGW95Fj1+H4 QiFd2EI5u9GOuxLTR22qrTRGf0taBnzo/DO/GhNbW1A5SzHdZeJLN3TzQoGVdtyCfLde TSvDGM2CyFv7XLP7s2MC5bTQvN0x6TDMFw1yS7Vi/ptqH//lMBp7Fhp62aLT+wq0jjqP xIFcvZboTBXxnjeQdI7n1GSzpkLzXGY1NOzkiRUL3EQazi3jMcnJG0GO83hjWTh+faMx iqWp1lobS8HmjtxW+cd6VQCcjVnUW7AoKpLnrAaVkgmZaXK0/1rJUoGCMDXLEqwEJidX E4sg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FIjgdpfI; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c2a9ddesi92446971cf.583.2024.08.13.13.26.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:26:12 -0700 (PDT) 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=FIjgdpfI; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy3h-0005Bn-K3; Tue, 13 Aug 2024 16:23:57 -0400 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 1sdy3d-00051h-9U for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:54 -0400 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3N-0006BO-EE for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:53 -0400 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-52fc4388a64so8199453e87.1 for ; Tue, 13 Aug 2024 13:23:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580615; x=1724185415; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yKD7jTj6Nf0+e/1hZyzKkWpKuU283fm5mnyf6o/tDJg=; b=FIjgdpfIez5HdkW9Kg+ECabF4IWJ56stoQlCOLD7Gbch8BAjb8pwGw/W2shi0FvOw5 j4kJW1EgUAR91p43/z83OmQncjeWdodnvGAEXPPM9j1gbnGGp4dgEqlwlHatkoyrY0yC mP0RQ7VsE3pFHXcdd8gs3iaFclLPJvqeZ0mds2Xq+jXx/nHUkOj1PFZugIH5e6l+ECy7 dCa3eF70iduVf0IYeUuey4bBIYvRxe6K0MBoQDJV+1+pJzTVnvcdI9xM/2gcNlzEvqez Skt63o5zYw/r+iwJdqqrXu7wRKGl95UY3cqTa/7kibYfxAT79whJe4a+QNrZyvqkSKbI hXEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580615; x=1724185415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yKD7jTj6Nf0+e/1hZyzKkWpKuU283fm5mnyf6o/tDJg=; b=dnZBzhyVHs5WBwlJCyLAmLI99oEVwewBxVHYlUMCoqLhbH2do+9Ko0u0AarL8r3RKU vhLWleSBH6ZcHzF8W7aeIs6ohed5jaSazLa62eFn/SeMTEiJZOGTDEQrd2iVCyuBQWou dSGcoW+bJcx+IH+gfUsPZjI5shRYeF7ej5CrMoTlL39jMnt/OqxUXAlew/wNgZRV0KJE aOvgKO8bvsD+KkBmx25EXxIRth6lFnZG8pWNK2U7TItg4fuWfSvQ5cJ4kCWOkHEsoJ5+ Fvzk6KrRT+7EEo1nIaj0QyMSrFH2RrvFtseUESj2ssXoZsXc/HvFyIq9MwZVtTA0acgF iNtg== X-Gm-Message-State: AOJu0Yykiuz/LgilbPxMHnBvQLXeGdSXu6YcgTkCvMyHxbMEurf6LHWv 0T+gjPpvxU9OOZkA3G1EaJnviYbUCvjbK6HXwY3zGvcRANSI6gWjCYSGuHi8MZI= X-Received: by 2002:a05:6512:39cc:b0:52e:ff2a:217 with SMTP id 2adb3069b0e04-532edbbee55mr307421e87.50.1723580614179; Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36e4c9385d3sm11271592f8f.42.2024.08.13.13.23.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 8CE945F8C5; Tue, 13 Aug 2024 21:23:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [PATCH v2 02/21] Makefile: trigger re-configure on updated pythondeps Date: Tue, 13 Aug 2024 21:23:10 +0100 Message-Id: <20240813202329.1237572-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::134; envelope-from=alex.bennee@linaro.org; helo=mail-lf1-x134.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=unavailable 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 If we add additional deps for meson we need to ensure we trigger a reconfigure to make sure everything is set up. Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20240731140232.22193-1-alex.bennee@linaro.org> Signed-off-by: Alex Bennée Message-Id: <20240807114059.2339021-3-alex.bennee@linaro.org> --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 02a257584b..917c9a34d1 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,8 @@ x := $(shell rm -rf meson-private meson-info meson-logs) endif # 1. ensure config-host.mak is up-to-date -config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/scripts/meson-buildoptions.sh $(SRC_PATH)/VERSION +config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/scripts/meson-buildoptions.sh \ + $(SRC_PATH)/pythondeps.toml $(SRC_PATH)/VERSION @echo config-host.mak is out-of-date, running configure @if test -f meson-private/coredata.dat; then \ ./config.status --skip-meson; \ From patchwork Tue Aug 13 20:23:11 2024 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: 818852 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430562wrm; Tue, 13 Aug 2024 13:25:50 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXdHgsHXdpZjyzyY+FyjjDQLDOSywGVLCHYdoOc5HVAt2JuHZR6MgFBk6bQ7grBP//1pIVOuPsuMuALyaAz/TIZ X-Google-Smtp-Source: AGHT+IExIiTsabEjyOJ0iT56oLR3fHagcLnCxCFHk20GLa0mycQfy9Q3WwyUlTCKplLJKrs8DKN4 X-Received: by 2002:a05:6808:2289:b0:3da:adc3:4a92 with SMTP id 5614622812f47-3dd298d5cd7mr608568b6e.7.1723580750598; Tue, 13 Aug 2024 13:25:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580750; cv=none; d=google.com; s=arc-20160816; b=m8ewc71XeU2v6BOYWRi+TT08tGItUZueGtkJy+lQsGnZy/ue8fnQzsvGWBFmwoN9qT 5fSvtQ/gehNFvLdlOVdVVBPtnb7u59m3Z01CuhkL7uvd5WiCaDu2aioySl66ba9VXt09 ZrEgdMJjqFzfFj2BVcID0FD6suJMQUfEBsDTRfIsFP75EPXK4glla778jLwsnE1+Hxr1 /nkttnyAE+LmfFgT8ib38ZiL/m6hr9m72yMiuWmLwJ3B6/aaSbYsWyvgk7XMF/kXqqxv dBEOU/8PicjuYwgbjS1Y3kmXfs4OvOCIDC5qYiwYwfcPLhFbxWcFtdUsx/UTRSGFZGJ4 Z1zA== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4KDdZuSuiVhnWoZHnKqWrh7zo/0jiKBE4EcFSl+sGnw=; fh=Ip02gOv1lgiIzx7E9rCtSzygLd40BfH9FLx7CcJdySM=; b=j/gAjCGTYIL2AtlFypmIf7CR1HsCzRbxHf1qI91mv7eM2B5nqFUcQu9oNNAv+2+BEq fb4d5tgmCBKWXaeB7EB4gEG3t8zzYVJc26RgPPvlwCBEBGHxu7+55o64pmXm5OlsZDum fGksdiVdVGtE13pGpW8kqGZgcTWPdC7cAb1J4TLdnU9cQngG/Oty0SoscSoMuKIMrwIW 3CCp+C8cTLJWxG9SwT4aW6CEr8c0zyJjYCJLm1w3KIMsijBNO+tvMF7NHTBIih+ZK7jo C/LjOu4M8nfscsaUuAiGQKeaOKey+1BQPUqDi55Ybj3Hxki5e36p5AqoKOyvCkXS92GT zLkA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=uz+LQiad; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c289036si97350811cf.437.2024.08.13.13.25.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:25:50 -0700 (PDT) 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=uz+LQiad; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy3g-00054X-61; Tue, 13 Aug 2024 16:23:56 -0400 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 1sdy3Y-0004m4-Ns for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:49 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3M-0006BB-MN for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:48 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-428ec6c190eso45335595e9.1 for ; Tue, 13 Aug 2024 13:23:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580615; x=1724185415; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4KDdZuSuiVhnWoZHnKqWrh7zo/0jiKBE4EcFSl+sGnw=; b=uz+LQiadjM+BmePIRXmF7F+6pDYcAAsc30SxzpmA7qNHYS6KfUN0wO3tPMhlg2ZtBO 3lLjzB3UTlAnNqdx7OPBJaK3b5kmAvIWsUWp3ebExDOK75R0mlZthjLNj5aOkXdFp5cu 22/YOb8rwZsh4WTITDU53smKE47TzwZ60Je2/E9o8+KPib3lkf230/47gw5O9hIl0MXH q5/yGiqYNyhAjGKgiANErKn98y8CNEq8Z71Qp3rzgg5jxCGf7A1bWmHC/888PDZ7iYeK Y/1Sy7wZAvb2CPof6/GJIWWNMlysmzACfw7ZALGSOvP2adL7w+efkBBpIbBJshAVEz1t Yoxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580615; x=1724185415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4KDdZuSuiVhnWoZHnKqWrh7zo/0jiKBE4EcFSl+sGnw=; b=ZLMeQTfzx5nBYwhSIbU2WzMhnSFdcO+SvxnN3ZctAXwCGcZeECuR2BBvH+3AOnjmdV f6tBMr09dpV9YNy3Aozm19GcJrqg82KScC7RjXskuFW4dPPNAb/+TJkGkSnNPNj8ouOp XYQuAcw/ZcrjccLJcHIJLOj9+yo2+azt85gikfhe71xabDA+12V70awauzM4I010mgAI Xz4owfF1JLgVd53XIShehJ+y670CXcNsobkNFCNAQh+LmTRPLxl0/BZBA1GGVusCrEf8 zpoj9aY3HErF9LWYAR1s0rFNCYlLf7B8aQOasz2UjOY3p7K/3Exfes7k2qYS7F8MSMih afcQ== X-Gm-Message-State: AOJu0YyrRMVAWghpX/32ElaG+G5lO1NyFbCbbVoak+TtMhRFnVh4MJOz 5hIk1SF22BCheGjdeExjk1l4q2P1xIpmUL5MX7/dwGpQa5Btv2HLbsnZY5Evu2k= X-Received: by 2002:a05:600c:511e:b0:426:61ef:ec36 with SMTP id 5b1f17b1804b1-429dd1e551amr4907685e9.0.1723580614570; Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429deb810f5sm667535e9.44.2024.08.13.13.23.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A52215F92C; Tue, 13 Aug 2024 21:23:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Gustavo Romero Subject: [PATCH v2 03/21] configure: Fix arch detection for GDB_HAS_MTE Date: Tue, 13 Aug 2024 21:23:11 +0100 Message-Id: <20240813202329.1237572-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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=unavailable 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 From: Gustavo Romero GDB_HAS_MTE must only be set if GDB supports the aarch64 arch, so the test if "aarch64" string is present must be against GDB-related '$gdb_arches' variable and not against '$arch' variable. Signed-off-by: Gustavo Romero Message-Id: <20240804161850.2646299-2-gustavo.romero@linaro.org> Signed-off-by: Alex Bennée Message-Id: <20240807114059.2339021-4-alex.bennee@linaro.org> --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 019fcbd0ef..a3aa257fd3 100755 --- a/configure +++ b/configure @@ -1673,7 +1673,7 @@ for target in $target_list; do echo "GDB=$gdb_bin" >> $config_target_mak fi - if test "${arch}" = "aarch64" && version_ge ${gdb_version##* } 15.0; then + if test "${gdb_arches#*aarch64}" != "$gdb_arches" && version_ge ${gdb_version##* } 15.0; then echo "GDB_HAS_MTE=y" >> $config_target_mak fi From patchwork Tue Aug 13 20:23:12 2024 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: 818862 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp431178wrm; Tue, 13 Aug 2024 13:28:17 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVXwXkPe/L1cr2+ySwxKMgqpQ2vehrSzfOPY1JtfMkeE3Xc5sK6+F2+GtPUVRzKmu9pE0Rqph3fiE/tabxCdGY+ X-Google-Smtp-Source: AGHT+IHDVtWUWKgjkjSMHiEWSpttL2pN+8EtKmZXhB4fZ67jE84USeG9SPBYRPJ4VzgqKUJQaLbm X-Received: by 2002:a05:620a:4445:b0:7a2:32e:3c47 with SMTP id af79cd13be357-7a4ee33cb71mr84531485a.34.1723580897640; Tue, 13 Aug 2024 13:28:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580897; cv=none; d=google.com; s=arc-20160816; b=iLYG6HAcXlgC7OjqatjV+ESK5BTbmDifdOEojF/ZDLt/drqPCxeyW10IPZ7DOa9oWi DTbnYG51G9g+hN6ZSFsZRBZ8EOtbgTBVp7WzoS6qhaQZ7AtUax0g3GRaKfwQ8uQXatTa pG/x2KYGxjrHyGBzRLEPV+fiyrJFkX0QR6InNOZjeR5WTr4m0bqBKo2sylyzLxdeBVsa Ltdj3eFEc1SikvxmiguF/BVlcAXriFfsdAlcw8QiIVoThBHccpZRc2hGkcRQH8ClZGoP owFn/DfnnvOR0a80yYZbE7WV09devNx0UL8fTTPrhxPvqPii1++79n/Rm9iCt30Lr9pL dm6w== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0GxFDxNA+tjm9dd3YyBkmqa3TunWqvDtTEUpcD5o2pA=; fh=Ip02gOv1lgiIzx7E9rCtSzygLd40BfH9FLx7CcJdySM=; b=vVTEj9sd91ehGKAKQaVVDieSFafLo5YgFMYZRM6LKQbbjllwkR8R+c9hOi23Nl0uM2 q+n43kh+U6nreE6PxdbOxn/iQEzfhWdcQ0c3dWtVxKiynpTu/zmaPwojV/Ibe53t1jQp C3JCA3cut9hqvqSJgvErXJ+Jm7C3IZtnR3U5y3aRGbBCQZWaVlUVOOPXNS64D91zXovV SywClAB+S34aSSQI/iAVzV+fkGdsYiV4tnRl0z7Q7M8re9YWHuflGuQaQV4Zkyi26be6 O8YQoSNJTzAjsWIJ1wRg73FVdkv0ZjOoQpuJUunH7jxeNIzMxl3GZFvDnNsOtTNzjl2A NiNg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hwTr3Wem; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7a4c7df5857si891705185a.226.2024.08.13.13.28.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:28:17 -0700 (PDT) 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=hwTr3Wem; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy3V-0004WJ-Ej; Tue, 13 Aug 2024 16:23:45 -0400 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 1sdy3O-0004NI-Ts for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:38 -0400 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3K-0006AU-U0 for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:38 -0400 Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-52efc60a6e6so7859453e87.1 for ; Tue, 13 Aug 2024 13:23:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580612; x=1724185412; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0GxFDxNA+tjm9dd3YyBkmqa3TunWqvDtTEUpcD5o2pA=; b=hwTr3WemTnyV45lich1ruVLj/Mk3k2/xVr5v7MoW+gf02fTgn6xi84bNCf+rtp3900 WXa4iCsOponY6jVwHmyPkH75oPzYzbkVYLFKjT1PR5qWmIrK3kD3iNL1kVCtR2SQn1CF uM4jOk+LffYrtKBacXfimTRQXcFkdV0sD0DKsgugv+tfOWY6ia+X73Jry1D+cWsc9So3 F26NyfLdhz87b7Ddxk+uWH85gTlD/0QEYD6PLWfLsds2UkpXOiuLw23micVEBq4RXIpT b5WnHIETZBNNc743KylVIVWRWlIBs0IsDuqp1U2dvQ7V9gHssBGUnoCw8RjcRx00sYP+ E9bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580612; x=1724185412; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0GxFDxNA+tjm9dd3YyBkmqa3TunWqvDtTEUpcD5o2pA=; b=mzmoKBUzF/AKeH2Dko8EqKXjtwBFLSxMisC1wBv90cPkgcedcQKZkIrWDQy80S9anz x91c/IxHCEkg3/hyvqr/4Fl5BhqoUflgU6oIrXLr/vBS1bQBSB0vHZ9wDtwvJ85kSKfB 3B9Rf/WIHq2Y/cD+AyzJPOzWyXNs+9OPWYQR3oyVP7aHdLw+BCoJTC/NtThWIi6EqG+3 zt8DR4gZHwIgLhPyeQosS0KazT/E4cO1u2MxXwZ5dYvwRaeVzn+Lsje7TPJhxbo/tfjt ttnTFz3E7kztXRTMQ4jdlClMZb6QuGQ3cyOiq2B9ozxJErvb0YNY+/AmCkTbevg4MG7A ItYw== X-Gm-Message-State: AOJu0YyQ5o5M99ksW1uIFhDvtb8P96uqmbsMxRuSFfmW3IZQG35FpRnG 7ykheeNZR69FTIy1zEQmdeK1M4HLM+k0BVcf+tGPTIafk0MWPYCgr/gPzZnCIns= X-Received: by 2002:a05:6512:239b:b0:52c:8596:5976 with SMTP id 2adb3069b0e04-532edbcce45mr270967e87.55.1723580611264; Tue, 13 Aug 2024 13:23:31 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429d877e066sm32268685e9.1.2024.08.13.13.23.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:30 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id BB7655F930; Tue, 13 Aug 2024 21:23:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Gustavo Romero Subject: [PATCH v2 04/21] configure: Avoid use of param. expansion when using gdb_version Date: Tue, 13 Aug 2024 21:23:12 +0100 Message-Id: <20240813202329.1237572-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::12e; envelope-from=alex.bennee@linaro.org; helo=mail-lf1-x12e.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=unavailable 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 From: Gustavo Romero $gdb_version is now used in more than one conditional case and its usage in such cases may increase in the future. Therefore, avoid using shell parameter expansion when using it by setting gdb_version to its final form. Signed-off-by: Gustavo Romero Message-Id: <20240804161850.2646299-3-gustavo.romero@linaro.org> Signed-off-by: Alex Bennée Message-Id: <20240807114059.2339021-5-alex.bennee@linaro.org> --- configure | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/configure b/configure index a3aa257fd3..97de85d710 100755 --- a/configure +++ b/configure @@ -1103,8 +1103,10 @@ fi # gdb test if test -n "$gdb_bin"; then - gdb_version=$($gdb_bin --version | head -n 1) - if version_ge ${gdb_version##* } 9.1; then + gdb_version_string=$($gdb_bin --version | head -n 1) + # Extract last field in the version string + gdb_version=${gdb_version_string##* } + if version_ge $gdb_version 9.1; then gdb_arches=$($python "$source_path/scripts/probe-gdb-support.py" $gdb_bin) else gdb_bin="" @@ -1673,7 +1675,7 @@ for target in $target_list; do echo "GDB=$gdb_bin" >> $config_target_mak fi - if test "${gdb_arches#*aarch64}" != "$gdb_arches" && version_ge ${gdb_version##* } 15.0; then + if test "${gdb_arches#*aarch64}" != "$gdb_arches" && version_ge $gdb_version 15.0; then echo "GDB_HAS_MTE=y" >> $config_target_mak fi From patchwork Tue Aug 13 20:23:13 2024 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: 818849 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430515wrm; Tue, 13 Aug 2024 13:25:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUxjjtGqZMclAKTaZo7kqhi+9HQCdTcMqb4lCJdE76DkyUgvJo6eWkETfxt/COFQMx2s7dV3Q==@linaro.org X-Google-Smtp-Source: AGHT+IH8I9w3zbVD9Fs4Te5wV2MpltA5cL3X57z1HUr+Ht6gsdPfyqipmW+u5Vgs735B+AEcZ6Nr X-Received: by 2002:a05:622a:22a8:b0:453:4a0d:82c7 with SMTP id d75a77b69052e-4535ba9b83bmr6205121cf.1.1723580741086; Tue, 13 Aug 2024 13:25:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580741; cv=none; d=google.com; s=arc-20160816; b=o1VX22Xp0Rw0J6AaWMLl5aVKwMAs2GOutJri88HduVv1MOv9XBOrwxbuyfGGzWU2ae Aav/8xfbOFPTF7B/Hkw7CA41l6D0nLLSvZQhy5uEYApMTy/hOeJry/kjo9FKE3Sxnnxt wqM5gCjy6rzEv2Lqck/HY1o2QJlYg9TFktGeSbMS0PQEOjW3wTcuntpDPksoPdk3QskN TNAdb8tp8JCO9qxFo3qVUkEMSRHuv3kE41bXx22DbROgFGwdhjBjxpHO3d+o80AYdxUo P6F8N8TRdkkK2XbmzC32hwSPEQEVu8RAPdxULGPmtOaADD4xXjvgIUdaw78EXvOOs5Tr e7dg== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0y9bR77UvCt8TQIygcd82Fr7RaUqdwHl6O1d6ILZIVc=; fh=Ip02gOv1lgiIzx7E9rCtSzygLd40BfH9FLx7CcJdySM=; b=re+UUP6Bz/PVesBl73Ds+/zFCcd3vNrTFypNcnLzH1Zx7BEsDT33iiGV/duepUUjqt NEvrRqCyDeAFRRm5XWfAtplMCWDSxRNoErNvvP2awnx8nfwY0/fo/cLVLP18PojyyusN ZKKItWHtQmdftsEUaRCrPml+J65MP4H7P1mscLQGzz8YYx1lIIZkAv9MMygEoJx9RYyy ZhXTxZsmxcwSKoJt06/Fk+YbARhHwZjQvvK93YTBitul88xdAKipiaWt8cEFfueXeLlV x7x0KNeHfDVMsujFVYYCFUw2NcDleJ8uxKtDRqTXLyBLLMhD+cPQoDP2hRi/Ok9aZRwx WS9w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=x9q5OvIh; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c28ed03si88110951cf.518.2024.08.13.13.25.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:25:41 -0700 (PDT) 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=x9q5OvIh; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy3u-00069G-OH; Tue, 13 Aug 2024 16:24:11 -0400 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 1sdy3g-00057m-IW for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:56 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3O-0006Bt-HR for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:56 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-428e3129851so43533155e9.3 for ; Tue, 13 Aug 2024 13:23:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580616; x=1724185416; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0y9bR77UvCt8TQIygcd82Fr7RaUqdwHl6O1d6ILZIVc=; b=x9q5OvIhDUo3yhlEZS6ytgPKeMZKNcpdTsZr7ueRF5xVnavnPCY1RU/n7FT3Lx8Xv9 RPckbAuuxZtl0PNbLD4f6MRLRUgUjEy6qkJ5KbEzO9bTHTsBzvtPx0iWBZs0pveKOruX bylQIX6Tx/sVP1fb8YqcJTbsa+lqRJ9s3sVVGwANSrUuJzJnYU97u0z4oKLys2XMeXDl bQ/hIf1Vpf5odfLjBiDiNV5n1L9EnrumiWu1rntWo+PsvS/wj3dQTO324eGwanPJXJOs ZnN3CRQAb+wxudCBLTYn/RG4u+AbIp3UcEHsQLavfHhJt/Otck1Ldji4S2ANiOWLTZDy D8uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580616; x=1724185416; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0y9bR77UvCt8TQIygcd82Fr7RaUqdwHl6O1d6ILZIVc=; b=fxC+wBgc190IrOqEf33MNmFIxZPsgLBok1I2lcHvQv8nZV/8uzqt9H55DixRroi0SF N+L+4e+iq7LKme1dbYYarUDXxOgs385EGxfF6faRhCtNeZLiNi0ai+fXx+j3rkr67ORg 9GlLInLKQUwPNcxQ6JJvEyuonYCcQDrdgviMF9r9o2VwT+Wso5uPMlqttEAqJiG7ajU7 l3cEBX+NRvaUU2dPNQ6CcxVbLCndLiJ1YE6DUELmTTiNqy326Ao5tcnlNT5Z8scz+te/ vAvwS4YSz3iJ/bqoP0ijYPtjBV7AwqOyg6xGduAClV/78pu6AIZLwV8j4qlpgn/sVCMo ykNw== X-Gm-Message-State: AOJu0YzDSOI7aPb74h2bFeoz9JnWNEXoj+pDc7/lJQgP0/MdWP0D584i fkUWZpJrK2w9+Xv6Kpttt6j2mkfU5DVASSWeKlwWIXhsE+RMJinHfgvtcXLDp6o= X-Received: by 2002:a05:600c:524b:b0:426:6320:7ddf with SMTP id 5b1f17b1804b1-429dd26c229mr3693735e9.35.1723580615541; Tue, 13 Aug 2024 13:23:35 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429c750ec0bsm151656175e9.15.2024.08.13.13.23.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D18D85F959; Tue, 13 Aug 2024 21:23:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Gustavo Romero Subject: [PATCH v2 05/21] configure: Fix GDB version detection for GDB_HAS_MTE Date: Tue, 13 Aug 2024 21:23:13 +0100 Message-Id: <20240813202329.1237572-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x335.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=unavailable 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 From: Gustavo Romero The test gdbstub/test-mte.py requires a GDB version that supports the qIsAddressTagged packet. According to GDB NEWS [0], this packet was first made available in the GDB 15.1 release, not in 15.0, so this commit fixes it in configure. [0] https://www.sourceware.org/gdb/news/ Signed-off-by: Gustavo Romero Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2477 Message-Id: <20240804161850.2646299-4-gustavo.romero@linaro.org> Signed-off-by: Alex Bennée Message-Id: <20240807114059.2339021-6-alex.bennee@linaro.org> --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 97de85d710..d08b71f14b 100755 --- a/configure +++ b/configure @@ -1675,7 +1675,7 @@ for target in $target_list; do echo "GDB=$gdb_bin" >> $config_target_mak fi - if test "${gdb_arches#*aarch64}" != "$gdb_arches" && version_ge $gdb_version 15.0; then + if test "${gdb_arches#*aarch64}" != "$gdb_arches" && version_ge $gdb_version 15.1; then echo "GDB_HAS_MTE=y" >> $config_target_mak fi From patchwork Tue Aug 13 20:23:14 2024 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: 818847 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430316wrm; Tue, 13 Aug 2024 13:24:59 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX00aWOgn1JooCQvu/foLsG5paaUPQ8pxOlgSA3C2EBkxpD09VQe3ZBZmiiCZvcLLIdIAxQDhn7WcwMSfs4GV8O X-Google-Smtp-Source: AGHT+IEZzBFcMDd2DV0pMgfiq3NFkOQdZqsED8RRNT82Ms7YKAa/8/8X5d9xMQ7h/1fei0JLf/8B X-Received: by 2002:a05:622a:5c07:b0:453:4e27:5181 with SMTP id d75a77b69052e-4535bac9fafmr6019871cf.20.1723580699406; Tue, 13 Aug 2024 13:24:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580699; cv=none; d=google.com; s=arc-20160816; b=X/JXV6njuVMOEJM68UcwHC4k5yB3rfDyFTnnu/ru5uadglU6WsZIqA7M3+jo4D82Kq 9u8aGJH9c/NnjvMRA7Lmi3yWh3ftCZvnIoLdCgrFaTszzJxuC0sl8+dvRUbWMMd04sFd +eDRtlK4oZN7Cz55I+khR3odmHbaOBNFRcAIf5jCImrfN1iwqxNEEfUWgQt7/x7NnCQy JHqhU8PCnhfui7/2oaeIp2tykn10FwhN1cw20mxh59JryffxjwH3aHd3DfxnjsQPGMD6 JgVv6M9nkSA8iIOPhglc6B7qSWRaj+Sx9Ihe1mS5u1SBYTFNmCw2AFSolEdwQZnj17xT csjA== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=1AVh2j6pk/5XaCd8FbE/7mpmYiPG8pggbKweEGs0KY8=; fh=OUjG3vBYqMbfAeOHh9vZ769yy1PsKo4X+wAKhRbmCRo=; b=l6kI+7a+ZLMs+Z8Lw7RGMN9SVpLp4oiSXyi21KxHJqOxyTdxZ8DnedkRybQ3Etzipm f5/BsuQytSlVy0ss06wOWsO7+AgOBofD/KiZj+x+58OrjBhrzxvniIdtkVQm1ZTCBZtb K4BDrk72b2y6iqaCN7WzrLkg7W85BG0cG8rNQhm6Bd/t1dAgSB33SWkGTG5+uUV0y6Ot Dg+Nu23ANEsAd4n6LIyWntNW6la38PC9W3KLzKKQhdBvmUMQw1OtUExN6cREvwH11kE8 mTHBZl3SyGjEPqIMWD38mjIIcFxrhdt7cmcDtMFWmaJCawGgUDy5yQV/lzXmH+4Mo+kY hUQQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="swYFf/2B"; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c290fa4si92064741cf.499.2024.08.13.13.24.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:24:59 -0700 (PDT) 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="swYFf/2B"; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy3i-0005EO-6S; Tue, 13 Aug 2024 16:23:58 -0400 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 1sdy3c-0004zN-2I for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:52 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3N-0006Be-5a for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:51 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4281ca54fd3so44492315e9.2 for ; Tue, 13 Aug 2024 13:23:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580615; x=1724185415; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1AVh2j6pk/5XaCd8FbE/7mpmYiPG8pggbKweEGs0KY8=; b=swYFf/2BZxSSNajIQqL04N5uSZn50Dyk1MS2o4kLoWDMT654RGTbVmJEV3WBaZExLp AgFBB+E5tcLSAs8oqOIMNI0xpX9a4Wm0bXOWStaJSgjwo8mzA8x6wS+0rOO+vaXIiuxm jqQaFejdK+I5lyrHtiiKVPLnUpq35D9Y0aUUqxY6t8E7Sx+GwNGpY7E2D41ELrqWAZWC dknDBtSgn0wXBcN2g/z75vbqj2/Ct4vESxy/zYO+siHaB8zRkQPYpiWu67jDvBE5FiG/ SI6wZCmFGqn0I05ILZ1mlAbUijVccIOwCOZ/U9LAx2qCLmwR0zsPBGhRed5XJXdmzuxf IYNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580615; x=1724185415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1AVh2j6pk/5XaCd8FbE/7mpmYiPG8pggbKweEGs0KY8=; b=EzzNMulmTlK3msD6iF9DKFyyeI5V9L/yMeJ9v5KByJp4nfcihtHfwRJsnh/kl88JGe 2/HDKBGsT8goDnxfwAoB4YZKNEJ1ffNmyF4C/No/S4JOx3v8p4mdingCVM1O/6qWQP6b /0w3lQpNZWygEMOMqZlpG10q5X8X3emVaYgpzWuNf1Bn71NsgNGhuwH+iFA2qjSjQ0hu pneL0xTq+OWPBdTxpNHKGTptMx1sAc7kQRasPuxtSXwMor27YJZ/fAYKDllxVEs31qw0 3Xl0vUiZKIHLVrSddh0FLPYbNIZBGXboO71vO9X58uaAsxUV4ETPun3w/jwqrDbClBDO o3Kg== X-Gm-Message-State: AOJu0Ywft02QD+mBUPMWe8oUI+i6jnePwqkmyswUGMq49WWljebLBVDi NksjXHHEg+hM+TF4ULrhinMH5VL0KggBQFLiMshy8NzJbNVtsRgNOjoU4pQI/A8= X-Received: by 2002:a5d:64c9:0:b0:367:9107:9e11 with SMTP id ffacd0b85a97d-37177830523mr605930f8f.62.1723580615118; Tue, 13 Aug 2024 13:23:35 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429d0642979sm98513095e9.20.2024.08.13.13.23.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id E95A25F9CF; Tue, 13 Aug 2024 21:23:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Stefano Garzarella , Cornelia Huck , =?utf-8?q?Daniel_P_=2E_Berrang=C3=A9?= Subject: [PATCH v2 06/21] scripts/checkpatch: more checks on files imported from Linux Date: Tue, 13 Aug 2024 21:23:14 +0100 Message-Id: <20240813202329.1237572-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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 From: Stefano Garzarella If a file imported from Linux is touched, emit a warning and suggest using scripts/update-linux-headers.sh. Also check that updating imported files from Linux are not mixed with other changes, in which case emit an error. Signed-off-by: Stefano Garzarella Reviewed-by: Cornelia Huck Reviewed-by: Daniel P. Berrangé Message-Id: <20240718072050.9503-1-sgarzare@redhat.com> Signed-off-by: Alex Bennée Message-Id: <20240807114059.2339021-7-alex.bennee@linaro.org> --- scripts/checkpatch.pl | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index ff373a7083..65b6f46f90 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -1374,6 +1374,9 @@ sub process { my $in_header_lines = $file ? 0 : 1; my $in_commit_log = 0; #Scanning lines before patch my $reported_maintainer_file = 0; + my $reported_mixing_imported_file = 0; + my $in_imported_file = 0; + my $in_no_imported_file = 0; my $non_utf8_charset = 0; our @report = (); @@ -1673,6 +1676,27 @@ sub process { # ignore non-hunk lines and lines being removed next if (!$hunk_line || $line =~ /^-/); +# Check that updating imported files from Linux are not mixed with other changes + if ($realfile =~ /^(linux-headers|include\/standard-headers)\//) { + if (!$in_imported_file) { + WARN("added, moved or deleted file(s) " . + "imported from Linux, are you using " . + "scripts/update-linux-headers.sh?\n" . + $herecurr); + } + $in_imported_file = 1; + } else { + $in_no_imported_file = 1; + } + + if (!$reported_mixing_imported_file && + $in_imported_file && $in_no_imported_file) { + ERROR("headers imported from Linux should be self-" . + "contained in a patch with no other changes\n" . + $herecurr); + $reported_mixing_imported_file = 1; + } + # ignore files that are being periodically imported from Linux next if ($realfile =~ /^(linux-headers|include\/standard-headers)\//); From patchwork Tue Aug 13 20:23:15 2024 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: 818853 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430590wrm; Tue, 13 Aug 2024 13:25:55 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU2r0l50n0udgr7F5ie8u3sY4h3tDy1RH+eAzNLZam2wrH0Seya4IcSh0/CHdRF2PeRn0ucZsk3G5p6nZZ2GT0d X-Google-Smtp-Source: AGHT+IEwm5/LKoMNtId3MbKWDNWZO2LzO6bhR39cD3U7ma3/FHy3u+7ZszKiu1y/0jXiGyyY/wnK X-Received: by 2002:a05:6808:22a5:b0:3d9:321f:dad2 with SMTP id 5614622812f47-3dd298d5d7bmr722980b6e.2.1723580755062; Tue, 13 Aug 2024 13:25:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580755; cv=none; d=google.com; s=arc-20160816; b=mUSWd7KHBzNQ06SwIGqw1DeF/IjzS5YTPDdOir/P2KxB1snTkLZ1Bt6X0PIEPT3acz Fmyi08JPFv/g0AMitJHXoCAJ0aLSUuU178cObmBfBSCXGPlsYyXTv1FQtB7WGAN3JxTp OuhqPXiJKz1x/okBs+pdC4AvPRkZkV0/UoUAAm2OdNGzduezkQNyT6aIH38jICcg6q80 ZrKrG/yFx7p4MErv8fhSGQ+vrByIz4vtS9ITO893Fe3ENbrlxDRvfc526vo6NMwyd/To ERq+WHjDGBF8mV8JT/26J4RbjE9sQhmHxEFqXLDOLALJg/mQMC6I1Y0Bp/k/af009v5a XE0g== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=vQP4Lzk083fG8NuJjpSlR+Yr0hOmETRemBesxY0PRmM=; fh=Ldnso273692IMU0X0frFRUfKP3dGY55NqM4JNuJFPqQ=; b=BIoswEPLvzlvKxjNcwsNauRQr80tJwkbgsxdW5VrZmrs6TqOm5TaZpxfEKnaQz4Zi1 Cv+2QgmUYXZZvv4+NufXCep9zSXhQPCsmObjZQ6herlguGNgk3tj/PPnLG6BG4KgBSLK Yt66HcNdAcia1ew1UnLKlGdvBMywEqIM9PIkcPTFIV+rqQNZAn+PLG/+1yR75oZdth2b jXeUxoZNbrTL6boFhiFo6ppiQYpzcqCwpqyX+pHFI9YjXo6Rt7LOn3GcrSv4h+4muvKk EGl3W4yoCAvMUJwKQuHQkQ4LtqHbWaP18LHfalWJG3yX9qFn3SDF56z1cyce2fM45rW4 W4xQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CzjgfNnb; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4534e966235si26558311cf.422.2024.08.13.13.25.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:25:55 -0700 (PDT) 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=CzjgfNnb; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy41-0006fM-F6; Tue, 13 Aug 2024 16:24:17 -0400 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 1sdy3i-0005Ec-65 for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:58 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3Q-0006Cm-V6 for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:57 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-369c609d0c7so4092783f8f.3 for ; Tue, 13 Aug 2024 13:23:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580618; x=1724185418; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vQP4Lzk083fG8NuJjpSlR+Yr0hOmETRemBesxY0PRmM=; b=CzjgfNnbYHCIOpoA/Ftz4i9TGBf1cfgKz54loszxSewxjiqPeRQucXty21leKYBVZK lxWORObsi19p71RfcC0LW9vLeigigqQ4lajmQ+rTf8NlDe285Mkgro08DylaQgzbgeoI hi64YuzxJorVj0njqh2BEyLf4aNDkpLjnaco4AwAzIO36gzKyib+7c59sbv2wxLr+PDs F7gmjlGij6TBLSJ0bPvBd95hkfQ53Lk7tuJHmdyX5OB5x+KBp7ioW559dDaCoyDdWxOb MCiEtSsYW+fNfDufeOZf+hPtEzuEi+7+GmWIEfoGCZEJmFUSh4zgw8v+xelTFJhAQXbt z7tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580618; x=1724185418; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vQP4Lzk083fG8NuJjpSlR+Yr0hOmETRemBesxY0PRmM=; b=YSVCb/HZuhf7CF8D3DwlZxnsH0f8QCqqOwzwOVjClNa0SErcC6+S8Supc+RJ6HQorx EX4nrOYiXadOXOgu2tymtmgKIG50ParrqKZkWUsuTFqu5dKPZ2sr4io7G3caUc9DyCTb VixxUMuuDWyd0XQ20REk5OhVdsl0LJcTghaOXUNeG/Nj4rK44/B1j/cEU6WknHv/hWQ8 8dLYaycXi2tmApgZkNiZtyTZJaMUkrG3nA2JtE5sgj4qFFku0C4etETw0GyxfKflJ1V4 Ot5LKAQ3FP2LHLhD0HqHluBrWt+ctHCeMcwCLmWO2aRRkToVom1GeyhCr3+3pEilswqb BdFg== X-Gm-Message-State: AOJu0Yzf3BhC/Pf9H55Q3mZGi0JOxcKQWXpuOO6uYdcYRmkZGAJNy/HE oNS6ad/bvnWhjOjpeHS4JHYT5ziZYMol9Bad+Pr1sQJ6EwFF77LS5YWkv8OlYSI= X-Received: by 2002:a05:6000:e04:b0:36b:3563:15f4 with SMTP id ffacd0b85a97d-371777fefe0mr508243f8f.56.1723580617457; Tue, 13 Aug 2024 13:23:37 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36e4e51ed16sm11208371f8f.66.2024.08.13.13.23.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0CFC95F9DA; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [PATCH v2 07/21] target/i386: allow access_ptr to force slow path on failed probe Date: Tue, 13 Aug 2024 21:23:15 +0100 Message-Id: <20240813202329.1237572-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x429.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=unavailable 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 When we are using TCG plugin memory callbacks probe_access_internal will return TLB_MMIO to force the slow path for memory access. This results in probe_access returning NULL but the x86 access_ptr function happily accepts an empty haddr resulting in segfault hilarity. Check for an empty haddr to prevent the segfault and enable plugins to track all the memory operations for the x86 save/restore helpers. As we also want to run the slow path when instrumenting *-user we should also not have the short cutting test_ptr macro. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2489 Fixes: 6d03226b42 (plugins: force slow path when plugins instrument memory ops) Reviewed-by: Alexandre Iooss Signed-off-by: Alex Bennée Message-Id: <20240807160236.2478459-1-alex.bennee@linaro.org> Reviewed-by: Richard Henderson --- v2 - add comment around haddr1 test - drop test_ptr macro --- target/i386/tcg/access.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/target/i386/tcg/access.c b/target/i386/tcg/access.c index 56a1181ea5..e68b73a24b 100644 --- a/target/i386/tcg/access.c +++ b/target/i386/tcg/access.c @@ -58,6 +58,11 @@ static void *access_ptr(X86Access *ac, vaddr addr, unsigned len) assert(addr >= ac->vaddr); + /* No haddr means probe_access wants to force slow path */ + if (!ac->haddr1) { + return NULL; + } + #ifdef CONFIG_USER_ONLY assert(offset <= ac->size1 - len); return ac->haddr1 + offset; @@ -78,17 +83,11 @@ static void *access_ptr(X86Access *ac, vaddr addr, unsigned len) #endif } -#ifdef CONFIG_USER_ONLY -# define test_ptr(p) true -#else -# define test_ptr(p) likely(p) -#endif - uint8_t access_ldb(X86Access *ac, vaddr addr) { void *p = access_ptr(ac, addr, sizeof(uint8_t)); - if (test_ptr(p)) { + if (likely(p)) { return ldub_p(p); } return cpu_ldub_mmuidx_ra(ac->env, addr, ac->mmu_idx, ac->ra); @@ -98,7 +97,7 @@ uint16_t access_ldw(X86Access *ac, vaddr addr) { void *p = access_ptr(ac, addr, sizeof(uint16_t)); - if (test_ptr(p)) { + if (likely(p)) { return lduw_le_p(p); } return cpu_lduw_le_mmuidx_ra(ac->env, addr, ac->mmu_idx, ac->ra); @@ -108,7 +107,7 @@ uint32_t access_ldl(X86Access *ac, vaddr addr) { void *p = access_ptr(ac, addr, sizeof(uint32_t)); - if (test_ptr(p)) { + if (likely(p)) { return ldl_le_p(p); } return cpu_ldl_le_mmuidx_ra(ac->env, addr, ac->mmu_idx, ac->ra); @@ -118,7 +117,7 @@ uint64_t access_ldq(X86Access *ac, vaddr addr) { void *p = access_ptr(ac, addr, sizeof(uint64_t)); - if (test_ptr(p)) { + if (likely(p)) { return ldq_le_p(p); } return cpu_ldq_le_mmuidx_ra(ac->env, addr, ac->mmu_idx, ac->ra); @@ -128,7 +127,7 @@ void access_stb(X86Access *ac, vaddr addr, uint8_t val) { void *p = access_ptr(ac, addr, sizeof(uint8_t)); - if (test_ptr(p)) { + if (likely(p)) { stb_p(p, val); } else { cpu_stb_mmuidx_ra(ac->env, addr, val, ac->mmu_idx, ac->ra); @@ -139,7 +138,7 @@ void access_stw(X86Access *ac, vaddr addr, uint16_t val) { void *p = access_ptr(ac, addr, sizeof(uint16_t)); - if (test_ptr(p)) { + if (likely(p)) { stw_le_p(p, val); } else { cpu_stw_le_mmuidx_ra(ac->env, addr, val, ac->mmu_idx, ac->ra); @@ -150,7 +149,7 @@ void access_stl(X86Access *ac, vaddr addr, uint32_t val) { void *p = access_ptr(ac, addr, sizeof(uint32_t)); - if (test_ptr(p)) { + if (likely(p)) { stl_le_p(p, val); } else { cpu_stl_le_mmuidx_ra(ac->env, addr, val, ac->mmu_idx, ac->ra); @@ -161,7 +160,7 @@ void access_stq(X86Access *ac, vaddr addr, uint64_t val) { void *p = access_ptr(ac, addr, sizeof(uint64_t)); - if (test_ptr(p)) { + if (likely(p)) { stq_le_p(p, val); } else { cpu_stq_le_mmuidx_ra(ac->env, addr, val, ac->mmu_idx, ac->ra); From patchwork Tue Aug 13 20:23:16 2024 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: 818845 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430230wrm; Tue, 13 Aug 2024 13:24:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU6eWDzwwIss15rg3NEwzXlJLjFWHV73ofoNOOk0TEDXtq40RXJSZwngYX8womXVli6sinVNg==@linaro.org X-Google-Smtp-Source: AGHT+IGRCrdUHmyqnlMAOiZSDZvFybhAPiO1dChMa3rj680/dPKBRsAKLQ6nllIL0cr+kHTxNw0p X-Received: by 2002:a05:6902:100d:b0:e0e:4203:e3f7 with SMTP id 3f1490d57ef6-e1155aad66emr1011015276.13.1723580681393; Tue, 13 Aug 2024 13:24:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580681; cv=none; d=google.com; s=arc-20160816; b=PhdtOFwWBMkRHdfosQW6riAyg2n5ZvuoEzCVnpfUenE4JqivNWR/tniHuXkUllecKP 1WiUwF6LWp6Pz280v13rLZNHVh0kTtzZcWLTveuROiAto2SxBizL3SpRK8cZBXjo0uH8 gbv2OPlzBLJP8ufUlWt0EtrLDQtV2UdYi6//3eZM3lr0n18HtRfveXAMwQHZwlFq0wBQ R32+ZXh6HWRlOWPFrq+UYMlj+o8AIWaP510+g87HVmt9B7yPN4aU5Nm42fEfBzRTaD70 KaY9u6BN6HT5XxxcmHbKVdMXj1S5HoyL5jWyiPsOse8sNUJZ1MD3jy7urL7mNMHIv3tt BZhQ== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=8K1C3X/MhQMRep+HimQDatYHRQUqPTx7ZX7Xy6/ZA3U=; fh=Ldnso273692IMU0X0frFRUfKP3dGY55NqM4JNuJFPqQ=; b=cGdDeOsgjvLKIupG0eGTdJIzjYlaKFivo7CaN6hZxtqjJwfbBTaearmlyW6gT6z1B9 ++Ygoh1vrrJ+EpoNIMnNnFgyNmIJDi/H1bEtpx6eT2IlduEYGsC18li5rZ1fAffiIx1G d/2auECM3SJNKqhZkAciJhtUzVzUU5qo5JMX+BWL60vg+ZQxOTFa+ytx59NTCjx+z/xW n4wyIzKj2ea2smJKZuvYDFmsNpYPPRHGzc6Xo5EJHNnpezk0Tb/TyRtlL+XJSXx+MqV6 atsxiBG+2q3elWi7eGlZkwuid9y/xBO+8oFQFRVjkBNesAsbnqhwpwTJLh5QIP+cF9dL R5zg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=f4R3VzB4; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6bd82e6effesi94257886d6.417.2024.08.13.13.24.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:24:41 -0700 (PDT) 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=f4R3VzB4; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy3l-0005RF-7B; Tue, 13 Aug 2024 16:24:02 -0400 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 1sdy3j-0005NT-RQ for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:59 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3R-0006Cz-0O for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:23:59 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3683f56b9bdso3888734f8f.1 for ; Tue, 13 Aug 2024 13:23:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580618; x=1724185418; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8K1C3X/MhQMRep+HimQDatYHRQUqPTx7ZX7Xy6/ZA3U=; b=f4R3VzB41z0tyDSiA/kinJjA4wV2z5S8JhLV6lAENTw6X97Gj88Y3sv4ZTaO7Ol1DL 1Rr8heyItrZmMjT0ZYbz3nWBxDBlnRcYabFzQNQaWgCQz/GZ8NDygLuvv+rfaD1gWCLh Zrq0ApOwxtuJHRJq3uD8zBpQqOYfiFyx6HaWIEgEQcJUe/qBndhnzJRWPIFBH5h1HBJi RyxyTwUuhoghg8qk0XwUJFTC9jeBjmS44FgiPd9ldfCPzMisZYOg72hC79FILnvUTFQG L415foepNLdqWp3poBF1Y7QUxeg9v+bvScPeTdFlFpKTxKSotag+AV+GuKMGcl7lkCNf Ql2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580618; x=1724185418; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8K1C3X/MhQMRep+HimQDatYHRQUqPTx7ZX7Xy6/ZA3U=; b=P9T636QINO/BiQ4TjnlMn242GSe4TjcGWqzB/uJQKGVvsgIWsVvMBx5rbnCSRos1yq VAmsCRJqHaH0CHKSC1xvvwnYu4z06B0g4LDwliEQ/G2WWX2L58uwCXzKBd78ulLowoee Tycb9jcw3Q8je/RsxCsldv7QPi//CINNCHB0EVnhYqgTbFQcj1UD4x+Au+HYKmu+CFj6 s+/UezN07pDMvJwLRA8qNn6ZaIOCB0sM95WnrpW+JLxzl+eCH65YTXz1rKZyrYsBy7QR /oxObzaS6Rvgo6HYgLKkGwBM605F1qTOlP9B9nkxVsGIkxRSwFwbNlCvoFxru8UHKKxZ +8pA== X-Gm-Message-State: AOJu0YwK2bzSW9bEl5r87KylY63XvkOZVlFLDWQLyBoMtZo4fAT6wgQw BxlRKAaGuBOdRJzK2InndlzIN3Zvh2omvbJnlsqeUlm6cQIh6yppZa83mxvPez0= X-Received: by 2002:a05:6000:1fa1:b0:368:31c7:19dd with SMTP id ffacd0b85a97d-37177769777mr575507f8f.5.1723580617875; Tue, 13 Aug 2024 13:23:37 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36e4e51ebc2sm11228817f8f.83.2024.08.13.13.23.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 25FD35F9E6; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [PATCH v2 08/21] buildsys: Fix building without plugins on Darwin Date: Tue, 13 Aug 2024 21:23:16 +0100 Message-Id: <20240813202329.1237572-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42f.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=unavailable 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 From: Philippe Mathieu-Daudé Since commit 0082475e26 the plugin symbol list is unconditionally added to the linker flags, leading to a build failure: Undefined symbols for architecture arm64: "_qemu_plugin_entry_code", referenced from: ... ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. Fix by restricting the whole meson file to the --enable-plugins configure argument. Fixes: 0082475e26 ("meson: merge plugin_ldflags into emulator_link_args") Signed-off-by: Philippe Mathieu-Daudé Acked-by: Richard Henderson Message-Id: <20240813112457.92560-1-philmd@linaro.org> Signed-off-by: Alex Bennée --- plugins/meson.build | 50 +++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/plugins/meson.build b/plugins/meson.build index 18a0303bff..1cc039d29b 100644 --- a/plugins/meson.build +++ b/plugins/meson.build @@ -1,3 +1,7 @@ +if not get_option('plugins') + subdir_done() +endif + # Modules need more symbols than just those in plugins/qemu-plugins.symbols if not enable_modules if host_os == 'darwin' @@ -12,29 +16,27 @@ if not enable_modules endif endif -if get_option('plugins') - if host_os == 'windows' - dlltool = find_program('dlltool', required: true) +if host_os == 'windows' + dlltool = find_program('dlltool', required: true) - # Generate a .lib file for plugins to link against. - # First, create a .def file listing all the symbols a plugin should expect to have - # available in qemu - win32_plugin_def = configure_file( - input: files('qemu-plugins.symbols'), - output: 'qemu_plugin_api.def', - capture: true, - command: ['sed', '-e', '0,/^/s//EXPORTS/; s/[{};]//g', '@INPUT@']) - # then use dlltool to assemble a delaylib. - win32_qemu_plugin_api_lib = configure_file( - input: win32_plugin_def, - output: 'libqemu_plugin_api.a', - command: [dlltool, '--input-def', '@INPUT@', - '--output-delaylib', '@OUTPUT@', '--dllname', 'qemu.exe'] - ) - endif - specific_ss.add(files( - 'loader.c', - 'core.c', - 'api.c', - )) + # Generate a .lib file for plugins to link against. + # First, create a .def file listing all the symbols a plugin should expect to have + # available in qemu + win32_plugin_def = configure_file( + input: files('qemu-plugins.symbols'), + output: 'qemu_plugin_api.def', + capture: true, + command: ['sed', '-e', '0,/^/s//EXPORTS/; s/[{};]//g', '@INPUT@']) + # then use dlltool to assemble a delaylib. + win32_qemu_plugin_api_lib = configure_file( + input: win32_plugin_def, + output: 'libqemu_plugin_api.a', + command: [dlltool, '--input-def', '@INPUT@', + '--output-delaylib', '@OUTPUT@', '--dllname', 'qemu.exe'] + ) endif +specific_ss.add(files( + 'loader.c', + 'core.c', + 'api.c', +)) From patchwork Tue Aug 13 20:23:17 2024 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: 818857 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430702wrm; Tue, 13 Aug 2024 13:26:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV5FckwEoZ8bNWIznxpF9BJeaODW5rKWpRHJbYMo4rRPLfB3No8/y5hPZk3obLW0M80BuWbCA9zVJJrh3vJSt5P X-Google-Smtp-Source: AGHT+IFSZYqT/GW6z8+oTwhkzB1Ygo9LCFb7O58KgdkPlTJSw1vhXhDPD9xsjirafYDAwXrxozaR X-Received: by 2002:a05:6830:2690:b0:709:6889:6d50 with SMTP id 46e09a7af769-70c9d9da776mr676192a34.11.1723580778870; Tue, 13 Aug 2024 13:26:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580778; cv=none; d=google.com; s=arc-20160816; b=k0dT58Yl8mG4X20QT7ygDBF+aeB4B67VUG4jp5R6Ei3Le5cBhhQC1iJTd0GAJqmr3/ jYsf8RR/NUpVKgxB6jBSz5lVLgQM350gVQ+vT/1wvM2fhS9kIYWwYC1MJT36F4wup5f6 ubwrVC84HlUoNTfM/jPfOkPCtP0ZoD0Vk10k9rtEuihGXCkHXULppL/1YSRm1umHuLrR hdDaYVlqQLm5nn9oDCf08tyi8/zoELpQ4hp+z0WX2wJYR1OSeP29BV495lg5A9jnDg92 KbvRunp3N/Zi4pbiOFwywNmBvVAWxMV3HH9eTCiP5t3enahsPUu8UbK3IpI8c0yz4Xa+ 0EtA== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=UIGt432MKZ8L2aq8hRDGJlqVxXSIZygXwHEjBgcA/QQ=; fh=2Uj2tGQCTXopsDH26iMBTwdsgctwEBjqGya0Hcf7oYs=; b=BiaH0o4cBcFcMLqZ6lL2ffJAllpQfJXPmdN57YJrYYv9ztcLGl11bLXxPhWz1x2QzP OuryzgIK2Z0WaPC5mLE6RdbZxM6UCoWP+V6NK/GmZrlV4TTDur9awNpWXkGI0nz6Pg+g 9+cqDd9S9lihnJR2rjnji8RLscYJH5YSwuZjWqwqeUP1BVo6oS0r9+pfdp0oXDlcz/Xh j6toz4oV55LNHMik8nKLj4Byb4H3OHRgZn9anD6hHh6r0fM9bqKpetDfpKrjAGtIhOPr vcBqwohePiOS5k90/5ysFqqmxt7rBVz5fbwpouu4Weox/ZeFW5MKNhtY6fGoyDo4Ykpx iu3w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JqTB9nPy; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c290178si92725651cf.503.2024.08.13.13.26.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:26:18 -0700 (PDT) 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=JqTB9nPy; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy41-0006ex-D3; Tue, 13 Aug 2024 16:24:17 -0400 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 1sdy3s-0005zN-Da for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:08 -0400 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 1sdy3R-0006DK-0p for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:05 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3685a564bafso2694599f8f.3 for ; Tue, 13 Aug 2024 13:23:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580619; x=1724185419; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UIGt432MKZ8L2aq8hRDGJlqVxXSIZygXwHEjBgcA/QQ=; b=JqTB9nPyD1tctq9zRAmOIlinYD4zAEyF4hJVHVSMc7IKTYskPzMRbJ4Ay8phGntMqe s3ro55GSuyrLLeBjHrtdc6hdm4ohztrpS+hYndzxkY71M1Z0ZEW5Ag/phrg6Ok8Lp/TR ihbqAWAJ+qQZo7SajZLSnGALl3AT/IBDeJBAqYzTERrv9CkSyKzFM32xd3E0Vg2ezS8H R4ZDOxm/FLm9gXU2dpj+mh4dtuJWtwIZgXYTfxK4gJng6C92CPCVyAEGSFPju5eqlboI K41imi5vn94cEeC7ov3hreSAQQsqzhyE7MHoqi3RkuLiWeULP3rfzUC3vC6OO79nFOVu ZacQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580619; x=1724185419; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UIGt432MKZ8L2aq8hRDGJlqVxXSIZygXwHEjBgcA/QQ=; b=BjhRAR/IZs0d6iTq5QHZGn9ksrxrgZ7N6HK4qjeth+QMzuMv/XivsJ7Ot2TFdovudN hPfrcFyZ9V/+Ofr+NIVDrjuMbV5wVscTklq+nXh7HJ7s71yYNc5/K0tBIkxaDlSo5xGZ sZtO18ZnvXPP4tLTtthoUMUSSbqKlBcxkzzY2sTpfov9EDyZfLfFZW9P8DnM3hpkiTtD DAuJ1ZxeEnmtztRaTeNawqTiuolefAavBIOmUGWNJRm4fQXDBaGcSJRUb8HsIf0KQYjS M0qbGCFZOS3v66Mos8UkeQqk7AlYVre6eH5I6nngtLQVqwZQelw30qfHxuh9vrm2vV1w kvZQ== X-Gm-Message-State: AOJu0YyOHHUxGyhToGZVL/nhS/mfMZMTdoLSFH9X3tdln3reAPSVOd8k BUgEfPpfFSu6spJ2snCQcAYKqsE7DdZemDofPag3h7s8zqlz3NbZ6TdHsAifPvI= X-Received: by 2002:adf:a30a:0:b0:367:f104:d9e8 with SMTP id ffacd0b85a97d-371778095c7mr380324f8f.47.1723580618434; Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36e4c93833asm11309309f8f.41.2024.08.13.13.23.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3FA935FA30; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin Subject: [PATCH v2 09/21] scripts/replay-dump.py: Update to current rr record format Date: Tue, 13 Aug 2024 21:23:17 +0100 Message-Id: <20240813202329.1237572-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> 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, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_TEMPERROR=0.01 autolearn=unavailable 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 From: Nicholas Piggin The v12 format support for replay-dump has a few issues still. This fixes async decoding; adds event, shutdown, and end decoding; fixes audio in / out events, fixes checkpoint checking of following async events. Reviewed-by: Alex Bennée Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-2-npiggin@gmail.com> Signed-off-by: Alex Bennée --- scripts/replay-dump.py | 127 ++++++++++++++++++++++++++++++----------- 1 file changed, 93 insertions(+), 34 deletions(-) diff --git a/scripts/replay-dump.py b/scripts/replay-dump.py index d668193e79..419ee3257b 100755 --- a/scripts/replay-dump.py +++ b/scripts/replay-dump.py @@ -20,6 +20,7 @@ import argparse import struct +import os from collections import namedtuple from os import path @@ -134,6 +135,17 @@ def swallow_async_qword(eid, name, dumpfile): print(" %s(%d) @ %d" % (name, eid, step_id)) return True +def swallow_bytes(eid, name, dumpfile, nr): + """Swallow nr bytes of data without looking at it""" + dumpfile.seek(nr, os.SEEK_CUR) + +def decode_exception(eid, name, dumpfile): + print_event(eid, name) + return True + +# v12 does away with the additional event byte and encodes it in the main type +# Between v8 and v9, REPLAY_ASYNC_BH_ONESHOT was added, but we don't decode +# those versions so leave it out. async_decode_table = [ Decoder(0, "REPLAY_ASYNC_EVENT_BH", swallow_async_qword), Decoder(1, "REPLAY_ASYNC_INPUT", decode_unimp), Decoder(2, "REPLAY_ASYNC_INPUT_SYNC", decode_unimp), @@ -142,8 +154,8 @@ def swallow_async_qword(eid, name, dumpfile): Decoder(5, "REPLAY_ASYNC_EVENT_NET", decode_unimp), ] # See replay_read_events/replay_read_event -def decode_async(eid, name, dumpfile): - """Decode an ASYNC event""" +def decode_async_old(eid, name, dumpfile): + """Decode an ASYNC event (pre-v8)""" print_event(eid, name) @@ -157,6 +169,35 @@ def decode_async(eid, name, dumpfile): return call_decode(async_decode_table, async_event_kind, dumpfile) +def decode_async_bh(eid, name, dumpfile): + op_id = read_qword(dumpfile) + print_event(eid, name) + return True + +def decode_async_bh_oneshot(eid, name, dumpfile): + op_id = read_qword(dumpfile) + print_event(eid, name) + return True + +def decode_async_char_read(eid, name, dumpfile): + char_id = read_byte(dumpfile) + size = read_dword(dumpfile) + print_event(eid, name, "device:%x chars:%s" % (char_id, dumpfile.read(size))) + return True + +def decode_async_block(eid, name, dumpfile): + op_id = read_qword(dumpfile) + print_event(eid, name) + return True + +def decode_async_net(eid, name, dumpfile): + net_id = read_byte(dumpfile) + flags = read_dword(dumpfile) + size = read_dword(dumpfile) + swallow_bytes(eid, name, dumpfile, size) + print_event(eid, name, "net:%x flags:%x bytes:%d" % (net_id, flags, size)) + return True + total_insns = 0 def decode_instruction(eid, name, dumpfile): @@ -166,6 +207,10 @@ def decode_instruction(eid, name, dumpfile): print_event(eid, name, "+ %d -> %d" % (ins_diff, total_insns)) return True +def decode_shutdown(eid, name, dumpfile): + print_event(eid, name) + return True + def decode_char_write(eid, name, dumpfile): res = read_dword(dumpfile) offset = read_dword(dumpfile) @@ -177,7 +222,7 @@ def decode_audio_out(eid, name, dumpfile): print_event(eid, name, "%d" % (audio_data)) return True -def decode_checkpoint(eid, name, dumpfile): +def __decode_checkpoint(eid, name, dumpfile, old): """Decode a checkpoint. Checkpoints contain a series of async events with their own specific data. @@ -189,14 +234,20 @@ def decode_checkpoint(eid, name, dumpfile): # if the next event is EVENT_ASYNC there are a bunch of # async events to read, otherwise we are done - if next_event != 3: - print_event(eid, name, "no additional data", event_number) - else: + if (old and next_event == 3) or (not old and next_event >= 3 and next_event <= 9): print_event(eid, name, "more data follows", event_number) + else: + print_event(eid, name, "no additional data", event_number) replay_state.reuse_event(next_event) return True +def decode_checkpoint_old(eid, name, dumpfile): + return __decode_checkpoint(eid, name, dumpfile, False) + +def decode_checkpoint(eid, name, dumpfile): + return __decode_checkpoint(eid, name, dumpfile, True) + def decode_checkpoint_init(eid, name, dumpfile): print_event(eid, name) return True @@ -212,15 +263,23 @@ def decode_clock(eid, name, dumpfile): def decode_random(eid, name, dumpfile): ret = read_dword(dumpfile) - data = read_array(dumpfile) - print_event(eid, "%d bytes of random data" % len(data)) + size = read_dword(dumpfile) + swallow_bytes(eid, name, dumpfile, size) + if (ret): + print_event(eid, name, "%d bytes (getrandom failed)" % (size)) + else: + print_event(eid, name, "%d bytes" % (size)) return True +def decode_end(eid, name, dumpfile): + print_event(eid, name) + return False + # pre-MTTCG merge v5_event_table = [Decoder(0, "EVENT_INSTRUCTION", decode_instruction), Decoder(1, "EVENT_INTERRUPT", decode_interrupt), Decoder(2, "EVENT_EXCEPTION", decode_plain), - Decoder(3, "EVENT_ASYNC", decode_async), + Decoder(3, "EVENT_ASYNC", decode_async_old), Decoder(4, "EVENT_SHUTDOWN", decode_unimp), Decoder(5, "EVENT_CHAR_WRITE", decode_char_write), Decoder(6, "EVENT_CHAR_READ_ALL", decode_unimp), @@ -242,7 +301,7 @@ def decode_random(eid, name, dumpfile): v6_event_table = [Decoder(0, "EVENT_INSTRUCTION", decode_instruction), Decoder(1, "EVENT_INTERRUPT", decode_interrupt), Decoder(2, "EVENT_EXCEPTION", decode_plain), - Decoder(3, "EVENT_ASYNC", decode_async), + Decoder(3, "EVENT_ASYNC", decode_async_old), Decoder(4, "EVENT_SHUTDOWN", decode_unimp), Decoder(5, "EVENT_CHAR_WRITE", decode_char_write), Decoder(6, "EVENT_CHAR_READ_ALL", decode_unimp), @@ -266,7 +325,7 @@ def decode_random(eid, name, dumpfile): v7_event_table = [Decoder(0, "EVENT_INSTRUCTION", decode_instruction), Decoder(1, "EVENT_INTERRUPT", decode_interrupt), Decoder(2, "EVENT_EXCEPTION", decode_unimp), - Decoder(3, "EVENT_ASYNC", decode_async), + Decoder(3, "EVENT_ASYNC", decode_async_old), Decoder(4, "EVENT_SHUTDOWN", decode_unimp), Decoder(5, "EVENT_SHUTDOWN_HOST_ERR", decode_unimp), Decoder(6, "EVENT_SHUTDOWN_HOST_QMP", decode_unimp), @@ -296,32 +355,31 @@ def decode_random(eid, name, dumpfile): v12_event_table = [Decoder(0, "EVENT_INSTRUCTION", decode_instruction), Decoder(1, "EVENT_INTERRUPT", decode_interrupt), - Decoder(2, "EVENT_EXCEPTION", decode_plain), - Decoder(3, "EVENT_ASYNC", decode_async), - Decoder(4, "EVENT_ASYNC", decode_async), - Decoder(5, "EVENT_ASYNC", decode_async), - Decoder(6, "EVENT_ASYNC", decode_async), - Decoder(6, "EVENT_ASYNC", decode_async), - Decoder(8, "EVENT_ASYNC", decode_async), - Decoder(9, "EVENT_ASYNC", decode_async), - Decoder(10, "EVENT_ASYNC", decode_async), - Decoder(11, "EVENT_SHUTDOWN", decode_unimp), - Decoder(12, "EVENT_SHUTDOWN_HOST_ERR", decode_unimp), - Decoder(13, "EVENT_SHUTDOWN_HOST_QMP_QUIT", decode_unimp), - Decoder(14, "EVENT_SHUTDOWN_HOST_QMP_RESET", decode_unimp), - Decoder(14, "EVENT_SHUTDOWN_HOST_SIGNAL", decode_unimp), - Decoder(15, "EVENT_SHUTDOWN_HOST_UI", decode_unimp), - Decoder(16, "EVENT_SHUTDOWN_GUEST_SHUTDOWN", decode_unimp), - Decoder(17, "EVENT_SHUTDOWN_GUEST_RESET", decode_unimp), - Decoder(18, "EVENT_SHUTDOWN_GUEST_PANIC", decode_unimp), - Decoder(19, "EVENT_SHUTDOWN_GUEST_SUBSYSTEM_RESET", decode_unimp), - Decoder(20, "EVENT_SHUTDOWN_GUEST_SNAPSHOT_LOAD", decode_unimp), - Decoder(21, "EVENT_SHUTDOWN___MAX", decode_unimp), + Decoder(2, "EVENT_EXCEPTION", decode_exception), + Decoder(3, "EVENT_ASYNC_BH", decode_async_bh), + Decoder(4, "EVENT_ASYNC_BH_ONESHOT", decode_async_bh_oneshot), + Decoder(5, "EVENT_ASYNC_INPUT", decode_unimp), + Decoder(6, "EVENT_ASYNC_INPUT_SYNC", decode_unimp), + Decoder(7, "EVENT_ASYNC_CHAR_READ", decode_async_char_read), + Decoder(8, "EVENT_ASYNC_BLOCK", decode_async_block), + Decoder(9, "EVENT_ASYNC_NET", decode_async_net), + Decoder(10, "EVENT_SHUTDOWN", decode_shutdown), + Decoder(11, "EVENT_SHUTDOWN_HOST_ERR", decode_shutdown), + Decoder(12, "EVENT_SHUTDOWN_HOST_QMP_QUIT", decode_shutdown), + Decoder(13, "EVENT_SHUTDOWN_HOST_QMP_RESET", decode_shutdown), + Decoder(14, "EVENT_SHUTDOWN_HOST_SIGNAL", decode_shutdown), + Decoder(15, "EVENT_SHUTDOWN_HOST_UI", decode_shutdown), + Decoder(16, "EVENT_SHUTDOWN_GUEST_SHUTDOWN", decode_shutdown), + Decoder(17, "EVENT_SHUTDOWN_GUEST_RESET", decode_shutdown), + Decoder(18, "EVENT_SHUTDOWN_GUEST_PANIC", decode_shutdown), + Decoder(19, "EVENT_SHUTDOWN_SUBSYS_RESET", decode_shutdown), + Decoder(20, "EVENT_SHUTDOWN_SNAPSHOT_LOAD", decode_shutdown), + Decoder(21, "EVENT_SHUTDOWN___MAX", decode_shutdown), Decoder(22, "EVENT_CHAR_WRITE", decode_char_write), Decoder(23, "EVENT_CHAR_READ_ALL", decode_unimp), Decoder(24, "EVENT_CHAR_READ_ALL_ERROR", decode_unimp), - Decoder(25, "EVENT_AUDIO_IN", decode_unimp), - Decoder(26, "EVENT_AUDIO_OUT", decode_audio_out), + Decoder(25, "EVENT_AUDIO_OUT", decode_audio_out), + Decoder(26, "EVENT_AUDIO_IN", decode_unimp), Decoder(27, "EVENT_RANDOM", decode_random), Decoder(28, "EVENT_CLOCK_HOST", decode_clock), Decoder(29, "EVENT_CLOCK_VIRTUAL_RT", decode_clock), @@ -334,6 +392,7 @@ def decode_random(eid, name, dumpfile): Decoder(36, "EVENT_CP_CLOCK_VIRTUAL_RT", decode_checkpoint), Decoder(37, "EVENT_CP_INIT", decode_checkpoint_init), Decoder(38, "EVENT_CP_RESET", decode_checkpoint), + Decoder(39, "EVENT_END", decode_end), ] def parse_arguments(): From patchwork Tue Aug 13 20:23:18 2024 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: 818860 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp431060wrm; Tue, 13 Aug 2024 13:27:48 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUXfdIoezizhjhZKS3n57WBfl2n5xll542gpEC4e5zU7093OqaPyxIyGJUYCrOyof/I996fwLvh9ppOhXWWiu9D X-Google-Smtp-Source: AGHT+IEWX3D6sHLO475+azH51ALSM/q6Ejf9ya4abtX0baQEIcPth8+RMlx0pyNI4mOY5Xu9g+0T X-Received: by 2002:a05:622a:a0b:b0:453:4bb3:7714 with SMTP id d75a77b69052e-4535ba64015mr6509241cf.1.1723580868290; Tue, 13 Aug 2024 13:27:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580868; cv=none; d=google.com; s=arc-20160816; b=lizzdE94AGNalm4zyXeLg0W510bW+FfIvIkRvTxK57xQd9huTS5iGJ3g+CzpAlun3o 4MM8ql8pRYHtCnj+CDKjdJppo7sQAkOiIZSRQMshOfldUPNvppT0drS4G4FPO9PUmuVO q7ZLUKMqN0wlQJeSyXY5+Ec2P/w5zWahDgmmc2WoQGP4KnsyJy+2x5dDEzL3nRndBhaY R7rE4POMuaZcueLhw+z02gv8Lhjn7MBeZuvPs3wU2jMrMZ+FdHxiiIOMf9p4yv/LkaCf OFU6XpzdjrjS20frtBFg7ErqCnWH+me18c5HojdyET9ijLHlNE2euEpcNSJd0dVLVC0R IfjQ== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=pP0Fo+KnSDTrFxCsw1YiRuncAlRjF4c9n6ZeDd0O4VU=; fh=2Uj2tGQCTXopsDH26iMBTwdsgctwEBjqGya0Hcf7oYs=; b=B3hluQLugXkBGaH0cNH+zwdjrHpMAdAxaXyrLCFBUtrJcf7ncrmHDL+uWscFt5KWPk /ivVTfypKFU6LhzLKNmo821uhNLcXBYY8nb03t4HwyOLM9iWgLjY5OEfESB88xTejIKF 4jJ4vkL8IICOwc86Gn1uFQ6CxR9XLDMmOrGDt7f9hiKhyRZgn6sA2il3DeHZxpfNeKx+ im+bLgZ2/7aIZxF0XGP6DQH6Fq/9LYv6o0GAp4JIP83Fzt/xSdTqVGY9Uye0fZMcBAik XLQXa8LddH2TYj2H8i/nX6p0J5bfEyqDFOldWaP6h3v/hjDAQm23EfGb46uqmiiydloo 1mZQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="pXgLsNT/"; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c1ad03fsi91410041cf.86.2024.08.13.13.27.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:27:48 -0700 (PDT) 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="pXgLsNT/"; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy47-0007Ct-I5; Tue, 13 Aug 2024 16:24:23 -0400 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 1sdy3q-0005qt-Px for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:07 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3R-0006DT-Eo for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:03 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3687f8fcab5so3109925f8f.3 for ; Tue, 13 Aug 2024 13:23:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580619; x=1724185419; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pP0Fo+KnSDTrFxCsw1YiRuncAlRjF4c9n6ZeDd0O4VU=; b=pXgLsNT/D4EXpwpfUrA0Uw2zS0di6wz3L2Id80E1ZKHlOD7eTDMO/PrSRGqe8TN7YR fF7qAwJ5MxB9Z7oI+7eh2sNXvdxSInyuUNC6QMfxGdRgDkXlhmSwZCJugeywxPV0vTfH J7/ll70aDm0C8559pnEbe9X8Bty8UYlJR0vx3mllf9Ep/iD8uj6z4jdj/4dS5lEX7WAU yLEgFrUzx8aDtbqHCm+RSQAaZPwoiGDS948e82pj0sb7SYFyZAJirsCph4tfsYAaN802 2jKlTgY/DG/dt0eHTM51VO1gTFF3QRc5UHxfwMEMu4HjcSkESvNw09I71flgqBHrmU2X yCRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580619; x=1724185419; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pP0Fo+KnSDTrFxCsw1YiRuncAlRjF4c9n6ZeDd0O4VU=; b=RSUQjn9ke2VyDTEo1ZX9b7HPz/ugX+hbKJUgQCMMXnIDo9uBZFnalo7jHlEAeB7wHr bK4oVvXhKb19b277v+lsIDoY+6bxmlTGEwomlKa4Fl3hx+RmnfpXqDLctZWJ+MxVI2Yr PiyWwa3vNuTAP7Llr2XFQJs3fu3SjqULikJ28y6JptF+InStK+MtqMIrBSBRVFW/Kqz6 3EklqyQnckrzsHy/fYWZ1CZuqhMq3spZ6jcLPoEINrwYUT2CNxvWpNtXwXN63LX5qO7R KI2hsxJzq7+pWKbo+f8fILAzNH1TH0WJ6mEXaN0IXAFxmkeAOG5Ww+QLa0FKrOCLx7R2 ID1w== X-Gm-Message-State: AOJu0Yy2zrICYvseCob0pbvuwVMneV5R7Y9YZ1g3hDoOwo7MOA5+8nkf Q7svfYxUKp7HMX5TBc6WkwK3w855Tadzar4PLb/mGiWfCECTiCQN18+r4xaztsg= X-Received: by 2002:adf:ce89:0:b0:367:9237:611d with SMTP id ffacd0b85a97d-371778221d4mr570039f8f.60.1723580618620; Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36e4c937b6esm11248588f8f.32.2024.08.13.13.23.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:34 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 57C3D5FA49; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin Subject: [PATCH v2 10/21] scripts/replay-dump.py: rejig decoders in event number order Date: Tue, 13 Aug 2024 21:23:18 +0100 Message-Id: <20240813202329.1237572-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42e.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 From: Nicholas Piggin Sort decoder functions to be ascending in order of event number, same as the decoder tables. Reviewed-by: Alex Bennée Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-3-npiggin@gmail.com> Signed-off-by: Alex Bennée --- scripts/replay-dump.py | 56 +++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/scripts/replay-dump.py b/scripts/replay-dump.py index 419ee3257b..b82659cfb6 100755 --- a/scripts/replay-dump.py +++ b/scripts/replay-dump.py @@ -139,6 +139,19 @@ def swallow_bytes(eid, name, dumpfile, nr): """Swallow nr bytes of data without looking at it""" dumpfile.seek(nr, os.SEEK_CUR) +total_insns = 0 + +def decode_instruction(eid, name, dumpfile): + global total_insns + ins_diff = read_dword(dumpfile) + total_insns += ins_diff + print_event(eid, name, "+ %d -> %d" % (ins_diff, total_insns)) + return True + +def decode_interrupt(eid, name, dumpfile): + print_event(eid, name) + return True + def decode_exception(eid, name, dumpfile): print_event(eid, name) return True @@ -198,15 +211,6 @@ def decode_async_net(eid, name, dumpfile): print_event(eid, name, "net:%x flags:%x bytes:%d" % (net_id, flags, size)) return True -total_insns = 0 - -def decode_instruction(eid, name, dumpfile): - global total_insns - ins_diff = read_dword(dumpfile) - total_insns += ins_diff - print_event(eid, name, "+ %d -> %d" % (ins_diff, total_insns)) - return True - def decode_shutdown(eid, name, dumpfile): print_event(eid, name) return True @@ -222,6 +226,21 @@ def decode_audio_out(eid, name, dumpfile): print_event(eid, name, "%d" % (audio_data)) return True +def decode_random(eid, name, dumpfile): + ret = read_dword(dumpfile) + size = read_dword(dumpfile) + swallow_bytes(eid, name, dumpfile, size) + if (ret): + print_event(eid, name, "%d bytes (getrandom failed)" % (size)) + else: + print_event(eid, name, "%d bytes" % (size)) + return True + +def decode_clock(eid, name, dumpfile): + clock_data = read_qword(dumpfile) + print_event(eid, name, "0x%x" % (clock_data)) + return True + def __decode_checkpoint(eid, name, dumpfile, old): """Decode a checkpoint. @@ -252,25 +271,6 @@ def decode_checkpoint_init(eid, name, dumpfile): print_event(eid, name) return True -def decode_interrupt(eid, name, dumpfile): - print_event(eid, name) - return True - -def decode_clock(eid, name, dumpfile): - clock_data = read_qword(dumpfile) - print_event(eid, name, "0x%x" % (clock_data)) - return True - -def decode_random(eid, name, dumpfile): - ret = read_dword(dumpfile) - size = read_dword(dumpfile) - swallow_bytes(eid, name, dumpfile, size) - if (ret): - print_event(eid, name, "%d bytes (getrandom failed)" % (size)) - else: - print_event(eid, name, "%d bytes" % (size)) - return True - def decode_end(eid, name, dumpfile): print_event(eid, name) return False From patchwork Tue Aug 13 20:23:19 2024 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: 818854 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430601wrm; Tue, 13 Aug 2024 13:25:56 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVdPXHkl9WOOTeuNGF469d3pAXzNOe0RAtsAuHX+9+0x70x8D4OWwHxYkfmyXPbpDh3XhU/3nncuW/7s+yD4cDE X-Google-Smtp-Source: AGHT+IHLRw3vlQooNCNaeh7TgqIv89YD4qHhlT++NVbV5OG2lLHlssEvv1KkIRI79CZeVUhVJxJI X-Received: by 2002:a05:620a:2704:b0:79f:176f:747a with SMTP id af79cd13be357-7a4ee3e674dmr96085385a.66.1723580756722; Tue, 13 Aug 2024 13:25:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580756; cv=none; d=google.com; s=arc-20160816; b=k6x30fTTdkUegRfBy70d99VViX/g0Sm9VyFcc27wt4OqBE4idSlvWd8XeU4XPSl6Sg OWZDJDAc4yGGKjIawmFA/uIE54YFbRAlGszRrz7LG42OgMrUbRf4gWIrlIWocX70sdv+ DU/DKJ9WlZFqswL7wfHyv5a0ZHENzwjaLTm14OLR7fdwdIXXv1H+de0peQNuwBZay5fP 769ujySRc7kjrLSwNnCyvQHoGBerLZRhumq2msdpoBjkUVsDKXh5tNyvTfjZjfGpERLX SXRTUtbdAhRZRqsdryUiotXqHcSeNSuKLciTcEu6av6pdnGQy8LlJBcbLjtqC2gNRYgm 1e8w== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=9jT/o7Fq8lZPjdt1o7XFYsUh6vWp3xGW473B+uKXLYg=; fh=CA3M1ELZq0B3Vsyopbo2wbvGRMyzgjLkXtCvvSx9Tl4=; b=gMd3mNYZAWq3pPDqtZd14G+CfFOhIdTzWKGhLTaJAxy1HCKA7fEYc8H6UmjbRUGZyT zpbP2HuFYUbGJrC3GCfvXm6bg45kbYRsCI0X5A8GP848qzJIYDP47KtWbxJHYTs1yMqh kyo64OEkxocnIlhsxJqFhgyiEupnQUEtxWEXamU5QgIXmHPoqHCcJgBXe35khNHVNeL5 K8/eXmkWy/E8Uqy5jHP4UD+UgAIcLsAQ/5AmBajAv2MIV3C0Q79lc2vBx+Jef1eMc1it J1T99qAc8eDfvvX9DxBrfQvHl+ctfg4w+GS4gM5E1+ujSjv6CjdZ59hIVxptuuTRTAJj ei3A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ItYhHMNg; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7a4c7d71ad7si968909085a.214.2024.08.13.13.25.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:25:56 -0700 (PDT) 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=ItYhHMNg; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy44-0006xs-Sr; Tue, 13 Aug 2024 16:24:20 -0400 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 1sdy3u-0006AI-NJ for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:10 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3T-0006Ho-Lo for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:09 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-429d2d7be1eso1435125e9.1 for ; Tue, 13 Aug 2024 13:23:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580622; x=1724185422; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9jT/o7Fq8lZPjdt1o7XFYsUh6vWp3xGW473B+uKXLYg=; b=ItYhHMNgyc4ZPBZx4a1aL5GvVcXkh8HBoFJ9leBFoTymoK+hmYEVAlvrToaTkCuxOm e2NPBW62GK5MdazcahKkEyQ1zpCl+p6ZvfJR2t91JJuq8uGwGiC7Oke4XNplyCGVt6r+ EbnBggsbNgN+HvGsSX5NO4Xrdbuh479zqH1xVMBwaFIIBBqmf9AGvEU1BBN6HpGu6tAu 3hcY/+J2AeMowABxlzYcN+encjfbQ3b+PIf0+KPrmba2Tr/dwIKiKmk16djYP6DmKwdM vvnvAraZmowZUFBesS8sXC41+z26i/n9qy945Cix018nC8J1kkjDEZf+Nl7uBbFKgBB7 +ozQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580622; x=1724185422; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9jT/o7Fq8lZPjdt1o7XFYsUh6vWp3xGW473B+uKXLYg=; b=SNnU8AzileNHgSA+QiAvARbgMEaoL+Z1DMvkyskaq0pUmlwxbdbTFOljq0zbLE28GD 2NeoXQ+pjDBkl0vh+6kyBIMo23HGdykD9sWPsA1xw3AZkc/tFh6s9qtdp3FfS6t4EjW7 hhZOMMEPqxguK8NdudXzJN9b5t+UWIyxh1mZrDhczjWaDnfKgthEqAcqM4F/EgLnhh8I 8Cum5OHwh8V7Dr5axDIQFXo5kVkOqDxA/0k9MiOfx2qAk0ghp3CBopW+WKCIAnlwn2LS GRUh4DX4a6Gf4sRRvRaN3+DzB8jMZXHrFStgfv9mxKJzFhOquYWKahCGFngdoySo1fHz 7yOg== X-Gm-Message-State: AOJu0Yya39y19iDdKDzmIpvzjhLXATp85yG7Q39TSSosJ4mbL3x00rxJ G1hFnlrbZurwKzkwMMtTBp6GibDl60/uOz7pP7zfR0+lof7u87aI/bU8BWzjQ3E= X-Received: by 2002:a05:600c:4689:b0:426:5b19:d2b3 with SMTP id 5b1f17b1804b1-429d62f6d77mr33720805e9.14.1723580621586; Tue, 13 Aug 2024 13:23:41 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429c750ef58sm151364125e9.16.2024.08.13.13.23.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 707085FCE1; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin , Pavel Dovgalyuk Subject: [PATCH v2 11/21] tests/avocado: excercise scripts/replay-dump.py in replay tests Date: Tue, 13 Aug 2024 21:23:19 +0100 Message-Id: <20240813202329.1237572-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.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=unavailable 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 From: Nicholas Piggin This runs replay-dump.py after recording a trace, and fails the test if the script fails. replay-dump.py is modified to exit with non-zero if an error is encountered while parsing, to support this. Reviewed-by: Alex Bennée Reviewed-by: Pavel Dovgalyuk Signed-off-by: Nicholas Piggin gitlab with this change v5: Update timeout to 180s because x86 was just exceeding 120s in Message-Id: <20240813050638.446172-4-npiggin@gmail.com> Signed-off-by: Alex Bennée --- scripts/replay-dump.py | 6 ++++-- tests/avocado/replay_kernel.py | 13 ++++++++++++- tests/avocado/replay_linux.py | 10 ++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/scripts/replay-dump.py b/scripts/replay-dump.py index b82659cfb6..4ce7ff51cc 100755 --- a/scripts/replay-dump.py +++ b/scripts/replay-dump.py @@ -21,6 +21,7 @@ import argparse import struct import os +import sys from collections import namedtuple from os import path @@ -100,7 +101,7 @@ def call_decode(table, index, dumpfile): print("Could not decode index: %d" % (index)) print("Entry is: %s" % (decoder)) print("Decode Table is:\n%s" % (table)) - return False + raise(Exception("unknown event")) else: return decoder.fn(decoder.eid, decoder.name, dumpfile) @@ -121,7 +122,7 @@ def print_event(eid, name, string=None, event_count=None): def decode_unimp(eid, name, _unused_dumpfile): "Unimplemented decoder, will trigger exit" print("%s not handled - will now stop" % (name)) - return False + raise(Exception("unhandled event")) def decode_plain(eid, name, _unused_dumpfile): "Plain events without additional data" @@ -434,6 +435,7 @@ def decode_file(filename): dumpfile) except Exception as inst: print(f"error {inst}") + sys.exit(1) finally: print(f"Reached {dumpfile.tell()} of {dumpsize} bytes") diff --git a/tests/avocado/replay_kernel.py b/tests/avocado/replay_kernel.py index 232d287c27..a668af9d36 100644 --- a/tests/avocado/replay_kernel.py +++ b/tests/avocado/replay_kernel.py @@ -13,6 +13,7 @@ import shutil import logging import time +import subprocess from avocado import skip from avocado import skipUnless @@ -31,7 +32,7 @@ class ReplayKernelBase(LinuxKernelTest): terminates. """ - timeout = 120 + timeout = 180 KERNEL_COMMON_COMMAND_LINE = 'printk.time=1 panic=-1 ' def run_vm(self, kernel_path, kernel_command_line, console_pattern, @@ -63,6 +64,8 @@ def run_vm(self, kernel_path, kernel_command_line, console_pattern, vm.shutdown() logger.info('finished the recording with log size %s bytes' % os.path.getsize(replay_path)) + self.run_replay_dump(replay_path) + logger.info('successfully tested replay-dump.py') else: vm.wait() logger.info('successfully finished the replay') @@ -70,6 +73,14 @@ def run_vm(self, kernel_path, kernel_command_line, console_pattern, logger.info('elapsed time %.2f sec' % elapsed) return elapsed + def run_replay_dump(self, replay_path): + try: + subprocess.check_call(["./scripts/replay-dump.py", + "-f", replay_path], + stdout=subprocess.DEVNULL) + except subprocess.CalledProcessError: + self.fail('replay-dump.py failed') + def run_rr(self, kernel_path, kernel_command_line, console_pattern, shift=7, args=None): replay_path = os.path.join(self.workdir, 'replay.bin') diff --git a/tests/avocado/replay_linux.py b/tests/avocado/replay_linux.py index b4673261ce..5916922435 100644 --- a/tests/avocado/replay_linux.py +++ b/tests/avocado/replay_linux.py @@ -94,6 +94,8 @@ def launch_and_wait(self, record, args, shift): vm.shutdown() logger.info('finished the recording with log size %s bytes' % os.path.getsize(replay_path)) + self.run_replay_dump(replay_path) + logger.info('successfully tested replay-dump.py') else: vm.event_wait('SHUTDOWN', self.timeout) vm.wait() @@ -108,6 +110,14 @@ def run_rr(self, args=None, shift=7): logger = logging.getLogger('replay') logger.info('replay overhead {:.2%}'.format(t2 / t1 - 1)) + def run_replay_dump(self, replay_path): + try: + subprocess.check_call(["./scripts/replay-dump.py", + "-f", replay_path], + stdout=subprocess.DEVNULL) + except subprocess.CalledProcessError: + self.fail('replay-dump.py failed') + @skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout') class ReplayLinuxX8664(ReplayLinux): """ From patchwork Tue Aug 13 20:23:20 2024 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: 818848 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430398wrm; Tue, 13 Aug 2024 13:25:16 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWrEX1X67opLjKXplzJNR56zAuPpO0zUvbEVZC5TGjBTkJ+twJonjt5FJa4xbTk7A4y5LCSWwDrSL3c6Hg/EEJ8 X-Google-Smtp-Source: AGHT+IEGqDyAPC0MSi3ya8YxqFuFXPTbEJTkmnYDpDIOud8dbdTou+UUyads2NWQDdwC0PY/BGL0 X-Received: by 2002:a05:620a:17ab:b0:79f:aa9:b3a0 with SMTP id af79cd13be357-7a4e37b26c6mr775042985a.13.1723580716200; Tue, 13 Aug 2024 13:25:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580716; cv=none; d=google.com; s=arc-20160816; b=kDMt+dJeKWKEFRFFu5zrW81aCeZT8v6YLmouAC5zUYCt7UNAyJmlYJPmahTKNw+0Hr ZKbnjVBuWAiUsqUdwZIfCoXEGvph4/matDRiFZQ2MMHNSIKBB4cV6yfLbt/ZGWnnuQW8 sxMPQHeC14fPhlgov5hHAQzUGIKJGJUnNUpssruqqf+7JqEyR5xjzey+Ttu/83mUW7wj 7s4LvwwTmkIrahuIer9jL/LHrKTO9Fg74nFjrUSGC31K7KaiFgaMxBUb1XpxvKtu2TkH NDY11vDig6d9hYwJKQQdujCHF1eVps1YPFnjlXBcgBVDOiIS+4yOc3K+6cJqzq1e+aec x90Q== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gKnLVSpjxmewuCirNFwcFUTWuBBv0LU3PKhxtt5azvQ=; fh=CA3M1ELZq0B3Vsyopbo2wbvGRMyzgjLkXtCvvSx9Tl4=; b=LWFEXN1TAGMqKeXZDyVeqgyaN2SzCgMH8JorIrCf8eMfSvSLXZ2M2KdHaV4fwD2p50 NZ7x2XUM55mZObhPnLFc+AYSdiYk22L1ImV0bD0GhPvgh4Q5c836A/mnNRhoTMA44dh8 j4VQLDVyxuZouGn1ppqBQOoDPTwSa1tbr9icenI2TpeyrxcnGuqXD/kb2IczMbcXWH5a GkRCxVO0Ber01Q+Cq6lO+g0hVBsJRw5I6b5g9I9o/No8R3CHhmc4hnTDZFKBufH0xPZJ C86uzlwSdSPoH0Xvrcd6fwNtNhJJ0IOHViV3ISDVNMvAYw6+I6x2jFDLM5T3S+dunLyZ dU5A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AUVma06k; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c266b1asi93930001cf.249.2024.08.13.13.25.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:25:16 -0700 (PDT) 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=AUVma06k; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy43-0006pa-9v; Tue, 13 Aug 2024 16:24:20 -0400 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 1sdy3r-0005vo-EX for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:08 -0400 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3R-0006EM-Tf for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:04 -0400 Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-2eeb1ba0481so79078591fa.2 for ; Tue, 13 Aug 2024 13:23:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580620; x=1724185420; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gKnLVSpjxmewuCirNFwcFUTWuBBv0LU3PKhxtt5azvQ=; b=AUVma06k0D8LMAdpY2jTxZD4+BGXaRJgh52JGrvItXso7Lp47bgkyyT7EYRSGDy7+h hOfz/j//uHvnYMqrYnUy4GYCIe75u0vfXYmlSKlH/CXhBJTGr0oBUN0J/r/trrg5oTvL StuM26nUzdGUNELGrVR4va3pzAJZcx4hIpPbH9vj4QPGmel/ksuzzH/eX6KMi/Jio8mB 8jNxuswa6YlDQ2UQkeqcS/2aY+N2Aq8CI9zpcrXLDjwsEl3lwB0YbGeg7r+UpnMI166b rzkwI86Wg7MopZZo1+2OVQK1FOZfuoDVdjJdt+1xlCtQNJ6NSWPFMLWdM7beOxxumh3/ H9pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580620; x=1724185420; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gKnLVSpjxmewuCirNFwcFUTWuBBv0LU3PKhxtt5azvQ=; b=buvlBkOVThyCywVx4838wxU1QGMHfCsiaGafa2ei8NyiDXD/0e8OeHWyrEdwi40XZ0 ZWv9b8F5RxKcJEaXDq8GzKf8VvNm+qF48aQKUHVRt8iHdKQ4eWCYWpG7dGVXGtdYRD0C kPEOun6c33ryXyUv0yytNG2SRcPmrJEHcRNe4LzhNOOJd1M1QZpHm6v6I8utpUHVYBnM NukjU+zONDtQbOOMyNQuGpbbLkpe7QGMwDMzsBUGiEhmPvqb2jzXpVglJt3Rb5KA/qzP m/3s+uk5OeMCxRmjhkAPPX7CBn/cFgLlIpu4/KGLd1YYe4qESmRZC+hErkWY+wHeatDn S6NA== X-Gm-Message-State: AOJu0YxoP2n2R7dPymSNjwx7x8CoXYqxUTk9WLNbIv7YIXccWObNbPMx v/zAWaFi8eILkU8lVjhed5nDnL9QHsG59uA0lBxusZMDK8LIomIHdIzasZkw05w= X-Received: by 2002:a05:651c:19ac:b0:2f0:25dc:1894 with SMTP id 38308e7fff4ca-2f3aa1d9de7mr3336041fa.2.1723580619507; Tue, 13 Aug 2024 13:23:39 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429deb4a4aesm893215e9.14.2024.08.13.13.23.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 8B99B5FCF1; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin , Pavel Dovgalyuk Subject: [PATCH v2 12/21] replay: allow runstate shutdown->running when replaying trace Date: Tue, 13 Aug 2024 21:23:20 +0100 Message-Id: <20240813202329.1237572-13-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::22c; envelope-from=alex.bennee@linaro.org; helo=mail-lj1-x22c.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 From: Nicholas Piggin When replaying a trace, it is possible to go from shutdown to running with a reverse-debugging step. This can be useful if the problem being debugged triggers a reset or shutdown. This can be tested by making a recording of a machine that shuts down, then using -action shutdown=pause when replaying it. Continuing to the end of the trace then reverse-stepping in gdb crashes due to invalid runstate transition. Just permitting the transition seems to be all that's necessary for reverse-debugging to work well in such a state. Reviewed-by: Alex Bennée Reviewed-by: Pavel Dovgalyuk Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-5-npiggin@gmail.com> Signed-off-by: Alex Bennée --- include/sysemu/runstate.h | 1 + replay/replay.c | 2 ++ system/runstate.c | 31 ++++++++++++++++++++++++++++--- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/include/sysemu/runstate.h b/include/sysemu/runstate.h index e210a37abf..11c7ff3ffb 100644 --- a/include/sysemu/runstate.h +++ b/include/sysemu/runstate.h @@ -9,6 +9,7 @@ void runstate_set(RunState new_state); RunState runstate_get(void); bool runstate_is_running(void); bool runstate_needs_reset(void); +void runstate_replay_enable(void); typedef void VMChangeStateHandler(void *opaque, bool running, RunState state); diff --git a/replay/replay.c b/replay/replay.c index a2c576c16e..b8564a4813 100644 --- a/replay/replay.c +++ b/replay/replay.c @@ -385,6 +385,8 @@ static void replay_enable(const char *fname, int mode) replay_fetch_data_kind(); } + runstate_replay_enable(); + replay_init_events(); } diff --git a/system/runstate.c b/system/runstate.c index c833316f6d..a0e2a5fd22 100644 --- a/system/runstate.c +++ b/system/runstate.c @@ -181,6 +181,12 @@ static const RunStateTransition runstate_transitions_def[] = { { RUN_STATE__MAX, RUN_STATE__MAX }, }; +static const RunStateTransition replay_play_runstate_transitions_def[] = { + { RUN_STATE_SHUTDOWN, RUN_STATE_RUNNING}, + + { RUN_STATE__MAX, RUN_STATE__MAX }, +}; + static bool runstate_valid_transitions[RUN_STATE__MAX][RUN_STATE__MAX]; bool runstate_check(RunState state) @@ -188,14 +194,33 @@ bool runstate_check(RunState state) return current_run_state == state; } -static void runstate_init(void) +static void transitions_set_valid(const RunStateTransition *rst) { const RunStateTransition *p; - memset(&runstate_valid_transitions, 0, sizeof(runstate_valid_transitions)); - for (p = &runstate_transitions_def[0]; p->from != RUN_STATE__MAX; p++) { + for (p = rst; p->from != RUN_STATE__MAX; p++) { runstate_valid_transitions[p->from][p->to] = true; } +} + +void runstate_replay_enable(void) +{ + assert(replay_mode != REPLAY_MODE_NONE); + + if (replay_mode == REPLAY_MODE_PLAY) { + /* + * When reverse-debugging, it is possible to move state from + * shutdown to running. + */ + transitions_set_valid(&replay_play_runstate_transitions_def[0]); + } +} + +static void runstate_init(void) +{ + memset(&runstate_valid_transitions, 0, sizeof(runstate_valid_transitions)); + + transitions_set_valid(&runstate_transitions_def[0]); qemu_mutex_init(&vmstop_lock); } From patchwork Tue Aug 13 20:23:21 2024 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: 818858 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430745wrm; Tue, 13 Aug 2024 13:26:31 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUGBsc5qbvQCbuNTIG+sEzymn+U5ddGM1WBX2Bt/VZfNi7xqIahtx+O4bqg04hKzit0zQaIaA==@linaro.org X-Google-Smtp-Source: AGHT+IFLTqO5ysGOgvj5wSjfi2WOHnHG8SVXOgEbZ8B+M2ZqbH4w2qmmdrMkDagrx59qVtIbg8Z1 X-Received: by 2002:a05:6358:2c93:b0:1a8:b83a:8e26 with SMTP id e5c5f4694b2df-1b1aa9a808cmr83641555d.0.1723580791061; Tue, 13 Aug 2024 13:26:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580791; cv=none; d=google.com; s=arc-20160816; b=ySYTbEns8RYtEQ+tUBWMTZKPgHy/ycCZH3ek2Qjg4LsPTEclNVYoJqwhdiYFzRPL0Y yru8ezicR5tOV/QhRtR23M98O9d0jKxX5flbyT1vHA0a9fbIAouRgR83IIwKBLXkL4VO 0JE/MwVJrSHnR5+egW+nNCX+Is8twD/DRY0IinfHzSaxxwz8T/dSV44aNwX/IUaSRf9a 3DKmXFwualgv2B6rUXp/R5dTmqtoSuOfuRoMVcUwqpwEykYq9oAb4FpigS17lhW7cg5u gdK0naMTOd7Q+n8FlGccHiuTtu7Jk9jhkBGJDjB1zAkStpmS1Zq5tkmh48c5z6LLiUGW A0yw== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LWXPvrAXN+b9vbW8f3D9TjDx5XdO3wBrf9b11Ogrln0=; fh=2Uj2tGQCTXopsDH26iMBTwdsgctwEBjqGya0Hcf7oYs=; b=XyQqEiVfADBG9zfDVqf9aPZC8BjvinzGcL2FWM1ltc8q19NGI/n1BdooQyMO6dIVwS dYCAQbRd2Cq2YMRx7DD0L7E3+16VI2DXNb1bOt+QKHDgfpc92ZqP/vo88UIvT6LOhAdn FF9b0mnDXh30T0ZZjMuCqD3L2eXEMi269g+PHXT55VMcxUkNL/QW6fTL6JaCOLS4+H+J ALtP9Leo5pS62nfZMIPXOFTeXeVmikm9P2XLGZ7e5T7GYXRUOvXRA5dVKkFLDZzZHs61 aQ/JNgNFiKL1HtwEV5tmDlM/lk7N9ajV87nnYwFB7Dm8CehxBmuQ61/HRdGhYLxonVkT 1KHA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ejEKkYMB; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7a4c7e05690si984655385a.387.2024.08.13.13.26.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:26:31 -0700 (PDT) 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=ejEKkYMB; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy40-0006Z7-Or; Tue, 13 Aug 2024 16:24:16 -0400 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 1sdy3s-00060g-Mg for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:09 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3S-0006Gl-GW for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:06 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-428ec6c190eso45335995e9.1 for ; Tue, 13 Aug 2024 13:23:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580621; x=1724185421; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LWXPvrAXN+b9vbW8f3D9TjDx5XdO3wBrf9b11Ogrln0=; b=ejEKkYMBIvRcmoBbwB/OoxI1xhEXX28w6sTylrPxb23f0mPhocMewCvnKb+c0bpeqF bSEeoPmmV/zeg/6cacsnFi1uyfxmUrhuM9olxFcRSpmH6FfFT79EukzNt4X1qg3vRUir juNmwntJOVkXMSy4kC/MH0q8HOa90YqeS2bhkhFMr/dOc1lQcaTdK7nOqgy9mgxM9YIE ++oa82OjY344zqtGov3nGOt2eouGucblHCiPkXz5Z//+IcBEKed0EdVAHsh58TXrLurj LJvd9ITQt3hzyO0kDOQNYy4J9qprGBdeiRXIj3TLGe01N1u4w/i+DdzLkj1xXaStPyud W0yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580621; x=1724185421; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LWXPvrAXN+b9vbW8f3D9TjDx5XdO3wBrf9b11Ogrln0=; b=m2IoNroGqYEAgcgKm+w+QjBxAY/2XJMRl5tEx4aHbj3SCm58Tie4j8Q4GUKbYBZgzq 15khZBfGkyw3Vic3ltTXwbU9tKB8KJOkoqAfU90y5ENSNh3Fu+AlGaWs7c3OXY4N3y1w toHG6o1dbSopMbrkvb3xHmTk8GQhgghJd+r0LubduKIWkKdBR4+bLl3yjX3wNc5pImi+ NYZv3tM/+VMlQzw0dgbJbcvox4EKIPnKun0D37tdma1mKhTe/yH8/UCayt7f6thxzDZp 7U9aUHb0+1yrW88IVEo888SaDdq3JHZ6B0Nl0n1BMfccQssMmjGOCg3sh85WCKx/rl2i RTqg== X-Gm-Message-State: AOJu0YwULQ+3aKjSBVFlv1oI9smOkVDoUEZJbCRV2PFBdZx1MDd2vuzA n7kl+drI/jfWNM2xNzziwEwxS+WMt89U/l7+FpUQzPcSZr/6/F/RRcUv4VlB22s= X-Received: by 2002:a5d:4001:0:b0:371:72a8:15e with SMTP id ffacd0b85a97d-37177777850mr446555f8f.16.1723580620625; Tue, 13 Aug 2024 13:23:40 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36e4cfeef61sm11263938f8f.57.2024.08.13.13.23.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A48BE5FD6E; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin Subject: [PATCH v2 13/21] Revert "replay: stop us hanging in rr_wait_io_event" Date: Tue, 13 Aug 2024 21:23:21 +0100 Message-Id: <20240813202329.1237572-14-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32f.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=unavailable 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 From: Nicholas Piggin This reverts commit 1f881ea4a444ef36a8b6907b0b82be4b3af253a2. That commit causes reverse_debugging.py test failures, and does not seem to solve the root cause of the problem x86-64 still hangs in record/replay tests. The problem with short-cutting the iowait that was taken during record phase is that related events will not get consumed at the same points (e.g., reading the clock). A hang with zero icount always seems to be a symptom of an earlier problem that has caused the recording to become out of synch with the execution and consumption of events by replay. Acked-by: Alex Bennée Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-6-npiggin@gmail.com> Signed-off-by: Alex Bennée --- include/sysemu/replay.h | 5 ----- accel/tcg/tcg-accel-ops-rr.c | 2 +- replay/replay.c | 21 --------------------- 3 files changed, 1 insertion(+), 27 deletions(-) diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h index f229b2109c..8102fa54f0 100644 --- a/include/sysemu/replay.h +++ b/include/sysemu/replay.h @@ -73,11 +73,6 @@ int replay_get_instructions(void); /*! Updates instructions counter in replay mode. */ void replay_account_executed_instructions(void); -/** - * replay_can_wait: check if we should pause for wait-io - */ -bool replay_can_wait(void); - /* Processing clocks and other time sources */ /*! Save the specified clock */ diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index 48c38714bd..c59c77da4b 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -109,7 +109,7 @@ static void rr_wait_io_event(void) { CPUState *cpu; - while (all_cpu_threads_idle() && replay_can_wait()) { + while (all_cpu_threads_idle()) { rr_stop_kick_timer(); qemu_cond_wait_bql(first_cpu->halt_cond); } diff --git a/replay/replay.c b/replay/replay.c index b8564a4813..895fa6b67a 100644 --- a/replay/replay.c +++ b/replay/replay.c @@ -451,27 +451,6 @@ void replay_start(void) replay_enable_events(); } -/* - * For none/record the answer is yes. - */ -bool replay_can_wait(void) -{ - if (replay_mode == REPLAY_MODE_PLAY) { - /* - * For playback we shouldn't ever be at a point we wait. If - * the instruction count has reached zero and we have an - * unconsumed event we should go around again and consume it. - */ - if (replay_state.instruction_count == 0 && replay_state.has_unread_data) { - return false; - } else { - replay_sync_error("Playback shouldn't have to iowait"); - } - } - return true; -} - - void replay_finish(void) { if (replay_mode == REPLAY_MODE_NONE) { From patchwork Tue Aug 13 20:23:22 2024 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: 818846 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430237wrm; Tue, 13 Aug 2024 13:24:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUsTHJoqCfCo0xlg4RH+Vp96sTfl9zOO2fUUm/fn1SrL0EKsj6TlSgCVob6Qcum0hFPHJws5p4tUag8bXCT/Ps7 X-Google-Smtp-Source: AGHT+IHLHohUFgHTMXYcQHg6SQjySB7tW9pZm5McXKS6RAnDfzkZp2SEKYtZOo8EV7try+1GBVhY X-Received: by 2002:a05:620a:3723:b0:79c:b8c:8e1f with SMTP id af79cd13be357-7a4ee3abb25mr99586485a.48.1723580682911; Tue, 13 Aug 2024 13:24:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580682; cv=none; d=google.com; s=arc-20160816; b=k6RMZxWV3WzI2a5h2qLQsY+H3bAMXPxjr1K1Q23kjkE+uSuZY2r/P1hwQmVNMW2pKH pi8mJCM4dMMceO7dvb6dDMFHWR4d0e3YmDgPZyZGP4P9yOj+PTVJmpnAUbUFU7RKRKSx GGpY2HjEvm3kKDowKRp0yPbv4P8Fo/gSiGWrU2t2J5mF6iBSWnlj4SnmA+dSG1yckEJw k4aaoqJuJ2j14BXZMXVISuagEOeZjXvclWB6vq/HgZ2M9pT7gY2u1Wab4RfhPJUgOToU 3ivrBSVTfdEgzOMClvj8e8Xmwg09o9vGxxNwr2leYLw2Qzgfc9buY687FLbftvHG25Mq xhgQ== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=adw5jgjlcSpxCkpQ0j60omHvD1nnW2G6iyfdsNi8jbw=; fh=2Uj2tGQCTXopsDH26iMBTwdsgctwEBjqGya0Hcf7oYs=; b=CSlz2CFKmyT14NTAtFxyV4njtsVagNbaHsISJRDuWotOqfJ3cEvZ8DtxdnlxrNn39V r10/ho06dy1JuxqS1A6NzF4utCa7g7ZyL/C0hAmVwdqdQKNeTYBMK6hdlvKuxggSYURv jUfeF/RLsVdPsapCtICHR65UMmjWpTJ05iq3ROBgDzGUEEKscDnD1zOTRrmOlWAJfnBd P5v0y6szs+VjMJkf4AF8Rx9v1POOyRd2w+CXPJ/HnHSW7jlLf5CYdAh5HgD7y2nG0mMe URpB7hZO4gHcOuAiv/Mt55z8h3FaqVNvWK31EC63j5X/x8OAgKtY8Xu6+WOItE73gARe xcwQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="MYkkzsH/"; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7a4c7df5b3bsi905211985a.255.2024.08.13.13.24.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:24:42 -0700 (PDT) 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="MYkkzsH/"; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy49-0007PM-VN; Tue, 13 Aug 2024 16:24:25 -0400 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 1sdy3y-0006SU-Qx for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:16 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3W-0006JO-KE for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:13 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-428e3129851so43533685e9.3 for ; Tue, 13 Aug 2024 13:23:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580624; x=1724185424; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=adw5jgjlcSpxCkpQ0j60omHvD1nnW2G6iyfdsNi8jbw=; b=MYkkzsH/E/Qb2UFxTysypbI9nFuNmx9kCmmoleBeS09BLk4xtYylR7RdOcxO6jhZrD SuKU6ueXJMk1se/OHjjZMQJniwHVAedEYJwsiJKxMq2fAloJzvr8Br4ex9PzH0ZD6hTQ I2DRfi1bI6MbIDJF7TrsAioJVGSqNr9W5JlLFuOSC3bujZZSvaOkB0t0R23q7c5kzUrg cDiTtn6+0I2J4J4ZsmO9qtb+Dn1KHCUrR/YgBGXIbqquyeWeAYCRPrwDckPzrHLm8eTZ Y4unkdv17TC05RcFJzoOht2V2LZWJD4EjU+z5vvPMf02sitHtr2zGqsIB1h8vkKRb/VL p9jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580624; x=1724185424; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=adw5jgjlcSpxCkpQ0j60omHvD1nnW2G6iyfdsNi8jbw=; b=RzWTBCXxsO6KATMCqRIrXXmRlkdUld+yBHE5bf48TR2R8dIkMmEV787p3mJJpM0ahB Ji9tE3826+h7uhNeIVAO1UwjssmbF3YgPxJYeMywJr0rdlvVUPQVxiU65ED+5eOvhwaJ km9KmAbHL+2EA6p1+Fq0duX5vrkiYK5RPW6DgFESEHqAog2GBuCxohqul/90BGK1gzcD ARendNhQgowRAvi58It58vcm4TLSSQWL3fuzVw23v64OqjNh9yquSN03voULk71HRoVL X+iJNC28iX3VsGSjFp0cUlYigJaA/Ten7p0zpmJfMjITWNTFTSkK6clbEKAj+CozkOPt GlFA== X-Gm-Message-State: AOJu0YxbtO89/pNcu7Er0MM5qheKMcYajmzxYfOh+RyMTaP0Fs5DXIM9 bB101cbFDtl6zND/0BGD74bpcfkcGW8IiXg0TY9tsWPZ7GG5+ywZaDdRYmQ8pdM= X-Received: by 2002:a05:600c:1f13:b0:427:fa39:b0db with SMTP id 5b1f17b1804b1-429dd264962mr4344725e9.27.1723580624219; Tue, 13 Aug 2024 13:23:44 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429c750e57fsm151122575e9.12.2024.08.13.13.23.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id BEC405FE27; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin Subject: [PATCH v2 14/21] tests/avocado: replay_kernel.py add x86-64 q35 machine test Date: Tue, 13 Aug 2024 21:23:22 +0100 Message-Id: <20240813202329.1237572-15-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.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 From: Nicholas Piggin The x86-64 pc machine is flaky with record/replay, but q35 is more stable. Add a q35 test to replay_kernel.py. Reviewed-by: Alex Bennée Tested-by: Alex Bennée Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-7-npiggin@gmail.com> Signed-off-by: Alex Bennée --- tests/avocado/replay_kernel.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/avocado/replay_kernel.py b/tests/avocado/replay_kernel.py index a668af9d36..e22c200a36 100644 --- a/tests/avocado/replay_kernel.py +++ b/tests/avocado/replay_kernel.py @@ -110,7 +110,7 @@ def test_i386_pc(self): self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5) # See https://gitlab.com/qemu-project/qemu/-/issues/2094 - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test sometimes gets stuck') + @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'pc machine is unstable with replay') def test_x86_64_pc(self): """ :avocado: tags=arch:x86_64 @@ -128,6 +128,22 @@ def test_x86_64_pc(self): self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5) + def test_x86_64_q35(self): + """ + :avocado: tags=arch:x86_64 + :avocado: tags=machine:q35 + """ + kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora' + '/linux/releases/29/Everything/x86_64/os/images/pxeboot' + '/vmlinuz') + kernel_hash = '23bebd2680757891cf7adedb033532163a792495' + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) + + kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0' + console_pattern = 'VFS: Cannot open root device' + + self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5) + def test_mips_malta(self): """ :avocado: tags=arch:mips From patchwork Tue Aug 13 20:23:23 2024 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: 818859 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430775wrm; Tue, 13 Aug 2024 13:26:39 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUb6o2mPbQqZo5w416FC2JYH0cVlb13HRBF9px+nytntKOfvBrBNQdUuxoGGxu8USHcHaCnu6KfyuDqigpn5iMy X-Google-Smtp-Source: AGHT+IHs2+/8ylUFIhVlJloLMARkGU+Xs54JUMtcYVfRq+9A1VOoTanKJogubLG7m/w4B7ZjzPs3 X-Received: by 2002:a05:6122:17a0:b0:4f5:27ac:ce85 with SMTP id 71dfb90a1353d-4fad1c4f578mr1091116e0c.3.1723580799300; Tue, 13 Aug 2024 13:26:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580799; cv=none; d=google.com; s=arc-20160816; b=FF0GH6Pa6Y1YATPUPsbIivADzvrKd3BU6tA0mrNI8PTmm5RslzI3b2EG0Csv+OVDOi WYq83e7MdjRI0Do9QJjJ0VXkjYFIVt/tdnVoNKstZZS2iEKqpixwfcX2GesLL3NhOVgR cBbpzoFsFp7wQXbBsNenUdDwYiVMRccu3DACJU/e+JAavMYg/lV/nMZxbALgRnHsGLYW 4BxTsSPltU2BZfS1gsrct9QmWGnP2q+IyCLbziMbZMtbtCdSHbfAB1X7ZemGdQvyqKl3 ruHtxg+FZ78vBrW0amQb+TGuV/uxN5xhNlczrB6Vu/Xn/o20hU83lrrz8xUsQiHjYAD1 XxsQ== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=oJDrbDJn+uxZ4kSaJT1plgi1AkOLONkYxSD/HxvgNEI=; fh=2Uj2tGQCTXopsDH26iMBTwdsgctwEBjqGya0Hcf7oYs=; b=hvXtggcFmyJajR8o2GpNshO9s3WUZjL3ZVkc0x0n0pXZfcpjdWXM1JXttWPOKzmXk0 gfREm80lTRy0mo4kNx5ktbT98s5kPX8yXo/bbpwbwdaFv5PIyrJ9ATu8REzJGW3dkBLa gps/T3fs8t+5hwIavU+CGlLcDuQrgKX6fZCOSYt9Ve10HyCE8+jxzscsPCWtPHFzkpvt /n/6fSg+4Tmcc7HyxKhcDady+XF81YaCJ/ZIQAnhdZ2JBi7FVwUxJ/Kq3aBKrpnsJ/sQ ewjUGmwxMHzJOmO6Un+zZ8/Ls9QQjPsIOuq5agKcFx5ehTf92kGJHf03kSB4QJY7U5Pn sijQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Tzj9xooC; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6bd82e348fesi89510486d6.216.2024.08.13.13.26.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:26:39 -0700 (PDT) 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=Tzj9xooC; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy42-0006no-PU; Tue, 13 Aug 2024 16:24:18 -0400 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 1sdy3x-0006Nu-QX for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:14 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3U-0006Iz-QP for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:12 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-42808071810so44554285e9.1 for ; Tue, 13 Aug 2024 13:23:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580623; x=1724185423; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oJDrbDJn+uxZ4kSaJT1plgi1AkOLONkYxSD/HxvgNEI=; b=Tzj9xooCI+SAJThGqk78gKzOaKBk6ejSSkJ3Jjim/helhmZx1EIneTGzEktQsgSIa2 GN0mnfMzCv8bN2kcRmwEz+M3UZinWuTuTT/24aXT+EuvheGVnRgodF+53nJ+YILdQ+1q rYqzSe9Hi0x/uy+r/UOQaBKbYdcGScXonCyqEe3PJBrpuc33h74icKqQk6OSeUpvPTKg aXGBcjOZJZ9zmw7qbIcavygNkN/g8IKzNHCxQrCqhSptVT3IwzZQJv94JlA+kiOp843R QGZgsLuaQNO4gmf0kq9Xi00hkM6cxUrkMoED5olZhQkrLIbbc1jB7A+1Yfys6HA8vRGn M5dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580623; x=1724185423; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oJDrbDJn+uxZ4kSaJT1plgi1AkOLONkYxSD/HxvgNEI=; b=HfWLBsFX39IzGlyiERKL4DsI/1kDaCgJkfaed9nI850VV98Iz9Cwk3QMDvEer1xjd+ UC5u4Rh+AifdTSUkQvWdiHUoSuFkioAO2Tsm/pXUirQhLzd0TI+O1v1pWEfrsYmF7lmM c+vzL1WzmZGdWIJd6gMqyiMUzcKkaQ4swlYbu1MKrd+xtyYmCjjIIW2hRMoHxxO2aP4H ZPYh5+jR1G279pFzjj9ry8x6IXKaaPmSpM30TLCr1srhgSoG+2DkzVcCyVkKuLkAkpg9 HaFp0fL0LLd++InsZbm+YnUnMqg08axeCuuLSEJxCZwsFfA8IdGWiqMoGwiUM6+on1Ml u+/A== X-Gm-Message-State: AOJu0YwVidlqz+m0KuMeONluFAUmyOrM4OBr9rvNdbNiJkOBh1KHzOeS fZBLgi6GdwkTax90XQ2Pk9ia6+fwwiDVaQUebynhcFLFf6RsRohaexOjfEcNJyM= X-Received: by 2002:a05:600c:314e:b0:428:ec2a:8c94 with SMTP id 5b1f17b1804b1-429dd2365f4mr4810425e9.10.1723580622829; Tue, 13 Aug 2024 13:23:42 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429c77372dbsm149098465e9.38.2024.08.13.13.23.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D4BAF5FFC6; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin Subject: [PATCH v2 15/21] chardev: set record/replay on the base device of a muxed device Date: Tue, 13 Aug 2024 21:23:23 +0100 Message-Id: <20240813202329.1237572-16-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.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 From: Nicholas Piggin chardev events to a muxed device don't get recorded because e.g., qemu_chr_be_write() checks whether the base device has the record flag set. This can be seen when replaying a trace that has characters typed into the console, an examination of the log shows they are not recorded. Setting QEMU_CHAR_FEATURE_REPLAY on the base chardev fixes the problem. Reviewed-by: Alex Bennée Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-8-npiggin@gmail.com> Signed-off-by: Alex Bennée --- chardev/char.c | 71 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 21 deletions(-) diff --git a/chardev/char.c b/chardev/char.c index 3c43fb1278..ba847b6e9e 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -615,11 +615,24 @@ ChardevBackend *qemu_chr_parse_opts(QemuOpts *opts, Error **errp) return backend; } -Chardev *qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context, - Error **errp) +static void qemu_chardev_set_replay(Chardev *chr, Error **errp) +{ + if (replay_mode != REPLAY_MODE_NONE) { + if (CHARDEV_GET_CLASS(chr)->chr_ioctl) { + error_setg(errp, "Replay: ioctl is not supported " + "for serial devices yet"); + return; + } + qemu_chr_set_feature(chr, QEMU_CHAR_FEATURE_REPLAY); + replay_register_char_driver(chr); + } +} + +static Chardev *__qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context, + bool replay, Error **errp) { const ChardevClass *cc; - Chardev *chr = NULL; + Chardev *base = NULL, *chr = NULL; ChardevBackend *backend = NULL; const char *name = qemu_opt_get(opts, "backend"); const char *id = qemu_opts_id(opts); @@ -657,11 +670,11 @@ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context, chr = qemu_chardev_new(bid ? bid : id, object_class_get_name(OBJECT_CLASS(cc)), backend, context, errp); - if (chr == NULL) { goto out; } + base = chr; if (bid) { Chardev *mux; qapi_free_ChardevBackend(backend); @@ -681,11 +694,25 @@ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context, out: qapi_free_ChardevBackend(backend); g_free(bid); + + if (replay && base) { + /* RR should be set on the base device, not the mux */ + qemu_chardev_set_replay(base, errp); + } + return chr; } -Chardev *qemu_chr_new_noreplay(const char *label, const char *filename, - bool permit_mux_mon, GMainContext *context) +Chardev *qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context, + Error **errp) +{ + /* XXX: should this really not record/replay? */ + return __qemu_chr_new_from_opts(opts, context, false, errp); +} + +static Chardev *__qemu_chr_new(const char *label, const char *filename, + bool permit_mux_mon, GMainContext *context, + bool replay) { const char *p; Chardev *chr; @@ -693,14 +720,22 @@ Chardev *qemu_chr_new_noreplay(const char *label, const char *filename, Error *err = NULL; if (strstart(filename, "chardev:", &p)) { - return qemu_chr_find(p); + chr = qemu_chr_find(p); + if (replay) { + qemu_chardev_set_replay(chr, &err); + if (err) { + error_report_err(err); + return NULL; + } + } + return chr; } opts = qemu_chr_parse_compat(label, filename, permit_mux_mon); if (!opts) return NULL; - chr = qemu_chr_new_from_opts(opts, context, &err); + chr = __qemu_chr_new_from_opts(opts, context, replay, &err); if (!chr) { error_report_err(err); goto out; @@ -722,24 +757,18 @@ out: return chr; } +Chardev *qemu_chr_new_noreplay(const char *label, const char *filename, + bool permit_mux_mon, GMainContext *context) +{ + return __qemu_chr_new(label, filename, permit_mux_mon, context, false); +} + static Chardev *qemu_chr_new_permit_mux_mon(const char *label, const char *filename, bool permit_mux_mon, GMainContext *context) { - Chardev *chr; - chr = qemu_chr_new_noreplay(label, filename, permit_mux_mon, context); - if (chr) { - if (replay_mode != REPLAY_MODE_NONE) { - qemu_chr_set_feature(chr, QEMU_CHAR_FEATURE_REPLAY); - } - if (qemu_chr_replay(chr) && CHARDEV_GET_CLASS(chr)->chr_ioctl) { - error_report("Replay: ioctl is not supported " - "for serial devices yet"); - } - replay_register_char_driver(chr); - } - return chr; + return __qemu_chr_new(label, filename, permit_mux_mon, context, true); } Chardev *qemu_chr_new(const char *label, const char *filename, From patchwork Tue Aug 13 20:23:24 2024 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: 818861 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp431121wrm; Tue, 13 Aug 2024 13:28:07 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWnluPUGRCZhBwwTh0BSV3T2TFBdW02151mw8E5OPDiKHgzKeqITgkylmCjsb4H6I2NMqWPYglO2KawKMIPsXzU X-Google-Smtp-Source: AGHT+IHA0qQncgDErnTiHnVWhaY4+ui1NbpzzcA3zxlLbxyqylGhDZObMqZ19PPqLw0g926VrC75 X-Received: by 2002:a05:620a:2996:b0:79c:fbf:6381 with SMTP id af79cd13be357-7a4ee405e41mr64686085a.70.1723580887612; Tue, 13 Aug 2024 13:28:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580887; cv=none; d=google.com; s=arc-20160816; b=Tguiioujd99pbVuEo24rlgyMd1ETKz8Dr0mboiL2DfpxxO7ruFGslRMNE7aiYZ+HdD 6Pw7b3Tnd7JiuBlvfq6w9zHHfgDf7tkio87Ymi3nsXiVLyA5wKUMBaYjxh0TMsdJI01z AHvgOKIw9hEUgXys3AGoIqggMFXAOXr2j4TQJ27nEqKfSUJB1PndkY4F2Q9JDC1jDGPc BWQWdtYZOmz631SfPFywvtG9BReROm42FIEIhkvA03Sy4RG9V5icPBI40rE+KJWBwFRm i3BvPKKXxsPYMdbNeKt2RLdf/qnxgcZHqk07oD/geJRxEsauWB29KfWv8EAPI2BFq+R6 e9Kg== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4m5IfYOaf6fUwMZhOlNmGn0JNN4Zc0W9g3hkgpxxQnw=; fh=CA3M1ELZq0B3Vsyopbo2wbvGRMyzgjLkXtCvvSx9Tl4=; b=XEspbHzMWnH4Mh8PfQafP9QqXitqk4I7uA6xRaORWDdh/3+49qcMdl4HA9wYF/9ncR ovvO/h4/8zbcuZHkoDGeducRfjY11zN7yZrWns2IMfAyjdX+2N/LLuAp6K0eonEtabIV NCABhwPQSzjw7DnnSYDaN2P2UHnS4d/TndkGCVNXzxTiNhJZbGkW6vcvWQqt2T9vVsW6 4jE0gQCUtsNIMTNAL3Gt2gGENNjVUdDKRiV5VQN0bjZaO3TAqtdZVqxtlKlcPZZZZ+be h5PbJk14VH3Auljo1AneFUPGyNcBM1Vyf5h3uCcvuKWoXPrc5vDjjUTNBgF9BgFsUOZD Xn5A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rbBn8TsC; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7a4c7e1363fsi959369885a.543.2024.08.13.13.28.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:28:07 -0700 (PDT) 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=rbBn8TsC; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy47-0007Dd-Pv; Tue, 13 Aug 2024 16:24:23 -0400 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 1sdy3w-0006JE-RY for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:12 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3U-0006IZ-Oo for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:11 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-368440b073bso165556f8f.0 for ; Tue, 13 Aug 2024 13:23:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580623; x=1724185423; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4m5IfYOaf6fUwMZhOlNmGn0JNN4Zc0W9g3hkgpxxQnw=; b=rbBn8TsCWI73DftEyi9j7mkitjdh4YlY8ptF/LlEyzPMXPg/HASSNLV/CBxhLqnh46 J+DCSrr72dyUNjRlj1Uu57ZQdm7YSpJXYBsbIUZuxkdKTRvRKmqGuFjQmUQTEAMHi+B6 IrlZGjIS+pTj1HA3H6Bc16lGs8SR9kbK2uXrb0aCIS4lPUymabrFL8fiUsX7hJsn5THW B3yRUSrKiPnmakfwy1ZHFgTzHuVVrU7jmS4ZZUl5JItvQuu3sGWPOFofw6EA5bOEix32 mSuL7yVzChd3HIBkDWWZcrLUgIUBDMlslwPBdqxvpyDlkOt5mrJ27RSGP39qmoMFeR5V DBgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580623; x=1724185423; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4m5IfYOaf6fUwMZhOlNmGn0JNN4Zc0W9g3hkgpxxQnw=; b=qZPc3wqCQmAfvCXKfGOIy+3LGZrr2+tU6E4pl3FfNqVZxCdv29++NDaOCT5AHDYJJ+ Awcwajz3S+pI2NW2/x7av0ABjJfsTEnFLrx1Vfl3Foz1yIzcYCrMTZ4P1mB6K6L0veSF WMDejaCNtvf0aCY2R4AZrvnliimrAxs0pmi8jYMdMPJkZYN3lJPO297kWUTCv3e493Hi mvsz5A0/BltD4Zbcd9Xu7Ik4QQBSzI1XDmgH6KCbF6+nLzHLQXrbV771VDU73lf+soEC ABUFYquqLDE0oDeKBzmmmBrVxE9bS9ZKXTV7/LQAzy7Gb3mUU/XbJkiWlCHLsrZBoNUh 4AJA== X-Gm-Message-State: AOJu0Yxfq4EwZmzN46Dv+/H//4JQCcCeXUV5bo7PTt7/d/QpNDm2g3Kz X02vUnQ/PyU6x8cLNpG4KBgUf2J3JDFg0IOe38Rdulabx2UUphP5lny6/eTRgQM= X-Received: by 2002:adf:fe46:0:b0:36b:b08f:64b3 with SMTP id ffacd0b85a97d-3716e4807cfmr2865828f8f.20.1723580622467; Tue, 13 Aug 2024 13:23:42 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429deb51794sm849865e9.22.2024.08.13.13.23.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:38 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EC265601E0; Tue, 13 Aug 2024 21:23:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin , Pavel Dovgalyuk Subject: [PATCH v2 16/21] virtio-net: Use replay_schedule_bh_event for bhs that affect machine state Date: Tue, 13 Aug 2024 21:23:24 +0100 Message-Id: <20240813202329.1237572-17-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x431.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=unavailable 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 From: Nicholas Piggin The regular qemu_bh_schedule() calls result in non-deterministic execution of the bh in record-replay mode, which causes replay failure. Reviewed-by: Alex Bennée Reviewed-by: Pavel Dovgalyuk Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-9-npiggin@gmail.com> Signed-off-by: Alex Bennée --- hw/net/virtio-net.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 08aa0b65e3..10ebaae5e2 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -40,6 +40,7 @@ #include "migration/misc.h" #include "standard-headers/linux/ethtool.h" #include "sysemu/sysemu.h" +#include "sysemu/replay.h" #include "trace.h" #include "monitor/qdev.h" #include "monitor/monitor.h" @@ -417,7 +418,7 @@ static void virtio_net_set_status(struct VirtIODevice *vdev, uint8_t status) timer_mod(q->tx_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + n->tx_timeout); } else { - qemu_bh_schedule(q->tx_bh); + replay_bh_schedule_event(q->tx_bh); } } else { if (q->tx_timer) { @@ -2672,7 +2673,7 @@ static void virtio_net_tx_complete(NetClientState *nc, ssize_t len) */ virtio_queue_set_notification(q->tx_vq, 0); if (q->tx_bh) { - qemu_bh_schedule(q->tx_bh); + replay_bh_schedule_event(q->tx_bh); } else { timer_mod(q->tx_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + n->tx_timeout); @@ -2838,7 +2839,7 @@ static void virtio_net_handle_tx_bh(VirtIODevice *vdev, VirtQueue *vq) return; } virtio_queue_set_notification(vq, 0); - qemu_bh_schedule(q->tx_bh); + replay_bh_schedule_event(q->tx_bh); } static void virtio_net_tx_timer(void *opaque) @@ -2921,7 +2922,7 @@ static void virtio_net_tx_bh(void *opaque) /* If we flush a full burst of packets, assume there are * more coming and immediately reschedule */ if (ret >= n->tx_burst) { - qemu_bh_schedule(q->tx_bh); + replay_bh_schedule_event(q->tx_bh); q->tx_waiting = 1; return; } @@ -2935,7 +2936,7 @@ static void virtio_net_tx_bh(void *opaque) return; } else if (ret > 0) { virtio_queue_set_notification(q->tx_vq, 0); - qemu_bh_schedule(q->tx_bh); + replay_bh_schedule_event(q->tx_bh); q->tx_waiting = 1; } } From patchwork Tue Aug 13 20:23:25 2024 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: 818864 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp432190wrm; Tue, 13 Aug 2024 13:31:32 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVryOtdPAfvWqMY89ui5axUK6v+hbA1G6iWZ/vd62RlaPwGio2LvCCKlk4WKL4Y0nnVz2WTS+W4d3ICgwBiQDqV X-Google-Smtp-Source: AGHT+IE3TlfTp1fVGpJPs0t9M9vp6MaxLsaU7AHS+NGZR4CyQVkyt+O/GwxZwqrYLrRMMF/j/8DD X-Received: by 2002:a5d:4bc4:0:b0:367:f05a:8f6c with SMTP id ffacd0b85a97d-37177825e35mr429615f8f.57.1723581092300; Tue, 13 Aug 2024 13:31:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723581092; cv=none; d=google.com; s=arc-20160816; b=eG1nwgYlavybEGIORoCiowlqiepKNjDWg4DDMfp0WodnpqG7rRT33MwN1bEjl2TteZ VI+3w+6CcbqaG5dOmtDMuhzhKDkl3NatvnoTvc3Vab8bo8GVYXel2ygJdjL7sTNkrxY8 pSJf1pANYYrzbOQ3PKGYyzzAMyq4Shhe03bKCKIt4zRwRsYJ4K8DXl4sr6XHC46EGowI 7nyh50vm2RJU5+7dBBH1zGnqcjCs4bs5X6uIcOJU8yPwHpPp9cO6lbv26AP/37RvH6I5 vewKj0mXGbWs6aC/OELyVSa1JjQC9P5KNlOIocVQpnDTW/4PrQ1XsIhvi7h9IiFkd6B/ kJ1w== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=h8VJVqwOU+3OnI+KhTAsjide89+CrsOHDPq/j9RwzJ8=; fh=2Uj2tGQCTXopsDH26iMBTwdsgctwEBjqGya0Hcf7oYs=; b=F494e8tnfgn961WPGjO9fanKOi4Z7l/2vCL5dqxBVCkqlIFUp49lvESd5+K2kR2cXK cdqDrqw1h+VUvccNe2onqOEnKzULkpetRHj03IB0eSzFOFHGYuTPeRjlZbvqqPcmFZyS Cwua/4O9BtBU1MGtUL/4dKRg6ppao093sOj1aRimVN7IfcuQzin31y2TPmjL3jwCzIrv sX0MDp4FY36ls9BIejgknAudRlN0tlH5IY1G9LrGWl+xNF0urIXPi3JzICoDMRQJI2/b sRVATdMkNdqogDRPgqEC96iiVVJXaD+IHbVXEhdapvZ+n5faOXFrsCmNJVatcvosCc62 VWzQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=B4jddG6P; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ffacd0b85a97d-36e720b3a47si4295434f8f.301.2024.08.13.13.31.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:31:32 -0700 (PDT) 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=B4jddG6P; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy9y-000813-0q; Tue, 13 Aug 2024 16:30:26 -0400 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 1sdy9t-0007rF-UC for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:21 -0400 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy9o-0007hF-05 for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:20 -0400 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5af6a1afa63so6927491a12.0 for ; Tue, 13 Aug 2024 13:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723581009; x=1724185809; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=h8VJVqwOU+3OnI+KhTAsjide89+CrsOHDPq/j9RwzJ8=; b=B4jddG6PtgQVd/JlRN2Dn7Dy97dgxuHR32ymDUrNpiOAgog27C186v7MMS76wpdNdi iiCPa3akNprKBIVs8XySt0Ryri3mM5yeyjVQtOf2BVruPjg+Qf11B4X5itzVKcyowMJv gc7LaEQLYiEhdWDF6B+58KMZduusE/HPHnG5/sz3mkFTAGr4uCBPDeHxg3RyDlwuOMNy jZxXLQdccXhIH8asVKww6TPJFSZZ8LgneHPW+kCIWRBJEQOQyn3RVrmtUiMEtw/vDiVF lHcZ3F9WMTh8+H9/l5f0xI26DL0fDQ6vahjMWd+tGNec0svFqDe5CuIJV2B9E4P1kvny m2AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723581009; x=1724185809; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h8VJVqwOU+3OnI+KhTAsjide89+CrsOHDPq/j9RwzJ8=; b=BsY2qr9wXCU6rdfqG3ugKUv0yFp4xIBmRIxAMkn1FbHUfQhMI7n1hLRpQGfkdEYXQ0 WO4Gk5G3h81sv6U8TDfynO+3slC0nhMDvegVmtf6nJ3C21NqhiyuHhEFw82BRwdHEH6Q bnhRwlYjS3UPKEtKxp8VB/aeWKWMA06RvBB8EWeZlrMzth+O4ooyK0t3vx4FvTekSmPL ci+odM5WH4cITTU/WxtjdLXjGATMljhk1/tt+Qggc2BHyaqxINvLCYCmWm9ZJVE0Cpm0 FzfSDitmDY+dMIimfGR6rvv0jo439QOBXSl4fehS5BidD0OvUta4YmeWZDFast6mYySs jg+A== X-Gm-Message-State: AOJu0YwRTfzQzBWTZxwHVIVaeZOL4VpjaqqMEnEqDtQ6H6AXfKUUBCan oF6IngySi8/kswyFpPDCcRMQ5e3CdZZej397n8LSAoHCBn8MfH8mw/WCyd/+yu4= X-Received: by 2002:a17:907:f704:b0:a72:80b8:ba64 with SMTP id a640c23a62f3a-a8366d552ccmr40115966b.25.1723581009064; Tue, 13 Aug 2024 13:30:09 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a80f3f48ed5sm96719366b.29.2024.08.13.13.30.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:30:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0D7465F8BB; Tue, 13 Aug 2024 21:23:31 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin Subject: [PATCH v2 17/21] virtio-net: Use virtual time for RSC timers Date: Tue, 13 Aug 2024 21:23:25 +0100 Message-Id: <20240813202329.1237572-18-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::536; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x536.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=unavailable 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 From: Nicholas Piggin Receive coalescing is visible to the target machine, so its timers should use virtual time like other timers in virtio-net, to be compatible with record-replay. Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-10-npiggin@gmail.com> Signed-off-by: Alex Bennée Acked-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 10ebaae5e2..ed33a32877 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -2124,7 +2124,7 @@ static void virtio_net_rsc_purge(void *opq) chain->stat.timer++; if (!QTAILQ_EMPTY(&chain->buffers)) { timer_mod(chain->drain_timer, - qemu_clock_get_ns(QEMU_CLOCK_HOST) + chain->n->rsc_timeout); + qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + chain->n->rsc_timeout); } } @@ -2360,7 +2360,7 @@ static size_t virtio_net_rsc_do_coalesce(VirtioNetRscChain *chain, chain->stat.empty_cache++; virtio_net_rsc_cache_buf(chain, nc, buf, size); timer_mod(chain->drain_timer, - qemu_clock_get_ns(QEMU_CLOCK_HOST) + chain->n->rsc_timeout); + qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + chain->n->rsc_timeout); return size; } @@ -2598,7 +2598,7 @@ static VirtioNetRscChain *virtio_net_rsc_lookup_chain(VirtIONet *n, chain->max_payload = VIRTIO_NET_MAX_IP6_PAYLOAD; chain->gso_type = VIRTIO_NET_HDR_GSO_TCPV6; } - chain->drain_timer = timer_new_ns(QEMU_CLOCK_HOST, + chain->drain_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, virtio_net_rsc_purge, chain); memset(&chain->stat, 0, sizeof(chain->stat)); From patchwork Tue Aug 13 20:23:26 2024 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: 818866 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp432209wrm; Tue, 13 Aug 2024 13:31:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVhOjoiORIwHG7NX8UoL8rsP7Xy8/wHxhXgN64T7xcHogmzN4oQ2/cfB4gVnGETnI20g+j62+x49/TJfwKVVu0i X-Google-Smtp-Source: AGHT+IEhZWuOfnK2BZ3tR2TgDucXEbregmIwMEejncopo6OtkwnCLA/56qdIz67qFJ1eC5AQYxlB X-Received: by 2002:a5d:514b:0:b0:368:7880:a5d4 with SMTP id ffacd0b85a97d-3717776976bmr541315f8f.8.1723581095799; Tue, 13 Aug 2024 13:31:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723581095; cv=none; d=google.com; s=arc-20160816; b=VeJkLriGMemBav/0030l6F0EdI6Xv5UWX+8veeS+997wQeD3XJebkcbxqkeenJuMsC pk6WbPVvFRTo8mMBkx7kNRtfwvtDrOltbVk74XwJtD8u3++NSD1AyWDhHetpdKjqCMIi 6I9cyYkeU5ChIFd1BBtOv1qShV8R4GnRzq+17wxi5zogCHI/CvfkGrPqeFNxmc1dFxgu tyWfSA4fDBLMOoEotlpfUl0x7VEmypmyYJSCwVHGlSBGqQzBPTXM2PEHcJzbs/fvldk6 7QMUgiDQ6+ZEWtnRuuTrOQYvD0J9Qy4a0u0kSsZ5PfYL8X9ezm94/F7dH/neh+COpv5H WTvQ== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=kSADMN12Nw21+GOzmibenkJLReuL6R8Ic7sSt3Nh96Q=; fh=2Uj2tGQCTXopsDH26iMBTwdsgctwEBjqGya0Hcf7oYs=; b=BBsWAjqbv7EMR//HuraQU+DQgpJbv+bgFUOy+iVyr35oZZ0ioODWXclsrpTqQ+eEsf DH3B7xdr+F5Ti2PEwlwRJ0ImJvzpUwj0sccDwKKVpWJyApR/3r/HJOjGb1sMmlepjH1Z 9i6VaJUeTERZqiY577Wm2eGbbHZXjlzyOoaJrV1/A+BOTG7XwssHWoMQ0BTS5hLdIunH F85lFI4uKJ+KLOY3tULBt7mtUNK8Gr4Mw9xc+Mm3bAd0iOX+Bgy/JUyILqJJpEzFrJPP JrkW/3wc6ErQCwVSQc4Nxw+LF1fCZOcvmr08vjNBTJlRtlLbcFbDCr47R2z4KxrtKM5O 3wxw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=I4hrz39U; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ffacd0b85a97d-36e4f296d71si4441388f8f.978.2024.08.13.13.31.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:31:35 -0700 (PDT) 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=I4hrz39U; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy9t-0007po-Vc; Tue, 13 Aug 2024 16:30:22 -0400 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 1sdy9q-0007br-4G for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:18 -0400 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy9m-0007h8-W8 for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:17 -0400 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-a728f74c23dso650427366b.1 for ; Tue, 13 Aug 2024 13:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723581009; x=1724185809; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kSADMN12Nw21+GOzmibenkJLReuL6R8Ic7sSt3Nh96Q=; b=I4hrz39Uj77eae4gpRyGdB3bD39XFZjBxDIEZNdSSZcTi8P9Xf3U3538UKlDVecmUa h8VaLefziNgF0KpwADjV7SjvpUorfiMp/mN17milKoy+ORw5EeTfB5GZQjIJX+1m4JG0 8nuFiUQvTwBh1o8Rq8/PfH0uQ4GCnm+ntokydAGpXN8B6z0sTuGlTXj4dB3JNKJpG4Td huGttiIJoE+ZykqnMr9rOQjNf8cTwqG8viC7sAlyoiYZozLgu3TiEP8VoTeca8f4YIhh 0xbKeNmOt/K5CwCWdOA+wBmGXv7crxNSkrRn1Z5zystAUTlC9/Kgl7b5cDnuELUOoKal BhpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723581009; x=1724185809; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kSADMN12Nw21+GOzmibenkJLReuL6R8Ic7sSt3Nh96Q=; b=rfMvPYHVpz65I9Xf5Yoqa5jA4x0UahOsGPqsBkbhCktcIxA4yqJCB5dCNJ9FvjLaqk 5oWSqL21BfGIaEsm4TD4U3SidWpKjs6mljitmYlxp6nuEcUc1bOK+l7/xasuXTzoOgCB eYp0L2rSX0blU5LzeRDZc+CX8sw62XE/K0RCQhAB7/P9m92BA3LbL3w2ExEgJklYfir8 gxv98M1PPJuY0CA7zLBKxMPiYTpk7lJHfHccEcW+UEWdX/t0UuG4eX9z8rlA0pNYJGIc eLVILwynl0Wb1tExTuITJSHlrlQIl/vWW0uDkSBHUcAZ2KkhBgR3wPw4mmAr0ZuhHUEl ac7A== X-Gm-Message-State: AOJu0YyR3uiSISvyiuNobaKSHjIRoA3bWkQbZH2INUtvlZuli7WrxQsT M8FbgPSBxsKiHn8Cm0zrllp5m62MKiZ4BXdSbho/b5rsM2KfO+6pd6Jv1K7Wo/I= X-Received: by 2002:a17:907:1b19:b0:a80:f840:9004 with SMTP id a640c23a62f3a-a8366c1eca6mr35463466b.12.1723581008771; Tue, 13 Aug 2024 13:30:08 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a80f3fa69c3sm96997266b.55.2024.08.13.13.30.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:30:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 2456F604E8; Tue, 13 Aug 2024 21:23:31 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Nicholas Piggin Subject: [PATCH v2 18/21] savevm: Fix load_snapshot error path crash Date: Tue, 13 Aug 2024 21:23:26 +0100 Message-Id: <20240813202329.1237572-19-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62b; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62b.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=unavailable 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 From: Nicholas Piggin An error path missed setting *errp, which can cause a NULL deref. Reviewed-by: Alex Bennée Signed-off-by: Nicholas Piggin Message-Id: <20240813050638.446172-11-npiggin@gmail.com> Signed-off-by: Alex Bennée --- migration/savevm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/migration/savevm.c b/migration/savevm.c index 85958d7b09..6bb404b9c8 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -3288,6 +3288,7 @@ bool load_snapshot(const char *name, const char *vmstate, /* Don't even try to load empty VM states */ ret = bdrv_snapshot_find(bs_vm_state, &sn, name); if (ret < 0) { + error_setg(errp, "Snapshot can not be found"); return false; } else if (sn.vm_state_size == 0) { error_setg(errp, "This is a disk-only snapshot. Revert to it " From patchwork Tue Aug 13 20:23:27 2024 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: 818865 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp432192wrm; Tue, 13 Aug 2024 13:31:33 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXJ8GNXmecgsOC3koxDDYAQkLSo9qcJ1iuvst8gFCuMLrysU9fbKMKFGqtwjAA9s4kCQTchf0Bkx5+4kfLM1Vux X-Google-Smtp-Source: AGHT+IFxoZuj3bR5kKy4l0JnZxjzkKFd/Br/fL0nz5xhbCP/Rozn2sWkUZly1+WFO7+mGlg3xjTG X-Received: by 2002:adf:a199:0:b0:36b:c65c:661e with SMTP id ffacd0b85a97d-3716e4227c5mr3818424f8f.13.1723581092848; Tue, 13 Aug 2024 13:31:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723581092; cv=none; d=google.com; s=arc-20240605; b=VsN3rplnby4yPIXx4dSooshl9072lRqLmCSLSpJ/9dWNXsCn+oI34bXFupdXANPVTj y5pu4Kxeslwg+BDQvfQ+r3ISyPSzOfSi1REY0K9bL0QJzcERdzWXf5Jk4xrbhF9qrptm DCxe38n88CB6/jp7LsopX+fbbagHMUq2JuTsGPFzqm4jGB7O0JYm5PUK3CWn4iP88BLu AZq6M1ycyoYPlzqfarc64CAZ2kqXBrhYdLictOISOL/sVjPs+PJ0nt4//aoLHd6TmD4E YNiXHSXLITyzpQPRpD5PMEof7NJJkmdZAavtwD+ykrjvpZD6f+66qncOyhgxb7vLhGaU a9lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=XVE4Pvz3IZII7dYV43iuSfh2ifoz5mFOdZgYMpOo9h8=; fh=s7+ev25k/hKdnPX1zlnSaifNet4T7+PL0BxvJS3oFPw=; b=PHEo2YDk48jcsvxysV7RAxKGIVXzhQsi224pZLeHzXZmDS1kA7fNUXo+It2qv0tD/t n2v6wAHir3EiKWDZN7UHOiJA9QEiKW4yOX/zIhbykn6b+pkiswIT7+tbJzs33mdwrxgh FXERUArz38C4jFhcbOQtXJMHOU15NKFn9fw0xdg8TFQBdd4bbzjM1xBXZsE9FFSbiuFB r2JWXYC1nbu+logfWRwJymtSKc5D/VGwj2fhrnc0nzD7Eq7LdPBgcaAgoxcq8gpaJZCm Wph3aGZgbVF9NFfv66VWuGj8wJOS4AfIr2swV1DrOOPtwxwHU0L5nk3eNQ9qMHNQl9m5 HSEg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BKAAiiVj; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 5b1f17b1804b1-429dea49712si377735e9.11.2024.08.13.13.31.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:31:32 -0700 (PDT) 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=BKAAiiVj; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy9v-0007vu-5i; Tue, 13 Aug 2024 16:30:23 -0400 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 1sdy9s-0007jP-0h for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:20 -0400 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy9o-0007hY-0X for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:19 -0400 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5b8c2a6135eso422659a12.0 for ; Tue, 13 Aug 2024 13:30:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723581010; x=1724185810; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XVE4Pvz3IZII7dYV43iuSfh2ifoz5mFOdZgYMpOo9h8=; b=BKAAiiVjWNlnxqZDlQiOO3KQLw6HIKbdq58MTDF8Syp3t/ex1kCSsqcmN004jRsQ0P sQYB/D69s/joleZzjA+FAIjd5XxHf1GZMV0pln7qys00azeoVGysHYnqBE/CWpKXbWHJ nIWMyQ0sERMtZMVBzoJ1otrC/XmU4z5Dt/ZVzc70XpqboCZFqt+Yy4I44OSVHvCEIlGS xnL/kPTUBMyIrF8J5n0kihbRZdi3R6GsEbvCTuiVu/IX1L/mfXMbTDTCiZ5eS1VXqOpn j8AeFxYfQbX3Uxzh4QN+2GLI+vceVh+d4Lt9TQbkMkHs5KeVnLYWyaGl+Ns1E5SwVMcC kQUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723581010; x=1724185810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XVE4Pvz3IZII7dYV43iuSfh2ifoz5mFOdZgYMpOo9h8=; b=tuxMPoERbXwm+K8IzNJDWr8zj8eDF0sKq5EgJ8kpxLqKV5FV4R32hTjn9BTLbPS6sa a5JJKS2CNGY8yk+WlHhlInMdXiC9mM4Da29OnVNpZi4vjFfDkhFFewMXZges7BLlRsxn WJ12baw5PIaDWQPRWxYnf06zFBKf7vdkkPHLw7JsyzFCB6z9eSmcvMwPjSi0osXCoPw4 WyA7kZ1Ctoiz6YyVxh7O5v1iRno+wTzXNOuUG/BUFse+Mw7K5nlukxksDDg9Zil7VDkV biXSeKos/1gCwWjHZFnekuvClWqCi4nORNVqFskdf5lmagrUUz+vIkVIBpIHyYPlSyoN vr+Q== X-Gm-Message-State: AOJu0YwtdpaLi4yNB9g2/KUnkcOVVqy8jzOk8BjBKBr3Y4QzK5jA2+df Xa+l4ozP5mh0zc2A0XIrUF5m/Rw/YtkLNx6hV4iMGkylSfGkQRSSHHX6eLdABQU= X-Received: by 2002:a05:6402:2553:b0:5a0:d5f2:1be with SMTP id 4fb4d7f45d1cf-5bd461909damr3959795a12.8.1723581009434; Tue, 13 Aug 2024 13:30:09 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bd196a756esm3155219a12.52.2024.08.13.13.30.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:30:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 4318860607; Tue, 13 Aug 2024 21:23:31 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Stefan Weil Subject: [PATCH v2 19/21] docs: Fix some typos (found by typos) and grammar issues Date: Tue, 13 Aug 2024 21:23:27 +0100 Message-Id: <20240813202329.1237572-20-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::535; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x535.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 From: Stefan Weil via Fix the misspellings of "overriden" also in code comments. Signed-off-by: Stefan Weil Reviewed-by: Peter Maydell Message-Id: <20240813125638.395461-1-sw@weilnetz.de> Signed-off-by: Alex Bennée Reviewed-by: Peter Xu Reviewed-by: Eric Auger --- docs/devel/migration/uadk-compression.rst | 4 ++-- docs/interop/qemu-ga.rst | 2 +- docs/tools/qemu-vmsr-helper.rst | 4 ++-- qapi/rocker.json | 4 ++-- include/exec/memory.h | 2 +- hw/arm/smmu-common.c | 2 +- qga/main.c | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/devel/migration/uadk-compression.rst b/docs/devel/migration/uadk-compression.rst index 3f73345dd5..64cadebd21 100644 --- a/docs/devel/migration/uadk-compression.rst +++ b/docs/devel/migration/uadk-compression.rst @@ -114,7 +114,7 @@ Make sure all these above kernel configurations are selected. Accelerator dev node permissions -------------------------------- -Harware accelerators(eg: HiSilicon Kunpeng Zip accelerator) gets registered to +Hardware accelerators (eg: HiSilicon Kunpeng Zip accelerator) gets registered to UADK and char devices are created in dev directory. In order to access resources on hardware accelerator devices, write permission should be provided to user. @@ -134,7 +134,7 @@ How To Use UADK Compression In QEMU Migration Set ``migrate_set_parameter multifd-compression uadk`` Since UADK uses Shared Virtual Addressing(SVA) and device access virtual memory -directly it is possible that SMMUv3 may enounter page faults while walking the +directly it is possible that SMMUv3 may encounter page faults while walking the IO page tables. This may impact the performance. In order to mitigate this, please make sure to specify ``-mem-prealloc`` parameter to the destination VM boot parameters. diff --git a/docs/interop/qemu-ga.rst b/docs/interop/qemu-ga.rst index 9c7380896a..11f7bae460 100644 --- a/docs/interop/qemu-ga.rst +++ b/docs/interop/qemu-ga.rst @@ -50,7 +50,7 @@ Options .. option:: -c, --config=PATH Configuration file path (the default is |CONFDIR|\ ``/qemu-ga.conf``, - unless overriden by the QGA_CONF environment variable) + unless overridden by the QGA_CONF environment variable) .. option:: -m, --method=METHOD diff --git a/docs/tools/qemu-vmsr-helper.rst b/docs/tools/qemu-vmsr-helper.rst index 6ec87b49d9..9ce10b9af9 100644 --- a/docs/tools/qemu-vmsr-helper.rst +++ b/docs/tools/qemu-vmsr-helper.rst @@ -17,8 +17,8 @@ driver to advertise and monitor the power consumption or accumulated energy consumption of different power domains, such as CPU packages, DRAM, and other components when available. -However those register are accesible under priviliged access (CAP_SYS_RAWIO). -QEMU can use an external helper to access those priviliged register. +However those registers are accessible under privileged access (CAP_SYS_RAWIO). +QEMU can use an external helper to access those privileged registers. :program:`qemu-vmsr-helper` is that external helper; it creates a listener socket which will accept incoming connections for communication with QEMU. diff --git a/qapi/rocker.json b/qapi/rocker.json index 6950ca9602..73c7363b16 100644 --- a/qapi/rocker.json +++ b/qapi/rocker.json @@ -42,7 +42,7 @@ ## # @RockerPortDuplex: # -# An eumeration of port duplex states. +# An enumeration of port duplex states. # # @half: half duplex # @@ -55,7 +55,7 @@ ## # @RockerPortAutoneg: # -# An eumeration of port autoneg states. +# An enumeration of port autoneg states. # # @off: autoneg is off # diff --git a/include/exec/memory.h b/include/exec/memory.h index 02f7528ec0..296fd068c0 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -1852,7 +1852,7 @@ void memory_region_iommu_replay(IOMMUMemoryRegion *iommu_mr, IOMMUNotifier *n); * memory_region_unregister_iommu_notifier: unregister a notifier for * changes to IOMMU translation entries. * - * @mr: the memory region which was observed and for which notity_stopped() + * @mr: the memory region which was observed and for which notify_stopped() * needs to be called * @n: the notifier to be removed. */ diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c index d73ad62211..3f82728758 100644 --- a/hw/arm/smmu-common.c +++ b/hw/arm/smmu-common.c @@ -674,7 +674,7 @@ error: /* * combine S1 and S2 TLB entries into a single entry. - * As a result the S1 entry is overriden with combined data. + * As a result the S1 entry is overridden with combined data. */ static void combine_tlb(SMMUTLBEntry *tlbe, SMMUTLBEntry *tlbe_s2, dma_addr_t iova, SMMUTransCfg *cfg) diff --git a/qga/main.c b/qga/main.c index b8f7b1e4a3..50186760bf 100644 --- a/qga/main.c +++ b/qga/main.c @@ -257,7 +257,7 @@ QEMU_COPYRIGHT "\n" "\n" " -c, --config=PATH configuration file path (default is\n" " %s/qemu-ga.conf\n" -" unless overriden by the QGA_CONF environment variable)\n" +" unless overridden by the QGA_CONF environment variable)\n" " -m, --method transport method: one of unix-listen, virtio-serial,\n" " isa-serial, or vsock-listen (virtio-serial is the default)\n" " -p, --path device/socket path (the default for virtio-serial is:\n" From patchwork Tue Aug 13 20:23:28 2024 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: 818863 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp432008wrm; Tue, 13 Aug 2024 13:30:59 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUwbJne5E/p5mdyod09bgsYUl3XvrVB18LGXPTc9zUKX1IHgIrYb6Ew6KAcjj0F+Sreqrmc2Bvj7Xl00O4rREg5 X-Google-Smtp-Source: AGHT+IGUGtxzvVVBEyYVDhaXk2Pk7yKS0f6zB0z4fYrUkLGSB/MjYqiyIzfLyp1tsrlbff89RLy7 X-Received: by 2002:a05:6808:144d:b0:3da:a6ce:f046 with SMTP id 5614622812f47-3dd29962ademr669328b6e.38.1723581059043; Tue, 13 Aug 2024 13:30:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723581059; cv=none; d=google.com; s=arc-20160816; b=cbR+XHGh7I0TX7DFoTp0O0iQDhmY2EtWQVywtU9cU5eFa0GXsDpAojtU5rzgJwBgGN K/3V33WW1VKlbc6GIBvY+udBLQ9XymQIrNI1rjxIXSvqeST780WQ1eX1TvwvlaYsHWvH Lt1HJRKjrPSc6o0OpOdbLeWSprZ+2n9MR2SR6Mp/8TIt54uGhBzn3SjCOVockFcs9BQ5 H7FGWyLryLQ9qpBDBWShvuAwMIH52gYuto2OD7Wf7wTgssf2+iY1DIFzj6Z4MCVw4TY0 8PLAKJRPAFF5RZrYaloZh3INyrgtxZ/aXQwUVrIk5SMtrRVfJXmru2IQhZqchIPGI9Is F5DA== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=U/qnItM0U27UVVqG1z6IvgJtaIK4Kvloy70lZ6Kixi0=; fh=Ldnso273692IMU0X0frFRUfKP3dGY55NqM4JNuJFPqQ=; b=cF/5PoFoY2Xk3BNlgtlHQ8B2sUvmixGoSLNOSI350/dT1RwMdTqo6ekym0jRmJ5A1+ O71OOzWzyuOlijig7o34t6M8CNqzJLxqGMslXIBpQXfML3axKG8cVX518voXFKPsMp0C vXSrBjO9fgBWgFjzl56pHM13VxDLYF9SUC7punaCSOKDCNfCIy7H0f4as7fLPNvapZEK YzwAo+keqx9oraq0He3sgwtpYW+bapD6H5B6A1ob0jGQlMOBINf9UCWvrimaQPjYXA8x wn6as2CZ0Cl/GozMRPTLTzC7zahb++Ozh+cUquFPJwOHZSq2P8YHQbFS0ehRJYF4vm8D qVqg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fIJ4SzX1; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4531c2cace4si92798891cf.725.2024.08.13.13.30.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:30:59 -0700 (PDT) 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=fIJ4SzX1; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy9y-0008BP-UN; Tue, 13 Aug 2024 16:30:26 -0400 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 1sdy9t-0007rA-Tm for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:21 -0400 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy9p-0007hO-Sj for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:30:21 -0400 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5af326eddb2so363823a12.1 for ; Tue, 13 Aug 2024 13:30:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723581010; x=1724185810; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=U/qnItM0U27UVVqG1z6IvgJtaIK4Kvloy70lZ6Kixi0=; b=fIJ4SzX1zihH4tIRKCBshNOqk7omZiJZ20vilw0ItpslrStbGTol7GysE7T8NsKwS9 jNT3EoN1mB1rkMOSyLfx3AGKa+PDYuFIpQ0WaQ27shVdm2fMlT0G404F8y85cjE0kxMM 67XHfnpvZT2k67jM4k2ljJ5jY79ydIh7TkSXG+zZuy5hyvzH80h/ouzdlaX955ibz7az 6m4odo+YZltSbcU2P3MgH3HzCnm6qeR7NgVtjcZbTlMUAuwzpDsUrUNl3b6u7nt1Jz6o cRvX5KZ9Wcz7YC2lgzd8x7ztMAAE5OoQmNGDuo4a5wfy2ShPxetno7MLyqnPt4z0U5C6 8t0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723581010; x=1724185810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U/qnItM0U27UVVqG1z6IvgJtaIK4Kvloy70lZ6Kixi0=; b=D81K6Cs/4NV4H6FfFLXiiaBpLolr2nhIZ1ABebYrBaXKmQHZPtxPS34gMytK6FLNXi FJfCd++22Ygjua6R3txz0lrRvV4kZMo2/qYi4FLk1rajQuJOXfVtLmXO1aCZ8TZL1GBh cUKedyXKC0H73rlCI3XlWsZTTDkVmpZoxYz/PbWRFjdAPrCR66+AGKCtXZ8Pv/WfIrLj udlt1kONOx5Rqwk0YKStIRIXZfhcnU58txSJyhwOkOQY8juVQDUaXF7y8krtLe6MYaiv IO4N0sDXAeKY1JQnKvLj1hXnwKCWfbzlkQhjqzMu+uoS30tywhrMuyERLbRXNPgcDMFI eyxQ== X-Gm-Message-State: AOJu0YyXRvxfy7OIupxQzcARual9jRvTCPW/MwDuhuCthAimyJfp9OqP mpxcDKYNqh4g2uYcivyIDHoH63o1cjR7Q34a+XIYD7MC2+itaoawX2lJ2/IXdx4= X-Received: by 2002:a17:907:f729:b0:a7d:c352:c502 with SMTP id a640c23a62f3a-a8362d64c1emr74542666b.30.1723581009952; Tue, 13 Aug 2024 13:30:09 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a80f3fb3581sm95891166b.88.2024.08.13.13.30.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:30:09 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 61C4060642; Tue, 13 Aug 2024 21:23:31 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [PATCH v2 20/21] docs/devel: update tcg-plugins page Date: Tue, 13 Aug 2024 21:23:28 +0100 Message-Id: <20240813202329.1237572-21-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::52c; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52c.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=unavailable 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 From: Pierrick Bouvier Reflect recent changes on API (inline ops) and new plugins. Signed-off-by: Pierrick Bouvier Message-Id: <20240812231945.169310-1-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée --- docs/about/emulation.rst | 49 ++++++++++++++++++++++++++++++++------ docs/devel/tcg-plugins.rst | 13 ++++++---- 2 files changed, 50 insertions(+), 12 deletions(-) diff --git a/docs/about/emulation.rst b/docs/about/emulation.rst index c03033e4e9..eea1261baa 100644 --- a/docs/about/emulation.rst +++ b/docs/about/emulation.rst @@ -207,8 +207,8 @@ Once built a program can be run with multiple plugins loaded each with their own arguments:: $QEMU $OTHER_QEMU_ARGS \ - -plugin contrib/plugin/libhowvec.so,inline=on,count=hint \ - -plugin contrib/plugin/libhotblocks.so + -plugin contrib/plugins/libhowvec.so,inline=on,count=hint \ + -plugin contrib/plugins/libhotblocks.so Arguments are plugin specific and can be used to modify their behaviour. In this case the howvec plugin is being asked to use inline @@ -219,6 +219,14 @@ Linux user-mode emulation also evaluates the environment variable QEMU_PLUGIN="file=contrib/plugins/libhowvec.so,inline=on,count=hint" $QEMU +QEMU plugins avoid to write directly to stdin/stderr, and use the log provided +by the API (see function ``qemu_plugin_outs``). +To show output, you may use this additional parameter:: + + $QEMU $OTHER_QEMU_ARGS \ + -d plugin \ + -plugin contrib/plugins/libhowvec.so,inline=on,count=hint + Example Plugins ~~~~~~~~~~~~~~~ @@ -260,8 +268,7 @@ Behaviour can be tweaked with the following arguments: * - Option - Description * - inline=true|false - - Use faster inline addition of a single counter. Not per-cpu and not - thread safe. + - Use faster inline addition of a single counter. * - idle=true|false - Dump the current execution stats whenever the guest vCPU idles @@ -381,6 +388,15 @@ run:: 160 1 0 135 1 0 +Test inline operations +...................... + +``tests/plugins/inline.c`` + +This plugin is used for testing all inline operations, conditional callbacks and +scoreboard. It prints a per-cpu summary of all events. + + Hot Blocks .......... @@ -394,9 +410,6 @@ with linux-user execution as system emulation tends to generate re-translations as blocks from different programs get swapped in and out of system memory. -If your program is single-threaded you can use the ``inline`` option for -slightly faster (but not thread safe) counters. - Example:: $ qemu-aarch64 \ @@ -736,6 +749,28 @@ The plugin will log the reason of exit, for example:: 0xd4 reached, exiting +Limit instructions per second +............................. + +This plugin can limit the number of Instructions Per Second that are executed:: + + # get number of instructions + $ num_insn=$(./build/qemu-x86_64 -plugin ./build/tests/plugin/libinsn.so -d plugin /bin/true |& grep total | sed -e 's/.*: //') + # limit speed to execute in 10 seconds + $ time ./build/qemu-x86_64 -plugin ./build/contrib/plugins/libips.so,ips=$(($num_insn/10)) /bin/true + real 10.000s + + +.. list-table:: IPS arguments + :widths: 20 80 + :header-rows: 1 + + * - Option + - Description + * - ips=N + - Maximum number of instructions per cpu that can be executed in one second. + The plugin will sleep when the given number of instructions is reached. + Other emulation features ------------------------ diff --git a/docs/devel/tcg-plugins.rst b/docs/devel/tcg-plugins.rst index d8725c2854..9463692c41 100644 --- a/docs/devel/tcg-plugins.rst +++ b/docs/devel/tcg-plugins.rst @@ -61,11 +61,14 @@ translation event the plugin has an option to enumerate the instructions in a block of instructions and optionally register callbacks to some or all instructions when they are executed. -There is also a facility to add an inline event where code to -increment a counter can be directly inlined with the translation. -Currently only a simple increment is supported. This is not atomic so -can miss counts. If you want absolute precision you should use a -callback which can then ensure atomicity itself. +There is also a facility to add inline instructions doing various operations, +like adding or storing an immediate value. It is also possible to execute a +callback conditionally, with condition being evaluated inline. All those inline +operations are associated to a ``scoreboard``, which is a thread-local storage +automatically expanded when new cores/threads are created and that can be +accessed/modified in a thread-safe way without any lock needed. Combining inline +operations and conditional callbacks offer a more efficient way to instrument +binaries, compared to classic callbacks. Finally when QEMU exits all the registered *atexit* callbacks are invoked. From patchwork Tue Aug 13 20:23:29 2024 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: 818850 Delivered-To: patch@linaro.org Received: by 2002:adf:cd01:0:b0:367:895a:4699 with SMTP id w1csp430546wrm; Tue, 13 Aug 2024 13:25:46 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV3uulo+hOE7cd+Sq5Zynh2KgG7yFWFvxfjlYFkhcH1kXJzB7LuopH3DvcWjVmEhh/S0iWfAwp0igomw1F3Ifej X-Google-Smtp-Source: AGHT+IE1ZcxGZZkZBVReUoSDeRWm71GJ888TUl9Qfnr8GGc2ng3gZkPL6rx0+eswqsENkismDkY8 X-Received: by 2002:a05:690c:2892:b0:64a:3d7c:2782 with SMTP id 00721157ae682-6ac99fa8e59mr6013557b3.41.1723580746121; Tue, 13 Aug 2024 13:25:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723580746; cv=none; d=google.com; s=arc-20160816; b=f0LdLxdE0MSC90a6n6caKmfderJbGVys3JhpWJBI/MaCucNlTn2/4KpyFbTLLCsg1t M9QsgYOi0QBmOwZb5Ec+rklObdn1MmmBNdkQ7fXsocGvgxZxvX+fqq8heDpuZGACOqXI uIUWTc6O49XklfcRdaYFo5B7P6NbvL9oHRLGIKdHLT/eIuivnhx1ZrGCEnt7/QM8d/FV sNtyfB2LLK2tj2hijeIFZaI43WpNo5sxepsiTfwaycmqYhDBC1mpf/bD5MskG8wVtdly FyHv5r1CAwoIh8mw+cC1cdjbCUaAySu6NYEWmk5iqcBSVLFyyU2cq2pibS127fZpRMHW NzlA== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/5zKsXaXwrEo4pGBpcSfU84L/65BuquefdOBBeKcqhg=; fh=Ldnso273692IMU0X0frFRUfKP3dGY55NqM4JNuJFPqQ=; b=NFCxOKHCHjRGixqC03F380fl1Zt1ChV33n+BwcPXIDeK2swwPmFySbYUG3C9tLAO9C C6FDyf+HIa+f2Eqsei/Ak4A5cdbi6GREEE4VInBPjR2D2zdgRsZ97yuvevUHNaYY+BC9 DDPADU9PZTzanTamdkjGpXDC081yMn0LYlllFiUbkcgegQpobrtn84YSwidDbHiVP8Pe MAV4eYvalGKSXeYlOa6vdDOXapBgxlryS3TOGujven64Ike2cUrfIXDM1G1q2tyqRR/k VAtp1XoxCuEmCDEt/RwCvNeFfk8+k+rR6Ae9GzWfsZk4pGl30B4rXgPvRZ354OOzxKUB fdtQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cPVvYHJa; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6bd82e59c66si92457616d6.347.2024.08.13.13.25.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Aug 2024 13:25:46 -0700 (PDT) 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=cPVvYHJa; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdy4B-0007Yw-Ga; Tue, 13 Aug 2024 16:24:27 -0400 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 1sdy41-0006hd-V4 for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:18 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sdy3Y-0006Je-Fs for qemu-devel@nongnu.org; Tue, 13 Aug 2024 16:24:17 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3685a5e7d3cso3639570f8f.1 for ; Tue, 13 Aug 2024 13:23:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723580625; x=1724185425; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/5zKsXaXwrEo4pGBpcSfU84L/65BuquefdOBBeKcqhg=; b=cPVvYHJafNG4aZYnutbCAah1kyFesnq+5VNbyTNqI9+4zBDHyDb+t93UUtiE6KltBI 9c7GUQUTaUzcsu5i/XsltPEMgMhVCFbI8GCPK/2x9sk425z49NQ6OB2EOGNFCPL+d7q6 JnioTUeERV6+sL1WCfj+Iqv1c2QO3QIyaLWGXddvrrJOuSkmOzt4zLspMmOH46/lYHVj rzWbqpuax1My7/8zPZo6CKeAYv/ZKEjQRTrasjhzbEMu0et8UOpNE0D0lBhBcHTXpjwr k8zjuJZN8v6BtaEAGMC+mT36Do/X4SP7mOeMOoO1us/hbiIOgBzjfh9z4FKs+RKS9WEN cXhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723580625; x=1724185425; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/5zKsXaXwrEo4pGBpcSfU84L/65BuquefdOBBeKcqhg=; b=PPLNY8dAgRQsiCXHeJKP9QPq7WLzsykqP2BGopuFputj1AtNOzfL7BMC8oJ38FGxyQ rhgJid5b4i1K21EDd+CFSS/7gFK0pqm9JPuyQLOwLP2vIM3wA/SLuxxsGP9O4wNQX1+J TN1rZgLXvkKsKQifDS69RWKDbpOzxYgzp7rUNYVGPqfBNxL+OXkGVDLMHwMmHuLMAyBX tEW1TAKPoLcP0lh9Upna7ulo/4iYANMDqFy+eZgQDE3wDUPSuZxaN/bi2uwjc/XvDN6r dzHcp11Ui2siCRMoo4Yhn33YPCSzDUHxVRsesSW8HFijNlAyLBBICRI6xHXSy3ls/goR OfKg== X-Gm-Message-State: AOJu0Ywpf7dlEsRagrz5AriZ9bcHBNNSOrTM/d3dQrWJtOvz4HTUTNDd ZuP1L1TIxpHHYJcs+Zn2I6lPTyoEZWlTb0ZiOuE2yeom3tVI4r2TSlC7AoKUYTc= X-Received: by 2002:a5d:4985:0:b0:367:9769:35b0 with SMTP id ffacd0b85a97d-37177756b87mr471286f8f.4.1723580625112; Tue, 13 Aug 2024 13:23:45 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36e4c36ba5csm11299186f8f.2.2024.08.13.13.23.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 13:23:40 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7859860773; Tue, 13 Aug 2024 21:23:31 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Alistair Francis , Michael Roth , Palmer Dabbelt , Mahmoud Mandour , Pavel Dovgalyuk , Yoshinori Sato , Weiwei Li , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Markus Armbruster , David Hildenbrand , Beraldo Leal , Liu Zhiwei , Eric Auger , Song Gao , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-arm@nongnu.org, Peter Xu , Jiri Pirko , Eric Blake , Fabiano Rosas , qemu-s390x@nongnu.org, Peter Maydell , "Michael S. Tsirkin" , Daniel Henrique Barboza , John Snow , Alexandre Iooss , Konstantin Kostiuk , Pierrick Bouvier , Cleber Rosa , Ilya Leoshkevich , qemu-riscv@nongnu.org, Thomas Huth , Paolo Bonzini , Richard Henderson , Jason Wang , Bin Meng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [PATCH v2 21/21] plugins: fix race condition with scoreboards Date: Tue, 13 Aug 2024 21:23:29 +0100 Message-Id: <20240813202329.1237572-22-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240813202329.1237572-1-alex.bennee@linaro.org> References: <20240813202329.1237572-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.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=unavailable 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 From: Pierrick Bouvier A deadlock can be created if a new vcpu (a) triggers a scoreboard reallocation, and another vcpu (b) wants to create a new scoreboard at the same time. In this case, (a) holds the plugin lock, and starts an exclusive section, waiting for (b). But at the same time, (b) is waiting for plugin lock. The solution is to drop the lock before entering the exclusive section. This bug can be easily reproduced by creating a callback for any tb exec, that allocates a new scoreboard. In this case, as soon as we reach more than 16 vcpus, the deadlock occurs. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2344 Signed-off-by: Pierrick Bouvier Message-Id: <20240812220748.95167-2-pierrick.bouvier@linaro.org> [AJB: tweak var position to meet coding style] Signed-off-by: Alex Bennée --- plugins/core.c | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/plugins/core.c b/plugins/core.c index 12c67b4b4e..2897453cac 100644 --- a/plugins/core.c +++ b/plugins/core.c @@ -214,30 +214,49 @@ CPUPluginState *qemu_plugin_create_vcpu_state(void) static void plugin_grow_scoreboards__locked(CPUState *cpu) { - if (cpu->cpu_index < plugin.scoreboard_alloc_size) { + size_t scoreboard_size = plugin.scoreboard_alloc_size; + bool need_realloc = false; + + if (cpu->cpu_index < scoreboard_size) { return; } - bool need_realloc = FALSE; - while (cpu->cpu_index >= plugin.scoreboard_alloc_size) { - plugin.scoreboard_alloc_size *= 2; - need_realloc = TRUE; + while (cpu->cpu_index >= scoreboard_size) { + scoreboard_size *= 2; + need_realloc = true; } + if (!need_realloc) { + return; + } - if (!need_realloc || QLIST_EMPTY(&plugin.scoreboards)) { - /* nothing to do, we just updated sizes for future scoreboards */ + if (QLIST_EMPTY(&plugin.scoreboards)) { + /* just update size for future scoreboards */ + plugin.scoreboard_alloc_size = scoreboard_size; return; } + /* + * A scoreboard creation/deletion might be in progress. If a new vcpu is + * initialized at the same time, we are safe, as the new + * plugin.scoreboard_alloc_size was not yet written. + */ + qemu_rec_mutex_unlock(&plugin.lock); + /* cpus must be stopped, as tb might still use an existing scoreboard. */ start_exclusive(); - struct qemu_plugin_scoreboard *score; - QLIST_FOREACH(score, &plugin.scoreboards, entry) { - g_array_set_size(score->data, plugin.scoreboard_alloc_size); + /* re-acquire lock */ + qemu_rec_mutex_lock(&plugin.lock); + /* in case another vcpu is created between unlock and exclusive section. */ + if (scoreboard_size > plugin.scoreboard_alloc_size) { + struct qemu_plugin_scoreboard *score; + QLIST_FOREACH(score, &plugin.scoreboards, entry) { + g_array_set_size(score->data, scoreboard_size); + } + plugin.scoreboard_alloc_size = scoreboard_size; + /* force all tb to be flushed, as scoreboard pointers were changed. */ + tb_flush(cpu); } - /* force all tb to be flushed, as scoreboard pointers were changed. */ - tb_flush(cpu); end_exclusive(); }