From patchwork Wed May 7 23:14:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888128 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625177wrq; Wed, 7 May 2025 16:17:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWwumKMj7i69nyCVNpsJA2Nm/dBasXZClEP99PcPtwXNCtgWjeRvbOo+GGC0ub/Ew1IX2j3fg==@linaro.org X-Google-Smtp-Source: AGHT+IHj0NiwQFWIfTep+CLJwCAUQF9zlSTyuj0YUfsw/dtjfTCSlQ0FZJyyvsdJS9xrypEY9tg4 X-Received: by 2002:a05:6214:27e5:b0:6f5:106a:270e with SMTP id 6a1803df08f44-6f54c4ac0a7mr16403036d6.44.1746659839099; Wed, 07 May 2025 16:17:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659839; cv=none; d=google.com; s=arc-20240605; b=dDh5zkByp+XnTmdaGd5DD0H59Aj4LGODw16QrX+gj+FQc/cIPv23tu6cq/OChXQJUT OFc9isE9b/ea0medkT55FwlrKt95CNBK0oKBxYV4GpkZKlGOnw+zOUni4olvfpdvsnGv htZoZcFJJY4kuXqP8hyuOMecU6O1BtlReyVso7PPIYu+v3Pv4oBCNe+GxK0cjBKAe4UY bBHff8/UGRI4j5T1T8Wg0A3o26dhiERfmgo70S4h2SJ0wQEBv3LvXhURq0juhmlaOG4j S96gdIGpJFOlXCmACeybfAXxlW51bNIzcIaxPRzSUI+vnu5vmMB1oPQpqUt+LE0r9ul7 gikg== 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=7AD0wBkIB6INtnwcEFWKK+z4tJ5aOGPeiDtfz2k1oSg=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=bkVaMH2JgqIJ8cq7CZOqsS8KjHI6B+3H83rH47yMDsDMtxWuYG0TJaC9MZbtP3+tgK fhq2DgIgg9N7kbQ71bv8+SbHai2YyQuPD8ydF2CcluX0aRWRZqg+K8rO38aeB/hNE8A3 krE7W197410sGtBaYfT7aLQp35MDgDlCUA1d4P18QaIcT/GF6f4b5aUaxb+MelYJ+V7A 0rPJCUu1SYnnPoAE+bK2dPXYT96zVgxqUrZL9O68YBpY5m72Pvg+0AM5kOfY07evftvL AF6Dkk1BSHH+15wZWHQjxgRoJyMYjg0pnAFAo2dhgMik5f87mmUwZHtk7sRGdjjO+2gy ebwQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UW3dIm98; 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-6f5427f5ef5si32275396d6.394.2025.05.07.16.17.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:19 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UW3dIm98; 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 1uCnyj-0000iF-Ey; Wed, 07 May 2025 19:15:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyf-0000gQ-TU for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:01 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyd-0007Ai-SD for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:01 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-22e6344326dso4944775ad.1 for ; Wed, 07 May 2025 16:14:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659698; x=1747264498; 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=7AD0wBkIB6INtnwcEFWKK+z4tJ5aOGPeiDtfz2k1oSg=; b=UW3dIm98PBw35sXFTNGIRrAaqzPv76CJou4gKKQHfQjfFUNqchPdvStDbjycr2m8e1 DcYY95iPQ8JdsBjn7fOuGQhbHb1LhxEhJJAjlFq1TFK+FAC3sUd+nFTOsPxvemlvws8f xRuDcSZDUHEON6JDKnHtuNlJaay5lwyvS8pqWTdG5CaQ9Wyv2TLPrpRSvrF/6Iq+6WKV wK6thHYDMwdDos4zdpRNPXHResc7xirrP8+7CAEsAgWDJ14w3RwN9Y8Gt6YjH411C6BT +rv9Kzu0neNLMxx4qHcH36k+WhYrNQde/ZEBFw6ljGTORXdKcAy6LD/HWSetbi2SE5lg 7G8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659698; x=1747264498; 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=7AD0wBkIB6INtnwcEFWKK+z4tJ5aOGPeiDtfz2k1oSg=; b=inH1bEb7RTnAB+w2p0/6UETgQHwbZ/iNoDXPRB3ZqQ4g+8PrmYshs9SuyjKtT2dcMA 6VzOKfCH5txAc+Ki1OwkK2OyZtFnTr3mua3PaHvZSin+ObQMfSjRNqZlPPidLZMrOC6w A+H5RL6YlzB7A7TYR+ywUE47fhLOxniqHUVMkvTBoK0mddJyWoJab26YEqDcl6cBxArl esxsaQ2l7O7ZGQgCLT+X6Ta/s28Qv6l+A1/8522NAmqRXEENuMSKxjUcsV9FZEJxSQG7 DGUesjgEnbjfsO7nOSZvV5aG+Mo6bqsMCU6EORChqiS95ISNfGR8IGRAABbmqkYUF5y/ zJ3w== X-Gm-Message-State: AOJu0Yyan9CMfoPRlZt0oGB354+LxdDj7al7ea9Zg9EmGU8YGefVLmG9 eTsiw0JGrzr4YMyR4D3BwAF1uV22UUMU11GkN0VD1Yx6HDCpI7bUUcO8eDNq65W9fvJ+YBwN0+m fWP+Upw== X-Gm-Gg: ASbGncsTBWdc9R4A1lqXFlVvIQQzUKr1lVSRyATvvmtpVQxMJ1B2mkZ/RYYh8Zi0qm4 0Tue8292Y8xToaF8uR1yz3pHNZZkl+kQ9BYcSWntODPef1KS10i6/kjfx1QaAlj3YoNDDzZHsIk HR43kYc2FLW+sKvfstNvOKno3H5jpEm2M4OA4Yv02lBrL5n6WQb8R8Jt2sMkRM0RM1Atta7nUzz xli3cMSZQd8aPCw5PIrxxP5HLyHyEZce/86p/eobka7Gg48fdP/59Dq+o3HGU9fT6Lp18a3ztQO SXSKlz5dzoRp1Thk9xB1gbUq/HYcmN0kvfi57ZZN X-Received: by 2002:a17:902:c94f:b0:21a:8300:b9d5 with SMTP id d9443c01a7336-22e861d5e25mr16823395ad.23.1746659698562; Wed, 07 May 2025 16:14:58 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:58 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 08/13] qemu/target-info: implement missing helpers Date: Wed, 7 May 2025 16:14:38 -0700 Message-ID: <20250507231442.879619-9-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62e.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 Add runtime helpers for target and config queries. Note: This will be reimplemented later [1] using proper information in TargetInfo. Meanwhile, just add a simple implementation. [1] https://patchew.org/QEMU/20250424222112.36194-1-philmd@linaro.org/20250424222112.36194-19-philmd@linaro.org/ Signed-off-by: Pierrick Bouvier --- meson.build | 2 +- include/qemu/target-info.h | 14 +++++ target-info.c | 117 +++++++++++++++++++++++++++++++++++++ 3 files changed, 132 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 6b235b291dc..7094832c3e2 100644 --- a/meson.build +++ b/meson.build @@ -3822,7 +3822,7 @@ endif common_ss.add(pagevary) specific_ss.add(files('page-target.c', 'page-vary-target.c')) -common_ss.add(files('target-info.c')) +specific_ss.add(files('target-info.c')) specific_ss.add(files('target-info-stub.c')) subdir('backends') diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h index 850a2958b9c..d9c0df10c53 100644 --- a/include/qemu/target-info.h +++ b/include/qemu/target-info.h @@ -38,4 +38,18 @@ const char *target_machine_typename(void); */ const char *target_cpu_type(void); +bool target_i386(void); +bool target_x86_64(void); +bool target_arm(void); +bool target_aarch64(void); +bool target_s390x(void); +bool target_mips(void); +bool target_mips64(void); +bool target_loongarch64(void); +bool target_riscv32(void); +bool target_riscv64(void); +bool target_ppc(void); +bool target_ppc64(void); +bool target_has_kvm(void); + #endif diff --git a/target-info.c b/target-info.c index 16fdca7aaaf..f2bdae18f4f 100644 --- a/target-info.c +++ b/target-info.c @@ -29,3 +29,120 @@ const char *target_machine_typename(void) { return target_info()->machine_typename; } + +bool target_i386(void) +{ +#ifdef TARGET_I386 + return true; +#else + return false; +#endif +} + +bool target_x86_64(void) +{ +#ifdef TARGET_X86_64 + return true; +#else + return false; +#endif +} + +bool target_arm(void) +{ +#ifdef TARGET_ARM + return true; +#else + return false; +#endif +} + +bool target_aarch64(void) +{ +#ifdef TARGET_AARCH64 + return true; +#else + return false; +#endif +} + +bool target_s390x(void) +{ +#ifdef TARGET_S390X + return true; +#else + return false; +#endif +} + +bool target_mips(void) +{ +#ifdef TARGET_MIPS + return true; +#else + return false; +#endif +} + +bool target_mips64(void) +{ +#ifdef TARGET_MIPS64 + return true; +#else + return false; +#endif +} + +bool target_loongarch64(void) +{ +#ifdef TARGET_LOONGARCH64 + return true; +#else + return false; +#endif +} + +bool target_riscv32(void) +{ +#ifdef TARGET_RISCV32 + return true; +#else + return false; +#endif +} + +bool target_riscv64(void) +{ +#ifdef TARGET_RISCV64 + return true; +#else + return false; +#endif +} + +bool target_ppc(void) +{ +#ifdef TARGET_PPC + return true; +#else + return false; +#endif +} + +bool target_ppc64(void) +{ +#ifdef TARGET_ppc64 + return true; +#else + return false; +#endif +} + +bool target_has_kvm(void) +{ +#ifdef CONFIG_KVM + return true; +#else + return false; +#endif +}