From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D189FCAC5A5 for ; Wed, 24 Sep 2025 09:48:52 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v1M6I-0006fN-ID; Wed, 24 Sep 2025 05:47:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v1M6G-0006ex-TY for qemu-devel@nongnu.org; Wed, 24 Sep 2025 05:47:48 -0400 Received: from 7.mo552.mail-out.ovh.net ([188.165.59.253]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v1M6E-0007US-3g for qemu-devel@nongnu.org; Wed, 24 Sep 2025 05:47:48 -0400 Received: from mxplan5.mail.ovh.net (unknown [10.110.54.54]) by mo552.mail-out.ovh.net (Postfix) with ESMTPS id 4cWsTR5wGQz6V3l; Wed, 24 Sep 2025 09:47:39 +0000 (UTC) Received: from kaod.org (37.59.142.112) by DAG8EX2.mxp5.local (172.16.2.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.59; Wed, 24 Sep 2025 11:47:38 +0200 Authentication-Results: garm.ovh; auth=pass (GARM-112S006ad482f48-c741-4c5c-a671-66310630e2ef, FFBB6E977D22EB3F6A0A3CEA11E4CFA931BEF3A6) smtp.auth=clg@kaod.org X-OVh-ClientIp: 82.64.250.170 Message-ID: <10ff9bc6-9ca0-44b5-ac01-3ccd8f3356eb@kaod.org> Date: Wed, 24 Sep 2025 11:47:37 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 3/7] hw/arm/aspeed: Move aspeed_install_boot_rom to common SoC code To: Jamin Lin , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: References: <20250924055602.294857-1-jamin_lin@aspeedtech.com> <20250924055602.294857-4-jamin_lin@aspeedtech.com> From: =?UTF-8?Q?C=C3=A9dric_Le_Goater?= Content-Language: en-US, fr Autocrypt: addr=clg@kaod.org; keydata= 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 In-Reply-To: <20250924055602.294857-4-jamin_lin@aspeedtech.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [37.59.142.112] X-ClientProxiedBy: DAG9EX1.mxp5.local (172.16.2.81) To DAG8EX2.mxp5.local (172.16.2.72) X-Ovh-Tracer-GUID: 818facdf-ce91-4691-8878-966ca1053903 X-Ovh-Tracer-Id: 13707549894809586479 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: dmFkZTGIgXrVyMJYhEFmDIOmOvOeAV736Vp1QzgF4Uy6f5WAmXoys+z9OhSOMqR7htJhq4fyqwlc4UHnj1Y7Z7bTLfdcNUSrM47cm8rV6JNbii2oxCT9DDeNZ2ceP1xK/L98lJ9NlZtAUE58ZiAjdxc7Uo1k85tTEl7/wHVALgV4JQKPkuXmsOogHjD6X+F4hhZKGV94Dv3EkX/aGG8R3T/kTBj2f/XczLbO23L9G1gsIPpCtXqEOtSK2eKUTCH243sgwqjdKaESTbiH+/u/ZlxJI7t6TJ/EfJDe388uhPtpkA0TuHsIlpQpW3Lfykpb0HjWupVfHZzQ9+migmGa/x351IMYeNIwpxB3vWPw+YN7gWI13PUh4oSQlpmveU9A6nNuz1xLwYaF5UnIPB9FBf7shvAOQIdefkIRgnnfPtwypQj9CrMjcIDixI3SUXXcT4gbNLAB2VZOGwowfVsTw2YKwuVIBqdKL2eA5MNd7E1PEBWYJEvt+FZck3FsXiVffi2PpauHnooBs7i0kyina2DRVb5sx02iGDab5RmcltIgLeaxWe2FxX2yeWzAUfku34ilYloyjJXHvlYQhKmr5S1s2y1bw9h55cNUD5n3lOmaKQV6wbbCYsVh7oSvghweY2or7H9prVmKHLfy5C7v/SpGZGYPkcneiQ6npk432tJF2WX1zw DKIM-Signature: a=rsa-sha256; bh=o/fMiaB5CZNEYMnAk42YPyp0fs7+F/TNQ/Wu3FqBzxk=; c=relaxed/relaxed; d=kaod.org; h=From; s=ovhmo393970-selector1; t=1758707261; v=1; b=AeVHJ5GcZOpyR4s5hhSplb1VjNl8G5SEKxui4xwN73JENHoiGmoKXx6lJsaeDudFgmNWpRST CfDmI3OUYGjavGEM9ENUEsmEuaJicT8X6sJ4aUi8iINZ5ieTbSXlssBoG35tv9aHW726TgIKP56 +aEpv+DL0kNXyWJwmx/lllyeUFjJkqHsXBU8RpedXH4hSZ5p8h8mxZksa9xp+MUsYwmH+B5+yDX MwwodwnoNau2vTRuKskcJ2m6gyKA4cNElGzLnK937M19ozS8NAkIJ6gN47pB5n0FBeBerNn1HZX pAQAp4tIPEakv/BgIDxw6wqtv/tq+JKg89uYWZefh7+/g== Received-SPF: pass client-ip=188.165.59.253; envelope-from=clg@kaod.org; helo=7.mo552.mail-out.ovh.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org On 9/24/25 07:55, Jamin Lin wrote: > Move the boot ROM install helper into common SoC code so it can be reused > by all ASPEED boards, and decouple the API from AspeedMachineState. > > Specifically: > - Move aspeed_install_boot_rom() to hw/arm/aspeed_soc_common.c and > declare it in include/hw/arm/aspeed_soc.h. > - Change the helper’s signature to take AspeedSoCState * and a > MemoryRegion * provided by the caller, instead of AspeedMachineState *. > - Update aspeed_machine_init() call sites accordingly. > > No functional change. > > Signed-off-by: Jamin Lin Reviewed-by: Cédric Le Goater Thanks, C. > --- > include/hw/arm/aspeed_soc.h | 2 ++ > hw/arm/aspeed.c | 23 +++-------------------- > hw/arm/aspeed_soc_common.c | 17 +++++++++++++++++ > 3 files changed, 22 insertions(+), 20 deletions(-) > > diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h > index 5567bdcb69..aea210a8e2 100644 > --- a/include/hw/arm/aspeed_soc.h > +++ b/include/hw/arm/aspeed_soc.h > @@ -314,6 +314,8 @@ void aspeed_board_init_flashes(AspeedSMCState *s, const char *flashtype, > unsigned int count, int unit0); > void aspeed_write_boot_rom(BlockBackend *blk, hwaddr addr, size_t rom_size, > Error **errp); > +void aspeed_install_boot_rom(AspeedSoCState *soc, BlockBackend *blk, > + MemoryRegion *boot_rom, uint64_t rom_size); > > static inline int aspeed_uart_index(int uart_dev) > { > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c > index 4d0d935836..429f4c6d77 100644 > --- a/hw/arm/aspeed.c > +++ b/hw/arm/aspeed.c > @@ -263,24 +263,6 @@ static void aspeed_reset_secondary(ARMCPU *cpu, > cpu_set_pc(cs, info->smp_loader_start); > } > > -/* > - * Create a ROM and copy the flash contents at the expected address > - * (0x0). Boots faster than execute-in-place. > - */ > -static void aspeed_install_boot_rom(AspeedMachineState *bmc, BlockBackend *blk, > - uint64_t rom_size) > -{ > - AspeedSoCState *soc = bmc->soc; > - AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(soc); > - > - memory_region_init_rom(&bmc->boot_rom, NULL, "aspeed.boot_rom", rom_size, > - &error_abort); > - memory_region_add_subregion_overlap(&soc->spi_boot_container, 0, > - &bmc->boot_rom, 1); > - aspeed_write_boot_rom(blk, sc->memmap[ASPEED_DEV_SPI_BOOT], rom_size, > - &error_abort); > -} > - > #define VBOOTROM_FILE_NAME "ast27x0_bootrom.bin" > > /* > @@ -460,9 +442,10 @@ static void aspeed_machine_init(MachineState *machine) > > if (fmc0 && !boot_emmc) { > uint64_t rom_size = memory_region_size(&bmc->soc->spi_boot); > - aspeed_install_boot_rom(bmc, fmc0, rom_size); > + aspeed_install_boot_rom(bmc->soc, fmc0, &bmc->boot_rom, rom_size); > } else if (emmc0) { > - aspeed_install_boot_rom(bmc, blk_by_legacy_dinfo(emmc0), 64 * KiB); > + aspeed_install_boot_rom(bmc->soc, blk_by_legacy_dinfo(emmc0), > + &bmc->boot_rom, 64 * KiB); > } > } > > diff --git a/hw/arm/aspeed_soc_common.c b/hw/arm/aspeed_soc_common.c > index d0a400725f..7f104f8de5 100644 > --- a/hw/arm/aspeed_soc_common.c > +++ b/hw/arm/aspeed_soc_common.c > @@ -178,6 +178,23 @@ void aspeed_write_boot_rom(BlockBackend *blk, hwaddr addr, size_t rom_size, > rom_add_blob_fixed("aspeed.boot_rom", storage, rom_size, addr); > } > > +/* > + * Create a ROM and copy the flash contents at the expected address > + * (0x0). Boots faster than execute-in-place. > + */ > +void aspeed_install_boot_rom(AspeedSoCState *soc, BlockBackend *blk, > + MemoryRegion *boot_rom, uint64_t rom_size) > +{ > + AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(soc); > + > + memory_region_init_rom(boot_rom, NULL, "aspeed.boot_rom", rom_size, > + &error_abort); > + memory_region_add_subregion_overlap(&soc->spi_boot_container, 0, > + boot_rom, 1); > + aspeed_write_boot_rom(blk, sc->memmap[ASPEED_DEV_SPI_BOOT], rom_size, > + &error_abort); > +} > + > static void aspeed_soc_realize(DeviceState *dev, Error **errp) > { > AspeedSoCState *s = ASPEED_SOC(dev);