From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636267; cv=pass; d=zohomail.com; s=zohoarc; b=kse6dlwGUu+6kly9GpzDBANAq4qF1XDnV8xKAehSrutht/7mPfxG1hZPqoDMgORBnzMNmyiHOulnZYher9iZGY8TRbMc8z0bPl6hCrn9kAgX5BpKoeF92yKD/VrPjT8uddMugNQP/c2Gh/5MRYD5Wm8OMRrz0B8s4Vhc2BeXz1g= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636267; 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=Ap0YiwASlT8E5/SwyI3UdsWAFZw4m/209KDm3mqmbGs=; b=T5XX8snbWXRT3bQPjOUp3W3eRIfTT7Zr9ILu8wg9zJbswl1GuoKQhFl5RR5RqyKC9iouV8qzCkegfpwjDttBd9jUDn1NJYlw2jeTqWVwSX96xdqGLwv43Ma47lbEQKLqVCQSnpaN/tBsmd/NzemOxHQVwK5zJLyDvaz9zWknXkg= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636267721591.4230702257327; Thu, 13 Aug 2026 08:51:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXh7-0008AL-QH; Thu, 13 Aug 2026 11:50:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXh6-00089s-2g; Thu, 13 Aug 2026 11:50:12 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXh4-0001nZ-70; Thu, 13 Aug 2026 11:50:11 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:00 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ttlscS+kH4A1vEFafxCneuGYKLll9yce3Nr+EbQFPzw/a57Nz4J0Law8yLa34yb+xz/NGJLpfYdqcDBnDTRZW6NDwOSXLAiZMqUuSoZu9q8wL+yF4IHXE6XOYeyrzQ4JmEPeGpSx2ymEWMFFyllwWGPrOZbREtUS6ljzJ7sKvaR2J46llF+sD5wQw8xQ2lhVncoDaocBArqIQDVOld9b65aB51AiZPNws8IZe60etn/yOc/zV3lbAWMZUZZXW2CZZiGVrskkb6damvCYpEbtAVRG/R5+vAa5XF4meWWTyxRD7hTqD6zvQqaAx3sGgq9mz+hWP6uIHprv2RboNjdbWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ap0YiwASlT8E5/SwyI3UdsWAFZw4m/209KDm3mqmbGs=; b=H8WiItpBW90DwHkG13EClycfuXs5Y6uSyu2BlathscNp+gVtOjffwVERVriuqOmvccSWjuUAhC4gijW+OnsqeviM5cRoW1BQHKdbxubE7qcajKEal5xtxCSm8lqDPWDj0jor7hNYsKIzfwAmp7lJVLWwOtQAQMNjb8rZOaLS+W9Uxm6vQ88qOiJBqKBOwZgj+abKV7FlSyOlh+BXqnXdsyLbQ1b1RxA9vbsBGPFI0fJWs5ah0UKJMylPe5EVlLnXz/x/ToOHhn5pkL4vXLy0o/6mGKtIxkwHvoM5cXGp9Ugd7LXmZAqHOSGJIuTkvuKsiWMxpImL1BizcCx1Ts6tNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ap0YiwASlT8E5/SwyI3UdsWAFZw4m/209KDm3mqmbGs=; b=Vb75EyVSGJ56QuTCcngG0fQ3iluGeWNbOl81CfGZ6yVKj8m8zsSj7e1iDIJkOHJ038AqHGdTvXMmmnrgh30BRTaSh8C6lz8lVZsg1C9ohwmL7h2wYtmUS6dFePVP5SOIIiB9dXwzLrCGInxh7Bezk7mYdEE5+yLBubQPFYw1E4AbcJYhRESlxTcA6Yxfl6X1YM78uxAqCVyYwMKd3yV9PEcH+sw0GUHTCbMOj//0Se6Mac7SkLI9pUmvtlQf7jhT1YMut+I7F8dvbAFFt3nwadJDntF1FthNVdClo2hE9cCwye9g6s6RlVcUPq23UZ9twhcn+66+g5HwigjHCApzCA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Andrew Jeffery , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jamin Lin , Joel Stanley , Kane Chen , Peter Maydell , Steven Lee , Troy Lee , qemu-arm@nongnu.org Subject: [PATCH 01/20] hw/arm: aspeed: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:49 +0800 Message-ID: <20260813154918.996812-2-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 91ced163-db03-4bbb-240d-08def9528850 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|7416014|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: x8A64QDsm3kxU5mmvt2xkXu1GWVUDaxR28LBUyJvuz3NMPm7+BOnpxUMTmDzg4WVLvO4XJ6Ldd81Kza8XE/NmZfsHgq/kDHkqhQJwwk95dyZl0WDdcKxu3JrdNWGFxgtABtLOZMp2lZeXhBvlNXS+YI7goq0tDjR4uU54ACVFxcAa417/2E2Xx/+58ZwOCC8YR0Py89oIvH0xcLNUp/zMx86VuqKQqzbDcBCFOllv8/ksmsbL8nwTCpxGpWe1Rbm1hQapEmrdcqN+710nmRBAb79XiePRj9qE0D70dqTx85N+vlvMHaHQ3qhEQ5sgX3vK8N2W4uL0NLTrtkvOQkN3s1yGb8darTYlvyWJejOoG9a/LlgES9CVVbo4b/XU/mtyF/RXIzn44Wa5FtwhBBtfA3RDg5wdSM9qkfGkJTzhEMPSeltz+R6BKi8EfBixsMFUwkOn1eiyVV+vmeaubY1bjHf20HHxu93NXwWLDnrWNEe/04tk9cL6juYuEC1N4suQIY5jdS0r/2rokTFwzgG6kdAWMbFY8rDz2ocLPPhgD77qbvkRNIu6cWaH8J8NC1MvYbyACjYFh6v2cz7Aj5JYVERqyxpZUpZaLOGyjXZ25MWmqd8O+fEIN1z3y2MMAKc6nirjCzDev4pFFwg9C3uf16qJ9aw/OJUyr2ht4DHPBk= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(7416014)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NB1b4j+y88CFhsH8MmBFCPuBWeU69dlCoFE77MsShDamq2DzF4e84FtStiZs?= =?us-ascii?Q?uW8m0BrruGYQTnmOakZ0/8nGPF1f78koFgRpIRAfj0r8tQ4xu/vdpYrnkXGs?= =?us-ascii?Q?I9thWm13D0e+6ExBbRWyaeGgOcxDcNuej0LZgSIbvRR8UO5skXxBBvDnXmdO?= =?us-ascii?Q?OB5KinoipO7Id3rp6k/pb7nq8cmZkfWamUZS0t64ZNu3aPGHt5ZWO6Fb2fFI?= =?us-ascii?Q?jfPSGhLKnJ5kNsBehWPec64dF71VeE9wjH+IkMfns7YiQUt0nGcIl3M7ANqz?= =?us-ascii?Q?W140TVitKhz7nWvZHg6IgqJwoHqUPGRoTm4PSO1eIus3cyxZOcFJhZnDDb7F?= =?us-ascii?Q?AaF7zieJSnzdcF2bzExCYoQUeCjQa1tGxJaNNCO24MEik//3cY+H5czxAVN8?= =?us-ascii?Q?upYp2hpSRUZ26lERDIljvjPLbCI6DecZRyZX+Z3MQkVX//Te22OdXYbKvM8W?= =?us-ascii?Q?vWLXtObH2f0+J8ZzFh0Dh3cauozAP7UMDkcoR+41cgMseRS/MzBgmYmAnGc6?= =?us-ascii?Q?IDTpDDLkXIMKKF7fcBKUzUjMs0Fa1YYvnN1seSD5t2BMmYOpsUPaOF7JZuf4?= =?us-ascii?Q?+jpn03rsnA07NRYBDalYpvFlBpnEGtk/iYi89kRWT8v/tmU5kHbYj9DzcWR8?= =?us-ascii?Q?3Q2pofvvvxTVaGGwfcavNyZqDKsJN/kdqEjzaHoR8wp9+EiP8XrD7i6LJt1i?= =?us-ascii?Q?qzdoHLokpfPKPzzdcmSiyDaWyJ54DqUb4eVUujQisiu8HEMADTgRbrz+DXXZ?= =?us-ascii?Q?QciaFHoDOzJdw/FcJZFfifcO7uxYodTAhzDTQK/dkDTFOS79TAqpQPdBerVD?= =?us-ascii?Q?ky2ETwXC3R3uOTfWH+OwiZ5tDNt/2EKfdLLCvkjL6Oy4/VMz3IOtFIpoIAfZ?= =?us-ascii?Q?GlckDcbi4Bo4HO22FWahLRXlxG+IIR8GS2Q8MC/dtI280uQuOhVjyqCBrrug?= =?us-ascii?Q?d2YXOS/WLn5Tv9Zo/VSB1SA5ni9WctxhTRTiggDD1rZpDV5B5ahWDKd0/DPO?= =?us-ascii?Q?Qb/PNfOsq2e/XDxdyFeZDkxgt2T39Vm2cKJSsbCxDpzuGcdtCPkbgasCA5MC?= =?us-ascii?Q?frrwRuBw7wdgzUARTU6eFLxktZt3WPJrvGVsm9sIUMtvMtc5olK+In0Sjp8K?= =?us-ascii?Q?ZxVdAZnXVwWACao/H4X5SxL7l4SBec40kZJg0/Tcpca3O8FAFnP88osYgwSw?= =?us-ascii?Q?zIkl6MB1xGHTWd2tmliJ+7NF2kdKquLTR33RBStGQh5OqftK/0MEPfXjjih7?= =?us-ascii?Q?0zCaqOGfksqfqvHSCJwo7uFxgM6RPp3cyaADfvdBSxsYUvMLTORD4ZK2HMkz?= =?us-ascii?Q?kWm9oXGpq0As1wISLRrnPFcZASkPThDKP65OcGrvfulbJb91Pb9qJOKDvKuw?= =?us-ascii?Q?KRywm0950wbyD7s5LJPPoH3XUm5pIf6ScRElCiAVeU1qB7bXncxwi6/CoWo9?= =?us-ascii?Q?KwetjHBJZVLcL5lwHn6P+jGuzlxt1gmRhujiSfxYInsXjedSOfmEZdYprAth?= =?us-ascii?Q?co4vLCgXp5CUyS3M4BhVGE+91pPHNeqqWoYVgYPbbMH8/5gXHjgTeEQxgCp+?= =?us-ascii?Q?bjf61vxXTsWpB6bB2/5gNF3iURzDwba935LdCNHW9LJvPgXyfMd6VZahg5Vu?= =?us-ascii?Q?Nsik2Z+oQduiJamO15Ubc06GdePO6reWJ92JDroj0oYc4iEv+Y6g+qCaF0Xa?= =?us-ascii?Q?vldu9ImbRgrnffPnMTCN/m70QtmnuH2qdzhfG862rj0OG74QQve0AS7T3Zru?= =?us-ascii?Q?tm7Y7a8eJe3sGqnknHnBPbo1bmQ1eTM=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91ced163-db03-4bbb-240d-08def9528850 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:00.4486 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TWMxLjsy0r1xzOWsfNm/UX6hn+wmeEkekdBiEuEso6scTHpDRIpufCG6pfZbzwYaTyzKI+1aukHAv4PASgWmXJjhp2jQE91OKHWBorH3v40= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636269034158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move the boot info into the existing AspeedMachineState. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/aspeed.c | 17 +++++++---------- include/hw/arm/aspeed.h | 2 ++ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index a9238e6217..8fa16b3831 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -24,10 +24,6 @@ #include "hw/core/qdev-clock.h" #include "system/system.h" =20 -static struct arm_boot_info aspeed_board_binfo =3D { - .board_id =3D -1, /* device-tree-only board */ -}; - #define AST_SMP_MAILBOX_BASE 0x1e6e2180 #define AST_SMP_MBOX_FIELD_ENTRY (AST_SMP_MAILBOX_BASE + 0x0) #define AST_SMP_MBOX_FIELD_GOSIGN (AST_SMP_MAILBOX_BASE + 0x4) @@ -206,13 +202,14 @@ static void aspeed_machine_init(MachineState *machine) memory_region_add_subregion(get_system_memory(), AST_SMP_MAILBOX_BASE, smpboot); =20 - aspeed_board_binfo.write_secondary_boot =3D aspeed_write_smpboot; - aspeed_board_binfo.secondary_cpu_reset_hook =3D aspeed_reset_secon= dary; - aspeed_board_binfo.smp_loader_start =3D AST_SMP_MBOX_CODE; + bmc->bootinfo.write_secondary_boot =3D aspeed_write_smpboot; + bmc->bootinfo.secondary_cpu_reset_hook =3D aspeed_reset_secondary; + bmc->bootinfo.smp_loader_start =3D AST_SMP_MBOX_CODE; } =20 - aspeed_board_binfo.ram_size =3D machine->ram_size; - aspeed_board_binfo.loader_start =3D sc->memmap[ASPEED_DEV_SDRAM]; + bmc->bootinfo.board_id =3D -1; /* device-tree-only board */ + bmc->bootinfo.ram_size =3D machine->ram_size; + bmc->bootinfo.loader_start =3D sc->memmap[ASPEED_DEV_SDRAM]; =20 if (amc->i2c_init) { amc->i2c_init(bmc); @@ -248,7 +245,7 @@ static void aspeed_machine_init(MachineState *machine) aspeed_load_vbootrom(bmc->soc, bios_name, &error_abort); } =20 - arm_load_kernel(ARM_CPU(first_cpu), machine, &aspeed_board_binfo); + arm_load_kernel(ARM_CPU(first_cpu), machine, &bmc->bootinfo); } =20 void aspeed_create_pca9552(AspeedSoCState *soc, int bus_id, int addr) diff --git a/include/hw/arm/aspeed.h b/include/hw/arm/aspeed.h index a00238ed74..54f0d7643d 100644 --- a/include/hw/arm/aspeed.h +++ b/include/hw/arm/aspeed.h @@ -12,6 +12,7 @@ #include "hw/core/boards.h" #include "qom/object.h" #include "hw/arm/aspeed_soc.h" +#include "hw/arm/boot.h" =20 typedef struct AspeedMachineState AspeedMachineState; =20 @@ -42,6 +43,7 @@ struct AspeedMachineState { char *fmc_model; char *spi_model; uint32_t hw_strap1; + struct arm_boot_info bootinfo; }; =20 struct AspeedMachineClass { --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636462; cv=pass; d=zohomail.com; s=zohoarc; b=ROXRIFAMVeGPFxXhLH3+MFtvuIm6Rj1uZGQ18onDaUGE8kfNK9yQGy5rnJt1VMNphQInv9FF25gMvoxN+n8w4LgMHxgFiARYaV99STw/0TlkdDrSvmLQeyJeGmIqdXHkrfTTQe14PT38zN4iTqzCHtq2+06AHn0cWJNf3ZJ+ooU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636462; 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=NmlEv9nl1xY0eIcRl4LqtEwxfCVmFK4/Oq+FFSCYM2o=; b=L5M//QhbJMQ7oHF9MqBriayGmRE+K1fDgIJhvbRIdHNyRbeWHwpKllZ/0iTlbs1Yd77jzmO9R6q1SzOY/TjRya6S5NFsvQhWmGNfuzS/+rGX2mbxr3SOVrEX7wCC9KSLa0Ucko08QOiroRukQ8lADEc1pvsspROuVYh1Zq6NTHI= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636462032509.1072646638619; Thu, 13 Aug 2026 08:54:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhA-0008BN-OM; Thu, 13 Aug 2026 11:50:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXh8-0008Ad-SC; Thu, 13 Aug 2026 11:50:14 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXh7-0001nZ-5C; Thu, 13 Aug 2026 11:50:14 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:07 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iOYQMZHsdwwiptIhRn+BD2zL3khIKFMTMSsMr1fwBqZLwNpseY4pRLktEKscJG7QYqOTC27xJoiJ5YUNWBlVBwnLbHxbPc2lxONa639qckTnF8ejS48sOC8vDqMcKaMr8Va2jSgRl9G8ngnNOSO4g9QC6oa0d0Rl4rs9H7MzIgZpQkVyL+PtBPUh935i5XzuDNxh1ZQjlXrRPCfTLTPi5ENhtS8Yom0pkWI2uko4TT9MK6nx9CFdZoGL/KDh/mMxddt/O/Re94VE56ygeki6Z5vY41DWferFF8G95afhEoEDUmLuyP+qt5LXDESK7zvACWAkr2xCU6Y/fsawTum3fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NmlEv9nl1xY0eIcRl4LqtEwxfCVmFK4/Oq+FFSCYM2o=; b=GrghIMYH6KZDMxw4/8FPEBmfsdDRnwFGAUi5XUfYWSAXngsKzTz8kG32EcqJYQX6pJpkPdI1I4nocjkV85lPPGqayKOcFy5obrEXc3hwD6Hi7XpIOrotcsbyzOWZrnKLTKUXG765gLh3/PugJ1uD19X9yq1LRZHzBTckuhW+DvUpa0dpNXUdJ8BEkIVfqwNJDzBJNPbdetkf+eTdTDiM2pohx1fcOXEN2t8EYxhgZdVIWoekF8juCPPCFgFwMxjvpE69zoPqjtIop1/ZzeySR6zbac+PLZJiUwjTbYjkAgZUUQEk5V1R98vErXUWlJVnwu3+9f6IM1dZl5zl8bqoLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NmlEv9nl1xY0eIcRl4LqtEwxfCVmFK4/Oq+FFSCYM2o=; b=OhdgIaDagPaqLj/6bOlCD6MzMpfyVOx86ClQcNi15Nzd2qCBfB14Zwm3bObI4x4We3k6G/oe/bIGVf3PRNzaQhZbGLXANH7jhyU1Dpe2KgL9LiBjeBjSFK9RghgMz5p+ZmPQ63lWRhom107ZT5uL5iDoYleZLifvOTh88R1oS2w+aPU/X9uWRVpEEBkm/DcxofgxdVW1RBpcViyv86Diz1T1CMPkFePxwy72ZNBb1SXd3VSEN3lWKQ2f5lUwcesDetTyPFa8Msbi8T7Qb4G8n59E/X2t6kTuAsBLGhvZ1iPp20LVvGEszS20EaDWWS3zetL7QXyQIhm2c7WRwFe5BA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Andrew Jeffery , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jamin Lin , Joel Stanley , Kane Chen , Peter Maydell , Steven Lee , Troy Lee , qemu-arm@nongnu.org Subject: [PATCH 02/20] hw/arm: aspeed_ast27x0-fc: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:50 +0800 Message-ID: <20260813154918.996812-3-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: bb4ecc2b-be8d-4530-219c-08def9528c84 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|7416014|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: QwBfc62PRZ35X9OqJ6/BMuWZt1ofUUx75svMuGlMq1p9aonWFeZ0MBydOrbmVmSrvI8kx/pJ9MHfOJzfIDL7hHTzrOi/WRRHetPlReQwpmo/bOaUbZZHh1ppgh2BmpKMBIFj5l4OieWBdXJCHrhAMCHOJSmio0/4sz/VCcsceiYkUdxj7i9bCnzRGNofbHRDpVSriBhH95b9nH97bkuPtKYf4FiPe5PrDg+0i9TdzuVZio5bNxGpIBQgPsmqaFf3zJZl3GIUcBvLMwUjoR+QIRKrq+hL9rw/8teODkyTIWhYMiUpN/HY7yVHST+rX82avLL7ZTRWj/hG/EEURYKobOpvSSmU4zczzBsNs/vrL8g5Vh8lJ+4XTohivO9IO1N4DG6Hu7uwdpMZn1zZB9y2ui5a826aDmIFVtvR1YKDvSGw+xzynKu1Zh8Z3xCc7CcscLW22Sj/aH8hzaQgV87nTVFmX6suSFuyuWLyo79jajUbtUQA/xiIqrvV8a9PDn7bxWo2Rsr7JY6V4t6x2Xt3D0W0ahtLbPoBPRT0rq2DZyjVU2w4ZQ6cfK13Jajz6hIuJK9jIrN8XAfkStNkg11VJ6eomhSPZo1CKcwxkRpNZDpQAba/bpUXKXfrA6+pmpFjG/uevcbGL37ANPEdqbBwjusrOUmToGWX5t1RHMUU6WM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(7416014)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RbREh3NanjbsP9O9vi/abMPg6J9q9dQNd8hhoxTuXyCEy2W5lfFndVP3h8ZZ?= =?us-ascii?Q?RwpwpuyJ+PzdewuqHuExdqswzTySxnuYWneDvGO9ayTF5m8dtPIKv6KOxvMC?= =?us-ascii?Q?HitC7kbJBkklhIWkh2O+/NlwAV4ZUCp1R1AWUSIytpkS1YsxdCR+Aqesg0+6?= =?us-ascii?Q?p9bvvG9mtdy8mo3zWY/pAcQqQA2ECwrcc7PqHI/2DRY8qJVtEdo+zHsP6VAP?= =?us-ascii?Q?7cbYpfsa3bcSmXM0FNA8vcNzCyb0M74S6lz3lvStlOYB6ya8d5tNIFWocMkP?= =?us-ascii?Q?PKTFEPSTUN+Dmmwbc2G6DPykl0Lc4F63IwE9erkbbe52MMUVscyqekYLktOe?= =?us-ascii?Q?xDL36/Az7RD598yQE7n1f9r85XyN/YEnMufS7z9/UBxbTL0i30eSmWmp0RJy?= =?us-ascii?Q?FmCSvYPQl1Wk7X6wwFTbOWKYZUiHN6drAx3vhJsdYMF7POsNUkVuBOM9GY2U?= =?us-ascii?Q?/Kifiq3O3k4zUakgbTY0NUkZ9cYrh/J1nJ37MoHcldJIH72pbyi6rAXJfy0t?= =?us-ascii?Q?VA0IlmaFCWUCX9DOA/zH83p3Oe8W0CRKoTQap9TZHIh0fvaGwOI1se56dMjJ?= =?us-ascii?Q?lPRiBHyyo37fcVNfsEUHuKEu5qRn4vN3deaBoFk4z2ZFLrFjZcwGxqrP09GV?= =?us-ascii?Q?RFGy1SED/9A4yD9I2SFbHpXmr+xrdtREnkvPjqs4K1vknzPUHS7rsmlwZl74?= =?us-ascii?Q?7e4gpQo+1k8JFrdJtAj3t2wNMAnR7WHFDLH/84gqXOJdF/iaE+r/uFoPC7xI?= =?us-ascii?Q?vfr9j4w3RLSVTwGf2GskvNbi6xgvs5XhJxO3Ycix5C/AQmxfy7nL8tr9XkpH?= =?us-ascii?Q?OU7xzA8zUHrhkGTqw+E6ZxFPSxeVzrvr+sVvPF+iHAkLWyyV/LfMhpcLVHkG?= =?us-ascii?Q?E8u+xkndDWrr8JpV3fNBqZwofLXQOV5AWai9x8Z3acAlxNQIf7keLm+gLkq6?= =?us-ascii?Q?o8bA1RXoae+lGh2xCG1x4G+NwzgEYtYH9yaXpq9lZibT/6CE1aIKbD0yNnyx?= =?us-ascii?Q?5rFsfW2wjLlDZePEYOh5WB00cibOCbmZJ9pvpWjN8hKi0MOeuX34qB/ytgCu?= =?us-ascii?Q?tuf0Tq4S9ky8r73p/T/BqMHnVW2X9ayetlY51KKOThT/AOE+405pb0nvYIcs?= =?us-ascii?Q?Ck89XK7hnchdsCsF56D4/EuD5QAbh3vp5g/Y1v9HI0Eyo6qGXVBwBXShcfZA?= =?us-ascii?Q?j3cSeeQlWMNTOF6QVZ1pAYbHZcQIr84Z5zJTlggPR2Vjs5FpmrEorcEebR7w?= =?us-ascii?Q?gBj0wLDwfyuo6/YarDjfqVU8K/P1fIoYcl5wJXcF+JkEfpgATddn4q2C3WU6?= =?us-ascii?Q?wtWfDeU2En0YbocHdw3p/BR5tuh8UobzKYkB4IWSAv8DXI62ssLqlW7DtHJ6?= =?us-ascii?Q?baOl99z4xysHPZTaox1hnZqOCsLmKVaHbPVgCJnLctgKhTVPJIxVTRYj9vq4?= =?us-ascii?Q?fR5xmiPDC6x9+9/M1DAFxe0ipTskkLdGvdewGbTeQwr5nzlY3PHPqAPliu4u?= =?us-ascii?Q?2DDIspQbwDEWEFRiVKhsmKLOS9A3NT8FzgjaduhgO/ur5MVphxvwxT207MsL?= =?us-ascii?Q?oIfr6XH2gmf9e5awg2zfi0Fs7TTwOYLveFenLB7QW5HRT+2+jcue2YyoROiw?= =?us-ascii?Q?pdFIsv5C1dOpfpzTI+zVu17Y1v6tp+pkMBcUDOo0ZUithXAMyoQuMsPBrobc?= =?us-ascii?Q?9Nnryf+wC4cFp+3vS5LSwT9jpTmItarjjBLs97zn+E4M8K4QmnM4fJDlRsOP?= =?us-ascii?Q?ieR8NqYgUArQjClH5Vc7xZkGO+Jpj/U=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb4ecc2b-be8d-4530-219c-08def9528c84 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:07.4298 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gi01hXvmUabRTe7BX6lq0bCBpLS1IH4wL8cGhOLjFYgOubhpqtipusjmSGjtuXIkyzoLQYcztQ8GtO4nQiN9BIcWP87paiHWtm2QmoNpOKk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636463854158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move the boot info into the existing Ast2700FCState. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/aspeed_ast27x0-fc.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c index 058cea42ed..ceeae336df 100644 --- a/hw/arm/aspeed_ast27x0-fc.c +++ b/hw/arm/aspeed_ast27x0-fc.c @@ -27,10 +27,6 @@ #define TYPE_AST2700FC MACHINE_TYPE_NAME("ast2700fc") OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700FC); =20 -static struct arm_boot_info ast2700fc_board_info =3D { - .board_id =3D -1, /* device-tree-only board */ -}; - struct Ast2700FCState { MachineState parent_obj; =20 @@ -46,6 +42,8 @@ struct Ast2700FCState { Aspeed27x0SoCState ca35; Aspeed27x0CoprocessorState ssp; Aspeed27x0CoprocessorState tsp; + + struct arm_boot_info bootinfo; }; =20 #define AST2700FC_BMC_RAM_SIZE (2 * GiB) @@ -114,8 +112,9 @@ static bool ast2700fc_ca35_init(MachineState *machine, = Error **errp) aspeed_board_init_flashes(&soc->fmc, AST2700FC_FMC_MODEL, 2, 0); aspeed_board_init_flashes(&soc->spi[0], AST2700FC_SPI_MODEL, 1, 2); =20 - ast2700fc_board_info.ram_size =3D machine->ram_size; - ast2700fc_board_info.loader_start =3D sc->memmap[ASPEED_DEV_SDRAM]; + s->bootinfo.ram_size =3D machine->ram_size; + s->bootinfo.loader_start =3D sc->memmap[ASPEED_DEV_SDRAM]; + s->bootinfo.board_id =3D -1; /* device-tree-only board */ =20 dev =3D ssi_get_cs(soc->fmc.spi, 0); fmc0 =3D dev ? m25p80_get_blk(dev) : NULL; @@ -129,7 +128,7 @@ static bool ast2700fc_ca35_init(MachineState *machine, = Error **errp) bios_name =3D machine->firmware ?: VBOOTROM_FILE_NAME; aspeed_load_vbootrom(soc, bios_name, errp); =20 - arm_load_kernel(ARM_CPU(first_cpu), machine, &ast2700fc_board_info); + arm_load_kernel(ARM_CPU(first_cpu), machine, &s->bootinfo); =20 return true; } --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636265; cv=pass; d=zohomail.com; s=zohoarc; b=GhyeWBpXxEKVCpB7jUt8vu8ppc9ojVWGdHs+5gpgYVc3Cx0dr9Szup195y6E8YhmSAspedc1GQWPPMaHI6THm4TgHEMqRIYqmkvdSw59YNe48R8Zjd8Lv8gTpHQK3UFqAMmdrnen7O+Njg3yfua1IgvezIopLMfzR6c6ucn+m3Y= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636265; 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=xzh/0lrjyIbB2T3UjXiUS2joY+n2qcJ/cqNnKenUYIw=; b=QOJvGRnhxx9QIOsEs+/L2fZ+08M7vtpiL4qx7Z7/41L/NM1nlt0MdtOPRQ791w28p8FF0uzMKPGikCTJnwrE6phC/lllo3Uz6eTbHlP+UN4ub4551ZVbbzOcCrG2FxHiJEzJItCKsPWnByi+L6IMSUsTFR/N8klM+Me6+H3APAU= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636265246381.13159498720495; Thu, 13 Aug 2026 08:51:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhD-0008Bg-4l; Thu, 13 Aug 2026 11:50:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhB-0008BS-CH; Thu, 13 Aug 2026 11:50:17 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXh9-0001nZ-Rj; Thu, 13 Aug 2026 11:50:17 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:11 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WYqHsk2+sh94b/cByZTLrLfavij+q0L1kyHUA1qOWlTTDp5xoRv89On9nh+zqqMdHlcLaFf7qaADOO6vsV5wHHgakgqW26fz8WN+gqONNCMIbrVFFjM1cUcv3UP3bMgGtNAJ8UaRWwv4SW7lfjejM5yQBT1HEpQseSUWRk954cUnz20hWye/z1xKBywulqGyIV/3/ix1/bV1POhj23I92cByL2iLHaSghK/nnlxHXkZwFGBcYCPX1x7ii2g17SrxvSQLvFIGMGFder0ey16sM3hCttIvCykUu+bwMwmxkwIUpDqWkYQzK6qVGb8RlEMeXhJLo9x1/Z2JsuuULDxqQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xzh/0lrjyIbB2T3UjXiUS2joY+n2qcJ/cqNnKenUYIw=; b=ehWeg/6pxdmMO9JBptePf3aoeG8BfcElPzVyhKXtYPOHgl6dVGsbQ4GkNE/lKy3EJPtVtzHU/thyLCj/WiBC5Gi1NrtFNp5M+J4t8EqJ2ZjB8SSo/M572NEgSb2EBhcNaI12LclRXb/C7CsEnoHtFwO4JCFNzCE//yqWYV+Qcj/Cstc5b9eshySF6laSuVGMP7nJlG5CSaNEbnDftCQ+5JhawqAjRTsCNeoJpbSbZMUFUag0d+NMejYg6QUkG4cqAdEmSepfVcCvftMAXX0m2qfN++HP7geidXw4k9OcvTWfl68aC1fXyBf5ZwFtuawB+Eh9/0S6lZxxwFXyiUSf+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xzh/0lrjyIbB2T3UjXiUS2joY+n2qcJ/cqNnKenUYIw=; b=IT66SYeFyForNBBum2Bc8yFOoKOAb2v9RI9P9HomcDfBynwDvJ5DZASaX7+CFVau+bx22OlTNO5y3wmEN3B0cwpm1POVHrlObRuxpz8MJLS9JZ0NAs9w+neKDl6jHSqx3dfnzGRZrdpXhYfSqohE7781PKo58mg6ycLQ1kiaNasWALk3vU3/Dp4DysLZIxrC3g0rx89VNX7dJqfkn1cJwzzKD0b0Wu9CAurd9Ap8xj0tpejcxHewwFFA78/gMFKI4OPAamawnaJiBxtlU+cH12cAhJ9jzpRNbgw9kEL2nW1nIBlfh0SxOUgXhXuIKA49jJxnOh/nmwVEmDhOsfkcPQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 03/20] hw/arm: bananapi_m2u: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:51 +0800 Message-ID: <20260813154918.996812-4-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 0deae7c8-5de3-4d17-d84e-08def9528ea7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: qgfYnCG+uOmhaOL0UjY0PlO8XIG+u6p/ZhFc/SdEbYtiahxX5qpwm3IPkLXn1g4nLaKH8sA8+ZKtjuujwUBN/2MQlkxa2Rp0OOypYNp08e5hfY92A7N+9di6tHIxlMmdqMtvsng8qzS4t9ElcQizLRlI5DpnKvqpTAtVEo8Cx+vRFItVYqeKkn8TAfzuNB6V0x/OJ42YYpD2J1OnO3D0HxM+cNlmgsfxIDPmMwUBUNc91JRF8as+0iN+XA59J64HJY7u09dO95xByPpSr+9O8fw9+ZT+CEeEPxRT+ZIh0hzh0LbjkqE1MMsraqHTFGRjoIecf+8gX0+yiLXb+n1EyuXLPCP5rF1MWJOiJZQ7x4Ck3DQrmUjxn7lIRVLBqZl9n0K9Mpf8u/+mSop+HfzLx3QNmC8na+g2VvwdKiAG+puwbILzzuUoVkBHuyVie/jrtD6a71NQMqMHjuwKfbPoB9socdAGIdcZwokWR5/p60wkHGWfnGbptybhh1M7171k/IkXfc1XjmEa3LEEu8BxKgbtD90KzOMQd9hipF+O78QK0kvs01reU/yFKPsuPzV4mXtZ7zEWYhmDYWPGyZRUejRc7AcK298b4pyc8RVPnCzvQS69GRYqMo8lDKm/7OAuqgn/xvZ8Szlt621sLERcc8o826txUyIftps1yhJpP1k= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Q0xoWZ1innZG5yy0lv8+wL0GJyvM3WwmJQIl+wJyLtR9b8iM5QGKBSOhueZr?= =?us-ascii?Q?/JINNGtkdlu8zvjh2KOmwRf0u6nrliEz3tYVaIwTl/WUXVxQCbGOMHM7TOW1?= =?us-ascii?Q?yCVXmO63BkHkPD+x7ZEA6XAlfk4ByScKjYg+N1fTb2Koh/m7cSbhqI5GdtAf?= =?us-ascii?Q?mXnzy8oxubpaTyW/ga/hYKINxq5YA7daJDHqCYu3aNWkXeo+Snec8Obo+hxv?= =?us-ascii?Q?9pOj7Zc1ekW97n+GGJ1y6hoDiCsFEHZf1QxIsie9gk893NvbeAtRNf+PFZUz?= =?us-ascii?Q?64oONRrzoiWE4VucGdkKeN+o3qgnMarkN8tKIC3Qx3wBttvF+0bn0n3gb6lq?= =?us-ascii?Q?lwuMlVkobgTSg3o1hGCiE+vN8IjbzATVJ87DvXtnUU9920nnhmMzyyvh6ZrY?= =?us-ascii?Q?mLYpcoADmSUXBPfx56u6KHJJd8rSLlUbpDkbrEZufsbfvJNTMMtctvRhqEg3?= =?us-ascii?Q?uIhAvPimrrj+TZIFCWSxpuNNxGsU5lO2QF2Gz2fYysQMh9C9yAmFaqP7V21c?= =?us-ascii?Q?eljcdA6oukEXs4nc3/0ICc9FT9PT7ZItviI7M1pz5+cVYNqd9hVsLDf42v5+?= =?us-ascii?Q?Wq9CZfCcimmS90sfv4N8n98IlMszyqjxJlphGuXqLs0HoIqEum2iWvQ55RAu?= =?us-ascii?Q?twDv3BxxKQaEe6FsqhCaToKjByoJS85+OrYDjCe8DBQqrmsLELLK+SVkDAdY?= =?us-ascii?Q?dJnODArSOl6vDOHXEXkGlYHoyQSM0TJc48INx9RW9ociZIuwMmHzNPK8wbS3?= =?us-ascii?Q?f+FjuEQqLPm3EbMLLnpSu/uMkcOcmFd9Ps/fhJQywkCWxc/JzZFvca1N2/F5?= =?us-ascii?Q?yF28Pnrw2yYBLkEU64Qf1kkx44RJx0zWqEqnJj8fRnOh5th2xi0mzO5oSf1L?= =?us-ascii?Q?SIhat6IruG/lVz+3opFPdhKxLSD9eqMm7AllbPOaT6v5WulA0NVnNkBwGAR1?= =?us-ascii?Q?sdg8GHL/ccE4J2dYr+yiZFfxb4e9/kjYPwKMnH9xTQJG/T+XX9hFicdP3b8P?= =?us-ascii?Q?PnS+xhCNKBm8dGI0+n2OK0a09ZYNkW6VowGTa4uhqkJf41/Uvo+oZvEB7oMr?= =?us-ascii?Q?QyikqtsOyENCjrTSNuUTY2JH4l3txWbd+VUa0EiPBWOht9NOm1DjF4JyhBTT?= =?us-ascii?Q?q+bsNPiBHe+hazj4yPUrm2f+/ttlxXYo68Dh3DBxL1wt/VX3Xccduzl7XLrk?= =?us-ascii?Q?2qU69tue+rrTh1q+kIH92g2d7YhwipoaVAX++v/6Wj7hv8tU1lZwweTWNLfK?= =?us-ascii?Q?+CAf2QVDGgiCJMrjoeqb7VY7q4Kk075NrgEUnHmBybwfw/iNQcgHLyqicTC+?= =?us-ascii?Q?8AC7kVyQIAf6MqM2kxmvBQtgtuCQAA+ha8i8hqNke1Snh/Et+6lCiHsbVEEW?= =?us-ascii?Q?32pe06M2J5tt2GTPsjLa8+/+u83gSjiKvtZnRPFwCN1fXE3hS59wzVqpb2pZ?= =?us-ascii?Q?4J8ti75pRUTzKhrO8+z2BascmsUrh+9nioYn/LYf4vmtOSlPscm9vssx2bBb?= =?us-ascii?Q?pQEz4Zyh0hf9WwrCNk5qOvOU8ar+Z9ryzJHSB9LS5ysL6X8/lJD39HiyQHSl?= =?us-ascii?Q?yXXqW44jTJ7mQsi+bCONYrTMnLNWvHgOmP+1mnD0eG0D7jvHq64DwFc4CFBa?= =?us-ascii?Q?2kBtVdZbG28z6TyFL+CZqbMRhzmIqdwZQW3pTClYUTqKfw1jNpiximDd0oeL?= =?us-ascii?Q?CHzRGTtmDhmCXNssuk11G1OrdJE6fFuwR+BnTFeUZ8P2BMHpL0JjtO+k7hiK?= =?us-ascii?Q?tNP6OomKWIwLerh3qeNc6vDxUkhOs1I=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0deae7c8-5de3-4d17-d84e-08def9528ea7 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:11.0336 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FwIVCQHEp1GzpB+FlQEENRlauBkmutczxHKkMs0YWdcxq8Ef6NoDZiTegeQqW2FKHgwXKh3Tamx0KvNNcuVfEJJgU16yJIor8Ti+foqoFS0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636266794158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move it into a new Bpim2uMachineState and register the machine type explicitly instead of through the DEFINE_MACHINE_ARM macro. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/bananapi_m2u.c | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/hw/arm/bananapi_m2u.c b/hw/arm/bananapi_m2u.c index 9b468cd8ac..4648d915ae 100644 --- a/hw/arm/bananapi_m2u.c +++ b/hw/arm/bananapi_m2u.c @@ -29,7 +29,14 @@ #include "hw/arm/boot.h" #include "hw/arm/machines-qom.h" =20 -static struct arm_boot_info bpim2u_binfo; +#define TYPE_BPIM2U_MACHINE MACHINE_TYPE_NAME("bpim2u") +OBJECT_DECLARE_SIMPLE_TYPE(Bpim2uMachineState, BPIM2U_MACHINE) + +struct Bpim2uMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; +}; =20 /* * R40 can boot from mmc0 and mmc2, and bpim2u has two mmc interface, one = is @@ -62,6 +69,7 @@ static void mmc_attach_drive(AwR40State *s, AwSdHostState= *mmc, int unit, =20 static void bpim2u_init(MachineState *machine) { + Bpim2uMachineState *bpms =3D BPIM2U_MACHINE(machine); bool bootroom_loaded =3D false; AwR40State *r40; I2CBus *i2c; @@ -120,14 +128,16 @@ static void bpim2u_init(MachineState *machine) memory_region_add_subregion(get_system_memory(), r40->memmap[AW_R40_DEV_SDRAM], machine->ra= m); =20 - bpim2u_binfo.loader_start =3D r40->memmap[AW_R40_DEV_SDRAM]; - bpim2u_binfo.ram_size =3D machine->ram_size; - bpim2u_binfo.psci_conduit =3D QEMU_PSCI_CONDUIT_SMC; - arm_load_kernel(&r40->cpus[0], machine, &bpim2u_binfo); + bpms->bootinfo.loader_start =3D r40->memmap[AW_R40_DEV_SDRAM]; + bpms->bootinfo.ram_size =3D machine->ram_size; + bpms->bootinfo.psci_conduit =3D QEMU_PSCI_CONDUIT_SMC; + arm_load_kernel(&r40->cpus[0], machine, &bpms->bootinfo); } =20 -static void bpim2u_machine_init(MachineClass *mc) +static void bpim2u_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc =3D MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] =3D { ARM_CPU_TYPE_NAME("cortex-a7"), NULL @@ -145,4 +155,17 @@ static void bpim2u_machine_init(MachineClass *mc) mc->auto_create_sdcard =3D true; } =20 -DEFINE_MACHINE_ARM("bpim2u", bpim2u_machine_init) +static const TypeInfo bpim2u_machine_typeinfo =3D { + .name =3D TYPE_BPIM2U_MACHINE, + .parent =3D TYPE_MACHINE, + .class_init =3D bpim2u_machine_class_init, + .instance_size =3D sizeof(Bpim2uMachineState), + .interfaces =3D arm_machine_interfaces, +}; + +static void bpim2u_machine_register_types(void) +{ + type_register_static(&bpim2u_machine_typeinfo); +} + +type_init(bpim2u_machine_register_types) --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636264; cv=pass; d=zohomail.com; s=zohoarc; b=gG/72FSnoKTM6yf5sxl+ZV5F4Lsy+3vusCRVEO7468HWY7vs/yqeTCB5ksC2AHH3l5xIOwX+TAUpDm02aW9GA9Jgcl02fpRrqyBW7VZZSAnCbEX3Ew8SaU7lc91nuuGZfE1H9OOvJ7+Jct2VvjriKb+VFz9G4fnmP+NDQdSrK74= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636264; 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=FItJiPb02XI7Z0vvGUWPXgbyIdGr+JjrEJkCAPDoC34=; b=WVHOL4+cATrsxnKTqgvk0YIcVEMXIMk6S4RlzM4QLSZ7JL4OvrWYHeE6dkt4a7aZPMXbJXeKwFN8sy98i5aUTLwSCkhrh/bXDcbjSLfMo0igAO1JAdE8r7rMA3tZRSSg+bXKMW38ikL476eecvFfOYjUjZiWehRqH0oRnKOIhEM= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636264395394.3319122776103; Thu, 13 Aug 2026 08:51:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhF-0008D4-Pc; Thu, 13 Aug 2026 11:50:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhD-0008C0-Mo; Thu, 13 Aug 2026 11:50:19 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhC-0001nZ-Ah; Thu, 13 Aug 2026 11:50:19 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:14 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EArkJN6Cc2AwrVtIeYbI6sgYZa1Qi8pkqXD3L62mXaem+hOtwvLgBnsdObBloey4KZzKx8nf05JowMm6urBAaDTaiA5RKt+J8iHZoOBeOhO6CRXF2Mj4OeDotuz7omd3tH7dQcYLie1EO4Rxag9G0MLPTZhbkDa7eHbVZJ6Vwtw7pDoLb5O2HpNVKrzKS3DLPp9H7j0m7k9ZL7UlswmBucTQtgzyIJdQIX/FBjZtD2r01DxSReI64mIvnNZQTulBTNd7aSAgL02nSd+MvexKyhWBHthbRDIjw8YBow9klB7KHrJ5/3BC2xG8K6haxa/Ohbpace1c1ZhOlHq35pHkPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FItJiPb02XI7Z0vvGUWPXgbyIdGr+JjrEJkCAPDoC34=; b=LrUEWZJzd4OQ4aEUfbEjBoNRfzYCgjGgJuPxP2QWavg+xPpIVkWl7Kg+/X30vRkVxWF4EpSQoXqTdjz9FzYH+45zN7rGSv2fS6EN0CUI63gHptXx2HaCqEMf0+L3hjuzvDl4MXiDp5O4T3xdC3vl8E+LARwNibiDjyydmKFUb+d33XHehIr4blMigr0tKMu2r62H9W4Ztl0Ub5S7BdDmUHJlnkPgs+ZpARdJGDh4GgBOpHJtMBtw+dI7vqidONdJIgKo2wiCJUMOMg8Lpi5yBEmeHfct+AVlWrWENP4mEuUZ2h4rigzor504TwxtZMW8nMIobLZWvjRyTyKS6UDbgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FItJiPb02XI7Z0vvGUWPXgbyIdGr+JjrEJkCAPDoC34=; b=hRhaA40vONAGXLG8hDe3O7XS5c1BYHAYrMrwl42aE7JHCwIIhvoHuRYC6fyyAAs2eXwUeshLD5ZFwuczWRUVCgrbuN729LodVvNxFw2OmymozxnzBWa8jbGej31TyL59ehPWbDjIUNhyK6BJJqCwOAl2V7NpB9Bu+hnjji7yhTGq/UhTg7Y99Y9Jt7gQZnzU8bznwbKlgdGd9aIy8HFXfPenXHOuuyEUPtQBbuRnA+BHZHt1G8dSwFDJsBqEjdkru8RK0xL0VgggxGZAH8mM2jY5XzCImaf+V+QOyCF8jcR92w5kVB6GWuLdcaeNZsTuEJ3p1Rz9wJ+JoGD3pxdXkg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 04/20] hw/arm: collie: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:52 +0800 Message-ID: <20260813154918.996812-5-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: f7c8f062-dfb2-4d33-9fed-08def95290cd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 8MmtAEy4mAmSdyV0QXwCAT2l9ZcE3kW/J1QIaNExkdJQ9kU/qJpLRlGc1u3xgGjbWjxrG8l5ayoLjh1sMgYE01VxPMWYQpztUuBKw7oIjQutCnHjRoO3vX/GVyG3n9cyGbENHxMPSEeLH7nD+5ZPHJgMRopfBkMwDVkjmIBjMlo2E6cg0Q15O57+P0xhew+nwLxv3QJMU8S+hyDYP5Z3N3jBrmhDbwmOBBmtQN/4U9/TlhNEghA79ugpFCVVBqDCNRQaKYE1uaYUfUTN/Llp+8ZSFFep15RAe0OKAyenjvGZ6ofFv+7z7CR8GTvw2VRc4enVRSLxC+a/H5jqvLM28+DpE+Vk0xrba1RLcgcWnpxFFS7kx4LQ38DiKLn7Pwj4Z4mFgKeKue5dNzbpvGR7bRpuU3cOEkh0Hz3OXv3l9PxAvnWekCT13jjyDPQ/DqtbW1r6LoHAaE4WlCtXqmAYNYmMaQq/OT/XwD1haBI+z3LxxKe5LKLyalmpOruhIYZ834UrwS5IJbmZPCQyGSCG8XfXAe1NoIN3gyb6VUu59VaqdoM0kxyLH60K7BwDsIfpX3MiDVcWPn4mIa6HAW40pMoSBSVx4LUjP9Ko1+B2L0hpuegUMTkzkmQwro3mVLiu6Gj9ipoFhBMIV82ziCVkAb+8Ngtacdv39Msv7BQrft8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hS9TRrnTK5Fom5HewXlIKd56JMoWl2NGd55ABf7SXBqFxb1pIdrrfS0NmCXb?= =?us-ascii?Q?0jaM3enHfC9UVWP9MoNvBZu38SJuPkozaa2cD4WfIEnsRAhZxF9jVd17FKDs?= =?us-ascii?Q?3cDwxDzgDKOicEQY8AptyDB80BdRl9oXIc2mwZoPUKl6OEuIo+J3U5rjXqew?= =?us-ascii?Q?R/PJhlXEwtRB7Npn3i+TQ4YMJjt4Kk4G935o3HhNMyL98oLYcuMGqEIiFFMN?= =?us-ascii?Q?KWBlQIHBZiv/qKyFGZ9IXnPODGPSOVGMKMH4KkDsov8yXEDSe1z/NxASWKXP?= =?us-ascii?Q?8vRxKl/0LbXfYNRnQgCGUYSqalyP4jdWwwQtB0JHAcfMeyGr7UxaNJAwWk6C?= =?us-ascii?Q?1qC3SfDP/IByE9VF2YW5u/0zNEW1mnZ53DlNdfyLN+EGR99erQh/7U45ONdI?= =?us-ascii?Q?ot/D29+JOcEur3UXQQo+DZyNrWlh3tLFP0TnVtUIqV0pMJNANjZCrtnc4hDU?= =?us-ascii?Q?hnXyARxxClBOPfS3S296bwyEt1d0mkOdqpNcZ5lg7W2UrsMpxEPN60Lx9Bfg?= =?us-ascii?Q?fEOvEG9W0qqRJYZ9u8LIcM5M4+vV4ae0Bf8O3TIg853EyAZ9LIrMmTjDQx6q?= =?us-ascii?Q?PdOkqkAOUAZFTGET4lN3VLlr/lIQ2yYuyHB2g+yq2J3+YTNacntB4lcCMSas?= =?us-ascii?Q?ke6D4nxVIUH3fVkK5jyYUM9ZGTacOtHqF+IqEhZYosjWfYR13xaKOoxr+Fgb?= =?us-ascii?Q?sQJlRjqtRMVZg/jYb3ZoeQ+qJ0qCsYxzhApyc3F9SL+2/1P1q/kYlHEBkm0w?= =?us-ascii?Q?Tx99f86We2jQvNrEla5UgAa1d7RPDoi/ggvClfM8vUJ9an45fgDDVJh9no23?= =?us-ascii?Q?FrEgQi6EROqGB9jncjg867ydIvRhoxyjL9WiKUh1OBWFGlAnHgSX5WTFqRaU?= =?us-ascii?Q?zrQayHFGx1bv/92KpIrqkDjGI+vbk06fbTjbORaYVMFdC5Gw1hiqoQXgGWeG?= =?us-ascii?Q?i0tvYlIBFjXDCblPEWjirJXHJ+VP7faxdeqePWOSRgNG/fE0yQAdbCsWlQ3v?= =?us-ascii?Q?nCr0l74ycb7uDSsvncAdtfwI7Jha0Kj/jG9K4V9UVD23b9quatw3JQ/TtocX?= =?us-ascii?Q?mvvHFHmm8Np4TUDEQdFqz8UiZXK1GvcRGZqoR9yV/HgyYzoBemytNxkHzppS?= =?us-ascii?Q?6d4nlJcPSrVpAMMKDHt+y19BKS1ZxcJ4l96LM/8fO96svBMgy7/MEQMtp2Ru?= =?us-ascii?Q?KiV7yAvVIJ3oYef/u1UN3Bf2JOu4K6Z7AKqHQpxT0h1l9f7DPdDPsa5Gsqxc?= =?us-ascii?Q?xdcqAJgrhxxHX+svZt9MMXZK8eFPUSZoZUIlzn5B11f6eiIPiTIyMorKXxZh?= =?us-ascii?Q?3rZiD6wlz2/sSwYLAPU6zMHsynji8aJRRjX8UIBnJGbc6wTAcz7fDkwyp3NN?= =?us-ascii?Q?9tpKKuXIvfBR5JcKo2GdfXcpyzvXp8Efy33KZ/rCMajhkI3IGxf8gSrUh8hQ?= =?us-ascii?Q?lsFiP0+Qpimp3FSwMM8/l+sTjY3vxpsTsw8x8jEaLcpku5WedxCqvmJT2ygJ?= =?us-ascii?Q?/CSjEEWfqyqAt34wx+ALiEGCLLbbl3gsmGPNytApDrFilrgDSg81fsG5ST8Y?= =?us-ascii?Q?t5b/NOys7Zh2Hu9vOzyVkhxqBhAWbPCOTIjmn7YZeAtuivYHVtGRlMCSj1H9?= =?us-ascii?Q?0DSefn41K3eTpLLriO37rBOJfhWhZ8Se7Oy20RMMqp5nFc7+Xj26y1wSiJT8?= =?us-ascii?Q?l0O2Q5LiVdTQuUK4Dg33YKJhOTEzRs9ccGsErmL9YABPAdms+r3anpNAO/9J?= =?us-ascii?Q?hiFMV0ZW1i8wlS7Kxc+Ia9DWDaBnzCk=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: f7c8f062-dfb2-4d33-9fed-08def95290cd X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:14.6097 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fKRwL1t/AWb2I2pj4UAhh06fF/gJg3Xmi1BcJYLOAq7c41/QZrxMzZ0UGV8xp5LyGjmSQ/4rDBX+rc7YC2fdIRcdeW9Jznjjfbi/zhrI8OU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636267060158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move the boot info into the existing CollieMachineState. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/collie.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hw/arm/collie.c b/hw/arm/collie.c index 91f0a94b6f..2deca04fd0 100644 --- a/hw/arm/collie.c +++ b/hw/arm/collie.c @@ -30,16 +30,12 @@ struct CollieMachineState { MachineState parent; =20 StrongARMState *sa1110; + struct arm_boot_info bootinfo; }; =20 #define TYPE_COLLIE_MACHINE MACHINE_TYPE_NAME("collie") OBJECT_DECLARE_SIMPLE_TYPE(CollieMachineState, COLLIE_MACHINE) =20 -static struct arm_boot_info collie_binfo =3D { - .loader_start =3D SA_SDCS0, - .ram_size =3D RAM_SIZE, -}; - static void collie_init(MachineState *machine) { MachineClass *mc =3D MACHINE_GET_CLASS(machine); @@ -66,8 +62,12 @@ static void collie_init(MachineState *machine) =20 sysbus_create_simple("scoop", 0x40800000, NULL); =20 - collie_binfo.board_id =3D 0x208; - arm_load_kernel(cms->sa1110->cpu, machine, &collie_binfo); + cms->bootinfo =3D (struct arm_boot_info) { + .loader_start =3D SA_SDCS0, + .ram_size =3D RAM_SIZE, + .board_id =3D 0x208, + }; + arm_load_kernel(cms->sa1110->cpu, machine, &cms->bootinfo); } =20 static void collie_machine_class_init(ObjectClass *oc, const void *data) --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636313; cv=pass; d=zohomail.com; s=zohoarc; b=keqYXIyXc8F6pQoqsuwZUXV0ck2GSj3c4esH7ZstWNtFSVG4rpA9N9ywRa16qKJlkAQWmw9Ppy1GprJsrMBy6ENKTJfQa2Ndj+AGVKN4P6u/s3EBO/UNaryB+1rc78w71XdnyVPf+TgmOBBDuGtK0uD/3YuXvRVLH+pweJbzra4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636313; 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=c4NfL0LxMbffGyg0xp4lOmX9ve3/FIikUEAgtxvo5bg=; b=HZJPGCrOJ17kSIIysQv6Dm325KZHm5zleGM64HKsZmNz3j263YkTs+y3b+47E4WwwXj3XUcNLIhYpyxDhLzUpnm81agePXOHExnxqXAQCNZib7bLySymdVxih5kg4tI+YG2wAeKuJicJMoqQhkJGLEmnd7MvqEfq8uQ8PcL0fRQ= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636313576200.00927554565942; Thu, 13 Aug 2026 08:51:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhP-0008EY-B2; Thu, 13 Aug 2026 11:50:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhK-0008Dj-64; Thu, 13 Aug 2026 11:50:26 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhI-0001rl-8Q; Thu, 13 Aug 2026 11:50:25 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:18 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oCqRlCbTWFQGNKkQoL8zcSf3Y5ZwzW3QIYlM7rHV8PF3z5cwuuzZMwTs1Ih61SRtpUY02uApNKkVzgH8gOMehWpxQzr6RhA3tZHS8Xjst8mXmuMLgtU0G4J6ffmelFdW2+rG9Eis8PZKc1FgO6KPflPZq4YpX+AmhvqduNlQHkgV0Rt9sl/Woju2LkvzO5ztclUM2K/e2rSNZNjS9fKcMti8PGwF+46wEuhrzjQ6mEV32B0HIY6Q6L3br3LPq49M19EstJQno6e9PWe6vV2A2NnP3w18cGo1Jen3ZD7jfv7PfJ3UkSHgb5kAqLEFiwrMVfImUS21vUwbdQBSLFO0Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=c4NfL0LxMbffGyg0xp4lOmX9ve3/FIikUEAgtxvo5bg=; b=HJgf/udNfcRE3Dn2MwwMns0hO+RAi8dq40wOOO5tTnZfyoQIwLMrgQNPkeUdO78WpSlNa0E9oVnppc8yt/WQGzp2QKtECHrZU81zvH0wk/tByBQpXiSxO1ydt7SRTQCUKih2KSX5Zomzzb8dXe1n39eThbppqwhzbfW48SQH+v7lqYaJKBzLXREUu16+YNpYP22+tXatXmT7m0+tDtBjykZiBGDUL0iCoBVqbsBjQn9K6FK5YkUf5TvDErBniYbbCrkkv7x9pFesqiuHj9WhtHycwnUP2grGrIyeHQFAqnzLoOOzys3i7RE7QCXx7EAj5PF4vjZDDBuNPwd0lWCOcA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c4NfL0LxMbffGyg0xp4lOmX9ve3/FIikUEAgtxvo5bg=; b=TYisPFh/zsMuDUirEAHARG4IqKTncZ30KBiA8c6bZmK5PAYJ/NSrAR223nFWv+XQkWyMuNoE8Xni7RVLR/8rrh7ekUbrXgthfa/2VZRGU0PjV9X18DEbbK0L3mbpXo1edih9AjWqB4kQX5Bn22ixrNU2tvukdbRAuvQZ5aDKhR3NLdjKWJ2d4Y5OeHCQWkBgs9GE4bj1+HK9kNLZbHXRhVjJyGkZkhEUZrxyaYyRxYbOA+Wzq+Wvkvwm4M5mLcM/QO9h2qSM1EoZJC0D73L8utNYBdMGSxpD183oBYr70SU4wXOrPAdN2FB+12fk3LuwSxD4M2n/YMW3fFUQtByrCw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , Strahinja Jankovic , qemu-arm@nongnu.org Subject: [PATCH 05/20] hw/arm: cubieboard: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:53 +0800 Message-ID: <20260813154918.996812-6-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 30258186-8596-4718-6ce9-08def9529334 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: tN16AYXB+/8Ju70MFNrQ7QEWwBInmoGZkUBFDu//MqA9SCZ6HQCvHDT8cx6TlmwjJgmzBTBz6G605GWK8Ds+4T0r4cSWblgWz+Jiz2h6QLus7PJ/om/pBAux4+7ukdIjJFqxwsJfz3A+y9izAYT/FELds3Sq1HFpZjJlgZmNjQbRnFjOgu7dZH2y6hsauwrXp4lmzAjZc/j3jWID3IVaZNwPREtIE57VZ8U+SvnGPZJxb8Hsn0Ufj5yhEkbQKvySUK+oJVYrj6HX2HggPnx2Z8gIAjC4+/HFXRrCqae3rNJktKkMqDnQnRccwSvcE3bsoTdIiz7gWbzWWOqHEvhZfm3dOoiyGd59NcD+3VPhlrSS5YtjeQr2JA0Ya6mR1BspDZaA0pgIZZqY/3Jj1lT0aJrn5PHN+NpjgeuJ+6xbiPF3JjgV+8t6M+xpqYSL8rGQ/IAiyvHcW9r5wx7u+7NFagubwisa8HE67q+ZmHrIfV0xlxmtbAbXFATYEthVBTudwFUwNH3KwtRDnyy0nT9gWJOTvFX6KNPtIx+u7+PucXLKetXKCgKIIYBpNSveQuOawRyMpjvlIwtfxoxG5+kfXL6//LasIRSldwbe03BX4zw0arWC87A50sGo+xmrM6fgmdEUI7OLPlrA1bUJ1ih9Aeeu0CtmXNqQTnnRBXllmuo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Xk3lPAxG7kHwQTmryFtrf0C3P0WTMEdr7fOizcc9HfR2OPG59l5e0F8e8Dcz?= =?us-ascii?Q?cu/8TXMpHIOuZyNf9z7Rz0t190o3sW6rq2LR4D87YmLqpja9Q4vppM+fbT6L?= =?us-ascii?Q?tf4tgF8tOKUrDGCcwa0jJouBNMEzK+neeWqPhPIHDMOprWfd3rPLztuJIhtC?= =?us-ascii?Q?hfQah0L5F0qNk29QSY4NtmDx/q+rEpelIItOlhLodrls5GpuF0gf7KvpR3l9?= =?us-ascii?Q?fxdnvhmjBFvgqhWoofkQ1CNWcM6NdQ29xJCJGXWJonVv5Rnm67cSGrYZOXTI?= =?us-ascii?Q?6vzRT/jHMiO2xmdwHyCZO2C5vpVVFxbUq5wIx37lRqffsWv+Q0HGBZrApgOB?= =?us-ascii?Q?e81IJoCkSXi5oTggrnghqChkWHBCHPCiR0m0YYlcVeeMubsk/DqpeMhKneq5?= =?us-ascii?Q?Ff1zEY2uO3HD/FIvBKGpGttEPRt8+QnHfHJyg+PEDL9u1D4CCVuSSCqUgUfX?= =?us-ascii?Q?xbvjpcg2dbDeReFTsUbGaDjd2RNjHyP6IQgXnLmC1cr2L+hrvWkV3GseG8VX?= =?us-ascii?Q?Hcm7Z9lJCL0Xc49NJfq+XQnoLyof4INlmEqhIM+RFeNSJUjSUzbRojmhk9p4?= =?us-ascii?Q?NW6ewqkEchPz1HFS2j2rif6SK1gDIOePS26/u84vcO29Z14NBMTGi05fqOa8?= =?us-ascii?Q?8WYGbw/qix09vGCK3t5cpbKFH8T5QPQMW4NBuvV8HzEhaRj1Q2V9AtaR1XVb?= =?us-ascii?Q?B/OKjsD/acfgiesM0SHOyOvGJzE2R6V9cT3+0/S88uk0gn6YLQKL+mI+2cb+?= =?us-ascii?Q?JkyfFcqL3hr4VTjiNO2DG7Ut6w2IvvbTKN5qhl7XH4v9R8RVirIRV0kcU3HT?= =?us-ascii?Q?xuumxpCzaYUPs4xMWIZi6FhhNQhQZoy0rPmlkwHNCh0C7R1/Tom1u3uostl2?= =?us-ascii?Q?aeecxh9OlbjCYfGBDOV5ifqDcZE4hQU1eBZ6JN5jneKLOZxlU+k7EpW/Mywa?= =?us-ascii?Q?nQyWy246lXY+ozOwNqP7mpCnYUc71oDW2FjZnjmpdRKQ9OJHaMs7ZEz9nObS?= =?us-ascii?Q?4k2hIwQBJak62k3tN8eWaOcSQ/0hNMdDfY5capwI9hh3D3aqAmxrHTfP7KiG?= =?us-ascii?Q?YVVGaA8WaoAnfqMB7GbYFI/zGdU83Q4KFa49zCA1tDy1lyZi8Ko8AgJEEZwB?= =?us-ascii?Q?u6OQJAyzHe7s7ebbN5uHCbaiD1NgvZrSzq6SzgtVFTS/w8NRJt1M15g0yUr2?= =?us-ascii?Q?L4AUIlKW+u3t8Wln53A90SLWBIfTltswr30yzu4m+aiV3f8X2s5PYLcm72UK?= =?us-ascii?Q?k+W4DSyez10rdQpGJbfhFOj5/G4pqH91H0iiDbS17B/4lMr5DJuSyqZCvF7+?= =?us-ascii?Q?vto4ssohs7UAmrTkeAzZYDEa781v6Fx5ZhWQQ6sZ55XSlUF8tlUi+WB23qWA?= =?us-ascii?Q?4yURj/CB1rbds+ihjr9hTlzV6+nLQWL9JhVLjqOGOiejqwXRyYSaqT0ym5VY?= =?us-ascii?Q?ncDC10/L+b8z68ofYnqoQiglcgVmY4g95maZbyhWp4Qv5bdpdBy5KxRZbwmv?= =?us-ascii?Q?xARE6tkp0js5it33OKtD95xXSIjQF6t6aqX+o5JLDRtxfzVwiQCIse5xn5y+?= =?us-ascii?Q?x7v7BESUXRomhLxetnRXhnvp4r2dNvpz/8q8YkZ8ft8JinI0Gslbl8tVOJ1P?= =?us-ascii?Q?7wnuqafcZ65t8+vxT+UF0oQnhAjUoWEVMTIVppY2UyZOCI8+imClnHRW7m1j?= =?us-ascii?Q?BbGqQLLuJNV/HItGyupuQ4mtZypdAPHlYgF+CRGjZZDo6RupUwt3kVGApDbl?= =?us-ascii?Q?sE4M0NlW5aLoYb5botAt1kmgfdhEcuE=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30258186-8596-4718-6ce9-08def9529334 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:18.6531 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ipySL4OqsSnhfBwZQlBfkLzclEzrnPI6Rqn+c9EyO0zQ5EBeMUgJJn7ha1Z9Lqxha4gIQRCFPAzi4pRjW3+MaBJnR4sM5hVJtowdRH328Z4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636314833158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move it into a new CubieboardMachineState and register the machine type explicitly instead of through the DEFINE_MACHINE_ARM macro. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/cubieboard.c | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index a643ae4e27..45099747ba 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -25,13 +25,18 @@ #include "hw/arm/machines-qom.h" #include "hw/i2c/i2c.h" =20 -static struct arm_boot_info cubieboard_binfo =3D { - .loader_start =3D AW_A10_SDRAM_BASE, - .board_id =3D 0x1008, +#define TYPE_CUBIEBOARD_MACHINE MACHINE_TYPE_NAME("cubieboard") +OBJECT_DECLARE_SIMPLE_TYPE(CubieboardMachineState, CUBIEBOARD_MACHINE) + +struct CubieboardMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; }; =20 static void cubieboard_init(MachineState *machine) { + CubieboardMachineState *cbs =3D CUBIEBOARD_MACHINE(machine); AwA10State *a10; Error *err =3D NULL; DriveInfo *di; @@ -103,12 +108,18 @@ static void cubieboard_init(MachineState *machine) } /* TODO create and connect IDE devices for ide_drive_get() */ =20 - cubieboard_binfo.ram_size =3D machine->ram_size; - arm_load_kernel(&a10->cpu, machine, &cubieboard_binfo); + cbs->bootinfo =3D (struct arm_boot_info) { + .loader_start =3D AW_A10_SDRAM_BASE, + .board_id =3D 0x1008, + .ram_size =3D machine->ram_size, + }; + arm_load_kernel(&a10->cpu, machine, &cbs->bootinfo); } =20 -static void cubieboard_machine_init(MachineClass *mc) +static void cubieboard_machine_class_init(ObjectClass *oc, const void *dat= a) { + MachineClass *mc =3D MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] =3D { ARM_CPU_TYPE_NAME("cortex-a8"), NULL @@ -126,4 +137,17 @@ static void cubieboard_machine_init(MachineClass *mc) mc->auto_create_sdcard =3D true; } =20 -DEFINE_MACHINE_ARM("cubieboard", cubieboard_machine_init) +static const TypeInfo cubieboard_machine_typeinfo =3D { + .name =3D TYPE_CUBIEBOARD_MACHINE, + .parent =3D TYPE_MACHINE, + .class_init =3D cubieboard_machine_class_init, + .instance_size =3D sizeof(CubieboardMachineState), + .interfaces =3D arm_machine_interfaces, +}; + +static void cubieboard_machine_register_types(void) +{ + type_register_static(&cubieboard_machine_typeinfo); +} + +type_init(cubieboard_machine_register_types) --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636306; cv=pass; d=zohomail.com; s=zohoarc; b=TVa7Kq5zPnWy0QhwZEjTnfVMtArPWj1bszYWw3I0vB+bfdtzR/AkFfEmr6z98m9ZDqyi7i+SxtRY1M6BFTDPRSDZ/6+gBhOTqck2/eZ/lzbOSGMrl1FqGRTPENa7ZtKeUnCM3Op1xOjE2NyBOUwEgIi/y3beN0airkxMV3VSqls= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636306; 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=gjueGYjCU53FZ9A5qWQI+8yduXgDal2Ap+mkNizw0XQ=; b=kD1/Js/0kcdTylfaZfFIYVUPNWb6WYkTvCLBllwL8qRvUV3oCwKLWB6ftTl4yhnkQcPavv0BDzmrJDXWKhokWXhQNi1Gj7zCrXAx6+RDn7U0xu5zXZ+epv53MhUivZBa4Aqb/7D8+1MxDsDzknr1zB6nl0j+I7fMcyjRScqHsko= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636306253867.448536021549; Thu, 13 Aug 2026 08:51:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhP-0008Ep-Dk; Thu, 13 Aug 2026 11:50:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhN-0008E7-SU; Thu, 13 Aug 2026 11:50:29 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhL-0001rl-5y; Thu, 13 Aug 2026 11:50:28 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:22 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ByIpZ8vCanpL8WYW1/qdzMhgZVLfoO95B1CsHw7Ps0Vx904pX6m/4zvivdHNHQyWjE2VmzcZP+qzmdE5gcIhokFx+f/aP+NBzIlbYuQjSY/bjOagPdml75UI129rnRz0NpbNG2CbBngiGh29/E/+iq5p37Q6RtCPJH+aionv1CBchdd7of5e8s8Yh+somdxjWXjpwvNiZUx3H+2hvkSt7Wal9/jnfnSSeKBfMvXCvSNFS8IM5rB9Vn9SCQEU+1zTV06ovZLz2IlsJwTIJ4irTSjtopoCeyBVEDsmr9FOBiFcowstDAahXm97RiMclOgReDfDFoDjdB7x627ta2wzSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gjueGYjCU53FZ9A5qWQI+8yduXgDal2Ap+mkNizw0XQ=; b=cClN2bwuNkJsO4QOGThogyCpSHSha/2RponNbBBPTguT5yxVRNswlAp5fybOof7nZQ31K15Ua8OTrMwADMy+WzYtaX0hUwgedEz5crF7B+udytGs+BHGgpqWEE5YSHgXNaE+wiY+AvY0i89VvTKmBGcVMZ8za9i2O5/Mcw+Lao2s4+pinoMzgSW0hogLk7uDr+HNcoIbRoDffOgnX6ametfc07xxme3ad3axb+WccztG61NkymJndY/rfgSIcnrU5RhkWE3ToC47qGHhPZbznoF3jdW7srAJN5rlCwk1UrAm9gw9aE2MPrZJgbqkhrJWfYczZjlU6WaUqvvVPlxO6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gjueGYjCU53FZ9A5qWQI+8yduXgDal2Ap+mkNizw0XQ=; b=qsbjEjQGeGnDIqTVhKYpu3QeM6aWYtTYFdjyfBsBTjqFMsdJy+u7qmjFSo3KGnZxkzc8Z9ApkZF/1Vb2gYdDzhLPKLO9Eu9qYSHQhUddlh+AzE0hq/4Fw0yBGaTnBTuE08V63+Vy9XkhRkAS48GAJUxVm2UIaE+Aqwbo8pqVqc+f/lc4hIFuYN/Bdqkd4nOteE9OqP3aFuT4OfjtJ0hlfUujxLh37OB/ipxiUrtNGTCT1xCGrCfkVVd1cK77mnlrM5kb0XPDNE+K9axGeDkOY+h9zQBDkZ3Jb4E1R5n6qlnEMO1RXEggda5sVAtd67LN8t3JhzuIsMtkWGp/I4A2xQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 06/20] hw/arm: exynos4_boards: Store boot info in the board state Date: Thu, 13 Aug 2026 23:48:54 +0800 Message-ID: <20260813154918.996812-7-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 65d3c669-f877-45e2-0335-08def952955b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 2wgefPraHuKW3JxX6zbwptyxYvDeFa4idbe7Oam9zSl1PDtUmwCO9JgwK/V2TOLZbn2iCrjo0mq0p9moPDMZp7YHyI1ShpoFSv7a7km9kXKixr8mVajzIItpXx6dyLIehV9KCuH1BdzFjbTeImTbsv5B20gDNrOLFwwbh5cAOjsWnlnHKFJdsiFlsbIxxVmpAADVUIBag3TPohbP2p6zD+Y/wlN8PRpkBJp8H+LnjV0p5WEh7mwUu5IQbZBjIa89w36gUIqeQo3vTbGVN1mtk6NgCHbFa2M1NExDbs2aAifOSdnQOInvDW83ANvpL1X2wIJwox/UgD1/vT6mkCz2J9zJUzaJ1dZgt6MeJ7FDfrAbBoWxAvbMs7PopgwZmCZEiPMa0S6UOXJKptKAd49XOm6yaDP3g2yDWjX+IgGKU2EEnQQQ9gG0k/Hn7hMJC50DFcSgcWDHoQ1h6to/uXizTlkpR8Ctzijuzf0TC/fGjUcoRm3jEbw9FzUly5+O2gXtPbM1J1cI/JtOVuGLwwnouW6EgbufRkfrMzql4lLUp4Qn3uirYq3UywnLfpB8+dOGgMfi1MckIMPGg8AfYzo03KieXjI0BdN1O/b8ulZGE0xBfS7kzwdjg5nMsiBgxd2zzEO1X2lhoFg5IwjFP+buXQlV0/mi7KS2JKUdUj2qP08= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Lzscu5/CnY9uxMdmCOI6UA5H1Q50cTIv32Lc5PnkK5uWs/W6MmW/6/krK39a?= =?us-ascii?Q?08rPHPgK7bYTxFCoAMwSYc3wQOkjO9B2AKsWr41WCKjzhG5CDBVALqvx1IYw?= =?us-ascii?Q?rSzls7+pw+wXp+x/ykdLK6Mb4uLNcHGkzAk5gI4138gqYJUj9DmcwtpaAOWN?= =?us-ascii?Q?ci8FFCy7tA5A4pedZFBRxwlicp6/BOizTyy7WCzDLYmXF0Ie7uVrENZzRdjn?= =?us-ascii?Q?LyUSlx6nEuoWXM/T1IGsJbGN6XuHu1AncdcdR8Icdtk0tUHmkTwFpCVaVRAQ?= =?us-ascii?Q?tdHJh4RCVYaxH6ia5BlVLCA2o1O697IzNRimCqbz24HsxsO8xFBkCWoHSm3A?= =?us-ascii?Q?BBWEGW17yDcI5+znQDdbbVaXsiasDayO6HdUBL94+aMn6uQY6O2QZkTf6/Mw?= =?us-ascii?Q?OWEtH+J1s4Iea8tpC4abJNj9YuSYy5/1ya2KJfpdoLPTwjv30AuRZeHtlztD?= =?us-ascii?Q?yDZR0em9S+zRnDH5T1HwDy7yitbSYyTSR+rY3NGmmS2lrI9DuzEpRlp/aGs8?= =?us-ascii?Q?cPCL2YrvUHE9NJrVh8moR/OclLXs/LVgTKpY26H8FGEXvhyNjvuNVn3e7QR/?= =?us-ascii?Q?qvNxpA4Wt7RvdWVULUXm1f0nyuWtmvenQ3scrojSFX2ayBe0evv9dON4BXrW?= =?us-ascii?Q?wqv87jwqAh+CNrJQtA5+Ox2Vb01VaJmD5d3sD7WcaWFftSx/LS4fCkd5Vq0S?= =?us-ascii?Q?Ru9JuIF9sJQ0e/XsR2Dj6Sg9wMzxAXK+7XjEZHgAPehSh91uqNay5NqxWyMd?= =?us-ascii?Q?EyOgRdrx+xS4E04gMSGx/WS+Bur+OpkYqpfARI2C5QHDbz5QClSK2CKlz3l+?= =?us-ascii?Q?P3vzPo6G3wK9fqJh9k90oKcSvGm6c9yu+yHP0IkQ2tz2dYmmpe6tHDokTMLr?= =?us-ascii?Q?Okkro+MRLQx7rcgkZKyapTrPHpq78EqmCILXsm6uW2SsPdLY26dN1c4icPjk?= =?us-ascii?Q?OC+WSq60ff4ZBjrRaxDu8WZe4OCnT1wSIAIEpPzNBfQEvAE+ByGB3Qi1gzak?= =?us-ascii?Q?6y/IyrsTs1oZI2E55jepejLgWIcKDlA1CaegETBoxOU9ONAExYiU2a2mZb06?= =?us-ascii?Q?ODzF9zCVLTI6JDBbKrvotOZpNJ49rareSpvaZg9rDlbGU49bjae2YnBM/GgG?= =?us-ascii?Q?1esUYuU9H25hun1YbjLDISY5lXNn02jQtmTp1PTaPPA4gmAxGVBF+BN/Bn1i?= =?us-ascii?Q?jBkq1G9Ib9pm8TOCbX+yFmJjfOLQK8LQL6PUIHDgcOm4AZ3CUjeoagWWEF4Z?= =?us-ascii?Q?l7VfAm79yPZ/2YAftnUesADxAmpqDFwf/qrz+Vi4/bPArNb/AlWZF4xh12Kn?= =?us-ascii?Q?WxuqczPBq5eonGuMRppcpiP/E2XOGwdLz/dduyNi99+NuBTV+aiz0zh8K/hY?= =?us-ascii?Q?Pa78LPJc4B/t/5+Bol92AYJti6wkCk/73X/rbTllBt8GE+lPdCjU2s65/Xvm?= =?us-ascii?Q?IgneQ16g2t+nSdtmPS4TEjntRVDVfLKo4lnOn2UHETuHss3Ooea+pSQgVa2q?= =?us-ascii?Q?CIWf3D/b+oxF55LgH0rIkLGqpeBaUI2hBA7GwkTi/vtN0TK7yyKXwAjtVqb/?= =?us-ascii?Q?uYX/Z/LRMKBz9NOEQzU7eUj87zO9RMaS6SmzJGogfBPKmRwGBAjTuE52njlf?= =?us-ascii?Q?Q5mgfR/qzVm3eGsknY0oXqU5dAUzjJVWtiy52YQ3ZN/UFlvNKCU7sZ7XpYox?= =?us-ascii?Q?hvMeawlbO7mtUxxDJRwOXGqvWDYMR05Ha7YA9Ll3Mv076kmq/6pnSeB1l1Xb?= =?us-ascii?Q?zqPSez1TWC8B3oJPI2/Wu3od8hxCKzo=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65d3c669-f877-45e2-0335-08def952955b X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:22.2592 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7JQ/StG8pJldFL8Ir0iozQ8ER9i7h02C07x7uj6qb//bFpbg6C51dWrAR3RVpSPcB0/UdcMIVa64PqNczYMfgXrTSSFa0er2odgmdxmvqow= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636308987158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. The Exynos4BoardState struct is already allocated per machine instance, so move the boot info there. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/exynos4_boards.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index 1b8c9b618f..3090172e54 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -49,6 +49,7 @@ typedef struct Exynos4BoardState { Exynos4210State soc; MemoryRegion dram0_mem; MemoryRegion dram1_mem; + struct arm_boot_info bootinfo; } Exynos4BoardState; =20 static int exynos4_board_id[EXYNOS4_NUM_OF_BOARDS] =3D { @@ -66,12 +67,6 @@ static unsigned long exynos4_board_ram_size[EXYNOS4_NUM_= OF_BOARDS] =3D { [EXYNOS4_BOARD_SMDKC210] =3D 1 * GiB, }; =20 -static struct arm_boot_info exynos4_board_binfo =3D { - .loader_start =3D EXYNOS4210_BASE_BOOT_ADDR, - .smp_loader_start =3D EXYNOS4210_SMP_BOOT_ADDR, - .write_secondary_boot =3D exynos4210_write_secondary, -}; - static void lan9215_init(uint32_t base, qemu_irq irq) { DeviceState *dev; @@ -115,12 +110,15 @@ exynos4_boards_init_common(MachineState *machine, { Exynos4BoardState *s =3D g_new(Exynos4BoardState, 1); =20 - exynos4_board_binfo.ram_size =3D exynos4_board_ram_size[board_type]; - exynos4_board_binfo.board_id =3D exynos4_board_id[board_type]; - exynos4_board_binfo.smp_bootreg_addr =3D - exynos4_board_smp_bootreg_addr[board_type]; - exynos4_board_binfo.gic_cpu_if_addr =3D - EXYNOS4210_SMP_PRIVATE_BASE_ADDR + 0x100; + s->bootinfo =3D (struct arm_boot_info) { + .loader_start =3D EXYNOS4210_BASE_BOOT_ADDR, + .smp_loader_start =3D EXYNOS4210_SMP_BOOT_ADDR, + .write_secondary_boot =3D exynos4210_write_secondary, + .ram_size =3D exynos4_board_ram_size[board_type], + .board_id =3D exynos4_board_id[board_type], + .smp_bootreg_addr =3D exynos4_board_smp_bootreg_addr[board_type], + .gic_cpu_if_addr =3D EXYNOS4210_SMP_PRIVATE_BASE_ADDR + 0x100, + }; =20 exynos4_boards_init_ram(s, get_system_memory(), exynos4_board_ram_size[board_type]); @@ -137,7 +135,7 @@ static void nuri_init(MachineState *machine) Exynos4BoardState *s =3D exynos4_boards_init_common(machine, EXYNOS4_BOARD_NURI); =20 - arm_load_kernel(s->soc.cpu[0], machine, &exynos4_board_binfo); + arm_load_kernel(s->soc.cpu[0], machine, &s->bootinfo); } =20 static void smdkc210_init(MachineState *machine) @@ -147,7 +145,7 @@ static void smdkc210_init(MachineState *machine) =20 lan9215_init(SMDK_LAN9118_BASE_ADDR, qemu_irq_invert(s->soc.irq_table[exynos4210_get_irq(37, 1)])); - arm_load_kernel(s->soc.cpu[0], machine, &exynos4_board_binfo); + arm_load_kernel(s->soc.cpu[0], machine, &s->bootinfo); } =20 static const char * const valid_cpu_types[] =3D { --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636356; cv=pass; d=zohomail.com; s=zohoarc; b=A3zzKggFVwZ9ZPnxCsgGaEDUzbvQ/Gwz0yUcmv+g8/PLzvbfixL+ZsQaMq/8gSa6xWIvt9MqDQc4SevjLMDYX/drgHJu2Ieula8s9j0VEZ1NJX8eQiEkoc0T9ohD67XW7DaZK+Zd+dE2fdrOg/ITdlpyHx4nmCc9N1hyino2VBA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636356; 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=KLHBjZ7VjmMIGrOCz2xXzQaj47Zv4Hp/lcFm0AE597Q=; b=Fj+rc0RuwodpgyxvIUTAa+3wgGrne8hk9Ty2SncPE4M1OtGV3QvTZC1EQa3BogDInh5BYtm0FgXKspJ7nR/2Kq2KUKD7y47qAdM3HE9Ok606SzRc7AXm636Y+7y0OkkKmssU1vM5UICSKVnRDV3VrBb+jsaN5a829byvoKK/Gqc= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636356079957.0682105314951; Thu, 13 Aug 2026 08:52:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhV-0008Gb-Vj; Thu, 13 Aug 2026 11:50:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhT-0008GH-GV; Thu, 13 Aug 2026 11:50:35 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhO-0001rl-RW; Thu, 13 Aug 2026 11:50:32 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:26 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jFBAExnjduaBh5fR+BhaYUTR0KPFBvJtX8mdaiHLj7COiq/JDt0vfKnRLZfBkfI4WiOvGre94KrIJBbReWzIVmAcJDf3PB91pZsToab6cdVJYuVbcNWAkb7T/0ShxpENDwX7zlpLrXgho/qhZzFzNQ+ycOWywt6/iqemptZQfYho5nWGwvRxA/T3JbyobXT74Ve0xrNQqNQeGLQCJs7IylHmHgOzBoz+wVPd6Yq+hlWSF+g2JhcV9+b+7V98HqT3LDdRfxFK5C/pWPpCtOBHOTi1+MWwlmONgUsJr1b5StuQnIh6yUIPBYpDTH5/nLd157OAeGCF35XwFhveGmjbvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KLHBjZ7VjmMIGrOCz2xXzQaj47Zv4Hp/lcFm0AE597Q=; b=QOFYqm/Ha3LY8RKJig7E+kkwjVtjO0IOX3puLmNR+hdDC0Dr6Uk3iXNauou/Pp7QGHqYy8aCnL0Kit9RijyFJqemoSsqwUJF8kHslEnMcaSeRKkDxnSOd9QmaKLFVqEbKhtHtJ/RJcRG3I1OcI0VgpVpvOYx8GFBUmzK33tJpCRtbby0vUbieKL9kWvXT2S/gk5OzOeA2G2UFaHaiJB+vJNJlNeQtHA3FzD3oXU9cwcl9BkVdFeqKmxUT3U4UfK8Zci/M1X96IW6wQPbtkaS8MgFS9G2CsNV7PjT7Fxg+SMQzruR3ro7Hh+affvbLRAfzWr7M9OAzwxtxfRd2Ipcuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KLHBjZ7VjmMIGrOCz2xXzQaj47Zv4Hp/lcFm0AE597Q=; b=NXoyEhA5h/ITaygYgUHZYpdcVfjF+r/iLPmqWdHoaClfooZkYeraflPHviP+doq0MaaruH5229otmixqfjYqv+DJDBKYePFkLCX9s0cP/6eMOq3Tfv9CV/pvMW/Hz+591LfuM01J0PJU9apwGjpMtih1cGrb1ZOnX/7bWGUasdTLZv2xZ0ZIG1LakYr6n/i+3mpzhjaCX3iYkVeOTEKyKZi9aoKyN+Jv64hpyDM4ctwQyPtC7DWvgGo6LbqiQljwHrAdhGPxP8VIxxSE1F8wLTVwi6/HADpzqoYZBhFF8dJuu5ZVbtxsxTptldsQV2prul8V1wWeGkWU0cksyrEHuQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Jean-Christophe Dubois , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 07/20] hw/arm: imx25_pdk: Store boot info in the board state Date: Thu, 13 Aug 2026 23:48:55 +0800 Message-ID: <20260813154918.996812-8-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: e00e72fa-b441-4010-2438-08def952980b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: Ra7jt7XZsyofI2Imtzi4dP33PJLiKuWX3/hJMZ5+/WCxbNhmsxHnudmjH54mxZA2oc9tz59Vl6GuabxmnzF7fPYryfDzjwsZRw+LuolEhqsV/f1L3u2bPNy/vfDU22Oa9fqvhziD/nL3dZPccNSv0NlJy3gwLaZwJG/Y5lnEq8s1ijehQzUK5NFr/o0mllNQAm+vHB46C5faTd2HLCmnNM9pi/LfXSdM70pUZAyFOAPl4UWmMKsb7Q/CL2gRZqGKYenuOIhDsfIimWPGA9gMKOTsASGPtdEuVep7wvcxBLFI4Yz8At50EA1uOjFJK+aBlCOWxUCNlo49Pd1iF/qVtT2uX4xwrfTC3GcazyVqKBqdjgYJ+R1/xICX/Z/R33TfmPl90DK7DWR7x3/77j/pr4gKQ43lK0kf0nYzCjB0WsLLDRDQJLN3LC948xgtwS2b2VNtrkxAMnI0StMhMXK3ie9mNlLTU/hoXrJ01Dy3awJy5evVwsxPomoqxgYeTUXS90YKNKQH6IzaS9+kfCv2FjlE8qPF9Nyl20846L9vOn5PPFmjiy3EOH+c/sRya9rBYSP1Ws/r75ZTHW5QoJuD1z6+hVTm2Qilsv6dA9yC0MII9eYm+V/3rNygjcWIa1Px0n+G2cHcINHD0G6tIJxGddjljzKClamSZZj6s4fszV0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zrWlJNRugLoPiLaL3yfKOqelMzJLzXSe3jCSOWJBltgqIzlvq8u20ECv9s21?= =?us-ascii?Q?PPpXJLwmR9vLpckKZkGumtzIQgj3I4JABuTxkmekg1XduXZaK6S0bGBigEBY?= =?us-ascii?Q?6ft4CHNOdpHsmwytg8rf7IaHiuQy4cMZtbG4tDRIVKTohY2FbBo/+OUwnY9X?= =?us-ascii?Q?2KEU1TFBTiG3haF2XGn8ofwvYEfHhW1WWQ7kSI96fFqS7oNZ7g5Xj1rmwK+l?= =?us-ascii?Q?b58NIX3vIFaH8D1UW5YP15kgLEkKsV9xKoH9S+bmsnJcAUjjZsAj1CjsHe7I?= =?us-ascii?Q?IT3+ozT8V1qFXlRFSTz9uMSXScV+kKdT0QXAgo9IEBpUDd6+bn0k3+5h9Sc6?= =?us-ascii?Q?d28Zwc9XyvTWHKGBMnHRFdVZVOS5BroLECQXBuFWCQJTVBU69FrBTsSu7WR+?= =?us-ascii?Q?M51SykdapPt7bUwBEl3b6iKpWOpJSjI8gwXzs6QvVj3LkoMbhCihQSG/9uuW?= =?us-ascii?Q?G78GkqAHkWotr5eHp+eXkZnfT5crQ5VRsZu0y9oexTDlIqYGV56dofyO8zZ1?= =?us-ascii?Q?Y+dljygpKyeUEhT9J8+Eg49BYIJ0ZqGFaEBfom14DFcnLiOB1tZdQnyQLCpo?= =?us-ascii?Q?xk3vuweXM0nzlz5I2bQLfA3Zk08ceSdqdM2wWMoRB93Q41GYp0X/rvtyJbqz?= =?us-ascii?Q?cyynUke1C6GszWuAPeYXN3nO4e8HhziQFJhHVKP5VIZVSQJHE8FtYTfDfJfm?= =?us-ascii?Q?fTIydsCJA8KV8llhMlspn0j2mTciGZt2HfGkJLqGYpgJSJNvkY0Kbxw2NJ4z?= =?us-ascii?Q?+prqBwAR6SBPIpKcfa68MuZxrghvGFLwRFQ3LAShgMA9tlCenitfSbEgcjby?= =?us-ascii?Q?uSuOO4K75NbdWmskYiHoVFilDJlSm1mk4fas4t9B7n/CYDg4TOW9cyK4EWbU?= =?us-ascii?Q?jysn0z4tuoLtQPuCrJK7rJyhzBuj/WivSUyyCfwhvQApBOA5rf7MaAilqNE2?= =?us-ascii?Q?/dtQhmbYuYWyC1r6x/owsPe/xO2HQv3vrAArdP3X47iQsi5FxB4YeIhfzdmo?= =?us-ascii?Q?JvVWibEQsaUOV4La1gscAcTDwFMgOHhk5QPglwzl+d37ABkNdUJGrKXIrsp6?= =?us-ascii?Q?FcrDPR6NUUPD2iGVNpCRZCNUFDwmo0zHW0YQdLEqmxFu2kLr0FahGg4Qe9Cp?= =?us-ascii?Q?OSg54gJ+jYg2gNY5F0jvnNndVqhOlDGXxbgfmB5lM+XFX8rmNjZwHVWEM2Vj?= =?us-ascii?Q?GUyPoAYnelNcfCZNC0F9f072OfA5XqDCdA+ONi1/mDtlBFY5F/L55vB4hzV+?= =?us-ascii?Q?bfgrz7/bF3fTlJSrNeiuwbsI9JjnZWGW4MvoI0zGc8rvnvViCeqF53Cn+eam?= =?us-ascii?Q?nsrjwCh3svnwLTONZ+fMsanLkNEJOyq8IvE1j3wvfeYfIJMheKxuQyTK6kdj?= =?us-ascii?Q?QxrdJd15ofPVkJDfOXUQXGstrZQxdg3yacI2+v0+orzmHESI4QKM5o6xLQKg?= =?us-ascii?Q?fdUHTM6Slwl19ekxy32WMXomUVPWZ1uvsX4l65ya2AyDpR2smF+re7PNtDKL?= =?us-ascii?Q?lB2nsSdB3+xV9PsU8UNj9x33TLOaJxZ1NsbkyL9HjRQrEcalw6f28qSLfvLl?= =?us-ascii?Q?isDKhwrpw/RQmOaFL1GsiojBTNzcafpEokHLBm18wiPa0PehoCfRtPbk67UW?= =?us-ascii?Q?EBxWHkecAGQsWMi9rlQK2XbIaZLz5MvMYB6r2LHvJzN3Wa4xWV56hL9O0dCR?= =?us-ascii?Q?ALoRH950QLwrJ/tCRO9/QQZnOpCdXJB3JiV8xIWWE2tbtsfrJVCqjJUYujH8?= =?us-ascii?Q?NNALr//mLb7T0ahIW5zI4dni4w8e/rk=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: e00e72fa-b441-4010-2438-08def952980b X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:26.7542 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TziZANaaMhuTXqZ1vMwxWsGylOpGIrwLQe5NTq30raYGAKwSXEYzvU8C2Caz4vKynArdvBr/D0oDfcLfWshaCAzvAlrvdDLGfh0Ht+rk5yY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636356998158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. The IMX25PDK struct is already allocated per machine instance, so move the boot info there. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/imx25_pdk.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c index 7ebd6c8eb9..f7a51481af 100644 --- a/hw/arm/imx25_pdk.c +++ b/hw/arm/imx25_pdk.c @@ -61,10 +61,9 @@ typedef struct IMX25PDK { FslIMX25State soc; MemoryRegion ram_alias; + struct arm_boot_info bootinfo; } IMX25PDK; =20 -static struct arm_boot_info imx25_pdk_binfo; - static void imx25_pdk_init(MachineState *machine) { IMX25PDK *s =3D g_new0(IMX25PDK, 1); @@ -114,9 +113,9 @@ static void imx25_pdk_init(MachineState *machine) alias_offset +=3D ram[i].size; } =20 - imx25_pdk_binfo.ram_size =3D machine->ram_size; - imx25_pdk_binfo.loader_start =3D FSL_IMX25_SDRAM0_ADDR; - imx25_pdk_binfo.board_id =3D 1771; + s->bootinfo.ram_size =3D machine->ram_size; + s->bootinfo.loader_start =3D FSL_IMX25_SDRAM0_ADDR; + s->bootinfo.board_id =3D 1771; =20 for (i =3D 0; i < FSL_IMX25_NUM_ESDHCS; i++) { BusState *bus; @@ -138,7 +137,7 @@ static void imx25_pdk_init(MachineState *machine) * fail. */ if (!qtest_enabled()) { - arm_load_kernel(&s->soc.cpu, machine, &imx25_pdk_binfo); + arm_load_kernel(&s->soc.cpu, machine, &s->bootinfo); } } =20 --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636485; cv=pass; d=zohomail.com; s=zohoarc; b=N3jK9maTcksLI3LvQnRZ3DXKcojtaYAmpIHaRZMacrJ/suNi8fgnPTOT1EDdoI/nLjt9IMK+PDNLE/fEsWWgOklDekuh3Ge2VN3AeG3225ZwxKwIkSOS6oemO5rOL4+R7emfpH0jjC+souAmWzMa/xi70Yw6yapPVZ7gZ+o3GPg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636485; 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=69+/qvXgw+ev8PHydR3sI6ZXDYC0WgmYP8scvizzU/s=; b=oKnbrYE+eY2bg12HM3Fg3l0GOBDR6oZfH00TCWqEaw83wEd7/HUY/xW6gVwK4AF0D/vlwY5wW1p1EiDqD1T3VirIaAaTfJuI91cXInt19ul4h6HLRcnMNCrx4Z0Y9zqXIlZOI6oqGdJBamAXeP5H0BAzakYeLiedSrE/XGR9slI= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178663648536587.12052433378017; Thu, 13 Aug 2026 08:54:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhb-0008IH-60; Thu, 13 Aug 2026 11:50:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhZ-0008I4-Js; Thu, 13 Aug 2026 11:50:41 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhW-0001rl-JF; Thu, 13 Aug 2026 11:50:41 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:30 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DDytenMuPFe2lgTRWvZeYpBRMFG4rqK4ISW7H2p1bF9Leh9Me6h/3ev2cjzUsuoLZxWxzYigsC2wmUqJRCLClJwGEyMNI5MxVhRBdFBEDIxhVZ5ndhA56STXTsyk6JX8FnmG+t2DxpwBaGFF3m9vq/8/P7bPQMiVEnO++RWRfLB48+XslN7Utq5CJzlIQyGOITp/2wvPHvWr/Lx5JtcWLnSPGUz63Wlc/Df2sg6zsoiMdqMrKBzP4Hz5zrNtkvjWWafOXFBanqSOdPXlzK0CqUFLosJn8ofJmCLDOHH5zQLVhJxjC5K7aMsuQ7E8jrT3VX5YeFgQdTiV+C85mmMWWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=69+/qvXgw+ev8PHydR3sI6ZXDYC0WgmYP8scvizzU/s=; b=RFsLrq9G03M6d/4NrZeA15Fkhg8Ozv4YF9p5h+oEeNpMnJgkWeF7w7DL7AGUUzCzCxAryeodmrd/7xwnbIJ2VVquYFdSsSEtY491TwiaXfNG0SeQXEOiVCDXWX6yJph0VaFbATP+VpR5bVtnOk4oTP+my1S6K5WskxSo8AE7rRntS4wbRv7MrU5D5KTbkF2RRgKZ6z43dDNJGXp8BPgBu0NnZfqU0MLXePEBZ287ijyKmWwRlzSUVbE2wggtfYrbS2fBASWEX7VApAhQSGBp9uzx4ULsJRsICjx0nQGlBHHlHaMQLUw5UwsP2iUuvedbJoITZjPhopAHgDRH62T/AA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=69+/qvXgw+ev8PHydR3sI6ZXDYC0WgmYP8scvizzU/s=; b=moJkRO54WoVSndLGaR/9VXX12cUIrhDDQZ/z3X7U+rl8s/oi28dnS2THWaclJfFihj5tmwH9x07UOynfmudMURlt0WRDRT97+ZWP2XCj1nrHyiyshG1JgopXo2wYAQM2eMr77ofHCTfC6/ucMYwf9RPfRJu3v7Tr9Y2EezayvhANlmix/c1F/Do13jTytsi5fNRv56kypQ5lCLTlbfK0iBT0W59MFTzke5qPJtLzn0AlOJJg9x53nqLqM8/lgCRjk75PaQF9HXvePw0o1RmVmJbOWl2mm+OEdCOm9UhEAcOkFqJ3uk2LncRRmy60XraRLNOKl4IwtWQQe+57MbLeXg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Gaurav Sharma , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 08/20] hw/arm: imx8mm-evk: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:56 +0800 Message-ID: <20260813154918.996812-9-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 68eed20d-2dc6-40ce-2c86-08def9529a75 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: jK6rNDtRfMHf76GW02WHB88LzReJLJlczOELj+Nj80tjpT6QCBRW7VYr+UHaHj+bA7cBG694gd6qmXXw+BhV/DtEhTlBTv63kuUsnbzwvDlZ1HMRwEbc7ErUmv3ly4sDy22DdjK0ylCx5nj4RsAW1Z0nAVeWD47baysaGuyAPG+FaMWpgcj7FQU1ZigPOk66J984uaXnyaX06weL1EYTUOBEDP4ANHpbrvSLVaxIp731S3+pzZdIL95Uc8bIXqqVrjb6Wk/5XuIPe60EgANT9W5CPaqkpGsrGXel1A9JJA6yYGClhO7/H376kzWcVn7CM5N+vGhamTbTQYGYTf9X75koMWl4s/TL6kiu6mxQVERmt8XtI5GxABrHBHUqDz26Aox0OF7QhL3yEtWZhcuu3c4pNwK2jIxqL+OoQVLPZa45cTTaOgV5Uq1tr4v+DOyBgY61enL2MohGuokuWt7h82VPQuJ8P+GJ+au7dx0kKgLYOIKprBFRXK38G3Hv5NlTb4oiY4mlpC6tp/+ojKg+rfs0yuj57SRuKSPVRhM4efmP3Lmg2uO2happWor4w0dH+3cmrL/Qfvs/EDiyjN+SpsO0UTdTgqmofrOZFW0Wf5qwpDbHxUMv6aWjhKKKk6k7b0qe6OhfXm0cUlpm4e6K/bsDwDG3YMch2z4hoLrZvgM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lJnxZ/uFhQ5cVkSlEv88RYrX8btUUp0dZ7wth4CiO4UhXC/QgQ4etgtj8k87?= =?us-ascii?Q?OlV9Q/yBJ4qreY6Osz4o6gPOk21xCRjKQGv/04tZfB8ZF7Z6GVnFPv1VpxKu?= =?us-ascii?Q?lGNgM7LyFQgi0RpeVRxk29Ui6c2iCFxUtoBombSebluw55Y6syXtWI6gyjhJ?= =?us-ascii?Q?Tmm5JHTpSCUzTYagpemzPC2LwWca8CTm++xJRFYTNR8l43hJt6yBUdjLEC1d?= =?us-ascii?Q?oDlbALBLAmBkqwM4KsQqrXYUaB2BJAHLAzn+myPC3E2xAQwdP9H79tIwk26e?= =?us-ascii?Q?0a/z+sepqylyruQTsWqVy1pK/yfAuZrJMUdSzrzNB+2vmgN2OFqPQFFMFxkj?= =?us-ascii?Q?+cMm3CmLYqGbNwVkbU//a48FR3agEebc68JS7joNCDOh8GRIjbtxQSPqxcMj?= =?us-ascii?Q?U33Q/VtTgOIopMwGbBrrZa+LG0H79ouKfYqWUKzhShBgUdYgpTNiBEunYgFC?= =?us-ascii?Q?3B/CmwQ0zSXBlhITq6Nc5aG+yvKM8PTpIpvY/sWNDBVKSvpCg1QrYYWnFcfD?= =?us-ascii?Q?El1CTy6Pjr5sRRMKhgt/cOlJa3FtLheqEBN2/ZrlhUjVc1bRzushtdjzOP9o?= =?us-ascii?Q?Ac+pSuCkzKeDbXcoiMi6T4+74Gr5YebBoH9wgfuhg2K9BUFVHyxYFKiEW04z?= =?us-ascii?Q?ZulQ43diO0Clp+9P2J/9xREZxSK9PZUS6XEdv+d56qSHE+fM+BIJ7zOfKKR+?= =?us-ascii?Q?5NfW5m5IlDg0bkDPBBYkLxlDlZorM+eAnxkXTCYjP6JU0keeOgGwDcKeZ3Sa?= =?us-ascii?Q?K/RiB2I+7N1CXUnd1hvt3lYTFEEVMMj42yis6ce07VvoWp8jtvYCGbVwBXx0?= =?us-ascii?Q?TK+yj8pv74I+C/RsuNAUr8Ry1Xcl7NuszzeEVgQISn8rN1lEjo0S1Q1X6lmK?= =?us-ascii?Q?XIo+kQOWXMvR0y36u7X8ZlZZsqva3ADu98hhzCaywsrjVd053UH0ydaSzpbF?= =?us-ascii?Q?0QjQi3lOapeMnAzfkcOuac8skF0PwXXjXO6u77NSxAWUdFs5+XdgM5GD3daZ?= =?us-ascii?Q?T7+61bw7oIGhxiPWXZvLyEGsZvli4wqety+z+7uMAhMsA+d7xeDPValyXqhK?= =?us-ascii?Q?wJbzO7DuChLSUAKqDeAOJ+4wl8RgbeQfmjp88LfxjN9/ntEk+IZl9dwZ6GEJ?= =?us-ascii?Q?4s4tR+Z3r3wYUXSs60y94zKtIWtPcE+ZDkqgwXbxwQKnVjRa5dfFth0IGZk+?= =?us-ascii?Q?iQttxevBozzAmmnL/cryT0dBznMcxGFDQ3DgAdSbpzZH6TNHEAXxg1Gk+MfJ?= =?us-ascii?Q?jrZabz7di1iUQtPmJsyehKkujnPJo9+8mlYkK/cbXXg9Eydi8An/XXTAa2Al?= =?us-ascii?Q?RRb7Sttfo3SGqSLgAbRRxI5X7qlIlDgGlX2AYyv9rLwiBOANznQKgZjPqjrG?= =?us-ascii?Q?jkbHTC6eq8y3tjbK4DCTlL5aIXfC/5YrJBWr1i4QCzRYou9b7ShSIAZM4pBN?= =?us-ascii?Q?XpHfndWYJ7DsniayXi+sDpne4QXxJd3xLntIQCfUAy3r8LZU4G6guN3AkObf?= =?us-ascii?Q?9QjXQuhW5swmsGUqSpZU2526sak4Wgmd0W2TuO1pvJYE4JNYy5b2vaGl4Q0K?= =?us-ascii?Q?P7a1qvtwViFuv87O32sVfvgi54AlArNYd6eXqBOu/RkCcNCHj3JeS7oUH+dG?= =?us-ascii?Q?StVkTl1W3k+HNYq/BoW22mnYhxHqX9zfvK4mG8JL5ioDrKszt3ENMoBDV2Bn?= =?us-ascii?Q?dZlA3pUA3I25wMCySph31wOQxFMh0YPuPNpGuFoOacMaG+kMIpV+MRTIVDe0?= =?us-ascii?Q?kH2aZYKu+JFGPDq9pUEnDDh4Ge80ukM=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68eed20d-2dc6-40ce-2c86-08def9529a75 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:30.8218 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5M67CU18IDxLs30a2nMjiCOhiYApM4CKRldPT1XyaClEnNADowUH/L1iIar9w1MXEedKqfpXig2Ny6mmtjm/+0/3JNo2RcPMAJZh9/ZykSI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636485726158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a function scoped static object. Move it into a new Imx8mmEvkMachineState and register the machine type explicitly instead of through the DEFINE_MACHINE_AARCH64 macro. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/imx8mm-evk.c | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/hw/arm/imx8mm-evk.c b/hw/arm/imx8mm-evk.c index 6b7774d3e2..cbab8e4307 100644 --- a/hw/arm/imx8mm-evk.c +++ b/hw/arm/imx8mm-evk.c @@ -20,6 +20,15 @@ #include "qapi/error.h" #include =20 +#define TYPE_IMX8MM_EVK_MACHINE MACHINE_TYPE_NAME("imx8mm-evk") +OBJECT_DECLARE_SIMPLE_TYPE(Imx8mmEvkMachineState, IMX8MM_EVK_MACHINE) + +struct Imx8mmEvkMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; +}; + static void imx8mm_evk_modify_dtb(const struct arm_boot_info *info, void *= fdt) { int i, offset; @@ -60,7 +69,7 @@ static void imx8mm_evk_modify_dtb(const struct arm_boot_i= nfo *info, void *fdt) =20 static void imx8mm_evk_init(MachineState *machine) { - static struct arm_boot_info boot_info; + Imx8mmEvkMachineState *ims =3D IMX8MM_EVK_MACHINE(machine); FslImx8mmState *s; =20 if (machine->ram_size > FSL_IMX8MM_RAM_SIZE_MAX) { @@ -69,7 +78,7 @@ static void imx8mm_evk_init(MachineState *machine) exit(1); } =20 - boot_info =3D (struct arm_boot_info) { + ims->bootinfo =3D (struct arm_boot_info) { .loader_start =3D FSL_IMX8MM_RAM_START, .board_id =3D -1, .ram_size =3D machine->ram_size, @@ -103,7 +112,7 @@ static void imx8mm_evk_init(MachineState *machine) } =20 if (!qtest_enabled()) { - arm_load_kernel(&s->cpu[0], machine, &boot_info); + arm_load_kernel(&s->cpu[0], machine, &ims->bootinfo); } } =20 @@ -116,8 +125,10 @@ static const char *imx8mm_evk_get_default_cpu_type(con= st MachineState *ms) return ARM_CPU_TYPE_NAME("cortex-a53"); } =20 -static void imx8mm_evk_machine_init(MachineClass *mc) +static void imx8mm_evk_machine_class_init(ObjectClass *oc, const void *dat= a) { + MachineClass *mc =3D MACHINE_CLASS(oc); + mc->desc =3D "NXP i.MX 8MM EVK Board"; mc->init =3D imx8mm_evk_init; mc->max_cpus =3D FSL_IMX8MM_NUM_CPUS; @@ -127,4 +138,17 @@ static void imx8mm_evk_machine_init(MachineClass *mc) mc->get_default_cpu_type =3D imx8mm_evk_get_default_cpu_type; } =20 -DEFINE_MACHINE_AARCH64("imx8mm-evk", imx8mm_evk_machine_init) +static const TypeInfo imx8mm_evk_machine_typeinfo =3D { + .name =3D TYPE_IMX8MM_EVK_MACHINE, + .parent =3D TYPE_MACHINE, + .class_init =3D imx8mm_evk_machine_class_init, + .instance_size =3D sizeof(Imx8mmEvkMachineState), + .interfaces =3D aarch64_machine_interfaces, +}; + +static void imx8mm_evk_machine_register_types(void) +{ + type_register_static(&imx8mm_evk_machine_typeinfo); +} + +type_init(imx8mm_evk_machine_register_types) --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636341; cv=pass; d=zohomail.com; s=zohoarc; b=eZvmDvUP94Avz9ao9VRS8B9+6n/X24ko00pxS787Ic0DoPfjEhggauW2PAdbsXuFXHv+q21/5pvRXyBEssuhPWRnizggVC7cvcGxvlXM/Gr8jKeNUYHE3TQfySGrEAIEfZuL9vren7dpCN0x6lBPTDSzKfowILAI2R3R8jzzuH8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636341; 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=l/aaOpDiRsntS0GvAL9E0vjd87BK6XN42uDQnweXkCk=; b=O98ZWHUuuml8H5r5kduSfk9t59cnV1Rc2vgJkVQGft+sQJ1WRqYdUf4Yc6rJh42Wun0EwxhSz5QraRHdI5zn7K9L6kJ7JF2Ia16a6S1KdxyrUn8JtKzWND07nLrtTlb7BEHkqzkb0/xWn06RiNiNS1LpGmvccfekVcZvFb+7UTY= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636341113276.7099772915129; Thu, 13 Aug 2026 08:52:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhd-0008J3-Ki; Thu, 13 Aug 2026 11:50:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhc-0008Ip-3j; Thu, 13 Aug 2026 11:50:44 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXha-0001rl-HG; Thu, 13 Aug 2026 11:50:43 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:34 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=U4XY88uNJNh8AESENKSxR0kovT4GDeZJ0O5uabZp6UVfT58NaMUWN+0+cJBAuW8DW70Q+7JX7pqQrsn3C+KRap1g0LlVn4Jm2xzL/JPvkYulwTVXfArrXn+toh7BdLZ/Sp2M6tNVsCkxsylKuXN4XDisefjIRG0rLquOpwKjYBpVcFOen0mTJec6pZANKQtS94S4U1oCF+3dK3z/cPN8D/MXiIRpojUol02ECqeDqarbdlXbAPMSizQPAhHi31BnmROUdt5XbqJ7c1+rYynxwF2C98Soie+6PfH7czeVmT+1c7Ys4WUy2SgPFWTtnlnjJPuvM/JE6UR632ZsTL3QBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=l/aaOpDiRsntS0GvAL9E0vjd87BK6XN42uDQnweXkCk=; b=qeOgJr5ZS4VAYzqO2v/GGPrJmGI5YXy47dv14XpoyUZ8OnG4UOtVmykXB5lFJG248/AJkyFYKQqgleZe0muzdn1bppVNu2eayR7VSZkzH9VsRN14Uhv3hJ7ihng5L8RpR3AuCx/Lo7xqFj/VxKLTMyc3khtKZQh8PkCxyhp0kWDOHipBT5u7MIuCs6UjvDuSYFfMWkVQJWrdYysSwsDr0vuGA+AY485J0QZAKPEH7pu+lQmJF2EMte9sDX7YRGzVhOaK3KTTBkNggSWNZAOaVFqEonJl1TApJJOmSIT4O9tgHGuljIUHWkOS08e0gUcvlU5Gy9Y2kfx8sFUnMiyOaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l/aaOpDiRsntS0GvAL9E0vjd87BK6XN42uDQnweXkCk=; b=U8NC6ciDqLHn+j6w3nB54EcdBXdSXgOltghBS9/0sqHQVSCm6AaeVgBJbkY6CwVhRyZwNUC8YUAjs0VWOSWd71JXrUMGhI7dZ7FJeGnGdtOA/C5hjxdjTJW1DcB2LqjeCLnvNchWp2MLF/hZAQ8n513eXZQMaNBWaNPFPQSYtwjZabSL69nWpYx82Cvp8YDbmGe/mm+bnehHTQyHuy2dEO+BFozdmBvMQ3iMwYngpyg9DyrKDSh3p4vV0g0unNBzeetn/Rk/2OYB9vnsLp7NJqwclBRzsDwrF8ErQjslgl8SET2+RYJm6vJd5XZnnqvdOIfKdc556saKRROus8Ldlg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 09/20] hw/arm: integratorcp: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:57 +0800 Message-ID: <20260813154918.996812-10-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 8bc5d363-5f9a-4b22-8b9c-08def9529c94 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: e349CF5Y28pE2HB8fYk9XF1Q7gJqzr9oARX6JPEgz5YnU+Bvk9WvESB6pNISYd2ZVm4dHB+2WCVr8tgyTiJSZpIbXT7/Yci0MhswMj80MX5THogqsdXwOsjaiJnOuVxeQJU/1cO8VXazqaRfCaNuU/DlUBqookUpk7jGeBWp/VuzEmrl5ef6t5d+Hv2kdZObzLbDzh9afn4Xr8VYap77qaw4akgWNPDtvWeel6kflbD209mIEdkHtKU8FOVnrowJNooGvHUe7lzG+gcVc4lNs405CNIlFpKvc8P/F0ft/L1Zv50H7p6g7vgfGmgWhKzY0AdB8BMk2sqsP/+1ckarLnESpx4YjanA8QYElssCf/HZup8VL4d6JtWRguVlBKDfZwtnk3XJlmo00K1Gk+EY+0Qx/uF/fLezwATHS0GF3MxUGfYD64cPFjoT3cwQZwCV1RAOq5gt+lLGYO8ur6Re37/a/SNp7ppfYaXSm+l3QbryEjhb6sj5CjSSSB02k4fNwtM2S3dKHMYTIPhzXXsTU5AY3LISwG28FgaSY9vTuP8PHOqGvfjYT9xcpbL9X+eoIugYaJlI9OYHcEbuNQ51jdCddzQupZ4ff7eXHspBoF6UQeClN99xkTCPr57QIIJKZqhBdUqwvahl8L3ff4vthJcDGJrgSYAAPWICTwLoFIc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?E8dXlJBNiKoyulPdf0Nyy+yie1VCh93A0i6r59lbmzN/hThI3PugaiKm7fzE?= =?us-ascii?Q?edrRHI8aQyzMEG+WrJEXupvLZVyLD2fxSKAkasTFVY3rpdRFi5lr9HwUpnpG?= =?us-ascii?Q?NyALemwtt4R8Wyo8jBw7m8q4nQoGWDk9agh3wE1h/IfC5EvlQkGegLEteUMh?= =?us-ascii?Q?blN+q9MlPQOgOjl724XaL04gX4hhqTg7/jGZGg+KHE5I4271FiWuWlOy583Z?= =?us-ascii?Q?0BRzAnVqRmyE/AofF4LQdu9TB/evxKyxfLCt5XbnLa2UEHzS4h3MfmM6Pcc2?= =?us-ascii?Q?LQ55Zaxkkh2OP8063+hYvEEkEu47SnLLQKmVXCKGFGpQZE8sKNgbbF+bM2wd?= =?us-ascii?Q?krzypjnKBRY4Bxi5Xg7kJBDvXS/GC+HBen2QX6TsS+0bV6D0yOYnvQRSrXS5?= =?us-ascii?Q?C93hdgwD4d/9OtRWO9yanv1JHhA8q52+WRCAx8Y8UkDDRc94L4YLr6C2nYbc?= =?us-ascii?Q?48ceQCUngfYrxRfM8L3f8/FgC9wa0Wj6KPKnS5VhoL8dfCD/kqv4697ObZyq?= =?us-ascii?Q?aeppHbYeTVzLxhF7DqEh/Dk+pwChBOCvwgrQnWnSxSzQ1+XuLewGAhUtCgmu?= =?us-ascii?Q?VA7h9N7bcOQgko/MPRsoC+iVFgwG8R2H9AF2ZvrR+IBxAu8SjHvuRwT8DZk2?= =?us-ascii?Q?hmrXDGAK5yrtjOG4h8dvdPBMbphlkJFbXb/as3klOggMFKjtEeTZakVSCpF4?= =?us-ascii?Q?ES1iqhERlfA3dbtfrVgFm4dD7Xqr/kNdFen4Ccz7OiamHx3uoNmib4PRfiiM?= =?us-ascii?Q?O5DkmRI0ImMTXZ99egAjszGLVXJT/G9kJfsILuqXjsNPDB50e9cqr8I09uZ4?= =?us-ascii?Q?Fl/Hb6rb0T+U41zL2eXNqR2bMbKDhJ4pbt0WVX4rFB+CNtkUBJJdxrA28PQR?= =?us-ascii?Q?c7nEAMa6ChcOfKyR8f1yDCEkUn3VeZjJF+2gQjV54ICX/czzdd+noEt6BP+N?= =?us-ascii?Q?dcuJp9CL3kU/3Job/HzAnpP3hUQA79Iibhx7LzydcjTdKJp2OpXNi6j2V8Oz?= =?us-ascii?Q?n6lQ1CbzzC7R5D9x8+HXjR0Sw5LdaXKHb1bYuwGQvFb1hwIsqXSAYs5xF5b3?= =?us-ascii?Q?9cI3TDGBKOFVW41+F+sRRA7njHScMvTx0LMZBBd9+DZtsm0Pr1Y5NsAvbw4e?= =?us-ascii?Q?JLWc34uFCzhm5KBnLWwPHRyS+LyIZ3hltQFAt8o2s9qHuwgpl4Km6yIO78iX?= =?us-ascii?Q?foZINuMxtFQLmo/Dahggic1vFvmCTS+/1/i/Vcux/GvZMZDbOH4ThzL4eEdS?= =?us-ascii?Q?r9OjcD0t+q9e2cy0OyII23wbsRmdS9VBTqE88UN2qD9hVwfpUMzi4EkLwlb0?= =?us-ascii?Q?AKE8ytn8FKzxeOKIEfY8ueX7y7PJ92WZh7TETxp3YQuAreuR6SUD2/qv/vn9?= =?us-ascii?Q?rU8gbBcpgR7Z/BTbrRiGtaloVhmPe2jlEd7mut7lyPIxkTqFAXvIWjB4zRj1?= =?us-ascii?Q?LjyUydYbiv0CmynUcyikZv3tET/k++8KUfa9QwDVNAHzvtrAE6EGF21hFNRf?= =?us-ascii?Q?Y2oSdTJ77NMtR90G/11kBV4ezwQ4h/i7yT/l+bEgQK4hZTnUTICe7OJ4YcJ5?= =?us-ascii?Q?OnlL/JtyaYjy8OjHQw5OVFz+sM2VSyA2BF0jdbvAVboYm+Ue9B3JbpDgoQQ5?= =?us-ascii?Q?yWwWz0J1OB2GnTqDEnO9l5lQHdsiCieJnSVNDtvLAnTosKoLP5tq/GwVvhFP?= =?us-ascii?Q?aowMzTYFkWmgyNncnx0x5uuw/d7rSI5XKAnAXA1IaW2icUL8+N5mIUIZb1qu?= =?us-ascii?Q?t+BQao56H0e3tLUKEDG/+i/J51fSqo4=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bc5d363-5f9a-4b22-8b9c-08def9529c94 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:34.3865 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4+i8H4zuGo12CaN0+1hinuxAsPrXwPZrw/9VC7vaZTK9qzPAH9aKCJipFAbLra0i764WXjhRazj43r+p36b4mA4FmWZD0NNP1W1vYgze2qA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636342956158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move it into a new IntegratorcpMachineState and register the machine type explicitly instead of through the DEFINE_MACHINE_ARM macro. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/integratorcp.c | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index c25bbf3c82..5097a95b87 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -581,13 +581,19 @@ static void icp_control_init(Object *obj) =20 /* Board init. */ =20 -static struct arm_boot_info integrator_binfo =3D { - .loader_start =3D 0x0, - .board_id =3D 0x113, +#define TYPE_INTEGRATORCP_MACHINE MACHINE_TYPE_NAME("integratorcp") +OBJECT_DECLARE_SIMPLE_TYPE(IntegratorcpMachineState, + INTEGRATORCP_MACHINE) + +struct IntegratorcpMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; }; =20 static void integratorcp_init(MachineState *machine) { + IntegratorcpMachineState *icms =3D INTEGRATORCP_MACHINE(machine); ram_addr_t ram_size =3D machine->ram_size; Object *cpuobj; ARMCPU *cpu; @@ -680,12 +686,19 @@ static void integratorcp_init(MachineState *machine) sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xc0000000); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[22]); =20 - integrator_binfo.ram_size =3D ram_size; - arm_load_kernel(cpu, machine, &integrator_binfo); + icms->bootinfo =3D (struct arm_boot_info) { + .loader_start =3D 0x0, + .board_id =3D 0x113, + .ram_size =3D ram_size, + }; + arm_load_kernel(cpu, machine, &icms->bootinfo); } =20 -static void integratorcp_machine_init(MachineClass *mc) +static void integratorcp_machine_class_init(ObjectClass *oc, + const void *data) { + MachineClass *mc =3D MACHINE_CLASS(oc); + mc->desc =3D "ARM Integrator/CP (ARM926EJ-S)"; mc->init =3D integratorcp_init; mc->ignore_memory_transaction_failures =3D true; @@ -696,7 +709,20 @@ static void integratorcp_machine_init(MachineClass *mc) machine_add_audiodev_property(mc); } =20 -DEFINE_MACHINE_ARM("integratorcp", integratorcp_machine_init) +static const TypeInfo integratorcp_machine_typeinfo =3D { + .name =3D TYPE_INTEGRATORCP_MACHINE, + .parent =3D TYPE_MACHINE, + .class_init =3D integratorcp_machine_class_init, + .instance_size =3D sizeof(IntegratorcpMachineState), + .interfaces =3D arm_machine_interfaces, +}; + +static void integratorcp_machine_register_types(void) +{ + type_register_static(&integratorcp_machine_typeinfo); +} + +type_init(integratorcp_machine_register_types) =20 static const Property core_properties[] =3D { DEFINE_PROP_UINT32("memsz", IntegratorCMState, memsz, 0), --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636374; cv=pass; d=zohomail.com; s=zohoarc; b=calYVxptB5Yh+oISxhwmO711/HHbOoBPn/oDsi1t2hVCSjjdm+xHrZiTWwp8Do+twci3UOcdu0/BCIZqrl4MzsMF5ioYVBWbjtKLpMR8pyT3/VI3mqPgLmqz8X6Ej+t2KcaP+q2B0pBnKBiDxIffcQ4PgcP4/0UKXbOQLuJUEx8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636374; 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=BsM9Wh90YCp6eUyFBTCqh0vE6pmK/33x6JmUck9M5XM=; b=P9h8iXrEz13SguTjkBUIDhNU1Xl+EAqWvXqUBO5qaJ4hpbq2aoz8S3hWeVL2M7mgshJw789AkjyAV0wtdZ2rYuqP5CZNZMuDaYzAYlfISwslju6X50Od5sdWZdbxCAofKkbs4K3P84oSX/+GOBjLsaNUGjEzCMLyiZ1F5qd4cqc= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636374305226.75237102315305; Thu, 13 Aug 2026 08:52:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhf-0008Jy-WE; Thu, 13 Aug 2026 11:50:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhe-0008Jh-LJ; Thu, 13 Aug 2026 11:50:46 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhd-0001rl-1j; Thu, 13 Aug 2026 11:50:46 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:38 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZhUmb0JTU8GK+HFPCFMp4xkNJGphb7QsImNjOCjpaIOcp7hvn+QggE3pyG2Y8MtOzgf1aP7GS7bbSHC5MDW5pNF58B1u0YyoAKMOpjTALxhy/MSo8cK0UMdzPObueG/DpRA0giRnOoQYPEj3/b0Rjg+lKDSaLYcUBOxeU0oBI+YVElUuLjOf1HuTKUYgxC14la3Az53UNwBPtpgEbA2e40nHg2FjJiD9Omgo7Hovap9rCIP6dhOH8gmi1lLXJ1vDbat4pkZBS7OVKkc37QdunDjyoihwm3uSPU7wcHNqtWLp3rSMRK4CpEL/+nk/8wW96SPKfGk2B33/0+3U9do0ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BsM9Wh90YCp6eUyFBTCqh0vE6pmK/33x6JmUck9M5XM=; b=MdVzyn5xUSHGBP4VOkgGTpaRiV/NGYRVJCRJ/Eo14NslG/lxBjTfmnm7qKAWhPdf5BvltDBUZ3qWISzmlVY1+C+XCbAQ4LNGEqz+HG8PuFtAVtu7nzO3lPNjOchsvvl98K+Ez3N7g43PoyW++sRuHACRb+mKcxm3Ty1JNCh510SADYSiiNV4ruoOFKzzTbRpWYQkM8omdq6C6Rn4h3ffD6ETDhsWzCXHtBFt8jF0rHphm1ricvMsyfGw67ghi3w7Mcn7NY2vnwuTByMgVV7t2cM3rw2MdIevVBmsqIFQc5QkQehciXCVpoRp9IwA/lz/VoNkx/ERsbfTvdq0r7dspA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BsM9Wh90YCp6eUyFBTCqh0vE6pmK/33x6JmUck9M5XM=; b=pHubNaYcfSo9NjEAvDZdq9erdNrsDx0IzwYfPrQq2aKD8DXHO341b8N+vE1KZFbITOlfARoVeDki42P7XFl2Y5u8TIVRZDEftq9IOWFOdaYa8uE6RXjL3/9BQ+ylMCe87Mf+43l7sO22q23NIBm/SPUkQiqferleLT8FAUqxAyjcfFg5Y9csjo9N0jIct/8v0uFlR3AFcsdvu8Y1Qrm/0eMBucnInJaHz/P65L53F5wec6ftNcEFEOVWmSLSu+6IJP6ejUeWENjlFMjpQEi35njWbvYHzGPbqdBV4wP3QAA1eFg6J+/l8rqN5Ha3D5fqOuV27PvhrrmEX0OpsrdPPg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 10/20] hw/arm: kzm: Store boot info in the board state Date: Thu, 13 Aug 2026 23:48:58 +0800 Message-ID: <20260813154918.996812-11-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 65cff6ad-ef45-45aa-45b5-08def9529eb4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: qgJSh/VhfRnSAg9jGYWcgLrDUUpPisa+ps/lM7buGHduCa4wq0c6HyVEhEq16hzmVCWUb/G9Pj2RAV56mUQrlnr+2Pn7wJokrcGdw9eDWiG2x/GSDOzqvjRErA84QtOXbnx0xmsLboVjerMj4tw9/GGRi1PreTgPzhWVd1ylFOBqxoEDo0w2bfJTTlZxIzQS3Ft2WcuAvpmYQaXkzXYNj3mIFty0DOobQGXfciZZk5lGg2xYolmwdsiZeunnu8lISRmzYHwuItd3gUa4w9/8AvuA4VdZ/85IBHNIIeIjEafs92U3erxHZyxLswF6Bo51oEwqJiCPylfyNTB3URKEuKIMVIbi8LJGSxkNf9tV4ox5ysli23U++bvTSArWLrCYjYtTOteBKfwsiReOgR6OHvdxlIOgy6iQVFuxaYsfUiAREcD/1hUjbfErBeyCEjt58yEsjwhNlSGI9LWFVK9M5GM+Y0JJMGvJHD0Bey2B9LCDe+RMFBMNVOL6ItQ4LI8rTHUf1fEX0gJIzK4aTVg+eI5aMA5lHJ9DFZznJc8UnjsoCzONkP31P4920vV4rCapw04964T7aYg1iN2OM4gXFoE67xJDYmBVfsUBipRxsIO12TxYvUpt6HTkEZojvPDjXAC2AGwCdMYW7msDa36Jm4tFQniJOKslJfwpvHWCjpc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?on1ZQipTeT9bw0vR4bb1baMWWpHRR3YyCTo0gX4TcVWasuy784Vv9h74AP06?= =?us-ascii?Q?YFdV/EYSRXV8mAtL7x3VHGpix5HMBcFwU6N9q48raVJsyXuIuKsXbBVfg32j?= =?us-ascii?Q?ttI4OW6HH0FmXENxU8eyuphPesxbBBkvptLgqJ0PAzTlucuaKK2V77AsjtkL?= =?us-ascii?Q?ANuM+1+O8PCpi2Emua7a52P6tTwgBPvvHzv+TE/49aDxzdI+jW+T5NsQu+si?= =?us-ascii?Q?0sQzcFUWFOlmNfCCW6yJJu/REDn9++N77xGhWEb54e/m4p+BPV0qyXS6n5b+?= =?us-ascii?Q?9Q9EC4VrgbcwYyKXtwHtmmZ/1Yft3cWa6ERkhXHMPctyyE1qUbQN19cg3Rm3?= =?us-ascii?Q?Q7F6hxHpwth5JhYLD5n5iObqANlmLY9txZ764hQIfzDf4UiIAW4JTEqrT8VU?= =?us-ascii?Q?OVJpNziDCVzTu7jxVKuyuD6QEatflDZiX/j+/WOBt52eVOdvycCS5kb5/jfk?= =?us-ascii?Q?KA6Elbr04TSRm/tXshOPKdjNmT493dkImFrcXPzqJpjlgYKzhpb4vKXACd4i?= =?us-ascii?Q?ADuL5O6DVUm333xXfm396qYAd3D8oTo2twPdhvrMnRSSAA/CsaNE37wJXGpN?= =?us-ascii?Q?zbQ6QIiX02wtDCES3VNSFujwRjcrmZXwyV559LuB572ERYoViKU341yBbeeM?= =?us-ascii?Q?J8QOM2gAT92JALAzzXrjTvphZfRPUtqcjNi28YdXhhgqQpSrDgXRApQQTK7n?= =?us-ascii?Q?Nw2urIWIEEl8xqRLZHrj97p0VHcyznYuoGtlLG/HqkfS6YHHTjMf0nFtM1DZ?= =?us-ascii?Q?jYqIDZ8DKQHm2qvFEiTwm15BAAD4kUh5OTrxashUI4HyhFeKRXDK+S2B1xmb?= =?us-ascii?Q?K7jV33uda657BgvIBE+67ncoRFRsi4URnquDg7IlHzAv90+VbpnEQVUXO1fm?= =?us-ascii?Q?ox11Obq/m5GONlRRw2bwsGyq2WIBZzdshO35X/X8J7pov9XQ6oyEvAtRr354?= =?us-ascii?Q?3XFPY4tKgtKPvGpjme/9p74OGW12wbuscCca8bA67+RUgciANkDYmTYiB8Cn?= =?us-ascii?Q?2Xnh58vZ9LS29ynjIbP8+Gt72CaNYUydcPP77LQsRYqQUDgvkC9owD5yGn96?= =?us-ascii?Q?rpTTJM3qhYKN7ocBtGOYT1qRd2BamQK4LYjVUhr2srfCGJkd3ZCX6xWr/AUx?= =?us-ascii?Q?+EMY0e01Wqyd/Ne+Px8DOzHecR98ZF8oblD1P2V7X69J6VnCLcVcKaF/Ze/e?= =?us-ascii?Q?spxwXdbXHjWSuJt52O53hFWMXLxHlZbHCq4DI0x0HNm6zBMOpBxutUe1zes6?= =?us-ascii?Q?JwFmFVby74D2jD43TR+ttdwkK5mLlT8rBi3mN/jhZA7z4xqDVBeXyler5LZC?= =?us-ascii?Q?W1LFO31Hz7rErCzxSJ/MvkN9rpym95klFH1ZiXddedg4UKS34kzUMvKLwtlW?= =?us-ascii?Q?NwBZUK7t/FlHaBc2pdJcKa0yvdBS2ryiZUFEzMRtN4LqYee5K4caCuodC9cA?= =?us-ascii?Q?Lle4fNeAK/Xd2dyrkeIWBpYRUKgezJEjhAZ09fLIt+U0p1yNgkgHwtamuQFR?= =?us-ascii?Q?79plEG5/HJH+UkNR++9I3lPRk8fmbYE3KUTMfhlvqk+m/m7UM13PeleNwwO4?= =?us-ascii?Q?+1HNAzxD55x6JyxvIDudULR55C8Fj5r+lKmouH5FY/OVMFvWhQIRnmrobkZN?= =?us-ascii?Q?ZJ/AzK4B1/NxKCjooirJmlIGJ5V1GJ3C7Z/eTN45VG+8yq7+aNoeZqUuq4MD?= =?us-ascii?Q?DGwCwJ4NO63ckNDabO233cmpoFINqcyD82gBNty6e4Rg6kf2FGX+6tWRBTnH?= =?us-ascii?Q?UE+oL7VSVfC3N4zLz5j3Le1tMG1bxek=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65cff6ad-ef45-45aa-45b5-08def9529eb4 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:37.9353 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GYZVYA/Eb5IOlx+T/ZTcv8wP1Kz6W3LgzyhvVu8H5NDgPTXM38QEDtylMV/45nJxJF8Z8KAiMk+cDe5m4wN8eKa9DyvJ65OUq5b3Fi73q74= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636375094158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. The IMX31KZM struct is already allocated per machine instance, so move the boot info there. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/kzm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c index 168ecf35d0..55ab137519 100644 --- a/hw/arm/kzm.c +++ b/hw/arm/kzm.c @@ -54,17 +54,13 @@ typedef struct IMX31KZM { FslIMX31State soc; MemoryRegion ram_alias; + struct arm_boot_info bootinfo; } IMX31KZM; =20 #define KZM_RAM_ADDR (FSL_IMX31_SDRAM0_ADDR) #define KZM_FPGA_ADDR (FSL_IMX31_CS4_ADDR + 0x1040) #define KZM_LAN9118_ADDR (FSL_IMX31_CS5_ADDR) =20 -static struct arm_boot_info kzm_binfo =3D { - .loader_start =3D KZM_RAM_ADDR, - .board_id =3D 1722, -}; - static void kzm_init(MachineState *machine) { IMX31KZM *s =3D g_new0(IMX31KZM, 1); @@ -125,10 +121,14 @@ static void kzm_init(MachineState *machine) 14745600, serial_hd(2), DEVICE_NATIVE_ENDIAN); } =20 - kzm_binfo.ram_size =3D machine->ram_size; + s->bootinfo =3D (struct arm_boot_info) { + .loader_start =3D KZM_RAM_ADDR, + .board_id =3D 1722, + .ram_size =3D machine->ram_size, + }; =20 if (!qtest_enabled()) { - arm_load_kernel(&s->soc.cpu, machine, &kzm_binfo); + arm_load_kernel(&s->soc.cpu, machine, &s->bootinfo); } } =20 --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636494; cv=pass; d=zohomail.com; s=zohoarc; b=RKFt+L5xgccn/fGA8PXQAQzJshzAaaiBeDwL6DUhJJkSl2Nu1TlDmGGf+d9urQ7ScAy/dPktYk9ttbY0L2ZvCU+UMVVkXFsTopD8YAp+kn7HsTdFgLUhjM6Xg2U0nk78RqIc6lOcHQU0Ah8Sj1e5RJxSKsF8btxJ5Jx+dQGEF7k= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636494; 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=i9AnkeOF3L6Rg6CVhDaC21I1ZEqPFtabg7M83rK5r9E=; b=CHJXm3r1MKVFsQzdUeZCDBNefzmnlah+IX7eHQo9o/dQKrGoshjSJQyMg2bo1RNrZ/D7TB8gV8PhE7V8XU3W8PPrPrfYEb32/KTLhOWKg61WuIV7B7ZItGKHNh0Hw51SuM5hHA8Yg+Vxrs5hsDjMbhrVB7Z6H1jzDIqWgEXqmE0= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178663649434072.15680738286824; Thu, 13 Aug 2026 08:54:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhi-0008Ky-D2; Thu, 13 Aug 2026 11:50:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhh-0008Kj-9k; Thu, 13 Aug 2026 11:50:49 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhf-0001rl-Kb; Thu, 13 Aug 2026 11:50:49 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:41 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pnmfBdgam1mdNBp07ulrPLqfO1/7g9ZVsPt0U44qoEw87a9LUZ4gsGON4kl0bFzGPVCA6Rb2t8EmvkHjuZdAwIdyLq8G9UjpOdZuUiy7vaMSxrweSNbAtUVq3csPKkDmUu2+rPO3QvdEwvwv1FsR+SWh6hh2H2zWGbIaqgwk5Nn27thdSI46bttFiXRORwMt7sFVdm3+ZIPjWGVaRy3luPE8sVPvjw8jPV//4A7qno2pRVqzxQXiVpzu7y1ks3bO0YvgO92nE06R8pHOV21eUeIdVmVuCLbJcjrtfgDwoWmTGBt25b50FfXc18UdmD26zHyvtyzYImLB/0uWye8mnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=i9AnkeOF3L6Rg6CVhDaC21I1ZEqPFtabg7M83rK5r9E=; b=XPgaPACGXSj+RM67I7XPdP0jjxB/W10beZhk80CNJyqzhiFuwWs7Hul8aqv8RvFwIiQqXSgr/55dJajHhNHcsLSV0vt6iYjhO9UZw9KmTISZFcjWTG/D6clJAmVjnmh4fynsox4gtrOW2Ff1dHAp42EMhr8w0CRcLRtxXm1TllnetDox9Hhkwj0ClHbrjKOezC6zY1oZRhS2zrySoak9zx8fu2Mxu+gvA4A324xoHZThA2srtvPVV9C8PwUpuz0HtSLR7mBUsnE8RpEIGiRocQ+arW+/U/f/SgwARg/I8abutDWcSzJQvGquwlzi1j2VueBbnIJhM0fmevcrxFvrYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i9AnkeOF3L6Rg6CVhDaC21I1ZEqPFtabg7M83rK5r9E=; b=KjrDp20d1awSl2kO79hb138jEkDw/SlmL6itHCQrr79ox3NTbUKwYF+YJKafWDwtmkdSrLlfw4wbNIfzF37KlZCw1+VJGkpLZU4EwWPteyqL6sx5r7l65vFlOg5hFrILfgQCAf42mXK1VL+pb/TTn61MmtTTs9nedMsbL7xlzcbTv9QD8WsOkjRu9x7Y/NSDer6Uj5WEQPfoP+zIkazrWTg0f5CPq9sEe/pEZd++gn+s9XpuytlctNN/x79MaxunlryNL9T9YC14qK/ToWZPQRhABmi3fYY32PyMoF+M63bKG9mp5xifPAkH6uScfdGEQzKUrU/z5nPVqoDNONWC8g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 11/20] hw/arm: mcimx7d-sabre: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:48:59 +0800 Message-ID: <20260813154918.996812-12-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 06462bee-da60-4b59-8a3d-08def952a0d4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: o41CFFt0OpbUuf9qv+eH5FpgOzMb76mltCc7eNP5AsKxjqFK0rHGNGZN1tDx2GieRNotJN4ImOav9QApGblNDWWjJ6C9DDw7BaWADvhbtHnesyoAyk7iP80ujHbeUD8ICUEpVGqjG8u56JoVxHKWPylEn2ZEk9xnOw8FuhUNwVs3h3ddie0Oz641x0DAToLhlf/PNQYSobq+Ismr5/4KUyZX44fxHAAsVYEij3ghO20otWYMmopeAAKQbp3a62O7UZ1urKhMdc7ixdbaqRCrct0IJb3uxnUfPWOkufqHMYkjuHSUw75tmKYq7yvL3fQGqv+dUQq7lmGZDYQDXbvVzSlMFXSn1VNeYDSboQpkqVn1yAf/sN0ZmawdR6ZtqGi/6OhhOgemrUNwKTTBas62vXb8QRBfT1+V8+SteQOlF4yzUsOOIkQV3t+8TToVezF5FwI7MFQLMzz440SXggHeeEyqNex19kIR5VKWJ2ggRnMfnVi9LcD18Dn7smd67e5ZAqCom+k9cRWndL5J+CazFgcEDWLelaa1jnwiUTWwtFtGVQeubN9sggTqPjSWOpMnGxDZlPeV1Vk1L1AHAuwUFdVNB6D8aJCtT5gnfOYnw0BiNcYv+eOCfBBNgvIdbrg/i18qyx6ejGlYp8CMMBFMpd9zupHXQrvo57Uw36CGlO0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hdvz3aDBqjR8qP6VTrxVr67bej1aQh+mKS9bR89jkOkmAReYx/JlrK/w/3aC?= =?us-ascii?Q?Wm8/yRLgg7NTeBvi8qKx12o9tn3j0gMeeNRHfUiXLaQWdmxYigBjWMXa9MPy?= =?us-ascii?Q?f5Q9RsocBJOtw8/klQMcrdsa2ohSQGedvMB1MHCVSkX86LgK8hI1V42g+gPy?= =?us-ascii?Q?Yx49F50pdKKIVWRkbdAsecE/c89A8YDQRKubeTJpb+gu5zqvLka4iUqTS7ZH?= =?us-ascii?Q?V8Nn0ynGd7yKwk4rJxz+0MyPuL5oQA+XgU/iVxbN5UyAq1r0fzT+g90oylTh?= =?us-ascii?Q?Lt7u6HME0UJ96GdOnePjykNG30Vp+0C8Ub0ovfUUlhy2yTwZ8YxC8lga4nSc?= =?us-ascii?Q?zsxQn4uoMIosTVRuSKXZyczd2sgq4cE5NrezP91DlVVSW/gTtObr0c++5gc5?= =?us-ascii?Q?EUTuM7tM7z+Mzws9iEde+HetnJZzQ1wpf4JNwbXYePmu/ZRptAxBfg4WtluL?= =?us-ascii?Q?e48fiazl3Vgv3qu2GLl83+GpBGz3WJKDZ1NF1+5eHabiQ0f1ydzX9cITez/2?= =?us-ascii?Q?qRxclmyB5+2DuOx59FZufd50PpgC3XP7aoDKwEL7nBLnHRpcsBKJHuydqLdC?= =?us-ascii?Q?pRX5ZrlaBGcYSMXo2h5haIzh/Yds/GMuxvRWdY8Xh31Dqkmo90h1vqW2BvYr?= =?us-ascii?Q?pTFiZf0kXGW4WoPA8YqOXCMoB5hJyWd4mSvAi/H3ArY45cZQqHlnn7abkoF6?= =?us-ascii?Q?+OT5Uv4VEPVktZ22w1LWtsvHgovUIy/YzXdtOe0qV2bGpDJWCoCZ3bHuC4fH?= =?us-ascii?Q?UdTnKlWhcbz06opjgmVqyROM7+fnSN+mtuJzhA2G9UdHlkD3wLtJHtldw9LT?= =?us-ascii?Q?bQQkdSON525jWJzKv2idwkPhQdxDMU4Gf6WLdflnE37r5c5BediC6D5KOoGS?= =?us-ascii?Q?LNOT3INQKvsbLaYrFtcoywMH0reBNTPMyPo/xd1CZM03oOZOOzMkRRpBADrF?= =?us-ascii?Q?AwxTyYQ+tJSEWiaT6A6AF2mIFZKZr3vTZT3y5daP3/m8i+7b6ZtCjAg0dD4q?= =?us-ascii?Q?d+gIY1uICyMaLbF6UlCUm79/JgQSac+gRuWSycPwzPXuNr3TJXDzTvFFEXkQ?= =?us-ascii?Q?0F+atVA4IDWeQwiLCpENRs89xUkWajP75KZTj3B5oF1qU5mSIoymBtDlFVpz?= =?us-ascii?Q?ryE3zu2JYgfwaP5IswLJ0nY6IY8An6Tv3uFRj0skUdWgFi0ESMwrjGOO+EvD?= =?us-ascii?Q?dDFFxcd+LwNlJqzVmWyIBxspAFWVqpv2Sfm+NlLUYQc+3rNH22F9IodeBwl+?= =?us-ascii?Q?ehmDxOFXzjtAXFsROczYDEf4w7fd0TWQHLrl1mTvgACnpUy/u1SVh86/MspS?= =?us-ascii?Q?QB6ZxlciDRhhMAUxR+Y8XovAVlz7oGzZhL0YQNrkVWfYZtscN1wHNU518D3r?= =?us-ascii?Q?Z9sD1xvWn6+bEAE0C+yzmv+NvOZq1pSql+aklPA890CtWcW/COM8nvRNQ2an?= =?us-ascii?Q?WJjnFtxRxTk6/3z2ccYrjViUDhSQMAK4FWzzD5Kf5kcOemVM1tPfgEZ0SXSA?= =?us-ascii?Q?Y4rZijVybz8ZmhcKsc7CEJkPKYMAR9uB0e0LClsVPRBrikxiFgQqZqp4hiGL?= =?us-ascii?Q?fgX4lXxODqLsXtA6sziKDi3UbHNHnIAtXZO9oBZkEaUMQBF4Qs/2OjDQfLIP?= =?us-ascii?Q?JIL60SxipqTQDYHN19YZfJAfI+5Ah3xb1sRW6W7jdBGyDy/48/y/WDAtN/Py?= =?us-ascii?Q?sH121zQhIzG7bicGVEG3HIvuB3GkhfnrKU1/KHVT+bJ9YLjuiOUZ79HwwmKs?= =?us-ascii?Q?7J9iC1hqZCEgXiBMOaDOOrtR/1+bF3c=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06462bee-da60-4b59-8a3d-08def952a0d4 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:41.5130 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2+72z/tQwbu7xqnjDWVowuraqf00ezjx6BDRNfMxh2S/nNJ67Z5kV6m6XDNNg2NwJUMyyTmPH3KAJfJ5KHDuBORi+xqYFZ3sDdsPs4krru4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636495756158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a function scoped static object. Move it into a new Mcimx7dSabreMachineState and register the machine type explicitly instead of through the DEFINE_MACHINE_ARM macro. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/mcimx7d-sabre.c | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/hw/arm/mcimx7d-sabre.c b/hw/arm/mcimx7d-sabre.c index a0ac647c3d..43d7916b08 100644 --- a/hw/arm/mcimx7d-sabre.c +++ b/hw/arm/mcimx7d-sabre.c @@ -22,9 +22,19 @@ #include "qemu/error-report.h" #include "system/qtest.h" =20 +#define TYPE_MCIMX7D_SABRE_MACHINE MACHINE_TYPE_NAME("mcimx7d-sabre") +OBJECT_DECLARE_SIMPLE_TYPE(Mcimx7dSabreMachineState, + MCIMX7D_SABRE_MACHINE) + +struct Mcimx7dSabreMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; +}; + static void mcimx7d_sabre_init(MachineState *machine) { - static struct arm_boot_info boot_info; + Mcimx7dSabreMachineState *msms =3D MCIMX7D_SABRE_MACHINE(machine); FslIMX7State *s; int i; =20 @@ -34,7 +44,7 @@ static void mcimx7d_sabre_init(MachineState *machine) exit(1); } =20 - boot_info =3D (struct arm_boot_info) { + msms->bootinfo =3D (struct arm_boot_info) { .loader_start =3D FSL_IMX7_MMDC_ADDR, .board_id =3D -1, .ram_size =3D machine->ram_size, @@ -65,12 +75,15 @@ static void mcimx7d_sabre_init(MachineState *machine) } =20 if (!qtest_enabled()) { - arm_load_kernel(&s->cpu[0], machine, &boot_info); + arm_load_kernel(&s->cpu[0], machine, &msms->bootinfo); } } =20 -static void mcimx7d_sabre_machine_init(MachineClass *mc) +static void mcimx7d_sabre_machine_class_init(ObjectClass *oc, + const void *data) { + MachineClass *mc =3D MACHINE_CLASS(oc); + mc->desc =3D "Freescale i.MX7 DUAL SABRE (Cortex-A7)"; mc->init =3D mcimx7d_sabre_init; mc->max_cpus =3D FSL_IMX7_NUM_CPUS; @@ -78,4 +91,17 @@ static void mcimx7d_sabre_machine_init(MachineClass *mc) mc->auto_create_sdcard =3D true; } =20 -DEFINE_MACHINE_ARM("mcimx7d-sabre", mcimx7d_sabre_machine_init) +static const TypeInfo mcimx7d_sabre_machine_typeinfo =3D { + .name =3D TYPE_MCIMX7D_SABRE_MACHINE, + .parent =3D TYPE_MACHINE, + .class_init =3D mcimx7d_sabre_machine_class_init, + .instance_size =3D sizeof(Mcimx7dSabreMachineState), + .interfaces =3D arm_machine_interfaces, +}; + +static void mcimx7d_sabre_machine_register_types(void) +{ + type_register_static(&mcimx7d_sabre_machine_typeinfo); +} + +type_init(mcimx7d_sabre_machine_register_types) --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636300; cv=pass; d=zohomail.com; s=zohoarc; b=VlD6QEi8EXnlaxb7kfPuhI2qPcf0gknBtB7xt9rvaRCj8kSHNanp2tjnc2Ogr5/k4Pelwc3qylC8kceZAZV9MEAUzvAYUv1LZK5aZZ1lWGZljyuNmt6L0yyC8Kb6HKRMyGu8wX/WmVB2iZ34jtPNeK6Qf9Y10VIrSx3z3JCpcQk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636300; 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=19Bw+RMIYTnqATMJj9/SYXtw7VkM+CbPt9ouj/bhMNY=; b=RDxU4FXY+ykb4R5ohTxvlM/ynK/gFCV/CJgDa1z/wyRY6ZhY+5sNGQ1SMfKdfkZCEd4pUzz7vIsIlqaiTlzGWmHG+fqkIMZg4N02Z/uqyX1YdagbhnjB/W0LLckwPk2O/44poBcUaCcq5nwNhtVSANwpxiljRctkHCKzw5kum74= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636300073551.3559985261688; Thu, 13 Aug 2026 08:51:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhl-0008NA-Ph; Thu, 13 Aug 2026 11:50:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhk-0008MD-6c; Thu, 13 Aug 2026 11:50:52 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhi-0001rl-K9; Thu, 13 Aug 2026 11:50:51 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:45 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZrGi36nHa+UkXh0j2e7NAw9z2+CySdcpiusy5e08QC2H0qN/WIsKgQCAfFjReQY34PSBlXnNejqEaRnIu81+fL4YbHQ6XKSpG2I9hvwozwB8dNqMzjK0omLYTgeqRRxXmXTOQZcFLXk4mZYovQcZfPe92a67d9D3zAGv+L4VfhGV9lrwNGHJS1Cv3zp/Py7E4rzlSBWTbvoF+AOENDM5YNgGBEI5cw4WoeghGjRrDIKfJaOhTYVxtHB62wHPIylxxuuBY6t0eTc/VYsfOppCPMaot6ZzG9OtN8frvy/mNy9Blt5P9utt7I0rCXUF2m0551t8YfPyY1lS6Ky3bc5QWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=19Bw+RMIYTnqATMJj9/SYXtw7VkM+CbPt9ouj/bhMNY=; b=HBj60U3q6Yl0x1ulimNoNS9uSQgDhgB4ByKSS5ljnPZp/e2k5X6M9KyTmGjcya1bOEne6oYxInXnIBeyvFyc79mtlQxpYdrxjzCvG76zYBXLW06V7i0UgVFoOewmNZvsA6g2kkCpYoFcz3IAsQaiwW4VVuPY2hdQrgMIRp8/vUkdWLFZXddt2awvj4mxyQPyZRsNF/kQo5nPJTOTeQrOA7eqnbvZEG9e/W3pvnT9DLBSJ6cgUzoEMGBrme1TlsEpnJOrv+HqvI44n4ZAnr6I7WMsz6Wxts+6Xaj/Sc9//6vznJMd1XhO728KKz0NS9L8Xz3UvX+woum/35sqmBIhJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=19Bw+RMIYTnqATMJj9/SYXtw7VkM+CbPt9ouj/bhMNY=; b=O+leTCiab+spg7nTfyQPhIMEf0K0AhZ32ehhr7jummJl+SfK+D1EzVLCblJMQVn+jJ26jnOlXHOtL6grsI8db4Lwpe40FHtRUZdVP8HarS1DlhEhotUr5j8lcRyKopGy0vCaNEdPTy5A8j+ZQ/IF466rNBRBcjaCqMdR0rNEdFsgM92f++s7tWIh5dAWlM13wzrE6BfOWWby9G5hYPYZfLnrlFfasRTkjWJOSibUfCCnFKgLrXmTHlznh0kJXhgaf6XqXH+OnjEgsWymjxrJmou4IGO0L2JzM73Wut3jq6smPlVlNNy85IBkHE+7abARAl8gj8ZkLe3PA5fGUBAa0A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Jan Kiszka , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 12/20] hw/arm: musicpal: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:00 +0800 Message-ID: <20260813154918.996812-13-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: c394fad8-1cd2-4466-96ef-08def952a33e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: pU9i1g0WyetycOrNCiYxExYQpA6u7MEe1f3KbFJD3zV/JNIjTxDNsukF3g63FJRqKLkjUW+q4YrwydgYVVANbQPNXANGA8DXJzTIfJ9QuPm1STBuYsWOiRU5waRjz+kDYHK4k24gbWyAPGjJu2PhN4x1jI45ipXV5+Dlk2mDgjLzepziWX7UwFrGslzL/Yhj1GWGlYADvb7j9TrBg+R0SBduaI9x9Vb3x/NPWm0gTku4Vunozo3YPjHTWK6BX3ZeDzwMmhUr5vPfmJoI99uJkY5ThRH4/+SNPYhrQbL7kCMKoh2k41ki0dX+mK30L+ROHWEeKgyznWpg4GjbPSIu+fdH5CyLSIR/9PAigyUCPZCf0E7y26cZqS4TBV00fPqa95Dm8djpXqzdqs8eLE0rY0hrKpcRmE4iYwmUjRFJ3wxE3j4WpPB6Kqi7EuggATkfUycTzeOzrtHGfsxImvY3UsvBARbI48S+lkSW5/wmQl3FlMBbz3eo8vtn9x7qQPragxYtA/VWUo793ScjpKyz6j8305phU9azcs1p0MkeeqUI7XICAtPrL7jC37Yes7rUrOZoDTXpGOL+5GjRTPfhf8Mg5WyFlBGP+RZB7r4hjLO0Q3+nIJIImNCKr/sEujbidjaqPY+EVvtkNgMkTkVzgx33Yqtjeb7PiKS7nP8BCRE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3IfP0epvlVgOilbwHT7cZYFtEGbKkkooSnEOt0c+MzJpiB/g+KE3scAxf7rQ?= =?us-ascii?Q?RESEotEU1zzCgvqp6gwC+QL42oz+SKo5xI4eISrfpact3PTXcF/DTxsQzvaS?= =?us-ascii?Q?wTkDC1oaWUKKagreBtsOZ4n7J55dwELn+HGm10Bz+YVGdXQHAcq0o+ZsXl4y?= =?us-ascii?Q?O5h19kQD14Xju2+Wn+ksgpBs8mJ0Pk3b6b1MxA7BZGzGrDdSGMcbCGhI6KV2?= =?us-ascii?Q?jVVobV7Dn/t9GOpjElvbTQU4AeCBJ7Ak5lSEpj1K5Cn4eDr/l2vpmIY8oKjF?= =?us-ascii?Q?eKB6x/KOTLsZ4Hcmg1yOqeeHPgFPsFlkwFV9xbGFmkZPftYTyintj+htesTN?= =?us-ascii?Q?kvjjaotkZpMSCiaGEua27npjMT1yCPUqI1OXwsEFsDX1vZjShHCm6oRGl0Nf?= =?us-ascii?Q?nyNhk43QAC5Mq1OkFuU+jXK/JZd139QQQc6uMAk+RjOqT7rsM4RcBhFnbra2?= =?us-ascii?Q?v1uBSyiTzZYUpsyBz/PpvyDBeU4OuGbSNx5oXRCDYxUpIBBY7a83eA550Qkc?= =?us-ascii?Q?a0h2CfmwBe4zOum6wp0/oKonn6gQrimiQB1NNWAVrrzBuPjjGavfyoW2LdDB?= =?us-ascii?Q?Iwu7kAwPX0oViRFeGT43bN6S4zGwqKjQJm/Pw2oyT3qdh2qk49wN98NZX7kX?= =?us-ascii?Q?LgZqxY0PDJdtxagzAVgzl2nj0jy3Oo3QqLC0ASP0XAFkq2jP5HeAPJnyxKEq?= =?us-ascii?Q?UIM5HhB1UwKrglQH+TgREdlIsxN4NQlnlQVjTPGfXV3sie1Q5QaFhyv5MX8b?= =?us-ascii?Q?/cyUd/hUraXS2OBCNVydQ1uBzZ2cYfUs2n/kWcnLO5T3oG2/vQWBtoeocoDz?= =?us-ascii?Q?iOZoG/J1dM1HSuOGwRmJUzht+o9QXOQJ51Zd2ahHdnebNFZy9jO1CmRNcjnv?= =?us-ascii?Q?cPhKNfhvnL2L/b1qY70QYs2j3Tta/3tAxVcxuHDvYjp/5sKQzeM3ipQudAlI?= =?us-ascii?Q?8HcEnHly2KSUkkd2HfrG0U6JDl/XCvyRgBDKpg/UoZz+3VO7wLMcZ1Jdu4pT?= =?us-ascii?Q?jvaxnZQO+ozov+GejLY6nzqUDbqm2CH46FCAyzZfF8XNAlooX9C/D7RwNMkw?= =?us-ascii?Q?1rMozWObK1nby4Qr376O7VQeR+Z3s2yPSyts6p4RZYbM6tzmdjW/f0JGDhr6?= =?us-ascii?Q?w9poN7OQTmbm+8Xpn+qWGgg4VeFnXAVUGBsWk6TBDNPG0t0jNfNsV03UgphM?= =?us-ascii?Q?KP/5ZDInoM3q1tCwZli8pJpIRG+wKVAaQy3n2bL3wm9XkIXOcT50Wh8Te9C/?= =?us-ascii?Q?CT3syU3xJvqLSZbV+b1lei5Q0kOyz4VdIWcoKdA8YXbU7Co1L0fWbL7j4Kta?= =?us-ascii?Q?jF7Ocb5/ij4OTDbJuZRz0L8UmgkZoqY1NTmCszP8UL3OIuOe2LQRA0jZ44mg?= =?us-ascii?Q?31obrIoqPUNaJiIML/caCwgrq6QtJAiHXfudWuFek/Kao13i0Wiq1RupPS3W?= =?us-ascii?Q?Ozn0k3QFgc95uQxaV8t7CTZkkXTnF5ZyzvZr7mgjMUng3iHaSMqz3yHXKnRa?= =?us-ascii?Q?TWL7WgEH3a4f2uNeLz+KYj9hxxK4KlPmRmaiAksD2Vqn7MgjUhhFeNniXShn?= =?us-ascii?Q?rApPARXxr7R3TVpqJ1FqdTP9d4KDdTJgUcbzt+6Z05DI1UJQtRxOlztRKm/F?= =?us-ascii?Q?av01hf/bq0bkszS1RoG2+RtQbwsrdzeSjLcIcnwf2osllDOlggksh2G5SiPW?= =?us-ascii?Q?3RJJoRDrNpt5CybrXtJuQrLCEyZM3VJCr+q2MtEA4XO3QsPY5hQFzO9v6Gst?= =?us-ascii?Q?GgoL7Xvzlq+HsZozwpwwU7tltLa+Vpc=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: c394fad8-1cd2-4466-96ef-08def952a33e X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:45.5664 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3qhTcmPh45T+T2wDAi2TdHqTOh0NJ1PbP6fQ6fY4S6C+VMObAxw/KM8wCaPWV+MKX538h7EPLxgqs1w22BMO7ZHceSdumhLYGD+iKdk2/hk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636300806158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move it into a new MusicPalMachineState and register the machine type explicitly instead of through the DEFINE_MACHINE_ARM macro. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/musicpal.c | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index 69e83bdd97..158a3ccae4 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1200,13 +1200,18 @@ static const TypeInfo musicpal_key_info =3D { =20 #define FLASH_SECTOR_SIZE (64 * KiB) =20 -static struct arm_boot_info musicpal_binfo =3D { - .loader_start =3D 0x0, - .board_id =3D 0x20e, +#define TYPE_MUSICPAL_MACHINE MACHINE_TYPE_NAME("musicpal") +OBJECT_DECLARE_SIMPLE_TYPE(MusicPalMachineState, MUSICPAL_MACHINE) + +struct MusicPalMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; }; =20 static void musicpal_init(MachineState *machine) { + MusicPalMachineState *mpms =3D MUSICPAL_MACHINE(machine); ARMCPU *cpu; DeviceState *dev; DeviceState *pic; @@ -1341,12 +1346,18 @@ static void musicpal_init(MachineState *machine) sysbus_mmio_map(s, 0, MP_AUDIO_BASE); sysbus_connect_irq(s, 0, qdev_get_gpio_in(pic, MP_AUDIO_IRQ)); =20 - musicpal_binfo.ram_size =3D MP_RAM_DEFAULT_SIZE; - arm_load_kernel(cpu, machine, &musicpal_binfo); + mpms->bootinfo =3D (struct arm_boot_info) { + .loader_start =3D 0x0, + .board_id =3D 0x20e, + .ram_size =3D MP_RAM_DEFAULT_SIZE, + }; + arm_load_kernel(cpu, machine, &mpms->bootinfo); } =20 -static void musicpal_machine_init(MachineClass *mc) +static void musicpal_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc =3D MACHINE_CLASS(oc); + mc->desc =3D "Marvell 88w8618 / MusicPal (ARM926EJ-S)"; mc->init =3D musicpal_init; mc->ignore_memory_transaction_failures =3D true; @@ -1357,7 +1368,13 @@ static void musicpal_machine_init(MachineClass *mc) machine_add_audiodev_property(mc); } =20 -DEFINE_MACHINE_ARM("musicpal", musicpal_machine_init) +static const TypeInfo musicpal_machine_typeinfo =3D { + .name =3D TYPE_MUSICPAL_MACHINE, + .parent =3D TYPE_MACHINE, + .class_init =3D musicpal_machine_class_init, + .instance_size =3D sizeof(MusicPalMachineState), + .interfaces =3D arm_machine_interfaces, +}; =20 static void mv88w8618_wlan_class_init(ObjectClass *klass, const void *data) { @@ -1383,6 +1400,7 @@ static void musicpal_register_types(void) type_register_static(&musicpal_gpio_info); type_register_static(&musicpal_key_info); type_register_static(&musicpal_misc_info); + type_register_static(&musicpal_machine_typeinfo); } =20 type_init(musicpal_register_types) --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636408; cv=pass; d=zohomail.com; s=zohoarc; b=E5wpL/zyjQMt0JhRvsxpWyb8ViF4RSYs8QygqlNLSd/x1j5haCLMhfVmyBhKRJ1xsFjSakJD5cudZrPfXJzaPeFE8VFTLSedEojj0KhU+vJ+v1KAzY9iPf/RIL2Hq3yMZemtXqUjv2/Aq9pFOZrff+glpbISx7GIReVOgtKE8Wk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636408; 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=rQsWu2T4VbaN+18fRJVOdxPWb6YDloA0+E7i8NXd74I=; b=jmvPEmxBOu3mlmLADv4htX3W2MprHYeYmjJZOvHkL6kHkXZQOov/5J18Ajm7Cp+o3KRJxmQ/Fulpn8d9FaZCwRXBsATQ4rDi7e9Eqy93WKZnMv5yL0nOpwgCWYKZ3Y7Ti5T6tHCl/u8OYhyTplZEmdDdcboizXYGKx6vasenQBA= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636408450516.2582922877963; Thu, 13 Aug 2026 08:53:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhp-0008Ny-6Q; Thu, 13 Aug 2026 11:50:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhn-0008Ng-IJ; Thu, 13 Aug 2026 11:50:55 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhl-0001rl-4X; Thu, 13 Aug 2026 11:50:55 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SI2PR02MB5490.apcprd02.prod.outlook.com (2603:1096:4:1a1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Thu, 13 Aug 2026 15:50:50 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=K//o6TwXul7L2OWfgUtNU51uB1Ogqp4HrNS7/arcemnksMHcOn/cHok69lJb7xwAJGsH2iYkoUCYZd/VzhRJrMT8h0M8zQOGZYUbvEq5wdG6DdwF7fabXfnA8Nhm7nYFDEj6/kgVMi+4HWKuYac4d5nq0eIieg3/1Dl6Zi62zwYnpE357O7JGwldthLikLhB/WLDvZR+GmhvUZ6FsAijBjBPXtiCssfEBEN5dLm+Hc03JwWj9uclnhQwd+Ae3rwDQ4Kv/y9XgnBsEOZrs/NcbQkZyTUteFPjGiFUBmnwCRtwVNZoWPWZTxHKI/viMLsrJjy50BZm/Y5wIKDmcAfrdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rQsWu2T4VbaN+18fRJVOdxPWb6YDloA0+E7i8NXd74I=; b=bDSlgTHduceGud7zGTyApSMGlhaTt41KJ/02zL0zr6lQYSBxtI44vRLMSmmscnGmIOf8w9HE+v2O0wSpnoyVHiSpe+yybZBbNx9ng26iRoP52v3jMeoFpGL2yizBU7P3QT6UN0LBIKEtWv44Sn8cqBTecrapIp7Ahl+aF1lknq++nZzpSzMNze5cwEXQnqUBFr1HMUv2uR1EYjZWeev0mO//vbPmv8m4HTrDGyj3sFgqzVhygSz4DYbUgWcC5iMeP8TygpvwhmpPsUcp73pRmlC9VVFk3/65qmFTvNv5Y2SMijiOaIORND0GXm8TKDD0xe6Jzghs1aWCsIi1xBXwGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rQsWu2T4VbaN+18fRJVOdxPWb6YDloA0+E7i8NXd74I=; b=qcDY/Fi99jQVIwa5UnPaMEmQ0Yr2PRD0ovNIu7S0Yq6lr/9sWLfrWdD5K4E7Egd6pSMvrlFyAfHq6ot36j/OBedOwZVIIBx37b0bDzh0CBapINkVfUsngRe1XmUGJ5kIjXqF1q5mThtLjsqD5aoUKnDOiWPWeSgSQ2sB3z75s9RcZRTE5BlmkzM6sUCyu8m9oxXYCA9Gs8tweaY9So/RH105isUCsTg3CNbUXHpeAJvxWkdHKRiOICAUCSipR1YRH+9A4ii0k9fCKK3che+T5I6pekvTZx0ubG5ko1jshfOIj5aM1hT4uf+Q3chwGxTS8o3BxTquBAB6HaBZScd+EQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Hao Wu , Peter Maydell , Tyrone Ting , qemu-arm@nongnu.org Subject: [PATCH 13/20] hw/arm: npcm7xx: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:01 +0800 Message-ID: <20260813154918.996812-14-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SI2PR02MB5490:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a8155a2-f80a-434a-32fd-08def952a5f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: BFKnjAqh0RxYTRHp/cGSmZEvt27sh7EMXOeC5MsokSA60vKVWnkgkEpfNucTAy/x4sDMbZZ71IvaCd1Juh+cEiSQRX+AD1NIJ/Pr8n76/6j9dEAcCJtrxlvVwWbYXvQnoNPeLYMt7jL40Fex7G2jNAGZTzaUmvtjMTtnNZz3QWTdadvFGU6R0ype0PdHGn7Y121/PHCV4RzJY9POXWg1NvGb2j0FJDBkvB1hVCxHI28BSSbBAsqRG//w0o83H3ukLNvKIA6Q2jQNlzk2uP86v8ayShrw2r8Mskn+/vPgvgX1vpxNGyh89NR8OTgpddACDDwhVJCY2mzwXIiiKNyEvrLMX1cDShNzDJ+b+xDRNpWvSJP42jhiLqU5ROcQb0s2UE17TqbPX9Y/FW1JYGRs4nofvzB2hhLTMcF6eqYtqLLimmaYxB3tLnRXTkZaGpmZzLF9uP9lja2mo0Qok+9O7YrOpynSRHUkd7TIbElHFvgqUR6WbKp2Haiua9627DQ5wFFDGp5IlkWAlWT0FBLFzl2XkccoLWgRbzlqhNQBos9AjxBswtFEhkIKD6wEUqJFZ/QrCeannb0iNf/MaWcOsXYg+/EVbTJjGxB0I+UVjRn1TU5+HACn6zfjsA09n3sNaWjeD0kO/aDe0dAkOdPNV6n+P5Ogl8JpI6SAwvCOyR0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XCE2b7CHBNCf6QCJzKDW1kwVGy6qlZWCVrzrk0fB3Fg1hjg8rAD7VtGl1sZ2?= =?us-ascii?Q?DWjrjcLFADjp0djVo96SEyeDtVThBJqeLoah8UvsNAL5SfeFk2MatC0xdnsb?= =?us-ascii?Q?l7G9LYvmynRxSOh3tMhMmnyk0GXIrlYlrScwgXeQlXRRVl5iL0nsfJUmLRVN?= =?us-ascii?Q?cwRmpJ5+Vww9MDNNLCCVoW/QsZT59bQcbtaS2CfONtxQqDsLjI2F8LVmqODP?= =?us-ascii?Q?cGcMkXZMUk+KO8tJMmhrgENG3RFGNGUi613tOfZKLWfsgBz7vsw0NZS8YqjY?= =?us-ascii?Q?YgcCvwKJUiVob/uh7TBmmgYkKJELvvkLoT7U5pj6KRSDJ8r7Kh+UwA6NL9oi?= =?us-ascii?Q?hjy8/vXaboBDnQCq9rBpOYq6zwQzrsredVY1s+mGBgexpPQlN4BsjaBSZX43?= =?us-ascii?Q?YCbC7tPOSVnPhh+PYxxITnYySpcD2p5o7S1tq4wid6QT7nLezNdXln0pIfnP?= =?us-ascii?Q?Q972A0tg46hlZJex8meT2hoLTtpPPcor8HjoG4QQZwOBeojxhuE3pnDzjOmM?= =?us-ascii?Q?dx0lWb5uz93folJMRl5MbbdM1461v85yLxx1kWpjFrameviZgU0iRvuKlj6/?= =?us-ascii?Q?+C8u18cYCO1L6vhkonVoni5Q17iZjAVkzL7C+ijK2DrL8i/ZwQzAe6YtnV7+?= =?us-ascii?Q?NwR2ZfvcPJ4DGLIk/eQUm80DBQkr+YVImbYXEq03My3lrljMoAhUNheWhEGZ?= =?us-ascii?Q?4zvQd32/m0w2Rmuk/vG1u8asRJsUfivVHKnOzMcaADruP//3M8bEhMwctTKs?= =?us-ascii?Q?65BHPv3lkx781ELAmcfEyqEEXupUdryl4q9fMt6QAsjfBW5Q8RP/Yoa7Ry4l?= =?us-ascii?Q?wUHlWdmm7QBaZ17bAhxnRq4Ax+2d2Um6FqOB5GtFD4qR0rxgiTOg5k4617zi?= =?us-ascii?Q?2CgvgB5Tpw2/iThcX4q8LhBCi4C4ol8CnYn2q/WOT9hX7o8t0JZA6bb+1zPD?= =?us-ascii?Q?LEu2vP2KQu5A3c76HvYg5hdOIJItgOrvzHU4JQ09TZHX7CiJi08tY7YCEDjH?= =?us-ascii?Q?GAiPEW0r/mJQiL727+KaYCJkOgO0H0XVYamJ6PWpaAXEOUJ3bvF8VlCtrVp9?= =?us-ascii?Q?3/dAwoBbB4k1cjAsEiG9ukPoXGsRP5XJf65MZBNE2gEnmhnHo6xZ/43ceBzO?= =?us-ascii?Q?5Mj3xOxMfHJgpIw38pGbwmijREGGsdjblvneW3VWbOUSBg2ooVL6hEXqv6fS?= =?us-ascii?Q?DNG3cli5RyYTkvi+nxrNRgZKP6QtcAMBOv4T2ncaJzfDpdbxfoVPL7RDEgij?= =?us-ascii?Q?DrUGZl/QA1lO1SNUUrgSV8VkbVoXwFehMN5UEDyTCSrWp9DW4hSft7lK99B6?= =?us-ascii?Q?30si5OgDKtQDbAo2TRjYK827DGINSTs5XhlCDmKPKzbTkteowiq6wtTSljq2?= =?us-ascii?Q?7Oe9lp1cXo6dkzwI+AwQRsKVpnV0cnyZR3rHMtksYFdhQybZhtZSnrsbrNGA?= =?us-ascii?Q?kr/XKX7gfcR4WN4toqMW/lXV03y2ifaA8WHw4T0O67VCePfUU84IgrCZ9Opf?= =?us-ascii?Q?XmSK5WUI8j7TPfxfhAdyc252uCYPjoyh9Os883hGeSVRE8t1FYjLAiUsRC56?= =?us-ascii?Q?+2GuB3G550mVlAxZIqKllpH6VvF0LxlJAECvaSXS6UOA1lT333yhg9gttRzU?= =?us-ascii?Q?ypZoG/Ucvk2S6PfCWC+OSXdcnJtba/mZ0/gkVkW4Vlw6y31doW7Y5WakG6Cj?= =?us-ascii?Q?yBNoqAUBwukn2TJ2w1joeH+tM5F278f+fpj8lUYK3Git/0Xa8tYuLwAwttEp?= =?us-ascii?Q?wbZ7gjw9GbznOzVX4OO8q8hbMjyr2gw=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a8155a2-f80a-434a-32fd-08def952a5f2 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:50.1336 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cZv8uPa1/SAyMB9rhBr8VH0uWuULvW921iVag8RTuO39oK9YXGix4ptQWhN+G2gfuXnd8oZAaPJ9efZ2OgmExvYJGDj3FpF6jEE11/D+AB0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR02MB5490 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=bin.meng@processmission.com; helo=SEYPR02CU001.outbound.protection.outlook.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, SPF_HELO_PASS=-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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636409762158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object inside npcm7xx_load_kernel(). Let the caller own the boot info: the boards store it in their NPCM7xxMachine and pass it to npcm7xx_load_kernel(), which only fills in the SoC specific values. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/npcm7xx.c | 28 ++++++++++++++-------------- hw/arm/npcm7xx_boards.c | 15 ++++++++++----- include/hw/arm/npcm7xx.h | 10 ++++++++-- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/hw/arm/npcm7xx.c b/hw/arm/npcm7xx.c index c27f149c04..608d533cb4 100644 --- a/hw/arm/npcm7xx.c +++ b/hw/arm/npcm7xx.c @@ -364,22 +364,22 @@ static void npcm7xx_write_secondary_boot(ARMCPU *cpu, NPCM7XX_SMP_LOADER_START); } =20 -static struct arm_boot_info npcm7xx_binfo =3D { - .loader_start =3D NPCM7XX_LOADER_START, - .smp_loader_start =3D NPCM7XX_SMP_LOADER_START, - .smp_bootreg_addr =3D NPCM7XX_SMP_BOOTREG_ADDR, - .gic_cpu_if_addr =3D NPCM7XX_GIC_CPU_IF_ADDR, - .write_secondary_boot =3D npcm7xx_write_secondary_boot, - .board_id =3D -1, - .board_setup_addr =3D NPCM7XX_BOARD_SETUP_ADDR, - .write_board_setup =3D npcm7xx_write_board_setup, -}; - -void npcm7xx_load_kernel(MachineState *machine, NPCM7xxState *soc) +void npcm7xx_load_kernel(MachineState *machine, NPCM7xxState *soc, + struct arm_boot_info *binfo) { - npcm7xx_binfo.ram_size =3D machine->ram_size; + *binfo =3D (struct arm_boot_info) { + .loader_start =3D NPCM7XX_LOADER_START, + .smp_loader_start =3D NPCM7XX_SMP_LOADER_START, + .smp_bootreg_addr =3D NPCM7XX_SMP_BOOTREG_ADDR, + .gic_cpu_if_addr =3D NPCM7XX_GIC_CPU_IF_ADDR, + .write_secondary_boot =3D npcm7xx_write_secondary_boot, + .board_id =3D -1, + .board_setup_addr =3D NPCM7XX_BOARD_SETUP_ADDR, + .write_board_setup =3D npcm7xx_write_board_setup, + .ram_size =3D machine->ram_size, + }; =20 - arm_load_kernel(&soc->cpu[0], machine, &npcm7xx_binfo); + arm_load_kernel(&soc->cpu[0], machine, binfo); } =20 static void npcm7xx_init_fuses(NPCM7xxState *s) diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c index 57a8d3186e..ed65b6693b 100644 --- a/hw/arm/npcm7xx_boards.c +++ b/hw/arm/npcm7xx_boards.c @@ -374,7 +374,8 @@ static void npcm750_evb_init(MachineState *machine) npcm7xx_connect_flash(&soc->fiu[0], 0, "w25q256", drive_get(IF_MTD, 0,= 0)); npcm750_evb_i2c_init(soc); npcm750_evb_fan_init(NPCM7XX_MACHINE(machine), soc); - npcm7xx_load_kernel(machine, soc); + npcm7xx_load_kernel(machine, soc, + &NPCM7XX_MACHINE(machine)->bootinfo); } =20 static void quanta_gsj_init(MachineState *machine) @@ -390,7 +391,8 @@ static void quanta_gsj_init(MachineState *machine) drive_get(IF_MTD, 0, 0)); quanta_gsj_i2c_init(soc); quanta_gsj_fan_init(NPCM7XX_MACHINE(machine), soc); - npcm7xx_load_kernel(machine, soc); + npcm7xx_load_kernel(machine, soc, + &NPCM7XX_MACHINE(machine)->bootinfo); } =20 static void quanta_gbs_init(MachineState *machine) @@ -408,7 +410,8 @@ static void quanta_gbs_init(MachineState *machine) =20 quanta_gbs_i2c_init(soc); sdhci_attach_drive(&soc->mmc.sdhci, 0); - npcm7xx_load_kernel(machine, soc); + npcm7xx_load_kernel(machine, soc, + &NPCM7XX_MACHINE(machine)->bootinfo); } =20 static void kudo_bmc_init(MachineState *machine) @@ -427,7 +430,8 @@ static void kudo_bmc_init(MachineState *machine) =20 kudo_bmc_i2c_init(soc); sdhci_attach_drive(&soc->mmc.sdhci, 0); - npcm7xx_load_kernel(machine, soc); + npcm7xx_load_kernel(machine, soc, + &NPCM7XX_MACHINE(machine)->bootinfo); } =20 static void mori_bmc_init(MachineState *machine) @@ -442,7 +446,8 @@ static void mori_bmc_init(MachineState *machine) npcm7xx_connect_flash(&soc->fiu[1], 0, "mx66u51235f", drive_get(IF_MTD, 3, 0)); =20 - npcm7xx_load_kernel(machine, soc); + npcm7xx_load_kernel(machine, soc, + &NPCM7XX_MACHINE(machine)->bootinfo); } =20 static void npcm7xx_set_soc_type(NPCM7xxMachineClass *nmc, const char *typ= e) diff --git a/include/hw/arm/npcm7xx.h b/include/hw/arm/npcm7xx.h index eef7cc5332..9f3dd489ec 100644 --- a/include/hw/arm/npcm7xx.h +++ b/include/hw/arm/npcm7xx.h @@ -19,6 +19,7 @@ #include "hw/core/boards.h" #include "hw/adc/npcm7xx_adc.h" #include "hw/core/split-irq.h" +#include "hw/arm/boot.h" #include "hw/cpu/a9mpcore.h" #include "hw/gpio/npcm7xx_gpio.h" #include "hw/i2c/npcm7xx_smbus.h" @@ -62,6 +63,7 @@ struct NPCM7xxMachine { */ SplitIRQ fan_splitter[NPCM7XX_NR_PWM_MODULES * NPCM7XX_PWM_PER_MODULE]; + struct arm_boot_info bootinfo; }; =20 #define TYPE_NPCM7XX_MACHINE MACHINE_TYPE_NAME("npcm7xx") @@ -129,11 +131,15 @@ typedef struct NPCM7xxClass { * npcm7xx_load_kernel - Loads memory with everything needed to boot * @machine - The machine containing the SoC to be booted. * @soc - The SoC containing the CPU to be booted. + * @binfo - Caller owned boot info structure to be filled in. * * This will set up the ARM boot info structure for the specific NPCM7xx * derivative and call arm_load_kernel() to set up loading of the kernel, = etc. - * into memory, if requested by the user. + * into memory, if requested by the user. The boot info is owned by the + * caller because arm_load_kernel() keeps a pointer to it for the lifetime + * of the CPUs. */ -void npcm7xx_load_kernel(MachineState *machine, NPCM7xxState *soc); +void npcm7xx_load_kernel(MachineState *machine, NPCM7xxState *soc, + struct arm_boot_info *binfo); =20 #endif /* NPCM7XX_H */ --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636533; cv=pass; d=zohomail.com; s=zohoarc; b=XSk6im9tEoF+Qih0tn04c969a247OTqmSmzhEu/TgNp0tGjhxI4GjGBizEEos5DjQvjr6qJeGvpCBzloyArw7qgVRD8ebLxk0HK3p0sGSr/8hJDAD41sOmURVcufqPVQ4LJu1S6M0Ajr91bp7bS9/vywTMeL0Nw56qm1l1jdLqA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636533; 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=b2eyqV+OureVzySuOHWXva0mzCFRoF+S0CMJlpfqJxY=; b=cETBJquL2Ea2sIUuknamaVGsadURFZqbfGLjZSNuS1hbilyjJ81yyRNPp0p0Ud6jrVNSKYTzQXK0PMlBy0jiyUnNrN8RlkODzN2fYKPtovXNYnppmTM6fUUsPYFnukX/nzWf4b2XoD1m+4qIF9CVb5n/Y4zCT2czyL6YrnOhNTY= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636533504907.4536034689411; Thu, 13 Aug 2026 08:55:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXhx-00008A-Dl; Thu, 13 Aug 2026 11:51:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhw-00005m-04; Thu, 13 Aug 2026 11:51:04 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhu-00023y-84; Thu, 13 Aug 2026 11:51:03 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SEZPR02MB7537.apcprd02.prod.outlook.com (2603:1096:101:1f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.15; Thu, 13 Aug 2026 15:50:55 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PHf4BWa4/elHfeiXcwhXvsa1OCS8GMSj1h0rkA1ehMrWZpGfi9sbbA1odbHA4UBzHMFZMmTFRxXOq9Az/197tu1Y2AfxXHFHM+7OZTWtXBOl+6f8ygfHP2b1TGzm4wZoZOz9GyK5Fov1d2jn9CCu83HGQYl1NaGAgOS5ofau2exWBr3A++dqoeDSKK2WHp47E7d2mksmGG478iJvIRJY6LuuxDl2lhn8NLIWqtS+nbySrO14BJx++9MDtb96BpG8n6jOuVTXSWYgl8K988wV/2UTo3mCpVcPyWsbznCkfprHATRTQ7DPXFkla+sIyU35Mir+aMrlhRdHRByGDNNSfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=b2eyqV+OureVzySuOHWXva0mzCFRoF+S0CMJlpfqJxY=; b=UODycsDMiRSzr2QwDA6axXx95XllVflL1jcWEx9BLwHTVl4C9gSKgRS79LX6B2Av9A3eYEKIavcrCFlHTMnKUtSyX6OSjDU9EUKopzy1tbnMVW7GPjb+ieeIkwU+1Xs0XP82VyaywtcYaJnlAwpm7Ec/+mEI7v6eMkZVqY+Ez4EDGZYei0d+v9RvN7dckMCwJ5PDL+bh8bF7rmvQfVqotIJCrHa9oN7orp1/Emf4mfySiB2/wu1yfLB0MeExrtUimmkS61aF6mcK20cXEMmdS74EXeRA03bMkve7Ro55DofhgrsG7TaqFhFaTWy0dKOvl53qgZy9KhYySZglGmZQDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=b2eyqV+OureVzySuOHWXva0mzCFRoF+S0CMJlpfqJxY=; b=eLfTSEUPgLwgsZmYLPjrEdykGiuzDPVUVOkX25Bv4UbYEAQz1aDbrcaZwXITr/r51isWhh98BsjB5jwqkybUgIH/HmjecR80YswxaGUnvdwo0dfb3L2LEGbip2NKZ72hX3SVOCv2h+bm/65caAWEBf6rvSk1hP+cdcCVQ4WKv6lT3FdtyO9dsBSv9QImCIrHM6hd8YyamXBEWqe7+ugzxHWPQ9mj2Urh5o+0WY+4G+qCcqwcmL0PpRo8181m8BnbMhZT4d4BrLRhO4G5xpBRS5Ax8sPiPdlbMKSTxvWW/LAc40Bha+oaxW+uPoi4Mopoo3zdnEkbWGfxVSXalO1awg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Hao Wu , Peter Maydell , Tyrone Ting , qemu-arm@nongnu.org Subject: [PATCH 14/20] hw/arm: npcm8xx: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:02 +0800 Message-ID: <20260813154918.996812-15-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SEZPR02MB7537:EE_ X-MS-Office365-Filtering-Correlation-Id: 997c243c-ed19-46e9-efed-08def952a8b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: eNozrVjRGDNmOVughZrRtK6tu1mZQbJmNYJwL00EqMlJKVqCH/oDvsJG+z6mKUxzoTmDaWfh4o9IeQJc5XyYU/e7HAFuh+IWWGc0IgrbzqxmzUJt2uq/NOw887Ho98HCwWD3SZNWn82YPTwGFQ5lKBNz739m5Umi3ufilgJ6iYWCtYMtxmO1mqVMqeZG1mNMl2iF2z98wsYp1LEii20/k2hT55JeA5QhSTKO1BsAbH4dMuBVIvZBqnT1+lU4K5mj6fPdQuErGI7jcx7Z1pVv24u+heAm9G/qu/EePLTqGIn5Joee8lW26QxpL2uur5YlLIChccLaMDcXWJfMuP6u1RRArZ80+p12z3nBmEvc4OHrZgbLB1Q7gw7nyEWR+kQsaJ1Dn9wIroHDsYWn23trFXc7qMjlnmuOks3BNdmRZKLA/33yZqe5QfL5fTbfDpO8wP4/s6pVHUcrTYmEFA8qlJCAwewEL0N7+/SQSSfstVg/ztJ+1z6pI4JmpYq//HIIk+HrCSVsyhKOJboRBbtPin3VnHVOWr75HA0dxHjjxueQXyGDt/T7tLoppZYlOoQzi3Xa9DKptyAv4AeK/kqEG2pCQtEPcR1/bCtQ+Vx3aqSUsZflb9PZAtVCfVrFzllqj9MEl09lENf2lZYDJhdEi0vRrggiOcBat9C1Xu5+KTc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zsfx8K/avTvOOBfrvLUO6XoFtti0Hwv7b+jNpBlMX2qBFzRDSiqv5Pit4Fa4?= =?us-ascii?Q?0R6kvbN6CHKFsXLaQ97wdY7vqOVE3U3Sw69mcBrEP38Tt4ZlE5W8WLJqmMBO?= =?us-ascii?Q?unL/IZ61lcPa4ClGiQhiWwGO3mEzCOYhYiS+Kf/QUbFBHxPH3TfQofpplUfN?= =?us-ascii?Q?t984FunR2Zd4ZRvDn2MkORgGc8DauFgOozfnjv3s8lOYZBx3v8kZOfgMipNa?= =?us-ascii?Q?c3AabLlDn1dtNAhbQN4TZZJZIxxkgDWzZg083cA1kMnxTcvDjwpaFRxD3RRE?= =?us-ascii?Q?sa966Y4NiA90M2oVQqteU78suJZbfd2MiJoDEEr1cLxHRFgv6YCS4rgL88pu?= =?us-ascii?Q?w31n6c/s6MYXYyPd0NW7If0kzst/oKr78C+jNSVYqYmtXB8lOn3k/eEoq6oA?= =?us-ascii?Q?SYY2TCB21uCGsCYbSEn0/EU3iPsWnKP+UURrTMsXndEfdcaeAtgWSLwBh1ml?= =?us-ascii?Q?00OnnTDtTbgt0cW3n2VRqXOfGGoSNc2qTUHiMtm3bB5aAXEnSkUrLeyUlhn+?= =?us-ascii?Q?ohZqTC40jLHqDWenV8tbJWWWhuHBJsPeK5s2A0X2Qsm9xQbCfikpHkT06r1C?= =?us-ascii?Q?lKntcOioPYGqyGUBqrmC7jz+D/ffd9Y6CEnDmf5R7R1VBvLAPOIjtUkHilQ5?= =?us-ascii?Q?kVgEDl4PmJmQ+omBzOSfwtPog9DiBz+6PyEUK6B0bxwOM1ePODEEsMYYCgc4?= =?us-ascii?Q?64zWxMoisxb4fJiMVoZmhrt8I1kxz8dH4uxaRQEpUGPZTC0zHYIRUcLuUdje?= =?us-ascii?Q?80XtkcYJfHEtTrPNzgHExFsLxIi07oaBUa5AA003Eo0gOlLqLcBZ82ObdvZA?= =?us-ascii?Q?NKHCqef9jGRZK6bSD+e6zboBBY5DBF1XUk35jVtem4U3RRqArhxRSf6xXE92?= =?us-ascii?Q?U5QDl0TvcVDkiR+ZA0pPTEcyU8INhxaP4fNdahwyFLR6I5W43VVT+14CFS1o?= =?us-ascii?Q?5+4VyVbD41rlnD96IrPY46QI2NlHnmIqaovz88Jd/eL3f6/QJuVJDpVqOoA1?= =?us-ascii?Q?8zz7p7HloIAr58FfLfUqi7ZM0od+HHK0+Ln888UVTyLCEKdkHwHIRcWXfWy/?= =?us-ascii?Q?h4F5ooENi0RqAQb61PTg6KKwyhK597Skc9wnPUxboZtbqiKEFfqyVFk26KUa?= =?us-ascii?Q?U3Oo3QVbvtatt67tTfjx4WhE1rgTJARURnzccLA6b1bFt/TIs9ZC+o7Or6Bk?= =?us-ascii?Q?XFK8hKKjWcaEYmPAaYwKduCQ4hQri0KBgilmLhLJloIrNuwKYNYyiWbQRBpB?= =?us-ascii?Q?hhdUHdYhDq0NSxnEngmIRj0tgA5uNXeAr6dUfatjcC4XIDpxhDiam76nkZRn?= =?us-ascii?Q?VczNM5Uz7zDiuabznzlGNeOUPlFemmz6bMh3H2DTjHRgkjy6N4lzpNviabL8?= =?us-ascii?Q?xYyqYS6Plyvr23DQHfWg/syHQ4aPdgq7IFLIRZg6XcxS01Qcw5Xh+DmCKupp?= =?us-ascii?Q?alITTsGNZb2DXg0B+w88q/e05GBF9G3gtOM0FbEFkr7o3DnGGy1FBLHcQcxX?= =?us-ascii?Q?GWnP2zp3qYptfkyDsDNaUye1sE9uUmJ2FcAxtyHJSLZMSiUChWytIxVSEufK?= =?us-ascii?Q?3OZjo2AAbszctDsUJtnGD1MC5fw3phtTeQER281Ukm0tkm5BiM/f5gZtfLgX?= =?us-ascii?Q?zgCN39wzAwY8yCV8vuKtFhdIEwxtQudo/TqcX9wMtogrrl2kYZnnejUnAhOv?= =?us-ascii?Q?1BRBH3w0IaHFvtpGX5znNMEC4YTLNKPyxWsF9io1mVQngzDGDx2bCkWrmSFQ?= =?us-ascii?Q?VlJTjAl9HPc7Tv9injA8WcJADlf6qIw=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 997c243c-ed19-46e9-efed-08def952a8b1 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:54.7254 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oAuOdTL3b8nm6An1UONPGmBrgvKRz+cg79YSJWXbsbgBk2gIGbQzxANK4AIAA1F2owjev0ggdALJavB0s1nkvOhSzd489i1+D4XY+dfqFOU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR02MB7537 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636534161158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object inside npcm8xx_load_kernel(). Let the caller own the boot info: the board stores it in its NPCM8xxMachine and passes it to npcm8xx_load_kernel(), which only fills in the SoC specific values. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/npcm8xx.c | 30 +++++++++++++++--------------- hw/arm/npcm8xx_boards.c | 3 ++- include/hw/arm/npcm8xx.h | 10 ++++++++-- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/hw/arm/npcm8xx.c b/hw/arm/npcm8xx.c index 9ce6ea52d9..136a5a7324 100644 --- a/hw/arm/npcm8xx.c +++ b/hw/arm/npcm8xx.c @@ -357,22 +357,22 @@ static const struct { }, }; =20 -static struct arm_boot_info npcm8xx_binfo =3D { - .loader_start =3D NPCM8XX_LOADER_START, - .smp_loader_start =3D NPCM8XX_SMP_LOADER_START, - .smp_bootreg_addr =3D NPCM8XX_SMP_BOOTREG_ADDR, - .gic_cpu_if_addr =3D NPCM8XX_GICC_BA, - .secure_boot =3D false, - .board_id =3D -1, - .board_setup_addr =3D NPCM8XX_BOARD_SETUP_ADDR, - .psci_conduit =3D QEMU_PSCI_CONDUIT_SMC, -}; - -void npcm8xx_load_kernel(MachineState *machine, NPCM8xxState *soc) +void npcm8xx_load_kernel(MachineState *machine, NPCM8xxState *soc, + struct arm_boot_info *binfo) { - npcm8xx_binfo.ram_size =3D machine->ram_size; - - arm_load_kernel(&soc->cpu[0], machine, &npcm8xx_binfo); + *binfo =3D (struct arm_boot_info) { + .loader_start =3D NPCM8XX_LOADER_START, + .smp_loader_start =3D NPCM8XX_SMP_LOADER_START, + .smp_bootreg_addr =3D NPCM8XX_SMP_BOOTREG_ADDR, + .gic_cpu_if_addr =3D NPCM8XX_GICC_BA, + .secure_boot =3D false, + .board_id =3D -1, + .board_setup_addr =3D NPCM8XX_BOARD_SETUP_ADDR, + .psci_conduit =3D QEMU_PSCI_CONDUIT_SMC, + .ram_size =3D machine->ram_size, + }; + + arm_load_kernel(&soc->cpu[0], machine, binfo); } =20 static void npcm8xx_init_fuses(NPCM8xxState *s) diff --git a/hw/arm/npcm8xx_boards.c b/hw/arm/npcm8xx_boards.c index 042a928857..01c22dbde1 100644 --- a/hw/arm/npcm8xx_boards.c +++ b/hw/arm/npcm8xx_boards.c @@ -198,7 +198,8 @@ static void npcm845_evb_init(MachineState *machine) npcm8xx_connect_flash(&soc->fiu[0], 0, "w25q256", drive_get(IF_MTD, 0,= 0)); npcm845_evb_i2c_init(soc); npcm845_evb_fan_init(NPCM8XX_MACHINE(machine), soc); - npcm8xx_load_kernel(machine, soc); + npcm8xx_load_kernel(machine, soc, + &NPCM8XX_MACHINE(machine)->bootinfo); } =20 static void npcm8xx_set_soc_type(NPCM8xxMachineClass *nmc, const char *typ= e) diff --git a/include/hw/arm/npcm8xx.h b/include/hw/arm/npcm8xx.h index a8377db490..676c82150d 100644 --- a/include/hw/arm/npcm8xx.h +++ b/include/hw/arm/npcm8xx.h @@ -23,6 +23,7 @@ #include "hw/i2c/npcm7xx_smbus.h" #include "hw/intc/arm_gic_common.h" #include "hw/mem/npcm7xx_mc.h" +#include "hw/arm/boot.h" #include "hw/misc/npcm_clk.h" #include "hw/misc/npcm_gcr.h" #include "hw/misc/npcm7xx_mft.h" @@ -62,6 +63,7 @@ struct NPCM8xxMachine { */ SplitIRQ fan_splitter[NPCM8XX_NR_PWM_MODULES * NPCM7XX_PWM_PER_MODULE]; + struct arm_boot_info bootinfo; }; =20 =20 @@ -122,11 +124,15 @@ OBJECT_DECLARE_TYPE(NPCM8xxState, NPCM8xxClass, NPCM8= XX) * npcm8xx_load_kernel - Loads memory with everything needed to boot * @machine - The machine containing the SoC to be booted. * @soc - The SoC containing the CPU to be booted. + * @binfo - Caller owned boot info structure to be filled in. * * This will set up the ARM boot info structure for the specific NPCM8xx * derivative and call arm_load_kernel() to set up loading of the kernel, = etc. - * into memory, if requested by the user. + * into memory, if requested by the user. The boot info is owned by the + * caller because arm_load_kernel() keeps a pointer to it for the lifetime + * of the CPUs. */ -void npcm8xx_load_kernel(MachineState *machine, NPCM8xxState *soc); +void npcm8xx_load_kernel(MachineState *machine, NPCM8xxState *soc, + struct arm_boot_info *binfo); =20 #endif /* NPCM8XX_H */ --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636368; cv=pass; d=zohomail.com; s=zohoarc; b=KJmrUG36X2jJMcFYhH1FF210F8ZdVEGEVq0vamnZVzoElgFLz5W8qgmf2CJ7wXg0LxqJ7HVDq2kMzXwrTrkb7iRROp3eseV6htyuwwxacXCzAYQU8JMZ+T2AKi/Ivdy+/74F0n5WcPK2M+MtEIQ4DoALPpPjj+XtSASAu08lmEc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636368; 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=rDvtXfiSonJWrvYeKqpEJNZKMv4iqF2/w8gfqiAqfTQ=; b=fqwI6MrjIpaS1BrR2a2LrY2JEJ89/z9IhL4Q/ni6v+/luPsHeXGqq2bLrFzm5/Te9E5FXCM63uh4Rw1+Mq0JJ0WZhFUqTjyvWjAOkrxKi+WCf4SMo4rWovndV6RYqDCNJQypCH93hnEyCebIRgIwU6/LT5WAchZF2nW2tZZ3Ilk= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636368861946.4694284249771; Thu, 13 Aug 2026 08:52:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXi3-0000D1-2T; Thu, 13 Aug 2026 11:51:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXi1-0000CD-HM; Thu, 13 Aug 2026 11:51:09 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXhw-00023y-Qs; Thu, 13 Aug 2026 11:51:09 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SEZPR02MB7537.apcprd02.prod.outlook.com (2603:1096:101:1f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.15; Thu, 13 Aug 2026 15:50:58 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:50:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hUKfe+ov0PxMQuBqxmZU8fMMhiKXEaurzidGexZ3IeUrBcKN2tVx70bz0gwS7Gzx8pK77a0UFCa1hw4seEr9HWMh/fxiKfar9RGEnLsuS814X930J+3WmF8R+YbfqfX0mtSrcy+Yy09ZqHEfYodaYodDi9HejBkhKPqSY0nsSJYbuj3YUXM4lmTWzBsWlkFWKfYlH1UT4P9xxw1DDmaDLn4kCM3ZputG9aL7e6jfDKADN01BP2lK4b+usRaY9JkHuvk8yXR7qHkvwMg2qhwSEiQHiNnGGLLyVum/7w3DFP62XnFOhDeNQXkTc2uXmqMHmLUElrx25kdnBx8/Oiw+rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rDvtXfiSonJWrvYeKqpEJNZKMv4iqF2/w8gfqiAqfTQ=; b=RbDQWUZeTWQ27Kuwr6DkI61+uSsbYeJsaOWDhjxgNdcRpBSHMCOARZzAtaAQGfmdl4Oyu9R9otEgwY5wViPwAUdrl2zDhOQu8IvtOIGFHBZWvSv4i1GPs1nu6PQqfNj5JhCjNCmNQO16aSlB/WkbU1lm42Oxqr29395B12Mxxo0QtDLuTv85la7o9zf82lJqH7JHNpq/z8HKxdG+k8p45/XPil0ZHUt6mIGtBe4QqD546olHBGfID/9g8QyXxBHrVzAYjrfmPp/9M0V3IUo/1iLzYxvsrmy9SZsIV9BGZlUAPxf1Tr3n6nQwHjdencbCC6p5rgZwUGBIS7VqJ525JA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rDvtXfiSonJWrvYeKqpEJNZKMv4iqF2/w8gfqiAqfTQ=; b=IY+svVhrXZtfq3Gn11W/vnv+F9mU4xRYkTxx8ObhYYMKCvv/eXcXdg25xR6FfKXP/Yn1TcOXrFllr2UsMMRX1IJzWx8kFhZlFxk2fZMoC1xJd8AiEJlivZyzEqJ4cPbIF5WZ4EJw8IVpVkosZfxYaeko5GIPjPl56pUl2T5egAif+ho1KRojZQgZ2TEbsidDOwfkpFf5hdaR/561ZL0X7H4+9izF9OZzhvU8MbrIsAUaLTsyPpVo7d2OGHj5h/tIl5cAU9iHLRZUV8R41TA3ZaCR4LNnX9P5MtBuQmUA4VVIMoGUgCSh0ciY1+4zkQUxPpfqKgF/1LIlxAH6V063CQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 15/20] hw/arm: omap_sx1: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:03 +0800 Message-ID: <20260813154918.996812-16-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SEZPR02MB7537:EE_ X-MS-Office365-Filtering-Correlation-Id: eb8057cd-0314-4496-ccb5-08def952aad6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 2ovVd5SFuVJ81irRjwDmj2VUgwV/X+K1d+Ipj/K2dIkO3XhrhLW65OKwxIE+odjHZ/Nj8E26VU0u1FINjWyeaGrJHFvGYfDY+D8Kz5SPz9PbDNyzWVy4JP139qvZHQLibs3fe/8cbNA50WrETE+vcfrpeCxv/9lJT3t5q8VZPImbYbsXwELtSaAUFwL98QCDduKLykzANyn5AT756rk0kkYCwdCkmCOBgYbw3lxy+S/v17I9seD3c1NMNOxvCu9FAdFTq4uU/lniBQpMPfzGc5ZlFaItkxHJeeL+PaKAAemHHH+kFyxnjOe61s3klIuy2uNmRPcEFiTes+APml8pOaVNS1ZaCedrViXSDbd1XPqbeZPmt/B407rM/v2DWsBx78vim4FxAIG0ABFLWKcI6CHO5aQPd+9HyTCbYlYn6nAYDVFuf51fzTNNMdSPqvtW11KvP8LULI7pf309NpodV1oV/ertA2MxGbrczerTQOvCskkoYZ4bQC59s1SNuIt1Ylcl0znyONK4ezBn5I4VlOcxdSphHLGSA2tIsQfIROQT28fbLN6KdLvDyrTR+TE4fGLnV8FQmmqzq7ZcodoJ/t1q4VhNQ/TFUaxBbehwzCnAlq93yZNwhc4pWhbDG0m7jU5f/a7cTUVR3425RCa/PidK8F/oZWwj62jvbzOHJ5g= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nYXE279NHTiI1C8cxgngTgbIVZb63EJpDg6LETK49htejhs1C8NKfBplbM9J?= =?us-ascii?Q?5u0JB0YHMSfO80Vl5rbEmlRcTBO9Ox+L9JZn5BmbOhJVrHy6bjr5kPKKJv3U?= =?us-ascii?Q?9BWaQJMebeTDtYSNiC5YNpySqJKC5NZcPHJoLgZHXmP3lhaKdOTraR+2neI+?= =?us-ascii?Q?OBbYGhlt7dwy8qRNNvNEH1QME1iPDDEBCD8WTgOT2QXv0K0l+5UMG3ysv5C+?= =?us-ascii?Q?mqswTVYVLxfvDcmFoJvzqZFT/IXQopZhYA/eCzPIhl36Ht781myztpPB0BXB?= =?us-ascii?Q?dyU/mtcTbJvYY3JqoOl+cXBldv4y7iWXdaNgzEseG2PgmxTxSTB+Fcf8CYPp?= =?us-ascii?Q?gew5tyd4cjpLvHL/Ae82dRzRBLzrIgdVlClhIdI2ttJIrpGwp1yfkmpVtT3p?= =?us-ascii?Q?SiNtCyHCqhDTbZ705PhODi0SPs9mYugu5Av3NOeF/ciu+5dIFyLFj9SeShev?= =?us-ascii?Q?1eDzOMN8eyHYlwMe81r8xrHEPMuAFKaDXa6T4/ZU8lLAKKERgMRztgxflK73?= =?us-ascii?Q?Xj5lPRgbRfXm8BnyPcYfzSvPC8jfZJAfN6QXCOVvXLfZtw5nB0dkDFKLmx4d?= =?us-ascii?Q?biMwSJO0CmfpEg+K2Vbiv+8DlhB8eAvuGPYr938CIUdSZbtbvQ1ydI/+FikO?= =?us-ascii?Q?3+wDs5n7rGNP7Okrue8RUui4xkUDaf1FxPDnSHybqxvn0KYbTZahWtKTf7qH?= =?us-ascii?Q?kdrX/z6iHNZXN5UZTeUX4Ogdfn+uH69hMSWEi84xStY7hbcEv9PHrBajx02w?= =?us-ascii?Q?+O/tT8AeyFbrE9nBZq59B1gIvPrjzIcoRXe6t6Ye/49n3MxMRvZ33pM9Lj5x?= =?us-ascii?Q?A8XYpnFkFqZLHeebaXEdc/9k+dMlZQs5HS21GkoCmdC1EeoatxjLJ2lr72PK?= =?us-ascii?Q?j9y1oQztw4AB/siK6qrMtgXI+dOVqQY4FHpymrpnnSCu/3TFXxRo5ci9CTlq?= =?us-ascii?Q?iBmfTFf5s38taUmd38m4yTTNTpYlw9gLyguHs4yD1LaxmsA45UmwuxohRw1f?= =?us-ascii?Q?ZUpiDOo+fx+0P9q1+mRnj6jVykAWaRjrYXNM5EZbemcPGJE+1Lvjxgfq/SV8?= =?us-ascii?Q?SruTHpRL2+MRMqadu+eo3qRs5+OD5bjPfLcjORDr6QPV84qRv6cvadGmIcHw?= =?us-ascii?Q?2vxsphGMm0PbtEJ/IkGNnXUH0TW4KMX6z66RXo2BmUZkrUIbpQtHkLEX/BUR?= =?us-ascii?Q?FMduX2M0UAUIx0KxxyTzCzh3XtGv5aXMoWoj6z7GMDG02V7Z1VvJ9TeEOCif?= =?us-ascii?Q?KhmVxEAwUfac4GI9blhQEF9DGnX22P4ujTrW4eiAU0p68IlIi88NnpgeRfrH?= =?us-ascii?Q?+meDUc7whdAf/v3ApuPOJjWTk2tB8NHH6wIVbKxo2/IsI+8O0u4f2LV4Y+P+?= =?us-ascii?Q?HSJ+WbGH8UjLEKxL5uKJuch2H4tebA/zOQ89PB9fSW0ppqOkj8Rhzwe1nhpf?= =?us-ascii?Q?XS0StV6t1XGG0PqY527XeoTXutTfxa2WwRFF/AetwX5+lAwA+KxC49P84yHg?= =?us-ascii?Q?OkgZRH87qn6+cM/0tN0I1m6hrPuteZIub8PvvDwYc25kLbmv8z7PUelearuC?= =?us-ascii?Q?iURhgTj8gSMHe9aDM2O64v+8/ZwMGsitR1NR0mqwmZjiENZHvT5oeuRJrSGZ?= =?us-ascii?Q?uaaXUBB/qEafcum2YicM4n+mLlssCLe1WTNd+Vu9EisLgDHJJuzSQhZ38RYI?= =?us-ascii?Q?1AOuqPgjqYanQP4iFbmpUl8RUYkJ10qzoMPBTBV07G8EYNLXbaTEYDIQOVLS?= =?us-ascii?Q?lykJS9nIuXPgXXsMZvDF9PZ8a2kYw7g=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb8057cd-0314-4496-ccb5-08def952aad6 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:50:58.2950 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ISFtEMwVU5cDmJYVZ86d79tW2tuuy/2jOvyKhmb6mlC3MBIxw1twUXaEUC1e8YEvWQefMFOqT/vK1YDKPeqWCf1oyRALrn1O7niBaf17OXU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR02MB7537 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636369056158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Give both the sx1 and sx1-v1 machine types the same Sx1MachineState instance struct and store the boot info there. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/omap_sx1.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c index bcb7105323..d60b5cf392 100644 --- a/hw/arm/omap_sx1.c +++ b/hw/arm/omap_sx1.c @@ -91,14 +91,16 @@ static const MemoryRegionOps static_ops =3D { #define FLASH1_SIZE (8 * MiB) #define FLASH2_SIZE (32 * MiB) =20 -static struct arm_boot_info sx1_binfo =3D { - .loader_start =3D OMAP_EMIFF_BASE, - .ram_size =3D SDRAM_SIZE, - .board_id =3D 0x265, -}; +typedef struct Sx1MachineState { + MachineState parent; + + struct arm_boot_info bootinfo; +} Sx1MachineState; =20 static void sx1_init(MachineState *machine, const int version) { + /* Both sx1 and sx1-v1 embed the same state as their first member */ + Sx1MachineState *sms =3D (Sx1MachineState *)machine; struct omap_mpu_state_s *mpu; MachineClass *mc =3D MACHINE_GET_CLASS(machine); MemoryRegion *address_space =3D get_system_memory(); @@ -187,7 +189,12 @@ static void sx1_init(MachineState *machine, const int = version) } =20 /* Load the kernel. */ - arm_load_kernel(mpu->cpu, machine, &sx1_binfo); + sms->bootinfo =3D (struct arm_boot_info) { + .loader_start =3D OMAP_EMIFF_BASE, + .ram_size =3D SDRAM_SIZE, + .board_id =3D 0x265, + }; + arm_load_kernel(mpu->cpu, machine, &sms->bootinfo); =20 /* TODO: fix next line */ //~ qemu_console_resize(ds, 640, 480); @@ -220,6 +227,7 @@ 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, + .instance_size =3D sizeof(Sx1MachineState), .interfaces =3D arm_machine_interfaces, }; =20 @@ -240,6 +248,7 @@ 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, + .instance_size =3D sizeof(Sx1MachineState), .interfaces =3D arm_machine_interfaces, }; =20 --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636302; cv=pass; d=zohomail.com; s=zohoarc; b=bP/cDVAFhrYmpiFP04yxGJS8IjyLfvlDX9TI/jIgsAHfzr9dspdM1UQ2GDHKHGTmokyWBtV3tiDHpHB3E7HRnLCS8Jyoy2R6Ndx6qWFXTnyeTN5S2ko19W5ovvbHwYkdamqwVh/h/8B8U+MFC5QOffDv2hctNULoAADgcD6oGN4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636302; 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=CjP6ePO9vPArWf2CSSzFlCq9g97uurX56I4ZNbKeb3A=; b=EXLgxdIbz+hm0aZsF6MZrl3PoWgoUnqX2MfEZXbxX3ZwojpbKWOTWLrKrcgXk5d4wAPY7/R0UjnD7cfrqFOqo1EBOVZqbSdoprXp1G6raLH3EgwqtejudJG3JmdWPHx9jQGj+8rNn4pcRHgxK3RrwYpS9X3ECF0NvhBR1ApRCKQ= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636302591623.5793128864501; Thu, 13 Aug 2026 08:51:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXi5-0000HJ-Ej; Thu, 13 Aug 2026 11:51:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXi3-0000ET-W8; Thu, 13 Aug 2026 11:51:12 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXi2-00023y-D8; Thu, 13 Aug 2026 11:51:11 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SEZPR02MB7537.apcprd02.prod.outlook.com (2603:1096:101:1f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.15; Thu, 13 Aug 2026 15:51:02 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:51:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DOuWSHppVKXHLZCJKPDIGyVrQewa8ybNWePsDsLSstTYQJdqU9SFga8gblDtemz+7P8ZyPxFnGQoK8Vj17/2Vl+jD8G7isn9xN3DDMjSBh+zprn7ul9XR7UvOVluxamcTq7TjBxk3ZC4hA05NEZWD/VYbbpvQ7zeR1bLMlBOd3oo8zKQnbqRIXbBNEy2W10ISG+y/I6s3bevRdO16nOIDfE+KgwtGPPZLynFiSNffW9WjyRlcTyP89RZJJWwV8+o7m5nX9aXDv3LVr/+Nxbteo1hpbrbXW2YTgzw+xwAzkFDTVykCeHtekI3fRg/P0D3s8XTVcdipHmBZ0zZzO5NUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CjP6ePO9vPArWf2CSSzFlCq9g97uurX56I4ZNbKeb3A=; b=rWT0as3yfPiOSVM83TZk8r/bOyU4dZvz1hViH05hemH8YbYg5JxL69ytgAajKqfEV3FBgeWS0MecxCHN5wtopPEprnxaujpZ2XPfvhRXdcJRqcJWe6Qg2Yg/poEFTL7IpdgNH1+/gROiFgjUipTSHIcDcRV/ToogCZIa5R/A9XQQPe76Vc6RPbmuEMwXXaDrQpiAkWl1WP1uLtUapxdpg6CsiuYc2hnf1xcwp0iobZLeAkAdH32JBUx4+FB02bACIFxV3YKo1Mj45GlwbrAFNiyk/5QxF4VCYESIHgz1XVPrZcANg+KQ4nhnZwuIB03IFINjoijFfFbiOoL45ygMlg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CjP6ePO9vPArWf2CSSzFlCq9g97uurX56I4ZNbKeb3A=; b=dDgYPoPlFNv6mdNUi9Vgagj7X5DomKYXx6NmLjfwrcCsi/KNS5zjZvgOXGjSLJN+Jr/iJMfKVw753/iTXNlD8BplnzSsghqdpuIcE8ObLrh6duf/Vfcwt4u147hvfaZqRG56jhkG2kGsQi1wQ8MQ+KVVysPXlQ6wquo15iRkhCyrSI3KOzMsogMU17PG2k43VJHQKYc3G1hInCiXv/P9Dv8ZVtEjFABDkNT4Y8DHEBn9VhEI7rUEehVqvwYe3nuY1J1ktVvxOHu7nnttSUzZwZHmieK4OenF6RtXrh/MrZsfsaMaZc62GGmAJp02MucgSXwSgB2VlPv9zyYYLu/shQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Niek Linnenbank , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 16/20] hw/arm: orangepi: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:04 +0800 Message-ID: <20260813154918.996812-17-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SEZPR02MB7537:EE_ X-MS-Office365-Filtering-Correlation-Id: 0324ba31-7672-49c8-3f57-08def952ad3e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: qCNfCWB0vs/G+9z9LaupY5SIpC4X8aiMLRWkUpyN6Xp9EZ8HzebiL6f/ubzFMHK3a3gNVyNFPCtmvmmoDWPs7Yit5xpTMt+zDBU1fF02Tw+ie50EylRCXQi+etAexrOCUyhFtz0Dq8blkWWD+wP/wHXJiIMl3oi7m9LtRanvIn/WHHmsg8Mv2OT5ji0636nmDlxp+EpKI7+dQtSVKfY/s2LT+UDa3E/YrYYme56M3K6q2mwS0jdyudldmJFFfwmTlLrxWzYCHen8vmQtAKzKm6FNXaYnNaPyTRnzb1XrI7OEQKBBrSV5LRGcBcQDg3RFRDW8SlhfcBdZVubpuWNVVVoFzo+t+bLHPvefWlL+Iolp5Q4TxcZ5lKXr1jgAjSYg2PgEVImZm6Y2SutKhDCBku12flt0kWaDEXM13BsACJFqzejHhOjjso8YT81YwBCHz4GWat51g1RFO4LSMJTR08nOLm0ZEGCkuAdoc5TbVU9ZAzGCt/CPSo02n8AXakvBz0aCe0nBcvuzZb9/SxAZ0qaRHLUqgU9b3Nbtu95S+K0Frjrj/zN7gnZOcySzxDl3tmu75UXEevO6ytdm6iA5D8rDznCtX1kVZkDxnD4LYQeGwWIvYrAaIfmuNnHdGYaBV07xlzGfjDFecwkMOL6rGqKKni5DC5ZJMXvCbf1RiAU= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MG3fo/VzPTYh48mrBXbiLFbbhOyYvHShInOAsIlGAnvV35+dazBf/ISsH31K?= =?us-ascii?Q?bpm7MlAvd8lQXccYHPx+0au+aiFj/RbvrWEEhAxxd4Ga/5s6y4nE1xmccTIe?= =?us-ascii?Q?VVrlT8XU3qNgLdDs986qlmjwMHnoJmTkbHrOLH7vR5xfWcOGlZNkp9OdqHpU?= =?us-ascii?Q?+qs17ieOU2FxXVJS4JYPEp1GSeAuv9FyVPh+tDX1feq+cErwDeDoPPJ2uLoM?= =?us-ascii?Q?l9e/8DxWy2oZmqUlSYVjbImVCEDfMBzPsNhSt+iEl06BzQrnnJVbfZBTh6zK?= =?us-ascii?Q?kz9illkW6I2av26KJFo0PtjPMCblxDxyhH/8IIi54KMrhF2OwtWHsTLRMZO2?= =?us-ascii?Q?XotRiN1Q/iJYUJOGtNHxDnlnOG+AyQX8Ao+XLrEq90elR/FizgTdxy+YHolu?= =?us-ascii?Q?OsfNKoUBZJKrJUlnzCKfWCRCSm1AwFQprG6M5Px/X89/+Cn+vCAKwuW/EVNP?= =?us-ascii?Q?FHG/b4xycHyCXAvV3LMYfzJu79HlRknCToKeDXxnGUJ7OUEkKERdghZv5Nvi?= =?us-ascii?Q?fYX1tI7pN0AqMAL3/x/ruwpMzg2IeNxGul5jikcYct4+15N+u3w5VDz/Glfs?= =?us-ascii?Q?Wj1bT0US8ncLydLKYPyvR9xxwmXcO+tuETGsLJLe6ALCSNK8s6zoY8ZGIsMm?= =?us-ascii?Q?SDCeYnygB6LvG0Y2EM2k0ighYcuyym/+1lZ3VhCeVAVL1DhV8ylH5cnP9V9e?= =?us-ascii?Q?8O+MMDebNZKyIEvtXh/OeHILs389rPhUglgH6iMcmCmXcgqDuW+HLJWBPNGE?= =?us-ascii?Q?kXkIv/GRSzeSYwwG/Vh5obGLP1RBDAepjoS0+y1o5C7L0OFkAjnKwvuJ5HND?= =?us-ascii?Q?5ENvq2v/PHC4Gabk3cmwhYDTvEIujH6CyD8voAnVRO78rIfSoXOdqV5Aa1Mz?= =?us-ascii?Q?c36f56s86eeBYzIyGqhIYdBoGGoN1jCV8ozyPiXF5Hp4KY+UV8eL/dow50JI?= =?us-ascii?Q?U7OTgwC1w5OyZgn3cPYzKnnkRp4nz0pfoy3AmsTV/Zo065WkTMYosilYfsx5?= =?us-ascii?Q?OlSM14LeOmP83ek+HLqOvYjsXxVxFacjM30+Pwab7fMBP4hW0t4DaXSgKJ/+?= =?us-ascii?Q?XgyWwqvb21vvIsMOaU1g4CTMtFlJfXUCKDUoWRwqZa71bVyab3Jc8hT7lADy?= =?us-ascii?Q?cHZMxAiiF7aNee4oPIrgz2RTOto8pHAk4qxShVzPhqZDAuQYYL6uZ9DTl9Vq?= =?us-ascii?Q?+4hUj4xPOjso8kjvlAlyhdZ0h1y5i7i1fdUgGkRwoSLvNUgrXCCcT/N0rdGB?= =?us-ascii?Q?5DQJRqeOEHfS9RE7A7PiaoggCu2FNp5X8+kNFsezsgJvjUdf04ftDIWqTYxg?= =?us-ascii?Q?pCCbCmVCze2T4IZI6922LqL5NXQ/qnrY5Q+tA6shGlCvLLw6KCgJc2s+lE88?= =?us-ascii?Q?AhoizTupjCM4tJ6LYQJCaUEWUK6Ui9AuazMHTfoUQELY3Thxwcx8IF0KW03z?= =?us-ascii?Q?+WGLoBYsVIdVXmTQvGdIBwBYW3P/awKOh90G1huufY5VCtSL+AISNJG6by0B?= =?us-ascii?Q?S/z42jF+nRdLbSJNSNTgjxhmz67PDgN8HLFM/4BftTsOd8Vf4z6XGcEDulXD?= =?us-ascii?Q?12Ood/eYGfeLX28FEW0ND4oZV/l67LnnI0c1F+ijT0Qx8GI5ZSaR0BX3z/5l?= =?us-ascii?Q?Xk7ttRMmEtNA4VxLod63PNw3IHFlJ0VMJm/tNH+lCqsOhK6sr9Zw4M+v2+ly?= =?us-ascii?Q?WXST84xP3nvUdL65jcvtL1vH36ueQsFDBNj9gUpaIikBvyXgaAOTl90raeeR?= =?us-ascii?Q?Ai3YK8MmBXgRKHYxXqb5iLxN/S+tkRI=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0324ba31-7672-49c8-3f57-08def952ad3e X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:51:02.3307 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qHMJKvnl5+eXw9CDSTIkxBOPiCdPuy2SyDs8o3pMIkC1+3OdVXB5v0znNhRDCun1jLvkmqy2yHsaZt68xIurvVoX7KMze70HZGcE0n4ZRVw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR02MB7537 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636304717158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move it into a new OrangePiMachineState and register the machine type explicitly instead of through the DEFINE_MACHINE_ARM macro. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng Reviewed-by: Niek Linnenbank --- hw/arm/orangepi.c | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/hw/arm/orangepi.c b/hw/arm/orangepi.c index d84443bb7b..5b2c13f364 100644 --- a/hw/arm/orangepi.c +++ b/hw/arm/orangepi.c @@ -28,10 +28,18 @@ #include "hw/arm/boot.h" #include "hw/arm/machines-qom.h" =20 -static struct arm_boot_info orangepi_binfo; +#define TYPE_ORANGEPI_MACHINE MACHINE_TYPE_NAME("orangepi-pc") +OBJECT_DECLARE_SIMPLE_TYPE(OrangePiMachineState, ORANGEPI_MACHINE) + +struct OrangePiMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; +}; =20 static void orangepi_init(MachineState *machine) { + OrangePiMachineState *opms =3D ORANGEPI_MACHINE(machine); AwH3State *h3; DriveInfo *di; BlockBackend *blk; @@ -98,14 +106,16 @@ static void orangepi_init(MachineState *machine) /* Use Boot ROM to copy data from SD card to SRAM */ allwinner_h3_bootrom_setup(h3, blk); } - orangepi_binfo.loader_start =3D h3->memmap[AW_H3_DEV_SDRAM]; - orangepi_binfo.ram_size =3D machine->ram_size; - orangepi_binfo.psci_conduit =3D QEMU_PSCI_CONDUIT_SMC; - arm_load_kernel(&h3->cpus[0], machine, &orangepi_binfo); + opms->bootinfo.loader_start =3D h3->memmap[AW_H3_DEV_SDRAM]; + opms->bootinfo.ram_size =3D machine->ram_size; + opms->bootinfo.psci_conduit =3D QEMU_PSCI_CONDUIT_SMC; + arm_load_kernel(&h3->cpus[0], machine, &opms->bootinfo); } =20 -static void orangepi_machine_init(MachineClass *mc) +static void orangepi_machine_class_init(ObjectClass *oc, const void *data) { + MachineClass *mc =3D MACHINE_CLASS(oc); + static const char * const valid_cpu_types[] =3D { ARM_CPU_TYPE_NAME("cortex-a7"), NULL @@ -125,4 +135,17 @@ static void orangepi_machine_init(MachineClass *mc) mc->auto_create_sdcard =3D true; } =20 -DEFINE_MACHINE_ARM("orangepi-pc", orangepi_machine_init) +static const TypeInfo orangepi_machine_typeinfo =3D { + .name =3D TYPE_ORANGEPI_MACHINE, + .parent =3D TYPE_MACHINE, + .class_init =3D orangepi_machine_class_init, + .instance_size =3D sizeof(OrangePiMachineState), + .interfaces =3D arm_machine_interfaces, +}; + +static void orangepi_machine_register_types(void) +{ + type_register_static(&orangepi_machine_typeinfo); +} + +type_init(orangepi_machine_register_types) --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636459; cv=pass; d=zohomail.com; s=zohoarc; b=OssYMNYBuXl2HTjibg5Q/ZYWqh0Td/n7izLA/u+OQ4QSTf/n9Bwzp561FrIl6nUYPK+HgCp5zCm3bT/QNecWVSFK9mPSgdBPYekihjjMS/8JVJft/1XQNqxvcMn/teyPjn8ArYzKhFCgQFeukqxF6wTpNL8D1HvFEWtmAI978iw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636459; 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=/AJg5ZJlQk+3HHEYUO8QRzCquawWJodGRo6i5lObuTE=; b=ini+XUZi3DwIxkm99XCL3WFXBZg18YMRyfVL3cINAxrrgwlDps3EnCXCrcVAF/lzHXHmY67ekl0G69LHC+UE1yjPISlaBCf+VcjE5d6/BBDTEJeqLC81k1e+RN5P4HZYcug+SdDutpQU4fAy+YKP1G+nvb61ni64MkZewPqASFM= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636459709452.5348088160755; Thu, 13 Aug 2026 08:54:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXi8-0000JK-NR; Thu, 13 Aug 2026 11:51:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXi6-0000IX-S0; Thu, 13 Aug 2026 11:51:14 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXi5-00023y-3v; Thu, 13 Aug 2026 11:51:14 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SEZPR02MB7537.apcprd02.prod.outlook.com (2603:1096:101:1f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.15; Thu, 13 Aug 2026 15:51:06 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:51:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dMUS2ojfTVyQIY1n73dqkuse5AB6FSHBseLoLvseoR7WEEgsKiqwoNZEVH4/TfmELOXp1Tg34Jgl071hjCo5w85ZQwmj7nopNVE2BKLSQ45DxF9R3hY+E12WQBr/9AnlTy8ADk9gRPcw8X/WAl2Ys46ASI+oW3d8O0wDKwb/2Xe1tYV5PW1PuM0CqHNX7otuhH9LpFqoxZEBmDWjuSyFPFWYtDIMMBJhY24r7YY6x2mXmQJzEHpbFlSmi/9Wk/+s8hf0T/OltNIeNxYSFMW0t1/+1sThtoxl9z787neNt3O7adZ5UzeFboF8063mgDySONVmRgRdSQg1ztL+oFKW4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/AJg5ZJlQk+3HHEYUO8QRzCquawWJodGRo6i5lObuTE=; b=rYXIe2CnT+fw46o8kmt71k8aX3f5E6V5UguBM+dpeqx+DqSmt3WTaCzaLAfda95ym5JeIBU5cuxMLDqB8qlcYyBfApFKRgry0ScPmP1eTCFjCuYytOxzA4dGxPBO4h+5Ace2fyiaI4a/xW+3cFRvOT+6uMvBZ8xuAYIMmv5B/1hEq6SqqjNZn4wgxZdmXlWGvL3XVaMcCkdK32ESFe86dlMKgLXTdVt1+Dqu3Fh6m6xwiTfrG9ihUtKUE173Tj0sCd0vf4l+gme8w91Z+OxHOtLfo/9vaBrnggDYsBDNNAl4u/qMwJgTg9xyHSkOylHNKLrefAImwmyHIVY388JRWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/AJg5ZJlQk+3HHEYUO8QRzCquawWJodGRo6i5lObuTE=; b=duPU3TFldCKea3MyW1jvELFCZ4RM5sHz6Vf7q079vPwCREwGIRpfh399XdxPaL82BrmlmSxjafP0r65JAg2Q2v23CcmFxYrTkQObIStXqdyVkdne1MtanjG1MyM1zzlGHfdF8nKDLqDloq6rbnLrNmjZHPLGa65ghBMGvAWh91JTSImuDTmrx1jnESuXDOtktf1FjI8n3xUWzSXewhG4++Kd86jQsyVVXwlABGRZxx1zRUvgR/PS9dKQobxhDpkIkvW96xgXYS1gzh+Kh3++T/QZYnlZfZLis8+6ZCSseYBBxb81UmQxXrCUU6A6MbbMUBajac5EsRMUNOyrkfK1vQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 17/20] hw/arm: realview: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:05 +0800 Message-ID: <20260813154918.996812-18-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SEZPR02MB7537:EE_ X-MS-Office365-Filtering-Correlation-Id: f2f3fc06-c5e5-4f3c-549e-08def952af5b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: rWlxcQzrWN2Jw1Zf4sJlHiiyF1/HJvlbN9IF9glixJumY0gvDxX3zMXlcQs1didzojZNHRPgep0R28BoGkMogubuos3BDobmcFPn3aqHNnrgo3Sdit1LccunLNFTqVUNBIHLzk9x+SvEvlmgt0mvDQqEdBPerb0MzISuJNxA9hHSVK/RBj7FNlWhSLUP9bW8ExPkSJ4aoNhAYGMSuLfQOVKzd5tbfFnvDcqSiSOX5c/vHHKiH66axE82GTukAUgASUCgtAEjJ0hI7aUstPrbD4ayvSDyB3M9IlUFQigLBGVPus47qv8EgzTQFd4UzvuSJEIc4KVQUkTa4x9kYLgNondNiOrq32WxqJenoHrJdikHWgGgSBGzoFLFAe7WfewPzsQ333WE/mApWwk1xHEc4tXi1yWjPLEmfq8bWKED+ORGUSSAKptZU1wMdvKZWfrjP2c/6c4dih1S9Nj8fJrsl1XVomHU2q6PpC7ShRxyUM1f1Hw3aoQdIdonEUxJgEEvBHSpUJDM4JZxUG69Jx9/4mvunUGY6Z+HrmiKh1MKSEBF0IQWG2P0Y0NBAgpE0L8eSFmecoCYQ+F1XkdS8RsFOlk6aTLOTqCVM5WqW4ZOh5EJBKkiqYk9tTWz3pkb1mHeZRRIi8M1J4Naw0FkKCdSh5BlMVlODiNpAcZK+vShaSo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LeWhhIlAzF5OFlYVu8BvTWFBB8boD5U0FmrDDw1pN0J61z0Px1giASdIaDnP?= =?us-ascii?Q?Qlagy93Ywl7wjLCwmg5l2uDyWSnc5xUFIf5PC+7swjK9vlSjvcbZPFzDoE7g?= =?us-ascii?Q?1jVLXbKS+ZTsNp58THd6Makyrfaxl9/Yio2Kf7Lm2ELxc+EerJIzhBcy5OxF?= =?us-ascii?Q?ERM3/WTjBhtwRfU6s+3MpVZGuRBCwfnH23Ht6nCQqa1AZtY6SEn2qLCc1k4z?= =?us-ascii?Q?9Q7Uwrkmu6CWLA0CrFYFh2crV4LAPExcPcu0nmsB3UEi8GBNoqCRnfIf4qRQ?= =?us-ascii?Q?rTHzfPn7QfLjbHNxqw0raO+LiX2IVk3+9eM/Wgwwp6mVXM+RkxI+DxeVisKc?= =?us-ascii?Q?chM86Y0dQWD8uQJQ+EIPUetfCG5cUX/KXNoZorIW2GUcw4MtowXcoek3fOhy?= =?us-ascii?Q?cCGfygTpnqv7P4t1qcWGUxZ7ZicihF+iv6vaIC3Tris+UdQOLYfb7Gjrqd1X?= =?us-ascii?Q?kqtoUnf/oMMYyXrGOp503J5WIowIKqVhYjSEvFrPoYzdOSWpYWYxGB90+UMU?= =?us-ascii?Q?ityZMvnHP/i9AU2o9QkMb9XA6+w+UakxNJMn4hgFflV0/zr4gSYs0sWUeXzY?= =?us-ascii?Q?bdxet+++lA6s+DxIryHjS0A4Q91igkfpiWF+rhyYAJYNsXwnwFPQ2AA2jTHh?= =?us-ascii?Q?FzDJxMGy1KgAabUX5+TsEO6qhFGZuH0gqNR2yhaHSKIoLPpjSvOmFXgKoObA?= =?us-ascii?Q?LMkH8IViaRN6qS1txiQbaVEp6Txo1kr0b5WnoUWbYZqzFiT9U5Ivv8yWLBES?= =?us-ascii?Q?UZ/AaQzIztPd/nJHMWAaHqfJpclmUvS/Loz/AbiXMWwUYmeLUfKMoI+8SEDT?= =?us-ascii?Q?v/DQlOhB9eTq8rpm5ALnLIEL+DdY/md+tTmoBm9ZRsW4ZC/jF8jH1Q6qUzJv?= =?us-ascii?Q?waboISen73FHepM/9B8FBywxTXTxB5suQESTzC7KWXV11nnGQg+Tukt4+sVk?= =?us-ascii?Q?vL+zOdbLLAPRVmX9VtreDPGGt17UNu0LmwPdv3RrYADQSVPgmqJBcvZ3KCbk?= =?us-ascii?Q?BGGYpjOTKstTmRB0bJlznNyoRsWgv3uBVIYfty0h0MMs4VNta4SRc2LN4ozo?= =?us-ascii?Q?nucbw7JdzzzRMpc+rUWEWfmSmEWnpbZs1O5BGwsxubb62EdtOmye2JED6s8E?= =?us-ascii?Q?p/6AAduNMQG65/ymDmMJBR+OufVwVGxhnRJA1IX/Tp8hdnnD0DlVzhyf6B/J?= =?us-ascii?Q?qLZWNcUq/mJuzRX/tyuj57tZR8NuaAsY0oGc7Yf3Q228iEF9KGHltQog2zxp?= =?us-ascii?Q?n3w139wlbd0vo9lLJ1EabGiD0ccsclcHCUUwtbYIMkQfVSt3g3Fm9UR/NX2M?= =?us-ascii?Q?1446v2PHR/D2S25YAEHSiUUOGmNhQtVpP6BkuTjvx4uYdTVuiKeLzoGIWcsK?= =?us-ascii?Q?QLS6i9FolupTrjqa1Z1XUxh5gEIlhphCFyhTt/HFRxCKjY/kGTsIhPripGN+?= =?us-ascii?Q?byfkHPi0hGOoXUpTWw/Wf3LcjSvYKIdz5S5396PLVP1DKEMoZAAyZxL0V3JN?= =?us-ascii?Q?Rn6YGa3tZtbcxZGstTZIRfdmjtikeTUkJsWq9uIqxNfNNAk8JjtP+d7xB2mr?= =?us-ascii?Q?V7bFYjrxbvUufcYYHi1ItQ+1G+7zYZBSCIKEMXL/gbP6TuoNC1t3OQw6Kme1?= =?us-ascii?Q?fV+mvEbiYV22oxIafTQi0uEL5eVSoYF+C9x4QC9pu6S0buQIhWDSzj33aCnp?= =?us-ascii?Q?hhBZ1UzzhCj9qO4F7OuYYdW59orcsx7v5gfVRSw/DnCAUH9hupE0Qiyh0Ad3?= =?us-ascii?Q?fh0bI3dveHjf8wof45codoFTLTpDum0=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2f3fc06-c5e5-4f3c-549e-08def952af5b X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:51:06.2101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 35wRmp2W/rGyfdOppInX5DyTxfuFwo3+u1E13fkQP8GqT4l9XikumB62FlZknYjRkkMTXtcmsXwX074EgeWozssd7y9gggg+N33xriZuV7A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR02MB7537 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636461627158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Give all four realview machine types the same RealViewMachineState instance struct and store the boot info there. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/realview.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/hw/arm/realview.c b/hw/arm/realview.c index 2b9f3271d6..e12da39870 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -39,10 +39,11 @@ =20 /* Board init. */ =20 -static struct arm_boot_info realview_binfo =3D { - .smp_loader_start =3D SMP_BOOT_ADDR, - .smp_bootreg_addr =3D SMP_BOOTREG_ADDR, -}; +typedef struct RealViewMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; +} RealViewMachineState; =20 /* The following two lists must be consistent. */ enum realview_board_type { @@ -76,6 +77,8 @@ static void split_irq_from_named(DeviceState *src, const = char* outname, static void realview_init(MachineState *machine, enum realview_board_type board_type) { + /* All realview-* machines embed the same state as their first member = */ + RealViewMachineState *rvms =3D (RealViewMachineState *)machine; ARMCPU *cpu =3D NULL; CPUARMState *env; MemoryRegion *sysmem =3D get_system_memory(); @@ -202,7 +205,7 @@ static void realview_init(MachineState *machine, } sysbus_create_varargs("l2x0", periphbase + 0x2000, NULL); /* Both A9 and 11MPCore put the GIC CPU i/f at base + 0x100 */ - realview_binfo.gic_cpu_if_addr =3D periphbase + 0x100; + rvms->bootinfo.gic_cpu_if_addr =3D periphbase + 0x100; } else { uint32_t gic_addr =3D is_pb ? 0x1e000000 : 0x10040000; /* For now just create the nIRQ GIC, and ignore the others. */ @@ -387,10 +390,15 @@ static void realview_init(MachineState *machine, &error_fatal); memory_region_add_subregion(sysmem, SMP_BOOT_ADDR, ram_hack); =20 - realview_binfo.ram_size =3D ram_size; - realview_binfo.board_id =3D realview_board_id[board_type]; - realview_binfo.loader_start =3D (board_type =3D=3D BOARD_PB_A8 ? 0x700= 00000 : 0); - arm_load_kernel(cpu, machine, &realview_binfo); + rvms->bootinfo =3D (struct arm_boot_info) { + .smp_loader_start =3D SMP_BOOT_ADDR, + .smp_bootreg_addr =3D SMP_BOOTREG_ADDR, + .gic_cpu_if_addr =3D rvms->bootinfo.gic_cpu_if_addr, + .ram_size =3D ram_size, + .board_id =3D realview_board_id[board_type], + .loader_start =3D board_type =3D=3D BOARD_PB_A8 ? 0x70000000 : 0, + }; + arm_load_kernel(cpu, machine, &rvms->bootinfo); } =20 static void realview_eb_init(MachineState *machine) @@ -431,6 +439,7 @@ 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, + .instance_size =3D sizeof(RealViewMachineState), .interfaces =3D arm_machine_interfaces, }; =20 @@ -453,6 +462,7 @@ 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, + .instance_size =3D sizeof(RealViewMachineState), .interfaces =3D arm_machine_interfaces, }; =20 @@ -473,6 +483,7 @@ 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, + .instance_size =3D sizeof(RealViewMachineState), .interfaces =3D arm_machine_interfaces, }; =20 @@ -494,6 +505,7 @@ 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, + .instance_size =3D sizeof(RealViewMachineState), .interfaces =3D arm_machine_interfaces, }; =20 --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636327; cv=pass; d=zohomail.com; s=zohoarc; b=PNhCZSWACH1i1ocNr+wGHlYtmS5GK1r34BLuHIuR+lUg60qKVTDvo+3eplxd1YlWVJsiUjGHZpdPyqRs4mEIycXpYIDGEbg3Qr9m++i4enqB3T1GKntkHY5yKzNZPCrkd1B1w8j1VDPMZH9ezm57/HKGAlx9nPC21zGaLJ8CpAY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636327; 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=2oEqVpIMoqLkvWmwuUQ9+HABT5D06l9DLfIiPCAREyA=; b=CEvmX5MOQNPcxKjnFPlhTIcdCMGLmRgrm8Zd2x6jpZYsMxFjvgZFTQ6ztGTc0UcssaDmZPY4LXqkBIZXIClEUow94vonbxujgdwIIZct5Z02k59NmWO+MV4BuUxw9gbpdLFjYbWqd0RvBU6KXlv7mlJVdwGnUcwovgKY13YzWtE= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636327941261.19742360266787; Thu, 13 Aug 2026 08:52:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXiB-0000Ku-H7; Thu, 13 Aug 2026 11:51:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXi9-0000Js-Ah; Thu, 13 Aug 2026 11:51:17 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXi7-00023y-Qn; Thu, 13 Aug 2026 11:51:17 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SEZPR02MB7537.apcprd02.prod.outlook.com (2603:1096:101:1f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.15; Thu, 13 Aug 2026 15:51:10 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:51:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hINa0b0KGI1TTFtSo4nIyaM5QD+Q+UdSOkaZtTlHZbYWxmFQnrKoMk142pYpq0DrwFaImoKunZyOds1UlSxr0aYcru4DPgzY58hN1kPJrA1zcYL/xLoZlw5KQAZGg4mD5mciTsFF/0bd7Wh5GGCGaMHSLDaHw27QCp8DGz2wCG2Ocs21u9wAmqACucQ1E45fCV7pA9x3TqlhciJw79A1U4y+zVBpcdl1lRm0EJa5IOGeR6rRRbRuUowNIfNznlFQc7MyIFcAYSQCbYiNvCGSA9bP7FwCAwcEDaUWw59bJ1kkfieFBlkqdYuNt10n2KhG2TXMInemWrUYRjvzebC93g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2oEqVpIMoqLkvWmwuUQ9+HABT5D06l9DLfIiPCAREyA=; b=uMH427M/Ft4eTpLmFtJkMQaZbZG/HS5d9TBLEJGob5DpiXNCcJxk0eFw7lckAHtA+qgUvuM6fUaMBLhXN1i1ecVAZgC7TNe1vExoPGbIqacb+gvn1UBKc83Y1CSIaGa3P8bM0vQDmAqCGiPhoUieg5yb/54Hi5P0Kc2pEh2e6plBAHnuHninN+3sbehD733NY0bi8QykNPJofr/pAE14Si5GR4lIdjuF3NsQJjOF8TSJ0/4aeb4XXwcutjagA1xm6FGVSGJy7O/R62APBjOOLzlOxP5KIiRUYFreXzoOqEO1dB93az5TQMBU7DY6D7btbd9VghQXKpqqs6Igh28wwg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2oEqVpIMoqLkvWmwuUQ9+HABT5D06l9DLfIiPCAREyA=; b=NvldZUHGxaLT9vEcgSjCeJmaf6RVMUr8n0Pcm21tG8hem+VDWTvVE0DN0iwh40k5H1b9frRee9U6bsfzAZRfBNQxb0R+qk9OVTNd/DloVuqKAGN+5nijFBF9SUwgugDgmUF5/rKYbw8Qy3uRAkrQm27uo4D8Oa3YrjhpkQ7QvGs9/tqrQz1OeXqQ+9oRWKv3BtgSUJj2xANOLx7ctnIwogFZe8a6l70nnGkNTAHxKVW5AI9o8ovSEOQ2XG2mE/6cGTZXdjkPMQMshmsV5luCX81/ATISQrnFkd4KwmBp/Nd/5Uks/L7zrjPsUMVJykbezqXylumDDa3zRYnAPwcw7A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Jean-Christophe Dubois , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 18/20] hw/arm: sabrelite: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:06 +0800 Message-ID: <20260813154918.996812-19-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SEZPR02MB7537:EE_ X-MS-Office365-Filtering-Correlation-Id: 4842dd8b-c75a-49d9-c9ce-08def952b1f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: iZkw7HYU4TigP3DNA7FPfg3Ts9l/yh1Wrq2GJXteRzHUxblF1uP0CwMR8fPH5MIcpphagN6mxENIIh4UHWGnW7qj80j6wVsMivSQksmkga+qpwykx/IoYRA3+KQHW6+3hGD2849V0dDrPt/2IZcYKtZdjyJxRJpeavqIAi1OYosEwNWKLsl4ZJKW4Yo4hZlpO2gVluJ9AQZrms6QRiORN0KIcV1Jl0A7fMPfUCi9wQf+Cx31OseBexRy0K51YGxirTN2vWD+dJQDI0OCQ4NPXJzs70StPH21Q04pLZKrwCGusev3YsGuuzI3CChW+6SMn0x7Phwa3CcPfqHdq2PhQAYBlAWsalHPihN2iKeSTu4rjq9Lnd7O30I0ld1E55HUm/++jBb4Fo1lJwfegQ9CP7uLI6R1X7GnlUG9YQsCBnslK4Bd//i+8bGmRwaCC/zc1Jon6vNzdLYZaaOmnomv/N3WWUiplwPUdSKxXfLwfTQHNUHUfvkgLdVq+ZuMhv6e57z+qJLBW4+mE8TZOR2Q3wPsTKcWwkIb/4Jw8nM0zsxTOkH9MIpGxDa7du8aA7F9gjJXKR5dYLptx3FP6m2/Yrd5dPFTuUn2JtFtbKxoXJ/di3mt72PBueuofwLspGDnw1JlS2z777NnDC1T77owptrW/vP6yHnj4ebZMzIppt8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/zrZ7l57VUWCdmNzmZxBcW9eqbZ1bEs5Je4xZkPrR6OUA8eDOrBYFkzfuRFn?= =?us-ascii?Q?T02VjougBX7z79nqwgo4zzbAhspBcNLJWRv1raR6vQLWNN+NUawAk1VPr7LJ?= =?us-ascii?Q?E1ZZpRrhS6aco/cNxvNfjeMv/MIJc/T5sGQ2r+4G3VIE71oRf8vixzRPjSYV?= =?us-ascii?Q?k3GKedWrAh4iAxbRmW4r2HYyippZjDqcKzlPkyPIrd6gp+ilJaHNqslC1uvA?= =?us-ascii?Q?PhOpJItkNrqNLy4DvvQT1BUSE8hOWh+Cb0tkoDDqJaIH6x9akWnALFZ+qhAg?= =?us-ascii?Q?dUTAxY3I5bfd7zOupmNEHHv98t86orCidKnCxsg0M/UNTgzymTlUsiB+M7yq?= =?us-ascii?Q?l3QNO/qh9YVGvuBQ5+Ppq2Txbh4g6B1zVAyOFZi2Q9gIap7rW8jk9ZpP9e3p?= =?us-ascii?Q?mP3+wFi+lt7WE2kANUHqE9RPZ+ftNoFJC6zipuDb4yuNS7/JHEzf2Y7+DY+H?= =?us-ascii?Q?vnoGVPEVua69E4Yg2PUV54JAThazX0fTPqYwLAjXJigi2dDij6pGnfLLkp9B?= =?us-ascii?Q?t+pPBogSPHnFQ00BPVW3jXb7+0DLSFLkhJFDzFdgNeFHg37pRo4KdQGHfqP6?= =?us-ascii?Q?VIj8hb3tdRxq7E8Un+7mV5P0Me+hZQs+Qq9AiJTP+b659QFgyatuT/E21ACn?= =?us-ascii?Q?pbvw7Ir3Zqgd+EPxItcPAjA1XhSy5sugmgDt13rHdtygChx0vrmbL5w/1ueL?= =?us-ascii?Q?AcRehuKrINOG4975PKbL81ycuUkmRUQyqagGcfzA1V0IXdb1DXCOGal0nq2D?= =?us-ascii?Q?B+nbFgZ5k2y1K8un8MLJl3PvLY45ug1l/PRaGV6l1DzDTf1pdq0QFZgG9M9o?= =?us-ascii?Q?89YCyJlxVoFFGCaDVgNgSA2EyWVe3M0BpCQv/eOl4SFF0EnF9kVSQ+Qn3nzF?= =?us-ascii?Q?/zD2Sw7OSnuM20/C3sDgahZHqgV91If6j8xusuxbD9XACn3HABdUpWKbXFSL?= =?us-ascii?Q?k1IJx3Ba3oi9HdHAyNY0zMC55IqTJRlAhnJipzEELzjMFSJ1IByUhhXQ2PDv?= =?us-ascii?Q?WO7NnawP7Rutg8Appjs6VWx1VHSxgZLbpSwxSMGHGiD8mYhP0JEovMjqPaqB?= =?us-ascii?Q?jzCHg6U6H6xwEWi9br/IkMkXA6uqaU0BPxW66+A4XyZklxxyElo7VVScRFw7?= =?us-ascii?Q?ZpVMBn9ulvcxQVeC/+qe9elLOLLNAdwWjHrjXuO2T2Nr+m8DsJdi0RG+cEGp?= =?us-ascii?Q?mK28Je3SWo5prxjD/EWOveI7avMi6aViz8JsB0byl5QopD+RQlPROsQtQ8Yc?= =?us-ascii?Q?PnS/9JbkXpoRdcFQhth93b73yU6afwujRlsMggU4ij8zaCrYKzYgvYZ6Tv6F?= =?us-ascii?Q?mdeXTMBThHghwu/EAFNzTnhu5VAJC6XcS2LOOcs45eoA+EQbk+m3gYpqJN6A?= =?us-ascii?Q?9wM7hNmskwenIvCZkloBK8uMflztzzQ4oJN1X7zqdLegq7eKsTLYJCqxjHs5?= =?us-ascii?Q?Gm3brfWVYAuNKrRLoLKrSD8rpXLfy84IN3P0Ty9r+YwXTlRTUdvFO2Uti9Tc?= =?us-ascii?Q?5bf4oeL/wTJcjI/2LPQ7txsz4vg6s+ebQngybvpk8UjF/bRsEL2dT/9mRRTO?= =?us-ascii?Q?PCTwkGfw8hEyzLQm6sq+LrQJOl2DNi5HTRlgiiPfcp6C6ejZyNUOUDoPm/sa?= =?us-ascii?Q?dPAw5EVTTq29W97Qj/IYTyR7rn+5+5Piz8NZptZWRLwWH2QipyTdcFOCccSR?= =?us-ascii?Q?XJkTJmAZXMOwGBrYDonZfVKebGPrTEwpAig+PD4VqWqw7OcFUF2BKf9cgx4i?= =?us-ascii?Q?P7QfXQkFeDmxMfUorCKar0bytt3UAKg=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4842dd8b-c75a-49d9-c9ce-08def952b1f4 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:51:10.2740 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GWJpz+a21EKIQHRFbJzSGmhKvBWSYvkt0yeBr85LQfmVV5q0j4TwH1Y9CvK3T6UMiMz+3qSwLGyX3lWGn5rtS3y/UPrPcFqu0P2SU6PIyg0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR02MB7537 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636328856158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move the boot info into the existing SabreliteMachineState. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/sabrelite.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/hw/arm/sabrelite.c b/hw/arm/sabrelite.c index 84bbc2f979..64ebcc140d 100644 --- a/hw/arm/sabrelite.c +++ b/hw/arm/sabrelite.c @@ -25,18 +25,12 @@ struct SabreliteMachineState { =20 FslIMX6State soc; CanBusState *canbus[FSL_IMX6_NUM_CANS]; + struct arm_boot_info bootinfo; }; =20 #define TYPE_SABRELITE_MACHINE MACHINE_TYPE_NAME("sabrelite") OBJECT_DECLARE_SIMPLE_TYPE(SabreliteMachineState, SABRELITE_MACHINE) =20 -static struct arm_boot_info sabrelite_binfo =3D { - /* DDR memory start */ - .loader_start =3D FSL_IMX6_MMDC_ADDR, - /* No board ID, we boot from DT tree */ - .board_id =3D -1, -}; - /* No need to do any particular setup for secondary boot */ static void sabrelite_write_secondary(ARMCPU *cpu, const struct arm_boot_info *info) @@ -110,13 +104,19 @@ static void sabrelite_init(MachineState *machine) } } =20 - sabrelite_binfo.ram_size =3D machine->ram_size; - sabrelite_binfo.secure_boot =3D true; - sabrelite_binfo.write_secondary_boot =3D sabrelite_write_secondary; - sabrelite_binfo.secondary_cpu_reset_hook =3D sabrelite_reset_secondary; + s->bootinfo =3D (struct arm_boot_info) { + /* DDR memory start */ + .loader_start =3D FSL_IMX6_MMDC_ADDR, + /* No board ID, we boot from DT tree */ + .board_id =3D -1, + .ram_size =3D machine->ram_size, + .secure_boot =3D true, + .write_secondary_boot =3D sabrelite_write_secondary, + .secondary_cpu_reset_hook =3D sabrelite_reset_secondary, + }; =20 if (!qtest_enabled()) { - arm_load_kernel(&s->soc.cpu[0], machine, &sabrelite_binfo); + arm_load_kernel(&s->soc.cpu[0], machine, &s->bootinfo); } } =20 --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636400; cv=pass; d=zohomail.com; s=zohoarc; b=cDVSHvnxQzqR+Q4hOOYxixaM+kkyX4kJQvDjSHTqTs3GjJFMTMJhr4JE+q2UhYOxUnPeYvLBG4ntTXBSk84GfPtsDH44Ky5iI98b7hHA/TXPumIb3gK1TUfG+XYohCELd8Tmzi1E0ZFqzziJtaYX1QHxsug0jWcJz9pDndPSi7Y= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636400; 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=cXGQMNH87wIyWu8NNZq1mO1VhHN+s6MFjqExH0RjmBU=; b=NbLgyY8hhnLJE8C5ZVvIRTImCccgTfxqsoqqVpwsRUwft52jXxGFr1TPG3BzuS9hYtpDmR0kpl/yo+fvlPQPAul994ieUig/+EBlqnrGSFhpbMb+tNmSPyjv6oLS5kxE/9IoM2IvmrxlfmaPstkSb2ywYSJ9lQpvZSZgMOpcUNQ= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636400606147.33385422937238; Thu, 13 Aug 2026 08:53:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXiD-0000OX-4Z; Thu, 13 Aug 2026 11:51:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXiB-0000LO-LS; Thu, 13 Aug 2026 11:51:19 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXiA-00023y-55; Thu, 13 Aug 2026 11:51:19 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SEZPR02MB7537.apcprd02.prod.outlook.com (2603:1096:101:1f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.15; Thu, 13 Aug 2026 15:51:13 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:51:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RJ1P1O+ZY+/3KQ+Ruq8R+lc1vxxqHClUjyfcPEgVIGdfilSxXB2GV92a8DLv8lJmn8/sGthuHB2byiNXqH8Yynp0E57Qr15vjXG5b0sQjMbGQ0juB3Wuqyv1juSD/Sdy0GJFWAbjpU45xsPqdKTi7dxy260UlbjX6ELFJJ3rO9Yg8WyuBzENrlWW3TJpbH1aO258k1qaWe9pUHeUhq3uijgLQ+AYL4lzQXLxJrqOcwuV2CnpE+9ajdNJ0mYygU8wMKfsZBdfRzrl0jAUheUbchtzXkIWMBgU4SypriMNln0KL44ukXaWOFXkgEC3POIOqtVqVTIyrgww8rRzBVeTDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cXGQMNH87wIyWu8NNZq1mO1VhHN+s6MFjqExH0RjmBU=; b=bVpkDjhrbW0q7BplT9JIqaE75dVXun8HVlC6qQi8+Y59ht729A39equytsXqj1L3AJZlhSi0hBxvUpmR17X0l/uw7/tx+ZXr2xSPXFowwLOxDPcjxyGC0AHBP5z/0MxBFvGTgXzvvobaHl5t3iCGT/M8bieMV9Ke1BRL9gbzA1yHVztLgi1XONyIX0h3HD1qzSULmLRkJBsWUjcPTLoKlhzzHbKOXgu9A/ycEVBaSZr0ZLHsAG6/d4JXakXXphOtMGf5Ik2WDfIXmG3RWsePXcqGHdd+p6p6erPMr9mAsY7MLl0+bsha6AKp+roLbs+flw+BQ+iuO/ZZo8VVoX2tGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cXGQMNH87wIyWu8NNZq1mO1VhHN+s6MFjqExH0RjmBU=; b=r+98M+/vhR7b4Pr7yoQYKyFxGB5qgdivNAwKSqxjxBM5zNkTwm8odEWY+Ibtw3MeEau83kka+drjW+zbh9qsUjX2w8dTbzJJ0kcHK1W9qFDfdUSF8RlLgtkhQe8Y/wIa0XR7n8rlbLDK7w4RhBPyiK9XmSjwkjmhv3fu8mCDBMMNQmeZagJC+CnRjyPmc6PmXx0RkBwZY87xvTQs/nCjmOUqdBLX6Ojf2UUAOY4wczgEWst3Qjb9DqHkpymTkXkKkMuS6cOfdKIEMfWJsy/5TAL1KkOJj+cXNANhuHLFmsKbgNvDdO64jr7RAXeMLW+73PIhuaE3lbptZ+wpv7gALQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 19/20] hw/arm: versatilepb: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:07 +0800 Message-ID: <20260813154918.996812-20-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SEZPR02MB7537:EE_ X-MS-Office365-Filtering-Correlation-Id: 050239ac-267c-4636-6c81-08def952b417 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: k7r7xxQiF1Mn2YxoFKaT6T/kD9s4YQuCozfQtEb8iKg0pWPAdMuGXqrRHUzDGMfejOzKe9Tv2lrCWW5iZhkdnsw2E+/LEUBWjyZaDOrYseh9B20iLKoV5DNDgUpRzhDIENjPup4IrROeFzJfibEQMvV7irrR2pWufDLsCWuMyt+xgpGtViMFWLrwAzoxLzV6J8IWK9iu11e3NegvtmTGRs9rcxVHq1E7v2XMeeVAgjLdBrzNrtobMxjvXS3AXnsa7y0zzOAzpUMnYL2/WXcB2ej9MOJ29DM4Cw5WaQTNivkBPsXnjZGgejv+QY/r8UT8wtj1WSy1k1TQA3m+zDwsF6fqLkJ8K90Xm5dHGHbcUqV6gg8MkZ/sfwxbL85+2eCCWpJGimO7an76kG/5stnNC84ECFqHCrwErSwNfCixJotnD2h7SiHBvPjBW3hdRkcBoaOnddFqdEDH2ARy7v20kGmpo7PLqJ9036vU8tFEsmOIYd30102ggPJBtUp51nO1RDoFGOn4nL8odeI8JEByG3Ey87WY3zM4hMnA3NPP5ln+7SfxKWDHCdYvl9Cc2EkuD4CYSUsrWRL5UzV9loQJGrQaysE+V9WrOJbQeH78jhVkMC5CqMPXEjD4C8i7qUu5OGCWSlWcWwe/5DsR+kqQfzhFt3+65TjJFrEk6gSoW3I= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2OneLOiYBUBxO6gAl+TKPiKMi/AzTjgpql/+9RvsRKEKdJ+T99AotwLawROP?= =?us-ascii?Q?fts9w+lJp6iyqvaHiQJxb3+Msj0SkLWhew8TRzYivEUYTaRJNO2+hBZ0bfUf?= =?us-ascii?Q?yOQ7Giju5qjLH2+Jk5dhvDok3BDmJAkZ3GNyepgWEHNn7jYFDjEkb1ICxtz7?= =?us-ascii?Q?S7As/vtZSXPIwKaepoT6ZFUXHuPSprj19mSDt7ZCr+wFmyHChHfCzQMc1hWi?= =?us-ascii?Q?yw/MprAMwQOtEZUqq/EEdDa6QH+O9qD6UOb2zpericPyFAtg0Gtclb8qYqxs?= =?us-ascii?Q?9HD6FEnceqnstOf6B4WxF5VU+lACMgWfIwrI66+8wxdhovow58rf21eo4ioU?= =?us-ascii?Q?C91tipMRivfo1sc35NJiAYtawtiMMyrKUrFJHNTpXNG7jM9nOnnHFx2SQfio?= =?us-ascii?Q?XA1O83z3+MJRIWDsuA4CkWW+q+JXh5Uqvw+Ug5TzKVm6+mgyiB3VClW0s6iM?= =?us-ascii?Q?sjjXdzMu1S2+ALnrpZpMICTqi5NnyjTwcvNdCoXFRdM8X5DI7P9iMWyQOykh?= =?us-ascii?Q?jwKhaxzoWJ22Wm56tJqBTTPJzwkFgGkQgN0kEoRpQG8uBXIETICXerAeHdm4?= =?us-ascii?Q?5h2o0qVtRxgS4iUAbeKmGIDR1FqUABWPhiVYuiwEgChP1wB3Vs7tMOKVJbxN?= =?us-ascii?Q?d4GZBFUMggVyBJzEziylgzi/+2cIRFnG8PlrnOU2esZY1QX2O9UUkj9b2K58?= =?us-ascii?Q?Mn8Ffyz+um6Fud/AnwjE00JQjwjS1lSiikbErQLKDZzZxGnNTSF0pSnFC1e9?= =?us-ascii?Q?H8Ch8rDTHin0T+uS4xH4XMINsttWQJdHS5F/v7jJjyvop/0Gtuk5+VVuipNO?= =?us-ascii?Q?R8rGuI4tb5Amag0ELPMh+d56sdw4hn8nDFix9nB2nTtNtk/eArFuxbc1S5Vs?= =?us-ascii?Q?ZCsIZwPbH1keJ361CfViA4daDMpnTeYP2z2E9XrMlmH1/mLJa+YP23qcz8ZJ?= =?us-ascii?Q?MPMkLM04oSSh8tYy2p24SqybJKwrZSdeSlby0F7Cw8/Qzm3A9eRS8kPLY9IK?= =?us-ascii?Q?2twfT3fPCzs53DBpCYgGAGYRJzgeM11dRFidpbPvEKE0blZvJvKElvhb0VKx?= =?us-ascii?Q?yuBKU+qRsj52Dnhjhqb98w65cLtGDRTPAtBp3JgnV8MEBOWa0IWut4T1KR5S?= =?us-ascii?Q?9tfRYdQMHi5X4Nmg3D3neqvaXmjpWDDGP3TyY0giNmaYk/7p1I2cBeJzFLTd?= =?us-ascii?Q?CbvWiDfsdCT1HcQNsHXlEsbh+cOftg85gzm0C0Q6XSv8x3sDdK3R4E8Ai/R0?= =?us-ascii?Q?eioQqRTiH0MCLHBAf1+qTRDaM83dHO/ej4nQZNR8qDwg2mFtnIL4KI6b9wm6?= =?us-ascii?Q?pG6P5qoW9LgQvCkm34qOYUdW+svesdLyXeuwMVGY0XQXYoyD7ix/qFIoKMxu?= =?us-ascii?Q?zXsFC1yKJpt/SQWJczmRC8zopM//A31zJSl0oD1tQF9b2jdkuzXXX7Rt24vg?= =?us-ascii?Q?AcCVRc8Xkp4Ppy40bMJITn7fCth61Hc4ektiGmZIDiUO6ZfczUheGzs8QDi8?= =?us-ascii?Q?UPo54ZuRQYMlIU6GgAhs07PYjImlywxB/mDZVbqvZd8QpSB5bOzu47n1Mgyk?= =?us-ascii?Q?a6E+uASQteSpai11qWkNl73lhQV6WOFOJduoYQi6ktZ3jnVQXOGCr0KsWwCX?= =?us-ascii?Q?n994M1E8d+K24Cv4MSoAC2UiOiUwn/2Smrf07PWg/I3vyZfVeDFfU63mbisq?= =?us-ascii?Q?IyItqrxxeAn5bWGkP+tzaxhy68ch6XYxkbHDWNeqTE99Q1X9ZTO6Ro8gXevH?= =?us-ascii?Q?RK3HnNW2OnZ0SUcIajgkBMEfItZOakw=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: 050239ac-267c-4636-6c81-08def952b417 X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:51:13.8293 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: usRXXrZSF7Hz7rtU0MnxbLgkff7MScmDSs60w3W3I0RChqTgfj60EGW7+wJ2lPgeG0Mc3JNHZyvoKR1ptyn1DqVlFPaMr3wuyAoWHMiO+dk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR02MB7537 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636401291158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Give both machine types the same VersatileMachineState instance struct and store the boot info there. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng --- hw/arm/versatilepb.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index c6991a52e6..520af79c80 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -182,10 +182,16 @@ static void vpb_sic_init(Object *obj) peripherals and expansion busses. For now we emulate a subset of the PB peripherals and just change the board ID. */ =20 -static struct arm_boot_info versatile_binfo; +typedef struct VersatileMachineState { + MachineState parent; + + struct arm_boot_info bootinfo; +} VersatileMachineState; =20 static void versatile_init(MachineState *machine, int board_id) { + /* versatilepb and versatileab embed the same state as first member */ + VersatileMachineState *vms =3D (VersatileMachineState *)machine; Object *cpuobj; ARMCPU *cpu; MemoryRegion *sysmem =3D get_system_memory(); @@ -397,9 +403,9 @@ static void versatile_init(MachineState *machine, int b= oard_id) VERSATILE_FLASH_SECT_SIZE, 4, 0x0089, 0x0018, 0x0000, 0x0, 0); =20 - versatile_binfo.ram_size =3D machine->ram_size; - versatile_binfo.board_id =3D board_id; - arm_load_kernel(cpu, machine, &versatile_binfo); + vms->bootinfo.ram_size =3D machine->ram_size; + vms->bootinfo.board_id =3D board_id; + arm_load_kernel(cpu, machine, &vms->bootinfo); } =20 static void vpb_init(MachineState *machine) @@ -431,6 +437,7 @@ static const TypeInfo versatilepb_type =3D { .name =3D MACHINE_TYPE_NAME("versatilepb"), .parent =3D TYPE_MACHINE, .class_init =3D versatilepb_class_init, + .instance_size =3D sizeof(VersatileMachineState), .interfaces =3D arm_machine_interfaces, }; =20 @@ -453,6 +460,7 @@ static const TypeInfo versatileab_type =3D { .name =3D MACHINE_TYPE_NAME("versatileab"), .parent =3D TYPE_MACHINE, .class_init =3D versatileab_class_init, + .instance_size =3D sizeof(VersatileMachineState), .interfaces =3D arm_machine_interfaces, }; =20 --=20 2.53.0 From nobody Fri Aug 28 00:12:45 2026 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass(p=quarantine dis=none) header.from=processmission.com ARC-Seal: i=2; a=rsa-sha256; t=1786636315; cv=pass; d=zohomail.com; s=zohoarc; b=artOjirYBGUc2cQpXTO9PhoOioJlbWi4zPLv7pQ5fdPiM59J1xmcHL2vMw91mOw8SdEuhNpsFNgyV40YSVH7b4TXASrn7x5B9328dNTtI0nWEDFmovMxKt95yJNeO5h6aXbs/KSWwRut8P8zoucFOJXsB4CnUBESotqkstkVQkE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786636315; 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=e5Um5TfOnfDwsQ8j3tk5u72odNM7zqEpRE//RsJuFbI=; b=FVDIgItmOxflqQA3LZemxVIzShsA/cqzTXZcUZadNLjmodkiBX09PUJlTQI85r9lJHeNSh0PYYc4naouL8eFpUdmCdIIstZQ3pp+zqRLHGLtt2MI7CL0R+su7HhfrXZpez9f9b/fId1E23jeLijwqnF9Nbi/nLVWV4PH9UR+5go= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=processmission.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1786636314996874.421962695229; Thu, 13 Aug 2026 08:51:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuXiF-0000X5-Kw; Thu, 13 Aug 2026 11:51:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXiD-0000P7-Ur; Thu, 13 Aug 2026 11:51:21 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wuXiC-00023y-FG; Thu, 13 Aug 2026 11:51:21 -0400 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) by SEZPR02MB7537.apcprd02.prod.outlook.com (2603:1096:101:1f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.15; Thu, 13 Aug 2026 15:51:18 +0000 Received: from KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03]) by KL1PR02MB4977.apcprd02.prod.outlook.com ([fe80::9fdf:2557:8351:6c03%4]) with mapi id 15.21.0315.014; Thu, 13 Aug 2026 15:51:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=H1SsSbIzFXEVzccjSkqUpIS3+RaD5Ie1LuQPQIKlwdhKSeIsR0H7tkQyaQKlT1nwn6wNmzQeUwEpiwQFrODjjtPNF55tMlIVYwe+vZn1GFhMJSbJRFAM9H1g80vNKtoDIUUYasumpPB7Sg3nnfD7gIjaKRCbX88+gml3JPbuid3sWF+lloMH+u98a6FVNBVSFPugF5Lr7VGWsxzZcm9KtkKnRwabqK5uEUqv03PM0xSlTBfWNRZGg+fe2gW0NAquljjqpaQerky4FpkXJUcn77VXSUEJIiuAL67mjFUGwJZAz/2RCN3jHlhx86d/kOMP8i2+4VZzLVYblNeydIPpig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e5Um5TfOnfDwsQ8j3tk5u72odNM7zqEpRE//RsJuFbI=; b=BO5xi8z/Rkh9T2rSqqG/cxoiuPP5FgGjF2EJfHL1l6Q4518cS38Czk2wsd/KAiVhyygci6Q/z0wVBGLg2RYxguZNxdj0/dsgiS9ik2rL2PifTXPruyJLZheUotO7I1ghnWnmm5s5tXde7AZjcQZ6uMkuGL+uXDm7WES5GjQIAdKjmXX5gYaBwvqw8HBD0idUs44G0TS/qzkWj1p0JEoow5kjCF/jpjBgqxa4vbIXNDgNCKhSVy14KJL9yJ5EaR1jcyTSpLwyxEvucBac8e5oRLd2zWL8NuvKL1qMZxbV/67ZTJOI5kEkzLScBelk+V9EpRKhscooQvz6FEmf1HuL8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=processmission.com; dmarc=pass action=none header.from=processmission.com; dkim=pass header.d=processmission.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=processmission.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e5Um5TfOnfDwsQ8j3tk5u72odNM7zqEpRE//RsJuFbI=; b=HDFm/4anbUGc1U3cq/VrIEoD8O3EkA+RXIopS7gwx0SaXNZ0uqF0yFyPLCd5eelmEmQOkN8SuLK6Jtzcv88B5PQr4fMEjEWBOXI73D+avU40kSMG6YXYulVes+VEdHWv5+wwXCESCJTf4VN3p+Tu+ALepOwosYojC9Zt9riYGakm+VwU8mLJfYiw9Rce8BRNygtkaU4ML5LfVb9AadsdQ4DBNLtdT2HAr1ewl+jqWucLGHZvrbhFdOmxzEbdt7H8V2LYl9pEBUZ0cVUO6kNT+cijBQGhq7yI8N3gj3HU8QG7PORuAcMZLq53TWhryZY//Y/ksu84GGEOeMdyQduuRQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=processmission.com; From: Bin Meng To: QEMU Cc: Alistair Francis , "Edgar E. Iglesias" , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH 20/20] hw/arm: xilinx_zynq: Store boot info in the machine state Date: Thu, 13 Aug 2026 23:49:08 +0800 Message-ID: <20260813154918.996812-21-bin.meng@processmission.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260813154918.996812-1-bin.meng@processmission.com> References: <20260813154918.996812-1-bin.meng@processmission.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DU6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::11) To KL1PR02MB4977.apcprd02.prod.outlook.com (2603:1096:820:71::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: KL1PR02MB4977:EE_|SEZPR02MB7537:EE_ X-MS-Office365-Filtering-Correlation-Id: fbc52ecc-9cdf-4580-b442-08def952b6cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: MNs03MZ9ShyV039A5ngP/b0XYQeakDFuP4ZVKP4crCCsSX5dvEe8m+oqvmVAI42EWMXSq7s8yF9HG4+QgDYAdbL0sRArJ9ep2OSiIP8GH/2xL0DEmu/1EQfOawAEzuSAmltvEi0AapzjeQWQWwX8S0DyrFurj8z4QHC8uU/lMBgC0x0PPdMcpH7UVncnRuy2m6UyIsgOQSwcBMRAYM/OSxTsYYHMrUM4VRjYD0qhpbaZcsXVPG6LsQCbjEDiKXCV0uU7Y1Ld4LHfGu6ASSd9EIQt/Tx8H9dnqgxbTixwzptdbqwH6JnPsm6TAcQnsedR7+o/xIgw861ynNa9klV8fP70GnihLNm6/WvWSYmfQ93CrlXLnwcoako6SKuPbW1w/p99uejhVDeVuFsB2xJWv9j1PQ8TqMKry1g7t0nxuRVuSON7mA9pH7aZa/qXEhdSkHjvl/GUZt4wAsXvimBLxjSVE1WreSdvGa0c7RjvLATUsrUi9+J7KU38hqcuTWKgYsihH6A6SRlORBFdXWfti5/oG15w8heBdxeynT78oztPvihZbB6YM53+dYCtj836MnNGsj++4e58SOzDBjyxE9KGCZXjRo/GoOQqaQnmnfkihBxhTz8dXXDPWlTzG+B0LK9viekzxFSTkdPqZndxjFPhTidJCjp9sYzCZvMERfY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:KL1PR02MB4977.apcprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XmsZQyp/6NVXLpMcjjXxlfCQyLWMSjqYHJkeoUF7tmsbr+BjtxHx9D4VyyMT?= =?us-ascii?Q?BvT2JK+O8JW/mXZ8cTO5nEdYSVRicbtsSHmVZMRd3OEG6lYDB2gSY4mSm8RR?= =?us-ascii?Q?7/ua6Oli/hDx917u56Bx3TYOM3fQA6MHUNTco1BSBkTyh2c1Tio5D8OsVTmj?= =?us-ascii?Q?kHIE41gRlpHEB/Ff9Ugiy13WZH16W6/7uLJy78punZOMZIyUGAnlWtwNRb+6?= =?us-ascii?Q?MMhRnLN15RRKAHgBAbjt5yQBW96EFl+6eBavfCqn1NhrTbFQgTiDPsNBhgF8?= =?us-ascii?Q?xghYDMVPbRUAhBsAXWY5X9DQ0iVNXbJ7E5MNNFJgWhWwF8NCHodMcnZatKfb?= =?us-ascii?Q?1cVv6rtGKx6SAclo0T8t3bZ/N+HCqEoyuEG66qTS/ZaYnTmMcvf5tEcMvQHC?= =?us-ascii?Q?HWfd/C4pdSTpdlL7r53dDYl18e9vzuVGiqRaKOqXSA7UASlsbQLbcfHQN+C3?= =?us-ascii?Q?XPp250tdkhT+HHtRC2gd/KzQtB7wcL4IDypJOUa9QenHb1v0ajkPjrjSTiHi?= =?us-ascii?Q?LoMa2TQR+HflbAtJ1ollZjLrOng+1GrPG2sjEon352aqY3hhJO+kUZXyi/5W?= =?us-ascii?Q?ozNgqhj9xl61Ap7IeFzkGBkNvpGc1O+GMn1zjlNv4jBmaBBq5cy6ufKTin92?= =?us-ascii?Q?0Pc+43xQcZie1ik5zxFY2/3/lCQMeO3gNmfJx0qis5ksKjsEVBzhLwJTABVK?= =?us-ascii?Q?uNU25opmYpg1PjXkHzz4Mdo4am1AJSZCo071d+ikLaLPPO/gT5xlClbmfOik?= =?us-ascii?Q?F+nMtA9MWebRi41Q/s45wFsF9UwPAJlV82Yqojv0+vU3wVrYS7YHLeMkaGBz?= =?us-ascii?Q?SZ0m0ikOXi2CNj+iJYzxh1/9eGD08frVRMoxuRyUIjN3SLUDTiJ7nrhJPH80?= =?us-ascii?Q?LpEBMA6rsWOqNUPfUEGMlaVCCiBhI+zFY3cyUuo52tgysxW90J7jPPbeDVj5?= =?us-ascii?Q?4kmxYTy8j+k9KyEGqIbQpg31PJqirl5+S78cUuOUkeqOiSHTamlR3GW8K8Ss?= =?us-ascii?Q?V1ktACPRTt/O2EMh2gBPx9mzI8y2FkTZzvrDi52AUA+9lXuQ2oo4xsblEg3F?= =?us-ascii?Q?pnZQS6FeMBKbT2+8z07G9Bwey2tKrjCjVnvt0bC2V5IeMYMTCvrPE1aJ+DzA?= =?us-ascii?Q?crmGc0pCEXfavIGOAbeLUzWfEpCzU6K3Yu81i0Q/9vXzdh+xAAGQlbuFWfkd?= =?us-ascii?Q?4XQX7UKWg97AbzfPon/Nei96kzlrOWJvdolKw/K1aDpXn0vYxhw/FCxSnLl3?= =?us-ascii?Q?m/hTTnNKuBJ2+f6aaA/H3thoSNUuyRq4irvOezynwA8HCVIhQE2omuHlcufB?= =?us-ascii?Q?U9iM4ekwcootdumhN0ht7gFxqKeAxak8FdkcYLq1Qvr6rljH5D3yYN2O5tAZ?= =?us-ascii?Q?1VuKOBU7XV+RC/JgbMY3x/QJKyxdsQWdo3Hsw6nx4su1lRYiAZ+Np1QyJUWC?= =?us-ascii?Q?iVZ00F09yaZCN6/2y4aS1W0ulOgcahvzas0QSYE8iQPBka+vgT4KYevNJzSG?= =?us-ascii?Q?V5fZqUBcbcSZ5+jJEw9F6RkJ9qTy/YmctJwckBZi0bCvzeHPsRZvdkyTcQg2?= =?us-ascii?Q?84633kvJTefK8yAHWYMPXDA1dKezBD9mGeMcGb8fUy0gWwi4liOtJ9bVvS2a?= =?us-ascii?Q?Jthif8qHDxwg466lT3QHUMLD05T0tbf7J8pn0KRbkIquoHOa7RuXdl2DguOg?= =?us-ascii?Q?zR/OBAch3+f/0bPLV8sxsQCxhXBZqGI3PUv94EhDEcoPNhfhTWmq+EetumRf?= =?us-ascii?Q?UnIvhRmtQnJonGSKxMRL94+P+tIrOvM=3D?= X-OriginatorOrg: processmission.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbc52ecc-9cdf-4580-b442-08def952b6cc X-MS-Exchange-CrossTenant-AuthSource: KL1PR02MB4977.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2026 15:51:18.3841 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e0544bf7-9765-4630-ab69-0b266dc2169c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FDkmRr4yoKyw2XKQdM3hPakwbXQVVBhX6dVt0Z8N8QeeKGvA22egC1p44p6sE/FkxzJL1u/M4SnCzT4oy6Ik/jSUANtb5EASauWRl8oSfAA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR02MB7537 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=bin.meng@processmission.com; helo=OS8PR02CU002.outbound.protection.outlook.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, 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: qemu development 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 @processmission.com) X-ZM-MESSAGEID: 1786636316846158500 Content-Type: text/plain; charset="utf-8" arm_load_kernel() keeps a pointer to the boot info struct for the lifetime of the VM, so the struct logically belongs to the machine rather than to a file scoped static object. Move the boot info into the existing ZynqMachineState. As in the xlnx-zcu102 and raspi machines, the boot info belongs to the machine rather than to a static object: 4d1ac883a7 ("hw/arm: xlnx-zcu102: Move arm_boot_info into XlnxZCU102") 0f15c6e338 ("hw/arm/raspi: Move arm_boot_info structure to RaspiMachineStat= e") Signed-off-by: Bin Meng Reviewed-by: Alistair Francis --- hw/arm/xilinx_zynq.c | 17 ++++++++--------- include/hw/arm/xilinx_zynq.h | 2 ++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index 6c83439017..f314897540 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -103,8 +103,6 @@ static void zynq_write_board_setup(ARMCPU *cpu, sizeof(board_setup_blob), BOARD_SETUP_ADDR); } =20 -static struct arm_boot_info zynq_binfo =3D {}; - static void gem_init(uint32_t base, qemu_irq irq) { DeviceState *dev; @@ -268,7 +266,7 @@ static void zynq_init(MachineState *machine) busdev =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(busdev, &error_fatal); sysbus_mmio_map(busdev, 0, MPCORE_PERIPHBASE); - zynq_binfo.gic_cpu_if_addr =3D MPCORE_PERIPHBASE + 0x100; + zynq_machine->bootinfo.gic_cpu_if_addr =3D MPCORE_PERIPHBASE + 0x100; sysbus_create_varargs("l2x0", MPCORE_PERIPHBASE + 0x2000, NULL); for (n =3D 0; n < smp_cpus; n++) { /* See "hw/intc/arm_gic.h" for the IRQ line association */ @@ -444,13 +442,14 @@ static void zynq_init(MachineState *machine) create_unimplemented_device("zynq.qos301_dmac", 0xF8947000, 0x130); create_unimplemented_device("zynq.qos301_iou", 0xF8948000, 0x130); =20 - zynq_binfo.ram_size =3D machine->ram_size; - zynq_binfo.board_id =3D 0xd32; - zynq_binfo.loader_start =3D 0; - zynq_binfo.board_setup_addr =3D BOARD_SETUP_ADDR; - zynq_binfo.write_board_setup =3D zynq_write_board_setup; + zynq_machine->bootinfo.ram_size =3D machine->ram_size; + zynq_machine->bootinfo.board_id =3D 0xd32; + zynq_machine->bootinfo.loader_start =3D 0; + zynq_machine->bootinfo.board_setup_addr =3D BOARD_SETUP_ADDR; + zynq_machine->bootinfo.write_board_setup =3D zynq_write_board_setup; =20 - arm_load_kernel(zynq_machine->cpu[0], machine, &zynq_binfo); + arm_load_kernel(zynq_machine->cpu[0], machine, + &zynq_machine->bootinfo); } =20 static void zynq_machine_class_init(ObjectClass *oc, const void *data) diff --git a/include/hw/arm/xilinx_zynq.h b/include/hw/arm/xilinx_zynq.h index cefb7789ff..669c516ad1 100644 --- a/include/hw/arm/xilinx_zynq.h +++ b/include/hw/arm/xilinx_zynq.h @@ -14,6 +14,7 @@ =20 #include "target/arm/cpu-qom.h" #include "hw/core/qdev-clock.h" +#include "hw/arm/boot.h" =20 #define TYPE_ZYNQ_MACHINE MACHINE_TYPE_NAME("xilinx-zynq-a9") OBJECT_DECLARE_SIMPLE_TYPE(ZynqMachineState, ZYNQ_MACHINE) @@ -25,6 +26,7 @@ struct ZynqMachineState { Clock *ps_clk; ARMCPU *cpu[ZYNQ_MAX_CPUS]; uint8_t boot_mode; + struct arm_boot_info bootinfo; }; =20 #endif /* QEMU_ARM_ZYNQ_H */ --=20 2.53.0