From nobody Thu Oct 16 01:42:25 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=1745333857; cv=none; d=zohomail.com; s=zohoarc; b=RA3AyP/BjTu7exCloGaJOkKUcRySKIYtNW+TFngz3niMwjT0F4PNqfM8OvVOc/J4x4aJsUQZoarnVA3Ze351AAiPBjzyQRMLNCrRqtwPjp5eNU3fv0HtQ7YCdFjOUtclrBG1g5Ty192HUKrFJJvpprmpRr71b63xTpSwQ8qRA3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333857; 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=TR9SdSktHd3Yw0bHZBVqSYFLRBMlP1K6kgxMEqmEDdk=; b=MJVP7FYqAfPgYew71V6Fig4K5kHSjJEjl7KTymopJGsv9phm4BmMEg4mQfxrOzYkZIzws15fB3MbYYyilgDElOTajvZ2bjGDR5nvYtY88Ahw2mbQ/uSJSHcbsiUHL9e0tslKLwkRHyeRHoN9coZeBPTtrq64v/9uip5vPkCwgdU= 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 1745333857444613.6756838162726; Tue, 22 Apr 2025 07:57:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F1n-0006mU-4m; Tue, 22 Apr 2025 10:55:15 -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 1u7F1l-0006m9-2Y for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55: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 1u7F1i-0005Ai-QX for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:12 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-39c31e4c3e5so3658559f8f.0 for ; Tue, 22 Apr 2025 07:55: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-39efa4931c3sm15429955f8f.77.2025.04.22.07.55.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333708; x=1745938508; 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=TR9SdSktHd3Yw0bHZBVqSYFLRBMlP1K6kgxMEqmEDdk=; b=ko5/5y2a1mgimQ2NdH3QZ4tyGeMUaPSI4TXqkgJHb8NTxmTWuG07w0A1Q2xUqbAh5/ NRy0nLOAI4uAuH6vDDmkh+06eRsZhXo0jlidWSfSRh2Nf/UOXvyMV89/LOmNsdA0CEcM hRYGboSUSTZgvaoVvuVcgVOV1DnDBiT91EVU4lfMFbb6E5mZOOWt7cp1gJU1H7G0tdVT 7Gvp7lJGXThI5T4Rrv5m8RzvJlYKwffJ0Sj6rjsKTPagH09jlfT7SEupekgha1FXfA38 kiXR5AeQ88bFRvcIp2m6zKBu+yDuDJ+15q4YOYWnkHI+T1U6+/lnPT6/Yfx1MFQS43UV TTcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333708; x=1745938508; 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=TR9SdSktHd3Yw0bHZBVqSYFLRBMlP1K6kgxMEqmEDdk=; b=AiIoSEe8E1Bf/7JCty2JyFqSOuL8fYjntcYb4WtrAeLmIxYUcs3R82SkzdfRzpg7+H CGk/tqvvS67QqU7UJ2bfQjHZ+PKb8mqNX8Bgq+6W2GKUcg8pArh4iIhKeuJYykgesgQ/ zJE7EObn2AVaoVvFRenc4a1j2aSUSfE6CshV7m3MRhjJ4yb1pUpmLW6Dy16k7803LbHZ 0QcWsDjBuT93hkvV93+ypUaJRn52Gx2iztIeFfH0F5Km7Hpj+ZdFG/KRcQS4rUkr73Og uMb7/7BrY//JhaLE5ceIa1HrqIcuJCwjaJHTJzzCS3RC8Mjfc1navQ/MnajHJXf8V3hF h34w== X-Gm-Message-State: AOJu0YwQrcfXChGFYT8egptNalYjBstNDqu8y+Cq+nFauRWVd5dAcvMK CoTPa99H6zb2qd+GbxtkJZv0J7BlqQYEoo4H7QiMnXsdAK/PCHGuv16918roQND7vVzvYbWZlZJ G X-Gm-Gg: ASbGncuC6J0UOj25bZv/Uu+G41nJRmnskykH/FQkeG14qXhVWHA8yKHz+s7NKDiuGp/ 9BinTMNsPgwnImni6ZRRimroS8QEzs243ioNbzx40UrAmgD0JOqY4HCMwrSsRvwb2aci6BCgUts 8eCSgKorat5MLLqCmc94lZ+13cRaXeITPGB02omwHAqGVdDuv3frdDfK2HKSHc+hbINU0z1xUsb eqxLFw0WBl+nLyEh9dDumfQGXcd1lFjODx+Le6pIGdG2Q/1FxJ4CWXwa4kxl7AE+84tK6iaOIJA atuAYCStOkTQ5pHUUVhkOgLtR2ioxkXs6gmbKT30SPP0TlTHli+kgTYR7PlfIVasZCvJlibxBhv RfmlCXSkknoQvuC9h/UaMkvGpng== X-Google-Smtp-Source: AGHT+IG7USlGEf/5IBKzqHglLQ/7YMeW8Uh8AGdmnnO86bz3f4cjPvJqBcBbDoHm4SY7FILadcK36Q== X-Received: by 2002:adf:f94a:0:b0:39f:6e9:8701 with SMTP id ffacd0b85a97d-39f06e9871dmr6473119f8f.7.1745333708257; Tue, 22 Apr 2025 07:55:08 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 01/19] qapi: Rename TargetInfo structure as QemuTargetInfo Date: Tue, 22 Apr 2025 16:54:43 +0200 Message-ID: <20250422145502.70770-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333860644019100 The QAPI-generated 'TargetInfo' structure name is only used in a single file. We want to heavily use another structure similarly named. Rename the QAPI one, since structure names are not part of the public API. Suggested-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Markus Armbruster --- qapi/machine.json | 10 +++++----- hw/core/machine-qmp-cmds.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/qapi/machine.json b/qapi/machine.json index a6b8795b09e..6889cba2c75 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -275,15 +275,15 @@ { 'command': 'query-current-machine', 'returns': 'CurrentMachineParams' } =20 ## -# @TargetInfo: +# @QemuTargetInfo: # -# Information describing the QEMU target. +# Information on the target configuration built into the QEMU binary. # # @arch: the target architecture # # Since: 1.2 ## -{ 'struct': 'TargetInfo', +{ 'struct': 'QemuTargetInfo', 'data': { 'arch': 'SysEmuTarget' } } =20 ## @@ -291,11 +291,11 @@ # # Return information about the target for this QEMU # -# Returns: TargetInfo +# Returns: QemuTargetInfo # # Since: 1.2 ## -{ 'command': 'query-target', 'returns': 'TargetInfo' } +{ 'command': 'query-target', 'returns': 'QemuTargetInfo' } =20 ## # @UuidInfo: diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index 3130c5cd456..0e9ca1b90e2 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -132,9 +132,9 @@ CurrentMachineParams *qmp_query_current_machine(Error *= *errp) return params; } =20 -TargetInfo *qmp_query_target(Error **errp) +QemuTargetInfo *qmp_query_target(Error **errp) { - TargetInfo *info =3D g_malloc0(sizeof(*info)); + QemuTargetInfo *info =3D g_malloc0(sizeof(*info)); =20 info->arch =3D qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1, &error_abort); --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333752; cv=none; d=zohomail.com; s=zohoarc; b=GIXVpQZuMLpPmlxqwszKFebK17rIO8wlDKVMKWfawBoNnDzoeJVvyl0jzRXp+FymckVZBgF/jTN1iLgOTEuL69a54Otv1T7IcIplf0uyRm4aMBCfgymyc4I66JVNG/O/luj5SiRDXgVMSTGznGghwAqaAgU/QYQcHnOIj5ND0JM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333752; 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=RyJ6wMig2dFnUaLZ2DU4/UiCbn+0wTktCowVmGSdV8Y=; b=Xt6m15uyRrpePFjK5BSK4IGRXTHw6KFU9iN1HkMCB4C8xrw0Ajku87NWY6EM5aZirxWfohy8c0wEl144o73YfhlZR/fa808e4K9SP5Kt+X6jwTDR93xp7doaU3ovok369jqVOnS/OZVZ4rj+Lu4VATS3TPEMSajg5fBWhIOCPoo= 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 1745333752644930.8138661912286; Tue, 22 Apr 2025 07:55:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F1t-0006nC-D6; Tue, 22 Apr 2025 10: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 1u7F1q-0006mt-Eu for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:18 -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 1u7F1o-0005Az-4p for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:18 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-39ee5ac4321so5653963f8f.1 for ; Tue, 22 Apr 2025 07:55: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 ffacd0b85a97d-39efa4a4be2sm15260364f8f.83.2025.04.22.07.55.12 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333714; x=1745938514; 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=RyJ6wMig2dFnUaLZ2DU4/UiCbn+0wTktCowVmGSdV8Y=; b=Q7I7UhlQrc33aUN45Q5XgRsfwrb1XjRgQ2k5/YnV3RmDMMZtvrxvOJoBOugwSsQicm Iu+GbdxcZGL319hxULTfuf1O9GuCDksoN5MKpGCjfzK5nmlR0G7MFlj8gIwmQFzB3ldW VJl5GAgvLP3IDCmncyl30qbXTGzJrDpuPCO+ecrnaigoPOBvRZ9pYeLujMViS4e/A/HL r+uWYmFut0zm6th5+Z9aUmyGfdWW/4Xfo/fkQoP1agXDgo7vlB5POgHxlPXbHyv7RGEE Psbn9eTwQgfV/d7Nx2otsK2+qLG4yDYdVDxH++ngjoy+YCGe1uwNO5C+UGhWZUPsSY3V TfPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333714; x=1745938514; 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=RyJ6wMig2dFnUaLZ2DU4/UiCbn+0wTktCowVmGSdV8Y=; b=siesV9xFVMxqz2AG42/kkiJpbmhtisYWlAnkwn7FBVy1Sv1go5WWpsMoVXstDe4a9p c7ON4ZwIh9FrTQlTNQypSU7UjzBY6hzhdupRtQcIPEcYX0QeiGHeUpiafYHF+TdwTuKs oHViuhcmL+km61q0D4pP/jF4kTHWVEe9qO2w3+PfdcttVQ0dEWpzhG4DptMTSBnVqC6s Huna1TatjZpepYw9ra3q6rXEAzhAzzgV3RRVfdfh7irf+cj5xDHYQ4dg/cXvXXk3byEl yAKupmVu1F2xdrL2e43sgK5s6RoUdvcagX4fI2ltfwxPT2vY6cmanEG6g35ICH0qtEiu thcg== X-Gm-Message-State: AOJu0Yw6hlW5FkdwMRgWkqbxWkh+yUbWUF8DIvKIMUnQZaBWH6ysN1PG cF7suL9Hub1O3KENKakHUT7+HOevQT2oyHmHFzJOIAk8EOf0Xvg2it2++V7XXNxEOb5A80gojWs b X-Gm-Gg: ASbGnctWC4E10l/TE2ooI96HUqPrl89ZXgc4jN0ClGTTK42pD5mOTPflaV0LSlpoeCR +bGre1KyXdexdJBbg5M4TIB4kTi4M5ZRvPSterFmdvUMRILe5Qo81UBeEWI4fJrX3Glc7FC3qex +wRcbHSVNBHJlK5X7JTUOYrgmPEdAmFXfJg8pEQKmWnzTRzNNBX1xBzF+JsKqdJXhRLEnUxZDzn GJ3UnAjpjxRz4kFbFooKj8jPAHmHZn8Mo86LfNZHnDdD+0UYvylkNWnxJ5c7q5YqUZmJaIvyjub JmwIwza/HGWELoNmuPXdRg48BmyfcTyjFWkufothsOosfia0N6ijamomJ/CyiOkqW5/jTXHhIha 0NyzAB6lEF59J9PH6AlMNt4QJYA== X-Google-Smtp-Source: AGHT+IEdjg36k5T2BY/GqmJxWB0tcWs1doKpgOoTW7fPMrGVUSL4ZsQzm+vh+dAh17UUK5fIkrNLfA== X-Received: by 2002:a05:6000:188d:b0:391:3d12:9afa with SMTP id ffacd0b85a97d-39efba46487mr13215975f8f.21.1745333712898; Tue, 22 Apr 2025 07:55:12 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 02/19] qemu: Convert target_name() to TargetInfo API Date: Tue, 22 Apr 2025 16:54:44 +0200 Message-ID: <20250422145502.70770-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333755503019000 Have target_name() be a target-agnostic method, dispatching to a per-target TargetInfo singleton structure. By default a stub singleton is used. No logical change expected. Inspired-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- MAINTAINERS | 7 +++++++ meson.build | 3 +++ include/hw/core/cpu.h | 2 -- include/qemu/target-info-impl.h | 28 ++++++++++++++++++++++++++++ include/qemu/target-info.h | 19 +++++++++++++++++++ cpu-target.c | 5 ----- hw/core/machine-qmp-cmds.c | 1 + plugins/loader.c | 2 +- system/vl.c | 2 +- target-info-stub.c | 19 +++++++++++++++++++ target-info.c | 16 ++++++++++++++++ 11 files changed, 95 insertions(+), 9 deletions(-) create mode 100644 include/qemu/target-info-impl.h create mode 100644 include/qemu/target-info.h create mode 100644 target-info-stub.c create mode 100644 target-info.c diff --git a/MAINTAINERS b/MAINTAINERS index c7083ab1d93..a055f67b5fc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1913,6 +1913,13 @@ F: tests/functional/test_empty_cpu_model.py F: tests/unit/test-smp-parse.c T: git https://gitlab.com/ehabkost/qemu.git machine-next =20 +TargetInfo API +M: Pierrick Bouvier +M: Philippe Mathieu-Daud=C3=A9 +S: Supported +F: include/qemu/target-info*.h +F: target-info*.c + Xtensa Machines --------------- sim diff --git a/meson.build b/meson.build index bcb9d39a387..09b16e2f7ae 100644 --- a/meson.build +++ b/meson.build @@ -3807,6 +3807,9 @@ endif common_ss.add(pagevary) specific_ss.add(files('page-target.c', 'page-vary-target.c')) =20 +common_ss.add(files('target-info.c')) +specific_ss.add(files('target-info-stub.c')) + subdir('backends') subdir('disas') subdir('migration') diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 5b645df59f5..9d9448341d1 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -1115,8 +1115,6 @@ bool cpu_exec_realizefn(CPUState *cpu, Error **errp); void cpu_exec_unrealizefn(CPUState *cpu); void cpu_exec_reset_hold(CPUState *cpu); =20 -const char *target_name(void); - #ifdef COMPILING_PER_TARGET =20 extern const VMStateDescription vmstate_cpu_common; diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-imp= l.h new file mode 100644 index 00000000000..c276b84ceca --- /dev/null +++ b/include/qemu/target-info-impl.h @@ -0,0 +1,28 @@ +/* + * QEMU TargetInfo structure definition + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef QEMU_TARGET_INFO_IMPL_H +#define QEMU_TARGET_INFO_IMPL_H + +#include "qemu/target-info.h" + +typedef struct TargetInfo { + + /* runtime equivalent of TARGET_NAME definition */ + const char *const target_name; + +} TargetInfo; + +/** + * target_info: + * + * Returns: The TargetInfo structure definition for this target binary. + */ +const TargetInfo *target_info(void); + +#endif diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h new file mode 100644 index 00000000000..1007dc9a5e4 --- /dev/null +++ b/include/qemu/target-info.h @@ -0,0 +1,19 @@ +/* + * QEMU target info API + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef QEMU_TARGET_INFO_H +#define QEMU_TARGET_INFO_H + +/** + * target_name: + * + * Returns: Canonical target name (i.e. "i386"). + */ +const char *target_name(void); + +#endif diff --git a/cpu-target.c b/cpu-target.c index c99d208a7c4..3f82d3ea444 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -165,8 +165,3 @@ bool target_words_bigendian(void) { return TARGET_BIG_ENDIAN; } - -const char *target_name(void) -{ - return TARGET_NAME; -} diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index 0e9ca1b90e2..529ce8dd9a0 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -19,6 +19,7 @@ #include "qapi/qobject-input-visitor.h" #include "qapi/type-helpers.h" #include "qemu/uuid.h" +#include "qemu/target-info.h" #include "qom/qom-qobject.h" #include "system/hostmem.h" #include "system/hw_accel.h" diff --git a/plugins/loader.c b/plugins/loader.c index 7523d554f03..ccde83414d6 100644 --- a/plugins/loader.c +++ b/plugins/loader.c @@ -29,7 +29,7 @@ #include "qemu/xxhash.h" #include "qemu/plugin.h" #include "qemu/memalign.h" -#include "hw/core/cpu.h" +#include "qemu/target-info.h" #include "exec/tb-flush.h" =20 #include "plugin.h" diff --git a/system/vl.c b/system/vl.c index c17945c4939..cdf6eb9ee49 100644 --- a/system/vl.c +++ b/system/vl.c @@ -40,6 +40,7 @@ #include "qemu/help_option.h" #include "qemu/hw-version.h" #include "qemu/uuid.h" +#include "qemu/target-info.h" #include "system/reset.h" #include "system/runstate.h" #include "system/runstate-action.h" @@ -79,7 +80,6 @@ #include "hw/block/block.h" #include "hw/i386/x86.h" #include "hw/i386/pc.h" -#include "hw/core/cpu.h" #include "migration/cpr.h" #include "migration/misc.h" #include "migration/snapshot.h" diff --git a/target-info-stub.c b/target-info-stub.c new file mode 100644 index 00000000000..076b9254dd0 --- /dev/null +++ b/target-info-stub.c @@ -0,0 +1,19 @@ +/* + * QEMU target info stubs + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/target-info-impl.h" + +static const TargetInfo target_info_stub =3D { + .target_name =3D TARGET_NAME, +}; + +const TargetInfo *target_info(void) +{ + return &target_info_stub; +} diff --git a/target-info.c b/target-info.c new file mode 100644 index 00000000000..84b18931e7e --- /dev/null +++ b/target-info.c @@ -0,0 +1,16 @@ +/* + * QEMU target info helpers + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/target-info.h" +#include "qemu/target-info-impl.h" + +const char *target_name(void) +{ + return target_info()->target_name; +} --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333797; cv=none; d=zohomail.com; s=zohoarc; b=hFtsHlu2TefgI+yOmWhbS5Mli2+uLEDTSAShQvtwGzxxDVrRxGWb91EFewrWN0Jd9gY/o+xN7WOTs7f6dMuy8UnUDs19HLU6UxZEMFYQHBTeeaRePtqfB9A+K4onwHHPYjM8s3Pvcpbii/OwiqzTc+MOejYfeY0gY8eA1FpTI8Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333797; 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=ydE2KK63QljieXni2VjK8GOTNoowF9wO+YxCs0gln0U=; b=Ckkt4vniiz039glCf0v/qiQUm1YyTMcTNXkPf18uHuX1Yeot7XSMFhqL6/nuF9KWVCQNGjrC7yvmHw7l6X552oDTSA+RkFfMcnE0tuhOyxX3LgfCBd8CIIVnBKo7HXApP7S17ZnC9J/C533NT3uUmHJ1t5OcbaD6KVdrJy0FMu0= 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 1745333797720492.94589397952757; Tue, 22 Apr 2025 07:56:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F1w-0006nv-Ld; Tue, 22 Apr 2025 10: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 1u7F1u-0006nX-MY for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:22 -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 1u7F1s-0005BB-Oi for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:22 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-43cfebc343dso45207115e9.2 for ; Tue, 22 Apr 2025 07:55: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-4408d19ffe8sm10525865e9.3.2025.04.22.07.55.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333718; x=1745938518; 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=ydE2KK63QljieXni2VjK8GOTNoowF9wO+YxCs0gln0U=; b=FwbGXz4Kjg14+YEboUlNCy520yejgWJitGGHzUizf5CuJ8Itv4rQg0fHqSOfXrvJG4 49Tq4ho0teMOGBO2lp3TJsJk1ZorLGbMSRnAk40/JwT+lOt3Stl6HVt92UW6BKlvc6rs erM6VN55WndIqZeirINjHYaHw+tH1pzkGb1bXK5FHgQIGYoAn/6kJimU7ZZVznEjA2+K cUhYJ6Sfad8Rb/KTTZ3QCmCM571KbJwh0DmtR4Y+kTs9SZ9rPclBPszNdvKozdRJXngQ kd2KlcQhqBlsA8c6t8FTB7k7dhVJQtzTEVStx8w6r6Z0uqHz6GFcpBbRwfgXfYlszI4c c1fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333718; x=1745938518; 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=ydE2KK63QljieXni2VjK8GOTNoowF9wO+YxCs0gln0U=; b=aB8j0jZ+w23bC9XpLQ9Ctu0XRTjUI217Ui/vjxndxqoZSBorzLNd8JPBcW1sO0da2d aR4MBKxQQFvr31I0jOVG5stjbobcb9k0jetkQdPJQuiTp30+RMfL5E/u2yqqqlaXHeSK IwQxVg3dt5dkGbR7teT/vpzs2+WLOenMtsOb0DKdTykhvTTcVSoic2CWnHPCdzKpheNZ oU2LpHuYwrP0JWR/aDx+5VDJCGqvI5uSub7mA3JmEbUl9eSW7ReLpRNAvrBneKqLRNGL A6b3R7JVh8zHd5JEVtCgVhTTz7IYk2p/yH+rAYTBEKYO1ojBhUndgOkX/rdZO1akyd6f JIvQ== X-Gm-Message-State: AOJu0Ywz/hjpHDArxJa2jh9qJcun5ZVp/VvEUGRbRVyZIMnAvb4E4yRJ 3u9TIFZTfjjOrDlrplYdWSGhXc7oeD1uWFcoNJ8nw+7bVifHkBG1OcELg0EwV36Yuu7gNE4pCjo n X-Gm-Gg: ASbGnctE8t5O8zb/9jvBFucIxGs6GbLjUQjLEVzvoW680r4PIk5lNl1qAlY0m7ZyTAA 1vKroXGPO098IUsXAGSUfwo5Zr9bBkpBoi06uDZu9W9djj1XwNOB6E9hJ4r2hoFl9xk9WhHUHPX CIaF7VQR44g6Ufa73WEgDJI/xttqCMdc4GGI29lPV5QFpnTGPkDy8jpjyCzO4GQshPqRjGch5qA nqBttetNIVBmaXeXJB5GuPck0FZKUAlcdq6sZleyHPacGkapjQn1AjlKd6UKI0SalTjmyJqhPUp p4yrf55LIqVzxbxTF59ZihHCuyPyEZjiPXSmmdi86wJI/03Yi2QhjGKsD3RLoJBednc1slJjSoj 8m+p74ZunkY4FgRY= X-Google-Smtp-Source: AGHT+IHtTb2TjgjbZiWl0FGnqiMWCBMZTjbg28nl0sVW6dlhpLV71JKnJ4Ie+yepxbXuNr/3SXawbQ== X-Received: by 2002:a05:600c:154d:b0:43c:f4b3:b094 with SMTP id 5b1f17b1804b1-4406ab7a726mr124073815e9.6.1745333718382; Tue, 22 Apr 2025 07:55:18 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 03/19] system/vl: Filter machine list available for a particular target binary Date: Tue, 22 Apr 2025 16:54:45 +0200 Message-ID: <20250422145502.70770-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333800402019100 Binaries can register a QOM type to filter their machines by filling their TargetInfo::machine_typename field. This can be used by example by main() -> machine_help_func() to filter the machines list. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- meson.build | 1 + include/qemu/target-info-impl.h | 3 +++ include/qemu/target-info.h | 8 ++++++++ system/vl.c | 3 ++- target-info-qom.c | 15 +++++++++++++++ target-info-stub.c | 2 ++ target-info.c | 5 +++++ 7 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 target-info-qom.c diff --git a/meson.build b/meson.build index 09b16e2f7ae..a1109b6db3f 100644 --- a/meson.build +++ b/meson.build @@ -3808,6 +3808,7 @@ common_ss.add(pagevary) specific_ss.add(files('page-target.c', 'page-vary-target.c')) =20 common_ss.add(files('target-info.c')) +system_ss.add(files('target-info-qom.c')) specific_ss.add(files('target-info-stub.c')) =20 subdir('backends') diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-imp= l.h index c276b84ceca..4ef54c5136a 100644 --- a/include/qemu/target-info-impl.h +++ b/include/qemu/target-info-impl.h @@ -16,6 +16,9 @@ typedef struct TargetInfo { /* runtime equivalent of TARGET_NAME definition */ const char *const target_name; =20 + /* QOM typename machines for this binary must implement */ + const char *const machine_typename; + } TargetInfo; =20 /** diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h index 1007dc9a5e4..0224b35b166 100644 --- a/include/qemu/target-info.h +++ b/include/qemu/target-info.h @@ -16,4 +16,12 @@ */ const char *target_name(void); =20 +/** + * target_machine_typename: + * + * Returns: Name of the QOM interface implemented by machines + * usable on this target binary. + */ +const char *target_machine_typename(void); + #endif diff --git a/system/vl.c b/system/vl.c index cdf6eb9ee49..e8706a9ce87 100644 --- a/system/vl.c +++ b/system/vl.c @@ -27,6 +27,7 @@ #include "qemu/datadir.h" #include "qemu/units.h" #include "qemu/module.h" +#include "qemu/target-info.h" #include "exec/cpu-common.h" #include "exec/page-vary.h" #include "hw/qdev-properties.h" @@ -1564,7 +1565,7 @@ static void machine_help_func(const QDict *qdict) GSList *el; const char *type =3D qdict_get_try_str(qdict, "type"); =20 - machines =3D object_class_get_list(TYPE_MACHINE, false); + machines =3D object_class_get_list(target_machine_typename(), false); if (type) { ObjectClass *machine_class =3D OBJECT_CLASS(find_machine(type, mac= hines)); if (machine_class) { diff --git a/target-info-qom.c b/target-info-qom.c new file mode 100644 index 00000000000..a6fd8f1d5a3 --- /dev/null +++ b/target-info-qom.c @@ -0,0 +1,15 @@ +/* + * QEMU binary/target API (QOM types) + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qom/object.h" + +static const TypeInfo target_info_types[] =3D { +}; + +DEFINE_TYPES(target_info_types) diff --git a/target-info-stub.c b/target-info-stub.c index 076b9254dd0..218e5898e7f 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -8,9 +8,11 @@ =20 #include "qemu/osdep.h" #include "qemu/target-info-impl.h" +#include "hw/boards.h" =20 static const TargetInfo target_info_stub =3D { .target_name =3D TARGET_NAME, + .machine_typename =3D TYPE_MACHINE, }; =20 const TargetInfo *target_info(void) diff --git a/target-info.c b/target-info.c index 84b18931e7e..0042769e3a2 100644 --- a/target-info.c +++ b/target-info.c @@ -14,3 +14,8 @@ const char *target_name(void) { return target_info()->target_name; } + +const char *target_machine_typename(void) +{ + return target_info()->machine_typename; +} --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333950; cv=none; d=zohomail.com; s=zohoarc; b=POOMfVie78gdG6/i/e0m0eLnFYOeyan3OsmCtEvMGMgXDIcQ+9LfgUj6b4OW65w+BYldJPnMmKDmEKu2nQxxnzSCmIHl9WzOtsKO7QqFY0Kwa31D03ri3eQ8hU9HHYd8O+iLUSGgVeVBf7dk/FTm94qTc++7KvMOoJKMUQh263Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333950; 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=eZe+aJwBDegj3PLTEtUrkIMyeX/avzFZQ0Hl5Euk3tc=; b=Rp0M4AcfgAfYD6zfG/etpeZtkXQQUd40RPpuGwGIqw99N10/AB7lcX7sfoHhfPYhTQwBjNEOnnbKZQKkJVzpjP4tj0PGmW88HMw7iJtor+REf0+OgVelfdruoxJxLGs6pJofk7Zrr6UMxqGu2bfzPUfHXCOtvjz67movVlZyA5g= 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 174533395027659.37874458306305; Tue, 22 Apr 2025 07:59:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F24-0006of-FX; Tue, 22 Apr 2025 10:55: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 1u7F20-0006oH-8Z for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:28 -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 1u7F1y-0005Bd-Ev for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:27 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-440685d6afcso49743965e9.0 for ; Tue, 22 Apr 2025 07:55:24 -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-39efa43ce6bsm15633259f8f.55.2025.04.22.07.55.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333723; x=1745938523; 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=eZe+aJwBDegj3PLTEtUrkIMyeX/avzFZQ0Hl5Euk3tc=; b=lnQOa+veaejbCIedbwbN8AjknXSVRM6dbGjxlFlb3Ii86YyQjuWmMtFn3TlVvOMRHf oreq1EyauV3tq9jul3EXwZHlScXQRQOYdwshDG2H9xd+X2PbA/wHlySfnPwrfWmu0tKO yTkwJrqsivqnKLdrGZydrpjrGdSUAQRPaHbXaCR6XbrOsKNOqrrBz5gH9L8GQDoTUN8w 4IGZ5z8FziM7juwxWPAbhWmyNWf9FW7Lus8Nb7vHcuxoffAlKHc2TGMurJ+fWmq4+ozG IiTrSS9C5+ZHuJKc+xzbNONJwPiIQ9wmYMcNI6pyjxtZnPsM7qNpUzMKKJ6hyKFDouya EGrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333723; x=1745938523; 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=eZe+aJwBDegj3PLTEtUrkIMyeX/avzFZQ0Hl5Euk3tc=; b=H/MqHp1mgJiSvGgnINLT/eEDCk54/xu4fpBD47+y1747bpJfpI+fyZ8/8MYZ6Qc+IX BuugscEwD0Xo4d5HxcNC0Zd5iOoOcJpWxeYCWUvEjqPttYKceh7pAmC4ZaKe5ss4wjW7 DToAy5qSFFtXxJerM/uHM/OvdaubscNSCvdxEzsMmVAjEUqm0txi4cGEQcXh1Ly/aTvK 8U90wKmyAS3rpzKz9te62MFqlWGAlVOZ5wQXK26HnIcy+JCJrX4FPDcooxEwWB0sT4sz T7+Iw8HE4Z986CceRzGsw4QbT7dq7kF9mf5V6Yu3uJip0ka0S8V/WibcScl8NDxSlWU5 gG5Q== X-Gm-Message-State: AOJu0Yyhw32c+T17MEzfH9B6b2g6QTyARm+93OkScriPEzUv/MMfbr3P WylakEDBCeoX/Xm2LqZJy5HcZ/R37wmoK6f4v0IufL4GEPbb7QYxTHXM36vIyUIfElhC64IS5zG d X-Gm-Gg: ASbGncvrMCUpKNNkBqHsEcEaNHdbskNV8maC4hdNrZ65d7aKFZ479IvQYsSO84oW3+O 4SAvmksBlr4FnlElBT7B9TMREMBxIqwPwZJtK5LBNouEa39LvquCM7c2x278woVlOUJLYMcbBbZ 41yYi8ynyUZ1knIOZBfut6KuSLoFEvtLvMrUqoXojumKl6R2U5ixbfMcwAfiAKnP+RagDNvzpyp Q+xdiuskeMTp+IjMSbBh7uKc+8AIVl6ZksUVACkCq0cEdr7QvvbgdVJkRjlq8Y6dwOn0D5Sys/P QjbDgqOhVeP8dZ+Xal6/15rnI2UnqX3puBVCeTNgjv5Z+H0t6ntjNSceewvp1hVxnlBTXWlwQqi Ej8Dtd4s0p3D39JE= X-Google-Smtp-Source: AGHT+IEG7lyP+wO+c9tK9HnkLdKO4zC5TVPHS61a/xwvx3AA+Gf0Mt3t7yVI1nO+1to0jgITaYEZSg== X-Received: by 2002:a5d:64cb:0:b0:39c:2665:2c13 with SMTP id ffacd0b85a97d-39efbb05caamr12349918f8f.54.1745333723001; Tue, 22 Apr 2025 07:55:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 04/19] hw/arm: Register TYPE_TARGET_ARM/AARCH64_MACHINE QOM interfaces Date: Tue, 22 Apr 2025 16:54:46 +0200 Message-ID: <20250422145502.70770-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333951805019000 Define the TYPE_TARGET_ARM_MACHINE and TYPE_TARGET_AARCH64_MACHINE QOM interface names to allow machines to implement them. Register these interfaces in common code in target_info-qom.c used by all binaries because QOM interfaces must be registered before being checked (see next commit with the 'none' machine). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/hw/arm/machines-qom.h | 18 ++++++++++++++++++ target-info-qom.c | 9 +++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/hw/arm/machines-qom.h diff --git a/include/hw/arm/machines-qom.h b/include/hw/arm/machines-qom.h new file mode 100644 index 00000000000..a17225f5f92 --- /dev/null +++ b/include/hw/arm/machines-qom.h @@ -0,0 +1,18 @@ +/* + * QOM type definitions for ARM / Aarch64 machines + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef HW_ARM_MACHINES_QOM_H +#define HW_ARM_MACHINES_QOM_H + +#define TYPE_TARGET_ARM_MACHINE \ + "target-info-arm-machine" + +#define TYPE_TARGET_AARCH64_MACHINE \ + "target-info-aarch64-machine" + +#endif diff --git a/target-info-qom.c b/target-info-qom.c index a6fd8f1d5a3..7fd58d24818 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -8,8 +8,17 @@ =20 #include "qemu/osdep.h" #include "qom/object.h" +#include "hw/arm/machines-qom.h" =20 static const TypeInfo target_info_types[] =3D { + { + .name =3D TYPE_TARGET_ARM_MACHINE, + .parent =3D TYPE_INTERFACE, + }, + { + .name =3D TYPE_TARGET_AARCH64_MACHINE, + .parent =3D TYPE_INTERFACE, + }, }; =20 DEFINE_TYPES(target_info_types) --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333753; cv=none; d=zohomail.com; s=zohoarc; b=HIU/0RIrRCscWoos7rW5ybl1UJZvfa+S1UVV6GHu8YsMDSuaslY+MhAikRO0TuDwel8uq+XtTKHeGhSAAmeftrZiHoBEL/sSC6JjifOY8Hz7l4n8IEnPg3A24VHfis58cfPTBIngYT+/ZmqcLjC+/IT6vHBWPdfCCwi4yexUd9g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333753; 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=1cjOcSs5mbhxyNi9CGbhSoHxduGzG92ImG84oID1+1U=; b=c1J/6YJeci2SExJZ0tpr1uE4zDpi949HE3NpjdDFLGINTf+hVu8fae17wXd9tFlIUTk4x5htc3cTbFm8d5EsqDGZo77YaMwKt9+hLRUWntwiBtTbFxLlCEB+GdE3sQkXczQeWXe+tZoLqq3UIlFr+w5ysIGWMCnbf2dlQ0WSVO0= 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 1745333753154217.21366725542748; Tue, 22 Apr 2025 07:55:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F2B-0006sY-Hf; Tue, 22 Apr 2025 10:55:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u7F29-0006re-K9 for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:37 -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 1u7F27-0005By-Pk for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:37 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-39c1efc457bso3289522f8f.2 for ; Tue, 22 Apr 2025 07:55:29 -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-39efa4a49b5sm15482164f8f.86.2025.04.22.07.55.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333727; x=1745938527; 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=1cjOcSs5mbhxyNi9CGbhSoHxduGzG92ImG84oID1+1U=; b=Mp/7mUk/8cT+MM5JtSSIFW1uzEclwkJltvbhWK/Eq0qU5ncjnN/oM+oesAVLMfVVhp aVSFLObG9QzdpHPh+PQkcQbaZ/TkNCjZno9+5k8efbN7cPVgr0JtMn/MG4XgDRmNWoJC vMQZf/8eG7yc5cSPKlkzkovVfLZrHnNLnLX52ddWVM/4Odk/1DCHnwhqVL93+3eSevKr 7ZiTVQ6NntNZgeAPAHTtlYV2fD6O7budtVcMnS6ged/aonvKvXr+a87u+X4rFQC61dzZ ++/ZFTJEvuKUrd+ArEWmReoSNKIW+A0vH3c08EN1pic2SsUlUxh3Bq5xKQiRlmA/JiXH /zlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333727; x=1745938527; 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=1cjOcSs5mbhxyNi9CGbhSoHxduGzG92ImG84oID1+1U=; b=KsdiUgsQXLyBgQB+GgoAOCQW/IKcfbwOGFeKuFP2nADE818MrHFK1lW6LW1o6HT+kr aX1A48nYMJq3zskLjumq4YlTk11MwooodhfMTRkNyLWh7swqt1755u9PWmcEwwb7hVkl 24NNmCXspz8/28di2qG6qyH2HWNU0QINxvDpCWwWwwgrtA56lIU6oc64Kcvx1cTyQf/C BQwnEv068TJK8fL9WEQ+pZf8Er8HIEZvC9V6jkPNBJDnYNX/TW6urVt3jPAz+SbFpsNC lCFfpbj01+pem2of+9xZFYYcGp2vGdt5QXMO0CulVgm+7rYbPnjuK3zoUikc5tzZURQe Xbwg== X-Gm-Message-State: AOJu0YzS5mYZiRD6/CJwTfv7NHMqFpCNFypQREX/bl6PQv6INl31+Hv6 IdpE0eYb9+x1wDxryzQLnBa4m1Bm5MLvnwiif337+qAglRsfecdLiJqM3kXi+etcKJNxW9ZPoXj H X-Gm-Gg: ASbGncsvbH4/bEi8zBE5S7KaiKIOTME+eeYbngNqfysiq6RECiaBdlboZqvAyVzcqwF oxyVOQmee67nzr4f54m8F9E4DxQtuMSrEKgBKtHbq2mIF9VRwdEIF8cnqJMbpedbypiCapRBYd9 DAbDx8NNgMYq4hNAX9vwHcSY8PPnljYezOewnFY3laFWr1wPuUzeAucakwn+jC07PMJR2vZYl1W tC5JysNqqyT+72T2TtrybwJevua/PuDoHleko4WxfQ4b+MxsXyfbIEcudPraG264viV44jNhdVW wkkb3qrKANiwnSo8b2ln+cmiAKmrxWQZEupROUIKoM5CsGdX3iu1yYO784YHv+PBQ/gCfzceMyG rnScpoCrNYIqnClc= X-Google-Smtp-Source: AGHT+IGqJNMJjehh3t4bgxyUR8vVPk/s4wkcezgNfgXbkKdt+uoKgxy4tcS3z8+UpUpX96Yho3iAeA== X-Received: by 2002:a05:6000:381:b0:391:4ca:490 with SMTP id ffacd0b85a97d-39efba5f84cmr13052423f8f.29.1745333727621; Tue, 22 Apr 2025 07:55:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 05/19] hw/core: Allow ARM/Aarch64 binaries to use the 'none' machine Date: Tue, 22 Apr 2025 16:54:47 +0200 Message-ID: <20250422145502.70770-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333755678019100 When we'll start to use target_machine_typename() to filter machines for the ARM/Aarch64 binaries, the 'none' machine will be filtered out. Register the proper interfaces to keep it available. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier --- hw/core/null-machine.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c index 1ccaf652eb4..dd56d7cb7e5 100644 --- a/hw/core/null-machine.c +++ b/hw/core/null-machine.c @@ -16,6 +16,7 @@ #include "hw/boards.h" #include "system/address-spaces.h" #include "hw/core/cpu.h" +#include "hw/arm/machines-qom.h" =20 static void machine_none_init(MachineState *mch) { @@ -62,6 +63,11 @@ static const TypeInfo null_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("none"), .parent =3D TYPE_MACHINE, .class_init =3D null_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333816; cv=none; d=zohomail.com; s=zohoarc; b=FmKaziE/sr3I08iw3fUYNCVYytXYahi1noDKZB142B6eeqq7yOHV+iPlJ6rnyVOMwAq/nEU6V4JiFmGYZ7cXwXYCklXNgyOcGnD9itRJI1hEmOO8SO8zHI+QuiYYZHzWvj2sxUcfhGgdy8GN649DbAqZuaB8VVFOdnPvp/4Ucvo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333816; 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=wt4qKJ0+qbDFtV5JdYISjNhnPLXIq7IfaAn6j0T22LM=; b=KFZl2Mg4bloOmvK10FYdfC5BsBNqil/7GJFaf7WPAB/2OTanAJVhwfbo+ZQ4jNAs8hQ28UFFkobE2uc85tU9+ckE4PQkDrJio2NEnCr9GvpAnXL+8Xp3aDPkGlj6vM62KoPLU75SgPYj5YOwS4oXniNSeM7z7/E1HgI6ishS9cA= 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 1745333816578264.3797500369203; Tue, 22 Apr 2025 07:56:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F2F-0006tN-9D; Tue, 22 Apr 2025 10:55:43 -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 1u7F2D-0006t0-Of for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:41 -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 1u7F27-0005CE-UI for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:41 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-43cf680d351so36528215e9.0 for ; Tue, 22 Apr 2025 07:55: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 5b1f17b1804b1-4406d5acc9esm180567865e9.13.2025.04.22.07.55.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333733; x=1745938533; 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=wt4qKJ0+qbDFtV5JdYISjNhnPLXIq7IfaAn6j0T22LM=; b=EAUiC5GqUOF7pEh6y0ZG4a3WK7SYBJZyLCbhDuZsWPZSxCI/8adLqKs5SYtyjiXbaq QjYOtxBqWu/bQpeGwLImXuvgJ5rM6t3CCA+8qxBkSzzBVrnJnvYsdakFdQvA8QnOzTO0 7R3LVLKZF6dWedc0VbYNlepXIxY1u/imvg0LGsyt/P9cz41IgHAxidXfKIcPcL53nGKQ 5KQCLvoU0U49ER2nDIe6y4B3DMUhkeGdwenCMNMXJ+BYTsS3jYMOa3NTmV/M7FL4kphH b3l7n+gpLIIYHdRD+T6ACj8SQDBofZeWSw0c81OStwuxcHnpL8pwa4Smkzy55gnlxTiZ NKmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333733; x=1745938533; 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=wt4qKJ0+qbDFtV5JdYISjNhnPLXIq7IfaAn6j0T22LM=; b=gPUogvL11YT5aqYPorN/fKfX+LCp2g05QZHVYb/7tp1/JZBemoV5DXAdQ7GTysOkqg yFvto70+nrKiVwE2m0EtO1YncqhdBJk2vSGt/5oJr/49chLWYzJIBS2IGUkz1mWLMEpm dZAFgtMZZJZjy4O86WZiEEH3B5aOxgJerr5khOipOBddmQzorj67GuMY1o30tgu/3x0V 4XTmNfkOQxHzv94HexD3eRqy/CJp3YIS+9StxaWSL8JVj70UT0rKmzHql2ZklLqvzlBf aiHKVYhlPJYyHakgV+7xKVE56DHE1cBVqUGXNkw+qjsP4LBMf5PBWL6U9eYOA8k3kaYm X2aQ== X-Gm-Message-State: AOJu0Yw5aqYoJEcbK1/7TSRyZCO0j8O8Qqk7tfApboo1OdQdQv9IaZP7 Ed8BdIUtx2F1HwjP9md6wHWdSy5BhH/OKy36esje5tVMrp6FYuwzhhHErzF1eZh/80I2ru6+Qyp S X-Gm-Gg: ASbGncvSy5/4OHC9kUV1ecXRG+18Fe3v7Su13///MokStbI9nrTghGoOCxBoMqR+FJh 3CqiLgnOCGUFoNrY+33flH+4S8ZYpSw3TYmqQqUzA1nve122AkxWQh9A4/QqFdFAkeo2A6oX3kT /wZN7aJdA2ZbSTWN/hiC7IjBHpCYIRMKIt6TBJ1JTI8OaY/czvawT5feiS6ugLOL+7U3wLIwn3O aSPW5Gs1ANPHQ49GvQ9cgWdnPZrrYjKhqNJH4LbBS1VjbxkQhek4ILX7o+2TX0dnHfiigh6rs1D tlldUDhh3yQC0nZYBo8IJr1YT028zlRtpOfsr1NzuyD0hohtb5KMQUu+4LlTkc7LMmFvgRLNb/y jHp6I+Iqeh0nEXjM= X-Google-Smtp-Source: AGHT+IHUjyei6u87nQbopc6zFhc787jDh7I+fZB4xtI1ksIpAoJ8tNppywETljq3LqA6Li7mvB31eQ== X-Received: by 2002:a05:600c:6552:b0:43c:f680:5c2e with SMTP id 5b1f17b1804b1-440697b40efmr123237625e9.13.1745333732331; Tue, 22 Apr 2025 07:55:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 06/19] hw/arm: Filter machine types for qemu-system-arm/aarch64 binaries Date: Tue, 22 Apr 2025 16:54:48 +0200 Message-ID: <20250422145502.70770-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333817507019000 Since the qemu-system-aarch64 binary is able to run all machines indistinctly, simply register the TYPE_TARGET_AARCH64_MACHINE interface for all existing machines under the hw/arm/ directory. Very few machines are restricted to the qemu-system-aarch64 binary: $ git grep TARGET_AARCH64 hw/arm/meson.build hw/arm/meson.build:31:arm_common_ss.add(when: ['CONFIG_RASPI', 'TARGET_AA= RCH64'], if_true: files('bcm2838.c', 'raspi4b.c')) hw/arm/meson.build:50:arm_common_ss.add(when: ['CONFIG_ASPEED_SOC', 'TARG= ET_AARCH64'], if_true: files('aspeed_ast27x0.c')) $ git grep -W AARCH64 hw/arm/Kconfig hw/arm/Kconfig=3D185=3Dconfig SBSA_REF hw/arm/Kconfig-186- bool hw/arm/Kconfig-187- default y hw/arm/Kconfig:188: depends on TCG && AARCH64 -- hw/arm/Kconfig=3D413=3Dconfig XLNX_ZYNQMP_ARM hw/arm/Kconfig-414- bool hw/arm/Kconfig-415- default y if PIXMAN hw/arm/Kconfig:416: depends on TCG && AARCH64 -- hw/arm/Kconfig=3D435=3Dconfig XLNX_VERSAL hw/arm/Kconfig-436- bool hw/arm/Kconfig-437- default y hw/arm/Kconfig:438: depends on TCG && AARCH64 -- hw/arm/Kconfig=3D475=3Dconfig NPCM8XX hw/arm/Kconfig-476- bool hw/arm/Kconfig-477- default y hw/arm/Kconfig:478: depends on TCG && AARCH64 -- hw/arm/Kconfig=3D605=3Dconfig FSL_IMX8MP_EVK hw/arm/Kconfig-606- bool hw/arm/Kconfig-607- default y hw/arm/Kconfig:608: depends on TCG && AARCH64 $ git grep -wW TARGET_AARCH64 hw/arm | fgrep -4 MACHINE_TYPE_NAME ... hw/arm/aspeed.c:1939:#ifdef TARGET_AARCH64 hw/arm/aspeed.c-1940- }, { hw/arm/aspeed.c-1941- .name =3D MACHINE_TYPE_NAME("ast270= 0a0-evb"), hw/arm/aspeed.c-1949- .name =3D MACHINE_TYPE_NAME("ast270= 0a1-evb"), hw/arm/raspi.c:420:#ifdef TARGET_AARCH64 hw/arm/raspi.c-421- }, { hw/arm/raspi.c-422- .name =3D MACHINE_TYPE_NAME("raspi3a= p"), hw/arm/raspi.c-429- }, { hw/arm/raspi.c-430- .name =3D MACHINE_TYPE_NAME("raspi3b= "), This can be verified as: $ diff -u0 <(qemu-system-arm -M help) <(qemu-system-aarch64 -M help) @@ -5,3 +4,0 @@ -ast2700-evb Aspeed AST2700 A0 EVB (Cortex-A35) (alias of ast270= 0a0-evb) -ast2700a0-evb Aspeed AST2700 A0 EVB (Cortex-A35) -ast2700a1-evb Aspeed AST2700 A1 EVB (Cortex-A35) @@ -22 +18,0 @@ -imx8mp-evk NXP i.MX 8M Plus EVK Board @@ -49 +44,0 @@ -npcm845-evb Nuvoton NPCM845 Evaluation Board (Cortex-A35) @@ -63,3 +57,0 @@ -raspi3ap Raspberry Pi 3A+ (revision 1.0) -raspi3b Raspberry Pi 3B (revision 1.2) -raspi4b Raspberry Pi 4B (revision 1.5) @@ -72 +63,0 @@ -sbsa-ref QEMU 'SBSA Reference' ARM Virtual Machine @@ -116,2 +106,0 @@ -xlnx-versal-virt Xilinx Versal Virtual development board -xlnx-zcu102 Xilinx ZynqMP ZCU102 board with 4xA53s and 2xR5Fs b= ased on the value of smp Register the TYPE_TARGET_ARM_MACHINE interface for all the machines not listed previously. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier --- hw/arm/aspeed.c | 109 +++++++++++++++++++++++++++++++++++++ hw/arm/b-l475e-iot01a.c | 6 ++ hw/arm/bananapi_m2u.c | 6 ++ hw/arm/bcm2836.c | 1 + hw/arm/collie.c | 6 ++ hw/arm/cubieboard.c | 6 ++ hw/arm/digic_boards.c | 6 ++ hw/arm/exynos4_boards.c | 11 ++++ hw/arm/fby35.c | 6 ++ hw/arm/highbank.c | 11 ++++ hw/arm/imx25_pdk.c | 6 ++ hw/arm/imx8mp-evk.c | 5 ++ hw/arm/integratorcp.c | 6 ++ hw/arm/kzm.c | 6 ++ hw/arm/mcimx6ul-evk.c | 6 ++ hw/arm/mcimx7d-sabre.c | 6 ++ hw/arm/microbit.c | 6 ++ hw/arm/mps2-tz.c | 21 +++++++ hw/arm/mps2.c | 21 +++++++ hw/arm/mps3r.c | 6 ++ hw/arm/msf2-som.c | 6 ++ hw/arm/musca.c | 11 ++++ hw/arm/musicpal.c | 6 ++ hw/arm/netduino2.c | 6 ++ hw/arm/netduinoplus2.c | 6 ++ hw/arm/npcm7xx_boards.c | 26 +++++++++ hw/arm/npcm8xx_boards.c | 5 ++ hw/arm/olimex-stm32-h405.c | 6 ++ hw/arm/omap_sx1.c | 11 ++++ hw/arm/orangepi.c | 6 ++ hw/arm/raspi.c | 24 ++++++++ hw/arm/raspi4b.c | 5 ++ hw/arm/realview.c | 21 +++++++ hw/arm/sabrelite.c | 6 ++ hw/arm/sbsa-ref.c | 5 ++ hw/arm/stellaris.c | 11 ++++ hw/arm/stm32vldiscovery.c | 6 ++ hw/arm/versatilepb.c | 11 ++++ hw/arm/vexpress.c | 11 ++++ hw/arm/virt.c | 6 ++ hw/arm/xilinx_zynq.c | 6 ++ hw/arm/xlnx-versal-virt.c | 5 ++ hw/arm/xlnx-zcu102.c | 5 ++ 43 files changed, 468 insertions(+) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 82f42582fa3..ce4d49a9f59 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -15,6 +15,7 @@ #include "hw/arm/aspeed.h" #include "hw/arm/aspeed_soc.h" #include "hw/arm/aspeed_eeprom.h" +#include "hw/arm/machines-qom.h" #include "hw/block/flash.h" #include "hw/i2c/i2c_mux_pca954x.h" #include "hw/i2c/smbus_eeprom.h" @@ -1760,91 +1761,199 @@ static const TypeInfo aspeed_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("palmetto-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_palmetto_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("supermicrox11-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_supermicrox11_bmc_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("supermicro-x11spi-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_supermicro_x11spi_bmc_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("ast2500-evb"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_ast2500_evb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("romulus-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_romulus_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("sonorapass-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_sonorapass_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("witherspoon-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_witherspoon_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("ast2600-evb"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_ast2600_evb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("yosemitev2-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_yosemitev2_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("tiogapass-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_tiogapass_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("g220a-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_g220a_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("qcom-dc-scm-v1-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_qcom_dc_scm_v1_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("qcom-firework-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_qcom_firework_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("fp5280g2-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_fp5280g2_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("quanta-q71l-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_quanta_q71l_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("rainier-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_rainier_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("fuji-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_fuji_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("bletchley-bmc"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_bletchley_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("fby35-bmc"), .parent =3D MACHINE_TYPE_NAME("ast2600-evb"), .class_init =3D aspeed_machine_fby35_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("ast1030-evb"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_minibmc_machine_ast1030_evb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, #ifdef TARGET_AARCH64 }, { .name =3D MACHINE_TYPE_NAME("ast2700a0-evb"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_ast2700a0_evb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("ast2700a1-evb"), .parent =3D TYPE_ASPEED_MACHINE, .class_init =3D aspeed_machine_ast2700a1_evb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, #endif }, { .name =3D TYPE_ASPEED_MACHINE, diff --git a/hw/arm/b-l475e-iot01a.c b/hw/arm/b-l475e-iot01a.c index c9a5209216c..7af7db3dbb3 100644 --- a/hw/arm/b-l475e-iot01a.c +++ b/hw/arm/b-l475e-iot01a.c @@ -29,6 +29,7 @@ #include "qemu/error-report.h" #include "hw/arm/boot.h" #include "hw/core/split-irq.h" +#include "hw/arm/machines-qom.h" #include "hw/arm/stm32l4x5_soc.h" #include "hw/gpio/stm32l4x5_gpio.h" #include "hw/display/dm163.h" @@ -131,6 +132,11 @@ static const TypeInfo bl475e_machine_type[] =3D { .parent =3D TYPE_MACHINE, .instance_size =3D sizeof(Bl475eMachineState), .class_init =3D bl475e_machine_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, } }; =20 diff --git a/hw/arm/bananapi_m2u.c b/hw/arm/bananapi_m2u.c index 724ee4b05e5..5104a45390b 100644 --- a/hw/arm/bananapi_m2u.c +++ b/hw/arm/bananapi_m2u.c @@ -27,6 +27,7 @@ #include "hw/qdev-properties.h" #include "hw/arm/allwinner-r40.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" =20 static struct arm_boot_info bpim2u_binfo; =20 @@ -150,6 +151,11 @@ static const TypeInfo bananapi_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("bpim2u"), .parent =3D TYPE_MACHINE, .class_init =3D bpim2u_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 95e16806fa1..f60489983ba 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -14,6 +14,7 @@ #include "qemu/module.h" #include "hw/arm/bcm2836.h" #include "hw/arm/raspi_platform.h" +#include "hw/arm/machines-qom.h" #include "hw/sysbus.h" #include "target/arm/cpu-qom.h" #include "target/arm/gtimer.h" diff --git a/hw/arm/collie.c b/hw/arm/collie.c index e83aee58c6b..458ed53f0f6 100644 --- a/hw/arm/collie.c +++ b/hw/arm/collie.c @@ -15,6 +15,7 @@ #include "hw/boards.h" #include "strongarm.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/block/flash.h" #include "system/address-spaces.h" #include "qom/object.h" @@ -86,6 +87,11 @@ static const TypeInfo collie_machine_typeinfo =3D { .parent =3D TYPE_MACHINE, .class_init =3D collie_machine_class_init, .instance_size =3D sizeof(CollieMachineState), + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void collie_machine_register_types(void) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 36062ac7037..00656169b72 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -22,6 +22,7 @@ #include "hw/qdev-properties.h" #include "hw/arm/allwinner-a10.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/i2c/i2c.h" =20 static struct arm_boot_info cubieboard_binfo =3D { @@ -131,6 +132,11 @@ static const TypeInfo cubieboard_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("cubieboard"), .parent =3D TYPE_MACHINE, .class_init =3D cubieboard_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index 3c0cc6e4370..7b9fbb5524b 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -29,6 +29,7 @@ #include "hw/boards.h" #include "qemu/error-report.h" #include "hw/arm/digic.h" +#include "hw/arm/machines-qom.h" #include "hw/block/flash.h" #include "hw/loader.h" #include "system/qtest.h" @@ -152,6 +153,11 @@ static const TypeInfo digic_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("canon-a1100"), .parent =3D TYPE_MACHINE, .class_init =3D digic_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index 2d8f2d73265..71601a0d6f0 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -28,6 +28,7 @@ #include "hw/sysbus.h" #include "net/net.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "system/address-spaces.h" #include "hw/arm/exynos4210.h" #include "hw/net/lan9118.h" @@ -172,6 +173,11 @@ static const TypeInfo nuri_type =3D { .name =3D MACHINE_TYPE_NAME("nuri"), .parent =3D TYPE_MACHINE, .class_init =3D nuri_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void smdkc210_class_init(ObjectClass *oc, void *data) @@ -192,6 +198,11 @@ static const TypeInfo smdkc210_type =3D { .name =3D MACHINE_TYPE_NAME("smdkc210"), .parent =3D TYPE_MACHINE, .class_init =3D smdkc210_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void exynos4_machines_init(void) diff --git a/hw/arm/fby35.c b/hw/arm/fby35.c index 6d3663f14a1..84b65844b34 100644 --- a/hw/arm/fby35.c +++ b/hw/arm/fby35.c @@ -14,6 +14,7 @@ #include "hw/qdev-clock.h" #include "hw/arm/aspeed_soc.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" =20 #define TYPE_FBY35 MACHINE_TYPE_NAME("fby35") OBJECT_DECLARE_SIMPLE_TYPE(Fby35State, FBY35); @@ -187,6 +188,11 @@ static const TypeInfo fby35_types[] =3D { .class_init =3D fby35_class_init, .instance_size =3D sizeof(Fby35State), .instance_init =3D fby35_instance_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index 0f3c207d548..d26346ea8ad 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -23,6 +23,7 @@ #include "hw/sysbus.h" #include "migration/vmstate.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/loader.h" #include "net/net.h" #include "system/runstate.h" @@ -363,6 +364,11 @@ static const TypeInfo highbank_type =3D { .name =3D MACHINE_TYPE_NAME("highbank"), .parent =3D TYPE_MACHINE, .class_init =3D highbank_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void midway_class_init(ObjectClass *oc, void *data) @@ -387,6 +393,11 @@ static const TypeInfo midway_type =3D { .name =3D MACHINE_TYPE_NAME("midway"), .parent =3D TYPE_MACHINE, .class_init =3D midway_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void calxeda_machines_init(void) diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c index a90def7f1a2..86f0855c929 100644 --- a/hw/arm/imx25_pdk.c +++ b/hw/arm/imx25_pdk.c @@ -28,6 +28,7 @@ #include "hw/qdev-properties.h" #include "hw/arm/fsl-imx25.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "qemu/error-report.h" #include "system/qtest.h" @@ -157,6 +158,11 @@ static const TypeInfo imx25_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("imx25-pdk"), .parent =3D TYPE_MACHINE, .class_init =3D imx25_pdk_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/imx8mp-evk.c b/hw/arm/imx8mp-evk.c index c7d87d99230..44f704b9bd3 100644 --- a/hw/arm/imx8mp-evk.c +++ b/hw/arm/imx8mp-evk.c @@ -10,6 +10,7 @@ #include "system/address-spaces.h" #include "hw/arm/boot.h" #include "hw/arm/fsl-imx8mp.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "hw/qdev-properties.h" #include "system/qtest.h" @@ -79,6 +80,10 @@ static const TypeInfo imx8_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("imx8mp-evk"), .parent =3D TYPE_MACHINE, .class_init =3D imx8mp_evk_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index f95916b517d..efe1075ecc0 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -13,6 +13,7 @@ #include "migration/vmstate.h" #include "hw/boards.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/misc/arm_integrator_debug.h" #include "hw/net/smc91c111.h" #include "net/net.h" @@ -760,6 +761,11 @@ static const TypeInfo integratorcp_machine_types[] =3D= { .name =3D MACHINE_TYPE_NAME("integratorcp"), .parent =3D TYPE_MACHINE, .class_init =3D integratorcp_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c index b56cabe9f94..02ece3c0139 100644 --- a/hw/arm/kzm.c +++ b/hw/arm/kzm.c @@ -17,6 +17,7 @@ #include "qapi/error.h" #include "hw/arm/fsl-imx31.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "qemu/error-report.h" #include "system/address-spaces.h" @@ -146,6 +147,11 @@ static const TypeInfo kzm_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("kzm"), .parent =3D TYPE_MACHINE, .class_init =3D kzm_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/mcimx6ul-evk.c b/hw/arm/mcimx6ul-evk.c index d947836d2be..ea636fa2e7c 100644 --- a/hw/arm/mcimx6ul-evk.c +++ b/hw/arm/mcimx6ul-evk.c @@ -14,6 +14,7 @@ #include "qapi/error.h" #include "hw/arm/fsl-imx6ul.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "hw/qdev-properties.h" #include "qemu/error-report.h" @@ -84,6 +85,11 @@ static const TypeInfo imx6_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("mcimx6ul-evk"), .parent =3D TYPE_MACHINE, .class_init =3D mcimx6ul_evk_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/mcimx7d-sabre.c b/hw/arm/mcimx7d-sabre.c index f5dc9c211dd..b236a6587eb 100644 --- a/hw/arm/mcimx7d-sabre.c +++ b/hw/arm/mcimx7d-sabre.c @@ -16,6 +16,7 @@ #include "qapi/error.h" #include "hw/arm/fsl-imx7.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "hw/qdev-properties.h" #include "qemu/error-report.h" @@ -84,6 +85,11 @@ static const TypeInfo imx7_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("mcimx7d-sabre"), .parent =3D TYPE_MACHINE, .class_init =3D mcimx7d_sabre_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/microbit.c b/hw/arm/microbit.c index ade363daaa4..d34b1c675e5 100644 --- a/hw/arm/microbit.c +++ b/hw/arm/microbit.c @@ -12,6 +12,7 @@ #include "qapi/error.h" #include "hw/boards.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "system/system.h" #include "system/address-spaces.h" =20 @@ -74,6 +75,11 @@ static const TypeInfo microbit_info =3D { .parent =3D TYPE_MACHINE, .instance_size =3D sizeof(MicrobitMachineState), .class_init =3D microbit_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void microbit_machine_init(void) diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c index b0633a5a69e..12512477977 100644 --- a/hw/arm/mps2-tz.c +++ b/hw/arm/mps2-tz.c @@ -52,6 +52,7 @@ #include "qemu/error-report.h" #include "hw/arm/boot.h" #include "hw/arm/armv7m.h" +#include "hw/arm/machines-qom.h" #include "hw/or-irq.h" #include "hw/boards.h" #include "system/address-spaces.h" @@ -1463,24 +1464,44 @@ static const TypeInfo mps2tz_an505_info =3D { .name =3D TYPE_MPS2TZ_AN505_MACHINE, .parent =3D TYPE_MPS2TZ_MACHINE, .class_init =3D mps2tz_an505_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo mps2tz_an521_info =3D { .name =3D TYPE_MPS2TZ_AN521_MACHINE, .parent =3D TYPE_MPS2TZ_MACHINE, .class_init =3D mps2tz_an521_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo mps3tz_an524_info =3D { .name =3D TYPE_MPS3TZ_AN524_MACHINE, .parent =3D TYPE_MPS2TZ_MACHINE, .class_init =3D mps3tz_an524_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo mps3tz_an547_info =3D { .name =3D TYPE_MPS3TZ_AN547_MACHINE, .parent =3D TYPE_MPS2TZ_MACHINE, .class_init =3D mps3tz_an547_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void mps2tz_machine_init(void) diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c index 6958485a668..f39176c0005 100644 --- a/hw/arm/mps2.c +++ b/hw/arm/mps2.c @@ -31,6 +31,7 @@ #include "qemu/error-report.h" #include "hw/arm/boot.h" #include "hw/arm/armv7m.h" +#include "hw/arm/machines-qom.h" #include "hw/or-irq.h" #include "hw/boards.h" #include "system/address-spaces.h" @@ -563,24 +564,44 @@ static const TypeInfo mps2_an385_info =3D { .name =3D TYPE_MPS2_AN385_MACHINE, .parent =3D TYPE_MPS2_MACHINE, .class_init =3D mps2_an385_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo mps2_an386_info =3D { .name =3D TYPE_MPS2_AN386_MACHINE, .parent =3D TYPE_MPS2_MACHINE, .class_init =3D mps2_an386_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo mps2_an500_info =3D { .name =3D TYPE_MPS2_AN500_MACHINE, .parent =3D TYPE_MPS2_MACHINE, .class_init =3D mps2_an500_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo mps2_an511_info =3D { .name =3D TYPE_MPS2_AN511_MACHINE, .parent =3D TYPE_MPS2_MACHINE, .class_init =3D mps2_an511_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void mps2_machine_init(void) diff --git a/hw/arm/mps3r.c b/hw/arm/mps3r.c index 4dd1e8a7180..8bcf5a4d69f 100644 --- a/hw/arm/mps3r.c +++ b/hw/arm/mps3r.c @@ -37,6 +37,7 @@ #include "hw/qdev-properties.h" #include "hw/arm/boot.h" #include "hw/arm/bsa.h" +#include "hw/arm/machines-qom.h" #include "hw/char/cmsdk-apb-uart.h" #include "hw/i2c/arm_sbcon_i2c.h" #include "hw/intc/arm_gicv3.h" @@ -634,6 +635,11 @@ static const TypeInfo mps3r_machine_types[] =3D { .name =3D TYPE_MPS3R_AN536_MACHINE, .parent =3D TYPE_MPS3R_MACHINE, .class_init =3D mps3r_an536_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/msf2-som.c b/hw/arm/msf2-som.c index 6ce47eaa27a..3f7aefc0ba4 100644 --- a/hw/arm/msf2-som.c +++ b/hw/arm/msf2-som.c @@ -32,6 +32,7 @@ #include "hw/boards.h" #include "hw/qdev-properties.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/qdev-clock.h" #include "system/address-spaces.h" #include "hw/arm/msf2-soc.h" @@ -114,6 +115,11 @@ static const TypeInfo msf2_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("emcraft-sf2"), .parent =3D TYPE_MACHINE, .class_init =3D emcraft_sf2_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/musca.c b/hw/arm/musca.c index a4f43f1992b..608f16f69b2 100644 --- a/hw/arm/musca.c +++ b/hw/arm/musca.c @@ -26,6 +26,7 @@ #include "system/system.h" #include "hw/arm/boot.h" #include "hw/arm/armsse.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "hw/char/pl011.h" #include "hw/core/split-irq.h" @@ -657,12 +658,22 @@ static const TypeInfo musca_a_info =3D { .name =3D TYPE_MUSCA_A_MACHINE, .parent =3D TYPE_MUSCA_MACHINE, .class_init =3D musca_a_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo musca_b1_info =3D { .name =3D TYPE_MUSCA_B1_MACHINE, .parent =3D TYPE_MUSCA_MACHINE, .class_init =3D musca_b1_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void musca_machine_init(void) diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index f7c488cd1d6..e2a65f72095 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -15,6 +15,7 @@ #include "hw/sysbus.h" #include "migration/vmstate.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "net/net.h" #include "system/system.h" #include "hw/boards.h" @@ -1381,6 +1382,11 @@ static const TypeInfo musicpal_types[] =3D { .name =3D MACHINE_TYPE_NAME("musicpal"), .parent =3D TYPE_MACHINE, .class_init =3D musicpal_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c index 52c30055d44..2e615276902 100644 --- a/hw/arm/netduino2.c +++ b/hw/arm/netduino2.c @@ -30,6 +30,7 @@ #include "qemu/error-report.h" #include "hw/arm/stm32f205_soc.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" =20 /* Main SYSCLK frequency in Hz (120MHz) */ #define SYSCLK_FRQ 120000000ULL @@ -71,6 +72,11 @@ static const TypeInfo netduino_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("netduino2"), .parent =3D TYPE_MACHINE, .class_init =3D netduino2_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/netduinoplus2.c b/hw/arm/netduinoplus2.c index 2735d3a0e2b..e12f78599c4 100644 --- a/hw/arm/netduinoplus2.c +++ b/hw/arm/netduinoplus2.c @@ -30,6 +30,7 @@ #include "qemu/error-report.h" #include "hw/arm/stm32f405_soc.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" =20 /* Main SYSCLK frequency in Hz (168MHz) */ #define SYSCLK_FRQ 168000000ULL @@ -71,6 +72,11 @@ static const TypeInfo netduino_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("netduinoplus2"), .parent =3D TYPE_MACHINE, .class_init =3D netduinoplus2_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c index eb28b97ad83..4b6d3443d53 100644 --- a/hw/arm/npcm7xx_boards.c +++ b/hw/arm/npcm7xx_boards.c @@ -17,6 +17,7 @@ #include "qemu/osdep.h" =20 #include "hw/arm/npcm7xx.h" +#include "hw/arm/machines-qom.h" #include "hw/core/cpu.h" #include "hw/i2c/i2c_mux_pca954x.h" #include "hw/i2c/smbus_eeprom.h" @@ -549,22 +550,47 @@ static const TypeInfo npcm7xx_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("npcm750-evb"), .parent =3D TYPE_NPCM7XX_MACHINE, .class_init =3D npcm750_evb_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("quanta-gsj"), .parent =3D TYPE_NPCM7XX_MACHINE, .class_init =3D gsj_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("quanta-gbs-bmc"), .parent =3D TYPE_NPCM7XX_MACHINE, .class_init =3D gbs_bmc_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("kudo-bmc"), .parent =3D TYPE_NPCM7XX_MACHINE, .class_init =3D kudo_bmc_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("mori-bmc"), .parent =3D TYPE_NPCM7XX_MACHINE, .class_init =3D mori_bmc_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/npcm8xx_boards.c b/hw/arm/npcm8xx_boards.c index 3fb8478e72e..919c14dd809 100644 --- a/hw/arm/npcm8xx_boards.c +++ b/hw/arm/npcm8xx_boards.c @@ -19,6 +19,7 @@ #include "chardev/char.h" #include "hw/boards.h" #include "hw/arm/npcm8xx.h" +#include "hw/arm/machines-qom.h" #include "hw/core/cpu.h" #include "hw/loader.h" #include "hw/qdev-core.h" @@ -248,6 +249,10 @@ static const TypeInfo npcm8xx_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("npcm845-evb"), .parent =3D TYPE_NPCM8XX_MACHINE, .class_init =3D npcm845_evb_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/olimex-stm32-h405.c b/hw/arm/olimex-stm32-h405.c index 795218c93cf..f81f4094149 100644 --- a/hw/arm/olimex-stm32-h405.c +++ b/hw/arm/olimex-stm32-h405.c @@ -31,6 +31,7 @@ #include "qemu/error-report.h" #include "hw/arm/stm32f405_soc.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" =20 /* olimex-stm32-h405 implementation is derived from netduinoplus2 */ =20 @@ -77,6 +78,11 @@ static const TypeInfo olimex_stm32_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("olimex-stm32-h405"), .parent =3D TYPE_MACHINE, .class_init =3D olimex_stm32_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c index aa1e96b3ad7..2537045c1ac 100644 --- a/hw/arm/omap_sx1.c +++ b/hw/arm/omap_sx1.c @@ -32,6 +32,7 @@ #include "hw/arm/omap.h" #include "hw/boards.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/block/flash.h" #include "system/qtest.h" #include "system/address-spaces.h" @@ -219,6 +220,11 @@ static const TypeInfo sx1_machine_v2_type =3D { .name =3D MACHINE_TYPE_NAME("sx1"), .parent =3D TYPE_MACHINE, .class_init =3D sx1_machine_v2_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void sx1_machine_v1_class_init(ObjectClass *oc, void *data) @@ -238,6 +244,11 @@ static const TypeInfo sx1_machine_v1_type =3D { .name =3D MACHINE_TYPE_NAME("sx1-v1"), .parent =3D TYPE_MACHINE, .class_init =3D sx1_machine_v1_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void sx1_machine_init(void) diff --git a/hw/arm/orangepi.c b/hw/arm/orangepi.c index 6821033bfd7..4e333d428a2 100644 --- a/hw/arm/orangepi.c +++ b/hw/arm/orangepi.c @@ -26,6 +26,7 @@ #include "hw/qdev-properties.h" #include "hw/arm/allwinner-h3.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" =20 static struct arm_boot_info orangepi_binfo; =20 @@ -130,6 +131,11 @@ static const TypeInfo orangepi_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("orangepi-pc"), .parent =3D TYPE_MACHINE, .class_init =3D orangepi_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index dce35ca11aa..69cccdbb6b1 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -25,6 +25,7 @@ #include "hw/boards.h" #include "hw/loader.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "qom/object.h" =20 #define TYPE_RASPI_MACHINE MACHINE_TYPE_NAME("raspi-common") @@ -394,23 +395,46 @@ static const TypeInfo raspi_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("raspi0"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi0_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("raspi1ap"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi1ap_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("raspi2b"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi2b_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, #ifdef TARGET_AARCH64 }, { .name =3D MACHINE_TYPE_NAME("raspi3ap"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi3ap_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, { .name =3D MACHINE_TYPE_NAME("raspi3b"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi3b_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, #endif }, { .name =3D TYPE_RASPI_MACHINE, diff --git a/hw/arm/raspi4b.c b/hw/arm/raspi4b.c index f6de103a3e1..8fda6d3b0ca 100644 --- a/hw/arm/raspi4b.c +++ b/hw/arm/raspi4b.c @@ -11,6 +11,7 @@ #include "qemu/cutils.h" #include "qapi/error.h" #include "qapi/visitor.h" +#include "hw/arm/machines-qom.h" #include "hw/arm/raspi_platform.h" #include "hw/display/bcm2835_fb.h" #include "hw/registerfields.h" @@ -127,6 +128,10 @@ static const TypeInfo raspi4b_machine_type =3D { .parent =3D TYPE_RASPI_BASE_MACHINE, .instance_size =3D sizeof(Raspi4bMachineState), .class_init =3D raspi4b_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void raspi4b_machine_register_type(void) diff --git a/hw/arm/realview.c b/hw/arm/realview.c index 008eeaf049a..aed864bcd4f 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -13,6 +13,7 @@ #include "hw/sysbus.h" #include "hw/arm/boot.h" #include "hw/arm/primecell.h" +#include "hw/arm/machines-qom.h" #include "hw/core/split-irq.h" #include "hw/net/lan9118.h" #include "hw/net/smc91c111.h" @@ -431,6 +432,11 @@ static const TypeInfo realview_eb_type =3D { .name =3D MACHINE_TYPE_NAME("realview-eb"), .parent =3D TYPE_MACHINE, .class_init =3D realview_eb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void realview_eb_mpcore_class_init(ObjectClass *oc, void *data) @@ -452,6 +458,11 @@ static const TypeInfo realview_eb_mpcore_type =3D { .name =3D MACHINE_TYPE_NAME("realview-eb-mpcore"), .parent =3D TYPE_MACHINE, .class_init =3D realview_eb_mpcore_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void realview_pb_a8_class_init(ObjectClass *oc, void *data) @@ -471,6 +482,11 @@ static const TypeInfo realview_pb_a8_type =3D { .name =3D MACHINE_TYPE_NAME("realview-pb-a8"), .parent =3D TYPE_MACHINE, .class_init =3D realview_pb_a8_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void realview_pbx_a9_class_init(ObjectClass *oc, void *data) @@ -491,6 +507,11 @@ static const TypeInfo realview_pbx_a9_type =3D { .name =3D MACHINE_TYPE_NAME("realview-pbx-a9"), .parent =3D TYPE_MACHINE, .class_init =3D realview_pbx_a9_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void realview_machine_init(void) diff --git a/hw/arm/sabrelite.c b/hw/arm/sabrelite.c index ea59ba301e7..bc472dcad2c 100644 --- a/hw/arm/sabrelite.c +++ b/hw/arm/sabrelite.c @@ -14,6 +14,7 @@ #include "qapi/error.h" #include "hw/arm/fsl-imx6.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "hw/qdev-properties.h" #include "qemu/error-report.h" @@ -120,6 +121,11 @@ static const TypeInfo sabrelite_machine_types[] =3D { .name =3D MACHINE_TYPE_NAME("sabrelite"), .parent =3D TYPE_MACHINE, .class_init =3D sabrelite_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c index aa09d7a0917..6584097fc25 100644 --- a/hw/arm/sbsa-ref.c +++ b/hw/arm/sbsa-ref.c @@ -34,6 +34,7 @@ #include "hw/arm/bsa.h" #include "hw/arm/fdt.h" #include "hw/arm/smmuv3.h" +#include "hw/arm/machines-qom.h" #include "hw/block/flash.h" #include "hw/boards.h" #include "hw/ide/ide-bus.h" @@ -920,6 +921,10 @@ static const TypeInfo sbsa_ref_info =3D { .instance_init =3D sbsa_ref_instance_init, .class_init =3D sbsa_ref_class_init, .instance_size =3D sizeof(SBSAMachineState), + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void sbsa_ref_machine_init(void) diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c index cbe914c93e9..8dc68c145c1 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -15,6 +15,7 @@ #include "hw/sd/sd.h" #include "hw/ssi/ssi.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "qemu/timer.h" #include "hw/i2c/i2c.h" #include "net/net.h" @@ -1427,6 +1428,11 @@ static const TypeInfo lm3s811evb_type =3D { .name =3D MACHINE_TYPE_NAME("lm3s811evb"), .parent =3D TYPE_MACHINE, .class_init =3D lm3s811evb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 /* @@ -1448,6 +1454,11 @@ static const TypeInfo lm3s6965evb_type =3D { .name =3D MACHINE_TYPE_NAME("lm3s6965evb"), .parent =3D TYPE_MACHINE, .class_init =3D lm3s6965evb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void stellaris_machine_init(void) diff --git a/hw/arm/stm32vldiscovery.c b/hw/arm/stm32vldiscovery.c index 3a9728ca719..b7eb948bc2d 100644 --- a/hw/arm/stm32vldiscovery.c +++ b/hw/arm/stm32vldiscovery.c @@ -31,6 +31,7 @@ #include "qemu/error-report.h" #include "hw/arm/stm32f100_soc.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" =20 /* stm32vldiscovery implementation is derived from netduinoplus2 */ =20 @@ -74,6 +75,11 @@ static const TypeInfo stm32vldiscovery_machine_types[] = =3D { .name =3D MACHINE_TYPE_NAME("stm32vldiscovery"), .parent =3D TYPE_MACHINE, .class_init =3D stm32vldiscovery_machine_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }, }; =20 diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index 35766445fa4..defc4d7d170 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -12,6 +12,7 @@ #include "hw/sysbus.h" #include "migration/vmstate.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/net/smc91c111.h" #include "net/net.h" #include "system/system.h" @@ -431,6 +432,11 @@ static const TypeInfo versatilepb_type =3D { .name =3D MACHINE_TYPE_NAME("versatilepb"), .parent =3D TYPE_MACHINE, .class_init =3D versatilepb_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void versatileab_class_init(ObjectClass *oc, void *data) @@ -452,6 +458,11 @@ static const TypeInfo versatileab_type =3D { .name =3D MACHINE_TYPE_NAME("versatileab"), .parent =3D TYPE_MACHINE, .class_init =3D versatileab_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void versatile_machine_init(void) diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index 76c6107766c..38b203b52da 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -27,6 +27,7 @@ #include "hw/sysbus.h" #include "hw/arm/boot.h" #include "hw/arm/primecell.h" +#include "hw/arm/machines-qom.h" #include "hw/net/lan9118.h" #include "hw/i2c/i2c.h" #include "net/net.h" @@ -850,6 +851,11 @@ static const TypeInfo vexpress_a9_info =3D { .parent =3D TYPE_VEXPRESS_MACHINE, .class_init =3D vexpress_a9_class_init, .instance_init =3D vexpress_a9_instance_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static const TypeInfo vexpress_a15_info =3D { @@ -857,6 +863,11 @@ static const TypeInfo vexpress_a15_info =3D { .parent =3D TYPE_VEXPRESS_MACHINE, .class_init =3D vexpress_a15_class_init, .instance_init =3D vexpress_a15_instance_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void vexpress_machine_init(void) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index a96452f17a4..a3c9ffe29eb 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -37,6 +37,7 @@ #include "hw/arm/boot.h" #include "hw/arm/primecell.h" #include "hw/arm/virt.h" +#include "hw/arm/machines-qom.h" #include "hw/block/flash.h" #include "hw/vfio/vfio-calxeda-xgmac.h" #include "hw/vfio/vfio-amd-xgbe.h" @@ -123,6 +124,11 @@ static void arm_virt_compat_set(MachineClass *mc) .name =3D MACHINE_VER_TYPE_NAME("virt", __VA_ARGS__), \ .parent =3D TYPE_VIRT_MACHINE, \ .class_init =3D MACHINE_VER_SYM(class_init, virt, __VA_ARGS__), \ + .interfaces =3D (InterfaceInfo[]) { \ + { TYPE_TARGET_ARM_MACHINE }, \ + { TYPE_TARGET_AARCH64_MACHINE }, \ + { }, \ + }, \ }; \ static void MACHINE_VER_SYM(register, virt, __VA_ARGS__)(void) \ { \ diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index b8916665ed6..433907093fa 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -20,6 +20,7 @@ #include "qapi/error.h" #include "hw/sysbus.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "net/net.h" #include "system/system.h" #include "hw/boards.h" @@ -480,6 +481,11 @@ static const TypeInfo zynq_machine_type =3D { .parent =3D TYPE_MACHINE, .class_init =3D zynq_machine_class_init, .instance_size =3D sizeof(ZynqMachineState), + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_ARM_MACHINE }, + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void zynq_machine_register_types(void) diff --git a/hw/arm/xlnx-versal-virt.c b/hw/arm/xlnx-versal-virt.c index 0c6f0359e3d..cb7466f7250 100644 --- a/hw/arm/xlnx-versal-virt.c +++ b/hw/arm/xlnx-versal-virt.c @@ -20,6 +20,7 @@ #include "hw/qdev-properties.h" #include "hw/arm/xlnx-versal.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "target/arm/multiprocessing.h" #include "qom/object.h" =20 @@ -833,6 +834,10 @@ static const TypeInfo versal_virt_machine_init_typeinf= o =3D { .instance_init =3D versal_virt_machine_instance_init, .instance_size =3D sizeof(VersalVirt), .instance_finalize =3D versal_virt_machine_finalize, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void versal_virt_machine_init_register_types(void) diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c index 4fdb153e4d8..f730dbbd908 100644 --- a/hw/arm/xlnx-zcu102.c +++ b/hw/arm/xlnx-zcu102.c @@ -19,6 +19,7 @@ #include "qapi/error.h" #include "hw/arm/xlnx-zynqmp.h" #include "hw/arm/boot.h" +#include "hw/arm/machines-qom.h" #include "hw/boards.h" #include "qemu/error-report.h" #include "qemu/log.h" @@ -303,6 +304,10 @@ static const TypeInfo xlnx_zcu102_machine_init_typeinf= o =3D { .class_init =3D xlnx_zcu102_machine_class_init, .instance_init =3D xlnx_zcu102_machine_instance_init, .instance_size =3D sizeof(XlnxZCU102), + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TARGET_AARCH64_MACHINE }, + { }, + }, }; =20 static void xlnx_zcu102_machine_init_register_types(void) --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333783; cv=none; d=zohomail.com; s=zohoarc; b=YJB4gM5B5+0BbeCiiwa4RkwX3lgeTof2J18hJBn1724ueUdS0xzJageQlOvmDJh3B3tmVwO/1NDrbH+1/EMAV9ggiT5zZ9wJgYTezhbCHSgbRGNgrUVcJggad7HSM6EQjsiSb9B/nOlkekqEAq/2GeuBEtO/3rOsPWHKlpErvoE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333783; 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=UpcspgIhlgKyCaOz9UHnXAYe0CmwdQHUivc3mJB7oNw=; b=C5ahfjUgg0kloR6xKx7xuztErcq8NaYIlDUUGulkmL42WGGg2hrENI+MtSFRa10H2Xlarunte09a2qRTQhAx8bwVOf5XpkVNsKrVshWTh30DM6iMN5j06Oe1BrDTqiJg2cZFx2z7e9yJ1f5M/8RbIJbbNY2qz5VSEOX2QUhGrLM= 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 1745333783447436.2324716563968; Tue, 22 Apr 2025 07:56:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F2E-0006tF-Ub; Tue, 22 Apr 2025 10:55: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 1u7F2C-0006sp-MU for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:40 -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 1u7F2A-0005CX-Sl for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:40 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-39c1efbefc6so3269314f8f.1 for ; Tue, 22 Apr 2025 07:55: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 ffacd0b85a97d-39efa5a2300sm15291826f8f.101.2025.04.22.07.55.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333737; x=1745938537; 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=UpcspgIhlgKyCaOz9UHnXAYe0CmwdQHUivc3mJB7oNw=; b=mpWZMLXhX9QnjQKEI8nvB91lOnqmkLmwEmBmAtxoKaBzWC/V9/iE49fEanJBhtl3nc 0wrB7B9tKLWXoy9WoIzX77SIbGjXoBsmWNG4Dq8gJCrsjvEQIPc1rTpa9OL/sCResLQ1 X6hdE17ShwswE9jZ/e1GQOfNM4btC2EadxUS6zBU7Vwap3zVi7pXguNm8wnhtuuEntfC I69G15yW5fuPmr5Ef+2P/cTjttBzOhJIAugpV5/Vo+mDfN6K6++pCOV7KOYoEc2dWxzN gIm7lBviFf+HDcoSv+3aydMu9HLIAONQziGq87F48GyGFppnBVnUsa1d7PXQYXhUiT6k nABg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333737; x=1745938537; 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=UpcspgIhlgKyCaOz9UHnXAYe0CmwdQHUivc3mJB7oNw=; b=LtQMjoC9MWT2BK1S2C2kmkb1vkbNIXZF4+ImW0MGpk6J7CvWRXjoloIKr0CkkBuL6r /84ypDZr5ZALmiX53Vk+02NcsisZqea/sVs0b3I6JQkoXCDM1a+R/yB3BWmy7j9tBkKp zn0FQzCkjADo1rQ7ahBdVpsKkKcSijJhUnjnnYfmIRWrDVPozfeJhJ17GR9EjITbeV3O EozJS+qNEpFp/hG9x/DCviLyrfQRJVOXi4FDLJ2GpArWojh22oPlZkofl0aatoNd2qwh ZV2ir0dRJ3imwW3c4HlfEJLEx1yAJPHcTDZ9qxsoM7p9kwaHDBXqxTPHJtsQ1GF42RVr XYzA== X-Gm-Message-State: AOJu0YwrMmWKkfkuoC6rEAWF47aRf0xivyfXFck2O9jVS+enw5sngU9s DUNXnR8MwwxpjTSQ9NZUdjqgsjoSeT5u3rsUImKixBPaiv0nbxOkQy0BEtAz740HOD98K2+vHpv 5 X-Gm-Gg: ASbGnctN8JMl937Jz0PbPKQzJsRllinA3W8UR8rl3r8h0kCB6B23BdJgDHpmoDSBWuk 4dsx+Mbu9EavaR40R6vNb4FS2+6wC5GvqqOFDaePiJji1ZSiqyNkvPwONodup9jUwbuAkbfY1Nz B1nm+Rv9WPgTJbrTzG/5jqnkaWIjvaU8AiLKwzTeLRAYhtTQW/x6ZU/ux5C/pH6H8GTBoPunw8w tAmgv6L3NQERZhV8vl+XY705ZhJR9rq04SyOEDbApYZXRHSgiAFzcvxrllbZVXkH4Dt5rdp/GNz sxxHOIZdw9QJ32TKVa/usSPTdSmWHORxKAZGzRNtsCDrdpfIXA4RhSUQFQQeZR9+Ls6C0nM6jHS j6KsKs9T//tEN2HVP1TWVh7nn2A== X-Google-Smtp-Source: AGHT+IG3BCL0gA5UfElBNf9nAlZcZKz7l1TI2iX1KmWz58tJNKAMU8k7ZaVgTdeeuN4BYKgmxNBDQg== X-Received: by 2002:a05:6000:40cd:b0:39a:d32c:fb5e with SMTP id ffacd0b85a97d-39efba3cbe4mr12789933f8f.21.1745333737063; Tue, 22 Apr 2025 07:55:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 07/19] meson: Prepare to accept per-binary TargetInfo structure implementation Date: Tue, 22 Apr 2025 16:54:49 +0200 Message-ID: <20250422145502.70770-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333785162019000 If a file defining the binary TargetInfo structure is available, link with it. Otherwise keep using the stub. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- meson.build | 9 ++++++++- configs/targets/meson.build | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 configs/targets/meson.build diff --git a/meson.build b/meson.build index a1109b6db3f..69f60755377 100644 --- a/meson.build +++ b/meson.build @@ -3216,6 +3216,7 @@ config_devices_mak_list =3D [] config_devices_h =3D {} config_target_h =3D {} config_target_mak =3D {} +config_target_info =3D {} =20 disassemblers =3D { 'alpha' : ['CONFIG_ALPHA_DIS'], @@ -3809,9 +3810,9 @@ specific_ss.add(files('page-target.c', 'page-vary-tar= get.c')) =20 common_ss.add(files('target-info.c')) system_ss.add(files('target-info-qom.c')) -specific_ss.add(files('target-info-stub.c')) =20 subdir('backends') +subdir('configs/targets') subdir('disas') subdir('migration') subdir('monitor') @@ -4272,6 +4273,12 @@ foreach target : target_dirs arch_srcs +=3D gdbstub_xml endif =20 + if target in config_target_info + arch_srcs +=3D config_target_info[target] + else + arch_srcs +=3D files('target-info-stub.c') + endif + t =3D target_arch[target_base_arch].apply(config_target, strict: false) arch_srcs +=3D t.sources() arch_deps +=3D t.dependencies() diff --git a/configs/targets/meson.build b/configs/targets/meson.build new file mode 100644 index 00000000000..e9a5f7b078e --- /dev/null +++ b/configs/targets/meson.build @@ -0,0 +1,3 @@ +foreach target : ['arm-softmmu', 'aarch64-softmmu'] + config_target_info +=3D {target : files(target + '.c')} +endforeach --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333933; cv=none; d=zohomail.com; s=zohoarc; b=V8sC1pNknWCTaAqz6o5gvSIrpgAwBVkzaYWcSULCKMPVdnYOelyiLzVcvb2WzZm5nMTkEhj+E5tgCcyuBuFyrI6IocJ8N1aqFmkY83Tn07v2KBj1YF8GcUSnlc8hwq5Ih8hgg0dS9ICsvByil3F0z2iQLFiw7S3lxa8AYWfE+A8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333933; 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=22LQQOm056H4PYfBCVwoRoEL66DvS4+UOozPRWo0Okc=; b=eu38RUOMNPfzVnRdJuAlRgtLjiquC+9AWm/Tpm7T83trjC+aAhmu9tNh9ZQSJ4oNoc13gKmU7ne35/ztbhxaMYcytRq1cuL3n6pjDIxesSZYB8u1P4xuSaDfFHFvm5fxQQSfAgheoaxyef24PEMwwDD56G+i64rPibklGX3ADqM= 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 1745333933527834.4972728833212; Tue, 22 Apr 2025 07:58:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F2K-0006uD-2l; Tue, 22 Apr 2025 10:55: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 1u7F2H-0006tw-Hq for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:45 -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 1u7F2F-0005D4-K8 for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:45 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43cfecdd8b2so37767155e9.2 for ; Tue, 22 Apr 2025 07:55:43 -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-4406d6db131sm176255965e9.28.2025.04.22.07.55.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333742; x=1745938542; 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=22LQQOm056H4PYfBCVwoRoEL66DvS4+UOozPRWo0Okc=; b=qO48SXY0hMw8+IMqHzmEdwDc6nuEsd3IaO5nSi3sibh+eX7HfU1IDMsZcze5a3lrFv rVKL1zgaQ96U7q1qTu8o18/KnfI6xqPu+pzblc2qv1epA2P9yijRbgrdxuKZrc5296N4 +CrgxobIiUzgDDcZ0A0S6X4dNcNcsc8n/G9pNi4+AhHyCaxruHTEkvU2A0LcCFONdMBv Kp+8LwaR+Izz8Pay9qq5Rs6xuc9IA1WT8+MKTcMoNAny+P+Jv3pEASJjZeQ+ErpGzH1L nA0YBctYfVPOAAum9pFQdcMacFvgYXwjpf33tVWaotkb0oQxWWmEyYnnj0QyqqqItDB7 q/Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333742; x=1745938542; 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=22LQQOm056H4PYfBCVwoRoEL66DvS4+UOozPRWo0Okc=; b=bj9zZqenTgXTvtfivp8KIzSTsqyR71ILT8vObtGbGkX6+j0blbaZbxmJjKSUvkUBuC x/SQhA6Ow0iGcUzCxroK7LwjI1QI3XSsGlnTLj/pbHS3Bx1uMKw852bwlDDc1s8r4CeX 80UTEl2j/OAWRbqxfBWjjCHifjj6Xz2BwBoI/S3DHiFxF2pgzJ6+vkbGf5M+E5Ju5v29 BL6Yviv+xtxHF0keSgeX24PSlYXfaAaAeQw8g/zgLwLDPfisXK0F6UGXhN97uNI/4lwo oe3B3eGhVKI06I3KPX3BpYS5EoQuuXyb00OJzkZtf79oI5R3g2UkoSIO3Npa5sDA6VZR pczg== X-Gm-Message-State: AOJu0YxOc34s7QXn6mrhowl3xawpXdTMKzwphT8ehgFUPpxQjB4tBtSX +1dMhejlEY1t5CD1tzUK7oOkqQdrp08fotpLFBDUfKp9YiqDFJBeXLpQuB68Zpa1ys3nw7K6ZfU 6 X-Gm-Gg: ASbGncul6rijdGJMHwLb9ihIkDaO+Hq27vG5e5K1ip35e1LzqskdAChF23vBr1qUW4e H50gObvCF7rgxsJXdpLcCCTX0Io6UDdgmBQx3+2GRKP9sAfVh58tTWB/Dj3e4xMYHtHV38TER5e YRq3xJ9bboY7mm7Wmm057wjfIDBieetWfp2RUsOHIPYohqBFBLhMKqMlPsOgs9/2OcyL3yFgnSp P5jG+DN/X2+86E/J7ZLYvE+uQSArvhs+KBXMrhK5Xzgcw9DG+tVRapwrRRi3bfr7jBNQa63/7pp XbU1BIIP/wS61PKw1y687wNdJN5TwZi/MR54vYH4ZpxWE/EgbvlRjc+qUw4LzulyHcK15xK+rL0 n1QD/nC2vGMpENjY= X-Google-Smtp-Source: AGHT+IHrdIczPTqK1dMyQCv5FcD6/sDUdXdOKcTPHdg1x7xZAJMbj87lj5D1eWodk2rS3V87Bkwi4Q== X-Received: by 2002:a05:600c:b8b:b0:440:66a4:8d1a with SMTP id 5b1f17b1804b1-4406ab671d0mr134634935e9.7.1745333741722; Tue, 22 Apr 2025 07:55:41 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 08/19] config/target: Implement per-binary TargetInfo structure (ARM, AARCH64) Date: Tue, 22 Apr 2025 16:54:50 +0200 Message-ID: <20250422145502.70770-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333935849019000 Implement the TargetInfo structure for qemu-system-arm and qemu-system-aarch64 binaries. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- MAINTAINERS | 1 + configs/targets/aarch64-softmmu.c | 22 ++++++++++++++++++++++ configs/targets/arm-softmmu.c | 22 ++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 configs/targets/aarch64-softmmu.c create mode 100644 configs/targets/arm-softmmu.c diff --git a/MAINTAINERS b/MAINTAINERS index a055f67b5fc..4edd1ba696a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1919,6 +1919,7 @@ M: Philippe Mathieu-Daud=C3=A9 S: Supported F: include/qemu/target-info*.h F: target-info*.c +F: configs/targets/*.c =20 Xtensa Machines --------------- diff --git a/configs/targets/aarch64-softmmu.c b/configs/targets/aarch64-so= ftmmu.c new file mode 100644 index 00000000000..375e6fa0b7b --- /dev/null +++ b/configs/targets/aarch64-softmmu.c @@ -0,0 +1,22 @@ +/* + * QEMU binary/target API (qemu-system-aarch64) + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/target-info-impl.h" +#include "hw/arm/machines-qom.h" +#include "target/arm/cpu-qom.h" + +static const TargetInfo target_info_aarch64_system =3D { + .target_name =3D "aarch64", + .machine_typename =3D TYPE_TARGET_AARCH64_MACHINE, +}; + +const TargetInfo *target_info(void) +{ + return &target_info_aarch64_system; +} diff --git a/configs/targets/arm-softmmu.c b/configs/targets/arm-softmmu.c new file mode 100644 index 00000000000..d4acdae64f3 --- /dev/null +++ b/configs/targets/arm-softmmu.c @@ -0,0 +1,22 @@ +/* + * QEMU binary/target API (qemu-system-arm) + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/target-info-impl.h" +#include "hw/arm/machines-qom.h" +#include "target/arm/cpu-qom.h" + +static const TargetInfo target_info_arm_system =3D { + .target_name =3D "arm", + .machine_typename =3D TYPE_TARGET_ARM_MACHINE, +}; + +const TargetInfo *target_info(void) +{ + return &target_info_arm_system; +} --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333805; cv=none; d=zohomail.com; s=zohoarc; b=IgkCZZWYNc34PAlpOa/2yjBRiVntDiPtE5lo1rvOxYZiPaCHoN9KtJgBmKbwCnxy9V/rQIfjd1DFp1vQ0l3I7IBqnN/RAK0Q/DHGN5FCMx6NddO3GVu/T2qFPqE7cho4ooSnmMM6gA0ASdZXKY/AgfWN0eE8vh4YR2iq5jEnw1A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333805; 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=MPk7GJ/Q7Awhqe4M7LOu5PgmoZQozcGdMhSTLUXghio=; b=Ipjx8XxxTp/TwB5FXtmlwe+I7i0vl6y8Z0Q7nSFPA+SlC9z7UTQSf5z1+9zvqerc5+VcCS2JJ5yRF9E7VPZP1xi4QrbtgR8+fxFDkxQurh03zrRTgvB7wNjtuHn1/uj57Rlx3KTsAY5Xx/KUoA6+qW5w7gI8k1/RpV+SG/FJ+qc= 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 1745333805632413.92584577445405; Tue, 22 Apr 2025 07:56:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F2Q-000705-5Q; Tue, 22 Apr 2025 10:55: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 1u7F2M-0006vD-T0 for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:51 -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 1u7F2K-0005Dd-PU for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:50 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-39c1efbefc6so3269419f8f.1 for ; Tue, 22 Apr 2025 07:55:47 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4406d6db131sm176258285e9.28.2025.04.22.07.55.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333746; x=1745938546; 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=MPk7GJ/Q7Awhqe4M7LOu5PgmoZQozcGdMhSTLUXghio=; b=JtpCxqdOjhWWHD8tE1zsP3daosMbTYHZ60fbmsy1ejgt2oxGpfADL1aov6tjvXt5Jy P+2e1lcBfB8KYJFp4S2jyF/aZLOKSqoCyxVGlpcSOnkakznxTyE0gWvjio1B1YKoj04A XGJUFeLc9GnHVLo0ttpI7elAb254CZlw2JYR1thVtRa9Og7rBUCS9HR2ltWztDg3VAFk qtLB0QaYvC++fjyzsQszJgSJ7uHYeDHqDMrqFC3scbrFmpBCM/NQOeU+azPpxCn3na9W 311Rp5BQYR1S76xz0Jg/YSYVfVI9stMHc0pI5H6ZsTFx8yw4hDUMg+6bObWSnRZx3YxE gz1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333746; x=1745938546; 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=MPk7GJ/Q7Awhqe4M7LOu5PgmoZQozcGdMhSTLUXghio=; b=ELVgBcqb6kDkuNaFWddO2YRaaeogmO+NBfY4lV7uz84wx6tvYtMyc1ICVb8mDMKHwj 2W/TJGX9lU+L8zoiG5Cu/j1HJJxZr98zR6I7y/xkDFZgSRD9qZsiUjt0N4ULfahOo6uP HTycVOhVaB/BAxy16DffaY4PhSLgCHPOOiurpuuIFtEdE08DmK+wK6wgXB4JXRU5+1An M8AVo3YXDtj9G61Ld96EGbGgzINxmVFNjk6aVut0Up/o0gBuE29Pd5cW5OIHBOTQhqyC 8DrqeJHSBW3x8iALeWUX5ky+SWVbA9PFOdWVg+Nfk9BAz7S831G3VcFrKBu2o7joYH92 RcKQ== X-Gm-Message-State: AOJu0YyRicMwsVcYaJBdaJNBY1pLaWkoiFv6h9MaZGX3npHq2U301SFI 6mz07HcFI4xrpelQ2s1Ii74/OHrzHQDeWU7Dllec4LJciVNJn8WW3KJwxvDGbp61dLQaG3ntqaU 1 X-Gm-Gg: ASbGncvLok5hKO23OoTh1ENcR8Qway+2nqY7M42NCewE599G7sbAXEgNnNCn9Y3Ps7g ttzzJK8+PaWVoiutU/fqWhqbGiZ1aU3ibrHQWohMV0UGoUMR3sEIBv0XyS11yQJ7/7xSUBlYkRq LWrmtAGNmn/Z8hv7MM3/Ftb7g1XhhKeGe4+J3efMNc39ixX30qwxpZ0K7HmKUrOIQRGgxaiB0ts f57Onfj2AlDfS/HqxVWfmZNCtyUuT0TNghINn4VWApogEbM6N5RzOqk/3wkOGC+lpTpIQrPDfiN go7gCs31z452mmH+w67NLv632S69DSqGbGp8pMcPNBnwjzL4HcGwZ3fK18BtiC6fEUMmiZ0llMn ztAvu81ki64IbAws= X-Google-Smtp-Source: AGHT+IEuIrE7Zd4KN3z0t/6CgZTpwCxx+i4MSYvofU9FDq4EPQLcXcewzcxMXSOzdGdzxkBRxdQm7g== X-Received: by 2002:a05:6000:400e:b0:39e:cbf3:2660 with SMTP id ffacd0b85a97d-39efba26294mr12321098f8f.3.1745333746355; Tue, 22 Apr 2025 07:55:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 09/19] hw/arm/aspeed: Build objects once Date: Tue, 22 Apr 2025 16:54:51 +0200 Message-ID: <20250422145502.70770-10-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333807319019000 Now than Aspeed machines can be filtered when running a qemu-system-arm or qemu-system-aarch64 binary, we can remove the TARGET_AARCH64 #ifdef'ry and compile the aspeed.c file once, moving it from arm_ss[] source set to arm_common_ss[]. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- hw/arm/aspeed.c | 6 ------ hw/arm/meson.build | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index ce4d49a9f59..6de61505a09 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -180,13 +180,11 @@ struct AspeedMachineState { #define AST2600_EVB_HW_STRAP1 0x000000C0 #define AST2600_EVB_HW_STRAP2 0x00000003 =20 -#ifdef TARGET_AARCH64 /* AST2700 evb hardware value */ /* SCU HW Strap1 */ #define AST2700_EVB_HW_STRAP1 0x00000800 /* SCUIO HW Strap1 */ #define AST2700_EVB_HW_STRAP2 0x00000700 -#endif =20 /* Rainier hardware value: (QEMU prototype) */ #define RAINIER_BMC_HW_STRAP1 (0x00422016 | SCU_AST2600_HW_STRAP_BOOT_SRC_= EMMC) @@ -1664,7 +1662,6 @@ static void aspeed_minibmc_machine_ast1030_evb_class_= init(ObjectClass *oc, aspeed_machine_class_init_cpus_defaults(mc); } =20 -#ifdef TARGET_AARCH64 static void ast2700_evb_i2c_init(AspeedMachineState *bmc) { AspeedSoCState *soc =3D bmc->soc; @@ -1714,7 +1711,6 @@ static void aspeed_machine_ast2700a1_evb_class_init(O= bjectClass *oc, void *data) mc->default_ram_size =3D 1 * GiB; aspeed_machine_class_init_cpus_defaults(mc); } -#endif =20 static void aspeed_machine_qcom_dc_scm_v1_class_init(ObjectClass *oc, void *data) @@ -1937,7 +1933,6 @@ static const TypeInfo aspeed_machine_types[] =3D { { TYPE_TARGET_AARCH64_MACHINE }, { }, }, -#ifdef TARGET_AARCH64 }, { .name =3D MACHINE_TYPE_NAME("ast2700a0-evb"), .parent =3D TYPE_ASPEED_MACHINE, @@ -1954,7 +1949,6 @@ static const TypeInfo aspeed_machine_types[] =3D { { TYPE_TARGET_AARCH64_MACHINE }, { }, }, -#endif }, { .name =3D TYPE_ASPEED_MACHINE, .parent =3D TYPE_MACHINE, diff --git a/hw/arm/meson.build b/hw/arm/meson.build index 09b1cfe5b57..f76e7fb229f 100644 --- a/hw/arm/meson.build +++ b/hw/arm/meson.build @@ -39,15 +39,15 @@ arm_common_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: = files('xlnx-versal.c', 'x arm_common_ss.add(when: 'CONFIG_FSL_IMX25', if_true: files('fsl-imx25.c', = 'imx25_pdk.c')) arm_common_ss.add(when: 'CONFIG_FSL_IMX31', if_true: files('fsl-imx31.c', = 'kzm.c')) arm_common_ss.add(when: 'CONFIG_FSL_IMX6', if_true: files('fsl-imx6.c')) -arm_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files( +arm_common_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files( 'aspeed.c', 'aspeed_soc_common.c', 'aspeed_ast2400.c', 'aspeed_ast2600.c', 'aspeed_ast10x0.c', + 'aspeed_ast27x0.c', 'aspeed_eeprom.c', 'fby35.c')) -arm_common_ss.add(when: ['CONFIG_ASPEED_SOC', 'TARGET_AARCH64'], if_true: = files('aspeed_ast27x0.c')) arm_common_ss.add(when: 'CONFIG_MPS2', if_true: files('mps2.c')) arm_common_ss.add(when: 'CONFIG_MPS2', if_true: files('mps2-tz.c')) arm_common_ss.add(when: 'CONFIG_MSF2', if_true: files('msf2-soc.c')) --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333910; cv=none; d=zohomail.com; s=zohoarc; b=E/bdRO1NWLo7iw+E4IqnqVDHFez7m8BtaFJROK+OQuiZRjpOn7fONzQ8NYoLl1ZuWJJmSIKi3D3lgYFPKQhOpgczJblubzUTnUSMeLewbGhl+uo++LaFtM/RvR/baxhrGZfw/smHyDvNlWEhW8KaATs6sH8upyvK9rOsck9VSK0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333910; 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=G4RFN5FOuVixNxaWmi5JCm+O9iaME+14SHqI7R4pYTo=; b=EqtIGBUevK4b2PJZm+kSmWI4+cHBgZrtyJRIM9lSHcZLx6pQ3ONExo5IPWHQq/4Psd2D8z068EE1o58bA7mveYHtBVYlWVFKUTZ7YrOeFGetU9hvP5o6uXijvs1mFw4R58o3GrZZKVEKDjMoFhqrOtFEOvrAlkERXxz4Uo2n93k= 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 1745333910153900.1581782967816; Tue, 22 Apr 2025 07:58:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F2T-00073F-Ti; Tue, 22 Apr 2025 10:55: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 1u7F2R-00072g-Hi for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:55 -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 1u7F2O-0005EG-Vi for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:55 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43cf58eea0fso25481775e9.0 for ; Tue, 22 Apr 2025 07:55: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-4406d5bbcfesm180029645e9.23.2025.04.22.07.55.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333751; x=1745938551; 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=G4RFN5FOuVixNxaWmi5JCm+O9iaME+14SHqI7R4pYTo=; b=tt0cOlNmEj4AMDQTC9EHAvpOsYIovqWbGnFRmKPOELNv7ZfD6E2qEiyHc9W9Jehhqd 6g2dop00CfqAQvTib3hSk3VpHmqiSa3TOpbprr0qHm5wVsc5nBxgmCGolMetiOCQ+m75 r3UV7PrBv+UIqFaoqCYVOwVKfuDsSiZSOV38lehRNxbFvj2VbbHJ0VCgzlW1SEIDEgyb n+Ebq3s7Ar4EjemUHY4GaXkoaGGGm27N/tVbpUEe6lSacTQfWIn53Nf5Q+M3K9mhFc/b yd/9PrX78o4/chpe3S3pfckfNcLD0wqPkEcE2M9/2P3o+HX9u7bWoFh+JYPyOvDbJOHv QjqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333751; x=1745938551; 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=G4RFN5FOuVixNxaWmi5JCm+O9iaME+14SHqI7R4pYTo=; b=hCJTTkcojuNL3z4yi++n/HDUu978IjojvmOPB5UvQPJZIBxhByqb0HXAUFV/DlSfMd PVDbdmkawwHPUYJSEiUPrSMf5PUJG+IInWck4vAv1mIS63q+HcoSuz3xUjWyV95edbMI DqldmWq8j1/yAwqKb9ynwnITzIm7nDhzxN/SeVNbG2Wans6trafQ2Bgy/txTHERLVc22 5Q0bwhQst/Y4kdRJUgjAE0H1nDBAHotaFQBR9ZvYRwycSdWofGoxtjVxDlHLrqDw6uFB ZYnfHtUts0OadFFTqclFilDfYmAwxN7OANlacu+Ig/2VQrB/aW2BmSsp78Lm89PUsoiR Fhew== X-Gm-Message-State: AOJu0YxsGJq02u6RZthEt1uGmV2TkUjxZ8803HeiAYfF8z6SBMosJ53T miMlBSFO3IkR8u8z/zM7coqtx3PvVPdjkjPMS6YiMfnH3ECWavw8dLVnFtj4XPlsIdtXSIH+g9m f X-Gm-Gg: ASbGnct9Rbt9hU3y4NsXuwfRhim+GEOZm5gPr2zAVda5g0q0ZIKqPXvRvxn0J6remvh bF8zMxCkpUaZtRRBm73NiFcAXoNpRL0Hf9+jyOA4w3mHmSoa2RXSRz1EUblLaIM45W+vDc87EyD g8am83QcIZs+Ik+OTyCVBVDUppnmFmNh+JpTiY7kPnuNy5ROQIgR9TsRiOPwDkOTsvKVrmw+Qdx ssJNuOIOcI7hq9jTwoUi+W9YQH+uNt5/zxGcSDwX4R5nhhw48pmHaWw7O/xSGFlxemhWEWC7T8b RBx/YXYhCYCL9qL7QglzMVyYDCDtrhsNWHdPsDugezVQWi99Fp9V+n/StLB6/TBMHZmZlr+CBhw Fa4g4BoUQqqeh4V4= X-Google-Smtp-Source: AGHT+IGO7RKNlus6EA0qpj3IkiPR6bCxDOJJEhbvk4X/kPBomhbz3ZgpgThpboo0K7PN1aOX0gcdNg== X-Received: by 2002:a05:600c:4ecc:b0:43b:c0fa:f9dd with SMTP id 5b1f17b1804b1-4406ac007b8mr126898025e9.25.1745333750855; Tue, 22 Apr 2025 07:55:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 10/19] hw/arm/raspi: Build objects once Date: Tue, 22 Apr 2025 16:54:52 +0200 Message-ID: <20250422145502.70770-11-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333912047019100 Now than Raspi machines can be filtered when running a qemu-system-arm or qemu-system-aarch64 binary, we can remove the TARGET_AARCH64 #ifdef'ry and compile the aspeed.c file once, moving it from arm_ss[] source set to arm_common_ss[]. Note, we expose the TYPE_BCM2837 type to qemu-system-arm, but it is not user-creatable, so not an issue. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- hw/arm/bcm2836.c | 4 ---- hw/arm/raspi.c | 4 ---- hw/arm/meson.build | 8 ++++++-- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index f60489983ba..454ea2208d7 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -196,7 +196,6 @@ static void bcm2836_class_init(ObjectClass *oc, void *d= ata) dc->realize =3D bcm2836_realize; }; =20 -#ifdef TARGET_AARCH64 static void bcm2837_class_init(ObjectClass *oc, void *data) { DeviceClass *dc =3D DEVICE_CLASS(oc); @@ -209,7 +208,6 @@ static void bcm2837_class_init(ObjectClass *oc, void *d= ata) bc->clusterid =3D 0x0; dc->realize =3D bcm2836_realize; }; -#endif =20 static const TypeInfo bcm283x_types[] =3D { { @@ -220,12 +218,10 @@ static const TypeInfo bcm283x_types[] =3D { .name =3D TYPE_BCM2836, .parent =3D TYPE_BCM283X, .class_init =3D bcm2836_class_init, -#ifdef TARGET_AARCH64 }, { .name =3D TYPE_BCM2837, .parent =3D TYPE_BCM283X, .class_init =3D bcm2837_class_init, -#endif }, { .name =3D TYPE_BCM283X, .parent =3D TYPE_BCM283X_BASE, diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 69cccdbb6b1..641e231db61 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -368,7 +368,6 @@ static void raspi2b_machine_class_init(ObjectClass *oc,= void *data) raspi_machine_class_init(mc, rmc->board_rev); }; =20 -#ifdef TARGET_AARCH64 static void raspi3ap_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); @@ -388,7 +387,6 @@ static void raspi3b_machine_class_init(ObjectClass *oc,= void *data) rmc->board_rev =3D 0xa02082; raspi_machine_class_init(mc, rmc->board_rev); }; -#endif /* TARGET_AARCH64 */ =20 static const TypeInfo raspi_machine_types[] =3D { { @@ -418,7 +416,6 @@ static const TypeInfo raspi_machine_types[] =3D { { TYPE_TARGET_AARCH64_MACHINE }, { }, }, -#ifdef TARGET_AARCH64 }, { .name =3D MACHINE_TYPE_NAME("raspi3ap"), .parent =3D TYPE_RASPI_MACHINE, @@ -435,7 +432,6 @@ static const TypeInfo raspi_machine_types[] =3D { { TYPE_TARGET_AARCH64_MACHINE }, { }, }, -#endif }, { .name =3D TYPE_RASPI_MACHINE, .parent =3D TYPE_RASPI_BASE_MACHINE, diff --git a/hw/arm/meson.build b/hw/arm/meson.build index f76e7fb229f..f52034ff6a2 100644 --- a/hw/arm/meson.build +++ b/hw/arm/meson.build @@ -27,8 +27,12 @@ arm_common_ss.add(when: 'CONFIG_OMAP', if_true: files('o= map1.c')) arm_common_ss.add(when: 'CONFIG_ALLWINNER_A10', if_true: files('allwinner-= a10.c', 'cubieboard.c')) arm_common_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-h= 3.c', 'orangepi.c')) arm_common_ss.add(when: 'CONFIG_ALLWINNER_R40', if_true: files('allwinner-= r40.c', 'bananapi_m2u.c')) -arm_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2836.c', 'raspi.c')) -arm_common_ss.add(when: ['CONFIG_RASPI', 'TARGET_AARCH64'], if_true: files= ('bcm2838.c', 'raspi4b.c')) +arm_common_ss.add(when: 'CONFIG_RASPI', if_true: files( + 'bcm2836.c', + 'bcm2838.c', + 'raspi.c', + 'raspi4b.c', +)) arm_common_ss.add(when: 'CONFIG_STM32F100_SOC', if_true: files('stm32f100_= soc.c')) arm_common_ss.add(when: 'CONFIG_STM32F205_SOC', if_true: files('stm32f205_= soc.c')) arm_common_ss.add(when: 'CONFIG_STM32F405_SOC', if_true: files('stm32f405_= soc.c')) --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333835; cv=none; d=zohomail.com; s=zohoarc; b=dAzOMlzI5iPH/gJ/YAwLNWYuM05I8baQhK+E/db7T9KwufRkNvEhyurI5cxQy8DY7SXBcXkAhKD9Y0MetZOuGXBUfAZm/HnY9xZT2HhOkfnl47gOsVR1RSYZZQQJSsF2dRL6ISPF2nz3RlLai2oeLy4RFYQgwMkf/na1pnXPpq0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333835; 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=tXKfwIcrPvC5QvBuHzIyemct49OPnabCI5IYu6xLPCw=; b=ennyqYtSk3p1jWsQLoz6vXlh6viu4gfE2JUZfQU1JNS/UTJ8QMFc0qxUHJr6kbSgZcLgPlDD95yC/faIGG+eatrPhu9OkhTwi364F0sw6GMhjRrswbpc73BCcduxD1efuce170v5b/rnf/EJj0R+hHjAC4Ffk9aCPWp0Lvh+snE= 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 1745333835703741.3165347329651; Tue, 22 Apr 2025 07:57:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F2d-0007AT-3G; Tue, 22 Apr 2025 10:56:08 -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 1u7F2V-00073z-BL for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:59 -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 1u7F2T-0005Ei-6i for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:55:58 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3912d2c89ecso4535472f8f.2 for ; Tue, 22 Apr 2025 07:55: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-39efa433133sm15305288f8f.28.2025.04.22.07.55.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333755; x=1745938555; 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=tXKfwIcrPvC5QvBuHzIyemct49OPnabCI5IYu6xLPCw=; b=NAEW9omlsN4FmBo2kGUE8vh/YQU64LEFTS7M/Q7RcfNgifeiRA9fG4xTrmJ/atYezE wAVaVp67cGJiE7czZBFq11Fdp4HjeCjuF3Ro+x9bVRTIX3ll7gQbWWxwjjSOoaQONg/w 9y6Qwi/eGSJ6qisf/idphNFX4XmTAacb28ezJLbEh3QaelmHrDF10lpKRzJsCAgB1SYi oCa8NRM+yzB5pLpplTV/3/Axv0w4HDxeHrmM9YFZuF26Xr9L/5/00SZ1sLErQ5sBa/FR xFQZSnd4Z9+uSQgmubFAQHjcn8Fiac644xzAmYj7XFvn4dhGbxgJTi6zeOEwXkKwK1N9 IgCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333755; x=1745938555; 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=tXKfwIcrPvC5QvBuHzIyemct49OPnabCI5IYu6xLPCw=; b=VqS7ORH009TKVftbGESXIBUPbKpUUwYYtyG5qEuLJCgWcU1OpEEFUqZ9WciRrhwG84 2W3X8JQ5bPtLfbbkH2BYO2x984HpupSNgQzwoc7DmREzbAdaoA02WGMz67Guvo+bmMAg lZRnif3lG7ZN05YymOLg7gbALDHpJm6jAjXZ7eMNtyYjGNsx46ZFYxtiDSbdF6kQ4iGx gSidKE1RxFL5Pn4mf66OsSee2y82ixWSlJafxR6LGDdLGJ00ufxuYVNNEfDXXRgb2zqE 9N9IPGU075rkQ6qlEZs/SD8CL4TdpjZTUp6FBrAWYOjNUG9NG2RJh5yxbnvl3lGRnh7f 2HnA== X-Gm-Message-State: AOJu0YxA/tFK7ZEGL1/q7dttXrUSYrjxkmaZefBxutei6z58eFjyKYK9 Jkxix6WZe3TvJYfs+T8MBsqnVdycuEaU54LWclRt5IvVpgmgNHFoL5bTIKug7o9MccKcDPC7XQ4 X X-Gm-Gg: ASbGncteCvokg5yBqqep+0ELMpJKaJlTPS1zu3whmZB2yRrO6C/cILXEza2uYnIynQ+ Goavd9stvJHXV3Phj1mVr7fA7c0FJglMcUxAyxqwrfRZ0yAP7L1Ho3AuKZsW+WvIkvZyXQBMwBE tyH990cmoiphc2BtcZeAJN/2I0SeaZkC+LnQu7pJqyVMIqET2ArtKK8FuDekK9vm5GbKWyLtF7c Ys24DV2M2C9CLTN4HRHTcvNNrxlAwjs5ptNYq1audrGFIfHnXCL8L+NZavBytCe9Jt4cmqRnoBs yt8p05ZJrFReA/AohRh4VRov728S4gijmFD0kjy06UeD6OsIw/X9/CXm4MffCfOI7zVKU9EleNO dEP1BQf/4QTkeWoao9GOmNC83cA== X-Google-Smtp-Source: AGHT+IH3kbWZk9Fwv9mDfcHDH9MY447+pkpReNyEh9a+XFd9ZhrQI3WEzcW9GiwGJEkWqYfF/GZMgw== X-Received: by 2002:a05:6000:430c:b0:39c:1257:cd3f with SMTP id ffacd0b85a97d-39efbb17649mr12256816f8f.57.1745333755404; Tue, 22 Apr 2025 07:55:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 11/19] hw/core/machine: Allow dynamic registration of valid CPU types Date: Tue, 22 Apr 2025 16:54:53 +0200 Message-ID: <20250422145502.70770-12-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333838087019100 Add MachineClass::get_valid_cpu_types(), a helper that returns a dynamic list of CPU types. Since the helper takes a MachineState argument, we know the machine is created by the time we call it. Suggested-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/boards.h | 4 ++++ hw/core/machine.c | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/include/hw/boards.h b/include/hw/boards.h index 02f43ac5d4d..be0c0f04804 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -259,6 +259,9 @@ typedef struct { * @smbios_memory_device_size: * Default size of memory device, * SMBIOS 3.1.0 "7.18 Memory Device (Type 17)" + * @get_valid_cpu_types: + * Returns a list of valid CPU types for this board. May be NULL + * if not needed. */ struct MachineClass { /*< private >*/ @@ -306,6 +309,7 @@ struct MachineClass { bool ignore_memory_transaction_failures; int numa_mem_align_shift; const char * const *valid_cpu_types; + GSList *(*get_valid_cpu_types)(const MachineState *ms); strList *allowed_dynamic_sysbus_devices; bool auto_enable_numa_with_memhp; bool auto_enable_numa_with_memdev; diff --git a/hw/core/machine.c b/hw/core/machine.c index f52a4f2273b..8b40735ef98 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -1581,6 +1581,33 @@ static bool is_cpu_type_supported(const MachineState= *machine, Error **errp) return false; } } + if (mc->get_valid_cpu_types) { + GSList *vct =3D mc->get_valid_cpu_types(machine); + bool valid =3D false; + unsigned count =3D 0; + GSList *l; + + for (l =3D vct; !valid && l !=3D NULL; l =3D l->next) { + valid |=3D !!object_class_dynamic_cast(oc, l->data); + count++; + } + + if (!valid) { + g_autofree char *requested =3D cpu_model_from_type(machine->cp= u_type); + vct =3D g_slist_reverse(vct); + error_setg(errp, "Invalid CPU model: %s", requested); + error_append_hint(errp, "The valid models are: "); + for (l =3D vct; l !=3D NULL; l =3D l->next) { + g_autofree char *model =3D cpu_model_from_type(l->data); + error_append_hint(errp, "%s%s", model, --count ? ", " : ""= ); + } + error_append_hint(errp, "\n"); + } + g_slist_free_full(vct, g_free); + if (!valid) { + return false; + } + } =20 /* Check if CPU type is deprecated and warn if so */ cc =3D CPU_CLASS(oc); --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333805; cv=none; d=zohomail.com; s=zohoarc; b=WV33/PSP6QAdC8LacI0I8eWyvyBVeUBRITZ84NA8VlVVNeZW+ybYj6atLH/9x2ihOK7oqPhF2ZKBGc4WtATn9+9NR0gQhspawAjwBYfmKqxoA11esdkmvry1j2kNmP3T1mC2ADZ/KUx3SKPrpFvSkgkQ+sHUqYt3yc6hJyxy0mg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333805; 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=x2KEV2AEYEUZLZcRsBIKfpHBlRW4GmRUJdostUxtMx4=; b=iDk0uiB8nPRBE0a5KOskRhFT6xn75PKm7my7Mn1YvrZJB3PKcNjzYcGOuc8Q4WqINZ7Tx9YjKTPEXT5uCGDLDXoAtEpnhQGsXecW1tJr1urua/aGpqHhHp0XzTYeHx33wHeJqyE/w7J3P9cThE6zSQ+aNFxlSfLZzySmWSLa5fs= 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 17453338051966.816381076645143; Tue, 22 Apr 2025 07:56:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F39-0008T8-Qu; Tue, 22 Apr 2025 10: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 1u7F2p-0007Yh-Mz for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:22 -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 1u7F2c-0005F2-93 for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:15 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-43ce70f9afbso45734595e9.0 for ; Tue, 22 Apr 2025 07:56:01 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4406d5bbd8asm177010515e9.23.2025.04.22.07.55.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:55:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333760; x=1745938560; 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=x2KEV2AEYEUZLZcRsBIKfpHBlRW4GmRUJdostUxtMx4=; b=Sgjuf9kxBVeOeh+sOK+JLzLhoMe/E1jN86FxcYuupc4TP6KJZSfiXy4GNe2uAcctqA CQ1JafAb/52vhjUSYPc0fNM2WCvml8LMueKq1ld93esKbdqXNtqLlUvpqXBVnwI1ayeR oVgTwimljyuqBvEshp3GgFDb7lcoaWXMkrf8nlz1j+No7luJuglRwrzywPf0I3b1rj5W HbdBvdmqt03+iD0aPopNgfSyO++WxUkAjUsXnaXLOPwx5RNRCryAjrYnnyttbjHQvXKd bcnuMSpIOh4CbTR1+wwc/ppSBCXHh5a67+yYyVu7/44pCwAHSUrlLXlk8g/ymaI3qGBy Nx0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333760; x=1745938560; 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=x2KEV2AEYEUZLZcRsBIKfpHBlRW4GmRUJdostUxtMx4=; b=XIVP2Rqqlbc07qLFljR4iwN7U866zMXrsIUHHqvaq1Nc3MUp1hRlCRb6d4F1B+qXHw AGlGX/WijmrzW0XB6stGd5vPE53yTRLG9ErN7F9DIlDo9I661u4caPzcnhenRb5uWu8C OVITEOKr3dDn/P1ltFLNj2hrvjy2AlZy+trTotEkAZSuiNjX+wKASJuNj/CORK1nln/u 8YxNFudYsR/Vkp0cC0esbN1HAHqo2LuQ2+6OC0uELZYkEtHm5hqi+Ijd99DQIEldbqkM NPP8DS6onh3aWXYie9kgUipIpBUiQqWWxSEf7D0Eu3ZW2JNxWIUDFTszobnyw2xN0Ean AxcQ== X-Gm-Message-State: AOJu0YxilGew9BOxCPnHdQdMNRIQbT8F1cdQcWYglqzjgQcS9+s9tD+8 zY6DnPlwkthtA6bkBzdnu+biNIqUfVV7fGf2Gxf8lVP8Hm4+QgVM4SvnACnGrOVT6CPyZ2O4D9j h X-Gm-Gg: ASbGncvF6c7/F2TB/KsWfklsbdC1xFBiWiPy08HP2j4UzOZ1V1466ZHnvsQCyXPAO0P Gk1voldEI3fW05maV3Vx/GDutOu8bBai3KbhAXbU6v0r7u2sh2CbKsG7ifKU2Go9dmjHqeXAdDG SgZl35jbM4OfGQpuH7aZJvIVGfxOoCDuGcSesAxQ4CxxaZZKVxfYrblaQ4nii1tii3xUjLSFlOh KR7kjYiOeWYdeoYk+lyoaxvOYUxjE0DLLU5baWAyFOFJSyHLPq8ApmSinpQiMdmjh/fZVIIW4Bz FwPbXbaEq4POZtsSx3HYcsWiMhQPDCnMHLD46Dfjs09Tih05uNDygkAWEh0gXvJGEN0JS2IxpAJ hnpv1twSKt8QlSVM= X-Google-Smtp-Source: AGHT+IHSo69OW5Hs5rZUkygtWXWCyAhed5CfpSisFgPy9uOkSsKMTK5i9Pd120jH0qTGhirp01/voQ== X-Received: by 2002:a05:600c:19cc:b0:43c:fcb1:528a with SMTP id 5b1f17b1804b1-4406ab67742mr125776195e9.6.1745333760048; Tue, 22 Apr 2025 07:56:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 12/19] hw/arm/virt: Register valid CPU types dynamically Date: Tue, 22 Apr 2025 16:54:54 +0200 Message-ID: <20250422145502.70770-13-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333807351019000 Replace the static array returned as MachineClass::valid_cpu_types[] by a runtime one generated by MachineClass::get_valid_cpu_types() once the machine is created (its options being processed). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/virt.c | 59 ++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index a3c9ffe29eb..c6ae7cc1705 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3130,36 +3130,41 @@ static int virt_hvf_get_physical_address_range(Mach= ineState *ms) return requested_ipa_size; } =20 +static GSList *virt_get_valid_cpu_types(const MachineState *ms) +{ + GSList *vct =3D NULL; + +#ifdef CONFIG_TCG + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7= "))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a1= 5"))); +#ifdef TARGET_AARCH64 + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a3= 5"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 5"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7= 2"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7= 6"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7= 10"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("a64fx"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= n1"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= v1"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= n2"))); +#endif /* TARGET_AARCH64 */ +#endif /* CONFIG_TCG */ +#ifdef TARGET_AARCH64 + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 3"))); + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 7"))); +#if defined(CONFIG_KVM) || defined(CONFIG_HVF) + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("host"= ))); +#endif /* CONFIG_KVM || CONFIG_HVF */ +#endif /* TARGET_AARCH64 */ + vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("max"))); + + return vct; +} + static void virt_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); HotplugHandlerClass *hc =3D HOTPLUG_HANDLER_CLASS(oc); - static const char * const valid_cpu_types[] =3D { -#ifdef CONFIG_TCG - ARM_CPU_TYPE_NAME("cortex-a7"), - ARM_CPU_TYPE_NAME("cortex-a15"), -#ifdef TARGET_AARCH64 - ARM_CPU_TYPE_NAME("cortex-a35"), - ARM_CPU_TYPE_NAME("cortex-a55"), - ARM_CPU_TYPE_NAME("cortex-a72"), - ARM_CPU_TYPE_NAME("cortex-a76"), - ARM_CPU_TYPE_NAME("cortex-a710"), - ARM_CPU_TYPE_NAME("a64fx"), - ARM_CPU_TYPE_NAME("neoverse-n1"), - ARM_CPU_TYPE_NAME("neoverse-v1"), - ARM_CPU_TYPE_NAME("neoverse-n2"), -#endif /* TARGET_AARCH64 */ -#endif /* CONFIG_TCG */ -#ifdef TARGET_AARCH64 - ARM_CPU_TYPE_NAME("cortex-a53"), - ARM_CPU_TYPE_NAME("cortex-a57"), -#if defined(CONFIG_KVM) || defined(CONFIG_HVF) - ARM_CPU_TYPE_NAME("host"), -#endif /* CONFIG_KVM || CONFIG_HVF */ -#endif /* TARGET_AARCH64 */ - ARM_CPU_TYPE_NAME("max"), - NULL - }; =20 mc->init =3D machvirt_init; /* Start with max_cpus set to 512, which is the maximum supported by K= VM. @@ -3187,7 +3192,7 @@ static void virt_machine_class_init(ObjectClass *oc, = void *data) #else mc->default_cpu_type =3D ARM_CPU_TYPE_NAME("max"); #endif - mc->valid_cpu_types =3D valid_cpu_types; + mc->get_valid_cpu_types =3D virt_get_valid_cpu_types; mc->get_default_cpu_node_id =3D virt_get_default_cpu_node_id; mc->kvm_type =3D virt_kvm_type; mc->hvf_get_physical_address_range =3D virt_hvf_get_physical_address_r= ange; --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333859; cv=none; d=zohomail.com; s=zohoarc; b=N1A8I98eFgz1jHx0Wen2/uodIbZ9UWGrOss8kQ7tudGs7kEIgoZSPAYq3eQB8i+mSScX4pNORbByX67CZmUsVJOEmIjFNDw79AENOI5RJqeFiw7vgdq6UximIaxr1CgKTam/dX9QYokFtfXoCM4fb/BWy2N68Jhfxgn/cZ/Bilg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333859; 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=/NpcWHK1tlI/Y7pSlo9+T4pe4lo1ktQrN6NqYGtQ1SE=; b=AlScAgoAHoVzwMUAzg73tABiatOGJWXKJP/WQ5Bh+j/eGdz9U3CFaORSWXl86VBXRXHE0eCY0ek2PPLxlFe1J9lcTadWBpAsfPpuUhtA/9gGKdikPKxPtRlhPC1tKcgjk7RWaz78R7xgcbyoXWQQzWwCr0AfSwg5s7WYX/w0w18= 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 1745333859139741.6767953120027; Tue, 22 Apr 2025 07:57:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F36-0008Er-Sw; Tue, 22 Apr 2025 10: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 1u7F2p-0007Yi-N7 for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:22 -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 1u7F2j-0005FF-Fl for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:16 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-39c1ef4ae3aso3183961f8f.1 for ; Tue, 22 Apr 2025 07:56:06 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4406d5ccd38sm174691505e9.28.2025.04.22.07.56.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:56:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333764; x=1745938564; 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=/NpcWHK1tlI/Y7pSlo9+T4pe4lo1ktQrN6NqYGtQ1SE=; b=xe6EId/U88FHHqAwl22Mw5dptGUH1jKYEZj5F/mhvtSso1CAqZbx5dZSWqxvq+v+PI Nww7+nre+fOyTbLJVxZuyeTBB3Xw01s6WVf8nelS0vfqarX/YGOiN541Ro299RCxVpSf gtHbhFSqeDAqWEHFITQlzZOT6SvHiWnxc32ORp0yxe4ygK6GeZBKZyadG0CjCaCxlyVc 5AnhPq8TAbDz/+6mzz6Y+MZv2Zdca3ZG/rPhJX1XN/hHBCyehtfaxtYd9dLEIm/n6Ulv z0YGMq01C/IBaDx+YO4lI5WEdjP3nb+BMPGCgQYwktXiIG0cORiAM4JtcoN1vibAYaE3 Fhtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333764; x=1745938564; 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=/NpcWHK1tlI/Y7pSlo9+T4pe4lo1ktQrN6NqYGtQ1SE=; b=HB4oI5xTDKoZNlJaeEMcBA53d1O2Jf6KufEiFXQO4FI31+tx0pEnVbXvqkjw8qlusx KUWgVjKfE8BEfoxCDtnpfVCu9OYjSR/wS23NfkbMqnWUk1/QGmRBtILbIppopLgfwipl whimnnFK7XvHcdg2UX5PTg5x4FuU9QiZMOAqQMvfRiVqIdjoh670L5+XhjhFatetNjkg A5Lh0I8BsL/Auw9X3WnNKqjeAvoyrZkNf3LCbuXE31jeW6UmnzZBebi+/9ZPpUUv9Rq6 MoJup140FTF77PumgrOsDQJ02hs67NR5ULH/vO+Cr2fVewoAy8nP5WsGBL0x+KQPa7MH oUcA== X-Gm-Message-State: AOJu0Ywii4kLKfVpk8QHQTUBoenGijPlcGr0bruVAMglnjyjr8XQGqzN nZfFp/33C9Ix8iC6u9uUzUAhD3ALRNYlupou2vP0sHnJZncjMPVbGrdKvyuLXguhtNBByCX59yU b X-Gm-Gg: ASbGnct/4UGTdxSbKTRIYHPJ4+v4istu/lDTe/ECA5nU35H0sEqiTgxZE56Cv0bBDF/ PTa6hJSx6bjPL3k8wq63YoO2wqYN+oC10IsMpon9nz4GylQzBxvInrqbIgDhSxCQt84KD5UbubV KzQmjFJM80wmi5gPaN77eeZvXxljKjjAOhhhrH/tn9oxkVgqdZm6YjnJ9EslgCPcR9ep6IssgBF zvfK88mA09GvLvcshHXHET+vrrA9dknMfgjQF0oUDgIpDgFqj0l99Q+xOMN4YFRMiT2KkrXHttF Zqlo1V6UvaixQP62Stvfs2YpldTPAk8puXo9/UahIAB60M+5kdYmlcTU23dohgqpFVQ0F3wSLej lo0ju+U4fv+DsgkY= X-Google-Smtp-Source: AGHT+IG9TcdlYGubsjEAYNMPzFZ1aCc3hfG277X1loBFk/cpGwotCSMFpnvcrn02gI3mVtvzrJp+yw== X-Received: by 2002:a5d:64ac:0:b0:391:3207:2e68 with SMTP id ffacd0b85a97d-39ef8ba561dmr12801501f8f.9.1745333764633; Tue, 22 Apr 2025 07:56:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 13/19] hw/arm/virt: Check accelerator availability at runtime Date: Tue, 22 Apr 2025 16:54:55 +0200 Message-ID: <20250422145502.70770-14-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333859462019000 Replace compile-time check on CONFIG_{ACCEL} by runtime check on {accel}_enabled() helpers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- hw/arm/virt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index c6ae7cc1705..d7197958f7c 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3134,7 +3134,7 @@ static GSList *virt_get_valid_cpu_types(const Machine= State *ms) { GSList *vct =3D NULL; =20 -#ifdef CONFIG_TCG + if (tcg_enabled()) { vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7= "))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a1= 5"))); #ifdef TARGET_AARCH64 @@ -3148,13 +3148,13 @@ static GSList *virt_get_valid_cpu_types(const Machi= neState *ms) vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= v1"))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= n2"))); #endif /* TARGET_AARCH64 */ -#endif /* CONFIG_TCG */ + } #ifdef TARGET_AARCH64 vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 3"))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 7"))); -#if defined(CONFIG_KVM) || defined(CONFIG_HVF) + if (kvm_enabled() || hvf_enabled()) { vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("host"= ))); -#endif /* CONFIG_KVM || CONFIG_HVF */ + } #endif /* TARGET_AARCH64 */ vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("max"))); =20 --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333859; cv=none; d=zohomail.com; s=zohoarc; b=JFN9G+MZnK8rCmvZ0JzJNBuNZecFS1tD9a1nf4yixiXyLrlPUWHy/3VgN3wmwWsNRikHDNDcySRIBDNPl/1oijeaLVSs/oMno8GFyFKcrN6CXT7oee5K91HWzCX0NPVZdwEf0KzaMcrfJ4gJOtxz+cBLk4AvAJsoc+98QSdS5zI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333859; 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=ys1CVx2S8BFm0hdd9mmIlkJ/zaau9sSCXoT1k+qUtnQ=; b=ds26xzUjJlPG5xiA/gWJxwulOr95e+QBcfa68suvuT70by4/t/HYslPXlJ1WtFpfhWn2+NTzFAYvDsFVTb1OCmIYi3e1LEXZm8vrZWnTMTSvF2BNan4M38tq6VpqBXudIpqIs/fXuYnhUitEC6YuJ8bV75Kl1wOjEMJP/dyub2w= 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 1745333859764961.1332047531097; Tue, 22 Apr 2025 07:57:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F32-0007u4-14; Tue, 22 Apr 2025 10:56: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 1u7F2p-0007Yg-NV for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:22 -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 1u7F2j-0005FL-5q for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:15 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3914bc3e01aso3267781f8f.2 for ; Tue, 22 Apr 2025 07:56:11 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa4332c1sm15299896f8f.27.2025.04.22.07.56.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:56:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333769; x=1745938569; 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=ys1CVx2S8BFm0hdd9mmIlkJ/zaau9sSCXoT1k+qUtnQ=; b=zeS/n/2E+iiV2KrPxTsaCzT2GAqZq55n9cx21awkWZ21WyM0OMazuPK7jHZ4twMfuO p0k74cihP1iCuD5r5bbcCSl54Qaeo2mPttTC/2QnpOpOnrxRdJeksV70spq/S/Hg0XeA ep7iRRTDE/BaUH8UGfFVdOGVe54Hfukbz9ODcaD5DZyIqp6xSYWjQ3yyMK1F05WwBbYi 3ESIOlJJmWSS5edGC+o0MmMqsiN3XtFGEQl27Zb0fTOmtuY5iPmGF3XIMrbOgb9mCYcc p3PAl9+OOTq3mZgqAUl5npyBYZlF5TCDIEXKjc/CscoZu/S5qw+omiyUR4NIGpz0qgxP IWGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333769; x=1745938569; 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=ys1CVx2S8BFm0hdd9mmIlkJ/zaau9sSCXoT1k+qUtnQ=; b=IQQOTaKqE0+D2mKDv+mWixoIVxxG9g4yHXC23D409hMiOoyOzmoncVtKwCOOlUG2Jh yv5nmSGqh899GLRKkkKFvx60EaLuE43H87uCMmbfEsr/01RgvLDM5pDXtHs59o0xBHFc 0LLbNCR1Xs4O9zW183rdJMbFKQHCqtBtMnWSsBGRjOBhFo0Z1kYgsh78cyBLvZfMJGnM JA2mVCTc2I7J++MBB5DvBWYLEgRVEBTxUrUX99XBNjYKd8dWZ58+cmxlNAhp2a6hYP2a VA0vkEVNBH9E2ERT93LdhVU0eJmQgEgMoBmDeEaT2VFapH3joRfw7UsclVEOTEFuENgE +sPw== X-Gm-Message-State: AOJu0YwyF/CB5bwNbhYDK8PDsHzuWehVq9QH2PlJb8gNZuoZow9lKl49 zvmu5sGIyOkX0Ftf8bbwlcbx9ynHRMKkSDthWvG/q9MdVazFdNWa3BHiAMuq68dSLHeKWcgMdUe / X-Gm-Gg: ASbGncuIEtxRPDNAraR2CPYFRz9tiDimGKmQFSEDMgGFYolKo34DqdqirFGTKRjakC5 fitlxHwhiI8Xmp4yIUfqMxivdTpHdPuR47tCtQHiOCVYg/oQUTPzP0ZMnNwydm+ncg+yXy9Wk4c BgovEjhzEp5xivj9q52XEoY7WDxFWtTg34l+6zMSFrK1TcG/D5OTG8KFJjOZidsqY9ttUmqkl3m 8XlwCZcSCiyILAFE2R7+iHRHLLD9JBY2h//wz/AZQ0+A83iPKf+dehZqjq15RPiWvwnGvCspo8P mFFv8vov+VIjC2TJBNhbx3RixSyR4OZrcuJL5aVs8o+TG2iUZDoytgWpNPRF3IQkdixzXcymddj z44rDxw+rUEWrFLE= X-Google-Smtp-Source: AGHT+IGUcqFcrsiFdS/t15/nFnyBti+ww9bgfY5ZBnQ0+2BIpkSEcQudoR2bkA/FOG1bHHSKbETzWA== X-Received: by 2002:a05:6000:2905:b0:390:f460:77b0 with SMTP id ffacd0b85a97d-39efba5bfe5mr12107732f8f.26.1745333769262; Tue, 22 Apr 2025 07:56:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 14/19] qemu/target_info: Add %target_arch field to TargetInfo Date: Tue, 22 Apr 2025 16:54:56 +0200 Message-ID: <20250422145502.70770-15-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333861471019000 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/target-info-impl.h | 4 ++++ configs/targets/aarch64-softmmu.c | 1 + configs/targets/arm-softmmu.c | 1 + target-info-stub.c | 1 + 4 files changed, 7 insertions(+) diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-imp= l.h index 4ef54c5136a..e5cd169b49a 100644 --- a/include/qemu/target-info-impl.h +++ b/include/qemu/target-info-impl.h @@ -10,12 +10,16 @@ #define QEMU_TARGET_INFO_IMPL_H =20 #include "qemu/target-info.h" +#include "qapi/qapi-types-machine.h" =20 typedef struct TargetInfo { =20 /* runtime equivalent of TARGET_NAME definition */ const char *const target_name; =20 + /* related to TARGET_ARCH definition */ + SysEmuTarget target_arch; + /* QOM typename machines for this binary must implement */ const char *const machine_typename; =20 diff --git a/configs/targets/aarch64-softmmu.c b/configs/targets/aarch64-so= ftmmu.c index 375e6fa0b7b..ff89401ea34 100644 --- a/configs/targets/aarch64-softmmu.c +++ b/configs/targets/aarch64-softmmu.c @@ -13,6 +13,7 @@ =20 static const TargetInfo target_info_aarch64_system =3D { .target_name =3D "aarch64", + .target_arch =3D SYS_EMU_TARGET_AARCH64, .machine_typename =3D TYPE_TARGET_AARCH64_MACHINE, }; =20 diff --git a/configs/targets/arm-softmmu.c b/configs/targets/arm-softmmu.c index d4acdae64f3..22ec9e4faa3 100644 --- a/configs/targets/arm-softmmu.c +++ b/configs/targets/arm-softmmu.c @@ -13,6 +13,7 @@ =20 static const TargetInfo target_info_arm_system =3D { .target_name =3D "arm", + .target_arch =3D SYS_EMU_TARGET_ARM, .machine_typename =3D TYPE_TARGET_ARM_MACHINE, }; =20 diff --git a/target-info-stub.c b/target-info-stub.c index 218e5898e7f..e573f5c1975 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -12,6 +12,7 @@ =20 static const TargetInfo target_info_stub =3D { .target_name =3D TARGET_NAME, + .target_arch =3D -1, .machine_typename =3D TYPE_MACHINE, }; =20 --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333841; cv=none; d=zohomail.com; s=zohoarc; b=YxbzQKDm1XlaPRRPtK6UZlAVBIpFMwF5LyFS4rnH5vxY95Ractus7/ALj54rmSFfjv/d6z6g0HaV95xpVKmYcRofnEAFYmRSfagLNki/JAm1/9srFGCJCuWpkNH8WZgx/H0kToj4PmTVEqywyzUWwMzQ1lR4XBe9vqs0+Tz/0m4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333841; 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=YFl8Ly/qyHwYtgftZrE5c35JfKlQ5+ZoAjui+4BDjNg=; b=K/W5cfR3qczBBuhmEsgRFO3UAf9SggrGalu5+9eXddRloyKP1NpgfGZbGhoeBEVfAfzTqaFqxnjrDEvMJUhxBnjaR+9s2H8BtgTsE0lSe+wdazB78Qyh2bTUsrYk+gW+EIyQnFeWCGM1DUwHcs4aHx3VQkYRadtVCSFoc8zOWQE= 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 1745333841015987.6885136840395; Tue, 22 Apr 2025 07:57:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F32-0007uS-19; Tue, 22 Apr 2025 10:56: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 1u7F2s-0007dN-Vb for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:26 -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 1u7F2p-0005Fj-F5 for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:22 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43cf06eabdaso50859015e9.2 for ; Tue, 22 Apr 2025 07:56: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-4406d5acddfsm177355865e9.15.2025.04.22.07.56.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:56:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333774; x=1745938574; 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=YFl8Ly/qyHwYtgftZrE5c35JfKlQ5+ZoAjui+4BDjNg=; b=oXgfEHyKmjWzHIcNudOuNddB1ubX8BVVhIpF61mc2529tSWEJ+EnNqbV2uR/sd1zSa 6q6t3N7+h7ASiTNddlguKVnAiBxBf1qIVsejyCQk7OSO3bj5FmoE+YMVByUjvyPq5f3w MwRKlKHYBDUN1PdipOsmJqFLi9HLW+MHBoQOpqT8XxRiK4FqGor28l3Tu0FFP+cD+6qt HFRm3HLqK6FHas7BESVsfxMVhIAex+JeCema+EjxbAZR6aQ0n3sfoVKyBCnPTYdqBAWd eiwYaB4gJ/zJV9HSyuVodj2LpOBxPZ8ENjbIGZeOc9CRB4C4P7ZH+Q7xXwwfc0N50iAB b0JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333774; x=1745938574; 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=YFl8Ly/qyHwYtgftZrE5c35JfKlQ5+ZoAjui+4BDjNg=; b=DYsw8K2jdC1UQnuhz4nB6WrtN9YggUdDHBd2eaBbS0hDyZ7G0e6srvbkr4qTNX84ww 56BBBv7d5ID1dcWrT44wOYiPkKxHiRnue3Pz1ShPtGxPQ7TLjFqkWIuGyLYutO6p1k9o +6WBod8Gg4rnv3bmnntbKqb4LDoF91/bGOgye0ur67EIyFatajtrjLbrFSbb5NDnWt0u Blo5UOBCn5ArFDWetXaeNdjeb9+c4hvMrTSIlsCk2Hh4Qcy3Im7ZKBwKlB3f+eMadIyJ VNLhcwyz53qh6/b0+aX0d9NhaQ8WZVT49LQ4OgkUD7rKXPcJFTBedS3iX5/b+0gPAFsH Z9Ww== X-Gm-Message-State: AOJu0Yx6BODBfjcK1LG09Co4TqdnmC3cTUI0GHqamLfTbOmASMyUwWKf QZpAK/HXzaj8uLLqLafAqdGCNFG+BJeFFjVpolUCkyF8cEz63LPzYE1K6dqj20cxzl+u1I2FOqI l X-Gm-Gg: ASbGncu5t6k9PVWPoGq7NkLs/0ZoRW/J97O7L63PkQYdvy20ospEXvODPED77DOP7zd Fe12gnmhRi5RKV0h3VaBPqm7NRCX0LM+6iaZWqcw0lQjRM6rJPWBlbOjlK1XDOwJJ0gKlo433j9 Sap8R+QCp/gaWKH3GCPT8BAhuVaj6zuvYL4tj6gDoTyRmc8fO2aETbCmYZRxb/2Krc5NkltJD/A RuOy9xLLrHIxoE2vak9dnXs0pG+hPIHiJXbO4wGZSfC729+ZrsZyxlTRQVkWMv+SmYHXW2GliOa +vs/jNwJr7hAbI7mSrSBTAkoRGcPiMmKjGP3nLsjfzwLKxdDf+jRB/N9C21CSGWZkOQG4/oixac pKUebkCZsJMlPS7Y= X-Google-Smtp-Source: AGHT+IFq8kbE/8/9p/n2YECarvmTGEHnaXJpMra01NqPxg85+24rZvXO95tpaevMNM4daDOyK7F4/Q== X-Received: by 2002:a05:600c:54c7:b0:43c:f8fe:dd82 with SMTP id 5b1f17b1804b1-4407075fa9cmr101218505e9.18.1745333773802; Tue, 22 Apr 2025 07:56:13 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 15/19] qemu/target_info: Add target_aarch64() helper Date: Tue, 22 Apr 2025 16:54:57 +0200 Message-ID: <20250422145502.70770-16-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333841824019100 Add a helper to distinct the binary is targetting Aarch64 or not. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/qemu/target-info.h | 7 +++++++ target-info.c | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h index 0224b35b166..395c009baf2 100644 --- a/include/qemu/target-info.h +++ b/include/qemu/target-info.h @@ -24,4 +24,11 @@ const char *target_name(void); */ const char *target_machine_typename(void); =20 +/** + * target_aarch64: + * + * Returns whether the target architecture is Aarch64. + */ +bool target_aarch64(void); + #endif diff --git a/target-info.c b/target-info.c index 0042769e3a2..7f1758ae34f 100644 --- a/target-info.c +++ b/target-info.c @@ -19,3 +19,8 @@ const char *target_machine_typename(void) { return target_info()->machine_typename; } + +bool target_aarch64(void) +{ + return target_info()->target_arch =3D=3D SYS_EMU_TARGET_AARCH64; +} --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333800; cv=none; d=zohomail.com; s=zohoarc; b=PXEhTc2xD3RYTc3pHriZkCmxpjd7FN5utt1K20J/wXOli1FKXEP0IWwkL6JM+7eM/6eCwbsvObVXzE/sZSmZvqIQ7jnx1GZ3OIUoabCRXa0Sy32il5xd1DYHL/v9R+LKurnRdd1oIqmy3wjyMORHrjCTkRCE/YaRkfFMhEzOkEQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333800; 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=cV3mM0ENqcZ01CB1iRk+m5MtZMh95fPFHAPIzsRChqE=; b=Iu09LgLX6MJcTjPadqoRakZytC39uSuMVh+MaCltLIFBkky/Al79WfK5UVdqKLus5RCFeyoJqHGnWB33b9b9m6tn2CDBsigdEGQ4RnM94wp1+Lri1biaQ2ppZgfdA7BJp5S3sXrIoi6pSgnZXPO7EOeI5LTdaw/rMlMBjU/RvB4= 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 1745333800274857.2065768734633; Tue, 22 Apr 2025 07:56:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F35-00088p-5h; Tue, 22 Apr 2025 10:56: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 1u7F2t-0007eZ-RJ for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:26 -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 1u7F2s-0005GR-5Z for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:23 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43edb40f357so39627605e9.0 for ; Tue, 22 Apr 2025 07:56: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-4406d6dfe2esm179084965e9.34.2025.04.22.07.56.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:56:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333780; x=1745938580; 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=cV3mM0ENqcZ01CB1iRk+m5MtZMh95fPFHAPIzsRChqE=; b=q5IyOefQx08fA64F7R3y+xuNwcI4Qp77rviYIqkQNEOKZWS3Dq818GZNFqZD9zMXPX 5SsCkpgilkRc2kdMr77KGoXDekxYEgbJFKCfH52UxtJ+wRuuW1fSE2KYYj4n6bwrnjbi bz/hJRHxhMyDwWDh/kPXq2kK+KAds0g0nE+AcIdp03oQA/DNUuhBLUPQ8iNtDCqEUI1L khg1pxg/vQzEyngGkvGUf3Bz1uhvaagRC85KvviixMbxdSYuTQ5zDjdhXINBjJa/mKfb 7lODHs0OMkaxI1Rrz46AD2+xugyulhnVN/svFI+oo0TPFkOiIYyLRXQI3xe3Wj5WRFGB 0E5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333780; x=1745938580; 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=cV3mM0ENqcZ01CB1iRk+m5MtZMh95fPFHAPIzsRChqE=; b=AF6RB25L+v8Hlu0fRbwJjXVYfgxHBW9vYLc+MkkBnuX440hC8HOplDCKc8WgHEA4eF 3c0/ypTnxrWHX/1nWdbTa2GCapgDOM40aMzxxnMBY0NS0yGDHRw7nWkPcsG8l1t1NZNp HHP/kTVnMjEOUWmsdyvSjjyGn7Jc2wck9Q7wEX4heiZp4Dsl8UXkJE9idE9g84dD/PKm 6Tk/vzJqF/TfTvtzAv2vP9PPe1LkTrjxkk5iNmtKgpiFyB+yOPTLl9zphnZVuW5P21z1 PRaWH0Trnp8dkWwDrs3bjQd9j1As3067OzXZzlEVLC+YpS4IGqwFc7gPBtxEPWTZHJYH HiXA== X-Gm-Message-State: AOJu0Yz8vgKnGTr2awcpyp5EzeH2sPe60ul0Wtz9gHXKcVGnFlXStbMI moQDSZSb/S2to0V4V8FCLyfZyqIZZcarv4Ke/jnWvHOcoOSghHewA/AMZMFsw80= X-Gm-Gg: ASbGncsEZyp90OPdFu63fovDlfcU+JU5MGaZ1Vnor7+1YvfmT9UPonr3tF/KkdPKIxl VcdcOkbCZlQO1qfp0+azXQmohKKC0Ig4Ermx1ivKHOp/6kSXx48GQrI8AkEwaJizZJzy0Qp0m6D NnNzAK3WT+HsdbZIgfp/nuPvK4CiDnz17uOX+Zl9ySW4yC9O9SpqQRDS6s7SWZmQJWNKUbva1R0 FwQ7QNIu2+UOgJDkkuMi8gIm63B2+8FzkN1P91rMl19dr7yGKVAMCGbfdGh37w17Vr+NVMSRmId Bvihaswy6tm9ohFd3ry2JwOG6ghnN6L6glx8n6pm+Qr0Yg== X-Google-Smtp-Source: AGHT+IHUSLcTWdpWOd/p75pogB/VKkuSAcWZMKgWqy0LuEtxR9/vO1NQDWqbwDwf2Z8/TAlyJ/QB/Q== X-Received: by 2002:a05:600c:4706:b0:43d:79:ae1b with SMTP id 5b1f17b1804b1-4406ab96b35mr145085575e9.14.1745333778309; Tue, 22 Apr 2025 07:56:18 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 16/19] hw/arm/virt: Replace TARGET_AARCH64 -> target_aarch64() Date: Tue, 22 Apr 2025 16:54:58 +0200 Message-ID: <20250422145502.70770-17-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333801712019100 Replace the target-specific TARGET_AARCH64 definition by a call to the generic target_aarch64() helper. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- This removes the last TARGET_AARCH64 in hw/arm/. --- hw/arm/virt.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index d7197958f7c..4e11272a3ac 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -32,6 +32,7 @@ #include "qemu/datadir.h" #include "qemu/units.h" #include "qemu/option.h" +#include "qemu/target-info.h" #include "monitor/qdev.h" #include "hw/sysbus.h" #include "hw/arm/boot.h" @@ -3137,7 +3138,8 @@ static GSList *virt_get_valid_cpu_types(const Machine= State *ms) if (tcg_enabled()) { vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7= "))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a1= 5"))); -#ifdef TARGET_AARCH64 + } + if (tcg_enabled() && target_aarch64()) { vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a3= 5"))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 5"))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7= 2"))); @@ -3147,15 +3149,14 @@ static GSList *virt_get_valid_cpu_types(const Machi= neState *ms) vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= n1"))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= v1"))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-= n2"))); -#endif /* TARGET_AARCH64 */ } -#ifdef TARGET_AARCH64 + if (target_aarch64()) { vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 3"))); vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a5= 7"))); if (kvm_enabled() || hvf_enabled()) { vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("host"= ))); } -#endif /* TARGET_AARCH64 */ + } vct =3D g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("max"))); =20 return vct; --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333849; cv=none; d=zohomail.com; s=zohoarc; b=JMQlUaW2ARujLXAn53TjjMvgVrs6uHYryG5vHSm7tsJpiyFZ/vGfBC3OZf3gyllfx3UvZCLAK8dslSqYeBOfog/HoQSFLWgylpA+KRcArF2J8x45Jqxbkl/0qwD577EjBOMwoUE/6TUEh8UFw3fMn+t+GRdfagVwbZcfcNe9b/0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333849; 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=//lWNuvQ6UGw8pV9YB76t13j7KMrlQtFLuwBcbqd4aA=; b=HJugdSAhsZTY0MJKt6Z7Vk8pItKzgKuq11caDiWqg1bdqNOv8DHtDTXTVHZD8qmGDp8ncgTE3DEGELGwcO9W+OGBVr2T4MqcV+2PLfteRYqUdOt+i7KoxcEP4iScOFT8ra1t3UZY4gY50sYPNnZ/k67MIKEtwZPJh23jwa+ZPXU= 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 1745333849113188.62713605216663; Tue, 22 Apr 2025 07:57:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F3G-0000FX-DZ; Tue, 22 Apr 2025 10:56: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 1u7F2x-0007kT-HV for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:27 -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 1u7F2v-0005HB-HN for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:27 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43cf680d351so36535005e9.0 for ; Tue, 22 Apr 2025 07:56:24 -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-4408c7cfcabsm13658495e9.0.2025.04.22.07.56.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:56:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333783; x=1745938583; 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=//lWNuvQ6UGw8pV9YB76t13j7KMrlQtFLuwBcbqd4aA=; b=Nigl8UwaQaq34CnYOnwyLwn/7cwaTg7pV2MAuLtKdL3pahuexFc914wHO2A93FlHTr jRseqi5GKaPCwF3Ct/AvVk53jglcfZY+niHyvTVBDG4Gdfo8fMU1gJMXkf8fCVGMTPKr EyEt4Xf2hcTqn54PbSWhcfdmT8SUzmWRJkjlAZMiJ00DqOGgPJygyK/VhcPjTpn/Y7AN IQXe4d27c99u8HuolnidJkS+KTXGM0+WQ5Ujiz2i7ySHFkGnM5FFPvsguidgDIbivEzf XVkQmKDpOkeznxYErA68XiumaL9MS2dEuTQxXA6DDwx7Ufb41Y8zbwphO5aQpLrvrrnu /0ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333783; x=1745938583; 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=//lWNuvQ6UGw8pV9YB76t13j7KMrlQtFLuwBcbqd4aA=; b=c3jzV70IiPpAw/ZbWyRT72IMfjNVHp7DVohKO55U3V/QbcpwWo9M3EwsPw10rZEikp 5AAxeYnLxeHGxbBN1EXt29XSGNQgHnEUFZpGSsutchb0UtKYDVHp+OgD1OGvyHGW6XQP wd2gQ/ImMpQwvDcPlYGWqSADQ2PsadOSX/RWexcnI7B/MXQQFBfKP2SPsuFKjE24KFCs jfx/fs3z8AClZqHM5uSf0NtBh6VQkgn6zekQGpKVDuYBdWG5aaf/kWKIxB6F2E1bP4VR mLd7/Xf/rgVvsqxZ4Bsnl8iWghX+be8A1ovMPJwpDPe+4r4xlFrwBF1lqytwboohfMPe a22Q== X-Gm-Message-State: AOJu0YyCdGB0u/ipRgOPfNe42K2fIktu/pZrmiQBkuLW3aJysghg7bgA j2LoZsWYbt/DGx0oJpFP1Oa5rpvSStaLakNeuOsDUwlt/PcUUIAwYNNkDrsMi33xZGvSxV1JrJX k X-Gm-Gg: ASbGncv31d4ye7F0iW9bdpK9m8aKjWFNjLVhL7S5fYnY9QT83t3vBlaoZokJLxQ3F/n AyXgLP/CNhHjUZgloQ3sHDQ2wQnRAxGhjulPuzLe2iV+GXA76G2zPl2YtmagsULSPrgR+6Mp4NY XOzLs4vR+Mv36f8JMyyYlS2XBZZE9pv7JthD04eC75kDyZ2cvOvHxBrFRgcf5OWIN6cQGnnWr0H j0C72IpGxnfW05bTQyqZ7YAupRWQPjKyOsSZGP+qfudhq6a2k+BRyI07bh+B2qhVUD24L5kb15X MVTFwxe0oL+HnbwXtXdjB27JIHg1Cjio8MjOZVTKI/pmYWkPXQb8LJhLvBeyBcLAR1hAy6TttXk usgBkoZaiIBQyyxY= X-Google-Smtp-Source: AGHT+IGBjDesCYXEWUBP+sFv6d5whiPkKTQJizkHxFBAXyr+qjIXDWqp/MBxhYc/BQLDvnmABzhCew== X-Received: by 2002:a05:600c:13c3:b0:43b:bb72:1dce with SMTP id 5b1f17b1804b1-440697104f3mr121451035e9.5.1745333782851; Tue, 22 Apr 2025 07:56:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 17/19] hw/core: Get default_cpu_type calling machine_class_default_cpu_type() Date: Tue, 22 Apr 2025 16:54:59 +0200 Message-ID: <20250422145502.70770-18-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333850096019100 Since commit 62b4a227a33 the default cpu type can come from the valid_cpu_types[] array. Call the machine_class_default_cpu_type() instead of accessing MachineClass::default_cpu_type field. Cc: qemu-stable@nongnu.org Fixes: 62b4a227a33 ("hw/core: Add machine_class_default_cpu_type()") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- Cc: Gavin Shan --- hw/core/machine-qmp-cmds.c | 5 +++-- target/ppc/cpu_init.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index 529ce8dd9a0..a8f8f8c8138 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -73,6 +73,7 @@ MachineInfoList *qmp_query_machines(bool has_compat_props= , bool compat_props, =20 for (el =3D machines; el; el =3D el->next) { MachineClass *mc =3D el->data; + const char *default_cpu_type =3D machine_class_default_cpu_type(mc= ); MachineInfo *info; =20 info =3D g_malloc0(sizeof(*info)); @@ -91,8 +92,8 @@ MachineInfoList *qmp_query_machines(bool has_compat_props= , bool compat_props, info->numa_mem_supported =3D mc->numa_mem_supported; info->deprecated =3D !!mc->deprecation_reason; info->acpi =3D !!object_class_property_find(OBJECT_CLASS(mc), "acp= i"); - if (mc->default_cpu_type) { - info->default_cpu_type =3D g_strdup(mc->default_cpu_type); + if (default_cpu_type) { + info->default_cpu_type =3D g_strdup(default_cpu_type); } if (mc->default_ram_id) { info->default_ram_id =3D g_strdup(mc->default_ram_id); diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index a3dff0814d1..2c0db2a05a9 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -7081,7 +7081,7 @@ ObjectClass *ppc_cpu_class_by_name(const char *name) if (strcmp(name, "max") =3D=3D 0) { MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); if (mc) { - return object_class_by_name(mc->default_cpu_type); + return object_class_by_name(machine_class_default_cpu_type(mc)= ); } } #endif --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745333823; cv=none; d=zohomail.com; s=zohoarc; b=R/ffD+2MMSaPtu5ugA6HV9LMJVZePmZb388BzeONLHxipw/54us3VFxSaec0E5OLJBjZ14zketBW2dbaoe/B+n99MS+VWBtIx9BIvqZ4nBzfTx1MVZlacIIUTCMw6F55CrJab8NLRvwoyLu4YlzzB/7cMLdgrUkUHUVEfCX96tU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745333823; 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=gKvZwIjHssYNiGyKthzi4mDa1O4lfY8uqFgDa2um9gk=; b=a5gRdXFuojBeQBiwW440ItONyysFzKFRyUZ2wugF3on6+0GtoCzpdQqeoKF7l5nW2hDP9p0JoVm8fLoMioHNmmXZr7fF7AlNifXZrfV/pN02r5eWVlglrG61gAIU6twYp6dkBM60nnhXvvMLs2XcpQ4B9INC2NqSWReF7RzZzdE= 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 1745333823406106.36452184322945; Tue, 22 Apr 2025 07:57:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F3E-00009N-3B; Tue, 22 Apr 2025 10:56: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 1u7F30-0007v5-OK for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:31 -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 1u7F2z-0005Hf-0o for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:30 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-39ee623fe64so4593928f8f.1 for ; Tue, 22 Apr 2025 07:56: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 5b1f17b1804b1-4406d5bbcdasm176925945e9.20.2025.04.22.07.56.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:56:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333787; x=1745938587; 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=gKvZwIjHssYNiGyKthzi4mDa1O4lfY8uqFgDa2um9gk=; b=ChmoK2cFOaby6mCU1ywLRfv8XB9PhJEU0HAPulmtPgOf1k0z2OSV9qQ6U21I2bxE8A 8Ev+Npzf+WahxJWviR4f3qEIrUe0GWv/BoQ0Kj6k75Xb5FryR6hGjllF4Vi/3wRPSnfE jmYRQXUtlaDqbILNSQ7OnCNccEPpzlOnQaO6fZYsCCVfMFnNwikby41rXYzXnZQoYQgK 8W4AS8TBPF/x2Fb9XXTPmUbr/P0oJWcYuRo/EOSax4JDgkDzoJSYc9AXHWBBh0Oi1Q5y pkjX2Kj5V8glxEyFfwanE/nBujamQLPDY0aYChEQhOWGXvD+gL3IE0yxg6na/e6NI0t/ yJ1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333787; x=1745938587; 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=gKvZwIjHssYNiGyKthzi4mDa1O4lfY8uqFgDa2um9gk=; b=WMf3+xDX/Y6UJ1EmeuyhWIa7JgefmLMlfeIj8hML2whUgUB7iicpOg8TcD1s5k+/8W wLZ5WfhPNX94TpXyaeUAEce/gEG5mSE1jTOPiBzl71WLxH/+KV8NjhH7WojxU3E18aSB 0iUK6vIxKS9CrReGVJWAeuit1qy4ktKzZzLqzZ6cLiYiAO456L25JzJjrVb3G5yl6z1I OeI8mjdPedSFXX4pCdn7UE0BZLiGuPLBEy0hbgE0lGYGG02df9OsAu8oqHnOAqqlrNRQ tQOCtagUNnM5f+/RxfAQABLYd3riQ9Zm4cNL+3YxFxo2EZMXEAiNMXxH0q9a4sUUeDgQ 6SMg== X-Gm-Message-State: AOJu0Yz34c3IACLfYwVReGOeLp9w18L6rhG6X+Tq1WsBCdtscVkYOLLc WyDDf2VU6GryWaZPE0EZBErEvSl2oMQ1oYkOW69MfqH0ikoBdl94DRcH/juCIaqgO/pZM8q4KDy G X-Gm-Gg: ASbGncvsh+RGRnpmWU7s0jFvAZk99QXlGm3KK+9o7UWx5eftuqtReQ/bdFiA69UV5LL tA71HuPlPzv12MXRVncy8PqkCUw6kPhJmDl6yan4NULNSqfy4YykhHZZman5fIqdAPswNP6dw+V ANU5Nu3729Yh4Qt5PVZgXsXK5t9Jt7UcScx2+RWn1fEP3wz5Zy9OE2j2jDmryrhZll8E0cm2Dd+ miGVRM5cBMoZ2DcpL1CyHe7+TtI2x9fwlJOnQC60AmRDyLbcGfEp2gr+TMA1EN3HPyQNHxVmBU9 yDios8xbXkK68acLkC0JtEI1EgRAHkuovMCgxshuNTBaEQ0EO5AXSQUWXybS37KdEezNkLhrVkM xEuwA9QicsUiJe65LI8gurGG+HQ== X-Google-Smtp-Source: AGHT+IGrHP8yRaAvCiLm0XXpQhl09fHcEBm1gr4j2oxOrJuYlD3b/Uz19hKqkWo0qGd3Aw00jA7kIQ== X-Received: by 2002:a5d:598b:0:b0:39c:cc7:3c97 with SMTP id ffacd0b85a97d-39efbaf133dmr12396604f8f.50.1745333787293; Tue, 22 Apr 2025 07:56:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 18/19] hw/core: Introduce MachineClass::get_default_cpu_type() helper Date: Tue, 22 Apr 2025 16:55:00 +0200 Message-ID: <20250422145502.70770-19-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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: 1745333825428019000 MachineClass::get_default_cpu_type() runs once the machine is created, being able to evaluate runtime checks; it returns the machine default CPU type. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/hw/boards.h | 6 ++++++ hw/core/machine.c | 10 ++++++++++ system/vl.c | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index be0c0f04804..6a0b02db42e 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -25,6 +25,11 @@ OBJECT_DECLARE_TYPE(MachineState, MachineClass, MACHINE) =20 extern MachineState *current_machine; =20 +/** + * machine_default_cpu_type: Return the machine default CPU type. + * @ms: Machine state + */ +const char *machine_default_cpu_type(const MachineState *ms); /** * machine_class_default_cpu_type: Return the machine default CPU type. * @mc: Machine class @@ -310,6 +315,7 @@ struct MachineClass { int numa_mem_align_shift; const char * const *valid_cpu_types; GSList *(*get_valid_cpu_types)(const MachineState *ms); + const char *(*get_default_cpu_type)(const MachineState *ms); strList *allowed_dynamic_sysbus_devices; bool auto_enable_numa_with_memhp; bool auto_enable_numa_with_memdev; diff --git a/hw/core/machine.c b/hw/core/machine.c index 8b40735ef98..89169a2dbae 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -1538,6 +1538,16 @@ const char *machine_class_default_cpu_type(MachineCl= ass *mc) return mc->default_cpu_type; } =20 +const char *machine_default_cpu_type(const MachineState *ms) +{ + MachineClass *mc =3D MACHINE_GET_CLASS(ms); + + if (mc->get_default_cpu_type) { + return mc->get_default_cpu_type(ms); + } + return machine_class_default_cpu_type(mc); +} + static bool is_cpu_type_supported(const MachineState *machine, Error **err= p) { MachineClass *mc =3D MACHINE_GET_CLASS(machine); diff --git a/system/vl.c b/system/vl.c index e8706a9ce87..338f9d75289 100644 --- a/system/vl.c +++ b/system/vl.c @@ -3825,7 +3825,7 @@ void qemu_init(int argc, char **argv) migration_object_init(); =20 /* parse features once if machine provides default cpu_type */ - current_machine->cpu_type =3D machine_class_default_cpu_type(machine_c= lass); + current_machine->cpu_type =3D machine_default_cpu_type(current_machine= ); if (cpu_option) { current_machine->cpu_type =3D parse_cpu_option(cpu_option); } --=20 2.47.1 From nobody Thu Oct 16 01:42:25 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=1745334128; cv=none; d=zohomail.com; s=zohoarc; b=d87JNCYx6lljyR8+bfV4YnbXpDnDXNqfOL4ArMHQSA8RmoPa08r6MH4KPl1YjDtZ2XpmW6yVQ/3/Rwj95+xLhpNMgU1lCPn8Pn4tgOs6GQz0h8/G5tC3fafm4mWvf0Tcd0jnFbysthjIPwXHItmErNqqQgfZTq/Q5+Jbbtlx1/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745334128; 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=oZGQgvHwQWyT1UXG05e/L40v1r7rbpXm4CP7YDA65nc=; b=NkcpvDxvmP4F9EczCZg3fOWAMjdQiVNxFJR5cfYK5ybMtl4ZCKadxVyNfH4TaiCnQeLe9kgG3a47vbtDj3WRDh4DxJ0PUEMqHOTOWONEPBHUCg38+LZwvaw5QuTAFsv0ZdiK4i+AWW5VBHHR0XydNCapSRZcmMgbcTLQGkIJ9E0= 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 1745334128298574.120841822497; Tue, 22 Apr 2025 08:02:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7F3J-0000a8-Li; Tue, 22 Apr 2025 10:56: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 1u7F36-0008EZ-0v for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:36 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u7F34-0005I2-1r for qemu-devel@nongnu.org; Tue, 22 Apr 2025 10:56:35 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-43ea40a6e98so48016455e9.1 for ; Tue, 22 Apr 2025 07: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-4406d5ace47sm175128875e9.15.2025.04.22.07.56.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 22 Apr 2025 07:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745333792; x=1745938592; 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=oZGQgvHwQWyT1UXG05e/L40v1r7rbpXm4CP7YDA65nc=; b=IGIH7LQtc+HVAqEBnbPS9VOyPF17gKel2VLFAZwhjnsroT5EQq4+COzuq42bc1EjYv 40DmQf3FkIAxIot5BIfTcmBnfOeeHxt7LWeNzRavMQ5hNXCRmg145flnPv4b2ofLBkij ipk4LayLN8HiEGEQWv9M4rWlh4ua0CpEGbFQPrNi8+cl/5val2x2EZI2abR8lOVHy7UE BzaoAmEgqp+Ba5wnKOGLqSAfwdq/VpscFxaqMnrLDXCoLh8X3IRgVRYmI7+kJvMChLRF VFNfFftp45rOqRuQ41SXUvhU6t4//Pzh6pLNBEAO9RrctpMGApoA5YXVj3P6ycAvNsaH lrkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745333792; x=1745938592; 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=oZGQgvHwQWyT1UXG05e/L40v1r7rbpXm4CP7YDA65nc=; b=idhfmSY3hOUJnx0K0mi6ZVLFVgrI8XtGPhmyGxk/mAJAy/5T8VL6/dSgC2HOXYtSQj zujKRfoXtdg+7U3gVGA6Hl17OKWeuSZyXPaPped6UkrfybPTZoNor1qOPCdS5Lp/PTwm nQrzXJieIVOJ6q7CvlViyLwb5MqUKtLGXSOC5MGnVz5beSUWn4cVSA6Q0kSPRrZ58w2p jCeyd/iSmCJtwEjLb5CFX2lXYB2wgMafIEkA9sGkO8uGz5sNPkCJtN0HtG0I0tm4cNTe fEHMjuMR8XJUNR91N2BiRqXGoL+4x8cIjdOUDod7K4KmFo+3ndhkK5Otow0KWKtIS57n C0fw== X-Gm-Message-State: AOJu0YwoA8Am3ISZGJRgeF2I02ahPJ6pPKL+tjPy1soLIGxkCKoiswuZ uiEdybgS8lOiMIEZ2nXWht5Ci4hDpTKjunpc+w/UKSqtNW+pfh6bSOre6klgtiohbfkEGyETWZS y X-Gm-Gg: ASbGnctysRJnXuLMuMzGxJuenXtIqQFXQoTNYjyY9sMLv2xPPMfkokBGAxeMwi5N5A7 EgJMqaYvNCwo1Ro8wa2Zhsp28jLKij6n20uKguwqB2BDuX+wIThPqqCYNd64KJsh74cSbs6ecYq 3wNeGv78wQzRabQ7xpFWspFe1RZNv4A65ImHI0zZG/j04hW20KJJfinww/c1buqU8Z7b53TcAfK FyvT4/IqQC9rQD1SqPKdHcVRwHDavC7+q59ym/tZmK2FnBgfLxJF4ZJIbx/hVGGQAzIQHKxyKtt ba8jM502rLlPUItxldKSmeZkraadFxSVvjmJZQDHkDAss/PPuvMGnfhFDdjEuNXhfcgRW1P5Mc0 bd8m2gB6SZ4VsWhY= X-Google-Smtp-Source: AGHT+IHlKhq7bTV/w/YkvEK+/CC8LEH+1P+r2wRxaxdVIz2qU2NX/p4+eMr8El0rldtuRRVviGG5hw== X-Received: by 2002:a05:600c:4e4c:b0:43c:f470:7605 with SMTP id 5b1f17b1804b1-4406ab99615mr151313955e9.12.1745333791869; Tue, 22 Apr 2025 07:56:31 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Pierrick Bouvier Cc: Richard Henderson , Anton Johansson Subject: [RFC PATCH v4 19/19] hw/arm/virt: Get default CPU type at runtime Date: Tue, 22 Apr 2025 16:55:01 +0200 Message-ID: <20250422145502.70770-20-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250422145502.70770-1-philmd@linaro.org> References: <20250422145502.70770-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::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1745334134372019100 Prefer MachineClass::get_default_cpu_type() over MachineClass::default_cpu_type to get CPU type, evaluating TCG availability at runtime calling tcg_enabled(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- This removes the last use of CONFIG_TCG in hw/arm/. --- hw/arm/virt.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 4e11272a3ac..df8dda812cc 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3131,6 +3131,12 @@ static int virt_hvf_get_physical_address_range(Machi= neState *ms) return requested_ipa_size; } =20 +static const char *virt_get_default_cpu_type(const MachineState *ms) +{ + return tcg_enabled() ? ARM_CPU_TYPE_NAME("cortex-a15") + : ARM_CPU_TYPE_NAME("max"); +} + static GSList *virt_get_valid_cpu_types(const MachineState *ms) { GSList *vct =3D NULL; @@ -3188,11 +3194,7 @@ static void virt_machine_class_init(ObjectClass *oc,= void *data) mc->minimum_page_bits =3D 12; mc->possible_cpu_arch_ids =3D virt_possible_cpu_arch_ids; mc->cpu_index_to_instance_props =3D virt_cpu_index_to_props; -#ifdef CONFIG_TCG - mc->default_cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a15"); -#else - mc->default_cpu_type =3D ARM_CPU_TYPE_NAME("max"); -#endif + mc->get_default_cpu_type =3D virt_get_default_cpu_type; mc->get_valid_cpu_types =3D virt_get_valid_cpu_types; mc->get_default_cpu_node_id =3D virt_get_default_cpu_node_id; mc->kvm_type =3D virt_kvm_type; --=20 2.47.1