From patchwork Fri Mar 21 18:15:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 875252 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f4c:0:b0:38f:210b:807b with SMTP id cm12csp1015514wrb; Fri, 21 Mar 2025 11:17:56 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVxhJKmkZJ7L6gSdNJ1L+5KVrm1wUeqCbrfOJR9xJ5nULlvgVdcjqYH99n+9B3Vc0yLrqjujQ==@linaro.org X-Google-Smtp-Source: AGHT+IGVr4F4ICg6U5T3wY3xaIf6h5dqtQDep+GM73+CtStmtm0sdL1TTI9dVYTPf6Osu3ptJz+3 X-Received: by 2002:a05:6214:27cf:b0:6e4:6ee1:a282 with SMTP id 6a1803df08f44-6eb3f2ac60amr73389856d6.18.1742581076727; Fri, 21 Mar 2025 11:17:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742581076; cv=none; d=google.com; s=arc-20240605; b=L/gbXiI2sFBrtte272Gn+o6cdNxbwm323ctwlqDoVzH8eLh2ZEJlDIHIv7+2EayJZZ nq6vUZWSX7JWJiegSf1/rbxhWLXcvX2TVBLLgYQVzBxdKir6dKUgnMU0Bm1Z9JzsgPll sEzunrQ9n2q2+85IZ6XzFnfzrFgRtHn/fgHzyXHZTayHybgJ8Z8KrH4xOBAnUhg6YjZB nWV5oMrlTmRfp+Jc+GcIwiogNtiq5I9sPeWxjdH1JMEqfLu4kqoeMjOR0QMTCKhD6CCO v1AsVlT/qx3Z3/TRe4uZ6Fe/tWpfwpeEUoqxIY/xxIbRdCxbN5T0hpd4SpmPlCpKqwj8 G6tg== 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=bvlc/05Bc6G7gWkNJ4vtmciJR0DqTH/VV0mlV1pn8BA=; fh=SqMRlf/w7lZO/eUI8Un4MQ4I7qyD1Cu1bnDeq5N8T+w=; b=e0wugWzt683Z6Nkvqbws/H6/usTa5QZA2955xhK6HmOEht6PNy5fnxKHh9HvZL2Uts cPfkVyh4+lrZEr1jmh+1U2LKl4ld9YWfWM6VgE6EKkgH+kbDZnuqaVy1I8CvZ58QBzRj zTns6Klfc6A1xIYo+Gi6E6x6Y9u2jfiBuJcwaOJLDmvl6/Aus/BeQ8bXv3fHICbcbIyl 3lK9/69F15GkQeZ2iDhPo39SMjNvsreD8kxC0WmJOPWNhFcG9KqCMIJQN/vL4m7qGdbq 7+oSqUvF2xpthK2YqJ7Pllxc9RmeNKRKIkOp8OUPrb/UV2r4ODlQivBMjgmz6Yndg1mC NFQg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GnqiYfL0; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6eb3f01cc91si22115506d6.355.2025.03.21.11.17.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Mar 2025 11:17:56 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GnqiYfL0; 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 1tvguy-0008BH-Dp; Fri, 21 Mar 2025 14:16:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tvguu-0008B0-VQ for qemu-devel@nongnu.org; Fri, 21 Mar 2025 14:16:24 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tvgut-0000xY-54 for qemu-devel@nongnu.org; Fri, 21 Mar 2025 14:16:24 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43d0618746bso16155875e9.2 for ; Fri, 21 Mar 2025 11:16:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742580981; x=1743185781; 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=bvlc/05Bc6G7gWkNJ4vtmciJR0DqTH/VV0mlV1pn8BA=; b=GnqiYfL0Ge1GCLzytnD77lErCcAzKuQl3zC/OZ06B65LS1kcTlMBJnm2hxEThEU5Og b1R/x0l6YXVIrD1q3Nw4TlKVyCgqgY3LPFsuTHgYiC7X4vpy5gvuZqv1evMY3KB4bAkg r0fTzSXpd92BFH4RdBV/1JcvnQrblSnfCCrTHm2BL4WgqBD+UQ+twRRMFgWuwdljgAil 2sTzjmzxyjUKo6rRvrrDW0ukmU5aVzt7adSGku3L3UUPq12786Wo13b6AtniAIgpaUo7 asX2fgA5fpULj1RYpBucwgzIhbDUlV6i9LqZWjFNF3MFHa140WL540d/CYHu13hbVCbJ JsDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742580981; x=1743185781; 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=bvlc/05Bc6G7gWkNJ4vtmciJR0DqTH/VV0mlV1pn8BA=; b=jm2N+22+s2in/f6FrMFRTmL8GnoeLij8n+kfHlDvVDABUgSVqL1g6k4jClmXKu1A+Q LZnLzyJBzZQQzwdtNWjbNeJpA+J74eV72l9ebRor5MIBzGsZtFYRGIe9jKVIYtbBm74d 5bOTbmKDCdph+cfXZaWPGtYUihW+CMwczrlCr17Uuu7a8lE3iWlIqUrEGNb5iW7yJiT4 wWfFroiUuEW4oNjQYU2iZtcuI5tZm1zmLBR2GuAsg9C0B/GwRqqt4H9Y5eofvoUIRNMU aQgBQQ64t5kbei18s6Ejguxvu02eZ78pj7GWjBB3xzKqXsg7L/5qbpkvolLMZOlgJvwE O6Ow== X-Gm-Message-State: AOJu0YxcWV4ASmOPCJNK3z+tQ7vo/DQbS+qbOYV4itRXE3N05CJ4Vy+v DQjTld4oNJnK/1S2zO+yX6ZVlPDrzUGhsGa3C0QTlF/HCVDyPysI60C4OFqyQHTezSaEb3hzP/w B X-Gm-Gg: ASbGncv3CxtNgD9RonTb0Nvg8e0SRC/GxBxTC5J+MR+HJvjtH8Y8kuOmCUn615/MJ2A q91rw/B9/rg0f5A8tkT2/WGoqpJ5JzRyaPK3aUZ/icHkB38Jde2ggiSWH7i/Bsjs/pLnaG76vBI FSsMotl/eKRO+kXh93UL72Z6kpE5uJHZGQRnLLxLUM3a/IT3faWjNQf6g6yXLrokkqGh6I2MDYs jG2XohG7fWw5brbJ3x2xHnFufPBf5Mvf3d6FciZCioQeJ6Fkh1m3u9p7DSBNa+uXLRW93I8hv2P cF+/YNo735J8VsUYVyXV/rcJgSrKfruHNBn0bH0Sez4ayw4+2YJevGD3DINI+fS3CQi7kYokcZE tYa/kSAdT/H20o70cl7YHUk0Qp9vGTw== X-Received: by 2002:a05:600c:83c4:b0:43c:fffc:7886 with SMTP id 5b1f17b1804b1-43d509ec52fmr39394605e9.8.1742580981304; Fri, 21 Mar 2025 11:16:21 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fcea6ecsm33815125e9.5.2025.03.21.11.16.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 21 Mar 2025 11:16:20 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Richard Henderson Cc: Paolo Bonzini , Pierrick Bouvier , =?utf-8?q?Alex_Benn=C3=A9e?= , Anton Johansson , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [RFC PATCH-for-10.1 v2 6/7] tcg: Have tcg_req_mo() use TCGCPUOps::guest_default_memory_order Date: Fri, 21 Mar 2025 19:15:48 +0100 Message-ID: <20250321181549.3331-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321181549.3331-1-philmd@linaro.org> References: <20250321181549.3331-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org In order to use TCG with multiple targets, replace the compile time use of TCG_GUEST_DEFAULT_MO by a runtime access to TCGCPUOps::guest_default_memory_order via CPUState. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- accel/tcg/internal-target.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/accel/tcg/internal-target.h b/accel/tcg/internal-target.h index 992362be7e6..d5b8c4b730b 100644 --- a/accel/tcg/internal-target.h +++ b/accel/tcg/internal-target.h @@ -44,16 +44,15 @@ G_NORETURN void cpu_io_recompile(CPUState *cpu, uintptr_t retaddr); /** * tcg_req_mo: + * @guest_mo: Guest default memory order * @type: TCGBar * * Filter @type to the barrier that is required for the guest * memory ordering vs the host memory ordering. A non-zero * result indicates that some barrier is required. - * - * This is a macro so that it's constant even without optimization. */ -#define tcg_req_mo(type) \ - ((type) & TCG_GUEST_DEFAULT_MO & ~TCG_TARGET_DEFAULT_MO) +#define tcg_req_mo(guest_mo, type) \ + ((type) & guest_mo & ~TCG_TARGET_DEFAULT_MO) /** * cpu_req_mo: @@ -65,7 +64,7 @@ G_NORETURN void cpu_io_recompile(CPUState *cpu, uintptr_t retaddr); */ #define cpu_req_mo(cpu, type) \ do { \ - if (tcg_req_mo(type)) { \ + if (tcg_req_mo(cpu->cc->tcg_ops->guest_default_memory_order, type)) { \ smp_mb(); \ } \ } while (0)