From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540175; cv=none; d=zohomail.com; s=zohoarc; b=amHP5l/kGLxpvJ9crqz0QuyRe6VtIon+mJEB1FMpLzV2iXg4XQnbJrN6EJp+/0buOsPbyujMfLzvX4nwhDuiAyRwoG70dv4n3sLG6U2PzOIqwtbkJ0ePen7R7zSc6pFnyQ2AQzl18YycMfXTkd/txY2d9BWzdrWhtyUGxiqooGM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540175; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zSMALvjOcbwDFxdBZhQQT9TGvgwhtr1LjNKTHw1swdk=; b=mJYR48SMUM0FXzu/IFvFf8nqZIUj8QRmNWF1bZnbe/STTY299fKikPW2Y75whfh2ZnOshHEBk8DJyA+Ol7aQGzkeDQcQzk7kHBGX7n2AwRb8qiq0oIDctR8jdg9P5fpZJq9MzJ+G5/AW1nsnnW6QlJMtfmvFxsZPpBHSqrxDsfk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540175894156.86816057840542; Thu, 3 Jul 2025 03:56:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHbi-0003He-U7; Thu, 03 Jul 2025 06:55:59 -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 1uXHbc-0003CU-L7 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:55:53 -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 1uXHba-0000fO-Fp for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:55:52 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-450cfb790f7so66275425e9.0 for ; Thu, 03 Jul 2025 03:55:49 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a99878acsm23317615e9.17.2025.07.03.03.55.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:55:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540148; x=1752144948; 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=zSMALvjOcbwDFxdBZhQQT9TGvgwhtr1LjNKTHw1swdk=; b=uES0ARvqtqb9JjWHMWq70yZHbqSs3OQPykTGTBVCHOMwcwU/D1/mcTfRzevYk5d7QF NTDRWHCo+Vyn7Fr8gh0pFbh0l2iXm4KKfaoh7wjjR9skHsxQIbHlCgJUMWuAzLBUJ6zi +st01dkslofiCGQBWwwzKszyN0Fkfi0mMmhWLZPis9pxNcjqxmOgQS1ybmacw+aqGS5f FOETTfAW7PM0QkaGRBqk2F0I884wvWz7Ah3UFbgVnpJqPFwLJyKPZ3OPoYvQiM8ovzDI mFm5a48ZJId9XGHBOfpmB2qRe1oKkI6apM9dAzgVuFQE6461eUi60MQqeSr15y4AAoLd MOLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540148; x=1752144948; 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=zSMALvjOcbwDFxdBZhQQT9TGvgwhtr1LjNKTHw1swdk=; b=nVjuoCS5JyB3j8sv+W2g5heaAA9rqFFk8v+hATsY77lBXaTpcWI2R3vI/Y9mBKMi+w DG94Rp6tLV0+GlZv1alyfeuU3MfV67tRGzC4xuY6/IYq3zNTZUQ5BOuokuWmqg2qFxI7 38rcN2zeLgX1IK6ICbwocxfusRnSUo0tUdcKnyIr5MVW4cyFRRACh/b9s8DW2X89ig5F QCttOzhYyGf73tAZD363ignmbOmX4qbiPs4u4m7y4r0h6ubOkHwwr0r1QRJbgGrTHaAJ 3R+siad+/xKb5WWXS/z4saA9ATfBeE4/uFAOdPbnWTjvrWTSw/ac338zPx/ruIE++w0L dOEQ== X-Gm-Message-State: AOJu0YzH6tKxOKoRl4HNjFO02KrUwbtpCwnyqIPyYTADU4hr5cRIjKpf YlfZ2GorDoDG4e+17KWDcN6AKN6dw/0ev3E/yqHrS4Q39W7TzevNF5iPUwKPBjHqUpWWAP5vBVP sX4CORmc= X-Gm-Gg: ASbGnctio7eUeadlSsZbmYX7lwvxzAcd1WJXzDj8ERYPDxMmd/aJIUph0AyypEWGM7m 2xcJFFTI9v2TDHQ5olD8XVSC5j34RdGZ19hovmHoT2yL2f7vOgmuLlHebvpx5xH3WyjZ/umAHz2 VdkP5iHPgDY0rdOLuilCxZkZ+dyzb4EfYSjGVa+e47Sz6M2nGZn/isz4orNhM7h56HCRoLyYlbY 8MBGrH+hmcDsmiMdUUXdvB2IPesdGzQiC4apu5GHNL8X/yooq6IsDDyATlXu5GEvFfjvV/q+/I7 HYYlwjKroTfTe7K28Mw1I8ipnCiei/vT63FD+TMzjtEnHAE+qxf0i7Ma3kTSzrjrOvuuReWMBGj HCNdSgq8/Udg= X-Google-Smtp-Source: AGHT+IHsgLTYJuE3+vBF70Bo7sHjatYYUMFJS63YQEPTiYpJlKzOhW/uNLJUerhl3hURkYIrdf6sNw== X-Received: by 2002:a05:600c:3b15:b0:453:608:a18b with SMTP id 5b1f17b1804b1-454a36e5a0fmr80144165e9.9.1751540147866; Thu, 03 Jul 2025 03:55:47 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Xu , David Hildenbrand Subject: [PATCH v5 01/69] system/memory: Restrict eventfd dispatch_write() to emulators Date: Thu, 3 Jul 2025 12:54:27 +0200 Message-ID: <20250703105540.67664-2-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540176908116600 Commit 8c56c1a592b ("memory: emulate ioeventfd") added a !KVM check because the only accelerator available back then were TCG, QTest and KVM. Then commit 126e7f78036 ("kvm: require KVM_CAP_IOEVENTFD and KVM_CAP_IOEVENTFD_ANY_LENGTH") suggested '!KVM' check should be '(TCG || QTest)'. Later more accelerator were added. Implement the suggestion as a safety measure, not dispatching to eventfd when hardware accelerator is used. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/memory.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/system/memory.c b/system/memory.c index 76b44b8220f..4f713889a8e 100644 --- a/system/memory.c +++ b/system/memory.c @@ -25,7 +25,7 @@ #include "qom/object.h" #include "trace.h" #include "system/ram_addr.h" -#include "system/kvm.h" +#include "system/qtest.h" #include "system/runstate.h" #include "system/tcg.h" #include "qemu/accel.h" @@ -1530,12 +1530,7 @@ MemTxResult memory_region_dispatch_write(MemoryRegio= n *mr, =20 adjust_endianness(mr, &data, op); =20 - /* - * FIXME: it's not clear why under KVM the write would be processed - * directly, instead of going through eventfd. This probably should - * test "tcg_enabled() || qtest_enabled()", or should just go away. - */ - if (!kvm_enabled() && + if ((tcg_enabled() || qtest_enabled()) && memory_region_dispatch_write_eventfds(mr, addr, data, size, attrs)= ) { return MEMTX_OK; } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540217; cv=none; d=zohomail.com; s=zohoarc; b=OqYzjF7qTUbolBk9FpwBiVuZg0pkePYsEasB4DV7RcuwrQSqK+wNy0Jii5tsRGP24y4Ov3NHZGZSxNjwyBkem4j5DLQsSEciqzl3xCDQH0BKqC8rMpxgm0gmKC/8JZx7Af2xy+BUvepNdAoqGD1t8FJEOBbYsN+f5BvdxR+SoLQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540217; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ThHRepOjVOPYIURDCNeQdikGEVpKaGb//EjFvlftJxg=; b=V+jz4/3L7ueSCuz8CjjVQKIottyE6ZVJBgrVpzLauDfKlQEpnb5GIiirrrZ8pUlDZP3Yn/3gRa0O0KXbtBiapBSEf0Gr2bHTI59VImF+YKh7/tVsmjxUEwcQjR1UwTCr7N0cmtFGZxzE/NTi9Sp3Dt4WNeBDX9ZvJ2NgfjaFgP4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540217122410.6937755093917; Thu, 3 Jul 2025 03:56:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHbm-0003SC-7N; Thu, 03 Jul 2025 06:56: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 1uXHbh-0003Mq-Sk for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:55:58 -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 1uXHbf-0000gw-9t for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:55:57 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so553666f8f.0 for ; Thu, 03 Jul 2025 03:55:54 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9989fcesm23254235e9.16.2025.07.03.03.55.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540153; x=1752144953; 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=ThHRepOjVOPYIURDCNeQdikGEVpKaGb//EjFvlftJxg=; b=bLd4yH6XSRQbDDgdLl23Uu+0l50OhpcuESsehK6js/4lLiHXWHZgpyO0CvmksTWjEB 0Bvs4ItjQ/iauWeGn1Dp8Whzwn4PeSJyXDcfcUrA8ODACzQxydXcjWls+5dG29LGBtz0 6j9st2/GRkpqjJFylzhJD1C6tAJf3pVYPMqnHb1YHCrDhJnM5m2hRfgI3E5qA9IGm6Eh a8rzQDOpeswy9qJaZrvkc4UyNThYK8BNx8u9pbBrLfF7WciM6dYUKcJgm3ZifRl3C/av xFUH5WMv3oKgn2+FnePLQib7OeEwTKn62jGZHuw7ZlP3k0oFYln545NwI2nBafp/gIff cU8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540153; x=1752144953; 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=ThHRepOjVOPYIURDCNeQdikGEVpKaGb//EjFvlftJxg=; b=wxI9S6NXDK0oziJ7GB+hQI/3notv3Sv4QTvGnQUtZ82oO/wve+Ih0E2pvLxJoSFfVF KkmyzCkaREda4XKFJpUmYhAbIDltLCJgHrWYUWW2uy7mzgNrIqDW1uf++w/bTizBBoWv rHuGtZiFekDyS/qTkaEITBai0FjINSUYWZf42XWXlEh8S1owcgP37Y48gP6JnJSx7EWW fEYsTOTYlqv1edYedlWPFVkYwGbVNp3RzYi/CsWZKUzkMtpIyDFYyRzNhsPeX1/TXMMe lCmJSig5DJtXXVnmwvzKPNNetGqnG5xtqlN2/02piSgE4JrtS1UTSNwWtKwSSADw7e5s IiCQ== X-Gm-Message-State: AOJu0YwWg6lEwupNjORAAXXVcrK4t9+8WzCjjJf8dJj4Mj/zH3qP/dqI rB5BGXjxSTTVaJYL0hNwDDyp8g1eV4ziSemauQPs9MhKH4o6FFcCIXPMznaQa5eI2UJwLjRe9OH wW15UG40= X-Gm-Gg: ASbGncuYPu/PbFeSPWIYZpF6mmdESl2VG+7kovdEZ3FrDBfKgoZIzVQxygCO5zaZKcx XP8vIotcrCP+pPl1cN9+wyyHwRt1jtr/bhgg1FjyEG5Wlc4l1+MzZwHMM7uelC//XrWayncrNLn WFjmnL8wG/ImBoH/gdHdmJOiPAb4mqiEijZt9R7IoelYHxpZty+tipHVp4WvRj9beFogoqFPZfE KZr1mYs+QTr7N+D8bCuCzxs92rZ3G3ywK/kqt1sF8X1Im+RsYhgfwBHabr5k3L7r1LXnzwvpwt/ /ckwvCHvltv/wYF8FsRcMx1I5xnCEgN74iLbaGHZqpKPeg7xhfY6BUeaiTaWeD8D1rvJe8FI3Yi g8LEFdZsZX8s= X-Google-Smtp-Source: AGHT+IHIbewtIS4hSJa1mCuaiIjfjhd4Oy7tVjRfFIBcswnH773BBovjpNdcNQAcYJg3AxkQMprC2Q== X-Received: by 2002:a05:600c:3f10:b0:43c:ed33:a500 with SMTP id 5b1f17b1804b1-454ab34622dmr22498465e9.10.1751540153083; Thu, 03 Jul 2025 03:55:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 02/69] system/runstate: Document qemu_add_vm_change_state_handler() Date: Thu, 3 Jul 2025 12:54:28 +0200 Message-ID: <20250703105540.67664-3-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540219310116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e --- include/system/runstate.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/system/runstate.h b/include/system/runstate.h index fdd5c4a5172..b6e8d6beab7 100644 --- a/include/system/runstate.h +++ b/include/system/runstate.h @@ -14,6 +14,16 @@ void runstate_replay_enable(void); typedef void VMChangeStateHandler(void *opaque, bool running, RunState sta= te); typedef int VMChangeStateHandlerWithRet(void *opaque, bool running, RunSta= te state); =20 +/** + * qemu_add_vm_change_state_handler: + * @cb: the callback to invoke + * @opaque: user data passed to the callback + * + * Register a callback function that is invoked when the vm starts or stops + * running. + * + * Returns: an entry to be freed using qemu_del_vm_change_state_handler() + */ VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler = *cb, void *opaque); VMChangeStateEntry *qemu_add_vm_change_state_handler_prio( --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540186; cv=none; d=zohomail.com; s=zohoarc; b=E9VIgsfIcpYTxE+FKwJM+WPkeLYn2piRg+laeUah40lU1rGnjooFVjtEnhpGDZe9KI+zvtY+grD8Im29kI+tbd4Os2KTBPyEQp3zztnQ3LYFz9jtoFawfvrLXQLpz9gdjvh0GTK3Jj9SnuD93GD8uhQHwvvK1QdxQZFZMQozF+I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540186; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uxv4WhKLwrx5svsx0yY+vpPljgpJNa1VqbPNSHemHI8=; b=EaSCterjM2EH/SPW8r0VRrOTcNezPDEjo6MfbMVPSUe45nDxPQ/LCvrHWebKRq4iTt26P4gvnJaWY0gd1xbizoIorcg0MDpaLSTxmtpWGAUOuyOvw74Wwmn/kAvBWOusDtOygRytJOI/jTYieDa/oquprE4/Yk6FaSJRPJ9H8gc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540186909218.84753764530262; Thu, 3 Jul 2025 03:56:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHbp-0003Yd-NE; Thu, 03 Jul 2025 06:56:05 -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 1uXHbn-0003U7-0a for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:03 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHbk-0000hu-AY for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:02 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4538a2fc7ffso6133665e9.0 for ; Thu, 03 Jul 2025 03:55:59 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e5f842sm17994943f8f.86.2025.07.03.03.55.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:55:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540158; x=1752144958; 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=uxv4WhKLwrx5svsx0yY+vpPljgpJNa1VqbPNSHemHI8=; b=P/mzv42460hiqJVm9npV4IBOaFfm3msQBWX+lhQJuToagU6bGdRkczOrxc3HUZnI2K rHVYZdzyKzpy6yMAyMKim5OTO5l8mDfjpDq/I6RI2gMcKyG5zT0CZcV0W/W3/R7BZU6Z IoiONvwBIAmGkP4/g3GRBXrPEXfD2pMErRt2Q6/pW+dR+mODQNc6CBET6YsYiDUd7mnZ MtZj0qBtvkMgchNGUjY5hKtXotVRgsq1xAjN46y2odv/Kpdy/su5r5yBflVLB4fgfRXP qGEdOWvt5Qic/xp47DP7FaA97Q33kdaQX4GrakutzD02JjnmWPD7/vpZ1RDu5+hmVapL 4INg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540158; x=1752144958; 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=uxv4WhKLwrx5svsx0yY+vpPljgpJNa1VqbPNSHemHI8=; b=ABhVk1tQR9DBxxPoT1w6BKK7HRyERVojsFPHEOWPkNKP41u7Jv8acBrrT4GbQkqu/t vSSOFmvtgmhtVyMXs6SLeO3eR0yKrb5tsTjixWLVY+ar0LKx+lowl9XZij+Mj427q0rH 3eLxjT/30CTvMJkR48Rsl6qtZ9Hpb6HMbIOlupGGImKhdXI6X/jKPYxAtE1oZVhMeB7b UXMDzqDreU77uEg+NyQ2WVRMewWiJ5eu0kUAHdZXRl7pcfCguW7oisbAT1RorcEt/PUk HkgX4EuhVpRfaXoOZA59zesLFqUg5vWdirga4A6Poufe1adhTOp2juORC0Tl5Vpk+eVC 0Lgg== X-Gm-Message-State: AOJu0YwRrc1cPwWDowGLaG261jzB0OScWiKBV5B94muoWTa2cKJgqOm1 cu40gu4+8yJiBwp4wk9tcjkg/VEJYputmoSzZi3N5HqOXFQuPC2aku34XctlnCLctaFGsf1U9O0 NvWIVh7o= X-Gm-Gg: ASbGnct3vXebuhk4N3jSIoV6AaY53hsDKnMuV61IFMY3/1GK+8ruN5ltU2EAhKTytLs tvULOAJ+RxjuGduWrWeBWU/C+gPb4l/n11T4hz/vzIaG4EUAdAeKCX4QNOr3Tg+MJtezOdH7oEQ EPhAwFEPF0gu7A7066jDl+UvR0eMl2rJ3ohQ/X6iu+a1+dyRiMEeWZwvPHsNNM3xB6Lz0O52TYe PUzBoo6iFnTjG3q7/6KkJ8S9C6yy4K5U1U0EU+iD8tOPg0eUuaJo6uRtqw5yxoII8iwSMfGByy6 A74J1cSLUeq/vhAkEXblUZBe0QTiZCHxjbdTyADlc65V8nIr3TeLUSB6dxrDzPG7i4prtzLKNNR nssysHYr2EfE= X-Google-Smtp-Source: AGHT+IG1H8ch3ShI0aRQrECwXhkob5OWrVYrH2E7ESnTzOKHx1oaywxwnUfPeiJs+ptFSaoNI/+HhQ== X-Received: by 2002:a05:600c:3b89:b0:453:84a:e8d6 with SMTP id 5b1f17b1804b1-454ab2ecdafmr23612155e9.1.1751540158345; Thu, 03 Jul 2025 03:55:58 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Xu , David Hildenbrand Subject: [PATCH v5 03/69] system/cpus: Defer memory layout changes until vCPUs are realized Date: Thu, 3 Jul 2025 12:54:29 +0200 Message-ID: <20250703105540.67664-4-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540189017116600 vCPUs are not really usable until fully realized. Do not attempt to commit memory changes in the middle of vCPU realization. Defer until realization is completed and vCPU fully operational. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/physmem.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/system/physmem.c b/system/physmem.c index ff0ca40222d..8b2be31fa7e 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2792,6 +2792,14 @@ static void tcg_commit(MemoryListener *listener) cpuas =3D container_of(listener, CPUAddressSpace, tcg_as_listener); cpu =3D cpuas->cpu; =20 + if (!qdev_is_realized(DEVICE(cpu))) { + /* + * The listener is also called during realize, before + * all of the tcg machinery for run-on is initialized. + */ + return; + } + /* * Defer changes to as->memory_dispatch until the cpu is quiescent. * Otherwise we race between (1) other cpu threads and (2) ongoing --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540482; cv=none; d=zohomail.com; s=zohoarc; b=Zm48V0bf6sGMQ7zeQIuVJxVK3XKyOpn78NgW8pHZu99Tgw8tqmOnaPptsQx1XpzpQ3tQZthI4G0WK8NSAEoGKFk2mEFiZba0f6IAq2wa1fDt5iLonu1oQNor2RuJY18FpaakNHIpKOCLWMdMpwlOpldU+ysAOTh8De6yEsKSX60= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540482; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eMVCQTvVGe/Hz2DEmM07zNOYeNDGY8/7Dwwnom0rM8Q=; b=ZQn6F26FLKThpY0YBT4bPd6HmFki/i9msX4FgeOLAwLVoRf2hnQZw/prfkl/bybkNhmkYce5c+mBqf/9NOzQnqagSJqDjqk0nTSFwwBEDD4AglFCATTQWIKymaUPAJ1p5HDTp4jLDOVubCtm9tBqzleCrHcp8iTYmBgsV28wdLc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540482983742.1553290121627; Thu, 3 Jul 2025 04:01:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHbx-0003u3-3b; Thu, 03 Jul 2025 06:56:13 -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 1uXHbs-0003jN-0t for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:08 -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 1uXHbq-0000jJ-6A for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:07 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-453643020bdso68396655e9.1 for ; Thu, 03 Jul 2025 03:56:05 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9969a8bsm23455185e9.2.2025.07.03.03.56.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540163; x=1752144963; 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=eMVCQTvVGe/Hz2DEmM07zNOYeNDGY8/7Dwwnom0rM8Q=; b=ad9paKDBomAiWjpGtq6QoKimix6suRx1+sZhiqdGG1Dcj5d1eGyLQ9V+UpEEjhupH1 9pTEqPgOjVmAW6kIDjiFt0S1FdO2NTVGB/RufNtsvp3DLUEbmHm9U7/3B/AR+bBn/qTH T6Ra/JQU/xQTqz0j1tkmTa4Qiy7m9JQ79cVWlHrXHfIZrtQ+mhDrfu+UeioxbVEdtS5e 7dEBE87mXwg3/aC9AAv2eiyRMnGAAoGT/aKOvNI6CAPVhAWFGzisruNK0evPTts8urkL 5yqHFM/7QVU2ni2gvTNE4nKWTy99Sw+8zBIKEpHtHnR+OjNb9whM9APKMAA52hEif3wK a2SA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540163; x=1752144963; 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=eMVCQTvVGe/Hz2DEmM07zNOYeNDGY8/7Dwwnom0rM8Q=; b=keW0KpYK1PoeDGnGHv3M8BWqRZsSdUAKLpKw/bfgOotHfanFASokhaTv7hg9wC5JvL dX+GHZ+soF3nktJwksNEax5fq99yFgSa20yUt/3s6VYCjc14Tr/NYbglaWVJhCIMy1b5 KAMZob3H321+lT/CVveZfMVbCSF6i3RcYaKxdiBRUxpZN8cfrGzVQt0e56xf4fUuPG2C RDDazP35I6KRtJoPnyR6jq5jmJJm6rV+/XNhDGFCes7xF3iFihC5yfqnkKVq3h0xaoO7 unMJ9iCsPlqZr+gTvrqtBXHVM4T+rQkIpgZ/Yo6mHgjuuJKUzyTulkrWVxQ+rnbV5rkn 3pdQ== X-Gm-Message-State: AOJu0YyT2TjyxtXYGn5X3uljRkrCztYeB6zOKGYSnryqwmvSgC8BMc37 v1FGBnGCa4whLBq41lOglsC7eh2rbHwEyUy1AYOPMZkE36LZRYXx5ZRN1Bou4CTNIyQC0FCdypq KC2BjEQs= X-Gm-Gg: ASbGncsPC2j0ROYgz13LxBGhw+i9pxW13jyuad0D0HAtUxgbx9NvimBAZu+oQTK1gzy b3JxcS7XSatscNvWHzUEdGRKdVEuV+CVksEQmvy0yu/MbGFqE0hxFlxrFCYUNKw3kWlkEq+xz+W UjVioIlb7j8UPSl3aJOxH8fEe+JqCqe79LaSSAnckLJZiKuBcnR/Kt5aIduQC8gFPFWhWN6bOKj z3lkhVgRx8IsEbt1TnPGW0HfRCHxI7tn9DZ7aOCLBi7tOsNig2Cw8657Phr6IZGS41+OaXITzcg Y8uug3/RLp0kp38aQwpTGxeWZPY19jAWJOdndJ2/oJA2YXOH3hOGvF2U1Z1qWV3iRFnmoRFN6dD av6MgsGK52vyDtU0F1Ftw3g== X-Google-Smtp-Source: AGHT+IHRXWokL5MOT0i7s0s1AgeUsTebRY+EJxnCZglAAZYqkG9epS9CkFuuRnILEdA3VJz5woDksg== X-Received: by 2002:a05:600c:3f05:b0:451:e394:8920 with SMTP id 5b1f17b1804b1-454a372e226mr57162345e9.27.1751540163340; Thu, 03 Jul 2025 03:56:03 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 04/69] system/cpus: Assert interrupt handling is done with BQL locked Date: Thu, 3 Jul 2025 12:54:30 +0200 Message-ID: <20250703105540.67664-5-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540485331116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops.c | 2 -- system/cpus.c | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index b24d6a75625..6116644d1c0 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -93,8 +93,6 @@ static void tcg_cpu_reset_hold(CPUState *cpu) /* mask must never be zero, except for A20 change call */ void tcg_handle_interrupt(CPUState *cpu, int mask) { - g_assert(bql_locked()); - cpu->interrupt_request |=3D mask; =20 /* diff --git a/system/cpus.c b/system/cpus.c index d16b0dff989..a43e0e4e796 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -265,6 +265,8 @@ static void generic_handle_interrupt(CPUState *cpu, int= mask) =20 void cpu_interrupt(CPUState *cpu, int mask) { + g_assert(bql_locked()); + if (cpus_accel->handle_interrupt) { cpus_accel->handle_interrupt(cpu, mask); } else { --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540229; cv=none; d=zohomail.com; s=zohoarc; b=nwHR2A3VPg8pfnerCH5NDS5qBZfBNgmZpcnQE5O0m1Cz2EnLTyGQaRsP46NJmDC2J/yMWCh16bcQlgbI1jF0WuuEKpqzCJpR/zF3z9PTFIc+hmN9a0NIsoKRmcHDunOMn/9F8wHPxb3qdMGK3EcKsFTpFOZ24GFtk5oXz+lcUjA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540229; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3xbRlHjkCKfI6F0ZyZVDa30naj6O26Xxb9NXVgkrI2o=; b=R9Ko2awR/r07KZ8ZTjfH0V6pYBOwXt/eoEBe5Ea1KS8JYYKoATaWImkj5sA0gwcjizb4RHEA2Xb1X8EkKHeDzUe+RuqOIm+XG2xHXcsd3fFXTSn+44wFrcTpBmI5GRS+KBhXqTIRDwiUKIBRZCOlderWAmxUOsk8bK8Dz++bk18= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540229081162.30353275474988; Thu, 3 Jul 2025 03:57:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHcU-00046p-9b; Thu, 03 Jul 2025 06:56:52 -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 1uXHbw-0003uV-Lw for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:12 -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 1uXHbu-0000mg-Ly for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:12 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-450ce671a08so36025295e9.3 for ; Thu, 03 Jul 2025 03:56:10 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453a85b3016sm60231825e9.0.2025.07.03.03.56.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540169; x=1752144969; 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=3xbRlHjkCKfI6F0ZyZVDa30naj6O26Xxb9NXVgkrI2o=; b=cbKfTsep17+0mzUAO8npzy/97ou9nyRdBEu/gnb0TOeWPXrRJKwvCtUkBKgT5tJhzX FyUG9Fvyko4Ap3VZT420tYjPqMxUDlrQ89VD5+pk8EfYSm9Ip13cJgpf+xsjkINTGRPG nnuS1XOS5BKkmt5V1ImjZiD0syspF1BvcLsqlAMu04xjNggVG7PVJ2YlVo7XIfUHE+Sm UgqiCka7tysbsafVHWw3hIVnNrS1BWJ9xQYrxwcChlE3j85J0uHRwxSgx6GxDxG2HZrI kLnbntf6212O1G3BSqQkoOM9ntdHqUpEqTRIzuVMrV7AS6BQatmf1WOg+XSiDQVSYNFX reNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540169; x=1752144969; 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=3xbRlHjkCKfI6F0ZyZVDa30naj6O26Xxb9NXVgkrI2o=; b=K2JLr3J768nkYhJV7Tiy/BhkABp/UQC+qrWXUKcpdQVhs5NYREWLYJ+UIa79P+S7mv bacTkOYmrjMIgCvt80d3ReyIVhd4bGkaG1OtrDZB/MmcAEGavMewcHBWSOME2HJj8fca lUviNi9g4/w8XMFiZj2EPAaLcr47QkAxbhaB+PsZbqyUVXcifrijXG5UxAH084IwBlug n/Y4ErVxuoWGyprM1hu5JJDqM0kB1WnFH479ltaOn1EV9VUjS/YXE25lFyu/mqm0dHWc Cz1XGUgRkvrjkmZ560+UwBFJonQgcCkiU30QknDobM84+KUu7G0VwH6goDYL7kHs4Y0g UTmw== X-Gm-Message-State: AOJu0Yy3bByX62Qq9yufHxu/cNsas5uQTs7kUitue7lkhkQzjjjG5Z9u Taab7Bs6757bu7Fc1E79Z3LRRfrQ2sxTHmd5ip2RWFLkWwIkwhwgBJnIuFg73z7+tQ+RaBAVWZX I+O+y1n4= X-Gm-Gg: ASbGnctREn6buUk4GadkRrIG2+WPOhUr4AXFzq3HYxGr9OvG3DEuvaE94WPdNCydfQd qr9a7DZsGnQvyDjg1WZe3NIZ6wMTmmS4RiW28AGQBl4teu2laqd51RLTl+W7rFdq9Dm5KqooVo/ F+xIcUffXEhi+oDvTxX8bNGNTNLzmnkKNLfJ+ZcqwfjDCDwqpuqtjxm7020hhv47esZfaJJ5GjS xKnbnX5k+KYrwhVzxBrmuCd4cYASzZRi46dzU0haAxh/x2gWmTquDnsYlE+C3ckhbR5PJTZ2e1v 2WhfABd586zSmxWSIMKRO4A0Pqta6zc/r7rbrI3Sv+PGIyaBpxqmCjH1iPNIBIya+igB7S5nTOw cZavR+/2rkT8Hxc478jWIqw== X-Google-Smtp-Source: AGHT+IEC8dV01TEPNItTxkxi7fjNpsKqhBhsTECgtqMBuC3s0JlSf27AYqBUKou7E9aEBPF74FuvmQ== X-Received: by 2002:a05:600c:c085:b0:440:61eb:2ce5 with SMTP id 5b1f17b1804b1-454a370cd01mr59147005e9.17.1751540168438; Thu, 03 Jul 2025 03:56:08 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 05/69] accel: Keep reference to AccelOpsClass in AccelClass Date: Thu, 3 Jul 2025 12:54:31 +0200 Message-ID: <20250703105540.67664-6-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540231365116600 Allow dereferencing AccelOpsClass outside of accel/accel-system.c. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e --- include/qemu/accel.h | 3 +++ include/system/accel-ops.h | 3 ++- accel/accel-common.c | 1 + accel/accel-system.c | 3 ++- accel/tcg/tcg-accel-ops.c | 4 +++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index fbd3d897fef..9dea3145429 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -37,6 +37,9 @@ typedef struct AccelClass { /*< public >*/ =20 const char *name; + /* Cached by accel_init_ops_interfaces() when created */ + AccelOpsClass *ops; + int (*init_machine)(MachineState *ms); bool (*cpu_common_realize)(CPUState *cpu, Error **errp); void (*cpu_common_unrealize)(CPUState *cpu); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 4c99d25aeff..44b37592d02 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -10,6 +10,7 @@ #ifndef ACCEL_OPS_H #define ACCEL_OPS_H =20 +#include "qemu/accel.h" #include "exec/vaddr.h" #include "qom/object.h" =20 @@ -31,7 +32,7 @@ struct AccelOpsClass { /*< public >*/ =20 /* initialization function called when accel is chosen */ - void (*ops_init)(AccelOpsClass *ops); + void (*ops_init)(AccelClass *ac); =20 bool (*cpus_are_resettable)(void); void (*cpu_reset_hold)(CPUState *cpu); diff --git a/accel/accel-common.c b/accel/accel-common.c index 4894b98d64a..56d88940f92 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -10,6 +10,7 @@ #include "qemu/osdep.h" #include "qemu/accel.h" #include "qemu/target-info.h" +#include "system/accel-ops.h" #include "accel/accel-cpu.h" #include "accel-internal.h" =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index a0f562ae9ff..64bc991b1ce 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -85,8 +85,9 @@ void accel_init_ops_interfaces(AccelClass *ac) * non-NULL create_vcpu_thread operation. */ ops =3D ACCEL_OPS_CLASS(oc); + ac->ops =3D ops; if (ops->ops_init) { - ops->ops_init(ops); + ops->ops_init(ac); } cpus_register_accel(ops); } diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 6116644d1c0..37b4b21f882 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -196,8 +196,10 @@ static inline void tcg_remove_all_breakpoints(CPUState= *cpu) cpu_watchpoint_remove_all(cpu, BP_GDB); } =20 -static void tcg_accel_ops_init(AccelOpsClass *ops) +static void tcg_accel_ops_init(AccelClass *ac) { + AccelOpsClass *ops =3D ac->ops; + if (qemu_tcg_mttcg_enabled()) { ops->create_vcpu_thread =3D mttcg_start_vcpu_thread; ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540583; cv=none; d=zohomail.com; s=zohoarc; b=jrCwAzEZ+vmR+zQ1GK8vifFafzQ5ZgruZJeW5H5QwtIOIEIa0zTWc4hnT5RV6iE6wHjUrQ+Q4w3VnF3zKboufm2jmXa84vo4mrNQN0yAgrAD5YAeqVU8Xgq+HnUMswbwhnlFZ94e7pPtDYBD74y0osqYNLgQZCOGZ8je/zVaiyg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540583; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Y/J3/dM6yL9EpwD8nNu/ZbysHMLeoDjMiAJQk/DeNw0=; b=lGYTCgdsQ9RJoXl6HyyWyT9gbUFBhOEWo6Uq3uZtJpWtay8VzCq6mrZ4YrxvnAThl6A//QElS5nR/i/QQQmQpgzgiNdml49nM6G//f4YBbKkLWBSLlJrqJaxsAYQRMUOq6j9N22zhWagdusIzPULuR/wPTVDqyQ3Wg6gkxm6CfY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540583961865.9621501699813; Thu, 3 Jul 2025 04:03:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHeA-0005Ln-Cp; Thu, 03 Jul 2025 06:58:33 -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 1uXHc7-0003zg-VV for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:32 -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 1uXHc0-0000ps-3y for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:19 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-453749aef9eso31026515e9.3 for ; Thu, 03 Jul 2025 03:56:15 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bcebd4sm23421365e9.26.2025.07.03.03.56.12 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540174; x=1752144974; 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=Y/J3/dM6yL9EpwD8nNu/ZbysHMLeoDjMiAJQk/DeNw0=; b=pXSINChK9TaFOWL0YhjMZ0jBiN/ZU+G+W/3QZh4QfOTTSpx+9QiaHJw1jjVf/vvqqe VKmcSs8IllKYER3ikRmEK1tHjvQ0Dk2SnxrMv89hqaHpIo+qQDnUJUP+qY1+Avmk0+lY zmdt3UuQLCgXvESGAkXYvKPtdACl1Xt601u8uVRgWiHBxc9feNCftNXMQktcrJoqPRAD uu+jPuymtUBuMGWyeGDfnj5bs+bAa6iU6fE0fPgyQHnmbG+EZQL4OKaTTw8ENlROIOEY OuKtUDMYj/Kub++tIUwwOl/KGUS7hhuMZVj2LMQubSlU3B2vn//0gDuCPILr2JBBQmao HfKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540174; x=1752144974; 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=Y/J3/dM6yL9EpwD8nNu/ZbysHMLeoDjMiAJQk/DeNw0=; b=iS7Dh+2V+J/XF5x34aGP2exxPu+RsKMs+ge0sgsYpgfxx1CZRz6pbN3jmOYZwYc/dO AO67DKQzMCc8U/dLjioV4BwXsWg6868b9eRhTLm2RNDJXgC/CLPziG066WjyO7pH6SJ0 gRoyhvv3usrU3p0g46u6kK0yTeh1bgpqvbt7ZPITNNh764IkIIT8CXaSdv/6j8vatIOa 1qQDv/b/baTu6nkPRHzvdwg/qBXRtwrGpxsegv+HHgYxGl4pu0zMT+0C4S36xZLI7nj7 JImjK0DP+jqSHWm8NAdYRxtcDLddfT3Cff2ci/7JjRxclDxw1Pqc4tH0z2uA9+DRytE7 9Fiw== X-Gm-Message-State: AOJu0Yx0nZZc7zhLjNeW0e5lbvTnq7V4p7tTO397tnbMCWoSE8Y8fwLA bwoZ8zDYQV6oV9nL/wlDqGE/0KRONEvPzajmSecTr15D5ZlGQejBJ1GpHUtP1ebhMJZxbIyNPwZ ceDDVqo4= X-Gm-Gg: ASbGnculUW8a5aUTZrybaKHm4rvH9bScXtP9LtCLAQXSnEve4KFoUe3jlZFYdvBRZWi fd515Uql0hTozKzCz9kunUKSkxfHVwFoYileXE0gJI8+jry5dGMl/OYAAp7mfjukXb9o4v4wTk1 99edt4cI0MlAPXWkaONpDw74DuHf777g79c/AsHbUWAitWOBb/Su6AT7zMBSjGlKguGOI4HpKe1 ZC2IAPqy/CWRDCJYI7qBnnP8Iw8ClPGuALYZOANXTF2aLi2DWy0rzmtQEe7MOF/3EHK3P3G85Tw Yvyq3hNl+L7dN3aASoYoQ90iWUcI9r0Mok3tmpLlvQZFxLKd9qkDkdcRtM+/vkAiy4qAYgYns5o fpa8JGTKHhkyZ0WeQZf9SRg== X-Google-Smtp-Source: AGHT+IE8CQFMkrSZkVN5zYcmbJcCj+w55d08ptBKiApntCikejet06VTaL7qzyce9VIEA15pyWpTmQ== X-Received: by 2002:a05:600c:3e0c:b0:442:d9f2:c6ef with SMTP id 5b1f17b1804b1-454a9c8b12cmr36033545e9.2.1751540173782; Thu, 03 Jul 2025 03:56:13 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 06/69] accel: Introduce AccelOpsClass::cpu_target_realize() hook Date: Thu, 3 Jul 2025 12:54:32 +0200 Message-ID: <20250703105540.67664-7-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540584728116600 Allow accelerators to set vCPU properties before its realization. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 1 + accel/accel-common.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 44b37592d02..a863fe59388 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -35,6 +35,7 @@ struct AccelOpsClass { void (*ops_init)(AccelClass *ac); =20 bool (*cpus_are_resettable)(void); + bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 void (*create_vcpu_thread)(CPUState *cpu); /* MANDATORY NON-NULL */ diff --git a/accel/accel-common.c b/accel/accel-common.c index 56d88940f92..55d21b63a48 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -105,6 +105,9 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **er= rp) if (acc->cpu_common_realize && !acc->cpu_common_realize(cpu, errp)) { return false; } + if (acc->ops->cpu_target_realize && !acc->ops->cpu_target_realize(cpu,= errp)) { + return false; + } =20 return true; } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540437; cv=none; d=zohomail.com; s=zohoarc; b=WLO7bWhlvkJVYujod4MFJ1gG35ywzp5BJP8YAGjqMTJ9IY8RKAFxL2E3DSjKUNI+sjhjBgTVtSEBOiQhOdRNHE0/TmhRh34PLzqjBQmsOPERpK0q0j+CwVEwAeM5QrAbGxeTyjsfjGLCuEuKMpjrX8XNW0vQeZ56Vb17nihiJ5I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540437; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bOy/hh8CdzW8JKLOeQuyvYboWC5TjWykREm1ryjsqd8=; b=PkIcpnsa0xtzK8w3xdWRK/+kUgvfAYf39oijTI4DDwg3RV18tQ7+3IiOTgKfuEgu3dehST7ZiU26Fi33nCeFSgYVT5ihIvMDERJhFzMTU5Nos6ohc1V7/jU+JQsS82cDIoMpdsUidALo2FMK8W6esEG8d1O55Klmx+3PTsQGIYU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540437161358.6632629623356; Thu, 3 Jul 2025 04:00:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHct-0004Fd-6d; Thu, 03 Jul 2025 06:57:12 -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 1uXHcF-00046k-As for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:38 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHc7-0000uz-6i for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:26 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a5257748e1so3727182f8f.2 for ; Thu, 03 Jul 2025 03:56:20 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e595d1sm18529515f8f.71.2025.07.03.03.56.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540179; x=1752144979; 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=bOy/hh8CdzW8JKLOeQuyvYboWC5TjWykREm1ryjsqd8=; b=eCwF7YdRNBzX0hJmh0bZnR/XhGnwiwD6swBaYxloTG7cLDthAfo3yD82yEVk+gg+4y a2yis617FSnHtZ+rWpdyeTndUP5AAT3WgCtpQHdE+FYE94jYXXe1earDocY+SZ7UcbMq 6qktkYV/G8fyZRCbWfdpgWPOguw4ASS/glr2Send49ClUz1EbSIINS4HA9qQQoptt5P6 1XPr1RGpCG624XyAptAlJsKofykLqrpzvEvjncoVfYvc/1EUq597GakTwP8Bk579leVx UgPd5hqlMKwhDiE99qcOA9y37bDHFOGnYzR0uoO/CaednlgmZZdeUef+UjR2bzUQkK2N oxKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540179; x=1752144979; 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=bOy/hh8CdzW8JKLOeQuyvYboWC5TjWykREm1ryjsqd8=; b=Ru1qY8+X5BLb/MjNg9WUQDKmrpgH1tHxVtKXiwKUTn8jzIrtKcWjkr2Jkby7UST1wB lvhqthmFRiFEbA4OwPJR9ZqL8cJCqEzN9YhF1aRL/k1mqUirLYjpi+qqcZzQXQ5Xu69K tHQrOXWtYxztuvub7HV0njyC7cDv5UoiPHERvTXHlzUxaAAMkYF4599eKSFjqGIzsv45 IT/Od1JZX+FRfwE4zgICqCa4rcxasVxzJqVN1TpKiaRgS6OwuSGQjPnFib37ugVsfM/y bT7NCskDB49sQ1GnNR6ZMg8P41AtysY12BNrUk8okg38ShJu2HzFC6pjpiJ8YEn7zoHB 7Ugg== X-Gm-Message-State: AOJu0YxISYnqpwN7qMlMp3VcMKV3AFOXYGHM2ed+Y9ZWDTJEtEGe7SNZ THpyjcWWzmUGOXD9XDZNwfxOoRCJwjjkIHhhQwTxFx4DJ82aJuPie+s+hPQDrB9PaH/zHXKT8Ev /dpVfwjM= X-Gm-Gg: ASbGncvEji67JlmJ3K5PjJVjkoN5abwhBBELDyKuYIWjz1kovMYpKPrbf1I/B+vvkzV eNwZ9NgFrQcshEU+LCFmH0kB1JG0L9EhvKBx8QybSqeveE5v//1sMCBfRwu06Fpbm3AzVVqY0FO lVnGYnlP4qe/mh/+vLR/kqY5T1rukD3FXKzi+/Wy5nca3slAma5bDn4koi7CKULbSx0X9p3oIt+ MGze0bnuWPhcZ+LgQSLjBaMJgEC5tc1888x3ItR03x0C1SuWhQfWCV9xM+YEbvvn/5n/bKI6HuW bAegHxkGWSYZyNK6iIpZF/m+nO/JY2MKt7sEqVZ/rztAftTJcdZv9PzOx5cdQeAr6Gy0ulnw+cq gSwczIw0EKwY= X-Google-Smtp-Source: AGHT+IG7ipjun04dtTdCOm6oy7eUWWjsKtRV5HObOuItyYoks+uXkUq2AKmszEHPvw4ntsxZJLkEbg== X-Received: by 2002:a05:6000:2c0b:b0:3a3:7387:3078 with SMTP id ffacd0b85a97d-3b1fe5bf382mr5188202f8f.4.1751540179252; Thu, 03 Jul 2025 03:56:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Alexander Graf , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH v5 07/69] accel/hvf: Add hvf_arch_cpu_realize() stubs Date: Thu, 3 Jul 2025 12:54:33 +0200 Message-ID: <20250703105540.67664-8-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540438858116600 Implement HVF AccelOpsClass::cpu_target_realize() hook as empty stubs. Target implementations will come separately. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/hvf.h | 3 +++ accel/hvf/hvf-accel-ops.c | 2 ++ target/arm/hvf/hvf.c | 5 +++++ target/i386/hvf/hvf.c | 5 +++++ 4 files changed, 15 insertions(+) diff --git a/include/system/hvf.h b/include/system/hvf.h index a9a502f0c8f..8c4409a13f1 100644 --- a/include/system/hvf.h +++ b/include/system/hvf.h @@ -72,6 +72,9 @@ void hvf_arch_update_guest_debug(CPUState *cpu); * Return whether the guest supports debugging. */ bool hvf_arch_supports_guest_debug(void); + +bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); + #endif /* COMPILING_PER_TARGET */ =20 #endif diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index b38977207d2..b9511103a75 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -588,6 +588,8 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 + ops->cpu_target_realize =3D hvf_arch_cpu_realize; + ops->create_vcpu_thread =3D hvf_start_vcpu_thread; ops->kick_vcpu_thread =3D hvf_kick_vcpu_thread; =20 diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 7b6d291e79c..4c4d21e38cd 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1081,6 +1081,11 @@ int hvf_arch_init_vcpu(CPUState *cpu) return 0; } =20 +bool hvf_arch_cpu_realize(CPUState *cs, Error **errp) +{ + return true; +} + void hvf_kick_vcpu_thread(CPUState *cpu) { cpus_kick_thread(cpu); diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 99e37a33e50..28484496710 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -367,6 +367,11 @@ int hvf_arch_init_vcpu(CPUState *cpu) return 0; } =20 +bool hvf_arch_cpu_realize(CPUState *cs, Error **errp) +{ + return true; +} + static void hvf_store_events(CPUState *cpu, uint32_t ins_len, uint64_t idt= vec_info) { X86CPU *x86_cpu =3D X86_CPU(cpu); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540343; cv=none; d=zohomail.com; s=zohoarc; b=ds8b2I6PjxwDSrMKOivKMs91pUvU1QO+6Cl9LHxJoOJ/kPd3RbbVQNUxbeyHYkKSc7q4UJwaksWyARnDDLq9PMJVz0yslRkOzxhGnDyLaFlCmxYK4xBK3ALAkjbiSPFAX08Iv960zUANSchWLBhEmhPzGQrtWHWsbcm5LFFm2Rg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540343; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=GAzT+CGbAi3kvmYQ13E5MHk/eJNqjsj98Rjqkr8WsQ8=; b=Izqhxd+Z5dT/0HB2EaV+8eninxq6aG9pEt/uGOq/r8cmNsCCeQKzMGvE9L6Y5SDw3mngd3GIwyVSEr6LzUr1chEUS8Hh5wBrkNZRa8GOKKTGm8MaNJb9XQy3qXcGJURevX0FHoxKsj10b3+u1cLnBJsL4wUW+y7534pdJV84p7g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540343892609.9185114057536; Thu, 3 Jul 2025 03:59:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHda-0004zo-NG; Thu, 03 Jul 2025 06:57: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 1uXHcG-00046o-Nx for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:38 -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 1uXHcE-00011o-CF for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:32 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-453608ed113so57019105e9.0 for ; Thu, 03 Jul 2025 03:56:25 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9989423sm23505035e9.19.2025.07.03.03.56.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540184; x=1752144984; 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=GAzT+CGbAi3kvmYQ13E5MHk/eJNqjsj98Rjqkr8WsQ8=; b=LdFGemtaN/yvZ3tN9gvY9bIdFMphftHhlMzsbwX+plijl/VlP+cQMb/jKsJTdZ3pcl 3oXfuxXR4kUSRxGCk5KxJCaAtMBoKgkVCdf9m7AdPzeyWJyjy7NLkxvZ9Nqmb76i+WEa HiRswr96JIhSuGKiHiUAXWtPPgt1NnmtMDTufbzd3UoSUjmwxhq9mAwflr6zIXGxyDAT AwDwiRQzO8XcyhvevsT1YD5hBbIPs2xREN+XmZ8lEdgTu6GKnDUUbLNfzafciR99hMoc s9dN6/XSeiMLmBRfiCmmeKCfg2lXsPLTISCY0qMdVE2G1bSkuJGbeFmP3zVCMqL2XA9n /gvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540184; x=1752144984; 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=GAzT+CGbAi3kvmYQ13E5MHk/eJNqjsj98Rjqkr8WsQ8=; b=qfMl5rkRV99OZgYrNRvy81uZ4oXv6h4MaFZUY7y0jK4akKCgsCBhxZZQN1gOw2yDfW 7c8BM4r2O8riYg5qb9ZxC8IuOx6B31Hj+4Mz8rDpZojdujZPpULz7pSLIjPWk6X1MXTe w4tgiBH0NtfqY04ngB8HGkd64R3uICWw79v8h51UHFBxLSaHTiE71On1/7wd0JLVTJjm sDYp4WIVR0MTiV1SKFWnx76O4o+HsQmXna9rVxkJCYnYkZ4MRUwPi+ONaOE9VymZAa+0 sBgNXLRbWEfwgCjVuOHNyz78FdHJ+GE8W3Gy8TOc8Bf+eWjf5sV+oTejCVEAQ0C8DQiW XjAQ== X-Gm-Message-State: AOJu0YxRfxY45nY23vcv8KlPca1h4lw4yd0t3w8FwVzdekvOTZVAgt+Y yE7iAdq8/bn2pqPEit3R5SekygX1ocp2aGMbwFdmjOPmV8Wt9JUVQeaJZ/7rquJkitm62x4eFlb vf1ewYeg= X-Gm-Gg: ASbGncvw1P+rptafrG8jvNckdvfoQksj16W1s96FYH2FeJGeZj9gK6qJuOHQycWM1Ek N0VSAAcxRLS40GXnTBSEwTbCY3mZtcFCmLMagxHOGYpwKnfLjbDeSluFh4xvBrJICoS77wsW1AF ZlEvbwNtxrkeJWIyAb0p/w0H6o2HixRfj9wqMj/QM7ag8ZBdzDXC3wbFY75wXbzOtvuq6fotLCh dO0hwA7uO024IV4dshXGE5n9h4/pC/Gk/V6zx+QLGikcDjqnAc/Uyy9x0YNXDGwwtIvYF6bshBM 6uAb8IOIirIGFsxR4kzgP6dJU8NT8/Bby0uK7vIXZCmIwRn9QBLAgNmuBz3KsbmLkZgU3nVWABH jcqcOw7+hpIM= X-Google-Smtp-Source: AGHT+IE76e2TUYigPs3T1c0SvOpyckwxGPcmZStVjGAVMA/07iDRifoqinW9ikXlsT4NJ0pneko+hQ== X-Received: by 2002:a05:600c:5308:b0:44d:a244:4983 with SMTP id 5b1f17b1804b1-454a9c605e4mr38453455e9.3.1751540184293; Thu, 03 Jul 2025 03:56:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 08/69] accel/kvm: Remove kvm_init_cpu_signals() stub Date: Thu, 3 Jul 2025 12:54:34 +0200 Message-ID: <20250703105540.67664-9-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540345242116600 Since commit 57038a92bb0 ("cpus: extract out kvm-specific code to accel/kvm") the kvm_init_cpu_signals() stub is not necessary. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/stubs/kvm-stub.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index ecfd7636f5f..b9b4427c919 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -105,11 +105,6 @@ unsigned int kvm_get_free_memslots(void) return 0; } =20 -void kvm_init_cpu_signals(CPUState *cpu) -{ - abort(); -} - bool kvm_arm_supports_user_irq(void) { return false; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541646; cv=none; d=zohomail.com; s=zohoarc; b=PUBtOdnznojxaPvjbXJxqJI74KHtVO5/F9UecbAfQWfPFdpVEuBqr01Xornn8MtCy1F+324qUpO//xvf/Mn53srUSsRfwL6I1IjfhcpWbjDJMq/MUUcexVrMaqEV6+mbmHKN0Yqrb/eJVEDtqqR5TR3EJEH51HCo4PcQFHWVHx8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541646; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZLkTPhlZ6ATb7AAc3VGQov8gsRhAPF8MN9ZoezL4e2s=; b=hEyEDS0N0P/K6H6fVwuwUxHUMGPpdBy9O0itqLzDRwY/y4XrCV1kkScTtUt4Z82JQqgLewlrr8R50/fQ/BuF4MZia0e3n9p5BbU7WUUaxNo6eBsL9RejKyWwJ9I7jpDoAvam6aCm6I74Rcue4zFzMnYL5PxDUEAKXsifkDoVZn0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541646434936.5837638620063; Thu, 3 Jul 2025 04:20:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHdR-0004re-Gd; Thu, 03 Jul 2025 06:57:48 -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 1uXHcI-00046v-9a for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:38 -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 1uXHcG-00017K-FC for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:34 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a4fb9c2436so4581383f8f.1 for ; Thu, 03 Jul 2025 03:56:31 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9be5bbfsm23032435e9.34.2025.07.03.03.56.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540189; x=1752144989; 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=ZLkTPhlZ6ATb7AAc3VGQov8gsRhAPF8MN9ZoezL4e2s=; b=eFVuVq7Kp1xZYqz/gHgDTr0J6fEzZjAIPBxTkRnHA7l8nB0CFmnMfbP24o2RuBuk0O pQxOBAQ5fql2e2O8fDAMYxhHTCo21eHT1fISMKrdGNF8vb4XXLFPMjKfx8tSyiNo3ezL jjHjKQ7r0fYYgCRgk3FC8cOpGBdrX6sxnSiBvBohiVJcMnQfIZj3FOT76kkCZbVPefrF ukP0DPEHtOkiTwhpJUWctqtXIaIVeo1KusqWL3BWOmDabdUrbP360hiM6gbbhLzWVMlt Suqvk2Xr5aNj5MLrYlzKIT+BGFKd2NbDsEqlrIcmVMLFTfmqGY5AoeDQGDMR9uPEf1Vn 9EKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540189; x=1752144989; 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=ZLkTPhlZ6ATb7AAc3VGQov8gsRhAPF8MN9ZoezL4e2s=; b=K7namGYWXPI2frmZGEKPa5NBzf5A6080Tw2VGfVBmvvXGPMpMAm6dTNrk7EPociq5z 1nprZ288IRUJXbCb/dJWETrr5qfV2EfK9gH+k/c0zCHny2smW37r/jOEKRaeyb3XxCws 8mYpboWBMIXShCeuSdxv3+ikHD7EY5wRlnp24xJCxjOIiH+qXn+gQWe2lSEhZgoLv6mu LXLMOfPo+e3S/Gw37Q+3DYD7Xm8Dovee4KER6dRA446Dsc8Z8wrOwkdaN/G8uUWI93Zm byq0tS+QjZ9eKp/pM92cEP+oAJuyDg0MvodqKTFTKwsRIBCLrPucIkFbe9q2zJP32/Ea 8CTA== X-Gm-Message-State: AOJu0Yw/cAfjJ8lTHDsuAVTqNSGanfAl+UmKvtFlQIuFC42k0S326oiz /i/JnHF/cTh0Zlpe6CB3YMNCkQXtPSZsQK2O7Uc8lc7NIiACMgUS9Gqjq8K494GoXMRl3AzFYlA PxloOp08= X-Gm-Gg: ASbGncvsaTaWs+eUN7dNHgLaCeuSar4RvhvyIIEzvLIWvkX/W0muwbcRxoxLY7WUUL0 fAr3TsGS84klkzLj8m0QvpAFnSk8TanrPhPoEg0xoYhYBRP+QDjryuMzZSQhNTM/4TUzvjYM32i 1743UtI5vXgCr2F9vPVnoE2pFnTaEKhUO7D5HXP0At15fayaWshK+9u4drspiuMYm8jfv//doJp IkVrP2udm7WLo54GwHwbsHbcZap3YCdSHoM3H5TyCSaNfH80dI3ONpJ5zNxl0+WTVHRnew2NfZk uRpmFyYU8GjQhvSG9AbNeWz+bFJRE5LyqcJXbO/DODL3QNwTZRmEURmcIAqbv4mycdhgP3eLVXH UN45byixOySw= X-Google-Smtp-Source: AGHT+IHuKoRl7IVxhklc+/5kCHwCdvXpAUKF7ZaqVxNvXsyGIXTaK/fKEVO6nr2FvIxQ868pijTYfg== X-Received: by 2002:a05:6000:26c4:b0:3a4:c909:ce16 with SMTP id ffacd0b85a97d-3b32fb30d66mr2261011f8f.49.1751540189377; Thu, 03 Jul 2025 03:56:29 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 09/69] accel/kvm: Reduce kvm_create_vcpu() declaration scope Date: Thu, 3 Jul 2025 12:54:35 +0200 Message-ID: <20250703105540.67664-10-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541647123116600 kvm_create_vcpu() is only used within the same file unit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/kvm.h | 8 -------- accel/kvm/kvm-all.c | 8 +++++++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/include/system/kvm.h b/include/system/kvm.h index 7cc60d26f24..e943df2c09d 100644 --- a/include/system/kvm.h +++ b/include/system/kvm.h @@ -316,14 +316,6 @@ int kvm_create_device(KVMState *s, uint64_t type, bool= test); */ bool kvm_device_supported(int vmfd, uint64_t type); =20 -/** - * kvm_create_vcpu - Gets a parked KVM vCPU or creates a KVM vCPU - * @cpu: QOM CPUState object for which KVM vCPU has to be fetched/created. - * - * @returns: 0 when success, errno (<0) when failed. - */ -int kvm_create_vcpu(CPUState *cpu); - /** * kvm_park_vcpu - Park QEMU KVM vCPU context * @cpu: QOM CPUState object for which QEMU KVM vCPU context has to be par= ked. diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index d095d1b98f8..17235f26464 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -453,7 +453,13 @@ static void kvm_reset_parked_vcpus(KVMState *s) } } =20 -int kvm_create_vcpu(CPUState *cpu) +/** + * kvm_create_vcpu - Gets a parked KVM vCPU or creates a KVM vCPU + * @cpu: QOM CPUState object for which KVM vCPU has to be fetched/created. + * + * @returns: 0 when success, errno (<0) when failed. + */ +static int kvm_create_vcpu(CPUState *cpu) { unsigned long vcpu_id =3D kvm_arch_vcpu_id(cpu); KVMState *s =3D kvm_state; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540222; cv=none; d=zohomail.com; s=zohoarc; b=njQpq96uLuzYDFKbrO+39rVK0cagIcg19PqaG7dBrJrLb44bb/Gs5u5xTE4IkeLZtZoIgOdb2Not+WNOep+i8nxyBarc5VDHcwCp0LwMYzr2aLKWpySwg+U2CO/NbgzZo6949rH1uAx1i7Ai6s9Yu8MwJWQ+5UZdY+Jx+TZW1eg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540222; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Pcxyecq1Uca5OV4SmO/+hJU9sxDq9D6xrBJnOg87yRs=; b=I02U8XmkpsLV/AyMtfmKzHrRKem9qh/nwxLFF1LIQ3Rf+HyFBt/BmJ0cCvrRHXQmTpncnGE9zgIYIDeSjVlYijk5OhZi7kP6wGzukk4Z/rFLfcNeHNKTKFSQrJpVI4thPd9Zi55uVbyp/Qkfm1dSfVcJQBKRgeHlZr8O1AcrqD8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751540222091271.7258452087483; Thu, 3 Jul 2025 03:57:02 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031979.1405726 (Exim 4.92) (envelope-from ) id 1uXHcQ-0002hd-E8; Thu, 03 Jul 2025 10:56:42 +0000 Received: by outflank-mailman (output) from mailman id 1031979.1405726; Thu, 03 Jul 2025 10:56:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHcQ-0002hW-Ba; Thu, 03 Jul 2025 10:56:42 +0000 Received: by outflank-mailman (input) for mailman id 1031979; Thu, 03 Jul 2025 10:56:41 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHcP-0002hQ-3m for xen-devel@lists.xenproject.org; Thu, 03 Jul 2025 10:56:41 +0000 Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [2a00:1450:4864:20::336]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 635945f4-57fc-11f0-b894-0df219b8e170; Thu, 03 Jul 2025 12:56:36 +0200 (CEST) Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4537fdec39fso18650185e9.0 for ; Thu, 03 Jul 2025 03:56:36 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bcef22sm23507545e9.19.2025.07.03.03.56.33 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:34 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 635945f4-57fc-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540195; x=1752144995; darn=lists.xenproject.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=Pcxyecq1Uca5OV4SmO/+hJU9sxDq9D6xrBJnOg87yRs=; b=VZYiLQgadmBpkB7PFvafB0jR0OepbSwxvJABUZbL0p4N9KFSbLnYuMc8y+PGZDCgei JsqOmAk8X52dHquTtSXLmFl1FeVOfbLQbsnbH9DlGT6dlve/zPs1BocBlJ70MpNUczfO JaIhrkiv/wGFHMkFFRJNhBJA+uoRe+4S8RQFQAh9ScNqG8NonrCeo0oaLvLTa0Fqjem/ 6oBsnW1AyPs4pKX/ziXyO3hjm6yLVdBV9nnoHE6YeoQZQ/HRXXEY4YlQOuwtqMvzzO2p VvnxDxkc1lkGuKqXsqUOxymZy1L4dV+CaeOrXgT/CYNcdvhwxcTfRAomofk7XuHVPFXF nadA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540195; x=1752144995; 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=Pcxyecq1Uca5OV4SmO/+hJU9sxDq9D6xrBJnOg87yRs=; b=BW/Gf3w45m/Nrp2xUuRhEMbLijN+lW1J50w4FY3kHwhzNEbKGonZiT+cUhX6q8OO8a zGLk4C7ebHap7ELzt0+1HzZG83JuYKPVr9Z4BgpkZERONNyNEfdS5ZO/WQv37IXb+Mrz bx4DRzIYOnwF6gJ+I6TKMvWdVrykTkzb6y6Hq4mOJdTT/e33GYBx+3rkpzzZAQVbJV1P z/rHeizlthN/uSh1tBvyKMyjItPbcSGbJyTWclmJzvH0Cj4BtI6I8pHTsr2q3b0+27zs 8I/Yk1F407UESEf1kLalW2+poJyUfKLn6xj+9LkAfuVzYCotYpHvEidvOyVRz3X5DY5s W1wA== X-Forwarded-Encrypted: i=1; AJvYcCVASqQxXrtMSIEyKqFG9mUBj5S+sd1BOBskuveHIMgBO5AnhO+lUQxbt9xoQ/os4+Yd8O3Ig/H/dzI=@lists.xenproject.org X-Gm-Message-State: AOJu0YwO+8cY2+eeKWQkPL2GIbGbNHt1YxpcXceAyNVa3V4XLP05yRFL fn5o4+zLbL/iLxVs2gaCLZ7YksVI4aA3WSXemf+M0sAviw2mc/9zAty5p2vmUCQUNEE= X-Gm-Gg: ASbGncszlFyVPz8vXH2LVedM6uz/O8y9jasaZyW3kHQ5pxSqEuP4iApAazTxiUCZS+Y ZTHUF7OocEQzTnZnlKgb3yLL9Py3D7tAPREUhoYiZ2NGG8u5+FPgerJepRMe4m+UymfaJ+iAe8b KAQIOUFZW292q1s1/9S7fKCAPsiz1YuhJdla3zyBwEyUcImUejEodkjvEXNEXdcOpiWkEdf9KS+ 06SZhj3B6GSuuYSmtY1ObCUnW+P5mxrTUGAFCla02J+P8yRvGlXn1LB9n9D0M+UkoYRxVxpXbmA KZik0DCU4cVBB0Kbfe5zfe2nCvMuZJ/JAFG9rip9eDnAoPJjfOSTw9rAIfyNOjRjVid7TCT3ON4 X9ESgajRq00M= X-Google-Smtp-Source: AGHT+IFMtoW6ZLHLTnNUUgjdqd0imX2oSHRMYLqbKiMG3n1p6ANBAFuifal1Ean/kUmUpIKdi4hCFg== X-Received: by 2002:a05:600c:3b05:b0:43c:f6c6:578c with SMTP id 5b1f17b1804b1-454abd597f8mr25988155e9.15.1751540195258; Thu, 03 Jul 2025 03:56:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Warner Losh , Kyle Evans , Reinoud Zandijk , Sunil Muthuswamy , xen-devel@lists.xenproject.org Subject: [PATCH v5 10/69] accel: Propagate AccelState to AccelClass::init_machine() Date: Thu, 3 Jul 2025 12:54:36 +0200 Message-ID: <20250703105540.67664-11-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540223708116600 In order to avoid init_machine() to call current_accel(), pass AccelState along. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e --- include/qemu/accel.h | 2 +- accel/accel-system.c | 2 +- accel/hvf/hvf-accel-ops.c | 2 +- accel/kvm/kvm-all.c | 2 +- accel/qtest/qtest.c | 2 +- accel/tcg/tcg-all.c | 2 +- accel/xen/xen-all.c | 2 +- bsd-user/main.c | 2 +- linux-user/main.c | 2 +- target/i386/nvmm/nvmm-all.c | 2 +- target/i386/whpx/whpx-all.c | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 9dea3145429..b9a9b3593d8 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -40,7 +40,7 @@ typedef struct AccelClass { /* Cached by accel_init_ops_interfaces() when created */ AccelOpsClass *ops; =20 - int (*init_machine)(MachineState *ms); + int (*init_machine)(AccelState *as, MachineState *ms); bool (*cpu_common_realize)(CPUState *cpu, Error **errp); void (*cpu_common_unrealize)(CPUState *cpu); =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index 64bc991b1ce..913b7155d77 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -37,7 +37,7 @@ int accel_init_machine(AccelState *accel, MachineState *m= s) int ret; ms->accelerator =3D accel; *(acc->allowed) =3D true; - ret =3D acc->init_machine(ms); + ret =3D acc->init_machine(accel, ms); if (ret < 0) { ms->accelerator =3D NULL; *(acc->allowed) =3D false; diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index b9511103a75..6af849450e1 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -321,7 +321,7 @@ static void dummy_signal(int sig) =20 bool hvf_allowed; =20 -static int hvf_accel_init(MachineState *ms) +static int hvf_accel_init(AccelState *as, MachineState *ms) { int x; hv_return_t ret; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 17235f26464..264f288dc64 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2573,7 +2573,7 @@ static int kvm_setup_dirty_ring(KVMState *s) return 0; } =20 -static int kvm_init(MachineState *ms) +static int kvm_init(AccelState *as, MachineState *ms) { MachineClass *mc =3D MACHINE_GET_CLASS(ms); static const char upgrade_note[] =3D diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 92bed9264ce..8b109d4c03b 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -37,7 +37,7 @@ static void qtest_set_virtual_clock(int64_t count) qatomic_set_i64(&qtest_clock_counter, count); } =20 -static int qtest_init_accel(MachineState *ms) +static int qtest_init_accel(AccelState *as, MachineState *ms) { return 0; } diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 6e5dc333d59..d68fbb23773 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -80,7 +80,7 @@ static void tcg_accel_instance_init(Object *obj) =20 bool one_insn_per_tb; =20 -static int tcg_init_machine(MachineState *ms) +static int tcg_init_machine(AccelState *as, MachineState *ms) { TCGState *s =3D TCG_STATE(current_accel()); unsigned max_threads =3D 1; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index de52a8f882a..1117f52bef0 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -76,7 +76,7 @@ static void xen_setup_post(MachineState *ms, AccelState *= accel) } } =20 -static int xen_init(MachineState *ms) +static int xen_init(AccelState *as, MachineState *ms) { MachineClass *mc =3D MACHINE_GET_CLASS(ms); =20 diff --git a/bsd-user/main.c b/bsd-user/main.c index 7c0a059c3ba..d0cc8e0088f 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -474,7 +474,7 @@ int main(int argc, char **argv) opt_one_insn_per_tb, &error_abort); object_property_set_int(OBJECT(accel), "tb-size", opt_tb_size, &error_abort); - ac->init_machine(NULL); + ac->init_machine(accel, NULL); } =20 /* diff --git a/linux-user/main.c b/linux-user/main.c index 5ac5b55dc65..a9142ee7268 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -820,7 +820,7 @@ int main(int argc, char **argv, char **envp) opt_one_insn_per_tb, &error_abort); object_property_set_int(OBJECT(accel), "tb-size", opt_tb_size, &error_abort); - ac->init_machine(NULL); + ac->init_machine(accel, NULL); } =20 /* diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c index f1c6120ccf1..eaae175aa5d 100644 --- a/target/i386/nvmm/nvmm-all.c +++ b/target/i386/nvmm/nvmm-all.c @@ -1153,7 +1153,7 @@ static struct RAMBlockNotifier nvmm_ram_notifier =3D { /* -----------------------------------------------------------------------= --- */ =20 static int -nvmm_accel_init(MachineState *ms) +nvmm_accel_init(AccelState *as, MachineState *ms) { int ret, err; =20 diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index cf6d3e4cdd4..f0be840b7db 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2505,7 +2505,7 @@ static void whpx_set_kernel_irqchip(Object *obj, Visi= tor *v, * Partition support */ =20 -static int whpx_accel_init(MachineState *ms) +static int whpx_accel_init(AccelState *as, MachineState *ms) { struct whpx_state *whpx; int ret; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540437; cv=none; d=zohomail.com; s=zohoarc; b=hjkkeqYWOAqf0JqThmBkKutkT0hwatjfGkzLzZUx4lYT0zGeoXMdgx0t1fvDMouH6s0MyIUSqJtAqct/VB024Hd4nA1gta/XRBcTuycBDXk7wCIDVSuiabYDKGNG44dBVQ0qRzSB0Zy3KG3ITL4SV6rN/LDlBfZPBTKpZ37nioM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540437; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=K7agq2/z/dMVKZ8AYrQE6GIlp8fdEIwRrjWbdb+ua6k=; b=gyPc9N7NX/T0tF4TF7kvVW+/vaq4wfFBdWdSG0XCJSk+bgHplWp9x/krt2nCYmBExrQhGOtPOAMtBNLywIIJVQlA3Zaz0TIqN6Et4uoCwxlJqDvGTEXOVEtCbsvfTJE+hER2zfAuurxTp62nsA00isxqwNyAao3Vqy9frVlORS8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540437821623.7706873757736; Thu, 3 Jul 2025 04:00:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHdV-0004zV-5H; Thu, 03 Jul 2025 06:57:54 -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 1uXHcU-00048L-1t for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:47 -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 1uXHcR-0001F6-0W for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:45 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a50fc7ac4dso3616346f8f.0 for ; Thu, 03 Jul 2025 03:56:42 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e5f923sm17945567f8f.89.2025.07.03.03.56.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540200; x=1752145000; 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=K7agq2/z/dMVKZ8AYrQE6GIlp8fdEIwRrjWbdb+ua6k=; b=lzC21RcpLL9gk0CaJQYKGVpurAbcGWTPbpIwdgCkc7j1B3qgHooyXPASA0z4hxLFAJ FztpDvDBNfhIgkkf0ItxKJcu1zXoo0FqgihRgbl3prwy1YIBXnBX8xyz01IMgHHAaFmB S2u+RtE1x4h08crw+GJcypM8ud8/v11JoeDsvP1mYBbhN+WdjgmU3ZysYXCm5bLfZH4s 8Wj6TT73TG9Ac6ZHaSCm8pE+4Dg5KNxy5yRlK0ywEZ2WYzdiHeJ5q7dEcGdnKjJQTu9R 8FaEwRQG291UJgbgOG2jNfujMbLgS0r+MaBLdKuxgWNRwzUlPmGGTGFB7SBvKpos8ql8 /vTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540200; x=1752145000; 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=K7agq2/z/dMVKZ8AYrQE6GIlp8fdEIwRrjWbdb+ua6k=; b=SRBq/PLU72AxgCBVbP0ficaZFgHOZd4qZnm8yg30iq6Y4inWDm2N/COQSvvw0Skn1d sQ1JJlQ23sgHwPGg1qRbISkQ7asMYxXUlj1vMnEeX1rlPIuxBryTflXM3xQWn8M94RjZ pV2qYBQ9euhR6GmzBD+WPcATZvZAW9kUVWSamO2Orx4VFPVLrXfSQ7uEhz/l9GwdZQ8K NKzvIuJfc30Hxe9pzlKvwwwhjlxiFkUSy9fRIyAWWGq4R0w4XXvQrtXrWk++Gb4HtSGz iXbvhKIQjc8YrfONTXhWYfxQEwz65I9C7WRWqIEPStf6LJSkOxI3fME6L7EPUlGwdf67 UkEw== X-Gm-Message-State: AOJu0Yzbxa4pmItNa0hUH2dKWMC60TToLuaU4s01hf0TqryBRa0ZXJJo jjFhPyyPo1wAo2yJDNuz762L8MbX0rkn6FeK/iSI2VM8mqFpvJQ4qvTHidderxeQ3wzMF3hISBN 6GEqWvU4= X-Gm-Gg: ASbGncsobbcnmkf0vy0OcC7ytAGe8meHxVoDhREeKARaNMStngOBw7cbj2Ee1/96n4e c++cmsns2bU4sZ3IKRbCC4+DiPbZSV8p0Uf0JHAmCRMsAC7dNMBXzUqSauTcHL1jOyr+eu1iR8M ubZWoX9oD0hKrEAOrJx7M0TVpY+go2+6hZnPUOz3Rpr5fHGJS4d/CjYKC2jXG5zjX84TZNyg680 oSq0CJ0l0mdLRDupKsyfYH2HExyUaM9dpIhwiHfF9EP6I/IDcoseTqINC51rsZhXmdYEARn4opP iK+3ylnCmwH0qIk5onifYVvbNW3I80sldqOc2JjHePPvZ0nlcOnol2VjYGn3GZWNdikD5MjDrB4 rYJ6bRaSc+lkglXoFEz594Q== X-Google-Smtp-Source: AGHT+IHy4W2SuuO+zy9xHO+kTkw3zE4vw5kmWtlB6VNsrS7nzuVM6IdbSgdtrT0YjiMzG2J3cn28YQ== X-Received: by 2002:a5d:5c81:0:b0:3a3:621a:d3c5 with SMTP id ffacd0b85a97d-3b1fe1e66cemr3890751f8f.19.1751540200502; Thu, 03 Jul 2025 03:56:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 11/69] accel/kvm: Prefer local AccelState over global MachineState::accel Date: Thu, 3 Jul 2025 12:54:37 +0200 Message-ID: <20250703105540.67664-12-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540438364116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/kvm/kvm-all.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 264f288dc64..72fba12d9fa 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2588,15 +2588,13 @@ static int kvm_init(AccelState *as, MachineState *m= s) { /* end of list */ } }, *nc =3D num_cpus; int soft_vcpus_limit, hard_vcpus_limit; - KVMState *s; + KVMState *s =3D KVM_STATE(as); const KVMCapabilityInfo *missing_cap; int ret; int type; =20 qemu_mutex_init(&kml_slots_lock); =20 - s =3D KVM_STATE(ms->accelerator); - /* * On systems where the kernel can support different base page * sizes, host page size may be different from TARGET_PAGE_SIZE, --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540497; cv=none; d=zohomail.com; s=zohoarc; b=EYNooQjyvqTEFWVlOHLhSnxa2qprLNFeiYBfS47WWo+0yJoYieg/U5ha+2R6s5t/rSJ7ytKk1seBj7HO5ucK9+hYEh54UPIE4wjYoMmSX6FKSzE+At8eAGA3cMME9d2ZMCNq+t69NimSiH8qwnYr72CN7TycrltZA94WEMbb9Vg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540497; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=avPL5wc3uCAbxMdjiOjEAiPWhgKLP3dI+/bwFAvHMvE=; b=FLdUKoKYzL8NcW8kXazySRrcV/eyfn734V6WQ5SQppOFOd4Dw5keC3WkU4RRYEeZcLQwnd38IX3Y7GZuT6OR+ECuQcwYvvs+kW/uXIrS0pGOJ+XCp0bvJwMuj46clOwMj+Q6D4Z223/bA6Lc4Lih/4UwDuGPTNgQXFqcx6InBCw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540497590622.5343411623791; Thu, 3 Jul 2025 04:01:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHei-0006HH-DE; Thu, 03 Jul 2025 06:59:06 -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 1uXHcZ-0004AV-E9 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:53 -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 1uXHcW-0001Ie-3C for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:49 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4530921461aso52351205e9.0 for ; Thu, 03 Jul 2025 03:56:47 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9969a20sm23570015e9.1.2025.07.03.03.56.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540206; x=1752145006; 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=avPL5wc3uCAbxMdjiOjEAiPWhgKLP3dI+/bwFAvHMvE=; b=VrBrawMtvkFTzczYbWxkowUXHucat12q/izN8/3Jhib04TlsFVl9OysdbIojz6Z0Q9 9MrWH2RJOmtaWi9HLA3ncio4cNmJoMnuADTe5EBfhaS8vsPvg99bvRr+/DLK7QXoO1AP e9g8m+z8KPtK0isvV4tHrkmPUeT94SpSy8wmIw8E7csJiXKfJW30sAFXx7EwNPksmLaq ufHZ7SCTFnfa1SsJkCW/eUvR5EflW78Ko/GbwAQLqjdWU8sLuUvXkq67B0WRggVZ+3ij XU3QdK88o+0Xw72za9ysUL4oJBukDN7g4Q6vfAw5aUIQqB2BjtBDqKX7rTxTRmDuMRSd bYuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540206; x=1752145006; 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=avPL5wc3uCAbxMdjiOjEAiPWhgKLP3dI+/bwFAvHMvE=; b=gDjgqblFfVD6KwZFexa1Mst+9Pz5kJ0kyIuXopvSV9lTNOZ+HtpGxHb6llj+QduaIe rXwjr6tT2udp0OwjvP5IRFOGJy3Y0OD3MIKsC3Iuccm7gq6LqE6VBEreoKQYQnBexDZ1 INnm4srcgHH0BGHJc5oR7TiH6Z7AajBtgusoEHtMP6NotlgMzcKuOehU80MlShOwgB6/ +zQ8eiIb/gpZvqpdpyTEvxqttSGQ5neYWzV2bVUHFyC5hhCj+BUZbiQYWqZR9H5MPsx2 bAtYCL3AcUBR+7GYalzEeYI5bsvPjuSI7WW4i/CDop4aEmwnqU4gS5ZJmFXc3i3AcwSH WaxQ== X-Gm-Message-State: AOJu0YxkogArwUlpP77SA57HOOa5Z46/84XwMODzVIOL5Vnfmgpf/v0D EOm55WWPs2yDWEoEpZOXRfRCeC8MVs0TimTr3S5mh4vduclJ65MbeOa1wHKpfwijaOtaeWDe/ew TcP4yuYk= X-Gm-Gg: ASbGncvl83rAHaJsiNX9fNvA91JOQRUoMMaIJE42rXWSbtoXcCKNOVg4ehRcR3MyX4T vh4pQq+sh3OVRlvKZQdoa+2CqZs1wfSLabmQoRa3if8YzSm1pwK3LAxq35OBhK9trKHF5lSh71z igZtNs04w3v3e5Zkrj6NEWQpPNcVaFiMrNf7jHnSmal166l139MulvPDsw1qo3uWLZ0L0wQFgYW Hmqrn5k0US3sxOqkCNDERbJ5GH0+XQiez7s5lole39xoch2U1BnazqfCdBD2Z/hMr6jQPVeQ4Ye /gJpxDorI2/fbwU8Zu+bpzOs1qSn8qAu0AhNMNdpahn9Mw+yy0lTe3SZOVYdY0dmRJzykPNvFHl u0y/WYEuH/DM= X-Google-Smtp-Source: AGHT+IGyPvuqIv/SGuixXi+1VvkuwA0WJu7ZVXgAGGMvrrytdxcSAu7kAXv18Jv+0lv4kiMADofGDw== X-Received: by 2002:a05:600c:19d4:b0:442:d9fc:7de with SMTP id 5b1f17b1804b1-454ab3a90c4mr20498175e9.22.1751540205880; Thu, 03 Jul 2025 03:56:45 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 12/69] accel/hvf: Re-use QOM allocated state Date: Thu, 3 Jul 2025 12:54:38 +0200 Message-ID: <20250703105540.67664-13-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540499430116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 6af849450e1..c256cdceffb 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -325,7 +325,7 @@ static int hvf_accel_init(AccelState *as, MachineState = *ms) { int x; hv_return_t ret; - HVFState *s; + HVFState *s =3D HVF_STATE(as); int pa_range =3D 36; MachineClass *mc =3D MACHINE_GET_CLASS(ms); =20 @@ -339,8 +339,6 @@ static int hvf_accel_init(AccelState *as, MachineState = *ms) ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); assert_hvf_ok(ret); =20 - s =3D g_new0(HVFState, 1); - s->num_slots =3D ARRAY_SIZE(s->slots); for (x =3D 0; x < s->num_slots; ++x) { s->slots[x].size =3D 0; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540802; cv=none; d=zohomail.com; s=zohoarc; b=VQfFkBAGBNhsai5f5g9GYu3KAsLtK54MW6ktQ3YjE74/mYQX+V0NuNnQpqXRemssumkSEw020ppbpC+Y9fiG0PfKtYYMuY8hKtyUeGIzi72Y4w/+wsHX8Lr/nah/XTZIuNEBdNSEvfmXZ9nb1TthZgqyl72spAcTNdRXLOVt2bU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540802; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Etx308N3I1KijyhBGAM+HBbz94lNBN0h4vUS6IObI1U=; b=HCMKq5w5Uo7f899/d6B0MgkBYP4+HIj1pa7MPywFv8/YcErsDVMpI7h5B0XbSdKKPfMjX70VMjrJqkBVU1URQnTDOTe8qgVZdPISWFuz4rs6gCr992VUuQRQf3qCG/LcS29Pv8olE8osKZ5gBlkaojgoLHbypW1lDDG8B/ai3zs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540802640294.47222348651496; Thu, 3 Jul 2025 04:06:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHeZ-0005xx-9x; Thu, 03 Jul 2025 06:58:55 -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 1uXHcg-0004FT-QT for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:02 -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 1uXHca-0001O3-TU for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:56:56 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4539cd7990cso5150645e9.0 for ; Thu, 03 Jul 2025 03:56:52 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9966919sm24286555e9.7.2025.07.03.03.56.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540211; x=1752145011; 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=Etx308N3I1KijyhBGAM+HBbz94lNBN0h4vUS6IObI1U=; b=DHVOL1vKkJMH+nFn2pInL+OSIqgodm96JxLxd5QRCOFj86rHaDwLWBhZoq+OnKEh/6 CPK/QIiUimZOfUXiyeATn527gWnv8K83hGAgXxUXpeL3GWfMlmBk9Xo7fgHaaD6nPN81 zDpFMSrkOAiaskQFdsjkXe7mm/rlkr56FzrM1VfgCJ2MqTNHVjGhQCMZhP9UG2XmqT92 9qEA5GZRTXfoikL3DaW5TLpBL0nXy+6Y78ptuLZY1e1dDSKwhtuI48x/CK70CKY85ha2 FRn676kHNlyogU5f7p665E9XGi2yVIh6h4tNBIp+o4Hvetebx3ZUqfZBoJwJFG+Firji vQ9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540211; x=1752145011; 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=Etx308N3I1KijyhBGAM+HBbz94lNBN0h4vUS6IObI1U=; b=CGhXvoemyJGQHeBEdjDeSO538h/6nnuf2m4kzU++WahX0Z2nbr9Auz8BmNKsbtEg26 FwEAtLo5lG0rymw5k+uAllNtPmPowp/PNlpmMBsIPuF98c+DaeYk+87+FkNhM1jeXb0R VZQkr186LO+8o2khmKMBS12GdZAxLwN60XiLq7EEGsmRGUa5YGNGBaZVJSS7CM30XVfc qeXmGQpYb628drw9l2UZ91tgFT9UbEALCFgTMYL7PM7x5RFQGAk55vbTbgLMJosbTX/p CPxminj6jSogDH6bkVil2ZigcOreNmwMNEsQZID3vyOZGewh53S0hlZ2nvIl5MjouXy9 HIzA== X-Gm-Message-State: AOJu0Yy3feFeLQZlM48+iaxfYYytho/ruG9vjb69OjGeihmJtZiwLxVa kD3GqzkiG4TjfU0eLnQQ38OhlaD5FRieef+ItPy9kZQ12MsqCm4Goq4Ic+1WY2QP/Oz3fEUDwM+ I0q4I7NA= X-Gm-Gg: ASbGncuQT8GKcQNeDaPBj7l6lt7bQ+RKxEc+0EXIhwyUM10oC/lSarISCLgEKQYPY2I 6Vnbaz0lZctLRj+HaRxH0rM2meycoqwe2m6VI806Lepb2DKPn7gDUzYb45X0m5XLt+ls06Lj1gC 755eIbDaeUFM/pNHikbWYprrPNyj6jtXuIN7vU52wg7eBdjhQpPnlXuMeH+TTqmqNcoiBNiK21U 6RdoQi5wVl1xL15CHSioMazVQtOQlnaejRF1ndJYi/e2qcFNCV+kwz49t1wKE4ZbPstthc0CgVf Co94rQw2xohXYKEY8OncsbNlQreMVBD2e1F7W1edODHi6x4ilC15mp5VQ4wTzZsXnWqCY1X87Ip W8APErDLlHyc= X-Google-Smtp-Source: AGHT+IFDMhcqD9OD8PTNB4St7Q2h+FxmR1znYA477JI4wwctyCKqRNqqzjvxSeSTmu7diYiHb036qg== X-Received: by 2002:a05:600c:8b23:b0:453:69dc:2621 with SMTP id 5b1f17b1804b1-454ab34b49bmr23227735e9.12.1751540210986; Thu, 03 Jul 2025 03:56:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 13/69] accel/tcg: Prefer local AccelState over global current_accel() Date: Thu, 3 Jul 2025 12:54:39 +0200 Message-ID: <20250703105540.67664-14-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540803177116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index d68fbb23773..c674d5bcf78 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -82,7 +82,7 @@ bool one_insn_per_tb; =20 static int tcg_init_machine(AccelState *as, MachineState *ms) { - TCGState *s =3D TCG_STATE(current_accel()); + TCGState *s =3D TCG_STATE(as); unsigned max_threads =3D 1; =20 #ifndef CONFIG_USER_ONLY --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540580; cv=none; d=zohomail.com; s=zohoarc; b=k/Ph3bEsSNF3crCt89h0baC2hMLRZ0VQRqsqdiktI0g+aCIlEHgcFi2CcOK+7uZudlCCG2SqAwIPyTJsf1q07Yh42hwEC/zQ3sRBLtJqsn12wF3DPO1QWG+Xp1Vlpx5hWYvMAyjrrg77CT7vKR+aS7ZbpBzjVYNtKY7zjJMi4pU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540580; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ig7RKTLH9UJlDQU329juJSY2hDH3DZ7PgtnDQ6yaDA4=; b=foJOHwkzFZUcW/HoqY3mVGDlp0WxPUV5lMq+atlXrzszaOcfc7zOaakKEjukeGkoU2ljWoy6rko08Ns2A48rD4S6veO1RFjEh4nLPukfEh4I/Mjeb7vO3fHAVQRo9NNIHkG1v4r2hMdYtbsuiH2kt6oVDHEu/Yi6T/amNMwA2ng= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540580518960.0775396383225; Thu, 3 Jul 2025 04:03:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHeJ-0005di-Vi; Thu, 03 Jul 2025 06:58:42 -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 1uXHcl-0004KD-Mm for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:07 -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 1uXHcg-0001RL-JO for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:02 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-451d41e1ad1so53375155e9.1 for ; Thu, 03 Jul 2025 03:56:57 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e59aaasm17990675f8f.83.2025.07.03.03.56.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:56:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540216; x=1752145016; 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=Ig7RKTLH9UJlDQU329juJSY2hDH3DZ7PgtnDQ6yaDA4=; b=EE4d2T+Le6tGWjgcjCqYx/L5bjqvuHCkMTvWT7iR7zsLvFJSonGeKft4naIjpQVFmQ lRmwduFk5aNKTYWaj6GgxXK/lx6Ye8rOSCCSDHyyE/utWCY+Y23n9qGuWpbQ5fwM4xXi A/gMq1+5eZqyBfch0rEFrcLyIiMkvez3WDRJvzpwUHlCZXIBXMskmm2Hhvx3Z+KE6MEr 4fWSzO7Ba+vvJy82fWg9K0cLo0chqGBpC18+36pGbrkr2s7x++3Xv17rau2Vp6rKe/Ze lRMlUXG69ulSiO5BIxbv5Nh4R17j0kVyCJB9m15VlAlabudkcWvjOn8P2Mw/ds46tKAZ eiVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540216; x=1752145016; 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=Ig7RKTLH9UJlDQU329juJSY2hDH3DZ7PgtnDQ6yaDA4=; b=v5ffh6+LVR6JfJyuw53Gf+qlPZsMgJMdwhKRhOuFui6yA/8Kdc6Q6qIs4cN4o3pZqE QvzA7SHV3jCOfGC/FUMI4gMHcgo5hcuSgbTkYC/uzUPlOMzmDXh2nYyvpx5gMUBQpPVU fhptpvWXN9fq+G/YP+Vfq+JWu7pYjN+jY4WPe47svGKfQSH5hfBWeetlaRWjE8UGCmFN T17JFrdRNM+UlQ0QNfHT9zSGVHcSl9FOUMKCa9MvK8Jp/Oy3fWsxi2Xk3BxFVRpvqfNN aaDrndySQkDdCpC0lzeFUBwZ+oTo/0AcKseB8gThHWvqIz5IOa6awleQVQrFoLTk1aW8 vWVg== X-Gm-Message-State: AOJu0YxjAO1eGTFNk676J1t1NiwZaHmMa9GaNHnD5oJQCZf9TJgjHu6n bhxVG18oYmFvX1XzUkpQArnf2pEhva8nAYEHItASBvfsLs56EwuXrYMoHK2J7VJodANCvUT5nUl +cEd9grU= X-Gm-Gg: ASbGncscjl633PnxKq+A+5mVwImLCw/bLWSfem1CRJCCZ6qX8jER6gxfHMej7IxaGXu YBujaVPlAuZvsPTWDeVm033JVQK1ig7LQPf24NsMNRw6fXgK9Q2I0wDScJ+euZWmuCeMFPjUuKW nx5juMZYziXA3r1uTZz824hhw7ptLuTd/ehnn4zKv9YSuuZjQiWUjQvbLwNy5Nkfg6miYZRAphs BP2kCyzXiN/T6QYpNG4wLGIVY6BlAyCnle6H7pB1o3+rNQZuk22UvdbVDIw804J4QQBv+V8ckKs +lx679sV3O0kf/ZpUl3b6PAxwfApvqJx2o1/B1L7ybfADigZNxe2mpceyUxjDQECQ2VxykmrGdK dQvbB3/48eG0= X-Google-Smtp-Source: AGHT+IHaj9RtQDiEeVRArxp+XRt5ldxps30/rxJJslo7khH4Q15jtcYUkXC+vICQ0L7oQrotPITPPA== X-Received: by 2002:a05:6000:4105:b0:3a8:30b8:cb93 with SMTP id ffacd0b85a97d-3b32e8f61dcmr1884068f8f.32.1751540216212; Thu, 03 Jul 2025 03:56:56 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Xu , David Hildenbrand Subject: [PATCH v5 14/69] accel: Directly pass AccelState argument to AccelClass::has_memory() Date: Thu, 3 Jul 2025 12:54:40 +0200 Message-ID: <20250703105540.67664-15-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540582446116600 Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/qemu/accel.h | 2 +- accel/kvm/kvm-all.c | 4 ++-- system/memory.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index b9a9b3593d8..f327a71282c 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -46,7 +46,7 @@ typedef struct AccelClass { =20 /* system related hooks */ void (*setup_post)(MachineState *ms, AccelState *accel); - bool (*has_memory)(MachineState *ms, AddressSpace *as, + bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); =20 /* gdbstub related hooks */ diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 72fba12d9fa..f641de34646 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3789,10 +3789,10 @@ int kvm_get_one_reg(CPUState *cs, uint64_t id, void= *target) return r; } =20 -static bool kvm_accel_has_memory(MachineState *ms, AddressSpace *as, +static bool kvm_accel_has_memory(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size) { - KVMState *kvm =3D KVM_STATE(ms->accelerator); + KVMState *kvm =3D KVM_STATE(accel); int i; =20 for (i =3D 0; i < kvm->nr_as; ++i) { diff --git a/system/memory.c b/system/memory.c index 4f713889a8e..b072a6bef83 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3496,7 +3496,7 @@ static void mtree_print_flatview(gpointer key, gpoint= er value, if (fvi->ac) { for (i =3D 0; i < fv_address_spaces->len; ++i) { as =3D g_array_index(fv_address_spaces, AddressSpace*, i); - if (fvi->ac->has_memory(current_machine, as, + if (fvi->ac->has_memory(current_machine->accelerator, as, int128_get64(range->addr.start), MR_SIZE(range->addr.size) + 1)) { qemu_printf(" %s", fvi->ac->name); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540847; cv=none; d=zohomail.com; s=zohoarc; b=ZTcy6MaPD7zPUyKUZn0gAhrP+RTCwPV+7t5D8Ttd6THo74xn36H6PbINz+pohctvRU/eHgXUo5GaYdj5Aqr7nToBvRhlWr3OldyQdv+xLw156dV0EUUp2a8flF0eRBGe10//AiFf2MSMrGTibYncwiVXQ7ZNz3Yv+YzCSU4Ja7M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540847; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PEXuTiZx4NBtgct91pluD9hB6GRxEbVAf5qByawcXe8=; b=YSeZjIJihcnJrMEW6yCHq7uNrcOP37tREL/V15vu9lpk8Za/cx9+5eGbcs4YZ2Pa28sBocp8Ns3k3PU3dJZRlC67BIAIQ21B2CrTZkXOAaCxlqfaGFvajF6X/ePBq0nG3yD3TWwdI6ZCuV41OS6IhHowC8p6w4nllV8+OQ4RqtI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540847022284.1130177528469; Thu, 3 Jul 2025 04:07:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHeb-00064e-LF; Thu, 03 Jul 2025 06:58: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 1uXHcu-0004Rj-Dy for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:13 -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 1uXHcm-0001WV-9y for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:12 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4537fdec39fso18651445e9.0 for ; Thu, 03 Jul 2025 03:57:03 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454aa3d7455sm20870755e9.5.2025.07.03.03.57.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540221; x=1752145021; 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=PEXuTiZx4NBtgct91pluD9hB6GRxEbVAf5qByawcXe8=; b=xz31EHxbh5ik0H98EZCo1nKCnXESKjyCuZNzgvYzk3EZnlc8l79KtjlGtUuNtjhaLs 6p96/un03IqnWule5vbP8s54Ps3jcbjckFrbBbjqJ0iXLjk4iVHHViHz4lCoT4W3cseh 8j8edEDfbCnZmz0Sd5mCKGImxqFq1j6uct4g5g4BVOrLUWIZqX6d/9bdbbUzmrBVfU1B E/x9OHo69mwZx5nDJ4dTLcKAMZfhXJUw2YHkbBIRsI3a29eRh1klVdMhli75wUsHzJ2N hgI8Tn1BkXjPWMhlCHLn6lHUONZEWsJeyCePntMTMHvKhjuhCtbUztoylVEh+vmToK1I ap4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540221; x=1752145021; 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=PEXuTiZx4NBtgct91pluD9hB6GRxEbVAf5qByawcXe8=; b=ZeBf11bc8mjcv61AqpaqjXakIcg9NDeg5yjGYPv34pay9qT+ozYSP13ktKqAWf/z+/ zOGEENz1uG4bpuiirqtiopfVi3HkuXbriHr1vUP2jcjHsOr8VqRERtmPLziBFZ2ApUKW 2bwH59nQod02V6GtsciBT2A4KN7BNeHYfv39G1HCJU23/HyQOZpAvVcwAkPi74LUwjs4 DFFvJSk5/+ffbOmBmdRwA4ICZZH8VMSmHSDCvnNtL6dyqmA2wLnOEu0f1bWntNoT5LYI QCMMSe1B1uCY2QTQkOk8YrSHG2hHJSixftAYtbW4dptdxwjUv6L9eXH1QbpldR+bNk0D IDLw== X-Gm-Message-State: AOJu0Yz7AQYXL/0kHvcU952VjtLoupJ9+k0JLwbql9WXM0TChil8SVLl 6CK5+fF+SVPwQ+TEkgvTxxMCg7KRCvVTQL4TDH8NyDcdFR0gUXQpVJIBF35dd6cyODneIy+RTKu qdtHNPg0= X-Gm-Gg: ASbGnctN2KqmP4gIZsQ2FJes072YNKbQ/wa9zI8pGj7MNmMYjYfUaDxmqCGrOFRIG2g TKf+/8ZwpRUFxCsXDoMeseW676IOiN5wewNVDOoj6x5SxuLWOsDQR+tRUvvn6xHiLHmMMfc0Jk0 47j/13UNdmPTnLRqqulplFjBHaRdMHXJzsXBE198SqD9REEbRet5gJ7EPq2Qe1uaIMMA/iAfZ4T ng6xbXZqWLtIgMbv9cXnOisJOmErLq1KToZKUGIo+KCPP0fxtrTPXJTFrE4woIN9BdXO8G2stKy c2cndfvoqg1QhBILryKorqHsKg1+xNVfuHQRHE5Kkbj303Pq+Nr6IbdTJ9RlcrSKWwFVpNtlEqY hu8T5+7DsdgQ= X-Google-Smtp-Source: AGHT+IFNM5ZpiX2WKqQdPL7BOWUOxixS1vmuU5TwVG3w0N1duZ8jC9VD+EDPeCfYp4SAphhNgUesZw== X-Received: by 2002:a05:6000:2307:b0:3b3:bd27:f2ab with SMTP id ffacd0b85a97d-3b3bd27faa0mr1140102f8f.5.1751540221194; Thu, 03 Jul 2025 03:57:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 15/69] accel/kvm: Directly pass KVMState argument to do_kvm_create_vm() Date: Thu, 3 Jul 2025 12:54:41 +0200 Message-ID: <20250703105540.67664-16-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540847777116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/kvm/kvm-all.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index f641de34646..6f6f9ef69ba 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2470,13 +2470,10 @@ uint32_t kvm_dirty_ring_size(void) return kvm_state->kvm_dirty_ring_size; } =20 -static int do_kvm_create_vm(MachineState *ms, int type) +static int do_kvm_create_vm(KVMState *s, int type) { - KVMState *s; int ret; =20 - s =3D KVM_STATE(ms->accelerator); - do { ret =3D kvm_ioctl(s, KVM_CREATE_VM, type); } while (ret =3D=3D -EINTR); @@ -2646,7 +2643,7 @@ static int kvm_init(AccelState *as, MachineState *ms) goto err; } =20 - ret =3D do_kvm_create_vm(ms, type); + ret =3D do_kvm_create_vm(s, type); if (ret < 0) { goto err; } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540245; cv=none; d=zohomail.com; s=zohoarc; b=TyeiuPsibX6/VpH3NKWcMMViSncd6mLFQOXKikg9rzw0+vxwQ77riHdW5DxVksLTXm7RxlZrasoQqxQA8MHb65UsC0yGZWldUEzGGt7AoTEZQugRlSCl954Z2PbrKGZlKj7czsrKkXMEOdkjR47vb2st3peo8ndiW3s86ZW88es= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540245; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MnLLL7YQoCQGdWR3EVL4zcbePVJyUuDX4baxuyLLriU=; b=mkU/GzJFcJACe4x2/wV1yZur7SZiEOz2koWvQBqwNSt2FRAGd4czjbpqseXzg0i71fDirTDCSUBvu4PNnVAU16h9LKSGqUsOMPqKPraKCwbZJB2Zk1U3fubXxqH9ePEkPaG94LkY/13mEjV70v/a3lGm30w09utn1N2vQbM9RAs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751540245389229.5769656417251; Thu, 3 Jul 2025 03:57:25 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031985.1405737 (Exim 4.92) (envelope-from ) id 1uXHcv-0003Ax-O3; Thu, 03 Jul 2025 10:57:13 +0000 Received: by outflank-mailman (output) from mailman id 1031985.1405737; Thu, 03 Jul 2025 10:57:13 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHcv-0003Aq-KR; Thu, 03 Jul 2025 10:57:13 +0000 Received: by outflank-mailman (input) for mailman id 1031985; Thu, 03 Jul 2025 10:57:13 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHcv-00033v-0Y for xen-devel@lists.xenproject.org; Thu, 03 Jul 2025 10:57:13 +0000 Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [2a00:1450:4864:20::336]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 7606e5e2-57fc-11f0-a314-13f23c93f187; Thu, 03 Jul 2025 12:57:07 +0200 (CEST) Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-453634d8609so56296975e9.3 for ; Thu, 03 Jul 2025 03:57:07 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bde8c8sm23730205e9.31.2025.07.03.03.57.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:06 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 7606e5e2-57fc-11f0-a314-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540227; x=1752145027; darn=lists.xenproject.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=MnLLL7YQoCQGdWR3EVL4zcbePVJyUuDX4baxuyLLriU=; b=OQIGb6M+TnK9LACdUv8BD3AoSBYeymXFyCZJEiFIAGXV6nPEn3C9k4lDv8lv7dso+h sxWjh5jbmOKcXpNtWWBWDaz2ueqKl7JRAzrONFRTowWkfOlMEQOGNx0f4/+NWQATYMKz shaLgU1GeGPsFqB0iMh3XstiXgf48QNEvsRivM9EtzvCcXz+LFHxMVDuotpcWKZ852yq fX8yrwVAVE1yxIJL/NjnaczmJni+crFyMDOj9Vt1x7N8reXS04551s/7oT/3v6sktsyp Xha0pqxgBqr69KMMls9rEioCg8/C/ZUvQnVwyDcEA9lKTDJW8NR226IbdrOn/awQ9Aem gDhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540227; x=1752145027; 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=MnLLL7YQoCQGdWR3EVL4zcbePVJyUuDX4baxuyLLriU=; b=UOWjEjk63qK0E+7Fat3zK1KzB42x8aGMDZ0XSjvg1vAh4HPPA8zNk+qJ9UItE9ZkHK ax/0oIQRJSk3lECdjl4NMKYkYI4633niYiDGIDCTGk7bLyp0Iy9T3TwruhaQvUYxb8W6 hsGDkBDmcOK5nHGlcm0JBsWBh9VMgyMcJD7vl9GmvNKgSrnrX9YbXa6bxffLnSSbP4X7 fmCOvnoHIVm/hAtLV4uhJd487OUtVhM7IWtqnwPyM/3aHIkNAlJRWc7/a/BBSd6zqtjI R++eIuIgDZ9961DZR3h5v+TnnJRAWrghryWvcQXAohH4YSJkPPGtMplDD//6igP36s1V HKBg== X-Forwarded-Encrypted: i=1; AJvYcCU72zNVik4ob7BZPvZU74ts++4DNa76dVWoqBePjCI8vW6KuFaXvzqyB87xcc0icmpWkzwaOij1e9A=@lists.xenproject.org X-Gm-Message-State: AOJu0YwIdz61ZEN9jMXK5FpkYRtXTk0v/xc0iynqBpDKjE1y7lLWXRcl KIbgzwlj/iqLOnIKRoMwIJTDoD1w1SMCpPurLed3uZtiaSj16ak5XzBrckLsHuO7Aqc= X-Gm-Gg: ASbGncs5l67iaFYTBQT5IEoPakvOPV7ZaG3I2xchPep5cZ2vQ73H+JdfKFoICKNLMTm HWLMrTsjd2BKRR57KgrI/C4NQWz5J7TyRtI2tvonoMxP1GYYO7gzwQoovMBpYbctl4eo3R0Qr/v 7dID1RW52U2rokK0NQvUoHnD7r18hxoAP1iGOfnMkqa36rX3jUZ2D/812/JXvVk5jIrKLENpL+x KxrZmkSB+WtfP8xW2SHO8AEfT5hjLik6DcD/ABj/dijNS8feeFrGiXNEJchbL1grXxNSD/hpOFm Go/7B5mhzrQg+PPwno9EE3DYUUtj1PQMcvYZ3ak2+aCfFjnn+a+j4+TiFMYbYOz1n0+ZXoq+/VI SQ/omkD0IjL0= X-Google-Smtp-Source: AGHT+IEYucf5bnqrTZ0PYjrv8kqSiGOKUc/yPkaJr/uv7wwktIzjqebLnUo5ht4si12JpTCvy+cETg== X-Received: by 2002:a05:600c:820e:b0:43c:ec4c:25b4 with SMTP id 5b1f17b1804b1-454af1d8088mr13927765e9.10.1751540226727; Thu, 03 Jul 2025 03:57:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org Subject: [PATCH v5 16/69] accel: Remove unused MachineState argument of AccelClass::setup_post() Date: Thu, 3 Jul 2025 12:54:42 +0200 Message-ID: <20250703105540.67664-17-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540247628116600 This method only accesses xen_domid/xen_domid_restrict, which are both related to the 'accelerator', not the machine. Besides, xen_domid aims to be in Xen AccelState and xen_domid_restrict a xen_domid_restrict QOM property. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 +- accel/accel-system.c | 2 +- accel/xen/xen-all.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index f327a71282c..a6a95ff0bcd 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -45,7 +45,7 @@ typedef struct AccelClass { void (*cpu_common_unrealize)(CPUState *cpu); =20 /* system related hooks */ - void (*setup_post)(MachineState *ms, AccelState *accel); + void (*setup_post)(AccelState *as); bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index 913b7155d77..af713cc9024 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -58,7 +58,7 @@ void accel_setup_post(MachineState *ms) AccelState *accel =3D ms->accelerator; AccelClass *acc =3D ACCEL_GET_CLASS(accel); if (acc->setup_post) { - acc->setup_post(ms, accel); + acc->setup_post(accel); } } =20 diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index 1117f52bef0..ba752bbe5de 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -63,7 +63,7 @@ static void xen_set_igd_gfx_passthru(Object *obj, bool va= lue, Error **errp) xen_igd_gfx_pt_set(value, errp); } =20 -static void xen_setup_post(MachineState *ms, AccelState *accel) +static void xen_setup_post(AccelState *as) { int rc; =20 --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541448; cv=none; d=zohomail.com; s=zohoarc; b=nhYQNi84Vl5txSHoBnpLiPxGMVl3T80KIMDOLdwq9LUSoDyYcpHTwQ0ILbrH7mw+xkxsgqJ1k9QfF34mFfhLL0mhDtndSt6hMvQ5bkVV5vPVa+1/ktucpXzOd0l94oTQ3ubcDXA7UoG4DrrSKAdAA04fxmMEFFnFAGAQnk22e50= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541448; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=n7sqe5WieSfsWOfFniA97K4tiSwKm4bjRb1aMmtsHEE=; b=kV84HASWnekYrvY6/nBl2MajvBZVXjSa307zq8wpzgGYzzCWrPK5GGRzq/6FMpadBA4xw2a0wI1ileFX2QnX1rJpCpTeHVKZ4/epVMcknCTj+UXdbzuHFI8cR6oBlt6R2zxtDWarglW1e6Eyyvdg9G+J3ZrE8ikhwTswo0NPehs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175154144883765.63872484369358; Thu, 3 Jul 2025 04:17:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgV-0007qB-JJ; Thu, 03 Jul 2025 07:00: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 1uXHcx-0004Ww-Q1 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:18 -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 1uXHcw-0001ef-0L for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:15 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so536667f8f.1 for ; Thu, 03 Jul 2025 03:57:13 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9969f2asm24089165e9.8.2025.07.03.03.57.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540232; x=1752145032; 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=n7sqe5WieSfsWOfFniA97K4tiSwKm4bjRb1aMmtsHEE=; b=A/fqrTSGY3clPQO1tNXQfbX3OVadMYXcsm0ijzeqNLuW7/npfE2Q55dXL3mRCcMea8 7fsDDJspl00daW+/EmDQq5ZPsYvXIgYJj6MM/ZScPYplp0sCd2Wo6dY0Mthq0DwDs5Rh tuAGkzz0vCJ/RSPNv3gWpS7WbjBg82R1iJdYcddPrOWMg/x6cZamf3Hxcdk520lQ2lQD IjcNzy1RKgrSq4MaUC/2YJpyeXCZUvEjJscgSfZPDIHvPa/5dVzXhyAn60fPM2iy7L8a VLjXKLjlOaMzV/55qce2+gNBL8yBcUnSQ479iyqBsptnH51hwU+XDCOZwo7d3jtewW49 Yw2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540232; x=1752145032; 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=n7sqe5WieSfsWOfFniA97K4tiSwKm4bjRb1aMmtsHEE=; b=IN3WAlOkq9mw0PlzH2lWeWdr15DQvdC+YBk31KANoZKHpVQFz8gxLjZO2/hvwVx8IH eTRr6/vULbJW7Hi2fbQ7hX9y43RP/jDo3PTsFpX7NI7wEpa8CoJ2S74Rh137Qm3ywSOh xaXFCP1l7c87/47jUkuvlXIk1tKgyd6/33d426ZeI3DdKjMHCdT856LkU/8DDwm0wiBi wEu4qCXbtXO76uci6HDWA5JxLB1abezGOjvbwYhjhjDsvzr1mCSpYMQm5VV0ZrqE0GVG 8ULJ2jMLtfI1HRzaUbj5+FrwsSWJBbHbjyYM1x5kQlm1lHxtDfLgwAgOGAyv+gfnXQE/ TtPg== X-Gm-Message-State: AOJu0Yy4iAufgqsc5UcBWllT/qjB45fV1gxWDYvA7DvGkbqoqelOsfUG /hkjIr5KqN63/fWCsTm/smNrWxg4rtkeDRFDb8TIUe72kX9nToc5dsbCwXpH2P3IxnZ9eQ05wAl om2vwL8A= X-Gm-Gg: ASbGncuueznxsidqx7MZKmGsxxH3V5LeIVuUlDzLsur+owuQhnOdXyj0Sl5i4RIwIIe V3LukZnJ23i90ujcGwKAgdHOmPFR7vxLOiyQPodCpunhJ3Vzubn3lu28ht4C4pkXUe1X09OKTe4 QUq7gcZB+UUYqg7cUy7/ZdsyiJhkCq5Y9uz3nkHsbkojuLFUQeoOJfCS/Z933NqsOnt2c2CvR5J HatOaWPZ5KqddZIO8a+nvJD9jwJKqsTQ80LKKFRd3RytmrtnFz8pSkxosG6Qzalp3GLLQUut23C knritEXFFZ5p926ptjg6kVQPLyiNRjsF5e3BlY/3vUGwW4wXEVHlL4BPbfCTPOICrsUTiHTEgap 6d7DHcU03Ig8= X-Google-Smtp-Source: AGHT+IGRy6J9bSh2nCm/wWER+UpTUBFDN2Gq3tiv65nOglWjOb0sw7QVz7lMukD2pAC1YNJDsKOanw== X-Received: by 2002:a05:6000:2484:b0:3a5:5136:bd25 with SMTP id ffacd0b85a97d-3b342440189mr2171036f8f.1.1751540232092; Thu, 03 Jul 2025 03:57:12 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 17/69] accel: Pass AccelState argument to gdbstub_supported_sstep_flags() Date: Thu, 3 Jul 2025 12:54:43 +0200 Message-ID: <20250703105540.67664-18-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541451137116600 In order to have AccelClass methods instrospect their state, we need to pass AccelState by argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 +- accel/accel-common.c | 2 +- accel/hvf/hvf-accel-ops.c | 2 +- accel/kvm/kvm-all.c | 2 +- accel/tcg/tcg-all.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index a6a95ff0bcd..1c097ac4dfb 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -50,7 +50,7 @@ typedef struct AccelClass { hwaddr start_addr, hwaddr size); =20 /* gdbstub related hooks */ - int (*gdbstub_supported_sstep_flags)(void); + int (*gdbstub_supported_sstep_flags)(AccelState *as); =20 bool *allowed; /* diff --git a/accel/accel-common.c b/accel/accel-common.c index 55d21b63a48..1d04610f55e 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -128,7 +128,7 @@ int accel_supported_gdbstub_sstep_flags(void) AccelState *accel =3D current_accel(); AccelClass *acc =3D ACCEL_GET_CLASS(accel); if (acc->gdbstub_supported_sstep_flags) { - return acc->gdbstub_supported_sstep_flags(); + return acc->gdbstub_supported_sstep_flags(accel); } return 0; } diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index c256cdceffb..640f41faa43 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -353,7 +353,7 @@ static int hvf_accel_init(AccelState *as, MachineState = *ms) return hvf_arch_init(); } =20 -static inline int hvf_gdbstub_sstep_flags(void) +static inline int hvf_gdbstub_sstep_flags(AccelState *as) { return SSTEP_ENABLE | SSTEP_NOIRQ; } diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 6f6f9ef69ba..45579f80fa5 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3980,7 +3980,7 @@ static void kvm_accel_instance_init(Object *obj) * Returns: SSTEP_* flags that KVM supports for guest debug. The * support is probed during kvm_init() */ -static int kvm_gdbstub_sstep_flags(void) +static int kvm_gdbstub_sstep_flags(AccelState *as) { return kvm_sstep_flags; } diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index c674d5bcf78..5904582a68d 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -219,7 +219,7 @@ static void tcg_set_one_insn_per_tb(Object *obj, bool v= alue, Error **errp) qatomic_set(&one_insn_per_tb, value); } =20 -static int tcg_gdbstub_supported_sstep_flags(void) +static int tcg_gdbstub_supported_sstep_flags(AccelState *as) { /* * In replay mode all events will come from the log and can't be --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540500; cv=none; d=zohomail.com; s=zohoarc; b=HDhq53Z5bZZtuU4jS7ZooF+XZys/K43XHbzaa58e/rXm02iNPnS8Mhd/RdYtitqEmy+YK9RWAl6r0I1az26SExaRufHJdvlexZ1Gdk+ZY/WtH3WrOw3OnqXyeyKPT+uasUAD2eHZz+d5Xp/0OevM+tFalIm5nsKB3SpvsmElMFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540500; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bV84MiQpGOn60kTDkD54slrXkuHu95fcxpVNCRAl6i0=; b=SAYhXslRsbWTZcK7P1T7Rg2kassWVdTDiswSpG3k2HE2Ejhj9k6iuhV7h5yMqAjTnTP55COshY5tX3sGuqwjsGmiMQz2vgrJKIsx2py5wzJF4uesTn3aiEpDzmec6yrwxoq9p7By5RRVWoFsR0LtHisq+BHJ69DuMbuiauL3zKM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540500422409.2754738701634; Thu, 3 Jul 2025 04:01:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHfk-0006mS-MK; Thu, 03 Jul 2025 07:00:08 -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 1uXHd9-0004gD-Eq for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:29 -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 1uXHd3-0001iT-Qm for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:26 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-450ce3a2dd5so43379585e9.3 for ; Thu, 03 Jul 2025 03:57:19 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e591d7sm18631695f8f.67.2025.07.03.03.57.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540238; x=1752145038; 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=bV84MiQpGOn60kTDkD54slrXkuHu95fcxpVNCRAl6i0=; b=DsdFCPtig+EyfCIef+lHRdCrxZEMCgunO1iqkJ+2e/8iX6d1l6iJq7zk2SAsRxbVtc c7zIYHNzYy/MemEdGsApc1ijIIF+kI5PpA6b4sYLkRcpTXJHDTH8N89WoFmi9p53CkLc pUGlwl94IJb24EWngRYMGMZLoXaSTiqjLeebwLxOW32S9mZQ3z6EYh552/rCTHlU1Wjs 2JjjW1B8Ea4ieypqZJfQ9s0RsmWBUn7W4eal6o4zlBpsvL+VJSEQHsYigmcVSG1zQTOR Hm5kXPX80eLc4QZlFgFHsjbarh/xt15hdx/3pgS+8z4aHwWl7VJwMHFexgzFg+7eFNLK avEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540238; x=1752145038; 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=bV84MiQpGOn60kTDkD54slrXkuHu95fcxpVNCRAl6i0=; b=L+jIqxenHENgqO0JaF2Zhniem8zDKsEeD64dw1V7FCwa6q2TNak5/vTYV2QBxK1NjT usK5YXpIvE0iGYRrc9DrfxaKYIfup1aNCXex9TxhL8XVUoqr8GNERdxOype5m0Tell3H bwJ4k62jQ2vIqn3eYef7trlrbGmrNBwG2JEHYbdf+FbutZoBlP9YnoTLliTkXkBAULjT fPZquhkuFnOVLoJetEq4ZuQchuIhnlOtwontH+aDRTM8YNwOaLQaolAfRMq/GKKrBwk3 rnrdFEbnLd1OP9o/I+K+WcVvezXfKEr6LDpUoBEmB6KLXmoBLMIU3QiDhTPRyGHp9qdW q4wA== X-Gm-Message-State: AOJu0YxPEFzZQ6LXvzCT69vlgywRZAbjeRERtW+WoVhu7bU06TTKpwwi yXjltPlJ5nyFuB40SPTSVeKloccYnuigSTDCIoEs+VWHFLeTCRXjcMpJeerfl1SnE6+evwYBBLj qwrlcZV4= X-Gm-Gg: ASbGncuely4DbFuL66lQHsfbXdH0jeXcTTQlv2pvYEMbDOOnEq2hz869DCEbfdoscN2 6Me9CSF0/QhP8SAFjSskLNOrphsxyLw5hUGsj0AckEHoj9cWRRiNvQoD+5EJgtJArZui5r46mFa i9AnsPjp/IE6Ikw4hwsy9AjmEy3fflxSjWIqihLsP29jQKmwjKXpSyHH/gIYJ7VsECesMGj/42p +wvDIEQuMG2vHIdbPVK60+7+10n61aB8DuaNl3AD7bFGQo6OmaC6u+mTGeDXO7IRaBJ6abnIOpB fuGHezljNY0niHrtLDr+Lhb+JcLl1j6b3GlCayN7wzpPeM7SfObtX96vgACAl4zIgk8mBCAW4UL ienrBT92z9xY= X-Google-Smtp-Source: AGHT+IEmNLvtVHQf9NpB/fQmjEXmTAthaVxxUyGp9hx2gO4yuAi9n/eHxM8kk1TDX0WcFyurTuexYQ== X-Received: by 2002:a05:600c:5248:b0:453:dda:a52e with SMTP id 5b1f17b1804b1-454a373d342mr54355175e9.33.1751540237572; Thu, 03 Jul 2025 03:57:17 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Alexander Graf , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH v5 18/69] accel: Move supports_guest_debug() declaration to AccelClass Date: Thu, 3 Jul 2025 12:54:44 +0200 Message-ID: <20250703105540.67664-19-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540502125116600 AccelOpsClass is for methods dealing with vCPUs. When only dealing with AccelState, AccelClass is sufficient. In order to have AccelClass methods instrospect their state, we need to pass AccelState by argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/kvm/kvm-cpus.h | 1 - include/qemu/accel.h | 1 + include/system/accel-ops.h | 1 - include/system/hvf.h | 2 +- accel/hvf/hvf-accel-ops.c | 2 +- accel/kvm/kvm-accel-ops.c | 1 - accel/kvm/kvm-all.c | 5 ++++- accel/tcg/tcg-accel-ops.c | 6 ------ accel/tcg/tcg-all.c | 6 ++++++ gdbstub/system.c | 7 ++++--- target/arm/hvf/hvf.c | 2 +- target/i386/hvf/hvf.c | 2 +- 12 files changed, 19 insertions(+), 17 deletions(-) diff --git a/accel/kvm/kvm-cpus.h b/accel/kvm/kvm-cpus.h index 688511151c8..3185659562d 100644 --- a/accel/kvm/kvm-cpus.h +++ b/accel/kvm/kvm-cpus.h @@ -16,7 +16,6 @@ void kvm_destroy_vcpu(CPUState *cpu); void kvm_cpu_synchronize_post_reset(CPUState *cpu); void kvm_cpu_synchronize_post_init(CPUState *cpu); void kvm_cpu_synchronize_pre_loadvm(CPUState *cpu); -bool kvm_supports_guest_debug(void); int kvm_insert_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len); int kvm_remove_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len); void kvm_remove_all_breakpoints(CPUState *cpu); diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 1c097ac4dfb..c6fe8dc3913 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -50,6 +50,7 @@ typedef struct AccelClass { hwaddr start_addr, hwaddr size); =20 /* gdbstub related hooks */ + bool (*supports_guest_debug)(AccelState *as); int (*gdbstub_supported_sstep_flags)(AccelState *as); =20 bool *allowed; diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index a863fe59388..51faf47ac69 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -65,7 +65,6 @@ struct AccelOpsClass { int64_t (*get_elapsed_ticks)(void); =20 /* gdbstub hooks */ - bool (*supports_guest_debug)(void); int (*update_guest_debug)(CPUState *cpu); int (*insert_breakpoint)(CPUState *cpu, int type, vaddr addr, vaddr le= n); int (*remove_breakpoint)(CPUState *cpu, int type, vaddr addr, vaddr le= n); diff --git a/include/system/hvf.h b/include/system/hvf.h index 8c4409a13f1..7b9384d816c 100644 --- a/include/system/hvf.h +++ b/include/system/hvf.h @@ -71,7 +71,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu); /* * Return whether the guest supports debugging. */ -bool hvf_arch_supports_guest_debug(void); +bool hvf_arch_supports_guest_debug(AccelState *as); =20 bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); =20 diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 640f41faa43..e7f40888c26 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -364,6 +364,7 @@ static void hvf_accel_class_init(ObjectClass *oc, const= void *data) ac->name =3D "HVF"; ac->init_machine =3D hvf_accel_init; ac->allowed =3D &hvf_allowed; + ac->supports_guest_debug =3D hvf_arch_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D hvf_gdbstub_sstep_flags; } =20 @@ -600,7 +601,6 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->remove_breakpoint =3D hvf_remove_breakpoint; ops->remove_all_breakpoints =3D hvf_remove_all_breakpoints; ops->update_guest_debug =3D hvf_update_guest_debug; - ops->supports_guest_debug =3D hvf_arch_supports_guest_debug; }; static const TypeInfo hvf_accel_ops_type =3D { .name =3D ACCEL_OPS_NAME("hvf"), diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index e5c15449aa6..96606090889 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -104,7 +104,6 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 #ifdef TARGET_KVM_HAVE_GUEST_DEBUG ops->update_guest_debug =3D kvm_update_guest_debug_ops; - ops->supports_guest_debug =3D kvm_supports_guest_debug; ops->insert_breakpoint =3D kvm_insert_breakpoint; ops->remove_breakpoint =3D kvm_remove_breakpoint; ops->remove_all_breakpoints =3D kvm_remove_all_breakpoints; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 45579f80fa5..a9d917f1ea6 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3528,7 +3528,7 @@ int kvm_update_guest_debug(CPUState *cpu, unsigned lo= ng reinject_trap) return data.err; } =20 -bool kvm_supports_guest_debug(void) +static bool kvm_supports_guest_debug(AccelState *as) { /* probed during kvm_init() */ return kvm_has_guest_debug; @@ -3993,6 +3993,9 @@ static void kvm_accel_class_init(ObjectClass *oc, con= st void *data) ac->has_memory =3D kvm_accel_has_memory; ac->allowed =3D &kvm_allowed; ac->gdbstub_supported_sstep_flags =3D kvm_gdbstub_sstep_flags; +#ifdef TARGET_KVM_HAVE_GUEST_DEBUG + ac->supports_guest_debug =3D kvm_supports_guest_debug; +#endif =20 object_class_property_add(oc, "kernel-irqchip", "on|off|split", NULL, kvm_set_kernel_irqchip, diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 37b4b21f882..07b1ec4ea50 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -106,11 +106,6 @@ void tcg_handle_interrupt(CPUState *cpu, int mask) } } =20 -static bool tcg_supports_guest_debug(void) -{ - return true; -} - /* Translate GDB watchpoint type to a flags value for cpu_watchpoint_* */ static inline int xlat_gdb_type(CPUState *cpu, int gdbtype) { @@ -218,7 +213,6 @@ static void tcg_accel_ops_init(AccelClass *ac) } =20 ops->cpu_reset_hold =3D tcg_cpu_reset_hold; - ops->supports_guest_debug =3D tcg_supports_guest_debug; ops->insert_breakpoint =3D tcg_insert_breakpoint; ops->remove_breakpoint =3D tcg_remove_breakpoint; ops->remove_all_breakpoints =3D tcg_remove_all_breakpoints; diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 5904582a68d..93972bc0919 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -219,6 +219,11 @@ static void tcg_set_one_insn_per_tb(Object *obj, bool = value, Error **errp) qatomic_set(&one_insn_per_tb, value); } =20 +static bool tcg_supports_guest_debug(AccelState *as) +{ + return true; +} + static int tcg_gdbstub_supported_sstep_flags(AccelState *as) { /* @@ -242,6 +247,7 @@ static void tcg_accel_class_init(ObjectClass *oc, const= void *data) ac->cpu_common_realize =3D tcg_exec_realizefn; ac->cpu_common_unrealize =3D tcg_exec_unrealizefn; ac->allowed =3D &tcg_allowed; + ac->supports_guest_debug =3D tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D tcg_gdbstub_supported_sstep_flag= s; =20 object_class_property_add_str(oc, "thread", diff --git a/gdbstub/system.c b/gdbstub/system.c index 8a32d8e1a1d..bced226fd94 100644 --- a/gdbstub/system.c +++ b/gdbstub/system.c @@ -634,9 +634,10 @@ int gdb_signal_to_target(int sig) =20 bool gdb_supports_guest_debug(void) { - const AccelOpsClass *ops =3D cpus_get_accel(); - if (ops->supports_guest_debug) { - return ops->supports_guest_debug(); + AccelState *accel =3D current_accel(); + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + if (acc->supports_guest_debug) { + return acc->supports_guest_debug(accel); } return false; } diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 4c4d21e38cd..bd19a9f475d 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2357,7 +2357,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu) hvf_arch_set_traps(cpu); } =20 -bool hvf_arch_supports_guest_debug(void) +bool hvf_arch_supports_guest_debug(AccelState *as) { return true; } diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 28484496710..bcf30662bec 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -1024,7 +1024,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu) { } =20 -bool hvf_arch_supports_guest_debug(void) +bool hvf_arch_supports_guest_debug(AccelState *as) { return false; } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540477; cv=none; d=zohomail.com; s=zohoarc; b=mslopguxE0LzP3d1YkOeZqyld0TVEkKp6y7bJ1jzCEh9EQZzprKng1ZW0bCzskMDWh+cdsvge49A7UXBALkJlQqRP8XcUYttYhcr4yg5g7GlBXRxx2cQ+6nrquoo7lO136nWqB3dVfA/Mk7erdW4NurXNOwHPfepF1ROV0WL7H8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540477; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+aB/j0dD+Tw6oDsMLdkju47YZrsXLX4R6aGxhn5wulM=; b=L/DZ7IRccIxmhI8KiwGwT5GuefsUWlocYAZt91OKP37fipFsvxduDjgO6qeoeo5Q+DFp1RCHQWWhNphs0c9D6kHOfmc18ESIitpjiIUdhqjaukhWEvMlJgAriRLuOwmx7Zly151bn5CvK8cMrBZL/5W8a4fgO9fXEkqBhJVX2hg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540477854864.7447135123318; Thu, 3 Jul 2025 04:01:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHg6-0007Bi-Pd; Thu, 03 Jul 2025 07:00:32 -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 1uXHdE-0004lZ-C0 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:37 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHd6-0001li-O6 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:32 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-45310223677so38343025e9.0 for ; Thu, 03 Jul 2025 03:57:24 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9beb2b2sm22701505e9.35.2025.07.03.03.57.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540243; x=1752145043; 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=+aB/j0dD+Tw6oDsMLdkju47YZrsXLX4R6aGxhn5wulM=; b=B7XWKqN7BfcSXVoNFGJ8T5jMC+B6W5RDAflMApcqKKjFpquWChPhD3hukpRVP/XECI 0VC9AxzOSsCGGBjq9e1Ayu9r35U3ybjcI8KaEsDJar5cSieoImffkOBktHJwwUVujoEZ m2EB195ih2Y63Ajoo59jvqUWaRPUurYQzOOaWV01UxnRzjkKfRkD4zoi6fx7NEYjR9Jq LtU6LrAml4cy1ZcLDXwrhsgLEbjOsrKB/LTPLwU0O+VWv3YwEdpRD3Ggb6WZ14kzIqRz 6oY+/F1vVeHVypYz6Ury+Yj8pS0KFghRD6/QI3AIMfMYEpRxLAHUrYSE4J8u1QCNsgKf bbPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540243; x=1752145043; 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=+aB/j0dD+Tw6oDsMLdkju47YZrsXLX4R6aGxhn5wulM=; b=Y5eTkvmGYyayG7qkQnLwGxOF7C8RoWEJpBns98zibICJ/vhL9BjyZK8p7J8YYwAEre hZQc72fpDWqXdpQic+j14RI12p0DUk/cjQNfPQuCaTlrAAFrQd7YRJq5T4leZAemoKO0 1hi1GrAyinRYNC6kq8VG1F3EEyF2Hc7ZjynU78pFvoEhCad1iKAFn7dm4n7dg/Dqznps C0V00LBcBLDE1WUekoztSpNczuiUCxXCw/lS/0NtGxWsIx2+YC0E1JXXbb8Kh8iEBmun OHy2iJE5ryb9CLXQeASFE0mPZVTPInes/WC9iISMzbjJCJhty49CCZVHFVFzj3F+H+9a jQ8A== X-Gm-Message-State: AOJu0Yx79vQCrAh6wRraMBkMgVkZWMMO2+COzir0KNzCkvrWbGcqTzin 0pXkjoIiPCZxafJFP7dgonhGDqiI/Q+CuaqXN71AJExkvq1E55vA1B3OsTMJ5RinGMDzS6i47Du 7h2plfsw= X-Gm-Gg: ASbGncvhllPYhuICkRchRiw2v0ZTgUYnT0/Ak/H1YhJjc+Frz3jOeP3SQZs+gFpOv4T 298aEaN1WwZY1pIj3+d3fggwSOpXmUFW/Umx1dHMfrfwEQYacD3Zdvaq14q/kt5GQaFYK/xaMu5 gr9EOoh9NZ1bs0HRWkB3BEd9m76iNL7P4iH0zpM6T9PFEYWs0Lqc8ozObdrWO7ighCVsfUPI480 vdzY0hM2/QWsbKIzI9Kuh8TIZzrgBFhWnpaU3cXtX+CcS/X6joiLyAfeOwbIyZSUG7O2xrRB70Y 5SSzYPMEhhnotGkvRncCPgOE9IqsdgUea2nbudL7ZDYFMhwMjylns9dR0vj2bzLbCXGVLwJOS9v AsQmK5e0poU4= X-Google-Smtp-Source: AGHT+IFY575descHYaPdwzTKawSS5YJf9NFJv4bMQ6/yUPx4/P07s8hQbXogExn1Qi/cQ/c9nYIcQQ== X-Received: by 2002:a05:600c:638e:b0:43c:f44c:72a6 with SMTP id 5b1f17b1804b1-454a36d8b1bmr64595345e9.2.1751540242724; Thu, 03 Jul 2025 03:57:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 19/69] accel: Move cpus_are_resettable() declaration to AccelClass Date: Thu, 3 Jul 2025 12:54:45 +0200 Message-ID: <20250703105540.67664-20-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540479285116600 AccelOpsClass is for methods dealing with vCPUs. When only dealing with AccelState, AccelClass is sufficient. Move cpus_are_resettable() declaration to accel/accel-system.c. In order to have AccelClass methods instrospect their state, we need to pass AccelState by argument. Adapt KVM handler. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 1 + include/system/accel-ops.h | 1 - accel/accel-system.c | 10 ++++++++++ accel/kvm/kvm-accel-ops.c | 6 ------ accel/kvm/kvm-all.c | 6 ++++++ system/cpus.c | 8 -------- 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index c6fe8dc3913..3c6350d6d63 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -48,6 +48,7 @@ typedef struct AccelClass { void (*setup_post)(AccelState *as); bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); + bool (*cpus_are_resettable)(AccelState *as); =20 /* gdbstub related hooks */ bool (*supports_guest_debug)(AccelState *as); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 51faf47ac69..d854b84a66a 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -34,7 +34,6 @@ struct AccelOpsClass { /* initialization function called when accel is chosen */ void (*ops_init)(AccelClass *ac); =20 - bool (*cpus_are_resettable)(void); bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index af713cc9024..637e2390f35 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -62,6 +62,16 @@ void accel_setup_post(MachineState *ms) } } =20 +bool cpus_are_resettable(void) +{ + AccelState *accel =3D current_accel(); + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + if (acc->cpus_are_resettable) { + return acc->cpus_are_resettable(accel); + } + return true; +} + /* initialize the arch-independent accel operation interfaces */ void accel_init_ops_interfaces(AccelClass *ac) { diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index 96606090889..99f61044da5 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -78,11 +78,6 @@ static bool kvm_vcpu_thread_is_idle(CPUState *cpu) return !kvm_halt_in_kernel(); } =20 -static bool kvm_cpus_are_resettable(void) -{ - return !kvm_enabled() || !kvm_state->guest_state_protected; -} - #ifdef TARGET_KVM_HAVE_GUEST_DEBUG static int kvm_update_guest_debug_ops(CPUState *cpu) { @@ -96,7 +91,6 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) =20 ops->create_vcpu_thread =3D kvm_start_vcpu_thread; ops->cpu_thread_is_idle =3D kvm_vcpu_thread_is_idle; - ops->cpus_are_resettable =3D kvm_cpus_are_resettable; ops->synchronize_post_reset =3D kvm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; ops->synchronize_state =3D kvm_cpu_synchronize_state; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index a9d917f1ea6..9d1dc56d7e8 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3974,6 +3974,11 @@ static void kvm_accel_instance_init(Object *obj) s->msr_energy.enable =3D false; } =20 +static bool kvm_cpus_are_resettable(AccelState *as) +{ + return !kvm_enabled() || !kvm_state->guest_state_protected; +} + /** * kvm_gdbstub_sstep_flags(): * @@ -3992,6 +3997,7 @@ static void kvm_accel_class_init(ObjectClass *oc, con= st void *data) ac->init_machine =3D kvm_init; ac->has_memory =3D kvm_accel_has_memory; ac->allowed =3D &kvm_allowed; + ac->cpus_are_resettable =3D kvm_cpus_are_resettable; ac->gdbstub_supported_sstep_flags =3D kvm_gdbstub_sstep_flags; #ifdef TARGET_KVM_HAVE_GUEST_DEBUG ac->supports_guest_debug =3D kvm_supports_guest_debug; diff --git a/system/cpus.c b/system/cpus.c index a43e0e4e796..4fb764ac880 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -195,14 +195,6 @@ void cpu_synchronize_pre_loadvm(CPUState *cpu) } } =20 -bool cpus_are_resettable(void) -{ - if (cpus_accel->cpus_are_resettable) { - return cpus_accel->cpus_are_resettable(); - } - return true; -} - void cpu_exec_reset_hold(CPUState *cpu) { if (cpus_accel->cpu_reset_hold) { --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540608; cv=none; d=zohomail.com; s=zohoarc; b=ls/kGkm9TTdQwTRARJ3vQ5Ksj+nNtVQjU7DLHuxA9pfmfYOpEwWs7KPq4aYx+H4veoVLgNZeoM7HEYwPUXV0oWZu0eBb11QxthRn3OMHAEgh1PT7L+lKRBVdjXY4GjYw430TuZ0JTczz5lOH8FVoFjNA1IQJF5Bz63TAlybsqn0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540608; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LFRxRvBg/Kw+lCEJUMnsPGlqNMegEysmKneUwCu7PxI=; b=Ur/f06p9k5GH9SucNPq9ugVaS9beQuxEgeFJz6b1VRay1MHqM1we3aNELWiXNIf1M1+UpfoOlhNsRMfSXhF2RHy2bKu2t/dK3bweXaz6CujDYVD2D+fUK8K5soWhuJaVy4BFxSURMqWYrnTBu3noJctFbdWib4xhC65lZMgEVew= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540608125652.6740168861681; Thu, 3 Jul 2025 04:03:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgA-0007LG-3Z; Thu, 03 Jul 2025 07:00:34 -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 1uXHdE-0004la-DM for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:37 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHdC-0001rf-MM for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:32 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-45348bff79fso55545805e9.2 for ; Thu, 03 Jul 2025 03:57:30 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bde8c8sm23739305e9.31.2025.07.03.03.57.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540249; x=1752145049; 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=LFRxRvBg/Kw+lCEJUMnsPGlqNMegEysmKneUwCu7PxI=; b=gGutHCgBqi7gIefGuBOkXImK5uPbwBjnynCMpi9upDQhez4DdhcBl/VVNE5od69by3 Z9WWf6TIiKvF14HVg0yc062ksRAFWetE62mocBTUmq0RJT3uGzi26fsw7BxcQoS+ntDc Qf6DINCZUdcDqox6VNUBd+qAj4jAdGdxrW7LEuc1sgowfsURGRkq4fQ3PRHklOa4TUOy qyXwWLoPBCoWEAwQ+5nXCeZpeu8ZE7RlL89CnmAEHR1aCfzc/CvnxzIuwPANHw59Wuzq QBZXGEngi2RBjCg9+nqHo4jyGX99Y6Oky1EvmrtHst29SoNUU7brikRFgJSiPC2ubke4 Vz/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540249; x=1752145049; 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=LFRxRvBg/Kw+lCEJUMnsPGlqNMegEysmKneUwCu7PxI=; b=Ad19o6Q0N1crS0IAxcWct/hdik9jyg6bYSUWZBEVfbKehjNJFtczqrlSk8xsmZhMeF XinGNNL1OoWIK8Q5kfsWbW36VhVPK87DSBwqr7R396uDeoriAUVky1I7TZdWmKpNQEEv ED6G4RWedDCHvZunIWGnaqmWc9wduFEw8Jv7KZoMwnNy52BMM+6hgQxHA6Rdq1GVYVg2 oJJVOu3fZaf7u2ZwXSw7bs3C9HNVBVbaHuwoG06avhCiGYaA2M6M5+HYVz28equFEc9O RLRuChFBWpMCWcLvnZZsAsKr/4cQ8hvfnTbdpUMg9++hcb+NTxd+IWxS6a6DbEqFTdQF OFgQ== X-Gm-Message-State: AOJu0YzI8QQaUqnyNKPk84jIfQL+iKlp3iPMd2XJEoncz+gfO3+ORt34 swXvex3Y57y+RnbvpOuol8D19btho7Th17cTPDayjBfEdsKXBGxnyLflxcKk6BON6actpTqYlMJ pP8J20lE= X-Gm-Gg: ASbGncs9mKZ4rDGd0B5KaPnqZRSwyR+WD2AA4XySi1VTrORXjeDdb8rhq033x4PNCCf A2gZx2sGJqeWogmSquP/qH7zgEkCjUgsK5+nU3oUg4nA+Xr994eN7g407zg/7abd995djbLq9C1 K40TilC85DRzXIXsIXGs2k9MyFMGN+T99B2640YFdiH6FaWHJp4FplRIRagslSwJ9c9EcWW/aP3 cGa6F9YYHkcc+XiFUXUUXQ3Zj4t5Zg+0iYdK6cJiHAI8kdZRniniewcaNq5JpM8Cxc/7ovD8Ltl sw8kev0ts4dCIIOXOldAIqKIqN6YjRCi9SVn+J5MutgESNvZKoppaErCzQUayDpR/1qDXxfHyz6 N02m3DsEdE9E= X-Google-Smtp-Source: AGHT+IGbW0znf+hbz18B0RsM2MuWbTAgJCt01aIieGYP5RHDzWd9uLU880IDur91SfMRbbEPcg0G+g== X-Received: by 2002:a05:600c:4f84:b0:450:d37c:9fc8 with SMTP id 5b1f17b1804b1-454a3e1a96amr68969665e9.13.1751540248698; Thu, 03 Jul 2025 03:57:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 20/69] accel: Move cpu_common_[un]realize() declarations to AccelOpsClass Date: Thu, 3 Jul 2025 12:54:46 +0200 Message-ID: <20250703105540.67664-21-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540608982116600 AccelClass is for methods dealing with AccelState. When dealing with vCPUs, we want AccelOpsClass. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 -- include/system/accel-ops.h | 2 ++ accel/accel-common.c | 10 ++++++---- accel/tcg/tcg-accel-ops.c | 3 +++ accel/tcg/tcg-all.c | 2 -- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 3c6350d6d63..518c99ab643 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -41,8 +41,6 @@ typedef struct AccelClass { AccelOpsClass *ops; =20 int (*init_machine)(AccelState *as, MachineState *ms); - bool (*cpu_common_realize)(CPUState *cpu, Error **errp); - void (*cpu_common_unrealize)(CPUState *cpu); =20 /* system related hooks */ void (*setup_post)(AccelState *as); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index d854b84a66a..fb199dc78f0 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -34,6 +34,8 @@ struct AccelOpsClass { /* initialization function called when accel is chosen */ void (*ops_init)(AccelClass *ac); =20 + bool (*cpu_common_realize)(CPUState *cpu, Error **errp); + void (*cpu_common_unrealize)(CPUState *cpu); bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 diff --git a/accel/accel-common.c b/accel/accel-common.c index 1d04610f55e..d1a5f3ca3df 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -102,10 +102,12 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **= errp) } =20 /* generic realization */ - if (acc->cpu_common_realize && !acc->cpu_common_realize(cpu, errp)) { + if (acc->ops->cpu_common_realize + && !acc->ops->cpu_common_realize(cpu, errp)) { return false; } - if (acc->ops->cpu_target_realize && !acc->ops->cpu_target_realize(cpu,= errp)) { + if (acc->ops->cpu_target_realize + && !acc->ops->cpu_target_realize(cpu, errp)) { return false; } =20 @@ -118,8 +120,8 @@ void accel_cpu_common_unrealize(CPUState *cpu) AccelClass *acc =3D ACCEL_GET_CLASS(accel); =20 /* generic unrealization */ - if (acc->cpu_common_unrealize) { - acc->cpu_common_unrealize(cpu); + if (acc->ops->cpu_common_unrealize) { + acc->ops->cpu_common_unrealize(cpu); } } =20 diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 07b1ec4ea50..95ff451c148 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -46,6 +46,7 @@ #include "tcg-accel-ops-mttcg.h" #include "tcg-accel-ops-rr.h" #include "tcg-accel-ops-icount.h" +#include "internal-common.h" =20 /* common functionality among all TCG variants */ =20 @@ -212,6 +213,8 @@ static void tcg_accel_ops_init(AccelClass *ac) } } =20 + ops->cpu_common_realize =3D tcg_exec_realizefn; + ops->cpu_common_unrealize =3D tcg_exec_unrealizefn; ops->cpu_reset_hold =3D tcg_cpu_reset_hold; ops->insert_breakpoint =3D tcg_insert_breakpoint; ops->remove_breakpoint =3D tcg_remove_breakpoint; diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 93972bc0919..ae83ca0bd10 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -244,8 +244,6 @@ static void tcg_accel_class_init(ObjectClass *oc, const= void *data) AccelClass *ac =3D ACCEL_CLASS(oc); ac->name =3D "tcg"; ac->init_machine =3D tcg_init_machine; - ac->cpu_common_realize =3D tcg_exec_realizefn; - ac->cpu_common_unrealize =3D tcg_exec_unrealizefn; ac->allowed =3D &tcg_allowed; ac->supports_guest_debug =3D tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D tcg_gdbstub_supported_sstep_flag= s; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540607; cv=none; d=zohomail.com; s=zohoarc; b=CDkcvwr/OBimZtxl14VtOqmTuJL1jewEivdGJWVqbZFqajXMuEdeUPzs24kF8+EvNetavSzDH2VLUPL7brdEiHtfJE+/WP8R4WqO98GoN4kWBjCyQRUzIka7NR7pcYr+Ax3MqyULe4cTfWvkoM0/VgIDwDEcY7HP+rZJg/7SpgE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540607; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MzsXmG16DASHWsIXbw9ajDisw+zUQq9t5Ugm0qpyfec=; b=nDpaeE/7PqFr2xTzaQEx31zG0tSDt7ciUUIHvrIxEz3TUsBAt8pU00I9qs190Mv5cbcb5Pl3hXWkJ+JOJ0M481EQpbOkeeoth5K/FaXRMwZzUc/tX+vSDSW2kkoVQ8f5P/K5gaAz7OPjXXGQWkAFJFK45L6nQh8MzibjGqubP3E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540607644408.33599478500514; Thu, 3 Jul 2025 04:03:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgH-0007cT-0I; Thu, 03 Jul 2025 07:00:44 -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 1uXHdL-0004vS-Bt for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:41 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHdI-0001yf-MT for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:39 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3a57ae5cb17so3616560f8f.0 for ; Thu, 03 Jul 2025 03:57:35 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e5f8b6sm18666357f8f.91.2025.07.03.03.57.32 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540254; x=1752145054; 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=MzsXmG16DASHWsIXbw9ajDisw+zUQq9t5Ugm0qpyfec=; b=cui+xxFWWolOZkxZJnt8vI6U1sp1TpQtJoICNciclGJ6s8GjbOXep6l/Icl76+w+xb pE1gR/lFH2q9LpuZYdxD72a05g5HIPkpCriMeOzW8ruzAPf882oufOa87o6SFXvb2fYM iPhFX/JNZXAmzxuvPTzO2hVxbfvhffSzUX+kisqo6ZMVR46qCo9mJQAEppRz4vQ9Jc5z YPk/fh4vfJY6VonY1JzVzbyQvS6E3hbU2NjP/LkMi/6fh2iCx+7wjr9XdZQ+e78cmfx0 g3vxxe1Qnd56kSMNBwg9oGzNgpM9CumYti6gxTn2ovegGLINKqmt7bdgTe/ZYpCuawrb QPew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540254; x=1752145054; 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=MzsXmG16DASHWsIXbw9ajDisw+zUQq9t5Ugm0qpyfec=; b=E6HlE8vQmkcbeCQ6dOsW5rEzWKofT1AcqHOBeCu8NK2xZAc5vDwW7BEFwsSDT/mxrc FNcfWWtIECCwM9/mUt0gYF+pDLT1g3Pm5qdy3jSl/A2PTEzexeznE4JZ+lqFIpgx0Z8B DhpYrpRqZWrdItpPKgnyIIe/9d2wcHupABMmy6PK7YHBN7oSIk2F76slyb7N0tLifs0m k7YC+SDxamoVkSN7hnGWNqB4WllUvkpF171ge0RZSeoMIcNGpuG2/Nk95Ac6VteuGjTe StZMG77q9SLlGNmW1nj3ceZOh2fLZY8l4gWnNWScfYhE7PF1PPiM418qOE4eyWzXFAo7 EMwA== X-Gm-Message-State: AOJu0YwX8+P2VEapDf97eA3iKFsbbkHZyHAjrPvrGXsqCJxf9mqdWSDA YR4FN9A+rrxoBcn1Yj6DkP0coKDtU8g53TBCxL9PV7YNDC7k9JpYE8CnsCwMBTC1IUhutXQqh6I i+e/l1AQ= X-Gm-Gg: ASbGncvCeW15sQd22cEb2Lj7vX92UFQIn8j/f76Sqb97Ykh2edts2T0cR31S+TS+8Rw /kUe7TDXe7ctvG0u4AUFCFMOlSe/77UcrcBHZ4ZKJBQbQGrjrhjLaOq8lykqo2dJwv1NQzRzMnH 0GHYX9gn4jAWbIz4FN3CNu8Td+tHeY4WqnSgJC1o3IFwtEHgMVFAiLbw0Mli9cYZw9rtCvkssnS sTN4nypbqbUbv5DrbW2vjAvlnqZGxgkyPj4dP/Pk5gQa+MlVfsg7jCkxDIPFceBaAs8alg6rVUd SgapVJORGGqFUrXgAg1yknt67M/aNDIpILti8HVp/RNoh+SrVjJgaLwvy/ATSuezm62Z5FFMlIw SdsNkYoQdEuE= X-Google-Smtp-Source: AGHT+IH/6u+aXxLt7sGZ69z19XQupL3QFWV9ITJcqOhSUMtGX9QWGmsqODskJ2yOy8OR7GzwbiBLiw== X-Received: by 2002:a05:6000:42c9:b0:3a4:ef30:a4c8 with SMTP id ffacd0b85a97d-3b32bae096bmr1447841f8f.10.1751540253936; Thu, 03 Jul 2025 03:57:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v5 21/69] accel/system: Convert pre_resume() from AccelOpsClass to AccelClass Date: Thu, 3 Jul 2025 12:54:47 +0200 Message-ID: <20250703105540.67664-22-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540609223116600 Accelerators call pre_resume() once. Since it isn't a method to call for each vCPU, move it from AccelOpsClass to AccelClass. Adapt WHPX. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 3 +++ include/system/accel-ops.h | 1 - target/i386/whpx/whpx-accel-ops.h | 1 - accel/accel-system.c | 9 +++++++++ system/cpus.c | 4 +--- target/i386/whpx/whpx-accel-ops.c | 1 - target/i386/whpx/whpx-all.c | 3 ++- 7 files changed, 15 insertions(+), 7 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 518c99ab643..065de80a87b 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -47,6 +47,7 @@ typedef struct AccelClass { bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); bool (*cpus_are_resettable)(AccelState *as); + void (*pre_resume_vm)(AccelState *as, bool step_pending); =20 /* gdbstub related hooks */ bool (*supports_guest_debug)(AccelState *as); @@ -86,6 +87,8 @@ int accel_init_machine(AccelState *accel, MachineState *m= s); /* Called just before os_setup_post (ie just before drop OS privs) */ void accel_setup_post(MachineState *ms); =20 +void accel_pre_resume(MachineState *ms, bool step_pending); + /** * accel_cpu_instance_init: * @cpu: The CPU that needs to do accel-specific object initializations. diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index fb199dc78f0..af54302409c 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -47,7 +47,6 @@ struct AccelOpsClass { void (*synchronize_post_init)(CPUState *cpu); void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); - void (*synchronize_pre_resume)(bool step_pending); =20 void (*handle_interrupt)(CPUState *cpu, int mask); =20 diff --git a/target/i386/whpx/whpx-accel-ops.h b/target/i386/whpx/whpx-acce= l-ops.h index e6cf15511d4..54cfc25a147 100644 --- a/target/i386/whpx/whpx-accel-ops.h +++ b/target/i386/whpx/whpx-accel-ops.h @@ -21,7 +21,6 @@ void whpx_cpu_synchronize_state(CPUState *cpu); void whpx_cpu_synchronize_post_reset(CPUState *cpu); void whpx_cpu_synchronize_post_init(CPUState *cpu); void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu); -void whpx_cpu_synchronize_pre_resume(bool step_pending); =20 /* state subset only touched by the VCPU itself during runtime */ #define WHPX_SET_RUNTIME_STATE 1 diff --git a/accel/accel-system.c b/accel/accel-system.c index 637e2390f35..11ba8e24d60 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -62,6 +62,15 @@ void accel_setup_post(MachineState *ms) } } =20 +void accel_pre_resume(MachineState *ms, bool step_pending) +{ + AccelState *accel =3D ms->accelerator; + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + if (acc->pre_resume_vm) { + acc->pre_resume_vm(accel, step_pending); + } +} + bool cpus_are_resettable(void) { AccelState *accel =3D current_accel(); diff --git a/system/cpus.c b/system/cpus.c index 4fb764ac880..2c3759ea9be 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -762,9 +762,7 @@ int vm_prepare_start(bool step_pending) * WHPX accelerator needs to know whether we are going to step * any CPUs, before starting the first one. */ - if (cpus_accel->synchronize_pre_resume) { - cpus_accel->synchronize_pre_resume(step_pending); - } + accel_pre_resume(MACHINE(qdev_get_machine()), step_pending); =20 /* We are sending this now, but the CPUs will be resumed shortly later= */ qapi_event_send_resume(); diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index b8bebe403c9..011810b5e50 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -95,7 +95,6 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_post_init =3D whpx_cpu_synchronize_post_init; ops->synchronize_state =3D whpx_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D whpx_cpu_synchronize_pre_loadvm; - ops->synchronize_pre_resume =3D whpx_cpu_synchronize_pre_resume; } =20 static const TypeInfo whpx_accel_ops_type =3D { diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index f0be840b7db..821167a2a77 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2106,7 +2106,7 @@ void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu) run_on_cpu(cpu, do_whpx_cpu_synchronize_pre_loadvm, RUN_ON_CPU_NULL); } =20 -void whpx_cpu_synchronize_pre_resume(bool step_pending) +static void whpx_pre_resume_vm(AccelState *as, bool step_pending) { whpx_global.step_pending =3D step_pending; } @@ -2703,6 +2703,7 @@ static void whpx_accel_class_init(ObjectClass *oc, co= nst void *data) AccelClass *ac =3D ACCEL_CLASS(oc); ac->name =3D "WHPX"; ac->init_machine =3D whpx_accel_init; + ac->pre_resume_vm =3D whpx_pre_resume_vm; ac->allowed =3D &whpx_allowed; =20 object_class_property_add(oc, "kernel-irqchip", "on|off|split", --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541009; cv=none; d=zohomail.com; s=zohoarc; b=ZbLTFyRrfiyf/ieNZeoNKgcDU781nkfxePVFb/v5/DBNCJa9zxir812M7K2St87ZIJOJZgvB6aHoCW5XRjybDdhKU3KSGjHDRhpc9SmcwFsyEitjTDPrEJo3EyzmORTcctlL0AHIl9u+OAeGvyjBiSeVNUWxZz3JUlfmuciO9yg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541009; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gyDIfVgkjNXaUsE4JArqlEQoqhWF6dxOZmRK2K42QUQ=; b=OT8gcmngt6SRrISDBOCSDru2qVDRcJmoW5hUqmVzbwbx3ZO2fJ1j1uTGAiwHdGTT9Zz+HeNH60G+nT7qZ3wTEemFBjhV59v37hYIsUt5ebCoem374jFR216L1FQo2deCQAmQh220ZwCYv5W0z1Wcpsy/+QWJBYTvTbMMmCVSRlg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175154100989048.218920740796875; Thu, 3 Jul 2025 04:10:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgc-0008Ex-IJ; Thu, 03 Jul 2025 07:01: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 1uXHdP-0004zJ-1r for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:46 -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 1uXHdN-00025v-Bt for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:42 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-45310223677so38344625e9.0 for ; Thu, 03 Jul 2025 03:57:40 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a999d399sm23784825e9.25.2025.07.03.03.57.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540259; x=1752145059; 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=gyDIfVgkjNXaUsE4JArqlEQoqhWF6dxOZmRK2K42QUQ=; b=Vln3hpGHaw27EhzcxNP8BFdT2NrAsYPy7TzDVfZJxth/rs1Udh1NTvhtrQ0LJhU0xI FHOHoUuWPOe6er7hL2RSZFahn84yYHQ16dcuSRjRJwiXiZQxDUkymOM1E5MSUlnxzPT3 LdUOelbnRLUukuLByd9gUpvLDC31cXkvXA4Q5wFJf3L2+mcjiskLgWzYm0Lsid8SrSBg RB5TlncPmHeRzOtchNgXcd6ElJ/czgst1KGXufAReEFGUEyukskm8hgI+H6ld8RTbtDE /2IbW51JNB1pFoRcBSkIwwoXl8N3wQw/wiGSGj7dqGWPCZK7LK/NwrwXQDLQVmefzbXP xKXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540259; x=1752145059; 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=gyDIfVgkjNXaUsE4JArqlEQoqhWF6dxOZmRK2K42QUQ=; b=d8x5dgxheMy60YNmoCVYPpDan+KvI0xQ6dViS2n3Gd1udofgOsAezOoK7eAyhtQYXM oX6+1UsOAaOOX7j6MZbSQh0FokVUZWTPKIFeltnL/KLEJ7QisPlXjmUtfsIhBxgfqeDF eebnCEPwlzgJCE/hfzBxQohaNILIRULU3m576Dr82R7G0tIhVUl+kIeFKC/X7uhBVHXd 0v+C1BaTgsfNFqH3z4B/UxsXr713pI15KOno1y14mx/zSGEX9faUdexrWq/KLnSS2s2W izyRtUVd5AUzCjWOey4MCSknazLDQy6wKVRGIjkxCoe71tR/ZVUCv/WZ48VSp4aILjhQ eBgg== X-Gm-Message-State: AOJu0Yx4L8NL4iC4SGRZEzjkuXTHdWaJDTid/6+trHTWwt89dIFE4Mug YTGvFoXDUasICw/P90ZqRRLt0hfhlYVPB/CrIWqBQxTvv7hASII9X76jtkcnVX+3fo9CN4LDgBA 8TAY/knU= X-Gm-Gg: ASbGncvqUHlJBozSOl9p/n0MJoJvTXKKn1/h+62wUC4iQxY60KhjykMZ6kVAsZEDozo 8CO9UzlpGfm/juCyQeS60zDg6V748YJ+BlGivh5ZKZso4Hbm3qyUJsWKu4jwGyvpVrLAByTJZLs sQi+KlyQt1dEf283PI2JAWDQ2sdWDpXZesY/yPE+J6tVoLVagQHhNoy/juEgsZ0sr0jPHW3Amh2 8M5hBMCjUmJmL+3KLYsccHlTf+2UTR2hJD+V70iNhyh7PWqTwVj/fPc4tOiuUggsZPK3K/u1t0H /oKgYuaSbYJ9Rx9QuHd5anM8JfQY90psM8wOWNJG/axEGNCy9IVuVsvqU4Ri5k19tzGKBQQij6r MGOH3RTZtZJM= X-Google-Smtp-Source: AGHT+IFnMUp9ULAlreAnLA58eLaPSmiRt8sgmToqT8PTkCSUBzjcdHDj/cVj5qFUEozQJ4tUqy3gXA== X-Received: by 2002:a05:600c:3f0c:b0:441:b076:fce8 with SMTP id 5b1f17b1804b1-454a36e91eamr71382595e9.14.1751540259254; Thu, 03 Jul 2025 03:57:39 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Eric Blake , Markus Armbruster Subject: [PATCH v5 22/69] hw/core/machine: Display CPU model name in 'info cpus' command Date: Thu, 3 Jul 2025 12:54:48 +0200 Message-ID: <20250703105540.67664-23-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541012251116600 Display the CPU model in 'info cpus'. Example before: $ qemu-system-aarch64 -M xlnx-versal-virt -S -monitor stdio QEMU 10.0.0 monitor - type 'help' for more information (qemu) info cpus * CPU #0: thread_id=3D42924 CPU #1: thread_id=3D42924 CPU #2: thread_id=3D42924 CPU #3: thread_id=3D42924 (qemu) q and after: $ qemu-system-aarch64 -M xlnx-versal-virt -S -monitor stdio QEMU 10.0.50 monitor - type 'help' for more information (qemu) info cpus * CPU #0: thread_id=3D42916 (cortex-a72) CPU #1: thread_id=3D42916 (cortex-a72) CPU #2: thread_id=3D42916 (cortex-r5f) CPU #3: thread_id=3D42916 (cortex-r5f) (qemu) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Zhao Liu Tested-by: Zhao Liu --- qapi/machine.json | 3 +++ hw/core/machine-hmp-cmds.c | 3 ++- hw/core/machine-qmp-cmds.c | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/qapi/machine.json b/qapi/machine.json index 0650b8de71a..d5bbb5e367e 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -80,6 +80,8 @@ # # @thread-id: ID of the underlying host thread # +# @model: CPU model name (since 10.1) +# # @props: properties associated with a virtual CPU, e.g. the socket id # # @target: the QEMU system emulation target, which determines which @@ -91,6 +93,7 @@ 'base' : { 'cpu-index' : 'int', 'qom-path' : 'str', 'thread-id' : 'int', + 'model' : 'str', '*props' : 'CpuInstanceProperties', 'target' : 'SysEmuTarget' }, 'discriminator' : 'target', diff --git a/hw/core/machine-hmp-cmds.c b/hw/core/machine-hmp-cmds.c index c6325cdcaaa..65eeb5e9cc2 100644 --- a/hw/core/machine-hmp-cmds.c +++ b/hw/core/machine-hmp-cmds.c @@ -40,7 +40,8 @@ void hmp_info_cpus(Monitor *mon, const QDict *qdict) =20 monitor_printf(mon, "%c CPU #%" PRId64 ":", active, cpu->value->cpu_index); - monitor_printf(mon, " thread_id=3D%" PRId64 "\n", cpu->value->thre= ad_id); + monitor_printf(mon, " thread_id=3D%" PRId64 " (%s)\n", + cpu->value->thread_id, cpu->value->model); } =20 qapi_free_CpuInfoFastList(cpu_list); diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index d82043e1c68..ab4fd1ec08a 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -47,6 +47,7 @@ CpuInfoFastList *qmp_query_cpus_fast(Error **errp) value->cpu_index =3D cpu->cpu_index; value->qom_path =3D object_get_canonical_path(OBJECT(cpu)); value->thread_id =3D cpu->thread_id; + value->model =3D cpu_model_from_type(object_get_typename(OBJECT(cp= u))); =20 if (mc->cpu_index_to_instance_props) { CpuInstanceProperties *props; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540579; cv=none; d=zohomail.com; s=zohoarc; b=RS6xSu0G7esTqdY3uqfDYgDwY7bCg2LF8ffvP3wHje5s7N5XQJz8BI11DK1m6/bnfKTYWSsMaHpwHHMm4uCH+OSNP3W0tDt9RexIf6nMgr8B5h7YfVtoSxc0gi+qKbTtzQsDQKEGzm/V5CBa/IPwH7rZlsIpYpnuetG861okmbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540579; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=BFzHeo6jxPUlGKhVCEILVY0U1JHXp5cH2Es3I4orHXM=; b=QhT0izfQ/qoNdmqapyEYETtRtGLKXhR2FTHwpIY4BrjKMSK3vkFDS/XJ/es2T5PYJPmksTttSmcHRt7RFxc+Qmw5OgWrAdBLBjrp3ih7K2RSQ9sCI0ZDB7FE6Bu2QQ0gdHJ0T1rDr3vRuH8fENpXpg2GIJs9Ox7girlx/eLavtg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540579886159.42660999399038; Thu, 3 Jul 2025 04:02:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgd-0008Mf-NE; Thu, 03 Jul 2025 07:01:04 -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 1uXHdW-00056i-7P for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:56 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHdU-0002A1-53 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:49 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a4f379662cso4653452f8f.0 for ; Thu, 03 Jul 2025 03:57:46 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b32fb30c05sm1788634f8f.44.2025.07.03.03.57.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540265; x=1752145065; 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=BFzHeo6jxPUlGKhVCEILVY0U1JHXp5cH2Es3I4orHXM=; b=s3mI1R8XsvaLyZWhnXoznScq2ULroLL30nVsSn94RDRLP36UROd1a82MZT5w+Ggg01 8Gf7GZ6L7qomvW12ha3X35ajXfwxDpx6cVtjMvwzazBj3aVrWtnF8pJVmMpcaIiPkkVg dpc70hTZBNK1O1hBTu1TstqnWfuVU72mqPP9k8wuYSZZdGqxG67JWy7567wikrRc+cIF YuhaRN1efxlyEjdw7cvjO5+N/jGEW94oKiOkbIVXtvFWqGEplJLKb4NFfzKHcBXlu4ik g0iHSOWBu4p661pgzRcoxWAvdo8/49XZkNMvuRg1OaUcO0e82fGdGHg9vlKg0VJHAQRb j8nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540265; x=1752145065; 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=BFzHeo6jxPUlGKhVCEILVY0U1JHXp5cH2Es3I4orHXM=; b=of5A8+PCDsGhRGO36RktUzD9O5BSQjnpf1QynphZf/nFgjkbO+gac5Yp2s0Hpj8lMX C1AKB+z+da2kN4NzM3CUhhLhvwyVzYj5OZhB/2muTWhiR0I65ro+/Ofii68KFVMEsvSa lrUXBX7BezpbSgvW6e/GgarkKJkreQHlYl942Xkiwx0sQQQHU4AmNakZYl9y2+39AJe0 z/kvY0UcpgGfFHUQyaHDPGDaZVAbiGEwpi3hiACCSoglfU2uSRmzfVKtDuxbE34OwSlw gOjH1PIyrpmziXgX2egN+IRG6V8PsQnvhSNeMLVESXqKlzgIzHuzoSlY+vGYTNE8Tnbr zzdQ== X-Gm-Message-State: AOJu0YyjLig1EMgcJx7/hbTBNTUylElqXSAXDIGLxNHYAMBWytx/9HW8 ikME8ULhTLMsS0UYUPielbPXyta+8P3vtFaNaPkrVA/niZPsmYYTcDL+rvnqxYhGMKr3XBLdIbS mMPG05j8= X-Gm-Gg: ASbGncvTKcTDfIei0WFxaQGIcXz/6urmn2Te7tQucxzxBfJzYvk3EAUVyb1be6nOAov JdwR0K3E1Gt+Zyaf8dnl1cKIWwGcemsIXD6Q+0YiNl4Mq6IhjuwV5dvGr0NMqlzz3U4k3Rmg0Yt QDEUNBWp7jiiX08EKqDXEzX4F7U6ddyXIzKar+OZO1CZ+E+6iZxFZhYD1MfKhpxmJr1tFCuPiDW fYwssvUV9/7SUyG2eABSvIFx/aYYzuodud/Y4x9mlFADbxNkXrG5MeVSamDNgwxTYCyn5o5qxKl yUamd7J38fatUh0bj/oSasVhsLcC749kRLx0k4K/7w4g30u/9SSWt0Yqi1uOhJNabSlA3zxnRF8 YTbqOhRnuFSk= X-Google-Smtp-Source: AGHT+IEAxgYkber2BoZbpxWHNYmrPhoKyyUHP0ytzfvoDQ3IUz0aX+omL8kQvDgtuCyaaQmE9nYalg== X-Received: by 2002:a05:6000:1a8a:b0:3a6:e1e7:2a88 with SMTP id ffacd0b85a97d-3b2019b825dmr5635776f8f.57.1751540264834; Thu, 03 Jul 2025 03:57:44 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Dr. David Alan Gilbert" , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Zhao Liu , Eric Blake , Markus Armbruster , Fabiano Rosas , Laurent Vivier Subject: [PATCH v5 23/69] accel/tcg: Remove 'info opcount' and @x-query-opcount Date: Thu, 3 Jul 2025 12:54:49 +0200 Message-ID: <20250703105540.67664-24-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540580781116600 Since commit 1b65b4f54c7 ("accel/tcg: remove CONFIG_PROFILER", released with QEMU v8.1.0) we get pointless output: (qemu) info opcount [TCG profiler not compiled] Remove that unstable and unuseful command. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Dr. David Alan Gilbert Reviewed-by: Richard Henderson --- qapi/machine.json | 18 ------------------ accel/tcg/monitor.c | 21 --------------------- tests/qtest/qmp-cmd-test.c | 1 - hmp-commands-info.hx | 14 -------------- 4 files changed, 54 deletions(-) diff --git a/qapi/machine.json b/qapi/machine.json index d5bbb5e367e..acf6610efa5 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -1764,24 +1764,6 @@ 'returns': 'HumanReadableText', 'features': [ 'unstable' ] } =20 -## -# @x-query-opcount: -# -# Query TCG opcode counters -# -# Features: -# -# @unstable: This command is meant for debugging. -# -# Returns: TCG opcode counters -# -# Since: 6.2 -## -{ 'command': 'x-query-opcount', - 'returns': 'HumanReadableText', - 'if': 'CONFIG_TCG', - 'features': [ 'unstable' ] } - ## # @x-query-ramblock: # diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index 1c182b6bfb5..7c686226b21 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -215,30 +215,9 @@ HumanReadableText *qmp_x_query_jit(Error **errp) return human_readable_text_from_str(buf); } =20 -static void tcg_dump_op_count(GString *buf) -{ - g_string_append_printf(buf, "[TCG profiler not compiled]\n"); -} - -HumanReadableText *qmp_x_query_opcount(Error **errp) -{ - g_autoptr(GString) buf =3D g_string_new(""); - - if (!tcg_enabled()) { - error_setg(errp, - "Opcode count information is only available with accel= =3Dtcg"); - return NULL; - } - - tcg_dump_op_count(buf); - - return human_readable_text_from_str(buf); -} - static void hmp_tcg_register(void) { monitor_register_hmp_info_hrt("jit", qmp_x_query_jit); - monitor_register_hmp_info_hrt("opcount", qmp_x_query_opcount); } =20 type_init(hmp_tcg_register); diff --git a/tests/qtest/qmp-cmd-test.c b/tests/qtest/qmp-cmd-test.c index 040d042810b..cf718761861 100644 --- a/tests/qtest/qmp-cmd-test.c +++ b/tests/qtest/qmp-cmd-test.c @@ -51,7 +51,6 @@ static int query_error_class(const char *cmd) { "x-query-usb", ERROR_CLASS_GENERIC_ERROR }, /* Only valid with accel=3Dtcg */ { "x-query-jit", ERROR_CLASS_GENERIC_ERROR }, - { "x-query-opcount", ERROR_CLASS_GENERIC_ERROR }, { "xen-event-list", ERROR_CLASS_GENERIC_ERROR }, { NULL, -1 } }; diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index 639a450ee51..d7979222752 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -256,20 +256,6 @@ SRST Show dynamic compiler info. ERST =20 -#if defined(CONFIG_TCG) - { - .name =3D "opcount", - .args_type =3D "", - .params =3D "", - .help =3D "show dynamic compiler opcode counters", - }, -#endif - -SRST - ``info opcount`` - Show dynamic compiler opcode counters -ERST - { .name =3D "sync-profile", .args_type =3D "mean:-m,no_coalesce:-n,max:i?", --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541431; cv=none; d=zohomail.com; s=zohoarc; b=K32reDynAfmPp9xSoQE9cgQyjaycZ1WN/F0y5wvNIa8COoThCWkbIBLUd0jhHlbBrRxOiRuWm5Ab5CMgFn44QWIZVqyUFdc7YCdeXvIyTCgfZ/mIX4UYh3MTAS9/7U/lhHDVnFgbDrGK2qDKyiWDENoLQinyor6dX0m5YbJEaKU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541431; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LpujPKNmLzr2YCI+n9fjeIzsX6AjXIBIk5d4rtXU8jY=; b=oKOAJZbAWMojyJAgvTT9hHpewBgKkWvizXIYD7M3/byyN79ovoI6IDRGNe3Do9nr4sa9D9bMl1V7C8FHz4m5NwO8MLlT7Kt2DUxIMyGgrmORVdmmDwB/DcZbkGcC73ZknkcqRoNmreeYLCuYlhAv8wRdHXDq9/MAWLk2LzdQmog= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541431920609.3941469572173; Thu, 3 Jul 2025 04:17:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHh1-0000mN-Iz; Thu, 03 Jul 2025 07:01: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 1uXHdZ-000572-Iw for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:55 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHdY-0002Et-3F for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:53 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4538a2fc7ffso6148705e9.0 for ; Thu, 03 Jul 2025 03:57:51 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a999c8cdsm23658325e9.24.2025.07.03.03.57.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540270; x=1752145070; 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=LpujPKNmLzr2YCI+n9fjeIzsX6AjXIBIk5d4rtXU8jY=; b=ZpT5MMaklG0ev4xWhwjfo0PjmibbcWIszvHHVtwiODkX+eYB7OGGtiI+/UG5PDZL5z bb5jkKNYnyFUpwzphLjME1I8V6Z862zG5U26Byk1wqOz2xIcixwieAEF65XOeHO/AVdG IcZHKPoexmltfBmGbDaLBhxFNEwVxNC3WuB8NSRW7W+8weCSpujP5g5auRCKXXe3+cvm sY1lpYtDtWzYO43RDx9Ql5jjnRlMNIxXntXLAQhG3Awq2XzIfUiEcek+hLokd7Z7xtTl X9roM9O6+9sSZf37M3A2VK/zEPe1uYkVOYyrnG4BEcoGtRdUGKHID6RTQN7+3QqE7w8r J4dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540270; x=1752145070; 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=LpujPKNmLzr2YCI+n9fjeIzsX6AjXIBIk5d4rtXU8jY=; b=uDowDBXN9tgdjcRJfZoxUPevsHJV/xYBiSpov8O5aDczlJLbpTLLvlbYBoQ5znHnUp seQWrmIccBcxwGmDtk3wpHYSjMrz8sTtpnvt9NZI9r/1enWxC34fF3WgBW65zlo6v/Hv KLEP85g7RGzWjuNivQFQeGFlk6+hCLNMfa5hWzgPb978YMT+l9VsCmAV5yiJ0orWu54G V+FGmyjpG91FnnwfVha8EngpMRKYwwTq8w1LKmgsP5qMVrMCW4DUYU47aYUnryOKH3Ar X7VORw5zI4eRQgiLZPKiKWCjglvBr3C6XNeqHFoF+fqkShXF4uIFaB1RUuqKZ/AZDPTd BUqQ== X-Gm-Message-State: AOJu0Ywb0WPDxqCChqyKymY7FrBmOuK88yzR/sP+ZP3ZWmKKrwkXAX3w qvfZqm0hUXB6b7bQLLFUKvh6zTwAtiq1auLww7xc/p1hCW+5ZVchw807Vg8xxd0IzZx9rn/pb3/ IKlFZ2Ds= X-Gm-Gg: ASbGncstXomxkOhEpKoQiGZp3mtHkSNyRrzvNYULUQqtpVJMTcGP/Dmp0GMaH4UqwCY GHvIY9NKlD9eRtC1Q1SvGS+E+IIfAq+yj4EeUxzuGpcCG11mpwBs/670u1CECERUOZgQypKUp7k q5Loksf8AhjNvbAVK3sJL9uSd5WvCZqEMdeDHE/g9PdT7WJBpbnIsUJKdhwSoFvQiiHpSwfAIik xz43MKdwFSNFatqaGyAbHLLsm5xHNqKuhQqdEl7mafJIDC03nm7QnRjvX8vUWf+y3HFrzYMoeTs uIiGa/SXb+RjjrGQI/aqKUxGpOg/QmK/G55hXooHGnURubOKfSYYCsVb395lHObqT8dZ4fdMdmS zi44dkYJpbKTpmEmFIt/g1g== X-Google-Smtp-Source: AGHT+IF9IKQZECBZi/S5op3MGZrBBvJrgZce9jUGHoXUct1Tc3R7UnwtXNQQsSeG2xM+tHMugsII/A== X-Received: by 2002:a05:600c:3b89:b0:453:84a:e8d6 with SMTP id 5b1f17b1804b1-454ab2ecdafmr23671555e9.1.1751540270071; Thu, 03 Jul 2025 03:57:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 24/69] accel/tcg: Remove profiler leftover Date: Thu, 3 Jul 2025 12:54:50 +0200 Message-ID: <20250703105540.67664-25-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541432911116600 TCG profiler was removed in commit 1b65b4f54c7. Fixes: 1b65b4f54c7 ("accel/tcg: remove CONFIG_PROFILER") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/monitor.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index 7c686226b21..344ec500473 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -141,11 +141,6 @@ static void tlb_flush_counts(size_t *pfull, size_t *pp= art, size_t *pelide) *pelide =3D elide; } =20 -static void tcg_dump_info(GString *buf) -{ - g_string_append_printf(buf, "[TCG profiler not compiled]\n"); -} - static void dump_exec_info(GString *buf) { struct tb_tree_stats tst =3D {}; @@ -196,7 +191,6 @@ static void dump_exec_info(GString *buf) g_string_append_printf(buf, "TLB full flushes %zu\n", flush_full); g_string_append_printf(buf, "TLB partial flushes %zu\n", flush_part); g_string_append_printf(buf, "TLB elided flushes %zu\n", flush_elide); - tcg_dump_info(buf); } =20 HumanReadableText *qmp_x_query_jit(Error **errp) --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540580; cv=none; d=zohomail.com; s=zohoarc; b=i9Dr1WLoHh9gdjuywrWcS/OzzZ+WxGgEWd/YwqhT2Qyp8/CCGVSpUjrSxV9A9ylc4B+JjfnLY0xLrpI8MZB13D15J8R7H+Hb+9QgNQvBytI3VoJ74FXz2fqpNqfPUARdPYtRtdU/ZIBkKqZtK5y6FKPsZf07/7VxQfh8iTru92A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540580; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KA0b8Mx/diMOpz5eVRAgzHisGcdWtT3pud+mD+Gv0yw=; b=FhI6lV531keLANiTrxjpMH3h4dLykf+z2OxRO+QjSz6v7z+OcU/JVf79dyYVDlLirGqmXbl+aVCvgKgCox369bXhj1NHzy9bPQJIdiuATQt/ux5UIq6NCKPfOioFIAempNwHYpeHvoaeouDpuZDSAS31Tu2d6jissL6/OmwQwLU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540580976719.1681392928909; Thu, 3 Jul 2025 04:03:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgF-0007c9-CV; Thu, 03 Jul 2025 07:00:39 -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 1uXHdf-0005DS-6j for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:01 -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 1uXHdd-0002NC-Cm for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:57:58 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a54700a463so483805f8f.1 for ; Thu, 03 Jul 2025 03:57:56 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a997b492sm23522235e9.13.2025.07.03.03.57.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540275; x=1752145075; 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=KA0b8Mx/diMOpz5eVRAgzHisGcdWtT3pud+mD+Gv0yw=; b=o8Fw9KwicQtATPbEsTCXNo7BVmn8d7YIIe3iYXk+1ja4ac1cG0cNQ/D+rBJ6kej6EQ d70rX6Ecvpi98jQDkSB1xqPBxxv8k6zsKe8j+FuDmPRaPwcmOR35eQKnwd+KPf7wcJDR TrIfzE5RaEkiVrXoahOHMSoaszaA8PbyKwp2LgFJ+1AWZHjWsAHFuYhTiJLqziHDWAo+ QAZqTIaYDX690TnHdlARVaQf6BibRxTlfyBIaN/cAhJUooCpRURbdso5BgY162MZjOa9 SEbfLFMaLPdXdLhss0ZUWdBQKkKI9LkvpaY1EIk+E+x4bQ2JAuJ4sug4UDxChua2jRHQ h7Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540275; x=1752145075; 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=KA0b8Mx/diMOpz5eVRAgzHisGcdWtT3pud+mD+Gv0yw=; b=QYh7zwIjKbt3sV9qxHryA90dSSP3dYNsGYpzlOLzmY7itsgc272QGiUv8eEJI3Z3lM vRGFUj4scXQ/xq+T0rXIkCCvMam0VC8YVtQyoezdi5xN3aiA6osYUERlycPO8cxvWqkZ T6C4QlX8KPZKa3IZH+ivov2vBd5jPIkQ7DVQphD2E5cSyK5ziC3qp25tVyyJJ7ZAcZC+ Ij9U1ki0o6p35mAoekeTBPsOZn5dgrqSnxa8iLvlxGBm/590K4VNhN/slMG+OV44SqBV J73Lyjbuapexn2W0g5VvqQm8219g9jS3AmkmXfBz50KNczACZ+RRKq9U7Hkc+g5/5IUH +Diw== X-Gm-Message-State: AOJu0YxfuZtCknmbGdRjILQM4kSggBNHkz3MnSinZpG/5sGMvH8H04j+ W5zWzF63TJyBku/oI0f7ti7dICxd4UaxRcLLN4lPIZEy4vlHVM3dtMtlHR+y6BiqBTJYK11fCM/ mMS8APNA= X-Gm-Gg: ASbGncvTqi8Cqeq8IhydNMEZVuDKc4+ECbAeUfgMLteaVEZzEg7ZgehWFqdTxTAvlck Xj31X/hEPbUcEzqfL4id+B9c7ILae+IV/n5G9xHVuQNZgRuRlAqhrDVRUf7i1OYJlFdMCyiwFL5 VjQ/JpQpmWPhD0ylLj1vknIWIIjANBAdA7hXamN2uu35rq1OEh2Nk9F9M2CVvYj96s48qzzTWz0 DvPMLxalaoJsBvyI7KBktx5ovfi/2B7HwxgPyX9aFQlu69c/Xbsb3e/dvAznjG3bTQoA2p4wBa7 7iFzV5oADkUrgRLQ3+gcdU99oCO2/cYT7478KlDqWleDyWdzTmkzLzNoL2AbzsXoCIffrWsJgq2 FDPqNDrAkXSU= X-Google-Smtp-Source: AGHT+IF1BqFbX6Smxb354kb502BZiBNMi8R4AvGG4ddbQJ0e2Zfnpsx8TFJQRhgqCASJoYZJnBu/tA== X-Received: by 2002:a05:6000:40dd:b0:3a4:e1f5:41f4 with SMTP id ffacd0b85a97d-3b344322977mr2374295f8f.17.1751540275136; Thu, 03 Jul 2025 03:57:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 25/69] accel/tcg: Factor tcg_dump_flush_info() out Date: Thu, 3 Jul 2025 12:54:51 +0200 Message-ID: <20250703105540.67664-26-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540582473116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/monitor.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index 344ec500473..6d9cc11d94c 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -141,11 +141,26 @@ static void tlb_flush_counts(size_t *pfull, size_t *p= part, size_t *pelide) *pelide =3D elide; } =20 +static void tcg_dump_flush_info(GString *buf) +{ + size_t flush_full, flush_part, flush_elide; + + g_string_append_printf(buf, "TB flush count %u\n", + qatomic_read(&tb_ctx.tb_flush_count)); + g_string_append_printf(buf, "TB invalidate count %u\n", + qatomic_read(&tb_ctx.tb_phys_invalidate_count)); + + tlb_flush_counts(&flush_full, &flush_part, &flush_elide); + g_string_append_printf(buf, "TLB full flushes %zu\n", flush_full); + g_string_append_printf(buf, "TLB partial flushes %zu\n", flush_part); + g_string_append_printf(buf, "TLB elided flushes %zu\n", flush_elide); +} + static void dump_exec_info(GString *buf) { struct tb_tree_stats tst =3D {}; struct qht_stats hst; - size_t nb_tbs, flush_full, flush_part, flush_elide; + size_t nb_tbs; =20 tcg_tb_foreach(tb_tree_stats_iter, &tst); nb_tbs =3D tst.nb_tbs; @@ -182,15 +197,7 @@ static void dump_exec_info(GString *buf) qht_statistics_destroy(&hst); =20 g_string_append_printf(buf, "\nStatistics:\n"); - g_string_append_printf(buf, "TB flush count %u\n", - qatomic_read(&tb_ctx.tb_flush_count)); - g_string_append_printf(buf, "TB invalidate count %u\n", - qatomic_read(&tb_ctx.tb_phys_invalidate_count)); - - tlb_flush_counts(&flush_full, &flush_part, &flush_elide); - g_string_append_printf(buf, "TLB full flushes %zu\n", flush_full); - g_string_append_printf(buf, "TLB partial flushes %zu\n", flush_part); - g_string_append_printf(buf, "TLB elided flushes %zu\n", flush_elide); + tcg_dump_flush_info(buf); } =20 HumanReadableText *qmp_x_query_jit(Error **errp) --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540581; cv=none; d=zohomail.com; s=zohoarc; b=nRzV4w2Jx6rb4feYLX/5XDMm5uYzXeINT7HlmAn9LFAdVJ6tL+Sqi9iW9H5RItH+Fl+vm80AuKWLtIAfyi7y0HhHCC4bNkJiNVbxN9+RfyT8X8zFz+2vCzGridXI+FwQsjKZusfXIapTKbA3mlI9urtt7nZKD8CthuJlaZdpQ9k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540581; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=JdpUA+n17c1R3e2qTbyN3iueYfohDJviDhKsKtUO7c4=; b=bvbmeNZj8rXZRuBsr7sAHLWqiuHP42WmwK+0BoDIL7FI8mZ2WJdfsG7dJq2D2Rgelystv8/qY6hCAdSJ4xHreaX3sboCPOwpKKRgYgMKFcLG3ktRxLEC3qbKbMOsIkSbbpkNlslopbYCiak6uJ929k2C8rTmGHYuYbq/Ic5Hf/4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540580997417.09256965309373; Thu, 3 Jul 2025 04:03:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgr-0000NC-RC; Thu, 03 Jul 2025 07:01:19 -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 1uXHdj-0005GT-Tw for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:05 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHdi-0002R6-9H for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:03 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a548a73ff2so7259347f8f.0 for ; Thu, 03 Jul 2025 03:58:01 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c800eaasm18721782f8f.37.2025.07.03.03.57.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:57:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540280; x=1752145080; 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=JdpUA+n17c1R3e2qTbyN3iueYfohDJviDhKsKtUO7c4=; b=SXYWGpe78cbHMbygGXlEUR9HEFh93qBsCirM4HNmpJpOf/iCBWyS5CsVvdIEcXlhno loceh2JGQFibR+s1bWUUhz0iQFuYStzyVg4aA0O2nIEqOaUS6cKwtcnVJ15IWJWsSKWB bUZqBVLjhs5EZij9NZpD9ohN6p2ViNXKg9F8eMYPUl19fHZaTzvyPDu7WRHntOkMclcW iqq47iSvWxpAvTVcDRBLJpe3D4sepaRhDmPOhhD4tKg9ep4E05wfxbJvtMBzCyxoX2qA eGrMTzRolNsB51+BEO3ztadi4eHbLX2rdCYXne7dPT0s4lA6kMKpVDvY3NVD1Al+AlqN peAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540280; x=1752145080; 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=JdpUA+n17c1R3e2qTbyN3iueYfohDJviDhKsKtUO7c4=; b=blJgZy8pQw0DuZyK/YOJK8vfU0JeNl+KmdzaqV/2SGuowlGEEYxV5Eu7m+jpXeQj9r nvkVIiPdUJkaIEJTuqzqzxoRwtQZJsBflzWic9NbOdaLnpWVrb4CqDBurLo7B+nOn0b4 g2Jn85Va1haYdMQityUIl9RPsFi/RcD19JYlluA6qcwl7DckLDjA6zXoyEu542TgPYGO WSdwl2lpm1qcM5u102P1fKX5n3BwkpV+UN9o9/lCiWqSgbM9031jE3X/0pLiyeYVfaXm MTMfIyx8UrnJThe9y340Z3VJg0NSbqoE99TZjABCaBk5+7eI6l4GRg12wAkbE8rm6ofs QxNQ== X-Gm-Message-State: AOJu0YyFbxyh+xTOyVIzeZ/F1wCyPiBuBRsgds4UO+u8pJA094CyPH9n rTJ3VE1laeJY5UWWjyq6nAaXzKufU7tQxWtEBpOiiXguvYjwE4j0zTU6p08mWfrD5lYJn/I6lG4 sNsiu/+I= X-Gm-Gg: ASbGnct2VKayD7F1NGKJmk6BLrthu36uO+5Yyl05tNb2o4wTRWkDVaiuztn3lEzNi1R ag7W3YAXR36pFY+q/9ZB3JJNOW23KOspEH2Wg6luubtwj5lpYZLKvbgShyBQg138cxTzXsxqblZ wXzFQwWalSx64pGCCsHUarKblpFJDrmg1iRFEB1DfJiQihiGadbc9eq7+0A6paT+l6Pf2eIfn26 4j3lykqiPJRAcrrCuB8oK6EwHaBj6qCVBovAd+AGKTS3JD9PNVgub5c9gNZz6TCk5DPkyJmi6yU GDZQuNRVrngNikXw4O2MUnYH0WmrnVwaj6KfQZw3mUTcbHaiR4hfaDPN1W1Qwu8Jhf3s8bo14r/ hSohrQ0q4RJ4= X-Google-Smtp-Source: AGHT+IFYoy2jQHRxcLCpISz8RybYDo93PQPw4aLsWNTWwxU2T9z7OKjWchTrnK4NWLGFuMukr4V3Vw== X-Received: by 2002:a05:6000:41de:b0:3a5:2949:6c38 with SMTP id ffacd0b85a97d-3b2012033e3mr6067660f8f.52.1751540280194; Thu, 03 Jul 2025 03:58:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 26/69] accel/tcg: Factor tcg_dump_stats() out for re-use Date: Thu, 3 Jul 2025 12:54:52 +0200 Message-ID: <20250703105540.67664-27-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540582434116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/internal-common.h | 2 ++ accel/tcg/monitor.c | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/accel/tcg/internal-common.h b/accel/tcg/internal-common.h index 1dbc45dd955..77a3a0684a5 100644 --- a/accel/tcg/internal-common.h +++ b/accel/tcg/internal-common.h @@ -139,4 +139,6 @@ G_NORETURN void cpu_io_recompile(CPUState *cpu, uintptr= _t retaddr); void tb_phys_invalidate(TranslationBlock *tb, tb_page_addr_t page_addr); void tb_set_jmp_target(TranslationBlock *tb, int n, uintptr_t addr); =20 +void tcg_dump_stats(GString *buf); + #endif diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index 6d9cc11d94c..e7ed7281a4b 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -200,6 +200,13 @@ static void dump_exec_info(GString *buf) tcg_dump_flush_info(buf); } =20 +void tcg_dump_stats(GString *buf) +{ + dump_accel_info(buf); + dump_exec_info(buf); + dump_drift_info(buf); +} + HumanReadableText *qmp_x_query_jit(Error **errp) { g_autoptr(GString) buf =3D g_string_new(""); @@ -209,9 +216,7 @@ HumanReadableText *qmp_x_query_jit(Error **errp) return NULL; } =20 - dump_accel_info(buf); - dump_exec_info(buf); - dump_drift_info(buf); + tcg_dump_stats(buf); =20 return human_readable_text_from_str(buf); } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540808; cv=none; d=zohomail.com; s=zohoarc; b=FQHtBYdh1KjDwugUuyH+fOG5qRKMWJD8nKtd5sVlR3yRkeKvnTzTjU8s6wphx0wGwEiPiYCGcM9E8RvRvcw3gcIfUQtYh2iLzP0buevggJu5JMm4xT7sK80QGG9s6AoQO5XuhKXw7j6nRVDwP9moCdvN85p/gg1kcBzG9iw1uPw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540808; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1ZYD1iVb5yNq60bNwDlmyqD29wMJj8nUcHdsBdsg2to=; b=gCfC7rF6QzSG53dA01cOw+6CyqxzybFRRQAg/4ZJc47P4joaWf3r6ePT0rxP7K+rU0nMX0trLkpsXhpysOfwaUO/eIBEr83839sjoAPoE6hd0Rc3PceG26M8bhML55xbIaGV+kuDJKCwW4pgBXuLE+Zz8ug9YOKswro5PxGoiPA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540808774451.94107677807824; Thu, 3 Jul 2025 04:06:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgZ-00088f-UY; Thu, 03 Jul 2025 07:01:00 -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 1uXHds-0005KJ-Jr for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:17 -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 1uXHdn-0002Tb-UV for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:11 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-453749aef9eso31035255e9.3 for ; Thu, 03 Jul 2025 03:58:07 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7fa54dsm18070004f8f.23.2025.07.03.03.58.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540285; x=1752145085; 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=1ZYD1iVb5yNq60bNwDlmyqD29wMJj8nUcHdsBdsg2to=; b=K3HPsfqFQhoKnwY42v+KOUTRVSC7XPCi0VBX8I5cHfclTK2nJplJL/3200ze+NFc+5 PpQbe0SxICXt4+rtx8GpYrx4tcKdHqbAKN85JXVn2ZdL/8UlaQ0V+YZye8QxpwPxHZ2z jW8xeNI5U1zG2wOoyhestAGRgy/d8KLQb3hVYmy0/2PAJufRxAHHTL9oEPfPvdFzOX/m GIn0sbGX6IzlaRdhnjvA+6iSQqIxooKhCSEFT54kLYU9VaAkp+qb6Vza2AqaP+eLBCJ1 rDIlOCLqMTVe+Di0kdNLwJCfU1hAX5rEP7JBHOklE4Q8bgiSrIIqfrlpbkr722NZ1tNG q/Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540285; x=1752145085; 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=1ZYD1iVb5yNq60bNwDlmyqD29wMJj8nUcHdsBdsg2to=; b=oyHA5oB9KiIXHWDgXrOv6rNo2wKhXjV1TP++8EYh+p50nhtdfpoEPr88csL1o74hSW ZcRdHKYwmrhuUlmHGkRc8t4gybyvX7YkK1bIGDEdwQMBwKNfBw3/YQGSqA1GD/ken2Qm KNpnKX+vB1vnSIsdeoE1yBM0PbFbEOw7UQInxbw+xUBl0sPTW6611PLGbOtIcj1MUAJJ rVlb8XcXhnebUw/6+nTDlsKQJ0L16NV3jJHIERO9u+IYu54nC81dQu3vE6pW1zmwNxDA HgOnW6DwZZGbIXU1EPPnsX9XKyBbtsTZ1yMnHnZuEmMBhdeF6DygUF0uOJpsGoKU9J3x OZTg== X-Gm-Message-State: AOJu0Yy9CFJTCMZF1pvC2ao54cYq6w8vsbVzugIozgCBP7NlybLcvdiA 9R4Scg2oMeDF/UcKYobQl97fdOkzkcz/dR/hB3IPmHHhsD5mf40uZAH7/A3URng63ExrAjkqHk8 /0MEbbqU= X-Gm-Gg: ASbGncs2JPnhQmKwZwIXEm2hBiDP194hZx7memFjX7hJkxAiyA0m1TNChv3suvQswjH 5BKqJo6S1yXPUVQoP6sPpYov2YqHzO8pDY1JtPZ6/1KexNUH2w2n1k5ap8CT9DbgBszXMDKvyX/ E2teDTV0X7vz/7W/RJRh+M+Mxus1DQbideHV91awsAzTX365pkZ9cEqzk4GM3vpAaDM77xUvVZG dGqyzv6uByOn8J8cQUXHa8wDi+8Rz5tgyciLlLlaiE6R7yNn9Wrj1UtHGwnTQ6GD6YSu4slzQYM hcEKs5gbXUZrW3TYoUbcg+6OVO2U58Iv1QtBPagP8qxpcN26KS+jZmRhLGK+IIkZizNB953OVGT THsJhXNPc0rjGzPl4Au9e9g== X-Google-Smtp-Source: AGHT+IEAL5Mwk/Kjdf5FMrbecdZ24UDS0EKLaNk0iJoBp+iJv11hWTkrZkwV8NtF4xPiV2NGD6N9Tg== X-Received: by 2002:a05:600c:8598:b0:440:9b1a:cd78 with SMTP id 5b1f17b1804b1-454a9efa92cmr22602455e9.10.1751540285307; Thu, 03 Jul 2025 03:58:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 27/69] accel/tcg: Extract statistic related code to tcg-stats.c Date: Thu, 3 Jul 2025 12:54:53 +0200 Message-ID: <20250703105540.67664-28-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540809452116600 Statistic code is not specific to system emulation (except cross-page checks) and can be used to analyze user-mode binaries. Extract statistic related code to its own file: tcg-stats.c. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/monitor.c | 193 --------------------------------------- accel/tcg/tcg-stats.c | 206 ++++++++++++++++++++++++++++++++++++++++++ accel/tcg/meson.build | 1 + 3 files changed, 207 insertions(+), 193 deletions(-) create mode 100644 accel/tcg/tcg-stats.c diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index e7ed7281a4b..adb9de5a1c6 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -7,205 +7,12 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/accel.h" -#include "qemu/qht.h" #include "qapi/error.h" #include "qapi/type-helpers.h" #include "qapi/qapi-commands-machine.h" #include "monitor/monitor.h" -#include "system/cpu-timers.h" -#include "exec/icount.h" #include "system/tcg.h" -#include "tcg/tcg.h" #include "internal-common.h" -#include "tb-context.h" - - -static void dump_drift_info(GString *buf) -{ - if (!icount_enabled()) { - return; - } - - g_string_append_printf(buf, "Host - Guest clock %"PRIi64" ms\n", - (cpu_get_clock() - icount_get()) / SCALE_MS); - if (icount_align_option) { - g_string_append_printf(buf, "Max guest delay %"PRIi64" ms\n", - -max_delay / SCALE_MS); - g_string_append_printf(buf, "Max guest advance %"PRIi64" ms\n", - max_advance / SCALE_MS); - } else { - g_string_append_printf(buf, "Max guest delay NA\n"); - g_string_append_printf(buf, "Max guest advance NA\n"); - } -} - -static void dump_accel_info(GString *buf) -{ - AccelState *accel =3D current_accel(); - bool one_insn_per_tb =3D object_property_get_bool(OBJECT(accel), - "one-insn-per-tb", - &error_fatal); - - g_string_append_printf(buf, "Accelerator settings:\n"); - g_string_append_printf(buf, "one-insn-per-tb: %s\n\n", - one_insn_per_tb ? "on" : "off"); -} - -static void print_qht_statistics(struct qht_stats hst, GString *buf) -{ - uint32_t hgram_opts; - size_t hgram_bins; - char *hgram; - - if (!hst.head_buckets) { - return; - } - g_string_append_printf(buf, "TB hash buckets %zu/%zu " - "(%0.2f%% head buckets used)\n", - hst.used_head_buckets, hst.head_buckets, - (double)hst.used_head_buckets / - hst.head_buckets * 100); - - hgram_opts =3D QDIST_PR_BORDER | QDIST_PR_LABELS; - hgram_opts |=3D QDIST_PR_100X | QDIST_PR_PERCENT; - if (qdist_xmax(&hst.occupancy) - qdist_xmin(&hst.occupancy) =3D=3D 1) { - hgram_opts |=3D QDIST_PR_NODECIMAL; - } - hgram =3D qdist_pr(&hst.occupancy, 10, hgram_opts); - g_string_append_printf(buf, "TB hash occupancy %0.2f%% avg chain occ= . " - "Histogram: %s\n", - qdist_avg(&hst.occupancy) * 100, hgram); - g_free(hgram); - - hgram_opts =3D QDIST_PR_BORDER | QDIST_PR_LABELS; - hgram_bins =3D qdist_xmax(&hst.chain) - qdist_xmin(&hst.chain); - if (hgram_bins > 10) { - hgram_bins =3D 10; - } else { - hgram_bins =3D 0; - hgram_opts |=3D QDIST_PR_NODECIMAL | QDIST_PR_NOBINRANGE; - } - hgram =3D qdist_pr(&hst.chain, hgram_bins, hgram_opts); - g_string_append_printf(buf, "TB hash avg chain %0.3f buckets. " - "Histogram: %s\n", - qdist_avg(&hst.chain), hgram); - g_free(hgram); -} - -struct tb_tree_stats { - size_t nb_tbs; - size_t host_size; - size_t target_size; - size_t max_target_size; - size_t direct_jmp_count; - size_t direct_jmp2_count; - size_t cross_page; -}; - -static gboolean tb_tree_stats_iter(gpointer key, gpointer value, gpointer = data) -{ - const TranslationBlock *tb =3D value; - struct tb_tree_stats *tst =3D data; - - tst->nb_tbs++; - tst->host_size +=3D tb->tc.size; - tst->target_size +=3D tb->size; - if (tb->size > tst->max_target_size) { - tst->max_target_size =3D tb->size; - } - if (tb->page_addr[1] !=3D -1) { - tst->cross_page++; - } - if (tb->jmp_reset_offset[0] !=3D TB_JMP_OFFSET_INVALID) { - tst->direct_jmp_count++; - if (tb->jmp_reset_offset[1] !=3D TB_JMP_OFFSET_INVALID) { - tst->direct_jmp2_count++; - } - } - return false; -} - -static void tlb_flush_counts(size_t *pfull, size_t *ppart, size_t *pelide) -{ - CPUState *cpu; - size_t full =3D 0, part =3D 0, elide =3D 0; - - CPU_FOREACH(cpu) { - full +=3D qatomic_read(&cpu->neg.tlb.c.full_flush_count); - part +=3D qatomic_read(&cpu->neg.tlb.c.part_flush_count); - elide +=3D qatomic_read(&cpu->neg.tlb.c.elide_flush_count); - } - *pfull =3D full; - *ppart =3D part; - *pelide =3D elide; -} - -static void tcg_dump_flush_info(GString *buf) -{ - size_t flush_full, flush_part, flush_elide; - - g_string_append_printf(buf, "TB flush count %u\n", - qatomic_read(&tb_ctx.tb_flush_count)); - g_string_append_printf(buf, "TB invalidate count %u\n", - qatomic_read(&tb_ctx.tb_phys_invalidate_count)); - - tlb_flush_counts(&flush_full, &flush_part, &flush_elide); - g_string_append_printf(buf, "TLB full flushes %zu\n", flush_full); - g_string_append_printf(buf, "TLB partial flushes %zu\n", flush_part); - g_string_append_printf(buf, "TLB elided flushes %zu\n", flush_elide); -} - -static void dump_exec_info(GString *buf) -{ - struct tb_tree_stats tst =3D {}; - struct qht_stats hst; - size_t nb_tbs; - - tcg_tb_foreach(tb_tree_stats_iter, &tst); - nb_tbs =3D tst.nb_tbs; - /* XXX: avoid using doubles ? */ - g_string_append_printf(buf, "Translation buffer state:\n"); - /* - * Report total code size including the padding and TB structs; - * otherwise users might think "-accel tcg,tb-size" is not honoured. - * For avg host size we use the precise numbers from tb_tree_stats tho= ugh. - */ - g_string_append_printf(buf, "gen code size %zu/%zu\n", - tcg_code_size(), tcg_code_capacity()); - g_string_append_printf(buf, "TB count %zu\n", nb_tbs); - g_string_append_printf(buf, "TB avg target size %zu max=3D%zu bytes\n= ", - nb_tbs ? tst.target_size / nb_tbs : 0, - tst.max_target_size); - g_string_append_printf(buf, "TB avg host size %zu bytes " - "(expansion ratio: %0.1f)\n", - nb_tbs ? tst.host_size / nb_tbs : 0, - tst.target_size ? - (double)tst.host_size / tst.target_size : 0); - g_string_append_printf(buf, "cross page TB count %zu (%zu%%)\n", - tst.cross_page, - nb_tbs ? (tst.cross_page * 100) / nb_tbs : 0); - g_string_append_printf(buf, "direct jump count %zu (%zu%%) " - "(2 jumps=3D%zu %zu%%)\n", - tst.direct_jmp_count, - nb_tbs ? (tst.direct_jmp_count * 100) / nb_tbs = : 0, - tst.direct_jmp2_count, - nb_tbs ? (tst.direct_jmp2_count * 100) / nb_tbs= : 0); - - qht_statistics_init(&tb_ctx.htable, &hst); - print_qht_statistics(hst, buf); - qht_statistics_destroy(&hst); - - g_string_append_printf(buf, "\nStatistics:\n"); - tcg_dump_flush_info(buf); -} - -void tcg_dump_stats(GString *buf) -{ - dump_accel_info(buf); - dump_exec_info(buf); - dump_drift_info(buf); -} =20 HumanReadableText *qmp_x_query_jit(Error **errp) { diff --git a/accel/tcg/tcg-stats.c b/accel/tcg/tcg-stats.c new file mode 100644 index 00000000000..284ac435bdb --- /dev/null +++ b/accel/tcg/tcg-stats.c @@ -0,0 +1,206 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * QEMU TCG statistics + * + * Copyright (c) 2003-2005 Fabrice Bellard + */ + +#include "qemu/osdep.h" +#include "qemu/accel.h" +#include "qemu/qht.h" +#include "qapi/error.h" +#include "system/cpu-timers.h" +#include "exec/icount.h" +#include "hw/core/cpu.h" +#include "tcg/tcg.h" +#include "internal-common.h" +#include "tb-context.h" + +static void dump_drift_info(GString *buf) +{ + if (!icount_enabled()) { + return; + } + + g_string_append_printf(buf, "Host - Guest clock %"PRIi64" ms\n", + (cpu_get_clock() - icount_get()) / SCALE_MS); + if (icount_align_option) { + g_string_append_printf(buf, "Max guest delay %"PRIi64" ms\n", + -max_delay / SCALE_MS); + g_string_append_printf(buf, "Max guest advance %"PRIi64" ms\n", + max_advance / SCALE_MS); + } else { + g_string_append_printf(buf, "Max guest delay NA\n"); + g_string_append_printf(buf, "Max guest advance NA\n"); + } +} + +static void dump_accel_info(GString *buf) +{ + AccelState *accel =3D current_accel(); + bool one_insn_per_tb =3D object_property_get_bool(OBJECT(accel), + "one-insn-per-tb", + &error_fatal); + + g_string_append_printf(buf, "Accelerator settings:\n"); + g_string_append_printf(buf, "one-insn-per-tb: %s\n\n", + one_insn_per_tb ? "on" : "off"); +} + +static void print_qht_statistics(struct qht_stats hst, GString *buf) +{ + uint32_t hgram_opts; + size_t hgram_bins; + char *hgram; + + if (!hst.head_buckets) { + return; + } + g_string_append_printf(buf, "TB hash buckets %zu/%zu " + "(%0.2f%% head buckets used)\n", + hst.used_head_buckets, hst.head_buckets, + (double)hst.used_head_buckets / + hst.head_buckets * 100); + + hgram_opts =3D QDIST_PR_BORDER | QDIST_PR_LABELS; + hgram_opts |=3D QDIST_PR_100X | QDIST_PR_PERCENT; + if (qdist_xmax(&hst.occupancy) - qdist_xmin(&hst.occupancy) =3D=3D 1) { + hgram_opts |=3D QDIST_PR_NODECIMAL; + } + hgram =3D qdist_pr(&hst.occupancy, 10, hgram_opts); + g_string_append_printf(buf, "TB hash occupancy %0.2f%% avg chain occ= . " + "Histogram: %s\n", + qdist_avg(&hst.occupancy) * 100, hgram); + g_free(hgram); + + hgram_opts =3D QDIST_PR_BORDER | QDIST_PR_LABELS; + hgram_bins =3D qdist_xmax(&hst.chain) - qdist_xmin(&hst.chain); + if (hgram_bins > 10) { + hgram_bins =3D 10; + } else { + hgram_bins =3D 0; + hgram_opts |=3D QDIST_PR_NODECIMAL | QDIST_PR_NOBINRANGE; + } + hgram =3D qdist_pr(&hst.chain, hgram_bins, hgram_opts); + g_string_append_printf(buf, "TB hash avg chain %0.3f buckets. " + "Histogram: %s\n", + qdist_avg(&hst.chain), hgram); + g_free(hgram); +} + +struct tb_tree_stats { + size_t nb_tbs; + size_t host_size; + size_t target_size; + size_t max_target_size; + size_t direct_jmp_count; + size_t direct_jmp2_count; + size_t cross_page; +}; + +static gboolean tb_tree_stats_iter(gpointer key, gpointer value, gpointer = data) +{ + const TranslationBlock *tb =3D value; + struct tb_tree_stats *tst =3D data; + + tst->nb_tbs++; + tst->host_size +=3D tb->tc.size; + tst->target_size +=3D tb->size; + if (tb->size > tst->max_target_size) { + tst->max_target_size =3D tb->size; + } +#ifndef CONFIG_USER_ONLY + if (tb->page_addr[1] !=3D -1) { + tst->cross_page++; + } +#endif + if (tb->jmp_reset_offset[0] !=3D TB_JMP_OFFSET_INVALID) { + tst->direct_jmp_count++; + if (tb->jmp_reset_offset[1] !=3D TB_JMP_OFFSET_INVALID) { + tst->direct_jmp2_count++; + } + } + return false; +} + +static void tlb_flush_counts(size_t *pfull, size_t *ppart, size_t *pelide) +{ + CPUState *cpu; + size_t full =3D 0, part =3D 0, elide =3D 0; + + CPU_FOREACH(cpu) { + full +=3D qatomic_read(&cpu->neg.tlb.c.full_flush_count); + part +=3D qatomic_read(&cpu->neg.tlb.c.part_flush_count); + elide +=3D qatomic_read(&cpu->neg.tlb.c.elide_flush_count); + } + *pfull =3D full; + *ppart =3D part; + *pelide =3D elide; +} + +static void tcg_dump_flush_info(GString *buf) +{ + size_t flush_full, flush_part, flush_elide; + + g_string_append_printf(buf, "TB flush count %u\n", + qatomic_read(&tb_ctx.tb_flush_count)); + g_string_append_printf(buf, "TB invalidate count %u\n", + qatomic_read(&tb_ctx.tb_phys_invalidate_count)); + + tlb_flush_counts(&flush_full, &flush_part, &flush_elide); + g_string_append_printf(buf, "TLB full flushes %zu\n", flush_full); + g_string_append_printf(buf, "TLB partial flushes %zu\n", flush_part); + g_string_append_printf(buf, "TLB elided flushes %zu\n", flush_elide); +} + +static void dump_exec_info(GString *buf) +{ + struct tb_tree_stats tst =3D {}; + struct qht_stats hst; + size_t nb_tbs; + + tcg_tb_foreach(tb_tree_stats_iter, &tst); + nb_tbs =3D tst.nb_tbs; + /* XXX: avoid using doubles ? */ + g_string_append_printf(buf, "Translation buffer state:\n"); + /* + * Report total code size including the padding and TB structs; + * otherwise users might think "-accel tcg,tb-size" is not honoured. + * For avg host size we use the precise numbers from tb_tree_stats tho= ugh. + */ + g_string_append_printf(buf, "gen code size %zu/%zu\n", + tcg_code_size(), tcg_code_capacity()); + g_string_append_printf(buf, "TB count %zu\n", nb_tbs); + g_string_append_printf(buf, "TB avg target size %zu max=3D%zu bytes\n= ", + nb_tbs ? tst.target_size / nb_tbs : 0, + tst.max_target_size); + g_string_append_printf(buf, "TB avg host size %zu bytes " + "(expansion ratio: %0.1f)\n", + nb_tbs ? tst.host_size / nb_tbs : 0, + tst.target_size ? + (double)tst.host_size / tst.target_size : 0); + g_string_append_printf(buf, "cross page TB count %zu (%zu%%)\n", + tst.cross_page, + nb_tbs ? (tst.cross_page * 100) / nb_tbs : 0); + g_string_append_printf(buf, "direct jump count %zu (%zu%%) " + "(2 jumps=3D%zu %zu%%)\n", + tst.direct_jmp_count, + nb_tbs ? (tst.direct_jmp_count * 100) / nb_tbs = : 0, + tst.direct_jmp2_count, + nb_tbs ? (tst.direct_jmp2_count * 100) / nb_tbs= : 0); + + qht_statistics_init(&tb_ctx.htable, &hst); + print_qht_statistics(hst, buf); + qht_statistics_destroy(&hst); + + g_string_append_printf(buf, "\nStatistics:\n"); + tcg_dump_flush_info(buf); +} + +void tcg_dump_stats(GString *buf) +{ + dump_accel_info(buf); + dump_exec_info(buf); + dump_drift_info(buf); +} diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build index 575e92bb9e8..002aa8f4588 100644 --- a/accel/tcg/meson.build +++ b/accel/tcg/meson.build @@ -11,6 +11,7 @@ tcg_ss.add(files( 'tcg-runtime-gvec.c', 'tb-maint.c', 'tcg-all.c', + 'tcg-stats.c', 'translate-all.c', 'translator.c', )) --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541009; cv=none; d=zohomail.com; s=zohoarc; b=WGT3UyibX5ySGfcH6BZ28DafYD8MvveXRAsbjCqhjMn3ZCCxRnGcHpAdITDvef7JLu6c6y93wj2L0qSuw0Gp5jxhjxxzyNoLGFpTEkA4cl/qYkm2oYn3pD9z9iIPKaa542kX8UB5eAyyHnfAsnZn1m1CFPtfau3+6Rgnm/MHYck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541009; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KIKdQEQMhRvU2if5P5ei68jHnjUcTCqPA9NR4/HOCwU=; b=Qxd9j0KFypjI0VBwvUAg8PXC16VByACjWFMklXYUX6Eqpb4fRrYl5HRwlz69cgHmsdACnP9KlwPhqxxK9f8D1pAEQsOTRF5j3SeuEMODBm0wlAjwF8kLeR+U/yAjvlFbLz9MHA8+tLXxz/CQXReNAxqgjzDnHkq3qPdss12Dfd4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541009823242.3422769100572; Thu, 3 Jul 2025 04:10:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHh1-0000mL-Iu; Thu, 03 Jul 2025 07:01: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 1uXHdz-0005Lo-2F for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:24 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHdt-0002ZL-C5 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:18 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a54690d369so5257861f8f.3 for ; Thu, 03 Jul 2025 03:58:12 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e52bb3sm18652440f8f.56.2025.07.03.03.58.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540291; x=1752145091; 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=KIKdQEQMhRvU2if5P5ei68jHnjUcTCqPA9NR4/HOCwU=; b=sAaAF05vWwrETqXLmonqmQiRcaRupAhJdR4puYUkc71ueMiuIQJEvOZ8jHMnHQUEYz EuSwj80tdKkkmND3zhJx4htgGn6BrSfkh++HGyAQ8WgGkZwEqFZwJbgU4h0l0YxTkMBf LdkyAA9VoOrLM68J9V+qLNarMGS7rD9YsL/KEBWGm98lV8amVOoQV+meyMcGmgxL88pu gokjnz0SMfWaRRqFWgvwhMvV4jgxm1pjB8n7L7zojf8RD9H6JvVri4xhq/55aplq9xF+ b3bVhwOpilShmBZIKRt7XwT8d1+a+8t1r1dvpXxNoES47Rd6zbWpqhp6S6mukwzW7Z1C e5Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540291; x=1752145091; 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=KIKdQEQMhRvU2if5P5ei68jHnjUcTCqPA9NR4/HOCwU=; b=Sg2E0iRpA3RuOUWz3EY8HaUMmy+y98lpmFUoO+A/nxrg/JLb4QGdiSWghdMOFxCL2e GOVwHuyZqppKhDPYd1eQ5tHa6J7jblcZgr5q5PgAy6Hl7+DmVldciUY1x4ZPY1P4kuW6 6fpA16ZFFvrQq3JyZTlKX0pCQpim3OLLi4lJliFa2iWcQwF0pOM3EnRNZwpRGrLyYGyz MMn/d0VBCV7uSxcnF1OtvDGlEf02q7N2OBc7h5NZ7Nvs3wVMQoBwMMDRm28/Q52v60ya MK3prdN8yFRLjgCBbV6UmC7gvohY2v8kkx/F73DPJ7xViFMRvIVXYBhBEjoo8yDqPZld rKoQ== X-Gm-Message-State: AOJu0YxbU4fwcQ4HSg4jIO1yBU+thgVkD2lI6XOsttilAE6p+33CSJwv v2Hsq3q033o1NK7Q/HrxZLQhMOSRIzNc/XxzpQjz/tMPRWYs0fT1/H8pR1oE74y5EQzmoclednP pudt1geE= X-Gm-Gg: ASbGncsc0sg5ovDu0Tabt0xWF+qQfqCN2WdzmH5pvT8pwq/y3wQMKa9CfvzdI7lNSCe 6xmbeyZUvFazJbZBClRkAs3zeRvS4pprrz/drf1Eu3DpUrENGlocv6xnsiZDJHSyWXFZu8OJf7T y+LrkEsZ91e2LJ75yzAPxraCQDzuvjUMyF7usujjP5CIrDpsA+y0OTuG502Olg6mskFo1loxHhZ USByR9kT6rCW7uzj+ua+IG/HS14K4KRVP+WGpUW1Yk6lVJld5o2v9UNbTLCd/zgHub0alpa+73O L0Smy9LLV9Vnd3XSwUlguqIpdsRZ3oX4p4SrK0ub3vNFGudMswxgwkTWjDS/7a7/cjutgczox2h aIjKLfH6BMUw= X-Google-Smtp-Source: AGHT+IHwgKk5VrVHFX9rm+LGEdeJ7fke42sHffpGrRf9jRGQsl8mPqZf5MQ41AzswLHhRi5K9UL9vQ== X-Received: by 2002:a05:6000:4611:b0:3a6:ec1d:1cba with SMTP id ffacd0b85a97d-3b1fea90838mr5549124f8f.20.1751540290789; Thu, 03 Jul 2025 03:58:10 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Eric Blake , Markus Armbruster , Michael Roth Subject: [PATCH v5 28/69] qapi: Move definitions related to accelerators in their own file Date: Thu, 3 Jul 2025 12:54:54 +0200 Message-ID: <20250703105540.67664-29-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541012381116600 Extract TCG and KVM definitions from machine.json to accelerator.json. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- MAINTAINERS | 1 + qapi/accelerator.json | 57 ++++++++++++++++++++++++++++++++++++++ qapi/machine.json | 47 ------------------------------- qapi/qapi-schema.json | 1 + accel/tcg/monitor.c | 2 +- hw/core/machine-hmp-cmds.c | 1 + hw/core/machine-qmp-cmds.c | 1 + qapi/meson.build | 1 + 8 files changed, 63 insertions(+), 48 deletions(-) create mode 100644 qapi/accelerator.json diff --git a/MAINTAINERS b/MAINTAINERS index b1cbfe115bc..c3ce0d37779 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -507,6 +507,7 @@ F: accel/Makefile.objs F: accel/stubs/Makefile.objs F: cpu-common.c F: cpu-target.c +F: qapi/accelerator.json F: system/cpus.c =20 Apple Silicon HVF CPUs diff --git a/qapi/accelerator.json b/qapi/accelerator.json new file mode 100644 index 00000000000..00d25427059 --- /dev/null +++ b/qapi/accelerator.json @@ -0,0 +1,57 @@ +# -*- Mode: Python -*- +# vim: filetype=3Dpython +# +# SPDX-License-Identifier: GPL-2.0-or-later + +## +# =3D Accelerators +## + +{ 'include': 'common.json' } + +## +# @KvmInfo: +# +# Information about support for KVM acceleration +# +# @enabled: true if KVM acceleration is active +# +# @present: true if KVM acceleration is built into this executable +# +# Since: 0.14 +## +{ 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} } + +## +# @query-kvm: +# +# Return information about KVM acceleration +# +# Returns: @KvmInfo +# +# Since: 0.14 +# +# .. qmp-example:: +# +# -> { "execute": "query-kvm" } +# <- { "return": { "enabled": true, "present": true } } +## +{ 'command': 'query-kvm', 'returns': 'KvmInfo' } + +## +# @x-query-jit: +# +# Query TCG compiler statistics +# +# Features: +# +# @unstable: This command is meant for debugging. +# +# Returns: TCG compiler statistics +# +# Since: 6.2 +## +{ 'command': 'x-query-jit', + 'returns': 'HumanReadableText', + 'if': 'CONFIG_TCG', + 'features': [ 'unstable' ] } diff --git a/qapi/machine.json b/qapi/machine.json index acf6610efa5..e4713c405e8 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -454,35 +454,6 @@ ## { 'command': 'inject-nmi' } =20 -## -# @KvmInfo: -# -# Information about support for KVM acceleration -# -# @enabled: true if KVM acceleration is active -# -# @present: true if KVM acceleration is built into this executable -# -# Since: 0.14 -## -{ 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} } - -## -# @query-kvm: -# -# Return information about KVM acceleration -# -# Returns: @KvmInfo -# -# Since: 0.14 -# -# .. qmp-example:: -# -# -> { "execute": "query-kvm" } -# <- { "return": { "enabled": true, "present": true } } -## -{ 'command': 'query-kvm', 'returns': 'KvmInfo' } - ## # @NumaOptionsType: # @@ -1729,24 +1700,6 @@ 'returns': 'HumanReadableText', 'features': [ 'unstable' ] } =20 -## -# @x-query-jit: -# -# Query TCG compiler statistics -# -# Features: -# -# @unstable: This command is meant for debugging. -# -# Returns: TCG compiler statistics -# -# Since: 6.2 -## -{ 'command': 'x-query-jit', - 'returns': 'HumanReadableText', - 'if': 'CONFIG_TCG', - 'features': [ 'unstable' ] } - ## # @x-query-numa: # diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json index a8f66163cb7..616e04970ef 100644 --- a/qapi/qapi-schema.json +++ b/qapi/qapi-schema.json @@ -55,6 +55,7 @@ { 'include': 'introspect.json' } { 'include': 'qom.json' } { 'include': 'qdev.json' } +{ 'include': 'accelerator.json' } { 'include': 'machine-common.json' } { 'include': 'machine.json' } { 'include': 'machine-s390x.json' } diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index adb9de5a1c6..d5dd677f2a4 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -9,7 +9,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "qapi/type-helpers.h" -#include "qapi/qapi-commands-machine.h" +#include "qapi/qapi-commands-accelerator.h" #include "monitor/monitor.h" #include "system/tcg.h" #include "internal-common.h" diff --git a/hw/core/machine-hmp-cmds.c b/hw/core/machine-hmp-cmds.c index 65eeb5e9cc2..15ae5864d16 100644 --- a/hw/core/machine-hmp-cmds.c +++ b/hw/core/machine-hmp-cmds.c @@ -18,6 +18,7 @@ #include "monitor/monitor.h" #include "qapi/error.h" #include "qapi/qapi-builtin-visit.h" +#include "qapi/qapi-commands-accelerator.h" #include "qapi/qapi-commands-machine.h" #include "qobject/qdict.h" #include "qapi/string-output-visitor.h" diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index ab4fd1ec08a..f37fd220c2d 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -14,6 +14,7 @@ #include "hw/mem/memory-device.h" #include "qapi/error.h" #include "qapi/qapi-builtin-visit.h" +#include "qapi/qapi-commands-accelerator.h" #include "qapi/qapi-commands-machine.h" #include "qobject/qobject.h" #include "qapi/qobject-input-visitor.h" diff --git a/qapi/meson.build b/qapi/meson.build index 3b035aea339..ca6b61a608d 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -57,6 +57,7 @@ qapi_all_modules =3D [ ] if have_system qapi_all_modules +=3D [ + 'accelerator', 'acpi', 'audio', 'cryptodev', --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541505; cv=none; d=zohomail.com; s=zohoarc; b=nC1T24s9bLCp9HZbC80PjBNInBB1OopZQV36TE1g00qtQgfrAFcfVcBVuXTQXHrVXfQzE1tLv2Itq+m7yIZzXLfb2UH9z0whBBa9tqYdFj4BsUK9vVJc3DJrkUByG9UkS6wyDiGng5paKA27akTP7dWKjZD9lcTDa/h8WwXCsF4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541505; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EZ/hvC4u2jp7Pix4yjeZfPZoKMalJ7KXbdnBXGN8XCk=; b=QyiwXv2DpOx6hPEgE/agWK4pS1uab5U7886J2QjrcxxsqgkzVynHwO2K4nQ6rXiEAEz6FcsE3j3rCFjTX2DQzMCLfy1/03BW0bqgNq2MbqaBspL1RXDJyqz62B6VHM+eGZguI53APno4o4nLjveTTjESNviwyGe3vcwHHBrZNK4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541505420854.6371449239567; Thu, 3 Jul 2025 04:18:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgx-0000Tz-Ni; Thu, 03 Jul 2025 07:01: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 1uXHe1-0005Lt-2V for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:24 -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 1uXHdy-0002co-5w for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:20 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so47381415e9.2 for ; Thu, 03 Jul 2025 03:58:17 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9969a8bsm23507045e9.2.2025.07.03.03.58.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540296; x=1752145096; 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=EZ/hvC4u2jp7Pix4yjeZfPZoKMalJ7KXbdnBXGN8XCk=; b=WN0qrLVvyfemlA9gLQYAP01rJzW5elNUD1NKCmtboORJmjkEuglkNPielYrRHvQ6UX 3ItzlDxVK518ubxFwhT8cEnQVvoH56bsEvHoE8xhZC67nCSsgiYRIBWAQJFw/s4YzuIC 4oG+FeiC3BDe8zFao43MZszMIVO1cC9X2Ma19eP7Zt7SqpxzEf83PYee+h5tLkutXpjR DgsYDFs63HOgWIY7CF1JR045Bl6Mmq5PY0wjGFDhisTj4VmriAoxSNg98T7GHyKrqayT U+eV1HKgQyuevqdXfABLw413qYO5AUfG/6L0HRgu3j4nK1qwx1BMSr3FelciZU2/1nrh hv9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540296; x=1752145096; 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=EZ/hvC4u2jp7Pix4yjeZfPZoKMalJ7KXbdnBXGN8XCk=; b=HxgnOMaGdbQRS5aK2Yz7zMY5fLgMf3B3t+pyiGqBT65oJtcYY2/uBTQdcTsORBMDJR mSxFgF2caQ2krYNUVhBZkuyJZdzswqIAxofz6CHS1wQLzJWlMQ+y2GUkIEnEFghfrmfF tnn9xNA9saEVwavaIOjPM7hwLtgo+ssHDEADwAI+KrRBvvXLHGZqUQi0xIF8XLeE6UJx K6tPEWf2k+jSPLU77fpXj0DZNbliYIf+ugklKR83WI35QnqiIJSOEykZKMT13ArDczqq RTmGidRA7wzB7yPBNErgdH598raNXjwmGO+khzPlmq3gQKLfScI+2tRlhICNOwrRWjjp xwpA== X-Gm-Message-State: AOJu0Yx2KuYvmZ55VYbvFfSnp9FMX7ENf8Ddw0ewzM00ZEFLYC8R8x4H LUMKElkeprTaIrER6nLavg9TMkTQJUdQy5UoQwE0xEH40BN08K0IuTcEPoj2EN31AqdRBHxdnof fDA+Nsj4= X-Gm-Gg: ASbGncut7xa6mLvSh5pGcw6a3iXvRUNV8YKldDKAGHS8eMe4jAvOFieaHpIs2iaaGNi 87646UqKLwi7NJxu7UzXHkASmANUkdABBzLYVG97TzjqRa9QOu0WRBFJeLyXP5byuF/p7nSjXvS BwlSt7WVjDTVbHPfETcNcNuIswUrRNoAxAGk0K2pYGMs5Vj+124TaEDir6qJcy12LWZTdCmaXET 57ovKDItOcCPeMyZKF7RSuPe9JYxi5IrN+jEbuyqK8loNtpUEommzY/qw5aeyfH6PKVjcjzcMez bRFf7XXIAXVSV2FN7iQqpdCZVBdv98iEafxpp5S5+YA7GYJ3vo/JmUPIM4z92czCC/jZd3GS3H7 2N63I64J8yd4= X-Google-Smtp-Source: AGHT+IEuN0jVmRpBpWx/3F8JjrZDICpuvuBuWma263BrzMgnHysFP/hDSn3CyvPN+WSuLtCvOQGX6Q== X-Received: by 2002:a05:600c:190f:b0:44a:ac77:26d5 with SMTP id 5b1f17b1804b1-454a36e926fmr70940985e9.14.1751540296019; Thu, 03 Jul 2025 03:58:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Zhao Liu , Eric Blake Subject: [PATCH v5 29/69] accel/system: Introduce @x-accel-stats QMP command Date: Thu, 3 Jul 2025 12:54:55 +0200 Message-ID: <20250703105540.67664-30-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541507499116600 Unstable QMP 'x-accel-stats' dispatches to the AccelOpsClass::get_stats() and get_vcpu_stats() handlers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Markus Armbruster Reviewed-by: Zhao Liu --- qapi/accelerator.json | 17 +++++++++++++++++ include/qemu/accel.h | 2 ++ include/system/accel-ops.h | 3 +++ accel/accel-qmp.c | 34 ++++++++++++++++++++++++++++++++++ accel/accel-system.c | 1 + accel/meson.build | 2 +- 6 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 accel/accel-qmp.c diff --git a/qapi/accelerator.json b/qapi/accelerator.json index 00d25427059..81308493c66 100644 --- a/qapi/accelerator.json +++ b/qapi/accelerator.json @@ -55,3 +55,20 @@ 'returns': 'HumanReadableText', 'if': 'CONFIG_TCG', 'features': [ 'unstable' ] } + +## +# @x-accel-stats: +# +# Query accelerator statistics +# +# Features: +# +# @unstable: This command is meant for debugging. +# +# Returns: accelerator statistics +# +# Since: 10.1 +## +{ 'command': 'x-accel-stats', + 'returns': 'HumanReadableText', + 'features': [ 'unstable' ] } diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 065de80a87b..598796bdca9 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -41,6 +41,8 @@ typedef struct AccelClass { AccelOpsClass *ops; =20 int (*init_machine)(AccelState *as, MachineState *ms); + /* get_stats: Append statistics to @buf */ + void (*get_stats)(AccelState *as, GString *buf); =20 /* system related hooks */ void (*setup_post)(AccelState *as); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index af54302409c..2a89641aa81 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -50,6 +50,9 @@ struct AccelOpsClass { =20 void (*handle_interrupt)(CPUState *cpu, int mask); =20 + /* get_vcpu_stats: Append statistics of this @cpu to @buf */ + void (*get_vcpu_stats)(CPUState *cpu, GString *buf); + /** * @get_virtual_clock: fetch virtual clock * @set_virtual_clock: set virtual clock diff --git a/accel/accel-qmp.c b/accel/accel-qmp.c new file mode 100644 index 00000000000..318629665b3 --- /dev/null +++ b/accel/accel-qmp.c @@ -0,0 +1,34 @@ +/* + * QMP commands related to accelerators + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/accel.h" +#include "qapi/type-helpers.h" +#include "qapi/qapi-commands-accelerator.h" +#include "system/accel-ops.h" +#include "hw/core/cpu.h" + +HumanReadableText *qmp_x_accel_stats(Error **errp) +{ + AccelState *accel =3D current_accel(); + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + g_autoptr(GString) buf =3D g_string_new(""); + + if (acc->get_stats) { + acc->get_stats(accel, buf); + } + if (acc->ops->get_vcpu_stats) { + CPUState *cpu; + + CPU_FOREACH(cpu) { + acc->ops->get_vcpu_stats(cpu, buf); + } + } + + return human_readable_text_from_str(buf); +} diff --git a/accel/accel-system.c b/accel/accel-system.c index 11ba8e24d60..246ea55425f 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -26,6 +26,7 @@ #include "qemu/osdep.h" #include "qemu/accel.h" #include "hw/boards.h" +#include "hw/core/cpu.h" #include "system/accel-ops.h" #include "system/cpus.h" #include "qemu/error-report.h" diff --git a/accel/meson.build b/accel/meson.build index 52909314bfa..25b0f100b51 100644 --- a/accel/meson.build +++ b/accel/meson.build @@ -1,6 +1,6 @@ common_ss.add(files('accel-common.c')) specific_ss.add(files('accel-target.c')) -system_ss.add(files('accel-system.c', 'accel-blocker.c')) +system_ss.add(files('accel-system.c', 'accel-blocker.c', 'accel-qmp.c')) user_ss.add(files('accel-user.c')) =20 subdir('tcg') --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540576; cv=none; d=zohomail.com; s=zohoarc; b=gRk+bEChYLh06Ya8I+fqSQKyi2qo9g7FmtVNCAOL0ny1CJ2PQ93QmU8qU7Do2uUXzD7oVYnF5ikvkS9JNAU/GZ+yiEXJ2PmVX5VbNPCMKZPzPiLFu8o8RhrEECXX5EKkRgSdW5UTImUJEAlwxw5vs/WPurtKimBIUngfJdSobhI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540576; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=65bSiZBK1YYcXSsQqihiwVaoKns5se5K6zq/pnQZJmA=; b=OJtGJaemJGzBfYdgT47we3TZkcBgv2jawIh9Qw+SdewvrsEj8KlXF6pvQIngnNtOgeK1YCSXqxV//Yf/6q6bOJ5Ha4ClfpjtMthkSgSOhnwVLjWKzniiPj9xquJ3qp5EDGJjnEZMhArMOEHF3LfuIChv5Nrz4MqBU380ZgKgYUM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540576188824.6589394457769; Thu, 3 Jul 2025 04:02:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHgr-0000BH-GX; Thu, 03 Jul 2025 07:01: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 1uXHe5-0005QJ-1Z for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:30 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHe3-0002hN-Bg for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:24 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-451d3f72391so57626835e9.3 for ; Thu, 03 Jul 2025 03:58:22 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bcececsm23556015e9.23.2025.07.03.03.58.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540301; x=1752145101; 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=65bSiZBK1YYcXSsQqihiwVaoKns5se5K6zq/pnQZJmA=; b=lYkY9DIZtZPXtVvI18a1XYUzhzWXrKI7tFj3M0cL5hlz7Uv3I0CTmSZLFNIEw9dYNd GtHzVKEIlVlKtKqq/GVum80nKfXWIeyplqaP2whR+rCSytjcx46bso7lyAO7qTIINx1U TXLFl/CiCAinHjsx7cqv+XlWkkx0ssDiA/G2fDIwn8GwLIG+x5U3xzpAo6RFmTMVpXBQ jiqfd0kQt74jCrymUyS5lJ6ZB3kxqs0utQWYXntNdfGlUi74gAd8F3yLupjXCJ/JBRzj DeIBwHLjnlOaYD5uodbxOo6ey77ljyo/1KdbJ0qJ+A0CLF148lj5rt2Tu/mAJEi8Xd0y dvcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540301; x=1752145101; 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=65bSiZBK1YYcXSsQqihiwVaoKns5se5K6zq/pnQZJmA=; b=FHyxey+DjfRxuBPP7Xc1XRQqQnyl3pnRlIuokbanSK0+3TtlpP+nLAgUkr+ZDKQQ5d WMBlrbMRXU8IspzoiHM72JJi2LrNQdCRfxTSzvfrxblxJ7dw8w2WmfOOR69iVGd1ZPPZ 2L7EQr/cQ5JqFdGlFTQdTfxv24efm6Qd10uGXXtpLm6OyCWBjBRI8DASDQ5aH2BXE0hk KpKQSbOr0q91rPxCJvem6y4XpXqn+3WS5Hc1m5tiz//8dh0K4z/Mo/bBdxZGkCFBxIly OsuwjjJPDfGWoPnvqaWDUMrxWC+q5kf7rF8BalzhgCTRQYj+JnWh7Kc1+mTtqrcG1Ock pjzA== X-Gm-Message-State: AOJu0YznHx23YENoo70liJNW9YKzSwZ1OL8xvgcV22DXZ+waeX1ChEEE EOzc5uFvZ92xUQ8eZYE1SJl5iH0pz0Kd5J5AMVZKmELURBHJ2150zhAVc5CRFqDeZ3gWSi8yufZ 5YyaeiSg= X-Gm-Gg: ASbGncuZUNHR6F7gAE9H0eG4ziDK+7D/BR6mdRWi2UYm1BvGkTihBud0xA1VauHilI2 dVpXdm1BTEnp3FRX4vL0KAkTcQQaC1hePobNJiERkSGkTJ6xP8mELGjX2+OFNBMcpbZJTbwFCmb mjvgkOh6uFuDy8bcRgoDpviuJfE/rg7P2eLV/n2/x4tDwcdrDfo5VjOwmyrc680c7e4T3+yWZ2A uXhYCVs9d3dtat5brf0t/rSDpz05wOOvnV0jV9Pi1NYHgUjVJWWYSs9TWMRHMJx0RPKZXcNc9cA RxIcaW8VaDhhOjW8AxFTxi5/R0CWhcxxv2O9E4YzSh4fYiYpOaCl6ht272MdRGY2TZZUz4MuYgT IdwZYRIGEAq8= X-Google-Smtp-Source: AGHT+IFnrXJdmwqfXVm57EvsTKQuyO3XMuVNe0870dybuwL8Cjih60IeaZAQMlXUOjIMVyzf3QlrkA== X-Received: by 2002:a05:600c:8b73:b0:453:8bc7:5e53 with SMTP id 5b1f17b1804b1-454a9be89demr37655095e9.0.1751540301208; Thu, 03 Jul 2025 03:58:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Dr. David Alan Gilbert" Subject: [PATCH v5 30/69] accel/system: Add 'info accel' on human monitor Date: Thu, 3 Jul 2025 12:54:56 +0200 Message-ID: <20250703105540.67664-31-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540578600116600 'info accel' dispatches to the AccelOpsClass::get_stats() and get_vcpu_stats() handlers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- accel/accel-system.c | 8 ++++++++ hmp-commands-info.hx | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/accel/accel-system.c b/accel/accel-system.c index 246ea55425f..6cdfe485c29 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -25,6 +25,8 @@ =20 #include "qemu/osdep.h" #include "qemu/accel.h" +#include "qapi/qapi-commands-accelerator.h" +#include "monitor/monitor.h" #include "hw/boards.h" #include "hw/core/cpu.h" #include "system/accel-ops.h" @@ -112,11 +114,17 @@ void accel_init_ops_interfaces(AccelClass *ac) cpus_register_accel(ops); } =20 +static void accel_ops_class_init(ObjectClass *oc, const void *data) +{ + monitor_register_hmp_info_hrt("accel", qmp_x_accel_stats); +} + static const TypeInfo accel_ops_type_info =3D { .name =3D TYPE_ACCEL_OPS, .parent =3D TYPE_OBJECT, .abstract =3D true, .class_size =3D sizeof(AccelOpsClass), + .class_init =3D accel_ops_class_init, }; =20 static void accel_system_register_types(void) diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index d7979222752..6142f60e7b1 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -267,6 +267,18 @@ ERST .cmd =3D hmp_info_sync_profile, }, =20 + { + .name =3D "accel", + .args_type =3D "", + .params =3D "", + .help =3D "show accelerator info", + }, + +SRST + ``info accel`` + Show accelerator info. +ERST + SRST ``info sync-profile [-m|-n]`` [*max*] Show synchronization profiling info, up to *max* entries (default: 10), --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541009; cv=none; d=zohomail.com; s=zohoarc; b=PueCRYdwksQ36HeJ/Vq3pZ5LvOlIJ7XvGJbcKW+O+UFsKWcEHuukIGXvCu9ihdxeWbmZHyVCJ7bn7p16mLAuG/1N0UKW/YzPi3EPS8qlpIsUZiwZ8wBQo3quvM+0IluJfKJegBT31h1VVWC3AiXnYsG75DLOx4Oe1z1ebbbccpY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541009; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Z9oDPnMiXj0W5tjbWJ4QNzpnf7Jjks18+DwO7DMnaVk=; b=TuJ//7o4F6FEIOBNYQ4cQQ1EIsQHvkRx0ILcJlDZH6WLK/ZBRU2u+jdMqnf0XSG3OsR/8zaI8aaUvXMZbsfjzgXWdCC9eBJineXwPcze15CrwkmCh2FN++gTGwnqwrTOIOMTo3zuThf9rxkYfPSI+Mpd6CXhZz1Wi+i4dUvuLEU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541009970739.5272922321716; Thu, 3 Jul 2025 04:10:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHh4-00012M-2i; Thu, 03 Jul 2025 07:01:30 -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 1uXHe9-0005Tx-Vp for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:32 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHe8-0002lQ-Ci for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:29 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-453634d8609so56306265e9.3 for ; Thu, 03 Jul 2025 03:58:28 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a99b1a5dsm23326275e9.29.2025.07.03.03.58.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540306; x=1752145106; 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=Z9oDPnMiXj0W5tjbWJ4QNzpnf7Jjks18+DwO7DMnaVk=; b=urb5I51AV9Z7gl4q6iXbc/gMOJ72n9HW67hMR1KN8h+PbDUYJUCER5jTs1NqeYG/Pi YB8Y4jHymSvH01ymg0XTFMKashvLk6xWptR3rKzgHOwaMAUtvQKopT8UO8ky06IKQUAB pqq5vcSTKX5gtYg4for5ewStAvPWNOL2vXq1cNLk/Ds/pSu+BOH3Fa8g1Etjj77678U3 XcUjQ6h5fJcAkTMVdykr0MCboVyeX/HNLDKuXtwaY6HHpuJRvL4SZgVrIZ9VTcn1B4p1 tJfJIdJSuplB/ZvPjmKRrLc2wYH9K7FkWc4iie4f2O9CWGRqLuwV0rz1pWjpcm5VFgNX wfBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540306; x=1752145106; 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=Z9oDPnMiXj0W5tjbWJ4QNzpnf7Jjks18+DwO7DMnaVk=; b=fFL6t3lbcWKC5CTYCVVyHTOWC56Q4jkxzJIxgDdF/UaHpbj5P9eggMoetghVefxUGV gIxDbPqC/kK/L4nwSGBaoU/6dvI5vjvIGFjPAgkl+zWHIbT2aEn8sjQpDxdKkVQadhKG 51/BIG0/6lDYspK4/rDdktv6rTSm/HhSKb2spqVlo3WoJ1WdljzRZgcz5sfTF66yINOh csc1W5ufdBRI3ZBhcT5xHVUk1je1xRPbvgxY8C1Ww7QYvsa/XSNl+zaLMDVRnSy8dlM6 AdSKIEo7xbjA7ZC1Jkw/4y4GbVzt3NzxUKwhw4hF045YITzHouDxZVIpFuvTXxte4yGn ZFLg== X-Gm-Message-State: AOJu0Yx4xt4BRJXqR721P/lipdCOHF33aOo347UO2+AV2SrV+Y4nJHGs MZjZUIz1SP6bgxW/PJaJE0MvlhXz2GZ+YVDBW3XttzF/1idc77Eu7cq1bpKe0sOFyLaQfy6cRqs YKdRmd6g= X-Gm-Gg: ASbGncu21xPWZoDaEBMAhgiCF96GJdwGMytWz7etJfnC1oLKq2Hv8Igf6m8DW4VnUdA gEQJEXepao9geXbQnS87Y73PJ3o2fOZnjhPb9yvpdOhDi49A2mogD/aylyrWXgxnGUgnICWVzVS FiQPC+eR5DKT0Vd5oMoB8RwQ32FmCrSdjODPGiUOurZSoSoXNinKwvX3/tJB66mxSjmU0p1AHOm go0vPb5XEU56MgJ0jdnYL9dH98BmCThNWZlAxMuIm8W3kFG3zwX37RHcmAkCXGvLysuHZrobX20 V/JiikLWRBM1aQssEGX3csSLCsod5rQeYobqtc+YykkxVfZ2fNRIV64sZn43ULj1A7hdadDK0bg cX82tEyre+yE= X-Google-Smtp-Source: AGHT+IEFReRAJH2FYWXivnT7yhvwImOKEpLg7WkwUoTmJ6AuJ6pGN7l7U7CUpirT0Nc9mpI2CZnvOw== X-Received: by 2002:a05:600c:3111:b0:453:b44:eb71 with SMTP id 5b1f17b1804b1-454ab3a8f15mr22671775e9.19.1751540306331; Thu, 03 Jul 2025 03:58:26 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 31/69] accel/tcg: Implement get_[vcpu]_stats() Date: Thu, 3 Jul 2025 12:54:57 +0200 Message-ID: <20250703105540.67664-32-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541011895116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-all.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index ae83ca0bd10..490596dbbd6 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -239,11 +239,17 @@ static int tcg_gdbstub_supported_sstep_flags(AccelSta= te *as) } } =20 +static void tcg_get_stats(AccelState *as, GString *buf) +{ + tcg_dump_stats(buf); +} + static void tcg_accel_class_init(ObjectClass *oc, const void *data) { AccelClass *ac =3D ACCEL_CLASS(oc); ac->name =3D "tcg"; ac->init_machine =3D tcg_init_machine; + ac->get_stats =3D tcg_get_stats; ac->allowed =3D &tcg_allowed; ac->supports_guest_debug =3D tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D tcg_gdbstub_supported_sstep_flag= s; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541641; cv=none; d=zohomail.com; s=zohoarc; b=h6/+KKjIuQhMHx4rGC/N4wwU64yLO3XbTFL4S2VyLgeYBm8xrwxGFLccUD0G/f/AnLUrY7of2Gwu8p8jp376ByQzJbdZ/ASO8JdCfFXks7D6he8N2J4St8kXpjPq0cas8NKqCmGB8ng0DX1OBPcPWTO7OUZ5zVvXKD4oIJ6pfcY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541641; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9Nod2XnKcLFCGDw4Al66TFSscA1L5ljopnzhztAklYo=; b=NlnEAfXdmFHt1lsSma+LKdVZl6vi8eS4VGr+84U7LEMgB+F3AmkIlLTCqQ1Otso68r6EGHIo1WLwfSnCLX13fbMil5XIfCorVvb1XENOCADamCw2/o7MYlAcCQPipj9QexYKQOsJuOTDVn0JVhPi3BhCn0XhwRy+qqDQZzwfvAE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541641005371.77208618718225; Thu, 3 Jul 2025 04:20:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHhO-0001Zg-3k; Thu, 03 Jul 2025 07:01:50 -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 1uXHeG-0005dp-7F for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:36 -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 1uXHeD-0002qd-Of for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:35 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-450cfb790f7so66300665e9.0 for ; Thu, 03 Jul 2025 03:58:33 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a998aa1dsm23893825e9.21.2025.07.03.03.58.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540312; x=1752145112; 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=9Nod2XnKcLFCGDw4Al66TFSscA1L5ljopnzhztAklYo=; b=eZuGPncspxb0rG8da7cX/NdiCLxMfV2RGBv+4PL8UhW2QiV5Nju1Nhc/3NgE72B/yi tT/fC0adiKOUMffZ/N9UgpDK+fgAAF4mT3ytEIL6yZfyldpAxX1Nt7WxarHqLLQ7lmnA 9bCv7z84n1oKRC9sAzh6821fSU9zLwNwOqqt/jHhLPs+Ox1KS8gPPRotrSv0idbugFmn gaTwb7MhXzEvcoWbuXkWyuuNybn/qjAo76EY7QHoKTW+FaFbfTLZQ2OVFKeCbGc1qCIb 6I8hjjSwHfdvlR6u01bLPJUYz4YsBKfj4TPRvC2owfLa9weH3uIhaB2At0UlT3dST6Xt P6Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540312; x=1752145112; 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=9Nod2XnKcLFCGDw4Al66TFSscA1L5ljopnzhztAklYo=; b=pwidV68anzWIKuY+g/mDHs6SnhBLFnpjMrt5GJQZJ7dYjmYVnAGiLlGEJka1plHbbC +iLTGv22IJPZ6kY3lkXkU7GSb8D1vXwF09Xaj7AbbDaE1oTUf91L8Fx9+Sxcl/pzO0JR 8mVY4KD9tVjmLWVbCmkoFnN60AOhvRuTYnqWnQPIzvXLYT1g3cGCM6aPyCb4rwIdKnTV 8As+zQbypssaOy7UMuCitTuAw9E7m8BpCrLFrwduy+uHdFq1WDBFmn7DzN3LheUhx1fI pK3Pfayzb8pZqhztNoLi3a1UeQf/jFEJ8fDX8Q1knVbYgyqXtNUH0+oQSoHB5PcxskXa JOnA== X-Gm-Message-State: AOJu0YxvMRuQNqMXe+QSS+YCQe5RkkwT6UoMCyTSpAnsQZTP5yQzC4eK r3HNQnjGMntCBBEU+qvguFYgL9V6ZcEmIOl6MZPsRkUlDtmc2nsXBuDpjYglbUFObEAVZcfx8te 2GIcj+EU= X-Gm-Gg: ASbGncvtV7jrJdUrR+7zexE6BZBdN66anoZwavQ3jirJE2VWInezX7xknbxCuzZs2OM X+RFc+TjWyoReKKhad2AC4QvnQzlKodm+ERwv1ps4oGvwG8uBwVbSI6ExkAgMz5fYdD8J6vNNDW DBMk1YfgY7M6hkD/x7QJbt0GTIxbPORPXTwYa9S3cx1v9wkeqbFOMrmORptvmJGkK7EVoLYsQvf xJbgA2r1H+vKD/hyZ/Uxr0DnKBufowBnrIuyQASOAPLAO5jPgJdOipEp3Akhr5zQAGyBCfOVNdz rtfmje+s3dURkiIMZJKql3xHcJNUNw/T61l8qOdmLFDqX/yLQin1biMkZ6DqeYRcmMW9pigY8mY o3WVrZrKekkk= X-Google-Smtp-Source: AGHT+IGcickO/WQ33gY9Gyq+jaddIwf7/whYrVsk66+TMl1n3JbF5YhpX2jiMT2tTmqO0asrgEwj+Q== X-Received: by 2002:a05:600c:5249:b0:453:8bc7:5c9b with SMTP id 5b1f17b1804b1-454a372636bmr65941105e9.24.1751540311639; Thu, 03 Jul 2025 03:58:31 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 32/69] accel/hvf: Implement get_vcpu_stats() Date: Thu, 3 Jul 2025 12:54:58 +0200 Message-ID: <20250703105540.67664-33-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541643184116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index e7f40888c26..c07ebf8a652 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -358,6 +358,12 @@ static inline int hvf_gdbstub_sstep_flags(AccelState *= as) return SSTEP_ENABLE | SSTEP_NOIRQ; } =20 +static void do_hvf_get_vcpu_exec_time(CPUState *cpu, run_on_cpu_data arg) +{ + int r =3D hv_vcpu_get_exec_time(cpu->accel->fd, arg.host_ptr); + assert_hvf_ok(r); +} + static void hvf_accel_class_init(ObjectClass *oc, const void *data) { AccelClass *ac =3D ACCEL_CLASS(oc); @@ -583,6 +589,16 @@ static void hvf_remove_all_breakpoints(CPUState *cpu) } } =20 +static void hvf_get_vcpu_stats(CPUState *cpu, GString *buf) +{ + uint64_t time_us; /* units of mach_absolute_time() */ + + run_on_cpu(cpu, do_hvf_get_vcpu_exec_time, RUN_ON_CPU_HOST_PTR(&time_u= s)); + + g_string_append_printf(buf, "HVF cumulative execution time: %llu.%.3ll= us\n", + time_us / 1000000, (time_us % 1000000) / 1= 000); +} + static void hvf_accel_ops_class_init(ObjectClass *oc, const void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); @@ -601,7 +617,10 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, = const void *data) ops->remove_breakpoint =3D hvf_remove_breakpoint; ops->remove_all_breakpoints =3D hvf_remove_all_breakpoints; ops->update_guest_debug =3D hvf_update_guest_debug; + + ops->get_vcpu_stats =3D hvf_get_vcpu_stats; }; + static const TypeInfo hvf_accel_ops_type =3D { .name =3D ACCEL_OPS_NAME("hvf"), =20 --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540701; cv=none; d=zohomail.com; s=zohoarc; b=AHdKruOFDwly9+vDoP2vKbuFz5usKBjkZctruq8a3Qnqyp7D5pbXcxer2TgWi4F/S+1KaoJ7ifh3/nbuTG8LfCpBcTV1WCbGZl+Cjg4xLZZl/eQNnPr4WLDKZZOX6v0dJfCdY7Kmeq9e6QdVjS+uSumCN34NIA4jjUs0X1PRq9E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540701; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zXEwQpLJNPRsbrPUQjvTni2WYpP8FdNuXX6y2BMbIXo=; b=au1JbYFj8rPb4/nDe1P/ob5MRJncOQUGEyf0JxHKBaHZq8IS3Yk9ZZZL/P565oQ1g/LTpxJlMFTeUlICYGs+62+gbwpn9lYi0l7Do0eQrUdXQwMBq6jYQYLtg+5p4MnSt80JGJDHyYKXCTZhg465yRPAglF82cI/A714pFt6f+E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540701177174.33898857945496; Thu, 3 Jul 2025 04:05:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHhM-0001Vg-Ds; Thu, 03 Jul 2025 07:01:49 -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 1uXHeO-0005s9-Oi for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:47 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHeL-0002v8-0d for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:43 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so4773806f8f.2 for ; Thu, 03 Jul 2025 03:58:39 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a99c1186sm23334265e9.36.2025.07.03.03.58.35 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540318; x=1752145118; 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=zXEwQpLJNPRsbrPUQjvTni2WYpP8FdNuXX6y2BMbIXo=; b=yJSC1MlSa0VdjO8mpGA+Im8vchGxnne8k0Rs0ZB/tcbXogHmvPiGA9AMRmkcgU2iUk iDcVQSLwy+jz94J6U4p8TEL+hPXbvtQFuQffGW/0KHo/rrdhxZAErYNJfH6T4hRaZGt7 GmO8nRfeFeu5dj3hhkuXpZXRzFDyl6XtF05Z3aNcgU04UPeE+ym4gJmZRuQcM8Yps5gD zaeeMxoum1UoJesRoijp71meGmDINVQk7uuGpBv4Of4C1gm3iGUQ2thFSrXIdFCA/Sla C09NMINNgFb0AgCDOsx/XOeGehgTJP4igTkrlz0bHEUF58YC5FRv5uCVq686a+Q/Hi4J TTMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540318; x=1752145118; 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=zXEwQpLJNPRsbrPUQjvTni2WYpP8FdNuXX6y2BMbIXo=; b=sEbx8MsoqPqofzYR/BJOe33VkFxRAXxgdhPFMcfMdvfg/yGfzpuhV2HsL0pykw8JvX ruW5XKqCCxFiKMvXyXeqy3beuALTUv34HA8EQ/DOLcW+1ZsCRzYuOQ2A8afak1J6ffMi 2H2NOEy7WrNrWAXK08Oze3lSGLkuJYGoQxkAc1lzMq6l/hLk05y+phyEbzMCDFHrEP/Q pNjI+VrNLErgh3LNUvUI2b7dSubnspaJvuQemV0K85raFoyBKc+v1JwdlDAHwuFyt9ga Q4xop2btsOaxlcGni7OZVDrrI2SJBdjvBmXE6jPGeladp/LLm8YOo02sncbhey/M7FIM EOfQ== X-Gm-Message-State: AOJu0YxzCoDcPxfZQzwf75v06DlH9k5InUtjeuDI1OXefCchhBEJgWYx pyLWoRRUYp6dnKJU5JJ0Iu4njMNxUjySUzFgldlEniqkaTu5W/ICIrbmPmZucWS5oiplekJVaaW nn9+tlo8= X-Gm-Gg: ASbGncu2caKPvXdYMPTDthCKrCAraA8aHl9xj5A/BHJy/1Pz2tTVyr/I7e5bLfRMmro OhfhWnHZLMzhSe78nUxdVu3Ra37ULdUuloeSQLq1vklq1RI9sHV27ONJCmghqvGpO/8M/9cPLia xvy8laExa37pA0pO5whO8k971cpEybneh9M0QhVaXPpG2Hkc11pMSPRkqrckJ7RI9o4PvfMBoFG JeVag6CZ1JRV06B7cvA4JYj8n7PGftQ+XHYu+INBIi0S6AHtsHN0pvNF6vRlcCBy8SDGDW9YR3A AJn6xCzL7JR8eBqQzlS6gibwKFis7AXYo2LhdH/ChrVV5GehwTAePDpNiolWmPKWPul8NLuqiFO 7mWo9MZuYZBA= X-Google-Smtp-Source: AGHT+IEDeve+hxPyKdiNduihX+UkbzFqIDkknGnvYLjOBdrA0tfyF6dpvjNV99JhtblwgCC6TQDZjw== X-Received: by 2002:a5d:5f92:0:b0:3a5:1471:d885 with SMTP id ffacd0b85a97d-3b2019b7da6mr5691035f8f.56.1751540317731; Thu, 03 Jul 2025 03:58:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Shatyuka , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 33/69] accel/hvf: Report missing com.apple.security.hypervisor entitlement Date: Thu, 3 Jul 2025 12:54:59 +0200 Message-ID: <20250703105540.67664-34-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540702436116600 We need the QEMU binary signed to be able to use HVF. Improve the following: $ ./qemu-system-aarch64-unsigned -M virt -accel hvf qemu-system-aarch64-unsigned: -accel hvf: Error: ret =3D HV_DENIED (0xfae= 94007, at ../../accel/hvf/hvf-accel-ops.c:339) Abort trap: 6 to: $ ./qemu-system-aarch64-unsigned -M virt -accel hvf qemu-system-aarch64-unsigned: -accel hvf: Could not access HVF. Is the ex= ecutable signed with com.apple.security.hypervisor entitlement? Suggested-by: Shatyuka Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2800 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- accel/hvf/hvf-accel-ops.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index c07ebf8a652..ada2a3357eb 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -337,6 +337,11 @@ static int hvf_accel_init(AccelState *as, MachineState= *ms) } =20 ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); + if (ret =3D=3D HV_DENIED) { + error_report("Could not access HVF. Is the executable signed" + " with com.apple.security.hypervisor entitlement?"); + exit(1); + } assert_hvf_ok(ret); =20 s->num_slots =3D ARRAY_SIZE(s->slots); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541505; cv=none; d=zohomail.com; s=zohoarc; b=Z3JS2cnTWbZEDnWIl96VF81jRrevm/Z0wki3qqavSnerkVndq9IKSGVr83R/KX0xMDx9H492vqZLEluzxBJwPN5v5IDKxGSVGDCgToQUEbtgoH2Nm3OJ2A1qMMmE0t0FJiVO2SBkAi8NAO0gI/wSnZa459g/QITGzMo/psY6QkY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541505; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/IUtIm3JHDSf2CDlC9ODm0iBh8kfs+CSjmgEqHJOxOs=; b=TPBraVn1BFnfgOPRgXaJdbZ71LNcsz+eoIbmhKn+p76gYwpSLW54XkOcGFfl3MYQwXUT1TM5HApMzNQT8PlWXVQu2yAP8WAE/vXUzEIPbRXhxBt/cBmM5r8biAEFrPxhMsl1bQxC4Wu10A10RHl/M/4oHCRg+N0lo9wZqW4YQvg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541505244973.5139717097127; Thu, 3 Jul 2025 04:18:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHhj-0001uC-LP; Thu, 03 Jul 2025 07:02:12 -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 1uXHeR-0005tD-5l for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:47 -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 1uXHeP-0002yC-Bw for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:46 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4539cd7990cso5161885e9.0 for ; Thu, 03 Jul 2025 03:58:44 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bde3b9sm23830665e9.28.2025.07.03.03.58.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540323; x=1752145123; 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=/IUtIm3JHDSf2CDlC9ODm0iBh8kfs+CSjmgEqHJOxOs=; b=jEc9RJRB3iAW1FPyYgtVf14aakJbC0CzPEeN/eCmwmdpXkaNbxz+eLZO8bkZEBaPQf jX6Geh1P3Z2flC5hZGhy0UcyeJjNLAcJW9B8dwu2K89AjaEUkbC7dzo6qaOHf3NWc3rz AiIesyBZah1/NQsLyc1Z0iT1A4XcWnXVLGIqIz5XyUKL1biG724Rl0aCvnwVBZ54yPeG U6f5ygXmVNeNz3GtFxgSblpur8AyEAz/JoTSwbdSvIRf4FoV5S4GpVMUtadJ0Ou8kjdK c2yup+TfAdXqTy22StHDynfSYYeykDvLegrv59PBo2T5DvtLjwPyZw9rEYRU3j7bWLwN 4dww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540323; x=1752145123; 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=/IUtIm3JHDSf2CDlC9ODm0iBh8kfs+CSjmgEqHJOxOs=; b=sjrqubmPv28Jsd7S++4sMWcB1Cm4FiqqvKFDbPZubsIFk+HzArLK9swnxtDv4vK8xq aWPGARRNMVlsHSb5I+5nQOU9yBBu3BwUTzDCxbSLUknuK9/7/5djSFS0QHt1ftnBSeeG lkLZWs9dHvKgYP1e6L79HI5td5/j7NJ8EKgZNvxEkziSTwwpDyBpj8i6ItdhSdad4vvM s0nX9xycgu7HORq5LcppzYHuTUAw+zpDlTtjSEXBTHQZemw9D8x2CWnqjqALUx3/dwsn RWW+Lk+l2mPCQuclMqJhH0PuLz2GBs8uHLKfS8AfA/btHCxVVV4ifBl9d9qs+OMfzlYA 3fpQ== X-Gm-Message-State: AOJu0Yw3f2PbFBAS4qp4mTzow4d7J7lzVE2ktxtCBXBKEtDHhRT1GP7t eYKyvvq1aANJDW+3hH+r14eUYEWqfttaNOpieXv1rNgPz++l3iBTTW/3FTQDbR+9HQnVz2uHKMt tKBbEhdg= X-Gm-Gg: ASbGncu1sSg4fUlRQwpWhGmbK+f+kwVwn55qcrUiOxmCvKMrGhjEj+XTGV+lb3bZcMd Yv2PSxO5DO3zBagDm42Ad98KxnGDkoTMYXIbr9UIdGXAjiXm53DFwB2lDHBVdXn3mhTQu7X/E+Q xPCB4Wa7Xiub48cUCBZXM35ZmaicA8E9C/q1WH+6MZdXVQruHSkioqAtd/9i6Bo9XhqI2Uop61j nhpyvGMr1feqaB738cTq8nM9PzuS8yQcIHNAQs/qRxgqFOYVCirJLC+SOd/h5NC0H3RjzPHR1yg +o90+kKulnyfWWv0QSACdmIGoJftZ5QLdTzNMrUmbhG2nz3lJ8OVe25PJDj9FYxKNDNswXuBuEO kWNO5bhYnuqA= X-Google-Smtp-Source: AGHT+IGtJ0cI//sX+xQO2okCH3UjY/N8mn1LD8ELSsOTVKgUuaoSzuNpUsRkyEMDk9mdHMZB/nR0mA== X-Received: by 2002:a05:600c:8b23:b0:453:69dc:2621 with SMTP id 5b1f17b1804b1-454ab34b49bmr23287835e9.12.1751540323244; Thu, 03 Jul 2025 03:58:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 34/69] accel/hvf: Restrict internal declarations Date: Thu, 3 Jul 2025 12:55:00 +0200 Message-ID: <20250703105540.67664-35-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541507463116600 Common code only needs to know whether HVF is enabled and the QOM type. Move the rest to "hvf_int.h", removing the need for COMPILING_PER_TARGET #ifdef'ry. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/hvf.h | 41 ---------------------------------------- include/system/hvf_int.h | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 41 deletions(-) diff --git a/include/system/hvf.h b/include/system/hvf.h index 7b9384d816c..d3dcf088b3f 100644 --- a/include/system/hvf.h +++ b/include/system/hvf.h @@ -14,10 +14,6 @@ #define HVF_H =20 #include "qemu/accel.h" -#include "qemu/queue.h" -#include "exec/vaddr.h" -#include "qom/object.h" -#include "exec/vaddr.h" =20 #ifdef COMPILING_PER_TARGET # ifdef CONFIG_HVF @@ -40,41 +36,4 @@ typedef struct HVFState HVFState; DECLARE_INSTANCE_CHECKER(HVFState, HVF_STATE, TYPE_HVF_ACCEL) =20 -#ifdef COMPILING_PER_TARGET -struct hvf_sw_breakpoint { - vaddr pc; - vaddr saved_insn; - int use_count; - QTAILQ_ENTRY(hvf_sw_breakpoint) entry; -}; - -struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, - vaddr pc); -int hvf_sw_breakpoints_active(CPUState *cpu); - -int hvf_arch_insert_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); -int hvf_arch_remove_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); -int hvf_arch_insert_hw_breakpoint(vaddr addr, vaddr len, int type); -int hvf_arch_remove_hw_breakpoint(vaddr addr, vaddr len, int type); -void hvf_arch_remove_all_hw_breakpoints(void); - -/* - * hvf_update_guest_debug: - * @cs: CPUState for the CPU to update - * - * Update guest to enable or disable debugging. Per-arch specifics will be - * handled by calling down to hvf_arch_update_guest_debug. - */ -int hvf_update_guest_debug(CPUState *cpu); -void hvf_arch_update_guest_debug(CPUState *cpu); - -/* - * Return whether the guest supports debugging. - */ -bool hvf_arch_supports_guest_debug(AccelState *as); - -bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); - -#endif /* COMPILING_PER_TARGET */ - #endif diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index d774e58df91..ea6730f255d 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -12,6 +12,8 @@ #define HVF_INT_H =20 #include "qemu/queue.h" +#include "exec/vaddr.h" +#include "qom/object.h" =20 #ifdef __aarch64__ #include @@ -77,4 +79,38 @@ int hvf_put_registers(CPUState *); int hvf_get_registers(CPUState *); void hvf_kick_vcpu_thread(CPUState *cpu); =20 +struct hvf_sw_breakpoint { + vaddr pc; + vaddr saved_insn; + int use_count; + QTAILQ_ENTRY(hvf_sw_breakpoint) entry; +}; + +struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, + vaddr pc); +int hvf_sw_breakpoints_active(CPUState *cpu); + +int hvf_arch_insert_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); +int hvf_arch_remove_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); +int hvf_arch_insert_hw_breakpoint(vaddr addr, vaddr len, int type); +int hvf_arch_remove_hw_breakpoint(vaddr addr, vaddr len, int type); +void hvf_arch_remove_all_hw_breakpoints(void); + +/* + * hvf_update_guest_debug: + * @cs: CPUState for the CPU to update + * + * Update guest to enable or disable debugging. Per-arch specifics will be + * handled by calling down to hvf_arch_update_guest_debug. + */ +int hvf_update_guest_debug(CPUState *cpu); +void hvf_arch_update_guest_debug(CPUState *cpu); + +/* + * Return whether the guest supports debugging. + */ +bool hvf_arch_supports_guest_debug(AccelState *as); + +bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); + #endif --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540581; cv=none; d=zohomail.com; s=zohoarc; b=FR6YtZTk4Jx9aSndU57bThKeci7wN14Mr835JieJ/R8k+Ijp52hQ1ANzzeV1FPvO4e5NCkJJEe0izNkYUZwh+HqWnn7V6wkAzbYeGxh1+6KU2S4149XGPVsIDsdPnsYZLnDwS6KvaB98Me6O+XB9tGYEi8vwYuxiV1+/EfKlneA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540581; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LHMs7nmOn+MVUxcnTbQfOV+3h+SOD8dybVNBbhpVafQ=; b=Q+tHUE5W51YI0D/kpWVGTvwvgVD+JPEyXGgLJVi/Yst7K0V98e1+rfLzzeF+CYkPfCk3NgWFjWpUncvv4HNX6rR53REj1t5vFHz5krKxea7WnLTDV/o7nmsKYM6OI+FNoVN1MrRGkSPHONnm3jdak99R0LFOHg3zT/0gwVpXytw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540581327430.9085492760993; Thu, 3 Jul 2025 04:03:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHh2-0000tv-EU; Thu, 03 Jul 2025 07:01:28 -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 1uXHeW-00060E-FB for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:55 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHeU-0002zT-HL for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:52 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-453066fad06so54076725e9.2 for ; Thu, 03 Jul 2025 03:58:50 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7fa2a7sm18184359f8f.21.2025.07.03.03.58.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540328; x=1752145128; 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=LHMs7nmOn+MVUxcnTbQfOV+3h+SOD8dybVNBbhpVafQ=; b=T5O5TXo+Btt7qARZhJm4KMRjMKSmk4oWrSb/HWqwGSEva0B8gNPGG8gPY4Dtx9kojV bFtgp+PU8oMeLMtskd9SbqvZ0rT1dLNlofkDgZ42EKUrq5CtO3uCUH0IJUV+JdZt6R0C m3Nj5hQJc8Tat+iZvDLjtLi0F5deld4EJVYNDDYrJ0ZpNu0e7HlkJDoSEe4c2N8Tin8C OoL9MxeSCbJ/Pn+lnvhuc2wK3VTPEGBmFwLaGx0aSHwhq+TN8yqwZv1aY3VlK6D7FiU+ EaDs/mYdw7iU+LNSiNeI5P5QHKUUxIqsCOlwXW5nDWT7KLt77aKgZKCwiPRz/zhFlDw4 wx8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540328; x=1752145128; 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=LHMs7nmOn+MVUxcnTbQfOV+3h+SOD8dybVNBbhpVafQ=; b=wKey0X4HhBOkAVZRi7cRkMx1CNT08tZVD2j9AHXInncCDMJ6VHCf90oiy9w9oYAH4l 8XWcd9tNfq2XHeiSnqKAWKoOZexIBqtFp++ZeGvj6VqmST8ogxpiy9N5zEoGq9oU+tnU 6exPWZc63lmBhbmpJXYJV6qed6kFXqv2Yqy9DOsGsJQayndaqTjPGZvKcmcAQ+FihM3B 57obmTg3N1A6cGgpVrFAuplCseh9pjZ+6HRyAeZYNhmTxT7Nto05eIEfQ4sdwSRvyKu8 Yr8daaUxwKXCmOAG48DUzSlzS+QFKuLvNpJdWM+SM3Gw/2KNDODxU13X8I0yxcCeqChA TDrA== X-Gm-Message-State: AOJu0Yz/Pl3SYvIUA483mVqkXgGNpQeSS8l/pXnFkcRUBUe5wLF+27iq 0SlNbzumk3NZoTQ7lCJM3LRKWylk6ssuudw3o0NvRawVfZ71+DtkGoIHTdjRIMK9rGRpsuoRPTD mRrEHfOI= X-Gm-Gg: ASbGncvUS45qOdlP7HYm7pueG4C/xl2PNKjNv31LBVMGH0okXdz5Rp/e7UpkVBiRm7q 8rKVJlNSm++gNiY2HQB3ifzNA9g8gZ0H09Q9GmccOpLZcFfMuGXXaXBkW9L1FA8fcw0qo38ocDo OJ6RTXJhy//ECvOe9fDzw4OBFgxbZzvsWr/SzuDo/r4O4XQ2gvH05INwytChycNje2YsTFGe5m2 xYOk9FI0S+RlvJPwEidywdJrVkGiv30FaX9HWUrDcIveqfF57Gthq00GZhUO5BLXMXOW8evfcEH B1cTnqwE+k8z8LAL3AZ21FziarLYU51yjoxu4KeNC7gjscE+sAXiMrwNfTCV6sfVR6PFk2JLP/V v+GFR/Jd2RGo= X-Google-Smtp-Source: AGHT+IGcb+B+2eqTUNX8uRFTTQzUgMkV/m7rHzIH497ND/XiKF/P31S+FmWv5xa9JLBwoq6QvhSzaA== X-Received: by 2002:adf:9ccc:0:b0:3a4:ed10:c14 with SMTP id ffacd0b85a97d-3b32ca3f42emr1548364f8f.14.1751540328474; Thu, 03 Jul 2025 03:58:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 35/69] accel/hvf: Move per-cpu method declarations to hvf-accel-ops.c Date: Thu, 3 Jul 2025 12:55:01 +0200 Message-ID: <20250703105540.67664-36-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540582673116600 hvf-all.c aims to contain the generic accel methods (TYPE_ACCEL), while hvf-accel-ops.c the per-vcpu methods (TYPE_ACCEL_OPS). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 29 +++++++++++++++++++++++++++++ accel/hvf/hvf-all.c | 29 ----------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index ada2a3357eb..be044b9ceaa 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -50,6 +50,7 @@ #include "qemu/osdep.h" #include "qemu/error-report.h" #include "qemu/main-loop.h" +#include "qemu/queue.h" #include "system/address-spaces.h" #include "gdbstub/enums.h" #include "hw/boards.h" @@ -492,6 +493,34 @@ static void hvf_start_vcpu_thread(CPUState *cpu) cpu, QEMU_THREAD_JOINABLE); } =20 +struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, vaddr pc) +{ + struct hvf_sw_breakpoint *bp; + + QTAILQ_FOREACH(bp, &hvf_state->hvf_sw_breakpoints, entry) { + if (bp->pc =3D=3D pc) { + return bp; + } + } + return NULL; +} + +int hvf_sw_breakpoints_active(CPUState *cpu) +{ + return !QTAILQ_EMPTY(&hvf_state->hvf_sw_breakpoints); +} + +static void do_hvf_update_guest_debug(CPUState *cpu, run_on_cpu_data arg) +{ + hvf_arch_update_guest_debug(cpu); +} + +int hvf_update_guest_debug(CPUState *cpu) +{ + run_on_cpu(cpu, do_hvf_update_guest_debug, RUN_ON_CPU_NULL); + return 0; +} + static int hvf_insert_breakpoint(CPUState *cpu, int type, vaddr addr, vadd= r len) { struct hvf_sw_breakpoint *bp; diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 8c387fda24d..481d7dece57 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -12,7 +12,6 @@ #include "qemu/error-report.h" #include "system/hvf.h" #include "system/hvf_int.h" -#include "hw/core/cpu.h" =20 const char *hvf_return_string(hv_return_t ret) { @@ -41,31 +40,3 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *fil= e, unsigned int line, =20 abort(); } - -struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, vaddr pc) -{ - struct hvf_sw_breakpoint *bp; - - QTAILQ_FOREACH(bp, &hvf_state->hvf_sw_breakpoints, entry) { - if (bp->pc =3D=3D pc) { - return bp; - } - } - return NULL; -} - -int hvf_sw_breakpoints_active(CPUState *cpu) -{ - return !QTAILQ_EMPTY(&hvf_state->hvf_sw_breakpoints); -} - -static void do_hvf_update_guest_debug(CPUState *cpu, run_on_cpu_data arg) -{ - hvf_arch_update_guest_debug(cpu); -} - -int hvf_update_guest_debug(CPUState *cpu) -{ - run_on_cpu(cpu, do_hvf_update_guest_debug, RUN_ON_CPU_NULL); - return 0; -} --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541584; cv=none; d=zohomail.com; s=zohoarc; b=Dcu9YAmwjMWWVUrq83m5zuFlP9ctSz4SxdBxU5t5FOvhWf7vk+W7F0nbqsLk4W+0KEY4MUWnslE6/GEV0BVKJ/upPBN1mc2JxiWVq+1zIw5MUj0ol9aKiNaHLq1KSeROp7P6D+nAYpzKF7+w9WiNFBgamZzhbH/sQV/rJgWIexY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541584; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=coUKaKf6dZIxfVeFUFnOi2/CaQ9UIB137B6rtgj9MwA=; b=Rpoq6DJLZpss/3XVMtI2PXFqI5rxJH1ab0B59xG2xeqp/UrhuNt/qTl/fnFUWglXvjxsB5tT7S0TZjADEl+86yryJFBVJDqT7Lu0Hsg71IYAXtWkVSUKFQOP1/Z1O/+kVN42gJRJ4xgMC+urLVcfTVJT0WmnKhN1xfonCjU7ERI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541584543515.7171817080094; Thu, 3 Jul 2025 04:19:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiE-0002Uo-29; Thu, 03 Jul 2025 07:02:42 -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 1uXHed-0006Dw-84 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:01 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHea-000358-Hn for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:58:58 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a5123c1533so3078635f8f.2 for ; Thu, 03 Jul 2025 03:58:55 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a98ebe2asm24225595e9.0.2025.07.03.03.58.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540334; x=1752145134; 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=coUKaKf6dZIxfVeFUFnOi2/CaQ9UIB137B6rtgj9MwA=; b=yhmgCY9NMh4Z7MwsuwvdNqnWv9wljMIUJVz1rBhO3I5+nznxd2T7JGZ6MWa0xXQPjT 7dJq1iO0ImQ7rhBN8DiBnB1QsjIDsMzuXweBDnM/8UeDIjOruTCi4AWferhcxUrdzujh QHa+tWHIQCZTLJx6DqcXyMG5H6ZDTlZk3PZYFGt8nvAuIXgX0PD2R+adcrlx6VftCdvB X9jv466B7sEep8FUtKvAUY80rc9itdj4ue8Z+IhpE6yXYV/T1thfwN8NiPuB+u+0Eu5A 7DMH4IigWiq2512/KKULklXmGFXIKhXmGlG0Ho3JA8U36rdB3bOTzIxvGj8ilI2wNCXU 2VNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540334; x=1752145134; 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=coUKaKf6dZIxfVeFUFnOi2/CaQ9UIB137B6rtgj9MwA=; b=jhLUy0htJSxqMHNGpvK/WytA1Zavv572011wwi3bv8AtVCrze8gSTpM30JVdb8/saj IKDYfhdZIzYHphdsJk8LMftqGadu9MzAZT9ad5PGbLyqh3Ut758OG4qjK/EccLb9of5F Jq74IpxeoZtT/7n+XXwdDyO42SYkfI5PUKbGyUxWj9lHwOCVOesJnFrCC7TY9tyVKt6G +6ZDvOZXcUgN9TDRLwqb/RqFHMmAhXKgnXRFuTDObTjMjI308RNpDOIQYHqv+I+kZv9W NnGW3Sl6h68WL5t2uevthRsCIwh25yaHnJhcQKeoG2qZTKryVD5bStoMgk+flDZmZYIz DnEg== X-Gm-Message-State: AOJu0YzOEIFa/OWEaeRk6d07UtZ8LqL2BqQSXywj4hgUc+yef7qsJgdi Nf9HPNmJ0qNU7W28MDAvghirapybdACuF/m9wz5HeZon5Jj39YIlP1bwSqyxVdhq5q7NkC+9Xrk NjxLF7Ho= X-Gm-Gg: ASbGnctsS+Tn+zlsPS9ppo8bS59yv77m1/JjnoD5gn88I2UTNoo7T4A9B9xo/PJ1kOW S8ZnpvGoCAh52fWKJ6m3mriHwZuTxLDCtJVbKXvjgzTM7mvAktnhl3dk5YI9Dae8Hk2pGSbbiqH XawJCb5I/a4ZRglk8aUUzDZ+9EMtIZlFQLgfUwG2+LDIHGQMWGKr+VHxs6vUtqdJcTNBJOJAnMv 51Oq3mP7crnQy3IWg1aTVyUsknx+g/gvlEa/EKYNwXEIIE0s7G6ynCdKRvIjFYW0PtdqakePZVM WTlq+94boVjUZuT7wJcWqgB5homDAZNuSRbEwsmBzzn5mtNlWUvP+Zc4HfU5D0rMdGLEAnVQpFH o+tA4scAD4Wo= X-Google-Smtp-Source: AGHT+IFoAHmqAcsEqFViiwlToVOAvAPm8vzQ+vVW180SFtethjVrbQPcvt2pZvH71MhFhbJz0+QPYw== X-Received: by 2002:adf:b648:0:b0:3a5:3b93:be4b with SMTP id ffacd0b85a97d-3b32ca3ea49mr1857645f8f.25.1751540333736; Thu, 03 Jul 2025 03:58:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 36/69] accel/hvf: Move generic method declarations to hvf-all.c Date: Thu, 3 Jul 2025 12:55:02 +0200 Message-ID: <20250703105540.67664-37-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541586725116600 hvf-all.c aims to contain the generic accel methods (TYPE_ACCEL), while hvf-accel-ops.c the per-vcpu methods (TYPE_ACCEL_OPS). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 278 +------------------------------------- accel/hvf/hvf-all.c | 272 +++++++++++++++++++++++++++++++++++++ 2 files changed, 277 insertions(+), 273 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index be044b9ceaa..319c30f703c 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -48,19 +48,16 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/error-report.h" +#include "qemu/guest-random.h" #include "qemu/main-loop.h" #include "qemu/queue.h" -#include "system/address-spaces.h" #include "gdbstub/enums.h" -#include "hw/boards.h" +#include "exec/cpu-common.h" #include "system/accel-ops.h" #include "system/cpus.h" #include "system/hvf.h" #include "system/hvf_int.h" -#include "system/runstate.h" -#include "qemu/guest-random.h" -#include "trace.h" +#include "hw/core/cpu.h" =20 HVFState *hvf_state; =20 @@ -80,132 +77,6 @@ hvf_slot *hvf_find_overlap_slot(uint64_t start, uint64_= t size) return NULL; } =20 -struct mac_slot { - int present; - uint64_t size; - uint64_t gpa_start; - uint64_t gva; -}; - -struct mac_slot mac_slots[32]; - -static int do_hvf_set_memory(hvf_slot *slot, hv_memory_flags_t flags) -{ - struct mac_slot *macslot; - hv_return_t ret; - - macslot =3D &mac_slots[slot->slot_id]; - - if (macslot->present) { - if (macslot->size !=3D slot->size) { - macslot->present =3D 0; - trace_hvf_vm_unmap(macslot->gpa_start, macslot->size); - ret =3D hv_vm_unmap(macslot->gpa_start, macslot->size); - assert_hvf_ok(ret); - } - } - - if (!slot->size) { - return 0; - } - - macslot->present =3D 1; - macslot->gpa_start =3D slot->start; - macslot->size =3D slot->size; - trace_hvf_vm_map(slot->start, slot->size, slot->mem, flags, - flags & HV_MEMORY_READ ? 'R' : '-', - flags & HV_MEMORY_WRITE ? 'W' : '-', - flags & HV_MEMORY_EXEC ? 'E' : '-'); - ret =3D hv_vm_map(slot->mem, slot->start, slot->size, flags); - assert_hvf_ok(ret); - return 0; -} - -static void hvf_set_phys_mem(MemoryRegionSection *section, bool add) -{ - hvf_slot *mem; - MemoryRegion *area =3D section->mr; - bool writable =3D !area->readonly && !area->rom_device; - hv_memory_flags_t flags; - uint64_t page_size =3D qemu_real_host_page_size(); - - if (!memory_region_is_ram(area)) { - if (writable) { - return; - } else if (!memory_region_is_romd(area)) { - /* - * If the memory device is not in romd_mode, then we actually = want - * to remove the hvf memory slot so all accesses will trap. - */ - add =3D false; - } - } - - if (!QEMU_IS_ALIGNED(int128_get64(section->size), page_size) || - !QEMU_IS_ALIGNED(section->offset_within_address_space, page_size))= { - /* Not page aligned, so we can not map as RAM */ - add =3D false; - } - - mem =3D hvf_find_overlap_slot( - section->offset_within_address_space, - int128_get64(section->size)); - - if (mem && add) { - if (mem->size =3D=3D int128_get64(section->size) && - mem->start =3D=3D section->offset_within_address_space && - mem->mem =3D=3D (memory_region_get_ram_ptr(area) + - section->offset_within_region)) { - return; /* Same region was attempted to register, go away. */ - } - } - - /* Region needs to be reset. set the size to 0 and remap it. */ - if (mem) { - mem->size =3D 0; - if (do_hvf_set_memory(mem, 0)) { - error_report("Failed to reset overlapping slot"); - abort(); - } - } - - if (!add) { - return; - } - - if (area->readonly || - (!memory_region_is_ram(area) && memory_region_is_romd(area))) { - flags =3D HV_MEMORY_READ | HV_MEMORY_EXEC; - } else { - flags =3D HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC; - } - - /* Now make a new slot. */ - int x; - - for (x =3D 0; x < hvf_state->num_slots; ++x) { - mem =3D &hvf_state->slots[x]; - if (!mem->size) { - break; - } - } - - if (x =3D=3D hvf_state->num_slots) { - error_report("No free slots"); - abort(); - } - - mem->size =3D int128_get64(section->size); - mem->mem =3D memory_region_get_ram_ptr(area) + section->offset_within_= region; - mem->start =3D section->offset_within_address_space; - mem->region =3D area; - - if (do_hvf_set_memory(mem, flags)) { - error_report("Error registering new memory slot"); - abort(); - } -} - static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data ar= g) { if (!cpu->accel->dirty) { @@ -243,157 +114,16 @@ static void hvf_cpu_synchronize_pre_loadvm(CPUState = *cpu) run_on_cpu(cpu, do_hvf_cpu_synchronize_set_dirty, RUN_ON_CPU_NULL); } =20 -static void hvf_set_dirty_tracking(MemoryRegionSection *section, bool on) -{ - hvf_slot *slot; - - slot =3D hvf_find_overlap_slot( - section->offset_within_address_space, - int128_get64(section->size)); - - /* protect region against writes; begin tracking it */ - if (on) { - slot->flags |=3D HVF_SLOT_LOG; - hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, - HV_MEMORY_READ | HV_MEMORY_EXEC); - /* stop tracking region*/ - } else { - slot->flags &=3D ~HVF_SLOT_LOG; - hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, - HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC); - } -} - -static void hvf_log_start(MemoryListener *listener, - MemoryRegionSection *section, int old, int new) -{ - if (old !=3D 0) { - return; - } - - hvf_set_dirty_tracking(section, 1); -} - -static void hvf_log_stop(MemoryListener *listener, - MemoryRegionSection *section, int old, int new) -{ - if (new !=3D 0) { - return; - } - - hvf_set_dirty_tracking(section, 0); -} - -static void hvf_log_sync(MemoryListener *listener, - MemoryRegionSection *section) -{ - /* - * sync of dirty pages is handled elsewhere; just make sure we keep - * tracking the region. - */ - hvf_set_dirty_tracking(section, 1); -} - -static void hvf_region_add(MemoryListener *listener, - MemoryRegionSection *section) -{ - hvf_set_phys_mem(section, true); -} - -static void hvf_region_del(MemoryListener *listener, - MemoryRegionSection *section) -{ - hvf_set_phys_mem(section, false); -} - -static MemoryListener hvf_memory_listener =3D { - .name =3D "hvf", - .priority =3D MEMORY_LISTENER_PRIORITY_ACCEL, - .region_add =3D hvf_region_add, - .region_del =3D hvf_region_del, - .log_start =3D hvf_log_start, - .log_stop =3D hvf_log_stop, - .log_sync =3D hvf_log_sync, -}; - static void dummy_signal(int sig) { } =20 -bool hvf_allowed; - -static int hvf_accel_init(AccelState *as, MachineState *ms) -{ - int x; - hv_return_t ret; - HVFState *s =3D HVF_STATE(as); - int pa_range =3D 36; - MachineClass *mc =3D MACHINE_GET_CLASS(ms); - - if (mc->hvf_get_physical_address_range) { - pa_range =3D mc->hvf_get_physical_address_range(ms); - if (pa_range < 0) { - return -EINVAL; - } - } - - ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); - if (ret =3D=3D HV_DENIED) { - error_report("Could not access HVF. Is the executable signed" - " with com.apple.security.hypervisor entitlement?"); - exit(1); - } - assert_hvf_ok(ret); - - s->num_slots =3D ARRAY_SIZE(s->slots); - for (x =3D 0; x < s->num_slots; ++x) { - s->slots[x].size =3D 0; - s->slots[x].slot_id =3D x; - } - - QTAILQ_INIT(&s->hvf_sw_breakpoints); - - hvf_state =3D s; - memory_listener_register(&hvf_memory_listener, &address_space_memory); - - return hvf_arch_init(); -} - -static inline int hvf_gdbstub_sstep_flags(AccelState *as) -{ - return SSTEP_ENABLE | SSTEP_NOIRQ; -} - static void do_hvf_get_vcpu_exec_time(CPUState *cpu, run_on_cpu_data arg) { int r =3D hv_vcpu_get_exec_time(cpu->accel->fd, arg.host_ptr); assert_hvf_ok(r); } =20 -static void hvf_accel_class_init(ObjectClass *oc, const void *data) -{ - AccelClass *ac =3D ACCEL_CLASS(oc); - ac->name =3D "HVF"; - ac->init_machine =3D hvf_accel_init; - ac->allowed =3D &hvf_allowed; - ac->supports_guest_debug =3D hvf_arch_supports_guest_debug; - ac->gdbstub_supported_sstep_flags =3D hvf_gdbstub_sstep_flags; -} - -static const TypeInfo hvf_accel_type =3D { - .name =3D TYPE_HVF_ACCEL, - .parent =3D TYPE_ACCEL, - .instance_size =3D sizeof(HVFState), - .class_init =3D hvf_accel_class_init, -}; - -static void hvf_type_init(void) -{ - type_register_static(&hvf_accel_type); -} - -type_init(hvf_type_init); - static void hvf_vcpu_destroy(CPUState *cpu) { hv_return_t ret =3D hv_vcpu_destroy(cpu->accel->fd); @@ -662,8 +392,10 @@ static const TypeInfo hvf_accel_ops_type =3D { .class_init =3D hvf_accel_ops_class_init, .abstract =3D true, }; + static void hvf_accel_ops_register_types(void) { type_register_static(&hvf_accel_ops_type); } + type_init(hvf_accel_ops_register_types); diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 481d7dece57..f498e32a23f 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -10,8 +10,24 @@ =20 #include "qemu/osdep.h" #include "qemu/error-report.h" +#include "system/address-spaces.h" +#include "system/memory.h" #include "system/hvf.h" #include "system/hvf_int.h" +#include "hw/core/cpu.h" +#include "hw/boards.h" +#include "trace.h" + +bool hvf_allowed; + +struct mac_slot { + int present; + uint64_t size; + uint64_t gpa_start; + uint64_t gva; +}; + +struct mac_slot mac_slots[32]; =20 const char *hvf_return_string(hv_return_t ret) { @@ -40,3 +56,259 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *fi= le, unsigned int line, =20 abort(); } + +static int do_hvf_set_memory(hvf_slot *slot, hv_memory_flags_t flags) +{ + struct mac_slot *macslot; + hv_return_t ret; + + macslot =3D &mac_slots[slot->slot_id]; + + if (macslot->present) { + if (macslot->size !=3D slot->size) { + macslot->present =3D 0; + trace_hvf_vm_unmap(macslot->gpa_start, macslot->size); + ret =3D hv_vm_unmap(macslot->gpa_start, macslot->size); + assert_hvf_ok(ret); + } + } + + if (!slot->size) { + return 0; + } + + macslot->present =3D 1; + macslot->gpa_start =3D slot->start; + macslot->size =3D slot->size; + trace_hvf_vm_map(slot->start, slot->size, slot->mem, flags, + flags & HV_MEMORY_READ ? 'R' : '-', + flags & HV_MEMORY_WRITE ? 'W' : '-', + flags & HV_MEMORY_EXEC ? 'E' : '-'); + ret =3D hv_vm_map(slot->mem, slot->start, slot->size, flags); + assert_hvf_ok(ret); + return 0; +} + +static void hvf_set_phys_mem(MemoryRegionSection *section, bool add) +{ + hvf_slot *mem; + MemoryRegion *area =3D section->mr; + bool writable =3D !area->readonly && !area->rom_device; + hv_memory_flags_t flags; + uint64_t page_size =3D qemu_real_host_page_size(); + + if (!memory_region_is_ram(area)) { + if (writable) { + return; + } else if (!memory_region_is_romd(area)) { + /* + * If the memory device is not in romd_mode, then we actually = want + * to remove the hvf memory slot so all accesses will trap. + */ + add =3D false; + } + } + + if (!QEMU_IS_ALIGNED(int128_get64(section->size), page_size) || + !QEMU_IS_ALIGNED(section->offset_within_address_space, page_size))= { + /* Not page aligned, so we can not map as RAM */ + add =3D false; + } + + mem =3D hvf_find_overlap_slot( + section->offset_within_address_space, + int128_get64(section->size)); + + if (mem && add) { + if (mem->size =3D=3D int128_get64(section->size) && + mem->start =3D=3D section->offset_within_address_space && + mem->mem =3D=3D (memory_region_get_ram_ptr(area) + + section->offset_within_region)) { + return; /* Same region was attempted to register, go away. */ + } + } + + /* Region needs to be reset. set the size to 0 and remap it. */ + if (mem) { + mem->size =3D 0; + if (do_hvf_set_memory(mem, 0)) { + error_report("Failed to reset overlapping slot"); + abort(); + } + } + + if (!add) { + return; + } + + if (area->readonly || + (!memory_region_is_ram(area) && memory_region_is_romd(area))) { + flags =3D HV_MEMORY_READ | HV_MEMORY_EXEC; + } else { + flags =3D HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC; + } + + /* Now make a new slot. */ + int x; + + for (x =3D 0; x < hvf_state->num_slots; ++x) { + mem =3D &hvf_state->slots[x]; + if (!mem->size) { + break; + } + } + + if (x =3D=3D hvf_state->num_slots) { + error_report("No free slots"); + abort(); + } + + mem->size =3D int128_get64(section->size); + mem->mem =3D memory_region_get_ram_ptr(area) + section->offset_within_= region; + mem->start =3D section->offset_within_address_space; + mem->region =3D area; + + if (do_hvf_set_memory(mem, flags)) { + error_report("Error registering new memory slot"); + abort(); + } +} + +static void hvf_set_dirty_tracking(MemoryRegionSection *section, bool on) +{ + hvf_slot *slot; + + slot =3D hvf_find_overlap_slot( + section->offset_within_address_space, + int128_get64(section->size)); + + /* protect region against writes; begin tracking it */ + if (on) { + slot->flags |=3D HVF_SLOT_LOG; + hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, + HV_MEMORY_READ | HV_MEMORY_EXEC); + /* stop tracking region*/ + } else { + slot->flags &=3D ~HVF_SLOT_LOG; + hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, + HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC); + } +} + +static void hvf_log_start(MemoryListener *listener, + MemoryRegionSection *section, int old, int new) +{ + if (old !=3D 0) { + return; + } + + hvf_set_dirty_tracking(section, 1); +} + +static void hvf_log_stop(MemoryListener *listener, + MemoryRegionSection *section, int old, int new) +{ + if (new !=3D 0) { + return; + } + + hvf_set_dirty_tracking(section, 0); +} + +static void hvf_log_sync(MemoryListener *listener, + MemoryRegionSection *section) +{ + /* + * sync of dirty pages is handled elsewhere; just make sure we keep + * tracking the region. + */ + hvf_set_dirty_tracking(section, 1); +} + +static void hvf_region_add(MemoryListener *listener, + MemoryRegionSection *section) +{ + hvf_set_phys_mem(section, true); +} + +static void hvf_region_del(MemoryListener *listener, + MemoryRegionSection *section) +{ + hvf_set_phys_mem(section, false); +} + +static MemoryListener hvf_memory_listener =3D { + .name =3D "hvf", + .priority =3D MEMORY_LISTENER_PRIORITY_ACCEL, + .region_add =3D hvf_region_add, + .region_del =3D hvf_region_del, + .log_start =3D hvf_log_start, + .log_stop =3D hvf_log_stop, + .log_sync =3D hvf_log_sync, +}; + +static int hvf_accel_init(AccelState *as, MachineState *ms) +{ + int x; + hv_return_t ret; + HVFState *s =3D HVF_STATE(as); + int pa_range =3D 36; + MachineClass *mc =3D MACHINE_GET_CLASS(ms); + + if (mc->hvf_get_physical_address_range) { + pa_range =3D mc->hvf_get_physical_address_range(ms); + if (pa_range < 0) { + return -EINVAL; + } + } + + ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); + if (ret =3D=3D HV_DENIED) { + error_report("Could not access HVF. Is the executable signed" + " with com.apple.security.hypervisor entitlement?"); + exit(1); + } + assert_hvf_ok(ret); + + s->num_slots =3D ARRAY_SIZE(s->slots); + for (x =3D 0; x < s->num_slots; ++x) { + s->slots[x].size =3D 0; + s->slots[x].slot_id =3D x; + } + + QTAILQ_INIT(&s->hvf_sw_breakpoints); + + hvf_state =3D s; + memory_listener_register(&hvf_memory_listener, &address_space_memory); + + return hvf_arch_init(); +} + +static inline int hvf_gdbstub_sstep_flags(AccelState *as) +{ + return SSTEP_ENABLE | SSTEP_NOIRQ; +} + +static void hvf_accel_class_init(ObjectClass *oc, const void *data) +{ + AccelClass *ac =3D ACCEL_CLASS(oc); + ac->name =3D "HVF"; + ac->init_machine =3D hvf_accel_init; + ac->allowed =3D &hvf_allowed; + ac->supports_guest_debug =3D hvf_arch_supports_guest_debug; + ac->gdbstub_supported_sstep_flags =3D hvf_gdbstub_sstep_flags; +} + +static const TypeInfo hvf_accel_type =3D { + .name =3D TYPE_HVF_ACCEL, + .parent =3D TYPE_ACCEL, + .instance_size =3D sizeof(HVFState), + .class_init =3D hvf_accel_class_init, +}; + +static void hvf_type_init(void) +{ + type_register_static(&hvf_accel_type); +} + +type_init(hvf_type_init); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541019; cv=none; d=zohomail.com; s=zohoarc; b=PbHhgwPDAipGbFspv6P8aJursJt9junoODvhqsPLsR9lY3c0mCqDjgHmYIaz9WSCOgOWqt5NZcOb5oLeMz1Y65jrQHKDjVWZi4HbkO1muIYi53tumL6iewFn8UF/91o4LJ3igzKZNt3nnKsEVhM+K+Qj2YEnh33fQZhxoPMeCaA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541019; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=f7w2y29aMH8m2GXB1cVKamGcDeB4cPEpvmgmQ9G6W5E=; b=UfWz0vMpqPkl1VZq0DHDmBDxa3ywFVRLACDAVTj3GWepB3M6HYpwt1WjcO/pm2L8KFU6aB5Q5kA1bRfCUdgYwq/L77xrZqG8uqg3jXv8qRB9nxtM1tHwUIQFPJMrER5Pnf2hQeU8C7YFFt2OoUGp1fU5Yi6XaN6lmw7lWm8Joq8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17515410191781009.0829576064186; Thu, 3 Jul 2025 04:10:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiJ-0002j9-86; Thu, 03 Jul 2025 07:02: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 1uXHeh-0006Us-Is for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:04 -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 1uXHef-0003FY-Fh for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:03 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-450ce3a2dd5so43394355e9.3 for ; Thu, 03 Jul 2025 03:59:00 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a99b1c2esm23268505e9.30.2025.07.03.03.58.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:58:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540339; x=1752145139; 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=f7w2y29aMH8m2GXB1cVKamGcDeB4cPEpvmgmQ9G6W5E=; b=DKhIUGU52Hs/cVEastS+Eu9UsQ0UJ0q8iq+V9xMrtiLZHBzjBHOdG5x3Eq2f5x9qu7 jKg9FlBLTfurFtUtYKjpIGhGhJzn0V11OYOEKNPwW3bpmH0hOwoPGxz9EgMqm9WzVEXY 6mwWH/5pnlNwGo7Z0/nyjGS1CGZISYj+hK4aWkJPqWzAI8+2pK+OVDEsB2XYzGC+E4JI nQtLONvmjR8qdAePZS+aF9fWiLGxXg8Nq19w8iqApC45eaxyx/aoa5u0pPk/QH3TCbBR gO32RTQ2buMTQwJ4PAzEqpHdVF3uENApqoGQaTk9WGk+FuPXhcT8aUQiD5ZO1bv4rws5 k18w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540339; x=1752145139; 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=f7w2y29aMH8m2GXB1cVKamGcDeB4cPEpvmgmQ9G6W5E=; b=cMRg8XObNneyP3oGnqHNPGkzXlOw3X7eJ8ACEnt6+otCX0hBjfXD9rVkoNU+vQiXGw fmbPqX8F6wzaS4Bf4y1j88FygP4zZl9G9O5stk41rIht6ffCDtaH6ChyEh2zpmZveDjl 2umScWheNWc/nU2g2d8ShbevS4OMqsvZ50AY4ubOmSwBOS75WFIfwlr3BWsyfiR9SHIQ ikQQd+mDZ4iU3IlWG194KAC8GF/thNWtcuSttmvcjHH8Xch7fmMyHPNVCYS8/onKII1H EKp1kjBgr+pGHGbV7ckFUUVsKhZuFXlQr/FAdGS3CCkJpzGbmtu9rajXao3gIybfIGqr 5hDw== X-Gm-Message-State: AOJu0Yz3GIwF/C6X6+U+M72f0zUJPdNdoZou2YO+XvcYmPLZitGk66um IM/LZxDsImcWJ6MxyjNI/mYyvPorcWnrDyEoxNWMMfD2X/b3TIZjOmeAgwAJd0s1XlZ9pFMOMic ZfGRbTfg= X-Gm-Gg: ASbGncuAipOc0jsXz83gdIN7gt+yA4Sen04cc/nlgU2oi3yKERkZomn9x4TT4gG2Y15 ot87C6Ke9/8yzoHQI8paigbKjSNsnQQQCT0jmdI1SFb+YZOqTHA0z+p2AnQfCsxdfC03NkaIdBE fcPCibmnV+OURXrOd2BuhlsY+N6M/3oxzcOsnp5RdjvaqaUEOyq4rYQuSvA1G00vQ+WmrI0F77A 8tFUWVRz1CC1ptq5pN9W+A/SH5ZxmbzNYU/TfJp2uQkfPbabRfQfFdtevtQEyeXlWWwgdtmpHoJ BZit0fuTPXFjWD7UCmdATd/d8jPt5+D+9bNZKHW8WWrve4JWsrv5/HvRp8eL7IZdG8eaefzapJq j9LY1CfeLeeQ= X-Google-Smtp-Source: AGHT+IF5ahPc5pVpL/RRiZOMFhVAwIuTvCHpmYwi9QJmIWkfcSRYSeWG3E6EuXcDJdUkQxQiYDk1OQ== X-Received: by 2002:a05:600c:8b33:b0:43c:fe15:41cb with SMTP id 5b1f17b1804b1-454a3b33b8bmr66043455e9.15.1751540339032; Thu, 03 Jul 2025 03:58:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang Subject: [PATCH v5 37/69] cpus: Document CPUState::vcpu_dirty field Date: Thu, 3 Jul 2025 12:55:03 +0200 Message-ID: <20250703105540.67664-38-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541019955116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Zhao Liu --- include/hw/core/cpu.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 162a56a5daa..5eaf41a566f 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -442,6 +442,7 @@ struct qemu_work_item; * @opaque: User data. * @mem_io_pc: Host Program Counter at which the memory was accessed. * @accel: Pointer to accelerator specific state. + * @vcpu_dirty: Hardware accelerator is not synchronized with QEMU state * @kvm_fd: vCPU file descriptor for KVM. * @work_mutex: Lock to prevent multiple access to @work_list. * @work_list: List of pending asynchronous work. @@ -538,7 +539,6 @@ struct CPUState { uint32_t kvm_fetch_index; uint64_t dirty_pages; int kvm_vcpu_stats_fd; - bool vcpu_dirty; =20 /* Use by accel-block: CPU is executing an ioctl() */ QemuLockCnt in_ioctl_lock; @@ -554,6 +554,7 @@ struct CPUState { uint32_t halted; int32_t exception_index; =20 + bool vcpu_dirty; AccelCPUState *accel; =20 /* Used to keep track of an outstanding cpu throttle thread for migrat= ion --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541132; cv=none; d=zohomail.com; s=zohoarc; b=nUChyPuiF8mSKp6EObrbhmjgph6JEEoXrFItPKsBjY3Fl70+Eld9kqA7hxZkNfXXrK9SobhsXnY6oNsxEN5IbKhTntWTdTV25G1IyRvdH5LxZosTTS8/5A/cSYNvw57QnbYEpQB+DLb2gCZf2C2/VQNe30QuqYTuNv9TBedQnYY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541132; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rbpcjy4o5ZUQnpuXjuYjR5B0wNodIi5DdAoNAkyy2SM=; b=Wia24eKyL+mWa36BMQW8Z3CHMzVEPAuOi+HDKGfwLtD6ENwUSO2AMCtO6G4lVgFjfAy+bDoD5qHotMa9dUpGCH/kNs3B8gFxahpQWDaPNgM72uQrzpKIHpV2LifMKH9bLsncd4L6BPXIC5UAnB2OIQVL9nFOpUz6zHQz935nV08= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541132526974.9894778847487; Thu, 3 Jul 2025 04:12:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHid-0004jG-P4; Thu, 03 Jul 2025 07:03:08 -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 1uXHfZ-0006he-1F for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:58 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHel-0003L7-IN for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:10 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so4774132f8f.2 for ; Thu, 03 Jul 2025 03:59:06 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3aba76e40c0sm14278820f8f.59.2025.07.03.03.59.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540345; x=1752145145; 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=rbpcjy4o5ZUQnpuXjuYjR5B0wNodIi5DdAoNAkyy2SM=; b=GQr4UVVZRwcbQ2nRqhl9BVjBPdKusMoE/izuzTVl/dZQiKCG3rYERe/xZNrs/2coS3 8czvanN/RyxFb+cP51BzjNT6L1/+UxkbGL/exPsYbpl2FJRfaFixm5+nK/xOPO8W/fiW AfwU0guZa9T0YBZ+hhuaAUVGHEu59D08BBk0qKT53Rnf5vskWVcc1rpYOi4ZqRE13CWW 50VWSuuCJgnVC9GpH0bI8aLblHq2gq9SExiv8DQ1o3AHxxRxHXqDE5f3Q8MENULCYRqA ogGs3+5xlVX/IesrCrq7JqZ9coi1w5/1xMiMcpBdrsiPND2Aqq9dtCqQ2a+OjyI8p2wI GTqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540345; x=1752145145; 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=rbpcjy4o5ZUQnpuXjuYjR5B0wNodIi5DdAoNAkyy2SM=; b=TvUoTFNHx9J/8yUUREK7TyVnblU29aaMWbc1ASyY0NJm62dxSGNXcebwykFL5TzEI6 MLy3JsAMxuIG97v7DzlAGlS1Zc/0IlWDaZebxnKBSjaAXXxVl6dawm71G4gqU10Psg4b DkYS1HqqYVzsR/AnC1gNCNE0jiP/vK12cN7vasUSi9z1xBYQiVzoj14bMZM9OspDpAgp 1w1neR4UzDMczJ9g3QWZx9zYIXITaqb7o/EzYus2+hrRFUyYiyOwXfXPfOrlmXeLCTBl fHGy/gY6kwCqabedOarqeAL1BXtYkluLwu+ujRgbDgOnnQVpIfEkZBa2FZ+esIzLJN5i tKHQ== X-Gm-Message-State: AOJu0YxF27Gan7lA+bgNXFF6LtXjV7aUm83w4o4hhPH5lcVp4B2g+FeL CsyG977/YlhCC0dk6qF8i3cHjQebzffFMxVpIlgB0n/rT0mASjKzrhUeujt8afMGogoZkf/h3bv +V32VrsA= X-Gm-Gg: ASbGncu1MNAhR7u++16S2+tqYSV3OaJV7XP3GR63HVibfaYaP2qyLzqzuE4t1jSM5mK LBalhNd/sFPW7C9MZqpY+lUYWydpKV9aF0MoaYoyWsX6H6OnvCNqmoqkxSv65aQprYOGqPOYcR/ aP6t1XxZ7vFG3KbX/4t1dakwzccnoZgAFT+itJj82qWEM25mZAycB/2rZDFP83sTb+mIwtv5wyk OR4bD9RO3r7n8prtjWljl0rML/S120UDP/BE4NVW19BEFRjl+WPG+oRkz5JX/p9ZRllX4bcvsdV nsuHxZ3EBdoFp0kbuVtQk3NYZ2L8hm1W7VhjW/vu08uFNEcxooKlBy7icz+ykBLNslAxeVwWFyL Qo41F3wIFQ9A= X-Google-Smtp-Source: AGHT+IGYxtS1oEgE+wPV64Af3YSVbtZnoBNIR61h6tPaEQk84SaFj2CgxdVoLgHbVl+oBToAAhLlkA== X-Received: by 2002:a5d:5f4e:0:b0:3a4:d6ed:8e2e with SMTP id ffacd0b85a97d-3b200b4673amr4801917f8f.41.1751540344516; Thu, 03 Jul 2025 03:59:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Alexander Graf , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH v5 38/69] accel/hvf: Replace @dirty field by generic CPUState::vcpu_dirty field Date: Thu, 3 Jul 2025 12:55:04 +0200 Message-ID: <20250703105540.67664-39-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541133265116600 No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/hvf_int.h | 1 - accel/hvf/hvf-accel-ops.c | 10 +++++----- target/arm/hvf/hvf.c | 4 ++-- target/i386/hvf/hvf.c | 4 ++-- target/i386/hvf/x86hvf.c | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index ea6730f255d..a8ee7c7dae6 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -62,7 +62,6 @@ struct AccelCPUState { bool vtimer_masked; sigset_t unblock_ipi_mask; bool guest_debug_enabled; - bool dirty; }; =20 void assert_hvf_ok_impl(hv_return_t ret, const char *file, unsigned int li= ne, diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 319c30f703c..c91e18bc3dd 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -79,15 +79,15 @@ hvf_slot *hvf_find_overlap_slot(uint64_t start, uint64_= t size) =20 static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data ar= g) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { hvf_get_registers(cpu); - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } } =20 static void hvf_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { run_on_cpu(cpu, do_hvf_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -96,7 +96,7 @@ static void do_hvf_cpu_synchronize_set_dirty(CPUState *cp= u, run_on_cpu_data arg) { /* QEMU state is the reference, push it to HVF now and on next entry */ - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 static void hvf_cpu_synchronize_post_reset(CPUState *cpu) @@ -156,8 +156,8 @@ static int hvf_init_vcpu(CPUState *cpu) #else r =3D hv_vcpu_create(&cpu->accel->fd, HV_VCPU_DEFAULT); #endif - cpu->accel->dirty =3D true; assert_hvf_ok(r); + cpu->vcpu_dirty =3D true; =20 cpu->accel->guest_debug_enabled =3D false; =20 diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index bd19a9f475d..44a831d004f 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -813,9 +813,9 @@ int hvf_put_registers(CPUState *cpu) =20 static void flush_cpu_state(CPUState *cpu) { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { hvf_put_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } } =20 diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index bcf30662bec..c893aaac1b0 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -738,9 +738,9 @@ int hvf_vcpu_exec(CPUState *cpu) } =20 do { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { hvf_put_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 if (hvf_inject_interrupts(cpu)) { diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c index 2057314892a..17fce1d3cdd 100644 --- a/target/i386/hvf/x86hvf.c +++ b/target/i386/hvf/x86hvf.c @@ -427,7 +427,7 @@ int hvf_process_events(CPUState *cs) X86CPU *cpu =3D X86_CPU(cs); CPUX86State *env =3D &cpu->env; =20 - if (!cs->accel->dirty) { + if (!cs->vcpu_dirty) { /* light weight sync for CPU_INTERRUPT_HARD and IF_MASK */ env->eflags =3D rreg(cs->accel->fd, HV_X86_RFLAGS); } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541512; cv=none; d=zohomail.com; s=zohoarc; b=Of0F6UnOwP5yZBKP0UdDZL8BNo0ZAe84sScJi/bj7EXvy+VT4T+hRTuV5eAFj8ZmP4JX0sVww834xvjula9o7F6CrCeFUxXIYblrmaRdLBDb7SllyOvpkpg0enQtKvx2HRizOngBaFtnGTHVmXyXet5BWpMPQQY3Kx2iR7r2NA8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541512; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vFAqYWkOt5rZ34pscE5bkNOMRRS/BXy8okDEtUQzC0Y=; b=RmZNB24sqSG1GSH8G7Gra/QDZxD+cHvTKAgPB1Erivdhdv04uzJHnysoxa1E8bsSkn4oLmxzilm5kldYFE2eCEsLFsKKhzrTAMEd4MMNvF8vZwRkWPv9oiNUEeeQBqq5Ly9eAMZCFpTMteXT1cdz2bUkNGUYmIENjnBG4oG7pcY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541512653125.83391472800304; Thu, 3 Jul 2025 04:18:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHhx-00026M-BJ; Thu, 03 Jul 2025 07:02: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 1uXHfa-0006hp-4X for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:59 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHep-0003OP-LO for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:13 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-454ac069223so2984485e9.1 for ; Thu, 03 Jul 2025 03:59:11 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e52bb3sm18654339f8f.56.2025.07.03.03.59.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540350; x=1752145150; 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=vFAqYWkOt5rZ34pscE5bkNOMRRS/BXy8okDEtUQzC0Y=; b=ti5O0mblpcTQezz3ssqxMGhrVO5Wav+21sU3paCnpMD9t9ZuyJIgP+V4oIy73txHUK 38XBMJOhJPkzhVrFqBQUi2ajSS51vtv1FFmECW46wkR5fCOIINPMs4xn4b0XdILllh6k itoW3Eqx1C3KIZ0Jau5MtLdrA6roMpAKXQFiRObVtPdE3dJt03UOuwAaW7kg0zis+NBr kVvx4LZYAVDNHpXtctEnhJrMSqLGcAMC2nD50LMM3Jkt7DzkwwzfIn8xcHW6f2cuqb4j IvWtQ44q0UWtZQLx/RxKaDMZCOTXm0todwhl0iSN1+WxzqxwALq4Vt/7Ptd3WHFiGa7u /h3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540350; x=1752145150; 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=vFAqYWkOt5rZ34pscE5bkNOMRRS/BXy8okDEtUQzC0Y=; b=iQDHLU+rEWerwSAI86suE4Xs2Nuq8nyMTH3Mu+T6XStlN5my7JzTXb3PM4vlMlFSml BeevV82G1cbl10TQeo+Vc4kXpqOv91Awzj+zUI1vObhdQf7jMzeJ+DSRlvNm1HdsniF0 57Qa9FvnWXcvnZT2QL8AF6UCg88wfoPtW0PHZiSUBD7Io5QwgYM2TTIRbsTFRjtb3GOj t9DqrlrLvNafo6Np7Nc2z3cHpPYxZic21p8R6d7PYekfhO9sxPYgf8HzFg+ag5pxwCVZ jWi5lyl74UkfRReigiNohW5OE0FBthGuF2kHkXKvs9V/jO3OFcVmAFFfm44rYVTboWzR MWcQ== X-Gm-Message-State: AOJu0Yxo7QMkjvKBP9Xk3fdXrTUcgpZEivEGwSIcxd0KrrarCh5aPIHC BnI3QyQ3g7XdxD/juunwaTdUE1sH5wYCd2V4psWlhCTWjGciuw0CE50AkRkKNb5kumuP4IGFMKe 7XYSeRdE= X-Gm-Gg: ASbGncuGEXLghZ8y16yddoXr7Sm4lrcrMdk40NzZ1LfKWtd9EydbqYJE0g2WgkG2bO4 iKsW5Aje+k9FjeOFPSFM5rXt1RvLRQ1vZ46nq92jblWRckbkEHShSowGcvTwHtL2fqICEOyNnHq HiqS/BEzQ0dRINcCl71LHEp+uEd1FUyoEf/ZsVlWOgdtS8VyviGuNyfCeMHPvMouikWS9ece5Jk QanAwBcYJ0bJbR86tdu5lpgV0zXSfX6H99jkJaL++tiHBbd4rs0e3vQ3ji+e/ciExVR5qtUBicb oAyTigbdm9Lww44/EyL4TTHP9KqEbXqt0kyf/S6nFDqpjZAwrkBD3q7uzDZRjL+AGkfqnA+GOwT qwUL4pFA/Z3780k0Sc/58qQ== X-Google-Smtp-Source: AGHT+IEpLtcQemMkcwNXCmGS2HYXOrXVSmrpZfH3haYqqpBfUcpznPUG0hMZrhqDiS/8G+BDKrWdvQ== X-Received: by 2002:a05:6000:4026:b0:3a5:6860:f47f with SMTP id ffacd0b85a97d-3b34281c3efmr1987415f8f.6.1751540349695; Thu, 03 Jul 2025 03:59:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Reinoud Zandijk Subject: [PATCH v5 39/69] accel/nvmm: Replace @dirty field by generic CPUState::vcpu_dirty field Date: Thu, 3 Jul 2025 12:55:05 +0200 Message-ID: <20250703105540.67664-40-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541513403116600 No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/nvmm/nvmm-all.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c index eaae175aa5d..f521c36dc53 100644 --- a/target/i386/nvmm/nvmm-all.c +++ b/target/i386/nvmm/nvmm-all.c @@ -30,7 +30,6 @@ struct AccelCPUState { struct nvmm_vcpu vcpu; uint8_t tpr; bool stop; - bool dirty; =20 /* Window-exiting for INTs/NMIs. */ bool int_window_exit; @@ -508,7 +507,7 @@ nvmm_io_callback(struct nvmm_io *io) } =20 /* Needed, otherwise infinite loop. */ - current_cpu->accel->dirty =3D false; + current_cpu->vcpu_dirty =3D false; } =20 static void @@ -517,7 +516,7 @@ nvmm_mem_callback(struct nvmm_mem *mem) cpu_physical_memory_rw(mem->gpa, mem->data, mem->size, mem->write); =20 /* Needed, otherwise infinite loop. */ - current_cpu->accel->dirty =3D false; + current_cpu->vcpu_dirty =3D false; } =20 static struct nvmm_assist_callbacks nvmm_callbacks =3D { @@ -727,9 +726,9 @@ nvmm_vcpu_loop(CPUState *cpu) * Inner VCPU loop. */ do { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { nvmm_set_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 if (qcpu->stop) { @@ -827,32 +826,32 @@ static void do_nvmm_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data arg) { nvmm_get_registers(cpu); - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 static void do_nvmm_cpu_synchronize_post_reset(CPUState *cpu, run_on_cpu_data arg) { nvmm_set_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_nvmm_cpu_synchronize_post_init(CPUState *cpu, run_on_cpu_data arg) { nvmm_set_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_nvmm_cpu_synchronize_pre_loadvm(CPUState *cpu, run_on_cpu_data arg) { - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 void nvmm_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { run_on_cpu(cpu, do_nvmm_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -982,7 +981,7 @@ nvmm_init_vcpu(CPUState *cpu) } } =20 - qcpu->dirty =3D true; + qcpu->vcpu_dirty =3D true; cpu->accel =3D qcpu; =20 return 0; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541524; cv=none; d=zohomail.com; s=zohoarc; b=XOliI88e01+woa1OfgVQ1sMnelSsnhCzPykMifWkvsz8npw7i1KKnINhgnamrcTW7X60dRoPajOpyEqN2NXPNwupKIl2lpln/y/+HooEMUTy6XvuHVYSzrFcrVwfFtTPrLCQDKyt0Rh97QzrDiuL5WAPyoses/KTc4/rGlpPteU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541524; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=l2PGC0Y3eaTf7CcEogf+cHF/JmHLi48aNNQRIJR2xDQ=; b=kMt71dt62GfiKuhwKUlpqoc5AROPnqlPAWQF0cxqOeZXNDb6zqrE6J8I+CCpQeOvVHXg1xRDMQJ1C0rAAeomMNoIyglbMi9rrwfpIeEDw+M+p8Xls7k8FLDOsKh9qtXYscuhocpIla+pTyyQ7t17AvJQy974p5Lr/oGDFgIqivk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175154152419879.9565365029905; Thu, 3 Jul 2025 04:18:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiE-0002dc-Rc; Thu, 03 Jul 2025 07:02:43 -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 1uXHfb-0006iL-JX for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:04 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHev-0003Qw-4W for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:18 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-45348bff79fso55567535e9.2 for ; Thu, 03 Jul 2025 03:59:16 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e7524sm18507619f8f.12.2025.07.03.03.59.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540355; x=1752145155; 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=l2PGC0Y3eaTf7CcEogf+cHF/JmHLi48aNNQRIJR2xDQ=; b=nZWfx686kvmsX77lvfJlKaihR2mXNxeRgqVJGAXrcHNwxkDkycXv1RzTLuf1sq8V3k /XTnrABOSNcFMSx8I2AVHeEWyWGj/djgn3nUhcuozANTviUSo2LY2kN+zUlIY4Mo0pcy b450Eh4wzjKe95RQmwo3mGwpqL2Qg+v4OZaaib0cU7u0EO9iFqN4zQ1pMaABNYx/qPR4 uLcp+SHGRDwunQQtPydjBv4tHBIiDU5mwmJ17CNs1+HFgbSSpOpbmOOOnYRu+AIfrs4L ensPzOalH6Cxl1Yh6mIDkmAirfUvjyBUrK1k1ebshBW0vaSxHBkZlHImHUO3UgatvtCs 6eZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540355; x=1752145155; 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=l2PGC0Y3eaTf7CcEogf+cHF/JmHLi48aNNQRIJR2xDQ=; b=Y+w6tSfa1fdKXWSIejoYwu80NrDj9VDpnLRlsOqmBIkZ1x0VP5st0RknjwgBAOq3Xc 4fDqhd3ULX8QGoNrSOvwUWBj07cL5dbncLPGTp5G2Sb+p525q3Adrs1AQGTXW/mhWR79 9fk4rVYzxWd6WZjV5jMDTVCcupt1peEoyU2bXjmA8cX0Uudx+HeVqPWimkVd5rXd0Puu BHzllL7xFO3NVZR1GJilBgeK+myq7vkMSsoAfSTi27+zAC7r2ertd+CHOQ07tZVTZsy7 essiD0g8bfdwD4eL4mKKh0Sr0/9OKzg3P2ip/sN/smGpzj8kNRCjlilUkJ6sOZ8460CV YLUQ== X-Gm-Message-State: AOJu0YxpAG4RKXBmATnG3eu59o9C5P6phzOBMsgALACeCt2EbDP63JpN AbQd7q9m7uXC+tXRC5mjoXlkU6rZOIkyLYwPMuC8wk8AIi2bP2o1s3cF0kiNjxYsO6jl17NGMxe Y0pfIJhk= X-Gm-Gg: ASbGncu5r1gWJ+60tImk/DkR6ql81jLDn08ixtGvT3T0Z3KVOCQBvkUCexe1O18z+V2 96P9CJLJPAsDXoPRpcVkXMJ9/GLb1TZp7Z0ZH+Ee89ij1tyTj1ZgCWZD0IETgdCDfTFWRC4XqzS lrbBG3UaBH4VpsclEzxCi7I47ovvxDQEctdDqcbR7kqf73tp743crHVhq3Cs6xIffw+yCv/rSEp I/v4dYMwnkPB+YvyQcdHnIrkLhscc+Bg5Ck/iTTnSJaR4WpBCPfdu4koAyu68De2fjQCc9vuLjv hfw+mp/RVKRDsCBDZ9ZoNprfyGUWNse8Ivs8duGibuhKqezQHClTcQfJTNTaN5H7Qq6ZwU4kLbT rmebirBN0nik= X-Google-Smtp-Source: AGHT+IEH6o23glPnSWgzT4Tyu2nuEfx1ONAPjD27xNsoZIhGywDOzMfGFQguEoku/1mG8S0e1h6Vxw== X-Received: by 2002:a05:6000:2a88:b0:3a4:fcc3:4a14 with SMTP id ffacd0b85a97d-3b200865a3bmr4148920f8f.34.1751540354778; Thu, 03 Jul 2025 03:59:14 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v5 40/69] accel/whpx: Replace @dirty field by generic CPUState::vcpu_dirty field Date: Thu, 3 Jul 2025 12:55:06 +0200 Message-ID: <20250703105540.67664-41-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541525750116600 No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/whpx/whpx-all.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 821167a2a77..525d6a9567b 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -237,7 +237,6 @@ struct AccelCPUState { uint64_t tpr; uint64_t apic_base; bool interruption_pending; - bool dirty; =20 /* Must be the last field as it may have a tail */ WHV_RUN_VP_EXIT_CONTEXT exit_ctx; @@ -836,7 +835,7 @@ static HRESULT CALLBACK whpx_emu_setreg_callback( * The emulator just successfully wrote the register state. We clear t= he * dirty state so we avoid the double write on resume of the VP. */ - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; =20 return hr; } @@ -1391,7 +1390,7 @@ static int whpx_last_vcpu_stopping(CPUState *cpu) /* Returns the address of the next instruction that is about to be execute= d. */ static vaddr whpx_vcpu_get_pc(CPUState *cpu, bool exit_context_valid) { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { /* The CPU registers have been modified by other parts of QEMU. */ return cpu_env(cpu)->eip; } else if (exit_context_valid) { @@ -1704,9 +1703,9 @@ static int whpx_vcpu_run(CPUState *cpu) } =20 do { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { whpx_set_registers(cpu, WHPX_SET_RUNTIME_STATE); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 if (exclusive_step_mode =3D=3D WHPX_STEP_NONE) { @@ -2054,9 +2053,9 @@ static int whpx_vcpu_run(CPUState *cpu) =20 static void do_whpx_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data a= rg) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { whpx_get_registers(cpu); - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } } =20 @@ -2064,20 +2063,20 @@ static void do_whpx_cpu_synchronize_post_reset(CPUS= tate *cpu, run_on_cpu_data arg) { whpx_set_registers(cpu, WHPX_SET_RESET_STATE); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_whpx_cpu_synchronize_post_init(CPUState *cpu, run_on_cpu_data arg) { whpx_set_registers(cpu, WHPX_SET_FULL_STATE); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_whpx_cpu_synchronize_pre_loadvm(CPUState *cpu, run_on_cpu_data arg) { - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 /* @@ -2086,7 +2085,7 @@ static void do_whpx_cpu_synchronize_pre_loadvm(CPUSta= te *cpu, =20 void whpx_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { run_on_cpu(cpu, do_whpx_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -2226,7 +2225,7 @@ int whpx_init_vcpu(CPUState *cpu) } =20 vcpu->interruptable =3D true; - vcpu->dirty =3D true; + cpu->vcpu_dirty =3D true; cpu->accel =3D vcpu; max_vcpu_index =3D max(max_vcpu_index, cpu->cpu_index); qemu_add_vm_change_state_handler(whpx_cpu_update_state, env); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541466; cv=none; d=zohomail.com; s=zohoarc; b=c5CqtT811YemY3iYnXyTCuwalgK9qPg3IUrTwTBQX3Z1OGZb0xqKik1A0iPS1HlWt9xAErEht78gQamikTTb5gGMEO4aGLdcGJ0TkwStivHIauaMbf7BpPx2bPwxADr5UFO06sK44bK8NZwaoD7GY45MCMaZzwonIa/czt22qFs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541466; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zOj2l0QjwiOWVtDmZos93I73sy6okOj775eGXYWLug4=; b=j06fJqS4SJyWS/DIVdbWAQa06tYE334SGRI9g3zZb4Sv/V79Qu/OrMx17xxOCOkJbporm3ToCfZKuEwfX0GtCrJEx8w+f7na+WhQlP6W2/a3y5M+uunhCbuUX5WdV5aN+T7rwB4JmRyF8w9ASyVxY/F4FiMqd8vD0Uu2KeHD30E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541466829914.9273486479323; Thu, 3 Jul 2025 04:17:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHht-00024K-IN; Thu, 03 Jul 2025 07:02: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 1uXHfb-0006iv-S3 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:04 -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 1uXHez-0003Ry-O0 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:23 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-454aaade1fbso8456825e9.3 for ; Thu, 03 Jul 2025 03:59:21 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c8013fesm18582853f8f.38.2025.07.03.03.59.18 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540360; x=1752145160; 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=zOj2l0QjwiOWVtDmZos93I73sy6okOj775eGXYWLug4=; b=oQrUm4pb+LdDuXdN0ImGJFQ+HIUc2rpf6No8bO9+WUv0KCWZMjoc9WABML+P7bmhGH hRJ/tSpgDiXWI+xRpcm6/lUEdxuCIbUZY2s0tq1DCGJMT9eUTGsCioxNOv+P9BVSt8pi fbgyZvOnzZ0piPuotyKXOoXWRWwYbVK3SjS/3/Nwon0RMT2L2hYdtGGSG2s5wMe0rirV pk6TM9deLlEASgCkB0E6sqxisYR+qh9Lq8JRTcAptrU8L9hTlPZ7vJpsVpu4cKeGDiIo 4/0jS0QapwVf33MiXQcsNhcjRee9tjN9LseYzU+iZCu7+FI/UwRf/Scr/cOzCPOxAckr 7cEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540360; x=1752145160; 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=zOj2l0QjwiOWVtDmZos93I73sy6okOj775eGXYWLug4=; b=rB3fP43MJ1ZA8coRSS+0X909K0GBUTanUr+2y2Gkhof2pQV5UxaHqRkUWudxcaVfyK DkyOol0vtf/MQ+B05U19Ly5PZSxUQyTV+AAuhwvr7JUWAZ7d8fDUfy6MarXmU6zzgGEt +yGm7o6OJyutiKrnCbFCzWNxtuAD8QJm9moGrR6NLXJRtB/L3j9JVSEqVYARcbN+JPKp L1hCH+1/5SKgBaHkkmGjRRZLh+pd7Q+YMLblVkUQVsxl5lN0svKKs7BJ1qakZo967GKu 0w/JmV3fPBmI+aS2IrC4I12tojZ3IsqGOsrEiPsETcfJYq7jNIANT26TNxT8c0xwLsLr QKYg== X-Gm-Message-State: AOJu0YxLLVZXKuo6+SzmUPN81HmcHwuM3nwuRSkSzANsMdH2wYrY3adJ XVkZ6yLfgpYDdNJhWfvVvwbI4aLizo43dDEpZ59rO8nI/mCWELlJpzKJfFNqz13c8p1eIhLOLEv WcU+V74E= X-Gm-Gg: ASbGncsfXU2dPoZzSTwpRjxKzDQ5tNC0uDq7rGNJeYAQT2OQQbakweE9egayqQ8Cd1s cQfiSv+Lmx7OlkNOIb5CRvzKg+rwBuC+2garHiRTVACKoXQ79cC3hdn5LGhVV0JYyKwhvcRqX0T 3L2Q7zxP2b7K6Gju4q2O7a9L+Ax2u07QEqeQL3E5rx89FN9zjj7kWWTXMmAK+554CiteUiTaWdt 2pNXhPUkPaoM6OhUP2Uwj44mk3u6nsj1cqjqDF4tkvgkqlVmAYyQqH/x/tCVt9+Fvai5beu796y zWNtyIlURaobqsk2kccPoSwpny0EofpIRwoC0+h+93a/qK74ZTHUPcLnZc9qz4n/hQFWNWXO+X4 LEoMdEeoGnyM= X-Google-Smtp-Source: AGHT+IHoayANiPOkuTLi8ug1zCVOH/mAiXBkNOtM7bZ4tNPWn87D4+AzaCT/cMsJ55dAh9k4I6N40Q== X-Received: by 2002:a05:600c:548e:b0:453:5c30:a1d0 with SMTP id 5b1f17b1804b1-454acdecbf0mr15392135e9.21.1751540359747; Thu, 03 Jul 2025 03:59:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 41/69] accel/kvm: Remove kvm_cpu_synchronize_state() stub Date: Thu, 3 Jul 2025 12:55:07 +0200 Message-ID: <20250703105540.67664-42-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541469356116600 Since commit 57038a92bb0 ("cpus: extract out kvm-specific code to accel/kvm") the kvm_cpu_synchronize_state() stub is not necessary. Fixes: e0715f6abce ("kvm: remove kvm specific functions from global include= s") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/stubs/kvm-stub.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index b9b4427c919..68cd33ba973 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -29,10 +29,6 @@ void kvm_flush_coalesced_mmio_buffer(void) { } =20 -void kvm_cpu_synchronize_state(CPUState *cpu) -{ -} - bool kvm_has_sync_mmu(void) { return false; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540955; cv=none; d=zohomail.com; s=zohoarc; b=PU2WDCNZPqyJcjQ07/Qvs5TB4zg5t2SzJ24xm0CV6CPiyCqWgPuiEbxmDLGWtk8Fg11WXzLaecHVvsJt+RHs0FXN8Q1x2Ck9M+4x0gOinOsYb/pYq5yT67T/BeppFDsT/q329Rp271WjiVqRkoSP36W+v4Qi9Oh4itSkBGhQMuM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540955; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZapE+BsIWKP1uR9SD9UqThOOP5DO0oP7K7FrxAXgmYg=; b=Qixf9LiE8xt9gcDprqEfXANJaNpdPn3TG3VwRrjv9HVD5qoVL34fXgk2fjyAHc6iiHwvjBiJTEztuxXGHEkyQ8sIZIjAseqvu1CHB6YZ5malKeWmmepizEC8hrwnZNSBALigVTGcSB79ey2UMt2VofMadZh3b5TSoBXCGWTBRyE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540955914427.3298331115741; Thu, 3 Jul 2025 04:09:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiU-0003qB-Dg; Thu, 03 Jul 2025 07:02: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 1uXHfc-0006iz-AN for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:04 -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 1uXHf5-0003T7-T0 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:29 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a6f2c6715fso5602820f8f.1 for ; Thu, 03 Jul 2025 03:59:26 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e52c8esm18531283f8f.55.2025.07.03.03.59.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540365; x=1752145165; 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=ZapE+BsIWKP1uR9SD9UqThOOP5DO0oP7K7FrxAXgmYg=; b=W8Lsx3Fec7wzAalHKV/6oEIsLIMAl5hLA9mhlKqdB1ayg5OvfQ5JDu1Y46q9TJjtGZ SC1gxBpMmXZ/FQNduXMluLyIpnARzGKbGWGRmoCSbvbUsMLfYNvQ3alv6RMSacrU5FKD nQm9vGyDdUtMMZAXTQ/lLEqyh+uiIsBcLFXYilwG9XpH7zBCOehr8BoMzGoy+eURXT7V cGbzhE1gGc7axdeno4gLoOlWYdv7VsoHvoIOxQ2Esr6w9Le70LryfVeGS+S5OI2apPLO kZKy4TZpRIixkcdAmvoSYYomOpoPGOsOUJYQ7c7wyPyzetYeggXVIVou+zwDX4Kn5h01 L3jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540365; x=1752145165; 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=ZapE+BsIWKP1uR9SD9UqThOOP5DO0oP7K7FrxAXgmYg=; b=CfwaCWq3z0GBCwCqbgBd2dEkpK3ambR+OQ3QZKXpu9kuZ7Mu7m8h362MdH1feo+gql SoRmjJ8GPL9quds+Xb3a6kx24oaiizm4IEsAwflipHhtd4UlOV29QPMqFN5+uUwgAlG9 8k9vE6YrRz789DJImDeNWMcL+z3F1vSeRwMhsA1FmVS94Zhm20lsk+W5JHgwiOuw2cfu ruTgM13V025UOWTrKiABvKbQ+0BRVQ9FqvIjZuIkVF/xxSr2urqMTxTniZurowpo+xaE UGmCNIAYueWrmzRN9qnwp/TOB/YHMTT3o55Ndzl16kYotniuL4EsvhXRZWBrv3tPTo4t EDrg== X-Gm-Message-State: AOJu0YxhbfuUbTtUO8ASS7HQrxS5YuDJGvF368DR7vC2nswRy2XS8gUX IQ13f8zYvLKWW4NE1JcZkbUgVbgwXMV3KgUai0MlrWT7LMujUxCZyoMIMZIfjtD9ZlwOKx2uhYL dPasMOHg= X-Gm-Gg: ASbGncspRmMk1f5+fC6YUyqYEBS/IHwVqQP7j12XCVZeJOxPP7965vK1boxAu+Hhud1 gD8p3bPHTVPrXYbGuPcw/AL41fIrbTckOOKknd3yYCZdN1RVe81hDatgvqIgGXgN8nYBsMXBQrv s5KlJimJZO9fQhmXk//5YBRhbkEqUWfs5QD1/4zYEOf54dmR2357MPJ2ADjiivqQSrnJ5PBc4Dz 6a7tJSNkM5jCVNioUl6OhOye3lVrAKpuXHQt9k+jnQL7TN4sd3l+7VW+zifEpzLL//2Gvg4pvXa ++EvEKhYu4XO/JTo9X8IL7QftLHQPuDbDTA4LzkGNQJDwUareMAdxcf9O7Q0B9DNmobpXYc5bPa 6SGMFeOgxfmjy3zlKbVreuA== X-Google-Smtp-Source: AGHT+IFY9M7MGc9Du92Rg09ABFGQ8dmP+5MoX5ZHraX2JMAk+dchRReAPMN4ssVoMNvxYSI4Pwb8+Q== X-Received: by 2002:a05:6000:480b:b0:3a3:648d:aa84 with SMTP id ffacd0b85a97d-3b1fdc20ce5mr5225925f8f.5.1751540364905; Thu, 03 Jul 2025 03:59:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 42/69] accel/system: Document cpu_synchronize_state() Date: Thu, 3 Jul 2025 12:55:08 +0200 Message-ID: <20250703105540.67664-43-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540957150116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 8 ++++++++ include/system/hw_accel.h | 13 +++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 2a89641aa81..ac0283cffba 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -45,6 +45,14 @@ struct AccelOpsClass { =20 void (*synchronize_post_reset)(CPUState *cpu); void (*synchronize_post_init)(CPUState *cpu); + /** + * synchronize_state: + * synchronize_pre_loadvm: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers from the hardware accele= rator + * (the hardware accelerator is the reference). + */ void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); =20 diff --git a/include/system/hw_accel.h b/include/system/hw_accel.h index 380e9e640b6..574c9738408 100644 --- a/include/system/hw_accel.h +++ b/include/system/hw_accel.h @@ -17,9 +17,18 @@ #include "system/whpx.h" #include "system/nvmm.h" =20 +/** + * cpu_synchronize_state: + * cpu_synchronize_pre_loadvm: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers from the hardware accelerator + * (the hardware accelerator is the reference). + */ void cpu_synchronize_state(CPUState *cpu); -void cpu_synchronize_post_reset(CPUState *cpu); -void cpu_synchronize_post_init(CPUState *cpu); void cpu_synchronize_pre_loadvm(CPUState *cpu); =20 +void cpu_synchronize_post_reset(CPUState *cpu); +void cpu_synchronize_post_init(CPUState *cpu); + #endif /* QEMU_HW_ACCEL_H */ --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540781; cv=none; d=zohomail.com; s=zohoarc; b=hbW19X++I9zRIPXh4NaF/nkYer4vTO6vtU8LZuAapTmcqNQ47rWTCBZmSjjUuLVfQGMlBNcs1Aj3kNxTTUUGl4NFWxzpGwDAZFrtSH1Y+bNPNN0eGW5+H6jFlAfzzJ0TjXsdzH+J1IOH3Htr3ew//+10dfLw/3pVD4EtRUvnuFg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540781; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=SZcPe3nYMdLPvpkVihaPaKQWmWCYPUgBDgbI5JlWA4I=; b=GOKSOJMJpHLiXGbou0KOfU/0B1NMvKikVGCiwKM+0aynzc/2vnMb+uElMacyHafV01rQBjVNUHLNAuoJH5QOGU88ouY5bFGjH8RTOq55ZU6EH+j5vKkR9GuznDvD1vtYIsrdk36a/KWJe+GUtBR6FVmeDFaWwgp2GfMUA6efPmI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540781690735.2721263859903; Thu, 3 Jul 2025 04:06:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiM-00032i-I8; Thu, 03 Jul 2025 07:02:50 -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 1uXHfc-0006j7-SB for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:04 -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 1uXHfA-0003Tw-9T for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:35 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a6f2c6715fso5602893f8f.1 for ; Thu, 03 Jul 2025 03:59:31 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e5f8b6sm18670570f8f.91.2025.07.03.03.59.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540370; x=1752145170; 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=SZcPe3nYMdLPvpkVihaPaKQWmWCYPUgBDgbI5JlWA4I=; b=UJ7MXwxMuuwYAkKsOoHpFJCmEyG828R8qBa5G26iO8DoEbYc2x/qZPFhNYaP4w5zyT mLtotNLAVJcioE64Uh69k8uskRYqkPBOPZzyqYLD+/L4HsQCYbehoCOVZOXDxpSvBu8h XaTLwPWXuBBrjyh1pe+8NhqoVVRoevGSnTbGYQgoj3bj2hkRsiUZOomzr0Hxw2uq3GsW tGGge1Rw24RyafttIa2zxRTgnIMZsUvEaZg3rAjNm/SsUdaCHyDQuh7+OIXVoA4q6Kyc dDBU+2NXqalMzGc6bJGAqZDe6R8/8wtKDeZOGNuUQTv6fKafhD4em9luk+c6JEeO0nyA moDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540370; x=1752145170; 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=SZcPe3nYMdLPvpkVihaPaKQWmWCYPUgBDgbI5JlWA4I=; b=J5NHBcLoKJ9t6Kgkc6DgGkTrZ5XUwI2I9rsgfz3T5sKlcnRIUZWv/KFBbJNdxKdDRh jTjqALM1HxgLnvzvkAhjyALKI3oJZWifQE5FOc88sUh1zGo8eKseYjfnDtLtgpo4houo 3Y+Syjtp3E68ZtdcsxhrI2kVnmRlF6ona1mzdWGDXHx3NkWH+WgucVTPHwASH3MfPusk u6AGLD8SKr15EJDlo5AiJYUP3yjyiEMftxNSgEd9o37fH3wk9+X/v9UYQCFXgLeVAaQu dwRIQLfMmUjfws1Twa1OM11RO+fUfk4He/87UWWUWKn5WckHLFNOBueSP476R4dF/QmZ 6i9A== X-Gm-Message-State: AOJu0YwdFoBR3yUud9YbHI2yH+AdqQSMwY0n+oWPQcWsN8Ecxcu6B+ZS 2WLq4uFatf+6GXrlI/alUvqa0393y/ukEbH8Un3VAri/gq5TRksCxUaNqk22Ac006W7DuRH3UmL U/++8koE= X-Gm-Gg: ASbGncsR29Sqh2efLO+CXq7NSN+G4+faNL2YV5j0bjt7KFhJTx9mbDQ51viSL2hD6nM J6n2Agq3DiyF0VEGYR3BSUII51xcsabFlZwzc+0YeJlh4brcM/Khc/8UFyVU3lK5NXXPkhGwbSB crZQhzLFPDE/NTmvTEpyzQpCCtPcnoV7QZlTyAqiruRwBQMCRLbtgAXLvICZT6cnrHvGyO6fL/W 2TGoDgzZGs4RUdgxmA2Gqdmzij+qM1wYzA+/IH0WMrvWloOqMYCxfT/AMF2y848Gzx5LyYpyx24 lPW5gWYUk1adLandw7D7oY3W39Jn9dukhK0DI2lZ+USPjDvg+s4ML4gJinZL99kMsFO/UDtsCzD mZJW18GQI2LcH8euMUtVGQg== X-Google-Smtp-Source: AGHT+IFwze08KXrOCaSqmcyC/CFjfj8WXq9xrhVTjrBsf+XDLBCCaa31XIZMiSWUsLRl+UJN8QFeBw== X-Received: by 2002:a05:6000:4013:b0:3a4:cb4f:ac2a with SMTP id ffacd0b85a97d-3b1feb84b5fmr5425886f8f.21.1751540369971; Thu, 03 Jul 2025 03:59:29 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 43/69] accel/system: Document cpu_synchronize_state_post_init/reset() Date: Thu, 3 Jul 2025 12:55:09 +0200 Message-ID: <20250703105540.67664-44-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540783002116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 8 ++++++++ include/system/hw_accel.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index ac0283cffba..77bd3f586bd 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -43,6 +43,14 @@ struct AccelOpsClass { void (*kick_vcpu_thread)(CPUState *cpu); bool (*cpu_thread_is_idle)(CPUState *cpu); =20 + /** + * synchronize_post_reset: + * synchronize_post_init: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers to the hardware accelera= tor + * (QEMU is the reference). + */ void (*synchronize_post_reset)(CPUState *cpu); void (*synchronize_post_init)(CPUState *cpu); /** diff --git a/include/system/hw_accel.h b/include/system/hw_accel.h index 574c9738408..fa9228d5d2d 100644 --- a/include/system/hw_accel.h +++ b/include/system/hw_accel.h @@ -28,6 +28,14 @@ void cpu_synchronize_state(CPUState *cpu); void cpu_synchronize_pre_loadvm(CPUState *cpu); =20 +/** + * cpu_synchronize_post_reset: + * cpu_synchronize_post_init: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers to the hardware accelerator + * (QEMU is the reference). + */ void cpu_synchronize_post_reset(CPUState *cpu); void cpu_synchronize_post_init(CPUState *cpu); =20 --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541161; cv=none; d=zohomail.com; s=zohoarc; b=kKGDq5Rq77Ree49xe4ogpUr8qj+Z0zg4zSIlATni3na/5l36t7vtcgKEfrwOOXjzyXDmW615cAL5M9CEJugfhb2dCnjt5jj/cgqJFUbzad7h1a5HyySHqQkT/s3oAKdjERP7+XMF9GvSF4eR5sy3muV2dMM8mM49dw22w7kVOzc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541161; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Mdy11kA+VsWt7cboODkHkD4f2jxHCHYlzGKA8G7vb4M=; b=lCY9nQOZJ7IHV5cPfya0V1VHRZLkKGE+9tMs10ChwmGkvBINo566wzmqL3q1+MgaPJlcTHMW9ekbbzmErFl3SpSsETC6Qs6za9GGkDcBMoudrOF2PVlqusUGJErg1b9ePiBJ4ol6yeo7Nayef0xchxzlwVUdT83tykMmOArsI+s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541161244757.9849284439551; Thu, 3 Jul 2025 04:12:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiJ-0002mS-Rt; Thu, 03 Jul 2025 07:02:48 -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 1uXHff-0006l0-1J for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:04 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHfF-0003Uy-P5 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:39 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-450ccda1a6eso42634805e9.2 for ; Thu, 03 Jul 2025 03:59:36 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c80b516sm17928800f8f.41.2025.07.03.03.59.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540375; x=1752145175; 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=Mdy11kA+VsWt7cboODkHkD4f2jxHCHYlzGKA8G7vb4M=; b=NE2cUpOykOZj4kGp8wqNaRqNXAdAWqGgNwzn6lt8ECLJwngW5vGVkF55eywGjm4VWJ 89czEU5bkINzaLr3cu4RA9MxNXN4GJuNAEgtIsHVyjpB5NwbEUYCV+k5TgAd2QmBPvJF Qsugvequb4MiSRGUdNVr0J13ga6GqdszGfJxr7MgTpVOF8h0R0nHUWHe80/p/es5oPiN nsytQxlUnHRTAqnYzf7DgFuNx4btIlP2u7jic35Rxvh1jkMHriXSlkizrsTxz6iNngho CeB1Cnm28m70avkt7qEhNW1JNk/iCxqwd7IHgwouw0DsLj5vRLOuIxalEfnDWn90sHKT itdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540375; x=1752145175; 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=Mdy11kA+VsWt7cboODkHkD4f2jxHCHYlzGKA8G7vb4M=; b=m5IcKcfpJWJmSStdifOBMXm0MycTeyfDFryCE1CS+2lMUaLxhgyjPTdNSUisSEtjDM rPdyp4UQFciEITJekxr3bvLkaHu+LoXlYQqZDuzeJn3lueMoTu/P1HZke4m0pgJ0kHIK NL7MmtzTHdoqDnCFyQHf7Q3dCvofRrzox7z9TTs6KI14CKTqVqIdrWkoiAHDk3ZhdNAn FmRS10C9iEEaf8i5yjXcbT1I/R6+ykZq2Bgja+OUlG1R+JGl+TFMQWLw7CCu+pWw5IZ5 ajGi81HoBwX9qZbr6DrSONOSyG3nHnfONFVEooMeb5KDGAVqKSv9bk0W1uu5PV6ISKP8 PmFw== X-Gm-Message-State: AOJu0YyCki6Q3wC2fKJKYCXn8dV26mlbWdxiBXhpcjgdAsHAjV+j4sVV mjqjQ2jnZXkf163ZDZ914jddc9XhKq2DFyhYYkn1LWW1FIG5kFjAXxzQILFvt4idFJ2WrbpOOlz lMZPVHhg= X-Gm-Gg: ASbGncuxlSuyAx9/yExI9Fj0cSu1JHICujfNKE7tfoKzJVwB8q8hiRKOscNtJ81DC1K li2G0hFSpAZBtuQU2cksqvdWZbkmWyzn9xGLkACZfhnXOnxrsWspNl5h/PGQF+a+PiDjIJ4xtlY Pe+WvXwiK1Ix5aff4xRmv0UbvohAN7Bk8/gPEIEh/WwrIQYkHCNG06XCTAT7L1X3tSlqyQ3phy2 cSPGB8Nfjj65aUp9gNM+wogeq1Tl+v8HFQwFkPAbMnod42fbqHEUhglmjh1U0oLlMkjZ0wxWobE cuI3ySmh8QFrt1LCW7wG3G7xPZd9TktBE9DXjPCyMKvzbsy3xdLpNviFETMZ32lY2/HSVLyrtSh EhlPSLYiTLInGMbFfBlxpDQ== X-Google-Smtp-Source: AGHT+IFTTmpYPe4IjWoZiJ9ZpcABpmp4ffx2q20Rr1xysL8BJLKOX6y9UzICtQUNCx6z/t7QN6DGdg== X-Received: by 2002:a05:6000:410a:b0:3a5:2875:f985 with SMTP id ffacd0b85a97d-3b32ebd79d1mr2147393f8f.59.1751540375102; Thu, 03 Jul 2025 03:59:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Reinoud Zandijk Subject: [PATCH v5 44/69] accel/nvmm: Expose nvmm_enabled() to common code Date: Thu, 3 Jul 2025 12:55:10 +0200 Message-ID: <20250703105540.67664-45-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541161663116600 Currently nvmm_enabled() is restricted to target-specific code. By defining CONFIG_NVMM_IS_POSSIBLE we allow its use anywhere. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/nvmm.h | 23 ++++++++++++----------- accel/stubs/nvmm-stub.c | 12 ++++++++++++ target/i386/nvmm/nvmm-all.c | 6 ------ accel/stubs/meson.build | 1 + 4 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 accel/stubs/nvmm-stub.c diff --git a/include/system/nvmm.h b/include/system/nvmm.h index 6971ddb3a5a..7390def9adb 100644 --- a/include/system/nvmm.h +++ b/include/system/nvmm.h @@ -13,17 +13,18 @@ #define QEMU_NVMM_H =20 #ifdef COMPILING_PER_TARGET - -#ifdef CONFIG_NVMM - -int nvmm_enabled(void); - -#else /* CONFIG_NVMM */ - -#define nvmm_enabled() (0) - -#endif /* CONFIG_NVMM */ - +# ifdef CONFIG_NVMM +# define CONFIG_NVMM_IS_POSSIBLE +# endif /* !CONFIG_NVMM */ +#else +# define CONFIG_NVMM_IS_POSSIBLE #endif /* COMPILING_PER_TARGET */ =20 +#ifdef CONFIG_NVMM_IS_POSSIBLE +extern bool nvmm_allowed; +#define nvmm_enabled() (nvmm_allowed) +#else /* !CONFIG_NVMM_IS_POSSIBLE */ +#define nvmm_enabled() 0 +#endif /* !CONFIG_NVMM_IS_POSSIBLE */ + #endif /* QEMU_NVMM_H */ diff --git a/accel/stubs/nvmm-stub.c b/accel/stubs/nvmm-stub.c new file mode 100644 index 00000000000..cc58114ceb3 --- /dev/null +++ b/accel/stubs/nvmm-stub.c @@ -0,0 +1,12 @@ +/* + * NVMM stubs for QEMU + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "system/hvf.h" + +bool nvmm_allowed; diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c index f521c36dc53..a392d3fc232 100644 --- a/target/i386/nvmm/nvmm-all.c +++ b/target/i386/nvmm/nvmm-all.c @@ -1192,12 +1192,6 @@ nvmm_accel_init(AccelState *as, MachineState *ms) return 0; } =20 -int -nvmm_enabled(void) -{ - return nvmm_allowed; -} - static void nvmm_accel_class_init(ObjectClass *oc, const void *data) { diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build index 8ca1a4529e2..4c34287215f 100644 --- a/accel/stubs/meson.build +++ b/accel/stubs/meson.build @@ -3,5 +3,6 @@ system_stubs_ss.add(when: 'CONFIG_XEN', if_false: files('xe= n-stub.c')) system_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c')) system_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c')) system_stubs_ss.add(when: 'CONFIG_HVF', if_false: files('hvf-stub.c')) +system_stubs_ss.add(when: 'CONFIG_NVMM', if_false: files('nvmm-stub.c')) =20 specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss) --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541622; cv=none; d=zohomail.com; s=zohoarc; b=ZxBnh6MIwcde4nB+CduP7cYlPIhTq67b/BsbFTyckreM4k2iiXVTVl8Hs/XWeo8UrhJ7NRejRagHgo+k3My7sD2VXa8Txd6QhrDcBGheAJJ20Eas4/MeG+8hLVnEigsbTegdCr8Q660LXqFKonO0DcWNxndj5e9rP8G8fzmQH38= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541622; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0UiewseZoW7++jqLIzKMJ/OYq1tgfsCyntten+qzSRY=; b=gqXj2LE53K1w/NwaW07FQDsjizfsQlXc9Bc/e7cbAKGxht3RwxNiPGIyGZj+elcjX1lL9su2OOuMaxCUI9b63127gJpWMPBJDGc0rfEd4P25weM1NwdVDOLP5GZ1cqd95qTvsPgRifKBDl2sQbHLFF/36+uzz3JT/knTIaYGyzQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541622116512.1273999248286; Thu, 3 Jul 2025 04:20:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiR-0003SB-Nr; Thu, 03 Jul 2025 07:02: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 1uXHff-0006lk-Tt for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:04 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHfL-0003Vw-By for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:46 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a54700a46eso4371438f8f.1 for ; Thu, 03 Jul 2025 03:59:42 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bde35dsm23115255e9.30.2025.07.03.03.59.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540380; x=1752145180; 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=0UiewseZoW7++jqLIzKMJ/OYq1tgfsCyntten+qzSRY=; b=zzM7SngbgxQyfKTTAA8B/8wCriS9CF+aXn3rjX4u85meJirTjTyxaGsA2uWCFoflSO KEnImqc0agwaa0TWB+YE8ELCMOKxZFdQHcSmn8GpGQc2yGPJqS3TSydUfu/4ErtiCRB+ K0TPFq1R0ET2GXGjdBo01sR7ztbY/zz3OSwzhfb+YFnPLWPlreyTPyMsdsEg0L4lRplI Wdk1amYHzSLTTWDrM/lGDkzjKTMlQbdJhr7xM2ydShZW1olQ5D9P/BOfibuMfYzfWNl8 nan8HA7zTzVMdn73vaLkWsvLGbC7fpwI38zwhpwIOemn3P9Paeu1L7QoD4yHp9nUgv+P +Ktw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540380; x=1752145180; 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=0UiewseZoW7++jqLIzKMJ/OYq1tgfsCyntten+qzSRY=; b=C/vBEnWEIYHXTLFsiavcMW1GMcszrgSRiI6I53jSZUhXk94Tv/zbT/humM26bEZW0f YeD/ixvQrlzDjc7KTYTQSe/x9P7Asb+dEm06BC/Jar8mT77hdSrWr3qu2YJ8yvA1hzWO kCxLcMCoZfAHvxS4DQJd93EYR8KvHpc3MyeTaTAkCYD6AVi0MeAsFsO2ju+wE57crSdT vvF756zlngRLBzAo5+V18SX+cfROcrNphb7VJPSwiKTXxwT99WOslofV/BdV3EpuC5ZJ xp0HDdtf1ePG5OQKVtgqWxGY+7kbpWIctGFoJ3K1xykhb4DaGmYEA4D6ZF/Q3X48HDF/ Udhw== X-Gm-Message-State: AOJu0YyogninMFZIJ7ygyVAfoYS5/9BcQro9ZAfxKwCZ6LNJcN/Mo6IN TsBejsE/6qiZlQ6wo7J0s43L2pdNKKmPyhMfgAmldaxZtAWGBRd9f8WG1oOrHEam8XQLSsicZGo l3TzYW1c= X-Gm-Gg: ASbGncvw+bheyPvZk41of5jubcZ+eOR8D4fNmlTUUkAGNB5B79CeC755FGKrghFci7Q IDrc0C/vtIuyGiKf4lsd0pWkqrGasngdXdWUa375ViIcpH4+DFBGRFjLVeHDzKJ+7BnYUYTL/jj fbxV84chEyomD0dd6SPzN4bGGt6jGQ1MkR6O+i63Y1APXgEbKC2foZFzJTWD95rkHs8Y07QpKz9 8bDX9lOE33DQFHgHWY8W1VckoL/iZB6/jKoo4CQcyoHfGALsjsXCZbZNqBTyH/WWSqpvAoE/Cuo UwgmNi2DI4iISckLt3yk8Iw0tlxr5iTkAtFPouIhLzCyJoTGnOj5lWCt+QW1MxB0e8FEQieev16 rZXOKZedqDq8= X-Google-Smtp-Source: AGHT+IEglrs09yE017jiPqaImjRQF60pKbLzM7xZkDB3/SBr13de9FGL9F2tO1sQQvTsqyjGi5baPQ== X-Received: by 2002:a05:6000:21ca:b0:3a4:fc52:f5d4 with SMTP id ffacd0b85a97d-3b2005840cdmr3299331f8f.47.1751540380213; Thu, 03 Jul 2025 03:59:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v5 45/69] accel/whpx: Expose whpx_enabled() to common code Date: Thu, 3 Jul 2025 12:55:11 +0200 Message-ID: <20250703105540.67664-46-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541622922116600 Currently whpx_enabled() is restricted to target-specific code. By defining CONFIG_WHPX_IS_POSSIBLE we allow its use anywhere. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/whpx.h | 27 ++++++++++++++------------- accel/stubs/whpx-stub.c | 12 ++++++++++++ target/i386/whpx/whpx-all.c | 5 ----- accel/stubs/meson.build | 1 + 4 files changed, 27 insertions(+), 18 deletions(-) create mode 100644 accel/stubs/whpx-stub.c diff --git a/include/system/whpx.h b/include/system/whpx.h index 00ff409b682..00f6a3e5236 100644 --- a/include/system/whpx.h +++ b/include/system/whpx.h @@ -16,19 +16,20 @@ #define QEMU_WHPX_H =20 #ifdef COMPILING_PER_TARGET - -#ifdef CONFIG_WHPX - -int whpx_enabled(void); -bool whpx_apic_in_platform(void); - -#else /* CONFIG_WHPX */ - -#define whpx_enabled() (0) -#define whpx_apic_in_platform() (0) - -#endif /* CONFIG_WHPX */ - +# ifdef CONFIG_WHPX +# define CONFIG_WHPX_IS_POSSIBLE +# endif /* !CONFIG_WHPX */ +#else +# define CONFIG_WHPX_IS_POSSIBLE #endif /* COMPILING_PER_TARGET */ =20 +#ifdef CONFIG_WHPX_IS_POSSIBLE +extern bool whpx_allowed; +#define whpx_enabled() (whpx_allowed) +bool whpx_apic_in_platform(void); +#else /* !CONFIG_WHPX_IS_POSSIBLE */ +#define whpx_enabled() 0 +#define whpx_apic_in_platform() (0) +#endif /* !CONFIG_WHPX_IS_POSSIBLE */ + #endif /* QEMU_WHPX_H */ diff --git a/accel/stubs/whpx-stub.c b/accel/stubs/whpx-stub.c new file mode 100644 index 00000000000..c564c89fd0b --- /dev/null +++ b/accel/stubs/whpx-stub.c @@ -0,0 +1,12 @@ +/* + * WHPX stubs for QEMU + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "system/whpx.h" + +bool whpx_allowed; diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 525d6a9567b..1732d108105 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2688,11 +2688,6 @@ error: return ret; } =20 -int whpx_enabled(void) -{ - return whpx_allowed; -} - bool whpx_apic_in_platform(void) { return whpx_global.apic_in_platform; } diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build index 4c34287215f..9dfc4f9ddaf 100644 --- a/accel/stubs/meson.build +++ b/accel/stubs/meson.build @@ -4,5 +4,6 @@ system_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kv= m-stub.c')) system_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c')) system_stubs_ss.add(when: 'CONFIG_HVF', if_false: files('hvf-stub.c')) system_stubs_ss.add(when: 'CONFIG_NVMM', if_false: files('nvmm-stub.c')) +system_stubs_ss.add(when: 'CONFIG_WHPX', if_false: files('whpx-stub.c')) =20 specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss) --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541009; cv=none; d=zohomail.com; s=zohoarc; b=e24Po9hmWV1vgno2DYzuku3DQTE/59VaqBBwQCYMwPaQgd4UxOcAz/GN1Bo06mTvtnFwL0BLBEYDuap+Hma+hWKOWD7LqkvmXahet1t/Om+0E9fTdWlYTl21VamO7HP4vdwZI3zCXHttFf9xWhcD0t1OmcaGfaSjVlJv1Wszl6s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541009; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yvjGPIKQGEYeURH3HTUPhcPT6ROyPPS2REI2o53ZBAU=; b=ZGmTVWUm6KifZ16S/yEUR8HnpE/7tWTuY1pVuHayRrtBq4+2JCTQlHKNRaoycBaXPQLvgSyF0NdZntkZD4K4dXriW5ZSVu1R+pDDaHXu0rR0SnMSGjYZDNNiMknmy75b0tTymwhnNyJQQ8C6YjrWouaRAfwlBz+yqSCU0R6phjk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541009277709.9808698856433; Thu, 3 Jul 2025 04:10:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiY-0004F4-I1; Thu, 03 Jul 2025 07:03:03 -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 1uXHfg-0006mE-Sw for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:05 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHfP-0003WH-IT for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:48 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a54690d369so5259653f8f.3 for ; Thu, 03 Jul 2025 03:59:47 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e72b6sm18614690f8f.15.2025.07.03.03.59.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540385; x=1752145185; 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=yvjGPIKQGEYeURH3HTUPhcPT6ROyPPS2REI2o53ZBAU=; b=WPzVFm1m6yvORFtx0yuO+rw87zuhrHJXvdITstmzoC7u4e3UCKnarF8I6Lzwbsq2k5 DJUntm9ZnRosrJ0GK0v7MR6eu/JVxL4PPSeEGmCW+AiZ8fVdS9jKZtWHC7vJTGCKj7K3 /2CGcEc5kjuJ1uxgrNTJr3t27i7FFMVR5C0yunPgHkg6SZ2N1BSGH4o8mYfx5ESBX5A5 5TM9JRZkUCYwXKHDbYmDCUTavI7+c3h9AGhqtKk5nwvOKav37Ut2SdIv/FnOQ+r7bUiJ eQdzmyJFtMhNkiD/dxh0MV4ibDUv5tl3RubVqpVSGSNun4RiWcZrO8HVAatZBgpy9tKC hIwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540385; x=1752145185; 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=yvjGPIKQGEYeURH3HTUPhcPT6ROyPPS2REI2o53ZBAU=; b=JWDmAIBnVyI3GlKg6ToXmyhIsTGDbR/NQxsBiOE06tM6l/Mv3hrEVneC5gEBINLNf3 HJ9+qfNh9LbOlZuAuZN4BkzdPF1M+IXC7/OKP7AeVf2mNe9GMVLMRDptKan0WpzRIgwB TC+kQeTFkl8cOa6nlqVOz3d/0i0Y4OIh4Kk8UF0v93xQEVwE5+ga3NP6D/7exL2WBGMZ klh9zMQ0W7ixVNqHUBfbAigKrAMFLaF15sL/mtPv3pR6Um+YPnE5JWmafG+Cn7uok7Fu W4fvCfDy6NzWwfrE53Q/Bte/ahVv4A95T6FaBdLCcw+MXii8eniOtwo5RpRgNSe3v1eJ iPrg== X-Gm-Message-State: AOJu0YxW+J5ifCSHT836vhvy6Sxh7gR9H6gz3fg74ZJL10blaY2tEfkJ G+CmVFfLfgo6OxsPF+AT9KlC0xFGSj5w8VjWHag9tXmSb7EdkP6ZM8ipz/0H4DYxUX7HgUfo/ik 6mE7mkoM= X-Gm-Gg: ASbGncu8G6AABgRoKXtVFNujP/5Wv8H6ItYrqjllAPedPBv3NWHnvHiIA6Z7T1CF8zc 0xmHQ2vjtyyqvzi6FRkaBa4OY/+zUFOf+DjLVYlgd4csTdUpbUlr79NOYbf/R2vZuUUfjUODI71 7Va+nxBhWIqH6uKfSz9DVEPw10vk/EWW9FPzju0U9YlhiwDrwYjtV/8PIcUNSh405UCND77lUQY ZR2uu+N/PohGKqPJ6fr+lDBNDB1oL70nBgVLjle9Ev1g9IWx48GAmaHQZ+LCueHNLMk2yXg4Krg rwJ0ayyl1iSkv265PjP0GORwVr2Q8H4Z41vQv3FTA9bZMmZubWvILGoR7Y0N//NubbZWQlKs8OJ 6q1I9azcNAZxConFoPLLwVw== X-Google-Smtp-Source: AGHT+IFFe1vpP0h0GeInGGctD4CBQmH2oRt74qF+x5fBthfRdo/V9+4qQpVqJEAS4Y6Z8oDf+L/60g== X-Received: by 2002:a05:6000:4028:b0:3a5:287b:da02 with SMTP id ffacd0b85a97d-3b200b4657bmr5027241f8f.40.1751540385416; Thu, 03 Jul 2025 03:59:45 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 46/69] accel/system: Introduce hwaccel_enabled() helper Date: Thu, 3 Jul 2025 12:55:12 +0200 Message-ID: <20250703105540.67664-47-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541009812116600 hwaccel_enabled() return whether any hardware accelerator is available. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Richard Henderson --- include/system/hw_accel.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/system/hw_accel.h b/include/system/hw_accel.h index fa9228d5d2d..49556b026e0 100644 --- a/include/system/hw_accel.h +++ b/include/system/hw_accel.h @@ -39,4 +39,17 @@ void cpu_synchronize_pre_loadvm(CPUState *cpu); void cpu_synchronize_post_reset(CPUState *cpu); void cpu_synchronize_post_init(CPUState *cpu); =20 +/** + * hwaccel_enabled: + * + * Returns: %true if a hardware accelerator is enabled, %false otherwise. + */ +static inline bool hwaccel_enabled(void) +{ + return hvf_enabled() + || kvm_enabled() + || nvmm_enabled() + || whpx_enabled(); +} + #endif /* QEMU_HW_ACCEL_H */ --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540607; cv=none; d=zohomail.com; s=zohoarc; b=U7nuymm8x53gExjzjyvHVhC3lb8/bO174JmbFzCZGKfqjMmpDu99BoDFlgxp3FuFTg9Bu7AsBdHCzUxNSrOb7dKw49+z75DTk4YPSdEhlomk2eF9h+gNWW2Ju1siBt5YSgd53sL0zUZlJZ5JTA9nr/AcE29Y6MYzbBgK8QGcF0c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540607; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=m+WutgSqJXFykFHZTQaYKZd8VkTwajJGbTU9Mch4jWg=; b=LcZhAozaCzTo0CK/BGBYfCED2LfFLQYkS4JuzwFmShO7BRoExtXFfWzLQgeCdo0jkhEwdLHahDQGGjq8pmIubGlF8pUiN+sg6J0qt7G/zcpDusIaA9CYbr86L5u/+bmaKd85KMySXOq4SNMWj/eAPaS04rqpYQupR6O29yvMwWI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540607083646.4780696290006; Thu, 3 Jul 2025 04:03:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHie-0004mI-Te; Thu, 03 Jul 2025 07:03:09 -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 1uXHfh-0006ml-KY for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:06 -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 1uXHfU-0003XO-QL for qemu-devel@nongnu.org; Thu, 03 Jul 2025 06:59:54 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-450ce3a2dd5so43401915e9.3 for ; Thu, 03 Jul 2025 03:59:52 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9989423sm23583475e9.19.2025.07.03.03.59.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540391; x=1752145191; 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=m+WutgSqJXFykFHZTQaYKZd8VkTwajJGbTU9Mch4jWg=; b=MzYsJFueLFbgQ0EdUphQWw5SQdWOShBlR5MMxtviPGuqKtwnOpbdTcSHyUKXbnA1b5 +33+6fIl10pZq+9W86y3IyDSLFcuHTl5QnJDANyaVpp/r7xut0eK2JEht9XjuC2QHX0L o6nWoFha99ROGGgt3bGNiVuj/rTZRAXvhczx7kzQmW02z+yPzBVeG1Ras0TrbXtDi60q gJPzKvsEJs14wBA5MVOEXccJRamdKvVOWEBaak7vu1X2EJ9n88xPpE/FnIBmdt9W6JSa QHHMx/HhvSoLrlCmyy8/uG3cxHbbTlwTJC1sa5APXeE3NwS1dn6Y6CNYgTyFwKS6e7Tp uN8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540391; x=1752145191; 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=m+WutgSqJXFykFHZTQaYKZd8VkTwajJGbTU9Mch4jWg=; b=E9I3+V/gU20QsyqLqk3j/G9AHFFXoNxXAzT6NxEctB2ebmYgjqAcWnUsmFxuuMy+p/ d8IT38H9Uf6KMTatkZcTUZeDYcvsXJQXMPXq5jWPmWc5Fyd0MDNGd3pg7nxrwjCbmxE8 bXQrnb+r4bVG+cmWq0uH07zdODUuzzHY1AEtutpdrrXgASJEclrmNEnr0ErSAijOe0jD uC3BdNIc0hhOOboIc0FPQ5/sDviMSI6UVIaQMwI8/6FfkueLBftKjOd6PULjycp+6iqG s5/BYj3i7KWdfwnCvAc2fP+q58ztvCIY1tQzonUcQlFaI2tEyS+xCjfJB8W4d2JPnlNe /wkQ== X-Gm-Message-State: AOJu0YzZuW8SQqGDpbS2Ekk0GjqMxqbYv5ILqLWU/ccJGRR/VdBsk1lF 0g4EQL6UW38agRvYpfxENWqgmvsdDVJtSZ72GkOPDhYJBlShHynQR9Z+/DJ6Rnjxv/HvYCvlCSf eBjv1BHE= X-Gm-Gg: ASbGncvkZ34C7JFH3nb5F1YQsntawRttkWrpXkpQSDv3mCevHIfwPPiAVC+2sJ2CH8g +1XsKyqgOSs4lPXnZDhhYz/UeakOzMxS748f3x3ZqoS8vEggqlEG3Ov0xMq37iXNdsB/e1/Muei stbgNTPAOUSkrkbOCN2Lhcg+zcncqK1mvmiNa505Mv6URWYkoFdOO3Hvd1zQxgbd2NV2RMChfaT dy8uMpHxiASFNoYaC7G8GIn/bURyQ8mePCyR754+TmQWWoDxN9sD7OiAlhloW9p2bGXN7Gl4PyK AMnza1sb/ZOEvkNVyL/zj6oldGNgFqUk238xDx0sSsUC4DxEnmhucgB0rnbnvUuLKwSZo5qS2CL yrtzm+DePBmk= X-Google-Smtp-Source: AGHT+IFkJTWECY2pugXbhxGY6HjeCgJxFNGAomzZaEG1B6sFjMYNKg+pM1wp3bta32pi3CVqInJhiA== X-Received: by 2002:a05:600c:6792:b0:450:c20d:64c3 with SMTP id 5b1f17b1804b1-454a370308cmr75309655e9.18.1751540390713; Thu, 03 Jul 2025 03:59:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH v5 47/69] target/arm: Use generic hwaccel_enabled() to check 'host' cpu type Date: Thu, 3 Jul 2025 12:55:13 +0200 Message-ID: <20250703105540.67664-48-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540609034116600 We should be able to use the 'host' CPU with any hardware accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/arm-qmp-cmds.c | 5 +++-- target/arm/cpu.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/target/arm/arm-qmp-cmds.c b/target/arm/arm-qmp-cmds.c index cefd2352638..ee5eb1bac9f 100644 --- a/target/arm/arm-qmp-cmds.c +++ b/target/arm/arm-qmp-cmds.c @@ -30,6 +30,7 @@ #include "qapi/qapi-commands-misc-arm.h" #include "qobject/qdict.h" #include "qom/qom-qobject.h" +#include "system/hw_accel.h" #include "cpu.h" =20 static GICCapability *gic_cap_new(int version) @@ -116,8 +117,8 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(Cp= uModelExpansionType type, return NULL; } =20 - if (!kvm_enabled() && !strcmp(model->name, "host")) { - error_setg(errp, "The CPU type '%s' requires KVM", model->name); + if (!hwaccel_enabled() && !strcmp(model->name, "host")) { + error_setg(errp, "The CPU type 'host' requires hardware accelerato= r"); return NULL; } =20 diff --git a/target/arm/cpu.c b/target/arm/cpu.c index ebac86f70d3..e37376dbd2d 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1978,8 +1978,9 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) * this is the first point where we can report it. */ if (cpu->host_cpu_probe_failed) { - if (!kvm_enabled() && !hvf_enabled()) { - error_setg(errp, "The 'host' CPU type can only be used with KV= M or HVF"); + if (!hwaccel_enabled()) { + error_setg(errp, "The 'host' CPU type can only be used with " + "hardware accelator such KVM/HVF"); } else { error_setg(errp, "Failed to retrieve host CPU features"); } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540417; cv=none; d=zohomail.com; s=zohoarc; b=DOXbiWf7ZOpiEHqyLOzyEHDpDEtYc7mSW0V5F7QdrrlyPpo/ykyWHX/lrZbxY7Im7OHWDIOk8JGKq21KCEvLEuNheBer6xgw23vKbhPdCWOke71kX0m5IgwuLh2KePUHVkmE3P3oAppQScxqxAtwA2coMPX3pi1ZGlv6miMWNuw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540417; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1uXIn8FF+VzmPqfa1+8428fM/RDSExpMjk/8h5CzpzY=; b=aG8gnX/Ayz4QsmktI+ZmO1EWpdnlet/J/nq3WE58qTAIk8QV/rgfsoQ5hJrhtw3ZDPU20aftrNTyo3RbaUaABySg7/HBleC4dm913o67EHQ08HzzsA9guJ8sgvMbwKOLVSgPS0wT21PuqEcgBJfEH4egGqDTteewykGibiu8W54= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751540417003998.1028352643694; Thu, 3 Jul 2025 04:00:17 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031991.1405747 (Exim 4.92) (envelope-from ) id 1uXHfc-0003uq-3J; Thu, 03 Jul 2025 11:00:00 +0000 Received: by outflank-mailman (output) from mailman id 1031991.1405747; Thu, 03 Jul 2025 11:00:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHfc-0003uj-0M; Thu, 03 Jul 2025 11:00:00 +0000 Received: by outflank-mailman (input) for mailman id 1031991; Thu, 03 Jul 2025 10:59:59 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHfa-0003ud-VW for xen-devel@lists.xenproject.org; Thu, 03 Jul 2025 10:59:58 +0000 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [2a00:1450:4864:20::432]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id daf9f58c-57fc-11f0-b894-0df219b8e170; Thu, 03 Jul 2025 12:59:56 +0200 (CEST) Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a522224582so4093008f8f.3 for ; Thu, 03 Jul 2025 03:59:56 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7fadf3sm18662688f8f.34.2025.07.03.03.59.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 03:59:55 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: daf9f58c-57fc-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540396; x=1752145196; darn=lists.xenproject.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=1uXIn8FF+VzmPqfa1+8428fM/RDSExpMjk/8h5CzpzY=; b=zriLINqYOnqt7FyQuBfEZLt8TXG9XXSpAS/vtioCF1sYF0H/vIZ+NTDhJhM1tp0Ezg I8GS3sC/kDc12ki9HVW/z/b5Ss3JexdfcLhZq7PLaAxQtFd70FMyLH//PCabQ9Os21dg 630zCIUfel5XkKj5ZJgUidwQaZ2l9uQAHMWELcmrawWg3vRCXK3gdJTxMOHrGkw1qirt R2yGbTbBROjmlSCsk9+zo0zj1o5dynVMzyaEbZrTD5HgDaSgM+n3jX68bAdPyiIdrAg8 OD5917eX4GX6mpkXajZXCaidjPKaF9grXo/t9u0kVQQKrE5xPDP2b2mdQ+35P4JQ/XkI w33g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540396; x=1752145196; 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=1uXIn8FF+VzmPqfa1+8428fM/RDSExpMjk/8h5CzpzY=; b=q28wg7ih8vYZJ8KiVzGifXgrsr6PcWl/6WJb2r0m7wcQ6c+TdaW70JkL+FBUjB12Jp lDc64iv8DqKC2XIyJlLXd4x/xlawEPrPN4+5IBReDN/U0xEiMSPnx8pM6iNEd+bPzdxG AzJrP++HEbeQXErXK2kOjXLcP5hCW/6p/m5mGwiBoXtNW4E1jt0XDU3bWRNsaAEnHXJD PZ9cjXi4Q9XMUv5Kdv1FhO4QkbiqUjfdoQx+dQWUvNZolbHHt8kt3B+wjuGyc+bl2FaJ 9L/Fg5L8SoD0MyZD7sOl/07uecNpRt3fMfN567Nyk89yzW5YeyLbuvZczseajknDRu1e xJSw== X-Forwarded-Encrypted: i=1; AJvYcCXpBL2CIy2IMoVuAF33SjHrJ2elGnaiERyPz3KTfugY+S5PoNyWtDn6xMpSQfoHLY6noFaP8yCZL6c=@lists.xenproject.org X-Gm-Message-State: AOJu0YydHEXZ0k1188S6bThdpj2MqBEuVYBraCe81zG+91NhWeLO0TiX F1I3yuKLIjTmYov0Z5dNFwHuxmJcjW7Pd9Ur8mBsmP19qRaqV+ELRPl8/3DOwgYpjts= X-Gm-Gg: ASbGncvDbe9Pm6sx6S0upY6nsP4qAjH4G7PGkfZYRJI4XWob4mvnObj31Sj5a0SqxFG lZ8XxUnIbf1iCk0oFel47x9mswrZ0ZC+NXeIc1SGWlGh8dEB8KrA3MKlkGCPp+YMv9wLY6axl/i 9tY4MvN1RywI6q1VgEAO2f6thvg4w9fCnG6HXwXFjkuN/ALZ0JD+FaSMJe0Vt1E+SKltpB/603N chgTr4izhd8KGH5ZwZhw9W34bMP7G90eXILnMgvKAuN54r60OOnsrZf5J7ecTV5Hh7B1GBJ5SQf 6K46x80GOyacwD5lnXqRZQKd7cXbfx+RUCZ3nRd4QDHDAwnKfkhaasuNlSua+nmHnynhOkmEZ3g N+NgafzdBD/A= X-Google-Smtp-Source: AGHT+IGkl7DBEVSrsarAakeoJRDOUyErzjUrrwRi8jgXThFkNvPPbLQTGnxMgTtTTTxzMt5tQq0f5g== X-Received: by 2002:a5d:6f02:0:b0:3a5:2575:6b45 with SMTP id ffacd0b85a97d-3b32f666124mr2129038f8f.48.1751540396119; Thu, 03 Jul 2025 03:59:56 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org Subject: [PATCH v5 48/69] accel/dummy: Extract 'dummy-cpus.h' header from 'system/cpus.h' Date: Thu, 3 Jul 2025 12:55:14 +0200 Message-ID: <20250703105540.67664-49-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540417905116600 'dummy' helpers are specific to accelerator implementations, no need to expose them via "system/cpus.h". Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/dummy-cpus.h | 14 ++++++++++++++ include/system/cpus.h | 5 ----- accel/dummy-cpus.c | 1 + accel/qtest/qtest.c | 1 + accel/xen/xen-all.c | 1 + 5 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 accel/dummy-cpus.h diff --git a/accel/dummy-cpus.h b/accel/dummy-cpus.h new file mode 100644 index 00000000000..d18dd0fdc51 --- /dev/null +++ b/accel/dummy-cpus.h @@ -0,0 +1,14 @@ +/* + * Dummy cpu thread code + * + * Copyright IBM, Corp. 2011 + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef ACCEL_DUMMY_CPUS_H +#define ACCEL_DUMMY_CPUS_H + +void dummy_start_vcpu_thread(CPUState *cpu); + +#endif diff --git a/include/system/cpus.h b/include/system/cpus.h index 3226c765d01..69be6a77a75 100644 --- a/include/system/cpus.h +++ b/include/system/cpus.h @@ -7,11 +7,6 @@ void cpus_register_accel(const AccelOpsClass *i); /* return registers ops */ const AccelOpsClass *cpus_get_accel(void); =20 -/* accel/dummy-cpus.c */ - -/* Create a dummy vcpu for AccelOpsClass->create_vcpu_thread */ -void dummy_start_vcpu_thread(CPUState *); - /* interface available for cpus accelerator threads */ =20 /* For temporary buffers for forming a name */ diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 867276144fa..03cfc0fa01e 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -17,6 +17,7 @@ #include "qemu/guest-random.h" #include "qemu/main-loop.h" #include "hw/core/cpu.h" +#include "accel/dummy-cpus.h" =20 static void *dummy_cpu_thread_fn(void *arg) { diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 8b109d4c03b..2606fe97b49 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -24,6 +24,7 @@ #include "qemu/guest-random.h" #include "qemu/main-loop.h" #include "hw/core/cpu.h" +#include "accel/dummy-cpus.h" =20 static int64_t qtest_clock_counter; =20 diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index ba752bbe5de..f412ea346bb 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -18,6 +18,7 @@ #include "hw/xen/xen_igd.h" #include "chardev/char.h" #include "qemu/accel.h" +#include "accel/dummy-cpus.h" #include "system/accel-ops.h" #include "system/cpus.h" #include "system/xen.h" --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541453; cv=none; d=zohomail.com; s=zohoarc; b=Zbv9HT8TO9HB0ORnrA/TdS7lsKpUe1FQ3XEyV/G5kLv9m4XShORA7BPKJUjW3cesgW+GcYC8ZBwKEjhw5u8JuwaZMuWT8Hsap3g0XMokGLGNnJmI9iFZTpcXdml0wZDFGtCua1jDL1tjZCiCnnTMtjsXqOmkunxmIIksG5t98JM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541453; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MatxngaEO94wJIDihnh1PuQvEdZF8b672v9QuG9ABiI=; b=g2SEEMqDf+7K4pybCQeIkRg1pSxQOYE6TUqaNT3dTgedsUY1Qg5vWVXmGsAFGEln549qLCXJOdgeI33JP0k0+0U9eI609NAsKHfJkDcfbkt1r68+kXSX0OZcprMhKhobIWt2GvwQkoMwxYyUmztVlCKL3zFt7nw08W5IewPvD2Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541453970660.8475928887437; Thu, 3 Jul 2025 04:17:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHij-00053X-W4; Thu, 03 Jul 2025 07:03:14 -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 1uXHfn-0006qY-8q for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:21 -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 1uXHff-0003aC-89 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:06 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a50956e5d3so6516497f8f.1 for ; Thu, 03 Jul 2025 04:00:02 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e61f48sm18613334f8f.93.2025.07.03.04.00.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540401; x=1752145201; 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=MatxngaEO94wJIDihnh1PuQvEdZF8b672v9QuG9ABiI=; b=SIyXHrLuz7MeeClBR1nwAcqQiuU0k70kJDxv1nn2Rp9ncY3OSOKEazHTHEzfiG1B8b vwW3dGNFnySmjJ2LefskfkAdHqtInBgLbjzWJLpCT6CRw+LELyomwAtli8re09yRw44l xmMroA+CNuB0+VrFhHWfwv7vM7zd87tiqJwAqzEx+C92aXh88vQp8Qh0yP4Ym/29r4vV eJ5MTGnKBQQG5F2x14gNs1GyNLmU6gi4ekPt5YkV2GyCBVH2jSfF+jOLduD5wNy7iVCx YzgRUk2S5UjQ2ePerH2OhEp8t7IKXVkEanJTxy8RInO22xq4u1ajKUzTXKggl4gxd1jQ dwtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540401; x=1752145201; 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=MatxngaEO94wJIDihnh1PuQvEdZF8b672v9QuG9ABiI=; b=UHpdrrjuaOQkH9NJSz58XoPsSu7Eq8is2uf3ymBEVgFo967tqKqiQpRBvxBH6QoFgj 7ZxVl2wpf4CzVab5SJd/qDLNe7XjSnP3WywHRmqtxFxSNosWbYbYxYmlF08sAVbMh9Zs rf6kVsl/74AvvPRHdbMX9j49BFgzjpg35nUt2v/K48r/583IBoccepwvU7sQ5yywyO72 T5rRB1ESISEIRVRhOrT8S5EzTAYuNLBWiZF5KfuNuoB5b/wpJsVOBbpBVkGHM/7oIx2W E2uN8sNSO+GSkoDdUPTuWFmVpa3SPPx2oWYVa8EwKvQANb3SZ1AyRsIypqjAnUW98X4o yR5w== X-Gm-Message-State: AOJu0YyoZK+Mlnf2l8vfFAHpkjrhklbNtuuNJCn0sAuOEK8BuDF8izHU N0K+fXl8qTZtpAzHJhNj81xeiIn4pjIhB6Tb9N2/fDAooSJwsuFFNKN4uepKnIC+bNu3jBhf3QO iSCqYyb8= X-Gm-Gg: ASbGncs88TgswV/8P8MGd21/TZXshr6XRRdv/UGgZbM/iKNIP2cd8K4y6lK+DoJuEKb 5TITMgjJhPMWElhzlkkYJPc/7/m4cy1ZFwOUyRMA+lxNHnMb+pnMZ8nla5SbXM29e4AxX1qGiBe UFJ2YF/BKXhsOcebm5nvCuwmFcHdKe105S/VSIEJNQA5V0fxKjd/1wemQwZ68zXLat8oRqumx5h y5nSi4KS5IyZ+v8wyfx4cPZddsJS4B4N0U8WnoM7F6LthZMMX2lY6y3oGj63JIH02Q8Su8bDAQx /JVD2YFGwLZTcBDTOT1Npgy0gGTTtghLszeBIAJRIqllUOclzJSF3csszX2A6c0j5UNtW0RO7lr rQj2stTrCPxI= X-Google-Smtp-Source: AGHT+IEb87tlXA/8eGOwxvjDb6DUjurmHoTXreDjZy8v6I2Ff8ndoUXgQehkRndFFAluWuvIfQDt3A== X-Received: by 2002:a05:6000:2481:b0:3a4:fc3f:b7fd with SMTP id ffacd0b85a97d-3b1fe2de84dmr4668675f8f.19.1751540401208; Thu, 03 Jul 2025 04:00:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 49/69] accel/dummy: Factor dummy_thread_precreate() out Date: Thu, 3 Jul 2025 12:55:15 +0200 Message-ID: <20250703105540.67664-50-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541455198116600 Initialize the semaphore before creating the thread, factor out as dummy_thread_precreate(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/dummy-cpus.h | 1 + accel/dummy-cpus.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/accel/dummy-cpus.h b/accel/dummy-cpus.h index d18dd0fdc51..c3af710ee8c 100644 --- a/accel/dummy-cpus.h +++ b/accel/dummy-cpus.h @@ -9,6 +9,7 @@ #ifndef ACCEL_DUMMY_CPUS_H #define ACCEL_DUMMY_CPUS_H =20 +void dummy_thread_precreate(CPUState *cpu); void dummy_start_vcpu_thread(CPUState *cpu); =20 #endif diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 03cfc0fa01e..2cbc3fecc93 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -65,15 +65,21 @@ static void *dummy_cpu_thread_fn(void *arg) return NULL; } =20 +void dummy_thread_precreate(CPUState *cpu) +{ +#ifdef _WIN32 + qemu_sem_init(&cpu->sem, 0); +#endif +} + void dummy_start_vcpu_thread(CPUState *cpu) { char thread_name[VCPU_THREAD_NAME_SIZE]; =20 + dummy_thread_precreate(cpu); + snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/DUMMY", cpu->cpu_index); qemu_thread_create(cpu->thread, thread_name, dummy_cpu_thread_fn, cpu, QEMU_THREAD_JOINABLE); -#ifdef _WIN32 - qemu_sem_init(&cpu->sem, 0); -#endif } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541560; cv=none; d=zohomail.com; s=zohoarc; b=Gw5CppyznOIo+M512hXPvSgRYUYkouAQsBhhsqykmx07TGeJ5jci4CtauwG5RjMb1ezmk7CdW8/noAR6ntfIiXU/8RX3aJ45IWPFmQcRdqpPjUhpraReaDLzumiCbxApMyCF/JdO08nKPQmgVXGrMDVVKTBqgxyqBPyYH93nbW0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541560; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Kywse2u9MhU8QPCYXPxuKeKrJVPdiRbR+9Ey6S9IQUI=; b=dc+Ba0vLt7Ye0zDu2YJ7n2DefjrBinfZg3j6z6e7yHSLrIdRPULuO6T1LnOcCXYAEkB8ArKGzCvf5TVtClebVuad90i9SqnyQo3h6+mQ620BAPFHt7L90ziIRuCry26c1Qvn2dOjQB879TGRHPgoZniTAuO5Zc2UMkxp5zOhpWM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541559950263.16646295572855; Thu, 3 Jul 2025 04:19:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHip-0005Sc-A1; Thu, 03 Jul 2025 07:03:19 -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 1uXHfp-0006sW-2u for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:23 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHfk-0003bl-NQ for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:10 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-450ccda1a6eso42638895e9.2 for ; Thu, 03 Jul 2025 04:00:08 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a997e24bsm23516035e9.16.2025.07.03.04.00.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540406; x=1752145206; 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=Kywse2u9MhU8QPCYXPxuKeKrJVPdiRbR+9Ey6S9IQUI=; b=r/qH9Q8E26okDUnQ3bR36DteCJrwy8orRxAh2PNJtV/SNAOkPjtt1DptWG3YB9mGig nom+95BnxPGn6YfpBYdhamhlKRRnq7e41dWS+bZO8MrNy7kDxGe7QvJok4Yhn1PfU2wy gyTiNGsgoglA6z8zJLxI1boQFUW1Ab1jWo/wYbMigj0pYdu+9AADM6/TJ3gA1HIV5LZm wNXt8saQKIXHypYzv1asyfqtfQb424w5tHdZxX4yyaC/ze66LnOfwDxHCOWmnTVevHv9 8HDGuUY143oE/rS/j62F4RQTJIiBGVT/sytM+GDsS6EARu2Bmh+C7OCnlaJhQZm9CVGV XZhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540406; x=1752145206; 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=Kywse2u9MhU8QPCYXPxuKeKrJVPdiRbR+9Ey6S9IQUI=; b=Y/NZXUEH9/yoNb3Hw6qIp0045wZ8XYnq6IkNa8+RfUEuu+jjzt4k4y9gnUNC/a7G+2 nVMEiX/8AK1AHvQdAcOcygc13XlhAMK/5fALAiBazgOC8iakbRpvu9IZV8PIQyodtcMj PzKA2RKFVC7JJJj5MhjzZccSTLO0uQ9ehDipn7etR/GfXaoDhyR3G7UOn7c5FjB5rJu8 b2XBfQl2l+cozmzzvjWivcvgHXQu2pEoQbhdWFItyU0CBUSHd8JUQm/aeoMPxhs+5yUw ybP6l3InBujbsH20Imlv3blC2q07/v3u++C5jEkaadg+QyISvdUxLP3IGLPb99gcWPY5 vHuA== X-Gm-Message-State: AOJu0YwqIaEhfgGwmybCwVzEmHmt+1hNIlGoV0SmuH0umhAfQL9o2yga n0LAomzgfvfstAOQU7zBCla2WdDdQMs4Gkd6j1npE0xzeTly9KGd+H7upd+NEspozpqX+xm0EP7 XO+uy/N4= X-Gm-Gg: ASbGncvLaRDQU7NW9cipi3c856ol8bgnIYSOvh7SGVW1UlCxrxP5fsa/3pzu+idWEkS J1wn7Y7MgDF0uDIG1RNqZs2C4d6F6kx8OMNc57nMSKKWTKYFIAWp0zH1Xqz3/V+WxnXHiWevsMo CCLwg1bIWV14D++a2suQ3h1PEUFBCFA//Uf3zr2nm2z5Jw6BhPuQSqFdjflkqoz7L+6QzKkQuWM 7TzMjN7KRQGoI1Z8y33UFnBxlnuk/CHIVFq3V28A/RgAHgynbamyM5RaG7YCxlDLYpJl9KfD0OD rG6UVUi84rJkuJ8ZuK91kmsItfhF+pHT7mjVMcKzPVPOe5fpmLVFAeVTXCOwqewsFE9D8H/u8/O B+wuEyrfwjBI= X-Google-Smtp-Source: AGHT+IFcuVQPSvcB9tMEYZkxIF5efKkb5dETC/UVOZdIIwZuyXL+g/f5Jm/UZvPU76maeI70uQekgg== X-Received: by 2002:a05:600c:6305:b0:453:6146:1182 with SMTP id 5b1f17b1804b1-454a9cb45afmr25885755e9.32.1751540406328; Thu, 03 Jul 2025 04:00:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 50/69] accel/tcg: Factor tcg_vcpu_thread_precreate() out Date: Thu, 3 Jul 2025 12:55:16 +0200 Message-ID: <20250703105540.67664-51-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541562085116600 Factor tcg_vcpu_thread_precreate() out for re-use. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops.h | 1 + accel/tcg/tcg-accel-ops-mttcg.c | 3 +-- accel/tcg/tcg-accel-ops-rr.c | 3 +-- accel/tcg/tcg-accel-ops.c | 7 +++++++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/accel/tcg/tcg-accel-ops.h b/accel/tcg/tcg-accel-ops.h index 6feeb3f3e9b..129af89c3e7 100644 --- a/accel/tcg/tcg-accel-ops.h +++ b/accel/tcg/tcg-accel-ops.h @@ -14,6 +14,7 @@ =20 #include "system/cpus.h" =20 +void tcg_vcpu_thread_precreate(CPUState *cpu); void tcg_cpu_destroy(CPUState *cpu); int tcg_cpu_exec(CPUState *cpu); void tcg_handle_interrupt(CPUState *cpu, int mask); diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index dfcee30947e..462be7596b9 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -133,8 +133,7 @@ void mttcg_start_vcpu_thread(CPUState *cpu) { char thread_name[VCPU_THREAD_NAME_SIZE]; =20 - g_assert(tcg_enabled()); - tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); + tcg_vcpu_thread_precreate(cpu); =20 /* create a thread per vCPU with TCG (MTTCG) */ snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/TCG", diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index 6eec5c9eee9..fc33a13e4e8 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -311,8 +311,7 @@ void rr_start_vcpu_thread(CPUState *cpu) static QemuCond *single_tcg_halt_cond; static QemuThread *single_tcg_cpu_thread; =20 - g_assert(tcg_enabled()); - tcg_cpu_init_cflags(cpu, false); + tcg_vcpu_thread_precreate(cpu); =20 if (!single_tcg_cpu_thread) { single_tcg_halt_cond =3D cpu->halt_cond; diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 95ff451c148..861996649b7 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -41,6 +41,7 @@ #include "gdbstub/enums.h" =20 #include "hw/core/cpu.h" +#include "hw/boards.h" =20 #include "tcg-accel-ops.h" #include "tcg-accel-ops-mttcg.h" @@ -69,6 +70,12 @@ void tcg_cpu_init_cflags(CPUState *cpu, bool parallel) tcg_cflags_set(cpu, cflags); } =20 +void tcg_vcpu_thread_precreate(CPUState *cpu) +{ + g_assert(tcg_enabled()); + tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); +} + void tcg_cpu_destroy(CPUState *cpu) { cpu_thread_signal_destroyed(cpu); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541420; cv=none; d=zohomail.com; s=zohoarc; b=Q2aGtyxBVwJtcmLZJ0a4XDvaSVse4YPF9ZcrkiVlAp0s96r9xe3OpzsccExYneJGUykQQwRdnus3IJhbN9Mh20FxfguEkTrOZF7kvFJA/DzALyuBRkOKJ+9ulFERTPTHhCaodfpcMBKKM6y9g6EkT8rksfKUM9CPhg+WV832ICk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541420; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/WhoOlqE7V0YYD9gThfuSml4H33X/s4g/0Rif+XmbeI=; b=Kg4FcgNHXTss8I87JXTMYJRlk1/RSEEGJA6iMKdeqt9eGMr7dZP3q+ZH/F4TtQG/E1h21oKnrXx3MZ8gaFy2lirCSXH3I/+oTVazPeFkNsq5vel4Ro/afk4niBhiK/eUs56Vhu8NuZRXXYOlYURFkTtRjnRbp/4hP636oxPqbpE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541420475777.7081049390024; Thu, 3 Jul 2025 04:17:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHil-00058S-0t; Thu, 03 Jul 2025 07:03:15 -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 1uXHfr-0006uh-ON for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:23 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHfp-0003cs-M8 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:15 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a52874d593so4573797f8f.0 for ; Thu, 03 Jul 2025 04:00:13 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c80bb28sm17967759f8f.43.2025.07.03.04.00.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540411; x=1752145211; 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=/WhoOlqE7V0YYD9gThfuSml4H33X/s4g/0Rif+XmbeI=; b=MM5rvokXjkI1zHorUS6YLRQthA/ezttjRZO9pleFulHWUJ06CESCZoCYEakHCpRTv4 fXOJiGpOLyjv/vi9xJdUgoJ010t7zQ7/3aFOeGYYIjfwRPBtyivoaxByoK+sbkkjxiv1 qzMGZq3E4hwGeVawAFiMy/hIePdabI9U0uqJxqz3UQadXEmuGsx0PEya/RcGfZ06DXw1 XD7TS9GPSdVvebvcGidEWtKc4SfmUy3VZc4jkhWW1pifQSuercj3pNpkPJAoBIY53ey/ +uqkOkGMFnML3liSR4Vq/9CyglkB+fg7Rs6+JgqUGjnQO/mwO8SejqOdHm4xEb4ssqA5 eMEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540411; x=1752145211; 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=/WhoOlqE7V0YYD9gThfuSml4H33X/s4g/0Rif+XmbeI=; b=hFexPxeDhc3fdquxF1Gg7Y8EVmOVoFzMwo+teHzcfzSlr3eA+5YIHlUQov5xpecihh IEhhtvi0tu5HK7uPHn8VfaG2HyzR6+DJpd2HgOUJqcEZgnWTKMKxUo3xaMFs4NSpkI8l /j5VUyM/mt7aqQjAebLEs8Fh5ZPzeuS6xCxKlX3AzkhvWjh1FV3Eu30lmL13+ziBb1g8 QHZFO4YZ5leE3tWENWrOAPzB1SZxvc9hx/QhPLgtfMBdh37vMYLmqXR8WC1IPQjXeTib Swt4hMrWXhXTtQ8eXamXKZ1+vOmVnIjBjGgfKB7e43tDeL1WFcW6Iau3IMLeGEUzbN9u +zWw== X-Gm-Message-State: AOJu0YzqX6Hr/ixKONB1iVdvU3HdQKWYbT9TR+FRykDH9Q67sybTvIhA QT64RzRJRkSK5F9tBifs7kPzClk6dCO5g79APRmLz6oI2B2MHeCsE1mdfYuZyDtrsxabY3hgYB6 meDzxnqk= X-Gm-Gg: ASbGncuaCUNHK0BiYNNyEO4Miig7vqnL3XDp6CCSvP/eAnwXnpmF6WTxCF3OXZL71EA cw86ljKWSFGzzXZOPtw8Xq48Fjp4BDIR+nSdhZyCmo7owAKW2HUj72upBjLcuthLfedP8zuCkn5 BOVOsLD7k+bjypdKKnytmlvcePkJ4t0vEwXSRWiHyzIMqJQLHHfAcQl4GndupQSigRvIK21nCfD MMx/+U61gXW7kRySekFqoUhKFelVGde8N0Bkg/5HUUYSidlKbuwGBpc+g8OU8TIxh/maAPg+r5N AY6kPNI3NMPFqq382nZW9tQP9zEfoUHnuTE9jDTHHKtb38fOm/kSe+mx62BdzvekVSfYvAUri/W JOhnNH4rysZw= X-Google-Smtp-Source: AGHT+IFeTMDPZVIUsxjCRROs1WZhm0BU8cjbDiSZTXDbPKt2XE8RpH1YssNTtvaQDLjG2tnATSkPrg== X-Received: by 2002:a05:6000:43c6:10b0:3a5:2ef8:3512 with SMTP id ffacd0b85a97d-3b32b70c2f9mr1573773f8f.14.1751540411437; Thu, 03 Jul 2025 04:00:11 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 51/69] accel: Factor accel_create_vcpu_thread() out Date: Thu, 3 Jul 2025 12:55:17 +0200 Message-ID: <20250703105540.67664-52-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541422790116600 Factor accel_create_vcpu_thread() out of system/cpus.c to be able to access accel/ internal definitions. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 ++ accel/accel-common.c | 19 +++++++++++++++++++ system/cpus.c | 4 +--- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 598796bdca9..17cf103e445 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -97,6 +97,8 @@ void accel_pre_resume(MachineState *ms, bool step_pending= ); */ void accel_cpu_instance_init(CPUState *cpu); =20 +void accel_create_vcpu_thread(AccelState *accel, CPUState *cpu); + /** * accel_cpu_common_realize: * @cpu: The CPU that needs to call accel-specific cpu realization. diff --git a/accel/accel-common.c b/accel/accel-common.c index d1a5f3ca3df..d719917063e 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -89,6 +89,25 @@ void accel_cpu_instance_init(CPUState *cpu) } } =20 +void accel_create_vcpu_thread(AccelState *accel, CPUState *cpu) +{ + AccelClass *ac; + + if (!accel) { + accel =3D current_accel(); + } + ac =3D ACCEL_GET_CLASS(accel); + + /* accelerators all implement the AccelOpsClass */ + g_assert(ac->ops); + + if (ac->ops->create_vcpu_thread !=3D NULL) { + ac->ops->create_vcpu_thread(cpu); + } else { + g_assert_not_reached(); + } +} + bool accel_cpu_common_realize(CPUState *cpu, Error **errp) { AccelState *accel =3D current_accel(); diff --git a/system/cpus.c b/system/cpus.c index 2c3759ea9be..6055f7c1c5f 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -698,9 +698,7 @@ void qemu_init_vcpu(CPUState *cpu) cpu_address_space_init(cpu, 0, "cpu-memory", cpu->memory); } =20 - /* accelerators all implement the AccelOpsClass */ - g_assert(cpus_accel !=3D NULL && cpus_accel->create_vcpu_thread !=3D N= ULL); - cpus_accel->create_vcpu_thread(cpu); + accel_create_vcpu_thread(NULL, cpu); =20 while (!cpu->created) { qemu_cond_wait(&qemu_cpu_cond, &bql); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540913; cv=none; d=zohomail.com; s=zohoarc; b=Wo2i36Rt80c38zj95XZyl/myKL5BNp3JUywJ5GOgnRTm68fNkGciNbioBrPvgVVjZcxJBzYc8TXcRdvxo7MInU3XQ0b7cT7ShJ4+OdDE76zF7/uTGJuhTjS/FarXM66pvk0LhcebqzobOLCrStqqfOlKqgEc/ek13Zr2tWt87Nw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540913; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rDEWo1rnLUm5BJBdCICU6CLKmSMFjw+gxKuOsuwVDUo=; b=iN3GSis3XxGCVojsU1rOHjRci0jqM86dFRSWRb618OL8ClTNpQ9lRwxt0tfoVyIxY7MIzVZBMiXNAg+a8zc0AkvMtTPuiNUDfLUejfsMztYTVUZ9ytl7QBXQ+9nFbuaYZ7Agmv8UlWDlgBQhtJBgPbJCsOBhnBXHw/SyVFlovbs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540913422341.1180433585664; Thu, 3 Jul 2025 04:08:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiq-0005VC-7g; Thu, 03 Jul 2025 07:03: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 1uXHg2-0007HK-3B for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:29 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHfv-0003eZ-06 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:24 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a6cdc27438so4657179f8f.2 for ; Thu, 03 Jul 2025 04:00:17 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e52addsm18165861f8f.47.2025.07.03.04.00.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540416; x=1752145216; 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=rDEWo1rnLUm5BJBdCICU6CLKmSMFjw+gxKuOsuwVDUo=; b=DfpvvGd++UmcgOTQ/saawpNc301mtrknPU9zWYtUJuoFD+P/mFda3jtq3jBnfPzcl/ uKpAm5peOSNaKrx55u5fuGq1z7qvLA4GD2b5GYFAAHjOw3n9hp6FdGvt93EU4OAlZuKh fahqXqdwdVs42V/p7+6Vf1ty4Unq1vhcPB0u9luoXhixn64dhyGCuBoQUae/3Eegj8Js kG6S0kKEPnVnfJmf3MirxGJLD2+jDAkJd9HA7Yt2acMOY0zxhAqK3wcN/18Lzd0wjzev kIUoZVwhNzrTt94RSfTgZ0IlHCrR0oPodVbCXxJ/vsk5cpr0zFNjrR3YjSCqxym0onH0 46JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540416; x=1752145216; 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=rDEWo1rnLUm5BJBdCICU6CLKmSMFjw+gxKuOsuwVDUo=; b=oeAWioKvAPAGi2b3jYPzsUd9OxuBYylIkSLnnDoATDbz5ZGqJDK7fjS8jjKR3BHZ+m m3wXiVPCmXqCK5Suejykn0NnO887xLP9EoESwVTRv7GJwYTEA7Y6DkG11x8EgNYD78SH Y1UOycNkkuaJM3l6mdosZrDcEuMrkyMe7BZXDdIbrCU4SF/8YETuz6igimEO75aKlsOA T2bttxb/xIps0yhjyN2C43W6bI9L3WuERaYwVZgI0HPHCw4Fx929s2y4aqk1aqpYGwd1 yc39O5SKkzoKmA35gzVm+3vyF5TBIXVjDJi+MuLLFUm6dD6z/dP/4RkhRlWwfiOTP4ii QQbQ== X-Gm-Message-State: AOJu0YzTCqlTGqdgSop0lAvrK394JlR0v4RT0ISzVLKyQf78c4lTmNde Ujzplg4aydyuH3f9s7W7z2VzbVuBJ+rlq0bOb6P27V9nViOK1YG+AEC3IMwORzU1MucALaePEhs zMSE3KeY= X-Gm-Gg: ASbGncuoIvpqlahuziLqz/BrDMoqoif5a+mTGdzKrVuHFzvcWH+zK3Qga15fYEa89wz 0pQU/FZ/pCpMIfs/9gy9NWkLqutaXaqvDi3IqLcVu9fbjw3g8ZdP5xJUG7lRxAOjVrqNy2ObpYG MBe06RL71ixPjJTnxvDhKgbc+QhAlmFIS4YnmXgziYR7RzIpuSn1O/bP0MSmrZO/lJQ80r/eI0a kJsAFHTsQZe50yeG/WQ2ma3rULl5db948JgPlX60iW/Orlv7c0koUfLQbGgA1mQAANqiGGtu8VP XSfgb53+H85H3QRpMqDknHtDmRtDvQ2j/5rVoQD1uRvqWMo3m6XQbCKBNwWUJrRLOZ3N3Bdlym2 /5yrTVc0aCq65DPo5PbdFFQ== X-Google-Smtp-Source: AGHT+IFhk+dJX89aeL6Cw0AQ89dfOnSUw7mCET4TWkmrNY6d5nurBwjiVVzjmOBE6Tzod4CCSgM23Q== X-Received: by 2002:a05:6000:2f86:b0:3a4:e740:cd72 with SMTP id ffacd0b85a97d-3b1fe6b4e63mr4918822f8f.13.1751540416475; Thu, 03 Jul 2025 04:00:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 52/69] accel: Introduce AccelOpsClass::cpu_thread_routine handler Date: Thu, 3 Jul 2025 12:55:18 +0200 Message-ID: <20250703105540.67664-53-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540914963116600 In order to have a generic function creating threads, introduce the thread_precreate() and cpu_thread_routine() handlers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 5 ++++- accel/accel-common.c | 16 +++++++++++++++- system/cpus.c | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 77bd3f586bd..d4bd9c02d14 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -39,7 +39,10 @@ struct AccelOpsClass { bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 - void (*create_vcpu_thread)(CPUState *cpu); /* MANDATORY NON-NULL */ + /* Either cpu_thread_routine() or create_vcpu_thread() is mandatory */ + void *(*cpu_thread_routine)(void *); + void (*thread_precreate)(CPUState *cpu); + void (*create_vcpu_thread)(CPUState *cpu); void (*kick_vcpu_thread)(CPUState *cpu); bool (*cpu_thread_is_idle)(CPUState *cpu); =20 diff --git a/accel/accel-common.c b/accel/accel-common.c index d719917063e..24038acf4aa 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -11,6 +11,7 @@ #include "qemu/accel.h" #include "qemu/target-info.h" #include "system/accel-ops.h" +#include "system/cpus.h" #include "accel/accel-cpu.h" #include "accel-internal.h" =20 @@ -104,7 +105,20 @@ void accel_create_vcpu_thread(AccelState *accel, CPUSt= ate *cpu) if (ac->ops->create_vcpu_thread !=3D NULL) { ac->ops->create_vcpu_thread(cpu); } else { - g_assert_not_reached(); + char thread_name[VCPU_THREAD_NAME_SIZE]; + + assert(ac->name); + assert(ac->ops->cpu_thread_routine); + + if (ac->ops->thread_precreate) { + ac->ops->thread_precreate(cpu); + } + + snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/%s", + cpu->cpu_index, ac->name); + qemu_thread_create(cpu->thread, thread_name, + ac->ops->cpu_thread_routine, + cpu, QEMU_THREAD_JOINABLE); } } =20 diff --git a/system/cpus.c b/system/cpus.c index 6055f7c1c5f..c2ad640980c 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -671,7 +671,7 @@ void cpu_remove_sync(CPUState *cpu) void cpus_register_accel(const AccelOpsClass *ops) { assert(ops !=3D NULL); - assert(ops->create_vcpu_thread !=3D NULL); /* mandatory */ + assert(ops->create_vcpu_thread || ops->cpu_thread_routine); cpus_accel =3D ops; } =20 --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540437; cv=none; d=zohomail.com; s=zohoarc; b=LOV6neSPPT64VkL/o6pMViGHj71pOhB5OQXFbpsou73j1vedI89HwMcR9NMvTLWpncjCaHLysfPqnDow6zOWGL6ryZ4joSYMkn4Pa9W+4SWfbMtRTHgfgG4y04xjYqzgpwTMU5tpMCZzD8VHlgSblb/Z793eSC6xajEhdSyQRUY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540437; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=VtcgYIv7cyhzlknrW2Wv+nYV1/8CFpZnM220DOT3U/s=; b=hbMr6vxjeftDIHWla3HVs9XLkFGbWJuYCLC2+52cxPz869vljbItpn35HgTmTDiOS8SbZFg6vApw6/m4QwlMyQsSLMkG+MUxGkvSpoKv8sCYz/P76tpQLJzHMltOOTRLamDoicac0UCe4E4Bh43tMgTgwLZwocf6SkReYXn0Fvs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751540437281692.1491157121303; Thu, 3 Jul 2025 04:00:37 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031994.1405757 (Exim 4.92) (envelope-from ) id 1uXHg1-0005FX-BS; Thu, 03 Jul 2025 11:00:25 +0000 Received: by outflank-mailman (output) from mailman id 1031994.1405757; Thu, 03 Jul 2025 11:00:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHg1-0005FQ-8p; Thu, 03 Jul 2025 11:00:25 +0000 Received: by outflank-mailman (input) for mailman id 1031994; Thu, 03 Jul 2025 11:00:24 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHg0-0003ud-Du for xen-devel@lists.xenproject.org; Thu, 03 Jul 2025 11:00:24 +0000 Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [2a00:1450:4864:20::435]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id ea78c86e-57fc-11f0-b894-0df219b8e170; Thu, 03 Jul 2025 13:00:22 +0200 (CEST) Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so538986f8f.1 for ; Thu, 03 Jul 2025 04:00:22 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e52c99sm18125528f8f.49.2025.07.03.04.00.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:21 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: ea78c86e-57fc-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540422; x=1752145222; darn=lists.xenproject.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=VtcgYIv7cyhzlknrW2Wv+nYV1/8CFpZnM220DOT3U/s=; b=khcwu2nnw9a9W/zeXNsNnAumIC3GMXChtYBOBY7tGVejkwhfPUs0kfcylxBVBtMCZp y+wEO50sx5nK4ZbzKaDg9TdP89jdU7L1eeKDM404Fevmm7WaymCv1xfTotkhJTFR6mQN fpMllunf8ag6zKbd0rnOPC0/a+7e1tntpC82wH09/4bUgtP0kzqVfx0uFJDHoRRujnDc EkNk7yvwP9fWYDrO/pbrNLkE+Dejizc70lzGFIOblP5176J51QfE39L41PkbRJvSe0ax abgV3bEqu40EJRNq7Rh9LgEO1241T1ICQtb64la6X+QQyX/xP1+nNAjpZAPibzZvvzzc f+Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540422; x=1752145222; 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=VtcgYIv7cyhzlknrW2Wv+nYV1/8CFpZnM220DOT3U/s=; b=dZ9yBQEHirqXg9Sck0nDzSy8orzrI2flFTFvUWj3foExQiyQLWPe5Gd+wDBrAlScR+ AvSCb0TMLscRooIXxjcaqrUs3d88yqVGC4WgzmOisuwc0OnSjGLAkUZuu8VWblpgVQnx SJlEm3uOHBiPDLhTGeuOet0fW5J2fnG4p8XZDfaN560oJlVrqzU48HmNwhpqTM68fQ0G xPtQYXQN+GYS6dLHRWlyCox34FOHfuHq55aNVIu8Fkz8wwjXmumFb5L4N9SLPqFzSaqE uNM276DpabbYLvFnGZfgxe1LM6g64gcgKxwJOWP12pmJgWmgCIuAgR1kjhkxTchzZBav ahGw== X-Forwarded-Encrypted: i=1; AJvYcCV9mnRq0eCJ+LMxd3RrpMTQ4bLOPhl9Gf9VNKrKsdVeRAFFeJVQ0SGUVOXLG6G/Z1DYt2uur2Z6ojU=@lists.xenproject.org X-Gm-Message-State: AOJu0YxZngExfqdms382kJneSUzhnhYr50eAI/EFkRrdRyomWJbYfMJr dHu9ZEqv9TUbzrvb/rG+aTD7Xbcpthwlypq4My4Sk0sVOK1WQN0ATho02vwJ98fVRoU= X-Gm-Gg: ASbGncs1lsyaijPL7KcqkttTs+CMLc8RQWHxOadpSc6ELShLZp2Zd3wixQrhiMTicPW xUG/PRhnUAkFkii/5plKPgHFQ8q44wiAwNF4ARLltNowrmQINMgS0zJZOIrlnqf12Cwmv4JsNY1 vsAEIAeZVvIg7ZRmhdgsbVKsuYsQG0l+iEMX9O1H8S089lxXA3Afj3H+F0AzuzAnnlCo99eBdnU FlAS8sKDXffuVxuvUplzONDmc4U4zSZORI+Aa3uNcQ/xYmJKHmZfCVrhi63lRmFx9CnzT1x+IF7 TpdEwO7nO/7lwdCgoAYqjlx8Xaq+lIQBGplJ+JNbgYof6XVwc3aef9h17VaE0e6dRi/4jNeEnDE aQaHP29NN6so= X-Google-Smtp-Source: AGHT+IGD7TC9O4oxqN4AXMXx4fT0V4Qtg0hQBWZhDby2s+AzbNTf4+ZNgcj1dYa/jzmx9avOyZc4UA== X-Received: by 2002:a05:6000:987:b0:3a3:7ba5:9a68 with SMTP id ffacd0b85a97d-3b343889c82mr1880924f8f.18.1751540421981; Thu, 03 Jul 2025 04:00:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org Subject: [PATCH v5 53/69] accel/dummy: Convert to AccelOpsClass::cpu_thread_routine Date: Thu, 3 Jul 2025 12:55:19 +0200 Message-ID: <20250703105540.67664-54-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540438388116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Acked-by: Fabiano Rosas --- accel/dummy-cpus.h | 2 +- accel/dummy-cpus.c | 14 +------------- accel/qtest/qtest.c | 3 ++- accel/xen/xen-all.c | 3 ++- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/accel/dummy-cpus.h b/accel/dummy-cpus.h index c3af710ee8c..c2f9fee164c 100644 --- a/accel/dummy-cpus.h +++ b/accel/dummy-cpus.h @@ -10,6 +10,6 @@ #define ACCEL_DUMMY_CPUS_H =20 void dummy_thread_precreate(CPUState *cpu); -void dummy_start_vcpu_thread(CPUState *cpu); +void *dummy_cpu_thread_routine(void *arg); =20 #endif diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 2cbc3fecc93..f637ab05e32 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -19,7 +19,7 @@ #include "hw/core/cpu.h" #include "accel/dummy-cpus.h" =20 -static void *dummy_cpu_thread_fn(void *arg) +void *dummy_cpu_thread_routine(void *arg) { CPUState *cpu =3D arg; =20 @@ -71,15 +71,3 @@ void dummy_thread_precreate(CPUState *cpu) qemu_sem_init(&cpu->sem, 0); #endif } - -void dummy_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - dummy_thread_precreate(cpu); - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/DUMMY", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, dummy_cpu_thread_fn, cpu, - QEMU_THREAD_JOINABLE); -} diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 2606fe97b49..9f30098d133 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -64,7 +64,8 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D dummy_start_vcpu_thread; + ops->thread_precreate =3D dummy_thread_precreate; + ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; }; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index f412ea346bb..e2ad42c0d18 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -152,7 +152,8 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D dummy_start_vcpu_thread; + ops->thread_precreate =3D dummy_thread_precreate; + ops->cpu_thread_routine =3D dummy_cpu_thread_routine; } =20 static const TypeInfo xen_accel_ops_type =3D { --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541311; cv=none; d=zohomail.com; s=zohoarc; b=Arx2CPrVno6UPwJ8rVAx8hQs53QCrZ9gUB+NrcI98vvPqw5Ios05w0wIoKvN1vlr12snBk8C92HIPf69ZP3wFOOXuEIOrHHcM+2M7vksgwpPF+q+iqVdEtPFZ3m7Hd5rKluxDbz4KGMlXBtbCmexppdIgFKnP/zZI1o2ytl+l2o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541311; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9v6+HYr/42Y/Iowg1uUW2qQvLw8fBzoanUujYKDMrhU=; b=Jslea4xknJfJo3HyyWBgY+PNQkflwCKWlUYm0Kuqm7no4pMEL/e+5nX5TPmqBrrZNymkTqrvTLc1IUh/kfEMhL9APS6xjObvwddeBlRzlOwO9RkH9dnhwuuBbuNfUCnG62luVyDd7U2MoS4hwIzbEepw1JjbLDIPs5w1g5S4CR0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541311073198.7672455560022; Thu, 3 Jul 2025 04:15:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiQ-0003G4-Af; Thu, 03 Jul 2025 07:02:54 -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 1uXHgA-0007RB-V9 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:35 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHg7-0003su-KR for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:34 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-451d3f72391so57646875e9.3 for ; Thu, 03 Jul 2025 04:00:28 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9967ee7sm24187515e9.8.2025.07.03.04.00.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540427; x=1752145227; 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=9v6+HYr/42Y/Iowg1uUW2qQvLw8fBzoanUujYKDMrhU=; b=Ap/QrKz1AN7lIN8RZST25TlGrg4qEfCx2XZ1yFQoiZCgh5+4GBOllK1RXdeHEjVNqz 3R5aqJrbm8FyxRuukBd/tmcBruRBt/MS8ReC6BgnW+1ppyJxPNPSPlawvUOZW3tcv6yp ivCwYuzq2TUHGbRjh5vNUNTpOxJUQmdg5kgd5p1+LnoaCAQR3pZSWEP131i2SSLviMI3 X3rQpONW1w62EKAaKU88xzKmRnHatCoQxtjnCrxRoWG4AIHRzAZ5acgrHSjRHvPWsCjk mErcpQB7nxHsKrFxqwi4QGqUba941CFVwJSuM4CbdQ0HjdwHkiL6zRIyxVfjsC84qYMU zGfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540427; x=1752145227; 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=9v6+HYr/42Y/Iowg1uUW2qQvLw8fBzoanUujYKDMrhU=; b=tgG6lFvG+DAikuAZf1U+oR+3PtS2A9Xs4IznLqWrYs9N6GqBmd6B+BXDbkCfb7Y0+F yq1CSleP7Zk+KBorSfr4Pe0eMtvMg0j0zG7gyAUb0TttL2pSBBgvc8Otv+UmYHFCWAjI I19wqFcLSIPVHcIsKAoPapxU35fNgmbLoTrRRdtVNcLrcBSpxKTAhNriZfNrO3Iy3xPQ i6bXwvcC/a+DtTRo5guP6AcvdNtyd0JPQ2jiSepVx9fC0+S4HKXHw5PpdtEeY7lZAMNP bkRYXeLHHcXTCvyJgDN32Q3AOVjAmp3Qp1aDr56wTFnqUsEqGsCexPeroV/Xn4WkU4Bf vVxA== X-Gm-Message-State: AOJu0YxKRuF1wX1tOXluxOKShw6xtNX0ekHLB0EjHWt7WoAOOQW8EPoW tT0/KH4MocLT9QgBing4hPRn30DeCLwTy+DSlwP22rvY7fDTdygsZ+0/7PvlhNF4cJVwp649pLR 89PHZzBg= X-Gm-Gg: ASbGncshqv3h2gEH5b+HVb34esukRAuEd2/E+q+GRjizCpS2yRNsChuFeEiHmpUWGG1 boM39KQkbC6NR/zQeYQpgyj9Q7Dnz5dKnCW6kmOihE2xJTghcfURsWzgszCRQGEdBjt3izlyO8B tPBdyAHwpRRbYoIrtPjj5YE9j/dzlzwQYnsG6YdIiqGDNhN/QC+EhN/H3di41+N8AF7V5lrrb9n LeOxA640SW54E/otpFExynV9KMaMiHImq29xmLSb5rOexS3STBLoRWklr8zI1Z6rxH/QDat89T3 ILmlddPIafDFuzN65xCXLPhy4lgNWIBw3ENCYJd51WFoXHyia6kQGhLSS+JZu0qdA4AhILk7GCe 6+9aolktVeAM= X-Google-Smtp-Source: AGHT+IF9CCc+1SyfWjqrX0exoaFSuCvbstf/am9lDh22OfJZZiZvFa6b7FpHEQAXT3qDpYBDuEUQAw== X-Received: by 2002:a05:600c:3509:b0:453:dbe:7574 with SMTP id 5b1f17b1804b1-454a9c6fe94mr37610555e9.12.1751540427223; Thu, 03 Jul 2025 04:00:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 54/69] accel/tcg: Convert to AccelOpsClass::cpu_thread_routine Date: Thu, 3 Jul 2025 12:55:20 +0200 Message-ID: <20250703105540.67664-55-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541313361116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-mttcg.h | 3 +-- accel/tcg/tcg-accel-ops-mttcg.c | 16 +--------------- accel/tcg/tcg-accel-ops.c | 3 ++- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-mttcg.h b/accel/tcg/tcg-accel-ops-mttc= g.h index 8ffa7a9a9fe..8bf2452c886 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.h +++ b/accel/tcg/tcg-accel-ops-mttcg.h @@ -13,7 +13,6 @@ /* kick MTTCG vCPU thread */ void mttcg_kick_vcpu_thread(CPUState *cpu); =20 -/* start an mttcg vCPU thread */ -void mttcg_start_vcpu_thread(CPUState *cpu); +void *mttcg_cpu_thread_routine(void *arg); =20 #endif /* TCG_ACCEL_OPS_MTTCG_H */ diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 462be7596b9..96ce065eb59 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -61,7 +61,7 @@ static void mttcg_force_rcu(Notifier *notify, void *data) * current CPUState for a given thread. */ =20 -static void *mttcg_cpu_thread_fn(void *arg) +void *mttcg_cpu_thread_routine(void *arg) { MttcgForceRcuNotifier force_rcu; CPUState *cpu =3D arg; @@ -128,17 +128,3 @@ void mttcg_kick_vcpu_thread(CPUState *cpu) { cpu_exit(cpu); } - -void mttcg_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - tcg_vcpu_thread_precreate(cpu); - - /* create a thread per vCPU with TCG (MTTCG) */ - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/TCG", - cpu->cpu_index); - - qemu_thread_create(cpu->thread, thread_name, mttcg_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 861996649b7..4931e536beb 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -204,7 +204,7 @@ static void tcg_accel_ops_init(AccelClass *ac) AccelOpsClass *ops =3D ac->ops; =20 if (qemu_tcg_mttcg_enabled()) { - ops->create_vcpu_thread =3D mttcg_start_vcpu_thread; + ops->cpu_thread_routine =3D mttcg_cpu_thread_routine; ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; ops->handle_interrupt =3D tcg_handle_interrupt; } else { @@ -222,6 +222,7 @@ static void tcg_accel_ops_init(AccelClass *ac) =20 ops->cpu_common_realize =3D tcg_exec_realizefn; ops->cpu_common_unrealize =3D tcg_exec_unrealizefn; + ops->thread_precreate =3D tcg_vcpu_thread_precreate; ops->cpu_reset_hold =3D tcg_cpu_reset_hold; ops->insert_breakpoint =3D tcg_insert_breakpoint; ops->remove_breakpoint =3D tcg_remove_breakpoint; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541312; cv=none; d=zohomail.com; s=zohoarc; b=Q81ToZoObSwR67meKNpVPPJ0CrHYJgqFKEBaXdtZ43LjoO7cnMwfTKRVAluj/btxPpdKVTmypvciFNoBpVc+FwowntAk5qazwdkVicRxF80uEdjh3OaA0ZXnLA8grruqBhcfIlxtfjrkSLoLbiTY3WRd5Z3xXFJS1vNZOYtATDI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541312; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0cde8O5fgh1/x3P/3o29/Z35Bz+QAbkT/6eRH+3hSMk=; b=QS4b72FvJRfz56LyZqAnPfe9GV5wkIuggQmjSBnHJ+J/Yd38Ip1fpQAynaUFxbUirmLnFJ5gfyOrVZqoEZF1SwNV0smWBb3B11eqCHYSDv3sWPOlhexNPhqtr/LvM2Pog3vtnzC1GEV8SkyEyui7FSyBDYp2DXy41QU1/MziSTE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541312747129.22003418455847; Thu, 3 Jul 2025 04:15:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiT-0003nE-J2; Thu, 03 Jul 2025 07:02: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 1uXHgD-0007at-DL for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:37 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHgB-0003u8-3t for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:36 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-453066fad06so54090455e9.2 for ; Thu, 03 Jul 2025 04:00:34 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e52ca4sm18489036f8f.58.2025.07.03.04.00.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540433; x=1752145233; 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=0cde8O5fgh1/x3P/3o29/Z35Bz+QAbkT/6eRH+3hSMk=; b=etg95+yg76BIJqmPnwbVYABzYWsR0+H5keU1YKGWDFTgzX+JcQ/Id+o7TE6Vd56dhG edy/131Jr7wIsxcKeOsDR9qS64xtNymz8y5gQvbSHFa1TSFHhoi/AJXudFvpiQ5KWyeQ 4JpwjtT2MhJoyRC6CETOo1MjwCv2BVWHo0zRgw/NzIZAYrqM+i+k3U6WpvbZk0fnR071 l+ObjjwkyffSA2iDZjzaPPgNwm4lod6IFiquKCyZPUL5VVHSh+jEXLqS3IUlfblMoPKT ZibszqL3FOLtMVVnAty/QFgL4s/11yCCJElcslgRdEK6Vn4Hx0ITScshzBAN9LhjBtOs Tz8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540433; x=1752145233; 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=0cde8O5fgh1/x3P/3o29/Z35Bz+QAbkT/6eRH+3hSMk=; b=tMHfXO5Yrd06iLrnszdUZT7EweabksS3GnCxHt62mhdYqLy6RZ8IYEfqLNfD2PRKpf ufPBCIIi8kwPXygUL+g42rqHFem3d369GfWVkC4Iiw1Ql2HP8BYTN3Uf8h0sQ0D7+vvl fQVm8iStFao+SYHjEUN+Jm6y4eW6BCZi9riI29XaWRb6nIsEiw6Z65QMWb5WsvIJGnCU HxlHG9w9fLvcxcuzuPwV7imQS/bCslU11XVVwZ3X/6fNSEvdLbKH16qKJxGpXxaHhR37 47BIuzZLVj9le1ah9/O3ntpp5KvT5YuheEbYEqZX/GzhZrs/9PNt4AqskDyEy67GggMh 5f5Q== X-Gm-Message-State: AOJu0Yw3zGyewWyULZIhFpHUJtyJA07r3fnCXBZxl7NC7lP6TyUyWt1a z3lCbkllPyrWSfKhGv9kGgSeIFuTAxEi7Ey8rjpMloJFv9nNRIU2tYu/q51L2YFP0XcoWfWdGKl sz3llZJo= X-Gm-Gg: ASbGnctDq6zUPY5WMaeym1j0xvkNgbpsfTWJ9Rb82+F3txNIU2f1Pa+xlVzkMeIog0A tf1Qo9+Q/5NexaPFnZOhWoluEAA1NZ/VkbNFCKPWeGO1Z+aBduYackfLslbWeGaEjhYte1x3CvE 9E2EHZky8RptfClm9UAEh+0UJcYYRko6sMoU/I4iujmL08BRwkxknXoY2ABGOPmy6qrVb5vL3W9 gfkw0pRSl+NueOYFZ9S+PibPVylrAXzYrjnRvjOaFnK3rmtU7ryEV8OS7ikw9bKyoLdzWaSl+bW rpDijwz036IaaVWhCKHbUY6cWfoj3WY+15Dc/LdBSdo2wcAeMGLqQbv5sFsvFHcM4Eeof8d5WBV 0ApyiRTGqLIs= X-Google-Smtp-Source: AGHT+IECVqwRCSSkNFpfwCHWC/LhOuR7wElBIZCz+M6yLqqaGvOgS9qRHb9tjN2lU6wMIaMMj74Yeg== X-Received: by 2002:a05:600c:3eca:b0:43b:cc42:c54f with SMTP id 5b1f17b1804b1-454ad20bde2mr20247315e9.14.1751540432626; Thu, 03 Jul 2025 04:00:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v5 55/69] accel/hvf: Convert to AccelOpsClass::cpu_thread_routine Date: Thu, 3 Jul 2025 12:55:21 +0200 Message-ID: <20250703105540.67664-56-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541313310116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index c91e18bc3dd..b61f08330f1 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -207,22 +207,6 @@ static void *hvf_cpu_thread_fn(void *arg) return NULL; } =20 -static void hvf_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - /* - * HVF currently does not support TCG, and only runs in - * unrestricted-guest mode. - */ - assert(hvf_enabled()); - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/HVF", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, hvf_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, vaddr pc) { struct hvf_sw_breakpoint *bp; @@ -369,7 +353,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->cpu_target_realize =3D hvf_arch_cpu_realize; =20 - ops->create_vcpu_thread =3D hvf_start_vcpu_thread; + ops->cpu_thread_routine =3D hvf_cpu_thread_fn, ops->kick_vcpu_thread =3D hvf_kick_vcpu_thread; =20 ops->synchronize_post_reset =3D hvf_cpu_synchronize_post_reset; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540801; cv=none; d=zohomail.com; s=zohoarc; b=JbmUsQH6l83seRz2+K2QTSZN6cEE2mrfO6R1bjNMG5ysEnGUmXHeBoDAvnwh9Wz45UzSSRA0X+SR7L1JlrU1VwClia2K39iMtS0mr6F/ZJtfT6Yrhij8Jolbj7qZM11OnasYiC4wf8MAzAlWHWni+IXkzcLdMNkL6BngJZiuJt8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540801; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ToXpM4w8/5sKNrHHneMedU0DiOt+AW+hpLalmA9y/oQ=; b=RDtO1m2AqgK+2bd8b3c6mcoZGAippRJ1Tw2T+wnWVY47AKVHQDPnC8N8a8YhdVL5zwp+hZsSmzSBF1AZeZosZkj/2BiLSR33CPkpGem0ITc/ssTN9teiNGzM9z70bmYkcZ439SLIUDGWRle7TIcdiCsAHazgv6mhkdUC0J+quAM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540801863805.5957333995195; Thu, 3 Jul 2025 04:06:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiT-0003bU-D4; Thu, 03 Jul 2025 07:02: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 1uXHgI-0007j7-7R for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:44 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHgF-0003v3-TH for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:41 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so47398395e9.2 for ; Thu, 03 Jul 2025 04:00:39 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bcef22sm23604935e9.19.2025.07.03.04.00.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540438; x=1752145238; 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=ToXpM4w8/5sKNrHHneMedU0DiOt+AW+hpLalmA9y/oQ=; b=XbZZLKJjpsYovwEv6zWJliZPhgpU+YdY2VJCHpxXpCUNQu1a5nXeIUWPbVhcjGQkdR T6LX7a7Y5KWAo5lLAI8dukGsDJv5I5jnjj39t7f0lTiMBqmFeyGl+B3IV6T9sXE7Y4nh xBEx9ndmkW1L7z7eZmGkJj+LQZ9B6s9UJKDBZltocJoD805Uj9AGqd7+81iRK8I4vYSZ kojmoYlDgQweC72B8b6ny9CaIY/C8osV1Rj1lVHr5VmTvAr9jlQenNxrMiGlo+04QeOz JINruGCeypLXFPGBnYw1N/10ggZdkSFfu5yTNVcALJZ0BJ/CeWo3daJYbIXCLf8l+vpL hVFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540438; x=1752145238; 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=ToXpM4w8/5sKNrHHneMedU0DiOt+AW+hpLalmA9y/oQ=; b=LOdu/pKuyelDCvOCfXmX63sWXDpbHYCKacHKuKn6gwoOgzMnKfPkq5wnEJcYA7Eg4w 424xlsOaMFEnLUpY6g37Idhi/4VyYJom+UlZLcfmgSGvZFya1eqkzYSQdxURz4BI+tyc tFC8N+lQ7KTzj9Yfw7OvYjkuCnHkkp+LR9EeEoaIX4UpZkKD3Dzw6bB1+1GxJ8/AI4e5 0LkLxq/1R0dHURW7Uxp7eQFGYHHZCnJhhkQgumRJNVgSoPcP9Z5E/JOCdvFr+Tucos2g gmsdBqdrNCuGCxq2TPfPOzCWe+esLe2GON7sjDBmlJ50aW60zObupo9XlKlAlC8DM3/o upMQ== X-Gm-Message-State: AOJu0YxT6bioBoJ3UMQ74vLbHk4L3eFNqGoEjVE6TTtNLRzgrdv35bsR 3J3RuPdLi1TDHyQD8iAsdE2Olg1Cza/FUdEi4SutdOKcwRE0RstavheN49b5bb31rqMCmFBLYsZ smfxo96I= X-Gm-Gg: ASbGncteIRBDr0sGsGb4P9XJHzXd0Rcqeas6o5QWiJmXJLsceq5fI1Mo559qwDSQxzu 9lHR8qfJIz+lwt6kpNj9jrE6Id8PHosZnDaekDetVEV5qeQvzUfA0AkEPbge+j3Wf7gCJOl0RsU CmdMUXYoFuGXe4ZDD51pFmLAK5i+GmVSesEof+81FmEI0I6Y2+oE5QfUFyznm6O7PSgaM1rjC+h 2uuebd5225VQDr1ObD5lfSF9agtvrqi87BQKZ/cuZWAjY11we+f3kyjmoDtQMPj8QknubFs+2rq 4GM3RdBC+5p/jZqcEqipeckVCdL5s/JYZvRbFVItC7oclDxVT6KiugdoAoPHlPXlUeK3MfGa8dq lxBb4If0+97s= X-Google-Smtp-Source: AGHT+IEYK8CL39ld4Lpk8KjQCggVRRvPPW9KemNA8oVB4CaF2cQopLBTu2Fy1Kp1q6F5HqEp/pYaTw== X-Received: by 2002:a05:6000:248a:b0:3a5:2ec5:35ba with SMTP id ffacd0b85a97d-3b1ff9f59a3mr5047430f8f.30.1751540437658; Thu, 03 Jul 2025 04:00:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 56/69] accel/kvm: Convert to AccelOpsClass::cpu_thread_routine Date: Thu, 3 Jul 2025 12:55:22 +0200 Message-ID: <20250703105540.67664-57-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540803180116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/kvm/kvm-accel-ops.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index 99f61044da5..841024148e1 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -63,16 +63,6 @@ static void *kvm_vcpu_thread_fn(void *arg) return NULL; } =20 -static void kvm_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/KVM", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, kvm_vcpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - static bool kvm_vcpu_thread_is_idle(CPUState *cpu) { return !kvm_halt_in_kernel(); @@ -89,7 +79,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D kvm_start_vcpu_thread; + ops->cpu_thread_routine =3D kvm_vcpu_thread_fn; ops->cpu_thread_is_idle =3D kvm_vcpu_thread_is_idle; ops->synchronize_post_reset =3D kvm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541486; cv=none; d=zohomail.com; s=zohoarc; b=LJB5vFh7ZsjtvKuDFmN6eIu+YQ4NyrjBGnXKs1mEfeuoaN5b/WNfnzTa0+VRTXXvwjpEcZx+lbFbuV8Y7zF3heQCdWkXJXGK9VO/oI6KmgNszl15zxWoKwSIZUfCgs+FuhIYjvzzisksqWkO/yLlB30JiikVCfAOmMXj3zSmsB4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541486; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tF+udBuXlMZaTJB7NQwpx0fE1exKYPgD405Hy0Dxyzg=; b=AwO0qfaaO0CxZC2QJLyrYiwxlybYwCZpaLseLMbDbCCUVBTuOmNDKqsF7lb+xGtUUeexy1M8bfdNPWuDZGhuoKTxa53sXNr5N6wkgAAQRHuXkDzbHgTHW6G3Z2Osf3gdGkZ3kr42m7xmb/4n41uKlIio3xoy3GRiTr7RiB0q+9A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541486787528.0910964826693; Thu, 3 Jul 2025 04:18:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHil-00053L-0B; Thu, 03 Jul 2025 07:03:15 -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 1uXHgP-0007pJ-4W for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:52 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHgK-0003w0-UE for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:46 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a6e2d85705so4324279f8f.0 for ; Thu, 03 Jul 2025 04:00:44 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a87e947431sm18348471f8f.0.2025.07.03.04.00.41 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540443; x=1752145243; 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=tF+udBuXlMZaTJB7NQwpx0fE1exKYPgD405Hy0Dxyzg=; b=G2XpVDw9QhCqWMNjxyMt+2JBY7rCChvQqwtpfM3ev4k3Hs5l25lC1PKepadoAdPJHn o8kggRO+aCUGiW91nc/3eZOua+MTb+XPujDffNmIyHkBSPUDi2Rckmus6OWxwIBwCYmv 3h7UjtW+1HFRmvsG5BI/LTJNM/LuM/3LhFM4aYSOED8N15+YNDjlUFX++mO6LbZgj8pR hP/10/DwgRLBbhm1mCaQqcB4p2OrH56Ib6L0GJYx9pPSzIa6e3WYaApvfs3a2SFEwrEA oeIymow4HLyGfGS2lMNPAFFqH4JjYYk4watXcVtPlNhQBoLrxXTCAu+y5csq5VUZPH9v wMLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540443; x=1752145243; 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=tF+udBuXlMZaTJB7NQwpx0fE1exKYPgD405Hy0Dxyzg=; b=CHHMi++NtGJ2fgsn6IwJCN3bm1Fw4yTDXISTVdrpl1iqvWHUvTYxe0bJyry2rb6nnD 5TOUFgIGwetP4hBeMwgXSc0Dq0A7CB374q19CpqQyJNi8RLuFgIkwoZnHYYN7/JSXn9z oPcTGUZYTVD0W5AoBiUMVsMyznjyw7GLupMd6C69q6x0qQ7j4CQWSiUKo6sylp5+5nYV 5bnCU1e0fG+SY2vbVd3R2d/YQiIQ3d2YtCyKhnCSp4j6ZbMKx7YZuaCLq5XKn+NaYfzi qWvmFMvf0HxCHOvvj7sRca0XGWEVP135x2Z65+5KWakZ2tZfOQzHdIgSmXCrFtZ91Xh1 8zoA== X-Gm-Message-State: AOJu0YwriBaBrqzGXzV5iUL1ybkWZdCh0nSkMqmRqYse5xMfEs6Gv/qr 7eVw/kdV0n0rDbnycEvEfkQD2TiVoiW0OdHcOAQpDojesTp/Px2FvoqHh0Bzx5Jbp6q4jsPZ+LI XvMugqhM= X-Gm-Gg: ASbGncv3i/U7SXWoVqq1aBl+OwEjfB1vfcF5uC7Ms/1jQt44T0lNXbRwYV0sU+Tjkiv A7agVTIFRkz1hmehBA7jSs+XVKHN3St+ZweL9rXjNBOkm9kRaS1HaciVuAqFXY1MLFRA2Yuu4NZ 3KxfV2xrG4IzWg3mMD/G8S9jxoiGy62IaaM+a7EfH55beAVTAy3BP+lTbnwDLqPtb1Z+2ZdSr9d 8QD/7gbqwk2qfIMNmrjyHScyJNu87wflKbZ7ty2u1t2pbv1/pI9kKg1BieA46Bqjswir+yiQOr/ 5Dtn3SM8UjKc2kEDyJTM98QWLNulkpF35DXgv/v2QnS+ccYRGLMbLtxnJlh+rTblxfyFJDyz39Z nlE9tDNXAPo0= X-Google-Smtp-Source: AGHT+IE9MaP6O8rg7LcUD14UXSi8Yb3/Nbk4djuxfcMPH9STA702dENVi7CTAIjgya/lSPc6DJculA== X-Received: by 2002:a05:6000:2503:b0:3a5:8a68:b82d with SMTP id ffacd0b85a97d-3b32f28e522mr2309608f8f.43.1751540442845; Thu, 03 Jul 2025 04:00:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Reinoud Zandijk Subject: [PATCH v5 57/69] accel/nvmm: Convert to AccelOpsClass::cpu_thread_routine Date: Thu, 3 Jul 2025 12:55:23 +0200 Message-ID: <20250703105540.67664-58-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541489251116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/nvmm/nvmm-accel-ops.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index 21443078b72..bef6f61b776 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -61,16 +61,6 @@ static void *qemu_nvmm_cpu_thread_fn(void *arg) return NULL; } =20 -static void nvmm_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/NVMM", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, qemu_nvmm_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - /* * Abort the call to run the virtual processor by another thread, and to * return the control to that thread. @@ -85,7 +75,7 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D nvmm_start_vcpu_thread; + ops->cpu_thread_routine =3D qemu_nvmm_cpu_thread_fn; ops->kick_vcpu_thread =3D nvmm_kick_vcpu_thread; =20 ops->synchronize_post_reset =3D nvmm_cpu_synchronize_post_reset; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540608; cv=none; d=zohomail.com; s=zohoarc; b=i7kcjc5k0sLwsQEJSaZAB2B3YK9no8xi8wBY92NMh/gGJvMnrDGIbw6mx889zEKiBid3E9jjIxsmtiBClKjMeeuJ9xveCUTeSOsWTsyP856WKBcYMmxqEXhk1AC1bmZXUMSoZfsYU5G3xh8R3OtqkOnunLIeHBkHLVNOc0e6BjI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540608; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mJV4IXnKJHt8hWaUBPPZ6mJUKwfXPExjXmNVkOYEHB0=; b=FxSjxbaeHh9iuhYnYRKmxXcLokDFR1gP5D+m06gOkrHqu5ZEfvtOxBRH74YwItt2a1X8ttX8fCt6SqYTvJeNgg04mURsH9ajkK50FVbC2pclVg+1BkM6Vu+6m2n3p9VlyZafADrMCoF84CfnkWGhaWCFwDU+Fqct4JGOMJ4Zyq8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540608095245.73156749827217; Thu, 3 Jul 2025 04:03:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiu-0005oI-P1; Thu, 03 Jul 2025 07:03:24 -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 1uXHgW-00081l-5E for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:58 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHgQ-0003xb-Lf for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:54 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a582e09144so3869818f8f.1 for ; Thu, 03 Jul 2025 04:00:49 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e72b6sm18616881f8f.15.2025.07.03.04.00.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540448; x=1752145248; 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=mJV4IXnKJHt8hWaUBPPZ6mJUKwfXPExjXmNVkOYEHB0=; b=oACxigDffrbuS+yd6ighggs9foOgIyDAPO2akOyyPsPMdI0TrmZ4kKkFCfjyk/x9ln XkKuTD33VHMxWYyExMWBUtQWuv8O3uCfH2/l2UFELik1sh/Y3npq9nFQi6zWvs+RY2hg Tt0UlWvNd0zjYtmeK1QO1zGhhBFeTUtEc24Uy7Sz8LfxDN1la3uWjWAhGtaza+7sids/ elEXvInhlbD2HvvoWzU7qx1W0WJxeNJ3qrn4wJgezNp4PHmn/jTOldccEg1mbPkZ9K/9 VKKeMzAvSUgJTt6Q4n7p9xRWQyLlgIK6XntnrkNWA3I76UmV5dX4g5/6FlgrzjGNLEtj yK0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540448; x=1752145248; 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=mJV4IXnKJHt8hWaUBPPZ6mJUKwfXPExjXmNVkOYEHB0=; b=q/lFQr6jpcS0bVRqUTEg6Iyi8f0/HFW8mRmH8EKZdXIykG6tLKoghI967exzMOTQ2I FCE7qOmQFdvkDlcKBlOyvXZK3/sg4EKmd3mBT3I0ujTKiaDRoMBk9ScFADbPLVoPD/mC kNqk1/vI/NBUboN4cIm8frdBTW4Lk0vVg1jAt9vLW80kri4plZPLM/9Zq23c2HuCVq62 56w5/mmcmza9XQECwSiZyYruSS0P/zKpLnpsHiLQOXG8tPqX9YNZo8bmvrGPu20ycO28 BBwKXPbRtuCJi/9Sl/fv0vyvvwxDo0LUF/ADB04agifVPIM2BsO+W2ZJZSPwcepqUXZD JQPA== X-Gm-Message-State: AOJu0YzkYJi3vGqCpPkfAwejgRE5GxYlRa0p+22XvgsbTQtlBN254hrH XTxG4CAX+vx8hhGLRVR/tR+CLDZzhYGSq5a9cbfQilyFAwHWBfW/SblJWcu0N5HCkjEBHj2/wjJ U76EWKP8= X-Gm-Gg: ASbGncv6BZzjwcZpC8u6Z7PSeTAN7UEOCrb+o97URDLi2HfNQH01KkYBpG5fzQLIrkU SoIlUIL0m19/6Mra6BVQLl/e2bdYcwDPI1D9rSzXxCGs3/NbjNsfcdhcIHALc/NouMnkpXRhlal 8hpLKrm66EyLOoS/MGB/ZRfYWv2W5Ks/t1xGYOmtPI1W7mPL1uXDlXxSdk90ozAgz7dutPoQJHy hpZ9G+35K6XI/KwwHClcHNtGBbBGp+9HQTD+eelKW8uV+Bs8POst1r+FJRD1QSdHkMpJ+yp+Joq l7fh/hqdIUkP9mLWT1574vl7XfreS6aWiQCEDhIwE8KnO/bm10ULLrLc22Ix6D8XVCEkLmQOcKA bBHjKhz/xPgQ= X-Google-Smtp-Source: AGHT+IHqlssT48uJmEPZ4O3QCmimDjy4zBtYSgC8cT/L+FfgYjN8oU142izdLTVwVo9xkf1rmJVshw== X-Received: by 2002:a05:6000:4610:b0:3a4:e609:dc63 with SMTP id ffacd0b85a97d-3b1ff1473bdmr5354926f8f.20.1751540448033; Thu, 03 Jul 2025 04:00:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v5 58/69] accel/whpx: Convert to AccelOpsClass::cpu_thread_routine Date: Thu, 3 Jul 2025 12:55:24 +0200 Message-ID: <20250703105540.67664-59-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540609010116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/whpx/whpx-accel-ops.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index 011810b5e50..8cbc6f4e2d8 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -61,16 +61,6 @@ static void *whpx_cpu_thread_fn(void *arg) return NULL; } =20 -static void whpx_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/WHPX", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, whpx_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - static void whpx_kick_vcpu_thread(CPUState *cpu) { if (!qemu_cpu_is_self(cpu)) { @@ -87,7 +77,7 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D whpx_start_vcpu_thread; + ops->cpu_thread_routine =3D whpx_cpu_thread_fn; ops->kick_vcpu_thread =3D whpx_kick_vcpu_thread; ops->cpu_thread_is_idle =3D whpx_vcpu_thread_is_idle; =20 --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540815; cv=none; d=zohomail.com; s=zohoarc; b=cYRPN0t3pmv6+Znd6xRj4jDRY5wd/7vYdSxS5URF4qV2iUJisXPaWS8pHZMAbKpjveIMBiEYUhcut1QjM15X7UquxHyzgI74GS+muAuqpemiaz8A8ZseTvMj4oM7wiOxV4jmb+GHzF2/IMsGwCjhoNEJeFWD9FJoowBzRKoVIes= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540815; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KYagbleC/hcq8JgGV1mXFBe9rSbch4M6pqZHxCjKKEU=; b=XB8sdQ6MaLgzSIySu8qBKELkE7apIBA6l2coHX9YRraFvE/eq1OZzK9W+nGrG7bI5J8sk68VSmVRb2TyssY1qJCnV0hIctTMay11/RdMdEFn8q5y7ZARjRP3qf8O3xDuMebNO824zoORM3RtoIVDgF3G/UpzUkF1d5WEG/iuVB0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175154081536994.42330645901188; Thu, 3 Jul 2025 04:06:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiX-0004AS-CP; Thu, 03 Jul 2025 07:03:01 -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 1uXHga-0008E2-Jz for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:01 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHgY-0003ys-6q for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:00:59 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-451d7b50815so42290935e9.2 for ; Thu, 03 Jul 2025 04:00:54 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e62144sm18639506f8f.92.2025.07.03.04.00.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540453; x=1752145253; 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=KYagbleC/hcq8JgGV1mXFBe9rSbch4M6pqZHxCjKKEU=; b=vDCf3Gpo+kXhMfr/F32mFMZvbFdeUaQQiNUCdAVM3d5/weDyIlKHjUUJW87xzZHybI xZDLPmHvSdawdqby9uziWox7BD4AcQ4jWPLNv3saLbUTVuogEapqi/w0DsavNm2lPdDq p9a9L3gJrivVUq0WpGoNqteYmj4GKGGqE8Gjk2d43v+jjnrkg/dC1JEoJvdjBTlJ7ML7 S9etQpb7c8LXduNWERcrbjDXgyzXzwKu2dDJB3XHISkU3IOzCS/xLWQ6KyfvP0Cv8ZjU X2kz9SB5PQwbneoL8f2sCp+YYBk7AHUyZqRLvBBWz5mEfsrmWeRmyxvsuf1N+dEnm7cc jz1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540453; x=1752145253; 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=KYagbleC/hcq8JgGV1mXFBe9rSbch4M6pqZHxCjKKEU=; b=PxMFuXG61H5XykGdBxkSOjwGsBE7onm78wJxNMdPx/HAr/1GQGjt6X96LxkcJ0wV+n LVqUBgpTHWqSudfKszU9CCeFuMM3lb+vXFCCRajOHiplXgE6ZeO6Lj8Fh4oVZtJbyX1h 8duW8TX9xzLsltDirxmCWZ3n0wAB077b6ww7oXCbLXr3WKhsk3HnbPIdBqpcHgDio72w Y5rJ4HVW8aaAb3NEXlJ/fXFEaZZwDw0SD2iHsWUQg6QwlMJyvatb54CGegi9Od5u4glZ /Nu8Tpc5crS2JP347RUpxFPwuaYAzdaKka+RsD+W0Jr1DnSd//qXhCt/pYNy0sihobzy Uh+A== X-Gm-Message-State: AOJu0YzDlgMtcyQNXjhCLbVza15jhVy+kLT/XN+BwdLd3mvX7ae45rWr znbpLIyjwUxFDbygNhbH+JQ9xO90PwWSL2OB8DXZSIhXo73Y2SYrt2ZvM6ec4plEuWcZecn3iLp SEcBU+V4= X-Gm-Gg: ASbGncsVc0ZjVFP8SIRBdTbJ7xVJ3OYbyUD8B7ASHpsbk9/l8iwIOhqtgBG6OKZrHKE OLT+BsbgPGxSNFRCiJ1EA8F1urW0CHjl2l2/n/RsGb0PtoaKJ562lqEtf6kdbL+X86xktNOUKGM FpGoXWFAZVLJUPZiMqZ51M3TjYG4sPDxhR+y/5DDkCNqKCaWxZZNOc2O4zvoToNVnYEjEZgqYLN vMKm7zROSAU4xQIMzy5M1jQ8nKpT+maMzHm5Rox79j+9zDm+LrJFNNjKnu5mOBXwdv/vPem2DNu XU68Kkp7fOjgBb8yMsbeSCcD5ISoKvJ5YsEiDkPfjfef3+UXmEQF6+Wg7LodySk11d5674mQe/0 tzEruD4gVkb2W09OKpYU42w== X-Google-Smtp-Source: AGHT+IEUZBSTMiRrfLofYu4N1i7N32LdP3UEB9PeAX2Sv3szBKCnYkogmOlR7j4MaUfvKnOWbwm7rw== X-Received: by 2002:a05:600c:4ecf:b0:450:d3b9:4b96 with SMTP id 5b1f17b1804b1-454ac2da3bfmr24724685e9.13.1751540453164; Thu, 03 Jul 2025 04:00:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 59/69] accel: Factor accel_cpu_realize() out Date: Thu, 3 Jul 2025 12:55:25 +0200 Message-ID: <20250703105540.67664-60-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540817347116600 Factor accel_cpu_realize() out of accel_cpu_common_realize() for re-use. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/accel-internal.h | 2 ++ accel/accel-common.c | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/accel/accel-internal.h b/accel/accel-internal.h index d3a4422cbf7..b541377c349 100644 --- a/accel/accel-internal.h +++ b/accel/accel-internal.h @@ -14,4 +14,6 @@ =20 void accel_init_ops_interfaces(AccelClass *ac); =20 +bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp); + #endif /* ACCEL_SYSTEM_H */ diff --git a/accel/accel-common.c b/accel/accel-common.c index 24038acf4aa..de010adb484 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -122,9 +122,8 @@ void accel_create_vcpu_thread(AccelState *accel, CPUSta= te *cpu) } } =20 -bool accel_cpu_common_realize(CPUState *cpu, Error **errp) +bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp) { - AccelState *accel =3D current_accel(); AccelClass *acc =3D ACCEL_GET_CLASS(accel); =20 /* target specific realization */ @@ -147,6 +146,11 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **e= rrp) return true; } =20 +bool accel_cpu_common_realize(CPUState *cpu, Error **errp) +{ + return accel_cpu_realize(current_accel(), cpu, errp); +} + void accel_cpu_common_unrealize(CPUState *cpu) { AccelState *accel =3D current_accel(); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541251; cv=none; d=zohomail.com; s=zohoarc; b=O565qSSJ9v3PDdH26mu2rRlp5B+CZ7l8mZVZ8n+QxMrohRHS8P2gnKuI8GfGs054ZEMKxZRBY3Z5enV0OJbo/IG+L4e0vULbqOIaJDZ5oqowLkcnrpfP69zC+EQVZDnlsz+8JCL9stK/TJdZnuMXzAheOcCAQYrL9M/w/rYByyE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541251; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Kv+3eABLjDWkuIjt/EEQUuT2EYyux5ATDXpfAYp2as0=; b=R6deuSmMv7lx4KlrirUznEGTuhZEvMDBNlj47OfPOPVrDYzZDSX2QzyvGGJCA43zabmwxTN/dZtFuIn9V+9gq6qWs7XK4LNJs3t7W5XB9bLmWb3XGVLAAMvGX8Sx2B5g1c+dIZx1Yf7QI0o0qWOlXri2WxoCmI9ulXk8z7irwNk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541251171407.51232981636554; Thu, 3 Jul 2025 04:14:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHid-0004jK-Q5; Thu, 03 Jul 2025 07:03:08 -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 1uXHge-0008Pi-A1 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:05 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHga-0003zk-EU for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:03 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a588da60dfso3439643f8f.1 for ; Thu, 03 Jul 2025 04:01:00 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e52ca4sm18489948f8f.58.2025.07.03.04.00.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:00:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540458; x=1752145258; 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=Kv+3eABLjDWkuIjt/EEQUuT2EYyux5ATDXpfAYp2as0=; b=kzAyxTnUikvyR0ytqHDIm4DARouErWW16J6rjVOM+35+EyXv4x+GCbChf8jXo8HwYP XLEp57jA5IL1bMgd2/894ebykS1Xu+Pi9GcXpVcwsuHgKVokW/Sh8IQTlzG5sZUHTpoI XLpe1ZNNiZWfkYfzVUhn76hwlXZka5xXmoCk8JC9kNBnsOGAXMKzbE+JLAT/JeQlABxn utwSrt3/kxmCFdIe2znhJ2vs3R8KroZzC8TCiHgacyi3f5e9xrun1ieGzde6o7FL9iFQ ztXoqtj+TJ0LUZvYQgRn0eYYIsvboxp0GKgsHWmyZE5HkC4k9xZw3ex/8MPEzQP+I7i5 55MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540458; x=1752145258; 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=Kv+3eABLjDWkuIjt/EEQUuT2EYyux5ATDXpfAYp2as0=; b=GOHLVWYFtYMU9V7uReqEPcwyMdVi1WgePrIJEAWdH8H7rFU6a8tnjm3AaShgefAw6h ULe5ODJZ66Ou5JSITPQd7cHLUn0LfnK6M/oND8KmM9VqDNdYWYc3TRZ5DK/vyG5iFdp9 5JuwPQh2bs+bohovnFERvKNwCCuZ+mNwWUnwCoZrk9VWR5xicI6zm+QSFIg0/6QmrUJR MzA4hQOnL7YvaL+3J0bReaBAde8PpQ7Yqbxr8pzuHizxec+GBfw/MPNjXkT0xxkt7Dce p3xRZy5XKTZyR+VoO5fDlp9xirqomzC1OO+brWz0xn34JFbt/iBieSQH86uLvC2DSjHd P1Ag== X-Gm-Message-State: AOJu0Yx83X1tAZGPfq949gadhzHwlIeVlV6UObzxgLu9AtOgcq/VrMZm 3uKVIAhv40nTV8SfWaosK4GDnc0owa+32tJOea/rVUpzfLAt8bgzqQuXUnvtNQsXb0x5671jA/z YHRDhxPI= X-Gm-Gg: ASbGncudnaBzdz5T99P8e92deH/tWzOE8bxvGOzLvzHMZ0BTGSSr6xS4o5yRarWZ0IN Cmtfo5G1PGGCo1iv8hlaaz/oJ6OP2DWQgxj7d2Hj2tlv5C6Ig8Af8daanShHs/ldCVqi+Brp3zV D8WSvx5S9Od8fKD/WuqDeRrredOZTItqo3rO3UJ4GmscRDpzn9Da4+xE678AvHAqMyZMaj4w8Ia XMLGUCDCwzuEfQxiT4jrX4qShgGGLcsxuZMmRj4rJBZQRTis3I/Dvf6zigqKD35Necr2v9xP+Yd jTL876l1Wk+lzxxMVmOmp8eGB/LOJa7JoEJwUrPGicybzSF5hGemqTdKt4RURewQMU5wmEu6BYI qC/gARH5ZjD0= X-Google-Smtp-Source: AGHT+IEP9TKLC5P5AJ7QlKmZqQqcoj8rqfBj8NMgA0J1sYsb5B4zEW1QkyCXHPH+BN/0leJGYauyFg== X-Received: by 2002:a05:6000:26d1:b0:3a4:f52d:8b05 with SMTP id ffacd0b85a97d-3b32db892femr2530477f8f.35.1751540458218; Thu, 03 Jul 2025 04:00:58 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 60/69] accel: Pass old/new interrupt mask to handle_interrupt() handler Date: Thu, 3 Jul 2025 12:55:26 +0200 Message-ID: <20250703105540.67664-61-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541252875116600 Update CPUState::interrupt_request once in cpu_interrupt(). Pass the old and new masks along. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-icount.h | 2 +- accel/tcg/tcg-accel-ops.h | 2 +- include/system/accel-ops.h | 2 +- accel/tcg/tcg-accel-ops-icount.c | 8 +++----- accel/tcg/tcg-accel-ops.c | 4 +--- system/cpus.c | 12 +++++++----- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-icount.h b/accel/tcg/tcg-accel-ops-ico= unt.h index 16a301b6dc0..1d9d66f0707 100644 --- a/accel/tcg/tcg-accel-ops-icount.h +++ b/accel/tcg/tcg-accel-ops-icount.h @@ -15,6 +15,6 @@ void icount_prepare_for_run(CPUState *cpu, int64_t cpu_bu= dget); int64_t icount_percpu_budget(int cpu_count); void icount_process_data(CPUState *cpu); =20 -void icount_handle_interrupt(CPUState *cpu, int mask); +void icount_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); =20 #endif /* TCG_ACCEL_OPS_ICOUNT_H */ diff --git a/accel/tcg/tcg-accel-ops.h b/accel/tcg/tcg-accel-ops.h index 129af89c3e7..3f8eccb7a7f 100644 --- a/accel/tcg/tcg-accel-ops.h +++ b/accel/tcg/tcg-accel-ops.h @@ -17,7 +17,7 @@ void tcg_vcpu_thread_precreate(CPUState *cpu); void tcg_cpu_destroy(CPUState *cpu); int tcg_cpu_exec(CPUState *cpu); -void tcg_handle_interrupt(CPUState *cpu, int mask); +void tcg_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); void tcg_cpu_init_cflags(CPUState *cpu, bool parallel); =20 #endif /* TCG_ACCEL_OPS_H */ diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index d4bd9c02d14..6d0791d73a4 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -67,7 +67,7 @@ struct AccelOpsClass { void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); =20 - void (*handle_interrupt)(CPUState *cpu, int mask); + void (*handle_interrupt)(CPUState *cpu, int old_mask, int new_mask); =20 /* get_vcpu_stats: Append statistics of this @cpu to @buf */ void (*get_vcpu_stats)(CPUState *cpu, GString *buf); diff --git a/accel/tcg/tcg-accel-ops-icount.c b/accel/tcg/tcg-accel-ops-ico= unt.c index d0f7b410fab..500b5dd4942 100644 --- a/accel/tcg/tcg-accel-ops-icount.c +++ b/accel/tcg/tcg-accel-ops-icount.c @@ -147,14 +147,12 @@ void icount_process_data(CPUState *cpu) replay_mutex_unlock(); } =20 -void icount_handle_interrupt(CPUState *cpu, int mask) +void icount_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) { - int old_mask =3D cpu->interrupt_request; - - tcg_handle_interrupt(cpu, mask); + tcg_handle_interrupt(cpu, old_mask, new_mask); if (qemu_cpu_is_self(cpu) && !cpu->neg.can_do_io - && (mask & ~old_mask) !=3D 0) { + && (new_mask & ~old_mask) !=3D 0) { cpu_abort(cpu, "Raised interrupt while not in I/O function"); } } diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 4931e536beb..a8c24cf8a4c 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -99,10 +99,8 @@ static void tcg_cpu_reset_hold(CPUState *cpu) } =20 /* mask must never be zero, except for A20 change call */ -void tcg_handle_interrupt(CPUState *cpu, int mask) +void tcg_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) { - cpu->interrupt_request |=3D mask; - /* * If called from iothread context, wake the target cpu in * case its halted. diff --git a/system/cpus.c b/system/cpus.c index c2ad640980c..8c2647f5f19 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -246,10 +246,8 @@ int64_t cpus_get_elapsed_ticks(void) return cpu_get_ticks(); } =20 -static void generic_handle_interrupt(CPUState *cpu, int mask) +static void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_= mask) { - cpu->interrupt_request |=3D mask; - if (!qemu_cpu_is_self(cpu)) { qemu_cpu_kick(cpu); } @@ -257,12 +255,16 @@ static void generic_handle_interrupt(CPUState *cpu, i= nt mask) =20 void cpu_interrupt(CPUState *cpu, int mask) { + int old_mask =3D cpu->interrupt_request; + g_assert(bql_locked()); =20 + cpu->interrupt_request |=3D mask; + if (cpus_accel->handle_interrupt) { - cpus_accel->handle_interrupt(cpu, mask); + cpus_accel->handle_interrupt(cpu, old_mask, cpu->interrupt_request= ); } else { - generic_handle_interrupt(cpu, mask); + generic_handle_interrupt(cpu, old_mask, cpu->interrupt_request); } } =20 --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540483; cv=none; d=zohomail.com; s=zohoarc; b=W3J8bJchHRiBtxf3mLPvo+r5f8yY8hoZ1fXtSw7vwXxTWIBhRnfvf/YR6bnDaKrM4g2MekvR6/SPf9r9f53P0R7kZm1lfmpdXCcTYqthM6shwmd8QfoZoOc8Lo6TbIiIBqUp2s9MXIhvGwlrHZxtBpXaBxrXDSmfzozbuUotQSI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540483; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wspTc+l3MR08+xJCCFDeyBx7BUrOtzx13ywN/0VFZp4=; b=OYV4Zz1bngumEJzqEEplxa3LhLi61mTJeZ+oO/lNIjpq/Sd7nXAUSfHKakbmGmpJ6sC2Wep8JB5sar6C+USHjDMYcaYCOIyrjlLXXTZpt9+RcbIUjC1L8XwbrJvgTI4AVwZFA0J8wa1usAZnvMXNnjQn3yDl/cQYXuFcMgPuM7s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751540483177560.5403195932715; Thu, 3 Jul 2025 04:01:23 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1032004.1405766 (Exim 4.92) (envelope-from ) id 1uXHgi-00065h-Mv; Thu, 03 Jul 2025 11:01:08 +0000 Received: by outflank-mailman (output) from mailman id 1032004.1405766; Thu, 03 Jul 2025 11:01:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHgi-00065a-KE; Thu, 03 Jul 2025 11:01:08 +0000 Received: by outflank-mailman (input) for mailman id 1032004; Thu, 03 Jul 2025 11:01:07 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHgh-0003ud-0W for xen-devel@lists.xenproject.org; Thu, 03 Jul 2025 11:01:07 +0000 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [2a00:1450:4864:20::32e]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 03981579-57fd-11f0-b894-0df219b8e170; Thu, 03 Jul 2025 13:01:04 +0200 (CEST) Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-45348bff79fso55591625e9.2 for ; Thu, 03 Jul 2025 04:01:04 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bcebd4sm23536465e9.26.2025.07.03.04.01.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:03 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 03981579-57fd-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540464; x=1752145264; darn=lists.xenproject.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=wspTc+l3MR08+xJCCFDeyBx7BUrOtzx13ywN/0VFZp4=; b=mTGSsOB1nuRfKpj4mx5grFKk6excvarqmHB2n237KYJ/vRr/CiC8ean7TtQ3jz3g9I TCi53+dKHqlEHCE8gunsIHPJiACoLtFNi1h19NVsvZvO5Hy3bx0KfFCvFXnUWE94zxor 6+8mPm8XBQ6QAkkvhK02uLnv40WyDeiv5Fow8jM+Umuu+YE6tcUszEzV+ec+SEGcaGy9 sNIweSZH5HLxP5gwU/BW5RddiAQXf1QV30Ks/ZNKzOw9PXz5XdCtU7yMNO74CEoy+iA3 OBcQ3Eg/WifH7Vk70GMXd4Avw8jq+yJlwJRLLrR8zZv5DlSP4w3oGyqO93SI5kNQtsH+ qSgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540464; x=1752145264; 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=wspTc+l3MR08+xJCCFDeyBx7BUrOtzx13ywN/0VFZp4=; b=fAQ8vj3DalgTS9ACL1E52t98ITkT8G6JGdV19ZsRbbt0I5CZWVszmnrPpYQfortI7n RyDOPTiLzAv5QTzCeC5dsXyfi0XkrcrKMcbc5+Nil919EJgnu6gVZ5NP47KkQVsA4Ht4 lnkv32QspHj8qwWj2TSzMUZu88dN+dEF7CVCJNmVgeNR/52nSFA8auCt68U9LTIw+SMf gz3D9BQXnKiFYY20ZKZYLGMO53jk+zXo/FwiJ3sZKWtSYgf2CQCgRaCeZo3J414k8jlX 1727bKuK/q0b9wfE+aiDZW47AmEuIBYFsHCyvHNxW8I0/UYNkYcAI2lAnujWXnC/7b7F G3wg== X-Forwarded-Encrypted: i=1; AJvYcCXehDundYQqI1EWE72gaSG4ruDQUAWFH+H/7swR/Te8nbQ/Vj5+3t0Uf4is50ySW/Mn+2S3O/A/FbM=@lists.xenproject.org X-Gm-Message-State: AOJu0Yw1FTaiDVJpZxf679KmRJgdxBvsqwuyu2nExNXNEHtVcVoCf5No KSqzAXB6UEeyaYsU3s9mntJQUQXMWIJXyYntSimREdMapz3OxQKckPiTF7RsoOK4EPI= X-Gm-Gg: ASbGncs9CLeTPGiesGE1T/bUPk1Yrhslwst5WHR7VWef3MrYhcWifROfbHifzrnBxbZ QGeGXvIdHcy4bKOGpp0kvJCPhBifBHI0OlWVRXT48JhA9yOVpIqLp+DZ2kA3GD/FTOg0DUMalvD f+X9A/F5nrdXQJrgO7Ax4BF2JXLshA1tQOE/9RTegb3DdZR8317O9+vPqbXrsvAJYJLjUsVqIYf gSOp7I34KnKLKq2qr5V5wDMQdCWSucwDR4zwyiJSvHit3zx92SiXP9xAqUtuBaTOel+Y7n6wwsF gtrqsXIDNKnBSbWkrF8pzC2XUgqMK7JmXSCLG9dcngO/P1pohyk8op7YXHQPzYNxYB/x+bUekk9 kCfQjl6qkf7o= X-Google-Smtp-Source: AGHT+IHAZ1QJQAR/SkCmpVyP5d+/RVl33yWqBUHoBvJQia/1ayRud+BeMI+m9TmrFuVOLmZ8hctUPQ== X-Received: by 2002:a05:600c:3504:b0:43c:ee3f:2c3 with SMTP id 5b1f17b1804b1-454a36e7842mr54691115e9.7.1751540464162; Thu, 03 Jul 2025 04:01:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Reinoud Zandijk , Sunil Muthuswamy , xen-devel@lists.xenproject.org Subject: [PATCH v5 61/69] accel: Expose and register generic_handle_interrupt() Date: Thu, 3 Jul 2025 12:55:27 +0200 Message-ID: <20250703105540.67664-62-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540485648116600 In order to dispatch over AccelOpsClass::handle_interrupt(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::handle_interrupt() mandatory. Expose generic_handle_interrupt() prototype and register it for each accelerator. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 3 +++ accel/hvf/hvf-accel-ops.c | 1 + accel/kvm/kvm-accel-ops.c | 1 + accel/qtest/qtest.c | 1 + accel/xen/xen-all.c | 1 + system/cpus.c | 9 +++------ target/i386/nvmm/nvmm-accel-ops.c | 1 + target/i386/whpx/whpx-accel-ops.c | 1 + 8 files changed, 12 insertions(+), 6 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 6d0791d73a4..dc8df9ba7dd 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -67,6 +67,7 @@ struct AccelOpsClass { void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); =20 + /* handle_interrupt is mandatory. */ void (*handle_interrupt)(CPUState *cpu, int old_mask, int new_mask); =20 /* get_vcpu_stats: Append statistics of this @cpu to @buf */ @@ -93,4 +94,6 @@ struct AccelOpsClass { void (*remove_all_breakpoints)(CPUState *cpu); }; =20 +void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); + #endif /* ACCEL_OPS_H */ diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index b61f08330f1..420630773c8 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -355,6 +355,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->cpu_thread_routine =3D hvf_cpu_thread_fn, ops->kick_vcpu_thread =3D hvf_kick_vcpu_thread; + ops->handle_interrupt =3D generic_handle_interrupt; =20 ops->synchronize_post_reset =3D hvf_cpu_synchronize_post_reset; ops->synchronize_post_init =3D hvf_cpu_synchronize_post_init; diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index 841024148e1..b79c04b6267 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -85,6 +85,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; ops->synchronize_state =3D kvm_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D kvm_cpu_synchronize_pre_loadvm; + ops->handle_interrupt =3D generic_handle_interrupt; =20 #ifdef TARGET_KVM_HAVE_GUEST_DEBUG ops->update_guest_debug =3D kvm_update_guest_debug_ops; diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 9f30098d133..47fa9e38ce3 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -68,6 +68,7 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; + ops->handle_interrupt =3D generic_handle_interrupt; }; =20 static const TypeInfo qtest_accel_ops_type =3D { diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index e2ad42c0d18..a51f4c5b2ad 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -154,6 +154,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; + ops->handle_interrupt =3D generic_handle_interrupt; } =20 static const TypeInfo xen_accel_ops_type =3D { diff --git a/system/cpus.c b/system/cpus.c index 8c2647f5f19..efe1a5e211b 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -246,7 +246,7 @@ int64_t cpus_get_elapsed_ticks(void) return cpu_get_ticks(); } =20 -static void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_= mask) +void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) { if (!qemu_cpu_is_self(cpu)) { qemu_cpu_kick(cpu); @@ -261,11 +261,7 @@ void cpu_interrupt(CPUState *cpu, int mask) =20 cpu->interrupt_request |=3D mask; =20 - if (cpus_accel->handle_interrupt) { - cpus_accel->handle_interrupt(cpu, old_mask, cpu->interrupt_request= ); - } else { - generic_handle_interrupt(cpu, old_mask, cpu->interrupt_request); - } + cpus_accel->handle_interrupt(cpu, old_mask, cpu->interrupt_request); } =20 /* @@ -674,6 +670,7 @@ void cpus_register_accel(const AccelOpsClass *ops) { assert(ops !=3D NULL); assert(ops->create_vcpu_thread || ops->cpu_thread_routine); + assert(ops->handle_interrupt); cpus_accel =3D ops; } =20 diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index bef6f61b776..d568cc737b1 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -77,6 +77,7 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) =20 ops->cpu_thread_routine =3D qemu_nvmm_cpu_thread_fn; ops->kick_vcpu_thread =3D nvmm_kick_vcpu_thread; + ops->handle_interrupt =3D generic_handle_interrupt; =20 ops->synchronize_post_reset =3D nvmm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D nvmm_cpu_synchronize_post_init; diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index 8cbc6f4e2d8..fbffd952ac4 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -80,6 +80,7 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->cpu_thread_routine =3D whpx_cpu_thread_fn; ops->kick_vcpu_thread =3D whpx_kick_vcpu_thread; ops->cpu_thread_is_idle =3D whpx_vcpu_thread_is_idle; + ops->handle_interrupt =3D generic_handle_interrupt; =20 ops->synchronize_post_reset =3D whpx_cpu_synchronize_post_reset; ops->synchronize_post_init =3D whpx_cpu_synchronize_post_init; --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540486; cv=none; d=zohomail.com; s=zohoarc; b=S9FbsstzmBcsbyUf4Fc1vrcMGA6fqg6OdyvjJwAKsNRHaxRJ6ZJlt1JQrpAvxTJ2Ipzl+1Md1zFbfH4oVhtCb1iqenvK7qgYRkuyhZ0tyA75bVdezSZhIibl+DlEZvWcPmldlgqzLOz1sSx3E1k6+nWhuwyCGRXkMTEzEv/B8sg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540486; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Jox9I/hc4IW12DCVXl2QtoaQase5UN3XaHbWxSzsiYo=; b=mRXRtP9U3cyzo9pv4X1UwiGooYcUK0C29yH0stywWbZ8bo6di4zSEDWK/IG5bxzNhpGUx6MVQHQ1zzWRjHj/VAosNVlfpNsm4dYTjToF7kl/6VUcOdrkP6CAx08gi4rwkYWg8ttx8kUNCtmhI5/P3Riqd/eNgeonv5cWjSrX3no= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751540486140301.5897292608432; Thu, 3 Jul 2025 04:01:26 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1032005.1405777 (Exim 4.92) (envelope-from ) id 1uXHgo-0006Qo-Ua; Thu, 03 Jul 2025 11:01:14 +0000 Received: by outflank-mailman (output) from mailman id 1032005.1405777; Thu, 03 Jul 2025 11:01:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHgo-0006Qh-RI; Thu, 03 Jul 2025 11:01:14 +0000 Received: by outflank-mailman (input) for mailman id 1032005; Thu, 03 Jul 2025 11:01:13 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHgm-0003ud-Un for xen-devel@lists.xenproject.org; Thu, 03 Jul 2025 11:01:12 +0000 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [2a00:1450:4864:20::333]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 076dd699-57fd-11f0-b894-0df219b8e170; Thu, 03 Jul 2025 13:01:11 +0200 (CEST) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-453643020bdso68442765e9.1 for ; Thu, 03 Jul 2025 04:01:11 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a997e24bsm23541895e9.16.2025.07.03.04.01.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:09 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 076dd699-57fd-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540471; x=1752145271; darn=lists.xenproject.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=Jox9I/hc4IW12DCVXl2QtoaQase5UN3XaHbWxSzsiYo=; b=secjHwsm48UYqsGvmKjBQWbOXIpJXoyJ9u4Ppzb1XkrTcieFVmZkfiGFENH5IbNVsM T2F7iVbe5kaFh0quNQa/PhGiIOS8f31LUmvCGpB+YItASBtozIrNS4M4vY+YHfAbBtUl rwb4TgTqNc76ilX7c1aZWjW48K6SmVRNu5hrO8LMxm6hY/oeqYUiORSOhBNBwf58Xh1x iy+wHbZXRSLj5zecvhbQBbLl5G6pYv21NDaeFPgnMLZ0ir1xfj+FYFZH/lwdSOdpvo3A 55LbW8oKaAAOvYrWBkXpQdv2WI6HkmSzMqjrG8Y4Dnxtf4Yuth/5ayXgEgj9cIqVUsKL IlNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540471; x=1752145271; 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=Jox9I/hc4IW12DCVXl2QtoaQase5UN3XaHbWxSzsiYo=; b=ZXCqEg1IOZD3NrJeBPTs9Y9SqUUb4X7DkJ2GRTwcXzFqx/wl8DmfWNBCvLgRw9zAo5 AytaIzbMxNkhnaT5SMkSuEvhVBSuxQ8VEUOlWUzwVF5lGLCHfwzFw3si9JlDL1olNu49 znzPNS1Q/31MzcjNF7aGMUsLLHw+d4z1xB5DlIlTkqAFtFCFrGHNWe2ZKlGc5gtnyZ74 TiGvGcFGW437aCafvnZtpAoy9kyYqlQy/0NxweDxO22FOX/uqNjA+a90beSwXCPhC6FD YGfDz5elb7VtySV2IiAHS22s1hHWFVMUDHUhPUMRjQ8gKYStKAwVXysiJOgMlOu3+QNB O1Dw== X-Forwarded-Encrypted: i=1; AJvYcCXRLrkj7TTmGXmoiC0klAChck5tZctn8ce0f/B5ayVslqrRmb/d26XhsLkukVp5naS4e8/Ec7NbKGY=@lists.xenproject.org X-Gm-Message-State: AOJu0YxRGQy917e00uR+PqsltwNRPcj2NRHJxaCpvVassMENMBmEwKjx VyDI8R+HDII0JjC1rsmdVlSEAceER0W4ObNGSslNLmnj6tah6auBzjbV1zdX98TmfeA= X-Gm-Gg: ASbGncvXftR+powm2k7aK4rlqoNHPFmGLw84YyqJb4+ry3DZxCW03o/sJtQRg3TPYkD Kuu3HFKxwUXMF5fe21kTIWw5iNCgDFVn1vsgsIfhQyADv6LuwT2O+7kjIpdGzyhPMTnVh8HJVpL izxY/uWsM3YINT28R+jwi2vex5Ri9hnEsg31HR3ygaoIaZsnYZovro5HElE+pbza/GxU86UAXCZ Mqth99y8JVDkv5wf/NUGR94g2pjI5EXbwO18fI24CIF8gfsHS6AU4khvAADBHN8HmC93dW3dVa8 kjxzzbeaTsu0knTRJCRrTYzbcGp4ClZMYsl7Je6c4IxygMkcagAQs7sBeaJZdVbC7Hb3ItqUiJe T/8ldFm2PRDI= X-Google-Smtp-Source: AGHT+IHAtbR+hufxeMURDPAweaVvkz8bA98tXT/yfuO0i+zP0XtJFFoPdGy8SpZsMLysHsZr5JSWzg== X-Received: by 2002:a05:600c:8b43:b0:453:6424:48a2 with SMTP id 5b1f17b1804b1-454a3d23106mr69823115e9.10.1751540469774; Thu, 03 Jul 2025 04:01:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org Subject: [PATCH v5 62/69] accel: Always register AccelOpsClass::kick_vcpu_thread() handler Date: Thu, 3 Jul 2025 12:55:28 +0200 Message-ID: <20250703105540.67664-63-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540487405116600 In order to dispatch over AccelOpsClass::kick_vcpu_thread(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::kick_vcpu_thread() mandatory. Register the default cpus_kick_thread() for each accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- include/system/accel-ops.h | 1 + accel/kvm/kvm-accel-ops.c | 1 + accel/qtest/qtest.c | 1 + accel/xen/xen-all.c | 1 + system/cpus.c | 7 ++----- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index dc8df9ba7dd..e1e6985a27c 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -43,6 +43,7 @@ struct AccelOpsClass { void *(*cpu_thread_routine)(void *); void (*thread_precreate)(CPUState *cpu); void (*create_vcpu_thread)(CPUState *cpu); + /* kick_vcpu_thread is mandatory. */ void (*kick_vcpu_thread)(CPUState *cpu); bool (*cpu_thread_is_idle)(CPUState *cpu); =20 diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index b79c04b6267..a4bcaa87c8d 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -81,6 +81,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) =20 ops->cpu_thread_routine =3D kvm_vcpu_thread_fn; ops->cpu_thread_is_idle =3D kvm_vcpu_thread_is_idle; + ops->kick_vcpu_thread =3D cpus_kick_thread; ops->synchronize_post_reset =3D kvm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; ops->synchronize_state =3D kvm_cpu_synchronize_state; diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 47fa9e38ce3..8e2379d6e37 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -66,6 +66,7 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; + ops->kick_vcpu_thread =3D cpus_kick_thread; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; ops->handle_interrupt =3D generic_handle_interrupt; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index a51f4c5b2ad..18ae0d82db5 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -154,6 +154,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; + ops->kick_vcpu_thread =3D cpus_kick_thread; ops->handle_interrupt =3D generic_handle_interrupt; } =20 diff --git a/system/cpus.c b/system/cpus.c index efe1a5e211b..6c64ffccbb3 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -486,11 +486,7 @@ void cpus_kick_thread(CPUState *cpu) void qemu_cpu_kick(CPUState *cpu) { qemu_cond_broadcast(cpu->halt_cond); - if (cpus_accel->kick_vcpu_thread) { - cpus_accel->kick_vcpu_thread(cpu); - } else { /* default */ - cpus_kick_thread(cpu); - } + cpus_accel->kick_vcpu_thread(cpu); } =20 void qemu_cpu_kick_self(void) @@ -670,6 +666,7 @@ void cpus_register_accel(const AccelOpsClass *ops) { assert(ops !=3D NULL); assert(ops->create_vcpu_thread || ops->cpu_thread_routine); + assert(ops->kick_vcpu_thread); assert(ops->handle_interrupt); cpus_accel =3D ops; } --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541152; cv=none; d=zohomail.com; s=zohoarc; b=Tn9frWNM23az6KNIe5BnAjamwucHNT1rdROU2ngbtRXpILPY0OHijMzkxoBcO5MH3VXLxXCyCiyk3/wVp6GK16thcTH/Qez4+n3pdGSnaLrTHUzwUOozzbMAHi83MkPVj/Nkki0qzsQEUG7h2oN+qh3gv5dvT+4SM8xNr+qmjfM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541152; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uKP0VLAduRG0J485sBOx50Iuc98l/po9P1xQbbf9Dzs=; b=dfWIDSExfkOrsIVQ9lqtopy2xIZTG+PhCrOIcKynbYRwQFGcOX9Obb7Lqa8uXYSqhKbzqtqVRqy1aT2EyIrJH6Z+kK+WEb31m8IuUjuWxlSBrbtS6nmIi3TuF1ovNitR/oeyGkQrSuUGReDCvt50Rd7CbJatVpyWoBYocTrx1ec= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 17515411527451003.9228924036869; Thu, 3 Jul 2025 04:12:32 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1032030.1405797 (Exim 4.92) (envelope-from ) id 1uXHrU-0000iM-33; Thu, 03 Jul 2025 11:12:16 +0000 Received: by outflank-mailman (output) from mailman id 1032030.1405797; Thu, 03 Jul 2025 11:12:16 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHrU-0000iF-00; Thu, 03 Jul 2025 11:12:16 +0000 Received: by outflank-mailman (input) for mailman id 1032030; Thu, 03 Jul 2025 11:12:14 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uXHgs-0003ud-VB for xen-devel@lists.xenproject.org; Thu, 03 Jul 2025 11:01:18 +0000 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [2a00:1450:4864:20::430]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 0afa8adb-57fd-11f0-b894-0df219b8e170; Thu, 03 Jul 2025 13:01:17 +0200 (CEST) Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3a503d9ef59so4100173f8f.3 for ; Thu, 03 Jul 2025 04:01:17 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e62144sm18640340f8f.92.2025.07.03.04.01.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:15 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0afa8adb-57fd-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540477; x=1752145277; darn=lists.xenproject.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=uKP0VLAduRG0J485sBOx50Iuc98l/po9P1xQbbf9Dzs=; b=vAKymo6pbdHYJ8/Mk8pTM3ZYniU8CtGJRqW+VGVtiIVFntAkS5KFLj6FXGjdfzvqCB xZErAN5nzBo8WqyDIDh9GU4np+60EO1YFhUZs2hdU+POOANyl+0CwI9wmlF/XoD9uODr qBzgQ6AVBV/7F1SV70o5wHPzgKgvllvf3q8XMk/Sde+PY+sL1AW5T/ewsHFP6d8ZttUt pqcyIawjpRmIi60LUdQQcM+JRNlWO4Fv2kEsAVGtBhgIPifoi9NHB1wQPoQ3hqhMYdGC Z+MmmOiUWWRZdqSMmOtCrPclSx0r/xC43aCLG5K8GDKhzXAQGeWpIsr1kAVuI+/VN0f5 TINw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540477; x=1752145277; 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=uKP0VLAduRG0J485sBOx50Iuc98l/po9P1xQbbf9Dzs=; b=A7/ZDK2j0xyD4bL2hH655HGE8uWUMDuKsRc5pO+BavgVxYVEWM2CB8sHO8RmcoNzNT fCPW9f3ekmF4k4kVTnsZBdS/FkXuce/kW3XKa+xs2ZlQAsO1hh2ZI+Vv5Pu2F/QiEdCQ z+OEHUNPIav4kehEzvw+eJtOlyiDfVmRoGEHaybUWwDfGXDVThXJJ/v9vigDKGHzMCW7 ZRqlJOllV6Z9fT+sI95nB01BmSVYNKuFYf1FOEmaqP0gjrKIcEm6/TiKJKQEYMmHeVHn qWLjRUNVdH5ktK4aGcutHTURe48kpqWLkUX5HZ5gBS3+O7QWcbkqw4MeSEc/cRNiM+r+ LzLw== X-Forwarded-Encrypted: i=1; AJvYcCVlB32ITfFp0K/lIUaDEIqDF/Fl/YDzOhNxA/NYaeGVxBqzjC2fX8MK7qhcmpj36c4EiZPspyg3eQg=@lists.xenproject.org X-Gm-Message-State: AOJu0Yzx2YAWfHwD0WmyECcLZt2Y1eYUt3KdcFyQq4UO3MPpJ7umacL2 Mn+XX/9KJNnrUPWI6OcFFfIy/JnA3GRIhshM80yp4YcIDBdLAFHgj5CXVBBGh95sG40= X-Gm-Gg: ASbGncvRPXd20txKzZJV6DY1WKAlRlQYupcC+AYfeyQueDPOQaMhLbreAKbvRkUC7UC p4iqLi7yQ/Qdtobor9UpQl9BrilZYdLPEdaH3BhgTnPrGGKj06ATjIbFA6UOcpHC7K5c17IHitM R9P5n3XxsI2d4itLWMcSJLhPni6Kff+iLteACRIyv0g/ONG1U/iurbhzArklKmSdZC4/dKEDGri Wdnr3VtB4bkyv44CSlJSPBVd0Agjo4dBtP04Lzn3eu49jOMsDQMgQ6srXhADeJRBIMYKxM4h5Kr seGEW38BlK5mfiMZWXNNbruqjE5soUk5UjFFV4OKtCTNDyfq4Rda27SEg29K11Kimq1UvGaQcBd XxcSN2mtwKok= X-Google-Smtp-Source: AGHT+IH1waIm5SnslmK1jzYHT2bCe4cwQIZPcz0opPv+3p5nz+zh7l6lVax9Sh2kElftxEKA9kEKhw== X-Received: by 2002:a05:6000:22c3:b0:3a4:d8f2:d9d with SMTP id ffacd0b85a97d-3b200865a0amr5118820f8f.38.1751540475685; Thu, 03 Jul 2025 04:01:15 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Reinoud Zandijk , Sunil Muthuswamy , xen-devel@lists.xenproject.org Subject: [PATCH v5 63/69] accel: Always register AccelOpsClass::get_elapsed_ticks() handler Date: Thu, 3 Jul 2025 12:55:29 +0200 Message-ID: <20250703105540.67664-64-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541153882116600 In order to dispatch over AccelOpsClass::get_elapsed_ticks(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::get_elapsed_ticks() mandatory. Register the default cpu_get_ticks() for each accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- include/system/accel-ops.h | 1 + accel/hvf/hvf-accel-ops.c | 2 ++ accel/kvm/kvm-accel-ops.c | 3 +++ accel/qtest/qtest.c | 2 ++ accel/tcg/tcg-accel-ops.c | 3 +++ accel/xen/xen-all.c | 2 ++ system/cpus.c | 6 ++---- target/i386/nvmm/nvmm-accel-ops.c | 3 +++ target/i386/whpx/whpx-accel-ops.c | 3 +++ 9 files changed, 21 insertions(+), 4 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index e1e6985a27c..8683cd37716 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -86,6 +86,7 @@ struct AccelOpsClass { int64_t (*get_virtual_clock)(void); void (*set_virtual_clock)(int64_t time); =20 + /* get_elapsed_ticks is mandatory. */ int64_t (*get_elapsed_ticks)(void); =20 /* gdbstub hooks */ diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 420630773c8..17776e700eb 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -54,6 +54,7 @@ #include "gdbstub/enums.h" #include "exec/cpu-common.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "system/hvf.h" #include "system/hvf_int.h" @@ -367,6 +368,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->remove_all_breakpoints =3D hvf_remove_all_breakpoints; ops->update_guest_debug =3D hvf_update_guest_debug; =20 + ops->get_elapsed_ticks =3D cpu_get_ticks; ops->get_vcpu_stats =3D hvf_get_vcpu_stats; }; =20 diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index a4bcaa87c8d..f27228d4cd9 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -17,6 +17,7 @@ #include "qemu/error-report.h" #include "qemu/main-loop.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/kvm.h" #include "system/kvm_int.h" #include "system/runstate.h" @@ -94,6 +95,8 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) ops->remove_breakpoint =3D kvm_remove_breakpoint; ops->remove_all_breakpoints =3D kvm_remove_all_breakpoints; #endif + + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo kvm_accel_ops_type =3D { diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 8e2379d6e37..b019cf69412 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -20,6 +20,7 @@ #include "qemu/accel.h" #include "system/accel-ops.h" #include "system/qtest.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "qemu/guest-random.h" #include "qemu/main-loop.h" @@ -67,6 +68,7 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->kick_vcpu_thread =3D cpus_kick_thread; + ops->get_elapsed_ticks =3D cpu_get_ticks; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; ops->handle_interrupt =3D generic_handle_interrupt; diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index a8c24cf8a4c..f22f5d73abe 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -27,6 +27,7 @@ =20 #include "qemu/osdep.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/tcg.h" #include "system/replay.h" #include "exec/icount.h" @@ -205,6 +206,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->cpu_thread_routine =3D mttcg_cpu_thread_routine; ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; ops->handle_interrupt =3D tcg_handle_interrupt; + ops->get_elapsed_ticks =3D cpu_get_ticks; } else { ops->create_vcpu_thread =3D rr_start_vcpu_thread; ops->kick_vcpu_thread =3D rr_kick_vcpu_thread; @@ -215,6 +217,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->get_elapsed_ticks =3D icount_get; } else { ops->handle_interrupt =3D tcg_handle_interrupt; + ops->get_elapsed_ticks =3D cpu_get_ticks; } } =20 diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index 18ae0d82db5..48d458bc4c7 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -20,6 +20,7 @@ #include "qemu/accel.h" #include "accel/dummy-cpus.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "system/xen.h" #include "system/runstate.h" @@ -156,6 +157,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->kick_vcpu_thread =3D cpus_kick_thread; ops->handle_interrupt =3D generic_handle_interrupt; + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo xen_accel_ops_type =3D { diff --git a/system/cpus.c b/system/cpus.c index 6c64ffccbb3..d32b89ecf7b 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -240,10 +240,7 @@ void cpus_set_virtual_clock(int64_t new_time) */ int64_t cpus_get_elapsed_ticks(void) { - if (cpus_accel->get_elapsed_ticks) { - return cpus_accel->get_elapsed_ticks(); - } - return cpu_get_ticks(); + return cpus_accel->get_elapsed_ticks(); } =20 void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) @@ -668,6 +665,7 @@ void cpus_register_accel(const AccelOpsClass *ops) assert(ops->create_vcpu_thread || ops->cpu_thread_routine); assert(ops->kick_vcpu_thread); assert(ops->handle_interrupt); + assert(ops->get_elapsed_ticks); cpus_accel =3D ops; } =20 diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index d568cc737b1..4deff57471c 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -11,6 +11,7 @@ #include "system/kvm_int.h" #include "qemu/main-loop.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "qemu/guest-random.h" =20 @@ -83,6 +84,8 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_post_init =3D nvmm_cpu_synchronize_post_init; ops->synchronize_state =3D nvmm_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D nvmm_cpu_synchronize_pre_loadvm; + + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo nvmm_accel_ops_type =3D { diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index fbffd952ac4..f47033a502c 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -12,6 +12,7 @@ #include "system/kvm_int.h" #include "qemu/main-loop.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "qemu/guest-random.h" =20 @@ -86,6 +87,8 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_post_init =3D whpx_cpu_synchronize_post_init; ops->synchronize_state =3D whpx_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D whpx_cpu_synchronize_pre_loadvm; + + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo whpx_accel_ops_type =3D { --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540732; cv=none; d=zohomail.com; s=zohoarc; b=KUUqKT5yYjzXk0OnpviUigMxpm0cyNgNoxmsnogJfqtrvxjpu3+aTSW0k++VdfgKAM8YA0ytc/GAECK90mYw1+hle4NkpDQftdVv90+bIv+71hnn7gvzdALUJxvPMPsdMbkmj//45zfFOhWiPeyDKiENL0cDucv+NG7kfLRCNR4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540732; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mzJU9cMvdw7qI1DsUYXk4sIGt7aNTKeIdxs9XPIRBAs=; b=nlfUglhijfJQ5bu0y9mz48EuszB/Z7jCmx60W6M3A4yQTXFG/RFBpEyZXP+rwFXSJ8yq/aHBPX3NfVQWOvVhP1cLZLmSLbcYMZPBjVHu+jmXQGH0RiqJanvfDnMueY6K0LW8BROVciWkMXUbZW6V2fZ/USC2DBdox9zGWBwLgiU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540732235419.6336596180846; Thu, 3 Jul 2025 04:05:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHjz-0006uH-Jh; Thu, 03 Jul 2025 07:04:33 -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 1uXHgz-0000bo-KD for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:26 -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 1uXHgx-00044G-Mm for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:25 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-454aaade1fbso8482255e9.3 for ; Thu, 03 Jul 2025 04:01:23 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e72c1sm18152198f8f.1.2025.07.03.04.01.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540482; x=1752145282; 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=mzJU9cMvdw7qI1DsUYXk4sIGt7aNTKeIdxs9XPIRBAs=; b=xXLFjQy8cg/s2I+sZ0BVoHM9G2SuKtVFkN9X+1VBlvcVkK34qId/IEs9KBeOntZcjz Ugqt6MmPXugBmK2Ak1YOWDYJaePlyQos3sfHy+AuWU+1gOJa0Oxq7XWGmnH4y7Vsn1tq N0+H6KtS9WkmHyJrzbe21QN+YNCCot6VHt6SL8fzJnOdFQqgZ5Myp4r0Ptvo5hu9DiDT ek6uwZf2a7wrvBFufs3t4eEJcMIcIf9FkbbZF5YMlUC17jtcyejjwIZEvO1honCVW/ZO k9HqN+jkE7HtE34cI9PfOY/wp0zjPGfTiETgYbmwtvrqBuMtfTF3iZSGkqtPX7OwmxIq /joA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540482; x=1752145282; 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=mzJU9cMvdw7qI1DsUYXk4sIGt7aNTKeIdxs9XPIRBAs=; b=smojLsWo4TXJzjf4/b2/E8kcTDt3lU+1KucwBQVfDHMzBGn+jP4YXO5apLabT0alZo sybuTZt4v9Zuhc4EiXUnG/XgvdMo1dI7jg6EL3l4CL9QFH96ZZrrEiwcRdOiIeIBFKhB 1BoYRZ27dVBu4SXJ1PP80f1j19DpEMVol058K6IVhXxLW7eB8t+nl2WPH5Jru9BhHSJa DX5Mo1sW4CU/smuL9dCFvNN1CaebWlP0grRRRKoRWIJOeV/R/NrTy0ygblMPZ9UGZa+8 8GQF8UVOvHZO6j6Nppe+XaZYMB62sAEIBrzTuY6NHRDLaocjz3VILyQyWJ52qfkud1Su jtOQ== X-Gm-Message-State: AOJu0YxFS4NjCizCvVmqKgAPLpyPnK0zwf0rdWeTSmTVWf/yKL0bYzjT RYuPf+wB8UWu/iqZ4J7hxRlyBosESrn7/a9UbIQxYouRrJyBSX9tWZmj2JWxeQF3jSbLHx/oxLz Lm0Vn8LM= X-Gm-Gg: ASbGnctQM+MwglBXwLStWHD1VwG5vJxOnteIDONcv0H997IHaEhugzUi6vD8CasSrFt E/du4LuOAilvu/K5DK2cPXehCXoiwDVFt1XHb8lJw4CSFZmqEa1wcr8bRAViB0tme2pai45QdKY skhX2ysSKKM2lLbuWixQf2sGNevWecqKvsKjYnkL+7QxSrWQk9ZxDwRI+ZrKPxN4JwJXVswwo8y 2KuMGHl4k06p1Mh/ykVdncHTgbhJWiW+E4OMfgvWTY2aWdO5bue6ZUEUxMBAzbhuNjIEwsr70NC xnPNrb2qQw6zFYuaeLj4u/3Ig/l5hOMBFXwv6Srpe+qpaicG9Kwb5Mrp9IPWVasL0PV6hxhaTNw 8KypDTDUcrEE= X-Google-Smtp-Source: AGHT+IE9gr9T60NDzRkUuqivylovRxkkmt/fAWeG25n0gokPfhcpDnEXTvr0sTrW5HUyGajZcY1CBA== X-Received: by 2002:a05:600c:4f84:b0:450:d37c:9fc8 with SMTP id 5b1f17b1804b1-454a3e1a96amr69146295e9.13.1751540481514; Thu, 03 Jul 2025 04:01:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Reinoud Zandijk , Sunil Muthuswamy , xen-devel@lists.xenproject.org Subject: [PATCH v5 64/69] accel: Always register AccelOpsClass::get_virtual_clock() handler Date: Thu, 3 Jul 2025 12:55:30 +0200 Message-ID: <20250703105540.67664-65-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540734683116600 In order to dispatch over AccelOpsClass::get_virtual_clock(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::get_virtual_clock() mandatory. Register the default cpu_get_clock() for each accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- include/system/accel-ops.h | 2 ++ accel/hvf/hvf-accel-ops.c | 1 + accel/kvm/kvm-accel-ops.c | 1 + accel/tcg/tcg-accel-ops.c | 2 ++ accel/xen/xen-all.c | 1 + system/cpus.c | 7 ++++--- target/i386/nvmm/nvmm-accel-ops.c | 1 + target/i386/whpx/whpx-accel-ops.c | 1 + 8 files changed, 13 insertions(+), 3 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 8683cd37716..d5154acc75a 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -82,6 +82,8 @@ struct AccelOpsClass { * fetch time. The set function is needed if the accelerator wants * to track the changes to time as the timer is warped through * various timer events. + * + * get_virtual_clock() is mandatory. */ int64_t (*get_virtual_clock)(void); void (*set_virtual_clock)(int64_t time); diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 17776e700eb..cf623a1ea47 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -369,6 +369,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->update_guest_debug =3D hvf_update_guest_debug; =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; ops->get_vcpu_stats =3D hvf_get_vcpu_stats; }; =20 diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index f27228d4cd9..dde498e0626 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -97,6 +97,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) #endif =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo kvm_accel_ops_type =3D { diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index f22f5d73abe..780e9debbc4 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -207,6 +207,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; ops->handle_interrupt =3D tcg_handle_interrupt; ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } else { ops->create_vcpu_thread =3D rr_start_vcpu_thread; ops->kick_vcpu_thread =3D rr_kick_vcpu_thread; @@ -217,6 +218,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->get_elapsed_ticks =3D icount_get; } else { ops->handle_interrupt =3D tcg_handle_interrupt; + ops->get_virtual_clock =3D cpu_get_clock; ops->get_elapsed_ticks =3D cpu_get_ticks; } } diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index 48d458bc4c7..85fb9d1606c 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -158,6 +158,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->kick_vcpu_thread =3D cpus_kick_thread; ops->handle_interrupt =3D generic_handle_interrupt; ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo xen_accel_ops_type =3D { diff --git a/system/cpus.c b/system/cpus.c index d32b89ecf7b..6c99756346a 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -216,10 +216,10 @@ int64_t cpus_get_virtual_clock(void) * * XXX */ - if (cpus_accel && cpus_accel->get_virtual_clock) { - return cpus_accel->get_virtual_clock(); + if (!cpus_accel) { + return cpu_get_clock(); } - return cpu_get_clock(); + return cpus_accel->get_virtual_clock(); } =20 /* @@ -666,6 +666,7 @@ void cpus_register_accel(const AccelOpsClass *ops) assert(ops->kick_vcpu_thread); assert(ops->handle_interrupt); assert(ops->get_elapsed_ticks); + assert(ops->get_virtual_clock); cpus_accel =3D ops; } =20 diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index 4deff57471c..a2e84cb087a 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -86,6 +86,7 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_pre_loadvm =3D nvmm_cpu_synchronize_pre_loadvm; =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo nvmm_accel_ops_type =3D { diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index f47033a502c..d27e89dd9c5 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -89,6 +89,7 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_pre_loadvm =3D whpx_cpu_synchronize_pre_loadvm; =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo whpx_accel_ops_type =3D { --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541416; cv=none; d=zohomail.com; s=zohoarc; b=kzuHJ2cF2edt4YidsMvOZQ2jWwlY+QD7je2BX9oOkaJord8S77AMu9ogknbYjAu7ZK3/gwEz401Clk/rIQQ4fkpbe3F6ZqFszllTT8d60Hjf/k5bX3nCa3rIGFOl8yyC36E65kfbKkogJv9DuFtVRP81Ld8XidhXHUjX68EVvxA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541416; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=iVv77+T3+ACMfJtq+FwRrQOYxT41VnoDNDgY/IfZvIE=; b=fR5jxqwObvf0y8vMuQ1IS8OttclOQ5n9qCOqt3lMXZ8Mu+aB8xAdWbQfD6FA4MUpx32C5UeMsZU0Jcw5xp1yu5Rn+LnJI7lvfLsVbJa61xKCHm7/gU8vbQrhKo73FsHgZF9aMWaDK+HV9uG+pJIE3/gbO6YWD2edTXEw7Ljz6so= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541416258207.65761303947284; Thu, 3 Jul 2025 04:16:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHjh-0006nv-Do; Thu, 03 Jul 2025 07:04:19 -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 1uXHh5-00017j-7H for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:36 -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 1uXHh3-000450-E9 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:30 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-453608ed113so57086275e9.0 for ; Thu, 03 Jul 2025 04:01:28 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454adc71a96sm11323625e9.24.2025.07.03.04.01.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540487; x=1752145287; 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=iVv77+T3+ACMfJtq+FwRrQOYxT41VnoDNDgY/IfZvIE=; b=hElDjqknTnQez32nl5iy+V+NgIupjVY0fR5/VlthroN5Y1Iwo1jyyoqT95JW3b/Kkn qElX3HwOAcDmHi39eN9n56OXoBMsDdk9snr3ypMxbCNy0fXa+rnwnf3GkNo04CyUt+in 8fSooo+ObpN13Z5f2B6somIjNdFnocz5yfbYwwrBLnP7cSzU2mT3KP7vly73cKxQTyLM 8lsuQHE5w7RiOdCkvlfV+8gB1yXVMNcjIK6KWx2Xg3uU46QZxcFy2Hh2ShNGIytabkNG CSboGaByA5okmOX+z7PCo50/mtNDCl/JRIWdBP0mHNr4OU9i/BrezoxPm3GSlkP9RzJS pm5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540487; x=1752145287; 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=iVv77+T3+ACMfJtq+FwRrQOYxT41VnoDNDgY/IfZvIE=; b=C88w770Yf7SE5UVyZYoAkX0kwbQhss4oBMMVOMN05ipsj9Z8vcW0vpZNX99cyXnen0 qoQJO6yREtG1ygFzYMpLQUFtcGs/xgsHgbB8BUU5rtEqZsj54cDH2DZmrclF6uQIX4qB mFLrrLrhK+xZ+M6jEXmpYvYshJDbDTSUVIk+3IhYc3XJJqjaMIufeAXPEomrtCaP0GPB cHQIs3RGMtplSozWjRpX6SdP5et/CCtOVttg7JCUTamZQzPgNw15qdIb1Jnj8aeHx+Ug mayDpicwQfv5EGT5+OJPbhEdu9zL5RWKOZr8/93Lfz/Im/QhMrnWMKfToOJ9Vc/tjjR+ AG3w== X-Gm-Message-State: AOJu0YwGbJLwoX0o2qs56zoKbEjzKQv2z5WikOcN3FDUYcQoXjPy/FBv ciuW1CiLXCVVvnUKH0+wfuPJv/Ig+vTZfdNEwy8zvuIqhhau8Ds1NZSS8U6t7/PQQC3aYtOt3uU ZiiOdL7M= X-Gm-Gg: ASbGncuYKLQpkiDz0c8X74cl+25h+R5AjE1p2XgAGHEFDUbIegNveKd+BUAlUpwPHUc OHll4h6P8hZmtEgmF/bT0uKN50Xkx6IpJRhEXu3/9xbchPp/72LVPUlENrGUl6sdjZrm0Dv5brb ltWtaP2rihU0D0a41+RLd+E1cbSMcjncOd5blSJaK65RiybuvhOZ+/jm3Q+BQR5SYPhFiKaJI4q z6VsRsUuvZuxOJLPRz2LpO1dVTeJCF+zHdTE0FI9VK26BTRFMi2tYjceATcvbLG2V3puRbP4VlT o909RUx0k4OeoSltYNBSeHfK79UwLL+WIg2YTftVdA1REEYtXlN62AI3CzL3sc3B/C+fSUMCD3q zDLiAtiRgu0Q= X-Google-Smtp-Source: AGHT+IGA9I3qbJr9+lDfQNbKuMpUBqcBmxbud/aj7IOWUecC0jRGcLwEZ5BDaM+WV1v8cJyY9B2alA== X-Received: by 2002:a05:6000:2184:b0:3b3:e29:bda7 with SMTP id ffacd0b85a97d-3b32b14591dmr1811101f8f.9.1751540487431; Thu, 03 Jul 2025 04:01:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 65/69] accel/tcg: Factor tcg_vcpu_init() out for re-use Date: Thu, 3 Jul 2025 12:55:31 +0200 Message-ID: <20250703105540.67664-66-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541418784116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops.h | 2 ++ accel/tcg/tcg-accel-ops-mttcg.c | 4 +++- accel/tcg/tcg-accel-ops-rr.c | 4 +++- accel/tcg/tcg-accel-ops.c | 7 +++++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/accel/tcg/tcg-accel-ops.h b/accel/tcg/tcg-accel-ops.h index 3f8eccb7a7f..a95d97fca29 100644 --- a/accel/tcg/tcg-accel-ops.h +++ b/accel/tcg/tcg-accel-ops.h @@ -20,4 +20,6 @@ int tcg_cpu_exec(CPUState *cpu); void tcg_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); void tcg_cpu_init_cflags(CPUState *cpu, bool parallel); =20 +int tcg_vcpu_init(CPUState *cpu); + #endif /* TCG_ACCEL_OPS_H */ diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 96ce065eb59..4de506a80ca 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -79,8 +79,10 @@ void *mttcg_cpu_thread_routine(void *arg) qemu_thread_get_self(cpu->thread); =20 cpu->thread_id =3D qemu_get_thread_id(); - cpu->neg.can_do_io =3D true; current_cpu =3D cpu; + + tcg_vcpu_init(cpu); + cpu_thread_signal_created(cpu); qemu_guest_random_seed_thread_part2(cpu->random_seed); =20 diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index fc33a13e4e8..9578bc639cb 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -192,7 +192,9 @@ static void *rr_cpu_thread_fn(void *arg) qemu_thread_get_self(cpu->thread); =20 cpu->thread_id =3D qemu_get_thread_id(); - cpu->neg.can_do_io =3D true; + + tcg_vcpu_init(cpu); + cpu_thread_signal_created(cpu); qemu_guest_random_seed_thread_part2(cpu->random_seed); =20 diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 780e9debbc4..6823f31d8ad 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -77,6 +77,13 @@ void tcg_vcpu_thread_precreate(CPUState *cpu) tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); } =20 +int tcg_vcpu_init(CPUState *cpu) +{ + cpu->neg.can_do_io =3D true; + + return 0; +} + void tcg_cpu_destroy(CPUState *cpu) { cpu_thread_signal_destroyed(cpu); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540781; cv=none; d=zohomail.com; s=zohoarc; b=SMoDeUs7xFAGvXOhM7iZZQlyL1YwWRaS3NaRHzbmtWMECDnK7QzNuii0Nx17mDJcr5I9Q1HHW4ewM6nqq/7VH7sq7Kw+FQOP2HigmmraKZWmlLdVu0xDChcPz6gLCnqglaayDKrrVXqEiQlcg1A7C4FAeV+YNQmtwVosybdmt1Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540781; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=m478kLJmgkVJLppYyCk6e1zeeU4b7TwzrQ0ODlPJ2Ls=; b=gEMVU2130mGkzU1duJbQkPC9TTBoyXqW1RkxRq7w0ddmXghmy5+01SUwzXwvrjQpdHp4zxUkveTb3WiPuNsXE1RkXHLLq2FWXBWMLjvY2jO5lW1Cz5lvmjRdBm4e8GZD8YQAZoqc1UN+rjouxMb3NJjrl+Lv9POSx/+VWeRBZvg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540781099990.0802080992929; Thu, 3 Jul 2025 04:06:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHkC-0007A1-Ve; Thu, 03 Jul 2025 07:04: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 1uXHhB-0001GX-S9 for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:40 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHh8-00045f-LO for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:37 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3a525eee2e3so4893129f8f.2 for ; Thu, 03 Jul 2025 04:01:34 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7fadf3sm18666026f8f.34.2025.07.03.04.01.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540493; x=1752145293; 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=m478kLJmgkVJLppYyCk6e1zeeU4b7TwzrQ0ODlPJ2Ls=; b=rwUeWqmfTfjTx8HInOBuZD2/fSVN5F9Iyi/xFae+HLd7DPiYxTTe9oo18Y/nssxtd/ XAA6v/CZ8ePCtAZTKZd0UtQVQxBFw7XkBUXj6yDEEOsNhf5Udx4WhbL901Lt7n6V6gBr L2GI+WCcF6C4XeHAzYisRalbPOQz120wTY+AZXQ4aYq9wTarpUJwbnqyh1gKiOCilnzb kf7JLdGUlKOaZD81fcuhzKJHK1tZ1KBHQU4uZemCiDNldZdh/XLYHzR6feVUqqfNTAcn 3OzojB/+RzgHTjeV+xxy4e/K2vcNXG5ZM4Rlk0ZvhpI6q6E53/91LOwx+tdW07NjblcM iHdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540493; x=1752145293; 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=m478kLJmgkVJLppYyCk6e1zeeU4b7TwzrQ0ODlPJ2Ls=; b=ITMYceYQAiinu92fo2nc6eavzi1etARI2VZjp9UZ8HoCLj1/yrpQ+FVhvQMfQD0ej8 H8I+ty3pkxxvXB786yxjDscDo00Y3PG1uhUtUsCjra7WaA21JZGVy2TRQis7RYFhqMao 2C9QjD2hLqP3MlgnqumPZ70QgIyUU+0D4Pb482XfheALaW2gFF2ZeQ3wpG1A+c3SqUBQ Jgk1Kgy2vKWlveFO2UcPsaKpcbChRnP3DvoKC+IvRGMjjOCPwlnQYVGmTGby+75tdDtb gJo4tmHA1X2pgpOzV6Vc205EabhY1BrnWmHFb0lyzq8oTJRfCcwVmTtGbyheoJNEUmB+ UFyg== X-Gm-Message-State: AOJu0YyhV46ClY4bmnjtbIFap1dfrwWrOMY6RdJmHAbPCARMpQtpnJXV f1N3LGLY9JoIfoKzGkCv+CMCy8qdDq2i5gkST6pqALcNKmmWEN0sJrrAP1wiOm88jgOE1FHK59L FNMyM5s8= X-Gm-Gg: ASbGncs5KHP+7vELfo5SMNlL4drqtuNHSlZ5XqJ9Av9Hn7MoGRVkW3zrdytIkv3p6Bw ud/AEye3RigXT9FpLOq5qpRtEvjr16dwLpJ9TqAL1xjRjHUqRnpT86MA+yzHYLoBCsqH42JqUAK t1nPVMz1svFQdQ7XtOYPrgT0saAW3Rjygn6Cu195jgjdNESVmhorrqwfWXwDyca46XQzyyyiuVl 8TFKCSBEIHUs1fMhhefv27v67PMPNpMXvjOklAtUuUV1mUAVuYScarRS0lTxACL6spV8kYdIUCm +zrMG6B2vgHY5QaT3ShycKQxkCnOobkfMFLwmURgyBZTiCU4HgnArwoTJroOmMZhcmNspVIPD9V NScsB1SJEfWA= X-Google-Smtp-Source: AGHT+IGIMgupF+X350G1iQE9ivRvgkFBJXHg/X2hkLxKMzy2IDW7GqsBRN5vVWJ19cFF9OZbbcgAug== X-Received: by 2002:a05:6000:2802:b0:3a4:dfc2:b9e1 with SMTP id ffacd0b85a97d-3b32b4277acmr1682699f8f.2.1751540492512; Thu, 03 Jul 2025 04:01:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 66/69] accel/tcg: Factor mttcg_cpu_exec() out for re-use Date: Thu, 3 Jul 2025 12:55:32 +0200 Message-ID: <20250703105540.67664-67-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540782970116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-mttcg.h | 1 + accel/tcg/tcg-accel-ops-mttcg.c | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-mttcg.h b/accel/tcg/tcg-accel-ops-mttc= g.h index 8bf2452c886..72eb1a71d61 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.h +++ b/accel/tcg/tcg-accel-ops-mttcg.h @@ -14,5 +14,6 @@ void mttcg_kick_vcpu_thread(CPUState *cpu); =20 void *mttcg_cpu_thread_routine(void *arg); +int mttcg_cpu_exec(CPUState *cpu); =20 #endif /* TCG_ACCEL_OPS_MTTCG_H */ diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 4de506a80ca..6f2a992efad 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -91,10 +91,7 @@ void *mttcg_cpu_thread_routine(void *arg) =20 do { if (cpu_can_run(cpu)) { - int r; - bql_unlock(); - r =3D tcg_cpu_exec(cpu); - bql_lock(); + int r =3D mttcg_cpu_exec(cpu); switch (r) { case EXCP_DEBUG: cpu_handle_guest_debug(cpu); @@ -130,3 +127,14 @@ void mttcg_kick_vcpu_thread(CPUState *cpu) { cpu_exit(cpu); } + +int mttcg_cpu_exec(CPUState *cpu) +{ + int ret; + + bql_unlock(); + ret =3D tcg_cpu_exec(cpu); + bql_lock(); + + return ret; +} --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541587; cv=none; d=zohomail.com; s=zohoarc; b=gF/R/zvGonqszONMuzP114v7ja9npMQjLEAQ7m66P9qR7DmMbz5XAQqFHugI7Xz0U2TXHHa+Md/f70EO3gGYVkCWU9N0m9s36nO+4wscKEdUyjYJEgr0g3syo7unjBGHp+7dQ0hwUZjHUV6yaQoTWXwszJEnjlLMC7aL9L2R3dk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541587; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OlVw0qlAe+vja7bYyOtLn/rW8RkSmVUiIwefJ7c8zZk=; b=n5clzInTA50SyD3i1qaCHjXXO8ri4IZJeL2Z160XIXcRMZs5HkGoCMb4I8K09NGiOJvvZA/CkSuMxrnxs7c2THJ2+w8fUOuOJZsUHqkmIfM2sYkD9mSlJFIS33JA0yt0hNewr2rzMf+9lTw35n4z1x2moNniOVsKNgO2pnFyGzo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541586756211.47213871407973; Thu, 3 Jul 2025 04:19:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHip-0005S6-0Z; Thu, 03 Jul 2025 07:03:19 -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 1uXHhG-0001WS-IP for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:44 -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 1uXHhE-00046v-9a for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:41 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so557776f8f.0 for ; Thu, 03 Jul 2025 04:01:39 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a892e59aaasm18000178f8f.83.2025.07.03.04.01.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540498; x=1752145298; 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=OlVw0qlAe+vja7bYyOtLn/rW8RkSmVUiIwefJ7c8zZk=; b=By9S0ZK9Li5CgPVGrsEQcLSdZ6kqoqwN1e60tzTCkXpBMoCticFM/FKudPwo56QMAO +64GtuUsabJLv/9VXyU/iemha0r8tGu1JcQ0isWR4HMZk94rOoUxq9bX1yfERK+rnWH2 Bs/rlyibHcSnkkDW96B+iJRpP08EDovbArzCZfDC8uShFop3Y66xQJle2et2Iw53LW53 bECdUbH2IIE26pE+5X36kbQy1Wan6AXTW5enlLyIZe744/c0Tdw0fdgLNdDs7cmD+OFf rHbZ+9xThaFGYeJaNWQHIO3iSk711Vbkxpg4bbq+hGCUyqlzEnE7aenMweSTqQOdP57o Lg4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540498; x=1752145298; 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=OlVw0qlAe+vja7bYyOtLn/rW8RkSmVUiIwefJ7c8zZk=; b=VYSISEs6lIGiBi+OzcqHkUhMg1NpS2z7aqnl+ApN7sfElMHvqOv5GAHeIf5/bBQBPZ H0I3W5Q5adysNo7Y7eBTy+6U++na6y0AbUhLVwUHQQkqCRa8EBdTb8UWosSQ8UHTSFCx Lw/0hY1zPJDfbC/76YgL4AJuDLS6oAPO3lE9ZbZ4YKJxzTsnKKrSUqqbfjPajoIlFEO9 svRAj/rOLCDsufhj9D8ECn72uuYQdvJnzKt0ztmQYJ0FnSlmWwT5U1EIjMaFtUGY1h5J p0iLcEJ7BSXUsEqtqXAc5+XySQ5VMsf6TkU2PXQWwcXCEx7BbYdOZ4zFQiqg2xtM43M0 Nt+A== X-Gm-Message-State: AOJu0YxJFqf67OjmM1j3EcNeyzbWePbOxkbe70le2hj2prXR19Sv+scO r9/9gPrCFoW+IvWEeULc0fYMVe7sXtatmaoBC+bMenuJuVAfSiZP+zJ+QcMnESSIBbOcdYv3pOE rDB4w1dY= X-Gm-Gg: ASbGncv9KWvkJBmhbtDTHWK6k9yTTqIp3OsY3+FeuHPrPEoxHs+zY9XgfE6SxjvPKpO l9jviWjd9cxPpxdSApFNfPqDEoF/Yse19N71Y7w0aIFCVdRHUz2yLadfwqeYO6ak6VnLwDci8vJ npKcMC5IUOOXzYOauwm9R6D88pOmReHlKCp47GOaPaE2ukKVfd/o3UQDXEc2M5ux7Hro5AG1/c5 sTlmGXQRW7GyZijYEwKETbyJIgTeLv02ZkoT2Byuu9m0wgowZ2BREmTw0RVrad7WGK1scEwBRPX 2U+Ur2ModW0mUxjZBpI/3qxyXjMmcj0xZgvY5H/4OkbPWP6mNt/bOPEQChg6x54AJpaojG0okHi Xe1a03HqNObc= X-Google-Smtp-Source: AGHT+IEwu22mbFkl1rhzB3HygZbLt0VI4Bzye/g/jnm9qC1XNkE7RNZ7ayhpruh8WHbzvMo2Ak18vQ== X-Received: by 2002:a05:6000:200c:b0:3a4:dfbe:2b14 with SMTP id ffacd0b85a97d-3b343886534mr2079025f8f.16.1751540497685; Thu, 03 Jul 2025 04:01:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu Subject: [PATCH v5 67/69] accel/tcg: Factor rr_cpu_exec() out Date: Thu, 3 Jul 2025 12:55:33 +0200 Message-ID: <20250703105540.67664-68-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541588429116600 Altough we aren't going to re-use rr_cpu_exec(), factor it out to have RR implementation matches with MTTCG one. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- accel/tcg/tcg-accel-ops-rr.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index 9578bc639cb..d976daa7319 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -169,6 +169,25 @@ static int rr_cpu_count(void) return cpu_count; } =20 +static int rr_cpu_exec(CPUState *cpu, int64_t cpu_budget) +{ + int ret; + + bql_unlock(); + if (icount_enabled()) { + icount_prepare_for_run(cpu, cpu_budget); + } + + ret =3D tcg_cpu_exec(cpu); + + if (icount_enabled()) { + icount_process_data(cpu); + } + bql_lock(); + + return ret; +} + /* * In the single-threaded case each vCPU is simulated in turn. If * there is more than a single vCPU we create a simple timer to kick @@ -254,17 +273,7 @@ static void *rr_cpu_thread_fn(void *arg) (cpu->singlestep_enabled & SSTEP_NOTIMER) = =3D=3D 0); =20 if (cpu_can_run(cpu)) { - int r; - - bql_unlock(); - if (icount_enabled()) { - icount_prepare_for_run(cpu, cpu_budget); - } - r =3D tcg_cpu_exec(cpu); - if (icount_enabled()) { - icount_process_data(cpu); - } - bql_lock(); + int r =3D rr_cpu_exec(cpu, cpu_budget); =20 if (r =3D=3D EXCP_DEBUG) { cpu_handle_guest_debug(cpu); --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751540611; cv=none; d=zohomail.com; s=zohoarc; b=Jic1aiGvMMqtqZlgk/wOlqg3CeMyc67UGXaDJbKn3pmYThYgnifINRtaE20vExRIQ3DITF85BLOExBebs7ciuzQk1t7wWVY8gLJ/SNLuiPQFfG73eol1GmXTI/7hdNp8YcXIw96d1/2uXXZ2UwBGHlOXkuSRL2LVBwzIpUn0jk8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751540611; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hYnKEElTC5IwOmZPbnF1VDHeVLYo+K3YiqWHHRzMLu0=; b=QlNkBXno8q3aqv5QEHhyyw5jN8/yBznzHFphMQfq+SiVGlwXoKnB1/5TVXEcT3PsntFd8q8G5k5QsKmoPkaxZwSHqGiUbi7bxcGru1dj2SAUWfST0xeMipP11+M6cKRJzbGB+XPqPP91X9PU2Q920GWPzsU9qKhUNzchOu18/Zs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751540611754317.4379127507202; Thu, 3 Jul 2025 04:03:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHiu-0005o2-O8; Thu, 03 Jul 2025 07:03:24 -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 1uXHhO-0001cg-5R for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:50 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uXHhJ-00048B-4A for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:49 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4538a2fc7ffso6180695e9.0 for ; Thu, 03 Jul 2025 04:01:44 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a9bde3b9sm23907695e9.28.2025.07.03.04.01.41 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540503; x=1752145303; 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=hYnKEElTC5IwOmZPbnF1VDHeVLYo+K3YiqWHHRzMLu0=; b=hxca4lK1eAnUW+RxMmZk3D82uIEp8GGaqbnJnjrbDVhNGsa0/72slMoWCzYimJ2FqF InwcELgN4EJ3AE1buMx+0POONPc8kGG9oek7enSo2rjpXsXx5rHaPxaxJH2j1zjdFcn1 RS+MG58EYvuGMyeYwomtue8vEht7RU8QLUTEKn395Qf4oPb+Hms3yDGrAMU4nW81tIuW UAOel05WAxF/8pluJuaKMntYSq9KjWg+dt2vem+tHdJY7VRSyM/XuYwH+h9/6okp7nIC jpYymiVA+9M1RBfQ0sleKtqGjsl2M2nbGBxDKC/aV595BeBYajCdDH0euNC0NiTLhLgv lopQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540503; x=1752145303; 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=hYnKEElTC5IwOmZPbnF1VDHeVLYo+K3YiqWHHRzMLu0=; b=S8lPdvka5HCIQKP3n/0DCYA780s7ZEXvHRwpFOlDINp7DYHjyV2aG9jha+gKH5neTs UfbsUaZeU7ZeXlv1ACBtEhCrWp2G9YfOVjSW4uPE/fPsH3foJmeBQK37VOGPs31NnStx nicKh+0K3kow9Iw6vzy3kUPOGUmob12nwad1VrkT7g4ZncxNDkfvDmGHf0Hi2uhdgaY+ nt+xuIVRoPN74x3IK1AWNVTtt4MSjm9/srDrjngpyB5VgHDqVUjmxS6GB77Y5N0+d3ql aPdkGT2Mk4gj5OoFmRDrrQzl/tMpZ+swIp80CluOmoEmKvjKEsNSSOLhqXr7wGq/y3Pk OjsQ== X-Gm-Message-State: AOJu0YzLIGIcVt3A2Uf09uhV4DXRdZDxk9zM9ssOUDEg7EHXPtxpV8XR xNL8BYxaeRieXQAlESBPON5X3XzkmEK/91SKIfBvkLY+FVwHVsGLB7VJD2E/UCnYMPkIhzBkAqk 5q19YFZg= X-Gm-Gg: ASbGnctvpBcuXqn96q8IjZVzIi+n8uw6CP/bLQk5RDYC+7FpGjuhpvMTjFkLrwApROa bhphFjpjCXDvbK940ZmxgEFRvCicdnQBKrOELjwyNzaS8JoIEa2HodPlGlhxlDR9RN/rxT6i4fz /5YbpmvrXHKx7EtL7fhj/W6l0/Ok6F66iJ1ANzixlmWyDPxFN3f1RyEhzp9EXi6tUYxHZnmcWof CsTZ9KOBE9I6vaw8ow2Qt4babt3Lsq+G6MwplLccxlnj10WNrZd0s79jmVwloWfm2pdeM/ZxOdM 57YJX02F1k0qgFnfPXSy4Wj+5Av9PWAiU7LBIRZ1FdevWsD0OQ5sjocIrIMU6hCyuRsRmlWjzTe hQITK1ZzN+18= X-Google-Smtp-Source: AGHT+IFdCajdFy7GoXw0aUuDzxPHqkPrhDSt0yuUGVOtUqyp9f38GDPXrJ+aNvB1mENvYSYuw0+u+Q== X-Received: by 2002:a05:600c:3f10:b0:43c:ed33:a500 with SMTP id 5b1f17b1804b1-454ab34622dmr22700395e9.10.1751540502931; Thu, 03 Jul 2025 04:01:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 68/69] accel/tcg: Clear exit_request once in tcg_cpu_exec() Date: Thu, 3 Jul 2025 12:55:34 +0200 Message-ID: <20250703105540.67664-69-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751540613028116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-mttcg.c | 1 - accel/tcg/tcg-accel-ops.c | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 6f2a992efad..543c4effa0e 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -112,7 +112,6 @@ void *mttcg_cpu_thread_routine(void *arg) } } =20 - qatomic_set_mb(&cpu->exit_request, 0); qemu_wait_io_event(cpu); } while (!cpu->unplug || cpu_can_run(cpu)); =20 diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 6823f31d8ad..c5784f420f0 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -96,6 +96,9 @@ int tcg_cpu_exec(CPUState *cpu) cpu_exec_start(cpu); ret =3D cpu_exec(cpu); cpu_exec_end(cpu); + + qatomic_set_mb(&cpu->exit_request, 0); + return ret; } =20 --=20 2.49.0 From nobody Sun Dec 14 20:29:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751541313; cv=none; d=zohomail.com; s=zohoarc; b=ReYmASHM3OyuLim1v/BSd8twLQNQ46ftT6bnmjN2l0eHZDZAWXr8gfQlOLxIeaJuqqK41ztOm+yn47xVPyq0zWhVf94/gFzTdInOenHRSa4di4/Exbz2iyhX0PvX0L1ya+DcmoukV70isLhp6MbK582w3sydELSeZoEpD8+KlEY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751541313; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=y41c1z5FO9paKQb2OenF8sh2dtfozLKUoL5o/ucwscI=; b=dml3zorfxqk4j6F63/aKl+0qsIXgwU1Plw/Sy20E0zEgiPLr/+66AeuL4pBve6Cp4+mClR5Hwuv6W0gM/wa/uMR9aUd/D9OJ+osZlQ6Q5HqIYgCjLQthgejYweOZ3BIWTG7i6eMtmwRppaHvk1rgfvw5EzFFBzyOSDBoRSwRwsY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751541313746395.88836618511243; Thu, 3 Jul 2025 04:15:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uXHj0-0006Ji-Jf; Thu, 03 Jul 2025 07:03:30 -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 1uXHhR-0001fZ-0h for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:59 -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 1uXHhP-00049s-DF for qemu-devel@nongnu.org; Thu, 03 Jul 2025 07:01:52 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a53359dea5so3113521f8f.0 for ; Thu, 03 Jul 2025 04:01:50 -0700 (PDT) Received: from localhost.localdomain ([83.247.137.20]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454a999c632sm23683345e9.23.2025.07.03.04.01.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 03 Jul 2025 04:01:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751540509; x=1752145309; 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=y41c1z5FO9paKQb2OenF8sh2dtfozLKUoL5o/ucwscI=; b=vaCq87MThJ0dNCjb0je+QwwIVvxTcJmrr++G6cYtH0zwpXhjivCY8AxOFNQbYyCi0y /Bq5ScpIAbByQggeMgmho2/0n9TNyH7lfbreIqKBUjerzGiyjqco80cn44YgcH0T00Dq Vi1/pxazAqLnrXB8fKIE0ydMgZP4Q3Q4i3Hcv5RZjtmZMMFEiZJlBsYS/HIiWJObTCYA ovF6FcyvxjJm5h5wvR8JWPrgpmZvftCn+6xLh5l8vCdebqFU87smSAiu4XkT8hipGFdq 1W/UMDuy3VLWckg5Skt6FtQw7WOAdfwW7DmJvA42veUHbgYLz5mwBdqG2YsAaEB+19tm k7Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751540509; x=1752145309; 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=y41c1z5FO9paKQb2OenF8sh2dtfozLKUoL5o/ucwscI=; b=fazoDycXkrgWzpsuTcv0aiIs4ZdHc7ED0hZHbaEUBUQOHgE+mFx4kixprcFyKtsDii Zufe1DDMXpfSjuCzH8vOmyw7FoMc/dOnY2vLHOE2SrR4Oybak3/+HbwwGEOlweNHt7wp QGwGkOk0VKSRdV0yCV8VIyx+L0TEOrBACFm+oHlGtq5oLIi6rbql0kzH7glquk6zJcFz gk79P//aBTjgmsbdnaeG9BZ1EtmgGKNmkkBY4NN3M97P80j9eIjk8yVr51JzSc4+rKGq 1ke1sqhOJVl3Wcmjm4awlS4F4gEgaxnfPtaO/VcG38Cpn5omSZY2NVDjqkYXV1XWQ2D9 b2hg== X-Gm-Message-State: AOJu0YwUq+lVEDYFm1+eJlqANeApzopuOLJ8iixqb9xTlpTxRTG4zF1q VGHsLQ2X8P3i7bnkXuaTPPeUpzYZGaTChcpGr+4SyHRfP08fFP297SGILkrMHiMqnSkaH70/hD/ jse8RI0Y= X-Gm-Gg: ASbGncvgjU/uzFdBDgdRq1km0HPtWfGqaImZVOBgNulT1/8dsCKwKzGsFqiyvhdVL7f 41h+cyGU8q6DfSxSSeXD/daFkSM3Fy5FDNQjEVw5kL/tqgiUWK0AZgw7zPHnxNj1pzcNX4awVNm ZqjG76LdXEtNcVXsg3uOmuMuGrEN56pzLgNtU6xnE8yW+KtP2WKQ0vdbW0LXyeDKLvCO3rzklHH ccsH4qxPrZDqQEcpn3F5ZlYxAqram2Mb5dW1nosQNqJ2JGfWMwJwm5RN9lg3r3p41yeO2h46OEb TJzpHnGjE1xjPiWCLulrCgVN3nOrPF8UTrUkjUBmSQq2XUnhVJtw5FDLxVEXSIgPPQ+aeZipD29 4aJQ28AxtsJcSKDJLQQSOEA== X-Google-Smtp-Source: AGHT+IGUzOWh1p66nPTXhGYrVXpNdG8Ig9SVmQbFWLOQ0lStUKfhlKtaElol00FmkiaFACVdWBtOjQ== X-Received: by 2002:a05:6000:2dc3:b0:3a4:f900:21c4 with SMTP id ffacd0b85a97d-3b1ff714c02mr5425125f8f.26.1751540508802; Thu, 03 Jul 2025 04:01:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Pierrick Bouvier , kvm@vger.kernel.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu Subject: [PATCH v5 69/69] accel/tcg: Unregister the RCU before exiting RR thread Date: Thu, 3 Jul 2025 12:55:35 +0200 Message-ID: <20250703105540.67664-70-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703105540.67664-1-philmd@linaro.org> References: <20250703105540.67664-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=philmd@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 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751541315548116600 Although unreachable, still unregister the RCU before exiting the thread, as documented in "qemu/rcu.h": /* * Important ! * * Each thread containing read-side critical sections must be registered * with rcu_register_thread() before calling rcu_read_lock(). * rcu_unregister_thread() should be called before the thread exits. */ Unregister the RCU to be on par with what is done for other accelerators. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Richard Henderson Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- accel/tcg/tcg-accel-ops-rr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index d976daa7319..0aa4ba393a4 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -313,6 +313,8 @@ static void *rr_cpu_thread_fn(void *arg) rr_deal_with_unplugged_cpus(); } =20 + rcu_unregister_thread(); + g_assert_not_reached(); } =20 --=20 2.49.0