From patchwork Fri Jun 20 17:12:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898352 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454624wrb; Fri, 20 Jun 2025 10:20:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXNdkj+ghJYci3qr2V2L75edoI7I0jsEjIxyoyXc5Wd2Fi/KEH2L/KE3t0bxq587JgYW/R4yQ==@linaro.org X-Google-Smtp-Source: AGHT+IGaPwfMIhJadQLDl2DrQZ1jap2Ehp9KumLwTny8iwhzKj8YTFuR9KfJ+ui20h5wXuzeWmKo X-Received: by 2002:a05:6122:658d:b0:52c:4eb0:118d with SMTP id 71dfb90a1353d-531ad5a71f4mr2656708e0c.4.1750440057732; Fri, 20 Jun 2025 10:20:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440057; cv=none; d=google.com; s=arc-20240605; b=gKe8NGIMELDuRfPpY/2hWVrvGzYCErP2Y3JNJOnUsRJ3iDc8rWsR0MNUat4I27g7UP daI/vrwMhHMUQIjNBlusOVyB4Ev31UmfDsAkE7UYOJdqLnGEuAQ14OMn1xoTAGi8A1X0 tx/6WsgmfPQ8D2bzB/SGTKZLSgGdMwDSQhYURiUlT76LHms/GQbKB9tHLOEmNJPjaUdp oIzEMAbmsySZ0sON/5WVC4cUvJ1kQEx9akbg8KsC0IJfOloZ3Gj38nhHttTGAZTtPCFy ndbaE7EXGxk2Rguanfa+zScQJq5ilrUdUlHsmm6svEoQgo9N3OyNZIFcoHluXkjNSLPR JtkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KWjItNWUmR5RGSyqchV2FSRpv7OZ5HV3ahAIHsZwTNE=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=M+HPRDK1Nq4O7XTf3JsyOO2rEqnsKeQr64JsYjmc0g0+GaJzCBwCwKj925TWNBMsUA p6kqKL0EjKzQrsic8Ag3zqeHW9wrBAgv/IL8qOUBfXo556rfz7Ya543NFZEoMNOZZ4BO 4BFGlNmw9S5AWMV+Uqlj6EK9sDEkXQYS2/uxh2ANM0LZ16Fob60dJgDU7M70ePhGi8TX l+QCtDNth72TFEmksa1dLQ61LAeIKZzXIiaKfbcnKbWKqoEl/p2yrGBmKTI6euYtoiiI dzAqmtGsdGsekACpfhCAHSnZbXPW4D1h9SvEeAc/KGxN5WwL7yBQmXfTyrWjX76auHXR f8IQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H6uiiVu0; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 71dfb90a1353d-531acc2c625si474037e0c.251.2025.06.20.10.20.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:57 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H6uiiVu0; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJK-0000Ns-QW; Fri, 20 Jun 2025 13:13: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 1uSfJI-0000NF-CH for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:13:52 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uSfJG-00048z-MX for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:13:52 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-453398e90e9so15071035e9.1 for ; Fri, 20 Jun 2025 10:13:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439629; x=1751044429; 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=KWjItNWUmR5RGSyqchV2FSRpv7OZ5HV3ahAIHsZwTNE=; b=H6uiiVu0cCngSlFx6bMJ6S9jlj4ReY8uXKrokkHn9edk7zrEZ9zLBzAHNtv3gMhkWZ 6rjw74DHTsnrG4AEm3soiUWgrd+qvUnGyqJcO2AbNY0E6+fLGe7bp4txzXEzeyBoEEbQ PtdiTO9PsVyrnWAqKLkBunCe8KzQ+qUwimXBBTaBCewQNTIGfIJMchynNkdpCN9lNVPl e7PHWBjl9OfmDloWYt4OQ0O/UwTLlg/mVzUdsJBAbAUlGcq59SfbEa0waKpzX+CG0jUb TkTv6GZqdhzbzuIs5YKVex8qLKYiwDP8l6XEQid3uldrwKdi/LwSJoCcdk4BxivU5jfe N5jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439629; x=1751044429; 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=KWjItNWUmR5RGSyqchV2FSRpv7OZ5HV3ahAIHsZwTNE=; b=ofUOHTfvegksVfU9xbaq98ytcy53Jm5HG8zJ/QDFKqdRp2geqz+OaeCQpVHDlEJ04i u9ejZzqNrjaOC3L9p515ujl04weZpch5yVey0j9xMJLhXtzoNdU+8o1R6zCvcHYGcItg YvMI9xGNM3EP63MIZR6K+CbmxMtqAzuYt9gVFzY18s57xffKrip7QXaaE3RfEPNBUI3J RSUk1a8TO2OXX9UurT8VAyLkoc4ar2U7AIDwEc7jbeF2kq+gRbbzz/1KIAWdcMu89Vm0 p2bbtauYVV0aHp586pO+WZoTkjRk//cUAyiB4+9qLwXtrHCmLrKStHBpFQkL9K/3iFV3 ZPWg== X-Gm-Message-State: AOJu0YzdNtpBr4WdnA34wBnMnKqk9I24wyKWi2XCgHQdhnY4iRfCkwF2 xzB4W+X7JfSo76cI5dYQ8m4eKuXmZW2e2dPLS5xeTVp5XEZaTNDx4DHgKmC1yyHBAXO5Bbee5iw 3MuOpv5Q= X-Gm-Gg: ASbGncvwEPupcCET1bNr/su0LCQZEroNYLNUMnnOWyrzIuotc+2EAgfRvDv0+RH/Pxx 8Ntv5pRC+szFKOCCQe5el67BZO4F5Z3S+LISvyo8ZGqB0/I0raDx7TgC0t2DORKyFNWJxdAbzCh nxr2PE6g3O5zo7kOe6aC58ir/petOzR6OAjhSev8plMWPbES6rv2kFqHLy+vwdR3BfrmkQIfWlM WxYMf5P2Nzw17UCE/KDgYDdLIZXcoJPCDjF73NX+V4GquUowGJJksEinxhFP18utTN/AcjpKWfC 6nnhbcOgvzZrRSJ+exOz+JSJ5sm7MZNA5LP+qgvQb110YPj7g9cWm/IAOIFBtX5dPDK09T5jHM+ +y/Vaac7oR/wEuEJoc+M/ce5FHFayy4oYr9sz X-Received: by 2002:a05:600c:871b:b0:43c:f6c6:578c with SMTP id 5b1f17b1804b1-453659d0a9bmr40538055e9.15.1750439628807; Fri, 20 Jun 2025 10:13:48 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1190d13sm2565934f8f.90.2025.06.20.10.13.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:13:48 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 01/48] system/runstate: Document qemu_add_vm_change_state_handler() Date: Fri, 20 Jun 2025 19:12:54 +0200 Message-ID: <20250620171342.92678-2-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- 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 state); typedef int VMChangeStateHandlerWithRet(void *opaque, bool running, RunState state); +/** + * 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( From patchwork Fri Jun 20 17:12:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898334 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452267wrb; Fri, 20 Jun 2025 10:16:35 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVtM8TRbyUWJcN9GNzxqnHKv5q5Vseqr3XyFIjB0Ok3tyLgXHNjkpMPx5T7o96b6+UFi3amQQ==@linaro.org X-Google-Smtp-Source: AGHT+IFjAP/cNaivO7uXn6VF18dh/enbGtkjl6Gc9JorM8mJ7SWCLTRdhxNl/kcnyq2IVek+1h8U X-Received: by 2002:a05:6214:20c4:b0:6fa:cdc9:8afa with SMTP id 6a1803df08f44-6fd0a50af00mr59453226d6.17.1750439795683; Fri, 20 Jun 2025 10:16:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439795; cv=none; d=google.com; s=arc-20240605; b=ADTMeRm/U62jppkaFrbQLE2V+kBmPUq0BvLhVbaiuaEAwcRHL/C/7237ZqDrE7pBgm Wi5IBh+FAEk66lP34fNXdw1gDFBz9OGhemQ4RrKBlvXrESvBEFAiyzaBTZ4kTaF8JDb5 HIZDrVMf8ut9HN7nltyZ6RqzCTvyDemAbsyjtMSFiUDKk6skggfo5h5V1iW9BZrPMagQ +Y1yNNkeSfDsIG5fDuFivXaTf3iyJb6ervCu4JRRYV31hCOvtbDhQKJ4FCY4gLsL/yqE g+SPpK5aXUTXJbCELmQy06gBpzLQj9QneHUs5puBS9YWToOkxfHdlk4sXqtzTtINRHoa VW9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=MLTCRodz0o5mysvOupAvvLEmxMjOqF4SQNNVOBDDWiw=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=Z3ycsZheL26/52QDUTPSDZVTk92EtFsaTziMTH/U1ff+7WRETY68jgFSeVJ3F9xs/f wGGjnhJdOctV8CfCdQSDYxe5ZLU5uGVW/hTo6B47BnIO59bs9HHPimKiIcKX8be3Xhnb 5O8hi2JpkuRLWt9FzhkYquPi6XVXOo+iis4+V3BaUpusguxeGxOYStIhwkNJu/rzfbSc K0he0ek1CZbPPP+6LfTkZ5jgfeoGAOAPPTSvv+fx1oTCYn2DEELX1kbs4M2xcl7BpHd9 3/DpEcd6MCAy6GtKkv2LzkP3hX2Ku5V+KlR8j1x1I7nIQDtKGqZSi59GV6sUhx/vfO8U fqEA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DkyTHxMP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd093e19e3si25423436d6.97.2025.06.20.10.16.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:35 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DkyTHxMP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJN-0000ON-DC; Fri, 20 Jun 2025 13:13: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 1uSfJM-0000OD-S0 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:13:56 -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 1uSfJL-00049O-Bk for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:13:56 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a57c8e247cso1801852f8f.1 for ; Fri, 20 Jun 2025 10:13:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439633; x=1751044433; 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=MLTCRodz0o5mysvOupAvvLEmxMjOqF4SQNNVOBDDWiw=; b=DkyTHxMPyrU+Js/I1qfwF8faP7wGR0Fv+Q+H2W84dVxA8+ufY5XgtDIhX8Fx1L9VGy PwQkCA7GwwKv7UyYvTia1nC4CnlBPRXWtwHZjq94I31AwelLHQcgHbdvgrZyY4u+R1ya nq6EyIS5dd8H7M3qad6NGG0jCmoDfe1/Cw43Dahzy5zlW6BcDv0Dod+qYs75T1CNqepa PnkdfbSmw1zL9019f4zrMd1Ulu+iwdy63K+LO9fDv4UFHLjNkUmapLYBcq4LSLnUsswR hrCTgqNtXZ4+VpG3XZ3S7Co76yVytTQVAtR3prAqPQg1IVdoVA8iQzFIExQuxIvGjDub ZnQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439633; x=1751044433; 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=MLTCRodz0o5mysvOupAvvLEmxMjOqF4SQNNVOBDDWiw=; b=eeBSLGmpj+qGKiHvU2kYp523RdwiGjH7OG13wt8lg5W4BWqdsi+xtDYzWw7qzgiJdZ c5B6b9ETo0LZsoVVhhr0K4phdhhbQiJW38Op8K8iH3MtjQUtWsl3THQfi/Lee1Thsd4a bePapPElc3NOgYWsRvxPNs0XdJh/6WljyCTmt0ewxtJsurVAyaNDsYEp2ShPIMklDVHa TVRZKeg38vKavH7E+TDnRf+LAimqSj3/kNB4DJmArOxCXb4rWebXoTpeBG6oI5bG4YDI O+vgw59IUlUOY9xtwltskbo8TznEfMyUCEHGjGxBaDyyer/dcrFu922iRYqfHTcMPZpj Xrdw== X-Gm-Message-State: AOJu0YyqJ8wyZenfutT82bQea8cSt3pYrSCQIHQqv6Oh31MS3b8N2NDs 0BOOgtAipa0Q50nFcIjqMx1UGOKV8njCAQuob77HOhwfyNcBzfChnOgg/j//tvhM8SRNK9rvQx7 0ub/DQak= X-Gm-Gg: ASbGnctCELINqv1Axj37hQSnC5W2mR9OVQBTSC4SpJycQ+DHzhIX0VoMKHSK3vHS4VD dHQb5bW7kX1hj+W6t2wU1gQi70XLCe6qNsS+xpFR96fP2gehhvOVQR/t17rZ2dFbBEzm0CO3Ibw z+eoAi+upVI9Le5Z2X11Re70C7PgEqfNtn761UWCAwIWaN76DDXleffHUKHhZD8pd4pg8R+quoS R32ViF/TV541CRqbQTTAdClD5Pu40/L/oJ2HJP2jBw+GOSHxIWR9FBfOVVdUz+fA0X4EvP09DK0 1CIPSm6veExnvSTt32x7HKwA0R3WMg3uN7N3pOs0eLOKtk5NhhLy7hqktOftBXns9rzhaSMt+Kt y3yuS6K3X8QbNLbjxagrTfx03VUqdwT4NxhyL X-Received: by 2002:a05:6000:70d:b0:3a4:ec32:e4f3 with SMTP id ffacd0b85a97d-3a6d12e8d73mr2677942f8f.17.1750439633503; Fri, 20 Jun 2025 10:13:53 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535ebced8asm65478975e9.40.2025.06.20.10.13.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:13:53 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 02/48] system/cpus: Defer memory layout changes until vCPUs are realized Date: Fri, 20 Jun 2025 19:12:55 +0200 Message-ID: <20250620171342.92678-3-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é --- system/physmem.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/system/physmem.c b/system/physmem.c index a8a9ca309ea..7004de3992c 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2773,6 +2773,14 @@ static void tcg_commit(MemoryListener *listener) cpuas = container_of(listener, CPUAddressSpace, tcg_as_listener); cpu = cpuas->cpu; + 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 From patchwork Fri Jun 20 17:12:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898351 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454529wrb; Fri, 20 Jun 2025 10:20:46 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWYxlYdtI0lGT6StJt6kSP+74TA1WREaW9DABbwNThgN/VUMYwPUxZg57O0ZjB82knl18zsWw==@linaro.org X-Google-Smtp-Source: AGHT+IE8jdMPuwZQqNi28xYsEcELRkag45T+M/QxCjWMzjI5FHQGcKEdcMhT7S1OUwvBI8VN0HAB X-Received: by 2002:a05:6102:b14:b0:4e5:a0a3:86da with SMTP id ada2fe7eead31-4e9c2945b8emr2655091137.12.1750440046068; Fri, 20 Jun 2025 10:20:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440046; cv=none; d=google.com; s=arc-20240605; b=g1kYDw1YcZnQ7D6SS4NDSVlrVxHHNqpzpqics/2KNY/G7ptzVEa/t3TYXNPVZRk1SS TlwOs+dwlwOq8AYcA9+wjsBtnk0S4sLaLrNToc2RHFQGfB4c71CDTBR7lSO5q15IKepr rxfCDETPHIchypsju2TOeDIpg4m8NYP+HCpvQgA/lZxCPirGOXTE2r8cazWuE2TAJet6 7jRtf9Jwlu/9sFAA4zHRCSH4W09k1ECgn3A0B/EhA8J65mSXnsuBAlK8o9EVcdYM4ndz 5+MEPOCk0QtkmtolpuxNUCDlhPZyhvl6eUntoVRQbiWAVyqEoxDnXwbPRLOHPU4oUa1j EnTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ja/mWaJxTqT9HY8GpbCcKbyHjlgZdtvBuMFDUY0S1Jw=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=NiW/47EVVEPEf4MI4CoSAx5hAS0QvCT1PGT66ACezdfYYcikse1TJ5uimDm1xDHFSw qPJS5cjz8ZQ0mzw2WoYDv45igVboxkQcgVQ36uQO2LMgzCNruMZLk2gSBSjjlW/k4hiB +u0gdg3YQYqTU2vuE50+i8BGdphncsZLjOkaL8ueLeIESRdXDNPsHG2P0qFiPwzxpOAr 4KWrXoLTDH2vg8ESeVUmGhEo5/C9v3Wa2gtEwGxvytKIbbGHAe4lTpU/SUugpzaLtb7I g8QOYWUIjiX2sLxCjDUb6CSAwSH/8nRG5aU6UV9QgujndWWW5Ci8873kW1x4l4ytO08o FVbw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bYIttQiv; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4e9c3208b05si459895137.377.2025.06.20.10.20.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:46 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bYIttQiv; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJW-0000PZ-JY; Fri, 20 Jun 2025 13:14: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 1uSfJR-0000Oo-Ll for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:02 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uSfJQ-00049y-5e for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:01 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-450cf0120cdso16999745e9.2 for ; Fri, 20 Jun 2025 10:13:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439638; x=1751044438; 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=ja/mWaJxTqT9HY8GpbCcKbyHjlgZdtvBuMFDUY0S1Jw=; b=bYIttQivQOPdTpWCVW1qfEdkOUJ/S+WPzt3EKrrH05xCEasT5UvyYeiWlwi4eh8C5J EY0iGqnPDSqaqWpxpAje0v+CE/0jsZTaR67tg0j9qPhAsCDede5WDL8I54aY0lCk1Jxx Ylv1eQruzboh+r48OBZmPeqdOXspLSRg0cj76HUPdC5qljL0PsUCFLPRURE/DSDsoEsr yUOywoWneqZyu+0Jq2huPKnNilGdgj5MqQKOrTGe5jhO5Vykd/f7ybQXLF6Q7bXgx3ya IpezS/t1HXsQkQcFYvuSad7KohCM7E0dYleGiU1GFZcsq5efEN8P+p7HG2Lbn7NpXoNL ugVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439638; x=1751044438; 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=ja/mWaJxTqT9HY8GpbCcKbyHjlgZdtvBuMFDUY0S1Jw=; b=pEh0YIFC3xX6c2lzYjyP8joyQgqhqXFaJnNy8hsdj3uuHC25GE/tt6Nj/+YGDfSYaq ZyAEtOdEcVR7j7uimOd2Z4C3CSJ/pV82u1UB/ZZ17/LggsQh6A6a0LUBhHd2v9LMuDlQ /FsXGYLDrMxH2tMG+bA8bHQirZNAlyQhKRvxYniyzFk5T0alrWPW6f1r3tZqm/QyDZfL MwylZ2esQj8R1h7OfmOaaOiHJ06ZblNZJ3q0H+2TFbixDS/rZXYabYddpfpBjgD8uWR6 bBHjE9JOgBI6aL3mlP45ZHjd/b7z4El44v/sVAH/G/lgk8uGWFnVTVX5qrx0ZQCG15Eq +5Aw== X-Gm-Message-State: AOJu0YzePLjxb+xiDjK2AcCUTNIjqd1UN7dSaWZQg7xTE7oCZXZOLZlF et7S36AQXG00FjN3gDN89d44RqHJRbH/WBoBFU4CAvEFdyIs8q8gMclpSxchbgQGmQPH+0mp2PW +dbUcnCE= X-Gm-Gg: ASbGncs/F5MgyuZI3Gve4R0NTooy7UKOK+yrjgWxfkOXlov0aU9Si472EYnEjEXkbH4 EEy+QJUJFlO87uUdA5GFrZu4/MVYbwqvCI1DlEaYDB1CS/+uJQupbR5HJsugEqF+awdiQuCaPRw GGXj6RChHdJ1s9hgEgQ3AJ7ur5l0V9xdwvPwrWRyrnJp4/a7OOcrUwLmqfhwTUGg1qUi28CWAWT Vtyh0wYBpH0NoWgjn/EfXpbMiCWMyT0xoB1TlSgStJkhTKogjIacLdc2Av4a21nXxQt35n6k1Mt ldlqeMqmFuICKJOOXAR6irhbu66FgiHnXzx6Uww2kiN7ZAgXfFhTHwZdA5AKinddmxQsYhiuita KZL3jNy4v83Yg6FEhzRbUPByx3gyjOC2H23yu X-Received: by 2002:a05:600c:4684:b0:43c:eeee:b713 with SMTP id 5b1f17b1804b1-453659cb92fmr32553385e9.20.1750439638298; Fri, 20 Jun 2025 10:13:58 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45364703701sm31541125e9.27.2025.06.20.10.13.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:13:57 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 03/48] system/cpus: Assert interrupt handling is done with BQL locked Date: Fri, 20 Jun 2025 19:12:56 +0200 Message-ID: <20250620171342.92678-4-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé 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 da2e22a7dff..37b4b21f882 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 |= mask; /* 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) void cpu_interrupt(CPUState *cpu, int mask) { + g_assert(bql_locked()); + if (cpus_accel->handle_interrupt) { cpus_accel->handle_interrupt(cpu, mask); } else { From patchwork Fri Jun 20 17:12:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898337 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452280wrb; Fri, 20 Jun 2025 10:16:37 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVSt86Ozfvh8/J2jcm+a6VLx468Y88Ef84xD5uNfdbntI2Nk7WCmJIBX0x9ok6c+UCMSoLEsg==@linaro.org X-Google-Smtp-Source: AGHT+IETRGRfcZctPzxBGyxucu4CvaRBSqIOUOESWCYHavCBKN8jsdW1vhkDOHqo4oT3x+Lu7pfN X-Received: by 2002:a05:6214:328e:b0:6fa:be5c:6190 with SMTP id 6a1803df08f44-6fd0a5de854mr57527376d6.39.1750439797072; Fri, 20 Jun 2025 10:16:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439797; cv=none; d=google.com; s=arc-20240605; b=gJqPjzlSUwRpsqBUMHQ0uLriU0DeSG5IfRoF0Oghn1MMNZXvzI7Q5Ciqsqa59KPeuE 5kPvqJ0knJQ9oLhuPc62dzYl3Do3oJBmVZwYUx1YbIsCiq5sFM7gEzGl7Ro+fiWA6Z2U 4Cw5+vNCZIIUQyuW3Z6TmqMchaC/QNsD7sgJat+YO2AHPJUvDGv+AvVmZThErsCYit6I O34AqTPVMuVaAcSodpFTVmXqCBUFERkv+Oycs4kiUGUrd8jHaflfdhSGGYEmBzAtDfms pcA35QksNRKCI9BAsilNLh2zT3aCHbClUPHzD5a5XeevJgG3TJY48PFMw7rvsIqma/OP 9i3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=eJy5l89go/ZdxLhDSH2ckREU2fh7FWR7w2u5ZwLMk3o=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=HmvUUicU1AF0eSJ07jM2AiHOpBljd8n6jMH301B3hkNzuuZT/JsYUAvMz6WqeSfImK /VR2PK57R4cl4yHT2xecQu7ThhXcV+Abo75kg3wU/1JgkD9A+kUxyKx/uPIeOrTyfQW/ +7amz/X0lkSCn61Zy5Ro7g0IWbjgo36R6nI2mv/c93ttaAqpEdzHGLWc9CdYD3QhkdFo U1Mron9wgMwwRlzT/+1Ox6z6IUeJtOPE86auSDqN8SP/KeVs36sMb7G9LtN/3RMpEr+s ZLoUTkJAKITNjHhlYBzNTACkSCSV2+fXE92jng6TWhY6Arg57AnITrOLsTFeDXuOZUmL utTw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NU4XiDGM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f9a0d4d0si200649585a.453.2025.06.20.10.16.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:37 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NU4XiDGM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJa-0000Qj-D8; Fri, 20 Jun 2025 13:14:10 -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 1uSfJW-0000Py-OR for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:06 -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 1uSfJV-0004Aw-73 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:06 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a50fc7ac4dso1264667f8f.0 for ; Fri, 20 Jun 2025 10:14:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439643; x=1751044443; 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=eJy5l89go/ZdxLhDSH2ckREU2fh7FWR7w2u5ZwLMk3o=; b=NU4XiDGMXsvIZ2O5szK+xJBExJ2Jt2gItyoZQfqiqpMe+DIv9NXgrM/XZ2FZPp1QEf M2vGwHkNHmjMMcJNELD5FFZeVdMxIqn3pZyH6VZ7DS4HKSa6yELt5D1pG9wesPxZvCMD n3K73MBA9AdxDcrCl81im2UXTrpC1mEO/pJMkkcn6a0i1mo9odoVgsrdE9YWExygoE6s t0KCpHcd2jc2zEf9AylMqzOJQviHDmGeKVzXrIhSjgm7OElFQRQs+kXnTV56/tNcazQ7 Jtk/yFsSjTJ8VbvKrAzcYp9o9l3DS+KvChw8ZK3qIEuyoHQDjZ7urlbkj4dDgDLCp9xp 8Pvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439643; x=1751044443; 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=eJy5l89go/ZdxLhDSH2ckREU2fh7FWR7w2u5ZwLMk3o=; b=MVjv/e8GoqxU1oiWGO8a2uYI8NYAuDjQP+ArwWDSCPqJMX+7kTVspabPYtKe3s7Dws 9L7Zv6Q9VZtGCTbIqL6REiGwKefseT/Q7s0J3Dtyw/6UN5JyfW7YQmjIC01ZMrZMiq4q 2HT0y08LDgD7YHVI9mekaCWAfJyDzp1AwunVmpvwfPePaKv+kMprrL88TjOCkrD/d5rO dAgfklEye6usXpxAlDCJBw7es6anKrxTgMaeedKJpHLM7xWSf5bY1a+HMt122YLWNpUP +MsFIYwbtoRbtbJX7vfTFMeEPGMGFSxllz2gYIHGzY58spXONcmdpiE4yDo/nyMy7k8B PVyQ== X-Gm-Message-State: AOJu0Yz7P7M6lOOaB1eJS0rJVvl4uD/gSFF2Ff7S+Z9PrH7gTC4MulRS TWmXMdT+QtTW89vZCeSLzwgjqYqMEO74ps0Wj2W72BXe5BTlPrd7hOB4Tp1DIJZUeCEZVlBqrWT IaJrmhoE= X-Gm-Gg: ASbGncsrOBqOSy4Zd9oXRh49+i4ofz3t6NGEaLDptgawyBl0bNhmOVqQ0akb9QaI4Di MhIj/Jhl38kB2o2P5Hdj7XFsrP4Dj3oglAte+ATSw3PNzvKiCU9MqFNQ1YuTYmdVlquP4b/EKeY 5L9dmo6OnjvwshnF3HrgEvpQ2Ws3WIE3CaKObRz1FnsPTlRyyFwKUMJg7SwlqMri1v0XgtOXW+x 8elKBfV6PgXF4Bt4NtQS4gMsJikBcNDxNTKOO0cMgy+rTrfdJpsxZ1VYXH8MjAAQnOk2WapQsmB NVjq+ckQF/YuRGOBZXe3qALplyY/pNVVInKyLmxtmiH8ot5dYQkcnAuCw3KqbpcrMR5dPim5puh CGZepFbfX024TrQLV+qVoQ8YEiK+WQkCx8bki X-Received: by 2002:a05:6000:2412:b0:3a6:c923:bc5f with SMTP id ffacd0b85a97d-3a6d13019e7mr3148667f8f.17.1750439643190; Fri, 20 Jun 2025 10:14:03 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4536470903asm31641455e9.40.2025.06.20.10.14.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:02 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 04/48] accel/kvm: Remove kvm_init_cpu_signals() stub Date: Fri, 20 Jun 2025 19:12:57 +0200 Message-ID: <20250620171342.92678-5-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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; } -void kvm_init_cpu_signals(CPUState *cpu) -{ - abort(); -} - bool kvm_arm_supports_user_irq(void) { return false; From patchwork Fri Jun 20 17:12:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898324 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1451251wrb; Fri, 20 Jun 2025 10:14:48 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXP6jgmMwTxs5pVOQWlpI6aZuAY28dIwdDcj0FjSS/EXKvXeEDrDiaXKtf8sO0fU4KZdp/fHw==@linaro.org X-Google-Smtp-Source: AGHT+IEfnLF4ijByQSeMlUuIL0wHF4xo3XlIDqS9xiouwT++4kfImLT+EypfNyn5viXXWpQ2Q6F7 X-Received: by 2002:a05:6214:23c9:b0:6fa:cc39:84 with SMTP id 6a1803df08f44-6fd0a49633cmr60984056d6.13.1750439688127; Fri, 20 Jun 2025 10:14:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439688; cv=none; d=google.com; s=arc-20240605; b=jr3TJnvmR/abjKvElQqjLpLnt8IMyS6vQeq3Te3SUO8/0vAd0gYo4sk03ZM9sq3OxO tfU2ukB8lLWV5HZM+S6RB9pvCTzRE38cuvTHSqAMv72C087y2lc6IZb/Vg7LL+pYfvyY m2DoEa2xyulmyad6WZbQOoYynjDVSuOneLnzuKT4HATrRxlahcVPtV4QSbgNhcDdTTBt 2lZrCCvO2YHKRp1RNjf/X9mLux1RMzFVqF9uvqOd/53CyERvGsU1ZN6tV16CzPdJR7w/ wT8uC01aon2c0SjcN+9L6912v8y6+A0+PciYqSzEi0rfFdx1w+DNnkR5ZCUA91/rpZVM mbJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=eK2RBwA1vSwFH9em0YNn78on4UqtxDIiJ5tRw+dlaOM=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=dauD3d97yCXpulA0mRyXOX8uvN71aJGZW0rsdXMa13QyyqnhXA4mQ5Uc+GRLb912UP mB80Upf8ehWJimXJq55boS5zYj+yVqxs4yIquu5WgasPRnfQAalkyNexDIkvdZ8F84H8 GpSumV8pEEdg1UWTE2GkE605RjycffVk2E4kaQe1dXZ/3Tad+KcjwLBZWjYjJ14Vvyh/ QhlQ/kmb1+a7DI+fCkgUtbIK9tLEOGTKslaFdXfI2fZ0hrN7zdvOjy70S5ARvGWKCXdJ EBUvkkAwtuUbVgSp64z8NcVE6dNkbmTPZ1+eVeOOU37xbjycQYjwkWLoNLw+SZBY3pyG bzAg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="aHKn8/Nq"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd095b4570si25869216d6.403.2025.06.20.10.14.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:14:48 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="aHKn8/Nq"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJe-0000RU-9p; Fri, 20 Jun 2025 13:14:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uSfJb-0000RG-TK for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:11 -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 1uSfJa-0004Bv-At for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:11 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-450cfb79177so11224865e9.0 for ; Fri, 20 Jun 2025 10:14:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439648; x=1751044448; 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=eK2RBwA1vSwFH9em0YNn78on4UqtxDIiJ5tRw+dlaOM=; b=aHKn8/Nq9OF8cyKTCDUR4+zwu6M7iVmJ6240F8j6EjfVemS+123xRcXM8ZXkmWFMkO dSfmYIn6LTCCCYoV3N0LCQWpq7OAVjnwKE6+0UntCqevD/uO/j6GnOBudXBjnLDbyz+K mhRWo6TA1VUtUdODoFEmUb2oAG0aslNC6wjDicPI5cxIO34xMBSQUYSIwWoFsomWl2RX Vh4kVip3PTCNdkYsJlCb3oCrSbocaOgomveyXlGLHdN/ynbRgeVHIOpmO+M1E/gxw+bf OJLGp/T60XYZRfm9LHCdIjoXYHIU/E9WNO/pmDkR1lbR2bByX3Ch7rEsVLzkThhPXugL /d1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439648; x=1751044448; 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=eK2RBwA1vSwFH9em0YNn78on4UqtxDIiJ5tRw+dlaOM=; b=KGnEP/o5pAkXrYUKBU/CjtaoBxV+TBLeaa9YhK2qECZvWosfUROa5E5oYTHQZOH3j3 9gOqMPtXN1qqhtZsdAgyOV5jZHJ8mDeXJlbIQApqpDDFflZ26ASMtMuhPXua8bP7pOoE DNG2YWSZmJWGi5UFEkCUHcvIQiqBtB6xwQ/EWJ4hXx5RcpuazQUR8iFygyPGNYAb0A6u 95HpklFUPq1Voyavh6Iml/oMgDJJZkf1NQLsMZ7M06byQKQV7Dbz0IdkB+jvPVM1tZZc hSb+xlxsn2IuqNWJt5vZPd8N7Nv891cd4K11afDXtusAwJiJjM6gC8it4AuTd6vBgpC4 fwHw== X-Gm-Message-State: AOJu0YzUzXv1GbFYRxLqkQtPYgK0FT+Z1hsqIsame1AWR8o73EV9YkWm l0cmSun4LDYdxIaEXxKSh4vCBDYwSMGJPm5lEHqyD22nDeelJN0U/jz7lEeAEnwKKE7LdpceMnx 25wDqfNU= X-Gm-Gg: ASbGnct11ilx+qpXBB/wb2HoUMekLskgvuRPckicdLQ141Mud+yVqVmzTFmrp575MSD 0IJU7GN5SPhm4lGox3M1Cdd2SHSfxgM1A1SlJhjmwjtAdwcsS3wEOfmA/Pol30EqDdNin/iRcN6 JtkPoUw5VHjKCHtgEtiCY1QW05S9tZAUDzopP+LV3mgx8aBGRtn1V/wtoThYih+frFH+c1l8r1h TEx05uyKbHlIQhfNJOR2nRqE7onEWm/8ufs4bSZVbxsiy+MHciH9KO8l24n0mTc9r6gM1TeXR9H WfFbgqxHbF4JK7jfOBMMmWnK8DQSpH6k+MaXBxvAQPA6ud1PfEExnJGcbFrl9X8OF639T8bGfuY X2pwm+eYrx5KHXCHlMsSFvFL5pjuih5ul0m/M X-Received: by 2002:a05:600c:1f14:b0:453:5d8d:d1b8 with SMTP id 5b1f17b1804b1-453659c4169mr38300575e9.30.1750439647916; Fri, 20 Jun 2025 10:14:07 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535e97adf3sm64326515e9.8.2025.06.20.10.14.06 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:07 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 05/48] accel/kvm: Reduce kvm_create_vcpu() declaration scope Date: Fri, 20 Jun 2025 19:12:58 +0200 Message-ID: <20250620171342.92678-6-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org kvm_create_vcpu() is only used within the same file unit. Signed-off-by: Philippe Mathieu-Daudé 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); -/** - * 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 parked. diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index a31778341c2..aeb75e1602c 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) } } -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 = kvm_arch_vcpu_id(cpu); KVMState *s = kvm_state; From patchwork Fri Jun 20 17:12:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898329 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1451723wrb; Fri, 20 Jun 2025 10:15:38 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVuzh3Kyx0IwJmsRnqQc16RsxzSyBB2BThXZ6GYQRql4OTcu90NM2P7r3gJTvbIeHTV7bBHmQ==@linaro.org X-Google-Smtp-Source: AGHT+IHYlO8/tLd57bQd8a9lryqo0Xqwgdwr1ADKBy54Dh0X0A5F7PCqwNw6HgQ3UIDbIXQXk6xz X-Received: by 2002:a05:6214:20c4:b0:6fa:bb09:43d0 with SMTP id 6a1803df08f44-6fd0a573042mr66507466d6.32.1750439738144; Fri, 20 Jun 2025 10:15:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439738; cv=none; d=google.com; s=arc-20240605; b=BkEmv4vMuK9ig72GPHZ7RdxTC+a6qTjNNe/pOFn/VlFFT3Fvik3GAlhNZLAYxSKaCf v/9GVRI3jv9j5mlvOnW/PnIiXLW2uLICsScASIfSADtXZdWwFukhLPWyVlhJneLmx1Gj M2O1DJ5AWIexKR4Al6S09Qf64eZ1XqLc7hxl/2uSZ95RcIog3luodPvaJkuK0DVYN4em oqZ0u/XamQg25OCrpCBeKvUd3GHZxfhl5v9Eat8tzDhdpeUwu2HRz//PhhGIhlaIIG0L VGhhqOsXapupOYdJd62lKXBGtxRd6CE0i0LX5Vt79Izi9vSUfTuQ+zcuN6dbHK+YGvP5 6TMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=rMxJwIcWXQ3jwweGcYvG3qTBSHwSbzC0zNHpXQCHyTA=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=VOY6i0lryCb8Z6Wd8b3NRsCD6Sx/Kt5FS5itK3zkHENgQsILVBYZbm3nL4IW+8Jb+E 8njMjBEgpM8Jg9iWDrL4nykHv1asx45zFaPMvDjEW8bLZdvw17QgIwxh1NmoGBCZskBo zHwHPAg9aAD62It+zuGp5j/FqmQSsr7yWCWTu+P2args9PTLSH6C8fqKGXULh23va9Fi XLVY5LDZeamizST4ViVt0eLMe2ESMebu7jsxDNPtlcEEJbdv7h0L7/qYaXGl/0Tf+EsV Y7rQ5jfcC65dV84MDTR0S10LtDKFhupSzEJrva7vXgA361u839kr/cmQggLXBiZZrCP+ yOnA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=C2zq5pUD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f9a2572asi189674885a.625.2025.06.20.10.15.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:15:38 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=C2zq5pUD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJr-0000Tc-Gq; Fri, 20 Jun 2025 13:14:29 -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 1uSfJh-0000S1-V9 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:21 -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 1uSfJf-0004CT-3p for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:17 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-451d6ade159so16720075e9.1 for ; Fri, 20 Jun 2025 10:14:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439653; x=1751044453; 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=rMxJwIcWXQ3jwweGcYvG3qTBSHwSbzC0zNHpXQCHyTA=; b=C2zq5pUDOSb6vmfKlIzKEy/tCOXKzAeDXRCRa8z2EGp1mOxNClGjPBd0nxFu3gM+Zs Dr2z9sCbElsyUlwDuJryOaxCpw98N2SgBg/6yK4GvngAMbwZ0rK6fdkX65nLq8MygIrx vx27jUpuPrKIsMJFgAVMSaHxZjjNS7r8jZpcJeCTxXr6k1ZpH3u7TiJn6p5wA8HyT3Bp CzAEGM1OjuTBf0e5fEu/yjZ6GMl79lYYuwhq3UjIo2F/3clJRQDU3odWV4LZTn1Dy1Hd fhaOjbEE73Dgqe52Fu3TwOKsNDYdVmL5eoft14QTKcC6hbnqHbGw0ag2Jj0DcjeMlJbV tDJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439653; x=1751044453; 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=rMxJwIcWXQ3jwweGcYvG3qTBSHwSbzC0zNHpXQCHyTA=; b=L7XN64wAPoCfoHqveiJEZhTfnN6KvIo+590JTmOjt5hvwmAWXuImgSoXkMr65Kiy2Q LMIzqfZBfbcFZiy/z98CJ2rcwqcCY9JW1SOl3XAfYY0soc3VW6iWWez/zZyGeUtUHyb3 3oP/7G0wPmWrDJTGI49IRDh+GgSLH1sOLVJsKTMUxbKHBDqqMzhQ++Kb8PHwzARCNWS2 oDySaoi7iyd0xxhSFjf+eA9PO9CFWCxkcgyZBNdIfmSm0sfeysy6q3/OrNQbSTNFzZ3Z GgF/znkwD8ZWdnOOJSpd8Lm7h6JlFuJKv9R6GO1F7fn4ywDXRRBiVjBxUxRmtQ0gT+BL +a4Q== X-Gm-Message-State: AOJu0YyBbEn5dEKdqQF5qq8kuGEXCA83AEFpoo+b8u8Rhc7lmi/6cjm3 Qw4cTBxNCWPKObKustfpmqmStoaU/A87OFwkJcSd8bbmfQ/QduABX0MYMteRi005wNsAK60A3Qz tvsSWb1c= X-Gm-Gg: ASbGncurzTtldjTQ03x3xuoZgAtEbzlfKkdeFF7+OvUzfQJvjPvka4NzrldY1FdjH8A LSXCzVQO4WU3TuSdbDlB/1VRi6vGqRWAL5Mo731z3VEaNSS/eTnCUGhqsZy+wq9cll1t4r2Mhbv p9pVdAxkemkykMI4NGgD/bXwqHNYjnpgiRAgJEM7o107BeabN1Z/NvC9jMCRNDuIB/3zDMjqbgt tP/lXcRSpk0DrMWMT2nGhllXzsIFGJR/N+xO7PO49EiNFi4POPcYD+g8pzEYrcpTcTo5aOrS6zR ujxr6APKqAjbdYVMEcouKqbNuj8SqSj4e8K7PhbTQrLJSo1JLVYAYSTJefam3WNePkpNhyqGvJj 3hnI521BMGL7ykSI6036vvEtQNwgjGmpXLplO X-Received: by 2002:a05:600c:83c7:b0:440:61eb:2ce5 with SMTP id 5b1f17b1804b1-453655c6169mr42047395e9.17.1750439652737; Fri, 20 Jun 2025 10:14:12 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1188247sm2560739f8f.76.2025.06.20.10.14.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:12 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 06/48] accel: Propagate AccelState to AccelClass::init_machine() Date: Fri, 20 Jun 2025 19:12:59 +0200 Message-ID: <20250620171342.92678-7-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org In order to avoid init_machine() to call current_accel(), pass AccelState along. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Reviewed-by: Alex Bennée --- 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 +- bsd-user/main.c | 2 +- linux-user/main.c | 2 +- target/i386/nvmm/nvmm-all.c | 2 +- target/i386/whpx/whpx-all.c | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 9dea3145429..39b52adc9cb 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; - int (*init_machine)(MachineState *ms); + int (*init_machine)(MachineState *ms, AccelState *as); bool (*cpu_common_realize)(CPUState *cpu, Error **errp); void (*cpu_common_unrealize)(CPUState *cpu); diff --git a/accel/accel-system.c b/accel/accel-system.c index 64bc991b1ce..68d2f28388b 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -37,7 +37,7 @@ int accel_init_machine(AccelState *accel, MachineState *ms) int ret; ms->accelerator = accel; *(acc->allowed) = true; - ret = acc->init_machine(ms); + ret = acc->init_machine(ms, accel); if (ret < 0) { ms->accelerator = NULL; *(acc->allowed) = false; diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index b9511103a75..ec82b79b515 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) bool hvf_allowed; -static int hvf_accel_init(MachineState *ms) +static int hvf_accel_init(MachineState *ms, AccelState *as) { int x; hv_return_t ret; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index aeb75e1602c..f19b20c9fdb 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; } -static int kvm_init(MachineState *ms) +static int kvm_init(MachineState *ms, AccelState *as) { MachineClass *mc = MACHINE_GET_CLASS(ms); static const char upgrade_note[] = diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 92bed9264ce..c5a53ecb6dd 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); } -static int qtest_init_accel(MachineState *ms) +static int qtest_init_accel(MachineState *ms, AccelState *as) { return 0; } diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 6e5dc333d59..6c5979861cf 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) bool one_insn_per_tb; -static int tcg_init_machine(MachineState *ms) +static int tcg_init_machine(MachineState *ms, AccelState *as) { TCGState *s = TCG_STATE(current_accel()); unsigned max_threads = 1; diff --git a/bsd-user/main.c b/bsd-user/main.c index 7c0a059c3ba..ad2032a8b01 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(NULL, accel); } /* diff --git a/linux-user/main.c b/linux-user/main.c index 5ac5b55dc65..2441e6edc71 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(NULL, accel); } /* diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c index f1c6120ccf1..887534d4ca6 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 = { /* -------------------------------------------------------------------------- */ static int -nvmm_accel_init(MachineState *ms) +nvmm_accel_init(MachineState *ms, AccelState *as) { int ret, err; diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index cf6d3e4cdd4..238c3b95c6f 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, Visitor *v, * Partition support */ -static int whpx_accel_init(MachineState *ms) +static int whpx_accel_init(MachineState *ms, AccelState *as) { struct whpx_state *whpx; int ret; From patchwork Fri Jun 20 17:13:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898326 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1451391wrb; Fri, 20 Jun 2025 10:15:07 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVhoqbZGa/Zm8QETw7sSpb55BRw/n7Aj0RGZ6PixMrxwcY1tAqWLp3S8Tcecg7w3n1a4cXbwg==@linaro.org X-Google-Smtp-Source: AGHT+IHFIsV70l6vKs4yEMqR0nMXfhXJtJOcCG98CGOFORSMqQmYB8KdcIIlw1WGwe0IjfX6RGnk X-Received: by 2002:a05:622a:82:b0:4a4:2c4c:ccb3 with SMTP id d75a77b69052e-4a77a294e30mr51266011cf.38.1750439707235; Fri, 20 Jun 2025 10:15:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439707; cv=none; d=google.com; s=arc-20240605; b=TuHpSwKj5Hr+Wr6kXgLXiInt9FeZT7H4oGQG5CAebEv/ZNNDiVekH9ov1MVZgQQBlz 1vQiQKvhe2DHzBG547buDk0n2KOIBZer8PjqV3j+l232HLwNvnlxRp/9KLugiSYFnnuQ A60+bZZZC49NPcbEHqomb4SkAbHh69eqniGcCHCnN/sr3UQ4xR3mI0vxRxy1ZX41U3n9 3zVT+gVCJ2GFzw12gZPJCHmpyPnxFFThi1i+95o6gHRHtx7dzOBF64Qhucrt6zPF22jQ yHfpwVsDD2VJdQGEh0uYddXqlPbsBt7ho8blM6eMzAR1cuaZNUIhfeUuLFUw8Inw7eXF zNuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=bLX6rcSSOatokSoUj/Vh4pkcX3PAjzJZuqfjXFPaG7s=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=f1HROQrgbDAJw39SGSIQ7DyW54hzvkX12awF+9SneCiTEhxX27/Kz6GtwIWxQ9nyMQ qWb/JwWf97SMaQWAQjKsXjjG73Y0f7qIkcbSYiLBXSgVben8nUzWGtRrWNHx7Pfo2l2I C1qZOGLD9WN0EWe9WNa1VKjATeZPOc1EfDWzNze1WiW7Hv8jggSppRktdxaCX9rSE5H6 FOIcEs8UnBPIgfYrCNoV1Llii92G4jwF7aJXIm6hCUwp7tTgBvat7Nq/USa/nGC5UeIY 5CMsYqgD3fHMB5219nZ6fvUqXn2mqVXynN2JCdkP9Hu4i4lH2cJxohbNG2nBlh/UPBQM lSUw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YeUpdyA5; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a779d47c86si22905581cf.85.2025.06.20.10.15.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:15:07 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YeUpdyA5; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJu-0000W1-Qk; Fri, 20 Jun 2025 13:14: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 1uSfJn-0000Sz-DV for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:24 -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 1uSfJl-0004D6-Se for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:23 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a50fc7ac4dso1264765f8f.0 for ; Fri, 20 Jun 2025 10:14:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439657; x=1751044457; 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=bLX6rcSSOatokSoUj/Vh4pkcX3PAjzJZuqfjXFPaG7s=; b=YeUpdyA5PsjSPPHhbbZ30u2U/eNPzCXVK43aqYgHhsHaKNv7oGMuRSTShs3t7kDw4+ O4sR3DV2IsChjYP4cPioEuarGfypyoven2FplnrpgJGvDYG7KWsZ+yo/ykX64dtsLpGs RAU2P8H9weM0syJsSA1GEmTr8/Rf6hBJn5xODFhexTqN+14Wg0WAMhxOTj1S6CxXw42Z MBNbEBGjURa8vXvIAvljc+3xf7u4nHUv0EE+uPPdhx51RtKhQxXBTvxNEijweutCXEdk 3JKVTFAV1ms+RUj1thtkfmJ5zeoxyRz9UMZIu9gIFapIHxDRr6yuQkf6ATgOvsMKiIot GX2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439657; x=1751044457; 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=bLX6rcSSOatokSoUj/Vh4pkcX3PAjzJZuqfjXFPaG7s=; b=L3/JL0fSWrqm3gtVFBswE4wON5oYebD1D8A9AYkuZ75ueUlke1Ym3rbhqdd490YPaH sosTcU/5lHAr7QcXmscSYHVI1VWwN7kQxbLUJwUWKxnY2EauqczXNstWPc0g9APQzTmn h1L3WbkoJua9GP4rPXmy5AnJVzrcFD3YztpAzHGT20Qe+TUpz1wgKtZm9HwVvyP/WWN/ n/mJprJjPyA3TgXwN4s3TaemosNJW7G9bPGAsIArBfloetqirftwNNM6WyzJC7irVmQa 4hM20XWa+HQLQbZ5KcX21VpoDourN+Ai4+bnmbbRiTrHiOjw306bWx+eXDmAuTaQ4RgB f1QA== X-Gm-Message-State: AOJu0YyLc9rFE4fC0nI8/XslJ9AIisr9bQfX59NImQRAATUa1Hwir2/7 V53LT9B26gJ/HqsKFL23neGo9YtVsZIlRLK3E7/eyGWahSrVSC1ctzCod/Prsnx/Wabp6uBDKYs Xky5TR1I= X-Gm-Gg: ASbGncsfQLg/tqgyr4JcHmaqsIoe580uPsYXhbBe0JVJv3jgbZY+e6aiLttbxu9I9du S0pG+6ZpU7JheKeHnaKAqeHeotFA69AYImkD2mWag3YYSLNZlVCthksi5iRREwcluKwjUCVC0rV 32/rWSDnJoCB80EDOa4Lz/mTPswEuRvCdOSR8pNw3xqg8KAybtea4R4fSmAMIXXmisgAZ4JxiRh 3A4aKGdWW43cpczmp4ndfU3ul5Dw/ZMlFLRlKSIzwAAMyRPfcmh2BXKnrVdiYdBSpcLwHaV0QrX n1jbzsK41au8T9zBsTxqkJtZtIniTMbJxqYAk5EcfdfST32dXdW8bC7o7CBs6YT3vn8M8Z0SsE7 h79sxztRtiFj7HPhOveNOD4GK7szdjZhbQ+1u X-Received: by 2002:a05:6000:1a8f:b0:3a5:5298:ce28 with SMTP id ffacd0b85a97d-3a6d12fb253mr3271457f8f.4.1750439657559; Fri, 20 Jun 2025 10:14:17 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45366b4d0adsm20605215e9.14.2025.06.20.10.14.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:17 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 07/48] accel/kvm: Prefer local AccelState over global MachineState::accel Date: Fri, 20 Jun 2025 19:13:00 +0200 Message-ID: <20250620171342.92678-8-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé 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 f19b20c9fdb..8f6c0bf3888 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2588,15 +2588,13 @@ static int kvm_init(MachineState *ms, AccelState *as) { /* end of list */ } }, *nc = num_cpus; int soft_vcpus_limit, hard_vcpus_limit; - KVMState *s; + KVMState *s = KVM_STATE(as); const KVMCapabilityInfo *missing_cap; int ret; int type; qemu_mutex_init(&kml_slots_lock); - s = 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, From patchwork Fri Jun 20 17:13:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898325 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1451283wrb; Fri, 20 Jun 2025 10:14:53 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWpEyAnc1t8iucfZ8+loeF/f2ZSPNKdhrxZKSDUcaDB/UWPSBVNFSRsHzLfPdmLlmpcxuikAg==@linaro.org X-Google-Smtp-Source: AGHT+IHdIsbCk072XfZRBWTTeao7wDwUBK62OxG4jXOUIXoSghVavwGv98VoN5JGmZLhC2gaGPHE X-Received: by 2002:a05:6214:5f07:b0:6f2:a537:f47e with SMTP id 6a1803df08f44-6fd0a59a6ddmr57305386d6.42.1750439692897; Fri, 20 Jun 2025 10:14:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439692; cv=none; d=google.com; s=arc-20240605; b=jRpazH70YHQN7kL+eU+IhEcVjD/XfbsOmPa1LY9twZkvMyWGci7vlj7ZkUWnC9hTUc JK2E4g3D8wajjIhTvtujuEvplBCFF6z10hutbPThXzD9YD1RW+dNao+e4pip8CEURKro RTk2fTWkQGwYgNnrZb7piUypwGxc62ccExlpOnmW35L47GZ/ClfD/hF5c2n+mlZaTVTf 4Po7FzjjwOectQCi0UHh79cTjUgG86z7mcztt5DfeHObilXPe/8rhld0VR1G9V6fqMiT 3aqLzc3NfSNt1K4Wlsnpzf2+Ty3w+9KioP8XS7VjfWaXJYZ6Jzn79VfvzsXf+nUJiFc2 +LDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=f6Gw4GJ2ttFA3nhU45y8rK3c9WCCnz5KKolptG+K1JA=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=IoWVKSFfd4s/BdDg4EwG/FPq7jkQBMgcMlDYx72omcySDMuC8z9UmnKyKOdnQmq7QU xxTexVolQP22gKpe+L8QwajobSLy+8NpsSeiZXSNDV70cD39d3w+RDopPopfN34pnOP2 mKC/kCuVjd04TOi8K66QOmveIv6s1ZlNQGDsfJ6qnFsBdL3QXmxcyx55iMgrYZO5et1P zik3i0ySHOv6m1+lNTHzSsAB4m21sBtyRpqVhBaos/UTu4eYqCy+0iy27gzf97KVpU+P O1xyx9if9mn/U9tpayPiI6RFjHO5CVN2SkL73vpLSS42LH7ETxtxk8CgCzMdHlnf+xk2 JzaA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EGu4l18V; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd12730d78si9571256d6.487.2025.06.20.10.14.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:14:52 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EGu4l18V; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJw-0000Y8-0R; Fri, 20 Jun 2025 13:14: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 1uSfJr-0000VX-KG for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:29 -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 1uSfJp-0004DT-Ap for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:26 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-451d7b50815so16967305e9.2 for ; Fri, 20 Jun 2025 10:14:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439662; x=1751044462; 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=f6Gw4GJ2ttFA3nhU45y8rK3c9WCCnz5KKolptG+K1JA=; b=EGu4l18V3t6V/wtIbDgT4sXiCO9qaTfqbi4clY0CBbWYfTlMefHcVFexuXcf6/zMCU q9JHzmLl1NUTK5PJA4f7LjQocUqeFaY4fJjNDtuh+UnznfRHUFoUy+FdpuHVsvE5BviU ryyf5P7qPtyrvc/lrVtu4uKsfUzoodHe/8g2kT6QQe1MbJJozU8WwotIDkT1WEbDzZ01 OmjRNHsMof1Lv5pEw5EZfSPwCrPwwQgr66fRpvINMyqq1cU3tr5ArOFK7ya6uQsGzdke NSNjyO9ZoJlx+DpOucNSlDY7FpwSZuzzTYSHWy9SEqLD3hVUSRyxhXVSOy5UxqbxbbiF ZNoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439662; x=1751044462; 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=f6Gw4GJ2ttFA3nhU45y8rK3c9WCCnz5KKolptG+K1JA=; b=JV4fas/grULxpzOhzDSjtF3oejdnToyevPE1BEfxvxZcH8laDjEsU2Q4GoAhxVoTa7 +zog8ERznLspOG2110c3SkOmEscU2MEDC1dr8mOb9AoHclzfqZTwiIm/dLZO+klQiyiJ jPP5ZfFvpXDCtRiBiy9/kEZMohgL/nwuBo2X6eXo70PIlAnomI8qan7Fkkp2qrjmicYS fyFF7baveIqnyEPPCpOFk3VKTR7y1UZGyLQXMo23PjzpBckc50zxLNY4ytOL2zF/heE+ X4j8pl2RfGhuzqA+pwR/lcpEufup/kZZmV29FkXYCgbEBQPlPxbrCaO0savAk/sUgVO5 PHkQ== X-Gm-Message-State: AOJu0YwXjsUyUG+gOf9U9TvqVyRI/jqKx98jL8F66CKT9X6FXOHYW8Yu F81tI3V7VApRulORgamzbX0iL1abFumN/2TYcjjuCsFjztILNKWt41QIxkey90kOOjnckjTsnWm WG3N7G6E= X-Gm-Gg: ASbGncsBc4cPTfeXmVHGjBs8lPJE3wjYucsYrTvpCIj6pf1sInFC6ND7bqAoaj0MpSL rN7LBBEgjvsY0HkDOWXN+YmnoITOwWS/XE9yPTc8f7GuI+PuNWK//qjLsD2oiQa5fHHLPXKd1H8 VnFCxcZ9nYr+AmOSk+qoZfXftV6+3c8a8nSvYYJA8wJY5G2jBt9rUJq32njR4TU7ubiWjg9Yy6F a23iwm//FZ7bi5hAYbCLUc/Ls8ecEQcylmnYzcNNr94o/SyhAEcZKmO5FA1SsTm1KLNh3kUX3Tt 6zV5UUSXmGy5nkoPsJNNXzrTYVs25VHdneWyfayhq6rTX8EtY1oZ41i5rMeENam+MoP/cCEVa1C l8rIPqleudK+95oUjlmxAr+Qs/9EFg65JmQsG X-Received: by 2002:a05:600c:4690:b0:450:d4a6:79ad with SMTP id 5b1f17b1804b1-453659f5746mr31536315e9.23.1750439662356; Fri, 20 Jun 2025 10:14:22 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45361461375sm48483875e9.14.2025.06.20.10.14.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:21 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 08/48] accel/hvf: Re-use QOM allocated state Date: Fri, 20 Jun 2025 19:13:01 +0200 Message-ID: <20250620171342.92678-9-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé 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 ec82b79b515..6a612599856 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -325,7 +325,7 @@ static int hvf_accel_init(MachineState *ms, AccelState *as) { int x; hv_return_t ret; - HVFState *s; + HVFState *s = HVF_STATE(as); int pa_range = 36; MachineClass *mc = MACHINE_GET_CLASS(ms); @@ -339,8 +339,6 @@ static int hvf_accel_init(MachineState *ms, AccelState *as) ret = hvf_arch_vm_create(ms, (uint32_t)pa_range); assert_hvf_ok(ret); - s = g_new0(HVFState, 1); - s->num_slots = ARRAY_SIZE(s->slots); for (x = 0; x < s->num_slots; ++x) { s->slots[x].size = 0; From patchwork Fri Jun 20 17:13:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898336 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452277wrb; Fri, 20 Jun 2025 10:16:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUfXycKFDbGFmyDdK3Z8Sc2qRHVGx/Pe6Rzt6E9oHIDgZDfZnK0u6yL9a7TrwqVXzF792wIpw==@linaro.org X-Google-Smtp-Source: AGHT+IHSXzALRQN8j9AjS2+fRNE477j5VPVUxeSjx5JYswcFOMPAtflE4vEeH9H+2TL24kC/vnRD X-Received: by 2002:a05:622a:1489:b0:4a6:f81a:4443 with SMTP id d75a77b69052e-4a77a1f7b96mr51480781cf.5.1750439796659; Fri, 20 Jun 2025 10:16:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439796; cv=none; d=google.com; s=arc-20240605; b=L0dihPRBAaQVISg+4/OrX3RAkSs3b55cwGQ2Tb3G+oBIptGimQfHgrI8EV1DQ8d6Qu opoSKbC07NPj7huczQMITlx+hIYPLTWmj/mT4GcIxvW6aFXGXzfSK3CylJH+Aw33wgXK qD2Vbg/vBc1d7k4dDbYEeIOCpJgzFb/7hkotuu2L8kiibQNqqRozn94T33jbPpRiKgWQ 2yxSICqlr/isIqeU3jdMGg6hwzj3sxqv0PJ9PyMttpofXc7loiOaIICH0raqhRjqyGTX xSJSZkU2yi9jddSCudMvVsT1dOrCqFBCrIgK505X0r3V0EFBPuMXpBoJ2lz9nb+httET VInQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=spEBKrueA2eM2nG48ZzQvzRv6Xoawzk/ovvl68AgWB0=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=P1gJqXbcO0rRUwkSMZqhyFnu5bIItbEPOvyY2FdP1oFsrEGfase5H1RWR6ItV2kray +PxnW4eYzGJYNSYnOyiIwX+ORc6kCGgOsbfiI9KpGLWwdJUION0tnpQb42bHwApr5u6k 0YP+9l8MVyCeA8WbNCyBfx3AxYS8Uj/DPF08qgR7T+CAg7LGm4ehaupY7x16XgoCGihX mnn/sX7T23rkFPLNwxXbJc3EhuIFDhT3XAQFhbazkzgborIZL52cO/ljBT0EKZD4XILK iVn6lcKhiAh20rlMBlox7kF+NGMvgNQmC//tkCww8g1DiLS1D9TCvCD26ijJsbquwui2 zwvQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Za69zNr5; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a779d47c7bsi22158121cf.27.2025.06.20.10.16.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:36 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Za69zNr5; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfJw-0000Yq-OX; Fri, 20 Jun 2025 13:14: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 1uSfJv-0000Wv-2Q for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:31 -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 1uSfJt-0004Dy-H9 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:30 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-43ea40a6e98so24073895e9.1 for ; Fri, 20 Jun 2025 10:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439667; x=1751044467; 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=spEBKrueA2eM2nG48ZzQvzRv6Xoawzk/ovvl68AgWB0=; b=Za69zNr5hY/34IebTHUYsYJEPlwfD7VINf3Xu2NDt1n8BWmSCyNWn7KAAI8YHVbt3H gWIdostup9L13pqQ+88DybzK0H4QZxNeGD5xxPxb9WTiDNgeHcWGb9U0xnPvT8PJowFN +jsRehhI6AETwb0PnBm2yunmRvi+2U1OvUSbk9lC7zdSzyDt10bdSdNn79G9CS+LHNIL 1jh5eGUdwkm6dTttEjpAymIXkgSq4eGpii/GRkrpM2wbq51ApIX2jaZtjuL8TjDZmRL+ imrtj1maMd26QOjrVv9P7FhTeb5vT4CNo5c9gCWxMlszjvf+Jrd7El252EFF2z5EbxwN qCug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439667; x=1751044467; 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=spEBKrueA2eM2nG48ZzQvzRv6Xoawzk/ovvl68AgWB0=; b=Z8xHKpuDlhOuNiynswpOudMiqarMrTaT/SGFfSK1JPkO2WL3JkeeYuynEVtHtgQF09 K6d0InZN1CxvS18fmaMmqmW9UrDcu6OCEDIEdfWDyaBRj8+ky550oShYS+CVL78tzn7S 0bYHbkT6hgPdVjfku1d9+ergbKPc8b7mXCR4KbEr2meMjz1cIx7mvlEA0NW7cmWVQJq3 sn7pCyAl0+EqUeHcjnEIhRn8WgTSLSIVuCRAla6oetVIgiRBklNW7kKeYX009qtclBqC jZ4REvZ/B1xD89MjUA323qLbQ/hGHnDidEeb7sIfMjbEm9j7DmhnQDZYHS6pHWlaZk0w nTPg== X-Gm-Message-State: AOJu0YyjUL9FxDHtPmzZ+sGwz9iOOne5Tp3boRmCU/aNEjA4F69Cfv0w NcSqbAlfad+lTH7ejEvpaJOGbsna2MewfCz2tA94ak4SF0316GTfboSWilBUWNwnNUwyR3XWoBl J7c1p3XM= X-Gm-Gg: ASbGncv8/GU/2AbcBMq3Q+LAHS4y5OPx3qOtmEo8vU/hMb//+GpRpw3nGXAC+WpNniE PtHi2eZaBhCHpKTVeoRm+pOgOmVuKJMbIzHb9VkJs0fbCHZAZ95zkk9lVAaY97bJyjrKpGPif4L 5Wwas2IH2+x//AUX4cX82veLHtcwufHbpq79D2IpYif6LdPw5dXUI09db2v91/FKV7w7/rk2XFu pMuvXekS+GayI2tOqjoWkHDbv3SZhI2i82WYtpxz5v10PxnmYYPqyvbc00b/F8XykUiuRzKOSYT e2/cf95rzXnhij3FzSKsB98Zi4izciI8nTaTKwCQ7i8Ln7twAaBs5Zqj9vW67aIIRBeu74S3xiN nPRnv53aRUlMApctEEpxSxiXZjhr5NrIPZAla X-Received: by 2002:a05:600c:314f:b0:43d:fa59:af97 with SMTP id 5b1f17b1804b1-453659c0d74mr31027235e9.32.1750439667332; Fri, 20 Jun 2025 10:14:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d117c663sm2651846f8f.64.2025.06.20.10.14.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:26 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 09/48] accel/tcg: Prefer local AccelState over global current_accel() Date: Fri, 20 Jun 2025 19:13:02 +0200 Message-ID: <20250620171342.92678-10-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé 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 6c5979861cf..4b1238ed345 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -82,7 +82,7 @@ bool one_insn_per_tb; static int tcg_init_machine(MachineState *ms, AccelState *as) { - TCGState *s = TCG_STATE(current_accel()); + TCGState *s = TCG_STATE(as); unsigned max_threads = 1; #ifndef CONFIG_USER_ONLY From patchwork Fri Jun 20 17:13:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898331 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452025wrb; Fri, 20 Jun 2025 10:16:13 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVnsy3nC2DPmRVVanv5F+lu+77qLAGL4AFbQ7AG1DzVC7xZgEfr8GLHL8AfIYpptljQiuNGpg==@linaro.org X-Google-Smtp-Source: AGHT+IHtd0m/OqhsO6rySp6yL2sPRZQ+JTkmEIk2o+daxDRtL8Xmxge72B50evuKA6Zj8Xf+1Ajr X-Received: by 2002:ac8:57ce:0:b0:4a6:bd99:5b30 with SMTP id d75a77b69052e-4a77a1fe273mr49668081cf.1.1750439772953; Fri, 20 Jun 2025 10:16:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439772; cv=none; d=google.com; s=arc-20240605; b=g9p/O7vRMHzPpF56qj9e/+s0tPrRL0ttS2xbh0qHlg1q2LIyNnbSFy0uHZE+vxE3jX O7gb1E8A62HN6qw33uK8Bxidsue3BvRkOg/xCys8MomV26+nCc42xQOMPJidat1SOT79 PMsDO8nEGloe+p/6cVe1Dm8uxQKMjJ3sidByYbeeYGLz0DN/TT+gu69ct09qpRtJ98c5 2X5dgEr381/7mt1LtNPqnQcZw8O6+CVk81pDqPGWwSujBK7sFSjUDmuY+mOpGwZX1BW+ Yku/JLKYwgjShWqixeBEVQOWySvRukmNiZ9QFlYVehcXGrNx/jvyf8jesFYy1OQJpvLj xCtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=vlBAvJidlTd0lWKONZB4JfLwR/GbdHPA4nQcc8Yttvg=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=JOndhGtZ9jLyWPWtVppeIf1TtiVGvKky8k89jjcjRiPaGurrbbHESN/SWD5F9Eg/P9 DKu9d6Up9+dNJH19IEo9Wj1CcjIo7405IMS2X2e5H9eHcEbUp76eEtpSaRjFhJ+j0Mzv 0yTucXp+2XSvdqJRR+6c2/fj8IwSewBSftP34U+7ycBTBAVXcNuFhNEz9rhjztmPY/Lh ipzwmIUjdlpuI0fFdGYoVvH0NRXKVNhuY6Wq8aGxLBhnKjNbzW/8ZjAsB65s1RXgJZeP cqFjuP0heJNcs4s4WIHLIITXycgWFIBYMQLTAlYjNvCmvDvjinxZGU4qIXn6V0KZsphw AHkQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BqGK7QmD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0ce412si22268361cf.431.2025.06.20.10.16.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:12 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BqGK7QmD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfK3-0000cA-2j; Fri, 20 Jun 2025 13:14: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 1uSfK0-0000bS-9N for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:36 -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 1uSfJy-0004EL-Ju for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:36 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a52874d593so2023571f8f.0 for ; Fri, 20 Jun 2025 10:14:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439673; x=1751044473; 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=vlBAvJidlTd0lWKONZB4JfLwR/GbdHPA4nQcc8Yttvg=; b=BqGK7QmDwCCKMwxQqWD4yRAXMCvOs50aF3s7bA8pE1qWuDifVsLglFLhr5tPHhlAlb wQTGdR8s5vl1GL1uy6PQ6l5Dq/3YbbigvWwbZPL5M7xzTHnMHxs7zJy6Dd1/h575I2GN f3GvR6Uzjzx5W6D7/5/izeezZoI0lMb2traNoA20bg5Ex/aJ8PWd0wG0ZncBJBxj02tm SAcSjU6VHudXyZ65ZCnE5YOXbHQ1rluUzDr/T1i/iD1bHqWBuDbFogPO5wk4CUwuO0c9 Fp5d9mS6br0gYy+1h2/CILDsx3OZstm6KrBMWg00nnGoPamN2BW74EFGT/qZdGdgfo/V y89w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439673; x=1751044473; 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=vlBAvJidlTd0lWKONZB4JfLwR/GbdHPA4nQcc8Yttvg=; b=JwCSC3RYa2GO3jp7R1Keyhc6kugzahubfuB2dEXuTnApwGI30d19dku/T/hv6i/TgJ kQg+pNYnUrchw3GocHzgEUx2e6nuQUJIBkopmBKqi6MnpaOajhVhObTHCi0mhFAvVUf2 Bw+R34ROF7SfTbgwwPtV9lbtIatxm6LmWePIxshhAvk3rran3qfWmcyqeuPA0JmVfMo7 2GvVOIrjo9PVGLeR8cojf10n19PmltjWcrpN3s4Oh/kjZvwDkNxSlmiUDVU8UGqqOhoj CdNQdXg+tNxwCdpnG95g6de8hRR5sh/N7Y5LNLF+YQ8H5e/gqjxh3s+A94gqPVU/uroA 4HfA== X-Gm-Message-State: AOJu0YzKWdv+R+UayV1TqFloMSxsai5q1ceViBQ5zREAfquNJgGeNgCE cZvSHzGyx5kdQdrs26oR689nNEwkxyBwOUNkTsyHvmQzDtEGOBESfnR+vYOXWZm33Bj+qfgn8zW p6S+1jtQ= X-Gm-Gg: ASbGncvS9ZkoKGfjVhQIASjaBcZAwEjoKBSvP6YAEg3x4DZRWJqVSTh+sz6PfhgarvR VkgiTEllOhN9Q0is8qqZpAC6TftsRF21VdwC5i3dP5vowSz61U6OhlCHiC1MD4Z9J0UCD6aJRUt OypdXV7rthGbf3wIqvJst3n2dabiaDWnZxUtQGD/3za5pd1LPOBHcflUpX0hluqEM+CLo0X/XTs JJB1MVpBPSsOXHvvNJl3bMt0aZC9E7YTW5uLRpUN7pqRyTyYyRLLj2IH/eDgAiGedO+4LYhaWjB 7LIbjxz/az9LTeAq4Qaydr/c5waZ8mBJ26J3Mv5yPSn2Hpeh+0DdE7EN8Yf+a/ZgA/dIf3NGS70 p2Pi487hjI/PfwgskHJ8bNHCH1ooDocbpnqHv X-Received: by 2002:a05:6000:2308:b0:3a5:2f23:377d with SMTP id ffacd0b85a97d-3a6d1324f04mr2778464f8f.50.1750439672761; Fri, 20 Jun 2025 10:14:32 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f17c35sm2663454f8f.31.2025.06.20.10.14.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:31 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 10/48] accel: Pass AccelState argument to gdbstub_supported_sstep_flags() Date: Fri, 20 Jun 2025 19:13:03 +0200 Message-ID: <20250620171342.92678-11-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org In order to have AccelClass methods instrospect their state, we need to pass AccelState by argument. Signed-off-by: Philippe Mathieu-Daudé 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 39b52adc9cb..2831e61de08 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -50,7 +50,7 @@ typedef struct AccelClass { hwaddr start_addr, hwaddr size); /* gdbstub related hooks */ - int (*gdbstub_supported_sstep_flags)(void); + int (*gdbstub_supported_sstep_flags)(AccelState *as); 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 = current_accel(); AccelClass *acc = 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 6a612599856..3797cab2bf6 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -353,7 +353,7 @@ static int hvf_accel_init(MachineState *ms, AccelState *as) return hvf_arch_init(); } -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 8f6c0bf3888..2a44d9eaabb 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3974,7 +3974,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 4b1238ed345..4eb49c6407d 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 value, Error **errp) qatomic_set(&one_insn_per_tb, value); } -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 From patchwork Fri Jun 20 17:13:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898327 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1451489wrb; Fri, 20 Jun 2025 10:15:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX44BkhAn8N/DqBvdxGQAnEwS11mEPuvIOIiGPnIeU1kiT2wgH0G4uVKI7pgzbDOSoY/VDUCw==@linaro.org X-Google-Smtp-Source: AGHT+IHlQaSErdvoOLarN3Y0UTzFjLdiVgH8z4Lh9THuOjJmvD21XnU1pE8DkbWBJvA84ZjhBdlr X-Received: by 2002:a05:620a:40d5:b0:7d0:a2c1:975b with SMTP id af79cd13be357-7d3fc0260e9mr430176185a.14.1750439714955; Fri, 20 Jun 2025 10:15:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439714; cv=none; d=google.com; s=arc-20240605; b=Kl8PsJftXrUrHHfS/prtfY8HCEKZ1vAz95QFwoLRAlm9QCyKXF02KC9eANbINGHLW0 YmyIF/4XqcH6cepBXOjEyENmFLxRcwJU6/Qdppa0wI8E3OBL2lCqzPyJ11T6TVNHTp5h VMAPUV1aV2YV9Dupd56H3z9vGPh5isQHpsDQE0d6lNvTVu9UvVfLR6bckcd+sb3NzSIi eCU+r/gSUD7YjrhyH0WZlFphhL6IRs68WWwM2I0mmIumKaKlxJ7NN4lkM9oRKPbGAZf3 xMpV9Lkg8RGP8h1Ii100d3u+SMbrIYvV84iDnrwhXGzVsd7U9J5J6B0vFc2qN9P0b50K Gc5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=yKQzzq9lLqdwf03s1WVF2qDMjalaq94J2kEAmGiPnJg=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=N66W9zJF1GVxxhLfzQ4J2/k07Jm8cD3I+YUW9L3qc9Z6rWldW0Xfn1iTsaT9VvYNch LvNYafehEl2EroC7z5lwCcJoL+SLs/SeBVdGHxKUzkWQxGz6Zgd7lR6crUYKHjh1qN1t 8sHoLo3hAa33s5XMxUJQuIqFRF4kARZgBPA+1HwLwRKqpd674iK+xfK4JgEvCNHpMqkU yDowblGGd682S1BCttT5In3WMkDoBbvTK7gjzD8rfXBc4sEuRzpHDzdxrLQ+gc3x1Dt/ DeG9LZjb4mBtI3vYvpCuQ1gGbuYPeeM43fORFik78PE+SaMNbbOs1LBebXRKZ9xbb1VH UeQw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ihpbS+aZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f99e6606si205509885a.171.2025.06.20.10.15.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:15:14 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ihpbS+aZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfKS-0001Ck-Eo; Fri, 20 Jun 2025 13:15: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 1uSfK6-0000do-DY for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:48 -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 1uSfK3-0004En-GW for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:41 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-450dd065828so15563405e9.2 for ; Fri, 20 Jun 2025 10:14:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439678; x=1751044478; 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=yKQzzq9lLqdwf03s1WVF2qDMjalaq94J2kEAmGiPnJg=; b=ihpbS+aZ+2x3n1nlxK5R5adhGqpCkBJyiQriBcfi5tuUXQd4kKIqRUirTY7lW6Toa7 j+ikUNhJm4X404Lv0BY6+ZafqYPL1pKtCrUhGpN4Ye+RrSBw0nZbLCZQDh0PnMNW47nc rn8CGJg79D9qaK5qnuBsSCrl4jOmmlTh1Kc/QnRrpMVLvmFHvJDZVR+3qaOlMvRziUKu 8wbnzS4SKr9A3vzIg/9rkSnVNwc6EN1YaX+u54KpJQz9jA9CSFv+BO9oF9Ly8IUaxIRr nXd9jGCK7MN1/XinZu3WqukvZ5QYCUGZ7CWcWzUg/62v1OwnkJAFqbwk/VdQlqF9ZW1q MqGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439678; x=1751044478; 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=yKQzzq9lLqdwf03s1WVF2qDMjalaq94J2kEAmGiPnJg=; b=U9BgMaF01GvoUJBujEmzeF5LqR4nk4Ar+HQbnagnDweCPKlxCvgmpAZ01hl/uw07HB NpXhFEjX/u4Fft0y0eOtl+mPdV7OGkq07SoxYgYBxSvYOhi4g/reMw77Ck5JWF+Q+Yqz GnUydSy3v+QpEsknfRfQ+7Fl4R4FNnihhGajInKvzd4yjt7DoBG7Kshzv7H2TbG5hkpC cOpZ8Ay5zROe1pu9K0B9MYKcaxO1cdaHxvndJsjIHSw8Xt1AmSWw8ENkpHjNgeSspJfp XGOkW88ZkgWTSDE6iW6FPRqioEZQuQy8kdrPqL5Cvx/D/soHJ6cKCvn/xumE9GXbouY0 pwEg== X-Gm-Message-State: AOJu0YzYQaFKAU/hP9YlC121kiLw64naSmET73x1DvBqU6PzeVrAyKQX CO6/FmvGU9rWYgrMNZOv/SzucORpf9sjL0IT0GItAdyeo3TOIwM27zn+xpuzeCrvYePyzbBvAG+ 1ytFkiOQ= X-Gm-Gg: ASbGnctWi/L6GJ413H7gDe5zqnwwISdwyoDc4Kk81YJuDPFFplpX1Zw8/WlammM4Gli UdZKCV5+fpVkKmTvYhmSuEG9R0GFX3hO0R2lApnrQGF+sx3oVZyo2Gz2DfCgGiIRcVZSlwmNbFp 1z0TYl/5WYGOi3XCgpqP1tOLT9QpQN+ktrlRDeOmIsLZOs+RqhpahgyF1ih9FAc8PqKCG4dOVsr mglYmsPJgIRE2mjOlHFn9Xf4nwb3fprttNdapPCk8mokx221hQsQV55i9CIUYpu/ePs0sjDWq6M Cc/ITUM69ID7MHaduPzPq0AzIWxdyobNy+qQsz7WI1/GXd2EOptp+R4mY1taaNUHBP5fm8MyppF 4FLsIc9xYtB/+O/WC4sPyEGfFaoIzQY1Zzmq6 X-Received: by 2002:a05:600c:474b:b0:43d:b3:fb1 with SMTP id 5b1f17b1804b1-453659badb1mr31933585e9.27.1750439677661; Fri, 20 Jun 2025 10:14:37 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4536470826fsm30586025e9.36.2025.06.20.10.14.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:37 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 11/48] accel: Move supports_guest_debug() declaration to AccelClass Date: Fri, 20 Jun 2025 19:13:04 +0200 Message-ID: <20250620171342.92678-12-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é Reviewed-by: Richard Henderson --- include/qemu/accel.h | 1 + include/system/accel-ops.h | 1 - include/system/hvf.h | 2 +- accel/hvf/hvf-accel-ops.c | 2 +- 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 +- 9 files changed, 15 insertions(+), 14 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 2831e61de08..b807cca6678 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -50,6 +50,7 @@ typedef struct AccelClass { hwaddr start_addr, hwaddr size); /* gdbstub related hooks */ + bool (*supports_guest_debug)(AccelState *as); int (*gdbstub_supported_sstep_flags)(AccelState *as); 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); /* gdbstub hooks */ - bool (*supports_guest_debug)(void); int (*update_guest_debug)(CPUState *cpu); int (*insert_breakpoint)(CPUState *cpu, int type, vaddr addr, vaddr len); int (*remove_breakpoint)(CPUState *cpu, int type, vaddr addr, vaddr len); 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); bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 3797cab2bf6..45dd4baa321 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 = "HVF"; ac->init_machine = hvf_accel_init; ac->allowed = &hvf_allowed; + ac->supports_guest_debug = hvf_arch_supports_guest_debug; ac->gdbstub_supported_sstep_flags = hvf_gdbstub_sstep_flags; } @@ -600,7 +601,6 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, const void *data) ops->remove_breakpoint = hvf_remove_breakpoint; ops->remove_all_breakpoints = hvf_remove_all_breakpoints; ops->update_guest_debug = hvf_update_guest_debug; - ops->supports_guest_debug = hvf_arch_supports_guest_debug; }; static const TypeInfo hvf_accel_ops_type = { .name = ACCEL_OPS_NAME("hvf"), 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) } } -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) } ops->cpu_reset_hold = tcg_cpu_reset_hold; - ops->supports_guest_debug = tcg_supports_guest_debug; ops->insert_breakpoint = tcg_insert_breakpoint; ops->remove_breakpoint = tcg_remove_breakpoint; ops->remove_all_breakpoints = tcg_remove_all_breakpoints; diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 4eb49c6407d..164bba41ed9 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); } +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 = tcg_exec_realizefn; ac->cpu_common_unrealize = tcg_exec_unrealizefn; ac->allowed = &tcg_allowed; + ac->supports_guest_debug = tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags = tcg_gdbstub_supported_sstep_flags; 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) bool gdb_supports_guest_debug(void) { - const AccelOpsClass *ops = cpus_get_accel(); - if (ops->supports_guest_debug) { - return ops->supports_guest_debug(); + AccelState *accel = current_accel(); + AccelClass *acc = 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 87cd323c14d..48ce83eb8fc 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2409,7 +2409,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu) hvf_arch_set_traps(cpu); } -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) { } -bool hvf_arch_supports_guest_debug(void) +bool hvf_arch_supports_guest_debug(AccelState *as) { return false; } From patchwork Fri Jun 20 17:13:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898328 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1451659wrb; Fri, 20 Jun 2025 10:15:33 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWwfIJBw4urq1GmTWby5Nidi5BnOi9OpksWyK3SLLom/UNv7Rtmi4MQPQREzb6xj9t57rYx7A==@linaro.org X-Google-Smtp-Source: AGHT+IHZGHspiR6H1PuKd6GLh4kNlCyr+WwxkdKPk22L8bgAu1EzpPZ8zB5T9NITgIOwvr3jV4xO X-Received: by 2002:ac8:5894:0:b0:4a3:5ba8:4975 with SMTP id d75a77b69052e-4a77a24c133mr49373871cf.15.1750439732802; Fri, 20 Jun 2025 10:15:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439732; cv=none; d=google.com; s=arc-20240605; b=DGqflMXUnZkhxL/bzusyFo5AshJeWtE5I8u4MfTx1IhHN04HFFQuChkGCXcK+CZ5g5 zmr7EBexKRnz4ymjFoapETEnw5N9qwvFpQ9Pv9pgCjt9u2Kont+nRlk5RL8RrLXLFkzS Y999oF6aEV87NTM9DDvGPAGqDJOnMAkrrYs4nI/iy0MW3ofwmRE8Por1+KjwUCtJQd2q ukzuLZx0egR8vujXV04spKB9lGygJmuZ6GFFfzRPV/VSKGqcDbNSomFdrLl34OJsONZe 8eg9A/zKjK256QHlY5oO1DvV6AhI8HiTyhr9DNr2WWn39X2gHn/oYTmZUyUUjtWcEflC ZUpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=m++QAWn68oR/wAf10GvmxCXlcnF7Q9ls48E9G4xXerw=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=jsWk8BL1EJ3iqYnrXMgYaw+MR1l7dOWD0GEUi4QFQC9VTKyoCHex0aYX+1urEoyCro /NVnaRApcHMonMtNz1NOdWQJNiU5QnhBM1AiaOxR/l/56DI3Fl1g5sXK9M2jgw+OrxmK 91QODbza/5WbxWHe3NbeE8NJ5l3MJS+4OiVzdHMm8Qy8mI67IzGJNz23bhCGyjxaFJPp WphnziVjU2dB4atOlodvUs87L7p5RCpJY+mcyvPH5uOHFpsYrKe7VUNDI0sc06hK9xz7 rOObduVlUK4PzqNbtUErBmu4h0wzuqkNvrvlybDgM009/Nk8OBB1yJ+eZACjUMnyfC0R a02g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t8xljwME; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0b3e5dsi21116861cf.349.2025.06.20.10.15.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:15:32 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t8xljwME; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfKk-0001Ph-JD; Fri, 20 Jun 2025 13:15:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uSfKF-0000un-L4 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:53 -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 1uSfKA-0004F5-0v for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:48 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a5257748e1so1407393f8f.2 for ; Fri, 20 Jun 2025 10:14:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439682; x=1751044482; 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++QAWn68oR/wAf10GvmxCXlcnF7Q9ls48E9G4xXerw=; b=t8xljwMEMOvTJF+8MM4/PD8fNkOufjf5T+n+G3Anyeb+lDf5WW35cujDZAT/lwfLl1 SW1hOC3n9kPa71hPG2sH0FdoWLmpVkJ1Skch6cpYHpaaZowVvLcSAh7LPp9EI5GPrRIz V2TZmFwZU6368C6RbLzhSQJew1NlhYOPSUDhZgJvGU7S02M/9FPHwtBB5Bo/rbwUx49x d6tfCD+l4pkxnaC+ORi59uvk+G3Meqs/UOWoWkGZ+yKAvjLpaTxqFd9OrJcqXJTH9EYh 1sre3ik9iuKktG+ktOAoDkg0BYwsmkB5ax+lRdj9rgBpk82GJ1hGxUWhQL1Se4NcNlDP Ye7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439682; x=1751044482; 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++QAWn68oR/wAf10GvmxCXlcnF7Q9ls48E9G4xXerw=; b=ZMDAry8dm6GrVTzZwQeyOGqXaTq4ZpEl3hsuGK9TUmPCGQPhoFb/wp47RcusMqIbqB I67LdnW+yT7LDjlqJy+aGP1dhBoGGDl68CoNbaMuAuV+noF+e3PNZfZFel6bRC5gdIPK eKTm2RD5QeAgpOq0A9uYoK3s2u03wPzef6O8PR5+h951hvc1O+M4wrjiKFO88W4r3h6n 92F4r7d2iPT++MIXJSjO9d6xXD8gRgaKdHFZev4hC9OnIusrelsoEsFetcmZXVlp6dsy TSxgklGqrDmPzGpcr8YMnNeN7r/R1BWbzhTU6oShBIxGIVx/npNtY+TlNq+C7ikyBctB MjgQ== X-Gm-Message-State: AOJu0YzVjmPoeLd+rnIsd48zielSZJwwaadBrBw0AH6acbzf/C+/SeSP 7NeB+4ACuBsy7lUiSsKSaqh0Gz0woufK/dLN2dWWQIyEEsBWPfpFsE9WASL17poVpa0Fy3HuQjc fP/WasZc= X-Gm-Gg: ASbGncu7lO/lvMPoh5lsdqofuuU9ETtsRReccMd/IghdoRDjNtI2GuyXE2S7vEJguxO ygRa7aM98oMGIlD4YgN/fWnj3umyqMdCbwVl2aRKKlNXirq0dHtZ6ACU/GvtC8L88z4NSy5aXA9 mJpRLKfrGVEyM7faIOa96uhCm30hHn29VB6ie1pcQP+VvGYfz9EysG0bXwxc8y3fE4tTTQpJzqX BaqUI9BfJsZsp9ZDnTDeXEkaYbVmVyNd/8aAOP5usJP+8k2M5WyzUxdV0VcXBrUtZTrW75pas7V bajrhuaJfO8l3c5k4fRFrEKziJjHunyhx5JkVroNQrtiuBWGZQmTnivgZsMrg4WtlXw/AtPvkUg yGjIDUGk4lUOz19BBKxqwjz2Ie1V+LD93Lba9vdr9C1rWrO4= X-Received: by 2002:a05:6000:4109:b0:3a3:6415:96c8 with SMTP id ffacd0b85a97d-3a6d130e79bmr3043269f8f.41.1750439682465; Fri, 20 Jun 2025 10:14:42 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535e97a915sm65995355e9.7.2025.06.20.10.14.41 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:41 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 12/48] accel: Move cpus_are_resettable() declaration to AccelClass Date: Fri, 20 Jun 2025 19:13:05 +0200 Message-ID: <20250620171342.92678-13-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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 b807cca6678..04d252d3d65 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -48,6 +48,7 @@ typedef struct AccelClass { void (*setup_post)(MachineState *ms, AccelState *accel); bool (*has_memory)(MachineState *ms, AddressSpace *as, hwaddr start_addr, hwaddr size); + bool (*cpus_are_resettable)(AccelState *as); /* 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); - bool (*cpus_are_resettable)(void); bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); diff --git a/accel/accel-system.c b/accel/accel-system.c index 68d2f28388b..1db146139c4 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -62,6 +62,16 @@ void accel_setup_post(MachineState *ms) } } +bool cpus_are_resettable(void) +{ + AccelState *accel = current_accel(); + AccelClass *acc = 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 e5c15449aa6..be960bde5c4 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(); } -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, const void *data) ops->create_vcpu_thread = kvm_start_vcpu_thread; ops->cpu_thread_is_idle = kvm_vcpu_thread_is_idle; - ops->cpus_are_resettable = kvm_cpus_are_resettable; ops->synchronize_post_reset = kvm_cpu_synchronize_post_reset; ops->synchronize_post_init = kvm_cpu_synchronize_post_init; ops->synchronize_state = kvm_cpu_synchronize_state; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 2a44d9eaabb..37faf615cbc 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3968,6 +3968,11 @@ static void kvm_accel_instance_init(Object *obj) s->msr_energy.enable = false; } +static bool kvm_cpus_are_resettable(AccelState *as) +{ + return !kvm_enabled() || !kvm_state->guest_state_protected; +} + /** * kvm_gdbstub_sstep_flags(): * @@ -3986,6 +3991,7 @@ static void kvm_accel_class_init(ObjectClass *oc, const void *data) ac->init_machine = kvm_init; ac->has_memory = kvm_accel_has_memory; ac->allowed = &kvm_allowed; + ac->cpus_are_resettable = kvm_cpus_are_resettable; ac->gdbstub_supported_sstep_flags = kvm_gdbstub_sstep_flags; object_class_property_add(oc, "kernel-irqchip", "on|off|split", 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) } } -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) { From patchwork Fri Jun 20 17:13:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898373 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1560538wrb; Fri, 20 Jun 2025 15:20:24 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV/koC7qXjsoY6n5AV54gq7FtfKq7THXH7K0HRMU8ORJx6tHhtyIlYDXSvChEH470pz0TcizQ==@linaro.org X-Google-Smtp-Source: AGHT+IGvfFoh/DacBGVhgsJaxQq4s9KGFJucoMb1o0abkRS6QHJo0kFRIJiZhJUkmuw7A9VVUSYA X-Received: by 2002:a05:620a:1a20:b0:7cd:565b:dbc9 with SMTP id af79cd13be357-7d3f9935137mr615349585a.26.1750458023960; Fri, 20 Jun 2025 15:20:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750458023; cv=none; d=google.com; s=arc-20240605; b=kq3hKurfOrsi5GkZ4eWV6BwOzT2cXVUWmRwaa8TsTrfAke9IKAZ77H93MEhJR9kq5z 8QG5V13wBmyeJPPJzPFYUNpy5vxN8LI1s5Bbj+tJAJS1pb8lu57UooTmNXsRnN3Sbm2p ZAWACIT5jTGgPOlMMTK7CrU8TYsk5cIXWxzovxIo8QboZHUDmob0YDlvTrgQ4uhyXxIU BNl35qatjcHVp87pv/NS2i298nPeNrY/KmZ7hPy9K0mSSCffOzOXPKoXXtpxGINriJ88 MWDNzXoOhuQMpAQ8y/iXkFsAQBA99EMIxeLGm+XN3t7l6O04S8jIEklxV8LFkwz5VKge 1Xvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=15D3isY4l+uwS25oxkiN7c++y0O/h98h4xMzv+uZTLM=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=L84lbPCR1GKsxd0gvC9a1msnZhkN3FvAzd0wa552l0ZLDcWtegxRpHfu+LuhKOy7yD A7ZpWl/Z+OaUaM2jyhrxGlMTgPTx2AloLtCp/CCom4UgIyv93GPu/ImIoyX2oN4LLFSa 5G/5Ey0cr0kAlc3WL8Qk2mSO0P0ao5vc6NUjk8f+3M3ymK5qFEKVJmlkdAcqn6buX7ue LN2akGJt4slTH2CoABDVJQy3+MkE+LzYmfN/UTt8iH+br3oC+GF6St+WXQR6rVGX5m9g n8qrdD9ofKFn7g5Hpf1RUrb/H0QcojjvfBzofygVezd8DdPX3dYqPy+yfBZTa5GzGEs+ HNSw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dw9divZf; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f9a1f2c8si250476485a.583.2025.06.20.15.20.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 15:20:23 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dw9divZf; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSk4P-0000mJ-1Y; Fri, 20 Jun 2025 18:18: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 1uSfKL-000122-CJ for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:00 -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 1uSfKE-0004FL-Jd for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:54 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a57c8e247cso1802339f8f.1 for ; Fri, 20 Jun 2025 10:14:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439687; x=1751044487; 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=15D3isY4l+uwS25oxkiN7c++y0O/h98h4xMzv+uZTLM=; b=dw9divZfakRx3L/ZXpqX0ATIauP+zS0lMTH3kA1UEg69eVt7jVCP1uVr76liIbzVun C4U5RJ3BB1QS44jCSLi5Ro/B30yK6pcPAqNMuijnpbTHA+krCbqxvEyeHKkloXb7sbFo SiIddZbdXe28WosQPNpB2wG0LPipHk3QRzYtd2ejqR481bxkvOI8GkN5eXRE/9U7oG3r aj1V0TUdRT9xobhz0/6gn+MVOpdWsYCgaBlfoPxLjT5n6XjGOkoyMkCi2G2TceMOZzsY Z6Sru/jE6y4wjFdG+kDXJZnKnAiIDW2b7JoruWCG1dTcQGRoQnQQMQfOKSfPyExrqRDq OC3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439687; x=1751044487; 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=15D3isY4l+uwS25oxkiN7c++y0O/h98h4xMzv+uZTLM=; b=XvcvxEczHbHpgfqWNdl1FEAgCw9PjLLFzbYgiFkMMATIsiIT4QgtsC8SSxVG93qPST YMX+urV2lKhqBcZ98WUXQAtjhgEVc2vYeLQbgfbf79hC2YiAB0LV/pnwgFuxXK7Zzkyd e85ADaxHeq4pBfeadopwn3LfJNmIsLbzvSkdvhJrNidyEaJ+8Rnx4Y+fSDQAscbbFHDP siFSTF3aBoTPiUAvkcfHGafFVUMBZc0tfi4mebcb5vuqYqYJUs++GTV149p/aYw2wnW/ 5KhU35OhKN1Udl3lFv8UvlgVbnfGZNAAXyiXinAYkCxgEG6neKRo4hIpB+bykumfmGb+ sAXQ== X-Gm-Message-State: AOJu0YySh9aEe5XGtfeMUGzEcNc6fdYzbSu2jREfAdhyPgj1vBGeYq6+ 7WjEdeaeBZ/DtPomFQyu8qSLDA7ZLXOzs6xlH+ClPW0kaTFbuQSVA/nVYRPiyP0ncUafits/+p/ F9XWw3D4= X-Gm-Gg: ASbGncsqcXdz7FnBzRaBx+aR93xCEC3RswheZlmR6p1BqAWre66NRgK3/ZzpXxSpba7 7utNFnVSA3P8UopX6w3dd1jKzXIh2pg8O86T09pKLbXTEUJbDUAmVjrtcJ95n/VziojgdXmPqxI Gzx2OBrtzjM89i2FZzwcZLA1LM99fnPA+XaJLO9fjaRCuxsP5YA6n1xrweAcLDFB9Hrx8r/hm9L kchKZq5KxaAQWHblz+n9qwt4Jc8rM2D6mHKdwhTn2mvfvv9m3gltCTQOXI+eUdQJ9anf3E07Reu hsvq2EpTHj85hxgLxlr+lDtiyZepgJUphHkC19shWEoFOY6iJBdw7NsShRS3iVQ+eUOc9PYNin6 Bw8tvnr2Gi8qQcsgy3GWAnCF4Wh8BcG+3gC+5 X-Received: by 2002:a05:6000:4917:b0:3a4:fa09:d13b with SMTP id ffacd0b85a97d-3a6d1333f71mr3804288f8f.59.1750439687161; Fri, 20 Jun 2025 10:14:47 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453632312a3sm41221035e9.1.2025.06.20.10.14.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:46 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 13/48] accel: Move cpu_common_[un]realize() declarations to AccelOpsClass Date: Fri, 20 Jun 2025 19:13:06 +0200 Message-ID: <20250620171342.92678-14-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org AccelClass is for methods dealing with AccelState. When dealing with vCPUs, we want AccelOpsClass. Signed-off-by: Philippe Mathieu-Daudé 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 04d252d3d65..aee0a2e3309 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -41,8 +41,6 @@ typedef struct AccelClass { AccelOpsClass *ops; int (*init_machine)(MachineState *ms, AccelState *as); - bool (*cpu_common_realize)(CPUState *cpu, Error **errp); - void (*cpu_common_unrealize)(CPUState *cpu); /* system related hooks */ void (*setup_post)(MachineState *ms, AccelState *accel); 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); + 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); 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) } /* 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; } @@ -118,8 +120,8 @@ void accel_cpu_common_unrealize(CPUState *cpu) AccelClass *acc = ACCEL_GET_CLASS(accel); /* generic unrealization */ - if (acc->cpu_common_unrealize) { - acc->cpu_common_unrealize(cpu); + if (acc->ops->cpu_common_unrealize) { + acc->ops->cpu_common_unrealize(cpu); } } 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" /* common functionality among all TCG variants */ @@ -212,6 +213,8 @@ static void tcg_accel_ops_init(AccelClass *ac) } } + ops->cpu_common_realize = tcg_exec_realizefn; + ops->cpu_common_unrealize = tcg_exec_unrealizefn; ops->cpu_reset_hold = tcg_cpu_reset_hold; ops->insert_breakpoint = tcg_insert_breakpoint; ops->remove_breakpoint = tcg_remove_breakpoint; diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 164bba41ed9..28206ca5e76 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 = ACCEL_CLASS(oc); ac->name = "tcg"; ac->init_machine = tcg_init_machine; - ac->cpu_common_realize = tcg_exec_realizefn; - ac->cpu_common_unrealize = tcg_exec_unrealizefn; ac->allowed = &tcg_allowed; ac->supports_guest_debug = tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags = tcg_gdbstub_supported_sstep_flags; From patchwork Fri Jun 20 17:13:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898357 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454862wrb; Fri, 20 Jun 2025 10:21:28 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXse67fdz5HuAV0h8+vmAbGyoN9EVoWb3mFIDdOIf17cMjcej6tAUSWZOUI0fAyQWsk17uvEw==@linaro.org X-Google-Smtp-Source: AGHT+IFsxD4Szih5FYkKqqekmu7UK6+EwkneQcihqWa9SsHO8teggz9xdBx+a4RKq0SkeyfrWOj/ X-Received: by 2002:a05:620a:2728:b0:7cd:31ca:d81 with SMTP id af79cd13be357-7d3f9936362mr565521085a.27.1750440087783; Fri, 20 Jun 2025 10:21:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440087; cv=none; d=google.com; s=arc-20240605; b=BvTS1WPzFpFXhcN/oZPmLt3Dkug7t0oV5mgdlahv7oMJ+W6h18005rNudMZyP22vrC oHFgYeL5Zkc35X9jgDWg/BgF4oDbhAEIYYOtWvBfreDQvb2syPW1JOn0PybsDvh2mcn3 1nVtificALJYS/cOIiPQIEn3cvpDeQVpe7YloYnFMJ3s+kuys66Fw/lOohIuq1XZ6z+V ne63Rik4sXdExIWTOQA25mA8DOC2DRgqFEWtMwR9xKsAyP9i6KpbToEIfTV456piPXMb Uk6faYDafPNwqGrvX40F5gHJ9fKl/gUiFCTc0YLWN4BQiG1hOPsMz3xaqf3SNyrpx3fe MCSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=I1OZb9Kl+4lZDh9KBCT1cYYDblubQbpp2G1iwduVoYo=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=NRXYe7pVPaJfyyeJKuwaeRghc9lfuvaUhyzA3mto+HOiy6hVfBiKg4WnY0wjcz4gFE NtOKd38wR3tzdhD14NpHgzbfRS1XzmO1ueaxeev+dEv+crpaMCf1ve5xhs44yqXuWDft GFj3C9cRjwxA9hqQtS+Vk3zRnKlPUtUI9AlbBYnDC1QnHkXpPWlJ9y8AIvkdOAV/lRGT 7xSPbOA/s3mlXrEpdO/K7oeiQl201F2p2AifhVboxw60p1STm+StxEyUbCt/rDWq3BfU mST9UQuvu+m0Qb6+xnrsz4IhXVXfAJz0IoOyxn2fDriLpO9kXrx1Bk9BzYetYkblvvqv 6Z9Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fSztmfNT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f9a1b16fsi194037685a.522.2025.06.20.10.21.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:21:27 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fSztmfNT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfM7-0003ew-5k; Fri, 20 Jun 2025 13:16: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 1uSfKM-00012A-Ij for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:01 -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 1uSfKH-0004Fp-SQ for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:14:58 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a6cdc27438so1771835f8f.2 for ; Fri, 20 Jun 2025 10:14:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439692; x=1751044492; 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=I1OZb9Kl+4lZDh9KBCT1cYYDblubQbpp2G1iwduVoYo=; b=fSztmfNTBrZHWiFGvuOnK4LfTvUHpLVstT9QpoGf6K+nUiIKTfHblgSKEQRnRMOF3+ 76DICWWw0+Ryekt5fYvPaQCJs018hVDGAfcOPU2m/bLDORiFHYcY0CXrIwit6Bfp4s5a EmSbchxSfBGWDMqwbYEypKF0nBf93wgd31iqJn4cfJ/0apk/guCHPrKH2wRkA6z72DOX a6m5TpYR2tt0TIsvVEgwkEFRNRf0k5kKWTXSIn99NJmF8TQfstAUocw6V7D3C3Y3dPa2 nIIfRjYapVTjDHsmsU7jhBn6Svw3csR1VWcw/jeF/CQtN6TobnKP9e1QYdxJkZlOMAL8 t6OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439692; x=1751044492; 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=I1OZb9Kl+4lZDh9KBCT1cYYDblubQbpp2G1iwduVoYo=; b=ETuu6iPZ/4rZcQLIqlp41/Tap6kctz1CUj08fFIP5fCzEWXNfahKBWOaQgQOrrkEpD lg+mfVZef2FWEGT7JI9s0P3Z170U1sD1OGgXfuzSOpqN5Iuuz/TOWdPO0OFCiOI/khki kluFZbzw1ztgRGJSFWdnAe2M10wXdxh0bEsr4w0sFvfgndXF8zeySiIKLrkGny5hAQqC LQt+HmiLQZvCJRCthDst1skkzTWBosdRcb4GKfIIpy3f6oAWEHOUKeO6pEKuUBsHgviB pzCLEGh3eLSRuYdkROc74MFoeV30/+pQriG9RRaA7HZgwLc3lo2pE7I/3J6T+ptOu+Um 21sw== X-Gm-Message-State: AOJu0YxJ+f5Z+mkzKmFMYcqDxrc2DBOK9RmIZYqCLLbf/4cbB83q9CRP 4Lyv50QLe+PmvuOW9ici4iw1Bh87LmLO8zSQPk2a+m6nhnR/p79Rm1O48EDbawHLkDSQpTe+Wpz 9X/FzKSs= X-Gm-Gg: ASbGncuEZPLOfcfVEcYwngzNznVGvp0RT4lL0WNG4WHKrGAWhHenb0LBk+P/N1YL0lR vIds18d9cJzX5O22WMcrbDeQvpBpuFkPLk0YJ0hmP6GnkJ9yJKrf8gEf1/3pIBII+SF1gAbyz6b 0cXgUavthmB2DClXatsT5S28X7oG2ghFcLOCKk4g5SHOJVWjQvlpOtWZ8Yzag4lKvNhCjICtubU buFh9nliserUlCUI7Wl3d9w2hChogTmuZc9MzOn3Vi1T44tgPAZ+0WGoRaMqiqJxrgJPjsz2RlW eOtXN1qJFdFQ/BkJGgaF/4wgs2DPv9U7FZnwXfXrXQWSfT17UswOVPIIytbYTd4xflTloMD73z8 TUmxbprxxlMxx6w1dccgP215dGT+ko8pOUsVf X-Received: by 2002:a05:6000:65c:b0:3a4:e667:922e with SMTP id ffacd0b85a97d-3a6d12dbe56mr3188809f8f.4.1750439691994; Fri, 20 Jun 2025 10:14:51 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1187e80sm2545362f8f.78.2025.06.20.10.14.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:51 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 14/48] hw/core/machine: Display CPU model name in 'info cpus' command Date: Fri, 20 Jun 2025 19:13:07 +0200 Message-ID: <20250620171342.92678-15-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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=42924 CPU #1: thread_id=42924 CPU #2: thread_id=42924 CPU #3: thread_id=42924 (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=42916 (cortex-a72) CPU #1: thread_id=42916 (cortex-a72) CPU #2: thread_id=42916 (cortex-r5f) CPU #3: thread_id=42916 (cortex-r5f) (qemu) Signed-off-by: Philippe Mathieu-Daudé --- 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) monitor_printf(mon, "%c CPU #%" PRId64 ":", active, cpu->value->cpu_index); - monitor_printf(mon, " thread_id=%" PRId64 "\n", cpu->value->thread_id); + monitor_printf(mon, " thread_id=%" PRId64 " (%s)\n", + cpu->value->thread_id, cpu->value->model); } 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 = cpu->cpu_index; value->qom_path = object_get_canonical_path(OBJECT(cpu)); value->thread_id = cpu->thread_id; + value->model = cpu_model_from_type(object_get_typename(OBJECT(cpu))); if (mc->cpu_index_to_instance_props) { CpuInstanceProperties *props; From patchwork Fri Jun 20 17:13:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898335 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452269wrb; Fri, 20 Jun 2025 10:16:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW1KA+PaCP2Z1t+A7P5nrCxLVuysW+pxECUiP+ZSHjSeTVgf+hYPyDqsJb3PS0ZFchqluakhw==@linaro.org X-Google-Smtp-Source: AGHT+IE2yyXvoJrOdn6HvmIKk7DdtGwFK5oT8HGPToBzq7o/NMwDYalw5h4crzz5OuscaCZGvxCT X-Received: by 2002:a05:6214:5181:b0:6f2:c88a:50b2 with SMTP id 6a1803df08f44-6fd0a455fb1mr56323866d6.3.1750439795800; Fri, 20 Jun 2025 10:16:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439795; cv=none; d=google.com; s=arc-20240605; b=GHnFyTLjn3fUaX1FoD0v56gHDIeM/4c59CVo+j0Z3QvbsPb/MdiXoi6yg38UAZ5Quk CY6jMUdKiw13/BfRn4pgsorJ2ouPMtq9zAiVLw4RI5dXpEl6B75+1+kncqSNYW4QDG8j QI/XEZFoY+mQk2tc2k+T0FR5ipVtjgx8e2Ju7DgBuqhsSdBxF/xOWDGmGSICJIWA9LGj F4jgioMoR5sF9cpj00C8WDb4gHh51xIZGxsri7qOV7iLQxbKKy6I9+kWoV0Rbz994nWq kEZ7E8YTAo0I2MReFsIj2pijcNLduLVbIxf952ktbkG5hhnB+7DKwLMymuXlbwVslHyv 5m+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Y2LkrHR6vpwcd+SjWT8bFSjr80XVAv5K9YgR9HGhVJU=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=JJSFhC2T3GxOh9+FKKte0fuTzOVegNYZno8EsUglYZr0FTqVNYJ0EpgPpIw27tnLKm BxRD+Nd0zeVq/F2Ps+Up0BMAjHP3NafZCz2vxlWZXQqgaNh4PQWgiFYmbPUGrrcSOLIo O0kkpyGbcwtqFZ0u3QDkmbp3EOSsAVQu/ksIYV46RaEepUJPAf/gHYB+1qTFGyI6VlcE +aYGPCmOvoNXs0j7jaX6zMvUg6rYUhD1wBbzm6Ws/VVj00uxMmITfod7hUsXLJ+piMMq RXB23ha2EQaccMeKRcf0mCI0tamlZx8bMW5a3wMdtIgg/bVsPlHIDkid4Pth1lt9io5I 6ggg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CzH9iATe; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd0a3f63c2si22569446d6.169.2025.06.20.10.16.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:35 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CzH9iATe; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfL8-0001zZ-GX; Fri, 20 Jun 2025 13:15: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 1uSfKP-0001CP-Mj for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:02 -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 1uSfKM-0004GB-TE for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:00 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a510432236so1621608f8f.0 for ; Fri, 20 Jun 2025 10:14:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439697; x=1751044497; 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=Y2LkrHR6vpwcd+SjWT8bFSjr80XVAv5K9YgR9HGhVJU=; b=CzH9iATe1ojbp1/BKLOqZkfvNtj5nptgCgFMShOg7Kf+xLEyKN7oFNeEo5+w/DTFoq DTJnOHHEl66OZQkh2qckadHbJKCYyOBAaZ4oshB6m1ApM85uRsSzisdS1lKsv+6qpFvZ raxDjShEGGafZb4OS3pjemN5pJmtvPSd4G6GFno8Sp8+Gv9Kc0WRo+JJVvJyxpiqu8ow gWE2e9dJ9KJ8IVOYgJd6lKLlKQHEkWf/l2LWNatBA1kj6KvlEp8loIOnBWGCIAaI4gSE NuwxpAaWrWpExhBLWfekVaiSSu6Meco49ttr83PLWlBhccH/i/nH2/z+JoIYD2Y4n05v esFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439697; x=1751044497; 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=Y2LkrHR6vpwcd+SjWT8bFSjr80XVAv5K9YgR9HGhVJU=; b=R+6jPr0OiND5C4DEM4Tg5snijFIKW4n9Y2kDaRHGJvgT3igWOnjVHTjWWp/LQWRkSg eKf5ptiMw3SOZyJemdeA4bxDteq38KyzNKKJ2lZGP0nqk//18FrRMX1W6ll197rzltvV jie+tWHNrki4KT9Uw8dNv8NC7eIIXRzR9QQrx6p9v/0Z80aQ1hdPOkQ3/LxAMx3mUI9t c1P58zCkSgxsjXmx+Ky25MwqWDD+C3xgix10YTycoO1u5ZeFoaieS8wewgkx6NW4xEoG HIjHAYdxaDmzYEGpYxCPm7uxswf9ee5ncmC7FuducHtI2zpGlqs87lpHfwhX3Mdk87Qa ki5Q== X-Gm-Message-State: AOJu0Yza11t6h4eM30Fx1ErSlOgY26DZzbdf2sQtmO+M/MaQYnICu4KJ r8ey9El/aNPFqNCGv307h3q+QqvSoTWHbYAQey4DRB6wi+moe2cM2nHuvBZHJZ2O4YLDRnB6jvU n+3OcpVc= X-Gm-Gg: ASbGnctMlENP9HLAVg1P0KbFy7KTeWyVKDJPBGUpKDiGoljsU8Wx4LKhEOg4DQrH2wn pW4elp2kfHkPyeCCeyNPnEsWSw+yDJc50uYZG9fmTEi8da3GTqbwf24zBU8DGSk/LpD8qp+k8C3 NEik7E9R/jqwZDMZ2DcMvJj/kFTMLx2aDIgq02FornIxgZ9FnOjIWyHM7yXoq84jrtq0Fy/32oW p3UV3jYtu8+puIeGLVsy+/x5U+fQaZJDXpGg9IEBR91nuUan0Or5zN+ZGW7G3SxLeW11JRNd1nt p0Zs6K564MWzjE5EjYcqOUYYNL0AS+MA+sqS8JN7EsvOTzxo+t+/bpYQl3QhzjGUbjZVwijM5gK 2iXrRIjxxx7lewOvtofy+rXqKpx6+R/2ITF4y X-Received: by 2002:a05:6000:4911:b0:3a5:57b7:cd7b with SMTP id ffacd0b85a97d-3a6d12ead65mr2988311f8f.22.1750439696859; Fri, 20 Jun 2025 10:14:56 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535969dc4bsm41895455e9.0.2025.06.20.10.14.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:14:56 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 15/48] accel/system: Add 'info accel' on human monitor Date: Fri, 20 Jun 2025 19:13:08 +0200 Message-ID: <20250620171342.92678-16-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 'info accel' dispatches to the AccelOpsClass::get_stats() and get_vcpu_stats() handlers. Signed-off-by: Philippe Mathieu-Daudé Acked-by: Richard Henderson --- include/qemu/accel.h | 1 + include/system/accel-ops.h | 2 ++ accel/accel-system.c | 28 ++++++++++++++++++++++++++++ hmp-commands-info.hx | 12 ++++++++++++ 4 files changed, 43 insertions(+) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index aee0a2e3309..4ed5f264a88 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -41,6 +41,7 @@ typedef struct AccelClass { AccelOpsClass *ops; int (*init_machine)(MachineState *ms, AccelState *as); + void (*get_stats)(AccelState *as, GString *buf); /* system related hooks */ void (*setup_post)(MachineState *ms, AccelState *accel); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index fb199dc78f0..5c5171ea5b5 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -51,6 +51,8 @@ struct AccelOpsClass { void (*handle_interrupt)(CPUState *cpu, int mask); + 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-system.c b/accel/accel-system.c index 1db146139c4..b37889b84f0 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -25,6 +25,8 @@ #include "qemu/osdep.h" #include "qemu/accel.h" +#include "qapi/type-helpers.h" +#include "monitor/monitor.h" #include "hw/boards.h" #include "system/accel-ops.h" #include "system/cpus.h" @@ -72,6 +74,26 @@ bool cpus_are_resettable(void) return true; } +static HumanReadableText *hmp_info_accel(Error **errp) +{ + AccelState *accel = current_accel(); + AccelClass *acc = ACCEL_GET_CLASS(accel); + g_autoptr(GString) buf = 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); +} + /* initialize the arch-independent accel operation interfaces */ void accel_init_ops_interfaces(AccelClass *ac) { @@ -102,11 +124,17 @@ void accel_init_ops_interfaces(AccelClass *ac) cpus_register_accel(ops); } +static void accel_ops_class_init(ObjectClass *oc, const void *data) +{ + monitor_register_hmp_info_hrt("accel", hmp_info_accel); +} + static const TypeInfo accel_ops_type_info = { .name = TYPE_ACCEL_OPS, .parent = TYPE_OBJECT, .abstract = true, .class_size = sizeof(AccelOpsClass), + .class_init = accel_ops_class_init, }; static void accel_system_register_types(void) diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index 639a450ee51..0496be6abfb 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -281,6 +281,18 @@ ERST .cmd = hmp_info_sync_profile, }, + { + .name = "accel", + .args_type = "", + .params = "", + .help = "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), From patchwork Fri Jun 20 17:13:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898332 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452056wrb; Fri, 20 Jun 2025 10:16:16 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVfNKeQZ1cOmi7hzt8J/GaPdaEVW4oDMx2dZKSKUYHcILwxxKuv40cCnwX33zspqlLXf4pS2Q==@linaro.org X-Google-Smtp-Source: AGHT+IFZDO8Z7vUhf78c69KT6M1hfKGKlCcJLxJFJrz/w+G3O518d7UOuZN7UQ6Rsnlf3iSEosTh X-Received: by 2002:ad4:5ca7:0:b0:6f8:e66b:578e with SMTP id 6a1803df08f44-6fd0a571ee4mr68501096d6.32.1750439775782; Fri, 20 Jun 2025 10:16:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439775; cv=none; d=google.com; s=arc-20240605; b=dd42Yp45G6etJgol84w9FEiTF7o/y1xylLdZtCiEnCtCleOZmqURriU91Cur1YG5XL 0uqtQuYLSZBVDzM638KH6LZQL8CxzCCkfjM1Si7gXxwkQ8G9IPAQUocu7grn9dtFRebH /JpMU0rH1KsTneRvit/QXvZFMXIXpD5hl8BkS7lH/o3FQ/9Df7JkdcpoB8O95WvdVZPD kF+80brIIctM/Wk2c1d8B+gbMmxoVCh1e8go+4RvmvXfNMefkxlojewqhcEYSMRlPn2G 5YNVDaCdl9/oRJDudkl8wxPbg9e7kTld9A7A1c7iYbD4g/iNoJayvhPUX07coypwedf2 7fdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=NQF4H7S4J/KumkA9IIMkTsQov5jwGOrtTGEPyYAegEw=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=E5Nbla8oP1ssirvzHXMgClQQ7ydGFmnNDXi7FznnCx9X3Mum2s1Cr6AREsAChGX7Ym cRZIYctt7x5+If/+dZXrTnld14tDgluwwbn8ycl0ffHWqLSocRj/vnJMmdUEZLOFAprW tfc6ZpU96waqPIGL5fYgdtVbJk6HZfRSZLS62HHOuhh3tsHjicRDJYzN4dvMyQ19KhNs +iaWD98uGFts9A9SxtUwKwx2QZCfY4r166+YPx0kFe/W/BnN6QeD/SRz5+DQCgpwqT8Z 54Bf5oddRY7fYMSx+hDe1E4iN8YW+0v5IrW16Hgixx0oC6Mfqv6r1vIH729ZG4ieqGu1 /diw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Hk7rKxAh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd095bccb2si25397856d6.444.2025.06.20.10.16.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:15 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Hk7rKxAh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfKt-0001fm-5a; Fri, 20 Jun 2025 13:15: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 1uSfKT-0001Hw-IR for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:05 -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 1uSfKR-0004Hd-Ny for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:05 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-453636fa0ceso13437325e9.3 for ; Fri, 20 Jun 2025 10:15:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439702; x=1751044502; 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=NQF4H7S4J/KumkA9IIMkTsQov5jwGOrtTGEPyYAegEw=; b=Hk7rKxAh2CM0nZKz1kgvmrliotU5/IsSRglmEE8Y7aJihoAuDTER7W3v4LaRD0+hYQ cuiyXsRr9tG2OkWA9p81nf4gvuSGus1CdCdkvo7oEoWtqwWMXkGCO7w0RsAmz1Eocqec eveFa3Y6yAq8Kk4mYYxuyxzQEbdhWXA4l1ku4SDZE2XQJq0L9MFN+5vY5xV6EfWOcPgU BNMvFPfYfP3+JnwMWplIOwnAk5A3zqzSBDQajfLWBs9nXZDcT8StMdjtFAhGa5Hsy4Bt /VkjqtYS+MEowHSNw9zRCGhKite1qlJGDFkEoypa1QXBlA/DNktXY/SDNuMUhXzfrTS4 9l/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439702; x=1751044502; 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=NQF4H7S4J/KumkA9IIMkTsQov5jwGOrtTGEPyYAegEw=; b=FQdDLwlbYGWPyGPY+T5UxJV8pSHlSCFdZ8r5FtEtBZ+qntjARxM1W1Mn/KrgkZyt5m OFuwYOQfASywzG2uMfzY6527Wr6wVm1tU3MEKf3eYiW/7qtW6F70XTZVAe8AObF/0hCf v0o+ipiNbNYDRaTeoklIfGiBDl34wGfclA3S2meSL4n27tUFjUExBVSCVj5AfhuhX+Me geqhv/IXCPPvJP6LbfrkOjTYz1PdrUDHOEwOhmI9LpWYV1R26ZNZa/wah0he5Q0AYPZf aHI0C6rRhBZwKUJrZ9ylr3mDnmX7nvgisBt4N9bH+RzzDPMZz+U0gSZGddyqrNJI+SBn rk6w== X-Gm-Message-State: AOJu0YxXQyHpFIv7Wkmkufyow1TARq/irpdusU8QvUGwSNvYlFmeH8T0 5sW1d1Jwhhi7gBcVqOVL4QpvcDw0O3SAIixghKh2BazfgDHSzBRKPS4Q0jzBX2JHwMLDJ3+TLy8 aCfc/TcM= X-Gm-Gg: ASbGncsIhVI0NyXqRqRZr8BBzuIn4wVK389XRHKET6g74v7x4RFCZ0L4u32TF2kMq3e +6diPlC0VwYDkKFZ3l0VsvmUiQ6VGKWDyzY/7EcbSy/qNl/r0vvEt20ziOstpuoO2SQCw7QmdHZ qxL0L0dasB41gxu321SRzjVoqlvxC4sNDniXn/bsA6C8+4CLY2z3bhXKFO22r3WzjJLV5V+K12d 7GJwKk8cRe5Rsx7QZrOtRmXdO384DWAfkfyuBo1Wg7FccD3y4cTPkoTV0fExJa8TDlpKMAQ+KrV XsGNT2gg5w4UwSLoeFF3X0hpV9TNh5r4rAE/GsBE8kpNJap9IsBwfMqMDNQV6TJ5+zisloJQObp npi5aV04HF/H+mICxUW+TJIaZ8ZER7F+t9O4OAIrPErIgv3M= X-Received: by 2002:adf:8b02:0:b0:3a5:8934:4940 with SMTP id ffacd0b85a97d-3a6d1330d62mr2259561f8f.50.1750439701688; Fri, 20 Jun 2025 10:15:01 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453646fd816sm31376135e9.24.2025.06.20.10.15.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:01 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 16/48] accel/tcg: Factor tcg_dump_flush_info() out Date: Fri, 20 Jun 2025 19:13:09 +0200 Message-ID: <20250620171342.92678-17-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- accel/tcg/internal-common.h | 2 ++ accel/tcg/monitor.c | 27 +++++++++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/accel/tcg/internal-common.h b/accel/tcg/internal-common.h index 1dbc45dd955..fb265d0cefa 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); +void tcg_dump_flush_info(GString *buf); + #endif diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index 1c182b6bfb5..5f74881f2a3 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -146,11 +146,26 @@ static void tcg_dump_info(GString *buf) g_string_append_printf(buf, "[TCG profiler not compiled]\n"); } +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 = {}; struct qht_stats hst; - size_t nb_tbs, flush_full, flush_part, flush_elide; + size_t nb_tbs; tcg_tb_foreach(tb_tree_stats_iter, &tst); nb_tbs = tst.nb_tbs; @@ -187,15 +202,7 @@ static void dump_exec_info(GString *buf) qht_statistics_destroy(&hst); 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); tcg_dump_info(buf); } From patchwork Fri Jun 20 17:13:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898333 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452144wrb; Fri, 20 Jun 2025 10:16:23 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW1pSVpJHfumZiYeEbBOZkW0Vw+WfESFSiThHFeVXVCUymYGs1DVMRxh2Y14fyz0LcsA2SrOw==@linaro.org X-Google-Smtp-Source: AGHT+IHa39HCbc51hDPpLLv5Pr6uha/BlgSzO2T7NBElHBCMoLp6M3ViYYTSOfnFoWh9uQWO43ay X-Received: by 2002:a05:622a:a549:b0:4a4:31c5:fc8d with SMTP id d75a77b69052e-4a7804c11camr22690591cf.43.1750439783168; Fri, 20 Jun 2025 10:16:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439783; cv=none; d=google.com; s=arc-20240605; b=h7wKgFbgAOinSAP00j74C9YceLyElFHbnypnvnfzfDmCg3jwKlWAQySfz0ymHwRu58 5EftLQqlASGvwVvip/gF/E7Hmg2/ZAp+HsJUrPvcjF0Z2Cez193SINQnie7JFuEncwiC VQr4+WL9hRPqWKg+dJZL1d8POCmZg/tzF9kp0GX4GBM1+7Zd7NlQr57aTAeaQymRcoG4 ru5wDugZF7jiADfFgHQej4koHgs6jy8/ggtH54jOl90DVyJAs+ewV+unT3rPKMzLj3ov e0fnRpXnGnwk/R/NKH0mO/MgY4b6Ot8PlNuEpcD3hkbPf9UCRi8/Ao4u/7uNEHB+HEI8 ko6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=veQWKG+tAZzHOxq5ZSFoWdE7WJpX7Ekw5t3gq6/7ihM=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=IeEckgjLNa/sQk7STsQLDTgL02V/cf6huovPLf0uLUchKTt3oNGGlb9R3stFixeBpG qxeu67DD4bPR5+4s0Lq08TBwSFrqLyrFHJzoDwAcgGnrVxL1/Ey/47kTdIh31aL0Ofi+ LrHmObegoC8hUvhcGJlwUg6+3oqbWGMrGI2W8aADr/9ZAW/WfC0gn3sd1qjX5JkTQcXK MfRsi39LQV6znDKTBMslS/XX0McdJLEuCI5uyN6DwsJ+zhP6aVMpcGRi0RGFiBvcw0JE RynfIzKYNMx7osnV8WQxDHvhO3AMPO0NeopcVkSeQVVz2BjP1vJ/8Zf97/1ZmdA25bwY lSaQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gVjhKtwR; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0d68a5si20664231cf.501.2025.06.20.10.16.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:23 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gVjhKtwR; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfLT-0002O7-Hq; Fri, 20 Jun 2025 13:16: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 1uSfKY-0001P0-5x for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:13 -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 1uSfKW-0004SU-Kz for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:09 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a588da60dfso1373222f8f.1 for ; Fri, 20 Jun 2025 10:15:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439707; x=1751044507; 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=veQWKG+tAZzHOxq5ZSFoWdE7WJpX7Ekw5t3gq6/7ihM=; b=gVjhKtwRoN+FQNCHZAeaPEQXc1QSKvVuWQctMBTq0AhhjaBK474h/PHEpYFyRtmOHg ZxhrsEHZdPY4RQhvTgZESFHK3j/Cm2QX7U06pVhMqspZtuwdEYR14rNLcUh3sblnBzlT OWe4+Gulm4zyCEsWAFxGe9CLLLJe2aX1mTauX2xMFQNn0+6dnDyYOAR0IhvVgiCrfAX6 ZzaasBFFYRBsvfYj8r0StIvMBXNTerQioNORTYjgXwrjxxCkZMSoiUU6j3lH7ORsQt6k u3gGjp1p6NbXLIqTNQmOeJgSYJ2QKAEt+kIxPkq48U177qgO/l6fCXyPmJOAQkWdMSvX vJOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439707; x=1751044507; 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=veQWKG+tAZzHOxq5ZSFoWdE7WJpX7Ekw5t3gq6/7ihM=; b=dsVhwHxbJYhk4NeTS5JiM+R+BFWblZOQf5AUKVoBQFDC+wxwjiFWyLT2aVDL9LpXs3 +5moSsJ3tkKXlfxI7ut+SjZJZ7nWFcsJy2FR8crISU+1S1f1fak+wygqtTlXmHYry4xi /nHG4T+KD/WasWSO2HHDtjj4aBShz3ppoY/ZkMR3XVQM9mpG0J88MVMHpfpWiKf+wOej dEdWTM43CW+pmp7fAtJdQ47ACtt1VTeQFvwJMw7Nd4Lz6osh6gBWhHsaJ6TMbTaLzeZ/ fWUy8gwc5gaKQFVJSFVKgJk4du4R0YZJxVoKhEuVUwCM5JULFxfFOgG3jZXomgaGNu63 5Atw== X-Gm-Message-State: AOJu0YynzXgM3O5xe2oIZkJW4JlqWX9QX49/ccrlEyo1J7DlvT4De/bG TsXobH13WLmCRZi0VPyju8GosBQB0Dyvx+vSa6303mE8CwQTemiApSxe3ljiEMu/znGeRoahTUv Koarzyz8= X-Gm-Gg: ASbGnctJLwGB+L5ZKp8EPvcrmkNqb6Tw2iNZR4MZHCcWYmG2Y3RvD5dCns+w2+VyuCK 2HJ/UlvTQc/nRkG6SEfIuSn3gxuD8XmSQnvRhRIEW/f0AZEJAd1C/qQDGJIVwGqGlqitVPVPp9Q cnUJBHBvzJ7OXoTpCinQquf1fN/VoH4jwG83MV7m34jhZw7lnm7KDCrCM/9hoEN7/Ew3X1Zvj8O Joxi0lGv7+uKcnwrDgBn0hqWvgYq378Eka4oxRdNTdOS3m0abQx4lH4bZUGRIyh2SNPjKtOto89 bWIta3st22OjScHMEUD7lpt4dcYpBVPGVMhqVs9zeKB3vVf56iS7DIf9I3rfd7CfxevpzroilGM N5FXDMb7u3z0JJ5gSL46zwR1OttYCVb2vXlI/ X-Received: by 2002:a05:6000:2308:b0:3a5:88cf:479c with SMTP id ffacd0b85a97d-3a6d12d52c5mr2945845f8f.30.1750439706646; Fri, 20 Jun 2025 10:15:06 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0ec947fsm2601237f8f.0.2025.06.20.10.15.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:06 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 17/48] accel/tcg: Implement get_[vcpu]_stats() Date: Fri, 20 Jun 2025 19:13:10 +0200 Message-ID: <20250620171342.92678-18-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé 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 28206ca5e76..f5920b5796e 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -239,11 +239,17 @@ static int tcg_gdbstub_supported_sstep_flags(AccelState *as) } } +static void tcg_get_stats(AccelState *as, GString *buf) +{ + tcg_dump_flush_info(buf); +} + static void tcg_accel_class_init(ObjectClass *oc, const void *data) { AccelClass *ac = ACCEL_CLASS(oc); ac->name = "tcg"; ac->init_machine = tcg_init_machine; + ac->get_stats = tcg_get_stats; ac->allowed = &tcg_allowed; ac->supports_guest_debug = tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags = tcg_gdbstub_supported_sstep_flags; From patchwork Fri Jun 20 17:13:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898342 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1453763wrb; Fri, 20 Jun 2025 10:19:27 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWhPzh73Tkyw1uysng+GLHGg5Ns7wJC0alChN1YuYqakCkDn9Nsi2XvQCQSsu5RLeohwPkYoA==@linaro.org X-Google-Smtp-Source: AGHT+IH7oPgV6+RAAQLXdw5SEK2w6M678ssjFjH1xdUqlOkAFUMSZpysMrhReNpVRdVNTOk9B5gh X-Received: by 2002:a05:622a:6182:b0:4a7:6839:d095 with SMTP id d75a77b69052e-4a77a1ee157mr56986121cf.3.1750439967548; Fri, 20 Jun 2025 10:19:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439967; cv=none; d=google.com; s=arc-20240605; b=VUe0TaJfW7LlwPbk3sImq41IqUIObqmrL/+yJx5z+l2T4KQKZpPpu3o1e+qssVWO9D d5cbeC15A+egkSH4j49n8AD4QGw8xXFDMvDoluW/uqmHgtc7k6Ax0JJ75BIRqShi9xqv eDMJZJXuSxHFNZ9+vUQJlZj9dGtkxb4b97XWIsKV9feiQpR3MJJHtuN570s7WZzOgM9d r9pC06eCj4Pc29mmVf7qcdUCnNGjWgIkdxtr1F3XznGAg+Cct85qGjLKVn+BUkzkKyjK s/WC7A7X7M85vT4x/R2crvpEGDgt0mehCKaL+p4iZWHVQKBeV1QT1UCtKoia/sDm8Xwz r2dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=8g3SAyDwaT1EwDV5s2zbr9B0oT21Z4aa77jAxEnb4OU=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=AvbjZui5LAO24xJmFG4TRMhf7X+sTxgDfXS7o6+A+7T1oBlpwyPYGy2NOhFP90FFDO Kh9kANN8CT2FmjAa8La4QfJKyzb+TC9Bo6MyGCXatIiyCvjTbvrPEhCVmCT3BhOr73Lb yLTu3gtES6DVuXiXb+Lsi+eOL/Ds/GDgfNWp8FqhgzDNMrarJmBZniE5erAn23vUB5lH lFMbtNw0C3Fx/89DEOA29eKHJEoS/y43DQ7Bsrrs9ihOsWzJEzvpnGVMq9wwYRIX2hzr qWRNFSplwfXCPTCGYYXi7Xj8KD0aDAtUjoPcrhlBQArvEkHQtruWkabeXDq0zzSbCP9e V5eA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="f5bNpV/+"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0d812bsi19238081cf.541.2025.06.20.10.19.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:19:27 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="f5bNpV/+"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfLU-0002Sq-S4; Fri, 20 Jun 2025 13:16:10 -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 1uSfKd-0001Vk-MZ for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:20 -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 1uSfKb-0004TX-VJ for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:15 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a548a73ff2so1954148f8f.0 for ; Fri, 20 Jun 2025 10:15:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439712; x=1751044512; 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=8g3SAyDwaT1EwDV5s2zbr9B0oT21Z4aa77jAxEnb4OU=; b=f5bNpV/+60wPY1b0nDdn5udsBo86fq63SQVi6yhSp7bCCSeLbAmGRKAcAv4re76yDU C/BeuRPxHyuZQmW7s4gDHyghRp991HbgNyKuFu7SRsGWZtPhcSgqNkO/Z90dFKrlYHei PuYxNF5+UJ+Qm7fUAmJbf8M+JPttA1xkPVYO/6GNdVVyX7pCCmYxPc9X58VMs9Yk5Wr9 4ND+H0cn8pwAaGAVGXuM0Rnd4zgZEew+5mqAoWgqrVqpTxAH1zINMTzj1b6cersA2dYb +eQnAZelzAV2s3OoBMn3ZCK1KBITGAWx+yudRBfUzyncrTrOyWpJnhyEA9FCjH+y4hBR 3/1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439712; x=1751044512; 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=8g3SAyDwaT1EwDV5s2zbr9B0oT21Z4aa77jAxEnb4OU=; b=Re6Rg9D4EyGbWI8kIUq2btW6Ed+4Bu2LmShac4Z+0NFm0wq2IznKQEr7S1BKCtl+R3 248fGpH+6RKN8jEW1N2rMuU3sY3WmhscIATbsltKCsAuiv+Leso8s8c1Gqogmgzmq5/l MrxCyaXEj4camGPcyVJXnXQSB+1tgZQKtpLLgvviAqqonR3vD5Q7OJiW6b53zayo4T4W u3KOnieAeSxum+nnbiRCnULcCmedXBkvD8mhvu6a/fLKEmKeLqqyBcIeearn5Eln5rpi PpMqkLjXGncKqYNw9O6M6buIV6w1iGvuPAYrxqXQKW1v2XviDi7CXmxadw2xXmMMhsZx jYSg== X-Gm-Message-State: AOJu0YwbIs01zHx4t9Jyv3mf/qTrEO4iyZ4mry8YrNfn4OgwkX0sIrMH ijW95nyxG7p1zsc786qYPnIC+DzJZebCQFo4Lr0CI5/z//SDMs3L5mCnlGVIuvRadWIs9f6Qeet t1am7o5U= X-Gm-Gg: ASbGncvDwQacy68yNOYq7pQALQtU8ppR6nE3nofekYqKL6WsEXcXDT3Rve9pu1cjluV ZaeEzT2dfgoJnm8sydwP2wI9Wb+NuO/MfMVN2OFwHqkNI4+60oTAzbcWGwc9Zfriq6DK3AwLu03 qK6YwoDVYi9w1Qv2i+xqLJ4j9/B/y8v4TaRa9oRzkVKk8XyL0PEu0CL1HOYtAvcbegmF/HLvcRH HFixV8TWBtdhs263cwPDh6xgY2GzEk6X/aRsSDx5iHaHcwVRgbuSGb9wXBlxuRy++4K+/+AFPjF Kek4smxR7FojqaiFUZjnNkR524mShyr41Gc77Ghg34joZpey9U7NfWMtruT6zzQ/LhhJL/k8/I7 JgMfTOEVzsqjI+mvOj5OcZpOsXl8C2B22yNRN X-Received: by 2002:a05:6000:1447:b0:3a4:f430:2547 with SMTP id ffacd0b85a97d-3a6d12bb41cmr3142916f8f.6.1750439711867; Fri, 20 Jun 2025 10:15:11 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d118a1f2sm2507970f8f.83.2025.06.20.10.15.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:11 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 18/48] accel/hvf: Implement get_vcpu_stats() Date: Fri, 20 Jun 2025 19:13:11 +0200 Message-ID: <20250620171342.92678-19-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé 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 45dd4baa321..bfdfef7c397 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; } +static void do_hvf_get_vcpu_exec_time(CPUState *cpu, run_on_cpu_data arg) +{ + int r = 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 = ACCEL_CLASS(oc); @@ -583,6 +589,16 @@ static void hvf_remove_all_breakpoints(CPUState *cpu) } } +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_us)); + + g_string_append_printf(buf, "HVF cumulative execution time: %llu.%.3llus\n", + time_us / 1000000, (time_us % 1000000) / 1000); +} + static void hvf_accel_ops_class_init(ObjectClass *oc, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); @@ -601,7 +617,10 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, const void *data) ops->remove_breakpoint = hvf_remove_breakpoint; ops->remove_all_breakpoints = hvf_remove_all_breakpoints; ops->update_guest_debug = hvf_update_guest_debug; + + ops->get_vcpu_stats = hvf_get_vcpu_stats; }; + static const TypeInfo hvf_accel_ops_type = { .name = ACCEL_OPS_NAME("hvf"), From patchwork Fri Jun 20 17:13:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898343 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1453871wrb; Fri, 20 Jun 2025 10:19:40 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWKmhEcRzrcxImgiJgB/sAZwtaxwQ8ohtK8Xsl++yc1PwnneOGnqXvDWg2bYZaDtnzRPAlHxg==@linaro.org X-Google-Smtp-Source: AGHT+IFDsqNwlatGMhB7TWazMNGbdq+xF7I3kAFRHd+RBxy4gmmDrzAcVqfmxA1NMMsiZpyZzSNa X-Received: by 2002:a05:6214:540e:b0:6fa:c3c8:d3d9 with SMTP id 6a1803df08f44-6fd0a31b2damr68111406d6.0.1750439980542; Fri, 20 Jun 2025 10:19:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439980; cv=none; d=google.com; s=arc-20240605; b=gjHMX3RpxcnXjjhCVxz6HMv+S4MSHoAaI+aIpp+JdUc176096TwaowB6tTHMF5xR57 EI+ym7capVUi+bqi7+z27S09nSCqWPlYVyY6/Y9+LIJiTPI5EoMvEO5OVR3gvi4gEcYN S+imXGnNcIZjOwE+BlOKMha2nv4JQDk4KuQyrD98+GTUci5a5QBkszkMG5TUtOPznU/r kEqU4f6bnvyRVo9vae/9R5TxVajz2cnBiOkQ7tg3RY2aACKXU/pFJsrGe+vzz3FSzLI/ g7Nm6OA5kC+D/+CjRWBJZjde4M6uMrYrALOxM23037096PP+lUk2eMTjwRUGTM6zpf2i 768w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=e0VDDXpzURiTm+yHwpwMlJR4kym/e2MQ7iLLDbJwJaQ=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=PrlkAe0iCH1iC3lCexXNxfXYxtVli4Fzy3yTbg5qgpOb8bY4k4q6rmafuF4TvTiyYg LdTXW4Aq7n3zhUgWoCLbJD2coCpnqvG+rMwv3pPrTwAuVQ0Ecs+bmKSSwqlcON7yPM3V oyqAXNg/QAes0yqlNZqpXR6YjrIIB8nowUNGuXdA/j0RFexSqtg6YBmJNM9KFkMGjuv4 qE3Uqzctb3h3STRuX3Nrryy6buw0bZ1y0U2VW1du5CEe432z/U4PfnTP7FTCPBDLV9UZ enO1+3zPzzulfJppZ36GApSNfBsiDAKP1vMXdkS8qnNsdEgXE8UCgI5UFvSKLreyFh3c iABA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FyXhDkda; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f9a0a8d6si206721385a.431.2025.06.20.10.19.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:19:40 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FyXhDkda; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfNt-0005v4-UE; Fri, 20 Jun 2025 13:18: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 1uSfKn-0001df-NC for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:27 -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 1uSfKg-0004U2-J1 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:25 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a54700a46eso1320357f8f.1 for ; Fri, 20 Jun 2025 10:15:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439716; x=1751044516; 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=e0VDDXpzURiTm+yHwpwMlJR4kym/e2MQ7iLLDbJwJaQ=; b=FyXhDkdaDQ85jI/vs8LlLtGNYDuebwO+9FYB17AgY2f6kb86BlWD2J+aVVcj4tJZYo BQhN+xEjjLjgp1wPOSAstLTmNqZFBrCtZ1N9EAl95g9PEnfykIuP+dLJA/vwcv385opY bFXC/fEnU7iaCRnqka/ZCzQc77tX0cS/WBiScb1fL1IXQuJCiuSbA243HqexMWrL9+ON DDu6ZXmKrg+o00DMBjo0oqK0MtGGGHeELAaitR4yBovy8Eh29dXJ+z8T5z82SN1mpoUN 8EArhG/JychjizNOf92dk5Lz/ljN6KBLlGEDSGgrt3VnRc6hZE+iFUEjDdQ+Uato0QRb IJ9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439716; x=1751044516; 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=e0VDDXpzURiTm+yHwpwMlJR4kym/e2MQ7iLLDbJwJaQ=; b=UanJo+Yj689y4Lo9njNnOXczkxB5L4a0OWyGYhTHP+77ufdLVUg+WT3cy+45tNH3Z5 /h7Be8gxDr5YrkEIWxwbRgO3X+XvmWS46/RoCrBuPoyxf4VSPbyZTA1EHINCttgr4yLS /eHQpiuC+idLBE1szj9le+OxEed+40JABZZdk4fU0DmpacGvWJjWCykVneYk1Zlrx4sF k8HNg3CArWjpKnCFwtUF2YKTwkIzTQ51r4Yq/W+cZZI4U75cayf/6D/A92kyYLO14inJ tZOoyu1prMhx4E1Q/kE4a93YofT863MFSto1FUYI6I3skAGxDUFCNpRwp/O8BwNsxEOk +eLA== X-Gm-Message-State: AOJu0Yz1eOhY2BuAv0jDhF/blpQT1r4Tp9FvgY1zOA0Ky4OB3nEZIVgK uCXG142O1YtSobl3qrLBwTRVjfA91VZLmoqTaQV209UlzL4LJZTvr5aItzATIqSTttxSqyr6ltn dZp8h1rU= X-Gm-Gg: ASbGnctzlfNE7vEfu+TYQ5eQ/+AeFXJBW1PEghwkgPEYRvqEeLwjmHNmSnwN7QauEBs Dkkh2pHlKoXNG4m5Qypjtve6QoVDEfiFKgXaaBz/fLzqVU4pDr1X6uCU0AvzafSGx3GQ+5WAzRl ym/3a/dJ13DpCOXbNYY0XbGMd0O2Uqqp+AUr6Jvq10zst3TilG1N4PRySn8EvXSeatyzF13AIwG 9wvoR5sfGGHdMzuJVZ1cSGuxnp33nzD+kiyMXvAVsq26OcgJd/eICc9vz1B1aJ2zF+RpxBBSA0b a5XUGNrP0QpMjFN/ACQKg6dtRNlqvdZh5dS+KCahwqUUvr9Be0C3nq9IGZGFjA4Pzxtd9eNsts6 sIp3+3Yp8ZdJgLL8a4gKSmDTo1oLdI8+fWiql X-Received: by 2002:adf:9d92:0:b0:3a3:6e62:d8e8 with SMTP id ffacd0b85a97d-3a6d1330e96mr2977720f8f.55.1750439716636; Fri, 20 Jun 2025 10:15:16 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1187df7sm2564802f8f.66.2025.06.20.10.15.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:16 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 19/48] cpus: Document CPUState::vcpu_dirty field Date: Fri, 20 Jun 2025 19:13:12 +0200 Message-ID: <20250620171342.92678-20-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- include/hw/core/cpu.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 33296a1c080..69ea425c458 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -441,6 +441,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. From patchwork Fri Jun 20 17:13:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898347 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454453wrb; Fri, 20 Jun 2025 10:20:40 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWnCm0b1yArEH+Ndn/eZ7GZd8VdVnLvF43XbxOB8OU4x/T/iogJSk7OWYFOeyjkdocwUu4ZwQ==@linaro.org X-Google-Smtp-Source: AGHT+IFrYGQmYaJm3HL379ComkPN3aSwIoSvY9b16EzaSFhPZJoSkxkLeQklRl/BBU4oh9ldwRij X-Received: by 2002:a05:6102:4bc7:b0:4e6:f8b0:28da with SMTP id ada2fe7eead31-4e9c2860593mr2860136137.11.1750440040338; Fri, 20 Jun 2025 10:20:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440040; cv=none; d=google.com; s=arc-20240605; b=gMuxx8qNRTBfolV+ZC3U1GpjkwjBZ0HgHqiZVnxWmaTT5NQCJTw73XblsoNKZTwV21 VyQhA9jPKCo4k3UHxGS8lceJOCVNlboYuFakSElsV5Aqz7RkkE1PXuE4aLc+wb3eFN0d BMAE9QIC465pSIw3CPenFqXMBdCZX9//lhuwbiWRCBNBjwlf/KhsOW1XD4aeoF4+yqYz LMMWpZxu71o1I6VGWil4tRB+3WMi4E/sAEE3hjir7aztHdaMxRZAfYRT3QWStz8hG2gp hEVvZco7zy3kXqnvsXTl0TMPP47nP0rQHqVmnPiLfFfdRtdaw8oT0L/Q4Wzxcm8/6VWX KeZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ThJ9gD63sooyYfC0TwQMdGR/95qoYxG7tdS8NDTZY4I=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=P9aT6GVlYiuPIYjUwDDLmNn3pumZPrmD99KwuwnDiPCa5J/ar5zis2juRBS/RNUcaw tgMhP3Y/wWHBT6osEJowenJ4wrIEayzxb/Aa5GTo3w2v85YTnmc7UJNkfNXR8hW29bnK ZztHsWe5e4bP+dt03O0EISYcvmKUF2VkMPicbL8dN5pX4EZmk7rn7AYFwndy0VwSfj8g Uoy99tD3MujzZNNzdQlIul4LNqjrvXL55ABhQ76J2d1rwY7LxOiKfR4JdPSBoxUxHEwk 1GMXCu4EgWzrurRLbHhpKD7TIK8iZ/bbTDxTTOr6U+nzIAFTu1jiclZIWcstdM74HmMo 1dWQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=XFlb+S8r; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4e9c324fb45si477630137.575.2025.06.20.10.20.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:40 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=XFlb+S8r; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfMM-0004Ag-C8; Fri, 20 Jun 2025 13:17: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 1uSfKn-0001dX-Ml for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:27 -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 1uSfKl-0004Uv-H2 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:25 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-45363645a8eso10194355e9.1 for ; Fri, 20 Jun 2025 10:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439721; x=1751044521; 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=ThJ9gD63sooyYfC0TwQMdGR/95qoYxG7tdS8NDTZY4I=; b=XFlb+S8rKhVj4IVRswDYEbMJny4gGdUxXLnmiQKJfIgeBR0y7wMeDPZOsco4lUsB/k dbvxzAYfdmIoyWxn6nNmOLF0CdMDXkYzSB4rSkE6mFshe+nSoFCzo3GxdYpynhAfzHFj MoQwWOPICWOdO7pgrP3Fts91ikMY9eLYvzDwxCpmcH3Dhpk89Xu7zQ/aa5rADaNKkXha zgWE6RJlRW0MyDMY/Hk+4h/ZCaliZdedltbIFaNL4vOL04ErByToxqFxxSXxcOs4V9SU hGFg0fjI+pWZf8E0WWKlDQquvrgV0h7trJHytIWhAdcDNc4HMLT0G2Ay4g/gYSz08CU4 bLWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439721; x=1751044521; 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=ThJ9gD63sooyYfC0TwQMdGR/95qoYxG7tdS8NDTZY4I=; b=ht3LkacLkxi67akFmdt/6h+BCaWbzFXQ+0pZxVXebF1QTsaZ6pHR1z1CJElNeSBg2K yyFNN9/9A2HQcZ9+cNOZJUMP5T0UjuKp1IR7UFL3GvyRQIW1Wj/1vEc8+s0P/pHFl9Xw ld7qQeGNmHQ8NjxI6pV0NWWxB3DEdhmz66pfMwoIxkRYJPQM94ajhOl/f+lPvB/uMEUB 4QptkVgTMlw39rB/GYntP6+l7wPvyIVU80fTD99xMxZZeSAzzCk+N53da16Dl8gwwiJg XtWieOq6lzEzXG7l/fd55nppEL/reI18ttFZWfnhZqFBz088V+R/snODYtJqecbG4Way xTHQ== X-Gm-Message-State: AOJu0YxUI+X2+ND3k5REq9Bm4O6XvZnRWbGmW7ItohNqSXLZOCm1cE8q Rjgzia4vm6rMWigbmzQ+AtwwS1NbRe7sUIBSQDB30sdYtFJ5LwvNNtZznWArRwOUz98qFJrd+DL FNMWdnws= X-Gm-Gg: ASbGncuTgDwsZvCAifq8RvVgqQlDXmmpH/OwNR5XLufzK+wItW3VhDJKJ3HbYExZGvZ KNvVO1OGeqdXtvZwkcKcd0wmYzxTqSS0krfVC6UNL49dpHM7pQofC3jyYOzEJRgM8p45cpeTWYa ZnzrME9/FRMFDKBOwpls+S9q/v2dVpzEbppTOxh53ywWjSJn23dL2qa9dqvJ3j0IIiMnLqkn8EY 03/ToccJg9rrY1noQHxM1+/ftqgJJ/LO6LcOrFaNz9Kn3xxc/zpYMuDmScoNFFdtX9RHExY3yZA IxMJOVT4MdgUY8CNLgGh+FIwvup5Vxa0nXL0UDWrm8kcQFh7LKBfr0WGRWBzyYe1+QGVGNHWHiR OCM4OvLY+cs60/DJluO3LNZE5UgNLT+KMy/cni83+PNuPbMM= X-Received: by 2002:a05:600c:4f0c:b0:450:b9c0:c7d2 with SMTP id 5b1f17b1804b1-453654cbfeamr30480215e9.11.1750439721420; Fri, 20 Jun 2025 10:15:21 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4536470415csm30991895e9.31.2025.06.20.10.15.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:20 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 20/48] cpus: Rename 'vcpu_dirty' field as negated 'hwaccel_synchronized' Date: Fri, 20 Jun 2025 19:13:13 +0200 Message-ID: <20250620171342.92678-21-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Try to better describe which side is dirty (QEMU process or hardware accelerator) by renaming as @hwaccel_synchronized. Signed-off-by: Philippe Mathieu-Daudé --- include/hw/core/cpu.h | 4 ++-- accel/kvm/kvm-all.c | 20 ++++++++++---------- target/mips/kvm.c | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 69ea425c458..d5f82609943 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -441,7 +441,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 + * @hwaccel_synchronized: Hardware accelerator is 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 +538,6 @@ struct CPUState { uint32_t kvm_fetch_index; uint64_t dirty_pages; int kvm_vcpu_stats_fd; - bool vcpu_dirty; /* Use by accel-block: CPU is executing an ioctl() */ QemuLockCnt in_ioctl_lock; @@ -555,6 +554,7 @@ struct CPUState { int32_t exception_index; AccelCPUState *accel; + bool hwaccel_synchronized; /* Used to keep track of an outstanding cpu throttle thread for migration * autoconverge diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 37faf615cbc..dca6d4b99ef 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -478,8 +478,8 @@ static int kvm_create_vcpu(CPUState *cpu) cpu->kvm_fd = kvm_fd; cpu->kvm_state = s; - if (!s->guest_state_protected) { - cpu->vcpu_dirty = true; + if (s->guest_state_protected) { + cpu->hwaccel_synchronized = true; } cpu->dirty_pages = 0; cpu->throttle_us_per_full = 0; @@ -2880,7 +2880,7 @@ void kvm_flush_coalesced_mmio_buffer(void) static void do_kvm_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data arg) { - if (!cpu->vcpu_dirty && !kvm_state->guest_state_protected) { + if (cpu->hwaccel_synchronized && !kvm_state->guest_state_protected) { Error *err = NULL; int ret = kvm_arch_get_registers(cpu, &err); if (ret) { @@ -2894,13 +2894,13 @@ static void do_kvm_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data arg) vm_stop(RUN_STATE_INTERNAL_ERROR); } - cpu->vcpu_dirty = true; + cpu->hwaccel_synchronized = false; } } void kvm_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->vcpu_dirty && !kvm_state->guest_state_protected) { + if (cpu->hwaccel_synchronized && !kvm_state->guest_state_protected) { run_on_cpu(cpu, do_kvm_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -2920,7 +2920,7 @@ static void do_kvm_cpu_synchronize_post_reset(CPUState *cpu, run_on_cpu_data arg vm_stop(RUN_STATE_INTERNAL_ERROR); } - cpu->vcpu_dirty = false; + cpu->hwaccel_synchronized = true; } void kvm_cpu_synchronize_post_reset(CPUState *cpu) @@ -2946,7 +2946,7 @@ static void do_kvm_cpu_synchronize_post_init(CPUState *cpu, run_on_cpu_data arg) exit(1); } - cpu->vcpu_dirty = false; + cpu->hwaccel_synchronized = true; } void kvm_cpu_synchronize_post_init(CPUState *cpu) @@ -2962,7 +2962,7 @@ void kvm_cpu_synchronize_post_init(CPUState *cpu) static void do_kvm_cpu_synchronize_pre_loadvm(CPUState *cpu, run_on_cpu_data arg) { - cpu->vcpu_dirty = true; + cpu->hwaccel_synchronized = false; } void kvm_cpu_synchronize_pre_loadvm(CPUState *cpu) @@ -3131,7 +3131,7 @@ int kvm_cpu_exec(CPUState *cpu) do { MemTxAttrs attrs; - if (cpu->vcpu_dirty) { + if (!cpu->hwaccel_synchronized) { Error *err = NULL; ret = kvm_arch_put_registers(cpu, KVM_PUT_RUNTIME_STATE, &err); if (ret) { @@ -3145,7 +3145,7 @@ int kvm_cpu_exec(CPUState *cpu) break; } - cpu->vcpu_dirty = false; + cpu->hwaccel_synchronized = true; } kvm_arch_pre_run(cpu, run); diff --git a/target/mips/kvm.c b/target/mips/kvm.c index ec53acb51a1..44fca0d649f 100644 --- a/target/mips/kvm.c +++ b/target/mips/kvm.c @@ -565,7 +565,7 @@ static void kvm_mips_update_state(void *opaque, bool running, RunState state) * already saved and can be restored when it is synced back to KVM. */ if (!running) { - if (!cs->vcpu_dirty) { + if (cs->hwaccel_synchronized) { ret = kvm_mips_save_count(cs); if (ret < 0) { warn_report("Failed saving count"); @@ -581,7 +581,7 @@ static void kvm_mips_update_state(void *opaque, bool running, RunState state) return; } - if (!cs->vcpu_dirty) { + if (cs->hwaccel_synchronized) { ret = kvm_mips_restore_count(cs); if (ret < 0) { warn_report("Failed restoring count"); From patchwork Fri Jun 20 17:13:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898330 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1451970wrb; Fri, 20 Jun 2025 10:16:09 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUFtsMo9kCUaxEYy/RilGNmt3lXU3jcxIn95YFvRR7uRjYh88+pZKCokNlmRvHdeZRDjkHmKw==@linaro.org X-Google-Smtp-Source: AGHT+IGude4d7CyD/N105mFL85l6MyQMNqarrEg1wtB8U4Ud0XAxAre3ZTG8Qnna/tnwPt9Lpqh+ X-Received: by 2002:a05:622a:580c:b0:48a:2429:9dc1 with SMTP id d75a77b69052e-4a77a1f7b7bmr41829321cf.9.1750439769312; Fri, 20 Jun 2025 10:16:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439769; cv=none; d=google.com; s=arc-20240605; b=PVi9Epk65WRV2OzDuxskq4f/B45NPVqxfLmWZLY83BcA/G6uovzkSPkbsyquMEnh6+ tnnbnxm3kivTa+BNKkb2+HmoY8m0CA5nOODze1lutijReqDnf/qsNSZvraCU1Fpyp3R4 N4OV7bYE2BqHYPI6o+3Un2lj4/6YV3sMcyum6AigR/oD9cQwSqy4ciSi6AjT8b/zWTpa OeUO/gVTKSsI6QSwIih83JHdNX1IJzbCMrj/qk1MhOzOPUq0H0YML89YJbCbyVwmmZ84 Td83pbW2X0ZHOe7vAT0hYj1g+iy7ROpKXbwmsZHEECEKx9hSztBiMkdt134CWQQBtiBU nvtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=OT+fA9vdXRf05/yvixFthnp4JSCJ5dpq1JSwUJW9bU8=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=isrEa+TNyJmbJQ8jSyqjP8dr/ggoDw2iQ17r12h0zlJYHv0KBeebcJpvlSdvO4Y02v g9n2Baqx6G1bhfVmgxpiLSgwhh5leuRmHjpLx566xQqS646wTMeTOZNys7ZlP7EfKJfM KiPzxWLd60ACXPkLV5O+zhFu13jwbPgcpnO+JbCdX2+ndvm6KDIsM+dzeBJFlm/BSZCg TJIROGvM49aQbtlOkPjqjCzUxi/HybTETt2k2lz7eJclezjHK3V/TeKWO8l0Xe4me9He MCU3qPk9ipv+Cm29o6VQ3k1ZcafRfekMG2ZbF4lSQ0HQx4o/VWG9TuL2sVf5OLrconyb GNog==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HbmwtbAq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0eb8bdsi20880131cf.652.2025.06.20.10.16.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:09 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HbmwtbAq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfLB-00022Z-35; Fri, 20 Jun 2025 13:15: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 1uSfKr-0001jn-My for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:31 -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 1uSfKp-0004VV-UJ for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:29 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-453426170b6so19307165e9.1 for ; Fri, 20 Jun 2025 10:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439726; x=1751044526; 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=OT+fA9vdXRf05/yvixFthnp4JSCJ5dpq1JSwUJW9bU8=; b=HbmwtbAqf+rdlVsfgtFq7YkiQHNUbYomB5kwYNvkKlgWC+rYSTg3NgnZ2NmNMipTBz 6R3HxJPhKFWFj5YtJyVRp6mG3188Jjki7Ie8J6nOYgRxYqLbtJJsQk5NLLP6OdnfOV+N 4CwaH7kPx3JjWmx8acE1nzp6sUeurpTsFjAMgQZPzyhNHTFa1/uoRcFaC9kUEkZRPaRK ehFABoTl43GL2JUgwRIunewG4pala5ObK8SmNoVKc7S78bbr77eUxx3Csmr8XBUa1nIw /9VAUlRR+wC1zLZgXbjd9AdlOAqTYWoXcmj3yF91N/AuZRFEH7G+8NV5IG/tRM2qeOjX PbLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439726; x=1751044526; 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=OT+fA9vdXRf05/yvixFthnp4JSCJ5dpq1JSwUJW9bU8=; b=FBfz0WZKKwsNYJ5rwBPrh7Z+3IxZ2zYcUEVSPSRbbnkntwtCQTFZEHnnhPGqCQsQwQ QSkoBQWgseQNLtjfw5zxUzhZNWB8Roa3icYJTCD+BilPgLOMyBLG7XeCUtJ9U0ccRv1g wF6f7noq95GsOGOzSQTRHqfzEPhadG/lVC6iCslrSnjvZOVHHIRHVpLRN43AghMvYztr O5vNnxnDt/ikNkH5ej0Nil5dYYOkaKHSTzgtM8MrgarfvJOcFrnsGqlcB+N3CyhBtRnd oGhNUgS3BOlKn3yTzou30SOVgZPR5yDKtHGhnb4ambivrwml2hL617PGJuS+1c6zdn5R k3ZA== X-Gm-Message-State: AOJu0Yxph8q0vcOzBINywFIYUrDrNSiEHADEyw4u/EWiXcZwNZItbR76 XQG0U4bEsVg3QsE6j+gxyBMwToc750lFIS+xM8QD3CyV7HUa4bzzZ2LFEpU+L5DmUYXJvCJ5Nz9 FGqIol5I= X-Gm-Gg: ASbGncsiEmmM+ApD5VsgvIpK2VZRuiaUuREfjm2IfuAsGsw1+rgCHWv/Ph5le6DQVZ7 MDT7nnQ6XJN50YFuBSw8j1fYrXLV+U3yoP/zkh3AZZxXNiMni15j1v5dTeWAHoB0mKoqQVKIjTq KxCLDqbqQ16uaL1Ot1GSukNYvWRfNvvW00TLNZ0kLfzKE0Xkvkgz4ypi0+GHbfmrtMDcp+LxjVB fVHDdspPGrXCVNVclQWHzOPAICnoPYDHoQ6ldPlrlXf8PNtfgdjdisxfw+2IkoigS8OqL/i1DWA EyL97dXi/+82mZqA4+yxApiHbuOGv5l8e9e0cUkpAID6uoQAP09ES32wtPOiu1nRhaYLDlDthsW ZsnsxuV+u8oUqjiMp5EJ7fnKkmHFjqxHZ6Y7k X-Received: by 2002:a05:6000:bd1:b0:3a4:ce5c:5e8d with SMTP id ffacd0b85a97d-3a6d27ec99emr2413057f8f.20.1750439726208; Fri, 20 Jun 2025 10:15:26 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45366b4d0adsm20630235e9.14.2025.06.20.10.15.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:25 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 21/48] accel/hvf: Replace @dirty field by generic @hwaccel_synchronized Date: Fri, 20 Jun 2025 19:13:14 +0200 Message-ID: <20250620171342.92678-22-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daudé --- 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 d774e58df91..8df0085b9d4 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -60,7 +60,6 @@ struct AccelCPUState { bool vtimer_masked; sigset_t unblock_ipi_mask; bool guest_debug_enabled; - bool dirty; }; void assert_hvf_ok_impl(hv_return_t ret, const char *file, unsigned int line, diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index bfdfef7c397..78bf0ac6cba 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -207,15 +207,15 @@ static void hvf_set_phys_mem(MemoryRegionSection *section, bool add) static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data arg) { - if (!cpu->accel->dirty) { + if (cpu->hwaccel_synchronized) { hvf_get_registers(cpu); - cpu->accel->dirty = true; + cpu->hwaccel_synchronized = false; } } static void hvf_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (cpu->hwaccel_synchronized) { run_on_cpu(cpu, do_hvf_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -224,7 +224,7 @@ static void do_hvf_cpu_synchronize_set_dirty(CPUState *cpu, run_on_cpu_data arg) { /* QEMU state is the reference, push it to HVF now and on next entry */ - cpu->accel->dirty = true; + cpu->hwaccel_synchronized = false; } static void hvf_cpu_synchronize_post_reset(CPUState *cpu) @@ -420,8 +420,8 @@ static int hvf_init_vcpu(CPUState *cpu) #else r = hv_vcpu_create(&cpu->accel->fd, HV_VCPU_DEFAULT); #endif - cpu->accel->dirty = true; assert_hvf_ok(r); + cpu->hwaccel_synchronized = false; cpu->accel->guest_debug_enabled = false; diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 48ce83eb8fc..3907ea8791e 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -814,9 +814,9 @@ int hvf_put_registers(CPUState *cpu) static void flush_cpu_state(CPUState *cpu) { - if (cpu->accel->dirty) { + if (!cpu->hwaccel_synchronized) { hvf_put_registers(cpu); - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; } } diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index bcf30662bec..d0000db0299 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -738,9 +738,9 @@ int hvf_vcpu_exec(CPUState *cpu) } do { - if (cpu->accel->dirty) { + if (!cpu->hwaccel_synchronized) { hvf_put_registers(cpu); - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; } if (hvf_inject_interrupts(cpu)) { diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c index 2057314892a..1c3d03eafe2 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 = X86_CPU(cs); CPUX86State *env = &cpu->env; - if (!cs->accel->dirty) { + if (cs->hwaccel_synchronized) { /* light weight sync for CPU_INTERRUPT_HARD and IF_MASK */ env->eflags = rreg(cs->accel->fd, HV_X86_RFLAGS); } From patchwork Fri Jun 20 17:13:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898341 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452915wrb; Fri, 20 Jun 2025 10:17:51 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUsMBpsufwxZGOdrwZEt465IEKeSCM6Njem+9wk5CHE7AwDgzWTu5SnkPWh16tTInftX64THA==@linaro.org X-Google-Smtp-Source: AGHT+IHoy5YQV9Smp7ullBmbnXQtoRrVzD7aBRX4LiRSzj61VZJvZScmum+tgAzloBJ+p7LWzqGv X-Received: by 2002:a05:6102:2b8b:b0:4e6:f86c:43a8 with SMTP id ada2fe7eead31-4e9c2d3ede6mr2488792137.18.1750439870907; Fri, 20 Jun 2025 10:17:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439870; cv=none; d=google.com; s=arc-20240605; b=DNos1zHQsv1gbJOBzA1vXYo9uQOGMOoCjufKBbfMyxWwoUaIY2X1Z9u4rpki2H2IZA 88dK8dzcomUrr/w6jlL+OqP9QUIzWAa8dMWZsoHQNfcXzowXYepYtnI3J8vbz4MvGDXD sFseYQX76Uoe+jEm5041InszqIKU+q+y4WXMQaP6BSTlZs0lS3/fcVbKlBL/nmEyjSbG AQh1goNSVHesv44kStuiicvfgm/5frt2i5j2Y1poA9PK2swwBetrIyW33awnz11hMAV8 zbKPrpZWDelSWeRcM6NGkf12K4A3vuEtkFD7eoiCywlR+i7qDSoP8uEYvHeulKbzSN5R oiOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=aE4GKmwZeWavng9177kIID/vxobtbpAfmb76z/Q9fgI=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=Rp3aSZy+8NI8SiR2CpvwR7Y9/Ry+wHdbgtusjqbUpRHcoyckTNA1gBpcoQvUadbpiV f3Ua6oVe5ZvECtA1UTM8zs0TRMqpxQPpLigmC9tO22SNeU54hOHdrhK6XYpRzSxtpsLe EYpSa6xUxV+eTmZ9s+u0Me/7Rk3axehHpaWs3FJTJ3WTkYoZpLsgcibDjyCt3qrGbviB qt1/+27RA4GaMJf4VKjvARnSQ787tknnrISmhvyaeLCFTpLhkpOfuJz+Z/uXi6bt3uIK 29g/LiF/CjMCT2N10GSDmgbWgOzbB7KEyxqgDt8q3fDGclizDku958Tcbc5lSBm8Nv7A zu2g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nCvv5xNg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTP id ada2fe7eead31-4e9c3218c85si437200137.458.2025.06.20.10.17.50 for ; Fri, 20 Jun 2025 10:17:50 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nCvv5xNg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfLo-000313-28; Fri, 20 Jun 2025 13:16:29 -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 1uSfKw-0001r8-S0 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:35 -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 1uSfKv-0004W0-0d for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:34 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4535fbe0299so11161455e9.3 for ; Fri, 20 Jun 2025 10:15:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439731; x=1751044531; 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=aE4GKmwZeWavng9177kIID/vxobtbpAfmb76z/Q9fgI=; b=nCvv5xNgZR/BvWOEdUr6TzJnK+D9V/cENmOBg1vN8mlY+0AuP5T2TRWJlONxopv/KC T2AD3kZXdrBmq5m37RAQtixYAdasGE0hndj8vH+4BoXG/XvZDIvl10r9VALtSNdc+F7N 1roeoWmnG1LoQkoJJVLw//O6Oain+bjh689oy0bn3zCB9XREzXWmK/NzhOktFzRwXLX3 pg68x2ZLHex87VupkA9If9MGT8gkHOABMwWENYgHaF+5NOUW4k2xfu7hT/V4gWHo1UXJ 598LDbZ3Q9903LuDpfXYugsNOLszWtGD/v+pCKj5OZcz0ar9HdicOCmv+nvMN1Z9qGvb yINA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439731; x=1751044531; 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=aE4GKmwZeWavng9177kIID/vxobtbpAfmb76z/Q9fgI=; b=E3OISSrmRtyU2sFVgCRqs+cRIRFJMMdzawOX/QPeddVvMAyk0+nuCgQ6Y9M3UK2Fmw A/kc4qHOWqatAFebKWuLhsHywYCivcFwXIBG+kAb3JtDiM1yOrPcgCGoZrLLGrUy1+tQ 8R2W1jJJk+AzcafWakx53nkQ9YLU6TjK5kG08VO8e1bRUkLDp54Qc7DX+UVVpBUM99+E 4Kl6aAxyKUEVIuBNqloANCdIxeffTO7kQSDCtZ0U9fitZg4RdJSJaTL6u/6bMs3nFEk+ z+Rrtuu34qm/SHPvpj9vzv2xnujHrAanlvcSMmqQmfI17itUf+XVXxTOj4mVUIkaqpQq bZEw== X-Gm-Message-State: AOJu0YxtqXMP3mAzSs+PU9tJJSQpXulJfoMa0Ug7PyDZgFy66o2bQDuI 2bMDIuAE7K+ernkXWBUjJGXEOZdEREMkUOLcogBEwXHk/AaXdV1AoiOKqo3gdTvZzcQ2Pgm4U6t Xwi5BoDo= X-Gm-Gg: ASbGncvPvmfpLvJU54ZBqGoyWhbYRoSW752gobdbiD667n1ehPs8lN+HWRH8gJ7Oshh Wjbn9Xg0NPiWEcj1fdOmVOMv2jn3v/dr5tEXZJSzbzoQZFNpSDuf0dGrw2g08HKax+Mk4sIOkM7 UqNr1tjbo0AcdRZnbHvgd2zoHtBfxFq5IaRB4xQFiKkGYXIKiGsnEwxYYWvRMTGFjDZ5EkgPAXo OVVKO8TpTuPROixa8acv5Iy14eRkyxhPp9FZvUQF09pQNQSD+813LFHefoABCqf6U+PngZ4e0P4 BGsJoGZN0cMv/zgLB/jklZERuIeLwguFAoUQ6heyvDfkxIhgKI01KK3L/5LmsqxZA/It6hPwSQO lVAKebselNBWfG+GbhQDbWDRYMPpt+/MFh8/l X-Received: by 2002:a05:600c:c48e:b0:43c:ea1a:720a with SMTP id 5b1f17b1804b1-453659c3bbamr31961325e9.1.1750439731002; Fri, 20 Jun 2025 10:15:31 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535969dc4bsm41902615e9.0.2025.06.20.10.15.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:30 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 22/48] accel/nvmm: Replace @dirty field by generic @hwaccel_synchronized Date: Fri, 20 Jun 2025 19:13:15 +0200 Message-ID: <20250620171342.92678-23-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daudé --- 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 887534d4ca6..5c8e2857a8b 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; /* Window-exiting for INTs/NMIs. */ bool int_window_exit; @@ -508,7 +507,7 @@ nvmm_io_callback(struct nvmm_io *io) } /* Needed, otherwise infinite loop. */ - current_cpu->accel->dirty = false; + current_cpu->hwaccel_synchronized = true; } 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); /* Needed, otherwise infinite loop. */ - current_cpu->accel->dirty = false; + current_cpu->hwaccel_synchronized = true; } static struct nvmm_assist_callbacks nvmm_callbacks = { @@ -727,9 +726,9 @@ nvmm_vcpu_loop(CPUState *cpu) * Inner VCPU loop. */ do { - if (cpu->accel->dirty) { + if (!cpu->hwaccel_synchronized) { nvmm_set_registers(cpu); - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; } 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 = true; + cpu->hwaccel_synchronized = false; } static void do_nvmm_cpu_synchronize_post_reset(CPUState *cpu, run_on_cpu_data arg) { nvmm_set_registers(cpu); - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; } static void do_nvmm_cpu_synchronize_post_init(CPUState *cpu, run_on_cpu_data arg) { nvmm_set_registers(cpu); - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; } static void do_nvmm_cpu_synchronize_pre_loadvm(CPUState *cpu, run_on_cpu_data arg) { - cpu->accel->dirty = true; + cpu->hwaccel_synchronized = false; } void nvmm_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (cpu->hwaccel_synchronized) { run_on_cpu(cpu, do_nvmm_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -982,7 +981,7 @@ nvmm_init_vcpu(CPUState *cpu) } } - qcpu->dirty = true; + qcpu->hwaccel_synchronized = false; cpu->accel = qcpu; return 0; From patchwork Fri Jun 20 17:13:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898340 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452632wrb; Fri, 20 Jun 2025 10:17:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXPB2oUSOmE4a7uHZ/osaOtRtbX4ojOsgTGq1QqRDXpbyah3NQcwKF0XEyCuHLYL0KH8Fi3zw==@linaro.org X-Google-Smtp-Source: AGHT+IHgaRyI1rW+kB59U10QOdhwAwehqUfKV2tQ38Wjx3VsFYV+YBpCvU2CZKJRBGBicTzyJuHr X-Received: by 2002:a05:6214:6201:b0:6fd:cfe:eba1 with SMTP id 6a1803df08f44-6fd0cff0ac5mr36139976d6.18.1750439839207; Fri, 20 Jun 2025 10:17:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439839; cv=none; d=google.com; s=arc-20240605; b=P44ZK97lEZOmBU/xnqy/IBq3l66+KsSUyYHBLoxk5ZEf9aIXuXb6S4hFjoRGNkVRMB h5TjT/ZV0UTPUquAtsoxOGP5uVeJTfp07IRgzuQBJhRw6pKuFIbx9S+HZVrW+Y+U8Tmc yco6pVsUAVDx9xihakaXaFmvA4Yk6yazkm+frUklCLGLaPdQ0hEJDJQ4iB/1p48/fGrE wmgPE68IsP2YnayOZTtYMUAYGwtgFc2SiNCyiRvuu/gOf5ZMlcISQ+y9XnMFapuSjsQk af75e2aO9Qj97OtuXK5JR9TZwpraWuGH07vZg7cRHKL1jnpna/w6yEszXMSt5+srM+SQ rhCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=A1GTaYWZywYs50lh4vOEbx7myievIbwu11g+y0nMdhM=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=fN8S2GiIkEDbO0UIELVdQQ0ujA8AibiSF1AqI28yiNRIoMd5B53gPT+dtvDlVwrGJV brjrjtJQCuhpnbEKIK2GgALwgnuBbAS6zst6ClSKW5IbwkIXD10wKS72zOcepVePJIFs oWA9xCm8FHeUdloQuKqcD9RxTCR8y66NOdi+abpXrZAjfdR5gIP8ViZNuETPnX5TDZkX xYD+gbaXbUK9RvNA6K9DLkYAIbGcc0ggZl1PpoZOZwzJRTveG5lcWFQMYRQLm5SyJd97 Kml8ELObDCmxxpGFIA/Igk8lKLbFC/N1MFjBV6kGidmmUxH7oJDldvyVfnEMuKdPLHSF cjWw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nwdgGG3D; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd0956417bsi24873286d6.267.2025.06.20.10.17.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:17:19 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nwdgGG3D; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfLU-0002Sr-Ru; Fri, 20 Jun 2025 13:16:10 -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 1uSfL1-0001xN-Gy for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:41 -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 1uSfKz-0004X2-Px for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:39 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-453636fa0ceso13441755e9.3 for ; Fri, 20 Jun 2025 10:15:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439736; x=1751044536; 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=A1GTaYWZywYs50lh4vOEbx7myievIbwu11g+y0nMdhM=; b=nwdgGG3DWS3cZP9/llzzBu3rgZVkflI40qqWjdyI1gBwHYrNN43jRyAVZbfJxIA8EB X7x55dudBUcaaVVtQxUd+fvO9Z1P4vuAiTQvkHMN3Zeeqry2Xp3JGvwlFN27Tf8dMCY1 op1cdGNTlzF8lBrVDNh6mg2gHdLq42/vDbsfG3Nk7hN0ZTcBUDQXKDMV1+JPErEhN38B WN3xkv1jcK19/gTGfeeXaXa2IFcCLCOGQEj0mSoqoJcRHhGG9x1ev/nsUc0nta3wwqbk DfevQvCDZ4GrZfYAUFwJli0NliwfcSR7uGuC5vNpEV1aNIFn7wStkijd34U/RSVa3Z24 CLzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439736; x=1751044536; 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=A1GTaYWZywYs50lh4vOEbx7myievIbwu11g+y0nMdhM=; b=hkgVP4NazHqcg664wxgF1E2a5pdfGMwanAJQ0q5LbMnKFYf4LyCwkksiG6GRRgvZQR l0nO6nFGOn1571V23oAiXf2EgYmBOgmpSPkR1bDsy67zGIjwIggHmebMMfA0db0QQZve 7V7LNpNN5YCAmw7eB9GWJRVUDBaZSE7rrZ2WXtfDBoUl7FGjSGmCypHl9lLiCNPMczEZ lyuiTlqoGjJwAX04hK4j540YPPTWFzpeq0801D+Dnjb0nOR35tJNcWDh9Kk5swfNKBmG mxz9GKlY+S7C0K0kpW1phm/IcJZJ3XUv6VR+vC/1eyxT33yrmcS9ml9el+zEqsjscu0j frNw== X-Gm-Message-State: AOJu0YzvrUV17SvAjGLWFmQByOVZwsPsYDI7VAyU29rpV6O7qs9lQitr yv9ohwIAYAMPyvQ4u9Iu0lWWgpTlL0RkMbzKahmUdAXBNQUDTj6k4D87GZfNkM3qJAYf6CJE1EG 0t13GQgc= X-Gm-Gg: ASbGncvaF5BV5X16RoqDJHK5MkQZzksz/f4aU3wHp5ZPVb4jIHCAIPCiTDOYP+wZUSO cy2UK5iuMpXq29GPqEnQVOLvpmvFl9aSc7avFBe8AzVgqSVBJvpIi6RbcRENptzvEDyyut5oF2y Lp+EHd5WTmkuqVrCtCY9k8WCXzuJyu7/sNFV7QHJuNBeX98g4uixC6zLOsB8Ya8ym9jgp+83LBV PQ7S/w/ksvmTdLAPTnMe4nmy0L1frg5HerVDvloxzHxIT8oIcGSb9Xn12NVKS0MCnm3jwEGs6r5 rFal2v5dkWaYVUyJCG6Z03K0mDH8Eh5n/Yphj4jWkPpDNa4y542JuzGC9gel4j7HhEhNFZjLbws BIfQz6AzcoC4IRASorkvmtO98wUlMJgVtiYjP X-Received: by 2002:a05:600c:4f8a:b0:43d:fa59:a685 with SMTP id 5b1f17b1804b1-453659f5049mr32473875e9.33.1750439735704; Fri, 20 Jun 2025 10:15:35 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f105efsm2630475f8f.15.2025.06.20.10.15.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:35 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 23/48] accel/whpx: Replace @dirty field by generic @hwaccel_synchronized Date: Fri, 20 Jun 2025 19:13:16 +0200 Message-ID: <20250620171342.92678-24-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daudé --- 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 238c3b95c6f..77af84a87d4 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; /* 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 the * dirty state so we avoid the double write on resume of the VP. */ - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; 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 executed. */ static vaddr whpx_vcpu_get_pc(CPUState *cpu, bool exit_context_valid) { - if (cpu->accel->dirty) { + if (!cpu->hwaccel_synchronized) { /* 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) } do { - if (cpu->accel->dirty) { + if (!cpu->hwaccel_synchronized) { whpx_set_registers(cpu, WHPX_SET_RUNTIME_STATE); - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; } if (exclusive_step_mode == WHPX_STEP_NONE) { @@ -2054,9 +2053,9 @@ static int whpx_vcpu_run(CPUState *cpu) static void do_whpx_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data arg) { - if (!cpu->accel->dirty) { + if (cpu->hwaccel_synchronized) { whpx_get_registers(cpu); - cpu->accel->dirty = true; + cpu->hwaccel_synchronized = false; } } @@ -2064,20 +2063,20 @@ static void do_whpx_cpu_synchronize_post_reset(CPUState *cpu, run_on_cpu_data arg) { whpx_set_registers(cpu, WHPX_SET_RESET_STATE); - cpu->accel->dirty = false; + cpu->hwaccel_synchronized = true; } 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 = false; + cpu->hwaccel_synchronized = true; } static void do_whpx_cpu_synchronize_pre_loadvm(CPUState *cpu, run_on_cpu_data arg) { - cpu->accel->dirty = true; + cpu->hwaccel_synchronized = false; } /* @@ -2086,7 +2085,7 @@ static void do_whpx_cpu_synchronize_pre_loadvm(CPUState *cpu, void whpx_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (cpu->hwaccel_synchronized) { run_on_cpu(cpu, do_whpx_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -2226,7 +2225,7 @@ int whpx_init_vcpu(CPUState *cpu) } vcpu->interruptable = true; - vcpu->dirty = true; + vcpu->hwaccel_synchronized = false; cpu->accel = vcpu; max_vcpu_index = max(max_vcpu_index, cpu->cpu_index); qemu_add_vm_change_state_handler(whpx_cpu_update_state, env); From patchwork Fri Jun 20 17:13:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898339 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452539wrb; Fri, 20 Jun 2025 10:17:08 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX0lxtHoiMOLeSHlqPRyRsF0GiS/A2BUxbfHf1tHF1JNdxplI/Qcoww2Qz4oxJFINSobXHq1Q==@linaro.org X-Google-Smtp-Source: AGHT+IFJWb+iCCqLl4Bs7dq/qVhv4+QM2IIqc88ygmAeoo2bNYvyAxy1Qz4+oXXBjETDoUcEI91u X-Received: by 2002:a05:620a:608a:b0:7c5:65fb:fe0e with SMTP id af79cd13be357-7d3f98bfd29mr603240885a.6.1750439827754; Fri, 20 Jun 2025 10:17:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439827; cv=none; d=google.com; s=arc-20240605; b=ieoucNTV8aiNli62mc4Er+9C8yGax2Kwg2ftkIkw9g8yQn5wX5G3pFAaH6eaBpCkhs S/4D+/o0b0wyA/N8su8WRfuncIXnvOD29/OjEypJpBDrlcpz+xBRjURZ5KCXDFqTzdXn LL0FhdTaq2Vokp6yljBEMp4ZdVJgB7Iw9tl5FalSZVFSLsXUgsDuwVo90epKixpJ8wnZ rCynIC2jBHq/swZCPGA9WBS2tVPcvqqrK1r7pQLqAlYlEzrHdJkT78osW4V9pZlUIlwA AU+YkQtxqlFejWhXOhb0Sf7WFHHHZdmM52B66VaODQ7HZ26e7F43MsT4torezjqnbDws K3sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=OVr4JXpO/vEaM8nZYk1gjf3yGhaUhPxgdusdwabzBq4=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=DsYANcqBDUenIamyX5QNnjlRkC8aHFlwaCmqef85bCndflu7OX2GOSvVsFkdqG1w+a ChlcYJi3WB8Vix/Cu0ig0bS5lQzfMZ/OyjJhHy8ykBx0+VNonSiegvmAYMeGnbpfXDbd m4oXEPgPAHuq0eYjr8rnyejlSGBWS9YHWOtCmx0en3QgjfH09CRQRGtx0VobNrzk4Mlq oSoJTooUsWP0cLCQ0EqyWgv+jW4rHisx08wUgXdwgRqP/A99DjtMUeAy4V7jOAnrCIwy mpJN47cKbJgYaQOfNpKSSO5w4zQA6Fvw0pAuSHiE4VFD/1u/vhx9W4I6inBRU6o7fKdH 9taw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VRhDE+G8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 71dfb90a1353d-531acbc0f10si464613e0c.138.2025.06.20.10.17.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:17:07 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VRhDE+G8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfM9-0003hN-Oa; Fri, 20 Jun 2025 13:16: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 1uSfL5-000205-R8 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:44 -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 1uSfL4-0004XY-BV for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:43 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-45348bff79fso23782445e9.2 for ; Fri, 20 Jun 2025 10:15:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439740; x=1751044540; 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=OVr4JXpO/vEaM8nZYk1gjf3yGhaUhPxgdusdwabzBq4=; b=VRhDE+G8ihCQYuk7PBr8g7YXhGLBjpWXs5YBKqTU5ELo8Bfb5J7nX5UCr94guNeC1R PAiGhDzCm1proU9fhmJrJ09y4I+01VxXIQ2AagPtIgHdztjlmuRSEA+qYcsLshTdoW4I N0mp4ONLorh6reww2J42upBw+BdyjOij7M7WFop5Mro5XWg9Ow4RBQlSailmu5U3CqGe qI3oqYqEGWmfXk648zhRXa9JnKQ8Wvsj8VArnuQZwfX32XESGWz8I5fYC1ancAX7cGja gULXCTNobt0kb1CvO0HKAoBPD5k9GeK3bpa/Q0iZgBnCXH2BO/NHmIDsvld7BOuzo5f9 A9Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439740; x=1751044540; 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=OVr4JXpO/vEaM8nZYk1gjf3yGhaUhPxgdusdwabzBq4=; b=btKsJGIlb9hlGx/7FufDhFUxpx8Iw0XpHtpHUYjGfxv++VFsFXmovs4Ut+jz/0Y41d vAT3BXZZG+Gqn9pCNIYb7PrSvShwW+Tp7JWcbvgnHORwnnok0qArsG7K7RY+cR0YsaDR 66k4AY6UrjsC3+uqzzLrlJCDbLza0MsiSi0J7LK5ArF+NiwoPeCIzPGDsV5+40JdSfPs vckhD0qhRmiE6qxWdvRRQiRfdJgtqtlmRxh6sZWXsUx7NqupuSoFH64i3H4mzP9AenFu QAk4YkGhHW77EdXlauRXyedh/xvBfJj/ZQFJ4tLOkqwGnSUwbBzynjHplCsk3kbJJPXR TePA== X-Gm-Message-State: AOJu0YwOglZwE2vCd+MGjIJ43VCTm8D1+RhLlfTBzKwLtIZltp7Qo1Ie 7+vuCJNBNUe0xLmpwjLhICOMqokW6POLKVS5TtGbn8Da/4bt7f3qPUOG7i0qJNS3Cw2PxBpf9r7 5q8ABN1s= X-Gm-Gg: ASbGncsFQGN78YtOOxy22oNB0gvm1b+KDxOwKHKm0Iq7nMLBLf6H5ygE7hea6nRJV3/ uYNr3lILx9SiihXgnsNzIU2TOSB6LTiWHbBazLEgEst+KAlR/1w+9ly4T1et3HexbLDBqKc0q4v bI2oFu9adlC66p+ITrckeH6Fk0TW+N01SfEYQe/PwAViOQop9OnrkZTwv84ZBwThqI/jIKpxvIR zpDBEQ1p1OEtIZkgt7EE8ZLP6XE/WnQybzLQaUNq3pd1GZB0wYAjzTbVvyiq+sWbxL0uWOGa1jA vp3o5pbCkh9XdrqnVI/9JzQIRJdxcFXL3yLV1r4dpRApg5+QBJdm9FXcjoP+tHOCgF2BiybVG/4 Hv8Zup1E/gSd3Tt+UzEGjw9hXlxhPsdPbByrA X-Received: by 2002:a05:600c:1c98:b0:450:cf00:20f5 with SMTP id 5b1f17b1804b1-45367067893mr33800055e9.9.1750439740492; Fri, 20 Jun 2025 10:15:40 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535eac8edbsm65058695e9.24.2025.06.20.10.15.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:40 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 24/48] accel/kvm: Remove kvm_cpu_synchronize_state() stub Date: Fri, 20 Jun 2025 19:13:17 +0200 Message-ID: <20250620171342.92678-25-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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 includes") Signed-off-by: Philippe Mathieu-Daudé 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) { } -void kvm_cpu_synchronize_state(CPUState *cpu) -{ -} - bool kvm_has_sync_mmu(void) { return false; From patchwork Fri Jun 20 17:13:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898338 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1452404wrb; Fri, 20 Jun 2025 10:16:51 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW8Sjd0yHBELQXwN9XM6ZRkKORp8W63LFn2qAxXi0S3i+sBblDNwhgSpJBmLuh0/Nyt1NsLrg==@linaro.org X-Google-Smtp-Source: AGHT+IG3+ISBhJyqxg/5knlYWR3u94NVi0lShCmANHv5/FZzamruGoMfbnILJX0t7gboU2Nkw19g X-Received: by 2002:ac8:6602:0:b0:4a7:1402:cce9 with SMTP id d75a77b69052e-4a781c9cb07mr10759611cf.7.1750439811174; Fri, 20 Jun 2025 10:16:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750439811; cv=none; d=google.com; s=arc-20240605; b=lyiLwFr+GYCKYpXEU7p5hFLxVJ9xaSKr/ujZ1RDTJdfYTQXR+M5VO+t2N5MJeDpZpo T0ULRaA2UEdrtnLBLp8C0aJLw9val0aHMGUc4gU7o3FVI6rIB/3fDWdVQy8XK1GcGVcM 19TpA84WpW6upGs3SoPGoBf1jyuVoiV8h3vXUI4Nx9Y9CeafUi/3ZMaZvf44Ad+Prv64 GyDq/YvIAK9iUB3qfgBXlRmsaYdppwzGOZd6Uw3SYtXxggEbAV2siOR/ZgTq1Y6XBtqN oI00015ukzC4lkfJui4r9I7PRuTN2B+Zig5pL3Pu1Rui7wBC9GXEdJ0yxfXaCcrKqtTB JI5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7h4sfO68wbzpruBkUxQWCgRm12x3C8WvrPovqJx+6vY=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=OQxSRoESi+8e8+rkSmHAzRhRgh9HLjoL0XldFgiVCdoYgKLWzLjnP9qQN025l547DC Z5ayEsOCBja3g5ys49ITeZheV0t1NNDlNW8MZz7rO2BAk5zjIHEUl2sMc61yJ7+4NP5T H2RGtnJwxX37dtFNpsT2Q9K6uoMME2eajv/Y/rjVdui0iIVkCkSF0Cvc6YY5WkyyQfrM YkQclaFNR+Dq5oJnVf2VJz92nASvTSK+lVpQcuaYEzgszBzB/Uji8GGIZk28eSPBmYQ+ SoM3K7y5K00XsxZjNjArmdL3a4F7M778+gzEZeG/BRJt/oTWZ2tzTBRhSDPwzSCv5yqC 9QoA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JiXpMKIN; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0eba12si20528671cf.648.2025.06.20.10.16.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:16:51 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JiXpMKIN; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfLo-000314-2d; Fri, 20 Jun 2025 13:16:29 -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 1uSfLB-00025q-2k for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:50 -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 1uSfL9-0004YJ-CF for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:48 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-451d3f72391so19850935e9.3 for ; Fri, 20 Jun 2025 10:15:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439745; x=1751044545; 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=7h4sfO68wbzpruBkUxQWCgRm12x3C8WvrPovqJx+6vY=; b=JiXpMKINmWi2zglSVTBeDViCjBwzTsWXyxltcTkhkz1+IZaMmF9wli5tPNh3GG2nOf HpXS0zLVULsDMyHYjAbffNtntnke3rbfeq0QNEW4QNPxL2VdhTVgZevev+rc22z0hN1s X93HfCL2azT0pwO7uEtQapHwc1OvFmJmT7LogRsumbMRuGj65B7VqcERfi7V3iRgumBI WmHYgBmy5jeu8t357w8zqp9e4yV7CaflpP0XLRz2f52gVwzHYd8Kf8rZiStUchvF3aGi ZayJngL/rto/PzZ7wgD+uWXWd5pLr9OKa5fLHutgSE3ETeXiUKxaBBycEl4QpN+DqcTv 6FvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439745; x=1751044545; 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=7h4sfO68wbzpruBkUxQWCgRm12x3C8WvrPovqJx+6vY=; b=gxDlQTUms9qnUKzRSp++DKZKtYpGms9mC4Q4NA/Qd6GbMYFHkr/QvMmUK5btXkgd3Z swRlSN+z2N8WVrDgPsfGLEbi3h3sdiQttWFqWjdq89cHkey87GoqM6TEkAc9mffN9NQG /wA5QnM8Qr+nZ+Z2KhWUgbO6rxkA/RxoeEPv+ViB2fyOs8ajw8/e7C8I/ZrF7VQwx2Ag a2Ip4pACIphR6nYRfQTwG2pk/wTg2wEtmjI8Oz2efv8jnXL+dkXaDKuXyj2/q/G15Sy8 SerKlibxiQcW+odXMW+a/9J4GHplQ5JDEHycl9cBufXrmM4cWekO7uGvAmW+q23nw0lH otVg== X-Gm-Message-State: AOJu0Yz9UMoaSHKhJ925tXoAojNZtT0ezaGdDaLN+khREfqAH1bacmvV 9Mz0Yj4wsItBUhrfYrSQ2O6Sbd8AhmBwcyXJK1Gm8axeooU4jHm4UbZyDUShH3zanLB2wMUMJjq r4TBFThw= X-Gm-Gg: ASbGncuU1CDB8CJXHM1CUxJwA3X9VCqZ2FB0QzLvbAvsL9yuHmBdGg2Y5k3jF9d9OfN 1H0WVxVJBEilIqMCBlsJeneNwc1nD6IEqQzuZ4/TwUHgVHkxiGab6bqT4ll9mzLBspfFzAbEcor No9qcvFsOD6C1YzWalpft902IB2C79zBxYsp4MD6W5l9FX16JHdrx3thTmeCif4II7gi5Myq5hb ogkMo+nuQIY31WuTOtbAN1byLTDTlGj8gd1t/CMjIi/N5A5sjSEoHFAQGEdm4mTinVjLwaAXP3j M2QLE0Nje5jIkqdN+bwZkZ2ZL6SeICXhpyyj0tApVCujZUbfFfHR5xUf7mAFX9Jj9kTxKJzVq5n GA/F7FaepScx3Y2Fq0HTrrHia/xkaHiSbkGOl X-Received: by 2002:a05:600c:c10d:b0:43c:f87c:24ce with SMTP id 5b1f17b1804b1-4536877ffb5mr13683025e9.21.1750439745343; Fri, 20 Jun 2025 10:15:45 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f104f6sm2675848f8f.12.2025.06.20.10.15.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:44 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 25/48] accel/system: Document cpu_synchronize_state() Date: Fri, 20 Jun 2025 19:13:18 +0200 Message-ID: <20250620171342.92678-26-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé 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 5c5171ea5b5..f40098c1c92 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -45,6 +45,14 @@ struct AccelOpsClass { 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 accelerator + * (the hardware accelerator is the reference). + */ void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); void (*synchronize_pre_resume)(bool step_pending); 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" +/** + * 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); +void cpu_synchronize_post_reset(CPUState *cpu); +void cpu_synchronize_post_init(CPUState *cpu); + #endif /* QEMU_HW_ACCEL_H */ From patchwork Fri Jun 20 17:13:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898349 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454473wrb; Fri, 20 Jun 2025 10:20:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW3VxkjDz+wBQtjUUB4zrZfwIE4chysAEUPPLfb88cm4X/Q/TRCHqKbQksIpWPVOCfYw9yKdw==@linaro.org X-Google-Smtp-Source: AGHT+IGXVFiw24R48ZaxPPAh5915k2U/zoSTvmalJd14qywArsCdmoVppbZ/7UQizocj3JvVdF29 X-Received: by 2002:a05:6214:4a8e:b0:6fb:44a:3d36 with SMTP id 6a1803df08f44-6fd0a52d3c1mr61824006d6.20.1750440041618; Fri, 20 Jun 2025 10:20:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440041; cv=none; d=google.com; s=arc-20240605; b=UI1OjgzLxszOnibDm0qBAitFs/Cciz+WFdt+JRHR8gVD3oY6GKLKaSSZaZ6e2it/tA HgzfE5I7TSRwxqowaU7jLfBvOABUU92+4mxknFhSm4vx5tDKOHNlo2DiS7320Jlx+V5i ePcAmc1a0tTawMy2BVyL5AZPXG9SKykLysGtvD7gVkQtubcKmeWtNXCxLGg1enyT9Ho+ FgI1Xun/kdoxwgi4bGxHOmiw8+hTLaIAzi4VSSglPnDX14Z3p3+8TfV5mQHhIemiaV5b MfFjkl2qyJkZiejpbozaut9HSKvaF+xqstsCMfDM/0YMkgu+KE1jnzFGyJaVjW/qg6IJ cDVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=MPJSNIxbqzKOSf4D3TkCziYLBeocw+mnHZA8vqJidSM=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=fMolg9I7o6ze8ZoLV/wYb8HU40HQHMiWmh48LNeu2fehugWPcIUI+Sik1HucENsaHi dqCTDV1GnorrGyjh0Gt1UPe+pWNoiH3R946qYENZpbvkEf6btaW36noUXsmo1h2TolAi P/6b5fbeaDH38cbhomA8DOJSuJ8T0Os7sN+2iOf5KD9rMsW6fE6lHQ6dJF40Y24L4SFh Y29NwZgjHDxBtDNM9Ma8HSSi5XK3RZ6H4ji1esyBoutNoJTOtnzyNutAY6nKQGGVLAh7 aSjrtdVRe9VdnucC9lRTppwBZKvVIv6rE1aLYpOp7Q3SOhdXZBgenpe+Kx1yj8n/5Apa 0KDA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GgPy48lc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd0952d213si24855986d6.179.2025.06.20.10.20.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:41 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GgPy48lc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfMl-00054P-2e; Fri, 20 Jun 2025 13:17: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 1uSfLG-00029t-4W for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:54 -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 1uSfLE-0004ZP-6A for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:53 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-45348bff79fso23783765e9.2 for ; Fri, 20 Jun 2025 10:15:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439750; x=1751044550; 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=MPJSNIxbqzKOSf4D3TkCziYLBeocw+mnHZA8vqJidSM=; b=GgPy48lcrL8sFbKQvxwn6vYoYY0W3RGL2asCr/c4j+B02yN+Gh4NE8gGCo8ArYclvn 24SaAl3hbeldxHfXCfJ5JrDheTaRrwJFrW+g+p0gOX/t1NBqvxA8APPrCY9XL1adGqo8 o3PSpHVR66N8XfykpWP8yGb9pn6ME5QDP2t7O30QfLOJlUidW0uCC7hxb7JpyGCh6sDE KMRV+a9kI5KjlKRg07yQvTZexc8jy2+ywhAisaOI0/RJ99O6J+I1yiGfYntpyjNs50/L UmCcN5JBs39GmqGMaDWnHkTWmzCRJwoZ4U36k3wX7ix+FC3LkHlzxg4UN9Xo8XmbBImw 6ouw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439750; x=1751044550; 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=MPJSNIxbqzKOSf4D3TkCziYLBeocw+mnHZA8vqJidSM=; b=llDLbwewBopGr4PWj/6eHAcxEqEihWaMg4o/8auWhOv6mhplS/uF7rSrcJy3nnxOJo 198q6PGKwd0YNts12BsFcfrNrLoduc0gPfEahX7L4ylqcdT1hsKThs3HHbIIvkKQDois qh8BWKMJC3u3liixUl1GSaoBPetn0RnpDs4Kz+O319GvEDEdby2NcRUJ8/yi4hHqEObB 6vuYEIr1RjM2QGbVf0TwDsYRqpOO/NmFvTvkqel5HeE1vKmmu1z8ae2cHdWzXj3NzAg6 e088nYoYzW1BeYS/Klxo7XQ3Ms5AztsfPr+i9DkD4QT4kl7rZlvC9V23upEwYml+AGdp IRcw== X-Gm-Message-State: AOJu0YwmfPM0o41syovrTT6keaAVofJvCZVVGLJE+IQQG2mTcWNidqEd IdzjxOhwh00yRGFNMXidMI43GdqtJ6EoEqEJzC1sZqsZprMcF8kO5PyJaiIeOlYtRlXkivWsOkp pu6iE618= X-Gm-Gg: ASbGncutG0L/2lJX052WcVhDWS8t1bkVghzE/sW5yfUdvpIFPfD6jp7zaF8udvrzALw dme+k4gqFj34MswkSp/Q2K21dx0vPV5VNwdb3mDZN11vnLF3jmbEFUMjV+nRmexM2yOCk1wIfal 7fSOCC5WGRS9pvC58UNapH4hRxir0upVplBQ1jAslpC8+y08DzyqvPzsXb4wmkjWDl0r23afdTK Go4G54PCUKGxkuD+Djs5VUqu8EDbMMdfTE56xdlZuq5y3f+wjsilzIODwM2omm2nJpY4Gv5VkID yoZSrP7URM59kZQrPnvaghz9tkHXe9c5JEzJfSNM+Nn5tUHKvUwCoj2VgphU+hrV6oKrL4eDryA qC/nfu1+NX6LErlJxb4Gmlv5vcYpxOLC2pCgm X-Received: by 2002:a05:600c:3e19:b0:43c:fe5e:f03b with SMTP id 5b1f17b1804b1-45369d6bfe4mr9408855e9.30.1750439750404; Fri, 20 Jun 2025 10:15:50 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535ebcecb5sm65655875e9.37.2025.06.20.10.15.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:49 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 26/48] accel/system: Document cpu_synchronize_state_post_init/reset() Date: Fri, 20 Jun 2025 19:13:19 +0200 Message-ID: <20250620171342.92678-27-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index f40098c1c92..b1b9dce27d0 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); + /** + * synchronize_post_reset: + * synchronize_post_init: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers to the hardware accelerator + * (QEMU is the reference). + */ void (*synchronize_post_reset)(CPUState *cpu); void (*synchronize_post_init)(CPUState *cpu); /** From patchwork Fri Jun 20 17:13:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898359 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454913wrb; Fri, 20 Jun 2025 10:21:33 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW+Qwr6lEiX7yBXhs9FUYYMavnLYTgr1Ypv7RcOCFohPl46spmfhIXDvt1KM3d5EzoL2A/SRA==@linaro.org X-Google-Smtp-Source: AGHT+IH2vHKEZAWpq4Ny6eBb3eauBWadYc/Gp1GArRzrI1k180yLVBFBUssQBq+rTqDDKXpdqIVs X-Received: by 2002:a05:6214:2129:b0:6fb:5ac8:2b79 with SMTP id 6a1803df08f44-6fd0a4f4ea3mr73901636d6.19.1750440093416; Fri, 20 Jun 2025 10:21:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440093; cv=none; d=google.com; s=arc-20240605; b=T9F1A9muRDKOfzCepBKBMyfT288eWLU13F5wHnn4l1/zsSa0ZQQIj7G+LDz3HT3RDq 4annTgHnoky3PnH9pb1mZPtghNsHQuAAT2nJoRf+wP7XhzGXqDsbVntmFyPSyMSplP+k 75xCIOK+LBdfHREEdrnTpylnCON7dpSGXzTEnmD/U2BrQCEbZ2HN4sempB5f74PJzLA2 9pAQes1HMrGnalLCB6rW/TnMHX3s9sGmSIRklHBhL3x++DikXoKZotwgCYgySOyWS3cl SL/yJTRtate8WEgTO420fRRLqkuBvQ7DKWFpgvWqieFjyrevTLD7sWGxFVkTt+266MrY TwOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=d/XNfWiSbWGdYBzuDNRVlb7gdtXynRKks1ss0p+cqNk=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=bL2wek3nFlNpJ1PhFI1Y5lQWlgOpNo0W4sMOwS3nzeOYiYaMOepANT9hQyfmFzEWXv Hfo7+YvTWFXTezsVskbVcRImX8YNGAG2oATxAjpitZs97K/ch07OvjbU0ezr3vz8gSDu cp55SBgs6LqO3/SfMfVTcEAJINSQGm2HY83V5CsT0icvcE/OW63bTmGLL7fnLJltVqKe RAJftpXmcwKDZxdpgiykUo6+KmheXEqeNYdFE6Dg/DOHfmVhSEOXmv7SqQqOEQ7+V9u2 vwO/ra0qOXRo3WlRaIYZOJhhTqTbDhJMKx2yVW/ixfpfakQQiR+sVwX221pt0yfrEtdt OZjw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FimvPl6M; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd095662c9si24768176d6.300.2025.06.20.10.21.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:21:33 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FimvPl6M; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfMi-0004cC-2p; Fri, 20 Jun 2025 13:17: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 1uSfLL-0002HT-Cn for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:00 -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 1uSfLJ-0004ag-SC for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:15:59 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-451d41e1ad1so15755545e9.1 for ; Fri, 20 Jun 2025 10:15:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439756; x=1751044556; 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=d/XNfWiSbWGdYBzuDNRVlb7gdtXynRKks1ss0p+cqNk=; b=FimvPl6M829GfveQCYaJCnTwEka9HJ2tPwj/ZtDuS5+VGSSYHrxoChOye/U69d85AQ 0i2yWUZUYS9VztX9N+eI5uOIHTNZDRryoJGvMlYODbCHnvdsqFVinf2wANp6ZmstfW9R parehNuE7+pfFIpCpD/wz/7lPSMUM1jW8ZkxcujQT1Ujh/zhB9Dw1QF/Uh5aUdddIlga zO5Bds791XbpzjXUuR/kTwI/8PqcsdOTe1hBHmoEIs8XhI9upDaQpQEWljSO/C5O68rx 1c2KzCCS5Jm1BbopPHrX/tE2/xjoTJ0/D7sHgAMWOoG1DEkG2T63fNEEyvPk86B3zS9x CAtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439756; x=1751044556; 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=d/XNfWiSbWGdYBzuDNRVlb7gdtXynRKks1ss0p+cqNk=; b=bXatlEAmg2I7boHLu5rjqvvQKsao99w7sOSuIBuvug/EdM4wzPi7IUQx1+gbGUrf/7 jm6lml4LrhSN1ZJ7RK9jVXv3XoyifvoBC/C/Zx2hVIDzNJUy/3Hw1qrErr1F2jZsdoOC Tpn7DmUlU/BUnSHb0F68D/edHyoDhKpx1lrekypGUbU6Rg0lAeVT63E6F4sf/9z4poWJ d+eqYpkDuPUlr/QNxbEUmGxpIHStNHbLrpeSMbJfdWMhwvInJxvuWxUEnH5yp3FTorae wiilW61FFYICguefUDukEE3ZG31Z7GYnq3zWIT37Ox+hEdhEXS3QruEt/svdRRtfqEEO K8jg== X-Gm-Message-State: AOJu0Yzgj/5CcaFBLwL1iZ85nYpdNwHEdUr+8L3aZ+bGSzJ9tE50Q2mq EVO9I1mvVq8Ue+esv5GcODVh4qjR+QzhMTQacOTRF6prBZR1xkkDIAGc+aVZpdFJrYize1I5QQS 5g8UdFuA= X-Gm-Gg: ASbGncvbmsdaRQZVRRQPDxHhyJhFAFUxGX4R48kdNVciZMyF3Y7a6ZzwvB0W9H7OC75 X7ZIsvDUmCDGJYsiJUWErmobu6TOC96Sr5d8s4GoWfhpMZ11BnhBnnhS6gv48L3kuSgeguuqMnO vB9YqDefKS84E+guzopbu59KFtdbNPAVW6tvZat+3OBGqHvTtj/okv8q/IAO07kgEi9o0G9LCQa DIDL+9/q5akS+zIERscjxN7BKOPi/tXQDrOpuD26b6U+V1fp5s9fAYuaFOrGBPHh3LNzITA8VTd zY5XjOvfexaL4tTQ09EZXjcAHgh2ztQi55DGpzN6nKNa79Bknw7QUgm4H8wER/PZjnEw2L6fjM0 eu/uzNLckMH888lCyp0IH20wGYn5ZVIJLDG7g X-Received: by 2002:a05:600c:4754:b0:43d:fa58:81d3 with SMTP id 5b1f17b1804b1-453656baaadmr32312825e9.32.1750439756086; Fri, 20 Jun 2025 10:15:56 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453646cb692sm31618745e9.2.2025.06.20.10.15.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:15:55 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 27/48] accel/dummy: Factor dummy_thread_precreate() out Date: Fri, 20 Jun 2025 19:13:20 +0200 Message-ID: <20250620171342.92678-28-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Initialize the semaphore before creating the thread, factor out as dummy_thread_precreate(). Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- include/system/cpus.h | 1 + accel/dummy-cpus.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/include/system/cpus.h b/include/system/cpus.h index 3226c765d01..bfaa339dd73 100644 --- a/include/system/cpus.h +++ b/include/system/cpus.h @@ -8,6 +8,7 @@ void cpus_register_accel(const AccelOpsClass *i); const AccelOpsClass *cpus_get_accel(void); /* accel/dummy-cpus.c */ +void dummy_thread_precreate(CPUState *cpu); /* Create a dummy vcpu for AccelOpsClass->create_vcpu_thread */ void dummy_start_vcpu_thread(CPUState *); diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 867276144fa..7c34e6c0fc5 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -64,15 +64,21 @@ static void *dummy_cpu_thread_fn(void *arg) return NULL; } +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]; + 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 } From patchwork Fri Jun 20 17:13:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898356 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454860wrb; Fri, 20 Jun 2025 10:21:27 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX034Z3kLg+/iX75B32KG/Qmvkwb7nPJEpTLkNBRFGPQh2QAuYRnidBLD6lpocBZVgYEL3DyA==@linaro.org X-Google-Smtp-Source: AGHT+IFWy3In6L/Cg3+gqU11odcbv6yQH08nZW77O7VDb3oSXRLSoc8gdn/iyjbBxf0AbhOAlha5 X-Received: by 2002:a05:620a:19a9:b0:7d3:8ffa:f1bc with SMTP id af79cd13be357-7d3f9956220mr509391285a.58.1750440087718; Fri, 20 Jun 2025 10:21:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440087; cv=none; d=google.com; s=arc-20240605; b=TyvRK5sGl2A8UWnw+8NTh/1EKDj1crnkIO6KCDjKAqyVPVvgHbuN0HuLVvJ5a56Xqt whBslVow4mAxbk522KwSfxPyI6O9TvVGE17JJCXorXPPgoU932MfJG8UYDricYQK+gT/ u/WYlii8cJLEYPizLhHCeCIQV54uLIjNeJbRTcnPWB+RPtnQ4jBTp3kq8Gutz3mjhdlG eyzwr1r3/3HffczMFTVojpPsm7452ZIo2bWmNhZVxC+wZRDLthE8jGOIkj8MPqIYAqYs jK3dH0ZRNWnxTFbyI96ggiTVg48mEzC7nNAWbmDln8xoFX8PK407uPtHqG6MbYNs7KGb NSUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2qi1v+rhQhzB0wXkGwXHpVQj60b4txNx12WYFBH8tbM=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=SYV1N1gRNfF4xm3EF6Sbq9HTA/sZsLJ8YqGEb5VtRimybe7rxqYVI4KIM27uHq5PNL oG6kgcD7YiNUrHMy2To+9ID31BbNTzu4ZxLFmCVF3p1/3TBxTqIgnwYhVWaeQSe+CFyx WVMfl/62r7LFJ2jt9AVuX2ipcvfY8N9mwp36nch3/2IlCkFF9cDUUW9hKGdyqjdjew4W ba3r5VWfd0/n04YDM9WFdPGsTS4NarXWKVq9x436cd2ZXz6ybaC0EaRNf1/z/6y2eI6D djzfwmPrqlpZzDTmEv6SijNdyUMk6q9sDyk1/TUGR4HJTXo217Yi71t2unh8+b9PRhzW eRvA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="VDqMuFv/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f999e38csi202746185a.53.2025.06.20.10.21.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:21:27 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="VDqMuFv/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfNr-0005tC-R1; Fri, 20 Jun 2025 13:18:37 -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 1uSfLQ-0002OQ-Jo for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16: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 1uSfLP-0004bC-0L for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:04 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-453608ed113so19665915e9.0 for ; Fri, 20 Jun 2025 10:16:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439761; x=1751044561; 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=2qi1v+rhQhzB0wXkGwXHpVQj60b4txNx12WYFBH8tbM=; b=VDqMuFv/OXkY0AW63joPyVMgu7QJZS9/YwRiH1+sjNg4dY6BypynP8CFAy7HUA4V8u F9z1Q6LsA7k3fNFbGGgNs+TAsIIVCwJYoCfkytvc0VspXfYsav8CWxE7TiNVFqMkoCB2 y0sKMHohdr7crcUc/RV0VFurpk3mYfdT2Jy0HuIkO9Sq6VbXtIprLkX9fRUM152jCsSb ckh/dyqqZOPg4A9dUCljzGfgiMUQCmzVgeU42MFy404XLkgeL5StHK/jFjv0nGQqHFCp ZqqLNdQyxStKu6cMMBY5+k3uWNM4XvILwAxcDn0l1reUQzr2Po3R6VyKI43iuqYahq2g wQxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439761; x=1751044561; 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=2qi1v+rhQhzB0wXkGwXHpVQj60b4txNx12WYFBH8tbM=; b=dDjpqzspLFPC9jbdHJkWDmTAVVCwv9zf3sgK6nCJYVhYQoCrEliV39EkbneqfAVTd0 QErQ5G730OoelXICLZ0DXxMuoxcSR4eS9t3xZROzIyW/qaavLU2km41lK/bYiJlrPEcI Cyem+yfMrulMTB0lU0WixyO9HVaHFZbdJxKcln3tpbVsys0gB48rsia3yIL3tg3sM+CW PR5C01RLwuU36WtvGfgvotH5yiRdp9X3dcy986RAbdyBKeuFWfs81rIJxG2v5GrTI9He gLA6VD6xNnCGNvd3vs23hgxQD+/ftcKquHptiCWbd3vqLag0M5/yf+1EdFTcg6KEE57v dN9g== X-Gm-Message-State: AOJu0YxllwIbNCzFjb+uODkClLp394HeTzTYIFBAuS6uydB3tT+mm6X7 GuCvdl7QRDZPud7o+0/YCwMG4kwOOh6cA6id14X+UzcBvNorvzSDZgxfbJ5hxMSxZL+dStlgMUF LXGQCfQg= X-Gm-Gg: ASbGncvvTubR9IIyXx7t7wLGQ14CWjLFDK3jNiwEPU/c5PGK/TbPQLeCu+GMfysmFSD s9+jSEzgQx7NOPHAE+7fsQwQGBiEcIW7B52+m+XEmHJ3ZiWwApqRukrHBpUkPPAocnN0cZtmKeb zPS2k/Cz2bAsCX5PGU+dz6gqncmm6wHHcCIGscSU1lCfKvrPoPkVNdLWkG3vvIqyJTtFWzmsD1V CpYiJcz6lJy5OoWEFZH9qQDqYZhrhVE2ARmB+TTWI8+cFIQX58c5q6y7z81QJVIR1/dxGuGnmgh qt4JF23NbTSx82OLd2RL8ubQwfdLoP6tKeHTLf5c6YzTazZRdAb94luY6gDC2magHM1xgiVV3V3 FNutDY+svNVbPrtXT5i9PKnEIr+nrVUqREtYs X-Received: by 2002:a05:600c:6206:b0:453:dbe:7574 with SMTP id 5b1f17b1804b1-453659caa7dmr35829875e9.12.1750439760968; Fri, 20 Jun 2025 10:16:00 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d117c71esm2579551f8f.61.2025.06.20.10.15.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:00 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 28/48] accel/dummy: Factor tcg_vcpu_thread_precreate() out Date: Fri, 20 Jun 2025 19:13:21 +0200 Message-ID: <20250620171342.92678-29-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Factor tcg_vcpu_thread_precreate() out for re-use. Signed-off-by: Philippe Mathieu-Daudé 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 @@ #include "system/cpus.h" +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-mttcg.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]; - g_assert(tcg_enabled()); - tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); + tcg_vcpu_thread_precreate(cpu); /* 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; - g_assert(tcg_enabled()); - tcg_cpu_init_cflags(cpu, false); + tcg_vcpu_thread_precreate(cpu); if (!single_tcg_cpu_thread) { single_tcg_halt_cond = 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" #include "hw/core/cpu.h" +#include "hw/boards.h" #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); } +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); From patchwork Fri Jun 20 17:13:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898374 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1560544wrb; Fri, 20 Jun 2025 15:20:24 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX/BZFi4LHDeTe4NDpZpPcvXgjw1KcwhO82inSf/OZbp90cCfT63RM6B1VKf3ONdiZGu84TjA==@linaro.org X-Google-Smtp-Source: AGHT+IFCfqPZwB1KvKuKgIzYEo9XuImPUc1Z8bXHXsAuGmTZM4jxvn8QrF3pfdNdT7gy0KdLE4fc X-Received: by 2002:a05:6214:4d08:b0:6fb:6129:d6f5 with SMTP id 6a1803df08f44-6fd0c969f71mr52087606d6.16.1750458024452; Fri, 20 Jun 2025 15:20:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750458024; cv=none; d=google.com; s=arc-20240605; b=JRtelidclcY0/rWzOU62mkVtXcsgucR6iABbaDreJxSLg1wD407xT/naaFF41FDDS/ MUS3YQ+z1jUuuyHNiD7iKJ66f7/jxpsCOCoMej6wCVt6fMNlk5wflro/0ubdvtkRujJD L7JdE5bThENhdIlCQyOX5BJifPgs1GL+2v8Z3uCifOtkpjSaoi5MxtOZvj2kPpdhpVSa 6GQrDK4frwMYm2m6GMYDOjNX42s2hB4ggnNq5HvuhGleOy4R1ppoC5Zl9hpGzVZ73PU+ d+nw5+D8Bm5nw3NE3+T5KOOgWKk1JmjJ8xH6bv4goMmdr0aaOuHrP5G5D2PsEmNL/FrC 9cMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=IJ9HzRGq2YkLK75aks6LUHy4qRCZf2MFv/UyfZ7+gZE=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=jz2Ke0BSrB0XdYYydytH3rOYFW3WoUraEzml4Mxl02VO0G5Tsuu4d480mfStpq8a3a QoayZ7/n6Yu1IXxryhEzO7XBQXiG4FWF1qzb9kwczOzJDrKtYaN3i2dBFHQ7BOxfjIuh cWRLg062CssZduQwOZkkx972Auxcfq+DSVmmGg1dJPwLkL06/zIb0iksV7m4FCF0x/22 rzRmQaGC2lrFy1dQeDgKWe3hfz8moT5Dwds4SLNTkcF8OzObpTlYoLAE5KmPuyinA8J4 UTCnOxurynFARJ8EQTKUur1Q0h6KIXnPEI8bQe+E5p/FqNL25x7zuG1VnsYnEH9eue5N /Z7w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nIUqd9gI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd093e1348si30044496d6.19.2025.06.20.15.20.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 15:20:24 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nIUqd9gI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSk3e-0000bV-ST; Fri, 20 Jun 2025 18:18: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 1uSfLX-0002cC-As for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:12 -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 1uSfLV-0004bl-Fv for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:10 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-453608ed113so19666695e9.0 for ; Fri, 20 Jun 2025 10:16:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439767; x=1751044567; 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=IJ9HzRGq2YkLK75aks6LUHy4qRCZf2MFv/UyfZ7+gZE=; b=nIUqd9gItaja0Qs4T8kJMXgyFW+HQoGJMApdw3fwqn+G6iz+zxwuWs831RS3GrO83u fPtz64kthxWMpfOtobVbz7Erqy9dtmrkmFHmJkFRv78ZXy8kDittBDd/JbLVvYRCs2rf OiTSrBYV9F5X01bPx0Vls5UzwfmK5qBryGdA8EC9Bd7b7QDUcWtIkYCQZ3eq04hZKoVQ 6YkOirICpeaOitw4tWMuCKcToMArN7N4NrCo1TEfZQCLNgSkwrQ+AB/kMNIp1jDJzvpZ hVOPfcwjKJvo3cHJZFi72t/g1cRBy4rY9CIumClExm7jiSaOIAootdBKe/kClOXLANnH rtvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439767; x=1751044567; 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=IJ9HzRGq2YkLK75aks6LUHy4qRCZf2MFv/UyfZ7+gZE=; b=wS6hpUTT11xpQWng8zdv1t7srRarff9tDcUTVx94iu7wEN5iBswFqvbm+sE8/JOnBF 9PCTo0BUoe5Zfs1Zfq71C9+LmBBCx0MwgZgEcA391hCRlTVG0rUsjZUNWOcLPwDqd2NB 3qtYbTllsoNAsiy3BHila+gI9ZaCByCmK8o1hOLIFDngxcXaYHRXklwYAg/+eCbE802E EUduBfabiwTc338aJQr7vMZDuebMM6XzKJI/AljKyqFDUksghVlKeMk9rB35F4StgK2g 8071tWyVLNAS5rI4Qun0ws/apIVUphahdfczyyUR2oVCgEXhbHqvjUECP1vutjmIx4K2 OFqQ== X-Gm-Message-State: AOJu0YxkiDmfArK7ASU7Rd2bFMl4NIbG3phx9pLZvXgxaOPOZVoFwOi7 PF86tNHBLWD+CCmliNu4ubIS32WoCh81rLYvYICOyomWrNk8CGodspd8fkRCX9c3noc7Chosx40 +pai/jRs= X-Gm-Gg: ASbGncvw1GELZ+Vz6xz8u6IP0DyADzxS0gDsTKTI3gpVD66NgFS8C84FjrLlbWufLsA EzK1YQc+eeX3/CAC9ukGNb3f7g/zYyuzRToZaFHxP6O26RB+Xr+lo821sAu5MWUVU8ut99tSOi5 KsThjclf/w+WZ0JjJ2bc3PyEQnw6qntANjKMtDRfWK9UF+Y+PQSXgh9q8+JYazvBFeWMT6uM3Y6 KQNZgkiG73oI8bOPr0x/T2tbIOlCP5zsE55rX9Fgq8QBjXo8iaD9Xd1Q/zYAJU9d8phLhOnoWwh QNbFsZNBfnKAp7Lt8SJrycI4zFTJ9FIDsywPBHniDPuoCDLLtNLt4NlTHlw+YzYkv4onn8UsBmo pNZ+QIU14y9aLWNK/erXgxClcsQXgExdL5CT1diP5/R12XgQ= X-Received: by 2002:a05:600c:8b67:b0:453:aca:4d05 with SMTP id 5b1f17b1804b1-45365a04624mr38518265e9.31.1750439765890; Fri, 20 Jun 2025 10:16:05 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453647071f4sm31494625e9.34.2025.06.20.10.16.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:05 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 29/48] accel: Factor accel_create_vcpu_thread() out Date: Fri, 20 Jun 2025 19:13:22 +0200 Message-ID: <20250620171342.92678-30-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Factor accel_create_vcpu_thread() out of system/cpus.c to be able to access accel/ internal definitions. Signed-off-by: Philippe Mathieu-Daudé 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 4ed5f264a88..4e30a633bca 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -93,6 +93,8 @@ void accel_setup_post(MachineState *ms); */ void accel_cpu_instance_init(CPUState *cpu); +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) } } +void accel_create_vcpu_thread(AccelState *accel, CPUState *cpu) +{ + AccelClass *ac; + + if (!accel) { + accel = current_accel(); + } + ac = ACCEL_GET_CLASS(accel); + + /* accelerators all implement the AccelOpsClass */ + g_assert(ac->ops); + + if (ac->ops->create_vcpu_thread != NULL) { + ac->ops->create_vcpu_thread(cpu); + } else { + g_assert_not_reached(); + } +} + bool accel_cpu_common_realize(CPUState *cpu, Error **errp) { AccelState *accel = current_accel(); diff --git a/system/cpus.c b/system/cpus.c index 4fb764ac880..1721b32fc3f 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); } - /* accelerators all implement the AccelOpsClass */ - g_assert(cpus_accel != NULL && cpus_accel->create_vcpu_thread != NULL); - cpus_accel->create_vcpu_thread(cpu); + accel_create_vcpu_thread(NULL, cpu); while (!cpu->created) { qemu_cond_wait(&qemu_cpu_cond, &bql); From patchwork Fri Jun 20 17:13:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898348 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454460wrb; Fri, 20 Jun 2025 10:20:40 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCULv6ia2WiM7O7Tc7ETI7GmLFWIkFPBe1F0JI9NbuhQd7hEWH7hMatM3oyTNeijaKA0UaNrPg==@linaro.org X-Google-Smtp-Source: AGHT+IE8Od0SoyS8ihNzQzjTwKph3KWDoChZ1w2YpWDMRXtiieeDiAH5u9HGycHWnkcleY21FNMR X-Received: by 2002:a05:6214:529b:b0:6fa:fdb3:5879 with SMTP id 6a1803df08f44-6fd0c87d9f6mr48730346d6.1.1750440040643; Fri, 20 Jun 2025 10:20:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440040; cv=none; d=google.com; s=arc-20240605; b=jLyBtLrsPBM3qCo+O4kFvjD4CesOPvbBJ1ixRgn7wp5hgfs3CAhbpFMoOtvKEgJ/So NeAMy5lkS7ECljZVnVN/RuQekz0nxYZzlef53sfJ3T9/HtXg8noyt6g9+hVSEjk3lpU0 3UtcXv0r7a3pxj2kz0l8WddWNYyqfeyGyw0eFWw/1yXeQRUivbQKUA6ycC6mLe+q39uD k+QpH3JCimSnexn6ZcgX6AVDmf5YQeeagLlwfTaUwkGlthWD8OQf9470RpPcVCg4m/Av Bp1ntKS+LYBKcjHzos1QjHBY+uuZo+3UbTtfWDcnjMVHgNlqvg1Q6UrvFZ1mtim6JZ+R mYNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=HifgVc2llHULzbFJYnx4Gjp/3KyzUdu7DTAkCNPmNJ4=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=DG8WbbZZL6xS6Yb+ia0fAFMeyLeux8NbLfNoM3Kto67nxRNGRlBoM10/8vKIO6YGZ5 K6uEID0kPGe12tguzinS7FqZhRb9qu8baPdUUkcVdCyjf42Ffj9aud4ehrqxtfeA6kC0 1zQbPBfDWMnUyFrYUD+zjEvsp0eauYjIL5R1iloXA6g7xSw8aNO8jwFNfeoXW0/Flrgg 9bSHJiwAm55mEaY/jz8KFJePwjBcUTNo+80iafNewhI48GTH/m3S929one6LawgzpMVR XpzUJ7C2k1XNHsunRjeYmoHq4V3geYzEG/R3eQpxhISta+iBWcQljxPVZe49k/DYXId2 nsNA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Bgr1JFVO; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd095644b3si24411226d6.263.2025.06.20.10.20.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:40 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Bgr1JFVO; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfNp-0005si-S2; Fri, 20 Jun 2025 13:18: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 1uSfLa-0002m7-Hl for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:16 -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 1uSfLY-0004c7-Ra for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:14 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a6d1369d4eso565806f8f.2 for ; Fri, 20 Jun 2025 10:16:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439771; x=1751044571; 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=HifgVc2llHULzbFJYnx4Gjp/3KyzUdu7DTAkCNPmNJ4=; b=Bgr1JFVOZSlM/OSDQrnEzQSpE7vbxydusdCiyLgzY/zqzSlMT8KakK6gDNJzzmuq2j ep6vzw+nRRjghsDeTezXVo2hDAqtmmPuKmeXZ6sN+2bjgtNy8rtUSbLn8cGgSJBpkpr8 nd62DAqmmQv2rIpAbCpcltpIFCVoQ1zIsBJexk9PuQtDtJy0xOIP5V47gH+w800QkS5X T7vNMsIcI6KfPfCo5RXlWmkMhoMQ3Qzb/Nv3knw6vM+YZsdmDO4aS/42UMjC/CN/AwMZ +iZ4je4WWOFobO9/Jyb7siw7HLTXRBitTq0oRyV+nszAPGk5wKRQyQvwJHn08f6CxBqx VFtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439771; x=1751044571; 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=HifgVc2llHULzbFJYnx4Gjp/3KyzUdu7DTAkCNPmNJ4=; b=PDWT+nXzmKahT9eOe2mFi/29OxSjqwo0mtZ7gnuKw+M7ZoYqeZ7IVnHSB5cbGIWCcz XwQ7hw2mSSeqKu68CSr+O3e90g8c8skuJRkUgt2Y0BW1jHed1Gun/Q2fpRxaZosCjWWg HoWrKszLori4W5IK043YAxYMIf0DHaOViF1p2lp0KhFn/RJgJFH/4dfJL1scmBWUsT6j alxgZYUWC6vQrf3NJI3bpUgnses2j5XFP2tpUtg8t9sY3wcMZOPJKCS5FuhmNSI/FGJV n2TA977YOI9wSuAOjo4mWN1HSCn2C/d2jnS36J+DuvccRgl/PNBrBd4/h0SQdYQsksLY 88kw== X-Gm-Message-State: AOJu0YzuIEr6sqx9Ru9gmkwuSdyIA3UBUk57VUuQbcSlNrXKms8vWyYk 2vAO1r/jQd3FQl1G4rPWr4fFRGxrNIukSJEbcNaheJ8SUQbY4F/Lt5xqqJp6DaWu1GMkLpd9HcD xg07aM84= X-Gm-Gg: ASbGncte07+W74+zN4bQbzGDl/eCkAVg6gZ7u/RYQ/dnekTage+N0r3h+4QDJe8E/Ln iBAv0vicWeSxZz2h8YNnhCTi2v55QH8AesELSq92aNmsF257NRkYX+Jlcfx742PaJ8GLsNIA7+q 1Q9ecy3WO2cqbgwDpu65PXV0v6wRyjot66/Q4SEeDowAnGuMP7LlasegvObzQIqGFrRWDJFKWah 9VlLgTp3sAjBSzaJl64PrMWFreXQB+ftd0Gy/BFpniB6UZude0Vg36ve/3+nYSGCyEkE8Xn7R/y jE9xLvRm6oc+kDojsRk0SfdVWTpede/zOBG1BWLy0pQlO0orNWUrGdzk2Ow3vVMePRnXaFR29CA bb6LYXRWL0doP4oswfAs/REW3FxXOgidU+gLa X-Received: by 2002:a05:6000:4912:b0:3a6:cfca:efee with SMTP id ffacd0b85a97d-3a6d12a15e6mr2690151f8f.17.1750439770776; Fri, 20 Jun 2025 10:16:10 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535ebced8asm65530905e9.40.2025.06.20.10.16.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:10 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 30/48] accel: Introduce AccelOpsClass::cpu_thread_routine handler Date: Fri, 20 Jun 2025 19:13:23 +0200 Message-ID: <20250620171342.92678-31-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org In order to have a generic function creating threads, introduce the thread_precreate() and cpu_thread_routine() handlers. Signed-off-by: Philippe Mathieu-Daudé 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 b1b9dce27d0..b1a55ebe333 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); - 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); 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" @@ -104,7 +105,20 @@ void accel_create_vcpu_thread(AccelState *accel, CPUState *cpu) if (ac->ops->create_vcpu_thread != 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); } } diff --git a/system/cpus.c b/system/cpus.c index 1721b32fc3f..bd3fd1b31b6 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 != NULL); - assert(ops->create_vcpu_thread != NULL); /* mandatory */ + assert(ops->create_vcpu_thread || ops->cpu_thread_routine); cpus_accel = ops; } From patchwork Fri Jun 20 17:13:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898345 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454446wrb; Fri, 20 Jun 2025 10:20:39 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXVyswhw+UJKzIybjoEnIX/R5/GECpTPpZpjqIGemti1p8SbC4Y3UR8j5V0az1KqYLgLwZueQ==@linaro.org X-Google-Smtp-Source: AGHT+IFtEXgzbobLRCfjRGSKX0xOnPHR+Tikg5LsckBkTK+voygS3Z14dp7e16hLfFG0/bCIev7p X-Received: by 2002:a05:620a:1a81:b0:7c5:9c12:fc8 with SMTP id af79cd13be357-7d3f993279cmr461050785a.38.1750440039678; Fri, 20 Jun 2025 10:20:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440039; cv=none; d=google.com; s=arc-20240605; b=dsGlPSr4JrNtdUz4kvnsnTmdTb9SH7JXzVk2NnfqgfCB28+v4EmmIkfAseOVOXHD0T +BqT7SGIroq8eTCCEdyKayE3jPm4gSy4LmVS2xxXya3pHsL3keCQpvhJOcuTjqzImTMt rgyO0bXfVhoPP7KAGhND94+sabqfR+ri6IUmcOXsh1j9bNCSU99ILXckNJQLsmP5w2jC 5rCAxVMr1TtxFJN+GsbSIjfyh4mZcBRPE+W13JSpGTVdvjIVeA/HzrvYnoAPDLA6mn6a C8xN+CFSHPv3aTBIh7JEhvNDKsdf2GJlR+072vBKOv0Hr1joV21vZGY9+7BsZTAXqdID 7HSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=hNDNfI0qG9TUFAdzgUh03+hHn2rhRAOW0ter/WGtavA=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=Z4Od74k7wCjQjdGqDw5FPVKT1eMLSaX93kUaUEQ6E2DKR7MGC1wmsY6aQDwij6HJm1 2ecq6Jc4IQQleR7N4GiqN+ctsdjfLBVwKy5n32rkalpCWiXhavqW9ptUilWhj5EOSh7o hjLvsOL/NoygM9LEwOocwvHgryPv3hjo4VImoJw8N7vh9abHoTzl2ihIc406UlfWsqwI vor+Z6vrQqu1M40Fu8J3WwdSV1wa0DzBN3E9uogZRmrErl1MIle+22gQKs5jU9N7Ps/b UO51i2NtXvyknMZ54WhiiFTumkLvXd6m9uainFXXjLdIctcDHNIwU9qaliiUMdJw3rRn bx1Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZdRVTRYq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f999f3c7si194006585a.6.2025.06.20.10.20.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:39 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZdRVTRYq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfOy-0008VI-5j; Fri, 20 Jun 2025 13:19:46 -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 1uSfLj-00030l-AN for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:24 -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 1uSfLe-0004cq-Eg for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:23 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43edecbfb46so14821615e9.0 for ; Fri, 20 Jun 2025 10:16:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439777; x=1751044577; 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=hNDNfI0qG9TUFAdzgUh03+hHn2rhRAOW0ter/WGtavA=; b=ZdRVTRYqylTzigbeE90Fqm2ff/wKF45Lr118vGnMMOHWyDys0ZQ4A2EAGVbA+lyVKo F1D5WvHcRhLtfCKLsvI8UHHMXXvoRlVy5rcr3OzsaUqDugUMX5mibB8orPFQAD4epmTY xmEOFVbISWGQlzBj13W5C9MaOOGzIEPHFByHzll0j33s7rr7p/yfTkTiOmgWj/UHXQYw nUk6SH7S5JH0XIPPKLLck9yRo7TOCXCScQc3irJiD+6avNwoPgxeOJUMHRWtD4q646Xc eUqz4cuJSULL8CqODpVksRpWzJGUWrJ/LHBUTOKPZ3/II0PnKceETUs3RVeziWQ9kjaO tkiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439777; x=1751044577; 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=hNDNfI0qG9TUFAdzgUh03+hHn2rhRAOW0ter/WGtavA=; b=EMbDlwHQV5kexauUun0GjeDFfuiZeIJ34/aWldKhD3ZPQ01O3/i0o4jKPJmeYqHu1N z65A8sp3EljJjpmpq10NyipepgK2Nw6zXEAHzy/0HBZe2tGudqi0AjIYLIVkCOjuIQEN CGb7fuD9MsvI9gn0BIn0gDXRUfgj3uFzNhNP3WxDnQX88rhdukyQQtJASLRIguqf+aIW V1dDxEL3RC+J1QrmWH8f02Re0AphZoIMwejBfJK5XO7JY+xGn0bAG+0k6dByFGQii7Gb NtZ3Srnvuamvydrzo+Wrbjlm3llLDmwYWq7GdY47wbCES4CM9lD6njvFqahQ6xnd3fm8 pQ5A== X-Gm-Message-State: AOJu0YxsnJRq0ukVH9+lGBWD5ifh8e1rcxH9ibwNIsNxJSaaKT1z/ad5 OOqlh+iG2sFE1yzinLCqXIya4nRjyP8/Wxz5jh66uVlwg5uoVXNGb3LrsqQLHG6NzpZLmtAxb/T Wd3cmOxs= X-Gm-Gg: ASbGncuLzjCo6scb9FZ97ZBybO/9AaTlSgo9+LPvRm+TEnMXvgU902DuiNMd26FRMCM JozZiH+yq3La9E4i6qwVvBnRMaGQlhglK8GkK0qQkoszXV4g+b2+VV1kCATrKE3Xw3cMsovmROI M/nxWF1hxsxkeuN1ZdqpggpDMr1ILK4kwsxQD5+8lgsU49gbYY7cYT/MsfKwmAkDZI9jhbK0hum 1ig0YReV8l7NwsPRGqkhsvk4bAVfvcxOBwkREzPVod0daS0/K/jbj4wPVjZ1/i5xk885IL24xIN ViZ+LCON7TA+8K9HaAGkbwB3dAOckIufsiJr/YhPQUpNSfbIkIA+C65j322sJ6LDTOgo2SiyEaz M9Q+hiw8A04+mkhC7sfVOZZ1YK2QIKuUAGaYN X-Received: by 2002:a05:600c:6211:b0:453:5a04:b60e with SMTP id 5b1f17b1804b1-453659f5828mr30237315e9.26.1750439776584; Fri, 20 Jun 2025 10:16:16 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535e97ac4asm64571415e9.3.2025.06.20.10.16.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:16 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 31/48] accel/dummy: Convert to AccelOpsClass::cpu_thread_routine Date: Fri, 20 Jun 2025 19:13:24 +0200 Message-ID: <20250620171342.92678-32-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é Reviewed-by: Richard Henderson --- include/system/cpus.h | 4 +--- accel/dummy-cpus.c | 14 +------------- accel/qtest/qtest.c | 3 ++- accel/xen/xen-all.c | 3 ++- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/include/system/cpus.h b/include/system/cpus.h index bfaa339dd73..e7ca9f4d684 100644 --- a/include/system/cpus.h +++ b/include/system/cpus.h @@ -9,9 +9,7 @@ const AccelOpsClass *cpus_get_accel(void); /* accel/dummy-cpus.c */ void dummy_thread_precreate(CPUState *cpu); - -/* Create a dummy vcpu for AccelOpsClass->create_vcpu_thread */ -void dummy_start_vcpu_thread(CPUState *); +void *dummy_cpu_thread_routine(void *arg); /* interface available for cpus accelerator threads */ diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 7c34e6c0fc5..c6756252550 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -18,7 +18,7 @@ #include "qemu/main-loop.h" #include "hw/core/cpu.h" -static void *dummy_cpu_thread_fn(void *arg) +void *dummy_cpu_thread_routine(void *arg) { CPUState *cpu = arg; @@ -70,15 +70,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 c5a53ecb6dd..6930cc4cf3e 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -63,7 +63,8 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); - ops->create_vcpu_thread = dummy_start_vcpu_thread; + ops->thread_precreate = dummy_thread_precreate; + ops->cpu_thread_routine = dummy_cpu_thread_routine; ops->get_virtual_clock = qtest_get_virtual_clock; ops->set_virtual_clock = qtest_set_virtual_clock; }; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index de52a8f882a..3bd91889925 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -151,7 +151,8 @@ static void xen_accel_ops_class_init(ObjectClass *oc, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); - ops->create_vcpu_thread = dummy_start_vcpu_thread; + ops->thread_precreate = dummy_thread_precreate; + ops->cpu_thread_routine = dummy_cpu_thread_routine; } static const TypeInfo xen_accel_ops_type = { From patchwork Fri Jun 20 17:13:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898353 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454645wrb; Fri, 20 Jun 2025 10:21:00 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVxQYp17VzXPkdyGhApTRk/ODLvnQl+82e8uNxf1mWTKYBHo4gIo/H2bLkYb7PiYNCtSzjNJw==@linaro.org X-Google-Smtp-Source: AGHT+IE/8+Rpkz92oFRKxOOAIzV8dpDfaOcj5IekRZ3LeQF8hIRi8rU1lQGHa32i9LpDXUtx+WM9 X-Received: by 2002:a05:622a:6182:b0:494:993d:ec30 with SMTP id d75a77b69052e-4a77a209431mr60723041cf.16.1750440060346; Fri, 20 Jun 2025 10:21:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440060; cv=none; d=google.com; s=arc-20240605; b=S6gUXGn6XrsVFs6dQrCuki9edfHp/tovbsfKlkAWTlOa6AeWVmKlH/ILGOthCty6Wb crRqDn6uSdBpnGM+2QYZUv8EBX2fZntSGjjn6csfBjL3xLe/HvpB2alswpPL57voCE8v wQBTypeOeInvMWF0MEORByXeo2Nck7c6+IdSTF9xJT3Dvor07aaOQzdORDOs/a5hR9xa POJauECydqovmyYMktmFtl+pb5htgufsL52Y1CPlonT5vQHkTafWE3cXtXF6nVLMbx2J gnmpzYnF2FgYVUxzgCsP3g9ysaaQ68BvttGUGKYXCXxyGFBmU2IygfjakHvVH67rXGPw wqag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=OeMttFNHwCeQPAcqGb56M6LDjrMo8+04+qvCxL+KWeo=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=BNmsSrU6ji0SrLQRJMx2N2u+hhdkh2bxu+hTCJkTddP76rSj6tERcY5u+5q32+mKxc fHomBbfUKnRakK/jcGaegKQcGyCCe+CUYR6bae+j2EP59FbAzUFcdz0YdgSo1EbIK+87 8WbDDwEhLdocPSi4j8FkFKDDKe5mDgiUyiElS3flZ70mMdlR3EiiTjg5hgJbwVnQRq4D 81uIsMi5RmtTxqAVC1YJRPDNGWeAiR1oimHzs0II9lHTqBNKON5P6MjjQloOMgo4F1ED F3LjcM4oHS8P7XB76bfxsc5iETgguRE5S4qQ1FwvtvEsgMmRVjuWuzIdG4KLwNsCnrLd 7MNQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NwG5zyvm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a779e992a3si21347441cf.259.2025.06.20.10.20.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:21:00 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NwG5zyvm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfOh-0007pm-Ql; Fri, 20 Jun 2025 13:19: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 1uSfLk-00032E-UP for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:28 -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 1uSfLj-0004dM-8H for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:24 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-451d6ade159so16731745e9.1 for ; Fri, 20 Jun 2025 10:16:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439781; x=1751044581; 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=OeMttFNHwCeQPAcqGb56M6LDjrMo8+04+qvCxL+KWeo=; b=NwG5zyvmOUubSF3HucZX2+lA8537sGMUX1W0UVXD6zlTI+F9MUdkceB1z4BwFFGZdr Gye5NyDSKGLPst0kSzOsxgDpzRCf1hDpVemjAozULd/73V6KnfUJayhU8D7weihyFYBv gDopU9uooU2f9RBvHD2nb3qJG0xf5JDZF5YBdGJmrZQgi5OsK4ZHAvp8bTwTMg9UynZj zYNwDKP3grWWo61WDFs04bkBUwau+Q4EmhXu6W8bS6Z+n+Co2SC8pLrl+Th53yp35SSv gwBajGyNPyr/8hiZYSn1Gq6Wqhgc65ANqh58he3IzMKfieFO0mvoU3/Xkp2qqWf4v7kY Vjaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439781; x=1751044581; 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=OeMttFNHwCeQPAcqGb56M6LDjrMo8+04+qvCxL+KWeo=; b=n3uEQhngwdfhRYe4wELkBkdFI/b6Mcqe9PdLk4PEnGwkNyLleAEYrglgPnwCTaZBlU B5iiC84i7XBKnfE2mJiRGlVVs75NAoC38XrsfeNMNE511q4gBLqQwQOatow8WO/egz9A qQCH2JUM8GJc0qbC+6vHEJgYYyTYohs4YjPt1jJZaf9QQAPaexY4HGSG+KJgKtScjrCW W2isD6fg8tOK3qUMHxbPKB6RG15ITUjvgR/QproiE4pFznYSzpJr2VsyUiVb8zEdjnRA ED06X6hdEBKcC23kMyKDfs19oJmjMacpFR6jOKGdiEHF9yCy4yh3GOlo1XQG/hbZhBeU NjoQ== X-Gm-Message-State: AOJu0YySDgmmYJg7jBPDcce0JgZrUDryXOqRfmNQnN8p9nRqj8YZyIMT lsLBEiBdM5eXpAm5RAnhQPVBwnObifcP7aElXEwv3p5dp3/U7j8G004naWY4Px9WKRlDRDdOA3T 0cqT9qPk= X-Gm-Gg: ASbGncu/olLyOLCvs4gmDf8IM3aDMQN3imnBjf+AOtA0y8ewLz0g1WRydP3NW08p8OJ rudtcM/ePQKFGPVI9kxx1Vh9SRlorbCvLtlAHWvGESPazTHQrrOE3NXAnwgiyHC0PPbVwzsg02Q 15BXxCysXrHeYUoT1UaWCfMbihgUSwRDqHpTg/hd2T8j92CvIdIVVrRmtRIXTKLHppNVZUM9Cz6 uwbBXa90gDKzGVNMqU4FEkSfU8YHzGGGbVP/tlY5X0t9VeYmZFxY2PfTc3P6G+NYjNxadnKhWJH XvInsIc7vSDn1CNWFLofaOPOHoIWzyZHRhQDiO7LZDhg7zbbeQbDQUVN/o/QqfzswRJBz5j8RBM aSXKvpdpJ9AetipwmlCJWieLQFWR6pju1mvCY X-Received: by 2002:a05:600c:c103:b0:43c:fffc:786c with SMTP id 5b1f17b1804b1-45368787924mr13935475e9.19.1750439781406; Fri, 20 Jun 2025 10:16:21 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4536470903asm31693965e9.40.2025.06.20.10.16.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:20 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 32/48] accel/tcg: Convert to AccelOpsClass::cpu_thread_routine Date: Fri, 20 Jun 2025 19:13:25 +0200 Message-ID: <20250620171342.92678-33-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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-mttcg.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); -/* start an mttcg vCPU thread */ -void mttcg_start_vcpu_thread(CPUState *cpu); +void *mttcg_cpu_thread_routine(void *arg); #endif /* TCG_ACCEL_OPS_MTTCG_H */ diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttcg.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. */ -static void *mttcg_cpu_thread_fn(void *arg) +void *mttcg_cpu_thread_routine(void *arg) { MttcgForceRcuNotifier force_rcu; CPUState *cpu = 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 = ac->ops; if (qemu_tcg_mttcg_enabled()) { - ops->create_vcpu_thread = mttcg_start_vcpu_thread; + ops->cpu_thread_routine = mttcg_cpu_thread_routine; ops->kick_vcpu_thread = mttcg_kick_vcpu_thread; ops->handle_interrupt = tcg_handle_interrupt; } else { @@ -222,6 +222,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->cpu_common_realize = tcg_exec_realizefn; ops->cpu_common_unrealize = tcg_exec_unrealizefn; + ops->thread_precreate = tcg_vcpu_thread_precreate; ops->cpu_reset_hold = tcg_cpu_reset_hold; ops->insert_breakpoint = tcg_insert_breakpoint; ops->remove_breakpoint = tcg_remove_breakpoint; From patchwork Fri Jun 20 17:13:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898355 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454814wrb; Fri, 20 Jun 2025 10:21:21 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW+WtLue5v7JkK1RCAFYfMMR1RAPM2GEoRPolPzw0C9ALthd/XlCyIVBMsNH/I2a5NZfbj0iA==@linaro.org X-Google-Smtp-Source: AGHT+IG5oSlQ//5+iHrUL+wqQXUAUVMGTOa6u/pLfVyl2Y9NBYk172xUrQL795kKIVhED2jE30k3 X-Received: by 2002:a05:6214:2463:b0:6fa:a0ac:8d57 with SMTP id 6a1803df08f44-6fd0a473bd5mr56222226d6.12.1750440081353; Fri, 20 Jun 2025 10:21:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440081; cv=none; d=google.com; s=arc-20240605; b=jK8lI5RHZ1QIY63wQRRgA0qhPtzM9RcDWRa3KbNshq16a6wreeUCOsnRVe7C9kRpYg fIKTyhLZGEeHSpMpVKixL8EsjQUdCNPPqoLuJ+gjVHuYS5Irk+zey/T59ltJT3D5Lctf FVMOZQWbbO1teb5bnuzZQsNrdTb38v0Iij/mhwsbNLDIDf/D/Swx+sRJgwHWBdKYIH0u MuwnmgjwHHEbSfSItQm9CbVnsBEiad2IC5G1M5UaNcWNRx76UsQhm2xCg8Za3FwnqtcR s2PAvXiY8PG5TS90pc1kgwKOTQHoShQYLilKAZ+vvjA3xH+0gKJVLovXwUMO3hCmOxSR J98Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0chn/PFHrz+xSOI0jlEUFPBGrfliVmmZpEFFKJ3P4VU=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=N0cWQpysoKaeAa444Fza6CR6IW8N3A+p0DeU0YaAED9Ht3/BKbPTIMg2R+/iWL/SEo zR4ip8uXLJUIR9sncYXx7QDXBHtRLoAYxG7UeFw7Lth/+ZaGK66xGEcBeR8nLDyMRjHQ 3mYsaaQ19+a1ED98AcoIGm5YnFtSSosUXAU2Skox+tfSAmOIwQKGrUVZsXXxwugVwHjf lzSmAU4N5dWFpukqIKyNVUYMrut4l+tCcMmvY0rBDWfxGpyvOVK0zqabF2bMQ2LERl7b /KBSinouCMTR/P/1gK3RWbyRTdtTrEIQzbVCxSYRBgxaWca9EtJthgTqQzlZbVLdlLD7 im7Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WDqcsAy+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6fd0943af3fsi25205796d6.132.2025.06.20.10.21.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:21:21 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WDqcsAy+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfP4-0000pi-DN; Fri, 20 Jun 2025 13:19: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 1uSfLq-0003Gf-RZ for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:32 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uSfLp-0004e7-3I for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:30 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-451d3f72391so19857125e9.3 for ; Fri, 20 Jun 2025 10:16:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439786; x=1751044586; 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=0chn/PFHrz+xSOI0jlEUFPBGrfliVmmZpEFFKJ3P4VU=; b=WDqcsAy+Ryi3y8F8A/VXP+hj66yqJoMUvMie2dA8ZXjbMEu8H5oYezHXbhDdlZ/kIU 6qnuejBDFhjeH1haxM+UjHQhw56pYARYTLOqG390qOW5xJOE6Bp0Vc57MxEn9G5nmLE9 B150sLiRp7sXtokNctkpM49hXPb/T2wWdeWh988DVLnm07hH6q9ap/m8RAAmnwAbLoEJ v6VrPPQcMJIoLO/H4x490LAhHPF15Ci6uWbWDK9V9dDzKTuqvKEGHKFdatJhJJFBd6ou S2cvJxRUqMv2WA//akNlm9v5nSEGX+aPg2i2MJ9Xo/y7dskMm6nyLaA4w3DGg2zMX6i4 N7pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439786; x=1751044586; 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=0chn/PFHrz+xSOI0jlEUFPBGrfliVmmZpEFFKJ3P4VU=; b=Kykt3pcfhcOd1i7bwF40LcYNxB7GVmVtU39D8tWopE0czCoXZ6Tp1+ZQkj+0CpqJrW Ar6chJg1ZWscUJaNt9GlIS+nCP/dldVLt7yhdQzHHanfqrcXpCWTXIodVtOz7d43uFU4 MJCImA/8Q7s9SYqSus+sKv67s3+XD+tEjpVkONItrWP2r4WEl5HJRJDNIpDAYlkjlcKj gUfeELhwpUVJbuaOK+WfosVQIeoy1K3dI2VCfazOQ0tDDBNxzCatuejypoS0qnBMceD5 Odi7hHAt1elpg8gcESqNZGC6fwU8RQJ3012fTtsl5FaLh9UscmNWNlTyZYwf7YbCfzCo eY8A== X-Gm-Message-State: AOJu0YyugwkZIfNfvSRIC1zBO8vh7Qe9YSif8L30fS85YpvCOrcaBDzf Z1nKOraABbUkbplT5ATXmxvR//vJHBG+vjaJC2utVWOfFJKbSaCffG8qtSrFiXOOHujA0++zaB7 UcsnlS0I= X-Gm-Gg: ASbGnctsJPbprz1wLpKCAGZw5EWzrLrTUDzJ9lZrgPpH8SqXLjawnRW10nmGNfXYmhW 9XK3nASs16RRLGr7E7mTpJEYKFHlCxlPXebo5gzMh6pXDTfdBTJ87HiP7D27uVVH1269Rb6Esq6 rIkM2YIX+LLWyvQWcFKfs8AuvA51xgCvSbldrmF8K12EpHLiMcE+Jkynd+oP6H/c1rMt5LUt8SX ujXfFjc0weJPpJ+WTLciWh61aqJMJhI9/BJxjsPAopRWwtkGbyxdmLe0IyQpGlGkaJUpQ4bNryh 4hTCCcZNxyDV0YVDDS2HgvuaPgwjpaKJrdq/2te8uw4ecrLRPjD5Z4jJYK8jJUx7BsdjcAHRHMN r203pUaMqaaO+09VgI3V5Ulu28MM7bOQKN8r2 X-Received: by 2002:a05:600c:4fc5:b0:453:2066:4a26 with SMTP id 5b1f17b1804b1-453659ee9famr37781535e9.16.1750439786198; Fri, 20 Jun 2025 10:16:26 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d117c66esm2501112f8f.47.2025.06.20.10.16.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:25 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 33/48] accel/hvf: Convert to AccelOpsClass::cpu_thread_routine Date: Fri, 20 Jun 2025 19:13:26 +0200 Message-ID: <20250620171342.92678-34-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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 78bf0ac6cba..6bf7fcd7331 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -471,22 +471,6 @@ static void *hvf_cpu_thread_fn(void *arg) return NULL; } -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); -} - static int hvf_insert_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len) { struct hvf_sw_breakpoint *bp; @@ -605,7 +589,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, const void *data) ops->cpu_target_realize = hvf_arch_cpu_realize; - ops->create_vcpu_thread = hvf_start_vcpu_thread; + ops->cpu_thread_routine = hvf_cpu_thread_fn, ops->kick_vcpu_thread = hvf_kick_vcpu_thread; ops->synchronize_post_reset = hvf_cpu_synchronize_post_reset; From patchwork Fri Jun 20 17:13:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898367 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1560331wrb; Fri, 20 Jun 2025 15:19:48 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUpkGfy0c/2IHyMa1c8pEsIEfwB1QeyCvDaq0BRtpzjeawgZR9cQBd9kDc7ir/J2Zzxq3o4BA==@linaro.org X-Google-Smtp-Source: AGHT+IHc5/Qz/ezCs+25jbBwCE4YAt7pWmtnSbvdZ9scn2BiVBZqySzCVU5TE6Gm+mg5SyY4rmpV X-Received: by 2002:a05:622a:480e:b0:4a6:f098:f7ab with SMTP id d75a77b69052e-4a77c2cbff4mr58516921cf.4.1750457988701; Fri, 20 Jun 2025 15:19:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750457988; cv=none; d=google.com; s=arc-20240605; b=NXboFUTP4IgwGNPQ6VLPfKxRvfrgw9Z9PUZW9VjCLRsolDwPEEgIuFfe9Z0xAJO+uf KB46aCIsn+OVOwA14e2uCtYze2WBSd9pmDrQst7ISPpamwRFzxN1SKtdb425/lLhDY5x jMNKrLSJxnlzfMW2DCiZj/B7+fU7fydTGpw+SVrw4ligmKSQAeHt+xHU0SgyL2HU9Jpm zg9lPNGEbIvUCVFLq4QJM5ONxOplRYA4Uc4FNonMkb9Y/zulSxa4mmhFV1/sfwrqlYu4 WxFWfUfGYR5V+wfN02Toqns8tP3mgx8dWSVVIknNkngDpE8ESG+3j5FvHgJla/TjAcrg QgQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=6pwFDlvrd+vb4/dGkDyGi9U1PysLhBqAntF0fNqeB3k=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=HYjNc2ft8iNiNTGS/qmtixtKBfQv97VIt9Zd0ZSlNnoBa4rpi8LRmG/rm92Xm4wqM1 US4JBnEXkwosAZHpRAr9TgvMx8fztnkMX2nnK8ejzehvVfaDEkb4LTUKAuTEagWRGDo1 aS0Yo8PT0LGezKg8ESvk9LA8b/y8o9t7t/c7Dm6RG+Y4KJrV1qd5EE9NIgAVN3rLVg1m R4f/p4jsgMHGYIw5yXZtHx7J9nfRowdWNTFBYyA3YWDQbd0SvDAgn2sXFlC2tsFI/U9f bMSo/twl4rNn2SgLby5uh+ml3jP9eRR26Q8SbSCbwxG76fbBA6o4445ZaAxrbZECbidf tZDQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="Xqt/ltOd"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a779d48e0dsi26630771cf.68.2025.06.20.15.19.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 15:19:48 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="Xqt/ltOd"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSk59-00027i-QF; Fri, 20 Jun 2025 18:19:36 -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 1uSfLu-0003MY-Nt for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:35 -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 1uSfLs-0004fX-Uu for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:34 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a4f71831abso1780261f8f.3 for ; Fri, 20 Jun 2025 10:16:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439791; x=1751044591; 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=6pwFDlvrd+vb4/dGkDyGi9U1PysLhBqAntF0fNqeB3k=; b=Xqt/ltOdLFWAfoaURaz8fULKvmbuXM+ar1EdxMQo75xIKjujmt3zG2Iskjcc7i/l/7 Qx/mr9S3T0s4+wuIVMCeOFf2Qn49iYElL9kCtxjVJ60e/5ojFWSsGDhx4xVi7snD3fxz PgzoPB0GRL4SrdFW+Y31No9TYJA4iEQWg2HoIoZ6S1NRwNTLFKloHuvjNr8KhEaKhjz0 imUz9iv2AJx0NbdBmXS/+1JyYkOo6tsDaaMYoxH/h/ycRvsh75Usya2pJXeCxpV9T1O4 VLAI2kwuv/L7mKGIAoyQINn07qi0aYr7q9eWn/v2NwLhcPnZqdNlcic/LORBIzcHNe8a bJjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439791; x=1751044591; 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=6pwFDlvrd+vb4/dGkDyGi9U1PysLhBqAntF0fNqeB3k=; b=GCONmWLs2Irn/AiAGO975KIYU7AV71uF4Wf7D/HGNkEQpn00+wjH3fRcGIkcfFIeOl sz87BPdclAfezvDvToIuPj1raoJ2J2UYVRYIncXl9rT6DU46gTyZa7M9bm+WPWJJaNOU VIPny4+JOfxbPRsui0QEETydDBedxRZYU2BmzrpztmD83A1SxPLZfPF1w4hMPOqRIBba bBK6V5nCcER1IdT4Y8Yml063Mmd4czuvUcf5bqfCjbg3nMfAwRZE/yAmxCMN49cZ91t7 4B5mfWmVKL3FGB9yMKX740uoxjyIqlKbdLlclgn3hJcG3cDLVcXZgekVFQxNurq04Hmk 66dQ== X-Gm-Message-State: AOJu0YxXU1IpTmcYjGOi0EMkrTaYbgsJJFibF6CM2/BXPQGVmjDxeKwz Iipx4EX3oud5IJE47+qGkR1AVhn11GunwILK0NM96TpSBHjgsHAvo35PxobV2cBbBbunVqFv7z8 3TNOd4I0= X-Gm-Gg: ASbGncvTIvurmxN0gHGt8jMKaIeSY7IwwmU2TFHpETAsohadSb2FIvYKnklaa3Wz1Jo 6XdQlJCVM5yuQHOF5/4Pl+bT2JLgLf3afC0bKRDGRX1ACXOT3xfOiQJPglozHuvs1FpxJJhuCpg R9G5TEZfuFQ8uk+/Ar77Xb6EEiH9CgP7xTAD2nATpOJG6UUAG/vKQ0c4Q6lKJQY7ixPcyJ+FP50 yzq5dqxx7rwuG6TXWyOVzlzvKFyy1r5Fo+NZoTdoNzIT/kSnR4/AA4Qj2/DSx6+bUY7nmLUo5q6 EEvGxxfYHA4gJ4COyqK2HejIHErVpGPY7+QEgPcFwFb1FYtCOCzstN+PwcnY3y+shaCTuuZb8Kt J681yXGT+jgU6IntjlxP/NuBm8owh1/FyN3CM X-Received: by 2002:a05:6000:4109:b0:3a4:f892:de7f with SMTP id ffacd0b85a97d-3a6d13071e8mr3073816f8f.36.1750439791043; Fri, 20 Jun 2025 10:16:31 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45369eae840sm4090215e9.38.2025.06.20.10.16.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:30 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 34/48] accel/kvm: Convert to AccelOpsClass::cpu_thread_routine Date: Fri, 20 Jun 2025 19:13:27 +0200 Message-ID: <20250620171342.92678-35-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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 be960bde5c4..21ff3af306f 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; } -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, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); - ops->create_vcpu_thread = kvm_start_vcpu_thread; + ops->cpu_thread_routine = kvm_vcpu_thread_fn; ops->cpu_thread_is_idle = kvm_vcpu_thread_is_idle; ops->synchronize_post_reset = kvm_cpu_synchronize_post_reset; ops->synchronize_post_init = kvm_cpu_synchronize_post_init; From patchwork Fri Jun 20 17:13:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898346 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454456wrb; Fri, 20 Jun 2025 10:20:40 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVL6FrgoNvjWKjvGAHFAgpG8/1a7xZUjhg9sJ5lWjvrjx9vCeWqIBjagywuTW5Al2GuI+SERA==@linaro.org X-Google-Smtp-Source: AGHT+IFYwvf0Y6BLrK6yBjO2KlHWz08P5hgCSvMZCjJ+kBs/Z4LrAGyX3Y5nTt0FOGM+U3UqmaWP X-Received: by 2002:a05:6122:3284:b0:530:7a17:88ce with SMTP id 71dfb90a1353d-531ad66084bmr2532351e0c.9.1750440040393; Fri, 20 Jun 2025 10:20:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440040; cv=none; d=google.com; s=arc-20240605; b=lRjTgYkUEjiMz+MlLnsFJHLBxupFCyC6oeSUuDlpjuJzmb9aBwwh+YkGwuiKcEl28m 0qq3L8MiWG8vn5SIBudtetvxsvMeekiY8kc+jeEFZfW4wuXehJWEIfPhCDDsdeQFo2MQ e+Rj2gI+4WBsz1/sf2E4F4t80J1hTdEotO0F4PB6MN2wb7D2pUH7Q+R/7BXE425rYuYG 9GsuEtVOO0r2gAdYTE3dokXIPu8WM5+SzAURHU96DHaP5A4fq5TU1fNlkCvnBL0yIi14 3UJSMHLcc84ylDrCTjCVkm7b/3A2TfE8pzrjctWyUzRQVKhutUYr6rJ/v+IP02eEkZ4z bKUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=bscCZhJPor6p9xOGYxKsyHkSJQbAuOk7LsWMwFm7sCY=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=HxQRBCw2pRgMujBbKcVPGEEd+PaBtCaw1SWY8QoCsJ4oHNtAobvYrKjx4jLyOuGey3 18xOu0aXbsy4BfR9/ncsJ+l5pdkv7HRHnDeSSwe4QvvONuj2CIm9fRKKtNPPUDDdMDz3 jo84YpxgQ2Af1GuthhfJSvTofjm5sY6VaR1roJU+Tc0eKylA8zZ379rUA4pqknKhrKeb slcjgxjSJ9essMtkJMnu9ySpbzBlKpPEsn0P5Sj+5BosFetcyL02nlPxxtbX3lNI95Kp ofoB6EJjU0aMXE8DCWlzY6JqzdLmrTkV1BJ+kpmmnu3fmtdrGvhpBcy70DIEorDnX+vv jQow==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NRNZLHw4; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id a1e0cc1a2514c-8811acfd04dsi412271241.45.2025.06.20.10.20.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:40 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NRNZLHw4; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfMj-0004qp-KJ; Fri, 20 Jun 2025 13:17: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 1uSfLz-0003Y8-SA for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:41 -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 1uSfLx-0004gB-Oi for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:39 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-442e9c00bf4so17094225e9.3 for ; Fri, 20 Jun 2025 10:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439796; x=1751044596; 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=bscCZhJPor6p9xOGYxKsyHkSJQbAuOk7LsWMwFm7sCY=; b=NRNZLHw4/c3rizi8krRI6YzQwaFqPBbZZWLKCp2aHXE675QRht6WGMVkShK6W9+VkJ mqoh0HOrprJuPbObSySYzPSf2xFStyzTTjjLJXxRWNiN2svgoy0Xr30XSCPBzG6nK5Af nFuCtFhuxlwpMMKY7YLzHjBsGH/daPDvnViCLDcwtpAK810vtngW/79mSDyImiKuqCkc 9ChPNQbZ+nwr5Y360VrbxDyU4nhS71oogF5LqblOLvPWbwa7v71Xkuh1r+5rNd9MLMl8 DTBqDEmqc3t7AbHa+8VwIqLlnCHP+Tyheiw2d0CVyJiBFBDjuwjmAWYJAC/C9z3Zi+n3 V+uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439796; x=1751044596; 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=bscCZhJPor6p9xOGYxKsyHkSJQbAuOk7LsWMwFm7sCY=; b=RmMrLMJhXQNRhFLyHnr0Zraz8KDHd5lppf78IVd84zZ5JqI/+cZarDOQ4127VucasS GyBfbjU8ehs9hrHFsO3yuvGi3JU1GRCsyykzG2IFKUwkvTAR+6U/ECZAdKXAQ4AGldcb qbL10mHpTNnMefXVRYXPs/B475KAKlTjeXRM5ejlbZ4FH8F8zFV/nFYPYjGmF0Y0BQvA cgkZ05jNCD2zDNOVnim6hjDY9PYVGrVQ4Ry1VuDxmNHGdoTrxI2paNnWP8KdRKjAXayA cmky4OHzcEYMAK1gVYFB76PcZk1fyyJY7/K5NbH795IQKBHRksn2M5inf3izUdh8L7h2 DkTA== X-Gm-Message-State: AOJu0Yw+PjfLOKXfFRnMofUCI8aCxs2wtuSq1Fs142APa5EWOqqsj1s2 P3jIqywJ0RnUtvGUM9svFCaZKruuwvbz3R5iKTtVRNbA++3DKN3xcuAyUlZ9dXDAKICQpxPfkPS DEXxP4s8= X-Gm-Gg: ASbGncsLQcXhTiwHibmtueq0tQLVfLQ8lHtdHpjlaDTi0J3hKR/N0ALBXWfxr0dz72k bM14poJg5UZwfLnU31c7S1ffX4Ala3b4ZbonXW8PR5RbXaNA7+PtjuUs9dvX1mGHll/jsdb20OI soBMJ5TBoZysbMasdxD+j6/1Niq79IbPMyBToRK4z2DE8saviDsk6ddVinBEgLRt9B55yzeYDYI 50tX3lK9KO9ol3e8C1xw1yD6ougfMJttZHsgynQNTioc8YUVO3xVC3Dkn9CiTXH2WyXj2qrhgK8 PQGDa0ragOcNCl2b6z4ej9ATw+zR9T9xHNseUEvcO0QrHZ8Fdw/IKJcES3gY9k818E8CcZTZi49 6wi3RLpDWJuKr0j+e7qnilG9AOSMRxGOdSAQOCK/oi74+TA4= X-Received: by 2002:a05:600c:3115:b0:440:9b1a:cd78 with SMTP id 5b1f17b1804b1-453654cbfdbmr39329235e9.10.1750439795791; Fri, 20 Jun 2025 10:16:35 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453646d14ddsm30933445e9.10.2025.06.20.10.16.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:35 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 35/48] accel/nvmm: Convert to AccelOpsClass::cpu_thread_routine Date: Fri, 20 Jun 2025 19:13:28 +0200 Message-ID: <20250620171342.92678-36-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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-accel-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; } -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, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); - ops->create_vcpu_thread = nvmm_start_vcpu_thread; + ops->cpu_thread_routine = qemu_nvmm_cpu_thread_fn; ops->kick_vcpu_thread = nvmm_kick_vcpu_thread; ops->synchronize_post_reset = nvmm_cpu_synchronize_post_reset; From patchwork Fri Jun 20 17:13:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898354 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454734wrb; Fri, 20 Jun 2025 10:21:12 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWFUPIBSrzCyxgxf/QGUKVNZ9kGYQlLmlWNFo7dTL1RpXNzTIaxi7kDAQQh/w3KljQJGkXjRA==@linaro.org X-Google-Smtp-Source: AGHT+IEeLXdgb48RVgKn+dSQ7D+d2e8vsd5PBcXeWcrOy0KbtLvOiLAgzPxiLoZhI9dLSZwibXX2 X-Received: by 2002:a05:6102:2b8a:b0:4e7:cdaa:ed60 with SMTP id ada2fe7eead31-4e9c282f84fmr2396647137.6.1750440072658; Fri, 20 Jun 2025 10:21:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440072; cv=none; d=google.com; s=arc-20240605; b=Y9bvSws4N0W/5TK4I2J6FcXOeGYfshmazwxYEW/jPhfVp28xjmCgWzlAtrRMPuo9CD r+Yy1Fi8gwmHrfpNg2FgVAye7zgfXy/Cy4Vrf4mQCzSy6ObccRUcrZJcpAw+ymz6QL0w Ja6vF1LJPtWW9qnfWM5UocMJ+WBPsQV/LVbb4WiufsjHsk82PiVX/R2U2WXQwHV3mzZe 4P1YdBoEXqhqqGj9fWF17Lchrh+Lbqf+d196wV5jUNpDB9eHv7lpzH7Sqv20rvaGS2fU h4mdNpi6MBPNGPfi0oXJrNjJODkNsHh41pPVSaTtNDTf6YErmmGnLIlAWm6AJ+ulQ4kj nnGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Y7Q0I9KRKGwfpnxMkCGWptv5CW/tc1a4iSXRbv+1UdA=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=HmGX75w9zkNlVXxHUhtA41H70gILTnYKYj46bIffDBEbB+aVX2yd3UYQRRVB/DJ4Gp fTW9XyL03XeUoRUKAipqVna2QkCeO6SYij6vaL/8zBKeidvX/fTN/dpeLry4IV795wfc Iccu29KzDwxyfcMKkgORsE+moSzD1KU6wndf0ILjLGunGWqV6yPrCs/+5fYXWLxv0TSL d/WHwe+n+fEO6Y+VIjZk+HH03jrR7QeCUrLec6Z1TluCmwgev6l61kRNcTu38BnwblER 40p/jKMHQsnIzwcEcZ63cOy9E17FwE97pbqLUDJOzP3jRY1etzBL8fX1E9pc7FWLAQHZ jHcg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=aoV4RINR; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4e9ca16eddbsi404610137.308.2025.06.20.10.21.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:21:12 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=aoV4RINR; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfP4-0000mr-20; Fri, 20 Jun 2025 13:19: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 1uSfM4-0003hK-EM for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:46 -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 1uSfM2-0004gW-Hq for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:43 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-453608ed113so19672415e9.0 for ; Fri, 20 Jun 2025 10:16:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439800; x=1751044600; 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=Y7Q0I9KRKGwfpnxMkCGWptv5CW/tc1a4iSXRbv+1UdA=; b=aoV4RINRYnY/wnDNJfpBZPiokqmHIbQcUDTDHS2XzqQMrjV8Htm9FhIeJafksg2Vdd Kf5qT3OvmmojG0JHOcL7wQtT/xjWhbWLrlyHYShnKe9LdlS0O/31fPJ0w2Og2D93qsef MWvO0Z86xg00gJQncoTscFYyW7CWAMrQdhHQZKPBz0IK0BKlzMFxw9BJGtTXFUyE82ZS Va//BHHZ8C2g1s5ZWPPTXaun87ig8pRWQA7Q9d4G5r+TvoppKP/6/HjjMu1R+OxIpkYk jJIiPNJuaxEslywBJAbUNcLrsLHBYBPtiPxOltN0eGpd7+3fWQ31WsduJ2jWrFuea2/b 5rjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439800; x=1751044600; 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=Y7Q0I9KRKGwfpnxMkCGWptv5CW/tc1a4iSXRbv+1UdA=; b=MQjQFHTvi+SoT3wZA8EodqtVNzGOppHEYrhwsmr3nBL0Hp/l1OR1+nwvr3e594S1gg IeJ27L+E2xCPSYoq8vG82Hsvw3lRxzDaBp4YA3uQ1JCY4vgAguZ0dMQx6EwmtZzpAHcz XEU/whEf8v6yzIb5WkMN/hrO5vySaZD5hU/IdSH/xAe+en5wz7me/QcCr2Mu9J0QKppc eUPAN3LomWl/7liLAxvCujfnsQlw3nY5ug4yxM6dL76hHin9/n1oNPRvbuvnHqoPePtp Hxfs75fVFalbZ5qONN/x8jROzAWRUdPxqLq85pJ80g6rBYxFLReYdr9DpKjDl1ptfy+T rGeA== X-Gm-Message-State: AOJu0Yzs2rL/onR9KD5q6ysjYQbgIWZmdxFUm4/6rpG7EnRhZQtgseP8 GN9in7z6snhWkbiTzUX8oM/WfUziKEOVnqF4cclLGdbncYCSM7ZAYo3oPE493AjyI8cfVMCdLGJ wk2oY8qw= X-Gm-Gg: ASbGncuWscahf6u+ZpHGrQRK/u3YWifqIu8hFwPDaAPm0OcwLTTyQ/mem2mY35l1qaB YEWBQJ2TTV4LAu/UCDEuZs3fyNgp0j0uS6O1TzkJESXYfqfBgMBfFMYjhw0aUC5pE/2WfA63tyL vh8SbbtTAH6uXt8+PsIY5otpAOj+IEW6ZNAb3grL4zGivsvrG4cWm6lGIKsVEi1ivaThWglWOXY lyrB2L/dcHBLRsT61vLcd2ehQEIZ0GpDxpEq5O5NYKN6+o9REtgRyohHt7sPdctmbbWEetFytj5 h8NoEmbKPWiym/zcPXhypIaxr199/1li1gS1oUdJht+orrZKA8PAWB2X1UoemupCrD1N7rg/4rm iX2LPNcjBcfKIpUmqnmDIK88S/WfCCyA/ndUT X-Received: by 2002:a05:600c:46cb:b0:44d:a244:4983 with SMTP id 5b1f17b1804b1-453659c4973mr40974665e9.3.1750439800499; Fri, 20 Jun 2025 10:16:40 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535e9844a9sm66315435e9.12.2025.06.20.10.16.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:40 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 36/48] accel/whpx: Convert to AccelOpsClass::cpu_thread_routine Date: Fri, 20 Jun 2025 19:13:29 +0200 Message-ID: <20250620171342.92678-37-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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-accel-ops.c index b8bebe403c9..c1b27d1b89d 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; } -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, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); - ops->create_vcpu_thread = whpx_start_vcpu_thread; + ops->cpu_thread_routine = whpx_cpu_thread_fn; ops->kick_vcpu_thread = whpx_kick_vcpu_thread; ops->cpu_thread_is_idle = whpx_vcpu_thread_is_idle; From patchwork Fri Jun 20 17:13:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898350 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454474wrb; Fri, 20 Jun 2025 10:20:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXCFincLH0q2ianNb1opLFOjFasBr0NDgqbGGh26A+RUZNZWkvAutJg3c4bPtNRnCybwHKEFg==@linaro.org X-Google-Smtp-Source: AGHT+IGe1k3ztH+S9PcQhgddrOBCma54E7ectqh/SwHBQfjBik/Ld+ewPre+A5TkJqXMso9Y6a26 X-Received: by 2002:a05:622a:4d8b:b0:49d:89bf:298f with SMTP id d75a77b69052e-4a77a209051mr59519321cf.22.1750440041585; Fri, 20 Jun 2025 10:20:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440041; cv=none; d=google.com; s=arc-20240605; b=Eu+x4/tt1l4YJGAvwK/QoHaOrOWyYKjvERWxElDfeMWae8agrxlSxU8FQz+f9ZJ86S gpYxalI7Nplts9+uu/ANQzqUFweNiLh1Aa9ZEzTMuc5Ko4mmltnUQauzJRZBWfNIUhpD 79AwYkIAOudDCi9l4N49zIK8jZgNV8hXE+0BMjLjrzzHbviePmTkW6m+bLx4bNyeZn45 h5Lp+gZBCYkO+kJf6IZY4Djlt/KhCD1NbD/9uSmtXMHVvAUY8tJhIAEVqOyxhSTZCCqa /VGfO1y+dL++/k9yRHawOBp1f0+OUMMeD3ucLffmZfa7g9mgCALbIN99F9RQ1C+2MIKP h/XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=CTeMJjNyNvpDzcgK78dXTDRXnTQKYPQw/ldYN09UYyU=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=IL5+nfc1Y7G7DIiVOFqo9TsKPEcz+kr4aBUKexyDpk9j1+2EC8uT74UokNzMuK+bJV YUFf7fTV83DhyzeVVhRFkW5zN2argTX9hqs7tP7Lhl8/Gf7vvbiN3MbRF9in9SOTj5r8 g6WLVt7jDlbRBAb4JaHrrGLXLbWPH5CysIg24nSRAJcyd7V/+l3L5B0OV1VxRB3K2lqx q20Dj9Pol1yIiUtlKiJ1OMpIEXnl6Gpb5CTzn8ayf6ZdfdgwGu7wkZaM2DK8H9Nf5nCh mqQLK4ARQzlCPybWcwPlNXhuccjApnJ/cMuJrKdsV3IB/knGC08GboRqGCYk0kuvAbjU HLsw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=frkOILCD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0e45dbsi21301271cf.557.2025.06.20.10.20.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:41 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=frkOILCD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfMm-00058D-2a; Fri, 20 Jun 2025 13:17: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 1uSfM9-0003oX-8G for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:49 -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 1uSfM7-0004h9-9t for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:48 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so23584405e9.1 for ; Fri, 20 Jun 2025 10:16:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439805; x=1751044605; 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=CTeMJjNyNvpDzcgK78dXTDRXnTQKYPQw/ldYN09UYyU=; b=frkOILCDjE0xE4nABt8trZf7rJiI84t2J7HKeYMUJKwOZYiDFQONDO+RhtWYNCMEYy gADfwOoGq21beY/lOXMgw0WBf1h0R9KA93vVanTG5s8rDKbIzEHSjrORSIG10IChM1tN yGOGVeRCOCNKM3kPY5vUshk9wA4kyvC8VLNAvKm028J7mTcik0nkLajdaTNw8Z/fzRDb YrmbDOgQ540W6J197+EZpC7fq/HlbzoLyQELCPG8qIBeZ89GME8ahwlT9zDyBLXaf7+F /GQ0cSGYWM6VLRgY9wGK2DXhXfOoMqGjeWG6XCqnlb+RttKCb1eQvPFmO5I4hXGQrNzd eekg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439805; x=1751044605; 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=CTeMJjNyNvpDzcgK78dXTDRXnTQKYPQw/ldYN09UYyU=; b=btaF0PvhWVrO16bBbA2itWgg2t7b3MGsUdtl9WrcXwaEJB4YgViryQ42gejo/7pNF3 KnS2oWsVzn1zKJa/ocEYtqf0b6EiEplt95uFATA85POP7e+c4N3iYnEBFBLbcSbVJHMF d0TdaxQMSg6agR/9Za0b379kMMzL1zbO8wh91KORkuTHkBZuvVGrqP04/0tymlHidHtX nXo0IO/47IDhTqqA7n12WMWZoJ3sHJmhlQanXsEd7qTlLM8fgGYZSQdfzsY7l7CDvph7 fdx/0MG7629DYSBb4XS2ZoEdflXJXXCw8r0JdwGYjxmqjhRJAhcd4gwl4/+h6ypMHhSw H0AA== X-Gm-Message-State: AOJu0YwfNW13wbNim2+Eg81irOQUt2hrL7kwVRBUhC4VvS62DNUuZ382 A9O/MHoVWnmElEnvSCM1LDK6zBs28bsR8ZFnO208L0zz7+WrFdsIyA18/J8JaRPbF/ahlH1VA5q an6yZjeg= X-Gm-Gg: ASbGncsW3mN4ZWRb8nrRNch3k2dK8KeINQeVYgdzBeo0DQybdvASnywdWYVseA6Cp34 546oIl9nPAx7/STvbiWTg9Uj5ICqDtMeflb/ygjj5GNdWG19/P4+V81hSRJRPgo/R5ocpLmo87a gK+a7UPk5rboP8rYBK+BVk4BiEedhF8h4NZqzGA/5oJAK1Nl8tS534toBb2OxqIEJXyl1sITtsE 1BPEu1NQLxVkmR9JePC6/esNi/mYrUrbLu5ba4FfTyzC3TWaZvbmyB/HDYvEckvkebaW/j91Dj9 zuHFDJOWNAkI9/Bv9xH2+SCPcB7Mn3XKl3IhmWA9AxcooORkgXIo/PQhHZG5KYQjYfiVolxqVvq evfXvNtbFE/UTYqUlvfEUcGE9dFKAvL4QrUMa X-Received: by 2002:a05:600c:4747:b0:450:d37c:9fc8 with SMTP id 5b1f17b1804b1-453659c0a51mr31415225e9.13.1750439805241; Fri, 20 Jun 2025 10:16:45 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535ead2a1bsm66117935e9.33.2025.06.20.10.16.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:44 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 37/48] accel/nvmm: Expose nvmm_enabled() to common code Date: Fri, 20 Jun 2025 19:13:30 +0200 Message-ID: <20250620171342.92678-38-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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 #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 */ +#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 5c8e2857a8b..46a57c78feb 100644 --- a/target/i386/nvmm/nvmm-all.c +++ b/target/i386/nvmm/nvmm-all.c @@ -1192,12 +1192,6 @@ nvmm_accel_init(MachineState *ms, AccelState *as) return 0; } -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('xen-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')) specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss) From patchwork Fri Jun 20 17:13:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898400 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1562250wrb; Fri, 20 Jun 2025 15:26:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWgUU9jYetleSKpLfmmHyqsMEQiICUpwdwumZ8oF1zy9H66Z+G1ZPNw2XF83W7kKwK8Cj2NPg==@linaro.org X-Google-Smtp-Source: AGHT+IH8wE9o6xruoA5dSDySdokDpz/GuR49qxLQdTBwpAKibBUS3BOyd5nU6eEYL3crGL9xDEqs X-Received: by 2002:a05:620a:4406:b0:7d3:90ab:804 with SMTP id af79cd13be357-7d3f9967735mr681905685a.58.1750458371583; Fri, 20 Jun 2025 15:26:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750458371; cv=none; d=google.com; s=arc-20240605; b=cJNmo3Tuo7DgPL1xY6DVnQ2A7W6/+oCiyzkMSO/dTsLrRPjJ6zvZOHsZ+wS9dL/vyL vriIGfNbeFrQdOEzzVAJgLYJd3/DmI1bVx/9ma5V2n2qn3pC2hF6NyoELrV/flz/M8O2 WevDpwduISpygUTJ487WNXOsJlJ2YPEpV82wvUTGP4zXqQMMj9/C+NIL0xxBaBAAIP/1 WGnoASnEgG2iiXnhq3Df1qh52kDoKYBxU65MBp7bPNkzEjAbqOiQ2o/6OCBy1DfvJJwV 8Gke0TBQ0bKU2LqliOBLYJxHxScBeTdg7cdJr1TOhO3QwxNTlQY+cDnGy8sbIO9dUWfO YoYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=oGiIpCI9oREWc4YqUQzJuNASCWMFgjiRQFZt8ebtteA=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=C7SLEbe2ZHIKKDVx7Jd4tuP4QeSPxTfTarQeKKh3+Bz/Wd2h164fbiKGMJ2RPn/piS HJhlYL2LS9pxYvqo33ndaBqlc8JNpw1PLG5NDsgDko+gSsPfwUuRsurX/PR/rqQyqAEK 8MgFIzUwC0J/4lT6OZW4oP9QvkApFetIdzDOd+PqvxPP0l2sLJL1QQAnwNTVNunFb/MR tU2J4s8jaVXptBcIsv6tIr3RBXe0T9Ay2pDFoN+/RgS8kNexF696tsvrjRomfj0vaHRI HiWyPNEIrRnLQzHVcm2Sa/iYqUFi6MzYGPVKcRhupXw4grurc9XHoNCiZd1w4YxLeFDw WVRA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=X+Q6AzkB; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f999f2b2si248420685a.58.2025.06.20.15.26.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 15:26:11 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=X+Q6AzkB; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSk5q-0003Lp-Jk; Fri, 20 Jun 2025 18:20: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 1uSfME-0003zb-3o for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:55 -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 1uSfMC-0004i7-AT for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:53 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-453426170b6so19313005e9.1 for ; Fri, 20 Jun 2025 10:16:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439810; x=1751044610; 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=oGiIpCI9oREWc4YqUQzJuNASCWMFgjiRQFZt8ebtteA=; b=X+Q6AzkB5DKFNwlD18S+WkELPbuksaIz6F3UCFUeu60hqiPKQ7muoJ6HtLCRZMzjfE 5XmqjpDZ2tm8NJAUBXd22obLblQ3SbH/K8gaRYyeK+JezNZm5+zC5gGdeoVkhSWUYKff +sKaON7rntWpwVlBLOOgvTzG/TqiGeiI30FnMlNctwwsxWK1zmJCw1SnvxRuSWDTHZXt qPie1KP7PEhJpgUFSiZSUk0OTT5rUoMxeS1kvqsyyS03esXOGIj9tZPKFBpDVuWlCC7Y ofIn2ylH5yufKgf/qkJbOxV8B/uD36uL1FtGidI+zGUBd4642JvKmpfXSCGk7HlI23vB P6xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439810; x=1751044610; 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=oGiIpCI9oREWc4YqUQzJuNASCWMFgjiRQFZt8ebtteA=; b=PS+BF5EGGGRzsBGIKXo0gKBWKgNJ/2hvOVBaF5dn7pRgdmlY/GE+anFWtuvy1ns0r8 LOnMBAF822VyIl9DGSl5ylqInleycVjYx5oGJLBtsqP0Y919oLjvjYfuBIP5HUQ9g9Nj IcRbLH8k2TDrOyA19/t+TZ4iJN1GHqc2w0IsT7W50Vc76gyNan0JPoIIsgGk8ZUarOYf 3eNhD6JCURdwee9r27oqOIz+hLQUCo7xSOKovwtEycxbJpdHcOyrVFeEvpcDcqzVpiIY ewjLxggRMp3rQ7xp40ys3Yk6VZrTIkGKyi+pCTt2qbr7vEj19j3HvAWQrLW5q/ixgoQf va1A== X-Gm-Message-State: AOJu0Yx3Ynve7RZ1WX6cHS9O6/0ivkwsjSl3llOxS96xEi9RnU2jTM47 LHbmeNf05DkCA0jTyh2Bu6Qe3ljbumcOTsOnotbC8oAuVzO7BQqjMuYsl8E8UJbrgeyHKNZf9Vq GvbRMTFk= X-Gm-Gg: ASbGncvzz9xauSWGEgRPjtPetIqfWE1ZYGEA0NEkzmf8wjqdpnFpkzFLpFLMexkl5Un nccPNX72SCOfi2jRLzcGMfvHEmtCgqf23fIXATQUCP0ERrX70D/5vPYe0JqMJQA8lbCEFlQHDWh 6ywXnwR9IWE1l71iH+J0G9YcPdpos/21YWUA5i5Gfjd3vgyVeJbjBjLgCZqEYfYt+mQ3aAQZ7Ch 0weKpSlsphsylNQGPM3o57ZAjgSw9lsAvup7DCSryfRxNg4YEOuIzAGdABwXAQ+6TIj5G0PWdBW yy0pW3wgnAhNJA7NwxReiKc0pX6umE0dau5y2XExny72sXBol2wAD+jIaHsAbBM1sIZMVIzZCi2 SiD4JqgLahSICXaVFKBqhr/jiOqzDzO+y1yOT X-Received: by 2002:a05:6000:2011:b0:3a0:b565:a2cb with SMTP id ffacd0b85a97d-3a6d277a9bcmr3308507f8f.1.1750439810487; Fri, 20 Jun 2025 10:16:50 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1193593sm2596138f8f.96.2025.06.20.10.16.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:49 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 38/48] accel/whpx: Expose whpx_enabled() to common code Date: Fri, 20 Jun 2025 19:13:31 +0200 Message-ID: <20250620171342.92678-39-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é 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 #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 */ +#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 77af84a87d4..feea5a57429 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2688,11 +2688,6 @@ error: return ret; } -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('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')) +system_stubs_ss.add(when: 'CONFIG_WHPX', if_false: files('whpx-stub.c')) specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss) From patchwork Fri Jun 20 17:13:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898358 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454881wrb; Fri, 20 Jun 2025 10:21:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUzvVtj6y9HTBITCdJpGeZuWs9jarMMoUs+9goaXEV/58tr+Hdbc6Gwne8/p8urbdoxcoBsMQ==@linaro.org X-Google-Smtp-Source: AGHT+IFsy2UC1/tvZw+aTsAy/zPzPSUE5EmspTsbct5T1C1dsG2U3w5VkkqFrCw+exmqsVdvteE6 X-Received: by 2002:a05:622a:4085:b0:494:b1f9:d677 with SMTP id d75a77b69052e-4a77a290c05mr55691271cf.48.1750440089002; Fri, 20 Jun 2025 10:21:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440088; cv=none; d=google.com; s=arc-20240605; b=C+0Mp4R7K7aSHQlX+H5qcnVzBXL8m7yh+iM61BiIo0X9AZbARu2szNoCMCI6HlpGWK dVrLdfhvC3KPAM/1G0lzKIW8+umPClPs74hDOzwcKheN5hQjvZ6IQ6zYzrKjczBOCkOn EciPnp7g0l73xAE51+JAf7WuUBcxPBteDrzNwDKQaHycksut9Ama8/D0N69Czcq6zHY+ nP3w4seTomkPktNi/HgpGI3XHG6/dgkWft+kug+evolJHUSkymMzufAKRKihJGvR1Dyk CMTLo7ndcAPrIkiTw5R+0Mo5IByJohTJwh8XxENBxOw1TJnDOmAT3PGDouFioMm86tkt ky8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=oUi7yglI42JXKxGDm/lTESiR8XgQvpHhdliY4w41XPA=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=Dbmt0pxmvYn4EUFi0h5jcm9YrkD0Q0ZLu7e2w32180cPMdtZ21X+1sb9uhbMTYUGQn AJJhUmYiz4s3qHGKLdaSt1fGnkM3LPp7DiVoFDMx3ckRs0c7Wthb5g0H+PPohVbzNqiU N0av50Hp/CWVy6q/Ejr3O7lSgO0v6pQpGRmHKQ4mAXooewifQTljgy2ZtJBgi4rDKq73 PviS1NvYeOu6THrMazUIiDU7DZN7ZwtDlSqhv/ySlbY6xFd5CkdiZ4pNYN2G/iYLR8El StPBqNUd243TRlf4jIkudOjuNU8pGzPEwf3LMKNmejTEDBkzTJct5w0ToHXwFxJDT4Cz oWPg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sSkXrNfn; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a779d48e74si22113411cf.134.2025.06.20.10.21.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:21:28 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sSkXrNfn; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfMm-0005HS-Jj; Fri, 20 Jun 2025 13:17:29 -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 1uSfMJ-000484-Ke for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:17:00 -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 1uSfMI-0004iz-08 for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:16:59 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-453066fad06so13789695e9.2 for ; Fri, 20 Jun 2025 10:16:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439816; x=1751044616; 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=oUi7yglI42JXKxGDm/lTESiR8XgQvpHhdliY4w41XPA=; b=sSkXrNfnLc7j6X8EcK7WikUV1WYEbo51KfwQwHE7v8SbjosCYcQOQz/6DoxTGFCBj5 bTdPGvNxq8XVEEDacGQn0gr8J3OsH8+uAOV1J4RUKXA8WJXnZW3uY7hkTZ7HQbTBQxPW ZFzt7WP7J5tO/BC931FndjdAWWwF6vhWar5jz7/vBl/kHTfPTHXFR0W+XDiMnKW4IrVF rygKuX+NvgFeC13QiHvWNFFw4k15ZnO74XM04g0nAw875mtQy4PFe7PgWTMyaek4+kq4 T4Yen/XTmU862qxX1f7cJ5yylqjFcC3m+ADVxCAmmvZUjmJrE9i1R1peAC3ev+lOrYvy V15g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439816; x=1751044616; 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=oUi7yglI42JXKxGDm/lTESiR8XgQvpHhdliY4w41XPA=; b=mtxG6K7zF8kcyq3FswmbHKOgQnGAqJuUsu2MF4cyr9K/4Pvqnaxj9baZp2Sh98c20O bqo72FwKttUFqlKhJUQ/lzgH1bVEJxv5wlTpgbMwNxmLB4kehDL2IIdDXb5gtd2IortJ JH3qz7By1Eme6s07g10GtB+H2/Ut2UQxkBh0YBRGKHG0mVD2ojm9XdRX+JiAxZPbDJ/P z1roV6NZsDPwBFp9NRKJ0USj5SCohih/ywpcjAsGXTuUPpr8CzFxlnw2SJPiwZ2LUZKA t91IHj5PqqeGv5AGJrP1e8U89ArlgUPjPEL3pMiroaL7Ucn5o3JPYLx61QWv0Zre2y3t FW5w== X-Gm-Message-State: AOJu0YyT6EgS+8MFZk6diSxEDZJyZrj7BcMJdZJ+6joVCBlqXRH5VfRJ HtOe2Two5kKbTFNc4kkCMvpk50Uke+JoXAcSDJXxbWYOQM7Yq5dR6OcmuJYSE3wBYtw9O1kgCfl WcSfqiWU= X-Gm-Gg: ASbGncugSR9XiaJUXb66ktqIiArXzcIw0cZ0+RFhJ2Oy2ckYwecEe6tpByrBqsPJWSt jZkpBmmZ07LjzRgRIizdokRQf7F1pHl4AUmvAt8smukYRFmH00vBNqcZoDoUi56CtH5WXDsm8xp W8xh2CSvrjzTD8qU0QbNk0Pdgj4IOYYVSwUTPuMtnOlbRQ7bXYS6oncNX0gcsYYd+cL6jnKKW28 IegHv8nwXsKVwfo8RD2aBO+Og+zKOXFnRQx0TH7vhM29ClXJ7GY4B2fkr/IWCcYZbWq8wWKU6KL aTlddOMifTx54u99RKodPqMOUDEMcZ9G2YAFIJRCG3Zk4tJ6CWRUWW+aAg738h4C1gGZYASFSut 1WMCClqW11s1MeQFAFJf01YzttqySqsVWz9T3 X-Received: by 2002:a05:6000:1a85:b0:3a4:dc80:b932 with SMTP id ffacd0b85a97d-3a6d1193dfbmr2825828f8f.8.1750439815764; Fri, 20 Jun 2025 10:16:55 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f1011fsm2588239f8f.7.2025.06.20.10.16.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:16:55 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 39/48] accel/system: Introduce hwaccel_enabled() helper Date: Fri, 20 Jun 2025 19:13:32 +0200 Message-ID: <20250620171342.92678-40-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org hwaccel_enabled() return whether any hardware accelerator is available. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- include/system/hw_accel.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/include/system/hw_accel.h b/include/system/hw_accel.h index 574c9738408..49556b026e0 100644 --- a/include/system/hw_accel.h +++ b/include/system/hw_accel.h @@ -28,7 +28,28 @@ void cpu_synchronize_state(CPUState *cpu); void cpu_synchronize_pre_loadvm(CPUState *cpu); +/** + * 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); +/** + * 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 */ From patchwork Fri Jun 20 17:13:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898344 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1454195wrb; Fri, 20 Jun 2025 10:20:14 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUmVQRbRsuqO/Nmxm9inDBSre+wDkVe4O7zRnd7jUqUcbDGtjmA++IqAWZPby6gMUhty0x1Wg==@linaro.org X-Google-Smtp-Source: AGHT+IGcjZ+hUjlAmFkrKmMu36ajiG/Go5Ig3pO6o2N4bH0+jaWZUP9LPsgL0SpNPWaiy/UmXQaq X-Received: by 2002:a05:622a:50c:b0:4a7:6586:8e5 with SMTP id d75a77b69052e-4a77a2709edmr55962991cf.40.1750440014434; Fri, 20 Jun 2025 10:20:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750440014; cv=none; d=google.com; s=arc-20240605; b=OFkUI78eCyOT/S/TVm0+IvMHCJamDeui/BmvTospnHyLq6nmytIWexRj0D/ldP5V/R 8QOl+/2qvDVS4MDhodclEf/7wEU5h1RSShypjfYtM358H2sm2NagTrPCsYOy88BxNcxp N8Pt/q3A2g6cmrjGpKttni/YG/TPG+MWDUZxJXBEJk2Ss31RcvrjFVgrNXLtHSoeH3AE tbVaA2g6WLOM+iCrnedSc9TeKPqGGFMxFHpLjUrIRfi+xN4h3bIy5xwB4x7PxI0uyycJ ncWhMoTdRHLbGssD+brKUwiQiAWheOtchlxAN9cA+9nvck88B2pO734hkj4h4h8Eglpn 5AtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=GRf9yAzhlgNVS6RKT148G9E3d3UkN9hZ1qj0XLXjjrQ=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=FOQ7/rasoCCmgSR5UPwYGTmZYwzjyGHkUQcLIsaVp4xdSobTH5v6n/DfB7awjM+h6N jjq8idDsSLaFfBC7t4xNYfoxVfJa9RqNKJ1uqM3QehYOCgJcbVCMb9bCbM9hYohhPKws FkXijFC/hbEM+ar/WVpF2vtJN4BUTprBWyfwxe8/hZKtXPcAFe79bfajpj0XFwhbZu9o D/3rc8FBKze45/oTYEoChse2p7GyiqpIFUKO9/sF2DG/LnCqJYIo5DPIaJeLx0jtJ+n/ zQxEtAX+pcn2LgDfc6ESBdpfSjUqLEgoJcUc6DJzT97/4IhMEIRrB4lZghofb3Wr8Lpt aTVw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=s+h1tiQZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4a77a0d68c7si20840221cf.536.2025.06.20.10.20.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 10:20:14 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=s+h1tiQZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSfP8-0001Li-3G; Fri, 20 Jun 2025 13:19: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 1uSfMO-0004Kz-7N for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:17:04 -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 1uSfMM-0004k3-KM for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:17:03 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a50fc819f2so1686770f8f.2 for ; Fri, 20 Jun 2025 10:17:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439820; x=1751044620; 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=GRf9yAzhlgNVS6RKT148G9E3d3UkN9hZ1qj0XLXjjrQ=; b=s+h1tiQZpYzhCR08ynTfX+sHLsovzEC73BUwBGKa4/BAvYZ6491wZHPMBcqRcmr2o0 d/SWmcCcc1QfWD/yfNvhgQKG+9fl8o5JKee1UjeQZF25TKWjxNkeQUBEV1JqIqWnDWud R1yTQiXAjJ36B+HbDhyHhQ69sCQagOt7DLk0dNKK+O5h2wotIzkmVMqh8SxlFvHJzBVU nMmP2vpPssDn18DxzCvn2BZZNDogu+uBizgzmpoS8LNMauq2w+dtlPej8MS5Ajdkmvm+ dpW5wuJxC8J65h35Zp9yp7c0LIezr4d89CX9c3B1q7IBRRIZ2RfNZ4sol54uEQAh/l+w 9vLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439820; x=1751044620; 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=GRf9yAzhlgNVS6RKT148G9E3d3UkN9hZ1qj0XLXjjrQ=; b=tD/we5HyNH1WSdVY0c+fcpnBXN4L04iQRAAw1towJTMJqWpwIlj2Vgux+ySrgkxD3E HnDCFbkYWq0GS4LkV2W8zR9fzMWhJSKo39RN3zpsySj6HFt99J+ZnyKCuCz+CFc/rndR +9+Rf7hhjpaSQKZmjel2NcV0BlRUUzMEySYFKctM95uxjwRy29RkfmVKCRFz7xnJPH6o vk5YWFkaVKlToSCjmJ9/2TwcxCx/Ded9IgQupwkoogCcd5IpnlJZ9NrtKpIoRFzvi73T VsdqVSweguRzjshkv4TA6MgGZqi0i6vdFx1kCo2N0QwqnEhHd/uPmtZ9plNo2Oy5+OPG on/w== X-Gm-Message-State: AOJu0YznrUgRLp9pw7VO8WBx8dermPHq2NRk3YNmP/22kBmUPKBFrTqT x+uV57KBUDporh0yo79suLOGrJQn5WuMt1Bv318nFHMLcuchm4QLqauxqNT0sbFiRcRLrwZwTl1 dXJhs+94= X-Gm-Gg: ASbGncthZE/ry30qjAELtggkDCjY7brOkqNu5gk+qpuH9tFydDE5Tgn6op5ry6pXO+U U+Kt2R/r9RZb0Kzfajd/cD6Zfm09Jt4qqi9uaQVw2DBu5zgPEX29f8sFJmC+RS5kVvEshcoc8ij g4bXYXmUzjg8nagMGc+r5ZjKnno1+QIXOLV9o6/DOeDhceCesqTKetDu5A4aHeDbbJc6CoDW4Hl qT+LHAXqsXNBMoHKaMsSSA8Ergf2FNLhtFw8/QUvRwpsj8k3CE+6X5rsNVblNpdEF40k2q5QcV7 JOLx0NapPToB6QKjX/0T7t00Wb+9dRMcnBpxOUbr5Vi1icaZW0aVEdRcHJCWZ3NC1vdXZjQc6Oe bM2Cu9Jh3Yk93YzNUFdnVviUmFdCXLL89Nx7P X-Received: by 2002:a05:6000:651:b0:3a5:39a8:199c with SMTP id ffacd0b85a97d-3a6d13129demr3286169f8f.53.1750439820568; Fri, 20 Jun 2025 10:17:00 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f1815dsm2522539f8f.28.2025.06.20.10.16.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:17:00 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 40/48] accel: Factor accel_cpu_realize() out Date: Fri, 20 Jun 2025 19:13:33 +0200 Message-ID: <20250620171342.92678-41-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Factor accel_cpu_realize() out of accel_cpu_common_realize() for re-use. Signed-off-by: Philippe Mathieu-Daudé --- accel/accel-internal.h | 2 ++ accel/accel-common.c | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 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 @@ void accel_init_ops_interfaces(AccelClass *ac); +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..0f2aa783ab2 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -122,10 +122,14 @@ void accel_create_vcpu_thread(AccelState *accel, CPUState *cpu) } } -bool accel_cpu_common_realize(CPUState *cpu, Error **errp) +bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp) { - AccelState *accel = current_accel(); - AccelClass *acc = ACCEL_GET_CLASS(accel); + AccelClass *acc; + + if (!accel) { + accel = current_accel(); + } + acc = ACCEL_GET_CLASS(accel); /* target specific realization */ if (cpu->cc->accel_cpu @@ -147,6 +151,11 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **errp) return true; } +bool accel_cpu_common_realize(CPUState *cpu, Error **errp) +{ + return accel_cpu_realize(NULL, cpu, errp); +} + void accel_cpu_common_unrealize(CPUState *cpu) { AccelState *accel = current_accel(); From patchwork Fri Jun 20 17:13:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 898397 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f54:0:b0:3a4:ee3f:8f15 with SMTP id cm20csp1562180wrb; Fri, 20 Jun 2025 15:25:56 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUNwAbh0uQwYx6ZZuSshHb07jtRXHiJMDxboeos39S07oiXKbfr/Sm4Re+Th4G0KIToxVL3Kw==@linaro.org X-Google-Smtp-Source: AGHT+IEk3PUMEhrrFPaNY4PLe9lKeXNqvroC5eQ82eiHFjclSJk3dLx07njW6F88CmVKqNjvg6Vk X-Received: by 2002:a05:620a:6002:b0:7d3:f3e1:b8c4 with SMTP id af79cd13be357-7d3f98dd4eamr655564485a.15.1750458356582; Fri, 20 Jun 2025 15:25:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1750458356; cv=none; d=google.com; s=arc-20240605; b=Ke9EcApSmPjg6Sz69dbZ83SEa+hLZVay5NUgGOXtmMVEAktIQgVdvXvxBTzUAK9PeT ZHO6sH80OVfSn/BwMdfBhcT6pVwQtTi06rPIsHy2qyWrFCKG8NB8qHau9Yxg35W4T+YK Tj3Tb2sk5IgTnSjqvIxxbUsHxYC2JaNaJf99MsOdONKIewJSn1PHjpsusO88R1xIpocn 597UpWFwy3SpILycKgz+Z1h1Wom6SJcOObQ4YlNGUFqicdX0o2EgygP6bb5lVxGPDOvG pmOCFu1zFxWZNfeospPNynT8GdkOoycWWwlqUf76mLo/kzpiwingbsf5JEH1wf70wAOG 0pEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=SfIXmPf89XXe1HBqtw6MJ15ZCEw8ryCmetzhx/QXCNQ=; fh=8f2AL0Su0K9UlZksY2EEcc9O+An+AQ/T/SEdbs2pdSA=; b=lopW4fCFBgTjOsJD3lWrexsWeqLv24z6cgnACjaSCr1QxgpVgrh4O3SPIzDwj+vtEg csZ5XVhpu5SNtTx2alwvSUMmY9V2MQNzJP+D/enu0JL84tHwurqVypw6femZRiTPumgn vAYrwHlkYmm3l6IEIMr3I+ESnZ/QIyXvYMV5sb0mdLcKcOHWBybh2ShEL6ZFaKZfz1ho cdfbd3JRc8mWAceq/1NVbRcPCg0EJ699Gs+KFz8P2geFzOHr7qYzx+mDH1nTvzR0If/W TlBxI8IdZOWPlLM26gqjswxzueZUx4eo7bSzo9yKXj7UdcW8wOo8A6TAF7X3C5YpW3qi ribw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GmnRmlY4; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7d3f99e4a73si266856685a.183.2025.06.20.15.25.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Jun 2025 15:25:56 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GmnRmlY4; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uSk6e-0005R9-Sn; Fri, 20 Jun 2025 18:21:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uSfMT-0004Vf-4U for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:17:17 -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 1uSfMR-0004l3-8t for qemu-devel@nongnu.org; Fri, 20 Jun 2025 13:17:08 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-450dd065828so15581025e9.2 for ; Fri, 20 Jun 2025 10:17:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750439825; x=1751044625; 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=SfIXmPf89XXe1HBqtw6MJ15ZCEw8ryCmetzhx/QXCNQ=; b=GmnRmlY45cmrflqxTRwEzyPyUzFB8Go2e8Vhu43DScP1BUEWFjGYPhetSx7a2DjJSo uzDL0/UZRPEediTDggN2LATsRj9hdkHt+LagiCm932R4usVTHRWA39tQNzj+iaGbzsN6 xMsSUz+fJbW65AAziCsCNQ7ZP+uLxAH2OTaZtRe5gUBQ9nTCT4EhH4NDdulcBVlS6Zr2 x3w1iCROIy5f9s2O+42GX6huq8VkCpexx5QJQYGsmsF+ndRajXjifmw/9fjwkhi8zuKD uLrP7upDYwLA3S77buRgaJV2JHmosbzMjqAhaS5I5kX7c1aFH1IHKqsb/BCjaiDAf3yZ QaHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750439825; x=1751044625; 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=SfIXmPf89XXe1HBqtw6MJ15ZCEw8ryCmetzhx/QXCNQ=; b=l54WlzbXOtj1FxFb0fItLz021Tcr33ocCOYBtdfoVMchkFF01/gUjZkH/0wgyaAAfn PBAYFnL43fTfeXrrdT0zReL7SyaRPakzOkWv9atR1oy4bdm+cU9z5kYVCdqawlb4w79y gtUk6oZNuVqCUpc/YzvnQOhh8x//+lkR3OhZ4DSnps9aKSu2Db2NxiWduok0FWaghbqX tfn87ggEOOzgM1dlb5O4Xa0513wNXi1IRj8xJl1SsnmSmzES6NJ2DACwfEJ3Wioi0NCA 3mAY1lIWXjyCOsrJUHnlOpVXBW4c9WXZAl3/Ql+MoaGcPN1QyDM5XtG61LDrSmjt+3kF 805A== X-Gm-Message-State: AOJu0YwTgG81InMv490vrUFXDkCxehgyWqrDYYSJCAoHznwmLbsJmI8x Cr3guGH5KIcdb6xavu77xOT7plqNIjprXieskE9y3kBYSjs2rsvCDgiHBfb5cjKX3NzVfauunrf qhJ+4Q4Q= X-Gm-Gg: ASbGncsHQDGosPf3e0rBltIf1Pr/16wGfGAVoZMzRaTC/5CEhGHgRx8c1zBsSyqeZYQ Beaf3C9O5dKBjX9rFcWyULIRDqIkdfaioOCIdwpqcrqnk+G2bJGNPFd5CyIwGcsveIbQGk79YHp 7m4vs+AVrAYFserEWK9x635AWbqxJQsPUYXMhYevS0k6pOagAM3jwn1Zx2K96I3C9+Qe8sxmuJp 92qnRqMJKUgFu0fm1jEsrakeTx2xCF9ssmdwp93lIqiOItKHX7sMtX/muyLv4Ig4R5btlRiTJRV 7Y75WJxS6W1YPQjjCBENy6H2i/ay4YA5uq88rS5E+AtZXymeMICqBJRS06vABbFbqoL/0/q3Cfv uScQXlkPrQb7ciW6HoxbmcyYAIxU7qxH9lZOd X-Received: by 2002:a5d:64e8:0:b0:3a5:1c71:432a with SMTP id ffacd0b85a97d-3a6d129f557mr3718810f8f.14.1750439825397; Fri, 20 Jun 2025 10:17:05 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f104f6sm2678349f8f.12.2025.06.20.10.17.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 20 Jun 2025 10:17:04 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Alexander Graf , Richard Henderson , Pierrick Bouvier , Peter Maydell , Thomas Huth , Cameron Esfahani , Julian Armistead , Paolo Bonzini , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [RFC PATCH v2 41/48] accel/tcg: Factor tcg_vcpu_init() out for re-use Date: Fri, 20 Jun 2025 19:13:34 +0200 Message-ID: <20250620171342.92678-42-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620171342.92678-1-philmd@linaro.org> References: <20250620171342.92678-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Philippe Mathieu-Daudé --- 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 129af89c3e7..1263a666774 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 mask); void tcg_cpu_init_cflags(CPUState *cpu, bool parallel); +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-mttcg.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); cpu->thread_id = qemu_get_thread_id(); - cpu->neg.can_do_io = true; current_cpu = cpu; + + tcg_vcpu_init(cpu); + cpu_thread_signal_created(cpu); qemu_guest_random_seed_thread_part2(cpu->random_seed); 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); cpu->thread_id = qemu_get_thread_id(); - cpu->neg.can_do_io = true; + + tcg_vcpu_init(cpu); + cpu_thread_signal_created(cpu); qemu_guest_random_seed_thread_part2(cpu->random_seed); diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 4931e536beb..83fb2d1362c 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -76,6 +76,13 @@ void tcg_vcpu_thread_precreate(CPUState *cpu) tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); } +int tcg_vcpu_init(CPUState *cpu) +{ + cpu->neg.can_do_io = true; + + return 0; +} + void tcg_cpu_destroy(CPUState *cpu) { cpu_thread_signal_destroyed(cpu);