From patchwork Thu Apr 24 22:20:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 883977 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp3672379wrs; Thu, 24 Apr 2025 15:22:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWzTbdPvKZSv8gO+ngzMqacjXGSYtC94pUwlbaVFWD6zc5EfuPfN6AIz5Nmy/dluXrT47BAgw==@linaro.org X-Google-Smtp-Source: AGHT+IFpGAsVzVfkArtVW4wphnithBy2+gbSyKSwmk2j/gKHU30NgaMneqeN52DJ/4FjDnPasBqe X-Received: by 2002:a05:620a:1a04:b0:7c5:49e8:993b with SMTP id af79cd13be357-7c9607ced5cmr44006985a.56.1745533330894; Thu, 24 Apr 2025 15:22:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1745533330; cv=none; d=google.com; s=arc-20240605; b=Xz/STB/3HI+LsEe+OIjYE8Ppz9p6mZmB+UqHOP8oulwuUXiox8NHRiv73XRi0aa52m qpVylizZ5Xt0R1eal1RxbGGECxXzoBLNdxkC2JloKphcQEI1XPWyE6B4fX/PcBBHwUGg wPj0xgedOFRIxzeWGX965doIWRbFpIfMyhgBmRxnfABHVF+Li7Co/5crEhKy/mqmDdXR K14vniDVZhden9KKSe+5PiWhe6UNk4U7A8Ss3/gG8PujIGaJRADKiI7PdElfF+zjxTUy bPVOVybqI3Vwv1IhfGa2uu1OMUbS0Evca+rYRe9phc1K9b06ziNsvZl+KmyeHX8SYkK8 r3OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ISCwHnamOi/ipI6KbYtyNzFTKPWQy4gkSjvWVBd5Fe0=; fh=BvfO80c+RfA/g1HCm0aY41XHDobI/X7leKfSifrFtsQ=; b=UzoCbQV5bdHHOrpPHtGg8afdDz3EOnAC81dh8HNSgmYiWcc4HXXtQklFJqP594ji1v ZyI2UuXRh9g6oYJUZAMKhF8bXCh42a4S3TRdbhhbsXXlGLtid6uoYIVJq7AQfCQ962U6 zaslUd2rznhsSWtYiIHC7TrWCyZPQfo5IffTGcfB+QRxnz6IeSMbA7QIilOhwYKPAJdq RFyT6Yi53BtD7Ja5edfyNnLZnPTZhC3oo1Dbpf5hfnZC5tYmE3/ya7c0hSCPAYQFdTUA iARYtMmLdniq02C9MdcZ1+7Eo/V01/HJDEYIswDBY6hPp++EedBEThHQO/GpXtmmzvVy rlyw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TrBi2cnh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c958d868f7si219996485a.257.2025.04.24.15.22.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 24 Apr 2025 15:22:10 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TrBi2cnh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u84x9-0004XR-KY; Thu, 24 Apr 2025 18:21:55 -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 1u84x7-0004XE-91 for qemu-devel@nongnu.org; Thu, 24 Apr 2025 18:21:53 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u84x5-0000yG-Gb for qemu-devel@nongnu.org; Thu, 24 Apr 2025 18:21:53 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-39c1ef4acf2so1233339f8f.0 for ; Thu, 24 Apr 2025 15:21:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745533309; x=1746138109; 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=ISCwHnamOi/ipI6KbYtyNzFTKPWQy4gkSjvWVBd5Fe0=; b=TrBi2cnhKgXhPhssPe8UcZQWCtgoRrQDz0iRLm55GEQ7Ift5SKqBguOfP6CKAMdl/C 8qJd/CozUvebM/3OrXvtpHZmSQ5XesBZA5oghCxRins4VlARo3rjAD04joGjmrNf1X9v d+RJs8wyinEymn5QC/XGDx4ATUe/dVvFCy+utWUXp2/WyFCSw9qR7v88hKZB2jJext+h SaLf/2TWH2WJlo16tNApSXVg2lPRItdgO2nWeMtlWJelAdDR8t603FN5zVfa53YSyrE3 0J1XNan2G9jpDuvD9SV/BqBPBS2DdpXds1dYJHaTh0LU/Dkk9fAKg8qA1MEsliCzoEAA emLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745533309; x=1746138109; 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=ISCwHnamOi/ipI6KbYtyNzFTKPWQy4gkSjvWVBd5Fe0=; b=UOcp4CmQpjTjSyuxxSVMtGu1PN6iwF9o8BpGRX07IfN2mkdRCk3FrEJ1ruvX8oUfhS vJtvWXHul/FKFj5MbV5GuN2tiCIdgJPipfo+w/bQQvJrSxrX5xlYBMZqoEq2YmLayR4D zmn6f5U0ksLYWPRSVufDtlJ9jAlxpmyPgxI22qJnDcdihd+AEscbvkvYDU1wfED5rqtu Zk8UaomtGqDx49KVSJ0yx7rL5SUmVDM3puHjI3L27OnzgQwyGAYQ0QiKXsCHa1hDso+6 m2dtlEtBNF3x9eUqzKAFvx5cyE8g1gueU772Dwa5UXP8CKDMcvlUkLQ+6zKKwjbKDq5H IMLg== X-Forwarded-Encrypted: i=1; AJvYcCU6cesW3cZGgcw466V9ZiAAdTiZCkN4SqTBNP0xCYU1VdZiJ8Zzr+mGiH/oyyS4DzmykHdi7ZtgSxZX@nongnu.org X-Gm-Message-State: AOJu0YybdsQBfMsMH8s72SMsSWpy7Rj1lcTqEcESW/veDgVIbMIWD9iD kmLZ9Zozn1twke//5Wc3XLJOlSV/g50/1G5/swmPzC/Y67fwvGy7hCKoQd04J28= X-Gm-Gg: ASbGncuuLYc6r/wQ1fOcSnX/I5J1uEJtocQ1GT3YQKwGOxXHD2tAY37661NzNv6mBiE Oe7keTyMkPMHUsrNBE6RENmJsdL7TUfmgYhgLdkVPcWJzclrE2n6agmjr1soOHUxs+GOC7MoHKD 8IazA3CCTH3Lk966adEK3l2KTj0hT00WnrnIq67hyKgG+5vlfRTd0gUi+LNOmgZQVReC4VQK2a2 m5wWv/rUMsHZYdLbSNsZ7Ql9xUkGQVCUrETqJaTLKof45LK2rH2CkQptG2O/n8p4dYnvMP/9BhM 00ywYnJo/z++wRxjS8By/ps4TIaJMwWxFNCtr1YkLyX0/a2Z33oLLPA6bvYjJSWKCGLPxkfCJZj mmDkaMzBZtXgviqycbFDYU0r25w== X-Received: by 2002:a05:6000:4022:b0:39c:30d8:ef9c with SMTP id ffacd0b85a97d-3a072abf5cemr713643f8f.24.1745533308856; Thu, 24 Apr 2025 15:21:48 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4409d2e01bdsm36708995e9.38.2025.04.24.15.21.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 24 Apr 2025 15:21:48 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: Pierrick Bouvier , Richard Henderson , qemu-devel@nongnu.org Cc: Mark Cave-Ayland , Anton Johansson , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [RFC PATCH v5 07/21] hw/boards: Introduce DEFINE_MACHINE_WITH_INTERFACES() macro Date: Fri, 25 Apr 2025 00:20:58 +0200 Message-ID: <20250424222112.36194-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250424222112.36194-1-philmd@linaro.org> References: <20250424222112.36194-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org DEFINE_MACHINE_WITH_INTERFACES() is similar to DEFINE_MACHINE() but allows to pass a InterfaceInfo[] pointer. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier --- include/hw/boards.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index 765dc8dd35e..3573907d597 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -744,7 +744,7 @@ struct MachineState { } \ } while (0) -#define DEFINE_MACHINE(namestr, machine_initfn) \ +#define DEFINE_MACHINE_WITH_INTERFACES(namestr, machine_initfn, ifaces) \ static void machine_initfn##_class_init(ObjectClass *oc, const void *data) \ { \ MachineClass *mc = MACHINE_CLASS(oc); \ @@ -754,6 +754,7 @@ struct MachineState { .name = MACHINE_TYPE_NAME(namestr), \ .parent = TYPE_MACHINE, \ .class_init = machine_initfn##_class_init, \ + .interfaces = ifaces, \ }; \ static void machine_initfn##_register_types(void) \ { \ @@ -761,6 +762,9 @@ struct MachineState { } \ type_init(machine_initfn##_register_types) +#define DEFINE_MACHINE(namestr, machine_initfn) \ + DEFINE_MACHINE_WITH_INTERFACES(namestr, machine_initfn, NULL) + extern GlobalProperty hw_compat_10_0[]; extern const size_t hw_compat_10_0_len;