From patchwork Thu Apr 3 11:38:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 877919 Delivered-To: patch@linaro.org Received: by 2002:a5d:6dae:0:b0:38f:210b:807b with SMTP id u14csp3210168wrs; Thu, 3 Apr 2025 04:40:05 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXPr7w2PD2OwWhSfJKOejpU3WQdMOR4TKs6CIN6nap3285KUpfqdTuW9m7ZvNhk6rjkpSsRUQ==@linaro.org X-Google-Smtp-Source: AGHT+IF1JbsZgvB56PUpItE+jJX25tQUFc4hKTeA0y73++ri77bB2BzJYY/St3KIlpoJyjeJ7fwb X-Received: by 2002:a05:6214:5086:b0:6ea:d604:9e4f with SMTP id 6a1803df08f44-6ef0bfc8138mr45028676d6.19.1743680404782; Thu, 03 Apr 2025 04:40:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1743680404; cv=none; d=google.com; s=arc-20240605; b=CITX0zM3AxkfGAphdjTmRxHyZz03fs8p0Omps6nvm1CgAHpAJkNKUEzq6fAv41J27/ HK7v4SZrVs8yIG4HPAy8YE4NHk162Rt8awDm2jAVojoHxLcrRqxMB51c/+0+EdecyhNX 2TXe0cY1D8yFN55gEw1AerWPmburLyizPChawKDwhypNLhY6IKYQSwfUWSO1/96Ug98i v262QS7mIXBlAgU/vy4fLbrr718w3YVrXdQTmxTfLj/MyzfnJJxW52tAbXdzDqwKe2ak rMtVVQL7jyvGMSkxMnvgiGcP1zig3DM5UWGPThzJHKnOdT0kVnJhmWGVvyvRYso4GSBk w2XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=EJiPGMS/ezMF5hUTLHHBE+eQxT1L7eRi92q9CWbEi/g=; fh=cDzVwnfkyjWmu4mfHinY7vBHFhjcazG+QDPpxDg0kUo=; b=jjvVaC4DfHpsuNWlSEep+zaSz8FrbxO/zb1Ep48/YQVe2ejY/5SHXbw4Pc9zjbfEmH RBIZ8+/TAnUA6yAw5T6aEbG7JnGVl2EmTJSdk/Ghtf9XfvajYngFszKiT9opxnAe7xvW agPa4tr7VAFyV2/HiZ0PUKKp3nKwHSLDI1F8zToz+M9wyUaAz8n8lV27Gk7Hd6aJH/Iu qCZBzAoFwb4QGx1XmMIRxBVoARS0A3CDbYTNNelNeejSM44fNgND4AtubF9MOM3gROx+ gTRLQ9KLH6m5Ncgt3GkX7aYh97MpVU+F/RyG9Nm0zBoo8VRdaOhVSCHS4FO28OV/Ku9F FWcQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mm5WbfHh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c76e749bd8si102404485a.129.2025.04.03.04.40.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 03 Apr 2025 04:40:04 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mm5WbfHh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u0Iue-0001Ip-He; Thu, 03 Apr 2025 07:39:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0Iub-0001Hz-LW for qemu-devel@nongnu.org; Thu, 03 Apr 2025 07:39:09 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u0IuX-000266-Ps for qemu-devel@nongnu.org; Thu, 03 Apr 2025 07:39:08 -0400 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-ac3eb3fdd2eso140783166b.0 for ; Thu, 03 Apr 2025 04:38:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743680333; x=1744285133; 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=EJiPGMS/ezMF5hUTLHHBE+eQxT1L7eRi92q9CWbEi/g=; b=mm5WbfHh5fkqG2TA6JpOZlmMR2OH9D224u/gbjkQ2NlLmWe7PIV77hwQfU6TZ+H+Rk XP/5vOV8ULW0+38FdobhOvsJNeXpfBOBDKXp+gIMW3k+CjXZuOS7630B4YG7hElgD6g3 LRVquxJvOX0017aKtNZiGssA+rem38Q8u/8mBXBsTa780VLVHxnS1+yfvObs/HhYI0GV MAIT5SQ12UDngMnaarAwY+EpZiMBAFJlRzHjboUX+qzL9o3a4TFJqd8/0veLpCkwDZlI Rtu2GZ2005zv6/u8zfbqfLlL2n4bUJ1ZKHDoJ01U9+OVH8Ng9W6sIUVPY2/jdFZaqRpu rMKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743680333; x=1744285133; 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=EJiPGMS/ezMF5hUTLHHBE+eQxT1L7eRi92q9CWbEi/g=; b=cb1Gn/OZiR0EVjNAWquIAGJ00GjbQOW5xxfhfFOtY6Y0Kznkl0kysxlnQYfFkTl0vY Rd2SANDFzjtrcA8Xfw4ND+4Cm0IQLF7Jc0hIN/5shpHwX8RAsCdpuBplL9brzF9jRZWZ dFXMHGzz6vfX++JPPTn/9nigXVNcZgNwwRuroAlJE7CLXPhguwRJs/b+JLA4PwNcZ6zi fKwC+eymYowGuqqkT6uFQcC8zwI//4clF83jjsxiyJ6U4gifRuFO4zIrasgP4j5OtOCn OrofARobdGM3qoINhFWsICrglQmMNAjySuIschwJVG8SRWbP4b55ZXhSg8bliPo+DdLK xECA== X-Gm-Message-State: AOJu0YwkEM2LkqQGNtbv3Yk/ZFSk+6lyyrqg1CdZBjrCQ+Tx/swKvTCE B4z+nWH6/INKF8m+TixhudqRndriPwPDuFKP9ejlNXfvNQ0jZT2vngCaWjea/9U= X-Gm-Gg: ASbGncubI1ncp18X4yNfkB11aDBhtY+lT+opNzKVq4c2YiBwalQverPJejQXHGs0iBj iMVDQTByVikWhhmVQbUSqCZUT/3xBQ9ryO46WG/DZvascRm27dRTtVe25y1sKGIXUYDPQTDbeUP TanhPIjNrjxLM8k+CEWTGhO8zdm5hTdzzOMCmChW7ODmGaoPUmGzRCZYeRFw3EvoGYypJX01lsY Y+o/vs7MTtnUeD4MeBl2lXM0glrkOZMZi5LwnnQXYpla3ZUQ9D/DSDteTUMuGjHfgzoGElDVStp kvPqLv4HMFMQFUtBIn0nS9E3J2j4DMS/YLMbEqIE4IhRI7M= X-Received: by 2002:a17:906:d550:b0:ac2:2ba5:5471 with SMTP id a640c23a62f3a-ac7c091daa7mr143720866b.24.1743680333174; Thu, 03 Apr 2025 04:38:53 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac7c0186973sm78626366b.154.2025.04.03.04.38.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 04:38:52 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 800995F901; Thu, 3 Apr 2025 12:38:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Mahmoud Mandour , Pierrick Bouvier , Richard Henderson , =?utf-8?q?Alex_Benn=C3=A9?= =?utf-8?q?e?= , Mark Burton , Alwalid Salama , Laurent Vivier , Paolo Bonzini , Alexandre Iooss Subject: [PATCH 1/2] accel/tcg: add get_virtual_clock for TCG Date: Thu, 3 Apr 2025 12:38:50 +0100 Message-Id: <20250403113851.4182190-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250403113851.4182190-1-alex.bennee@linaro.org> References: <20250403113851.4182190-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::636; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Rather than allowing cpus_get_virtual_clock() to fall through to cpu_get_clock() introduce a TCG handler so it can make a decision about what time it is. Initially this just calls cpu_get_clock() as before but this will change in later commits. Signed-off-by: Alex Bennée Reviewed-by: Pierrick Bouvier --- accel/tcg/tcg-accel-ops.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index d9b662efe3..1432d1c5b1 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -197,6 +197,11 @@ static inline void tcg_remove_all_breakpoints(CPUState *cpu) cpu_watchpoint_remove_all(cpu, BP_GDB); } +static int64_t tcg_get_virtual_clock(void) +{ + return cpu_get_clock(); +} + static void tcg_accel_ops_init(AccelOpsClass *ops) { if (qemu_tcg_mttcg_enabled()) { @@ -212,6 +217,7 @@ static void tcg_accel_ops_init(AccelOpsClass *ops) ops->get_virtual_clock = icount_get; ops->get_elapsed_ticks = icount_get; } else { + ops->get_virtual_clock = tcg_get_virtual_clock; ops->handle_interrupt = tcg_handle_interrupt; } }