From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482479; cv=none; d=zohomail.com; s=zohoarc; b=e9PELzjAt3rOwCW7eD52xYjqlRTI+DhjG0niN8yRrwvi6vcpocUJ/2BFU6HqO4suUXXR6vJOIfWp7iZRgG7leGZLp2ZEQBzN/FfEbibtd4OLwxXSdRqEBk9rY8tmDO7HSjQ6oK8sb9OvFBJ1gIjrKlCAqO67fEagSc3Pg6he47M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482479; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4fPb3mcKHQMn+mt9R0xeKlU7lt/6avmr2iZZUVi63QQ=; b=iLRuvAGsAR1G5UvYnDBDcf0ejLaZEDS+yRQGENggrHUyhITCXU05Uoq1WM+/iv1oB4to2sn5fJ7iMGdJp9d019rrdI+qNSKh4vd7mSJV/TOY1srXVjIVotEQKE+wLIdAjhH1ATfpDJJA9EFtRBifR2Jh+HGR5Yab/Ldm4Ub1yGI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482479794686.2916305583915; Wed, 2 Jul 2025 11:54:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2aj-00012m-IE; Wed, 02 Jul 2025 14:53: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 1uX2ad-000124-0b for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:53:52 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2aX-0001R4-0C for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:53:50 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-453426170b6so1006135e9.1 for ; Wed, 02 Jul 2025 11:53:44 -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-3a88c7e72c1sm16535120f8f.1.2025.07.02.11.53.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:53:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482422; x=1752087222; 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=4fPb3mcKHQMn+mt9R0xeKlU7lt/6avmr2iZZUVi63QQ=; b=EiKASSlzyHyGT1YS2DXx9a6WkqGKqgFWAVe1LnuiSAqvzmqqQCu6ucS9XLxpciiBkq LfEDhCBnJJi7DsrdIy/R+K2IXuXYtdGEKIxMgACZPEEfc4xY/VkRfKHULh3ahVJAwoQo iNb7BHqBx5UZxVQ18RwPiFJEcfdi1RxTkOVybWkb5JEcRNJ+89B8evwIgplCzDF+e9fB /OQEz7WyOg/g4Mo3bXFf5QWrF0+QhppBj+u2BufW8Sd+PygUBjBC+jqap20nGQa1a4hD fU9HL8e5ssO8MWDs7LItV6kKUyGxWg/T2sTk40eQkeuGbtoKP48CiJZ8PAlOfcDqZKGj qbeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482422; x=1752087222; 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=4fPb3mcKHQMn+mt9R0xeKlU7lt/6avmr2iZZUVi63QQ=; b=tEA3IiCzz5LF96UjcnGxCXZGD005MVHWULg/FQXY34ZyHljnKsMznCIr1LIYHVRajv gwdwf4BE+eqHcB5vOVyoTDBsCxKLW16x7ZkEqy82DanuRJGNsNZsxnFsYj9teg+5petN 0iVqS+6rgSrMwgKLN9MM1+oY8ch8Oiv3o/EYxRdjkTMoLhMxTeqnIESEVNzKNvrcQpRn nT12XQFY5k2hXrAFJscglLVqugUTDpyPjk9rU9Jj2TKuR5MKQ+EoYdHZA9VrlvY+H/Vo 2yGKAonoOPKuf5jX3XdHwwY8LQqxT4fXzBVtAzG6IRLrISgibvTL/i0ubHjoShct9s/E yMgg== X-Gm-Message-State: AOJu0YzFO/3O/3YwoAd4Rqb2XoRD0FtHN/ZGHErISo+QjdInUbrvUk23 2xXvbLQgTMxf5t74KTp2obdIc04WHhSIqKTpT/SjdXySD5yySHVo7Xq/unPHUBVxFWWe+8IwXm8 a2cHm X-Gm-Gg: ASbGncvMM/c2dT6OnQ6+RubsmaAJBw7JNPwijLjWnRd9RN3DG2wN9ZBCbsia9pIGwMz FLKJ5vYM0m8awK3B9vO/aHqDhHHh+TzKkGZtYogAqfdIoHcdwo0Vr1Rc3XpgcA84Ukb17NFW15P jITLe+5gzZQTA3NHXJsyMQWhk62S5p3ypItMa2tcMDCoFA2de2w/Fwy/f/Vzlsu9LKidwGGjcCZ LKHmNWl4JUeF++g8sawminAnPRrRlUbaKl63NFJ5skgaLHkJAuVAdw0D4SHXq1cEn84j4LKvakE KI7iLjmUQOrEpyG6sdlCzeRHP0LXgflL/lFxzJCpnmdxek26TII2o0gco/rdKuX47K3l6ISDBMk XqSdEmzSPLGgzrlck27+WQ20k0bTKMxQTJQQu X-Google-Smtp-Source: AGHT+IGiwJBzVQSvKxxxKmQZX9H0bxxesKSOyUa5G/F9z3wh3rsTEfCw3bdS0B5a8CHNa1ean5+gbw== X-Received: by 2002:a05:6000:43d4:20b0:3a4:da0e:517a with SMTP id ffacd0b85a97d-3b3449df6fdmr6005f8f.23.1751482422440; Wed, 02 Jul 2025 11:53:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 01/65] system/runstate: Document qemu_add_vm_change_state_handler() Date: Wed, 2 Jul 2025 20:52:23 +0200 Message-ID: <20250702185332.43650-2-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482481880116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e --- include/system/runstate.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/system/runstate.h b/include/system/runstate.h index fdd5c4a5172..b6e8d6beab7 100644 --- a/include/system/runstate.h +++ b/include/system/runstate.h @@ -14,6 +14,16 @@ void runstate_replay_enable(void); typedef void VMChangeStateHandler(void *opaque, bool running, RunState sta= te); typedef int VMChangeStateHandlerWithRet(void *opaque, bool running, RunSta= te state); =20 +/** + * qemu_add_vm_change_state_handler: + * @cb: the callback to invoke + * @opaque: user data passed to the callback + * + * Register a callback function that is invoked when the vm starts or stops + * running. + * + * Returns: an entry to be freed using qemu_del_vm_change_state_handler() + */ VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler = *cb, void *opaque); VMChangeStateEntry *qemu_add_vm_change_state_handler_prio( --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482495; cv=none; d=zohomail.com; s=zohoarc; b=XP42PLQIln61ND9BJCaiX5zTKwRQuJJZbhy53GPntZWssqVph4RrhHkFDAV7Rc97hcXK7j9cnN6kFsb8KOk5t9w+0gGSV4g57Qgly0b4WEgbt2e8tW6u3whTvXCi+vP3l/Txudcek6rPxP8BiSreh4syQcunpOmNWSOyfs+/X3U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482495; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uxv4WhKLwrx5svsx0yY+vpPljgpJNa1VqbPNSHemHI8=; b=Xq3WMBDfrsJtgMfGHXKRgMZ3Zg75kVd8QxAESMYurS/JJ26FELQueqvEk9UFjjZk/C1JlVvrVdOy8F/gQskdfDWL6pKGBPnTJm1t4hhQpy4eSa8zPFRxtSItmh6lC6mV+TeeJdJk0aFYHoQymEiKTvNBI/gqflpxclHKxu2cIiQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482495120620.5699910594161; Wed, 2 Jul 2025 11:54:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2ak-00012x-68; Wed, 02 Jul 2025 14:53:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2af-00012G-GD for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:53:54 -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 1uX2ad-0001U7-Ug for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:53:53 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a522224582so3819595f8f.3 for ; Wed, 02 Jul 2025 11:53: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-3a892e52ca4sm16833767f8f.58.2025.07.02.11.53.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:53:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482430; x=1752087230; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uxv4WhKLwrx5svsx0yY+vpPljgpJNa1VqbPNSHemHI8=; b=d7m+xiFYqb2VKn/Geed5pHctQ54NIgg9N5weqoL+NWgvni453eeFokv9vlvHWjDtkD aLcdbzTVvoEN2LTkwjBG5M8mgaCjTBRgNfSKU2YSnv5QfnNpYwOB3BWOjgO3hTPFdRZQ XLZS+z/lO5Qgt1/OgAUJCIz9MyYFmibk++OFo8Y42Py+xtTj3rUvTpLVREkSwsBjAwQN 9HCVD3wWgiRtgBvsjj/ucv2JZZlr+IH3rY9yYCaYWXGNG9pIDVN1nuUyEEezltQ9LjHg J2p1C4vtSW0AsLbXiz6msxcjn9LEbCC/y9wpS+ErfS3kyrj4e7dvKLvKnGsaD9d4Y2Ob /P0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482430; x=1752087230; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uxv4WhKLwrx5svsx0yY+vpPljgpJNa1VqbPNSHemHI8=; b=UBAGJOnm8TOOMBi1uCYHc+FI6QNGrVKQruGk/blqz9CC7ivsiEZ0y9bUkKwZNvweat 1TNroBaMBf5uxkm+W+sDkRQAYE4SO9W87sWYcnpaWz77usj/F6mITt0viM6Ggfe41OgR e+QcK0nLUPraV08QrcHaKUMDKDQ26bGiT+HAZDyMBn58KkYVzfnJVCL/fqCeZgFTr566 4s2ECA+Vet0GMutAQxKCh9PEdCqXy4bub8jZqaitqmdLBl0eeu9mvzGdVa33jwJAYGG6 9DIoTwweXUva6BNhM2XuE+4t+J1x7aM1ejve+eoFOcL8Cbtax+7UHjr87kLULj8xQ9aV J9ag== X-Gm-Message-State: AOJu0Yw/S48iSTpdCuOc+naEWv2IqNxcECcFHXL/PWqnnpCgdo/qcHyl AEwr+qpOQs8DO3Z/MHx5lIGTTJxDR385pyfSBpb+DYfSqf9vxfaqerwE4lqhSXzUOYVDjcWIwCH Rp5d+ X-Gm-Gg: ASbGncv2Fn3fLHfnnbQLbYeM7bzSR7qs73yVo9J0YxUKcYMDAnsQEhoaU167ItuDhE8 ngz+lEO18BsqdKGMOmYocHscphH0QpnJII3FsOjhdkMlg/0QAkr2/E1SLTpjeVESx3a+Dg6Caic fsS2nZGBJzvRrvquhbZIK0nR1HmJoKLhNnGWLgTnowXCBPbXoJvJt9f/Rc9YqqpZR2LGdVChH5P OvMSWJfB4rnVS16z+NeG0vPYbsV8kfrPmwokBTmjB8CGGR0oFOWdKq5UzqRE/3EMZodGdXPx8EU iJsDCUq9Jz0ZL6NxVygFZ3eP9n9Zn5DIBH9TAP1Q9UaJgH8CMYfu0MrGvdk177/RIDPcUOm00E8 /rqSNUdA2ekY+ANgjJ/12wLkfJcN4VzkUQa9h X-Google-Smtp-Source: AGHT+IGcmwYN+MpWdIpNTatRzjNKDuK0lyDW5kg9Alf/zuEkVNEtjog/LyMzy9DLe0gfYEDQLYpxKg== X-Received: by 2002:a5d:5e88:0:b0:3a9:16d5:cacc with SMTP id ffacd0b85a97d-3b32f666188mr200862f8f.49.1751482429694; Wed, 02 Jul 2025 11:53:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Xu , David Hildenbrand Subject: [PATCH v4 02/65] system/cpus: Defer memory layout changes until vCPUs are realized Date: Wed, 2 Jul 2025 20:52:24 +0200 Message-ID: <20250702185332.43650-3-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482496075116600 vCPUs are not really usable until fully realized. Do not attempt to commit memory changes in the middle of vCPU realization. Defer until realization is completed and vCPU fully operational. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/physmem.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/system/physmem.c b/system/physmem.c index ff0ca40222d..8b2be31fa7e 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2792,6 +2792,14 @@ static void tcg_commit(MemoryListener *listener) cpuas =3D container_of(listener, CPUAddressSpace, tcg_as_listener); cpu =3D cpuas->cpu; =20 + if (!qdev_is_realized(DEVICE(cpu))) { + /* + * The listener is also called during realize, before + * all of the tcg machinery for run-on is initialized. + */ + return; + } + /* * Defer changes to as->memory_dispatch until the cpu is quiescent. * Otherwise we race between (1) other cpu threads and (2) ongoing --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482493; cv=none; d=zohomail.com; s=zohoarc; b=nFh7kCmnpK7XNpg5Mu4HiZRWyakZku009yBFJ0ujSVddakH67srZhXICyZfTBc9PeXf9a7wKsyixT6Ass8J/M9gCEGzo6Te1VapEYAdoMlIiqCQrSqaDiiQuA0J05qa9mcbzNZJJzzP7I6VJMhSARj19+ucgcDsKULce+NbRotc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482493; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eMVCQTvVGe/Hz2DEmM07zNOYeNDGY8/7Dwwnom0rM8Q=; b=TTxk+5fVDGzFtWlTRmwi0eBYIouRuPbgdYc/452FJNzrmbnFLSCk1bw8880oxVOsivhlJJLhMK0dHthEvE2vDPYezNz3sI0gjkL9MCJzRDjClO/JIDfDKC1xM/f3QBSNKhBkgjspPPY4zox4hi0Mq1ko7wljWB5QNJGzce3EwR8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482493341429.9990612197448; Wed, 2 Jul 2025 11:54:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2ap-000142-RI; Wed, 02 Jul 2025 14:54:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2an-00013a-4L for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:01 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2al-0001Wm-Gz for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:00 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so138701f8f.1 for ; Wed, 02 Jul 2025 11:53:59 -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-3a88c7ec6aesm16677975f8f.5.2025.07.02.11.53.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:53:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482437; x=1752087237; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eMVCQTvVGe/Hz2DEmM07zNOYeNDGY8/7Dwwnom0rM8Q=; b=rbgta40o5f61tDDcoChDBJv4NYnd7u+mL8m0OLwSLOnm/PlFTIWM6autUD/TM+kTMU TgahXqL6wlxbhzY6n1KcYa99sC05VYhJDLAAyoH6Oxy804OqiQ4jZRh1DB2M3fa2WA04 cAylDF8xu9YCkdG+k6fWkEK1TLm9n1v68AQCa8lOKuvvbo26Mjn8DIE14kVB4ql7tKWI NsmpyGJ7A6MiQTnDR4kBJMKa0kEerQ2zUGEg5oyA1Omhmy7PikmDn/pAQuE86gnQBZIj jun9gTqDv+B0q8pg+0uqTJc/ZQm0eBIe2/+DekjyUspDp9doO0iwiQNOSLUI+Uistzes vVkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482437; x=1752087237; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eMVCQTvVGe/Hz2DEmM07zNOYeNDGY8/7Dwwnom0rM8Q=; b=wNkyd0Rf1+8EgCEslU0R0pg0+wQE5oFZfQuFi6VZg7mC8ne+DMhSJSdaE5+Y4lsTEc oDNl485f6am0qoG/LQwGi9DacAuEjsiGrF6Y7WPiiAr+9nvPbpXhRQLUvTAvxnCeWRd5 iv2tHM94l7ZWvJ6urCmdPA97m7QcvfBAdcdJLnx2QMD3SRxAFTQHCN4MMGGJ+yULCzoQ V/Udr0vfHKsWbveGREpLPITYHILXEH99p/nbuDl2wGSvBCDl7bc5zzCTyq6bDppuAml5 bRagMnlQN9eFFmuOTKKh30nC0qnCJ4KMvFrhZb5unY3hDd9Yd2DxZFG3NOmTe0IZ22Xw aW5A== X-Gm-Message-State: AOJu0YxPLrJu8327pMX+7+XgysbCpPN+xFdUSQ+FTIOFpvPMVsde3C28 /0cKAq5rALjIlkQdDqG4YpSwbAbQ+sxcfHwbEjeZrwEAVBvIRdaxpX3MNqiyUckg1Qs3lv4ckre qPjZE X-Gm-Gg: ASbGncshQQ5yvv6jJXszxhaZry9xn5i4FWg8YUYWyvH58DFZVWjqaKIOgnBRxzyfpyC wC3MJbqKi8QS+G/QHM0/KkPJy0B23FwEGcB+17GPnEYaFihsW31V158rm93iaTsHNA1JrG+SWub +wu3CeRso3OeFsYL+AKRr5Y2G+482dP3lfvac2oJdOhhvV07GjXpbfsDmDhkcHfE/gYGRrLRbBB vPR/rLwOyCQ8MursJEdf25kADbFrEHEiFtQeYOp/AOVtn64WxJXQpVMTonDN9AFSHaxMiwfn252 kttZhXoDphxu3Ono5nHhy+h+KB2fXkQZo6ptHRVVrDlz4Tbv0tUzqp4bCEUcfwcJXtZE524boak LvJxCojubx9ejtdJqEKIfZXI1bn5O5uRrqTaE X-Google-Smtp-Source: AGHT+IGFkRYuVazGmtog98UdI2jtI/8GllToY3yZ++32QEyddoGIzSeazbRQ6LhP4vW0Xnt4TE60jw== X-Received: by 2002:a05:6000:988:b0:3a6:d95e:f37c with SMTP id ffacd0b85a97d-3b34281bd45mr26127f8f.2.1751482437342; Wed, 02 Jul 2025 11:53:57 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 03/65] system/cpus: Assert interrupt handling is done with BQL locked Date: Wed, 2 Jul 2025 20:52:25 +0200 Message-ID: <20250702185332.43650-4-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482494089116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops.c | 2 -- system/cpus.c | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index b24d6a75625..6116644d1c0 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -93,8 +93,6 @@ static void tcg_cpu_reset_hold(CPUState *cpu) /* mask must never be zero, except for A20 change call */ void tcg_handle_interrupt(CPUState *cpu, int mask) { - g_assert(bql_locked()); - cpu->interrupt_request |=3D mask; =20 /* diff --git a/system/cpus.c b/system/cpus.c index d16b0dff989..a43e0e4e796 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -265,6 +265,8 @@ static void generic_handle_interrupt(CPUState *cpu, int= mask) =20 void cpu_interrupt(CPUState *cpu, int mask) { + g_assert(bql_locked()); + if (cpus_accel->handle_interrupt) { cpus_accel->handle_interrupt(cpu, mask); } else { --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482480; cv=none; d=zohomail.com; s=zohoarc; b=G5tiHCrhmkkVX9kQjJOze2ODctO1ExI+cv+aermHTNko4s0qkpBVSl0EtGF+rNhhnH0JaCVv3eW1rMb7sbrp+H7tW6qOQtcyPivgKuU/ts7XPJetdfVpoIWsw7zMzlncxYZMOVTGgh6IGAHk7Yb/t83wcUmtcTXJ3Jax9pLU3hM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482480; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3xbRlHjkCKfI6F0ZyZVDa30naj6O26Xxb9NXVgkrI2o=; b=BU1SUkQTltwhKayCR4nKpsaVujn9L3fJbOAjAJjjBFjaG3Zzi/ammeN7o1KeHabnrPyL1f/++0rbRSJ+53EoCKqw6vkTeLB0cK3Oaen28k3wYtQ7I8vcVOrxyd/HCKkee/LT5UTMev2XbYX6isYhi6U2VSBbo+RMD8JvaVZlwH0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482480197329.8130971936463; Wed, 2 Jul 2025 11:54:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2b2-000153-Lx; Wed, 02 Jul 2025 14:54:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2av-00014Y-En for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:09 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2as-0001ZU-EK for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:08 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-451d6ade159so34413425e9.1 for ; Wed, 02 Jul 2025 11:54: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-454a9967ee7sm5895105e9.8.2025.07.02.11.54.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482444; x=1752087244; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3xbRlHjkCKfI6F0ZyZVDa30naj6O26Xxb9NXVgkrI2o=; b=ubX536gK5j3zjB4Ssm+2VcnIzeq3II4/YNNtIiXKhqW48iF1SuaNhUrGggp3nkn00E gONKanXnHqF3y6fcu8HsDqDDQ2wpUTEmFqmTTAp5KM44lUf9RTe9QqE8MagwsdWQh90B wwQnLaONxlccMDVgcZk/VoO3hI7NA1qI+q7Epfd1Vmj/AKRPdEDzjy3EVFhBRU9gp2IP sj39V/t6Oto4zoArOGzjwCELJM9+Dn8TZAxOqBHruFhGvz8Y2a9OD4jMJhAF6nZgnRSD QTd1WmBLcSes/+R3ypEklKFflxRPEbNUz1SVHRE2EgmElOrHRACnSbwt1UhZ6Z22274j jzDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482444; x=1752087244; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3xbRlHjkCKfI6F0ZyZVDa30naj6O26Xxb9NXVgkrI2o=; b=QZ05K/4+HjKIEd5qtzMNCsptGPdF0kKfslNsZNH3+gg4Cc9D0AaN8dX1h9TtIuq7Ng NDg+KWO0VGPnsMv58AlFS3EKu3DkS8y0NNvVzMEe/rFLAwynxKjL+zfZRZBpmuhmDIrg 0h0IOWFyA043XXSDcr9Nj016K+OwHGzU4i8hvBqPrpEwluccj9qgQg1nCIWXuXLKhInX 0e1f/uoUz23ApWZYoXx8bHwAo/P57kIACqI/TMTZd9ReBb3Np8EZzmk+ib2UGqus49ya dJdvBZdnfizeEGDQa99J9tS7tWsy7wTdLHlzOtWfd95lKw1NuMhYAE4P6FrnoNTSHdNa 4jzA== X-Gm-Message-State: AOJu0Yy+Rs71IGgldb8WM51NDSezTW24wf1hwRhNF7f77oqas48NjOsi j0UoVA6n/ilWjkpLANhfrcfkAtKaisnbpmrt0ul5jidV5lSgNkPbFmcOcBESZXV7vuvrkPvNM87 pQCSY X-Gm-Gg: ASbGncsy+8V8rncPFiOjPCwO7TUvjpamxh/GA+Ev8uSu0ZsSOAWV4VT7AwErNMNnKVW 4kQDgQnNFP0wIWVUfgsi8CryNrdRL+puR6xajcaaHWDbiQJprL7Jt3r7jmUku8Nxch1BAd2VYRq kx6ttBTNEksu54oH++GfoA0GDhtKUdf/hO+EKDnGX0ohSZOyHI7zLeFgQmIdcATUZSaDu9zVydo yuNPGjTmWQLGqtuljLC6mZwafGxOwCwayUIiCu9EZe2csVJ1+aCbd7HILe2Wsi+KfQpVE/VNvkf wu4WqEl6ePS5WICGCGq0fH3juONaZJaoVUvLfjWuZ921yLG8VKYciap4c5iJUxC6EwHqIUZwxMA ev45UyLOc/3ZY5RiD+LFvUh2U9Jv/pbdV/xR9 X-Google-Smtp-Source: AGHT+IHnU93ZH0LCKAKrDev3i+pb5i+lGgTBlsjmoFT/N2HzvMs09QzE8s3+GEcpPuQnUP9tsSkr6A== X-Received: by 2002:a05:600c:348b:b0:43d:97ea:2f4 with SMTP id 5b1f17b1804b1-454a36e648cmr47129205e9.12.1751482444141; Wed, 02 Jul 2025 11:54:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 04/65] accel: Keep reference to AccelOpsClass in AccelClass Date: Wed, 2 Jul 2025 20:52:26 +0200 Message-ID: <20250702185332.43650-5-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482481936116600 Allow dereferencing AccelOpsClass outside of accel/accel-system.c. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e --- include/qemu/accel.h | 3 +++ include/system/accel-ops.h | 3 ++- accel/accel-common.c | 1 + accel/accel-system.c | 3 ++- accel/tcg/tcg-accel-ops.c | 4 +++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index fbd3d897fef..9dea3145429 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -37,6 +37,9 @@ typedef struct AccelClass { /*< public >*/ =20 const char *name; + /* Cached by accel_init_ops_interfaces() when created */ + AccelOpsClass *ops; + int (*init_machine)(MachineState *ms); bool (*cpu_common_realize)(CPUState *cpu, Error **errp); void (*cpu_common_unrealize)(CPUState *cpu); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 4c99d25aeff..44b37592d02 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -10,6 +10,7 @@ #ifndef ACCEL_OPS_H #define ACCEL_OPS_H =20 +#include "qemu/accel.h" #include "exec/vaddr.h" #include "qom/object.h" =20 @@ -31,7 +32,7 @@ struct AccelOpsClass { /*< public >*/ =20 /* initialization function called when accel is chosen */ - void (*ops_init)(AccelOpsClass *ops); + void (*ops_init)(AccelClass *ac); =20 bool (*cpus_are_resettable)(void); void (*cpu_reset_hold)(CPUState *cpu); diff --git a/accel/accel-common.c b/accel/accel-common.c index 4894b98d64a..56d88940f92 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -10,6 +10,7 @@ #include "qemu/osdep.h" #include "qemu/accel.h" #include "qemu/target-info.h" +#include "system/accel-ops.h" #include "accel/accel-cpu.h" #include "accel-internal.h" =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index a0f562ae9ff..64bc991b1ce 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -85,8 +85,9 @@ void accel_init_ops_interfaces(AccelClass *ac) * non-NULL create_vcpu_thread operation. */ ops =3D ACCEL_OPS_CLASS(oc); + ac->ops =3D ops; if (ops->ops_init) { - ops->ops_init(ops); + ops->ops_init(ac); } cpus_register_accel(ops); } diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 6116644d1c0..37b4b21f882 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -196,8 +196,10 @@ static inline void tcg_remove_all_breakpoints(CPUState= *cpu) cpu_watchpoint_remove_all(cpu, BP_GDB); } =20 -static void tcg_accel_ops_init(AccelOpsClass *ops) +static void tcg_accel_ops_init(AccelClass *ac) { + AccelOpsClass *ops =3D ac->ops; + if (qemu_tcg_mttcg_enabled()) { ops->create_vcpu_thread =3D mttcg_start_vcpu_thread; ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482489; cv=none; d=zohomail.com; s=zohoarc; b=L2uRcudSLpTtRZLdiHlXwkS387nWtzi87pBmN3gX5UtFD56hu55IvZmv6WYrUi6zaPzAVahcjAUeU0wbzPKar0meqoW3+MZUN9l8NNtT5RlwTEgXm1Rx4qYLbrc2gTYbpJ2LHeR9YqlozOvh1eIyTl3dPo00LIBIwrGrc5EF5rM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482489; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Y/J3/dM6yL9EpwD8nNu/ZbysHMLeoDjMiAJQk/DeNw0=; b=Yo1heZSLNiJr2jo79fHtZG1+OyFF1qFyvTDZN2CJ22cUPjt8R69kXDlx35tffYio3QsHP0MUJpttc5FsvTXl03/HVv7F0x9nhKMV08/vVxDqze2axVWl3uIUWuJN9JM+N3GSSuT4TV+eCaE94A5R8i5l5a/o2pX2KA1xz/b2IzQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482489282724.540190863665; Wed, 2 Jul 2025 11:54:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2bI-00017p-4x; Wed, 02 Jul 2025 14:54: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 1uX2b0-00015Q-Uv for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:16 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2ay-0001ax-NN for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:14 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3a588da60dfso3067090f8f.1 for ; Wed, 02 Jul 2025 11:54: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 5b1f17b1804b1-454a998b4fcsm5547975e9.22.2025.07.02.11.54.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482450; x=1752087250; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Y/J3/dM6yL9EpwD8nNu/ZbysHMLeoDjMiAJQk/DeNw0=; b=iDZ/DRp/ddcI6+wfOL8Iibh6atHb2tb857VklA2NYp5ts8GCXZnreApvDuhm0HBX4y OuTKUE5642mMq7oWzXrXSoa1df9dD3kTSqODtuhGvKPa8xaL3NXUl2Yf3KNvhgNQ/tbq Imdod6h6BQlZl19aNNSbkHp4wf7UmdseOcWTTsi0FLFovCoh0iRU0Bh3X1qzIRkM3bHR NurKI2Ng4wvjvUhPC9CS6qTFsd6b0IO6Yl9vBFJu/rX7YK+98aspDkqVGFyR9k+QKRKd 70Jn57H8KAuX1beLeQBC8Xm0kl77OgKocoh54fJQ3h7r9ig4YlPaozMTHvVUGk5oX6sQ zmYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482450; x=1752087250; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y/J3/dM6yL9EpwD8nNu/ZbysHMLeoDjMiAJQk/DeNw0=; b=F99Tl/LYg45N/AYxd8ucKi2W/ZGrFNBl+LduEPo+IXsCJFGpwgICjpuadDzkcuPR43 Yx7b0omTmpJfLB+SsOb5m7C2EoDSvjYjvoqNA2uElbZg+whZnnB2r/ZBImifl0Q4xZID +b8HHYFVbY7Cq0Jyo6VKjqja8ulvIvHxuwmB5iF5hlHMHSK3uHCYC54NAdDcUpUc7mvR lMNZqtsQ2fyt4ID1rBBGOd5A/6h7vOa8NMz1z5NzUiToAt8tOBxdlvrsCgnXNqOia8KL JXAwvdkzaHlDTUpy4T0FvRAQzeuenIw/nCKwmOlOJGRlKX9Bg0JkXnU7wHtiNj3aBXGU cf3g== X-Gm-Message-State: AOJu0YyUFz17uVID946ZwNAX1+nyT/U4/t9aEERdJgTM2c3unNTDYI5q 6Rz3C/dAStCyZbdOpM5N4xfY8gl0fIR77qRrVlROHdAvs+gflKkfbBzJzPEUw5WZOQI4DHGBJna cMLeg X-Gm-Gg: ASbGncvbq0taqMOuo8n9fuzQgLBllhhV0hqcvDIMMHa2/+mloJArZFmymLqM/nwvZ/n ipuc/U8ianrcxSuiDXSy5wbHNVZY5u5wPc0SQoh0mRX9EnuvJWi6N0WthNV3NRYqvjeaNY76GTU BcK3ui8TjgBcyz+HGxWDe6u9m5W4C5stA3tZNMnkGuigjgbh8Svtc315L70Hmns5fUp7BVRtZip hJBq60eUnPLtKNX0Cprvt/dsYxXFh3EYW/hrRI5Z5DJ9/rTjYwm+iMvqNDzXAlKAiwWcy4nNmz7 zgPLzLipW9KpJ2bGkdAH4PROFhDOGmpLyRV4yahcKT52UKkWf1J31ZWH8YCY5LVKBdiEJu73+6b 0jh9Ef3MEtDt4Yqjb7sSf8jIeXU6pMY8x2QSN X-Google-Smtp-Source: AGHT+IEFNJ3OJ7BPhjGN15gtQXl2tNUloyIadggbIW5n7pHv1qGO2xArhxB2JsCML5FNFy7gPqNw+g== X-Received: by 2002:a05:6000:2b01:b0:3a0:b84d:60cc with SMTP id ffacd0b85a97d-3b32bae0db0mr176693f8f.2.1751482449975; Wed, 02 Jul 2025 11:54:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 05/65] accel: Introduce AccelOpsClass::cpu_target_realize() hook Date: Wed, 2 Jul 2025 20:52:27 +0200 Message-ID: <20250702185332.43650-6-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482489874116600 Allow accelerators to set vCPU properties before its realization. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 1 + accel/accel-common.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 44b37592d02..a863fe59388 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -35,6 +35,7 @@ struct AccelOpsClass { void (*ops_init)(AccelClass *ac); =20 bool (*cpus_are_resettable)(void); + bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 void (*create_vcpu_thread)(CPUState *cpu); /* MANDATORY NON-NULL */ diff --git a/accel/accel-common.c b/accel/accel-common.c index 56d88940f92..55d21b63a48 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -105,6 +105,9 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **er= rp) if (acc->cpu_common_realize && !acc->cpu_common_realize(cpu, errp)) { return false; } + if (acc->ops->cpu_target_realize && !acc->ops->cpu_target_realize(cpu,= errp)) { + return false; + } =20 return true; } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482520; cv=none; d=zohomail.com; s=zohoarc; b=EHtSXCoV00TRAnbEul79PdO9ar+c/AMRx9h1vkaufGzvzT7IrrwK2LwSoq/EmUi5NcrmK8+epDwbuwhxyTZdjQ3wlVBHQLK2yNZh/ny1UWXp1awDuiiBa0M/M/fnQYaG5HeT0hvgzgfePqjRuGQWSUS7clTzcLRv4F58CCw74Gw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482520; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bOy/hh8CdzW8JKLOeQuyvYboWC5TjWykREm1ryjsqd8=; b=Qc8rxRYnobgJ9IuKn7svUkodWXUKwjdLWo8H62o98j3vGVIoVOnDnVPTMkAm0ovtsCrzMOHce+c3hakQWZcIKyWj91lUVNTecWSsFd6aNb8EomP8eGKoaE4Kivfb2yEkfrtx6VvlrKOnvgeAWBJ9+6FFC8c9SeDUYCv/PDToqqU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482520354705.8343099075016; Wed, 2 Jul 2025 11:55:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2bR-0001Jr-BN; Wed, 02 Jul 2025 14:54:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2bC-00017I-3M for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:28 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2bA-0001eh-2U for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:25 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-453643020bdso63096655e9.1 for ; Wed, 02 Jul 2025 11:54: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-453b35309casm35763075e9.1.2025.07.02.11.54.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482459; x=1752087259; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bOy/hh8CdzW8JKLOeQuyvYboWC5TjWykREm1ryjsqd8=; b=TKIDvWmzgH2Wu1WJNjUoUTrxHx6YR8rvBxDS9FCvy4F+5cnEcX3pUlDl2nXqItlNsR SvvpV4ra9bqqCtKDqUmnUd6QK+dih+pduG3bR1qJYt+KGIFk/66MNwU5dfJMx40cNtnN ya0VLFY+IaArFyHJft6xCCrxZ7REHvzqXKneBJZX896hz9ozJ2mbZ3u1ctbs6KyvdWHI fkzxaTHYXre+pZsVjvnSd/oCiPJ+3L66oV5tC4MyzJ8fh46rw1biYqzUW78QnvYpa0mT Oq7gyOV6gTUQsJNB0m+0S2OBgZBq2fJD97MnYXwFH55hf4T36xgYAkBNrrOyCCavhum6 Z43w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482459; x=1752087259; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bOy/hh8CdzW8JKLOeQuyvYboWC5TjWykREm1ryjsqd8=; b=gYI5hBQ91ZLyeSNbWgjDCUbRRHdLy3vFwndKDqZs2F5CwirFQzraTY1s1F/aOe6IWZ cg3+1F10Ugr1lva6g8n0wsGxQ0ReEjDQCR3ZyaZkTzzfIig5zBZhfDyzP9K/Ud+UeLiH cCD7Td4wGIJeKHGIabmhM4ANYyYi/9zK+Tiim/8Da0TaxVW+4ixTUwVgZT54kjxzLtrT 6Zo9/hqQVGpyQ+I+JgCvMenPFODxr4JEoFmy9meUJoWi1Vvz8Qly+jnYfjCNkoDFUP3u 6F6Ky/BTblE7kgHe79Ld+oitdVo1Rts7oCaPZjFKWWKyFl9w0hlZMnmGNIAqP4gcNkEK 2FVQ== X-Gm-Message-State: AOJu0Yx01hcUbgd8u1lsF0OhVZ4CHsPDbrcI9oxJYa52siIa3VtS6lEn mzhBG8HwOErsVjlmRqdl4iBt5K+e9S4KC6T0MkpmfB35KtvVclo0jztQn7hxW5matSDx5cQCTzK v2hnz X-Gm-Gg: ASbGncs18H/3+Qjd/hO7m2JyUpNPnrZDpWQwJFfoGKr/POb/EArBysST9c0Uh8TGoKU fBoSGqKzOhxwXWdKZWonb/cbqrDFqd7kGU3zyET5KJ+CBXebErGFsR3oltjB+E6nomxo+W5N/5Q qzvp8bAG8+U2TK26To/ffS2qcV8j7a5igaGYWLp0mewrQXDkiw+k+3ndxcY5cXMJvRYlGeCSIcz gBnR8QDA9f2j9beG0hnHs2xzrGUSX3Yfs6wrupYCOQ/C2+MW3+I2WAhR4CQpQ68cqH963LQBK6t 4fp1U3OMzCGEt4iEpYkRkpUHhO3RAWeFhdQNQAAe1aRyorE4L3Ki0zBDDUXGICFobWnISiLX2vy 18b/W4EbISQOc0csM+hiHVXa77IkSfHzlKP6y X-Google-Smtp-Source: AGHT+IEgLL7L+r+iZgsRNi8i+FxvbIr5PVnGC8TUcln6/EmVy2Fl0Q34xbpV9etgWh6AfecbWbg6LQ== X-Received: by 2002:a05:600c:348e:b0:450:d386:1afb with SMTP id 5b1f17b1804b1-454a36e35f0mr48504795e9.9.1751482459480; Wed, 02 Jul 2025 11:54:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Alexander Graf , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH v4 06/65] accel/hvf: Add hvf_arch_cpu_realize() stubs Date: Wed, 2 Jul 2025 20:52:28 +0200 Message-ID: <20250702185332.43650-7-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482522875116600 Implement HVF AccelOpsClass::cpu_target_realize() hook as empty stubs. Target implementations will come separately. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/hvf.h | 3 +++ accel/hvf/hvf-accel-ops.c | 2 ++ target/arm/hvf/hvf.c | 5 +++++ target/i386/hvf/hvf.c | 5 +++++ 4 files changed, 15 insertions(+) diff --git a/include/system/hvf.h b/include/system/hvf.h index a9a502f0c8f..8c4409a13f1 100644 --- a/include/system/hvf.h +++ b/include/system/hvf.h @@ -72,6 +72,9 @@ void hvf_arch_update_guest_debug(CPUState *cpu); * Return whether the guest supports debugging. */ bool hvf_arch_supports_guest_debug(void); + +bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); + #endif /* COMPILING_PER_TARGET */ =20 #endif diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index b38977207d2..b9511103a75 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -588,6 +588,8 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 + ops->cpu_target_realize =3D hvf_arch_cpu_realize; + ops->create_vcpu_thread =3D hvf_start_vcpu_thread; ops->kick_vcpu_thread =3D hvf_kick_vcpu_thread; =20 diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 7b6d291e79c..4c4d21e38cd 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1081,6 +1081,11 @@ int hvf_arch_init_vcpu(CPUState *cpu) return 0; } =20 +bool hvf_arch_cpu_realize(CPUState *cs, Error **errp) +{ + return true; +} + void hvf_kick_vcpu_thread(CPUState *cpu) { cpus_kick_thread(cpu); diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 99e37a33e50..28484496710 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -367,6 +367,11 @@ int hvf_arch_init_vcpu(CPUState *cpu) return 0; } =20 +bool hvf_arch_cpu_realize(CPUState *cs, Error **errp) +{ + return true; +} + static void hvf_store_events(CPUState *cpu, uint32_t ins_len, uint64_t idt= vec_info) { X86CPU *x86_cpu =3D X86_CPU(cpu); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482908; cv=none; d=zohomail.com; s=zohoarc; b=mMBU3+yh5OaFXRNSt0x7bjS9Jg87pYWLrt8GsC/tk+qx/ucmF0/M2RxSFjeSbDNlqP8PzXjxh8rw94HyFIrEWhMJS7ydCMStZlpdz+ijuYBlm+KazrCaogz+c90/+1opQGY+L0ElvEAVNPK8tHt3lPGWHP/PAK9rhJj0O1mFYmE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482908; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=GAzT+CGbAi3kvmYQ13E5MHk/eJNqjsj98Rjqkr8WsQ8=; b=asL34JftL8Bo++bsNKhxELbdkSiRKD9QJEZmHNAfuOKPdkz4i4dlS1txUO6QHgoBv191qWI1wV1jtI305JztwG7hUpV/71hOKeacIIAQWwB59cA14Ofez9h3gMQmTTXTRvToaxZUbeubGgBY8x56JkWKY3EGGLrN3P2TmCIg234= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482908646978.7074136939821; Wed, 2 Jul 2025 12:01:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2bW-0001VE-3f; Wed, 02 Jul 2025 14:54: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 1uX2bG-0001Dj-Ug for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:31 -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 1uX2bF-0001gs-5b for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:30 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so138849f8f.1 for ; Wed, 02 Jul 2025 11:54:28 -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-3a892e5f8absm16997747f8f.95.2025.07.02.11.54.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482467; x=1752087267; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GAzT+CGbAi3kvmYQ13E5MHk/eJNqjsj98Rjqkr8WsQ8=; b=MU3/H1Ou2TCRoxdz6bC7/BnLIZBJMoNxDm7KSU+aPbjA+uqnZ67KEA5cPxvB/Vi+e2 pxoANmtOovahphLClSEMXnhJlEUw+qE5k1pzq7ki0fUOc6xnRbzTxT1Qy/WpkhZ9GFji nKtf+A0K17OaK8FIZbejWCXprNYDv0v05qqCFy/6OgtL5/rbFCWRrSwTEJX0KRlaoDEu KrU+L7Ica1ZGJWjVEnWaOoe+MHpaK6E7WuVhjfps6R4L68PGabS9Hh6MRVUXssseUhSK boMtdFfsOvTZlGiJZw7g5TdC975DnYewnjd1F9UK++4bVkQ6XKKq3NbS7rrAxV0jRaP+ ZTXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482467; x=1752087267; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GAzT+CGbAi3kvmYQ13E5MHk/eJNqjsj98Rjqkr8WsQ8=; b=sopxn1oXlR5XwOkp7lkg0zwlr9+kKjBQE92agNHirDU28LxtwPACKQzd0sMwP9bu8u kFdovaXzSTIO6bO2zxCfIlEH399xSJVqDi8RtTENIpoVZKa/bBOILylyZaLXCzdUoM3w tlnFGdBtCF7BsI2QqjjYtB9M/GHwuLUFSFEEWauD9eGrIRIKWH5dk0PaiSETOrWmbbTB 4pfzZmxwn4MvzoWbST9VBpK7xLRgRCbKNgOtNmUj63tcPT47Tfl3mUsCYjQLGWvOy1Az Bk/Ojp4JITjB7HGC9l/nuASYOJm9sZPFdGHDx7TQIATnpznu/Ntni5t2t2f6/ZE+9BYy 5I/Q== X-Gm-Message-State: AOJu0YyrDVZA7TRp4DRNZ8SX7GPqh4r0r/VXo/kAt25S3gZq13UZ4h5v dD5L0QYCzN/Bl9WdnEr7KcHiiaSxY8B4FUvklzkUmEjuOUBSfN6fMiw8g+tLqeRr53bNHrACehT DzgWB X-Gm-Gg: ASbGncsRx1/Cwj/OVV/ifkPhoQG6773vpuXEymIxSw9q86UeB991RIjnelX08dd3Ldj L6suW/WOHv6tlDQBhEgFkm2JD5LJRIMczIfJQLay8FLAh1DtaDiw1HovXWPBqPBB0RZwWlmJNQL g66AIZ/BfAPGmLDjq2+fDUTM5vl6OAp9olc7AxQHxKcxk23XoWGj7YL5Nrfv8QHl5j6JF+X9C8K oEQihEiqd2jI5UQK+FZitCeNO+8V72Gbfi5ej8G86+6yQZB4rrocz4Rqv5G490Nz4bTmARqrQ9V J5T+9awDcMCBK4HSJuYGgzqE/3hz2JUDEI0Ac/pArCWTCG2uDgPmzApWZGVIOt97LiZFfva9WTO EViiyGu845nKjv1sMgXNIzTGnAFGmVQSth5xc X-Google-Smtp-Source: AGHT+IGSKjhsY9WI+hU2cySKNu1KrdU/ewxeUTc3VHcwvz5y1+FZQKQjtqw1T9mRm+ZdNPKinWfA5w== X-Received: by 2002:a05:6000:26d3:b0:3a4:f7ae:77c9 with SMTP id ffacd0b85a97d-3b34281c504mr29220f8f.5.1751482466958; Wed, 02 Jul 2025 11:54:26 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org Subject: [PATCH v4 07/65] accel/kvm: Remove kvm_init_cpu_signals() stub Date: Wed, 2 Jul 2025 20:52:29 +0200 Message-ID: <20250702185332.43650-8-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482909741116600 Since commit 57038a92bb0 ("cpus: extract out kvm-specific code to accel/kvm") the kvm_init_cpu_signals() stub is not necessary. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/stubs/kvm-stub.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index ecfd7636f5f..b9b4427c919 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -105,11 +105,6 @@ unsigned int kvm_get_free_memslots(void) return 0; } =20 -void kvm_init_cpu_signals(CPUState *cpu) -{ - abort(); -} - bool kvm_arm_supports_user_irq(void) { return false; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482660; cv=none; d=zohomail.com; s=zohoarc; b=bD0+Pb9nZ3jUPCYXQY0TmzccQaifht4XpgqhXmyuejMyfr+HpRQMpoCC2gTqWLRDZbnotFuAnTUH/rUaOD8MfPz4smiQSJuXA27tpc9qHUTefGsltMa9Lck6LROLIzDQcZxnmFPHNBlAHryML3s1Qtkp0l+RWJ36g0mLm0RC2T8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482660; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZLkTPhlZ6ATb7AAc3VGQov8gsRhAPF8MN9ZoezL4e2s=; b=C/D2FgiZbVqyHQ//p/GLH6fheGNu7LGx614nszLgLPJBu94zfpMAnEPXUY6+80FFE/31raLkwoBg2F8sxmMeqBezLMxs2NivdOcIGfMIi56ds6HRYBjQcWz8HVka3LrGuyC38mPSX8MUlSBxxYvR8uiEvQ/BUy69JXGrlrVe4GU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17514826606251019.0867071926558; Wed, 2 Jul 2025 11:57:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2bY-0001cz-9l; Wed, 02 Jul 2025 14:54: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 1uX2bV-0001Us-Pl for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:45 -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 1uX2bL-0001jU-8z for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:36 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a5257748e1so3277920f8f.2 for ; Wed, 02 Jul 2025 11:54:34 -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-3a892e5f44dsm16537392f8f.87.2025.07.02.11.54.32 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482473; x=1752087273; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZLkTPhlZ6ATb7AAc3VGQov8gsRhAPF8MN9ZoezL4e2s=; b=kNZPOKwe8U9iskwHOrTwN2LSOvV4PmBvTVrl2F6V/xzAXqc8Ywngun94J0wi7iDJ82 x78HjgcYvgeKH81j0SHHvHCX8eY8R0c/W6sputWSGo4guQDpgsIm7zVQmr/BPMBFdRdb 6A4hYzTt0j5iMQ+HBnxvTt+Zqcw8dUaUav1mB8Z8/0m00k7XOzTfS4VKYJ7YLFFqDV5c 2DNSGIZ8NNE6UCGcIe0lnSYq98jLNlnF2bAtMfifyWCgotAAhb6OFY/6QWOWobvtpm2/ 4yPla+3ui5dDfljaYJ+k4Pacz78A6EjqP5LnrwMCfB2PzKAh4d6Ck4KTxZEP1eYigugH Rctg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482473; x=1752087273; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZLkTPhlZ6ATb7AAc3VGQov8gsRhAPF8MN9ZoezL4e2s=; b=hR44eiDH35lgw96SmrKsxphNsnVV6x3T/NxPy4Yu9/3L5RLt7ZxvJSL2wvG5ysaCW9 H8mL2IRVRdgt8k+RliVuDrDZzw4bcUXufZ+03sZOmT0hRFHzB8X2CZ+iSfFBDIAMLwNm jxl9B1aL4rrAWminhaLjH1Q83g9vIW1ZRvgdk6KmlB5jvTFDJ5f5afurHgeuSAD8839o puJTnowLIQOoo3wdys/Dm9Sro6TE40Asuf8puqnWgiB0JK/Hzli7kDUFlOaVshgUmTox wJeC2pTtYqtY0oGu6MMwRhry/X9kii/XvnyCIOxo275lkPP+TqrWHR7DcVJ9FxnZAomZ vL3w== X-Gm-Message-State: AOJu0Yx4rJozMjfZsidQpXKIA2XzOPFnZzvVTjszaaBoeS3shdNvOA3L VUmMHthAXz/zmvxd6rEZb3Mb0fsT0Xt3DavN8yyHAhfarGXYyZmfIOcbwI3PKNMfr92CvBkGQuA q5XRK X-Gm-Gg: ASbGnctpY72ch46ouUvbKpuQGErARHhpBFPHeQXuDjkiCEyd9tqsggKACQK/qWfTnY5 5/BpomuOpFa7MxSI8j/aVPgqF7ZIbsmgXbZMU3jVCa/DyvhpD0Rf3CJ1yBArQGt1R+CeEiA0pm6 jNX7b3+hkUFaF5iHqm5llG1f09aoc/53NdJDc/NHYDAwBWG7RMHa4DDS4TiUbX6N9PqZ+LE7dPH 6RISw2ceRJ2pBMSaoM5I/s+0DlOEEvVaJOD6iRxyDkm3psGuSFZ3eoP9/c7AnB0JY7RyOwXVBA6 17MIcfW36M+Uqku/C1/SWaplHnxC47hSZcChSLsh3Mb4uQpFVVhjfr5pnQrPQKKmQiFyM8eMYFx Mb/kuadyTj7uvjh8dzy4AeN79N8/2UyB54vg4 X-Google-Smtp-Source: AGHT+IGhOWVCA/GtwJSG1AKi+Hd84LJnSX/lQi41cAsunon2TKagKaTx0uBPjZixIm2CjgJYn0tp6w== X-Received: by 2002:adf:f1c7:0:b0:3a4:eef9:818a with SMTP id ffacd0b85a97d-3b20095ce85mr2954669f8f.27.1751482473295; Wed, 02 Jul 2025 11:54:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org Subject: [PATCH v4 08/65] accel/kvm: Reduce kvm_create_vcpu() declaration scope Date: Wed, 2 Jul 2025 20:52:30 +0200 Message-ID: <20250702185332.43650-9-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482661881116600 kvm_create_vcpu() is only used within the same file unit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/kvm.h | 8 -------- accel/kvm/kvm-all.c | 8 +++++++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/include/system/kvm.h b/include/system/kvm.h index 7cc60d26f24..e943df2c09d 100644 --- a/include/system/kvm.h +++ b/include/system/kvm.h @@ -316,14 +316,6 @@ int kvm_create_device(KVMState *s, uint64_t type, bool= test); */ bool kvm_device_supported(int vmfd, uint64_t type); =20 -/** - * kvm_create_vcpu - Gets a parked KVM vCPU or creates a KVM vCPU - * @cpu: QOM CPUState object for which KVM vCPU has to be fetched/created. - * - * @returns: 0 when success, errno (<0) when failed. - */ -int kvm_create_vcpu(CPUState *cpu); - /** * kvm_park_vcpu - Park QEMU KVM vCPU context * @cpu: QOM CPUState object for which QEMU KVM vCPU context has to be par= ked. diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index d095d1b98f8..17235f26464 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -453,7 +453,13 @@ static void kvm_reset_parked_vcpus(KVMState *s) } } =20 -int kvm_create_vcpu(CPUState *cpu) +/** + * kvm_create_vcpu - Gets a parked KVM vCPU or creates a KVM vCPU + * @cpu: QOM CPUState object for which KVM vCPU has to be fetched/created. + * + * @returns: 0 when success, errno (<0) when failed. + */ +static int kvm_create_vcpu(CPUState *cpu) { unsigned long vcpu_id =3D kvm_arch_vcpu_id(cpu); KVMState *s =3D kvm_state; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482513; cv=none; d=zohomail.com; s=zohoarc; b=j/ackeyYlsNZU/9vWVo+YOaLg49GNxuLB81D7y7oNodAKYcmUo15CXMIT+CKZTWNK7daFV/lMwT9sXuArzTC4cA0LsijWJIrjl73K7uG2sHkHEGMVnC8HG9dfaxIjo3wzxf1DMDhzyQN5s5czmzAlRqm9XOj96xnscd3LM9qV1Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482513; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Pcxyecq1Uca5OV4SmO/+hJU9sxDq9D6xrBJnOg87yRs=; b=VaAj1EhevXxFoRk53YnqFfEimjAjSKoJcAV9XnWJgJBsJnCixgCEdJisAQtq1RWRWiWbyyg6V78sof8nZWqCD+HfyXGHOE8lAQYT8JM+aV0eNqDFtftpLMw4bDn9LYk8/0hNbkcU5o5+n+CXNJMGnjgZ5EPe5TeqiZCMyEH7VFY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751482513560510.6675293434938; Wed, 2 Jul 2025 11:55:13 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031453.1405259 (Exim 4.92) (envelope-from ) id 1uX2bX-0003Av-3u; Wed, 02 Jul 2025 18:54:47 +0000 Received: by outflank-mailman (output) from mailman id 1031453.1405259; Wed, 02 Jul 2025 18:54:47 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2bX-0003Ao-1P; Wed, 02 Jul 2025 18:54:47 +0000 Received: by outflank-mailman (input) for mailman id 1031453; Wed, 02 Jul 2025 18:54:45 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2bV-0003Ai-Al for xen-devel@lists.xenproject.org; Wed, 02 Jul 2025 18:54:45 +0000 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [2a00:1450:4864:20::32e]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 032a4a8a-5776-11f0-a314-13f23c93f187; Wed, 02 Jul 2025 20:54:42 +0200 (CEST) Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so51343715e9.1 for ; Wed, 02 Jul 2025 11:54: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-454a9966a00sm5940465e9.3.2025.07.02.11.54.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:41 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 032a4a8a-5776-11f0-a314-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482482; x=1752087282; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Pcxyecq1Uca5OV4SmO/+hJU9sxDq9D6xrBJnOg87yRs=; b=foU7zJ/z1cKdybMLNk1BnCVaXcDZ87GCh4aSbN8GwqJMfSUjdM9jagXD8kq+Apm3l2 dvStAn3gKtqcEqkMA78Ba6wIY5YzTWi9fMhCN1QP0ULq3cQVGVjO6r/jNhupqkcV1Gyy COFq6zFmI8GjiT+t4DUni6lYNsNMXAwyvNigUiHXKxsGucIFU8Vn+76VVSgW8VzUW72h 26Yk3r1vhry4Vx1y4g98McaQH98g00eAgZxF/q2DM/c8sDlNGmtNFMmzuJbaCVXMZ7hx zpUCHV6RPIPgdWE9/wStJelG/MetoTDeBidcVoAbQL9R8jXKlguK/BJmGXsWQRaX4Gch COxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482482; x=1752087282; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Pcxyecq1Uca5OV4SmO/+hJU9sxDq9D6xrBJnOg87yRs=; b=rGxwf5HayApBOijebtHr89e6Z9nLNfceqiiNTKIbdPtUDvTpxdS0LlrOIKEjQZuOBK 3cOB2wLA3f/dAohG1P1U3n34JbOsRnrJIEtfAT6LdW/RXw5oPwuLAqPKoBUEIuE0tUhD nHv9uCDOnL9/AU7PCF1nBJcj9GObwIVVPZT7WS4kUwD7BKNQBv4RRyi7eFCC4HR6ddgu lI/iMcsuTEpkyvUPuaele0hCUgFIS8Ev9GOAwJIc/3QjhlDJoIea+Q0kEmuihEeXiVfF fS7z98L3HSdNUZbwGvPlr/igUKorGuO1NU9FDM+altJdc6Plbrk5P0AS/ZbVakSl2NmN G/LA== X-Forwarded-Encrypted: i=1; AJvYcCUNVtMw+RlpjqS1WdU52uUSCjzh2YmkbKGAwg5R3RAGYDEhQJp7Dkcf+Bka9g0TULBuoWuF/PMzqc4=@lists.xenproject.org X-Gm-Message-State: AOJu0YxZuQJt2K5NpvzjFY/Nr90teH+hgwtPg6K+KfTfu6GIMOJD8HmD /LCyMLHo9/DXpFSJlcr2b3MpFa3pQTBdKhaTnOU6bW9raoh0HVL7k4WYoZ9fn9urzfg= X-Gm-Gg: ASbGncsySgccqNFHKn88ib2ehWKi+CBNo4OlfpQyjk0IYbKOM5vNyYn7SZngWSuAG33 h5IrhRJ/0i3bO9brrtaLUFItx8KWXp7702SXd8LXO7lfLUol0Tymk+pf8lxUcOWy8CHyypfgXj3 OmXC6waeE6VSQjxlYqed9ypitDeSPdzzKXy2ojP74Hd4ohqgKO6D0WqJqDWcPRfDwjJW3GMLaPI 0RgQ9CGy5LdqNQXJ8miMnRG1DQ3sgA2SqANsvKJGU1hzBaLnuIzJ49+O9hDW2PKxqN4ojoXed9P 5CH6f7TIgNlS+O1YcVhnDTNPinHAgqLUcgmUxQNpuFIgAXfYDi1oHTreTgYNL39edIOqLAmQzvF kAmiSyN+t4D2JZXnaWi2WcToesbzi+R/dAYkCdVMEsZEYW6c= X-Google-Smtp-Source: AGHT+IG2xbJ0vrnlKXjnJOXC1pKqbgrk71RyrOx0GBs5KhAxvWN6hGdVgbklFARA84XuaOzPgh1qcg== X-Received: by 2002:a05:600c:3b07:b0:450:30e4:bdf6 with SMTP id 5b1f17b1804b1-454a3704fd2mr40210905e9.19.1751482481564; Wed, 02 Jul 2025 11:54:41 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Warner Losh , Kyle Evans , Reinoud Zandijk , Sunil Muthuswamy , kvm@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v4 09/65] accel: Propagate AccelState to AccelClass::init_machine() Date: Wed, 2 Jul 2025 20:52:31 +0200 Message-ID: <20250702185332.43650-10-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482514502116600 In order to avoid init_machine() to call current_accel(), pass AccelState along. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e --- include/qemu/accel.h | 2 +- accel/accel-system.c | 2 +- accel/hvf/hvf-accel-ops.c | 2 +- accel/kvm/kvm-all.c | 2 +- accel/qtest/qtest.c | 2 +- accel/tcg/tcg-all.c | 2 +- accel/xen/xen-all.c | 2 +- bsd-user/main.c | 2 +- linux-user/main.c | 2 +- target/i386/nvmm/nvmm-all.c | 2 +- target/i386/whpx/whpx-all.c | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 9dea3145429..b9a9b3593d8 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -40,7 +40,7 @@ typedef struct AccelClass { /* Cached by accel_init_ops_interfaces() when created */ AccelOpsClass *ops; =20 - int (*init_machine)(MachineState *ms); + int (*init_machine)(AccelState *as, MachineState *ms); bool (*cpu_common_realize)(CPUState *cpu, Error **errp); void (*cpu_common_unrealize)(CPUState *cpu); =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index 64bc991b1ce..913b7155d77 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -37,7 +37,7 @@ int accel_init_machine(AccelState *accel, MachineState *m= s) int ret; ms->accelerator =3D accel; *(acc->allowed) =3D true; - ret =3D acc->init_machine(ms); + ret =3D acc->init_machine(accel, ms); if (ret < 0) { ms->accelerator =3D NULL; *(acc->allowed) =3D false; diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index b9511103a75..6af849450e1 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -321,7 +321,7 @@ static void dummy_signal(int sig) =20 bool hvf_allowed; =20 -static int hvf_accel_init(MachineState *ms) +static int hvf_accel_init(AccelState *as, MachineState *ms) { int x; hv_return_t ret; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 17235f26464..264f288dc64 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2573,7 +2573,7 @@ static int kvm_setup_dirty_ring(KVMState *s) return 0; } =20 -static int kvm_init(MachineState *ms) +static int kvm_init(AccelState *as, MachineState *ms) { MachineClass *mc =3D MACHINE_GET_CLASS(ms); static const char upgrade_note[] =3D diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 92bed9264ce..8b109d4c03b 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -37,7 +37,7 @@ static void qtest_set_virtual_clock(int64_t count) qatomic_set_i64(&qtest_clock_counter, count); } =20 -static int qtest_init_accel(MachineState *ms) +static int qtest_init_accel(AccelState *as, MachineState *ms) { return 0; } diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 6e5dc333d59..d68fbb23773 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -80,7 +80,7 @@ static void tcg_accel_instance_init(Object *obj) =20 bool one_insn_per_tb; =20 -static int tcg_init_machine(MachineState *ms) +static int tcg_init_machine(AccelState *as, MachineState *ms) { TCGState *s =3D TCG_STATE(current_accel()); unsigned max_threads =3D 1; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index de52a8f882a..1117f52bef0 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -76,7 +76,7 @@ static void xen_setup_post(MachineState *ms, AccelState *= accel) } } =20 -static int xen_init(MachineState *ms) +static int xen_init(AccelState *as, MachineState *ms) { MachineClass *mc =3D MACHINE_GET_CLASS(ms); =20 diff --git a/bsd-user/main.c b/bsd-user/main.c index 7c0a059c3ba..d0cc8e0088f 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -474,7 +474,7 @@ int main(int argc, char **argv) opt_one_insn_per_tb, &error_abort); object_property_set_int(OBJECT(accel), "tb-size", opt_tb_size, &error_abort); - ac->init_machine(NULL); + ac->init_machine(accel, NULL); } =20 /* diff --git a/linux-user/main.c b/linux-user/main.c index 5ac5b55dc65..a9142ee7268 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -820,7 +820,7 @@ int main(int argc, char **argv, char **envp) opt_one_insn_per_tb, &error_abort); object_property_set_int(OBJECT(accel), "tb-size", opt_tb_size, &error_abort); - ac->init_machine(NULL); + ac->init_machine(accel, NULL); } =20 /* diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c index f1c6120ccf1..eaae175aa5d 100644 --- a/target/i386/nvmm/nvmm-all.c +++ b/target/i386/nvmm/nvmm-all.c @@ -1153,7 +1153,7 @@ static struct RAMBlockNotifier nvmm_ram_notifier =3D { /* -----------------------------------------------------------------------= --- */ =20 static int -nvmm_accel_init(MachineState *ms) +nvmm_accel_init(AccelState *as, MachineState *ms) { int ret, err; =20 diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index cf6d3e4cdd4..f0be840b7db 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2505,7 +2505,7 @@ static void whpx_set_kernel_irqchip(Object *obj, Visi= tor *v, * Partition support */ =20 -static int whpx_accel_init(MachineState *ms) +static int whpx_accel_init(AccelState *as, MachineState *ms) { struct whpx_state *whpx; int ret; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482554; cv=none; d=zohomail.com; s=zohoarc; b=dvLvL30DVTNVpg+SgtZM7ejELaQACB563YSxOleNx4NOPtCyJnMFuptRGT+dwNrjKGRTtWjylNyFOint3fqr57LZAYq5hslvfMWfzaXgUP3IioVApcqzH53hAIN2fJX1wm3yN5NWzugf4Dz2042xLq9GSRrh9VA1g59XUjrTucg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482554; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=K7agq2/z/dMVKZ8AYrQE6GIlp8fdEIwRrjWbdb+ua6k=; b=FpibOrg8mKrraej+ZXjh5s3MZTfxaRh+v/ksNKt+GM9bOJuQz9jhxjhcOEY7dyMqLyCthGPIHr3oWQd85AiPt1sctIM6kPirrHVpPrq5ztCjLNGnfhpKlnY9EvRm8N+/0ltIJc8FferSQVj9ZPEM1VAM4uMD1ODGRAZv/k8NqA0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17514825549091.9260431005361625; Wed, 2 Jul 2025 11:55:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2bg-0001vf-43; Wed, 02 Jul 2025 14:54:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2be-0001p7-8x for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:54 -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 1uX2bb-0001nF-K9 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:54:53 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a6cdc27438so4135294f8f.2 for ; Wed, 02 Jul 2025 11:54: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-454a9989423sm5599515e9.19.2025.07.02.11.54.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482487; x=1752087287; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=K7agq2/z/dMVKZ8AYrQE6GIlp8fdEIwRrjWbdb+ua6k=; b=pfFwlaT1zqK+wo5539RRzpwGKUHu9UzEX5WcrLPZpZ1DussBHvIwNip7+8wStAaQrt ZxXVMMxLHWVe7BVaGkbLdrER2q7P/7gaGGb0ejZ0IFaF47Bn9crW8114K3LQEusGvRwc N/FWgODTT1C1MdEv5JMN2UtmNFXXI5tBRjPVdiEqn43rVFmxI28KRayz0rV33XruMGST KdS6cW2R+y9wn3BHuwvOpoB7djkksW6EZ2I81OgdClnYTkpie9+EbpluA1bJJRIdz9kP gXT1k6VxKViC1DDFuOo9JcbynTqQ1HWRDqc7cw3sIGST3YiY8ZFHYBasuUfEBwNouVQx 9c9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482487; x=1752087287; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K7agq2/z/dMVKZ8AYrQE6GIlp8fdEIwRrjWbdb+ua6k=; b=GaTN0WEibafwtL/vFfmQ1qV9shHNGXixMFbxww8MvKagYRVSJdwCpb9tJ8pZjVFSIu /ciRORUl9A8TqPIMKUyft1wiDufjlKMtO1L76wWfx8QqPv3X88bXCR0bT0A6s5FqeAtm FsWj7J4QcWVnde5pJvgMjm66nNBw2KoG+DoFsRLMy+H/6VTsET9H3HzyJ5l2qWKnTXwf D/WuixIR1buawgWfkuIKuZb/RYEGReSViVomaJ44KpPbzkEspKlOZxcYwz6QYy20bBzp D0pFKSFdtGwLHKEvdBh5gdJeXd5M5rwJRac1hJMG3xv+vo4k/wvVpJAbDozFwKPZXFgE WK3w== X-Gm-Message-State: AOJu0YzxfON+sqV64/2YPzt6rpgwFMeZckk4C6ojL7mbuz5XE56+CLDG 1mb9cSlntuIG4KTuxhmVtwDpmZHkjdUFS2JhHlx3IaL/dTGRjTLeH+/+kKGpkTaw6AfM1TRZouL d1x2t X-Gm-Gg: ASbGncs7tfxmFwKU/SgMRWX0ouJMsr2ZpsuIvQzs+GBgwvQl6bUh/6+UnA8/SFraYGU maXcSOJDNUQF1Z2j7jw133QQB0vh8Z81WCpL5EP+/1jqBq395H9X+/FoCC6RPTUoILrpnhJwfiI GyARz1mgWc8qaJVH/HIIjrGkfLV4YDKWM+EFGjeUho62gZR41HmzKpiW+wRMBqf0r0Weds2W0eO yRht/iD0unCniAKLx7P6SzRqxU64rux6xXfvmJUDTZur7wUf+auockWwWpsuIDh5xFXxKiufcZ5 zxdZjN5QkKLxQQmXyFqXAPVwrTzCcc6eXVzWiDnqikJNQpEX+JanFHFy2UEzNHEVNigmoGDwHgm zKyiFlPgdrly4FfTXY1CfjXz2OK0mcBOtmwrN X-Google-Smtp-Source: AGHT+IGUQtIt1emteiYwV891bgO7McJF2bqG2ULHbJtk+FF44HE2MvtisHO4HAlpGrc/qLCw3aFVzQ== X-Received: by 2002:a05:6000:290d:b0:3a5:2848:2445 with SMTP id ffacd0b85a97d-3b1fe6b5ae9mr3546118f8f.16.1751482487269; Wed, 02 Jul 2025 11:54:47 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org Subject: [PATCH v4 10/65] accel/kvm: Prefer local AccelState over global MachineState::accel Date: Wed, 2 Jul 2025 20:52:32 +0200 Message-ID: <20250702185332.43650-11-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=philmd@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482556720116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/kvm/kvm-all.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 264f288dc64..72fba12d9fa 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2588,15 +2588,13 @@ static int kvm_init(AccelState *as, MachineState *m= s) { /* end of list */ } }, *nc =3D num_cpus; int soft_vcpus_limit, hard_vcpus_limit; - KVMState *s; + KVMState *s =3D KVM_STATE(as); const KVMCapabilityInfo *missing_cap; int ret; int type; =20 qemu_mutex_init(&kml_slots_lock); =20 - s =3D KVM_STATE(ms->accelerator); - /* * On systems where the kernel can support different base page * sizes, host page size may be different from TARGET_PAGE_SIZE, --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482543; cv=none; d=zohomail.com; s=zohoarc; b=RWLSHVgu/TMv1QnqLfav5uyYBK/sBIacu6+ZtzlOI9BpLNVMLnfWZrLS3OvrNlnPkt1oSZekdQLktb2G7dtJDcY0xt+NURhQ8xbMeWAvQP2oM6A1r7FQ4MfRA2ELYDwJa/bJK0plfnUoyhYpfms/SsHXhz2zOXR/90bzJxMQ+T4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482543; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=avPL5wc3uCAbxMdjiOjEAiPWhgKLP3dI+/bwFAvHMvE=; b=YNUS66bu5Alv0keCGBY5i2zbPV/ICDTcxrglq8mf5UEsoJ98bzRBUz7D69CNmzIv74zJh+6suxvI/xdeCYq4s61PCzMYzxTjo8FJLmkZLvizV2xXGGQ6D0B7hPhCeXfL/16cJfARpBct5MVgQWtmfzx+MBT/050/p0XYMLCrM3E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482543355982.2127169928831; Wed, 2 Jul 2025 11:55:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2c1-0002XQ-VY; Wed, 02 Jul 2025 14:55:21 -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 1uX2bo-0002GF-Cl for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:05 -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 1uX2bi-0001qr-9l for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:04 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a57c8e247cso3952623f8f.1 for ; Wed, 02 Jul 2025 11:54: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 ffacd0b85a97d-3a88c7fab6esm17029477f8f.31.2025.07.02.11.54.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:54:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482494; x=1752087294; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=avPL5wc3uCAbxMdjiOjEAiPWhgKLP3dI+/bwFAvHMvE=; b=qmqFD2ucMZQMoA8BRErPD2HSlJEV+2+UEjhmuL0GqMRWoxE1YC+HiRCEAGev5boyGw zVyIMxXdI3PV+OlE4Q8YQ+i6F+5ekcnX7Cf+zr1Gu5QaIq8fgItSKBUGaR0dlIG8m4vG lvrCFSQh5ALPEmrTvlUwzKW088wk5GVulzIhkDh5soKuVP73gS1GsF8ftcXhECmS+SAx yrq0C9SBQ6GxRBAxmz9AE6iarJBoq0u5j/bCPNF2xngKA6dCjkFxccPe5YZ5Q0f3l/qN /RYmU8/NuT+3kM5OY/ExDZL+8CCzUMEBrShqJDCh26ExPcWFrVtnKb/ejSEZidktSueS S6Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482494; x=1752087294; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=avPL5wc3uCAbxMdjiOjEAiPWhgKLP3dI+/bwFAvHMvE=; b=t9ucPiGkTq4j93N2VgmjWKV35ordHjJfz9JOztiS6zhK5UxaebRKiucpRgQYodELfh S5gZ4P2RdzvMhmLrRxQd/r0A62F7nicIz3I0Urbay2377ulG00q1/nmrFD4n99w93aLo rUpMXfzoKG9hMBYh6kiWvFkc8d/uEn9ZqLqIJkU3uzXuPKxOGTpaeYQPz0w3N/zafo5g WhvgS8y33Xk9CO1X3ovgwTce7L+WTVmFulWsc/O63qSudRzSHk3p+PmmYKXEVKOmDfes jYdka/qywsYYVQR+ryOR5+Ge67RUvkpOx7KLrMfxbNgzEqz6Kc8U5ZDXV0s3DkN3ZUkX DeUg== X-Gm-Message-State: AOJu0Yw5FtK2GXNR9Qwg8fFqHRmGchRc153DPQ6G/129hUq4honB5Lr1 lQsfRWB2OpRcL2AFE7aLnuMB2/9XHCoomQ3Mre6JC+Y8q3R0EyXs0Gi+/CGChfEfJCBCzX82A2d zz1aP X-Gm-Gg: ASbGncuvDm+C2hge0b1butEt4sBsw8wj7IJTzY0u7aUbjinUO+GfOUQFhkaV500wIvr rtumo2MYL6IweR5Av22wvmchz4RmTwP/nsMbEr1yCBTJpI7rjogw/6/I+rT/HmMrXCr7g2Yyd17 /5OD16eWhfPHL4QYmTq+Q1u/oNnWaQk1fexjvAP1FP+qbfGJ7UQsTDR2MUFvgdyV85U5ZxCAmaK trpstNIBosJCGrGi7mfxH9vinmkO6VXbQJjr7Ml8tkCPpZYfgLXGlwmLufcVjpIrmkLIRTOYXbE nI9wDrdipflH6RSGm/sva8EAxK75mv2tL1rgINSsAyvouMq/pAG9QgFAy8mZQSxNCHMi4EPOXD9 m2XXsYMlPGNfbwB1L5BYA2S7kY15LWH73HJiy X-Google-Smtp-Source: AGHT+IFPxUaRkpQPVrFQhhNRZZo6xt7TGmCXmlwydWWe7QOUOkZTx/xpwD6RHo8hsEvkUY1d+ceasw== X-Received: by 2002:a05:6000:64f:b0:3ab:27f9:e52 with SMTP id ffacd0b85a97d-3b201203956mr3022804f8f.42.1751482494415; Wed, 02 Jul 2025 11:54:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v4 11/65] accel/hvf: Re-use QOM allocated state Date: Wed, 2 Jul 2025 20:52:33 +0200 Message-ID: <20250702185332.43650-12-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482544757116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 6af849450e1..c256cdceffb 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -325,7 +325,7 @@ static int hvf_accel_init(AccelState *as, MachineState = *ms) { int x; hv_return_t ret; - HVFState *s; + HVFState *s =3D HVF_STATE(as); int pa_range =3D 36; MachineClass *mc =3D MACHINE_GET_CLASS(ms); =20 @@ -339,8 +339,6 @@ static int hvf_accel_init(AccelState *as, MachineState = *ms) ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); assert_hvf_ok(ret); =20 - s =3D g_new0(HVFState, 1); - s->num_slots =3D ARRAY_SIZE(s->slots); for (x =3D 0; x < s->num_slots; ++x) { s->slots[x].size =3D 0; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482550; cv=none; d=zohomail.com; s=zohoarc; b=mzjiqLGdeYp7KCtS34zD2xvvW3M1H8c1VZa9O3BvnTO86vXg/GbUwWisT9caytIFNSzWg0+PtjCdCmH+MfWTkPFKKXFK3Ngtt4su6OXo2Qdd1XSTqCSMZH6KucLHG+TQS8Jj/fK8zZscxlo1rYmgG28P9Gcdk8cNoTmyePtAMJo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482550; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Etx308N3I1KijyhBGAM+HBbz94lNBN0h4vUS6IObI1U=; b=PrKOOnFpMtTfM7ZTgR5dt2feF/yaU7idnF9ki8cDQobzCUGqrMawBjRDdzO6SdoVzXBwWhy4Lap9lxo9zpFeh8jt8OYmJ7nIJyAIOSlfOpK+140nUKOAhlBsxgFKNxKvJPxy2ev7td0Xkbh+QR2QbciZtdq2VjwDRexYz8pnewQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482550704945.5806865038126; Wed, 2 Jul 2025 11:55:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2cB-0002zo-1L; Wed, 02 Jul 2025 14:55: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 1uX2bt-0002OR-1g for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:12 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2bo-0001tu-0G for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:08 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a4fb9c2436so4216436f8f.1 for ; Wed, 02 Jul 2025 11:55: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 ffacd0b85a97d-3a892e5b2a7sm16819539f8f.69.2025.07.02.11.55.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482501; x=1752087301; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Etx308N3I1KijyhBGAM+HBbz94lNBN0h4vUS6IObI1U=; b=qreMn/7jUJ9TuaxEKCVfy530ELpMUL3dWHMHFPIG+iGNfpJxpzn06Qj2WgWckwf4ky 91NS91SnPQTGC5fHGITtMWE9OZWI68G4eRN6DDFM44nfhhHj3BIBxnnp6ObHVifZs0zg CyjR8KVOEfZ/yQ3g+UziUT2J6hHPS8ICVy552Fz1igWeF7Tw/WVmJuwzfO3OrYY+Tu3l Y0gwsjmU/1TnOVERFFmzuG0cwbOcJN1ITyyldF+DSjEL80Denk5wQSkNAsw3rwSvByOF j6veQfHC2KnETEmQdHaq/m0VRj4Wc5SNWRJa3rgr34rV0D51AHh8R01A5wxNQ4PwXTDn g3UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482501; x=1752087301; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Etx308N3I1KijyhBGAM+HBbz94lNBN0h4vUS6IObI1U=; b=Zvsi6uPTOgMh1mkYNXbzGh43WXVqrsVSIA50KITTvwtPdOu4vWtGBmAMKlxHbL37C6 ThTmf+FFNPp4sgjkGbTRyQdiPQMGlU/z283wMK5+JdjuwZJbfNMe74uSx1UVEMevdZdd mrVEJYGkVSBqvBCpRf4uxa1aYC3o/gwq/ztOQdkyYXN/ElPIpQqFIIQf5Jwh5fSJKWog /aCWDyo+DPAHHE4TV4972D2rmIFqyo5luQjuP+xvxzXwf3yV/5QM6yEeMqz6IPcEwftU 5ZFZnWaM8z+AQdAbkGxH26XX86XeyNGH+VNPvceUq1D6+OYK0kBaFbRIwi1d3IGNAtg+ UNDQ== X-Gm-Message-State: AOJu0Yy2Dwdx9AosiVqfijuWybUAc899Ej6NqeovHor+kaMb8fG1rQ7/ RCl5fPoet4z8YQu0S9dSgw+wmGjKqisdvBZeNPN7G3Wi8TuUgV7oVWOtKvmYsdcqFN4vF80I97T 1wXTl X-Gm-Gg: ASbGncsGliknSqeOHO/FzzZy/MHXZeVbRrKccXLKgCaJ3oYVjm4ijH/hMdsqFg55hhH 825b8LZuHKCZUTJ726O996noKmZsqtqi5mv9J2dCZi0xy9pBK9ZXRYq3yEqHby4Dn9754e3ZZCV XW0Ope8dP+XGFE4Zb9oLnk5dsCi0tzyXRLH40VPMgLlUcQG1uMVfocbjC6RO1TttKsIzhq/Z4uX aDHaf1UieirdbsJ1TB763DM1J9Ka85Er5s3X+GNdvyEWkFCGgXjfD0RVhdbNumVAko6gplwiB1s yr3Al4B5lnEdo7N16rhAyvgs27wHZuhLh6joyfVSgiYjVZbjxcM4yDf1L84B5Pzi5jxE8iuUukD B0ks2v5m48q2ZktKVzch7ZtijFFbCENl8b35S X-Google-Smtp-Source: AGHT+IG2rGK5f9Ph/LArDkdK1jqQJ+Q1JQBsKWr5JT1POzW+GOK/Cm1eSuCkWhz0sw4eCuQb71iojQ== X-Received: by 2002:adf:9787:0:b0:3a4:dde7:ee12 with SMTP id ffacd0b85a97d-3b32fe1179emr177533f8f.53.1751482501392; Wed, 02 Jul 2025 11:55:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 12/65] accel/tcg: Prefer local AccelState over global current_accel() Date: Wed, 2 Jul 2025 20:52:34 +0200 Message-ID: <20250702185332.43650-13-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482552668116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index d68fbb23773..c674d5bcf78 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -82,7 +82,7 @@ bool one_insn_per_tb; =20 static int tcg_init_machine(AccelState *as, MachineState *ms) { - TCGState *s =3D TCG_STATE(current_accel()); + TCGState *s =3D TCG_STATE(as); unsigned max_threads =3D 1; =20 #ifndef CONFIG_USER_ONLY --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482542; cv=none; d=zohomail.com; s=zohoarc; b=FhMnlqXQdMu5/LST3LUb9sV/HtKhicCCKE2NBDFKYMMjr5ATkXSX6grFR4HRnmdEVFO7N6ylbIkZ2HEkuDpNJI+F8rpZbIJ7Xv2SsUUcCDnaPhRzGpN+JNowQOO9V15s/+9h7DfTvNfCRwsxyDbDjkF3d3Cu9bqP8YEEW7TK5T8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482542; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=n6K9mSwv/CYdnYj/oy8Qn9vjsBz9CL/OwJ6+0PwH1Uw=; b=VLZ6fz5AjcCDWJlX91qdZ0Xp1xQ5cyLqXqS/pL8uDMpQIkXVGaowRGgHM7S4D5FYJqpHCh5t8zkbO4jniF9SvwELC1i3CG6Moa76/6yT9C5SAnbWfEPFfanlSxudos6p+EoqNZawu/3+0k/pkc0dZbp2Fz96Ci6mPEdC3LvkZEU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482542453127.43528776270159; Wed, 2 Jul 2025 11:55:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2c9-0002rk-Cd; Wed, 02 Jul 2025 14:55: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 1uX2bw-0002RD-IO for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:14 -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 1uX2bu-00027U-S1 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:12 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so139132f8f.1 for ; Wed, 02 Jul 2025 11:55:09 -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-3a892e5b2a7sm16819760f8f.69.2025.07.02.11.55.06 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482508; x=1752087308; 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=n6K9mSwv/CYdnYj/oy8Qn9vjsBz9CL/OwJ6+0PwH1Uw=; b=nG3O7mddAbFpf42uQWfB3VJh1zPnqmohIc5PYcTtn4icnNmF4tLhM5JNtjBkiGovX5 EIDrlRXr9E6U85I/l/xvsu3TOjCr/5vF75esAr7cR3t/4/aIo+ZvibFPWNZsVEE6OvjE sbU3j2HV2d3IfAukfVi8+GWA7UaG5ymIXEDZiBVteC0jcpaOaoiIUmYjvxKO7ecMnWY2 wcL/x1+zOHrae0hfzk1+XddYE6mWFvXhv/J8bhQoTkDYgBH7qD1S8oBmtKqAsneb1Sgv P6jW3FoSnW5/POoUMgsEh8gr/D+JkQ/0GTlesezAaOEN+rCfe8Q8DzBVIGQ8qemXbc07 Qj/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482508; x=1752087308; 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=n6K9mSwv/CYdnYj/oy8Qn9vjsBz9CL/OwJ6+0PwH1Uw=; b=OM/1oZPrNJvo+ghTadprTGCb0Gcmx45VIhGnyFggsv1EpcR1pcf8S++pGnp8m3w8Oc i0U3aiJcSRlA2vUmL3hJ5uVs/jRwTuqGhbXidwCsWWSbSShwRi1KYY0Y1uVjfgFDsUAP wfhNo+hAfkcB2anwakLSlZjdcQl6Xql958WCf3w8fLLVdPh33Ef9QqXcK6DiWnhZCUxj 8hUSlTnHWNXMSzBNcHHyX/kYk5xNRKfiMwfvTD7+ReFB+mcwl1XCTOZ5kRh+2EiLhLcT IX5gokyfr5fp2P9gCRpw6pMud4SxDve8ge3hxzAB/YaKryWtALuP/LWpzwh1y4Kgya55 epRQ== X-Gm-Message-State: AOJu0Yzk3qeqnYYY6y4RCCzgTyIUoQLY+dOXddPDBjPtZBXBKPzZMZtB CQkiwMxjrmPCBt9NMTlIJctYy6VpzabAHXqqaS5qr4XC7vS4GWShaiy1A2kw49F0Uy5K5FR592r svjjf X-Gm-Gg: ASbGncvmIh2OCNQAicJT/lH23oxKp0Sf/MYLQepJetWUe12TxQcBLf+efFcoPXIP/+s 7SnJKSaoA9at4S2ZpGmbBvl0vfTX3iH3/7Zz3pCX7UGI+v1EgWeGq7fqUom1BoLoyaaFfrG2DxR 4bfycApGWL2EYyQqskcOd885egMawGEAAbI3wFR8RvMc9n0r+dhmyKyRg6NEjeTUO8FcmolPcPi a0tkqGw2Gwe1X4EWdE6uoyyH6Ncg0B8EgwfnPuzWvtWcegyi2ZFySF50kg+LkpIio+rLvGzKsox Ck0/9Mu5FeDWyTnI7yA9QBDrTPVe58oBORL/NywHGOtGVQ6cwzMIdlAFU/RrMnblupCBOGAmumj b8RqCaWNYVW9UZNJ5zB6j0StvyAwCIyHfw8Bi1kSvCwtUDdk= X-Google-Smtp-Source: AGHT+IEzzMX2NSpxlPsQ1b+gUvUOHoEJg0ltNzuqMHl7tYtFJYsLby7jGahEMqpM5rnI2gJXqZ+Fmw== X-Received: by 2002:a05:6000:1885:b0:3a9:16f4:7a38 with SMTP id ffacd0b85a97d-3b34243febamr29187f8f.2.1751482508444; Wed, 02 Jul 2025 11:55:08 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Xu , David Hildenbrand , kvm@vger.kernel.org Subject: [PATCH v4 13/65] accel: Directly pass AccelState argument to AccelClass::has_memory() Date: Wed, 2 Jul 2025 20:52:35 +0200 Message-ID: <20250702185332.43650-14-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482544601116600 Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/qemu/accel.h | 2 +- accel/kvm/kvm-all.c | 4 ++-- system/memory.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index b9a9b3593d8..f327a71282c 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -46,7 +46,7 @@ typedef struct AccelClass { =20 /* system related hooks */ void (*setup_post)(MachineState *ms, AccelState *accel); - bool (*has_memory)(MachineState *ms, AddressSpace *as, + bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); =20 /* gdbstub related hooks */ diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 72fba12d9fa..f641de34646 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3789,10 +3789,10 @@ int kvm_get_one_reg(CPUState *cs, uint64_t id, void= *target) return r; } =20 -static bool kvm_accel_has_memory(MachineState *ms, AddressSpace *as, +static bool kvm_accel_has_memory(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size) { - KVMState *kvm =3D KVM_STATE(ms->accelerator); + KVMState *kvm =3D KVM_STATE(accel); int i; =20 for (i =3D 0; i < kvm->nr_as; ++i) { diff --git a/system/memory.c b/system/memory.c index 76b44b8220f..e8d9b15b28f 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3501,7 +3501,7 @@ static void mtree_print_flatview(gpointer key, gpoint= er value, if (fvi->ac) { for (i =3D 0; i < fv_address_spaces->len; ++i) { as =3D g_array_index(fv_address_spaces, AddressSpace*, i); - if (fvi->ac->has_memory(current_machine, as, + if (fvi->ac->has_memory(current_machine->accelerator, as, int128_get64(range->addr.start), MR_SIZE(range->addr.size) + 1)) { qemu_printf(" %s", fvi->ac->name); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482579; cv=none; d=zohomail.com; s=zohoarc; b=OaaaQ+R9ZbACn6HUrrCBzuvfGU6x6OVmzP18kQuyt3mkSp/aGNTkW8nYFIZvqVM18anQRaWua2LtW9QN4JQcdTFfY5cbvFnMk2w+8sLODGanA9pN4sQDUMJW5V2kqCTAvosa1I8nbIqfKVA/hCgs9AVOUBsQ0xQ8rlDvjRzqWIA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482579; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PEXuTiZx4NBtgct91pluD9hB6GRxEbVAf5qByawcXe8=; b=Izb0VRwiQUn8CWHpo4Sqn6mb+mfM9rbD6os5bDZFofpXStc21B+oueylQIKnKho4p0ZOL3Sp4jtsBhlZkKT/9gHqrO72KvgN4egKqoJCMKpN28Ir9Q0BZfz86qIWMpgyJ3kng4p7NdiLpGXU1l47UvMBiUy/3mHIYuEFLWPCLaU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482579450458.0178014589959; Wed, 2 Jul 2025 11:56:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2cE-0003JN-QR; Wed, 02 Jul 2025 14:55:31 -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 1uX2c8-0002pN-H1 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:24 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2c0-0002AV-QS for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:24 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a528243636so4567077f8f.3 for ; Wed, 02 Jul 2025 11:55: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-3a892e52c8esm16870330f8f.55.2025.07.02.11.55.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482515; x=1752087315; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PEXuTiZx4NBtgct91pluD9hB6GRxEbVAf5qByawcXe8=; b=jiHt5unROrHcP4rqicIJxknx2jsIaVzue/GyxE28bAtZSsYZGpo4aukl6h5Ov6TMYy 4WB3x+nKc3Hyyj7AEqPsm0P32g4l+Eshq2kPeteu/7Dd8TWi807QCQXGTuK5BXQpGavq j3hPzBQv2zlKFximBcAhgoii4fp+jCIIWXlgh5Bbeye/ljnBIM7seqhftSdCVHHYZm1h qLZz2cWa3Nv3yBRnRXY0gZ/+nVRVL0XOcE8hG8eJsHgdrjZh7wVo58JzodECCpYFdcep GAygHdMemQ8lBcTFw6EcOERe4IROBg3gPviZNlypcu1l+JpQ2l88t7krUgjdStd1GvpA DZyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482515; x=1752087315; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PEXuTiZx4NBtgct91pluD9hB6GRxEbVAf5qByawcXe8=; b=drjn+V4TxQF3GEMsX3Ox2IA9EAnpHAlGkU14l5FpfItMAk5TOlXMYcKl8gL/kaEmVT QdJivTR1eR0Uy0Di1tFKChvUwQ0lkQ+SIpMcyxZIHVhckfzmiL2Iupb2W24BQOx71HG7 7EcY3+t2TK5WysOMo38gki2+DHT6wVcwRivqJcJYI2ysEzkBK866HWd5qiig35SGDI2I h26KodkXFwSyEChBQzZo49WJ21H55DyBEhm8w8Qh8ZFCXMPMgt9nTGvJf99Jfn1sCDUF 8KzQHsP5hHWW1u06OlVQZPj6DhZgcr77mmDaOuAdEGZFbvH+R6PKD7TwEfpRfWzyvGa+ TvLQ== X-Gm-Message-State: AOJu0YxHe5DRHB0/SHRIE8EBpUnctMbXQCxnMHjzdjwGcLV6IIS65yye uHsdLMMtdmshDZFsDg8tp6pb/iI5pyl7aOekusK4n/Ep/bhrIZevlJ1qT8zQktXBDgDY3UrIHdh EtBcE X-Gm-Gg: ASbGncvF+TRDtHmPK/gy6nNwSMBqPsqv1wWnwCUXF/pcuCG7o3PkJQBhihBF8aFG7Nc 5qMZHs+e30wS9QTqnwUCqSjCP8P+WV8VXZdlq/yEEkY+IRe3lqafRtV3RLaaZjOqn6ltYAf5tq7 /vKFokzgJFrP90O+qyRzj8eJy/TmJ3zhlv6s4Mtaxua9bn3skvOmVUwJlQFHxI0gRF+HQ8PnaFm qYU3XlhwiC0KgKooPeSxBB5nm+LtedD2S34dyHADPfeTJ96abfVdbnn0uVCCKl/DTUwPJ1CHymD u4XIWogKIJD5kqcFpuEl675HouegzYRfBpS73YPdcH/Z5FprhWPy9e/pRM6HoJREtQJuSv8HKae kmU2wQHzix881W8KOzX/w2+aoDTovKZ4GvKma X-Google-Smtp-Source: AGHT+IGC/drp3yMryelqlsaojOmXUZ2K7xqD5U+6AbjKxisbXRDLHdj212ng2Dwl9BWxNzsTwldHpQ== X-Received: by 2002:a05:6000:651:b0:3a5:51a3:3a2 with SMTP id ffacd0b85a97d-3b32f383792mr212092f8f.45.1751482514898; Wed, 02 Jul 2025 11:55:14 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org Subject: [PATCH v4 14/65] accel/kvm: Directly pass KVMState argument to do_kvm_create_vm() Date: Wed, 2 Jul 2025 20:52:36 +0200 Message-ID: <20250702185332.43650-15-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482581035116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/kvm/kvm-all.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index f641de34646..6f6f9ef69ba 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2470,13 +2470,10 @@ uint32_t kvm_dirty_ring_size(void) return kvm_state->kvm_dirty_ring_size; } =20 -static int do_kvm_create_vm(MachineState *ms, int type) +static int do_kvm_create_vm(KVMState *s, int type) { - KVMState *s; int ret; =20 - s =3D KVM_STATE(ms->accelerator); - do { ret =3D kvm_ioctl(s, KVM_CREATE_VM, type); } while (ret =3D=3D -EINTR); @@ -2646,7 +2643,7 @@ static int kvm_init(AccelState *as, MachineState *ms) goto err; } =20 - ret =3D do_kvm_create_vm(ms, type); + ret =3D do_kvm_create_vm(s, type); if (ret < 0) { goto err; } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482541; cv=none; d=zohomail.com; s=zohoarc; b=fN89V1kMv5kVbtg+ZPAir88jeMtPy4I4aScBGYUMFAveRQHFT72IQEPpD/I14q6znGQACpll533LTHKfWjYhR1Gfgn9ZBP5DRp37Chy3V4gwb64dUZL7sIrjn3+5IehCOa6vR9vdaPWvgzhPbN4UiHnmaFlcL0ylcIfAzaqyteM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482541; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MnLLL7YQoCQGdWR3EVL4zcbePVJyUuDX4baxuyLLriU=; b=SdCwOmQRfT2MQue0UCCSLDg13TKYvu+G8lutZH5loGZjZbQrKVX4OpCvit9blFKGyiemSjFkicsGa4Ko/y7Ve2e73D54lnr8ADqkIstcVXK9mFgzTpf7d7yYnsQhmgdup99KBT9kyiIOBV2mtI3Rzo0cjcm9LQOXn+L3xGKLYtA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482541493697.79371294092; Wed, 2 Jul 2025 11:55:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2cH-0003Vr-6W; Wed, 02 Jul 2025 14:55:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2cC-0003Ak-EX for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:28 -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 1uX2c9-0002D3-5w for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:28 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-453643020bdso63101435e9.1 for ; Wed, 02 Jul 2025 11:55:23 -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-454a9bac48esm5412345e9.37.2025.07.02.11.55.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482522; x=1752087322; 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=MnLLL7YQoCQGdWR3EVL4zcbePVJyUuDX4baxuyLLriU=; b=BEQHCkJuF9aimu/Iba3BDw9vcces+zALk2nARbTp+EyBwoaAuGtiyMpneUvWL9VyyL wMWxB7VQMwXhxr2qE7GFy0cWR8G27x9VqIw1E/ZeyVmypsUjUFQWUNkPKcLi4urvlMec mlkrFmshxY7J0AjTEwsrspvO1iYC9zl3WAoAziQ9ItZL7ElHrJEFPyS2jJZCWDsQNpQb YtKFvd1G9yVOnxBC2Oxtl3AhOSYL0sbKjzZegzECU8N7TLI3KWtJiHeCo6fqjyJ03V7p v9yEOu+eKfrSpIw+AstkaYp+a4jMTkRr21kVMdRfo0o9sXw/H7Z0eJTZVQZF32BQ8CiZ KrZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482522; x=1752087322; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MnLLL7YQoCQGdWR3EVL4zcbePVJyUuDX4baxuyLLriU=; b=ZkwgKMzhidS6+vtTfxtHeoQS4zvat0knibcetxg9Qb5INfGUamDdbsrUiObVX4P3oS Be0ygypqM0BwgLn5UsRs6wvV5ePpQaXot/lfnKqsetFdpKmSdm8BmCbz5dbaKM/Wu9Qq Yi3mZc3AmjBvq56RR6ktYDxsUahMt5bX06WGixb0ofjcgvVnytUQiVIr7Xhd48xa5pIw bd7L0zsaD9hNff+FaIURL4zdGcqGqcmo8FEaVBjUCTYGjllqHKFFUxmEOuMvStJa+dFo uRokpZdnCBzReGMoBPM5vEG3REb1dgtl305vPb0wk0TF1IHqITXKS8EZg7MAiwwrhiju vGkw== X-Gm-Message-State: AOJu0YzHZDvRdTBZ1Qkr5yY7Sg1kEfa4Kb4cSsTGADEOi9+Xt3C3J8Tp f5NUuqOz8XAypr9PJatHFXGp/pmQiWYzmHjOdFw+CwUK1mBU30HSfwpAESKQ6r0MBNxQuWaJ9zN YUplG X-Gm-Gg: ASbGncsZiPLmfm3G3lHCk0x2pu1s8PlkALD2kJD8PfnsNEh3q21DeXmZWKCWBquI7Hb 2ccuM1oEGLtp71pH/7XR+woJcmaYMsQb+vRm0+bHWPefEZWo6WENSwHlPkCCDQboxLGo/3EH9HI rZ+MoNhLOgteLSc4+03dyPSreSjPa2BTagi110fsILdhE5dXcfrIM8kDy8Yqqscku7rurlyLQY3 bhG2rQUrJW11prFCZ1m7e6AZppfq40kPD21YX56LvGo4VM+gqRSScSQUtBdSOxP3XVpu+z7YpIq P5Ls2K7bkPUqPAtlKNm/4+fiWROpUjeDoj2mBNBMI7W0lLHO7uKkJHht/hi7I4sqBBGX9cY/TJF HnaMyjmnQKA9/svrxYyI8/l/6BnPyNEWekGQX X-Google-Smtp-Source: AGHT+IEXN1ji8HMgF3oWOa7k02PQHX4IAD+Mx2AkWivNZait2oN82da7g9XDELsEchLGK60Cx8nB2A== X-Received: by 2002:a05:6000:2dc2:b0:3a4:f7e7:416b with SMTP id ffacd0b85a97d-3b1fdd16d21mr3559245f8f.16.1751482521753; Wed, 02 Jul 2025 11:55:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org Subject: [PATCH v4 15/65] accel: Remove unused MachineState argument of AccelClass::setup_post() Date: Wed, 2 Jul 2025 20:52:37 +0200 Message-ID: <20250702185332.43650-16-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482542675116600 This method only accesses xen_domid/xen_domid_restrict, which are both related to the 'accelerator', not the machine. Besides, xen_domid aims to be in Xen AccelState and xen_domid_restrict a xen_domid_restrict QOM property. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 +- accel/accel-system.c | 2 +- accel/xen/xen-all.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index f327a71282c..a6a95ff0bcd 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -45,7 +45,7 @@ typedef struct AccelClass { void (*cpu_common_unrealize)(CPUState *cpu); =20 /* system related hooks */ - void (*setup_post)(MachineState *ms, AccelState *accel); + void (*setup_post)(AccelState *as); bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index 913b7155d77..af713cc9024 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -58,7 +58,7 @@ void accel_setup_post(MachineState *ms) AccelState *accel =3D ms->accelerator; AccelClass *acc =3D ACCEL_GET_CLASS(accel); if (acc->setup_post) { - acc->setup_post(ms, accel); + acc->setup_post(accel); } } =20 diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index 1117f52bef0..ba752bbe5de 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -63,7 +63,7 @@ static void xen_set_igd_gfx_passthru(Object *obj, bool va= lue, Error **errp) xen_igd_gfx_pt_set(value, errp); } =20 -static void xen_setup_post(MachineState *ms, AccelState *accel) +static void xen_setup_post(AccelState *as) { int rc; =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482584; cv=none; d=zohomail.com; s=zohoarc; b=I2gPV5xEB4F+1rY7bpusIHSA6zfY5AHQoIKM2XoO37/fTuz0XF8L3GRxBJRCvxlVWHeP72vQiaclxuktRD0/5+7kd3SWaGMBZSP07KtSoVKaukeFksLfIt1CJ1LYXUPrdFDW1whtEUs6P+lKfpzV052ZMwP20BmbsIHgdajiNwU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482584; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=n7sqe5WieSfsWOfFniA97K4tiSwKm4bjRb1aMmtsHEE=; b=hk/GKWof9kPk4Q5Ifbcx3D8xULujRr8b63QdSGXEFrJ6tTLR7xFMAIagI4CyrB+5u/HBDAsbC0YrvD4qSdTb6aETl/JqkmNrVvwgg3Y413SfJ1VJLkby6peVtk56eZmqPPV+UOVxQY6ccB5yC5k2FqhEcc1beTY4GARha15ttPI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482584176705.8671113892954; Wed, 2 Jul 2025 11:56:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2cO-0004EO-Uu; Wed, 02 Jul 2025 14:55:41 -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 1uX2cK-0003rD-5w for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:36 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2cF-0002G9-D0 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:35 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-451d7b50815so37031425e9.2 for ; Wed, 02 Jul 2025 11:55:30 -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-3a892e59884sm16363693f8f.80.2025.07.02.11.55.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482529; x=1752087329; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=n7sqe5WieSfsWOfFniA97K4tiSwKm4bjRb1aMmtsHEE=; b=tycHHS4jc0V5cuADpwDcANWaNlCUbQuA546a6hp52/r5b66uA5HyTcob0fmk+0vRS1 OcEAKgXD5ra5hBg6E4EwaEtfbKyopLARqXza+awxkkM8cqVbG+9LGmC1bhcq9Q5PYZrf W4vtde1rgcWoDiSHxfdOTPdHa6DxGBHOwqqftf7BZYflbfpWQosfDxJGPk6e9N/6Ebjm jTfZfQsBIelWQ0ij1nvUB8Lud6nVGXxOsSpsXhrfNUY4MDtDbpZhDhFe4HRZaJiySmeX WEFw2SqiCcEiocG+uigv33dJTmBtwX591t2hQPr+olbLb/iS9FT3RAbRNYnxkmqWw9Od KVeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482529; x=1752087329; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n7sqe5WieSfsWOfFniA97K4tiSwKm4bjRb1aMmtsHEE=; b=J6Y1MIIXugHpwoAlkrAd8W9fNmHpkZQCRbTrEHFTjZ2n0LE2iMj8pB9dB+sWuQyK2P BgDOa1dBJA12nSOIzbNA/e96dfBRzD9aRRDTjwNTBKZZEZGQIcfqJU5HSapcPd0czTBA YUZxxYBFgaRHFqXN1VrhKfLaj00q6BtaKZuj/CvDAVg40SUtiM80pLvIYoqw9DXVyD1R fINpq+l8buo3zNK4TmidKVo1Ndt5G7czLDK/r1JNAKytltNJKhLMAZ4XwIdwD5YeD6ud yEeAkZYqGqlXrJBaHnPr/n65h5JJ64Fa1Pt3H7ULSO0xtJVeZX/xUVTTO4i7zWYdKnzh plMA== X-Gm-Message-State: AOJu0Yx7LAPL+qL3YlV8JICbtLQF1+i1LQa/Y2NdRMhr+ggsWt7d4BGi gMAZi3orykBOLE5bGEGOrqE8VPeiqpCEZDv/pQ7sV21BCGzESGlnofvvVeochxVS2HBWoF+Tr6V /4HZE X-Gm-Gg: ASbGncvjrCdVxj4JjX93tIGyoCDcg2IK01ef7+Mf8oUoT9x442nIgGgIl7YDT+gOJai WT3kqxW4WNx+7P6jTSKKo0X3xvJOYHtVsxGsRJJruuwP6B/gFWWggNJyBNXB7M11fyQvWscol55 9MY2kbqEkWM1JICiCJm1DuZBtFZ+QsPK8hih6ff2HzHzwtgh7iHvYb4jKSyqUPN848ygCacG+3Q zasTdbx9sODkrkBMld9x7RwxjTZDQ0XQ3LZaNStdxdlnToUzXF8YIg5BOZIzdjV3W+nO2Ut3o/c eyzGccjLvZLSEPoy0+LXRK+zySn+WJmo1BumOnSBaU/k1kvD/euYvV/nL+qmrVKqU5UtZhiTVeo NNjydMaIO65fZDAfrnjpILWcAjfJXFDVo/byZvgG+1lRv4Jk= X-Google-Smtp-Source: AGHT+IGmda3LM0dHY2HjDFQ52mTlnAGZ2QunZrg7bMjnKdM1tDfN3QqU8UbNLwJzvfvNCeQ7OUZAZQ== X-Received: by 2002:a05:600c:1383:b0:43c:ea1a:720a with SMTP id 5b1f17b1804b1-454a9c62561mr7565105e9.1.1751482528907; Wed, 02 Jul 2025 11:55:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , kvm@vger.kernel.org Subject: [PATCH v4 16/65] accel: Pass AccelState argument to gdbstub_supported_sstep_flags() Date: Wed, 2 Jul 2025 20:52:38 +0200 Message-ID: <20250702185332.43650-17-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482585168116600 In order to have AccelClass methods instrospect their state, we need to pass AccelState by argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 +- accel/accel-common.c | 2 +- accel/hvf/hvf-accel-ops.c | 2 +- accel/kvm/kvm-all.c | 2 +- accel/tcg/tcg-all.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index a6a95ff0bcd..1c097ac4dfb 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -50,7 +50,7 @@ typedef struct AccelClass { hwaddr start_addr, hwaddr size); =20 /* gdbstub related hooks */ - int (*gdbstub_supported_sstep_flags)(void); + int (*gdbstub_supported_sstep_flags)(AccelState *as); =20 bool *allowed; /* diff --git a/accel/accel-common.c b/accel/accel-common.c index 55d21b63a48..1d04610f55e 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -128,7 +128,7 @@ int accel_supported_gdbstub_sstep_flags(void) AccelState *accel =3D current_accel(); AccelClass *acc =3D ACCEL_GET_CLASS(accel); if (acc->gdbstub_supported_sstep_flags) { - return acc->gdbstub_supported_sstep_flags(); + return acc->gdbstub_supported_sstep_flags(accel); } return 0; } diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index c256cdceffb..640f41faa43 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -353,7 +353,7 @@ static int hvf_accel_init(AccelState *as, MachineState = *ms) return hvf_arch_init(); } =20 -static inline int hvf_gdbstub_sstep_flags(void) +static inline int hvf_gdbstub_sstep_flags(AccelState *as) { return SSTEP_ENABLE | SSTEP_NOIRQ; } diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 6f6f9ef69ba..45579f80fa5 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3980,7 +3980,7 @@ static void kvm_accel_instance_init(Object *obj) * Returns: SSTEP_* flags that KVM supports for guest debug. The * support is probed during kvm_init() */ -static int kvm_gdbstub_sstep_flags(void) +static int kvm_gdbstub_sstep_flags(AccelState *as) { return kvm_sstep_flags; } diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index c674d5bcf78..5904582a68d 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -219,7 +219,7 @@ static void tcg_set_one_insn_per_tb(Object *obj, bool v= alue, Error **errp) qatomic_set(&one_insn_per_tb, value); } =20 -static int tcg_gdbstub_supported_sstep_flags(void) +static int tcg_gdbstub_supported_sstep_flags(AccelState *as) { /* * In replay mode all events will come from the log and can't be --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482692; cv=none; d=zohomail.com; s=zohoarc; b=NSwIAuf9+GQIyGwjGp48QnB5q94jZnPOVfjkgv8xgPdw0TuppFrgUnDuOv2Rk3BTpMOCo+Z8kOQSIwn4RflAV3hYmrCtxEC38ZjAvD4kranL51Syro7f3O3ysmEW+hKKm67tqE/S2U2EhqqqZaIFXKTJ55JKViL35z/gu7vpvlA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482692; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bV84MiQpGOn60kTDkD54slrXkuHu95fcxpVNCRAl6i0=; b=X4fefBhVOFAdpEjvy0V6dRNzrhJaHUJhpiz/nD3RvHSS/jh/F9W1D/ZgM9+rWiqgXz72A66QVhfXtHz8lgMgtd/Ar3Eiw+XZom0lcTj4t2ZFckwRFPrqjRuPN8GNOR4U/tNDlsZdSUB4LSpegQICTqSs7Vs9Qa05UWlIfQiBc7I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482692545473.33856594272174; Wed, 2 Jul 2025 11:58:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2db-0006ju-6m; Wed, 02 Jul 2025 14:56: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 1uX2cY-00057r-Rp for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:58 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2cO-0002Jd-VF for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:50 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a582e09144so3484976f8f.1 for ; Wed, 02 Jul 2025 11:55: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 ffacd0b85a97d-3a892e5f44dsm16538961f8f.87.2025.07.02.11.55.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482538; x=1752087338; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bV84MiQpGOn60kTDkD54slrXkuHu95fcxpVNCRAl6i0=; b=rTPLBQlYxB2vdRrwOU04j9qkZM31ov0Jzl8mQufWoPG2Pt//wq9N5Lwq2nyHC7ac7D ksdTxskI3EJ6AQSee6ZU3ntPdpONzSKoR3cv1OmBYnDqd48uHv/uCI+CK99ry3r+aUVU oudrUL0qvSu/UlCYML57K2dZL+q9XQiEXOnXoqG507/VOlLYQPfGwiVFvGG8RSLjGZlv MCKcmSVlNuWaHFm86XdAx9WcfOm1w7LyWvV4HDhQhzqY4zzNKOh0fxIgW1LQxrHTm8iM N8Q77spK9Q0EmrzceSaf1FZ6P8yh2YjRvK0+FYM7OqlKqvxehnAAqChO7rdVT0fLuhbE B/vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482538; x=1752087338; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bV84MiQpGOn60kTDkD54slrXkuHu95fcxpVNCRAl6i0=; b=mfjNoSvweEstAp+3KzsB/GLERgtwW+gbHJjZ2/tmDJw6HWUGKzxtGpAnDko1Do/vpc 2nUbeOSJX0Ka/KvSuDVlXBdui1tPv4AoIChSYyBWX7XwJYuGQzNF8LQPkdMz/LCtNO2W 9VX993d+qHolWvu6037AVE+DoyS0r+LkfRylCLJ3hQGKS2cynvPADlo/9NP/8uagWu5y zrpiGDUzVC3+JF38S7VyhT76myWtdla1RoqmpSBEwoOfc5xPSrzczi1ZemUMsYF4h1+1 E6huIeFR8RAUpMXKGLeHSvVt5zoV2VkWVQX7Sc0CMw+ei+k4mnVpBZW/l58b+LYNVYZD OO3w== X-Gm-Message-State: AOJu0Yzo1BziIHcj2PXV1WrOhfprsEY6FfsI4NVMzqxveUKt0NUie7M5 M7LK2jvzJuRqVd6qOrpk1dgmf9NGkaxPFhxjzsNhKeqyOWCU/PvGlQ+T5+Xj/DJik/1mz3shBcu GIhSn X-Gm-Gg: ASbGncsyHJtJWvLYrPLRjl7yLk7XbM4aA0usgGIMouzyE1YUmp8zQaX/yxmxlPu63JI wSWIr9Eg03G7JYyn7IQ7CqcyzD4XjyzeQBsGQY7l7gMTZq64IeJkrhZ4V+HYdjM8VYrZli4vObF 7xtVC2VQRtH8WfCZn6OsT5Xx24qwkQkM08XBPUvX65ScKOyCl92+CE1aBnujZ7mcuEvFYbYPbhm nECWNmSYzAlr6bkY5sPbih6YxVaNp6vvryzszz4dAO806q074KpQmslbZIUo4rwDUNrYpwyejPP LqMBXS/es9x3WKQDrHUpbi70G8OX4wO+CyweIfgQdl2LNGmCmkHrU12YMDLIjm6HAW9yDeRMvNW UvRNQm3pwgm1nd1+U/XbzGBNEGI0ztINLUeJz X-Google-Smtp-Source: AGHT+IFODJ+D1AFeTvC1vkdycvK6lOL44CSBA8lY+BbJ04aT22gqywY98ryhDAizdMHORIqFjKZtkA== X-Received: by 2002:a05:6000:1a8a:b0:3a4:f786:4fa1 with SMTP id ffacd0b85a97d-3b1fe5bf079mr3216108f8f.2.1751482537445; Wed, 02 Jul 2025 11:55:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Alexander Graf , Peter Maydell , kvm@vger.kernel.org, qemu-arm@nongnu.org Subject: [PATCH v4 17/65] accel: Move supports_guest_debug() declaration to AccelClass Date: Wed, 2 Jul 2025 20:52:39 +0200 Message-ID: <20250702185332.43650-18-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482694906116600 AccelOpsClass is for methods dealing with vCPUs. When only dealing with AccelState, AccelClass is sufficient. In order to have AccelClass methods instrospect their state, we need to pass AccelState by argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/kvm/kvm-cpus.h | 1 - include/qemu/accel.h | 1 + include/system/accel-ops.h | 1 - include/system/hvf.h | 2 +- accel/hvf/hvf-accel-ops.c | 2 +- accel/kvm/kvm-accel-ops.c | 1 - accel/kvm/kvm-all.c | 5 ++++- accel/tcg/tcg-accel-ops.c | 6 ------ accel/tcg/tcg-all.c | 6 ++++++ gdbstub/system.c | 7 ++++--- target/arm/hvf/hvf.c | 2 +- target/i386/hvf/hvf.c | 2 +- 12 files changed, 19 insertions(+), 17 deletions(-) diff --git a/accel/kvm/kvm-cpus.h b/accel/kvm/kvm-cpus.h index 688511151c8..3185659562d 100644 --- a/accel/kvm/kvm-cpus.h +++ b/accel/kvm/kvm-cpus.h @@ -16,7 +16,6 @@ void kvm_destroy_vcpu(CPUState *cpu); void kvm_cpu_synchronize_post_reset(CPUState *cpu); void kvm_cpu_synchronize_post_init(CPUState *cpu); void kvm_cpu_synchronize_pre_loadvm(CPUState *cpu); -bool kvm_supports_guest_debug(void); int kvm_insert_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len); int kvm_remove_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len); void kvm_remove_all_breakpoints(CPUState *cpu); diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 1c097ac4dfb..c6fe8dc3913 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -50,6 +50,7 @@ typedef struct AccelClass { hwaddr start_addr, hwaddr size); =20 /* gdbstub related hooks */ + bool (*supports_guest_debug)(AccelState *as); int (*gdbstub_supported_sstep_flags)(AccelState *as); =20 bool *allowed; diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index a863fe59388..51faf47ac69 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -65,7 +65,6 @@ struct AccelOpsClass { int64_t (*get_elapsed_ticks)(void); =20 /* gdbstub hooks */ - bool (*supports_guest_debug)(void); int (*update_guest_debug)(CPUState *cpu); int (*insert_breakpoint)(CPUState *cpu, int type, vaddr addr, vaddr le= n); int (*remove_breakpoint)(CPUState *cpu, int type, vaddr addr, vaddr le= n); diff --git a/include/system/hvf.h b/include/system/hvf.h index 8c4409a13f1..7b9384d816c 100644 --- a/include/system/hvf.h +++ b/include/system/hvf.h @@ -71,7 +71,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu); /* * Return whether the guest supports debugging. */ -bool hvf_arch_supports_guest_debug(void); +bool hvf_arch_supports_guest_debug(AccelState *as); =20 bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); =20 diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 640f41faa43..e7f40888c26 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -364,6 +364,7 @@ static void hvf_accel_class_init(ObjectClass *oc, const= void *data) ac->name =3D "HVF"; ac->init_machine =3D hvf_accel_init; ac->allowed =3D &hvf_allowed; + ac->supports_guest_debug =3D hvf_arch_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D hvf_gdbstub_sstep_flags; } =20 @@ -600,7 +601,6 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->remove_breakpoint =3D hvf_remove_breakpoint; ops->remove_all_breakpoints =3D hvf_remove_all_breakpoints; ops->update_guest_debug =3D hvf_update_guest_debug; - ops->supports_guest_debug =3D hvf_arch_supports_guest_debug; }; static const TypeInfo hvf_accel_ops_type =3D { .name =3D ACCEL_OPS_NAME("hvf"), diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index e5c15449aa6..96606090889 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -104,7 +104,6 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 #ifdef TARGET_KVM_HAVE_GUEST_DEBUG ops->update_guest_debug =3D kvm_update_guest_debug_ops; - ops->supports_guest_debug =3D kvm_supports_guest_debug; ops->insert_breakpoint =3D kvm_insert_breakpoint; ops->remove_breakpoint =3D kvm_remove_breakpoint; ops->remove_all_breakpoints =3D kvm_remove_all_breakpoints; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 45579f80fa5..a9d917f1ea6 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3528,7 +3528,7 @@ int kvm_update_guest_debug(CPUState *cpu, unsigned lo= ng reinject_trap) return data.err; } =20 -bool kvm_supports_guest_debug(void) +static bool kvm_supports_guest_debug(AccelState *as) { /* probed during kvm_init() */ return kvm_has_guest_debug; @@ -3993,6 +3993,9 @@ static void kvm_accel_class_init(ObjectClass *oc, con= st void *data) ac->has_memory =3D kvm_accel_has_memory; ac->allowed =3D &kvm_allowed; ac->gdbstub_supported_sstep_flags =3D kvm_gdbstub_sstep_flags; +#ifdef TARGET_KVM_HAVE_GUEST_DEBUG + ac->supports_guest_debug =3D kvm_supports_guest_debug; +#endif =20 object_class_property_add(oc, "kernel-irqchip", "on|off|split", NULL, kvm_set_kernel_irqchip, diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 37b4b21f882..07b1ec4ea50 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -106,11 +106,6 @@ void tcg_handle_interrupt(CPUState *cpu, int mask) } } =20 -static bool tcg_supports_guest_debug(void) -{ - return true; -} - /* Translate GDB watchpoint type to a flags value for cpu_watchpoint_* */ static inline int xlat_gdb_type(CPUState *cpu, int gdbtype) { @@ -218,7 +213,6 @@ static void tcg_accel_ops_init(AccelClass *ac) } =20 ops->cpu_reset_hold =3D tcg_cpu_reset_hold; - ops->supports_guest_debug =3D tcg_supports_guest_debug; ops->insert_breakpoint =3D tcg_insert_breakpoint; ops->remove_breakpoint =3D tcg_remove_breakpoint; ops->remove_all_breakpoints =3D tcg_remove_all_breakpoints; diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 5904582a68d..93972bc0919 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -219,6 +219,11 @@ static void tcg_set_one_insn_per_tb(Object *obj, bool = value, Error **errp) qatomic_set(&one_insn_per_tb, value); } =20 +static bool tcg_supports_guest_debug(AccelState *as) +{ + return true; +} + static int tcg_gdbstub_supported_sstep_flags(AccelState *as) { /* @@ -242,6 +247,7 @@ static void tcg_accel_class_init(ObjectClass *oc, const= void *data) ac->cpu_common_realize =3D tcg_exec_realizefn; ac->cpu_common_unrealize =3D tcg_exec_unrealizefn; ac->allowed =3D &tcg_allowed; + ac->supports_guest_debug =3D tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D tcg_gdbstub_supported_sstep_flag= s; =20 object_class_property_add_str(oc, "thread", diff --git a/gdbstub/system.c b/gdbstub/system.c index 8a32d8e1a1d..bced226fd94 100644 --- a/gdbstub/system.c +++ b/gdbstub/system.c @@ -634,9 +634,10 @@ int gdb_signal_to_target(int sig) =20 bool gdb_supports_guest_debug(void) { - const AccelOpsClass *ops =3D cpus_get_accel(); - if (ops->supports_guest_debug) { - return ops->supports_guest_debug(); + AccelState *accel =3D current_accel(); + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + if (acc->supports_guest_debug) { + return acc->supports_guest_debug(accel); } return false; } diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 4c4d21e38cd..bd19a9f475d 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2357,7 +2357,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu) hvf_arch_set_traps(cpu); } =20 -bool hvf_arch_supports_guest_debug(void) +bool hvf_arch_supports_guest_debug(AccelState *as) { return true; } diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 28484496710..bcf30662bec 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -1024,7 +1024,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu) { } =20 -bool hvf_arch_supports_guest_debug(void) +bool hvf_arch_supports_guest_debug(AccelState *as) { return false; } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482619; cv=none; d=zohomail.com; s=zohoarc; b=kVSlcDHMWWgQRP+7w7zvxgjlVUIrDUPjaH08nRa0zhGSLYebt70j5YLtHCdfoDEb5OPnOzdgfATg+woqzkLXGCjvZ2tNQzOrUaBLpJ3GMfaisg06Q9GwLlSokFJRUsShZGWHheYyEZT6W9B+5R1DA9KrWmkCxp4P+6fa4cncqFc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482619; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+aB/j0dD+Tw6oDsMLdkju47YZrsXLX4R6aGxhn5wulM=; b=EACQvRo5TYi2kdbVgfz7gNLTHOgcE/RyxlxYYkmrwaFrNCqfenGxbcZgi248CV3pnSyS5xS/kJLQB1lpYAyGX4Pnxh3Rr1IykDcLR0ut2fVAoCUXEkqYTqxuCNVL8FonAwSNRttqjMSZZnEu0izPwopCs2MNe//MbMAxpwfVy18= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482619775912.5126663294005; Wed, 2 Jul 2025 11:56:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dJ-0005kz-Dm; Wed, 02 Jul 2025 14:56: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 1uX2ce-0005Eo-CX for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:01 -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 1uX2cV-0002Ll-K0 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:52 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-450ccda1a6eso38526525e9.2 for ; Wed, 02 Jul 2025 11:55:46 -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-454a9bde8c8sm5692795e9.31.2025.07.02.11.55.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482544; x=1752087344; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+aB/j0dD+Tw6oDsMLdkju47YZrsXLX4R6aGxhn5wulM=; b=nSufxr4mYu0tyqDSOAHf+0QdDTX1ywjosdngN8wgzCfwloeRji/kyaZ5FGnoW7pyhz ++rQ8s3/ED32GoLl1wR2HMZ7vfhAbgoe5tpNovNSFwSOFAeja+HrJJU77iP+lYkG+H35 UDf6Wdoki+8RXggk6BoC06YtcNwEll0VjXOMs29jrP7yOlAOsYWDs3VkKvy7K/oASsOl hYZ89F863+UbuKFjDloSC3M4UiVpoi/fYad1NFpdDVAYXZH4MB1AHitg9rARRhtXRVYQ dcJ4bTwbH2ZROWOypaUxdIlJhVMEIAkbKySddegDoiB7UdtM4rOBf8iLcAXlB8RpHmOQ M5aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482544; x=1752087344; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+aB/j0dD+Tw6oDsMLdkju47YZrsXLX4R6aGxhn5wulM=; b=qHlB4Jp1BnwWoKNRpWADjd9bmQVfobDOkOR7RdNpSi+wQZep5ma6tSk80pumgzaV4B 3V0mhi1eBLDEg4/hF8XZhTDbaivUKFqJhfeb1/v3RngMSxZB/xWA0BiSGvybUQQTAGf7 Pq/8aaxZ1Ue5HLTSg28ydW2nAZFvLDN3ZAThaziPgVWFPYH5J0LDdYKrIIIyzPNXLaof FWTWkUjylCFTrvGESbTShyK8LZzukLB6xD4eCUjx7LufIIvmmXd1fuOJTZm8MQ8TZIPi rd9gE9pQ02kvl6hBeu0HSgR8GFvnsLBdCDB8QWwcC40qdPDUyRrZwRB1LiUk1sNcNtD5 E25A== X-Gm-Message-State: AOJu0YzXRoASFE1OjaHTLuVARpNO6YdbALlLf15wb4xv6lvnQsXrSrRN Q2Htyoj383Baf2X1SIPnSraSRIGL8AsJoe36cBAemF7oCQGznxQIq5srRE5FjzFqSL3NBReGGmo jVK06 X-Gm-Gg: ASbGncvvu32xEQuR1+gsZDhhANtBibOmBgQQGMKfoQBoX2Ar84wJE6nKenVy6E2ex0U hZupBh1JaFtWY6EGh3tOeh9l9nvFt56BUzK8QhNtdc/zdpqMhChnWRx90+6JGE90Vr+5yrhSuse TDlV9yO5Z/3P1gcYwtxfC2BwlurB6Y7u0oOK3kLzOTQyx7jIqsrbBH6QdMVesLrNg9EBqpNmK3z 8Weg+nBsh5l+ZCQ2MFvgN0bZDC+KVetTNsJof+1Ub53KyNMPUngUgVZJSkUX2WGcXQKcqjbdADR HOORuEPPjLrlP5qdwsc6EGYVNh+3dmbFuPs5pHSkpA2+YOyCruGNSbVIh+Ra+kDxG8g2gJc1T7X Mk83ZuzbaDSn36nwEdjjVZAOtiIoOcCgUU5tE X-Google-Smtp-Source: AGHT+IGCW4bTbz2dddSy6xxWh/wDXlXfWVKxcFEebZ5EDZfLvPjucngnBF2tRtCLb/AVvYsFIqjy8w== X-Received: by 2002:a05:600c:6305:b0:453:6146:1182 with SMTP id 5b1f17b1804b1-454a9cb45afmr6910235e9.32.1751482544367; Wed, 02 Jul 2025 11:55:44 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org Subject: [PATCH v4 18/65] accel: Move cpus_are_resettable() declaration to AccelClass Date: Wed, 2 Jul 2025 20:52:40 +0200 Message-ID: <20250702185332.43650-19-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482621584116600 AccelOpsClass is for methods dealing with vCPUs. When only dealing with AccelState, AccelClass is sufficient. Move cpus_are_resettable() declaration to accel/accel-system.c. In order to have AccelClass methods instrospect their state, we need to pass AccelState by argument. Adapt KVM handler. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 1 + include/system/accel-ops.h | 1 - accel/accel-system.c | 10 ++++++++++ accel/kvm/kvm-accel-ops.c | 6 ------ accel/kvm/kvm-all.c | 6 ++++++ system/cpus.c | 8 -------- 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index c6fe8dc3913..3c6350d6d63 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -48,6 +48,7 @@ typedef struct AccelClass { void (*setup_post)(AccelState *as); bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); + bool (*cpus_are_resettable)(AccelState *as); =20 /* gdbstub related hooks */ bool (*supports_guest_debug)(AccelState *as); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 51faf47ac69..d854b84a66a 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -34,7 +34,6 @@ struct AccelOpsClass { /* initialization function called when accel is chosen */ void (*ops_init)(AccelClass *ac); =20 - bool (*cpus_are_resettable)(void); bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index af713cc9024..637e2390f35 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -62,6 +62,16 @@ void accel_setup_post(MachineState *ms) } } =20 +bool cpus_are_resettable(void) +{ + AccelState *accel =3D current_accel(); + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + if (acc->cpus_are_resettable) { + return acc->cpus_are_resettable(accel); + } + return true; +} + /* initialize the arch-independent accel operation interfaces */ void accel_init_ops_interfaces(AccelClass *ac) { diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index 96606090889..99f61044da5 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -78,11 +78,6 @@ static bool kvm_vcpu_thread_is_idle(CPUState *cpu) return !kvm_halt_in_kernel(); } =20 -static bool kvm_cpus_are_resettable(void) -{ - return !kvm_enabled() || !kvm_state->guest_state_protected; -} - #ifdef TARGET_KVM_HAVE_GUEST_DEBUG static int kvm_update_guest_debug_ops(CPUState *cpu) { @@ -96,7 +91,6 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) =20 ops->create_vcpu_thread =3D kvm_start_vcpu_thread; ops->cpu_thread_is_idle =3D kvm_vcpu_thread_is_idle; - ops->cpus_are_resettable =3D kvm_cpus_are_resettable; ops->synchronize_post_reset =3D kvm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; ops->synchronize_state =3D kvm_cpu_synchronize_state; diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index a9d917f1ea6..9d1dc56d7e8 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3974,6 +3974,11 @@ static void kvm_accel_instance_init(Object *obj) s->msr_energy.enable =3D false; } =20 +static bool kvm_cpus_are_resettable(AccelState *as) +{ + return !kvm_enabled() || !kvm_state->guest_state_protected; +} + /** * kvm_gdbstub_sstep_flags(): * @@ -3992,6 +3997,7 @@ static void kvm_accel_class_init(ObjectClass *oc, con= st void *data) ac->init_machine =3D kvm_init; ac->has_memory =3D kvm_accel_has_memory; ac->allowed =3D &kvm_allowed; + ac->cpus_are_resettable =3D kvm_cpus_are_resettable; ac->gdbstub_supported_sstep_flags =3D kvm_gdbstub_sstep_flags; #ifdef TARGET_KVM_HAVE_GUEST_DEBUG ac->supports_guest_debug =3D kvm_supports_guest_debug; diff --git a/system/cpus.c b/system/cpus.c index a43e0e4e796..4fb764ac880 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -195,14 +195,6 @@ void cpu_synchronize_pre_loadvm(CPUState *cpu) } } =20 -bool cpus_are_resettable(void) -{ - if (cpus_accel->cpus_are_resettable) { - return cpus_accel->cpus_are_resettable(); - } - return true; -} - void cpu_exec_reset_hold(CPUState *cpu) { if (cpus_accel->cpu_reset_hold) { --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482629; cv=none; d=zohomail.com; s=zohoarc; b=lVK0cx68+YZYbGLaEuV8YvecCx+63bOfnLacVr2Kl4apapxFuoKT48yJfeQ+xUolFafOBVEU3pmHN9NklUZW3/DTtG4RoOz6HeORybe+n3Lx3uUs9JHHhG65zpWvTLa3TOhma6Il7WPy8eUvStoM5sLXgTkYk6o8ZmoflS1HhGI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482629; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LFRxRvBg/Kw+lCEJUMnsPGlqNMegEysmKneUwCu7PxI=; b=kmUVDl/dvpHBrWGutsiXTJJEQEK5AcDSrqOeqzow4FmMb58DrM9srcBe+/d8az+FVnuNf/yQfL8oT8IQKA5qVr73a9gCfCzlwkEjBGmFPtN9hXDhp+FcH4ZaLUevAMXS1+QQvAkZn0S8dpPDscGJN2Tz0oPw1qX14LOUBf++JP4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175148262915518.63797911926929; Wed, 2 Jul 2025 11:57:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dN-0006Eo-8z; Wed, 02 Jul 2025 14:56:41 -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 1uX2cj-0005Fo-Pi for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:07 -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 1uX2ce-0002Nx-5K for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:55:59 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a536ecbf6fso4243705f8f.2 for ; Wed, 02 Jul 2025 11:55:54 -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-3a88c7fa54dsm16458659f8f.23.2025.07.02.11.55.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482553; x=1752087353; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LFRxRvBg/Kw+lCEJUMnsPGlqNMegEysmKneUwCu7PxI=; b=tq8gtsB0C5TafiJ3gctl0wRoJmHeuZ1zOgn/IRxt2XWKkJLt3bRkujgC5DBYyhctOP ahsCn979U13cRjN7Vj94zBkgdQabp5D0wAHa1zgInBWaiv2Mh62UQIzIr16N5rFVwzOG ldZOPM05s0AoS6BUZ5VwbfssCTdCRNo8U7oro7evohHUbfdKGOUvsDkhoF6EYWrWMQTP 1ii1jCv2wcN0gbxYS1TcB5od9NzssIe7lc9IjdsANtR7USq7Bf3AmBMn+xVpz04QAzKD uvE2c85rEQ2wy4lKanOC3iOjjuG68KL7NoxvBCmQMsjQSiXULcmMBaPhGef5QGmZbKF/ ET5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482553; x=1752087353; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LFRxRvBg/Kw+lCEJUMnsPGlqNMegEysmKneUwCu7PxI=; b=ZldSu6vvVqmihYDe9PYHzqwQQkH0gBacvM0ZQH80B/uUH+v0bNiK6MvjDswW7Tm2kJ ZgEvW5CLe6ix/I4u8ZS9Qh5o4XigZP5s9xmyNOXsCYwHFCYhoGWWIFc94/CeS6arInMq INfUB0GNLqJw+CH1ZBML5/ewXt4Afg3n++qN2icR3Uxs8gbmtRWQbsCStvm+aJQunKJH zsQjALDdsTL6p6KW1oZeXyo5ajFHpsSJujuf3aBoBnMBru3W4qwcA3+F+dPqmBZQlN+z v+EQ91qLi3tkpCBjGXGfsLldXGrk6HLcfnNgqKMF+MJvSlW7+yP8zfSP4g5MdaT/vOEh Ghrg== X-Gm-Message-State: AOJu0Yxo3j8Ivb5yCePdutzNxzY9Bsl+Pb3vNCAHqHd7kQkgSnqEJ8xm IJHPHKVaoP3c6WBfUiCD2pVQ9NJ0MvWUT4HTv/XtkWlAIoLGEl9ERI1GJm7UPoayJXLsO+hKJpy X79pE X-Gm-Gg: ASbGncvM02beFcT0qdkn7N16wC2mfuEJE2LdgvsN3JV9LpyxjmEA/qwsgvvnbOV24hv slEmDRWqL80LT/SsacV+WU1FOKnJ9WuT22ZLRe9Nggv4iphY6Yxezi78H/qDY8KA1Y5xGin0JFP Sv++GJxb5+LL39NzQ9HcQ3jz/B05aS+NEZouu3+Lchbhb4f7yUg0qlN+PkfncDbEhyFPtKA/Fwe BBUIIsSE4UwGVh1gxt2okF4PV+ZHy+oIlN2VduC8ike25UwMucEXNf/PgD+0iTT3UdSiy4Q1x0P ygOtpzfUVc8wZCAgAujHY8t0XWh7mZU2b3AucXUxJZbVNTN2J/+8gpRn7iFd/Zoh843tb59b3rZ BTYBS0fIeqzdB5l86al3MKXEkdJxFFEfooo4O X-Google-Smtp-Source: AGHT+IHrloT4u+cJZWD6tymiu7evWdp28t/jPAuM/5/8zN4HIDxmcuGAn+u+VysC6dKODcURgh9+kQ== X-Received: by 2002:a05:6000:238a:b0:3a4:ee40:715c with SMTP id ffacd0b85a97d-3b1fdc21d11mr3371323f8f.14.1751482552643; Wed, 02 Jul 2025 11:55:52 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 19/65] accel: Move cpu_common_[un]realize() declarations to AccelOpsClass Date: Wed, 2 Jul 2025 20:52:41 +0200 Message-ID: <20250702185332.43650-20-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482629525116600 AccelClass is for methods dealing with AccelState. When dealing with vCPUs, we want AccelOpsClass. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 -- include/system/accel-ops.h | 2 ++ accel/accel-common.c | 10 ++++++---- accel/tcg/tcg-accel-ops.c | 3 +++ accel/tcg/tcg-all.c | 2 -- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 3c6350d6d63..518c99ab643 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -41,8 +41,6 @@ typedef struct AccelClass { AccelOpsClass *ops; =20 int (*init_machine)(AccelState *as, MachineState *ms); - bool (*cpu_common_realize)(CPUState *cpu, Error **errp); - void (*cpu_common_unrealize)(CPUState *cpu); =20 /* system related hooks */ void (*setup_post)(AccelState *as); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index d854b84a66a..fb199dc78f0 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -34,6 +34,8 @@ struct AccelOpsClass { /* initialization function called when accel is chosen */ void (*ops_init)(AccelClass *ac); =20 + bool (*cpu_common_realize)(CPUState *cpu, Error **errp); + void (*cpu_common_unrealize)(CPUState *cpu); bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 diff --git a/accel/accel-common.c b/accel/accel-common.c index 1d04610f55e..d1a5f3ca3df 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -102,10 +102,12 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **= errp) } =20 /* generic realization */ - if (acc->cpu_common_realize && !acc->cpu_common_realize(cpu, errp)) { + if (acc->ops->cpu_common_realize + && !acc->ops->cpu_common_realize(cpu, errp)) { return false; } - if (acc->ops->cpu_target_realize && !acc->ops->cpu_target_realize(cpu,= errp)) { + if (acc->ops->cpu_target_realize + && !acc->ops->cpu_target_realize(cpu, errp)) { return false; } =20 @@ -118,8 +120,8 @@ void accel_cpu_common_unrealize(CPUState *cpu) AccelClass *acc =3D ACCEL_GET_CLASS(accel); =20 /* generic unrealization */ - if (acc->cpu_common_unrealize) { - acc->cpu_common_unrealize(cpu); + if (acc->ops->cpu_common_unrealize) { + acc->ops->cpu_common_unrealize(cpu); } } =20 diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 07b1ec4ea50..95ff451c148 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -46,6 +46,7 @@ #include "tcg-accel-ops-mttcg.h" #include "tcg-accel-ops-rr.h" #include "tcg-accel-ops-icount.h" +#include "internal-common.h" =20 /* common functionality among all TCG variants */ =20 @@ -212,6 +213,8 @@ static void tcg_accel_ops_init(AccelClass *ac) } } =20 + ops->cpu_common_realize =3D tcg_exec_realizefn; + ops->cpu_common_unrealize =3D tcg_exec_unrealizefn; ops->cpu_reset_hold =3D tcg_cpu_reset_hold; ops->insert_breakpoint =3D tcg_insert_breakpoint; ops->remove_breakpoint =3D tcg_remove_breakpoint; diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 93972bc0919..ae83ca0bd10 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -244,8 +244,6 @@ static void tcg_accel_class_init(ObjectClass *oc, const= void *data) AccelClass *ac =3D ACCEL_CLASS(oc); ac->name =3D "tcg"; ac->init_machine =3D tcg_init_machine; - ac->cpu_common_realize =3D tcg_exec_realizefn; - ac->cpu_common_unrealize =3D tcg_exec_unrealizefn; ac->allowed =3D &tcg_allowed; ac->supports_guest_debug =3D tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D tcg_gdbstub_supported_sstep_flag= s; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482947; cv=none; d=zohomail.com; s=zohoarc; b=jEPSVfJc40tFU64MjnV+Ad+zwJ+T5g3+8h9GHyuZonDheRrx5jBW4619WdbMaHdmRnHQFhFc6yT5Tgd5ES3/ieipk4qbHJVp82/esVPsbvghuYTGn30ldTJ6wRmFOZ/F0eTLTuGlrG4QUInzsG/cY9w1s9dZwFMMfAq13z65jBc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482947; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MzsXmG16DASHWsIXbw9ajDisw+zUQq9t5Ugm0qpyfec=; b=F56qq9QoeL+uoqYHoOf95olPuH6/7hJZ5dhzU0SKbRl0cyDgxPLYgoe/BRJqAWgWc71RRABtYghwQOv/UPz1RbP0/wthJ1Rr6lH5ssBaWpNpVag/kBm3WjyWAAvHmctTv/8vljDRRQbp426Tfx7RmbWRbc13uWiU13PvBtzy5mk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482947282180.3504182177087; Wed, 2 Jul 2025 12:02:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dV-0006bd-Pp; Wed, 02 Jul 2025 14:56:51 -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 1uX2cv-0005Lo-Dq for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:19 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2cm-0002Po-Iw for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:13 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a4fd1ba177so177819f8f.0 for ; Wed, 02 Jul 2025 11:56: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 ffacd0b85a97d-3a88c7fb20esm16984289f8f.36.2025.07.02.11.55.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482561; x=1752087361; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MzsXmG16DASHWsIXbw9ajDisw+zUQq9t5Ugm0qpyfec=; b=FDI8mkYkkMJj2ZY02b7qf2lGdT2WVZK6uXKEB3l0eI9r/ahUTqw5vEt3K88KywVjbz KYq/sJIG4+4NMNZZrHDRRceLh+aCBFzdmyWrMMSS3c3i/qfFu/hTC2L45RBvHQnlDwKE eW91e2ZOcnd3PuG8qNj9eaMGqocyT9ILA0G24NdB0DafjJgJWeP1bhPOzyGsOqLQCbaX XD88rRXfjoL0qXDtTFrSBVNK7kEkrbBWyALZsgBD2+0qJA1FpQ3bpNQmzroKbEBET5QE HW4kN02a6MRa28IkoZ0rdhh8GmRE2g+JE/jKWh1v1I14u2Zj9KwW1k16Qte8bGzgl5ub amkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482561; x=1752087361; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MzsXmG16DASHWsIXbw9ajDisw+zUQq9t5Ugm0qpyfec=; b=VhJWaqRZfCY7HjRO1YC4oSDUWeR/hWjdPuxpmRRxfaqK8IBUVVQ1AOBI73gA2ib7AK du4S9m4t5JZtAnvnwA8vyLdtgRwCBcSywWAVcneNRMDOZihwck/IHoD8gp73LlkxTs7u ViderCj1Nrml2/qrHz+y4AorzpWmy3xuavPlaksm/Xy/JsYdo6bqzqQjRbstQjilMY9i WBlqOgk2RKQ5zdA5AJK+sBO61DPPC2fo0QNYHSRa6G13eBU46xqUQA6PRViYPWILfQDR 5hWMi2+1bTpfr8abM+vd2FtoUCDN5Z2r1Q7zbdFU7NneVOjFBwYBCesGQEMFzpDg75DP V2pg== X-Gm-Message-State: AOJu0Yxmkqig8PTqCMqcOhpQNV/hCM4v2kwkxm0PdfdodNWayf6D7gM2 hiQxHPiUhld9Xwv8zryKuxv+/aYq4ef7dQsu1a7/7sBdPNad7FOwXJiCL68fhiev+PvuWWArIEy umRQO X-Gm-Gg: ASbGncugX/LjatiB2xOfnXwjuOYEw0CYmz+R2kjBtfSCDxY7FOWbqHUwalkx/evIYOY ELvIasMtd99e+cmPQxbh7asBllaziV8+zTfe8vIUVt36S9VBaonXv2Vp8usju7aNuAudsZ8m3G2 +nC2Jl+TNfyuziLA86pNS11iA+iyPQGPQpc2strDaoc6pRVqvLLyuKEgiIdUB6pjL+z/B/fqYU8 69dfK3dDjz8QqezP/zZMUTnxhE/AIl6yPZvshqlNqcV04HfyXr9g9drMxB5sX7WLKmvmFz2JmQ+ /+5nWzgQdlvMx1ytM6cBQ3szMvdN9k4JtLKF3UEJbLoe8wxJfYeZW0rUF0KoHLm7ZYJXtxN7Lp5 59IyjHwwkFrA994MMY6Tk/n7efOGGDTIixYIr X-Google-Smtp-Source: AGHT+IEF1tTk86ccYTdarFhiAEmWKm8S2IzmjyE8HZJQDughNZMfUx9lbMJhMCOJZBt7ovs4/JJLQA== X-Received: by 2002:a05:6000:2308:b0:3a4:eb7a:2ccb with SMTP id ffacd0b85a97d-3b344322dfdmr15439f8f.16.1751482561197; Wed, 02 Jul 2025 11:56:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v4 20/65] accel/system: Convert pre_resume() from AccelOpsClass to AccelClass Date: Wed, 2 Jul 2025 20:52:42 +0200 Message-ID: <20250702185332.43650-21-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482948706116600 Accelerators call pre_resume() once. Since it isn't a method to call for each vCPU, move it from AccelOpsClass to AccelClass. Adapt WHPX. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 3 +++ include/system/accel-ops.h | 1 - target/i386/whpx/whpx-accel-ops.h | 1 - accel/accel-system.c | 9 +++++++++ system/cpus.c | 4 +--- target/i386/whpx/whpx-accel-ops.c | 1 - target/i386/whpx/whpx-all.c | 3 ++- 7 files changed, 15 insertions(+), 7 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 518c99ab643..065de80a87b 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -47,6 +47,7 @@ typedef struct AccelClass { bool (*has_memory)(AccelState *accel, AddressSpace *as, hwaddr start_addr, hwaddr size); bool (*cpus_are_resettable)(AccelState *as); + void (*pre_resume_vm)(AccelState *as, bool step_pending); =20 /* gdbstub related hooks */ bool (*supports_guest_debug)(AccelState *as); @@ -86,6 +87,8 @@ int accel_init_machine(AccelState *accel, MachineState *m= s); /* Called just before os_setup_post (ie just before drop OS privs) */ void accel_setup_post(MachineState *ms); =20 +void accel_pre_resume(MachineState *ms, bool step_pending); + /** * accel_cpu_instance_init: * @cpu: The CPU that needs to do accel-specific object initializations. diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index fb199dc78f0..af54302409c 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -47,7 +47,6 @@ struct AccelOpsClass { void (*synchronize_post_init)(CPUState *cpu); void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); - void (*synchronize_pre_resume)(bool step_pending); =20 void (*handle_interrupt)(CPUState *cpu, int mask); =20 diff --git a/target/i386/whpx/whpx-accel-ops.h b/target/i386/whpx/whpx-acce= l-ops.h index e6cf15511d4..54cfc25a147 100644 --- a/target/i386/whpx/whpx-accel-ops.h +++ b/target/i386/whpx/whpx-accel-ops.h @@ -21,7 +21,6 @@ void whpx_cpu_synchronize_state(CPUState *cpu); void whpx_cpu_synchronize_post_reset(CPUState *cpu); void whpx_cpu_synchronize_post_init(CPUState *cpu); void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu); -void whpx_cpu_synchronize_pre_resume(bool step_pending); =20 /* state subset only touched by the VCPU itself during runtime */ #define WHPX_SET_RUNTIME_STATE 1 diff --git a/accel/accel-system.c b/accel/accel-system.c index 637e2390f35..11ba8e24d60 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -62,6 +62,15 @@ void accel_setup_post(MachineState *ms) } } =20 +void accel_pre_resume(MachineState *ms, bool step_pending) +{ + AccelState *accel =3D ms->accelerator; + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + if (acc->pre_resume_vm) { + acc->pre_resume_vm(accel, step_pending); + } +} + bool cpus_are_resettable(void) { AccelState *accel =3D current_accel(); diff --git a/system/cpus.c b/system/cpus.c index 4fb764ac880..2c3759ea9be 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -762,9 +762,7 @@ int vm_prepare_start(bool step_pending) * WHPX accelerator needs to know whether we are going to step * any CPUs, before starting the first one. */ - if (cpus_accel->synchronize_pre_resume) { - cpus_accel->synchronize_pre_resume(step_pending); - } + accel_pre_resume(MACHINE(qdev_get_machine()), step_pending); =20 /* We are sending this now, but the CPUs will be resumed shortly later= */ qapi_event_send_resume(); diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index b8bebe403c9..011810b5e50 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -95,7 +95,6 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_post_init =3D whpx_cpu_synchronize_post_init; ops->synchronize_state =3D whpx_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D whpx_cpu_synchronize_pre_loadvm; - ops->synchronize_pre_resume =3D whpx_cpu_synchronize_pre_resume; } =20 static const TypeInfo whpx_accel_ops_type =3D { diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index f0be840b7db..821167a2a77 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2106,7 +2106,7 @@ void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu) run_on_cpu(cpu, do_whpx_cpu_synchronize_pre_loadvm, RUN_ON_CPU_NULL); } =20 -void whpx_cpu_synchronize_pre_resume(bool step_pending) +static void whpx_pre_resume_vm(AccelState *as, bool step_pending) { whpx_global.step_pending =3D step_pending; } @@ -2703,6 +2703,7 @@ static void whpx_accel_class_init(ObjectClass *oc, co= nst void *data) AccelClass *ac =3D ACCEL_CLASS(oc); ac->name =3D "WHPX"; ac->init_machine =3D whpx_accel_init; + ac->pre_resume_vm =3D whpx_pre_resume_vm; ac->allowed =3D &whpx_allowed; =20 object_class_property_add(oc, "kernel-irqchip", "on|off|split", --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483359; cv=none; d=zohomail.com; s=zohoarc; b=JkHlyDlvmbX5aFhG7GXJoRkQTUmg8CrFu/5gnK34g0IZEmPtiipVdr4tlghEXbQFKccKhn8Dly53DrtJ90H0qsHYJUncaKELGM1dIxwnXY53Y0QhEiM4g0PdHD1iflWdi4pPE00Z9e+O1IoOSyfvUniugP5/kN2tdw58Nj5heF0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483359; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=FUziXsuFH79ftSoY2fSSF/M1EWCCj+e2HlfSQ3oWfeU=; b=QlMvl02LoTKj6qHEfGSkKHr2GJuOUIgomb0EJ50xezbczuLadhFVvJv+7gzziqoif8K3oYITMbKYZX1pTqKmgkEUYNVuzXBthE5yU/FuLpggWuqb0oMEMWX+egniXPCXK1p7jMh8dkTEuYOafOm1kCuA7QgcYsya/PQysSWL3qc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483359729168.6556004608684; Wed, 2 Jul 2025 12:09:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dK-0005sk-Gh; Wed, 02 Jul 2025 14:56:38 -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 1uX2cy-0005MB-Uv for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:20 -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 1uX2cv-0002R6-0w for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:14 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-453608ed113so49554405e9.0 for ; Wed, 02 Jul 2025 11:56: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 ffacd0b85a97d-3a892e52cbasm16886053f8f.62.2025.07.02.11.56.06 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482569; x=1752087369; 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=FUziXsuFH79ftSoY2fSSF/M1EWCCj+e2HlfSQ3oWfeU=; b=h3ju+G8NB67aaeJktPL0/8E7ENlalIp0Z7XXYPdO+qR79OlQ4j5iJ+gjzNjqsJzv+a XQkhNQdVqnkx4vdcmHBxohROJR6m1XxlxXAxplnV0DbAK6Wqq6k3F1EDw8IHw95mjGfR EdpbwVe7QSSOXpfUHuHdxIXgWUuLkE7PbEN14ZFuw0ttWtXtordlzJQP8Uhs4qZFUugt Rp3LU8bWJY4FnDbTlSxv8iI+8pPLdPoo5wymtb5v809362zkfeygaofRXxNYlNhgi5OS nwTGv8uYK37tDoplvmbEynY1huMF5f5kE43vkV7egVQmK9WQ8LsCZ0JW3AdHxnUrO2QX YaxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482569; x=1752087369; 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=FUziXsuFH79ftSoY2fSSF/M1EWCCj+e2HlfSQ3oWfeU=; b=LB2lxUoSlWtLJ2eOV/57ZC9mobxn3pCAbyXb9DC2JG7sjEpDyeTOtZNGIi7pCrZW9V BMKERSNn63t+ABnMH8MlSEAbt0TSrDwlA2sRY7AuTXbJq7+wdfBgwSaMWQP1zwJ9XmZR ollBoA/ThMdPcBi6mRRbpF1+t9djuJTf8Kad7dWGfuzQ5tuT2L8/2OKzRK9bM6zrbkUd DZxxZhB+WZJFkmDgqNg4s0NHUwJ1Ajg/rg+p2lE+9tNsWSKzKTXSnQsckAiSnoJVkcoE nA9XO98etXPvt7Yg7YmjZL0/LPDggpPF+zKt/d6fMF9hcfxuLHXrnCovxmSh6auFNubJ prnQ== X-Gm-Message-State: AOJu0YwIHeVI3leOTtET4CvPp7WaiUZJbyMqmHewSeYzM72V5ycwzIn9 EUBO0cvscr+cFZAuQddXizxjfwCVAcASDjlusX6RXHt9jaG3PS8DNDZOAUm0L3DLwtL0LtrUJGg Qrz1W X-Gm-Gg: ASbGncs+vohsa/SQiFg2QCe38F6gyxF3rvl10Gq1hOgii+emHqh07VcjDSyAmQsDTXF vHlDQhq3HXe1bTPRfbEzRhKZLlmTvVfSEKHubpHGpze/Ei5rglucuwRX6zj3WboACJlZfF6rUbL RHYQOlIvsmMgGIKyx7BpeZmmG9IK+yGEkb03x9tJZvtNprX6EAXx4HMqN0QcILHsSe3dtOVYhAt 4qWz7foHwzOYlh+98xi9YlWAOXdLjMvfrmx5fRE6xIvpXPB4e8/liWGLBNFq78foyAJwqLUD0dw lhLe52OkJp0lLIUzvFZGurzwf02p0oNgH3E1JsiVcgYNuLzMPYs7TBsPPfcyFEdZOnHH6KV/nnQ wWv0NiVEaOb6rkSJhj5xbx/c5jZi4dfp8VNLVBE8cEJ1AFk0= X-Google-Smtp-Source: AGHT+IGdkcmtPXmnftE1y4QtHYW023XI+dGuAS/Ka21cJnDx6XUz9/3rDI0kklaDytvcy4AlUg9byQ== X-Received: by 2002:a05:600c:19c9:b0:442:cd03:3e2 with SMTP id 5b1f17b1804b1-454a9c609b8mr8902065e9.2.1751482568635; Wed, 02 Jul 2025 11:56:08 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Zhao Liu , Eric Blake , Markus Armbruster Subject: [PATCH v4 21/65] hw/core/machine: Display CPU model name in 'info cpus' command Date: Wed, 2 Jul 2025 20:52:43 +0200 Message-ID: <20250702185332.43650-22-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483360485116600 Display the CPU model in 'info cpus'. Example before: $ qemu-system-aarch64 -M xlnx-versal-virt -S -monitor stdio QEMU 10.0.0 monitor - type 'help' for more information (qemu) info cpus * CPU #0: thread_id=3D42924 CPU #1: thread_id=3D42924 CPU #2: thread_id=3D42924 CPU #3: thread_id=3D42924 (qemu) q and after: $ qemu-system-aarch64 -M xlnx-versal-virt -S -monitor stdio QEMU 10.0.50 monitor - type 'help' for more information (qemu) info cpus * CPU #0: thread_id=3D42916 (cortex-a72) CPU #1: thread_id=3D42916 (cortex-a72) CPU #2: thread_id=3D42916 (cortex-r5f) CPU #3: thread_id=3D42916 (cortex-r5f) (qemu) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Zhao Liu Tested-by: Zhao Liu --- qapi/machine.json | 3 +++ hw/core/machine-hmp-cmds.c | 3 ++- hw/core/machine-qmp-cmds.c | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/qapi/machine.json b/qapi/machine.json index 0650b8de71a..d5bbb5e367e 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -80,6 +80,8 @@ # # @thread-id: ID of the underlying host thread # +# @model: CPU model name (since 10.1) +# # @props: properties associated with a virtual CPU, e.g. the socket id # # @target: the QEMU system emulation target, which determines which @@ -91,6 +93,7 @@ 'base' : { 'cpu-index' : 'int', 'qom-path' : 'str', 'thread-id' : 'int', + 'model' : 'str', '*props' : 'CpuInstanceProperties', 'target' : 'SysEmuTarget' }, 'discriminator' : 'target', diff --git a/hw/core/machine-hmp-cmds.c b/hw/core/machine-hmp-cmds.c index c6325cdcaaa..65eeb5e9cc2 100644 --- a/hw/core/machine-hmp-cmds.c +++ b/hw/core/machine-hmp-cmds.c @@ -40,7 +40,8 @@ void hmp_info_cpus(Monitor *mon, const QDict *qdict) =20 monitor_printf(mon, "%c CPU #%" PRId64 ":", active, cpu->value->cpu_index); - monitor_printf(mon, " thread_id=3D%" PRId64 "\n", cpu->value->thre= ad_id); + monitor_printf(mon, " thread_id=3D%" PRId64 " (%s)\n", + cpu->value->thread_id, cpu->value->model); } =20 qapi_free_CpuInfoFastList(cpu_list); diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index d82043e1c68..ab4fd1ec08a 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -47,6 +47,7 @@ CpuInfoFastList *qmp_query_cpus_fast(Error **errp) value->cpu_index =3D cpu->cpu_index; value->qom_path =3D object_get_canonical_path(OBJECT(cpu)); value->thread_id =3D cpu->thread_id; + value->model =3D cpu_model_from_type(object_get_typename(OBJECT(cp= u))); =20 if (mc->cpu_index_to_instance_props) { CpuInstanceProperties *props; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483410; cv=none; d=zohomail.com; s=zohoarc; b=gijNJk3S0bGKpLy0dMnBHf6nlNW0kw+T8MYSrbqkv2QrsWuSMSH+uA2qlITQCPXqVAFZn7rf9gblp4Ux+z6KwBzy7Njv6Jtc7CjosddLu/MMtEPOHHL/353IOVQgy4dvVGw0WTqKU42X2th53F22JlEL0Mj28H60aVdp7GSckv8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483410; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hFx3N/Sw8FKjhjXRe+TJd3AuO90MwVK80ZLLTDnhkYU=; b=f8JY7dMGTjX9oLYswvASXQA4mR4kxupNw4dmb6LrWQIZ0ZfJXXhQttyzZzA0DNDnb5fD8MXaPR9t7pWlvIpjj56RkXruIkEaIE7ayrHnsnZXk2gBd9PtHJDuJbDvlgilVZ08Cl+k7kNM5lhlD2oIN4wHfNoA44prdG3BM3e9sZA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483410413867.1456816721903; Wed, 2 Jul 2025 12:10:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dK-0005lW-1r; Wed, 02 Jul 2025 14:56:38 -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 1uX2d6-0005TN-UR for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:28 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2d0-0002SK-IV for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:23 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3a51481a598so2794662f8f.3 for ; Wed, 02 Jul 2025 11:56: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 ffacd0b85a97d-3a892e5f8absm17000638f8f.95.2025.07.02.11.56.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482575; x=1752087375; 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=hFx3N/Sw8FKjhjXRe+TJd3AuO90MwVK80ZLLTDnhkYU=; b=shMfwYL2KLMbldbhds/1F2hnA1ts7VrZR3wHuk5M+z07s8e7zUKFluChpdSmOfMbir No/zfAyYiColD6AroNRlD0fhHJSmSqr23Ao31zH2kIRcm3Uy8RXDN0vmU/zYPxUGzQjw ttxay7eZDAgt6Pci1ZZLuA1y5T1zrZHk+Bmws372GJFA9IOqH1X8b0uvUBZOltyLdeXk Xcp4c2T6hy4tBz15HGmnmbwu0oTLsYmmB+BRzOJdZ/85nJyvt1Lo+aFcNSTEBWpMqW6X LxEAeBNGMftTiZORVw0ChuYAF1aftwcxvFuKIbaix5+OrY0hxOGrARpagVgjNf4CBIqE iN2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482575; x=1752087375; 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=hFx3N/Sw8FKjhjXRe+TJd3AuO90MwVK80ZLLTDnhkYU=; b=OrQcRo/k5YFM8/Svtjgan3T0mv1FrICMCCR9T6LJF0B1TUWseLJ1C1cMbJpAY/ryNG hyzkyY0LAQmB/uPyED/spdp8dPJjv6FBPVJBC3iDWotvNyQatK/nsVNOIrDHmlYUdrbt Oio2x6aAFAkaT2pwhAIJbUpgmlorHwJMXPFGZmEeTrZjdKmEMJqUWeB+47HWyiuz4yPR iqb3cbkRrFeerJi0/DbFD0HY4U24Th0C4+g3HlFUSsdNVsREj7q+CH+S7N8HG/Of5fGL JjCPUjO6cWmHzPVRl5/BfVYg2GOFKqN6awyXSrjEaHLiSnYc20wLkJ73bVhfQjCtZotp w7jQ== X-Gm-Message-State: AOJu0YyADOgDzJD3knRJld1n79YppEAx6xgY8Kli0rN2RwUopjb51HGd Gn3sc5Ha/KMnafHF9QR582OMkisr1rb+8CfHTlX/9iJQQfzD/9CLvjtV4Xm+8f5nOdoP8AGuNbw PHWoe X-Gm-Gg: ASbGncsXIA15xEi3c7qvIOvyV8BbBDPIJtdJcWWsAu4hdPFNgkCG9KWWfCYlwPXDiea Zw9c/sNFQNxP355LgT74vYOo4PHJ4I47LxSR31eJ9KqNY+FgdnWKU5hgrOzQFaPm5dcU9shiMNe h2T+CDDD612wIjT5VFpR7MLebAtN895aTf2iktQPDtVSE3Z7stCSYeUgYwU9BR8fFKA/h/5GCoD OqCyeZoQSVbOkbGnm3wG+mCTI4SaJWH/dHXN+nGk5Efcag6hO2uHLrLzLy7UnZ/DC3NCoMHqHtS ysZmoN5xcz8F3IBnsYwwUrjGW52t1SId+Xp54OZo5pxSarxEAcar0t0TYGW2Jun03l0qTQ3G0wi X8PvoiAWogEFm+0ndUCvnJt1I1wRrcQkLcP6y X-Google-Smtp-Source: AGHT+IH+eXOXaGjfjtwP7dnGyYo7Hf80QwmNhdYqXAx1WDfQzlhVe2uvb1k4drG12WzGIPW8PKTW6Q== X-Received: by 2002:a5d:5888:0:b0:3a4:d0ed:257b with SMTP id ffacd0b85a97d-3b1ff42f9b6mr3335947f8f.22.1751482575474; Wed, 02 Jul 2025 11:56:15 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Zhao Liu , Eric Blake , Markus Armbruster , Michael Roth Subject: [PATCH v4 22/65] qapi: Move definitions related to accelerators in their own file Date: Wed, 2 Jul 2025 20:52:44 +0200 Message-ID: <20250702185332.43650-23-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483411040116600 Extract TCG and KVM definitions from machine.json to accelerator.json. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- MAINTAINERS | 1 + qapi/accelerator.json | 75 ++++++++++++++++++++++++++++++++++++++ qapi/machine.json | 65 --------------------------------- qapi/qapi-schema.json | 1 + accel/tcg/monitor.c | 2 +- hw/core/machine-hmp-cmds.c | 1 + hw/core/machine-qmp-cmds.c | 1 + qapi/meson.build | 1 + 8 files changed, 81 insertions(+), 66 deletions(-) create mode 100644 qapi/accelerator.json diff --git a/MAINTAINERS b/MAINTAINERS index 7128e0bc98e..5d6b337cef6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -507,6 +507,7 @@ F: accel/Makefile.objs F: accel/stubs/Makefile.objs F: cpu-common.c F: cpu-target.c +F: qapi/accelerator.json F: system/cpus.c =20 Apple Silicon HVF CPUs diff --git a/qapi/accelerator.json b/qapi/accelerator.json new file mode 100644 index 00000000000..1d2a83f1b22 --- /dev/null +++ b/qapi/accelerator.json @@ -0,0 +1,75 @@ +# -*- Mode: Python -*- +# vim: filetype=3Dpython +# +# SPDX-License-Identifier: GPL-2.0-or-later + +## +# =3D Accelerators +## + +{ 'include': 'common.json' } + +## +# @KvmInfo: +# +# Information about support for KVM acceleration +# +# @enabled: true if KVM acceleration is active +# +# @present: true if KVM acceleration is built into this executable +# +# Since: 0.14 +## +{ 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} } + +## +# @query-kvm: +# +# Return information about KVM acceleration +# +# Returns: @KvmInfo +# +# Since: 0.14 +# +# .. qmp-example:: +# +# -> { "execute": "query-kvm" } +# <- { "return": { "enabled": true, "present": true } } +## +{ 'command': 'query-kvm', 'returns': 'KvmInfo' } + +## +# @x-query-jit: +# +# Query TCG compiler statistics +# +# Features: +# +# @unstable: This command is meant for debugging. +# +# Returns: TCG compiler statistics +# +# Since: 6.2 +## +{ 'command': 'x-query-jit', + 'returns': 'HumanReadableText', + 'if': 'CONFIG_TCG', + 'features': [ 'unstable' ] } + +## +# @x-query-opcount: +# +# Query TCG opcode counters +# +# Features: +# +# @unstable: This command is meant for debugging. +# +# Returns: TCG opcode counters +# +# Since: 6.2 +## +{ 'command': 'x-query-opcount', + 'returns': 'HumanReadableText', + 'if': 'CONFIG_TCG', + 'features': [ 'unstable' ] } diff --git a/qapi/machine.json b/qapi/machine.json index d5bbb5e367e..e4713c405e8 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -454,35 +454,6 @@ ## { 'command': 'inject-nmi' } =20 -## -# @KvmInfo: -# -# Information about support for KVM acceleration -# -# @enabled: true if KVM acceleration is active -# -# @present: true if KVM acceleration is built into this executable -# -# Since: 0.14 -## -{ 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} } - -## -# @query-kvm: -# -# Return information about KVM acceleration -# -# Returns: @KvmInfo -# -# Since: 0.14 -# -# .. qmp-example:: -# -# -> { "execute": "query-kvm" } -# <- { "return": { "enabled": true, "present": true } } -## -{ 'command': 'query-kvm', 'returns': 'KvmInfo' } - ## # @NumaOptionsType: # @@ -1729,24 +1700,6 @@ 'returns': 'HumanReadableText', 'features': [ 'unstable' ] } =20 -## -# @x-query-jit: -# -# Query TCG compiler statistics -# -# Features: -# -# @unstable: This command is meant for debugging. -# -# Returns: TCG compiler statistics -# -# Since: 6.2 -## -{ 'command': 'x-query-jit', - 'returns': 'HumanReadableText', - 'if': 'CONFIG_TCG', - 'features': [ 'unstable' ] } - ## # @x-query-numa: # @@ -1764,24 +1717,6 @@ 'returns': 'HumanReadableText', 'features': [ 'unstable' ] } =20 -## -# @x-query-opcount: -# -# Query TCG opcode counters -# -# Features: -# -# @unstable: This command is meant for debugging. -# -# Returns: TCG opcode counters -# -# Since: 6.2 -## -{ 'command': 'x-query-opcount', - 'returns': 'HumanReadableText', - 'if': 'CONFIG_TCG', - 'features': [ 'unstable' ] } - ## # @x-query-ramblock: # diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json index a8f66163cb7..0477696ff02 100644 --- a/qapi/qapi-schema.json +++ b/qapi/qapi-schema.json @@ -37,6 +37,7 @@ { 'include': 'run-state.json' } { 'include': 'crypto.json' } { 'include': 'job.json' } +{ 'include': 'accelerator.json' } { 'include': 'block.json' } { 'include': 'block-export.json' } { 'include': 'char.json' } diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index 1c182b6bfb5..5bdd837006c 100644 --- a/accel/tcg/monitor.c +++ b/accel/tcg/monitor.c @@ -11,7 +11,7 @@ #include "qemu/qht.h" #include "qapi/error.h" #include "qapi/type-helpers.h" -#include "qapi/qapi-commands-machine.h" +#include "qapi/qapi-commands-accelerator.h" #include "monitor/monitor.h" #include "system/cpu-timers.h" #include "exec/icount.h" diff --git a/hw/core/machine-hmp-cmds.c b/hw/core/machine-hmp-cmds.c index 65eeb5e9cc2..15ae5864d16 100644 --- a/hw/core/machine-hmp-cmds.c +++ b/hw/core/machine-hmp-cmds.c @@ -18,6 +18,7 @@ #include "monitor/monitor.h" #include "qapi/error.h" #include "qapi/qapi-builtin-visit.h" +#include "qapi/qapi-commands-accelerator.h" #include "qapi/qapi-commands-machine.h" #include "qobject/qdict.h" #include "qapi/string-output-visitor.h" diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index ab4fd1ec08a..f37fd220c2d 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -14,6 +14,7 @@ #include "hw/mem/memory-device.h" #include "qapi/error.h" #include "qapi/qapi-builtin-visit.h" +#include "qapi/qapi-commands-accelerator.h" #include "qapi/qapi-commands-machine.h" #include "qobject/qobject.h" #include "qapi/qobject-input-visitor.h" diff --git a/qapi/meson.build b/qapi/meson.build index 3b035aea339..ca6b61a608d 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -57,6 +57,7 @@ qapi_all_modules =3D [ ] if have_system qapi_all_modules +=3D [ + 'accelerator', 'acpi', 'audio', 'cryptodev', --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482700; cv=none; d=zohomail.com; s=zohoarc; b=d1of5bl47eYvmzWBg1hn5ZZB2mjkDjKmW1Fo1rdgJIWlt+fxY20YLwG6VtuOp2Kcw6jiNh7rTBElw7FrW0+IOiISKcfbzfVAeU8VN8wOmgMaYxdGR2AQHfLyvmWPQtBa8F20IYBcAGVbwRRjRrTiPuovPYRSczqO1xV4duOF+Mk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482700; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eg1QLrLP2BMZ9vGVeWVIdjZH5+H7wor9h9xhFdkEFm4=; b=K93fUJ4ILRWfagDVEgnTOdP1Hd0odC9UDkJeKa5LURhoml5AqUa9C99hokFHU+f0gXefleLkmTokXhI+FvvqgYZOmiUK01ixwBzT1DOOAmeEaK/lQRfebFn2lvN85KCVVCBxigLZT3VC8Ojf2hVxPVByEZlf74QfH5VJN+w7j8g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482700710615.8072120920384; Wed, 2 Jul 2025 11:58:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dS-0006R0-63; Wed, 02 Jul 2025 14:56:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2dD-0005Yv-4X for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:33 -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 1uX2dA-0002Tw-5j for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:30 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a575a988f9so4722557f8f.0 for ; Wed, 02 Jul 2025 11:56: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-3a892e5979dsm16670846f8f.75.2025.07.02.11.56.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482585; x=1752087385; 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=eg1QLrLP2BMZ9vGVeWVIdjZH5+H7wor9h9xhFdkEFm4=; b=pgOLK/WcfOoEvqZ4z/UuCb43FZBVeaYUU9genBuT7E2QMv7ID7AOnW/mcP91ojQqRE zQDrfNi1S9dzVWf3W/yvYDRilrx7XEYaTtuurs27ed+y897JYMo90PgTtfexDpm5Sdj5 3SmKr1M86DXqrPc4XDg/LrE2gLzrVLFfQHAsqzoaKtH/TEZaQVJWlbD4Xce76jpXxvPV pmC2Y2vN9qHcLSu0RSaYr/kYC9s1+sZc1q00pv0D/sdVcjqFm6TxgMSvAQY0sJ6fym5K SQxhrpK07JAU0QdPYherDZ2JVnWf4b8aZBbJGa2o+XwCvp+tL3OAV7G23ZuZimCipuZv dmqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482585; x=1752087385; 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=eg1QLrLP2BMZ9vGVeWVIdjZH5+H7wor9h9xhFdkEFm4=; b=ShKbTTZB9KvPAoK7cCNAXJ7qR/hA+dfTwCt8MUTg9ioLYTaEGjlXTG9DJbm3cREEVj +qmf3r84pMeKW13XG6JNjvWAU7UYNil4kCKqIqLjQp8D9UKUHIFXodoDPL643LLJ/0Pe vDCN/3Ugf/q3eXvUiLNJsnNuWzvmL2F+XWg2UYQGKI1qED9eu6W9f6cUqhGTOH/3CAnF 17amO1I7xksK8VzSP0H1Dw1XqirMAmKWrzZH2bhSiI4mblWdtQOF34BEqGSyMYDxaNKr MnBk0MksMkJ383Wsusn+4Hj5iG0K7k2ZFYxE8dVk6D7lvDs/BtR/3OTPuAOgUjeDXgix 9p8A== X-Gm-Message-State: AOJu0Ywt5AYvEVQLvGLXrHY4UIMBx+VUZ4YFc2pIwPAUyOxdnGgthPWv 5ejh3RVKnNG85mXfg4QkvEhFfXNxey6lxkhyVZXPtenMCjpXHsQtIs1dUMpx1ISwsL5mKRBXXsu PdHmF X-Gm-Gg: ASbGnctkOBYTpWrnKXxfziyJSzsCGxyNyAtPt5m4Hq+MmORmqZ3+2+XSdahSILwCi8A pn1WTB1eO4AwUCUvFophEs58X3NtpQK2CpixND8Me8p2zQIIWVIRQ4KzrxxUIrN6XoxTyk6YbRZ znStmM3BFJ5WjAlyAB6sHLpIrLXf9uaJRUdJcmJtCHJmvXBmX+OVGlW5iPtZ7oZf+/ZcvLdxhRo Hg/UAuvjtAyc2sps7mjHVjpl/2TVgGTMr2tU/gPvWZn+Ob6oprXQbH8yK6DgDj5tSciXgRJlJO1 jQr8ioKQXT8wbe7DkO5Z9ZzUv7yKysDAzantcJ3eOg+DsywtqMmTkiIPNTqFzBigEHGW+8XKHWT pZ9bOEMFKLfUmNvbVCWE/0eTCCMZ6VhM6Hn5H X-Google-Smtp-Source: AGHT+IH5acTYdfn6qoz2xOPcBTVv+InLxlJToiv4CwOuSaTe+SB1DB+Tr51i/fJFDkJCAcmPQ1yN2g== X-Received: by 2002:a05:6000:43c9:b0:3a5:7944:c9b with SMTP id ffacd0b85a97d-3b32c0a188bmr190504f8f.16.1751482585133; Wed, 02 Jul 2025 11:56:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eric Blake , Markus Armbruster Subject: [PATCH v4 23/65] accel/system: Introduce @x-accel-stats QMP command Date: Wed, 2 Jul 2025 20:52:45 +0200 Message-ID: <20250702185332.43650-24-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482702470116600 Unstable QMP 'x-accel-stats' dispatches to the AccelOpsClass::get_stats() and get_vcpu_stats() handlers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Markus Armbruster Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- qapi/accelerator.json | 17 +++++++++++++++++ include/qemu/accel.h | 2 ++ include/system/accel-ops.h | 3 +++ accel/accel-qmp.c | 34 ++++++++++++++++++++++++++++++++++ accel/accel-system.c | 1 + accel/meson.build | 2 +- 6 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 accel/accel-qmp.c diff --git a/qapi/accelerator.json b/qapi/accelerator.json index 1d2a83f1b22..88b536e5274 100644 --- a/qapi/accelerator.json +++ b/qapi/accelerator.json @@ -73,3 +73,20 @@ 'returns': 'HumanReadableText', 'if': 'CONFIG_TCG', 'features': [ 'unstable' ] } + +## +# @x-accel-stats: +# +# Query accelerator statistics +# +# Features: +# +# @unstable: This command is meant for debugging. +# +# Returns: accelerator statistics +# +# Since: 10.1 +## +{ 'command': 'x-accel-stats', + 'returns': 'HumanReadableText', + 'features': [ 'unstable' ] } diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 065de80a87b..598796bdca9 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -41,6 +41,8 @@ typedef struct AccelClass { AccelOpsClass *ops; =20 int (*init_machine)(AccelState *as, MachineState *ms); + /* get_stats: Append statistics to @buf */ + void (*get_stats)(AccelState *as, GString *buf); =20 /* system related hooks */ void (*setup_post)(AccelState *as); diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index af54302409c..2a89641aa81 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -50,6 +50,9 @@ struct AccelOpsClass { =20 void (*handle_interrupt)(CPUState *cpu, int mask); =20 + /* get_vcpu_stats: Append statistics of this @cpu to @buf */ + void (*get_vcpu_stats)(CPUState *cpu, GString *buf); + /** * @get_virtual_clock: fetch virtual clock * @set_virtual_clock: set virtual clock diff --git a/accel/accel-qmp.c b/accel/accel-qmp.c new file mode 100644 index 00000000000..318629665b3 --- /dev/null +++ b/accel/accel-qmp.c @@ -0,0 +1,34 @@ +/* + * QMP commands related to accelerators + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/accel.h" +#include "qapi/type-helpers.h" +#include "qapi/qapi-commands-accelerator.h" +#include "system/accel-ops.h" +#include "hw/core/cpu.h" + +HumanReadableText *qmp_x_accel_stats(Error **errp) +{ + AccelState *accel =3D current_accel(); + AccelClass *acc =3D ACCEL_GET_CLASS(accel); + g_autoptr(GString) buf =3D g_string_new(""); + + if (acc->get_stats) { + acc->get_stats(accel, buf); + } + if (acc->ops->get_vcpu_stats) { + CPUState *cpu; + + CPU_FOREACH(cpu) { + acc->ops->get_vcpu_stats(cpu, buf); + } + } + + return human_readable_text_from_str(buf); +} diff --git a/accel/accel-system.c b/accel/accel-system.c index 11ba8e24d60..246ea55425f 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -26,6 +26,7 @@ #include "qemu/osdep.h" #include "qemu/accel.h" #include "hw/boards.h" +#include "hw/core/cpu.h" #include "system/accel-ops.h" #include "system/cpus.h" #include "qemu/error-report.h" diff --git a/accel/meson.build b/accel/meson.build index 52909314bfa..25b0f100b51 100644 --- a/accel/meson.build +++ b/accel/meson.build @@ -1,6 +1,6 @@ common_ss.add(files('accel-common.c')) specific_ss.add(files('accel-target.c')) -system_ss.add(files('accel-system.c', 'accel-blocker.c')) +system_ss.add(files('accel-system.c', 'accel-blocker.c', 'accel-qmp.c')) user_ss.add(files('accel-user.c')) =20 subdir('tcg') --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482823; cv=none; d=zohomail.com; s=zohoarc; b=avKVBlFrvJXIwZVq0xJgRCQkohlvnhPBjdazHY8PqrjJU6+E51ZEzxdzzK5XgN6/dRRVlPSs+kKDu94ffQIWxcaizNbE1jz1YS/crThvvTj5P6/qytCiY5X1uC/OU5g3x3fbF2tgl3VayCAegANxGpaHHYwiQNsLhfxyxXYYaYA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482823; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ShL4sT3CKcvffos/mYfFqk7qnaBIZqn7K5GJ3zuDgto=; b=VzO7wcw8D0dEbXQKiBjAFgzbo2SEKY9jov+jpwrquvA3LqvTGF+Z8Kv4RX71HAKRUImzdRe74Qqlf0y+DQ/MsgjNwAE6JSvTmuPT+2Q90F7jrZvBDYK9Ze7CKxqZd8FZdHbgmztzb82ChVqjV2vXG7BntbLLG+9L43bh9yjhIFE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482823644552.4727577115686; Wed, 2 Jul 2025 12:00:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dk-0007Cl-Gf; Wed, 02 Jul 2025 14:57:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2dM-0006CP-4s for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:40 -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 1uX2dI-0002V7-An for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:38 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-451d41e1ad1so48441905e9.1 for ; Wed, 02 Jul 2025 11:56:33 -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-454a9989423sm5633385e9.19.2025.07.02.11.56.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482592; x=1752087392; 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=ShL4sT3CKcvffos/mYfFqk7qnaBIZqn7K5GJ3zuDgto=; b=op4LTWoy0zztnXF8jmZ6exKDy2M1OHEDrp+lSWrR8IBBO4kEiCPYJat5Rqy0gytJbx yckMDQ9mKzrMSpT4stZKg6y+MtWQvz25axuhN75NmQxCAMGUv6EPc8GwP8mUplsAyAWH mVU1sZUuR8U5EFua6rpxMVSB9IuQraMDRpZLR8fRxxz2o9KwkymM7DHLO/gTlSmp8pxZ 3xj5z7bOwW3iPxNpppeLA7hPwBbYPt9A9J1CMDqYQdnvLxN/JV+xExEFE7hhX97ERxoK lj1bdZVFWXvBoKm9z8/344uyaCqnuA6zulwjlEwBIETgtAf+YIes36X+arofwjxxYLdj bK9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482592; x=1752087392; 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=ShL4sT3CKcvffos/mYfFqk7qnaBIZqn7K5GJ3zuDgto=; b=CRlhJwCWRt4HDcC0qFmpgJEBP2MrxddbhaaWZDk7ZxP5jE4RVvArOHYm/KwYjoDug8 kdN+v3wv4WCj6iGD4/CowwVRUJAFKFlfzWMJiAYWDARHKwWFbP9XOHlMBUnIfpDmut76 RnZqInNCNcn0vf+lx1ZbtXl2+YiCKWildWQyZ128CqkQH1LEPLzZk4PTCWatPDAvNjvn efI4IniFN8NM9ypZKp2olELDSTcHIxlf7LmZmKpyFxlGv8iXG84VqKo4LRMBsNZ7pNCM VStx9+ZlMPssJ9Iv11FX1OmuzCN5H0vPBMg1pchOmFbRov4LLhgEKP/HlaWqC/n2BmP5 H5Yg== X-Gm-Message-State: AOJu0Yz1FlCm/epPRs2Y5BEpD0HfahKCNxzLWMG0X94szptpFvJ/pco8 z5/ml3ZoTbb+yLiEG1HDW4gRCO4xMhFCQd9d+7Dgfc7RATW1VVjMPwvJgr/xfO7b/EJwfMe89AE 5YUYP X-Gm-Gg: ASbGncuSd9p8IiYhJlniQe4XjeTV9UIQaxktGo848cCK4p2DMjY5B7b67UcVqoJxKdn Ak8W7x6vFRAkjfAuqOzl2vMric4TxMopCRny7DS3n0T9Ruv4v8RwRuh+zdoUNCPEvpRSYG6YLes PfsjXDt1HW/sKIMP1yjqI+3eMx180RBQ8J/VCWKeaeGNdo94cY92oSEFeFDEIQnHKq2v+jHDVsg Neng46NkyQTqttg5iUM3npimPwjLJoswYnPJ7KvvgTc2vtVs5kD3TPoYNfMeyDTvxDN7iVOHO9X EKkKCVn6YBhA5o+ReiKeBYaAyR/jfT6Pg2rvW/OBih8wZh6cDxsXuF838i5D1yWfgZYxkABt5Tl 81+XKe4oY9p6E8XEMMic9TEI9CRlHLDkHjIs0op9SRVsD7Jg= X-Google-Smtp-Source: AGHT+IEAVgQQxwvmqX3+tsH6VynoKvLFEkT4fNSM+VuXZjq490LyYmmEx91jgBs2ZgpO7IMmeNIpEg== X-Received: by 2002:a05:600c:1388:b0:450:d00d:cc with SMTP id 5b1f17b1804b1-454ab368e3bmr50675e9.2.1751482592330; Wed, 02 Jul 2025 11:56:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Dr. David Alan Gilbert" Subject: [PATCH v4 24/65] accel/system: Add 'info accel' on human monitor Date: Wed, 2 Jul 2025 20:52:46 +0200 Message-ID: <20250702185332.43650-25-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482824443116600 'info accel' dispatches to the AccelOpsClass::get_stats() and get_vcpu_stats() handlers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- accel/accel-system.c | 8 ++++++++ hmp-commands-info.hx | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/accel/accel-system.c b/accel/accel-system.c index 246ea55425f..6cdfe485c29 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -25,6 +25,8 @@ =20 #include "qemu/osdep.h" #include "qemu/accel.h" +#include "qapi/qapi-commands-accelerator.h" +#include "monitor/monitor.h" #include "hw/boards.h" #include "hw/core/cpu.h" #include "system/accel-ops.h" @@ -112,11 +114,17 @@ void accel_init_ops_interfaces(AccelClass *ac) cpus_register_accel(ops); } =20 +static void accel_ops_class_init(ObjectClass *oc, const void *data) +{ + monitor_register_hmp_info_hrt("accel", qmp_x_accel_stats); +} + static const TypeInfo accel_ops_type_info =3D { .name =3D TYPE_ACCEL_OPS, .parent =3D TYPE_OBJECT, .abstract =3D true, .class_size =3D sizeof(AccelOpsClass), + .class_init =3D accel_ops_class_init, }; =20 static void accel_system_register_types(void) diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index 639a450ee51..0496be6abfb 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -281,6 +281,18 @@ ERST .cmd =3D hmp_info_sync_profile, }, =20 + { + .name =3D "accel", + .args_type =3D "", + .params =3D "", + .help =3D "show accelerator info", + }, + +SRST + ``info accel`` + Show accelerator info. +ERST + SRST ``info sync-profile [-m|-n]`` [*max*] Show synchronization profiling info, up to *max* entries (default: 10), --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482853; cv=none; d=zohomail.com; s=zohoarc; b=F8Zx9BkGTdDwxxPj5SxpHlPrZUaxGH26CVodVzg8qPpXU8fFhXMmpJZEeGQQbo9KOawzbmoWpdWLpW2H+PKhOutjMXgBRA6CSs07cQk/iaqh8tmx4mJYyPzmVOUyRiYd6p3If3V2kbdtFetwgI36740l7Gw2XTydBAdSJEC8p58= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482853; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HbtMMfTGvsSTq8PxfWtAmmbIIbgaQfV1sw8UTVP93vI=; b=dZUqDCqXrLDWGFx0KhOUKVzXu1ogcD82b8vQbNGeSIXxzWy1BG+hTH1m/dPEGwYV6C433kPt+LJ3BAP+STiaO2OGBw0F50KPb/K/Vy/5fUhmVAN4MoKlT6r3PASCqCTBoDkP1K7kq3YEAKtpFLlY0Bk/BzjydLD5g834bRIDKck= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482852970382.80555402214657; Wed, 2 Jul 2025 12:00:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dj-0007AM-CN; Wed, 02 Jul 2025 14:57:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2dQ-0006QS-1H for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:44 -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 1uX2dN-0002WK-46 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:43 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a588da60dfso3068261f8f.1 for ; Wed, 02 Jul 2025 11:56: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 ffacd0b85a97d-3a892e52a5asm16884357f8f.54.2025.07.02.11.56.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482599; x=1752087399; 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=HbtMMfTGvsSTq8PxfWtAmmbIIbgaQfV1sw8UTVP93vI=; b=iXjJmINNyc4cftnVsUMpH6d6ZhYYySvxOnz5UtlHFIEHs4y/dGBpuIxCjLo3Lq62K7 Xp2bqHQ9VLuD8DYjRfHfO5P0nTkkVU4o0oneYho2WI9C9kqyARTboEVkU2nyTKQucJNU ZPLqYbqlpxeTxd31F2u8goAPM2fL9axIcwWNHaiuaswy+1GeokqXqbhFyIdpePExOQiC E8pUzqI96o7DMtSB2eR3bbrUWuAuPuSdGZ+ImGulz6FxzI3Q65/+TPbXCksPzRlP+t63 BUFhF7Bb9eGwhFphmuFO0vr8p4vKB6g+hA34abqKx9vAdSoezNy/LAxVNhMRK/8unMSb U35A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482599; x=1752087399; 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=HbtMMfTGvsSTq8PxfWtAmmbIIbgaQfV1sw8UTVP93vI=; b=I6ClQ6snRKVn7itcbq+X+6K3qfX9sHbWDjySzWbVIn3ODIP/3xmbJMugYWVL+6LCEA CYLjv5Nucnv7httu5/2sjBbswPetozXTJ1Q1rYD9D76KL4DqCHBVtTIUmE8WtspunKob B+h5f8W/+Jnvh3o3CUyUEl8zhapOcOiuFLKOavtMX7LtFrKGoriHL+CQTkwgjXEGx6A0 nwKGO9hsJv59xR7vsaWHhw8ZgK4Hhhq7wiZTJlwxKSWFS6AkcOiGQUy2rxyvZT2DL5QW kMsqNRvd5OlImJKtyrSfDWcK+wk5m5VOOOYS2YpKr4/eKb1+Ia7hBK1Ylf4+JLW35vFZ Ej0w== X-Gm-Message-State: AOJu0YxGzbkR7wFKuRy0FszjWhwsv9JY1PnUsk2Udmir1MXg8ojAH4Oz IzCLzht4qKJxzacgCdorTjeMToA1VEmZOWhkXapSZ5gCoPwWbwpv751+H3eSlU80lP8lCkZrGrd HWO99 X-Gm-Gg: ASbGncvMYfE8eDnZpJ3NRDn+rVquAWJ1X/3buZPMWq28wnaJsNsPIH7NBhd215gGdny SUtaNBayGpg7skKWpd2/ZHQmS+nlb/UYuQQkYJzMcm0RmfecVdnk93XIKBW8OFvEi+SDkrFk2Bi GiA67QKJ+2cpK+siE/MnKItlCZcUaltIvqmbgg8DLR8bi+u6ql3RQHWT+C8w5lcapQN/Y+VQnZc 5NZtH76Epc5aXd3glUN4WuOZF1rT1XIAT8MH8aee46Och7Z/o3900a39OA9o8r7OjPX4d2JkRnS nO5JeI5s2WRzs9p/8jy6gq3PhnJGSzOlwyT6yJC5yp/f4bAbL5kEO+xtxEDSs/X5+ymXYfWbK46 HrN2INS44kHfTbfRGeEmeBEDt3JcDD+r2HoZRjlVLZ9z2eOE= X-Google-Smtp-Source: AGHT+IFkQww10hbhm43S3pkTjnKIoi9bghBL6Eo1X1DPDUp3vTlYiiCw78fD7cvz3WR+ZnecsAAO6w== X-Received: by 2002:a05:6000:2a88:b0:3a3:6a9a:5ebf with SMTP id ffacd0b85a97d-3b32c477c9cmr216065f8f.20.1751482598987; Wed, 02 Jul 2025 11:56:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 25/65] accel/tcg: Factor tcg_dump_flush_info() out Date: Wed, 2 Jul 2025 20:52:47 +0200 Message-ID: <20250702185332.43650-26-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482855185116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 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); =20 +void tcg_dump_flush_info(GString *buf); + #endif diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c index 5bdd837006c..3d024e250a1 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"); } =20 +void tcg_dump_flush_info(GString *buf) +{ + size_t flush_full, flush_part, flush_elide; + + g_string_append_printf(buf, "TB flush count %u\n", + qatomic_read(&tb_ctx.tb_flush_count)); + g_string_append_printf(buf, "TB invalidate count %u\n", + qatomic_read(&tb_ctx.tb_phys_invalidate_count)); + + tlb_flush_counts(&flush_full, &flush_part, &flush_elide); + g_string_append_printf(buf, "TLB full flushes %zu\n", flush_full); + g_string_append_printf(buf, "TLB partial flushes %zu\n", flush_part); + g_string_append_printf(buf, "TLB elided flushes %zu\n", flush_elide); +} + static void dump_exec_info(GString *buf) { struct tb_tree_stats tst =3D {}; struct qht_stats hst; - size_t nb_tbs, flush_full, flush_part, flush_elide; + size_t nb_tbs; =20 tcg_tb_foreach(tb_tree_stats_iter, &tst); nb_tbs =3D tst.nb_tbs; @@ -187,15 +202,7 @@ static void dump_exec_info(GString *buf) qht_statistics_destroy(&hst); =20 g_string_append_printf(buf, "\nStatistics:\n"); - g_string_append_printf(buf, "TB flush count %u\n", - qatomic_read(&tb_ctx.tb_flush_count)); - g_string_append_printf(buf, "TB invalidate count %u\n", - qatomic_read(&tb_ctx.tb_phys_invalidate_count)); - - tlb_flush_counts(&flush_full, &flush_part, &flush_elide); - g_string_append_printf(buf, "TLB full flushes %zu\n", flush_full); - g_string_append_printf(buf, "TLB partial flushes %zu\n", flush_part); - g_string_append_printf(buf, "TLB elided flushes %zu\n", flush_elide); + tcg_dump_flush_info(buf); tcg_dump_info(buf); } =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482865; cv=none; d=zohomail.com; s=zohoarc; b=kBBfIPJMRpWbhhBYcBtQF/SabKqEfbEQPEa0W2yx6xvuzqsy4G8jIt909yUr9n4Ylxiq5Qrl64r0/wEcSe0Ryy9LxXi6yMMn7eKxTop+g0V2SuHW6SGReT1vnHuEiTz70lDg/kZc1rO0NrvMgB1SOzi8Qy7hhyMLwmN5RrmYKLY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482865; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NlBOE8V4jVPken7WCnMtNpY/1Zbf/V//8TkK0yzKABw=; b=RgMeYQjwblwXIumyPPMxEJ/CyYKjzf1d2ZGcpV3y55zL6ljJ6dXDqwsG8pLQrGj5tnlIsjdspD5UP+LKzqGKRnVyiFlGgIWU1IOlOdVdMsTD2FQvkUjzHtfKk3ffR+jOTq7dD1Xz+o6Jw1JDBlrJXopcwWcKFaxZhKP47aLZlBQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482865659746.426856265705; Wed, 2 Jul 2025 12:01:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dp-0007ek-WA; Wed, 02 Jul 2025 14:57: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 1uX2dY-0006pt-MH for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:53 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2dV-0002Xf-Vb for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:51 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4538a2fc7ffso2063595e9.0 for ; Wed, 02 Jul 2025 11:56: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 5b1f17b1804b1-454a9969a20sm5753315e9.1.2025.07.02.11.56.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482605; x=1752087405; 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=NlBOE8V4jVPken7WCnMtNpY/1Zbf/V//8TkK0yzKABw=; b=tK5xHDXDc90g/VG8gugCgQBvhDjVlkTtQx76bgqVAoAufMVdjjPHeqDcH2SjZZXhEZ sHAiEEersLmQUe/pvQt7LjsOkd1m1WH4kLuR0TuNO/4NOCy1mw2m/NAg2HxOcv/09j9j h9Z5Cnzkb53TiZyyKO3MikFQeo6H98yD4AR2+2odcFPISyK4bmLXb4fsE8nCvntZzGjA lnIjZOmVUiHA4CTFAPTswLzDx7qintNzMZf0UEY5B6uIZdHuY9kVsdpH4PHTW/qx3lh9 b9ZhhPFbKr4vPYaWKRPr/rbU5ApRmVGVlF5PhlJy71kMKdyFZZiO5e7OVufX3EnbpQVX VAQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482605; x=1752087405; 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=NlBOE8V4jVPken7WCnMtNpY/1Zbf/V//8TkK0yzKABw=; b=ISVDC50uiGHSoxtdRQdwzQD9ed5cUB+V0rLswyRvOlB4Y1jOhqOSo6WQeWGRueseVU plm3aFr0vT3MmRMnpn3fkErL5E9jsdfkw64c9hE7H0ps/Hn9j8I8vw+3GHdSufxuamCy GhoSZDBRYKmpWYXdbYeF6v+yTggO1ATT6WgBzJiKCX9ZEh3iVRB000sJqj2RobaL94MM olunTkRuufdzGH9usPcwYO8HhEf1duX0vhNPlu282cKHsQRIuq0bFNK2oxBSQxT0K2M0 zh+QAXAlDtX0xfc2aOSYjo+oDLZUYqzn/IFCePpEvzDGOmC3tHl1/Yf42DhR8jwJCf8a B2iw== X-Gm-Message-State: AOJu0Yy5PwcvJb/dro66XwVb61wlTzJ36N+7mySl9gsnQoJnHtN7r2t3 HYtNBKER6q0L7OLi7HzXCNHWLvJNoX/TyLCmrP2199VmtaLd3gxBkt0ru6YT6BG8E5xKndyz7H+ Lkrke X-Gm-Gg: ASbGncthAhoE9QXuPFK1B6+BN+cP4tzF4T53Wk+shNmux/rokhOL3dADE7JG5FEjhR+ 3+JGyOlgh9wD5waTsHZMdvqNYoOauN6Beu+f5PO91LS/pxzRRdFW+mCipQ04v5VR7GMCc4xHmWf O7evF07HVbu1paZJHEedyX7HBzUCmNgzjul7MPGFnhPwzFcl8nIKYOfp4GvwL+6ML/P88yaZR3b mdsYWEXhWCJ9iBkzaClJzxp9YrFINA/JdFgqojhOdzvdR7Ou4yQvKom5eFEDGMA26Bdr7F0uDk0 zCaGUyupdmInGLV04KAqUSVm4XNMRBHuK6MNjuRrvN5mQwoPzuUJCpXViKnB6Gby8KKHIZt+oAV Z6pa4gTneZEGL6e7v2MvBt6tY19Z4RFh3pVis X-Google-Smtp-Source: AGHT+IGfarBqgsPD1JhSPtFJkEdGOfpnSdg486mnz3y+RHy7AE1p4zMdqb9XzvWN6deqJSxmCyEepg== X-Received: by 2002:a05:600c:c170:b0:442:f904:1305 with SMTP id 5b1f17b1804b1-454ab3200f4mr202115e9.6.1751482605465; Wed, 02 Jul 2025 11:56:45 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 26/65] accel/tcg: Implement get_[vcpu]_stats() Date: Wed, 2 Jul 2025 20:52:48 +0200 Message-ID: <20250702185332.43650-27-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482867064116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-all.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index ae83ca0bd10..d49d2b3b0fa 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -239,11 +239,17 @@ static int tcg_gdbstub_supported_sstep_flags(AccelSta= te *as) } } =20 +static void tcg_get_stats(AccelState *as, GString *buf) +{ + tcg_dump_flush_info(buf); +} + static void tcg_accel_class_init(ObjectClass *oc, const void *data) { AccelClass *ac =3D ACCEL_CLASS(oc); ac->name =3D "tcg"; ac->init_machine =3D tcg_init_machine; + ac->get_stats =3D tcg_get_stats; ac->allowed =3D &tcg_allowed; ac->supports_guest_debug =3D tcg_supports_guest_debug; ac->gdbstub_supported_sstep_flags =3D tcg_gdbstub_supported_sstep_flag= s; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482807; cv=none; d=zohomail.com; s=zohoarc; b=MTX2gzD3ZJ0d36/N5G7BRBzyHnXq32ZsoS1bxi9JJ+arKSu8G/w5H8Fn7crAdKIAZcSuNWqG5YfccwFEUYlxT63YqqyMzWjKjq716qa8OJj6DeKGrgfw6N7FRcqsDuOW6a9LUTRXzQn+5dKvA+xeNO/pOLXtU7hrzJ1zt0BF4G8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482807; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9Nod2XnKcLFCGDw4Al66TFSscA1L5ljopnzhztAklYo=; b=PSPXCS2kkJxxKvJ7mvzhQ6dnfVpGqQe6zGXZsBI/uggtkLgXiE8FU4LMUhFQczxTmm/pNk6Nxai6kctEYpAm9Ebaj/pFyVrbzcdgVsQil7zym66xdz1jz7V9cnymd3F0QNooRxzByYy7TecTpNqidY4HFqhWPs2dwSDV+K1npOA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482807455832.5730739926619; Wed, 2 Jul 2025 12:00:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2dq-0007Sd-6Y; Wed, 02 Jul 2025 14:57: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 1uX2de-0006xJ-63 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:59 -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 1uX2db-0002Yi-FU for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:56:57 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-450ccda1a6eso38531705e9.2 for ; Wed, 02 Jul 2025 11:56: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 5b1f17b1804b1-454a997e367sm5682865e9.15.2025.07.02.11.56.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482612; x=1752087412; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9Nod2XnKcLFCGDw4Al66TFSscA1L5ljopnzhztAklYo=; b=JQnfOcsE1xtTL7AX33fllG+eKj942+nHD2cjbJwQCmYSURDNAfzN817IFu0G/ZcQa8 CCroNL93fK7KXQbc3JRZIa4MuGJSS7QWZNzCQ47t4mtJbVD/8pe7wcCM59VNIBef2jPn 4oyYi7L5ZfE0WPQRQEl5u1X+kt7yFQdDxl/vzy2h706STMC68uEzdCTuV66P7AcACq1K p1cJW9/91P1/ZfIOCxqym7v+5jPv2SfTR7OFxAhinB7oie1IOgE+xS5wfBnV+IdoM9N4 kOSLTvgcvdr3183BQAeIoASazXKjDKlz2Y84NSabZ0xEWWYhWh+YlbDVbel/osT0Kfby KkaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482612; x=1752087412; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9Nod2XnKcLFCGDw4Al66TFSscA1L5ljopnzhztAklYo=; b=tAUQvepADqrT7ZRK1HL4nX7sn+sNC036WArt1+v07/6pAV2fy+jvmN8S5f5J0UqKDu 8V/Va1hyX0wACyI/wboPQ0H1CKzDWOkiEpSNpSyirGrIZFuz05ih68EF2MilB7gbOs4D ulubqjrHQpFdCHFXSoqL2GdDTEyQTuItVfvsVMiKsZ+0oZpxP3gPZAJpm/dRbYCrbsYP rl3RhL36RIn3/ORvsqh9mllL2EU9ReBquvDbysAJy3QHF/xkOQN7hCGQqIgKIiyRRgyj LvDuJ5Luon2gzPoF4uecmAQLo0u+sOYct5Nye6Tr+RrpxeaHw55GclrlNx0ik+Rcfi/q AY8Q== X-Gm-Message-State: AOJu0YznkD07+8bAuORoCyGFSNFqJZ70bI3PBj1hXk4EedQ8cIpXbjhq znPp/Y7X0//xcS6u/mq2Hwx0aG7eut+15Aj0d2jucMLUPIR3pXHGryEvhDYIf0Rl6mV18mW57vw k6P+C X-Gm-Gg: ASbGncs9swF6r3/TyBymI1OWFlwZz3lxCavfkYN4EG6KrF0b9jYFIhpXlNs0ulsmZaV GhqTBnLDIuRa9P0nB7qf8oXnbcVOaPwLpFkivkHyLOzH4aYKxG7acCg5+dEmf6Fes2nglugMK6b BIpZJt7bUx0QYSGItbzihcVSReE7/5vbyjOT01tuONWZg6qe0p55MwdzJGOpfHHIdlMONVSqkhX 1LUoYGs7IVgG1qRVT42kVpNyb71sHG0+2EMLJMRVHL60ZjACEQ7bTfGAq+wJDawkvdvR6T0lUnH 0usXFG/2QaH4bT/ZB4isHQNWU+5SQMPasJBaboB8Evg1zApEZB6DGFExMRHUBkXj9olpO3Ccrcn 4W2nCA/EX5tdyYE3vmWLhmen2PalYgJCLqL6NN5tfH+JAzRM= X-Google-Smtp-Source: AGHT+IFZ8fHigbRG8FdijhO/T1f62xW3/hEUWdHkiy02kTJS3wIyp67PHyXo2QHSx1jrj+guibRCDg== X-Received: by 2002:a05:600c:1c16:b0:43c:ea36:9840 with SMTP id 5b1f17b1804b1-454a9c9e5fdmr7457655e9.22.1751482612197; Wed, 02 Jul 2025 11:56:52 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v4 27/65] accel/hvf: Implement get_vcpu_stats() Date: Wed, 2 Jul 2025 20:52:49 +0200 Message-ID: <20250702185332.43650-28-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482808135116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index e7f40888c26..c07ebf8a652 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -358,6 +358,12 @@ static inline int hvf_gdbstub_sstep_flags(AccelState *= as) return SSTEP_ENABLE | SSTEP_NOIRQ; } =20 +static void do_hvf_get_vcpu_exec_time(CPUState *cpu, run_on_cpu_data arg) +{ + int r =3D hv_vcpu_get_exec_time(cpu->accel->fd, arg.host_ptr); + assert_hvf_ok(r); +} + static void hvf_accel_class_init(ObjectClass *oc, const void *data) { AccelClass *ac =3D ACCEL_CLASS(oc); @@ -583,6 +589,16 @@ static void hvf_remove_all_breakpoints(CPUState *cpu) } } =20 +static void hvf_get_vcpu_stats(CPUState *cpu, GString *buf) +{ + uint64_t time_us; /* units of mach_absolute_time() */ + + run_on_cpu(cpu, do_hvf_get_vcpu_exec_time, RUN_ON_CPU_HOST_PTR(&time_u= s)); + + g_string_append_printf(buf, "HVF cumulative execution time: %llu.%.3ll= us\n", + time_us / 1000000, (time_us % 1000000) / 1= 000); +} + static void hvf_accel_ops_class_init(ObjectClass *oc, const void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); @@ -601,7 +617,10 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, = const void *data) ops->remove_breakpoint =3D hvf_remove_breakpoint; ops->remove_all_breakpoints =3D hvf_remove_all_breakpoints; ops->update_guest_debug =3D hvf_update_guest_debug; + + ops->get_vcpu_stats =3D hvf_get_vcpu_stats; }; + static const TypeInfo hvf_accel_ops_type =3D { .name =3D ACCEL_OPS_NAME("hvf"), =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482692; cv=none; d=zohomail.com; s=zohoarc; b=BUbp1sV+YxIqCVPjKcYCuqBMVMx+uWn5ThTpc2gAdQKXqp7PCZUOt0v9+dcxBILaNuK8W0B2uovPnrRHc9ENBwl3NpY81CIeISnkK6VGtvtVlXy2vb63qM1c77ehAY2Jn0jBfsa6m7NKzYmno4qFi5me7c7MoabBRStfspyQl44= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482692; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=q1VDpsQ7dttUXGJ33IquKWtU8znHDu79LYhM3w4TmIA=; b=Hcny5xd2qO1AsF03XxDkj7pYonHeRyCwxE+ZgPjQoLwHl2MYI+PdVI7r7alX8Rk2Rkk+XPCBdfRJiiaBvXXnvXQB2m/83WvbJGMhs+8atcgevfbBTwf+u/tFzkWE5ucyMkcQh9ah07VOS8MgvDBg7vC2bnerEstoITsDyozu7f0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482692322957.339202418832; Wed, 2 Jul 2025 11:58:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2eA-0008Fi-5t; Wed, 02 Jul 2025 14:57: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 1uX2dj-0007D4-Tb for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:04 -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 1uX2dh-0002Zx-11 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:03 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4538bc1cffdso46029095e9.0 for ; Wed, 02 Jul 2025 11:57: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-3a88c7fada5sm16976704f8f.32.2025.07.02.11.56.56 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482619; x=1752087419; 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=q1VDpsQ7dttUXGJ33IquKWtU8znHDu79LYhM3w4TmIA=; b=s8wdb5OdVw/PSXqsqn8Gq6Vf2r4NqN93S0wXZp/R+QUa+S9Oc9cVALAomLUy7MYDTy 8YWTyW/44vIh1jPm1ShEJ5nmb5BKMdvTHK2JeLg4WjpUa6yZfm7sGGGs4j3iWqRE2Lor XA/uZxnDSBx5ccxuV4RVUlouYpjUwbA1Qe6XuT6WnL6k8Ri1jZC+na5LzcJWlWUZ0dCa jd984yLxg3+FxHjJ4DlHFHQQ4aMdCwX5XvzZn2RUZycefoRkzFZswqHtRo5skxFTkzbr JFqk7luxmv2mzwMg1KjO1NlPCEyMTdqSN3jWnxB45Vo50x+HB7cuzfldV++tZAx2IECL emQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482619; x=1752087419; 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=q1VDpsQ7dttUXGJ33IquKWtU8znHDu79LYhM3w4TmIA=; b=mRW3GfO0y9VJeT28SqBK2ATkJdpHYA5ISMomarwNU3Fahf9nnKVy/HDR2WlhmJ0j2r 2TTo+Z2AG8QbkY65/cn64AMmgzvOTC4tdeg4w3HSu5o7J0kuyQjl1saZfxB7gnyJk6Jr iaVbv99Iiu/7lpG7BQPAhguWPUhfKQf3xJl8Wt/tDwdsheoYAFz2RV8MxLi67uS/W4Ou YQ03YjwxVxyekbF80PzA3Pa+uzNp/FDrGDd7Pfq4sgZDFgLcBwSREVasd4zBzMFjHXVo fEUozMNVre3TkN1wl5bV0Z3meuruImawZTUJKHZzbqPLs5tMKSr0cKXB5q+/dXLPbLAG FdZQ== X-Gm-Message-State: AOJu0YxQTJJTIieGr1xYmJKGkqk/RV2gkFm3tBuflr+E6M2pqKDpULNu 7LXxNmIWJjAM3QAjvxahi4Z3hC/bphiiYD7U5UuFSwPtM1Lieh1PhHbyYcBGDr4N6UVmWKaozp7 rtBNi X-Gm-Gg: ASbGncuWnkvaXEvme1YP30ycM5SaoLpN0fw2CfPfAhJ1vASWPeCvXXXOym8aB6q7F2O xlGz3wMVQc1qzxkibSGqMi+7/ychEl9azZPZwtIVM59ZdDjo0Q2gxrPWpOed0GHZUw6g7g7CBBA m+8ZbqajOlCu++MYCJpuj/jzEx0UdBYCuZl2wPiOTMLBv1PIKPGm41oGHenoWs5uZ4qQfSeb7iE k47pgzwTKOgwhgtxyprJoWFMElKVv/WC/QEeG7co8CP7x+kxuYsaKcGSoE41oQcix9UU3XEqeGy Lb/Pz/+E4lC07GBnOn/a4fRpd4+PNNJThh3LnYsMnLAcW9ijd0Yi53ovO7i6xo6zQdR0IRfCQJQ iqo9bzKymD4pVSBHzmWV+L+y3x7fSjOiCgON5 X-Google-Smtp-Source: AGHT+IE+mzD/e5CA95xas3AKSDmsnM1hsSAdR+kUfWqMkuB0JRYhxgYlWSSNY0c5/Xjto0LTb5/xCg== X-Received: by 2002:a05:600c:3d95:b0:450:d04e:22d6 with SMTP id 5b1f17b1804b1-454a36d7b08mr40552365e9.7.1751482618808; Wed, 02 Jul 2025 11:56:58 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Shatyuka , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v4 28/65] accel/hvf: Report missing com.apple.security.hypervisor entitlement Date: Wed, 2 Jul 2025 20:52:50 +0200 Message-ID: <20250702185332.43650-29-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482694381116600 We need the QEMU binary signed to be able to use HVF. Improve the following: $ ./qemu-system-aarch64-unsigned -M virt -accel hvf qemu-system-aarch64-unsigned: -accel hvf: Error: ret =3D HV_DENIED (0xfae= 94007, at ../../accel/hvf/hvf-accel-ops.c:339) Abort trap: 6 to: $ ./qemu-system-aarch64-unsigned -M virt -accel hvf qemu-system-aarch64-unsigned: -accel hvf: Could not access HVF. Is the ex= ecutable signed with com.apple.security.hypervisor entitlement? Suggested-by: Shatyuka Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2800 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Richard Henderson Reviewed-by: Mads Ynddal Reviewed-by: Pierrick Bouvier --- accel/hvf/hvf-accel-ops.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index c07ebf8a652..ada2a3357eb 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -337,6 +337,11 @@ static int hvf_accel_init(AccelState *as, MachineState= *ms) } =20 ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); + if (ret =3D=3D HV_DENIED) { + error_report("Could not access HVF. Is the executable signed" + " with com.apple.security.hypervisor entitlement?"); + exit(1); + } assert_hvf_ok(ret); =20 s->num_slots =3D ARRAY_SIZE(s->slots); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483121; cv=none; d=zohomail.com; s=zohoarc; b=YasCmS+FI7qilQrjo9xl/fUzs2hEW1CByYC0hCjSeRkYobmIlwi8Gk7NXV+mjfgchq+OM0dQbYCrbC+qlk4Kimxf6VV96HPiejcf+5rBMAHOo/dATQeLRVwvKd2f16L2DxrHAVLuKY3PSE1qUQJ3R4l/m5dcGBcypYAfh8X9NOk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483121; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/IUtIm3JHDSf2CDlC9ODm0iBh8kfs+CSjmgEqHJOxOs=; b=LbnFhMqDt1/H7F6+dToHAvErllXL3U4kPPuFzccMR3pDWa2poS2Az7N64t8OcTrRvE7Dq5jE6wc1/+GBNM/U0sNS2OhkBYraWaFmc+qb3BsSddz/PK2gio7sVJKrcDIKIeKFENrAycFOaD8tcrlt7am0yupIctGe8fX/fxCP8WY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483121389329.0547891547966; Wed, 2 Jul 2025 12:05:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2eD-0000Hv-BI; Wed, 02 Jul 2025 14:57: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 1uX2dt-0007nI-JJ for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:16 -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 1uX2dp-0002ax-Cq for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:12 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-453647147c6so77149285e9.2 for ; Wed, 02 Jul 2025 11:57: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 ffacd0b85a97d-3a892e52c99sm16507201f8f.49.2025.07.02.11.57.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482626; x=1752087426; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/IUtIm3JHDSf2CDlC9ODm0iBh8kfs+CSjmgEqHJOxOs=; b=p/RdAU9bDpTbfwZshgJSQqiU6Ba40/Jf41VwsrOkPf9EtbGamIPuc/rpGDrmx3m65n S/QfaqLgQyar+/YiSKAPsi/1xTlKcv2/Ge2CKNHfp9MWbC53siknI5Qc6nj09dnwPfi3 2L8B8rd3843pSnOzoMFno4I87hfhTF+Am0pkPyRgqtLCZJJYT+NZglNtH6btDA7YnTwM o1THu6KI6puZJpKzG2hq4dr6RZ+bGmbBOqgAW0pOSv7hRv3SeR0U7ydi0SagPDDbVTKW lW2YyU9g2YT+ETuUWauFZ94FcewMTr2CEvuXJ9rU9DYMKXjAaVfJsYe+idd3S3DpWglt hKAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482626; x=1752087426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/IUtIm3JHDSf2CDlC9ODm0iBh8kfs+CSjmgEqHJOxOs=; b=MTEQHSmjaO3J5TFZSp1YiD8MEcOjJDlBiPCA9jzXm0CBhzPOqDkXiAxtNW8Keo2S9n /LZxupFIPXjpRlALakExLLDceNAEe6RpSO3dhoLPx8bXP6VY8CM7EK6akikaI7bZG32q BekJX5jDqxDG7oODZLSE9Xo1Oo8GikvIeDS6u6PGA91a882ZQfeysu06dUCJZYGlWTvJ DF0IRc8taGRmW/Mms0OPhgvbB4dDfQFKZHxveKVTuQ7hszu+clSvU6L1llO01rP6jucL RakxHWaTFpJZXWX/nYgLc3n7xafls5jJccw6IS91epmqiGq06FEdGW0O+eJLeM5Alv/2 0ang== X-Gm-Message-State: AOJu0YwDW16VuXY4z49zI5ylB+16yBY6liR/WR3hDZXoFzJRGBiPRXm3 fXPwhd+TIIuIC1ko4cCtSl5SIJdlgtRK9UXYihx/699FlDuhUIcsYJRIq0ZQ9gN3p5wF7IO7fDl 4giQ2 X-Gm-Gg: ASbGncsB0LB3xSZbf3sYGcChoSvs49tPHaDIEVwrdnE9MAYxrWl6KT2Uu/Jx38xpone eB7X3EShm5wvnplli7KUurZxG8ZFW0aXBch1kO0gjlbNWqt+yQ/Ja6CaYstYOZqj0OLV1IJdQB2 4CqpZ41TepDGKB6YuFEjNXD4Fl54315iUof7eAgwNAb1B1kZPeIBdJamrRc9cw0AvOIshdzmShx X4RhLF0OuVZuKWzzykFMg/ij1nvsmHyuQg1QllSIfeGMtYafeZvrBP4PyT883WsdbpJgzMXg3z9 +/fMFBdUZVRsjGiSOQjAahKCRad9OEPaInew9PsXy5RmHfajIFReH+Bqf8bfgyUlgENSwuGJWzn F3uYRxYZ5VffNJAB+4rteaMh0dzF6Heys3jMv X-Google-Smtp-Source: AGHT+IF1pBx8Sq1c4tIPVUXwwJioxbo9zGN6BBQxB4kZYVTiwt8E04DGe2Gq1HOdTb+HoEHQsj89QQ== X-Received: by 2002:a05:6000:41e2:b0:3a5:243c:6042 with SMTP id ffacd0b85a97d-3b1fd74c600mr3265581f8f.2.1751482625677; Wed, 02 Jul 2025 11:57:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v4 29/65] accel/hvf: Restrict internal declarations Date: Wed, 2 Jul 2025 20:52:51 +0200 Message-ID: <20250702185332.43650-30-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483122941116600 Common code only needs to know whether HVF is enabled and the QOM type. Move the rest to "hvf_int.h", removing the need for COMPILING_PER_TARGET #ifdef'ry. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/hvf.h | 41 ---------------------------------------- include/system/hvf_int.h | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 41 deletions(-) diff --git a/include/system/hvf.h b/include/system/hvf.h index 7b9384d816c..d3dcf088b3f 100644 --- a/include/system/hvf.h +++ b/include/system/hvf.h @@ -14,10 +14,6 @@ #define HVF_H =20 #include "qemu/accel.h" -#include "qemu/queue.h" -#include "exec/vaddr.h" -#include "qom/object.h" -#include "exec/vaddr.h" =20 #ifdef COMPILING_PER_TARGET # ifdef CONFIG_HVF @@ -40,41 +36,4 @@ typedef struct HVFState HVFState; DECLARE_INSTANCE_CHECKER(HVFState, HVF_STATE, TYPE_HVF_ACCEL) =20 -#ifdef COMPILING_PER_TARGET -struct hvf_sw_breakpoint { - vaddr pc; - vaddr saved_insn; - int use_count; - QTAILQ_ENTRY(hvf_sw_breakpoint) entry; -}; - -struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, - vaddr pc); -int hvf_sw_breakpoints_active(CPUState *cpu); - -int hvf_arch_insert_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); -int hvf_arch_remove_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); -int hvf_arch_insert_hw_breakpoint(vaddr addr, vaddr len, int type); -int hvf_arch_remove_hw_breakpoint(vaddr addr, vaddr len, int type); -void hvf_arch_remove_all_hw_breakpoints(void); - -/* - * hvf_update_guest_debug: - * @cs: CPUState for the CPU to update - * - * Update guest to enable or disable debugging. Per-arch specifics will be - * handled by calling down to hvf_arch_update_guest_debug. - */ -int hvf_update_guest_debug(CPUState *cpu); -void hvf_arch_update_guest_debug(CPUState *cpu); - -/* - * Return whether the guest supports debugging. - */ -bool hvf_arch_supports_guest_debug(AccelState *as); - -bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); - -#endif /* COMPILING_PER_TARGET */ - #endif diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index d774e58df91..ea6730f255d 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -12,6 +12,8 @@ #define HVF_INT_H =20 #include "qemu/queue.h" +#include "exec/vaddr.h" +#include "qom/object.h" =20 #ifdef __aarch64__ #include @@ -77,4 +79,38 @@ int hvf_put_registers(CPUState *); int hvf_get_registers(CPUState *); void hvf_kick_vcpu_thread(CPUState *cpu); =20 +struct hvf_sw_breakpoint { + vaddr pc; + vaddr saved_insn; + int use_count; + QTAILQ_ENTRY(hvf_sw_breakpoint) entry; +}; + +struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, + vaddr pc); +int hvf_sw_breakpoints_active(CPUState *cpu); + +int hvf_arch_insert_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); +int hvf_arch_remove_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint = *bp); +int hvf_arch_insert_hw_breakpoint(vaddr addr, vaddr len, int type); +int hvf_arch_remove_hw_breakpoint(vaddr addr, vaddr len, int type); +void hvf_arch_remove_all_hw_breakpoints(void); + +/* + * hvf_update_guest_debug: + * @cs: CPUState for the CPU to update + * + * Update guest to enable or disable debugging. Per-arch specifics will be + * handled by calling down to hvf_arch_update_guest_debug. + */ +int hvf_update_guest_debug(CPUState *cpu); +void hvf_arch_update_guest_debug(CPUState *cpu); + +/* + * Return whether the guest supports debugging. + */ +bool hvf_arch_supports_guest_debug(AccelState *as); + +bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); + #endif --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482752; cv=none; d=zohomail.com; s=zohoarc; b=nlZE+oNyeV/OrTDL5JeDfcsb/XwYOqmkUYKp2hkqwbsk1d+qyfMbzIRHkgihba7HKvmSTD6AZXlkR5lAQ73BN5UM9A0NZYMT4yQRvp1XGxg5Q1IdM1QIjO0xt9QAsarQ8/dD21LZ55xTPSbasVZHFbakBQZsTXgXwlqmPD2sYJM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482752; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LHMs7nmOn+MVUxcnTbQfOV+3h+SOD8dybVNBbhpVafQ=; b=i2ylwy8Bvee7SISoY/htpGrVcxlLqio4VOyf+ZsPQ88QWOfUxg//4WGmNwuWN2kT/YstPBCwwM/1+ptYyTwUID5b0CTzE6keslFAXa5ct4VH4SEuaQm9196vQ7HiTLQHgPfJi6ELUx9v+WQSoL8UODgdYWNYgw4fZ1kbygjm9VU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482752152706.426279383829; Wed, 2 Jul 2025 11:59:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2eF-0000R8-CC; Wed, 02 Jul 2025 14:57:35 -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 1uX2dx-000819-LD for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:18 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2dv-0002cb-Hl for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:17 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-453608ed113so49565785e9.0 for ; Wed, 02 Jul 2025 11:57:15 -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-454a9bcececsm5486015e9.23.2025.07.02.11.57.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482633; x=1752087433; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LHMs7nmOn+MVUxcnTbQfOV+3h+SOD8dybVNBbhpVafQ=; b=egSYonxgi62P6pCkkZ5TPfkiVZyQgP/YeF3buw+M45/2QFTVor7QHy3naF179RUdyA H4ZsAyqRbMPqri3Jg3UGxlxa0zyHKwUgSLUuxxzITFNnOSE8NtL3Vgkzat5yspnM7e7r 4v6lxkGl3N1MLfYy4seEkfOGqJFlNC1Lg0RyoBrt+eZbrjBrWEwQ2jH5YYHswiu9eRIj QyZgdEMo28No1UEqwDJOIZpiwfvMtRZZG88SUSbOBvdWgAj6V84nPVTwoaO4a+xgAS94 SjYf2b8mNDVBdJ749VPstHSuceLygIB5QOtyuHbdg3C6rHOeMbAC9EJ9C+n2oUFsTJAg VOVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482633; x=1752087433; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LHMs7nmOn+MVUxcnTbQfOV+3h+SOD8dybVNBbhpVafQ=; b=MYxqCuypUC/vee5B1uNgjNPGyUSizGl5w7bH1gv5w8GzZPSkl7LRylKw3HWFNKPcTL oX5wdTaDdp/hWscdfXzawFYbooq+WGH0mx4Lc1vXOEYw8PVK5JVcMAGzF1q0nKlZ9ixh ASiipPjn1QCqhW19iXOheSbJsqBFCrfm8GjuXK68hrBNxuJWKV5FgSfoQ+E7W9FDk9UB rjSYT3/8FGBWucqcwCGJUBDWj0A2E4OOnl+ol+OUNux78a1wbj8Wlo4JpRTm2Iv7udhF UV07h7c3Kmo2jHlGzltqsq7VbIccU33G1plr6eah6wfbJAVuUcWEUz65SNKM4Q1V4CsL ziJw== X-Gm-Message-State: AOJu0YzWelflcW2Usg1RgUysFNLq18o+weZnblAh1Q8kHl4fi+GEI7yB /HNsItOdXiNd4za0KifLwXD6Qrnp5cQGysWIJG8+r3R1CQRAqLy0b/fEsiTDPyjvgMYf70IVyhm xOZCZ X-Gm-Gg: ASbGncuHh1GEI2q1Fp/nQ2g8IYrwq+ZrAZURTsNwo5EExqwVNr773F9bYXnWPr54KPS yX3v2gs4ZJI9lEgbl7whQf0VlO0kKYLHdearDpMOJnO0AHxja9nA9xWph/tq0OnmGGO3tM4M7cD GGF+3G6ZS5IHKV/SwId/xHxI9oySzgTsaz3XhKc5k2+3tfEX0wcxutELbKB9bB18qtyJHfk/izn MW8BWXeV++Rsc4d6RVgfdu9it+VKcQDJ8kRCs0GViJzfFxi8vdxK+pVHQFWPWblaP1OZTBqXYvG 7Kl/3cHlasAOOf7gMPW1XY0Nuv/VEhgFr72KudJAMFGZzjUxFaIfeMFsUPtJ3SFOqRgKi/G7PWG y8qTDSoJ74CoLAB7KQJz8BsCGyzUQSxrE1fi9 X-Google-Smtp-Source: AGHT+IH0EBZAF5mxNPdzZ6QDlkWdmeN/ur29UrzcihgymRQv0jlnVKFm0Li9xAqFrt88eOgE58Lvcg== X-Received: by 2002:a05:600c:8883:b0:454:ab1a:8c2a with SMTP id 5b1f17b1804b1-454ab1a8eb6mr370505e9.24.1751482633313; Wed, 02 Jul 2025 11:57:13 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v4 30/65] accel/hvf: Move per-cpu method declarations to hvf-accel-ops.c Date: Wed, 2 Jul 2025 20:52:52 +0200 Message-ID: <20250702185332.43650-31-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482753342116600 hvf-all.c aims to contain the generic accel methods (TYPE_ACCEL), while hvf-accel-ops.c the per-vcpu methods (TYPE_ACCEL_OPS). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 29 +++++++++++++++++++++++++++++ accel/hvf/hvf-all.c | 29 ----------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index ada2a3357eb..be044b9ceaa 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -50,6 +50,7 @@ #include "qemu/osdep.h" #include "qemu/error-report.h" #include "qemu/main-loop.h" +#include "qemu/queue.h" #include "system/address-spaces.h" #include "gdbstub/enums.h" #include "hw/boards.h" @@ -492,6 +493,34 @@ static void hvf_start_vcpu_thread(CPUState *cpu) cpu, QEMU_THREAD_JOINABLE); } =20 +struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, vaddr pc) +{ + struct hvf_sw_breakpoint *bp; + + QTAILQ_FOREACH(bp, &hvf_state->hvf_sw_breakpoints, entry) { + if (bp->pc =3D=3D pc) { + return bp; + } + } + return NULL; +} + +int hvf_sw_breakpoints_active(CPUState *cpu) +{ + return !QTAILQ_EMPTY(&hvf_state->hvf_sw_breakpoints); +} + +static void do_hvf_update_guest_debug(CPUState *cpu, run_on_cpu_data arg) +{ + hvf_arch_update_guest_debug(cpu); +} + +int hvf_update_guest_debug(CPUState *cpu) +{ + run_on_cpu(cpu, do_hvf_update_guest_debug, RUN_ON_CPU_NULL); + return 0; +} + static int hvf_insert_breakpoint(CPUState *cpu, int type, vaddr addr, vadd= r len) { struct hvf_sw_breakpoint *bp; diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 8c387fda24d..481d7dece57 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -12,7 +12,6 @@ #include "qemu/error-report.h" #include "system/hvf.h" #include "system/hvf_int.h" -#include "hw/core/cpu.h" =20 const char *hvf_return_string(hv_return_t ret) { @@ -41,31 +40,3 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *fil= e, unsigned int line, =20 abort(); } - -struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, vaddr pc) -{ - struct hvf_sw_breakpoint *bp; - - QTAILQ_FOREACH(bp, &hvf_state->hvf_sw_breakpoints, entry) { - if (bp->pc =3D=3D pc) { - return bp; - } - } - return NULL; -} - -int hvf_sw_breakpoints_active(CPUState *cpu) -{ - return !QTAILQ_EMPTY(&hvf_state->hvf_sw_breakpoints); -} - -static void do_hvf_update_guest_debug(CPUState *cpu, run_on_cpu_data arg) -{ - hvf_arch_update_guest_debug(cpu); -} - -int hvf_update_guest_debug(CPUState *cpu) -{ - run_on_cpu(cpu, do_hvf_update_guest_debug, RUN_ON_CPU_NULL); - return 0; -} --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483122; cv=none; d=zohomail.com; s=zohoarc; b=gLfYCU4Wi47TH5JObxnfwEZK+cXElZechR01S75qoWEeEIMbb2x7ImJZ+DMBAcqhs44iIo/vmB5IqnY48+WJJiAKbGPUiAc1kpOO52+H2NdRje5aXY+DwDHF9nLMq31ulsEXXSBEf7OBbGWYP6IFR94OFybwXwAJZkxWgxa9P8M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483122; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=coUKaKf6dZIxfVeFUFnOi2/CaQ9UIB137B6rtgj9MwA=; b=UhYZHafUGINY03F6IcBOrUxmdrehyKWD1z5NIw3xeaFdib1ipXi8e/9enrY9FuXKmjXAaUS7fnOon3oaps+ar8h/ipFCotYizBQ6EqxpdVtQkvszi0B6PgXUcsHdatBJNcyxfAGIlz5If7B/hfMX5/URRfQMJsNJajZJDmMKqII= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483122601196.27110706126211; Wed, 2 Jul 2025 12:05:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2eK-0000mD-9a; Wed, 02 Jul 2025 14:57:41 -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 1uX2eE-0000Rf-SW for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57: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 1uX2e6-0002dy-Tz for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:34 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4539cd7990cso1356265e9.0 for ; Wed, 02 Jul 2025 11:57:25 -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-454a997b492sm5775395e9.13.2025.07.02.11.57.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482643; x=1752087443; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=coUKaKf6dZIxfVeFUFnOi2/CaQ9UIB137B6rtgj9MwA=; b=cmDCdRaR3/x2kRvruGd86hOJwBDqEl2tH5zyErOFahp9y3EGgP5tUokTV2YI6Ta3w2 ygX9iXkxY8cM+uH6iHGEu1LRu1AE9Io+MOEs8IeJriGVXDEHKKYkEqG2APmp1LdrLWtC jbSj+Z4PmPwgHdgCRxHZeojRA7pS9xfBlzkBNOLrjGXq3RwMSzjQMJolMVzqI+zqRKqj D6tfu7EnWyjsdVtFssxJfqY+j3P741hNUZNfY3e+/uaLKn028qIo9WeJdoxcw2Quo36F GaXD2ssz8pRCdvaoDIxr2LAz2UWbynazW505u7ezw+kCS10m7Pk+MAgRwCQJuWGzvia/ 34QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482643; x=1752087443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=coUKaKf6dZIxfVeFUFnOi2/CaQ9UIB137B6rtgj9MwA=; b=OUr0bdoMd/olrpx/vG4pjEoAxM1M3roarREtox4GPcL/DnfplZv+0Lvi201ShYITwo 5Oh5C6fKzcglRcn0GnQPygrLloo4HhXXr8AqW+eRHesFbLyxTeqppRTnhf8/1mFCL2dD tc8fAkkOKUrlZs1T8bTa/EwwzmiTWtV5KBi8+/BpxrFRzU3EYw7AJ1JwO/zeyliwqfuf iECS1uWZZq0txWgm6uYmMvRl6ERfuBwTtL+c/yozliUU/DbBqy+n2SnIWT8qJjZUqaAZ KRXS58MTFnjJGLIAMdIfgliI1Drc8iYwKqeD7ViXO3acxHqx2rauWku50dGROBurpd9K p/3A== X-Gm-Message-State: AOJu0Yx6gsdHnocvtvQGzNZJmqsWKAGg/bqnyzw7s9r4HtwkIHaIIMl1 cSSY8+PVxvlLlfgnMTbZy1oGcY4Zee0EGwky9xmB4vqHz5XWDy9iPJvj67FEAL9UIGWAyDWfBOT Co5vU X-Gm-Gg: ASbGncvlFBNditsGuFMMTjxYgHKl8/FTBqwOfJR+yryVky65MLCy8zkqxLOTBz0Pr+1 xZhr0QlEfpxkH6XUGLMgnrYvVdjvgkEc6Ig+BQqndBVIXyZ2Q/Z8ihVGHEafhHl3mYNflgkfTnI 7LUAWembNWFVBLDzV1HhHW/s22aIZgWwjtSAnv9nP7NtvN1DryVl7wFNPoULPSW42nQhFsCkBLj nZHmQ5boU5wKGTpZ7u2MXs186NWxVPukwKSutjBix+Z7PGNtYeRN8aN+NxW1huXyHFLSGFxg4bN 0I04N0tMBJKLz1X9jne0NQdeytHwNYFg3ZqJ85LanDR8L2Y7GVjpcbWfUzvyaWPvbL1oz4mO2kN IxybIe87BmoodiXGHnsOovOJgsHsaiDNi/vCK X-Google-Smtp-Source: AGHT+IHIKX5OmA/KwNdN2EdkVK0D88nimPTw3HFPaO6C1JBTH8vp4OsjITVu1EX9pdcs/gBimxxWRg== X-Received: by 2002:a05:600c:c058:b0:43c:f3e1:a729 with SMTP id 5b1f17b1804b1-454ab350a0cmr56905e9.12.1751482642837; Wed, 02 Jul 2025 11:57:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v4 31/65] accel/hvf: Move generic method declarations to hvf-all.c Date: Wed, 2 Jul 2025 20:52:53 +0200 Message-ID: <20250702185332.43650-32-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483125045116600 hvf-all.c aims to contain the generic accel methods (TYPE_ACCEL), while hvf-accel-ops.c the per-vcpu methods (TYPE_ACCEL_OPS). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/hvf/hvf-accel-ops.c | 278 +------------------------------------- accel/hvf/hvf-all.c | 272 +++++++++++++++++++++++++++++++++++++ 2 files changed, 277 insertions(+), 273 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index be044b9ceaa..319c30f703c 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -48,19 +48,16 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/error-report.h" +#include "qemu/guest-random.h" #include "qemu/main-loop.h" #include "qemu/queue.h" -#include "system/address-spaces.h" #include "gdbstub/enums.h" -#include "hw/boards.h" +#include "exec/cpu-common.h" #include "system/accel-ops.h" #include "system/cpus.h" #include "system/hvf.h" #include "system/hvf_int.h" -#include "system/runstate.h" -#include "qemu/guest-random.h" -#include "trace.h" +#include "hw/core/cpu.h" =20 HVFState *hvf_state; =20 @@ -80,132 +77,6 @@ hvf_slot *hvf_find_overlap_slot(uint64_t start, uint64_= t size) return NULL; } =20 -struct mac_slot { - int present; - uint64_t size; - uint64_t gpa_start; - uint64_t gva; -}; - -struct mac_slot mac_slots[32]; - -static int do_hvf_set_memory(hvf_slot *slot, hv_memory_flags_t flags) -{ - struct mac_slot *macslot; - hv_return_t ret; - - macslot =3D &mac_slots[slot->slot_id]; - - if (macslot->present) { - if (macslot->size !=3D slot->size) { - macslot->present =3D 0; - trace_hvf_vm_unmap(macslot->gpa_start, macslot->size); - ret =3D hv_vm_unmap(macslot->gpa_start, macslot->size); - assert_hvf_ok(ret); - } - } - - if (!slot->size) { - return 0; - } - - macslot->present =3D 1; - macslot->gpa_start =3D slot->start; - macslot->size =3D slot->size; - trace_hvf_vm_map(slot->start, slot->size, slot->mem, flags, - flags & HV_MEMORY_READ ? 'R' : '-', - flags & HV_MEMORY_WRITE ? 'W' : '-', - flags & HV_MEMORY_EXEC ? 'E' : '-'); - ret =3D hv_vm_map(slot->mem, slot->start, slot->size, flags); - assert_hvf_ok(ret); - return 0; -} - -static void hvf_set_phys_mem(MemoryRegionSection *section, bool add) -{ - hvf_slot *mem; - MemoryRegion *area =3D section->mr; - bool writable =3D !area->readonly && !area->rom_device; - hv_memory_flags_t flags; - uint64_t page_size =3D qemu_real_host_page_size(); - - if (!memory_region_is_ram(area)) { - if (writable) { - return; - } else if (!memory_region_is_romd(area)) { - /* - * If the memory device is not in romd_mode, then we actually = want - * to remove the hvf memory slot so all accesses will trap. - */ - add =3D false; - } - } - - if (!QEMU_IS_ALIGNED(int128_get64(section->size), page_size) || - !QEMU_IS_ALIGNED(section->offset_within_address_space, page_size))= { - /* Not page aligned, so we can not map as RAM */ - add =3D false; - } - - mem =3D hvf_find_overlap_slot( - section->offset_within_address_space, - int128_get64(section->size)); - - if (mem && add) { - if (mem->size =3D=3D int128_get64(section->size) && - mem->start =3D=3D section->offset_within_address_space && - mem->mem =3D=3D (memory_region_get_ram_ptr(area) + - section->offset_within_region)) { - return; /* Same region was attempted to register, go away. */ - } - } - - /* Region needs to be reset. set the size to 0 and remap it. */ - if (mem) { - mem->size =3D 0; - if (do_hvf_set_memory(mem, 0)) { - error_report("Failed to reset overlapping slot"); - abort(); - } - } - - if (!add) { - return; - } - - if (area->readonly || - (!memory_region_is_ram(area) && memory_region_is_romd(area))) { - flags =3D HV_MEMORY_READ | HV_MEMORY_EXEC; - } else { - flags =3D HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC; - } - - /* Now make a new slot. */ - int x; - - for (x =3D 0; x < hvf_state->num_slots; ++x) { - mem =3D &hvf_state->slots[x]; - if (!mem->size) { - break; - } - } - - if (x =3D=3D hvf_state->num_slots) { - error_report("No free slots"); - abort(); - } - - mem->size =3D int128_get64(section->size); - mem->mem =3D memory_region_get_ram_ptr(area) + section->offset_within_= region; - mem->start =3D section->offset_within_address_space; - mem->region =3D area; - - if (do_hvf_set_memory(mem, flags)) { - error_report("Error registering new memory slot"); - abort(); - } -} - static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data ar= g) { if (!cpu->accel->dirty) { @@ -243,157 +114,16 @@ static void hvf_cpu_synchronize_pre_loadvm(CPUState = *cpu) run_on_cpu(cpu, do_hvf_cpu_synchronize_set_dirty, RUN_ON_CPU_NULL); } =20 -static void hvf_set_dirty_tracking(MemoryRegionSection *section, bool on) -{ - hvf_slot *slot; - - slot =3D hvf_find_overlap_slot( - section->offset_within_address_space, - int128_get64(section->size)); - - /* protect region against writes; begin tracking it */ - if (on) { - slot->flags |=3D HVF_SLOT_LOG; - hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, - HV_MEMORY_READ | HV_MEMORY_EXEC); - /* stop tracking region*/ - } else { - slot->flags &=3D ~HVF_SLOT_LOG; - hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, - HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC); - } -} - -static void hvf_log_start(MemoryListener *listener, - MemoryRegionSection *section, int old, int new) -{ - if (old !=3D 0) { - return; - } - - hvf_set_dirty_tracking(section, 1); -} - -static void hvf_log_stop(MemoryListener *listener, - MemoryRegionSection *section, int old, int new) -{ - if (new !=3D 0) { - return; - } - - hvf_set_dirty_tracking(section, 0); -} - -static void hvf_log_sync(MemoryListener *listener, - MemoryRegionSection *section) -{ - /* - * sync of dirty pages is handled elsewhere; just make sure we keep - * tracking the region. - */ - hvf_set_dirty_tracking(section, 1); -} - -static void hvf_region_add(MemoryListener *listener, - MemoryRegionSection *section) -{ - hvf_set_phys_mem(section, true); -} - -static void hvf_region_del(MemoryListener *listener, - MemoryRegionSection *section) -{ - hvf_set_phys_mem(section, false); -} - -static MemoryListener hvf_memory_listener =3D { - .name =3D "hvf", - .priority =3D MEMORY_LISTENER_PRIORITY_ACCEL, - .region_add =3D hvf_region_add, - .region_del =3D hvf_region_del, - .log_start =3D hvf_log_start, - .log_stop =3D hvf_log_stop, - .log_sync =3D hvf_log_sync, -}; - static void dummy_signal(int sig) { } =20 -bool hvf_allowed; - -static int hvf_accel_init(AccelState *as, MachineState *ms) -{ - int x; - hv_return_t ret; - HVFState *s =3D HVF_STATE(as); - int pa_range =3D 36; - MachineClass *mc =3D MACHINE_GET_CLASS(ms); - - if (mc->hvf_get_physical_address_range) { - pa_range =3D mc->hvf_get_physical_address_range(ms); - if (pa_range < 0) { - return -EINVAL; - } - } - - ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); - if (ret =3D=3D HV_DENIED) { - error_report("Could not access HVF. Is the executable signed" - " with com.apple.security.hypervisor entitlement?"); - exit(1); - } - assert_hvf_ok(ret); - - s->num_slots =3D ARRAY_SIZE(s->slots); - for (x =3D 0; x < s->num_slots; ++x) { - s->slots[x].size =3D 0; - s->slots[x].slot_id =3D x; - } - - QTAILQ_INIT(&s->hvf_sw_breakpoints); - - hvf_state =3D s; - memory_listener_register(&hvf_memory_listener, &address_space_memory); - - return hvf_arch_init(); -} - -static inline int hvf_gdbstub_sstep_flags(AccelState *as) -{ - return SSTEP_ENABLE | SSTEP_NOIRQ; -} - static void do_hvf_get_vcpu_exec_time(CPUState *cpu, run_on_cpu_data arg) { int r =3D hv_vcpu_get_exec_time(cpu->accel->fd, arg.host_ptr); assert_hvf_ok(r); } =20 -static void hvf_accel_class_init(ObjectClass *oc, const void *data) -{ - AccelClass *ac =3D ACCEL_CLASS(oc); - ac->name =3D "HVF"; - ac->init_machine =3D hvf_accel_init; - ac->allowed =3D &hvf_allowed; - ac->supports_guest_debug =3D hvf_arch_supports_guest_debug; - ac->gdbstub_supported_sstep_flags =3D hvf_gdbstub_sstep_flags; -} - -static const TypeInfo hvf_accel_type =3D { - .name =3D TYPE_HVF_ACCEL, - .parent =3D TYPE_ACCEL, - .instance_size =3D sizeof(HVFState), - .class_init =3D hvf_accel_class_init, -}; - -static void hvf_type_init(void) -{ - type_register_static(&hvf_accel_type); -} - -type_init(hvf_type_init); - static void hvf_vcpu_destroy(CPUState *cpu) { hv_return_t ret =3D hv_vcpu_destroy(cpu->accel->fd); @@ -662,8 +392,10 @@ static const TypeInfo hvf_accel_ops_type =3D { .class_init =3D hvf_accel_ops_class_init, .abstract =3D true, }; + static void hvf_accel_ops_register_types(void) { type_register_static(&hvf_accel_ops_type); } + type_init(hvf_accel_ops_register_types); diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 481d7dece57..f498e32a23f 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -10,8 +10,24 @@ =20 #include "qemu/osdep.h" #include "qemu/error-report.h" +#include "system/address-spaces.h" +#include "system/memory.h" #include "system/hvf.h" #include "system/hvf_int.h" +#include "hw/core/cpu.h" +#include "hw/boards.h" +#include "trace.h" + +bool hvf_allowed; + +struct mac_slot { + int present; + uint64_t size; + uint64_t gpa_start; + uint64_t gva; +}; + +struct mac_slot mac_slots[32]; =20 const char *hvf_return_string(hv_return_t ret) { @@ -40,3 +56,259 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *fi= le, unsigned int line, =20 abort(); } + +static int do_hvf_set_memory(hvf_slot *slot, hv_memory_flags_t flags) +{ + struct mac_slot *macslot; + hv_return_t ret; + + macslot =3D &mac_slots[slot->slot_id]; + + if (macslot->present) { + if (macslot->size !=3D slot->size) { + macslot->present =3D 0; + trace_hvf_vm_unmap(macslot->gpa_start, macslot->size); + ret =3D hv_vm_unmap(macslot->gpa_start, macslot->size); + assert_hvf_ok(ret); + } + } + + if (!slot->size) { + return 0; + } + + macslot->present =3D 1; + macslot->gpa_start =3D slot->start; + macslot->size =3D slot->size; + trace_hvf_vm_map(slot->start, slot->size, slot->mem, flags, + flags & HV_MEMORY_READ ? 'R' : '-', + flags & HV_MEMORY_WRITE ? 'W' : '-', + flags & HV_MEMORY_EXEC ? 'E' : '-'); + ret =3D hv_vm_map(slot->mem, slot->start, slot->size, flags); + assert_hvf_ok(ret); + return 0; +} + +static void hvf_set_phys_mem(MemoryRegionSection *section, bool add) +{ + hvf_slot *mem; + MemoryRegion *area =3D section->mr; + bool writable =3D !area->readonly && !area->rom_device; + hv_memory_flags_t flags; + uint64_t page_size =3D qemu_real_host_page_size(); + + if (!memory_region_is_ram(area)) { + if (writable) { + return; + } else if (!memory_region_is_romd(area)) { + /* + * If the memory device is not in romd_mode, then we actually = want + * to remove the hvf memory slot so all accesses will trap. + */ + add =3D false; + } + } + + if (!QEMU_IS_ALIGNED(int128_get64(section->size), page_size) || + !QEMU_IS_ALIGNED(section->offset_within_address_space, page_size))= { + /* Not page aligned, so we can not map as RAM */ + add =3D false; + } + + mem =3D hvf_find_overlap_slot( + section->offset_within_address_space, + int128_get64(section->size)); + + if (mem && add) { + if (mem->size =3D=3D int128_get64(section->size) && + mem->start =3D=3D section->offset_within_address_space && + mem->mem =3D=3D (memory_region_get_ram_ptr(area) + + section->offset_within_region)) { + return; /* Same region was attempted to register, go away. */ + } + } + + /* Region needs to be reset. set the size to 0 and remap it. */ + if (mem) { + mem->size =3D 0; + if (do_hvf_set_memory(mem, 0)) { + error_report("Failed to reset overlapping slot"); + abort(); + } + } + + if (!add) { + return; + } + + if (area->readonly || + (!memory_region_is_ram(area) && memory_region_is_romd(area))) { + flags =3D HV_MEMORY_READ | HV_MEMORY_EXEC; + } else { + flags =3D HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC; + } + + /* Now make a new slot. */ + int x; + + for (x =3D 0; x < hvf_state->num_slots; ++x) { + mem =3D &hvf_state->slots[x]; + if (!mem->size) { + break; + } + } + + if (x =3D=3D hvf_state->num_slots) { + error_report("No free slots"); + abort(); + } + + mem->size =3D int128_get64(section->size); + mem->mem =3D memory_region_get_ram_ptr(area) + section->offset_within_= region; + mem->start =3D section->offset_within_address_space; + mem->region =3D area; + + if (do_hvf_set_memory(mem, flags)) { + error_report("Error registering new memory slot"); + abort(); + } +} + +static void hvf_set_dirty_tracking(MemoryRegionSection *section, bool on) +{ + hvf_slot *slot; + + slot =3D hvf_find_overlap_slot( + section->offset_within_address_space, + int128_get64(section->size)); + + /* protect region against writes; begin tracking it */ + if (on) { + slot->flags |=3D HVF_SLOT_LOG; + hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, + HV_MEMORY_READ | HV_MEMORY_EXEC); + /* stop tracking region*/ + } else { + slot->flags &=3D ~HVF_SLOT_LOG; + hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, + HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC); + } +} + +static void hvf_log_start(MemoryListener *listener, + MemoryRegionSection *section, int old, int new) +{ + if (old !=3D 0) { + return; + } + + hvf_set_dirty_tracking(section, 1); +} + +static void hvf_log_stop(MemoryListener *listener, + MemoryRegionSection *section, int old, int new) +{ + if (new !=3D 0) { + return; + } + + hvf_set_dirty_tracking(section, 0); +} + +static void hvf_log_sync(MemoryListener *listener, + MemoryRegionSection *section) +{ + /* + * sync of dirty pages is handled elsewhere; just make sure we keep + * tracking the region. + */ + hvf_set_dirty_tracking(section, 1); +} + +static void hvf_region_add(MemoryListener *listener, + MemoryRegionSection *section) +{ + hvf_set_phys_mem(section, true); +} + +static void hvf_region_del(MemoryListener *listener, + MemoryRegionSection *section) +{ + hvf_set_phys_mem(section, false); +} + +static MemoryListener hvf_memory_listener =3D { + .name =3D "hvf", + .priority =3D MEMORY_LISTENER_PRIORITY_ACCEL, + .region_add =3D hvf_region_add, + .region_del =3D hvf_region_del, + .log_start =3D hvf_log_start, + .log_stop =3D hvf_log_stop, + .log_sync =3D hvf_log_sync, +}; + +static int hvf_accel_init(AccelState *as, MachineState *ms) +{ + int x; + hv_return_t ret; + HVFState *s =3D HVF_STATE(as); + int pa_range =3D 36; + MachineClass *mc =3D MACHINE_GET_CLASS(ms); + + if (mc->hvf_get_physical_address_range) { + pa_range =3D mc->hvf_get_physical_address_range(ms); + if (pa_range < 0) { + return -EINVAL; + } + } + + ret =3D hvf_arch_vm_create(ms, (uint32_t)pa_range); + if (ret =3D=3D HV_DENIED) { + error_report("Could not access HVF. Is the executable signed" + " with com.apple.security.hypervisor entitlement?"); + exit(1); + } + assert_hvf_ok(ret); + + s->num_slots =3D ARRAY_SIZE(s->slots); + for (x =3D 0; x < s->num_slots; ++x) { + s->slots[x].size =3D 0; + s->slots[x].slot_id =3D x; + } + + QTAILQ_INIT(&s->hvf_sw_breakpoints); + + hvf_state =3D s; + memory_listener_register(&hvf_memory_listener, &address_space_memory); + + return hvf_arch_init(); +} + +static inline int hvf_gdbstub_sstep_flags(AccelState *as) +{ + return SSTEP_ENABLE | SSTEP_NOIRQ; +} + +static void hvf_accel_class_init(ObjectClass *oc, const void *data) +{ + AccelClass *ac =3D ACCEL_CLASS(oc); + ac->name =3D "HVF"; + ac->init_machine =3D hvf_accel_init; + ac->allowed =3D &hvf_allowed; + ac->supports_guest_debug =3D hvf_arch_supports_guest_debug; + ac->gdbstub_supported_sstep_flags =3D hvf_gdbstub_sstep_flags; +} + +static const TypeInfo hvf_accel_type =3D { + .name =3D TYPE_HVF_ACCEL, + .parent =3D TYPE_ACCEL, + .instance_size =3D sizeof(HVFState), + .class_init =3D hvf_accel_class_init, +}; + +static void hvf_type_init(void) +{ + type_register_static(&hvf_accel_type); +} + +type_init(hvf_type_init); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483128; cv=none; d=zohomail.com; s=zohoarc; b=dfoW1WTB2clnpKYSKKzECe+tc5vt7eeXz8YmLtkaeavmKOyeLDQzUx1jzOhbTdWvkLUfBXaqSmASHQu+7HD4lKYE+5GDsP8SJCaiNgeAIDIxVlfiT87qU3//bXUExn0p1EkYRm6fE6ksVUJMesbSL6B0aC//73+oOyVHtn3hkNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483128; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/Uuv2h3s82hPAzYpnhwyO1+75T5oRaTFf+ZSAVIOeJ0=; b=RedCVyUAO/TkIzM8B22qN60d+yzFaQi5eif0Ou1Ah9lqbAHvbGkPBjP0nEPI5Tk/63kNJNjYHMpIaQGUzNx33pqy0EasREhmZNb8nXSUpHysWVpkvp1fMCGjiMCPxehfpuI5QeZuqdx7Hnv9A6tbDgNUpXf8BlYE4y3ChS/DH28= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483128406610.4088154124019; Wed, 2 Jul 2025 12:05:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2eL-00017X-VS; Wed, 02 Jul 2025 14:57:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2eJ-0000v1-Lt for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:39 -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 1uX2eG-0002fX-8V for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:39 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4537edf2c3cso71861205e9.3 for ; Wed, 02 Jul 2025 11:57:33 -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-454a99b1c2esm5565905e9.30.2025.07.02.11.57.27 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482651; x=1752087451; 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=/Uuv2h3s82hPAzYpnhwyO1+75T5oRaTFf+ZSAVIOeJ0=; b=bT4Ep4R8xkdGwZJVKP1OucxHwiqfUcZYUxIpiltffoh3m88DB0NlCkzhNhY7+i4tfL wU+rM+7pZE9BGnD3VtFWosnV7PzobMqJpTk/i5o2i6se8JBUv+93aMPB85zGSBMEK04V qYrjhAowWdEm/rNlW+wHzLAm8ya2yyWrESAnSoLNxx40XJXU3KvoGVSH5ozJ3THVwGYo lsjOfr/r07zLJW562d0RxIVUW31Uq+vF4N2cWZAZmk1IUOXKt5nG6TBdLn/LZ9xWiIJA 6CC32YCdpHzI2QU+B+4yi2z9UcG07LoF0QeC+rduaHz6/tbN/zKsPWV/UaHnDtPJCBov Oshg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482651; x=1752087451; 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=/Uuv2h3s82hPAzYpnhwyO1+75T5oRaTFf+ZSAVIOeJ0=; b=xRallnHcZh1ZHHROPjeutYyKnVWPA/a9e7m77igVloxwSfjn4Ss+2ScWHZwW9l9aDO f2d395lW8NZ31nI20OQ0QK4gCQQErgdGG1KQZ4h6WvbDtUS9bRmhcjyiTio98MqeRy/l QfcWl1K16dvMKxo15KoineE8timSJlb4Tct+RNH9rJ0ETqnCx++t7MXdmAyyJGCBkVJc 5JR12o/9MAilvGBMrN7JpBoLCEqi4i77GPucpe4fsfBmod2E69BknI4TOne9V8z6MqsO HdmwBvjeDYqDcJmbfVhoaA0W9nOLOIfaAHm809gLyoU5Bgx32vqZZ7kflqJLVDa75qMl G/Og== X-Gm-Message-State: AOJu0YxcQakOIqRV2TexsrEcspRrvufYsipewkqajPLbArYKhQJ5nMcy Fha9zv7GBRQPPk4NQVj0PVxpS/t/3nNE/rxQVuYQ3NohcwdZb0QYWc+whvLOF6pcmIrWKEX8R3c IOiy8 X-Gm-Gg: ASbGnctOVBfFitzTEQrHz5y+xb+G9in4svg1tR0o77HSHo4ctyyE3vYWwcoHYWeqkST m5OYE1jxqGfAB4otKHirvDPU50r1X2oT/qVK5920Fm2RC2mcVoZ6wWHJ8LtKaSpGUpkoigynmSb WllroMA4qz62WSwHr5AVCc3aab+kJTqfg1c/EcFXRufrUtN/Z15yLj+87KwK7ILwzrZoUUVnez1 O6BW/UFiVKxmsHMkxY1q9EEjnEzhcs4R0P2BgvgobMMi7Ij1FyLNMEA2AMhQEfajONQUPp6JfLF hm7vDfH57N5h3S+KcFT0EaaUWP98Bq/ZBOMfbkQTH66HIgxHhIURq6nq8KKJ/KAhI7w2V6Y9pEd rNogiN19ZAIJjLflubHbMtrlCH0UmHYPZWYn3ipKxSxedkRM= X-Google-Smtp-Source: AGHT+IHgAyhCxjFsA9NzItI2EGTKnAx6F9/L8rpT5NSOEGlBiuPzecYt0n7TLGCXafSE/peWTW/icQ== X-Received: by 2002:a05:600c:8b06:b0:453:d3d:d9fd with SMTP id 5b1f17b1804b1-454a36e64c5mr49065475e9.12.1751482650566; Wed, 02 Jul 2025 11:57:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Zhao Liu Subject: [PATCH v4 32/65] cpus: Document CPUState::vcpu_dirty field Date: Wed, 2 Jul 2025 20:52:54 +0200 Message-ID: <20250702185332.43650-33-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483129072116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Zhao Liu --- include/hw/core/cpu.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 33296a1c080..726427449da 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. @@ -537,7 +538,6 @@ struct CPUState { uint32_t kvm_fetch_index; uint64_t dirty_pages; int kvm_vcpu_stats_fd; - bool vcpu_dirty; =20 /* Use by accel-block: CPU is executing an ioctl() */ QemuLockCnt in_ioctl_lock; @@ -553,6 +553,7 @@ struct CPUState { uint32_t halted; int32_t exception_index; =20 + bool vcpu_dirty; AccelCPUState *accel; =20 /* Used to keep track of an outstanding cpu throttle thread for migrat= ion --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483538; cv=none; d=zohomail.com; s=zohoarc; b=mtZ7WizR0C/RLC7qtBaX2jZo1fmk1xK9VH18TdJtKoEKsqrXComaITyQ3/IdiAsdrqSE//Fw3GNHlKD2Ojg8rQdotSHOP2gS40MnsREzmY5/G/a/FtihDUkSX6G4Z3b0bp5ze3XOWGRoawZj22PlmQ91mH92Re02oXyw4w+TPAA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483538; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rbpcjy4o5ZUQnpuXjuYjR5B0wNodIi5DdAoNAkyy2SM=; b=G1LS58J+pY4W9xf6CLtOPk6V+ymsOgsHuxzROthz33gc4/lUokhg2higT621jEM4X0/kgsVu9jg+17v4cr1sBxfdh3LGQD9KOTW56n3n5BH/Itu3wSIhqM7ooIA+u6JcEdUCsW9CjOfa83dzg3XuSxvgR237wXTWq7g+2ZmflmI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483538497741.4620865659978; Wed, 2 Jul 2025 12:12:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2eW-0001T5-8r; Wed, 02 Jul 2025 14:57:53 -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 1uX2eO-0001Bm-7I for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:44 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2eK-0002gi-3d for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:43 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-453749af004so40600545e9.1 for ; Wed, 02 Jul 2025 11:57:38 -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-454a99b1c2esm5568285e9.30.2025.07.02.11.57.35 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482657; x=1752087457; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rbpcjy4o5ZUQnpuXjuYjR5B0wNodIi5DdAoNAkyy2SM=; b=GzP47Cs/KjDvZVYhVdlSAoGXCLUCt90GyKPfIimqyWVNtSpPnM0wdyXpY/gdmJukwq 7f++BAljoEVIxZXAZ9OaK8NgVxw7ljw+Xtjx6hgs95IoFYVvOT81JRl8bAr6osMm8Cjd ctgUeotx1z8q++rLmrI7TPgULFq9MdQN/R7a4mRzCj23NvwgWlVuM/gS/40FHJLy7VoJ 0T9AnFKvTN7ilSY7M+opQI4QCuefp5jnzhMneUGj1GD6vbjhY/YkYZwF7CQ2xBxuO1RJ NlMfoxy6sS17cT6w0H29Cz1AaiqV5Ox5+I3iK9ZCQajOQ3+8PgMewZSlDU+/k7oE5dGQ brBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482657; x=1752087457; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rbpcjy4o5ZUQnpuXjuYjR5B0wNodIi5DdAoNAkyy2SM=; b=fnfVzkh3VfdtV1othUmkDn7gfLWEt8JepGfYVdCo6OQBIrtJUTOPFLyH1l1xI34+KF LM3q0jnAX/mEguAI8nJGC6IKcsgTplUnKFSNCE+bpeEBL5oPXFvR1jrojw8Uras2VVR+ bpOpeAm6JK6lJ/JNVOleLLMSIzvYHWmjhZ2FpwXGsBK5LEUOauDOZlToskmQZkZmM2JB 4MpF2VNtjzW7CwxEnCv1Leqs6ZP16acILHuIlOvTgzyvM7+tQ7YDfxgvcbTvtqe4Xftl sGsKeV19laOiq9CW5MdWKZLYYwR1d/9dnP4PHJxzzTk9yO7gPZGhLlgPEhXdCShabg2g w4Ig== X-Gm-Message-State: AOJu0Yym3JITlq31XOsvySq3g7k/7kRtyGz50/5hZdHLe4JFnqpT7+ew PnydKEXJLuSvIo9TIakH+fMcGukFel6Gvt+97kv2QANwAuX8C23NfIZOp9cQGDqcUt+6lwqiz9x MVg6r X-Gm-Gg: ASbGncvQJtZRxjiCQmIrtd0BSJ9/g+D5cr6qihvm8uFN2BmSfgXJwg5ifoxUM5QDvSx aYK9X5zzTYD1Ww4Q+t1i7xZpagMiL2ZGy/k50JIc/aPvI2vfvs/1iD8alBigCjEAewyID+LUwcX LCBhWE/gxbBA3V9Go8+vxZ8E/bywpK5agTrgaIT02+1wxPLXJr7gHuyQ1UvXgjYIkIWMWTTZVb7 G9nvWMti+n/xxev5KVOUnVK4xuhjfT4QP26zOJ2TjVN13MRjsKXLj7MxEyeXUopRz+JpgOj3fmx sacwVvmMFrrVHdgfFGoh332ZOYzVIeTyuQELUIZS6vsjC6Av/0bcOR6xtAk0Jc9UbIihnHajHgb fhNnDtzSuKVVFmIU35O2479ZyYpaJh9clGKzZ X-Google-Smtp-Source: AGHT+IEgwotSVda5UvmeFEw7lmS1prrmGDTnN4mzVIUqw6QUVymWZGRsGXQ4Ab+NSjGmrHxIjZNUGQ== X-Received: by 2002:a05:600c:3504:b0:453:a95:f07d with SMTP id 5b1f17b1804b1-454a36e6310mr50420695e9.10.1751482656792; Wed, 02 Jul 2025 11:57:36 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Alexander Graf , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH v4 33/65] accel/hvf: Replace @dirty field by generic CPUState::vcpu_dirty field Date: Wed, 2 Jul 2025 20:52:55 +0200 Message-ID: <20250702185332.43650-34-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483540380116600 No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- include/system/hvf_int.h | 1 - accel/hvf/hvf-accel-ops.c | 10 +++++----- target/arm/hvf/hvf.c | 4 ++-- target/i386/hvf/hvf.c | 4 ++-- target/i386/hvf/x86hvf.c | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index ea6730f255d..a8ee7c7dae6 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -62,7 +62,6 @@ struct AccelCPUState { bool vtimer_masked; sigset_t unblock_ipi_mask; bool guest_debug_enabled; - bool dirty; }; =20 void assert_hvf_ok_impl(hv_return_t ret, const char *file, unsigned int li= ne, diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 319c30f703c..c91e18bc3dd 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -79,15 +79,15 @@ hvf_slot *hvf_find_overlap_slot(uint64_t start, uint64_= t size) =20 static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data ar= g) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { hvf_get_registers(cpu); - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } } =20 static void hvf_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { run_on_cpu(cpu, do_hvf_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -96,7 +96,7 @@ static void do_hvf_cpu_synchronize_set_dirty(CPUState *cp= u, run_on_cpu_data arg) { /* QEMU state is the reference, push it to HVF now and on next entry */ - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 static void hvf_cpu_synchronize_post_reset(CPUState *cpu) @@ -156,8 +156,8 @@ static int hvf_init_vcpu(CPUState *cpu) #else r =3D hv_vcpu_create(&cpu->accel->fd, HV_VCPU_DEFAULT); #endif - cpu->accel->dirty =3D true; assert_hvf_ok(r); + cpu->vcpu_dirty =3D true; =20 cpu->accel->guest_debug_enabled =3D false; =20 diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index bd19a9f475d..44a831d004f 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -813,9 +813,9 @@ int hvf_put_registers(CPUState *cpu) =20 static void flush_cpu_state(CPUState *cpu) { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { hvf_put_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } } =20 diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index bcf30662bec..c893aaac1b0 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -738,9 +738,9 @@ int hvf_vcpu_exec(CPUState *cpu) } =20 do { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { hvf_put_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 if (hvf_inject_interrupts(cpu)) { diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c index 2057314892a..17fce1d3cdd 100644 --- a/target/i386/hvf/x86hvf.c +++ b/target/i386/hvf/x86hvf.c @@ -427,7 +427,7 @@ int hvf_process_events(CPUState *cs) X86CPU *cpu =3D X86_CPU(cs); CPUX86State *env =3D &cpu->env; =20 - if (!cs->accel->dirty) { + if (!cs->vcpu_dirty) { /* light weight sync for CPU_INTERRUPT_HARD and IF_MASK */ env->eflags =3D rreg(cs->accel->fd, HV_X86_RFLAGS); } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483246; cv=none; d=zohomail.com; s=zohoarc; b=NBiDo1yt+URtXKyV+QHBJHUp56x6Dw7N/pA5/bfUxrTaWDfEEaLHx946JjpzvBcEAkG2ryMArZlA/6zRGy5Bzv2TWLAXPrlKA2GIj0dI6+2p+blOsxVQKnfZZWsWGpfy8AAnBQDxDu0kVpd3mjep6RiF0gC5YDTAQHj2oWXowT8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483246; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vFAqYWkOt5rZ34pscE5bkNOMRRS/BXy8okDEtUQzC0Y=; b=Z4k1hjXE+82QLiUBn+EjQKFjD91tF5mYo0sXOOKEBdb40fkX08TgXOET/iuXMvP3pJjDTKF0whBuT9SJyNUhDPzIJdNdlcShRAt2hDZ4ZHCXapKmswLczjLIv1UzdQR80FKBR9/JxzjfhAeMPa3M61Xloqi4vWPwCf1E6QA3/Jk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483246233297.3489054897916; Wed, 2 Jul 2025 12:07:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2ei-0001yn-W5; Wed, 02 Jul 2025 14:58: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 1uX2eY-0001bN-Q3 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:55 -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 1uX2eR-0002hn-0X for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:53 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-453608ed113so49570495e9.0 for ; Wed, 02 Jul 2025 11:57:46 -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-3a892e52ca4sm16839718f8f.58.2025.07.02.11.57.41 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482663; x=1752087463; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vFAqYWkOt5rZ34pscE5bkNOMRRS/BXy8okDEtUQzC0Y=; b=Mv5uFbuS61OAoYae13+zaox4tc41NdJIYe3jYGoxaSYt+GvOvN4vcb9RY3V4FnIjT0 sz4kQ5XdswUTNwk1PeBsW6a9YcG6/aUJUaRKHRZ2riuUXyXHV40tVv5Bt+ejVRTvyV57 v/YHzo255Ur+WbKiX0kzqfaTfHA+CKwzenBvC1PzObHXxmE41gicID/ZhohsBpNcpwmA TCEewx7EBrDaklSI7sqKN79rKMkX5rhV6fYQkslVJINqACDwiT2abDJBx5diJpd9jkao 84HkBN7CiyYfIUh9ue09mJYj1RPAfVgqo13MQ1z88Go+d6wnIk3AIOMvq4Frsx8G0oqp KEnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482663; x=1752087463; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vFAqYWkOt5rZ34pscE5bkNOMRRS/BXy8okDEtUQzC0Y=; b=vNMuZplxwoHHBsBslHGaaJ+ZJ0bnt6ynvdcf/B0brPr3pr6gdPF12IGhAj4zAU2IX9 /q8le2okHS6TTPHN9qo6sT23QeqeDapjoeD7fvgts5wT/5RB0PWUp7nZtZA7JqMVYtoL Pv/Q6WPK9271sD93pATE/mRDjzG3NV4AooqXefGkmrHst+DoPx3KZjOsqD439mza1/h0 POKH91eqIU0aCz1IpK+BePLg8p0L33ay/7I387wOiiApoINfFa2rpNnnPkhaD7U8aSV1 4D5PdadYll7aYepv6lrs5lKQE7behF+OJwwt/6P6QHphB99vgVWiCc9OQAfVvaG5XuyL v8RA== X-Gm-Message-State: AOJu0YzTaX9DwG4CQCDm92fNG150t1s67VoTODZ7eCULxws1QtFx29/l 7/7jIgU75hrZ/lcjW1euxobgXH2iFvaT/dieD302m4lszXZ2HZicPOtt32ZhUjMG83wsC0dmTOt Ul/X9 X-Gm-Gg: ASbGncssOhODSRjeoRe5sMtcVuEbRf01J81Cfcca1hG+04MSTC1Q1crXjL/1Jy3dn8u PgkfTHxN8QJf8vUoMgfuKFCA/yD1/50r5c+BOdFrhOFLS2Ljdn0w23jdTDCiV2j2k2PiHUBetDs A9wQYuK6fBKZDDWs5uBWO/iHa/aCob7Gm6GmeTMMAsblg9IbbNDYesHsOXuir0wut9zPN/qbfqF d/lSsXIQPuuN3ERCDzyHFBgYob9XudwrWl3zmjZ2r1oLS4tPQmxc1YDPW77FN6FLWNaB0Zni3KG Yl0y/+XZADCIglqamxuf+12pUftVUjJzyuELRJaa5QnUgVOritwvZTyoolrtvWdMQws/HeJiuTu bBT+/6Fw1WTaxbmPxnniA+QX8/vvF1aULgIBJ X-Google-Smtp-Source: AGHT+IFkdP4s9jQ8IVaF1iX6gg89NMNDKtvY3rOa1XCjIg0vCzlsxH5ZvWz8V9D3AWRVSzIQ5Hkkrw== X-Received: by 2002:a05:600c:8208:b0:453:b44:eb69 with SMTP id 5b1f17b1804b1-454a9c7bb55mr8852515e9.13.1751482663513; Wed, 02 Jul 2025 11:57:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Reinoud Zandijk Subject: [PATCH v4 34/65] accel/nvmm: Replace @dirty field by generic CPUState::vcpu_dirty field Date: Wed, 2 Jul 2025 20:52:56 +0200 Message-ID: <20250702185332.43650-35-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::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, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483248487116600 No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/nvmm/nvmm-all.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c index eaae175aa5d..f521c36dc53 100644 --- a/target/i386/nvmm/nvmm-all.c +++ b/target/i386/nvmm/nvmm-all.c @@ -30,7 +30,6 @@ struct AccelCPUState { struct nvmm_vcpu vcpu; uint8_t tpr; bool stop; - bool dirty; =20 /* Window-exiting for INTs/NMIs. */ bool int_window_exit; @@ -508,7 +507,7 @@ nvmm_io_callback(struct nvmm_io *io) } =20 /* Needed, otherwise infinite loop. */ - current_cpu->accel->dirty =3D false; + current_cpu->vcpu_dirty =3D false; } =20 static void @@ -517,7 +516,7 @@ nvmm_mem_callback(struct nvmm_mem *mem) cpu_physical_memory_rw(mem->gpa, mem->data, mem->size, mem->write); =20 /* Needed, otherwise infinite loop. */ - current_cpu->accel->dirty =3D false; + current_cpu->vcpu_dirty =3D false; } =20 static struct nvmm_assist_callbacks nvmm_callbacks =3D { @@ -727,9 +726,9 @@ nvmm_vcpu_loop(CPUState *cpu) * Inner VCPU loop. */ do { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { nvmm_set_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 if (qcpu->stop) { @@ -827,32 +826,32 @@ static void do_nvmm_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data arg) { nvmm_get_registers(cpu); - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 static void do_nvmm_cpu_synchronize_post_reset(CPUState *cpu, run_on_cpu_data arg) { nvmm_set_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_nvmm_cpu_synchronize_post_init(CPUState *cpu, run_on_cpu_data arg) { nvmm_set_registers(cpu); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_nvmm_cpu_synchronize_pre_loadvm(CPUState *cpu, run_on_cpu_data arg) { - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 void nvmm_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { run_on_cpu(cpu, do_nvmm_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -982,7 +981,7 @@ nvmm_init_vcpu(CPUState *cpu) } } =20 - qcpu->dirty =3D true; + qcpu->vcpu_dirty =3D true; cpu->accel =3D qcpu; =20 return 0; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482867; cv=none; d=zohomail.com; s=zohoarc; b=R89WS7ePoDiuLemOL0Lw8ffGH9wkDa8AeTtjthS4gyDZDUCRCYClRPKGZJSNWZ+Egu1gp8OlIuLK9V1d8pZihqxRRYH1CT0yRty9hAx4r93nKzFirrBiAKIqMdVmT7BXMQzoBK45Zk0WDpU5D2MyhhBNTFmZ3DMF6kY2crMH3ZI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482867; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=l2PGC0Y3eaTf7CcEogf+cHF/JmHLi48aNNQRIJR2xDQ=; b=kkt+hZzwJvHV6053uNQwtdTbf1qzEn0EMW+g5GpnxMsnZgNWLsF+y8X3uugi8aGXYKcPeZ/f6d7o6sF5yCI5UEacV1iBxKlU2thZDo7b31OLMMRzaDRqEbNn10nWY7pJ9DSVLFEJT1MEkqjQvL0IHcm9P7kEAkWjqS2Pc/TAAoc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482867958357.6488349486191; Wed, 2 Jul 2025 12:01:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2f1-0002d1-0w; Wed, 02 Jul 2025 14:58: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 1uX2ea-0001bi-J5 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:59 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2eY-0002ir-Is for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:57:56 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a4fd1ba177so178657f8f.0 for ; Wed, 02 Jul 2025 11:57: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 5b1f17b1804b1-454a9bead7csm5352675e9.39.2025.07.02.11.57.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482670; x=1752087470; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l2PGC0Y3eaTf7CcEogf+cHF/JmHLi48aNNQRIJR2xDQ=; b=K9mu5jsyJ4BCrgY1xdgHIDK/9sYQDrjfI3qilzNEpOcxNco2kw8qh7CcWlnM0sg2zo FD4uXL9iLLtarB3V3gsl12mM6enrAsrTok3uAU/XYXAzm3c0debvLO9LIfezFFlqKlen VyKaetbSbyDSSS0Q/jyVlNM42PxGfyd+OLJuq9EMu/ById8IaU3SRt1JzwqGCvPj9WCC cIoqpQLEJzWVm24K6Xxso5LDA6zTKh2uMzi0ngpO5ydzjfDA9rSQKLePKfD0HmcoKE+r eiL2W2Ex5jwAt/ENbGtQztRT9rkHcVqhn3PVm2KtzNAY3oq2vfYloVz0oY4NuJXCZN+P NNvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482670; x=1752087470; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l2PGC0Y3eaTf7CcEogf+cHF/JmHLi48aNNQRIJR2xDQ=; b=DgHLJVq52LWktdYbw8v4l91vUNiltKMZkfcD3jOj8+uPl9yxfO8OgdLU3P+f3L+0UD Inai6cnhYx7OhAsZ8Q+c3h4AA6xHAoP9dngvebKTFvzmU3Qyoq3IhP3GuGy0/zadhZWW C/LpqObjAA6yQUuF2chnovBcq0DP7g31Ft0VpkKlYdIXJw56To54XBALgW3T4cuUfEET k2MHAkcEmMM4oUdBhmCxT2LMR+CIZhtSOHDA5YGuTX+Pfax7oHygeu3Zoo+jkDFrtGc2 0UBSg4wWn1K9EdVb1ep3Y2T1E2gIjvzFQSmuKaAy2GfMkyMnck5Tu4XGijE770LEiqei h/Aw== X-Gm-Message-State: AOJu0YxzdY7I0Vtu/iwSM3GtKydMoQS7O6rg7OtWeg2hirRqs1K/xaRS Y8TO9+Vg53bVsxgQbC3Gv5EJeq76WB6ELadRTYv1QfEqb9S56LSUThZlts8EqTkYkN3wNt4emEt 9O4js X-Gm-Gg: ASbGnct+URdWUE43CI09zwQnX1ItKzXmxXCVY8+01w0XIqBGn+zt2q9C1/Cel8GPIsJ Seo+chwTTkpnOM7cBifAiex9eLlMsf6UriM+kLXtYcFhDKZhJibK1Qe2H9YAWewea8NGRO8fya/ +u2G8Yk9udUDj6Lma+E1sVPdHlWI7zwohEZjEL7lpCDN4JbgqZcEmjcVVQkWz2O3wRp6HSs6tDw a7cFrdwGJORFrY/vlY+SCTK1rrjF64dfpmISu8u7j3/KtmVuY7piDTe2N4Cnyei1BgeUD1P8Bba RuBmYrotbsQ1xAx6KBp0LEJb/BuzQ5IaGdbJ73FjF6w63ERARTmR2p5CvyBGRbYndxhaO5mlgji 6s6/vNzsGY/1JTPGnj+KevJGmiIWJaBG9V2M6 X-Google-Smtp-Source: AGHT+IHDc80Ra5KK7mfkSwtXkKpYnLTrvdiIpG44mW0X+iHQtrTUYq8fgEeFV0pXqsBFlSMvRn8B2g== X-Received: by 2002:a5d:5f82:0:b0:3b1:a735:e6bb with SMTP id ffacd0b85a97d-3b342440d33mr40243f8f.4.1751482670000; Wed, 02 Jul 2025 11:57:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v4 35/65] accel/whpx: Replace @dirty field by generic CPUState::vcpu_dirty field Date: Wed, 2 Jul 2025 20:52:57 +0200 Message-ID: <20250702185332.43650-36-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482869165116600 No need for accel-specific @dirty field when we have a generic one in CPUState. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/whpx/whpx-all.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 821167a2a77..525d6a9567b 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -237,7 +237,6 @@ struct AccelCPUState { uint64_t tpr; uint64_t apic_base; bool interruption_pending; - bool dirty; =20 /* Must be the last field as it may have a tail */ WHV_RUN_VP_EXIT_CONTEXT exit_ctx; @@ -836,7 +835,7 @@ static HRESULT CALLBACK whpx_emu_setreg_callback( * The emulator just successfully wrote the register state. We clear t= he * dirty state so we avoid the double write on resume of the VP. */ - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; =20 return hr; } @@ -1391,7 +1390,7 @@ static int whpx_last_vcpu_stopping(CPUState *cpu) /* Returns the address of the next instruction that is about to be execute= d. */ static vaddr whpx_vcpu_get_pc(CPUState *cpu, bool exit_context_valid) { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { /* The CPU registers have been modified by other parts of QEMU. */ return cpu_env(cpu)->eip; } else if (exit_context_valid) { @@ -1704,9 +1703,9 @@ static int whpx_vcpu_run(CPUState *cpu) } =20 do { - if (cpu->accel->dirty) { + if (cpu->vcpu_dirty) { whpx_set_registers(cpu, WHPX_SET_RUNTIME_STATE); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 if (exclusive_step_mode =3D=3D WHPX_STEP_NONE) { @@ -2054,9 +2053,9 @@ static int whpx_vcpu_run(CPUState *cpu) =20 static void do_whpx_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data a= rg) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { whpx_get_registers(cpu); - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } } =20 @@ -2064,20 +2063,20 @@ static void do_whpx_cpu_synchronize_post_reset(CPUS= tate *cpu, run_on_cpu_data arg) { whpx_set_registers(cpu, WHPX_SET_RESET_STATE); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_whpx_cpu_synchronize_post_init(CPUState *cpu, run_on_cpu_data arg) { whpx_set_registers(cpu, WHPX_SET_FULL_STATE); - cpu->accel->dirty =3D false; + cpu->vcpu_dirty =3D false; } =20 static void do_whpx_cpu_synchronize_pre_loadvm(CPUState *cpu, run_on_cpu_data arg) { - cpu->accel->dirty =3D true; + cpu->vcpu_dirty =3D true; } =20 /* @@ -2086,7 +2085,7 @@ static void do_whpx_cpu_synchronize_pre_loadvm(CPUSta= te *cpu, =20 void whpx_cpu_synchronize_state(CPUState *cpu) { - if (!cpu->accel->dirty) { + if (!cpu->vcpu_dirty) { run_on_cpu(cpu, do_whpx_cpu_synchronize_state, RUN_ON_CPU_NULL); } } @@ -2226,7 +2225,7 @@ int whpx_init_vcpu(CPUState *cpu) } =20 vcpu->interruptable =3D true; - vcpu->dirty =3D true; + cpu->vcpu_dirty =3D true; cpu->accel =3D vcpu; max_vcpu_index =3D max(max_vcpu_index, cpu->cpu_index); qemu_add_vm_change_state_handler(whpx_cpu_update_state, env); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482853; cv=none; d=zohomail.com; s=zohoarc; b=Aru/CUquzNXKB3UZTOluw/jWqAS17Iijm1KSjsQSWtPFcKka55qluO+LbqMfzLy74Q6Acmsa7gD7trii7b4jIfAElUyviVfM3e0fBLb8VZmej5kU3S4dBibMTf/osYOTHUcLflK8HTp0LVnZ7SDVQsaTwLzWt1eoa28QS3rMjpI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482853; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zOj2l0QjwiOWVtDmZos93I73sy6okOj775eGXYWLug4=; b=BQse1RiqOkBJmieDpo417XSmyEBhXA+2U078Z11fzB1pIlD7RnzEQx+oMjPr6+W/fhQnu+/FnhSmfvJVlyCWlyGbdlZ70Mxwn9rYnouZI1OZvojN8Qozx6/xS4KpkrqbCiM7y8Hm7sf+ApGv8ujRIheIOUvjuLKU/1iRcUf7dNY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482853162983.3975503550289; Wed, 2 Jul 2025 12:00:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2ew-0002Zm-Nz; Wed, 02 Jul 2025 14:58:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2el-0002O6-Oy for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:08 -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 1uX2ej-0002kM-EZ for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:07 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a6f2c6715fso5024137f8f.1 for ; Wed, 02 Jul 2025 11:57:59 -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-454a99b6d6bsm5505475e9.31.2025.07.02.11.57.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:57:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482677; x=1752087477; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zOj2l0QjwiOWVtDmZos93I73sy6okOj775eGXYWLug4=; b=synLrVvpxC75dPSiLgmo+afK8EobBuu8I4EW6gmJdaNYklWw0H5l+3YxKJkugOsgZO KwvbGGPNAgkprIrwy0/hLLHEzzBgDjFHzCg+kUrZ1WOHjPVJhMnusFIbqwtJDEyXJ7+Y snRl8qnVoLZutlHR3JOsjDBrkHN5lRSwyh//+WM0qaS0Z69C0+C6T6ulEQaNvdiiy1CN S7hmAgO5QKh7t4klzkeZXF8RWAUxlbYDPsg/A9rcjIYXNksVFIuONaml8XS2Pna2Y+XT BtuUEBRKYVWsyxfadfXHedDmDTk8OciHDgADBrqimJIQrm/PZtPWMCyowjQW+uH+kLr+ s0jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482677; x=1752087477; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zOj2l0QjwiOWVtDmZos93I73sy6okOj775eGXYWLug4=; b=C947wjAzVw3KvtzkstTCBtsNaOXtYpAIrIEoKjlEadjRzmS/HlCpA9sTQYgueMztBS K1ywnlFymyILLEN3JQ1RPH+4+LQgEXdMoPMVkSwS1EAwvC9bIoUQHG6v6AhyLbDmsOHV RBuaKwL2vaQ5OgPpseSnrRUSKnhq+1nepl7jpLid7IaabEk/uh61neiZ5GkdLY65V1AC CQUHt09e4MquMvk7FShB48XGtXJGordQtmEcCXcN+Hl0FtiSmQwZOXgW9HYjZov8hvrs R5UqNWuKsJx+BdBSdO6h+9eltNKC1p85/locmO2TZnzRkxGwwbS3sqk3i17QkqO+XluN Of9w== X-Gm-Message-State: AOJu0YzCPaiDfkodOK8CUTYKgV90wPORek05bv2x4AAsQhcollkGd9AG 6tVVPTW5JwQvPMAs7DjtF4wHaUHGjiOo3hP9OHdm8aUkRpQSO9uzk6EGmdHicyVHaWiFb+nZtmw YFRvN X-Gm-Gg: ASbGncvMZxLsW6mhywIN6FOUA0qWIQ88Mkp19gRaRXltJXA1aE5zns73QiW6n5/D9H/ u+NS3QLwCpQY5kH4I9tki3pLQjmzdmJkQJ+25j2YDnjRSFuSod5E96i3ht3FjLHcblP1Nd18VH/ m5qDJfDOflrKnmqJ7hRzOB1vxzBxnyGgArFV/NS16jy67CU8TPV2/FZQeAGt1PBICke66FcAtX/ uTBkilSnasT3I6o80/nLfXar/i8ajb6KGbdj00ABPlT+p5FL4XaIeo01mFKhZYXdruvwRtXb2wN tz/3VyKzZMcK6M1kLUrcPt5j7JNVaNeKFM6p68H5KKkGRQhEKobtVFMHr8f8Zhaz1ipwkLCvGKz Ott/bTOPY6q+YBGGLUT1AJ6PCUMRiu8Ixbq6T X-Google-Smtp-Source: AGHT+IF6RqLjg+vn4QGMC4sTXHfVfU93wY6vxLMBCeNTzfIOZZe23lOIWbUk4TcPLqEvHidDXetMCw== X-Received: by 2002:a05:6000:4408:b0:3a4:ef36:1f4d with SMTP id ffacd0b85a97d-3b20067c8a8mr2567192f8f.38.1751482677289; Wed, 02 Jul 2025 11:57:57 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org Subject: [PATCH v4 36/65] accel/kvm: Remove kvm_cpu_synchronize_state() stub Date: Wed, 2 Jul 2025 20:52:58 +0200 Message-ID: <20250702185332.43650-37-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=philmd@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482855096116600 Since commit 57038a92bb0 ("cpus: extract out kvm-specific code to accel/kvm") the kvm_cpu_synchronize_state() stub is not necessary. Fixes: e0715f6abce ("kvm: remove kvm specific functions from global include= s") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/stubs/kvm-stub.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index b9b4427c919..68cd33ba973 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -29,10 +29,6 @@ void kvm_flush_coalesced_mmio_buffer(void) { } =20 -void kvm_cpu_synchronize_state(CPUState *cpu) -{ -} - bool kvm_has_sync_mmu(void) { return false; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482923; cv=none; d=zohomail.com; s=zohoarc; b=BHlsof/pnK9Cq7xggR7HFAYjLGFshHflcU2vNKMkJDow4mxLAt4kjIEJZPlz/DkqEFV+fuqc2Pmiyh3Z2MkmMkkrh2N4U8d5y8uIVN6Dks+PxLyk8abfIEj+8N5kjJ1ZmIjtoIkSbjNK2xrSeLRN8brA7oYL3glk1jtbT0LVy74= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482923; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZapE+BsIWKP1uR9SD9UqThOOP5DO0oP7K7FrxAXgmYg=; b=QttI9YQiFGPIJa0UuKX1gvcde7SlsQ1SQp8BzCK5P2RIaVCJhps209wUz0HXiSkumeJH8j51ycyec75pu0R8JBMqVFAynG59K0QYDyHPrVo8gcRT1r79z/BbuHPnqr9KT3CTm+yejLmHdxwg59YaCItAuVvi6gXbmURnAJ4Cwcw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482923250855.2562421893783; Wed, 2 Jul 2025 12:02:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2f9-0002yO-Vw; Wed, 02 Jul 2025 14:58: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 1uX2er-0002a9-9R for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:15 -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 1uX2el-0002ld-2K for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:12 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so43544145e9.2 for ; Wed, 02 Jul 2025 11:58: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-454a9bac48esm5465455e9.37.2025.07.02.11.58.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482683; x=1752087483; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZapE+BsIWKP1uR9SD9UqThOOP5DO0oP7K7FrxAXgmYg=; b=p155/E+FLZ2U1ujpCLgmrcF3fIs6Wf/AHyuPzNee1rbzlHapycxfq5RhNg5R+jCHri X6R8rJOZFtE8NBWxjPNMvKCJjjAtFrN80EwGGrEW4cJk7aVNFSzehcqqH1uY+k565Ymw 5W9apLUQGR1t+Cyd4d0MTicyWlA2Y1fKw3IDIi8CHc/v6N1AaKf6CBgGlgj69Fdi8Zct LmyoBol1MM/7SnxTt2n/sme5GDoI8P0T5VhzD/ZP8Y+SmGIBkSeHo7FdnT6AkF9CI3Wu z3ElVOeM0tTJAfLjiAetsZuL/xRi9NDpjiEiOI13ULpxH75lhClDzaTC1nSEWAe7sBmp J+FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482683; x=1752087483; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZapE+BsIWKP1uR9SD9UqThOOP5DO0oP7K7FrxAXgmYg=; b=D5frHn2f0Ef5+LVk2/Z/208W5HRMu7O2PxXkoXs6NqeYjsWQWMtWApF3W4sMboGLQb lxRG5yALUcqHvA1mqZU3CNKTFg+q6/DorQ/i9M/EoQxAGnygXcGR/lfABDLxCliRj7fs JpyIaOcnJAWjrIN029BNthBezpS7PL+8G/xOpamsSopaosZplwGFOvS3me+U5JVBu9LH +RO+1LW381capdxZN55TFdZEwop2rkNcnuZsBUl1mLwmTExwvQ9ECkSTi/HUdXsJ0U7W +/A7GNvveFCIyQl/aRCK7zaGKpZxkIdxCvCklFnFn/8TlL6+rIbAnl1ulXd4sBuZ5+I1 aNGA== X-Gm-Message-State: AOJu0Yx/ers48dSHH607xPU2WHYoRoasgQXgnn//GWh3wMZCTTLod0dd GvrTfjRibORCcp9Tn27q/jHDW+HdYwBJK0bHI9Wy5cROnH0uN0Vp1KRSxWv45edcGTnKTM1GsfR xoxGL X-Gm-Gg: ASbGnctubP6sq1URaRXZnpcGRZwKTeq8bQH+KosXEwpV71PgyWdr5D07w9fQYfCbnnK 1oKh2prEw3SK8i5FT0+vJsGtZYetuufZiB1gePsh4rlDyClWF+qOSj7nTep2ZnlDWYTt/MYgmXF 4smu81A344zliqsYlXa4jyYDW7r+KwyiljNTO0gVwCazVsGqySJymUdSERvL4zsRIQkOdueMeZN sdG33uF/8bA95D56ZVkIuiattwQDw6y+6fJ27Lz2aajsGGSI3bp5udwyfpwOLhw4sntYgEiZFcS p0sdCnw0dm+0Qf2I85recvv8p6HVUR1MWeQRj0JzonUKdZlYBt7mqrdK+hox7c10/fkK9LNlebl ma7aJzw/ACHOk8I/MSxQfQFJZrFha6/ANQZ/J X-Google-Smtp-Source: AGHT+IGq//4zguArg/D85BhZUqn72m5MpoHcLlwFP20LxyFkrGfC/Pzh7vI5dY70Y2Zm8t0YEwlQXQ== X-Received: by 2002:a05:600c:1c90:b0:441:ac58:ead5 with SMTP id 5b1f17b1804b1-454a3736717mr42956465e9.31.1751482683511; Wed, 02 Jul 2025 11:58:03 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 37/65] accel/system: Document cpu_synchronize_state() Date: Wed, 2 Jul 2025 20:52:59 +0200 Message-ID: <20250702185332.43650-38-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482924070116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 8 ++++++++ include/system/hw_accel.h | 13 +++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 2a89641aa81..ac0283cffba 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -45,6 +45,14 @@ struct AccelOpsClass { =20 void (*synchronize_post_reset)(CPUState *cpu); void (*synchronize_post_init)(CPUState *cpu); + /** + * synchronize_state: + * synchronize_pre_loadvm: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers from the hardware accele= rator + * (the hardware accelerator is the reference). + */ void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); =20 diff --git a/include/system/hw_accel.h b/include/system/hw_accel.h index 380e9e640b6..574c9738408 100644 --- a/include/system/hw_accel.h +++ b/include/system/hw_accel.h @@ -17,9 +17,18 @@ #include "system/whpx.h" #include "system/nvmm.h" =20 +/** + * cpu_synchronize_state: + * cpu_synchronize_pre_loadvm: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers from the hardware accelerator + * (the hardware accelerator is the reference). + */ void cpu_synchronize_state(CPUState *cpu); -void cpu_synchronize_post_reset(CPUState *cpu); -void cpu_synchronize_post_init(CPUState *cpu); void cpu_synchronize_pre_loadvm(CPUState *cpu); =20 +void cpu_synchronize_post_reset(CPUState *cpu); +void cpu_synchronize_post_init(CPUState *cpu); + #endif /* QEMU_HW_ACCEL_H */ --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483003; cv=none; d=zohomail.com; s=zohoarc; b=h2zzan8ByPDeo7ZNQKfnblTRFXZJOUV+8h8OHvVc0qXiImHJ5ruORKjFGEzSoyTuvIY2x8XDadq30z5lmKnABXS872YRBbqsJtqKi3xxmhFGAxQ+hTtikSUPOCc70GUCcyRez34YlNdKuVwVdJ3zvI5cckA8KM+g79ma27aohx4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483003; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=SZcPe3nYMdLPvpkVihaPaKQWmWCYPUgBDgbI5JlWA4I=; b=egUZbcB56ybuEGdFpWz+S8r7Cke271Dk29lJEX1Df7agKKfU9EB5Tej4ee0diPTmcvu8W+dWgwAar4bFE4EX0s5vcFwiCKwsZWht2LocMGc4Fb38cOY77cTmlmrKWBxbYOd0MeaOt9VqfL1TvIWEou1ZrKVlImVJHu4dVbY4eRY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483003162834.2172425099367; Wed, 2 Jul 2025 12:03:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2f9-0002xi-N1; Wed, 02 Jul 2025 14:58:31 -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 1uX2ez-0002hn-6T for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:22 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2et-0002ne-FA for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:20 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-45348bff79fso48529345e9.2 for ; Wed, 02 Jul 2025 11:58:13 -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-3a892e5972bsm16892625f8f.68.2025.07.02.11.58.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482690; x=1752087490; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SZcPe3nYMdLPvpkVihaPaKQWmWCYPUgBDgbI5JlWA4I=; b=KK4wW6o56wqqu6joBlVnsC/EOoWQ6KDateG/s63QWf0eTMQ+9OpgaSOltNHPoTL9pL pAii23JZ5ghtyZpJRTeiYE1IWjbrCoCLw+iHoMXR/8nKbAKO8zLLJwdtOFgDkNUwtI4L EE24iTdRNYrbpNyPE9HCQs5RXENKQrooV2pmvIdnSoY9N9wVn6nU77V10xyOraH9MUKA cM/q+RQ+q8wSwAIzAhp5KQzUd43KhxnSocY52cuiZOtBJpJhie2fXMOXAmBagqNU+tpG xMqZYfP07gJXNkX//JtvxSpTQ/7mLyE2PX2zOcxC4fCT0s+AYalMPikpNa3QAWYl05DO ZWvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482690; x=1752087490; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SZcPe3nYMdLPvpkVihaPaKQWmWCYPUgBDgbI5JlWA4I=; b=w8Hik4EzwZSTXUjW0oWtpKc/oALNhJx9GfFYGXUV8ere9sDIBBxntHCmYiAlEIjzIA iJ9jR5xGZM9Lm2JP3S2K6k/IFDVpmmmHdTOGrARLUoDiZ/bH7xUqoRIeAb0hZ1LoAW1g Vj/17kh46hReVEq1c9XthJlT/VU3Sz0ThkocKUcdaHVhVIAKtNDSkKTHKXD8U40570/M NZB1is1SuZZSk1afgtkOKBcTXwqEui7Mqzb+Jo0X+1tBhf4HtC4yuOgdmtsIEXwoX6Bo MG39rcylegy0kH50C+vsfzaWiRGjgZUefDUlBkgRKVXz12YmmONFIt9OoUVftos8QDui CZIQ== X-Gm-Message-State: AOJu0Yzdy5dDU81qnnlXpVSIttEja61St57aG84AEK4+9JR0nGZbqUsX 2uIfZore/dNSNG82EegjGHtzK0JqcejFzh+UfEKNaDAD8lmqfVp2AYiJNEsi5nB7aeSkazyJoUF jEtou X-Gm-Gg: ASbGncu9/OY9EWyloa20IdpojGKdts7g1T1eGz+NiGTD3u1ZHygcXO1XmCyJiRdEwsd bE9+6F09YYKoYGue4sqB5i6gtyzDgmBg8KGO72hd2y3Y82Ii7wovYzKG9luQKxlVRH9qqS6GcRD XJ59Kc2wtyCjOX6RJBaGhnsiyIUE8gZHdwbdUImF24W9MB/4NRuP9owvVQsa7fv1IwIY7RKHEjZ DXWvMaEILlpClBtwNvk3LI87W3ocPhLK/fvFuDf22DH+RdcD672MAjA7d5K713NrQ+ufoK39wxx ULoP4fP4kDCu0orxh3MfDlO0qaBCuBQiIsXmVFWcXoY4GL+hR7uOa9jonugtSbudl2d+Tq87M5i 7ttJZSSpJcYyTF2iC6NQUTLz+A5UHM98qtjxV X-Google-Smtp-Source: AGHT+IEMJc2bCpIf0tMa9zUMTXA/l80YP6s5PRbLi1vGz/HuGBykc1Hw9iizQYQBjwStGofzLQlDgA== X-Received: by 2002:a05:600c:4509:b0:441:ac58:eb31 with SMTP id 5b1f17b1804b1-454a3705065mr37982045e9.20.1751482690018; Wed, 02 Jul 2025 11:58:10 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 38/65] accel/system: Document cpu_synchronize_state_post_init/reset() Date: Wed, 2 Jul 2025 20:53:00 +0200 Message-ID: <20250702185332.43650-39-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483005172116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/accel-ops.h | 8 ++++++++ include/system/hw_accel.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index ac0283cffba..77bd3f586bd 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -43,6 +43,14 @@ struct AccelOpsClass { void (*kick_vcpu_thread)(CPUState *cpu); bool (*cpu_thread_is_idle)(CPUState *cpu); =20 + /** + * synchronize_post_reset: + * synchronize_post_init: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers to the hardware accelera= tor + * (QEMU is the reference). + */ void (*synchronize_post_reset)(CPUState *cpu); void (*synchronize_post_init)(CPUState *cpu); /** diff --git a/include/system/hw_accel.h b/include/system/hw_accel.h index 574c9738408..fa9228d5d2d 100644 --- a/include/system/hw_accel.h +++ b/include/system/hw_accel.h @@ -28,6 +28,14 @@ void cpu_synchronize_state(CPUState *cpu); void cpu_synchronize_pre_loadvm(CPUState *cpu); =20 +/** + * cpu_synchronize_post_reset: + * cpu_synchronize_post_init: + * @cpu: The vCPU to synchronize. + * + * Request to synchronize QEMU vCPU registers to the hardware accelerator + * (QEMU is the reference). + */ void cpu_synchronize_post_reset(CPUState *cpu); void cpu_synchronize_post_init(CPUState *cpu); =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483343; cv=none; d=zohomail.com; s=zohoarc; b=dqIPLMvdI7ZvLwD9jNlZNaRDGvOiLCxuJMCBWUGsL67DCpCBmPLO2sKkz4bDAD0beP9Dag/8teh0zKst27+j53cbzHrZAlCMyFBrFbr1Xp67mzNp6yLGCN9bLvPfbFNqAwuQnUnWWNSLvwPD+BZuZ3AX4n0D16htSdO+r3A8ZpQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483343; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Mdy11kA+VsWt7cboODkHkD4f2jxHCHYlzGKA8G7vb4M=; b=LObMCq891r4V+blDDxv9XXi5nnfY60Hy7naVjkG6+X9jm/a0vr3BUXcvsHK6ioiWuw+M7H7Y5uWX4V2RedZoZMfixSHxZ9CTUrsrzsHmUcoBurLK/420AcHKjsRSgaksXM9tfP2c9vOVbIlkpsqY/KijibwVhe3Vd77veCt+16U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483343848262.15858850111806; Wed, 2 Jul 2025 12:09:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2fD-0003Sq-QM; Wed, 02 Jul 2025 14:58: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 1uX2f7-0002sU-O5 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:29 -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 1uX2ey-0002pk-Vd for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:28 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a57c8e247cso3954266f8f.1 for ; Wed, 02 Jul 2025 11:58:19 -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-454a99c07fcsm5474355e9.35.2025.07.02.11.58.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482697; x=1752087497; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Mdy11kA+VsWt7cboODkHkD4f2jxHCHYlzGKA8G7vb4M=; b=G5xbJxxSRJ+jrGaO1zZcPYBMp8mJ6ddNkVD/mU6o5/0YOxv3IgCauiWTbJLQHBOOY6 0hu7GmDItXw1PXd1W1xaFGTD2LRCARvGx5pWvq/zIKR256/OlS3on8tDGR0EY1DyZxk0 boS/6Z412hSS0n9Qw0EgxZt6gm+sYIxPBe4bsqtkMyVfIoBCxLNPWE2HYhyVPnkTqc5q nQBqCI5EmgzCkycuvLup2qjxZAz+8n9DjpnD0zF3aqQYVwGVbucspSseG3isw9/+1sJK Yx+qZU+67XP41qp+WZcUX/qh73WKmVbImidiv7VaLPj20sz0WbntfsEi2ai+Vyv3fT8b XBhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482697; x=1752087497; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Mdy11kA+VsWt7cboODkHkD4f2jxHCHYlzGKA8G7vb4M=; b=XeT6AVHEiNHUTtUKAJn8xARl/l9eA+BbWoxBUDVt3zqFNHJkRnHzoicXBz6YlWUM4M jwp49cRvdGEELd8Xwc80MMF9vdghMpj/b/9UVEwKC+N1FnN8AiQqow7oeCsjXpRvaEWL lMTonGIK0l2dJnaXq6uA7QHdguJFkJa0rt56jSsAUfn/Jcl75kYu/5cy8IljGBYKCnUu MGQMNEMqcvz39jCIkFt5zvy7VQAKv0h3ottTX0iZZnrua5iIDUoMXGTQ93KHJx81VKkW 02pinUdYHCVCZ0UaH7IImtjX2S2AfJymgVLdJC6cREzBAmv81CS+fCUHGLth3Q5K/OHy f/1w== X-Gm-Message-State: AOJu0Yz/+pH+Wyovhv1+XfvKfftWO0b9iv6FROEKMeTYhudgb3xh3TtG uUJk6Et4H8drwvMm3ZWgfe6e/kM3PxiXr+xKvD4cXW5vHOKg+sneWIPEoVoM8TgaJ2jsLBOFQcL Iz81W X-Gm-Gg: ASbGncv40hXIVcYeC4+r9MCpoQSBTPL59gV/HAx7DD00Ou6paDcv4NUhaZNXrsONNdd YN8SyQzO5FS2gVwyIpNeqp1PcZhfKtD1QvDSOhjABrZBC/zRyhMlSTTMKMJ51YI6hlkD1dNtQFC Ec8RuQxaPh/WZhSuKMraLVhYX6O5WTxSzWJ+6/NSUkdew0znyD1mHIDzK+0hyzLMh7kJ0Jj25D7 F3kDo8zYQfDYFBlt8cU/fcoyGpzL/L3vqKvcB4mbuKVNL+s638yMP/LNxWT5AR2YC8R7ZoSMaff qB1IwF59Db3aJL+opgsM5Ji3JeXVOnkXzbxdR3hiF7Hvq5juBVDqxzWv1UY0/labwhAQ0ktL9zz d/twjS8W3axYqVaeJ2ScvSp+SRhKpXUv5JtVW X-Google-Smtp-Source: AGHT+IEcsxXMBUIACsgpBcHJn29ILj51paTxvpkvqfXZb0ZcInO2pdamIFHTyHwRL4J4flRJp+KVQw== X-Received: by 2002:a5d:6f12:0:b0:3b2:fe46:9812 with SMTP id ffacd0b85a97d-3b2fe469879mr937452f8f.19.1751482697304; Wed, 02 Jul 2025 11:58:17 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Reinoud Zandijk Subject: [PATCH v4 39/65] accel/nvmm: Expose nvmm_enabled() to common code Date: Wed, 2 Jul 2025 20:53:01 +0200 Message-ID: <20250702185332.43650-40-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483346129116600 Currently nvmm_enabled() is restricted to target-specific code. By defining CONFIG_NVMM_IS_POSSIBLE we allow its use anywhere. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/nvmm.h | 23 ++++++++++++----------- accel/stubs/nvmm-stub.c | 12 ++++++++++++ target/i386/nvmm/nvmm-all.c | 6 ------ accel/stubs/meson.build | 1 + 4 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 accel/stubs/nvmm-stub.c diff --git a/include/system/nvmm.h b/include/system/nvmm.h index 6971ddb3a5a..7390def9adb 100644 --- a/include/system/nvmm.h +++ b/include/system/nvmm.h @@ -13,17 +13,18 @@ #define QEMU_NVMM_H =20 #ifdef COMPILING_PER_TARGET - -#ifdef CONFIG_NVMM - -int nvmm_enabled(void); - -#else /* CONFIG_NVMM */ - -#define nvmm_enabled() (0) - -#endif /* CONFIG_NVMM */ - +# ifdef CONFIG_NVMM +# define CONFIG_NVMM_IS_POSSIBLE +# endif /* !CONFIG_NVMM */ +#else +# define CONFIG_NVMM_IS_POSSIBLE #endif /* COMPILING_PER_TARGET */ =20 +#ifdef CONFIG_NVMM_IS_POSSIBLE +extern bool nvmm_allowed; +#define nvmm_enabled() (nvmm_allowed) +#else /* !CONFIG_NVMM_IS_POSSIBLE */ +#define nvmm_enabled() 0 +#endif /* !CONFIG_NVMM_IS_POSSIBLE */ + #endif /* QEMU_NVMM_H */ diff --git a/accel/stubs/nvmm-stub.c b/accel/stubs/nvmm-stub.c new file mode 100644 index 00000000000..cc58114ceb3 --- /dev/null +++ b/accel/stubs/nvmm-stub.c @@ -0,0 +1,12 @@ +/* + * NVMM stubs for QEMU + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "system/hvf.h" + +bool nvmm_allowed; diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c index f521c36dc53..a392d3fc232 100644 --- a/target/i386/nvmm/nvmm-all.c +++ b/target/i386/nvmm/nvmm-all.c @@ -1192,12 +1192,6 @@ nvmm_accel_init(AccelState *as, MachineState *ms) return 0; } =20 -int -nvmm_enabled(void) -{ - return nvmm_allowed; -} - static void nvmm_accel_class_init(ObjectClass *oc, const void *data) { diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build index 8ca1a4529e2..4c34287215f 100644 --- a/accel/stubs/meson.build +++ b/accel/stubs/meson.build @@ -3,5 +3,6 @@ system_stubs_ss.add(when: 'CONFIG_XEN', if_false: files('xe= n-stub.c')) system_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c')) system_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c')) system_stubs_ss.add(when: 'CONFIG_HVF', if_false: files('hvf-stub.c')) +system_stubs_ss.add(when: 'CONFIG_NVMM', if_false: files('nvmm-stub.c')) =20 specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss) --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483242; cv=none; d=zohomail.com; s=zohoarc; b=YPx6A+qBHBHmfn4vSMb8x4lze7FfEOg/uOWPm0XmDvBk7o4ZFXrlBhZIaA0sWomeLtmZx/W+03TdPRf6Jgl3AhVIK2M8WtD59jU/HCtpqfAasK0BQs4jz6scNuVmuTkOeX6qbcfpcxDkhI7i15sbKbazpFj5R0qU4+ygMoY8F+M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483242; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0UiewseZoW7++jqLIzKMJ/OYq1tgfsCyntten+qzSRY=; b=GlNgRFyHFZl57fGbkB+M4ND80vpU+g8NtD6KVq5W3A2pIaaTkDr/Y1ss0tp0j/gOhBSgP900wqpxoI/Bq5UHNMu69T9N4pQQMa9IwVYSpfboB/nQIoYZ+eZ//eR7dMsQ2Ulf0K0kJ1X8pjMA54tTlGvJGOJ7GpNK9eHDF3wmj/4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483242816936.6735080614308; Wed, 2 Jul 2025 12:07:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2fD-0003EY-Ey; Wed, 02 Jul 2025 14:58:35 -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 1uX2fA-00031O-0W for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:32 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2f5-0002tH-Qe for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:29 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3a5257748e1so3279728f8f.2 for ; Wed, 02 Jul 2025 11:58: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 5b1f17b1804b1-454a998a47dsm5646495e9.18.2025.07.02.11.58.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482705; x=1752087505; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0UiewseZoW7++jqLIzKMJ/OYq1tgfsCyntten+qzSRY=; b=TczYc5Q3m8C39gmWZbnWxZJdmumTo/W3WMGCZqGOdLn0g5kIfcjo5FA1BB8MGwWnbk IZncNxHqwPBvsbbZCBN3h/uGHQ70MH7zEsiMIDGEwM4XEOj5BknFRZ0MUJTZNZ4pEKpM O/UeBWrCipkH/4hqEBhNHEKGhPEVMpEBhDsLjWCFXowF0KCsUr4apy6wAy7h4nyvrfdf S3Sr5QHps7WlIFy2/8aNfiTiCBzTGKljeW12XEG06sR5+GhdPRaHifMhDAncRyet0Crf LhEtvGqbk1ODZWWMfPg2uBU4+7059AV/w6m/GV67rAacLt0voXG/L6RGJadzEGi0pkkH HLvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482705; x=1752087505; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0UiewseZoW7++jqLIzKMJ/OYq1tgfsCyntten+qzSRY=; b=Zes3MDTxxdZyG1lKKh31RKuMT5Nkc5BPMRDlK5+kIgJoDv3Au/QPfy71LDvW8dTodQ VRGsKUjV9XxQl+AgD88u0FvQQSzMIv5o9yKPXRYfZZu9U6tlVbmt5JZSHri5/0JRSvRb ou76Jq5cGhlTfxHlp5jK1ufN+MQDd+MM9oY466Ej3SKdG+U2dDsRhttzxeifBrJv0pne gkjaOS0KMC7GujOOh/amTU6qsbnD7ipHbFYsoaO0691Y/idHHVkIevLHB9GNfxf9rVz0 KPsTq6w5Id0MH5veP46BLFFSb+lBA5cCUKBrvMAJfdCxum0Tru3GpYJyeqgercNTRjgb yXyQ== X-Gm-Message-State: AOJu0YwPxn/UDwy/Gg0+6kI7QtAkLvu56yE51bU0oP1MlaYEOadUZx8/ UFbXxVqNj9HrAfY9kvy8GiC8avYCnB8aN1L2l2dfMHqOYLW4qgIy/Z4HOkBArOkzMOsLV7u8pOY 8nOGb X-Gm-Gg: ASbGncsxsUSpjO8mI6sTt1kDRq70VpNDKoqKDwL8CBpdnHXJZS33O6lDZc8cDz/nxHZ shfMPlPqXRo4LbduSlNGjoiMqHHTLBZVYMjH4v8siMkYXaqjijTeFMdca8zXuH8jS+/+OB60f2k fGjJIz9v8Ryc+GGBOE81Edmxh0+QNqeY1niTmtKnyCp8l//TzUOGvVbL44estQlNehn4FQofHcp MsX+0dlTzWjB6GGqp7BwqEFkl3nABHnieTpu1OQB0S/9+2W6BUxP25hweMg5Hd3+uhzZAr3QeQg d4/d4MzVp/sm0veJo0/cXKYmfO0Ow3nFgHEB2p1wnk+nvjnKKcGTQlD1xEPovlapFQbjDhfiAj0 MAMbl8T4T3KXZA+pxvveK20lHOxsQnlv4m2f9H4lzWrQM1lU= X-Google-Smtp-Source: AGHT+IGjFUmKl+lvv9OK5JKGKAwhSmT7t8bZLQi6uuNDWFj32VAHtHAPfYEUVZWzoVpnQ/oUnKOJwA== X-Received: by 2002:a05:6000:2c0b:b0:3a4:e54c:adf2 with SMTP id ffacd0b85a97d-3b1fe5bef26mr3449934f8f.5.1751482705473; Wed, 02 Jul 2025 11:58:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v4 40/65] accel/whpx: Expose whpx_enabled() to common code Date: Wed, 2 Jul 2025 20:53:02 +0200 Message-ID: <20250702185332.43650-41-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483244399116600 Currently whpx_enabled() is restricted to target-specific code. By defining CONFIG_WHPX_IS_POSSIBLE we allow its use anywhere. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/whpx.h | 27 ++++++++++++++------------- accel/stubs/whpx-stub.c | 12 ++++++++++++ target/i386/whpx/whpx-all.c | 5 ----- accel/stubs/meson.build | 1 + 4 files changed, 27 insertions(+), 18 deletions(-) create mode 100644 accel/stubs/whpx-stub.c diff --git a/include/system/whpx.h b/include/system/whpx.h index 00ff409b682..00f6a3e5236 100644 --- a/include/system/whpx.h +++ b/include/system/whpx.h @@ -16,19 +16,20 @@ #define QEMU_WHPX_H =20 #ifdef COMPILING_PER_TARGET - -#ifdef CONFIG_WHPX - -int whpx_enabled(void); -bool whpx_apic_in_platform(void); - -#else /* CONFIG_WHPX */ - -#define whpx_enabled() (0) -#define whpx_apic_in_platform() (0) - -#endif /* CONFIG_WHPX */ - +# ifdef CONFIG_WHPX +# define CONFIG_WHPX_IS_POSSIBLE +# endif /* !CONFIG_WHPX */ +#else +# define CONFIG_WHPX_IS_POSSIBLE #endif /* COMPILING_PER_TARGET */ =20 +#ifdef CONFIG_WHPX_IS_POSSIBLE +extern bool whpx_allowed; +#define whpx_enabled() (whpx_allowed) +bool whpx_apic_in_platform(void); +#else /* !CONFIG_WHPX_IS_POSSIBLE */ +#define whpx_enabled() 0 +#define whpx_apic_in_platform() (0) +#endif /* !CONFIG_WHPX_IS_POSSIBLE */ + #endif /* QEMU_WHPX_H */ diff --git a/accel/stubs/whpx-stub.c b/accel/stubs/whpx-stub.c new file mode 100644 index 00000000000..c564c89fd0b --- /dev/null +++ b/accel/stubs/whpx-stub.c @@ -0,0 +1,12 @@ +/* + * WHPX stubs for QEMU + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "system/whpx.h" + +bool whpx_allowed; diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 525d6a9567b..1732d108105 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2688,11 +2688,6 @@ error: return ret; } =20 -int whpx_enabled(void) -{ - return whpx_allowed; -} - bool whpx_apic_in_platform(void) { return whpx_global.apic_in_platform; } diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build index 4c34287215f..9dfc4f9ddaf 100644 --- a/accel/stubs/meson.build +++ b/accel/stubs/meson.build @@ -4,5 +4,6 @@ system_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kv= m-stub.c')) system_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c')) system_stubs_ss.add(when: 'CONFIG_HVF', if_false: files('hvf-stub.c')) system_stubs_ss.add(when: 'CONFIG_NVMM', if_false: files('nvmm-stub.c')) +system_stubs_ss.add(when: 'CONFIG_WHPX', if_false: files('whpx-stub.c')) =20 specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss) --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483564; cv=none; d=zohomail.com; s=zohoarc; b=hThAywqZY1PpQv/sVkBCcJAaaa7aQB7s54nI5yNhchN5iE06VpUFN6H2WXPeFCZPw9vG24UeeSXwIruUezZSw1WK/hHz1OoyuZ6vAKOC6oWL84BFBtdL/U9yNbZCYaGn8gGSi+IcOt+qgZwC/ivaGv63qQ8DYsqmK5Vfh6jv76U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483564; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yvjGPIKQGEYeURH3HTUPhcPT6ROyPPS2REI2o53ZBAU=; b=KfTrsh2WchpgRKz3BaJ42ORF8IBo6x76kY0ax+S0jD9tURWjJHGkGpN26pu57E15tRVEZAYmhRStFF40qCM7sHJb5TyRXS29hdqfC+sOgabgMiWiOTb1URmJjoIDU56djv8vD8Ip+Ji5KBd37qgICSQwp4tuvjOcqnROS+PT90g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175148356448787.49156089371945; Wed, 2 Jul 2025 12:12:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2fS-0004SR-0x; Wed, 02 Jul 2025 14:58: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 1uX2fO-0004Kv-D9 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:46 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2fG-0002vW-FV for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:45 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3a6cd1a6fecso7746910f8f.3 for ; Wed, 02 Jul 2025 11:58: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-3a892e5f8a0sm16960908f8f.96.2025.07.02.11.58.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482712; x=1752087512; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yvjGPIKQGEYeURH3HTUPhcPT6ROyPPS2REI2o53ZBAU=; b=ZxMXpKP0yR3q2l4ShVLW1YxcTX9CgRGwW6SrWAV1kdpwBU/2PiAoE/Rumq+huk3GSS DGQwpmjlEnwVeYnbLedvfiqzF6ZRZZ6CGwd18dRfxog0IXJs4QuqYc1LKUAk4C9U1Y7p bZN+F4dEze+ZjNv+FmjCn/IqnEDXCW3uSH8jx2EMp4yLl7EYt5eXtKz9mwPVEokcwQMz HJznvBJ9+SnrwSme2V0E+ovBndVZjkzp56WH2RTVNDn0515vg6FregLJ4H8YhYctw0qY HGRUDlpNXngBbH0K+AxMrOv6DTmNQIBWTiyH54bmAGN+wgs7Hk5eZXbLtasHTJ1rbWN7 4Sew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482712; x=1752087512; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yvjGPIKQGEYeURH3HTUPhcPT6ROyPPS2REI2o53ZBAU=; b=LzrbpukolN7jQiWjWrsXuHQLGRiSP1RkLRgKaMSkcNnxhDjk2Udwdt7ARsrWSFiwNU jYGeyLYOMFUlBHQcCE3NzMDmfZwFm2Y1npSBxhEM7rkHt31ZNzxui5AJ48swbWJ30c9P uREjQQdkD9q9aOjwmUiiU0zh/qnyjfuzke2PdQhEstWwC2Hr0VXFYfbAIXm1SA4Yru9g pHVaF7O1CpTl4JXZQqFhAiBp4/RJpOnl47VCPiaseV1kJg22xiOwov3A3HBiZv6JETyk cMY99JEiMHnwKxYxoafew52GsHSELFn6R8R9QBql/PdqX65aYZqkDwUJPx/Oc4fmsCwN K7Lg== X-Gm-Message-State: AOJu0YwGq8TIU/6FY101HUFbZaj+UHsE1DctSIi4XBCyjf31GmyOi8ff LO7PakXAGZoovaOsCsypEXxJqls0ZNNW3W23FU8kODgkEwmd/7Jetso+nkR2vTJoihhg+LyKyu+ Z1AO1 X-Gm-Gg: ASbGncveI8vxQMhAg3nGXaFW5dsEoVj6tUdL2afxFEaaybVlXSV06NfRdYPAxls0LFC aHVAjM8NIeyOVZF2MBqMLwaqOy9LZXbo8ZjZyj3JxK13CGMlWi8CaQsaBgYkpAk3TKHtrEHh4LC 5KNgZGA+SKtSiLUr1ytH/8ubuvI5bZZi43+NHsFJtxOdzdAKMj53KN+GIrXKow/ldnUv4arVI58 TA3Hc6zaygG2aGLBb4Tp7fFpZ+UMYEVorQCNbvX1cRreraH2nb5YBcrtk3pyIXC6g73AzrsQSJl O4lSsGWzyeLuMjEr+vHSLw0b+zwCcwUoo92mV2CqFua2cife1D+XBdJb/b7bxiUaCKi1HxUQobU OPO6wXKYWwP1vp9MW1gkSgsjDImO2eElXD0Vx X-Google-Smtp-Source: AGHT+IGG458iaMF8parhu+ZtJM0uYGLcHE60aD06QLyVrMn+s8nW5mOaOw+xBXUsgGvUYQ8BVh5iUQ== X-Received: by 2002:a05:6000:4183:b0:3a5:3062:793a with SMTP id ffacd0b85a97d-3b2001ac8b4mr2800516f8f.33.1751482712242; Wed, 02 Jul 2025 11:58:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 41/65] accel/system: Introduce hwaccel_enabled() helper Date: Wed, 2 Jul 2025 20:53:03 +0200 Message-ID: <20250702185332.43650-42-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483566830116600 hwaccel_enabled() return whether any hardware accelerator is available. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Richard Henderson --- include/system/hw_accel.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/system/hw_accel.h b/include/system/hw_accel.h index fa9228d5d2d..49556b026e0 100644 --- a/include/system/hw_accel.h +++ b/include/system/hw_accel.h @@ -39,4 +39,17 @@ void cpu_synchronize_pre_loadvm(CPUState *cpu); void cpu_synchronize_post_reset(CPUState *cpu); void cpu_synchronize_post_init(CPUState *cpu); =20 +/** + * hwaccel_enabled: + * + * Returns: %true if a hardware accelerator is enabled, %false otherwise. + */ +static inline bool hwaccel_enabled(void) +{ + return hvf_enabled() + || kvm_enabled() + || nvmm_enabled() + || whpx_enabled(); +} + #endif /* QEMU_HW_ACCEL_H */ --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483495; cv=none; d=zohomail.com; s=zohoarc; b=HfmNcEdbYD7XPYYB9lMAOOL2+Zpn7HxnCvxoz5wB+FleboKFmmx/n2Ka2Dt5MYGErfReAtAq3j3Wn9V8AMC+phkbpEoiMwVc39hj3JUHsMOZOuuykTnf/M6cZsMGiy1Xc0sqSHNYxWcLCT0CaPsWfCpmyAA6tetCXIOaoQv8pig= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483495; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+E/J0LnrR39EtKwfOEb6mQjjQJ2XUYL/z1tOblZJ55o=; b=XoJid/svuhhoqBtK7mvdk50R60fXEpPg2g+jxVYGsUU/pro8Mwee5abFnvIL+DESgEkXHRcm8FqUiqmUwOozU8z/+dKt0G5D1uuJJpTb+Gb0gk9vD8refFzSEUDi9TL6R2NzaHdMuRbi25LRYqbHrkZ4WGGDVAk5xEmZZXx8TXA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483495244402.5571803292238; Wed, 2 Jul 2025 12:11:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2fe-0005jL-Of; Wed, 02 Jul 2025 14:59:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2fb-0005VQ-TD for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:59 -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 1uX2fQ-0002yO-CN for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:58:59 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-453608ed113so49578525e9.0 for ; Wed, 02 Jul 2025 11:58: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-454a9bcebf7sm5793165e9.21.2025.07.02.11.58.41 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482723; x=1752087523; 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=+E/J0LnrR39EtKwfOEb6mQjjQJ2XUYL/z1tOblZJ55o=; b=CosePY0MF28CKNfnj5NRvcOSdWKIoUu53ROHV8x2szra7uFIKu84M3iQkca99dJK+e UEWypT0GakwqG4QVnv3lduY4nvLwE5nrpcUq3EORwG16m8MEo9pEvhZ0Jf4iEgxhLzQx tURmlEA+hC7yZPwPiEL8yCHYxCWnbyG82hCekxKMsZykGb741VU/oZMuv9TUgChqHnua cBhjaVtZFkCKr1FLflx48UETQBGRv8BWTbj1qzWvSPydu4XTSjcelyz5TJ66mU1/Aj7q 66PttKJKc2vS429oc9/TaRM4N8LKBkb5Q6KqotU+rOHQ/pVIF2cFSMGe015pROq2mGxx Kc1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482723; x=1752087523; 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=+E/J0LnrR39EtKwfOEb6mQjjQJ2XUYL/z1tOblZJ55o=; b=KgUbX9pGQe4x46Es8A12ytkmyjo42NRhIyK68Pxe1do02GcbBDbCiIxEYiLlKFviQC TrCl9Yu/K6ZhJo4hlSgaXU06OZ33CcquaJDP+3CTsH6KwCBjMRqJbf4dyvVisuL1dSrw JNJisx6U6FjgYkfMNmFElc5cJeQSKgOQCxmZTeaEFX/CkCUzAFdlLA19lhIIKAjfK4rU hnw+gOWwFtqETUDG4DF/FWdXPFFj5mfrcTbgRn7YauuNvHeJ1XRKmLHyeaOY1HfMbUho T8XFJrLKMcdCJVltnLfWPTc3jzD1Jw1COgDieYmWLe63xdrrxc5X/knrkBPwkAU5680g KQvQ== X-Gm-Message-State: AOJu0Yxl8AMLA8FkbVm2p8oxlhiOgngdw5/CWw4jGgoZpQ145H/OLd5m xO5aOR+/h4MHF2rEj800eP+7VEosjx+J9m0p6poe/s/bwk1SURvY/2k5+Wu/94/t57O69RRIqDX 02yTl X-Gm-Gg: ASbGncuzCmpdAGj+NHCVJ7BdzwbytGLl1Fb5Eb4n8it30agh5XYwb8pwBeKF0gaa3ie J9G+Yd0LaqEQK9LU2LrfRrYHMODE7NSPkfWZY8BRm/f5qqKM5FYeXOweyYcmgQYRZMGZT6ltblL Lk4Kozng3M1+izm/bA/8iinsMGSjaTELsRcfYCKfe4T1dRvoRGi0/j9LDp09G1dbk66gV+wu4hP w02OPCS7y5XtFX3NllGHOgyMX3QblEckk1nz84NiaAsuynC18Dd2sEp2aCnWZb3w9ymPM3YEZ4l 8jnE7yh1//ZsPgYzJHYBs4la5dUdRStZ6vNmIysSbXZ1jWlYpQHBmxNlymcPWhMN+SokyohqOFL E3nZ6C6rs6BjeObsWLAC0lHCh2abvj7vkz9fq X-Google-Smtp-Source: AGHT+IGHn6ZxpPshfR5wvuf8R3zCvqso2bXEWooi9BkpGmBlEXHOWIpLivNJNaJgccbmQciYmUaFuw== X-Received: by 2002:a05:600c:3148:b0:453:aca:4d05 with SMTP id 5b1f17b1804b1-454a9cb3b11mr9056495e9.31.1751482723163; Wed, 02 Jul 2025 11:58:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH v4 42/65] target/arm: Use generic hwaccel_enabled() to check 'host' cpu type Date: Wed, 2 Jul 2025 20:53:04 +0200 Message-ID: <20250702185332.43650-43-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483495955116600 We should be able to use the 'host' CPU with any hardware accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/arm-qmp-cmds.c | 5 +++-- target/arm/cpu.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/target/arm/arm-qmp-cmds.c b/target/arm/arm-qmp-cmds.c index cefd2352638..ee5eb1bac9f 100644 --- a/target/arm/arm-qmp-cmds.c +++ b/target/arm/arm-qmp-cmds.c @@ -30,6 +30,7 @@ #include "qapi/qapi-commands-misc-arm.h" #include "qobject/qdict.h" #include "qom/qom-qobject.h" +#include "system/hw_accel.h" #include "cpu.h" =20 static GICCapability *gic_cap_new(int version) @@ -116,8 +117,8 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(Cp= uModelExpansionType type, return NULL; } =20 - if (!kvm_enabled() && !strcmp(model->name, "host")) { - error_setg(errp, "The CPU type '%s' requires KVM", model->name); + if (!hwaccel_enabled() && !strcmp(model->name, "host")) { + error_setg(errp, "The CPU type 'host' requires hardware accelerato= r"); return NULL; } =20 diff --git a/target/arm/cpu.c b/target/arm/cpu.c index a59a5b57af6..1e782865233 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1978,8 +1978,9 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) * this is the first point where we can report it. */ if (cpu->host_cpu_probe_failed) { - if (!kvm_enabled() && !hvf_enabled()) { - error_setg(errp, "The 'host' CPU type can only be used with KV= M or HVF"); + if (!hwaccel_enabled()) { + error_setg(errp, "The 'host' CPU type can only be used with " + "hardware accelator such KVM/HVF"); } else { error_setg(errp, "Failed to retrieve host CPU features"); } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482748; cv=none; d=zohomail.com; s=zohoarc; b=OZfT9G+/F9KtLaFhsnTBXUyszkngSw+doCEF5wCrAWESQ8UwZXi2mTsPbkMkDrBxcVULOYasvsPM6dTfS8vW6NqIsePAm5ifJht0QShM4zeLNJ6sEPwqIHvHyD8It+IWfi/cPSAkYijLV/Ccl7u9+tWZ9m5P9YI0cGHsjD9fGD8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482748; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1uXIn8FF+VzmPqfa1+8428fM/RDSExpMjk/8h5CzpzY=; b=ZPY0JQKKpTBF/sA+PH7UtWFBDqME3JcXOl0CZWiwrEiNUxD2extbVuTYW0dsi+mm8FKz0H2bAlpZkmQKrGXPwwVlcniWGCJGZqtVi6BhHAMGXeSorpoF6+n/uZK4emC23023W5gv+gDCtUj24vf/WCj6MAyJHhPzhb6mNYnJCUw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751482748862983.4037514987402; Wed, 2 Jul 2025 11:59:08 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031468.1405278 (Exim 4.92) (envelope-from ) id 1uX2fX-0004ID-T7; Wed, 02 Jul 2025 18:58:55 +0000 Received: by outflank-mailman (output) from mailman id 1031468.1405278; Wed, 02 Jul 2025 18:58:55 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2fX-0004I5-QV; Wed, 02 Jul 2025 18:58:55 +0000 Received: by outflank-mailman (input) for mailman id 1031468; Wed, 02 Jul 2025 18:58:54 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2fW-0004Hv-Bm for xen-devel@lists.xenproject.org; Wed, 02 Jul 2025 18:58:54 +0000 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [2a00:1450:4864:20::32b]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 97c60b45-5776-11f0-a314-13f23c93f187; Wed, 02 Jul 2025 20:58:51 +0200 (CEST) Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so51372495e9.1 for ; Wed, 02 Jul 2025 11:58: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 5b1f17b1804b1-454a9bde8c8sm5752785e9.31.2025.07.02.11.58.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:50 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 97c60b45-5776-11f0-a314-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482731; x=1752087531; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1uXIn8FF+VzmPqfa1+8428fM/RDSExpMjk/8h5CzpzY=; b=WMP1Ulw3Q+AUWOsmm6jmIeO7CTqliVar2CQJOEODqph1+s07Yt/o6GSYrJ0m1Oo83d Lvq545q5VOj5B84Rhp9bttCgKiPp4HASUZFX0sfVJnzaVu+ViWJ6LmKivi/aX+uRIxUN v/ksexD8VcqwmKNsYYzv6SAYRgM85nulouS4g1j8+9ZJTMRtM5xBbCpQnRrhrZ6M4UBR biDpNI/7ROhPcEGanguHlNkcGLXgQ2K4wvWUFfxL6BJqhQJ5h01H27fG5S8gEjrGP8QX UE+sUsS5XlJpK2ezV/iovpZsbzqq1yE8nZ1XwyCVpGN99G3PQZVrsgp/nSlMz5n3mHZT pTvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482731; x=1752087531; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1uXIn8FF+VzmPqfa1+8428fM/RDSExpMjk/8h5CzpzY=; b=h50O39nScu8hz3sXZ97pTKvLrXuny4cjfsbPq6SWJ8jM06tJgOofpTEHsmouRzsZJt tx1OMGCzxHouX/6IOtrEF/XRYyjNv9syaLsmTvPUX4UvETUV37DfDTZTOUb1gTP7osxa nHS/BNYjQKzPn/8e3AOy+3VWkRIcIOhd+Xsc9rb9qoMYQClYUM+Mbl8iigH8Hsprj/Zd BK8r8TqmpZLcwdi3U3dhiVUoMUyUehswluJXG2fYKYohd3YfXLRVxLblX72xhcoeme9s vqTXTiz/i+otCuJNcYnhJstDLaMZjp2Z/pDs7sB87EfSKQUdNkpS4EijHur0Md5Ifo/D KYxQ== X-Forwarded-Encrypted: i=1; AJvYcCXDoq0oc3hchZiqSbCmQtP3lrlwfVnSSDz3sQVYwJMvALMy7AArBeoE4dAvSu+syzCasOXpJt5P/0s=@lists.xenproject.org X-Gm-Message-State: AOJu0YxIc+apCcxsHv6ZmCxOmrgwU7NzL6MQwSF54gUepP2wEkBydEDl m0fn0dDIaG7Z6M56OK+figtVBV44EF2FHH1F+ixHCPK21mjfSjsoJtwQ2w4FEYquJSI= X-Gm-Gg: ASbGncv5b0qiPw5x8BnuFp6+9prgFjKrTXdxO8ibIjFEdFyb3El8Ja+NFH1ggKz8Hfh s51EoWFuVIgjxTV57Cu1U1584wX+htcjYIC1qwAFFoK/jtV3YH642CYGSfKF9vyohnp4dX/rtyX 97/N+S0//dDl83aEr0gU1kYSL6Bbw19E2waXC/z6HAmitBzNetclv1xY35OAb9kI9yx5WcmTD9e x333h467bSYiNANqQ5niwkWb1ZlWDEGJcrnj+olrOHbgssHq0dFSWkU8eCQJsKMqOC90gjy4tGQ IDw6TJMfqIkrGN1dcpr+mBWd8+MyyiQAAUYL0q3RS5S2r6x2pgvek7QOMOIQgMamTD5dNsIZkQ1 aR3L4TjFXEUKJy7mpeqWkP5f8ewAQ7HuCgL2D X-Google-Smtp-Source: AGHT+IFcMaxcXN6l1JR93v82qQ/msbA7irNVRKuh7yXLBPpeLwsnRwam4h/82zJfO73D3dwnTRf+qw== X-Received: by 2002:a05:600c:3504:b0:43c:ee3f:2c3 with SMTP id 5b1f17b1804b1-454a36e7842mr36633135e9.7.1751482730663; Wed, 02 Jul 2025 11:58:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org Subject: [PATCH v4 43/65] accel/dummy: Extract 'dummy-cpus.h' header from 'system/cpus.h' Date: Wed, 2 Jul 2025 20:53:05 +0200 Message-ID: <20250702185332.43650-44-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482749374116600 'dummy' helpers are specific to accelerator implementations, no need to expose them via "system/cpus.h". Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/dummy-cpus.h | 14 ++++++++++++++ include/system/cpus.h | 5 ----- accel/dummy-cpus.c | 1 + accel/qtest/qtest.c | 1 + accel/xen/xen-all.c | 1 + 5 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 accel/dummy-cpus.h diff --git a/accel/dummy-cpus.h b/accel/dummy-cpus.h new file mode 100644 index 00000000000..d18dd0fdc51 --- /dev/null +++ b/accel/dummy-cpus.h @@ -0,0 +1,14 @@ +/* + * Dummy cpu thread code + * + * Copyright IBM, Corp. 2011 + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef ACCEL_DUMMY_CPUS_H +#define ACCEL_DUMMY_CPUS_H + +void dummy_start_vcpu_thread(CPUState *cpu); + +#endif diff --git a/include/system/cpus.h b/include/system/cpus.h index 3226c765d01..69be6a77a75 100644 --- a/include/system/cpus.h +++ b/include/system/cpus.h @@ -7,11 +7,6 @@ void cpus_register_accel(const AccelOpsClass *i); /* return registers ops */ const AccelOpsClass *cpus_get_accel(void); =20 -/* accel/dummy-cpus.c */ - -/* Create a dummy vcpu for AccelOpsClass->create_vcpu_thread */ -void dummy_start_vcpu_thread(CPUState *); - /* interface available for cpus accelerator threads */ =20 /* For temporary buffers for forming a name */ diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 867276144fa..03cfc0fa01e 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -17,6 +17,7 @@ #include "qemu/guest-random.h" #include "qemu/main-loop.h" #include "hw/core/cpu.h" +#include "accel/dummy-cpus.h" =20 static void *dummy_cpu_thread_fn(void *arg) { diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 8b109d4c03b..2606fe97b49 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -24,6 +24,7 @@ #include "qemu/guest-random.h" #include "qemu/main-loop.h" #include "hw/core/cpu.h" +#include "accel/dummy-cpus.h" =20 static int64_t qtest_clock_counter; =20 diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index ba752bbe5de..f412ea346bb 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -18,6 +18,7 @@ #include "hw/xen/xen_igd.h" #include "chardev/char.h" #include "qemu/accel.h" +#include "accel/dummy-cpus.h" #include "system/accel-ops.h" #include "system/cpus.h" #include "system/xen.h" --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482806; cv=none; d=zohomail.com; s=zohoarc; b=jzzcbKIheSQJTrHpwEsPqm90qqSMy0sa1vhucz+s6oMsgpx5sCGhxlEYHfTgK/iE6QgmU9f6uBcO2iQvFdi9310TYKDf3HDV3ruN5+/k2rODBl8bok6VDsWb19jRcLsbPxQw9OK4zR3CB4mdvWHogdb1L+NqpEYaFdoDg1KugdI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482806; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MatxngaEO94wJIDihnh1PuQvEdZF8b672v9QuG9ABiI=; b=FRNuzA6hs21ASA4QxccuzZq5YyjxqKg2ST4yFh7lNU/CYOK9CAZxl9aTRb/G/RFNNMgSv69mMZ7YVdN01xclyzLZ8qIAuEgpiKgyAKaM47ehj7mCYlQUaVNfwE1+LQ3e5013KvHL7uc3Hc9tiNJrDgtfNdpf/To41W6CQ3QQ0nY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482806917537.9967155640392; Wed, 2 Jul 2025 12:00:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2gG-0006On-9l; Wed, 02 Jul 2025 14:59:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2fk-00064a-JT for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:10 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2fe-00032A-HK for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:08 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4535fbe0299so28787175e9.3 for ; Wed, 02 Jul 2025 11:58: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-454a98e942esm6338975e9.0.2025.07.02.11.58.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:58:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482736; x=1752087536; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MatxngaEO94wJIDihnh1PuQvEdZF8b672v9QuG9ABiI=; b=BDukuU1g0YRXMjA/61Vgcf4Hoh/kz26+T3WASyeNi7B5Ta63Q5W8HWESq61WCx6y12 xrO4x2gDww+b7H4Ql+41CyeUCQsoaPbl8M1eISGE8jEI8t7dgO0AzRmXQfnnc2HtLcoH DRkCjoUflFLC++canHBUgEumwwqa5nhGh1MU8mQHG1W9UYmfjYkJpPCV0WGFxYXHWjFQ /Gd65aMse1wgf5/andPW92DLgAmJuG3+r6/xwpVWjISu7D5OICsmy9vO8yJ0BJbeBEAZ vl04SJbNvIqsREUpXMvCTNb0JkolalPtSn5TBtbu0UIUiqzdKcY6hLZk/nVX+9wTDZS6 f8Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482736; x=1752087536; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MatxngaEO94wJIDihnh1PuQvEdZF8b672v9QuG9ABiI=; b=VWrCqldMCPAn5X+WLROfw8M0aGxMepGdlcRto2/PU5Dz3D80FX+Ts+DbvBmZVHPa1j yE9GLuM914A9OvYFFQRRbD+MQm+RYrBmHSsGZ6H9bSNgnX3K1sLGDRWbp8ttNKRtGJcf tSPN9mhfWs1gq/3oogR3EIuMtZ2QL0i5GOZoR7m3FraAyOnLFbbHljlq/hVo/stvabXy euWPC2KX2/ei8NylS+mCnkyDEHj5uLjNoCV6S6aNH/MHNVN4cxQ36NqyrF/454jxOLu7 6k4IrKe6ePVwxUw6bcibCI+Z42DYgppgulBpQbuJcy8vefzpgABR9iJJPVFsxavil577 AM/A== X-Gm-Message-State: AOJu0YyHF4yIBbaWa3MhSkzRVTDWOSKh+IGgsyhOt/f55dSN3EQvd+DU P/G/oE3Bj8WXxsaNQyNwYGlBX5WW4KEy+Gqi/L8gjs9VckVdSEPyZQ8V+1v/WvoErKaeFOO4KsH 7XQig X-Gm-Gg: ASbGncutP1CZJ3mEjQeUXYP96AzqfJehZXJ1b5xjuXQUQX9Izv9XafjYCizC4gZWgdf Su5aa09trMibj37FHqqvtQrJRC+VxyTlICMpOJPg4eErxbt7aDq//q00MVAyopRil/EFOuir46Y 6OYEc/k3QLLdRs9Nbm6OEChXwN5ZHLEoqdSgmsHMmqF1TUpwiAeCj0PEpYdq+TetV4L7DvpyDdC RJ+X1U5EJatWrtHoPcI9y/c8zdiaEaWo2sC2GjGFzZFFTceJljvktaYwrLKd4/6UxQ0ArjOzlnC n3eVOUGNgAlix8+N7Qlwq7r6a7XR3+AqpPqUwVtT1Dxb6F9L8FIFAckS4QLmDuGY6GCc+ZtZcl8 rknx6BGo3jBHzU/MMutGhR+OVhS5nt3VN59Sp X-Google-Smtp-Source: AGHT+IE2opsjASThgBn9ycPzNSz+DYIPc4j/4/1A5mDuAdK7SodASRJzG/8N0aRFLv57JeLoLi4vKw== X-Received: by 2002:a05:600c:4751:b0:440:54ef:dfdc with SMTP id 5b1f17b1804b1-454a9c7072fmr8183905e9.8.1751482736042; Wed, 02 Jul 2025 11:58:56 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 44/65] accel/dummy: Factor dummy_thread_precreate() out Date: Wed, 2 Jul 2025 20:53:06 +0200 Message-ID: <20250702185332.43650-45-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482808086116600 Initialize the semaphore before creating the thread, factor out as dummy_thread_precreate(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/dummy-cpus.h | 1 + accel/dummy-cpus.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/accel/dummy-cpus.h b/accel/dummy-cpus.h index d18dd0fdc51..c3af710ee8c 100644 --- a/accel/dummy-cpus.h +++ b/accel/dummy-cpus.h @@ -9,6 +9,7 @@ #ifndef ACCEL_DUMMY_CPUS_H #define ACCEL_DUMMY_CPUS_H =20 +void dummy_thread_precreate(CPUState *cpu); void dummy_start_vcpu_thread(CPUState *cpu); =20 #endif diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 03cfc0fa01e..2cbc3fecc93 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -65,15 +65,21 @@ static void *dummy_cpu_thread_fn(void *arg) return NULL; } =20 +void dummy_thread_precreate(CPUState *cpu) +{ +#ifdef _WIN32 + qemu_sem_init(&cpu->sem, 0); +#endif +} + void dummy_start_vcpu_thread(CPUState *cpu) { char thread_name[VCPU_THREAD_NAME_SIZE]; =20 + dummy_thread_precreate(cpu); + snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/DUMMY", cpu->cpu_index); qemu_thread_create(cpu->thread, thread_name, dummy_cpu_thread_fn, cpu, QEMU_THREAD_JOINABLE); -#ifdef _WIN32 - qemu_sem_init(&cpu->sem, 0); -#endif } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483262; cv=none; d=zohomail.com; s=zohoarc; b=JnQSjAZkXscPhGvM5nY4wmHfj1Pk7AKOsbXolAxkoBCMW6343sMsDf25FkMpFngqsUj39rWSYxv+Tebn+YjznOZClVqfFDzXtqF48YB6iMRqnuLg+kAjERYJAhGdnc1DrU/A/mfrS6+r+VastaybVnmPoTJhdM45WeyMPWDgusg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483262; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Kywse2u9MhU8QPCYXPxuKeKrJVPdiRbR+9Ey6S9IQUI=; b=RtMKE4SGcTsTGl4IqfxznoGPBXwqNRuBv1zzGSGebjGzoJ0NEVJEq94PrK2dinEJyKlYjsZ9vx1kF8As2N2vVu4DFPP5ULUDfZilCVGlKj7REZzj6OhgeNIZ9zGJ+B+qdGDJnd0I9TE20ut451BssL7Sej0rm1BLyd7K2Zh3Bb0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483262725138.56048159142415; Wed, 2 Jul 2025 12:07:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2gZ-0006Up-5J; Wed, 02 Jul 2025 15:00: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 1uX2fm-00066S-7A for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59: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 1uX2fh-00033K-30 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:09 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a5257748e1so3280013f8f.2 for ; Wed, 02 Jul 2025 11:59:04 -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-454a9bac51bsm5693935e9.39.2025.07.02.11.59.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482743; x=1752087543; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Kywse2u9MhU8QPCYXPxuKeKrJVPdiRbR+9Ey6S9IQUI=; b=kGUOk3NRWz5NbkCVF/ZjDzNYZz4/rI+ckNJPYLzMdOcN13UWA7cnwBQpG3kuVfgI4L Wla0iqouRYEdv8pR77K3wiqfzoZSy/PK4KO4509A0ff1l/ksb0sFzvGin6zSfg7cZPbz ydii4JLxU4I32zJLw4J8xZNgOQUQLBelFDktF++CVFgnTkN1NdJ6lvRe4Xl/VXEhIbgF 6a/NrU+3bun4dsWEXePPccKVmwArBPGGseIzYSKa6B5pNK+nPrdmtfHoIc3oJRlS2ZwU NEf0byuTyXTWHLzH68jRpYj0ccl6qZRe2W1wTce22i5kTsxeJv6JSaTZI1qP7sPTMZFa blQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482743; x=1752087543; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Kywse2u9MhU8QPCYXPxuKeKrJVPdiRbR+9Ey6S9IQUI=; b=sgk2UVU3CL8Yg8/WoX1i0IEEJ9ooMe3W3nzl2ILbaLjDXIyLezJjbOEDR9Zd2sKLpD UkiX9EwBADriwc78vrJyIBMri/Zgs3EIAT16fUUzr3pMRq8Slrg1owxIhR0612idq7P8 fc2kKo3TsqzZrpTK+XVi/jzFOSeoBxlc9lgdp8TxlZvFsWcEP/Uc5unG8kWbnfMR181f dTLzO58CnoTrrzrTGiOBnPErND/FIcVIQH11AczIpZrmYbDweJ2A6Rh8yHN1u+nMhuuC 7wXS6mAvZeM9YFvMsIF7ihmdwyfehgQJZx4v8aG31h0TNs6Q/VnaHaTY9aEhr54rjSDV WAGg== X-Gm-Message-State: AOJu0YzrRAsJFM/oYPmoOak4nfCVPgzf7QoVz/iPayPfc8V7TPtTpetk qxPq5a4eNMr0buEAr4QBnp51XOyiMIdtVgEUojZboP/Ru8bnfPFk/Vc4oMQuFH/Q/B5p9HZwH5I 0amHS X-Gm-Gg: ASbGnct39sFrU/9rmwcOXT61j4PrNwFAlRbYMWZ4l8sJyMzX3RkzNB5GUWfa5B8Zndy rG3PE7lJ4fSF7IZMlO9HnX5L8OA9JG3vInlddKMDxtSWEn0rBS6U4T3U0FzQSecQdh27uDuzbKo gpVDqkpJEGzNHdpLwvVq9zJlfff6jZBkQOzs1FUVUwYCG1VudOjMZmIY8/ZRxLwBIQmHEawr3/V 162oLd08KGLhZfCe8mkqT5s3WSEH7+XX9ribBsoHqWItkEwDCmLhW7NeUoXS/tIdzMAFAhBOfqH YicoiHcruqtevPwzIfVCCWRaZd1P8GWMS00WYvVeTs3nY2i9ozqv8oZKQ964GTvw452akwZQxeV Le/K9xgX91IHZIMYSq6dXaTySNP9rhXr6gVi8 X-Google-Smtp-Source: AGHT+IF5f1MuiaXv1E2LUQIq46hVrppr8hReHwlJyDdmfVxaR96pmDtGNrItgSxYdHTyX15g4e14DA== X-Received: by 2002:a05:6000:4805:b0:3a5:3b63:58f0 with SMTP id ffacd0b85a97d-3b1fea8f858mr2946242f8f.18.1751482742756; Wed, 02 Jul 2025 11:59:02 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 45/65] accel/tcg: Factor tcg_vcpu_thread_precreate() out Date: Wed, 2 Jul 2025 20:53:07 +0200 Message-ID: <20250702185332.43650-46-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483264684116600 Factor tcg_vcpu_thread_precreate() out for re-use. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops.h | 1 + accel/tcg/tcg-accel-ops-mttcg.c | 3 +-- accel/tcg/tcg-accel-ops-rr.c | 3 +-- accel/tcg/tcg-accel-ops.c | 7 +++++++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/accel/tcg/tcg-accel-ops.h b/accel/tcg/tcg-accel-ops.h index 6feeb3f3e9b..129af89c3e7 100644 --- a/accel/tcg/tcg-accel-ops.h +++ b/accel/tcg/tcg-accel-ops.h @@ -14,6 +14,7 @@ =20 #include "system/cpus.h" =20 +void tcg_vcpu_thread_precreate(CPUState *cpu); void tcg_cpu_destroy(CPUState *cpu); int tcg_cpu_exec(CPUState *cpu); void tcg_handle_interrupt(CPUState *cpu, int mask); diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index dfcee30947e..462be7596b9 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -133,8 +133,7 @@ void mttcg_start_vcpu_thread(CPUState *cpu) { char thread_name[VCPU_THREAD_NAME_SIZE]; =20 - g_assert(tcg_enabled()); - tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); + tcg_vcpu_thread_precreate(cpu); =20 /* create a thread per vCPU with TCG (MTTCG) */ snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/TCG", diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index 6eec5c9eee9..fc33a13e4e8 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -311,8 +311,7 @@ void rr_start_vcpu_thread(CPUState *cpu) static QemuCond *single_tcg_halt_cond; static QemuThread *single_tcg_cpu_thread; =20 - g_assert(tcg_enabled()); - tcg_cpu_init_cflags(cpu, false); + tcg_vcpu_thread_precreate(cpu); =20 if (!single_tcg_cpu_thread) { single_tcg_halt_cond =3D cpu->halt_cond; diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 95ff451c148..861996649b7 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -41,6 +41,7 @@ #include "gdbstub/enums.h" =20 #include "hw/core/cpu.h" +#include "hw/boards.h" =20 #include "tcg-accel-ops.h" #include "tcg-accel-ops-mttcg.h" @@ -69,6 +70,12 @@ void tcg_cpu_init_cflags(CPUState *cpu, bool parallel) tcg_cflags_set(cpu, cflags); } =20 +void tcg_vcpu_thread_precreate(CPUState *cpu) +{ + g_assert(tcg_enabled()); + tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); +} + void tcg_cpu_destroy(CPUState *cpu) { cpu_thread_signal_destroyed(cpu); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483026; cv=none; d=zohomail.com; s=zohoarc; b=X+1lph1DpfIU9SneXj3IwxyOuj2F/tBpW+jbiIGnvosb04e4WC0tj38KIC1FIvWLdtXPny83L7gMbfIi2ecdLUFZ1JULlWZ2y8obgjuxwWGXcH+fkkJYF/+bqCJ0OMXI7FUOmn5beXrglJd+uaGQL/3wpD9gjVyG8bJVJwE0A0w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483026; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/WhoOlqE7V0YYD9gThfuSml4H33X/s4g/0Rif+XmbeI=; b=U085K6C4Xvg2aLQRebb5RO+3xVlneLBHOapfsoE8/rX0AWrueqc/suBaPGc0X+wQx7dygFI9fwO1fc/9U9J477i51t6ORGVuFsVus2xaw2KRY4b1VzTJw504wcP39yPzyo7fTDQ6jRv0npCVQ/LA8u9OeLGYeeNnznqiSwBjniE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483026216813.9564225071254; Wed, 2 Jul 2025 12:03:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2gh-0006cD-UK; Wed, 02 Jul 2025 15:00: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 1uX2fs-0006C5-06 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:19 -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 1uX2fo-00034f-5F for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:15 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-453634d8609so51857805e9.3 for ; Wed, 02 Jul 2025 11:59: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 5b1f17b1804b1-454a9966a00sm6030795e9.3.2025.07.02.11.59.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482749; x=1752087549; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/WhoOlqE7V0YYD9gThfuSml4H33X/s4g/0Rif+XmbeI=; b=uqAR0qyCLVDV9VUjX6uUHm/rjjwZTNcq1x2w7yC8/I0MGRG5/P2vMh04tIVQ2iSet8 +iYsXXX9LdevHLDgD2lVhnovmsIMP6iCLJdzGc4OU3rcVLBESXTw2NZM/NJO7RcLQejC H4gJ75DIIx0rX0plzBImCrlP72pt6p3jy9nCEXdgxpiV8ACK7HRP7KseZcXw1z2dtPm1 736ir6QwPko+2BqwRp2xByn4G8ZtZWMhDaPKJlI+PJOUZsuIIMy0qgXSwr7nZv3XRMTu sMcpT0S2pYe+1siRyIQgouUg8SbtQB2qt8NQQZuBEtagOPfCQTtZUJmGKgjHFt/O3E0X Y2EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482749; x=1752087549; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/WhoOlqE7V0YYD9gThfuSml4H33X/s4g/0Rif+XmbeI=; b=J3eqGd95KTmNPtp8dAam9/w+cjX0I370MpxyxqUHhKdRvLDaDoQp+AHRmF91psMaqv +T+gTDarTeB3wt6Phj0IZf8be+apx5OuemFeaxZ63IAVcSICSsCUKdNMdRPee4B8FReg NRJCliKi9IUqVGWReGYrpk+8Q0m4/1BJJCxKx80MWXqNNUvGdNSmF3mtzLyvHn+yEk5t GBYomUbkEcworsHlmO8YgkY8LtEq0A566vogfcG42h0YEqLQlOep/YtkfOGtqoxC4KU2 AKFoEmGlEiEsZ3vARyDxS3r8yX1pHgK3Z/ModDlfbA6KCQQBRm5hjsskNYj1RPhncZvU TG3g== X-Gm-Message-State: AOJu0YzbFx3VwUYSkZmMbT1JNWKvO/MfLpzTMC7a5PgXR9SkXXkJvcDX /EXru9RrHfMiQ8nTjuONPbmlIbJEUgAmOWpMT7KEu36S17ew0VWwrXycaEhwQkVre/c3gIPCes0 ilNUZ X-Gm-Gg: ASbGncsxLL3LflwutrRZG79g1ksVNtVXLMyhWuu+3CPSdWq6JuNCMW/c2/yAT1e4REV wGjBiHB+M0/VrzXZr4F1MkOGOZpAwD0x6QBzSlEWXnnv1j73lNEp1a7cRWSpLutXMoD15tjMZHP 97BEcAaCDvGBFJUQ1sG9MMLmJxj8pSKbT6P3IxAj5a+wxuYhtNfPmcXDgzw2xeJsiSvB6vj21NT 7b0DG7ps7Cenb++EUAyRFYkVRuOoJORCRMGXdTOOv9OK6K42Lgrf3aOW0KIiQK5zeBTHVnri/Kp aEqGrhwMTnVmil/gl+F0tppspktUDFRoOkYQRpkla/+Pw0HQIabcjlRMlLw5Py1R1oDQKZWQ/11 aTGz6ecXuJduLgyu9GTgQCBjMrOMFAVotIg4h X-Google-Smtp-Source: AGHT+IE5y16UFsNQIiQUNetauFumjrJWcH1KgFcTJSnEepp/EyiEww9Rf5yKD9GttIAuHYd0YqNMgQ== X-Received: by 2002:a05:600c:1c81:b0:442:f482:c432 with SMTP id 5b1f17b1804b1-454a370c19dmr46489485e9.18.1751482748591; Wed, 02 Jul 2025 11:59:08 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 46/65] accel: Factor accel_create_vcpu_thread() out Date: Wed, 2 Jul 2025 20:53:08 +0200 Message-ID: <20250702185332.43650-47-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483027613116600 Factor accel_create_vcpu_thread() out of system/cpus.c to be able to access accel/ internal definitions. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/accel.h | 2 ++ accel/accel-common.c | 19 +++++++++++++++++++ system/cpus.c | 4 +--- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 598796bdca9..17cf103e445 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -97,6 +97,8 @@ void accel_pre_resume(MachineState *ms, bool step_pending= ); */ void accel_cpu_instance_init(CPUState *cpu); =20 +void accel_create_vcpu_thread(AccelState *accel, CPUState *cpu); + /** * accel_cpu_common_realize: * @cpu: The CPU that needs to call accel-specific cpu realization. diff --git a/accel/accel-common.c b/accel/accel-common.c index d1a5f3ca3df..d719917063e 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -89,6 +89,25 @@ void accel_cpu_instance_init(CPUState *cpu) } } =20 +void accel_create_vcpu_thread(AccelState *accel, CPUState *cpu) +{ + AccelClass *ac; + + if (!accel) { + accel =3D current_accel(); + } + ac =3D ACCEL_GET_CLASS(accel); + + /* accelerators all implement the AccelOpsClass */ + g_assert(ac->ops); + + if (ac->ops->create_vcpu_thread !=3D NULL) { + ac->ops->create_vcpu_thread(cpu); + } else { + g_assert_not_reached(); + } +} + bool accel_cpu_common_realize(CPUState *cpu, Error **errp) { AccelState *accel =3D current_accel(); diff --git a/system/cpus.c b/system/cpus.c index 2c3759ea9be..6055f7c1c5f 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -698,9 +698,7 @@ void qemu_init_vcpu(CPUState *cpu) cpu_address_space_init(cpu, 0, "cpu-memory", cpu->memory); } =20 - /* accelerators all implement the AccelOpsClass */ - g_assert(cpus_accel !=3D NULL && cpus_accel->create_vcpu_thread !=3D N= ULL); - cpus_accel->create_vcpu_thread(cpu); + accel_create_vcpu_thread(NULL, cpu); =20 while (!cpu->created) { qemu_cond_wait(&qemu_cpu_cond, &bql); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483031; cv=none; d=zohomail.com; s=zohoarc; b=eR3Z3ImMGurgnVjT1Su4YF6Kw/5/5Y/qH9a+vzVRpgxdE0QI7HZdXp8yU5/W18S56ihztxaIzi7eImNHHYTkb1bU2yNVygVOJsxsj4RZ9dyg/V2Pfdh5886ohGFf/ZJRK4kTYF/X2aD83HWTa7Sa8LZgnvRfjNU4hbzktNydItk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483031; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rDEWo1rnLUm5BJBdCICU6CLKmSMFjw+gxKuOsuwVDUo=; b=PuYMV/p0oaQY/UQ2+qILeO1vD+Aer1a7KM9axlawZIgXfQB+fg3i+2wT/rOqXCltLWCRoB48vCsi8UfHNgeS9GT83LuM1tFcQQN/kgq3AZX/zpCAhFfJ+2A9evpR6AykamVFLR3bZwAYFiA+0vm/OfK8dGFpsKXiyqv0l7WArvg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483031425786.5443641967042; Wed, 2 Jul 2025 12:03:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2h9-00074P-O1; Wed, 02 Jul 2025 15:00:40 -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 1uX2fy-0006MQ-Vl for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:25 -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 1uX2fs-00035S-TH for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:22 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a52874d593so4062293f8f.0 for ; Wed, 02 Jul 2025 11:59: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-454a9bac9dasm5439955e9.38.2025.07.02.11.59.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482755; x=1752087555; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rDEWo1rnLUm5BJBdCICU6CLKmSMFjw+gxKuOsuwVDUo=; b=XQQmg1cqh4CPIMbHnYaXDe91EXPHvOnV/R8GJs5nbs1eNcdQ4cAehBFxvw8k4ZpujB Br1Ob75reT+ukpUkWXmCkTCSsp5QD1s6Q7EEZkGo2VmXccnjZtbp/q1UA+L7VjVjbytM 5oFqPS5Bvv7i5cMpLqxeprUFL5DfQHR5DL/uBfBHTtnp9vThhnJZuGM0THG34+wSZ7pB cLbXgW1Dh2StUOa/tuclzJ51Lf8X+IQFbzVC8x8t3JlZmwdHMPSUP9gjyOY6ot3rlaiB v94RSvfFNfif0qvBIT3cQe+ZMXGOL6LK3jNcdMIfF5jwNRZIdOdhfxX/LwC+MFDbLyC0 lzhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482755; x=1752087555; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rDEWo1rnLUm5BJBdCICU6CLKmSMFjw+gxKuOsuwVDUo=; b=Pu31rnovOUy2nxYjMDuD4oiDvXsqecFfm+1Mpvrc0OdZkiZOUV2MporOO3HZucfuzF dcMoYWuIpZERfaqtTyAQWrJE7dBM15xDpn2l2tRuEc9wG62SSFQ34U4lXAcCE3Lvq5fz VfQPNfsdLd0CSyaNmi8/rM7FOqWD3kv9WxEOhhe5431kbWZnKsNokZ4aPC7qA0/7kYlY twgy0lY0sE8Hb7coTOoV1BHArntgatJcG5IMd4/tsmMyx8QOh2UHGUCiFV34ABYhFXfG T+Fz//JGuFJ5BZKqOu5zxsWqMfCUYYpfZYFcQ0wa43bIvVjnkftHfY8/wKyJV5kFmL2t QQGA== X-Gm-Message-State: AOJu0YzZg8//GxS7L2qqEFl1XJ4VYJPcP6lalIIOZViB1apzVpxVwwud K/+Ff77ykalrlac3Ob9QP3+hDfaHdxA8ogAoG+PIZ4wPSEbdN5rr41nG+t2eZRNnvfVxLDl3JbL PG2Kf X-Gm-Gg: ASbGncula9xj8DD6sbmvNf2E9sY1sVsVshOIGwbTV3U6umA+5exTPd0v02UzXIJSCTQ 6ly9MNmlUBoeIGa/xKSgP66P6iVvOZyQ1Wa0fmzxIZHbq5dmzUosrc3h4bLT+v2nWpQP0CCLPb2 7KLsua4pqU1p30x7TsJ5A1kWckWKWqI6tUNUG9ZWBciQclc1vLhjO0TM8O7+u0eyEU38OXI+Mn2 13Da4LEaVkuA3h4/RvBPWh7kvM1AC1Li+8bqJK3GsYnsKrBjkOfFtAZCITLYK8Gp3tEfB5lPj5m ZEFTlGzj7f1iGqDLivPFr3EQ+Wl0vu8z7pr1oMRSywYiawn6troEsDp/UMGBcGH1DVSFiH2DB6s r+o9SrLGSn42uolykhK6YcrVW/9jM7Fe2KVRO X-Google-Smtp-Source: AGHT+IFG+ZiqxK9Q/VXBexyw78eyCBQcwFTBUPTcjhYWJw9yY8MoUW+JZX3pcl0jG7F5t+n865WyVQ== X-Received: by 2002:a05:6000:4408:b0:3a4:f52f:d4a3 with SMTP id ffacd0b85a97d-3b32d4d0bafmr183882f8f.28.1751482754583; Wed, 02 Jul 2025 11:59:14 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 47/65] accel: Introduce AccelOpsClass::cpu_thread_routine handler Date: Wed, 2 Jul 2025 20:53:09 +0200 Message-ID: <20250702185332.43650-48-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=philmd@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483033537116600 In order to have a generic function creating threads, introduce the thread_precreate() and cpu_thread_routine() handlers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- include/system/accel-ops.h | 5 ++++- accel/accel-common.c | 16 +++++++++++++++- system/cpus.c | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 77bd3f586bd..d4bd9c02d14 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -39,7 +39,10 @@ struct AccelOpsClass { bool (*cpu_target_realize)(CPUState *cpu, Error **errp); void (*cpu_reset_hold)(CPUState *cpu); =20 - void (*create_vcpu_thread)(CPUState *cpu); /* MANDATORY NON-NULL */ + /* Either cpu_thread_routine() or create_vcpu_thread() is mandatory */ + void *(*cpu_thread_routine)(void *); + void (*thread_precreate)(CPUState *cpu); + void (*create_vcpu_thread)(CPUState *cpu); void (*kick_vcpu_thread)(CPUState *cpu); bool (*cpu_thread_is_idle)(CPUState *cpu); =20 diff --git a/accel/accel-common.c b/accel/accel-common.c index d719917063e..24038acf4aa 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -11,6 +11,7 @@ #include "qemu/accel.h" #include "qemu/target-info.h" #include "system/accel-ops.h" +#include "system/cpus.h" #include "accel/accel-cpu.h" #include "accel-internal.h" =20 @@ -104,7 +105,20 @@ void accel_create_vcpu_thread(AccelState *accel, CPUSt= ate *cpu) if (ac->ops->create_vcpu_thread !=3D NULL) { ac->ops->create_vcpu_thread(cpu); } else { - g_assert_not_reached(); + char thread_name[VCPU_THREAD_NAME_SIZE]; + + assert(ac->name); + assert(ac->ops->cpu_thread_routine); + + if (ac->ops->thread_precreate) { + ac->ops->thread_precreate(cpu); + } + + snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/%s", + cpu->cpu_index, ac->name); + qemu_thread_create(cpu->thread, thread_name, + ac->ops->cpu_thread_routine, + cpu, QEMU_THREAD_JOINABLE); } } =20 diff --git a/system/cpus.c b/system/cpus.c index 6055f7c1c5f..c2ad640980c 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -671,7 +671,7 @@ void cpu_remove_sync(CPUState *cpu) void cpus_register_accel(const AccelOpsClass *ops) { assert(ops !=3D NULL); - assert(ops->create_vcpu_thread !=3D NULL); /* mandatory */ + assert(ops->create_vcpu_thread || ops->cpu_thread_routine); cpus_accel =3D ops; } =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482774; cv=none; d=zohomail.com; s=zohoarc; b=WSPtGY8Yz16n36vO/9OMmN7ZxtNF4xCG7eCNkP4ouR4FO+ziBdNfERC0YwtGbVlrUpQLJPLj1J9/rLS19ViwmFrBJBakpZXG1ViN3x9wyrXYGl2ADp6qTsTkq+si5YTaq9tAfpVT8nNngUwMrBzCa+vYzVuwCTt7p1GBknOXAVM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482774; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hJXngZXoNb3ayqx8JesLlBPxtZzFSrHUe1FnH3EcOyc=; b=BFM/cla2MDUxDsVQFZ337CXgu0/mVwqIqLFajMvTkEeoVkp/wDK1gLByd8xy/etYVt2i1sjnpAUz5pXKNv05hT40G55+qZYNZ47Rw+xF0lKNRgpkPUmGKg6SFj1EmdxGgBRi86g3w+rMwLb5DzT+Qcz5HyI/XrmxFiEs1kY5/iM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751482774568996.7858897059429; Wed, 2 Jul 2025 11:59:34 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031472.1405288 (Exim 4.92) (envelope-from ) id 1uX2fy-0004iP-41; Wed, 02 Jul 2025 18:59:22 +0000 Received: by outflank-mailman (output) from mailman id 1031472.1405288; Wed, 02 Jul 2025 18:59:22 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2fy-0004iG-1D; Wed, 02 Jul 2025 18:59:22 +0000 Received: by outflank-mailman (input) for mailman id 1031472; Wed, 02 Jul 2025 18:59:20 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2fw-0004Hv-OZ for xen-devel@lists.xenproject.org; Wed, 02 Jul 2025 18:59:20 +0000 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [2a00:1450:4864:20::32c]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id a8eb4233-5776-11f0-a314-13f23c93f187; Wed, 02 Jul 2025 20:59:20 +0200 (CEST) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-451ebd3d149so26700565e9.2 for ; Wed, 02 Jul 2025 11:59:20 -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-454a999c8cdsm5790005e9.24.2025.07.02.11.59.18 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:19 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: a8eb4233-5776-11f0-a314-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482759; x=1752087559; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hJXngZXoNb3ayqx8JesLlBPxtZzFSrHUe1FnH3EcOyc=; b=YBE1XnRpVK3dWCS1YzlnZVw7XWjWX0mLv3sVD1YZgq/QDkfGykbums4cl6CrgzT/fN DpkcGdXCInSi+wRj0BR46B9XMJzD1M0nSw4fHQHMuR13Eiqykf8W/warKQ6hS+t9wf7m L933xvsdnny5g5LyhBfX7xj78lXieovcWlyg9pUtT94Yqq43OwLhaGpNt2Zvue4ZzZkd q5oPtRG/2Uhsd1zdCh0FUG1We/PaaeSQS/+rB2oNlssUtPkQn14DX+CTFyAHrEjlSxdL yqd5gEALD3GBuKXJ0WsVmmBkU0iHjphglnrHwksUavbFwYnSmCg/E1NGmgDhNebFFFmx hmKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482759; x=1752087559; 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=hJXngZXoNb3ayqx8JesLlBPxtZzFSrHUe1FnH3EcOyc=; b=au/sgLdlFOVdPE3loeBLYr40KeIORrQfCZVouMl1OxBr1P0SvBQ+eUoGbO0rSE3FiV LEK1vfv9Tv0ae+t8HcPHiLJVp2h6X+6NhXKiANNhB+DvaTTyw6AKgi67oXfwMKzHkEtU Gu3Yln3Yc/wGIsA289F9OuPfDzIvqYz+PPAlptZysX1jpNe++Y7tvPQe0iCVcbynpL6Q Cra0pSPueedUNBywWyUdl541PM/AqgzUXU8xsswPudim1t+cqGCk/bML3N/eRfsypd1n Gg+3Ay/I0sjWiXcWxihaptt0EmPOEgaR79Gx3G49sZEooParrXu1m8hy5jSrG9yJYbsq pmHA== X-Forwarded-Encrypted: i=1; AJvYcCX1IQDf3/pm+jy1t4NFEQvpM2z140IVutkZz39v4wAeLsY6vs/qJRr8+lqxT+z7XvdIvNHnQxAxJJ8=@lists.xenproject.org X-Gm-Message-State: AOJu0YzA9E41+/rkPZ6R8nXTFhwkpUClJssso0FxRMlx+DanNF76HsK2 6qwMowQa61Qm0z34niYWD/JZnxZxALHqTknvBluZqXqDFHoYdJYmQbD0qYWmrhLYgGA= X-Gm-Gg: ASbGncsHxq5KuIKmzTHFCmX6bYN4y5/+La3UzAAY4z3EMF7/P5svqXNMXIuILjcXq3P tH7WuErhZgaKxFypPVJ7/b1NoAKmwwmWnLs1I2irW3HwEPEJ80/FOw63OnmMPpoS7080MaWe89w NB0SMKj8X5acAVDrt/a8g3U8ClDD4JS6wWO1o6yfpVTR6u4UlIqjz7fmjht+NgY3cnaUe9Gcwn9 Qu7+D53HWSKhaObcwbkV52MayBPgG83SW0pACSl9BzhbsOc2hiG7tA56k2OQDgt509j+sphfdxP fkRghcApoqBsplB9V0GaVlDbRDvl/irC5Ymg9IH/TypZq5WgoM3WXk78DU1RE5tAH8x7GNeENb6 Be95LyFVP+lU/OQV7dOT4IrFf4ndyVQxYfWLh X-Google-Smtp-Source: AGHT+IE3WTlBrg79f8JEGuLCHU0UFZS44rNmXX17pQSMB1LxsBRr6tiIwSkJPMQ9jDC7VsiDr5lFPQ== X-Received: by 2002:a05:600c:a086:b0:450:d568:909b with SMTP id 5b1f17b1804b1-454a36fbdd6mr44010245e9.14.1751482759507; Wed, 02 Jul 2025 11:59:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org Subject: [PATCH v4 48/65] accel/dummy: Convert to AccelOpsClass::cpu_thread_routine Date: Wed, 2 Jul 2025 20:53:10 +0200 Message-ID: <20250702185332.43650-49-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482775602116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Acked-by: Fabiano Rosas --- accel/dummy-cpus.h | 2 +- accel/dummy-cpus.c | 14 +------------- accel/qtest/qtest.c | 3 ++- accel/xen/xen-all.c | 3 ++- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/accel/dummy-cpus.h b/accel/dummy-cpus.h index c3af710ee8c..c2f9fee164c 100644 --- a/accel/dummy-cpus.h +++ b/accel/dummy-cpus.h @@ -10,6 +10,6 @@ #define ACCEL_DUMMY_CPUS_H =20 void dummy_thread_precreate(CPUState *cpu); -void dummy_start_vcpu_thread(CPUState *cpu); +void *dummy_cpu_thread_routine(void *arg); =20 #endif diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 2cbc3fecc93..f637ab05e32 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -19,7 +19,7 @@ #include "hw/core/cpu.h" #include "accel/dummy-cpus.h" =20 -static void *dummy_cpu_thread_fn(void *arg) +void *dummy_cpu_thread_routine(void *arg) { CPUState *cpu =3D arg; =20 @@ -71,15 +71,3 @@ void dummy_thread_precreate(CPUState *cpu) qemu_sem_init(&cpu->sem, 0); #endif } - -void dummy_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - dummy_thread_precreate(cpu); - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/DUMMY", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, dummy_cpu_thread_fn, cpu, - QEMU_THREAD_JOINABLE); -} diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 2606fe97b49..9f30098d133 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -64,7 +64,8 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D dummy_start_vcpu_thread; + ops->thread_precreate =3D dummy_thread_precreate; + ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; }; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index f412ea346bb..e2ad42c0d18 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -152,7 +152,8 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D dummy_start_vcpu_thread; + ops->thread_precreate =3D dummy_thread_precreate; + ops->cpu_thread_routine =3D dummy_cpu_thread_routine; } =20 static const TypeInfo xen_accel_ops_type =3D { --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483121; cv=none; d=zohomail.com; s=zohoarc; b=FLZUORUTltv2HlpE7Oi+2FB7RtjPkybLMB/2rAidPuR3dHUtHpwdzDYhp10XLsgUmJcjPHku/3PeZvlPTRPb4Z7/VCsiqfRO1pkoeauq0fx3mBnsj8LinQUzApU2GmqhsufqmGPtqsA5JySxlCwFiBoON/MbEYO81hB2TjkCCIA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483121; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9v6+HYr/42Y/Iowg1uUW2qQvLw8fBzoanUujYKDMrhU=; b=hjD+ZDiu4yJu1+H9ThS8QG+g2JyS29yvuB5y3L0VORESnhUmB9yvZxtrjVACDCPMXBRQieNvsqr28e6gisieRbBhZ3eoP+FFFaE4O2uiKwpQPNcrwDl6oH3wgq3yhoXOVK82YuvpJdnngcn6amARp4FT82nHBWexQulfEuuBPiM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483121595985.570476354835; Wed, 2 Jul 2025 12:05:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hJ-0007aJ-Lh; Wed, 02 Jul 2025 15:00: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 1uX2gA-0006Pn-DY for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:36 -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 1uX2g4-00037d-MZ for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:34 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-453749aef9eso28435585e9.3 for ; Wed, 02 Jul 2025 11:59: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-3a892e62144sm16972934f8f.92.2025.07.02.11.59.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482764; x=1752087564; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9v6+HYr/42Y/Iowg1uUW2qQvLw8fBzoanUujYKDMrhU=; b=ZWjrDgclhXIHlO1yGxVcGYkwJ80zkON8ZPi2KoiwVDaUaA7z4/lGnVKs+7SWKDt1rr gLl7XGHkoU9q/4H5hj25jUl1TznE31YA/jfjDd5Z6v5Hf4AhsPcbGGSV4HP9zicaJIeu fq1pAr/2b3srGTLlDsAU4RAsVfv/6/5FDEEtmgsP9eoX3V6A5HJC6bYJjNo2sfyejfGg Y8UhWZqZtVaAzbK5n3q+10WHAo+88d6bWTsAF0rah+KuxwhArHVOMd65rzurOcPfrZC0 ik8z5m5UusMdyaagDw/2VWnSKb+b5S0xE6zBOwF6pQXhcoIg/7MB3vzN+uPK5iVjwtrQ SkGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482764; x=1752087564; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9v6+HYr/42Y/Iowg1uUW2qQvLw8fBzoanUujYKDMrhU=; b=HMMtUTZC9hwlJgdknzpIqmetSlByubWOH4GRJpNO9iGLOPbt0bSzceqyFye+0i7BjG 7snHHtUhLajOwSxNJtwhvSv4kNN2160CZCl0+22JO1MqF4PnkeNf5F3SkYLi2Wrd2k4K ga2tGfSwS0v/3COlWrjcsXT6C7SEomI41yLih26cyMlG/YkqPuS+oz8KxEsaTb/GFXAW e28o5AfRmv+jIAc7ANRfqkGCGxQ7r22ggkA2KBE4XucfxpQViPjmW4M0+XYpnHXxnpZp S2mQksC7qynrDBbrbGyXZOETSODr067yKd/JFbBJ8dZxK6L7U3+1WiK/tSB4pmGBTeYx pUsg== X-Gm-Message-State: AOJu0YzQk97W81qZ/6n4P+U3K4R7fNkbwp/M1VJEyFCikPvZzMXlM7mP AJnKhk4p7e9y4nHDwF4g5fmdACAxe3VLUAosLwS6CEnKT74AVHQE0lG99Lxc8PnuvWrSjwtzpr7 ewyQs X-Gm-Gg: ASbGncuvPKnEyEBS8ZSShZ4/iqdd+vgZzaUwKLMmCfJ5jNth2pJfycUZvEiMm0bMvOH ei34j7f3Y8COP6GG6DJ7Ywonnt47y2wowiGliWbTWCXJUfXfBFXVCOtS7YbCumf9bd+Pcy5nwWt Ihyv4+Eh/gRBowBfbKS/e6ljN2WaCkc7mVhbnrErIYDN5YEREfGepOqp1EAJV5culH5AOyoI1mt K4VySMSm1OcnNniMwxitCtaY7nSgSupjXWQlY0uoWl9AJJZPgrjuuAnGX+o0Nh1yyZ5I+MW/lpx bkr2Zx4Oizn87N38Mdk55Uy3JdQ1BMrd5zt4/l9bf46WQaBwnX7W34za17vkIXfeafoMopzdpTK ryqnQTs3ZEoJGXB8INiRSEan7RhidFRxUFPW5 X-Google-Smtp-Source: AGHT+IF92yCtpbCa/GlbZCvS4gUjgiWWbFQHRh6UqSRXqLv1qxzo569DrotJrBw1XQu2WijXSqjDCw== X-Received: by 2002:adf:9cc1:0:b0:3a6:d349:1b52 with SMTP id ffacd0b85a97d-3b32cb34489mr266240f8f.21.1751482764536; Wed, 02 Jul 2025 11:59:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 49/65] accel/tcg: Convert to AccelOpsClass::cpu_thread_routine Date: Wed, 2 Jul 2025 20:53:11 +0200 Message-ID: <20250702185332.43650-50-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483122923116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-mttcg.h | 3 +-- accel/tcg/tcg-accel-ops-mttcg.c | 16 +--------------- accel/tcg/tcg-accel-ops.c | 3 ++- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-mttcg.h b/accel/tcg/tcg-accel-ops-mttc= g.h index 8ffa7a9a9fe..8bf2452c886 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.h +++ b/accel/tcg/tcg-accel-ops-mttcg.h @@ -13,7 +13,6 @@ /* kick MTTCG vCPU thread */ void mttcg_kick_vcpu_thread(CPUState *cpu); =20 -/* start an mttcg vCPU thread */ -void mttcg_start_vcpu_thread(CPUState *cpu); +void *mttcg_cpu_thread_routine(void *arg); =20 #endif /* TCG_ACCEL_OPS_MTTCG_H */ diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 462be7596b9..96ce065eb59 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -61,7 +61,7 @@ static void mttcg_force_rcu(Notifier *notify, void *data) * current CPUState for a given thread. */ =20 -static void *mttcg_cpu_thread_fn(void *arg) +void *mttcg_cpu_thread_routine(void *arg) { MttcgForceRcuNotifier force_rcu; CPUState *cpu =3D arg; @@ -128,17 +128,3 @@ void mttcg_kick_vcpu_thread(CPUState *cpu) { cpu_exit(cpu); } - -void mttcg_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - tcg_vcpu_thread_precreate(cpu); - - /* create a thread per vCPU with TCG (MTTCG) */ - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/TCG", - cpu->cpu_index); - - qemu_thread_create(cpu->thread, thread_name, mttcg_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 861996649b7..4931e536beb 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -204,7 +204,7 @@ static void tcg_accel_ops_init(AccelClass *ac) AccelOpsClass *ops =3D ac->ops; =20 if (qemu_tcg_mttcg_enabled()) { - ops->create_vcpu_thread =3D mttcg_start_vcpu_thread; + ops->cpu_thread_routine =3D mttcg_cpu_thread_routine; ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; ops->handle_interrupt =3D tcg_handle_interrupt; } else { @@ -222,6 +222,7 @@ static void tcg_accel_ops_init(AccelClass *ac) =20 ops->cpu_common_realize =3D tcg_exec_realizefn; ops->cpu_common_unrealize =3D tcg_exec_unrealizefn; + ops->thread_precreate =3D tcg_vcpu_thread_precreate; ops->cpu_reset_hold =3D tcg_cpu_reset_hold; ops->insert_breakpoint =3D tcg_insert_breakpoint; ops->remove_breakpoint =3D tcg_remove_breakpoint; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483226; cv=none; d=zohomail.com; s=zohoarc; b=KsrfAVlIixWDX+tlCsTA+7exxIb9gLE/6TLxWyaX6niqkWDSiWoDd/K4/CWxtlAhyYEJKW1vdM70TVYlQ7M4gq3V0Af7IoDp3Ug7dwtmkEed00/C28LyUcu109+IPAz9MR4+TcgD+nlS6o116JNAFTe7Qj17rTdCdAdwL+bBLy8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483226; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0cde8O5fgh1/x3P/3o29/Z35Bz+QAbkT/6eRH+3hSMk=; b=WeQMnbDz10pVi9AAhbgRuvhoWjYLIRvSZEvduADWTDzdCIrJ/wCwWndkC4fHYJqy6Ltw+cFp7QcwAr7ryIP3u1Db/pteBByDJclo9XxydbxLFSjkM0Lnjj+1/xh3FS/Qer69CGCWZ7tHtNK0IzRYgtZviZPM12jlhsB4GWybgHY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483226792420.58034014626116; Wed, 2 Jul 2025 12:07:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hN-0007ki-1C; Wed, 02 Jul 2025 15:00: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 1uX2gF-0006RA-Jx for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:44 -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 1uX2gA-00038m-3w for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:39 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so43550245e9.2 for ; Wed, 02 Jul 2025 11:59: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 ffacd0b85a97d-3a88c7fab15sm16942979f8f.33.2025.07.02.11.59.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482770; x=1752087570; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0cde8O5fgh1/x3P/3o29/Z35Bz+QAbkT/6eRH+3hSMk=; b=nJQHGe+inoTqfgwmkdzugJTM/BVjIjN9fiBAR8G3ddhjdEA2PNMuftmguyNq/DXCx+ 4vir9VGL93eyat9uW0qoxMlHNDSS+NFAs9dBRllviFYMpaCyzm+RKxQyk/RQ+JYRYK1X rlaBML7AGTw9YFFnbcyqif0zb6vgxEbe/6AoPtcyIKh98f3lVFEidKRzNWYX/MQhVicC Y9+NkllKRa6BL+h2ifae4+opo5SjBc5NscvI0wgwJgCfzfV1UKI9UNysAthr/gUbfTYQ z3gaEu4N6hXPDkwZCVjT5PIaWRctahlsUOLDQwzGxBiJmTV1U9l4kG02Ef09hFfLXnid sW1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482770; x=1752087570; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0cde8O5fgh1/x3P/3o29/Z35Bz+QAbkT/6eRH+3hSMk=; b=brEj50DJ//0FsMXMIyYUdanFMAD7aU1dnzrlKc+SxQuNJb74GxuJAuI31LRx6kDqjz rA3ripxAKM48oxAoMaSLKKd9atwhkLhCQ0OQZqHIDRtXohSgtVnMGNZpeJ8bQ5ZVACEc O2FfK0F/HGwegvZAzSExrKsNeJx05oZ86Q6QFKwgeo5AS0aYUzS6PMU5reZ7bCmgkfLw JZQmR4YSiIm+8VSPJ1k2YBJMz1uk//u8aW273Y3QGDG2Rq5VX9nxE75BRP/B3GZWPwZK J9iC3Qq7qiBUtLQ+b8Gx4KDF07jaMgoc6uW8YESy6QG4B9FC9Bffa/4pSri4joi8cADS jPkQ== X-Gm-Message-State: AOJu0Yzv66E3/nxawuLf+74WRCZ7GpfzQnXW47T21TeFI4xIZuIwUQAC gTbkU+Z9RzcShospfy7PsMUs0K1k0Js/VoG4ZLzx1TVKE0nokkBg8gxbIX+QeKSWmpd4VIQ0lcK Jsbia X-Gm-Gg: ASbGnctS7KRtbPsBY07OyM0onAm6sggKI6BjUA+u5bTpnkrclfNPftUJHxszFH/5Oc0 Eotb5kHG/TG+xI+GvJXdE33hwC3Mu7Co/J+xCz5H+z7VOsQjx7r6yLpX1jVsFqnFnfSTFROVrQ/ 3vG8aENuKFZSZJeoD9ERdzYi+smkLZpYdm9K4LGVtZAp9ZBouwbVQqQeaL5QJa6pujJRqkOtpon 2eKwPEAeO8xO9BAvDkUkFnVp20X5DCNpgCoFdnfa1qnPB64SuKNOacuZPlCT7YY+bWsZorj8oD6 9JLOwnOgWmRauKu5sqWDo+WgHrJ3xomGTXND4wrobTTdWyx5S9dsQwKX58qMQDCYGk5aTqp2F6G m0s5L65RFOqYi/QlQ/vEfugWpxVfyx2mBARgf X-Google-Smtp-Source: AGHT+IEION5iJjh0RdDNl7aUNOgbZjk0HJoT8mPdVZ40I/MRJ7FGMZd7B0HmLqh0YANVLN2zhbP0og== X-Received: by 2002:a05:6000:401e:b0:3a3:6e62:d8e8 with SMTP id ffacd0b85a97d-3b200e2a482mr2817628f8f.55.1751482769801; Wed, 02 Jul 2025 11:59:29 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal Subject: [PATCH v4 50/65] accel/hvf: Convert to AccelOpsClass::cpu_thread_routine Date: Wed, 2 Jul 2025 20:53:12 +0200 Message-ID: <20250702185332.43650-51-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483228104116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- accel/hvf/hvf-accel-ops.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index c91e18bc3dd..b61f08330f1 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -207,22 +207,6 @@ static void *hvf_cpu_thread_fn(void *arg) return NULL; } =20 -static void hvf_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - /* - * HVF currently does not support TCG, and only runs in - * unrestricted-guest mode. - */ - assert(hvf_enabled()); - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/HVF", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, hvf_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu, vaddr pc) { struct hvf_sw_breakpoint *bp; @@ -369,7 +353,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->cpu_target_realize =3D hvf_arch_cpu_realize; =20 - ops->create_vcpu_thread =3D hvf_start_vcpu_thread; + ops->cpu_thread_routine =3D hvf_cpu_thread_fn, ops->kick_vcpu_thread =3D hvf_kick_vcpu_thread; =20 ops->synchronize_post_reset =3D hvf_cpu_synchronize_post_reset; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483649; cv=none; d=zohomail.com; s=zohoarc; b=ESHwTbhu8Q1vHkSo98uDnVuoLCAlV4SzCmjOS7Xl1OzMpKMEBRqG1gpPI+jiQAakqGdF9xDHCx7ekLHgTKURuXW9TwSK7ZF9qy9ks+BLVr7Ti+8UUEkQoxhnGkMbBzWCIcBxzEU/G4yTE4sDSl7TvsCLdy1oSihuk2YHSs4Hpyo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483649; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ToXpM4w8/5sKNrHHneMedU0DiOt+AW+hpLalmA9y/oQ=; b=j6qMLGV5tn6z6eTZE6i1JXIxjOmeDrf+66MGUZryNRYCiaiRhm0t9Ezt4ftogaaRuLURvUmntGdVkW34gH+3/3iJrM1JE/u7OTXAwX7xxVxSdJ0F6hqrPZUJAW8Tznp+tc0gIJ95FwjygTh7HDkgalB0RoKhwQJo4Ug/KGfrsJY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175148364972676.35967270875153; Wed, 2 Jul 2025 12:14:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hE-00078x-NZ; Wed, 02 Jul 2025 15:00:41 -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 1uX2gG-0006SR-Lx for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:45 -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 1uX2gD-00039w-LT for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:40 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4530921461aso48390015e9.0 for ; Wed, 02 Jul 2025 11:59: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-454a99b6f94sm5555695e9.32.2025.07.02.11.59.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482775; x=1752087575; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ToXpM4w8/5sKNrHHneMedU0DiOt+AW+hpLalmA9y/oQ=; b=tjFp8drcARWj2lIFPJ0bs/s8xVAaDplLTZOaLs+au4qm/5+eAxaT2sbn32H+nelFnH qvNGZ9G1JBtP62Y7oxclJB/WqVY1EbKxP3SEfwsAqKt34WcZ3I2NNJ+w4b3Wrbu5PX+k gWifZVX0Xxx7ivcNxD25M3HXa+qMSz/2Grttl2OJNXTlFyDeUc1rxy5NEZBbDgGeI9UH IJCZWEG4T9xn4xBZ4XEmZxg+fm+ygrKD3BDAFZqlZ4Z56tOUNTkpu6hqG6oHYSwWtun2 Xl6JP9hTcH2ttlR1QBu14HiolETeVZpKoxgsSd/gSbF4QC+ZFiFIPMjgWwnpUGLFXBXZ R4fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482775; x=1752087575; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ToXpM4w8/5sKNrHHneMedU0DiOt+AW+hpLalmA9y/oQ=; b=HYcNIFnJxFmdh+dHhowGPh9fPVvzFibVF4ehZh42V2dw2BweYexqw9yTBER+/0MuSk t2OsqTFmz2SYHupcx1AmhesME4M/VkoE8tMtTv4oa0o4rXn+G02i66LhVb/HpSQ92tSS MA/zoSE3XOBbqUqrFckQi4jRd4kYS05hnIEpAM1VhD5EHluX2+yYZgx2yL/YAaHEbn8j 1GnoNDo2BPRc2t1TQQZOndfdDrKvk8WUjcFG41EAmDou3yF09VtjJaFxBx35Ddp2vLvS PDCV6277E0v+uT198M2pA9ZrWoxwyq2n0OBfDskHqhf8h4Yv9DiQsnQhrGoUaEZKFN8f w9dg== X-Gm-Message-State: AOJu0Yw1jhkJ0N+bLkvDNycCZt2d/4/4mfAWESxkMTwokB3fBIsKy6Jq X8XcLRHJywJtvG7a62jDPOUhPFDosxYgW4sjKdkIJ8ojYIKwxy1XZ/0J6l5WgsyievQOlpJ2xNo xjO7u X-Gm-Gg: ASbGncvLj7er5s5SxvxFS+gjAKHaw/KoDsy5h27oPmMJcRnwrqhxUAb+8BGwvi1XQDo qXACvABb19Ka5Y8eLK3H6C+XyG+84FgCT/V6NKcq+LQViKIefAv9BiDIm6+XWy8N1wwysUHc8RR WpRwKaT+FPivevOFQnIo6+zwmIabbOHv7/503TGIw2zHk3RVsdZac1nkmtr3VrsnpcgUtHc3XTd krAN1tOM38OXF9NldgcIMkCqo6WuuwI7vM/bOjM4unOo+OZ7gJibv1i5e0t68oPzHa0NQ3yLwqB G6H1lUFOPOPKzp9E4HIr/PAnH+RHBRINpu5LgXZl5TQVLlp82W/vlmWcoZTh9f2edRBKObuyQWI BKwpNR9k2A51mQjtJDSzvfTAS+EVflZfsb4yF X-Google-Smtp-Source: AGHT+IGcleU2BExmeSNnNe4Qm+rWZsFT+Q42YV2sHKFD3Xq/CUYyqJEGaMrFdnzKpIfE8+vOW0prLg== X-Received: by 2002:a05:600c:c87:b0:43d:fa58:81d3 with SMTP id 5b1f17b1804b1-454a373b1aemr38174275e9.32.1751482775247; Wed, 02 Jul 2025 11:59:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org Subject: [PATCH v4 51/65] accel/kvm: Convert to AccelOpsClass::cpu_thread_routine Date: Wed, 2 Jul 2025 20:53:13 +0200 Message-ID: <20250702185332.43650-52-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483652031116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- accel/kvm/kvm-accel-ops.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index 99f61044da5..841024148e1 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -63,16 +63,6 @@ static void *kvm_vcpu_thread_fn(void *arg) return NULL; } =20 -static void kvm_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/KVM", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, kvm_vcpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - static bool kvm_vcpu_thread_is_idle(CPUState *cpu) { return !kvm_halt_in_kernel(); @@ -89,7 +79,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D kvm_start_vcpu_thread; + ops->cpu_thread_routine =3D kvm_vcpu_thread_fn; ops->cpu_thread_is_idle =3D kvm_vcpu_thread_is_idle; ops->synchronize_post_reset =3D kvm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483390; cv=none; d=zohomail.com; s=zohoarc; b=KhNfMpNgLDs4L6pNdFwT8J5HL36LTrYyal26P2JCb+tbERpTI/ELsI0NUNdW9LSWBjnEJQSiB6D3vQH5RRX12Lig6yYIpBLh2x7y2etTS4FpQ7pb1KmeWFngiM/nWyqCWPuwL5SbpEeENyAhPstsenedly4w4avu07kqUGT6GcY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483390; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tF+udBuXlMZaTJB7NQwpx0fE1exKYPgD405Hy0Dxyzg=; b=jt/Q3LOAqLCHKvC46Ptm50nTB9z0iLd1HufyVSxxNj0rii7RwMlv+8jVlaPQHtcqs0lxgjyKR2GgVVv5UylUYfjH4ZgN2HPlmKKKklQaLqif+D098RqKznZFVBhR8xQ3kCz9ZQCd5syXwj27kKi9r0JQQV1Fs6Bu99uczLRvYpY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483390505113.61857164485457; Wed, 2 Jul 2025 12:09:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hL-0007da-S1; Wed, 02 Jul 2025 15:00: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 1uX2gZ-0006dE-CR for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:07 -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 1uX2gP-0003CL-RY for qemu-devel@nongnu.org; Wed, 02 Jul 2025 14:59:58 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-451e2f0d9c2so1453125e9.1 for ; Wed, 02 Jul 2025 11:59:46 -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-3a88c7e7386sm16555447f8f.20.2025.07.02.11.59.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482785; x=1752087585; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tF+udBuXlMZaTJB7NQwpx0fE1exKYPgD405Hy0Dxyzg=; b=jXDaJjxWOpMja0Ege6bRB77vv2W0s2kDzgJp1fUs/Ut0C1GwjR4Ix+3A9EIxScwyAM fT5zTTYSzIcOobEf4+vlS1n7QxJHa0oQEoCQbgUgsaE/OUTVS1plMNharSyNiPkzVYYS XfibzTM3qNMuPiyeEKc418GZEJyLOrYRTRnQp6IZp6UEcvxLqwv4fl66Ay4fENO+7zM+ pu0vmbC3R+GjXtT2hnuSOcaykQLihbURn8NO92gZBUXfOJ9OeI8iaBZLK6pMND41qhvC 6mjPxP6VW8qNH+q8Obu+l4sEcD6zUKINYGjw2BectGwz2sr+7RlNTLKfMK0rwy2HsBPH +iZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482785; x=1752087585; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tF+udBuXlMZaTJB7NQwpx0fE1exKYPgD405Hy0Dxyzg=; b=iEa3umRd3AjFB4nzEe34uS9ji1rAtjaTXRx4ZZx1kdpGvLxOsb0vYfIWfbshbeMkgD WGT1HjIqtVbjZYcAl9SIhniqotMIgA4d7neu//Mlo2b0PPjijoM2+hhmto+yk8zmza4t AW82fzsk9mIOOBWn5LtjfS/TSdHDTOy6qApEsJ0EnQbdxWSvRfFX0oHTuHydNVfl+nTc ZA9dRIoXzash6pPyDT3nAW6P8+UTLRZ2Xl+FJcXYAboHu/IKBp3/RLeE9+D/fIDClAgN irm0vTfuTG4K6N2DcPiVo/TjK9FiOFvvz2Y4WX8nrYuw9pd3KRQ977kylb0Li2xOzOGT B4aQ== X-Gm-Message-State: AOJu0Yy0k9APPR4vmAGM8PLBa6YmTA72i/hiu4u1nWCltaO0BbFKpXE3 QxPcjYnrF4Pv4yyE6SOhOU6Wc4c7yGtzchxxmDJEdCqhlhrydmCv8+pPFeXdipmjY4MRmJDdFw0 a9ygP X-Gm-Gg: ASbGnctf3p+w3u9sPw/DHbgNyoH+L2YI//U2K2ucTEme/Tpm9M8f4qNbwU/0J0+S3VM oxPXgkKSYV8uVtihXgnocQIxnQl9YTJr36j/nrsO165y8i5DHi3bZksm43qFw6aTgt7BKsSe8Wk j0OlNCWdTqsFGVNDtmnDCcvdETxLM42VKT5RoHUqiYfz31bTYE3rXcbgS3D3lsJzFSHJrZRHCxy Fld25sWCtqi90rsmk3r5vGACdeTsU6QOFRcMpNHNLzd0YPybf2Kz+bPIml+DT6pHtaphucHR/ps GVED58j9rgexEY6EfzyaNoMZRFWJBBdggnrF2fZ8VNCmv0Lwgovrz4tFQ6P3wwdk+QQEHoTGLwl akzaByqSQjsoQWKWDn2wGL2nRhD1rwAXHejLU X-Google-Smtp-Source: AGHT+IGKoqyLrJHd251IAg6YemLMT5eo8VIUmShtWca/gvdkVBUDIPFOxlqqtNAgxKTDEz7R/nSeBg== X-Received: by 2002:a05:600c:1c12:b0:43d:fa5f:7d30 with SMTP id 5b1f17b1804b1-454ab35e5e1mr129535e9.16.1751482784767; Wed, 02 Jul 2025 11:59:44 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Reinoud Zandijk Subject: [PATCH v4 52/65] accel/nvmm: Convert to AccelOpsClass::cpu_thread_routine Date: Wed, 2 Jul 2025 20:53:14 +0200 Message-ID: <20250702185332.43650-53-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483392572116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/nvmm/nvmm-accel-ops.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index 21443078b72..bef6f61b776 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -61,16 +61,6 @@ static void *qemu_nvmm_cpu_thread_fn(void *arg) return NULL; } =20 -static void nvmm_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/NVMM", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, qemu_nvmm_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - /* * Abort the call to run the virtual processor by another thread, and to * return the control to that thread. @@ -85,7 +75,7 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D nvmm_start_vcpu_thread; + ops->cpu_thread_routine =3D qemu_nvmm_cpu_thread_fn; ops->kick_vcpu_thread =3D nvmm_kick_vcpu_thread; =20 ops->synchronize_post_reset =3D nvmm_cpu_synchronize_post_reset; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482917; cv=none; d=zohomail.com; s=zohoarc; b=m6yaYsnfFihZm8+/tUG1SmlRSxobEFs8/1rI7mbD1e1BRP3OZwYcoMH6I8ihr7vIxEF72IBBQZvFhGEZQLwojw0rZXanwEBXXTh4qWkknmkcp1mvDX6jaJuErmwA98vrG5mbvfvvR82QSotfsjR8wzKmcpgn2SORI3fS/jcPZC4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482917; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mJV4IXnKJHt8hWaUBPPZ6mJUKwfXPExjXmNVkOYEHB0=; b=a+2/RksUvhgzjPxgauqNusCNhGJS9vQZ2nenNG7CtY4xoR5cEbFQ3w+jC+gwr+f4T5abyMEwOxL+FyllpcsQOWgPXwvskRtCkMIN6+18HWlMBASZ+hZPBySKb9O5uiQThRmKVt0fAR0oRE3/RIUs1EHfMTWrG5VO3qFsiZlD/B8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751482917005179.64144625846393; Wed, 2 Jul 2025 12:01:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hH-0007RP-UM; Wed, 02 Jul 2025 15:00:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2gf-0006ik-TE for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:08 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2gX-0003DL-G9 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:04 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-45363645a8eso51012895e9.1 for ; Wed, 02 Jul 2025 11:59: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-3a88c8013fesm16935710f8f.38.2025.07.02.11.59.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482790; x=1752087590; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mJV4IXnKJHt8hWaUBPPZ6mJUKwfXPExjXmNVkOYEHB0=; b=UMsZMYF7ISYZ1lDAM/wHlqdRXrmyfP2rcP8VTGahgUpYKvEAt3GJQj0mGFDT7gltlr kziDhGmydxHP+hJgGLoFSGpB7wLBU/0jpWUOQ7VCKS3137GejpC7ZfRc24TfkoYc4Tbk O9k9UQ17iDjIt/poe4B3cNC0lXbNowTlzLteGd7UoZ1k6K8akeVksXOVzDWuNfr9Ut37 uAT8JTDuOwF6QMEBDY3mHvdo9tTrXmVkd69y4ti484mFCbDrEgK2xr9fVMXOr72DSdNo pdTYdl34EMdijW/VjTAkkZsE75n8Gna3tdFafYIXAaW9tZUvs6CNf8w+AP+hUIOOgLkt 8jsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482790; x=1752087590; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mJV4IXnKJHt8hWaUBPPZ6mJUKwfXPExjXmNVkOYEHB0=; b=tgfpypnl4yxT3rfvrnH00ayS7rQ83081H6dN17XCU8dCv8z98rX4ndbl4+baY+09wM LPovJw17HnykgPczblmY8MShZ5xLNKK9of9bJbSsSazsrWgHwdlIGx/3SUELpKIDbMkS tufDxQ0qnOIb+MQDsXb1PIUn7wCUb/coLKeHn0NnlCd9iUG6aE8BcQLZ3GkqlJsbIZSj oASHufi9JWNp7B0RZ6Rw47rXSycqPy4UVfz2yWQqskFT7GBjN50mc3SkKTQFSI77ci+D zjz9Illhfc1QwSig8DRCBXXSlA5fq3l6Lq+Co5gVlBbebPgiYZck90uNqdhkXBA/PAgv uXeA== X-Gm-Message-State: AOJu0YzwrIBn1dGtTDlyeu+rPEkd8yzjA3ijTMp8NOaHottSuLdVe2Oa 3pDxU7sQslIj7toQhEINFlL/S/EWG51ohRURh0UjBQ9mdWg7j87HrEqcXb2Pt92+AIBfX4WulGT dsRDR X-Gm-Gg: ASbGncviA9h/GMWVNC5zQ9MPICWwI3R/ZV9VUf6DrlKhLxvzLu+piVKRpTILB/fcvxr iDu9ePTv3qQE2eCrFfiTRJsGg+aFCPvHAbD/xc3XyMYpGmVC+NQ77WvNQaazszIqFVrjIH1peq1 Z6jQfUD+BVBJ/zHUhg4nL0Y/HKLqXphva3KGqF/dFkOeXlObtOw1Zt74rlTtJXC+snyrjgyXX8f ZcCAcwMk9RyDACHTl0aozcBkkKdUnZ8EgYquQ1DSeVEmoYaZt/Y5CknPkZsaqR40K+iAYZTbuHZ D1H3gHhE7T0+fV/qc8HqIJ1Z0309qEqyK739G6VZ5ZDqVemYiCImsmo+WEw0A3+weDv3wwI+wpn ULns9rAjEKDbxQGzkVlq0bXCs/xrBKXCPmsBb X-Google-Smtp-Source: AGHT+IH031cq/gUIMg0JtuupqLORNupxi1DmHK0HKX2NvkRiddDxkZA74do6v/MuRt4t3c76lsFp/g== X-Received: by 2002:a05:600c:6994:b0:453:6150:de50 with SMTP id 5b1f17b1804b1-454aa627b7dmr3409135e9.28.1751482789743; Wed, 02 Jul 2025 11:59:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sunil Muthuswamy Subject: [PATCH v4 53/65] accel/whpx: Convert to AccelOpsClass::cpu_thread_routine Date: Wed, 2 Jul 2025 20:53:15 +0200 Message-ID: <20250702185332.43650-54-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482918078116600 By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/whpx/whpx-accel-ops.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index 011810b5e50..8cbc6f4e2d8 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -61,16 +61,6 @@ static void *whpx_cpu_thread_fn(void *arg) return NULL; } =20 -static void whpx_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/WHPX", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, whpx_cpu_thread_fn, - cpu, QEMU_THREAD_JOINABLE); -} - static void whpx_kick_vcpu_thread(CPUState *cpu) { if (!qemu_cpu_is_self(cpu)) { @@ -87,7 +77,7 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 - ops->create_vcpu_thread =3D whpx_start_vcpu_thread; + ops->cpu_thread_routine =3D whpx_cpu_thread_fn; ops->kick_vcpu_thread =3D whpx_kick_vcpu_thread; ops->cpu_thread_is_idle =3D whpx_vcpu_thread_is_idle; =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483402; cv=none; d=zohomail.com; s=zohoarc; b=Q/CtgtbmXXnFuGG6WPPl33ELcPSWEpd/rTuNDSPvt/tYaG7y6R6YTHSL3ZPURaLX3r43776fadJj9gyRnb0OkNejNEAR+BCQaMdZlx+779oGcUFnG9tpZNWWdnjwMQGOYr8GHFnb38i6IjmqVBCz9QZQRI38Gjti/gdOHch5W8o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483402; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KYagbleC/hcq8JgGV1mXFBe9rSbch4M6pqZHxCjKKEU=; b=YOQmUnHjvL6m3IgFgWx8xiLx4/CTvMAvtrbG2RrzVP5FRn3SZ4WJSY3DmN+Vxsb6BD8vUK1fQOwgOqjrYk/4FXx1MOa4QwPcOqtMU3ZBD2PNFttBL8tgZTobOYdIBWFpqQE1Jwsro2kai/bAk1ar9hSefu7+xbrwkl+d71FTSOI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483402673389.3434967112845; Wed, 2 Jul 2025 12:10:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hK-0007cS-G5; Wed, 02 Jul 2025 15:00: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 1uX2gk-0006ol-AP for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:12 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2gX-0003E6-IL for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:09 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so187884f8f.0 for ; Wed, 02 Jul 2025 11:59: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 ffacd0b85a97d-3a892e5972bsm16895261f8f.68.2025.07.02.11.59.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482794; x=1752087594; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KYagbleC/hcq8JgGV1mXFBe9rSbch4M6pqZHxCjKKEU=; b=T+102yab3decFmKQr9B45tcUUDJRYBbzhUwCY54yBbnaN7ZNVpfV8lEAEiMD6r9utY JebMF0V2Rbj+m5PMVQy1+Y25bXpNBdAmfA32cCwVvUBUVFCoReGrzFRWzhqOin8I6JqD oqvZ39cWBNrTp3S07hY9W/XCkAHoJqFNSz5V2sMwLNpYRO7RK8E/keS3r5Bt2mmB1kjZ 9ENZ6tfr+JExQTBglMly+COpDEhPsxA5XicCBqjN96leA0ncoTBEmU+umd0VVJ5fkwgx ERtAF44fPuM9XF6Av8SNYEBEjK4PGaYNClaF/lzQQ52Ff6Nmm158F9mR0x9piUbQDD3y Z2dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482794; x=1752087594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KYagbleC/hcq8JgGV1mXFBe9rSbch4M6pqZHxCjKKEU=; b=iZAy1L/VODFpsJUmRKeDrdpHjViY/E9lXSAkuVgBuUuBd2ficrH0MFNNjC7xQC64HC nHV4sofIIeXHfnP3kecOkDysOfcZE2KOug1Q0zHZqpf0KhB7+36SI5RfFtTcpcUfc5CF tZa4KAxA+WVxvKcNV2DuOtmJW4GzaGq7nzf9dVwEnUI0RlGDicQ32lxUPmIvOipf/431 N3JvBF6GH6Q3GyPTw0hjBcVPujXB0phAXK1RgRXD355VsfwVzs7dMQhR3Mh8x6uiTd1M mMT1zXTgYPzAtfze/R/2SOvvunQ93l8QnhWfOJRTKTeQ+5WjIjt5Z+BqM4xJgQeO2McB BjfA== X-Gm-Message-State: AOJu0YxV40tywFLIzrRON6fKk6Cp5PMIuTy93imsPrBSkM4sd3e13Z8w 5IKk7gjrNM144oFlrclXbrJj6OfpZfLNXWs+ESgQ032j8FPY+LRP0nUkj2VOTILPJryTGpw5m17 18mmR X-Gm-Gg: ASbGnctFv69JQVdAeirQ5StC/qpEh6D4C88CWx58fuNEmYCNLoAvRumcRjQwaprDB0k 7ofFdQFoPtvv7UWRzgm1EDVxpy9FGUnHx+RLL5pVQVeJ0Cfq0rVedQLSX4M167lzDZdPgBCjwIi hLtibzYostC4DalkZOMlZDZk31ooLLJjKEVkVV+OOQ9lmcGxrlak6Q4lLn8++7MSWi1fe3wsH14 2omsc7DIqh8HC0OKr+fEwgNWu26OdeGd154kfnM1XZmdNzBtK7/Bbw/f2SgiaeDWTE0AyBtNpME xqBVVzBjFdNXxSlkmjqVpDKQRv6eYueL4u3GpB2Id96NmRdUak+Vesd6eHZ6AnbX2DZrGfZNtyP mC+s80c+xvdrx1KgB1jSWlBqO/h71wb5f+17z X-Google-Smtp-Source: AGHT+IH7JAtsFhmAb1AK63J5iC2PtfQNAlI4jKPIiYPgGu15QEkXDCrenr2fwUZnfBmSi5gFbRvEjA== X-Received: by 2002:a5d:588c:0:b0:3a4:eee4:f73a with SMTP id ffacd0b85a97d-3b343e5304cmr37690f8f.22.1751482794439; Wed, 02 Jul 2025 11:59:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 54/65] accel: Factor accel_cpu_realize() out Date: Wed, 2 Jul 2025 20:53:16 +0200 Message-ID: <20250702185332.43650-55-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483404695116600 Factor accel_cpu_realize() out of accel_cpu_common_realize() for re-use. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/accel-internal.h | 2 ++ accel/accel-common.c | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/accel/accel-internal.h b/accel/accel-internal.h index d3a4422cbf7..b541377c349 100644 --- a/accel/accel-internal.h +++ b/accel/accel-internal.h @@ -14,4 +14,6 @@ =20 void accel_init_ops_interfaces(AccelClass *ac); =20 +bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp); + #endif /* ACCEL_SYSTEM_H */ diff --git a/accel/accel-common.c b/accel/accel-common.c index 24038acf4aa..de010adb484 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -122,9 +122,8 @@ void accel_create_vcpu_thread(AccelState *accel, CPUSta= te *cpu) } } =20 -bool accel_cpu_common_realize(CPUState *cpu, Error **errp) +bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp) { - AccelState *accel =3D current_accel(); AccelClass *acc =3D ACCEL_GET_CLASS(accel); =20 /* target specific realization */ @@ -147,6 +146,11 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **e= rrp) return true; } =20 +bool accel_cpu_common_realize(CPUState *cpu, Error **errp) +{ + return accel_cpu_realize(current_accel(), cpu, errp); +} + void accel_cpu_common_unrealize(CPUState *cpu) { AccelState *accel =3D current_accel(); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483001; cv=none; d=zohomail.com; s=zohoarc; b=CHELmizjOf53XQOzTYTdukOj7YOS8hVZ0UwM/nFX+O5Xq58KyXCC0A3nbiUSPUV43MIs4D0TRVPE9eGWy/FnbJDMWiHcd0A6E7CZaP/RaN21U1uWPD5Cq5w3oJUUyoqDqDLTCJjrKHs1iowCZlNc9EjJuROT9Q/V6PqQHiwcTEk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483001; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Kv+3eABLjDWkuIjt/EEQUuT2EYyux5ATDXpfAYp2as0=; b=XTvYLc3V/G0o4OvWUHA3P/GCBXJmpBYWBPNPLxmjFp++vSRF0+dD2Y4ZZIseDl4tZ1P4ZXPNWsySWwfsChqVpoxiYgVo7oICzlGROFo7O2WaUWxZpW7ZLrhOcRj0OMfhPFxkFW8cFiYeaFNrF+EeCwM1wtnX+72hPPY5bHMvfLE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483001953108.86783147351377; Wed, 2 Jul 2025 12:03:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hQ-0007vx-Sj; Wed, 02 Jul 2025 15:00:53 -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 1uX2ge-0006gc-5U for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:07 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2gb-0003FM-LA for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:03 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-451e2f0d9c2so1454335e9.1 for ; Wed, 02 Jul 2025 12:00: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 ffacd0b85a97d-3a892e5f44dsm16545501f8f.87.2025.07.02.11.59.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 11:59:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482799; x=1752087599; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Kv+3eABLjDWkuIjt/EEQUuT2EYyux5ATDXpfAYp2as0=; b=ZZIFq+irdaVPeEG3WhNAS50XA7PyCWBLFohS/ODmDQ2ttVOGxCfIZWgX6WQgA3hZyb a6Z5I3CLch/PzthMGhJcSmehkAC/6RYBfFntNMoFx+mh3v9FsjMGKMgEhd0BOMe7Udo+ rh6WvTYe9V+WwEBPXeB+K2JdlpRwJ1o7chY6esrksQsCnRevDfQcXFQNW3SxR/BOyqFb qQgxCIzFAFCPv5UXDSlbF5TYO8hL8kuWLKf4Jh/jIptwVVIkWdYVdvKC763yhXGa3mpk mCanmcGhebe5/6Xepg4hlpEWBfOiX/YLUNbpjNfUOI5gePTLnKLVGNuWXi2oFZu6gzQU WXRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482799; x=1752087599; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Kv+3eABLjDWkuIjt/EEQUuT2EYyux5ATDXpfAYp2as0=; b=W0RafisHYxnw6QYFXZxFDeifmwqss5ErrZm8+284TEetUpotBMAKO2ArLnO0HjKStK SR9kCm6Cn03EmxRL8aLo90EepPWJIFIMQ3J5AnUtM2m6UJuXjNUhfiSY5o7oCxDj7GH0 +/DptVZ0XpdGkp9wDHC1y6koKG1R3HMjLAz29C1+VI4+WmAqYSOKAMNxU7dGmCCOfEyn x299JMuO/CD4Dn0rOl+Cy53S7oNVIcDVAccbdlMJ5J0lopDZVnu5qO/yZdfKTijitXpu gaDUmf2diHvlXnFuQCt5x3cMSN+j+XbF43HU0PGpDRSMRf1tRpWozEVhLBgbJO25r29c nDHg== X-Gm-Message-State: AOJu0Yyzv9qrXpe4bRWx5hXTn8/ynvRslRuMMujARJL0ZNL/QXXbG2WN V38JtHLTs8EkQQSex5lf9NtZF4VhHXNs2n20mBVg0eLqykQMDJ/d60k8F26BUWFW2H4cGfiZ2WP H5hxT X-Gm-Gg: ASbGnct9iAROPdv5KVf1LrE1zU40X5zIatTiQzVj9GF9rsJ6sCxhxs/LETJxFz0pGKU e12P++jafXbMc/cENS/sk9n9FqG+WdG0gjBLWcST2zxrvInweWbDer9icbRabbz/vW/hV6Y5QyI /Id4Qrn9DXLpH97xYthMSwxA6POlK3pzY7K3ADpdwAPl7SzbJBEcB29QoQCuCeS4zqQYw+TC82f sN8q92gGMFNZFM6envU5esvznVLY+/LSHnzl2VHgYQZXn0hPPh1iUBiL5fnH8pemnugvBZVXVUR Nlb5PUXAFdGituBtyEAddQxsxJHr5rl675aHIGv5nzHcYPBhfkQW5N2yPSv5W5n7Ra0bH6e5Ehf 9qfCBmegjcFRoJW/NPLEqRDfGEgvFntBI/d1p X-Google-Smtp-Source: AGHT+IH2vfIjk+Tc/Vi6vgS0ILXqs9L+GinfsSoYO3nuNrhq+KS1ory1IPW4kjynzYVup2aPTzMU8A== X-Received: by 2002:a05:600c:a011:b0:453:79e8:e92d with SMTP id 5b1f17b1804b1-454ab30b775mr305745e9.5.1751482799343; Wed, 02 Jul 2025 11:59:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 55/65] accel: Pass old/new interrupt mask to handle_interrupt() handler Date: Wed, 2 Jul 2025 20:53:17 +0200 Message-ID: <20250702185332.43650-56-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483003200116600 Update CPUState::interrupt_request once in cpu_interrupt(). Pass the old and new masks along. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-icount.h | 2 +- accel/tcg/tcg-accel-ops.h | 2 +- include/system/accel-ops.h | 2 +- accel/tcg/tcg-accel-ops-icount.c | 8 +++----- accel/tcg/tcg-accel-ops.c | 4 +--- system/cpus.c | 12 +++++++----- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-icount.h b/accel/tcg/tcg-accel-ops-ico= unt.h index 16a301b6dc0..1d9d66f0707 100644 --- a/accel/tcg/tcg-accel-ops-icount.h +++ b/accel/tcg/tcg-accel-ops-icount.h @@ -15,6 +15,6 @@ void icount_prepare_for_run(CPUState *cpu, int64_t cpu_bu= dget); int64_t icount_percpu_budget(int cpu_count); void icount_process_data(CPUState *cpu); =20 -void icount_handle_interrupt(CPUState *cpu, int mask); +void icount_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); =20 #endif /* TCG_ACCEL_OPS_ICOUNT_H */ diff --git a/accel/tcg/tcg-accel-ops.h b/accel/tcg/tcg-accel-ops.h index 129af89c3e7..3f8eccb7a7f 100644 --- a/accel/tcg/tcg-accel-ops.h +++ b/accel/tcg/tcg-accel-ops.h @@ -17,7 +17,7 @@ void tcg_vcpu_thread_precreate(CPUState *cpu); void tcg_cpu_destroy(CPUState *cpu); int tcg_cpu_exec(CPUState *cpu); -void tcg_handle_interrupt(CPUState *cpu, int mask); +void tcg_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); void tcg_cpu_init_cflags(CPUState *cpu, bool parallel); =20 #endif /* TCG_ACCEL_OPS_H */ diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index d4bd9c02d14..6d0791d73a4 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -67,7 +67,7 @@ struct AccelOpsClass { void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); =20 - void (*handle_interrupt)(CPUState *cpu, int mask); + void (*handle_interrupt)(CPUState *cpu, int old_mask, int new_mask); =20 /* get_vcpu_stats: Append statistics of this @cpu to @buf */ void (*get_vcpu_stats)(CPUState *cpu, GString *buf); diff --git a/accel/tcg/tcg-accel-ops-icount.c b/accel/tcg/tcg-accel-ops-ico= unt.c index d0f7b410fab..500b5dd4942 100644 --- a/accel/tcg/tcg-accel-ops-icount.c +++ b/accel/tcg/tcg-accel-ops-icount.c @@ -147,14 +147,12 @@ void icount_process_data(CPUState *cpu) replay_mutex_unlock(); } =20 -void icount_handle_interrupt(CPUState *cpu, int mask) +void icount_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) { - int old_mask =3D cpu->interrupt_request; - - tcg_handle_interrupt(cpu, mask); + tcg_handle_interrupt(cpu, old_mask, new_mask); if (qemu_cpu_is_self(cpu) && !cpu->neg.can_do_io - && (mask & ~old_mask) !=3D 0) { + && (new_mask & ~old_mask) !=3D 0) { cpu_abort(cpu, "Raised interrupt while not in I/O function"); } } diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 4931e536beb..a8c24cf8a4c 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -99,10 +99,8 @@ static void tcg_cpu_reset_hold(CPUState *cpu) } =20 /* mask must never be zero, except for A20 change call */ -void tcg_handle_interrupt(CPUState *cpu, int mask) +void tcg_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) { - cpu->interrupt_request |=3D mask; - /* * If called from iothread context, wake the target cpu in * case its halted. diff --git a/system/cpus.c b/system/cpus.c index c2ad640980c..8c2647f5f19 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -246,10 +246,8 @@ int64_t cpus_get_elapsed_ticks(void) return cpu_get_ticks(); } =20 -static void generic_handle_interrupt(CPUState *cpu, int mask) +static void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_= mask) { - cpu->interrupt_request |=3D mask; - if (!qemu_cpu_is_self(cpu)) { qemu_cpu_kick(cpu); } @@ -257,12 +255,16 @@ static void generic_handle_interrupt(CPUState *cpu, i= nt mask) =20 void cpu_interrupt(CPUState *cpu, int mask) { + int old_mask =3D cpu->interrupt_request; + g_assert(bql_locked()); =20 + cpu->interrupt_request |=3D mask; + if (cpus_accel->handle_interrupt) { - cpus_accel->handle_interrupt(cpu, mask); + cpus_accel->handle_interrupt(cpu, old_mask, cpu->interrupt_request= ); } else { - generic_handle_interrupt(cpu, mask); + generic_handle_interrupt(cpu, old_mask, cpu->interrupt_request); } } =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482824; cv=none; d=zohomail.com; s=zohoarc; b=Pm4PpI2DuAeWvyokTrL5auTK5EMNEI2GuHthFgHjDJBX3UtupT7G35E3ncffyyUiyo3i/m4iiTk6qyxiqQw1YY20+Igc1n/7tjqdA80MArhwmaDAkdobTRNiHWT3+BVfTWGfLRVzJDHar1yAXQOk/5TOlLoSQvTXd1AF/rRXTlU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482824; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=a9AALSKsiWp+fyxrwu3Q2lSvTY3F2dydfTXpwq/TdYI=; b=fuGpZ0LmFxxoUYNdn2JfGcREOsiMv5lutzg2ec3CNQhO0H5vIQsIEKHewTmFBfnjFYPEtBOtdEPWBGiycZTOERClXAgazZmrivBp3E167OC0jrPTYS7yGqvqIh+RP3Mg9LjKkyicq0bPJPr94k36oZS5EwhX4HEh011rhUM27b8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751482824221436.19716246353073; Wed, 2 Jul 2025 12:00:24 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031480.1405298 (Exim 4.92) (envelope-from ) id 1uX2gi-0006Gp-C2; Wed, 02 Jul 2025 19:00:08 +0000 Received: by outflank-mailman (output) from mailman id 1031480.1405298; Wed, 02 Jul 2025 19:00:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gi-0006Gi-8n; Wed, 02 Jul 2025 19:00:08 +0000 Received: by outflank-mailman (input) for mailman id 1031480; Wed, 02 Jul 2025 19:00:07 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gh-0004a7-4S for xen-devel@lists.xenproject.org; Wed, 02 Jul 2025 19:00:07 +0000 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [2a00:1450:4864:20::330]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c3f1d202-5776-11f0-b894-0df219b8e170; Wed, 02 Jul 2025 21:00:05 +0200 (CEST) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-450cf0120cdso49488965e9.2 for ; Wed, 02 Jul 2025 12:00: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-3a88c7ec69dsm16541953f8f.6.2025.07.02.12.00.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:04 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c3f1d202-5776-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482805; x=1752087605; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a9AALSKsiWp+fyxrwu3Q2lSvTY3F2dydfTXpwq/TdYI=; b=nsTZDooMBDJnKEUHAjfsJO7MomsJNNtmmcP2x1EMuiQCmjjIlWYIuvYHPrhIiFeokc bJV/qF2JUgiJhaod1aUqGyXZDT61Q6K8jlf97pQ5RPByuYefMlQwyt1ZvcuuCt5p7VzJ vMJXNXWzPgzvqyBCvzATDC0RGYPJwdI0dlzWO3WeqDe5x5APYOA9TDw88g37pNIM/mte 8GuLGhMrWxIPAZDe/ghabSdxdPm5J5Egyv/ZMQt+WGAchSqBgnBv8sZ9FR2QJmSY84QL PhUcUFzjV6NAt4PKfCeL4ICcW2U95CWe6/A+J5qnfj3hZH5mWcqcPBjX58nA5PFGQZQz yT+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482805; x=1752087605; 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=a9AALSKsiWp+fyxrwu3Q2lSvTY3F2dydfTXpwq/TdYI=; b=KAia0b2QYVG6tLQvmQ/Ee6/6/3n2+yhjC9S9+TzeFdHJg8YAYdoh1l4c7/c2sF7jrA a8tudx2qbgq//S/zzTojvoAmkwgURkuP17Iz51RoJXdPJKnNJ1ZxM5LxsV2eZcWQ6eEu B5ZPzZgkSI8jPpOiGG/Qo8UoqC3TvB9PPNaGC8AeMWORP4wnPGfpOJt1zfj3r+MX74H7 xmuZodukD2OEaaDa72IeGiB9kPUyo46e4pIX6cJwhvSkApxyHBh3HLaj0meGhIsHyZSR 5Qn8zbr3zUnlE2aTShtUDelBUG9KDc4GkteRlb+RDZAEmfBkzSIRQYZzNB1MBnlPWEm8 Oa1Q== X-Forwarded-Encrypted: i=1; AJvYcCUWBf7rvT68UqOMqr7I4Z+doEDl9oMWBaKV9+/dvGxIPsXMhTo/L52Ob7L2lKKgFDQcgcmf8UiaJRE=@lists.xenproject.org X-Gm-Message-State: AOJu0Ywtp15Ry0uledFgTkAgkVzimnSry2bJ/BDSIt9nooMNZeUxYvMP nkmktXvaJ7d8OTp8JTB0/4JIWN4JtcqcvW3biVWd1RRUAYzlzTnOw+YxXsU7aO9bPT8= X-Gm-Gg: ASbGncsQD3yo5xQkfEXpH0iZhLlxqIOVj4ie4ppLMMXhMb4cpD1PdAObCAtdwaou6SM 74zpPoZUsCM11bgoOFWUlOgILyzSS/I4Fnn32dcvQaCUKK9Lcki3hsZQe0+hVO5t01Noqy6ItJS oHeeBb1m2sof6sgDrZm8jKt32KJ1dlH8smYY0X87WrIiEInfazv5u35wS+Af5TjXC8mK6lYmZyB DoRnvYXFHQpaOJQopltv8HtfYqY3kiTalxDR4eEnj84uagc8bx1hZcpQKlm0CO58c6aIAOvlMUf CQbumT3L/pIZ2zcIfatcgbjwzB3AxgXr2LXAnvKdC6bHlbfu9RLqP4ywLrzY4tJB/apTqhGMDYq z24jhzMYAf3lZTlNUQkzAeZUKY64bBVdLfoej X-Google-Smtp-Source: AGHT+IHuTxwhhaxfDXpwsGGicEITW9gtMOvw6Tfvz+5/juL51xTCIjaJfAoPglR1/D0PNXoYflj/XQ== X-Received: by 2002:a05:600c:1c1c:b0:43c:fda5:41e9 with SMTP id 5b1f17b1804b1-454a562a89fmr36055635e9.31.1751482804732; Wed, 02 Jul 2025 12:00:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Reinoud Zandijk , Sunil Muthuswamy , kvm@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v4 56/65] accel: Expose and register generic_handle_interrupt() Date: Wed, 2 Jul 2025 20:53:18 +0200 Message-ID: <20250702185332.43650-57-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482827170116600 In order to dispatch over AccelOpsClass::handle_interrupt(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::handle_interrupt() mandatory. Expose generic_handle_interrupt() prototype and register it for each accelerator. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- include/system/accel-ops.h | 3 +++ accel/hvf/hvf-accel-ops.c | 1 + accel/kvm/kvm-accel-ops.c | 1 + accel/qtest/qtest.c | 1 + accel/xen/xen-all.c | 1 + system/cpus.c | 9 +++------ target/i386/nvmm/nvmm-accel-ops.c | 1 + target/i386/whpx/whpx-accel-ops.c | 1 + 8 files changed, 12 insertions(+), 6 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 6d0791d73a4..dc8df9ba7dd 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -67,6 +67,7 @@ struct AccelOpsClass { void (*synchronize_state)(CPUState *cpu); void (*synchronize_pre_loadvm)(CPUState *cpu); =20 + /* handle_interrupt is mandatory. */ void (*handle_interrupt)(CPUState *cpu, int old_mask, int new_mask); =20 /* get_vcpu_stats: Append statistics of this @cpu to @buf */ @@ -93,4 +94,6 @@ struct AccelOpsClass { void (*remove_all_breakpoints)(CPUState *cpu); }; =20 +void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); + #endif /* ACCEL_OPS_H */ diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index b61f08330f1..420630773c8 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -355,6 +355,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->cpu_thread_routine =3D hvf_cpu_thread_fn, ops->kick_vcpu_thread =3D hvf_kick_vcpu_thread; + ops->handle_interrupt =3D generic_handle_interrupt; =20 ops->synchronize_post_reset =3D hvf_cpu_synchronize_post_reset; ops->synchronize_post_init =3D hvf_cpu_synchronize_post_init; diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index 841024148e1..b79c04b6267 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -85,6 +85,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; ops->synchronize_state =3D kvm_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D kvm_cpu_synchronize_pre_loadvm; + ops->handle_interrupt =3D generic_handle_interrupt; =20 #ifdef TARGET_KVM_HAVE_GUEST_DEBUG ops->update_guest_debug =3D kvm_update_guest_debug_ops; diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 9f30098d133..47fa9e38ce3 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -68,6 +68,7 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; + ops->handle_interrupt =3D generic_handle_interrupt; }; =20 static const TypeInfo qtest_accel_ops_type =3D { diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index e2ad42c0d18..a51f4c5b2ad 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -154,6 +154,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; + ops->handle_interrupt =3D generic_handle_interrupt; } =20 static const TypeInfo xen_accel_ops_type =3D { diff --git a/system/cpus.c b/system/cpus.c index 8c2647f5f19..efe1a5e211b 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -246,7 +246,7 @@ int64_t cpus_get_elapsed_ticks(void) return cpu_get_ticks(); } =20 -static void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_= mask) +void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) { if (!qemu_cpu_is_self(cpu)) { qemu_cpu_kick(cpu); @@ -261,11 +261,7 @@ void cpu_interrupt(CPUState *cpu, int mask) =20 cpu->interrupt_request |=3D mask; =20 - if (cpus_accel->handle_interrupt) { - cpus_accel->handle_interrupt(cpu, old_mask, cpu->interrupt_request= ); - } else { - generic_handle_interrupt(cpu, old_mask, cpu->interrupt_request); - } + cpus_accel->handle_interrupt(cpu, old_mask, cpu->interrupt_request); } =20 /* @@ -674,6 +670,7 @@ void cpus_register_accel(const AccelOpsClass *ops) { assert(ops !=3D NULL); assert(ops->create_vcpu_thread || ops->cpu_thread_routine); + assert(ops->handle_interrupt); cpus_accel =3D ops; } =20 diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index bef6f61b776..d568cc737b1 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -77,6 +77,7 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) =20 ops->cpu_thread_routine =3D qemu_nvmm_cpu_thread_fn; ops->kick_vcpu_thread =3D nvmm_kick_vcpu_thread; + ops->handle_interrupt =3D generic_handle_interrupt; =20 ops->synchronize_post_reset =3D nvmm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D nvmm_cpu_synchronize_post_init; diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index 8cbc6f4e2d8..fbffd952ac4 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -80,6 +80,7 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->cpu_thread_routine =3D whpx_cpu_thread_fn; ops->kick_vcpu_thread =3D whpx_kick_vcpu_thread; ops->cpu_thread_is_idle =3D whpx_vcpu_thread_is_idle; + ops->handle_interrupt =3D generic_handle_interrupt; =20 ops->synchronize_post_reset =3D whpx_cpu_synchronize_post_reset; ops->synchronize_post_init =3D whpx_cpu_synchronize_post_init; --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482837; cv=none; d=zohomail.com; s=zohoarc; b=AJxSWK2B7i4Fr+KdKI9p+GZghiW+6TLNctOTsTY9hILZK79pOdoSQ2xcuIknFnPvaaUTYNFuQBV4kXgD6hiru+r8yuybjImFE28hQeceZ8u+kOcw4WuWsL+4KQPNJa40HUpWlTZILzBIh2bdrhCKx+MCpDyzPSKF71NH8+1r3CY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482837; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=2MeO0MVHQxtzOMjVIG+Z9L61DD5vh1obKnrosrBS7YI=; b=GlPlq7YP2NAzv4tJK3ksdl0WtW1vl1nw2uEyPC1VC1afwqPOWmHZkNYbzcsBtmVBhwrGm1BQDUHYeSvLTmF0xhB3E+NSvUsil3hg2bXhpWwLx4D6yXUeQqVai1VcQy88t5kzHljUZa3BuYYNdCOy/qscYm/YFPIYO10xsJiyAWI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751482837356615.3578186021377; Wed, 2 Jul 2025 12:00:37 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031483.1405319 (Exim 4.92) (envelope-from ) id 1uX2gw-0006qv-UI; Wed, 02 Jul 2025 19:00:22 +0000 Received: by outflank-mailman (output) from mailman id 1031483.1405319; Wed, 02 Jul 2025 19:00:22 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gw-0006qo-PW; Wed, 02 Jul 2025 19:00:22 +0000 Received: by outflank-mailman (input) for mailman id 1031483; Wed, 02 Jul 2025 19:00:21 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gv-0004a7-1Y for xen-devel@lists.xenproject.org; Wed, 02 Jul 2025 19:00:21 +0000 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [2a00:1450:4864:20::436]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c6ebc7bb-5776-11f0-b894-0df219b8e170; Wed, 02 Jul 2025 21:00:10 +0200 (CEST) Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a51481a598so2796089f8f.3 for ; Wed, 02 Jul 2025 12:00: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 ffacd0b85a97d-3a88c7e6f23sm17160457f8f.11.2025.07.02.12.00.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:09 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c6ebc7bb-5776-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482810; x=1752087610; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2MeO0MVHQxtzOMjVIG+Z9L61DD5vh1obKnrosrBS7YI=; b=somarGunwNZfDAoGVUNhCF3sn1qgZFrYG3x/++cui3LTqN0CE8+Sk+Qf+uSIuSJDE1 eTUfyjusafChXmcLHlU+S3LFuqHwsXDBq8oYhr0ixZyy8Xc8VXXQzlDj5+6y6pi3O7ii RT2CYcUlKPGv9t/noE8gXkmfSSrKMOTXx8OJqjo5u6XL1mCOTrnq+sWdxd96rZxiHCNQ 6KwSvMJF5tA8u9NHaCeO04PpdVO7UIjQTwG/54VN8ho7Sg3okwxdc7zrAias61Rj4772 Jy/IjAwSDweENa/laJSHdCBuEYyXRU2MAzqZATXQvyOFIAcM7uWpdaE6v3nC88fB2qWg rG0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482810; x=1752087610; 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=2MeO0MVHQxtzOMjVIG+Z9L61DD5vh1obKnrosrBS7YI=; b=OvM6b7SP9IG26YriK+3Rg5pDquXhq01P6rT44Kv1cG6jXZuNcDelBjFjUcEOCtdStN tb7VqRmyythMAL1LrwDQ1/hLn0oWuqaDezThhP1p0Zf9T1x7FUdmjOmtXOlaImgFsIoZ LSd0oEkSTv7lhlVrbksCv7QdwsuXfmO+JPmjY6dos9YJlw8djEUDJYC7DkjOMik0N3Mt +n6MUBq2Nqw81W4qLm3YRv2xDCFlFIObj+glYtWvAiukROi9sCrzdlSEI2Y4c5aRYS3Y LVNCO3VczJzwl+GQVFGrUzk0igLRHBiKq99zV5g5HWx5TK66kQh5fAoT05dB3idS6P4z owdA== X-Forwarded-Encrypted: i=1; AJvYcCUcNuBXEqIXaFwLtIRTsvePbqaXIQTJsRk4HfapnrktMY9J+gEkBqWM74YRP94jzE5BA83HNhOSjSE=@lists.xenproject.org X-Gm-Message-State: AOJu0YzkmsUbMhuG5y1OQOJZ5XsOebwuvh7SiGpNFHKj0DfojoGoG6WP yFdk/IEM41DBvD5OEb5vM4JB7r2yzKemMPq5FEV5QrehL/57CieMGKpR676x69vxuKM= X-Gm-Gg: ASbGncsBTnrovGDbqJd5igcqEKmbsnQML+YYLqDLtqwORxz1BZSm0OpD/6BleHdJa4S QqPPxIG6kTdJiQEsAa7rdMDBxeQ3cBuUPgX5WD7TZtGxP70IzlphDyU5BA2iJizAnINnuwVrB4f 1WN4shtlkS66AHUDygFm1AV//T+uu790boXeUq/QEPL1GPbn0z5kelTCHIRNqDa01YdmfiXzeLN Ge/yAXhye7pu8Pa1IksTZKS+Na7Kj0sMT192RKLyLvh6IZE0SYcBdgpOVXH6fMQYOpbZY9FZUH1 oQngWiJR70s0zuMv/CYF1QI8aeHUDcglisnTpfxYp2JAYJ5GENmMAs9f2uEQAhSZ1sp18+op/iO B5nhM+lzCGBjo/bor3mvEAQRuACOCfrqr5B28 X-Google-Smtp-Source: AGHT+IGAzFYW2tCDZllrD+UyqAdQOcQvAD/ViiyKPGAS9AB0EUk4i5HkuSqBJEdDHxidIq6E8KU+xg== X-Received: by 2002:a05:6000:4807:b0:3a6:d579:ec21 with SMTP id ffacd0b85a97d-3b1fe5beeeemr3514236f8f.12.1751482809769; Wed, 02 Jul 2025 12:00:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , kvm@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v4 57/65] accel: Always register AccelOpsClass::kick_vcpu_thread() handler Date: Wed, 2 Jul 2025 20:53:19 +0200 Message-ID: <20250702185332.43650-58-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482838881116600 In order to dispatch over AccelOpsClass::kick_vcpu_thread(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::kick_vcpu_thread() mandatory. Register the default cpus_kick_thread() for each accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- include/system/accel-ops.h | 1 + accel/kvm/kvm-accel-ops.c | 1 + accel/qtest/qtest.c | 1 + accel/xen/xen-all.c | 1 + system/cpus.c | 7 ++----- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index dc8df9ba7dd..e1e6985a27c 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -43,6 +43,7 @@ struct AccelOpsClass { void *(*cpu_thread_routine)(void *); void (*thread_precreate)(CPUState *cpu); void (*create_vcpu_thread)(CPUState *cpu); + /* kick_vcpu_thread is mandatory. */ void (*kick_vcpu_thread)(CPUState *cpu); bool (*cpu_thread_is_idle)(CPUState *cpu); =20 diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index b79c04b6267..a4bcaa87c8d 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -81,6 +81,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) =20 ops->cpu_thread_routine =3D kvm_vcpu_thread_fn; ops->cpu_thread_is_idle =3D kvm_vcpu_thread_is_idle; + ops->kick_vcpu_thread =3D cpus_kick_thread; ops->synchronize_post_reset =3D kvm_cpu_synchronize_post_reset; ops->synchronize_post_init =3D kvm_cpu_synchronize_post_init; ops->synchronize_state =3D kvm_cpu_synchronize_state; diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 47fa9e38ce3..8e2379d6e37 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -66,6 +66,7 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; + ops->kick_vcpu_thread =3D cpus_kick_thread; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; ops->handle_interrupt =3D generic_handle_interrupt; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index a51f4c5b2ad..18ae0d82db5 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -154,6 +154,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) =20 ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; + ops->kick_vcpu_thread =3D cpus_kick_thread; ops->handle_interrupt =3D generic_handle_interrupt; } =20 diff --git a/system/cpus.c b/system/cpus.c index efe1a5e211b..6c64ffccbb3 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -486,11 +486,7 @@ void cpus_kick_thread(CPUState *cpu) void qemu_cpu_kick(CPUState *cpu) { qemu_cond_broadcast(cpu->halt_cond); - if (cpus_accel->kick_vcpu_thread) { - cpus_accel->kick_vcpu_thread(cpu); - } else { /* default */ - cpus_kick_thread(cpu); - } + cpus_accel->kick_vcpu_thread(cpu); } =20 void qemu_cpu_kick_self(void) @@ -670,6 +666,7 @@ void cpus_register_accel(const AccelOpsClass *ops) { assert(ops !=3D NULL); assert(ops->create_vcpu_thread || ops->cpu_thread_routine); + assert(ops->kick_vcpu_thread); assert(ops->handle_interrupt); cpus_accel =3D ops; } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482831; cv=none; d=zohomail.com; s=zohoarc; b=C+ncp23NSdSW2Kf6+BCtFk8H/MuCh7RaoXNQN6zfxV26m/+B3sCPvRcNdRAyaQR0f+6gdTvQK3kj6TQkSXYg1Bs48klnJrihHE9os5A/OCmXSTNxsQpQLsOpSe0OWaRxpMFlsce+QZQjDDTHUz8Ed6xQIyRgI6qzRMGKfB1LpUA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482831; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=qjqfaworQi5+uUmLYrSAUcjlpIaexJI+AEwRhAoMmIE=; b=SyHCetsyKZQ76mID5vRdy+m+jg3iopB/at+ixx/GM+V0fY4RyRa30detIvbTExKsSfD511uTxYEWHn27oPc+EiSwyFbKQZRdeGuVoXEUbj2FN5dNG9/rGAns8OE6ZcFunr7r1CZjexuhbxHfcoWSgD+bxGwYptYAIdq948DX1Dw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751482831012750.1424317483132; Wed, 2 Jul 2025 12:00:31 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031481.1405309 (Exim 4.92) (envelope-from ) id 1uX2gr-0006Yi-NQ; Wed, 02 Jul 2025 19:00:17 +0000 Received: by outflank-mailman (output) from mailman id 1031481.1405309; Wed, 02 Jul 2025 19:00:17 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gr-0006Yb-If; Wed, 02 Jul 2025 19:00:17 +0000 Received: by outflank-mailman (input) for mailman id 1031481; Wed, 02 Jul 2025 19:00:16 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gq-0004Hv-FS for xen-devel@lists.xenproject.org; Wed, 02 Jul 2025 19:00:16 +0000 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [2a00:1450:4864:20::32a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id ca313890-5776-11f0-a314-13f23c93f187; Wed, 02 Jul 2025 21:00:16 +0200 (CEST) Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-451ebd3d149so26705225e9.2 for ; Wed, 02 Jul 2025 12:00: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-454a997b492sm5832775e9.13.2025.07.02.12.00.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:14 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: ca313890-5776-11f0-a314-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482815; x=1752087615; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qjqfaworQi5+uUmLYrSAUcjlpIaexJI+AEwRhAoMmIE=; b=A7uEaqy1PtSmQJwhIfDQ0SfTujJaA7/d5YdxAUMjr/CVYqlievZ7Wbo3v6iy5h5IHO dbR94UJcz7sKHFM6loQwOo6XuR086BtOjzObkFerAnuonf5giTYGozHRlje36tnSNbe0 oOGXEtAuDmXpx630Fh9GhOgEVvOumGmLOkEw9XarPijkrlwb0dRtD3mSZDf7EFCs/4Ap Yw2ojVGIQ26YV6XIbTQbBGInC6awidKFFfyB2hbnCmX3KvdCvYLq9ExL3ZgDtCQMQjJd +L5Xzg9LwsYRxDIYnAsy1TEnX2kVyAAMOxBp1Au3BYuXToSaSxhLKj0ppISx9t/JY9cf ytTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482815; x=1752087615; 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=qjqfaworQi5+uUmLYrSAUcjlpIaexJI+AEwRhAoMmIE=; b=Qz8XYTTA4VYwRMI/ljXBHKeUcUigfe/ZivdG+H0PrBdOFx97xqjPDpRyax1dkJq0cs eGDjzxsTP6Y1pvcTTz7+K4D74qqcEx9RsxxWK5vcv4u6RN4dQVZd3JBXhYz60DNNfCei VBDnQOC2CxN41qe03cEPoGzj/9sHI4FXKGi74DcP2fk/meH1OVKytv0h864gBZqLFjrw WPakP6JFMkEowFNp5aagkW0eH3jMe1BFvqyZkVfDrUnE5hbO9z/tG/7aK5E2pRO0UJwE 9OgxFrd5HWUsuKkUAVPJ/gB+HYQi4R3BHLAr55T6MLgDo1X3REWR5dIOdVvEiP1nfBw4 /LbA== X-Forwarded-Encrypted: i=1; AJvYcCUMDEzoGv3gwB0Gk9slQ/WNYMNzW+c4dGD3CCSmAap5ndwEk6ysDzO0MkfptTIbU8m2JAccDG0vm5M=@lists.xenproject.org X-Gm-Message-State: AOJu0Yzx9f45OavI2geZOwPJzIOfKksdvX0MFOTYZlPpM08Cn2HYQGjQ EZLacqeAT85jzUlFbPVc+yVkqiEmif4WaLO6Uv7OO2EYdaXA8G/2Oy3fuUOMALBVhiE= X-Gm-Gg: ASbGncvhAn9X2dY1SwBMbv2J5hXrR/UsICh4yCfBdGNWIvg3vAIT3pxTv0vdiWPeH7/ Ki/il1ya6oyWTEd7emTVbZee8UPPFHg7E59q030LwF3GNzhOH6F3dD8gIQ98Ze5M2q2SRIOIEyJ u7uv8xMoExi9baaVUpZsyEs2vetFcCX4t9lLFc5YjBJKCvRraBRJsZeVcpQfPOr6CDVXDSAh9r5 dwfftpPH4xaor1vRexjU7Qw6hDkLIGWkxY28ZzSsOmzZ1lIPNx88XqqxOLHJJdTy3IHJxISNDvV qqzRyZHEdp1tHcjAp6ZKkkjb0Td9peQGNnzdSsMg5Mj7eWg+YooWAB8xGoKA3RITsnKVh3TqGVB EbjT/DfjyqVnjjU+CMypLxDoH17D1y6UmslO4 X-Google-Smtp-Source: AGHT+IEMsqDmMhc/MmoijRDQjf3Y2fDb5Gx/YmjzjJrapmNl0kjGvDhI6axGOrVibgjZIifLKxTGyg== X-Received: by 2002:a05:600c:6309:b0:445:1984:247d with SMTP id 5b1f17b1804b1-454aa185780mr4322005e9.7.1751482815180; Wed, 02 Jul 2025 12:00:15 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Fabiano Rosas , Laurent Vivier , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Reinoud Zandijk , Sunil Muthuswamy , kvm@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v4 58/65] accel: Always register AccelOpsClass::get_elapsed_ticks() handler Date: Wed, 2 Jul 2025 20:53:20 +0200 Message-ID: <20250702185332.43650-59-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482832980116600 In order to dispatch over AccelOpsClass::get_elapsed_ticks(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::get_elapsed_ticks() mandatory. Register the default cpus_kick_thread() for each accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- include/system/accel-ops.h | 1 + accel/hvf/hvf-accel-ops.c | 2 ++ accel/kvm/kvm-accel-ops.c | 3 +++ accel/qtest/qtest.c | 2 ++ accel/tcg/tcg-accel-ops.c | 3 +++ accel/xen/xen-all.c | 2 ++ system/cpus.c | 6 ++---- target/i386/nvmm/nvmm-accel-ops.c | 3 +++ target/i386/whpx/whpx-accel-ops.c | 3 +++ 9 files changed, 21 insertions(+), 4 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index e1e6985a27c..8683cd37716 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -86,6 +86,7 @@ struct AccelOpsClass { int64_t (*get_virtual_clock)(void); void (*set_virtual_clock)(int64_t time); =20 + /* get_elapsed_ticks is mandatory. */ int64_t (*get_elapsed_ticks)(void); =20 /* gdbstub hooks */ diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 420630773c8..17776e700eb 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -54,6 +54,7 @@ #include "gdbstub/enums.h" #include "exec/cpu-common.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "system/hvf.h" #include "system/hvf_int.h" @@ -367,6 +368,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->remove_all_breakpoints =3D hvf_remove_all_breakpoints; ops->update_guest_debug =3D hvf_update_guest_debug; =20 + ops->get_elapsed_ticks =3D cpu_get_ticks; ops->get_vcpu_stats =3D hvf_get_vcpu_stats; }; =20 diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index a4bcaa87c8d..f27228d4cd9 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -17,6 +17,7 @@ #include "qemu/error-report.h" #include "qemu/main-loop.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/kvm.h" #include "system/kvm_int.h" #include "system/runstate.h" @@ -94,6 +95,8 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) ops->remove_breakpoint =3D kvm_remove_breakpoint; ops->remove_all_breakpoints =3D kvm_remove_all_breakpoints; #endif + + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo kvm_accel_ops_type =3D { diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 8e2379d6e37..b019cf69412 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -20,6 +20,7 @@ #include "qemu/accel.h" #include "system/accel-ops.h" #include "system/qtest.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "qemu/guest-random.h" #include "qemu/main-loop.h" @@ -67,6 +68,7 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->thread_precreate =3D dummy_thread_precreate; ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->kick_vcpu_thread =3D cpus_kick_thread; + ops->get_elapsed_ticks =3D cpu_get_ticks; ops->get_virtual_clock =3D qtest_get_virtual_clock; ops->set_virtual_clock =3D qtest_set_virtual_clock; ops->handle_interrupt =3D generic_handle_interrupt; diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index a8c24cf8a4c..f22f5d73abe 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -27,6 +27,7 @@ =20 #include "qemu/osdep.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/tcg.h" #include "system/replay.h" #include "exec/icount.h" @@ -205,6 +206,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->cpu_thread_routine =3D mttcg_cpu_thread_routine; ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; ops->handle_interrupt =3D tcg_handle_interrupt; + ops->get_elapsed_ticks =3D cpu_get_ticks; } else { ops->create_vcpu_thread =3D rr_start_vcpu_thread; ops->kick_vcpu_thread =3D rr_kick_vcpu_thread; @@ -215,6 +217,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->get_elapsed_ticks =3D icount_get; } else { ops->handle_interrupt =3D tcg_handle_interrupt; + ops->get_elapsed_ticks =3D cpu_get_ticks; } } =20 diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index 18ae0d82db5..48d458bc4c7 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -20,6 +20,7 @@ #include "qemu/accel.h" #include "accel/dummy-cpus.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "system/xen.h" #include "system/runstate.h" @@ -156,6 +157,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->cpu_thread_routine =3D dummy_cpu_thread_routine; ops->kick_vcpu_thread =3D cpus_kick_thread; ops->handle_interrupt =3D generic_handle_interrupt; + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo xen_accel_ops_type =3D { diff --git a/system/cpus.c b/system/cpus.c index 6c64ffccbb3..d32b89ecf7b 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -240,10 +240,7 @@ void cpus_set_virtual_clock(int64_t new_time) */ int64_t cpus_get_elapsed_ticks(void) { - if (cpus_accel->get_elapsed_ticks) { - return cpus_accel->get_elapsed_ticks(); - } - return cpu_get_ticks(); + return cpus_accel->get_elapsed_ticks(); } =20 void generic_handle_interrupt(CPUState *cpu, int old_mask, int new_mask) @@ -668,6 +665,7 @@ void cpus_register_accel(const AccelOpsClass *ops) assert(ops->create_vcpu_thread || ops->cpu_thread_routine); assert(ops->kick_vcpu_thread); assert(ops->handle_interrupt); + assert(ops->get_elapsed_ticks); cpus_accel =3D ops; } =20 diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index d568cc737b1..4deff57471c 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -11,6 +11,7 @@ #include "system/kvm_int.h" #include "qemu/main-loop.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "qemu/guest-random.h" =20 @@ -83,6 +84,8 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_post_init =3D nvmm_cpu_synchronize_post_init; ops->synchronize_state =3D nvmm_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D nvmm_cpu_synchronize_pre_loadvm; + + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo nvmm_accel_ops_type =3D { diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index fbffd952ac4..f47033a502c 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -12,6 +12,7 @@ #include "system/kvm_int.h" #include "qemu/main-loop.h" #include "system/accel-ops.h" +#include "system/cpu-timers.h" #include "system/cpus.h" #include "qemu/guest-random.h" =20 @@ -86,6 +87,8 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_post_init =3D whpx_cpu_synchronize_post_init; ops->synchronize_state =3D whpx_cpu_synchronize_state; ops->synchronize_pre_loadvm =3D whpx_cpu_synchronize_pre_loadvm; + + ops->get_elapsed_ticks =3D cpu_get_ticks; } =20 static const TypeInfo whpx_accel_ops_type =3D { --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751482836; cv=none; d=zohomail.com; s=zohoarc; b=VPvzvPoyCotYzAoem8FzVmWcoCqHTnAu1s3P/Z6yGKFYWHBJZpnxJQQHrjdzWAspi0IKe9xkFDHam9GfayMbfWHAcGqvUd3/S7ehia4kMw8Tx0fwkpPw1vVQu0Xn5BxMgwl5CX/l1YfNSL/Ip/5RtN8vG9MyOUcijBmvuP+en3U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751482836; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Tpiuwut0yPfLD1eGlX+EYtVIl2/TnFL9WqDtVZoJUMA=; b=V2yoOx2fCTseJN5CQ41xIUEOf34pGPptvdvmZa/M+fd4KLtCEyn1lsDGHOmQG2VFdzzBqsJUsXwTahsrQYjngyok6d3doav4VFHXLemW6SCEtZmlE/fQAagUjH85nfIa1NAsbD3GR1UF+GKv03oUkSfO+R6gyj5VbgAM01efxOc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751482836935967.627776383031; Wed, 2 Jul 2025 12:00:36 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1031485.1405329 (Exim 4.92) (envelope-from ) id 1uX2gy-00076D-49; Wed, 02 Jul 2025 19:00:24 +0000 Received: by outflank-mailman (output) from mailman id 1031485.1405329; Wed, 02 Jul 2025 19:00:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gy-000761-13; Wed, 02 Jul 2025 19:00:24 +0000 Received: by outflank-mailman (input) for mailman id 1031485; Wed, 02 Jul 2025 19:00:22 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uX2gw-0004a7-Sh for xen-devel@lists.xenproject.org; Wed, 02 Jul 2025 19:00:22 +0000 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [2a00:1450:4864:20::42c]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id cd568ecb-5776-11f0-b894-0df219b8e170; Wed, 02 Jul 2025 21:00:21 +0200 (CEST) Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a50fc7ac4dso3350675f8f.0 for ; Wed, 02 Jul 2025 12:00: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 ffacd0b85a97d-3a892e61f48sm16952111f8f.93.2025.07.02.12.00.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:19 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: cd568ecb-5776-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482821; x=1752087621; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tpiuwut0yPfLD1eGlX+EYtVIl2/TnFL9WqDtVZoJUMA=; b=RaeqcKcF24uNHdIdvtB2Cbvchq227F7vGQu7ggT5yBN+1usVOKfkWu+iouSMpuPq0L 5yrbWqAj01H1BX676AlWz1UXtXoKpeAPZdprOCblfGcPcfoleGHMSEuldRMWzk8D7LeX eiONcfGN/p0mebDgW9cCF6+uMKeWMVB8mrtlzT9SJMEEnjs6NzpiJmxlKApqIBDKRGlw NOZME+NYKrtxjC2abZGSwzGmJDmalHV+fcQqfTSMz2yhHHDFXwNKErD8z+MArVpp2146 vRVoe/IJSrnUkPXVDq9HJZpCYwzVBHhYnQalnqTgJ+cZsre1ip3/U6H5SyzAgAOsjTP0 wcTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482821; x=1752087621; 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=Tpiuwut0yPfLD1eGlX+EYtVIl2/TnFL9WqDtVZoJUMA=; b=gRvyR0io+M10EZp5a7P6s+wx55IFr2RPYsr2PtTe3fHqCOK2aI6T3jxKppKbcl9KKb 0DM0z68D5IKVWK3L9cP128zrn8aBomeveYjuuZdTZbXBAe5m4CzP0OHbTTrKW1pq5igX RwwoX7SeELCUcg/1XSTJ9CcrrIl+8w1qHLxCd022xuy85f9Ptl1UMZxKlIVevfvCCf4x Nyeg6/ngQwLGREWpLoQtD+nW/tSxzE0WTBrSjh5StU1avkp/rXDSVRPevG63JJSkCJl6 759xcciiaDi2sovocuU0Pi4hzn/pcRGvxp+G+nuO5Wz+qyOYd4quJCw6VBJ+n0VMz3Pr JCmQ== X-Forwarded-Encrypted: i=1; AJvYcCUtdIzNrz8CEZxa2Z2w2/jdsPBP6Qih18shEL9pAbFoW5OMQqw2O6sN2090nX+cEiZj0/h5RW3h3Po=@lists.xenproject.org X-Gm-Message-State: AOJu0YxK3YKQvOn/lEX+OFQNDLX5EEUE9h64wQNUUaiq8TKWVG8dHrhs 91JjcwQCDoJJBEpYrLSAFEEhl2jB36JdHLLav/HHYV9Ljhs9J8nEoxv4yuaEKqaHEkA= X-Gm-Gg: ASbGncsXuJW5vAOTK/hIUbRLhguD3mvqeshysHninOkk8kORMinzRDcB6wXjO9p9KoX YjT4E9IHZMMPVQqDdxHf8O1fbRHaxbdwzXY5JV1F6/436gKNc8gAlIrVtLVyK87zj5UWXD9Wh1e VVbHE33jYuwXA8aa8LPPGKWHYYd9DEB01qSGJZAwz6MHqvuLMpJ/JUeCSmal0J4T40tw/8v8eRX r+fItl2Tz5l4FnQVVE46xCJI/2XhewFCTnYz+I0kZAfL11kFuWpxyE+DWjwHYiPMz9vrwjmWvSU a0GMIF7EtjBtqpsRQOIq/489nsjK5FBsM6R/SCCrPWuYbDccLDd2kGw10C7JHv6m1e112DicDfB fyYBbKQYseatzkx3qbiIYP+4iLBi1BEBMal+V X-Google-Smtp-Source: AGHT+IF4lYebmXSJDkkpbBSrLVcnunRXwUEzJB3h3bw75jfnHK3g6xjQIPKWwyLiIUvuXZNP2uw57w== X-Received: by 2002:a05:6000:1886:b0:3a5:8600:7cff with SMTP id ffacd0b85a97d-3b1fd74c4b7mr3684763f8f.1.1751482820568; Wed, 02 Jul 2025 12:00:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cameron Esfahani , Roman Bolshakov , Phil Dennis-Jordan , Mads Ynddal , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Reinoud Zandijk , Sunil Muthuswamy , kvm@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v4 59/65] accel: Always register AccelOpsClass::get_virtual_clock() handler Date: Wed, 2 Jul 2025 20:53:21 +0200 Message-ID: <20250702185332.43650-60-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751482838980116600 In order to dispatch over AccelOpsClass::get_virtual_clock(), we need it always defined, not calling a hidden handler under the hood. Make AccelOpsClass::get_virtual_clock() mandatory. Register the default cpus_kick_thread() for each accelerator. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- include/system/accel-ops.h | 2 ++ accel/hvf/hvf-accel-ops.c | 1 + accel/kvm/kvm-accel-ops.c | 1 + accel/tcg/tcg-accel-ops.c | 2 ++ accel/xen/xen-all.c | 1 + system/cpus.c | 7 ++++--- target/i386/nvmm/nvmm-accel-ops.c | 1 + target/i386/whpx/whpx-accel-ops.c | 1 + 8 files changed, 13 insertions(+), 3 deletions(-) diff --git a/include/system/accel-ops.h b/include/system/accel-ops.h index 8683cd37716..d5154acc75a 100644 --- a/include/system/accel-ops.h +++ b/include/system/accel-ops.h @@ -82,6 +82,8 @@ struct AccelOpsClass { * fetch time. The set function is needed if the accelerator wants * to track the changes to time as the timer is warped through * various timer events. + * + * get_virtual_clock() is mandatory. */ int64_t (*get_virtual_clock)(void); void (*set_virtual_clock)(int64_t time); diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 17776e700eb..cf623a1ea47 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -369,6 +369,7 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->update_guest_debug =3D hvf_update_guest_debug; =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; ops->get_vcpu_stats =3D hvf_get_vcpu_stats; }; =20 diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index f27228d4cd9..dde498e0626 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -97,6 +97,7 @@ static void kvm_accel_ops_class_init(ObjectClass *oc, con= st void *data) #endif =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo kvm_accel_ops_type =3D { diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index f22f5d73abe..780e9debbc4 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -207,6 +207,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->kick_vcpu_thread =3D mttcg_kick_vcpu_thread; ops->handle_interrupt =3D tcg_handle_interrupt; ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } else { ops->create_vcpu_thread =3D rr_start_vcpu_thread; ops->kick_vcpu_thread =3D rr_kick_vcpu_thread; @@ -217,6 +218,7 @@ static void tcg_accel_ops_init(AccelClass *ac) ops->get_elapsed_ticks =3D icount_get; } else { ops->handle_interrupt =3D tcg_handle_interrupt; + ops->get_virtual_clock =3D cpu_get_clock; ops->get_elapsed_ticks =3D cpu_get_ticks; } } diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index 48d458bc4c7..85fb9d1606c 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -158,6 +158,7 @@ static void xen_accel_ops_class_init(ObjectClass *oc, c= onst void *data) ops->kick_vcpu_thread =3D cpus_kick_thread; ops->handle_interrupt =3D generic_handle_interrupt; ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo xen_accel_ops_type =3D { diff --git a/system/cpus.c b/system/cpus.c index d32b89ecf7b..6c99756346a 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -216,10 +216,10 @@ int64_t cpus_get_virtual_clock(void) * * XXX */ - if (cpus_accel && cpus_accel->get_virtual_clock) { - return cpus_accel->get_virtual_clock(); + if (!cpus_accel) { + return cpu_get_clock(); } - return cpu_get_clock(); + return cpus_accel->get_virtual_clock(); } =20 /* @@ -666,6 +666,7 @@ void cpus_register_accel(const AccelOpsClass *ops) assert(ops->kick_vcpu_thread); assert(ops->handle_interrupt); assert(ops->get_elapsed_ticks); + assert(ops->get_virtual_clock); cpus_accel =3D ops; } =20 diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-acce= l-ops.c index 4deff57471c..a2e84cb087a 100644 --- a/target/i386/nvmm/nvmm-accel-ops.c +++ b/target/i386/nvmm/nvmm-accel-ops.c @@ -86,6 +86,7 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_pre_loadvm =3D nvmm_cpu_synchronize_pre_loadvm; =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo nvmm_accel_ops_type =3D { diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-acce= l-ops.c index f47033a502c..d27e89dd9c5 100644 --- a/target/i386/whpx/whpx-accel-ops.c +++ b/target/i386/whpx/whpx-accel-ops.c @@ -89,6 +89,7 @@ static void whpx_accel_ops_class_init(ObjectClass *oc, co= nst void *data) ops->synchronize_pre_loadvm =3D whpx_cpu_synchronize_pre_loadvm; =20 ops->get_elapsed_ticks =3D cpu_get_ticks; + ops->get_virtual_clock =3D cpu_get_clock; } =20 static const TypeInfo whpx_accel_ops_type =3D { --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483223; cv=none; d=zohomail.com; s=zohoarc; b=gPMXDpkDLwzZcP8GclMA1EOg9M2dKekXfjxP1zEpvmTDUdi49/owolbqzBFh6lBBchD5LQOsemrsqmQDjPtONRGZL6GEV92j0aYAPD/MaA9SAIBwi9zRWeqgJ95dE9dkp536bz3AMioTTw+r3fedE8EZ7cLMMTl5bs1hptIDvnI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483223; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=llrZ7gc2yCtOz59p3Nw/rqzAevesIHtbma42LIMfbw8=; b=QNNVLKp9OQvv/zBPs6UIShUvAOBKXoB2Oeg3U2JNmKR1k3xJaLEqXTmx1rbWOBi91aPBcebLkIdxnPPK+UkTydlhWCqAD6mJlSW+1/ITwsrDgBlxtpuic/Xam/geoISqQQvOsDAjR8RMw6wNfMNlU4OfOm5cyILvz32y/j6Bnjc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17514832235411.515603515318844; Wed, 2 Jul 2025 12:07:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hS-000852-EB; Wed, 02 Jul 2025 15:00: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 1uX2h5-00079b-Te for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:40 -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 1uX2h3-0003X3-S2 for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:31 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a6cd1a6fecso7748605f8f.3 for ; Wed, 02 Jul 2025 12:00: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 5b1f17b1804b1-454a9978c83sm5762955e9.13.2025.07.02.12.00.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482825; x=1752087625; 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=llrZ7gc2yCtOz59p3Nw/rqzAevesIHtbma42LIMfbw8=; b=N/+1bslpIyhk6+LGwFuay43GGehPtdaW7uP7Rit322kmBGG6GFqx1cJHgrUzQY8si+ m5qSPzv5i8Lh/niyMdUyKnBtpvWff7+Zgyzp24AJnlCWlydgWilrjkda9/MkehhHb/w8 prfFkI6J7U33k4MsdRyk7cyB4awVwJ7suTvTO5CTLXXyEOry5j1wv5yExtB0afuVryzM Vll4naK6dtut65WBhhM9LuXyeZmOdDnIvwktJyeo774K/W3TdXHF7jZpb3conBat9aBm h/ooLCuxpcbNvQJDLXsl5crRqZRZBd3jLXicNphIzV/T+RkcNAvx7aYkHhSVHeX4n+A7 tXcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482825; x=1752087625; 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=llrZ7gc2yCtOz59p3Nw/rqzAevesIHtbma42LIMfbw8=; b=wv0dS8XXqzvzItvsdtNQNFze3GwJEZTGd7e5Vq92MTYymiwHkZXOmOqHacorCEKO2d 9jDGYF1/xGbNMM/bJyK7fLOEJKtuZwqkMm5WCFjw7RoerL1VYywKrojD791Imgq/YYjk Rn5jUDEqU2NX0/H2ad0F2X4y7cT0nDMEE0EfLpqHhytFcUT2kHDM0IeOxqgiJJ3vxRcw hJWVwsu8NCBbiCmFcbYEpQd8EPQ49bi2DQHkKo1NWAGADWhsoy0WnN9eHb82NqfApk1Z GAcPJGliH0gFQch+cD+IGCsc8Fv2hXoJS01vkkOs5LUtmzvG/umSEntkv1X/j0MB8Z6R E3DA== X-Gm-Message-State: AOJu0YxLt59J680YCGGJJaG8TUyX9jroSrul2T1SyPKoFvJvmr51V1pc h9ffMbqXCu8El9us4mgYXCKzp7E/xOqc1PbhKHYUFy7B11/W0sDDxZkmjbzTNsXaeaQfVy0H+Xo pC3ja X-Gm-Gg: ASbGncs7e76+cnHyXnG9CyeeeSoZgLORm8fy2HC1FpjlvV5+ODmATSI3QUe0D18Wk6r bkraT9Zoh12fkISksoor4hg9zOdh+pbq7DPRHRwedeqdNnlArqLv6zc5kf5okhDLkjfj/QOUuEu TxX7bkT3AH4rx58J171/bYNAvnQ+vPHkd6xXCGhj25sOPX3lau1aY3ppppoqqARpNpjgka6O23u IXgFZt9b2CXV0fQQoOPIYVbNaBU1t5gt/pUTu/XQVmGhMLufCQDT//oRhujOUDMeBi3Q1MT43kO lAFD6RJKGAbqBXK0YldnNbwwu3QLm3E0oeAZjtDMUCIC73Jsd5I2N21/5qhXjmFjsMVkZifeV7E YKMiQ9S4DhU6Hhy0oQhWWGngnpBPsERAi2MzpOaooBq+OfZo= X-Google-Smtp-Source: AGHT+IGKL24UNmCkiRhem9VsoWP/8UpU1Vk+VMZRqpAeORpUrjtABi2SGSU0CZErzDH1g8QzoPWKJQ== X-Received: by 2002:a05:6000:2b01:b0:3a4:f513:7f03 with SMTP id ffacd0b85a97d-3b20077164amr3084128f8f.44.1751482825346; Wed, 02 Jul 2025 12:00:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Xu , David Hildenbrand Subject: [PATCH v4 60/65] system/memory: Restrict eventfd dispatch_write() to emulators Date: Wed, 2 Jul 2025 20:53:22 +0200 Message-ID: <20250702185332.43650-61-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483224003116600 Commit 8c56c1a592b ("memory: emulate ioeventfd") added a !KVM check because the only accelerator available back then were TCG, QTest and KVM. Then commit 126e7f78036 ("kvm: require KVM_CAP_IOEVENTFD and KVM_CAP_IOEVENTFD_ANY_LENGTH") suggested '!KVM' check should be '(TCG || QTest)'. Later more accelerator were added. Implement the suggestion as a safety measure, not dispatching to eventfd when hardware accelerator is used. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/memory.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/system/memory.c b/system/memory.c index e8d9b15b28f..b072a6bef83 100644 --- a/system/memory.c +++ b/system/memory.c @@ -25,7 +25,7 @@ #include "qom/object.h" #include "trace.h" #include "system/ram_addr.h" -#include "system/kvm.h" +#include "system/qtest.h" #include "system/runstate.h" #include "system/tcg.h" #include "qemu/accel.h" @@ -1530,12 +1530,7 @@ MemTxResult memory_region_dispatch_write(MemoryRegio= n *mr, =20 adjust_endianness(mr, &data, op); =20 - /* - * FIXME: it's not clear why under KVM the write would be processed - * directly, instead of going through eventfd. This probably should - * test "tcg_enabled() || qtest_enabled()", or should just go away. - */ - if (!kvm_enabled() && + if ((tcg_enabled() || qtest_enabled()) && memory_region_dispatch_write_eventfds(mr, addr, data, size, attrs)= ) { return MEMTX_OK; } --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483332; cv=none; d=zohomail.com; s=zohoarc; b=H3qmGa6Pbs4PdlIWHVg445N9Q3zYAR4AfPHRgELz9csIyJq18OnpM0nYGNgulAipQLkc/eMPfRFde+qjCkyixLWnF1PxEAn3oX+w5l1fiRcwnExXDcsG5agnZdbooOa3eDTSSUcXlrrUF0ua/V0HseavwQ2AocHvwNKo3EIJ0Bc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483332; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=iVv77+T3+ACMfJtq+FwRrQOYxT41VnoDNDgY/IfZvIE=; b=VqAEQjKbuSNYpShF0fW35PVWoHx899wirvI22wCknYqZF3YeIdSfD+/NkjggwGQizwSZrD6SuIsNfmci69Y6HPvBoNH+LfkBjRNX5aPAwJ0NjJI9TmiA9gxPuNADKX6LjWR0j9YvFbHdCqOHhoemB6MAziLKvtV1wFttFTRfyrU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483332902776.4768337404907; Wed, 2 Jul 2025 12:08:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hZ-0008N3-Hk; Wed, 02 Jul 2025 15:01:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2h8-0007AV-5C for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:41 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uX2h6-0003YT-9H for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:33 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3a6d77b43c9so4496537f8f.3 for ; Wed, 02 Jul 2025 12:00: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 ffacd0b85a97d-3a88c7fa8fasm16625000f8f.28.2025.07.02.12.00.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482830; x=1752087630; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iVv77+T3+ACMfJtq+FwRrQOYxT41VnoDNDgY/IfZvIE=; b=JBT+1dAL6Hta2zQGK2fWUcDfhn1fQ3Lvq0YLEg7diu6wL5yu1voJXN0Hu5URv+g0Tk J1nFyjEcSxBeySEk9wdr47vwYgUHEmXpRuKctlXmOZOrCe+m4Iu86Ach0KGSYHrhfNIc IFHqitlF/Z7KgQn0Xo5UJWFsVqXrIOZuZ7lFkFHLd5AOtqHiR6D2kXZplhg0a4oT4yiI +kd1zYTgomIhCO3tCcRa5xYiCDrJBz2Xq7rJbsFqD5svtQk6IasM7c0AhTJ3WQEIo6mU EsY+kLzsfCbn89nhoBZh2neDzdcyZPE811GQiAcXN14nL9fU/6hkM3KZqGXrxcxniEz2 xvXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482830; x=1752087630; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iVv77+T3+ACMfJtq+FwRrQOYxT41VnoDNDgY/IfZvIE=; b=uXIFLqknbZVoe3ReTEGdgjK7fJ0eMPq06uo4kamF5E7G2opJJ7au9z45/vYw56lucs ypuc7NdPH4CIH8ADQpu97wuAiSR0LAJjNeLdQ2ddNOe6BedkceKoUfGfynX9uDU4bBkh HVIcApb315tOaw6DhmHhI+qi13WnxFkMqQOIK3KuleiwLMyFoFKIYaLTgSuuWVZKlpl9 CzyjXJGicjzE6fk61Y53z87Yamm+Wbxjo0ypcgPcutJ9llvVlhvf4pELlGM1sua3Amx/ +KwnircJEOiU5XZnUK5UZrzsnYaMWXAwQtGYw844F5X1GQV5i+OHsFnK8m3ZNDnhtmGp BxQA== X-Gm-Message-State: AOJu0YyLV77Xyfd2FDmJeX08mbmJOLwaDj/nUkT5UuMGCGRSYuRIHgEx w6e4syIfbeTddopTgzbCM1T8M3I/j3Frb3ms+w7QOHahqF0ZjFOUwknKN3AfAcTdC26YUZ+C9pr 8Vq75 X-Gm-Gg: ASbGncv2QD2V7u3GWjXdjXCkcAuSk7l64DHKg8FovuHsYfDs676uCSvWOaSUEgZFJAo UNlu862lTwRIXNPDyh5aDBVN3urOkad7x2Zh6di4h5+jkQ74K8zskpYf0ApCvZ8+nr50KufpqsF qcAIoGSN20jLXrJ7yofKo3e06zDEaehBBT715lVtZEjVqyh6DO36W1Kzycw9wacML3vdTRcMM2k tFTWpfGJjv0wM/9thIvempxtAj81OHwl2bNC5edrUcHYwthsitNq8zlcNnjhmdCpGSifWGt4/CP 4kYJoRaukt8KajRC5QCnANqW+RbF0C+yXtXE2XAyfpStDMJEcQE/fH/o4m7gtRJSWsBI8QT00+n l0Ks+152QOK+zJ9jEgqPC/BNXypb0AW1Mv37l X-Google-Smtp-Source: AGHT+IGma+r82gDRg/4iKpw8G/6qQzJjoyC2DBUU4JDIyKs5+ddWQBn5Jf3e8VyjUhK4em0OWNP+cg== X-Received: by 2002:a05:6000:188e:b0:3a0:a0d1:1131 with SMTP id ffacd0b85a97d-3b32b145797mr291997f8f.7.1751482830055; Wed, 02 Jul 2025 12:00:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 61/65] accel/tcg: Factor tcg_vcpu_init() out for re-use Date: Wed, 2 Jul 2025 20:53:23 +0200 Message-ID: <20250702185332.43650-62-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483333757116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops.h | 2 ++ accel/tcg/tcg-accel-ops-mttcg.c | 4 +++- accel/tcg/tcg-accel-ops-rr.c | 4 +++- accel/tcg/tcg-accel-ops.c | 7 +++++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/accel/tcg/tcg-accel-ops.h b/accel/tcg/tcg-accel-ops.h index 3f8eccb7a7f..a95d97fca29 100644 --- a/accel/tcg/tcg-accel-ops.h +++ b/accel/tcg/tcg-accel-ops.h @@ -20,4 +20,6 @@ int tcg_cpu_exec(CPUState *cpu); void tcg_handle_interrupt(CPUState *cpu, int old_mask, int new_mask); void tcg_cpu_init_cflags(CPUState *cpu, bool parallel); =20 +int tcg_vcpu_init(CPUState *cpu); + #endif /* TCG_ACCEL_OPS_H */ diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 96ce065eb59..4de506a80ca 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -79,8 +79,10 @@ void *mttcg_cpu_thread_routine(void *arg) qemu_thread_get_self(cpu->thread); =20 cpu->thread_id =3D qemu_get_thread_id(); - cpu->neg.can_do_io =3D true; current_cpu =3D cpu; + + tcg_vcpu_init(cpu); + cpu_thread_signal_created(cpu); qemu_guest_random_seed_thread_part2(cpu->random_seed); =20 diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index fc33a13e4e8..9578bc639cb 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -192,7 +192,9 @@ static void *rr_cpu_thread_fn(void *arg) qemu_thread_get_self(cpu->thread); =20 cpu->thread_id =3D qemu_get_thread_id(); - cpu->neg.can_do_io =3D true; + + tcg_vcpu_init(cpu); + cpu_thread_signal_created(cpu); qemu_guest_random_seed_thread_part2(cpu->random_seed); =20 diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 780e9debbc4..6823f31d8ad 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -77,6 +77,13 @@ void tcg_vcpu_thread_precreate(CPUState *cpu) tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1); } =20 +int tcg_vcpu_init(CPUState *cpu) +{ + cpu->neg.can_do_io =3D true; + + return 0; +} + void tcg_cpu_destroy(CPUState *cpu) { cpu_thread_signal_destroyed(cpu); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483038; cv=none; d=zohomail.com; s=zohoarc; b=VxggMJZomgweiskTBpLUKPuFOGvdd0QzodkEg3RMYYzOQABU8SRI6cbQgeODiDt4c7co6U5w9VjthBeVC8UJUWkQDezgpGjA7L3i1x+xbpKxu2gOk/C6Me0XdI+ZvlbyT0pk79pRj18gtT7+5GCnGUJdMGMbFnv3+zfSJ9VnpSA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483038; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=m478kLJmgkVJLppYyCk6e1zeeU4b7TwzrQ0ODlPJ2Ls=; b=gE+RgwDYRQHpv4vpk9+C6tuB1HnJ1/3tlzLKv9AxJPwmSgJgLxgl2HiE+LNob7CM4UGW0leU3kMmq7y4QQ6IDOrRY/2mml3wBZRG+MiHqctXMdjrqzhCNnQlJ4tKaS9W6kFBcJz4POL0wLg59YdoptgQHAN919+YLx0QJcpd5ac= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483038160959.5239941964392; Wed, 2 Jul 2025 12:03:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hd-0000Gp-Li; Wed, 02 Jul 2025 15:01: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 1uX2hJ-0007dL-Td for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:46 -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 1uX2hC-0003Za-KI for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:45 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a6f2c6715fso5026227f8f.1 for ; Wed, 02 Jul 2025 12:00: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 ffacd0b85a97d-3a88c7fb67dsm17067668f8f.35.2025.07.02.12.00.33 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482835; x=1752087635; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=m478kLJmgkVJLppYyCk6e1zeeU4b7TwzrQ0ODlPJ2Ls=; b=lD6NMqJZsUpFNVy7cCPaiIDfR6EKsf1p2KcQWEuDKrSORlnfMmn2m00m/PN61/6CUU TjS8Mgk7xqdSxTjhUXJ3YiJ9zLGtR1fV6B3eJPk9LxPnNYWZ3eoNsmuCycDjhQ3aggtk P1kxo7QcEzrqbhK3AGuRhRf74BTK0UH2YHb7n1lAbSi+1OYcpflJ01c0AHTRHoReCNVK lhyKMbSiv3/xRFcHVdBnlzsSRl1lPZ2MslHLlHXT0WIIqlgtHGe/XZfEejZytcf0kUWC e2LllcI/yuv7Iaun6sTRfBdV6oPwToM7NxK59S8Rm904jmWJu1Cq36f8gh54CJdN0jZi EejQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482835; x=1752087635; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m478kLJmgkVJLppYyCk6e1zeeU4b7TwzrQ0ODlPJ2Ls=; b=xGbEa9OcUt2NeRG8x9JaXhXLZRpgo0pCTUIVdPDs6Ep4xV5SXLPEJx5itLKPorBONs s1XpFVQSyN61mz9ygqqAZcyQctaDhsLlX0JTjFmtNfKh3MVmbNsfvem3Tby53e+TWxb4 8FC4dkp4Dr/01qdxYrYwUpxc/MnnUhJuSwADJSRyKeRTP6CeO2MvVa8yxuCfn7g3BxsV jEsVMbnyfWyVUIstXJYizL9kyQMErhhQD2ZazDPguJgjs4BvnGUA4ymhrQv717y8Zkl+ H1m75gMfaVcxOutOeaosL3SZVRf3YwLXlGec8/CV0yH0onzOHD/ztX1wFHZIKOhYboJS 0yPQ== X-Gm-Message-State: AOJu0Yz9KDqp/X1sBysfMT7ZvogM38NV+CYtiGP8Kj+0p7tbGFV850A6 7tugqi9nQFZCvqGzJYWPW2Qpi4qUXIx9Y3tyXuX+vQesBUvLuHb/BW74UNbR0Qx6u/ml4XfcXhd YWcQi X-Gm-Gg: ASbGncvgOn8vMEOtZ73EH+Wuh1wU4Hwf++lviLAp+5AUK6VU3Wzup1wbJQgaAPwPdkI Nf/NcsFnCNGkmx4ocNVHZokI2Gt9xCsb0hWpp8G9keXHBb42XskVRTYFJujFMv1y1+d7GdCVL47 s3XJ20ASlZ7u0IjiUsHsbb9AV3SZcOQxWwe+Skqj2XT0pZavql7rFB+9FMWiMbL0tCgDJfLsmIt u9956Y+4SFl9eccCGgGaudqX0w5CMcMbe4uNU5l9EDdaDPlx51XeQ+wELwf6Y7wHEBurj3VNT9s 4yRruSxBc59tmYFDRpepZUGU1tWnVmAhNrrqUizgeBw8P3ZAUKEUqqKbO4Aqbbq4rRT7+Q0aoGx mIkXrABPp4PlSrXs0wkXvWBVFle7OvgsKmmiW8PVuH/F+10I= X-Google-Smtp-Source: AGHT+IGCaDHO0e/Ghvavm+IfLZZ5cXi1AmPNE21/IpR1hyepRHHxu5OmKLmdjinlP+fyVJkr4jMJDA== X-Received: by 2002:a05:6000:25e3:b0:3a4:d5e8:e352 with SMTP id ffacd0b85a97d-3b1fdc209c0mr2780407f8f.7.1751482835398; Wed, 02 Jul 2025 12:00:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 62/65] accel/tcg: Factor mttcg_cpu_exec() out for re-use Date: Wed, 2 Jul 2025 20:53:24 +0200 Message-ID: <20250702185332.43650-63-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483039649116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-mttcg.h | 1 + accel/tcg/tcg-accel-ops-mttcg.c | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-mttcg.h b/accel/tcg/tcg-accel-ops-mttc= g.h index 8bf2452c886..72eb1a71d61 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.h +++ b/accel/tcg/tcg-accel-ops-mttcg.h @@ -14,5 +14,6 @@ void mttcg_kick_vcpu_thread(CPUState *cpu); =20 void *mttcg_cpu_thread_routine(void *arg); +int mttcg_cpu_exec(CPUState *cpu); =20 #endif /* TCG_ACCEL_OPS_MTTCG_H */ diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 4de506a80ca..6f2a992efad 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -91,10 +91,7 @@ void *mttcg_cpu_thread_routine(void *arg) =20 do { if (cpu_can_run(cpu)) { - int r; - bql_unlock(); - r =3D tcg_cpu_exec(cpu); - bql_lock(); + int r =3D mttcg_cpu_exec(cpu); switch (r) { case EXCP_DEBUG: cpu_handle_guest_debug(cpu); @@ -130,3 +127,14 @@ void mttcg_kick_vcpu_thread(CPUState *cpu) { cpu_exit(cpu); } + +int mttcg_cpu_exec(CPUState *cpu) +{ + int ret; + + bql_unlock(); + ret =3D tcg_cpu_exec(cpu); + bql_lock(); + + return ret; +} --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483017; cv=none; d=zohomail.com; s=zohoarc; b=WYbXXx9jf4jivuiqYk2wuyO+1QnBUb2PC1tmDeCYpOrWHWN830FU+e7D6vIYHHtGadHOEob396SNLf/uGE+1ZDpum11y47QpaAmH76KoDi1vpjp+OGKVhCZ+QhaJeL4kKBoPtxlZGnBXEJZkHBHFcLP/2vqqKvn5Ep7ic4ZPUwY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483017; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NkXbMENLL2/wIEzevGvNzpprsLRrgpl0VsO0QRREPRs=; b=how88BMmicSA89kxwxjxE50T39oH1AcqzkL/C80e8CDMCcLdabB4EtIrxGQUXTZk5tl7qmAh3zs+p147JD2YJtBsjiliJTyTzo7Vq+ILYjSaYV7vlJ+CumFKhS1w9UPvqg3KtEa081KqVksPmvsCPIVkfREekKE1j3M7QpAYbmI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483017896872.3655551308248; Wed, 2 Jul 2025 12:03:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hQ-0007yB-MW; Wed, 02 Jul 2025 15:00:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2hN-0007mf-0g for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:49 -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 1uX2hH-0003ac-4R for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:48 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a57c8e247cso3955767f8f.1 for ; Wed, 02 Jul 2025 12:00: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-454a99b6f94sm5577135e9.32.2025.07.02.12.00.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482840; x=1752087640; 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=NkXbMENLL2/wIEzevGvNzpprsLRrgpl0VsO0QRREPRs=; b=sH5xcLOFlQDt67HugS3PpBmK4FcSn0UJJSEMhcgy9/Yivf0cTcD9zHgqGJxgwlrtPQ S1iXxFTZsms7RBqRuYBl9E5hOrETUWJhizAbknf7QNnAXyP30AP6pBMu6+ev9i8BALMQ wqNZvhDcoQM37AbPA+zEEbwz5YLDuMqIaLjShOSAvi8BuXdXAoh3k2YVT/+xBVFKarEa HuaYBpMCgOu0V/aojVr1Txouc7W3omoKC80h4juWnZaIiwalS5Qr7MnMReZXSGOkRX3c vqIo/PRPQmxYGTwoZ++szli50PaZAeDStJEOxKT8QKrIuh+7TKMs3DEUdAMLzcYZa1Zy 9yIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482840; x=1752087640; 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=NkXbMENLL2/wIEzevGvNzpprsLRrgpl0VsO0QRREPRs=; b=UmayiECsncl7LmSKgeq7HRlAMfuzchd+4swpO3Q2CZdIFeMHriOqae1HYI+1RdVYgd +Zb3vblNqvkpHrEGB8ozHr7ww1bSLBXmRGK7EXk1o+65G4tJLvD4aHtFnDAePcfwXu8K wIz2MJ3LSTYQS/I1CXzJqs6FlphH6VO3UyZxsN1xHTjGAhl6YxLpKaBmYPkMFFxicOAG 1PxiO59Y0ycqZY2yza50I/MH89Ny3RsSJeELMW8RNRgO1vdCb6qmZT4P7eErjYvVbjxv oyKtF1n+CwY0xGcuv9882rCuo1A0D5Prd5R6F/az8egBjcjL3RUVmGI9kUnuP2p5e2Rv G0iQ== X-Gm-Message-State: AOJu0YzMTQQ2AYqq6LOik/4+E9jUYsOK6eIVZpp5Ztu+i6FzTDR1V+gE juwhPEEKzt8S+MH4r5vKgx/tPFsXgR15CKNtpRDNpJ7E3Q4Sjg7w9LCWQ9arYrxDCupxNAzCLlp Eu0ED X-Gm-Gg: ASbGncsg/qlgBzqhU4z/j0W3KyBzcyVo2gHVhBF4NBH0WshXyOgoyQ0jM3ZxmnhUKqe hXcNwtYuwcgQal6FEQCHgLo+nWmFUlqXcgBXW+y2YyDi5hgf0GPUVvqDTNG/IS9UbeyfU1TG/Kz W560gOGswunUZvTE/32cKMq3kMKy2Z49z7pfsvMvCWwLcKtQkrgZllE4Pxg2eJgweoW4RIToa2R tK78Rwv83d2tgYIlqqJFxiAer+/RjZ39PNN+CBmtoDAt85O5UrLAEV1gQWbG9dUxrSORRvBqyGj KIxQEST1SAjA2ZhLp1PFoMvTuBFH1QQGaKYehFCl8wgtwk20CcuqzQAInZG7ChPAkVePCGvLXBx FdH+8RzaN23FD2pncxsHbhRjTfjxp/Qf7rc4se0lLDVIgHrA= X-Google-Smtp-Source: AGHT+IELGT++1jNUmUBDrBmEnStzKY27FesNm8l/0VyU4bnMTYFsc2ODMv0ihPjQ+IWm1lh2eyEnHQ== X-Received: by 2002:a5d:64e1:0:b0:3a4:ec32:e4f3 with SMTP id ffacd0b85a97d-3b1fe6b69efmr3029463f8f.17.1751482840386; Wed, 02 Jul 2025 12:00:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 63/65] accel/tcg: Factor rr_cpu_exec() out Date: Wed, 2 Jul 2025 20:53:25 +0200 Message-ID: <20250702185332.43650-64-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483019330116600 Altough we aren't going to re-use rr_cpu_exec(), factor it out to have RR implementation matches with MTTCG one. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- accel/tcg/tcg-accel-ops-rr.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index 9578bc639cb..d976daa7319 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -169,6 +169,25 @@ static int rr_cpu_count(void) return cpu_count; } =20 +static int rr_cpu_exec(CPUState *cpu, int64_t cpu_budget) +{ + int ret; + + bql_unlock(); + if (icount_enabled()) { + icount_prepare_for_run(cpu, cpu_budget); + } + + ret =3D tcg_cpu_exec(cpu); + + if (icount_enabled()) { + icount_process_data(cpu); + } + bql_lock(); + + return ret; +} + /* * In the single-threaded case each vCPU is simulated in turn. If * there is more than a single vCPU we create a simple timer to kick @@ -254,17 +273,7 @@ static void *rr_cpu_thread_fn(void *arg) (cpu->singlestep_enabled & SSTEP_NOTIMER) = =3D=3D 0); =20 if (cpu_can_run(cpu)) { - int r; - - bql_unlock(); - if (icount_enabled()) { - icount_prepare_for_run(cpu, cpu_budget); - } - r =3D tcg_cpu_exec(cpu); - if (icount_enabled()) { - icount_process_data(cpu); - } - bql_lock(); + int r =3D rr_cpu_exec(cpu, cpu_budget); =20 if (r =3D=3D EXCP_DEBUG) { cpu_handle_guest_debug(cpu); --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483673; cv=none; d=zohomail.com; s=zohoarc; b=RnanFDPz0/xfYMAIuTKTSVwKs3lmtOoM9+AJCVry2oIhJ5pBg8XV6O1ex0EvZjRoOO2S0W3cIVyWyyQyP96S4lu2qmtE+KSPPkh04y+cxtAK4PTy690OnB3Yqxl8n1EsYDmB/HWvnjLIIohF32Je7srGMmhaktsDsvyIGDreNeY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483673; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hYnKEElTC5IwOmZPbnF1VDHeVLYo+K3YiqWHHRzMLu0=; b=DWfmO9w91YU99JChgNAYbU+WuVlwsSnJnL3q3ys8DJ580qu/g9gut0W6AW/VGK6B/vnW94EdC5DMYVYreuN02bvm2AhTMFjdYalVYXVgdTm8yw/LpPkl76f868BNx6swLwk7v3WzbUvOHqKp6Q4Be5gcgJ/Qg4VuaAa9yusuifc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483673536918.0496997903801; Wed, 2 Jul 2025 12:14:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2hV-0008Eg-EI; Wed, 02 Jul 2025 15:00: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 1uX2hR-00083H-IY for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:54 -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 1uX2hL-0003ba-Ca for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:53 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a4f379662cso4090564f8f.0 for ; Wed, 02 Jul 2025 12:00:46 -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-454a9bcf35csm5521045e9.20.2025.07.02.12.00.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482845; x=1752087645; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hYnKEElTC5IwOmZPbnF1VDHeVLYo+K3YiqWHHRzMLu0=; b=aKBHvSxnZ4xMgBfm0aP4GgvHbuqE1AGVNE2e25MJ8kfxIwnVZK59dC+0zlh6pBILk6 w8TBdhn+13G79PQhghNURrG9YWCgA/Th1yjelmdL98gIuOR6RuHAiDZk6TsSp0FwiOi3 9z+nLhE6/88/KLMXNYvE6K9XUinPGAT+8L420hQ9GMP3Om5GmMKXw5+oS0MqkWL64Gyb l7cGXN5eMd+DeFpWl8IYD0hmz4XfFxG7emv3e0EiWKScbPSNyhyKEf4cc486wm7nEQog RewophVvFSA/0n6PF8L75rTf5ngKS0I7gXtdsKjQmB5XpRLZd9IAwAaPfJ/1vMHC4x4h PnnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482845; x=1752087645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hYnKEElTC5IwOmZPbnF1VDHeVLYo+K3YiqWHHRzMLu0=; b=SAO/i0UrUQxJ/GsPo6Z6Ngip/lPHjoy+7w1fFy8WI5Ovli21nCzaiiEEiF6SShp/xj 77jIYSwjdaMgUjL8vGMIYTbostCc9K7+0oFiFbqbN0A6siWWomXcMfhLc55acE3mqvcA T7Q4y0XZPrX7nU2mmvaWrLWB37rDumIZz5QSTexd1yBiJM/o72hXHdoQbj/viyb+8KuQ KvEwb5KTyW1+CrAJ1+rM0i2XzHwo9OwhuFP9I5cejI7H+h5l46v7oct6u7mvDG96KZs1 qA3Faw9bC0IRwCCPDOzRF7aPxCUvuD/8Edwi8cQzIxJEd4VL4SLJanvwP6I564cZgF/M 9isg== X-Gm-Message-State: AOJu0Ywwh1thJ1CqPCadvON5zcNyXM27iF+alp1iS5wEwL89GqpwWfW+ G8GZClYxECTKp/PvPcoTW+mMHsIkoVab/nRzzmoFOMnVj8RDmTVGzwaZdgGSATYWZ/pqfPH6NRY vh181 X-Gm-Gg: ASbGncsotsT6jR82jBZc7far4TI9UgvWN6YyLJlx+dTt8BCF0U2uTMmyz34+GTbi0Rm Til23/+tOinvtWud82tlQT3Xcw0OqUr8M2f1PZTXQfBd2TxzRy+AzKG8a2XC2pWSAvTtNiyFEyc aATxz9Ib/3xaHRPHe25Gv5yR6xld+L+G6RCtVnB8waokBIWMG9GYwGa5aVIPU5kpb49muwzxehx xluRtwhrgKVCfNg5NgrhuGqYhVRMvfU6Exq0DukfUNYtHg0Qeo81lvahKsaJZ1Ll327bYCN7Y/a 9ApCZqR3k/E3U0phMXrW+KK5pWq82cOxRkVJSrKWflGrNziaOXRbrIP/U77wozEkGd0LI2epJ6J kK/5dUgVRbzl3lsLLbIeZsrlbas47MbJr4ICi X-Google-Smtp-Source: AGHT+IGKS+fDIJupo/KC1RryZ5jJ3g7nFOzKnC1CQOMqfMNU0PCTbPY7XIRhZuUQGX35tmNF81IYig== X-Received: by 2002:a05:6000:310b:b0:3a6:e2d5:f14c with SMTP id ffacd0b85a97d-3b20048e696mr2986640f8f.30.1751482845129; Wed, 02 Jul 2025 12:00:45 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 64/65] accel/tcg: Clear exit_request once in tcg_cpu_exec() Date: Wed, 2 Jul 2025 20:53:26 +0200 Message-ID: <20250702185332.43650-65-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483674317116600 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- accel/tcg/tcg-accel-ops-mttcg.c | 1 - accel/tcg/tcg-accel-ops.c | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttc= g.c index 6f2a992efad..543c4effa0e 100644 --- a/accel/tcg/tcg-accel-ops-mttcg.c +++ b/accel/tcg/tcg-accel-ops-mttcg.c @@ -112,7 +112,6 @@ void *mttcg_cpu_thread_routine(void *arg) } } =20 - qatomic_set_mb(&cpu->exit_request, 0); qemu_wait_io_event(cpu); } while (!cpu->unplug || cpu_can_run(cpu)); =20 diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 6823f31d8ad..c5784f420f0 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -96,6 +96,9 @@ int tcg_cpu_exec(CPUState *cpu) cpu_exec_start(cpu); ret =3D cpu_exec(cpu); cpu_exec_end(cpu); + + qatomic_set_mb(&cpu->exit_request, 0); + return ret; } =20 --=20 2.49.0 From nobody Sat Nov 15 12:14:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751483358; cv=none; d=zohomail.com; s=zohoarc; b=aTtSvGQoehYidngKXY9zXOioxovaJDaejUIeSKyJ27kh9JMpTBEUNY8hlLnaElrqBkd3CQH2pw9qccCeFEY3mccUCR1ZoKgnQM605H2e2huUwI8gHzhbfESEKAp6D/YVdwc5ROvgOIvIdpVSkOrnZqPxCS83BMVSESARY0TK1lY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483358; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TRx7/96Mso9UmfpnJ3Y/UVAgu4AkhnN2JiUpQ3Sf7Yc=; b=cq7IM/666Kp0qT5p6S8R9szwqMuHiKziw1+gvF1ne3OHrLUP8PJeNLLVFR1RZmBS/owFoz449znxhmfVVeaQFhjghFdB5NecH5BseLHN5S+BqCSrkmrRpnT5jG8Miaxki1RwjMD44neRvQ6ZPJT3ruUpeMCcEC6NL82cdRDaruo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1751483358725367.8171343472643; Wed, 2 Jul 2025 12:09:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uX2ha-0008Tc-FE; Wed, 02 Jul 2025 15:01:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uX2hW-0008Jx-Pv for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:58 -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 1uX2hQ-0003cC-Tm for qemu-devel@nongnu.org; Wed, 02 Jul 2025 15:00:58 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-451d6ade159so34443685e9.1 for ; Wed, 02 Jul 2025 12:00:52 -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-454a99666c3sm5944585e9.2.2025.07.02.12.00.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 02 Jul 2025 12:00:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751482850; x=1752087650; 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=TRx7/96Mso9UmfpnJ3Y/UVAgu4AkhnN2JiUpQ3Sf7Yc=; b=hVmTT5QWWv0OxukJ+egmzz6EcKRX/PDekckngl/yU1i6HQVhFrR0Yb3NXiHUwn4FHL nIlQ71ecqW+ZtKkem3a6x62k3E6E3VrGYPr71o9HFSK0fiPKqcCNAZWao5MxSk0YJlU2 EIXZN0Mou8DSMwnv7UVyAlku8CuMCFu/OMUmVO/Cz2vvWOnM+S1fZI0nM44NXZdEhFH6 rztnDzWDh/fx6nKPJ3GMsR4bnC/fZIVS+JT+x0noUpBXrifjin2dzbSWE9SaT+TFCxaq PguZOGH0vsR4HIEMxCNnWR0evLg1anJW+MxYh6SPyknimpiYppqdGFggWfLIl1jHW45H lNFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751482850; x=1752087650; 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=TRx7/96Mso9UmfpnJ3Y/UVAgu4AkhnN2JiUpQ3Sf7Yc=; b=FsQCqPTrUe4L+Vg7RdEfCX11Znaz6lo55Pq03dxMi7BoUxtBjGDHZ2FFUrDosh4qap xQqhnq52kfcQ3CXAPtdWV39RHTjDZHrwSS1XpO6Wd8omDErjUgZm+lUuG7wU7z3imPz9 5DN/9AnDCFSKHYc51TgT1KghSTWMCdQH5+vzs1HU4DMxxkxG7CikfwF6nAzdgtLKhKX1 t/Rkx77svDY2w2FGgW8JJsu6E0m68TFMCKf3NVwCuPLeJFeKaY3Ba2JQV9zxpT7I/Qsh TwNyG9Iiy2SgB2D8j9YewepbLiGDJjz83Gay2hx0Xn/zIM8O4QrgYCk9UpKTYcyClk7x qb0g== X-Gm-Message-State: AOJu0Yzqh0U1a+Cx88hMHy5gxpA4XsQcCyps1b9vleBBZVxWYos57pJR Z7CPNSwLSToXnx8re+j/D+OBgDIVxS6r2af10YT+N86GmPeqOFGaJ1kb39o2jH01l0KvHy3y2hN qO6AS X-Gm-Gg: ASbGncu04CZtj69xdAMa4SuEUyz+H1W0UBxEffCC+ynx1AjnQ1N1nTc/bWaOsYA5W1g MiW2oOi6/KkexFx84hxIbfSw473uUZvZEpiJUMBEHXWhf1P2BdarzRLZ5chH6fAk5ekzekz7vi+ MpvDl0x4iVVZkBxnkzxzGMvWmP91EMKQS7aZoRQzy1pQLVcyVW7zmjO49ck9O9rhZURdBq8Hzx9 HLOXLjUAywbazpHZBwhyJW3IIUzM+R4yI9DTI1LxVA6dmZZe5k1llvMBWJXAfbiBFDDfBpkDtg/ WH+OunYn8IXnzxbYKSJC6k0/CDuds6mI/1j4TTkp+CwAfNoU2VSdqPs0T7RGPwLAXbz0T+6zAa7 MfQPQgVg00c6pQt0+2wiJPVJ4KzPLmGG8wlVU X-Google-Smtp-Source: AGHT+IG4DC4uuDFCymsJ+/FV+tDN8gNO9K9ncPSXurLKCaKPAh75YjQlMO3bhSQ06P+dyCOnMdMx2A== X-Received: by 2002:a05:600c:3b15:b0:453:66f:b96e with SMTP id 5b1f17b1804b1-454a36e59e5mr37171125e9.11.1751482849766; Wed, 02 Jul 2025 12:00:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v4 65/65] accel/tcg: Unregister the RCU before exiting RR thread Date: Wed, 2 Jul 2025 20:53:27 +0200 Message-ID: <20250702185332.43650-66-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250702185332.43650-1-philmd@linaro.org> References: <20250702185332.43650-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751483360410116600 Although unreachable, still unregister the RCU before exiting the thread, as documented in "qemu/rcu.h": /* * Important ! * * Each thread containing read-side critical sections must be registered * with rcu_register_thread() before calling rcu_read_lock(). * rcu_unregister_thread() should be called before the thread exits. */ Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Richard Henderson Reviewed-by: Pierrick Bouvier Reviewed-by: Zhao Liu --- accel/tcg/tcg-accel-ops-rr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c index d976daa7319..0aa4ba393a4 100644 --- a/accel/tcg/tcg-accel-ops-rr.c +++ b/accel/tcg/tcg-accel-ops-rr.c @@ -313,6 +313,8 @@ static void *rr_cpu_thread_fn(void *arg) rr_deal_with_unplugged_cpus(); } =20 + rcu_unregister_thread(); + g_assert_not_reached(); } =20 --=20 2.49.0