From patchwork Wed Apr 16 03:43:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053113 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 6736EC369B1 for ; Wed, 16 Apr 2025 03:46:32 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4tgi-0001mM-Iy; Tue, 15 Apr 2025 23:43:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4tgh-0001m4-L0; Tue, 15 Apr 2025 23:43:47 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4tgc-0006uD-W5; Tue, 15 Apr 2025 23:43:44 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:28 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:28 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , , =?utf-8?q?C=C3=A9dric_Le_Goater?= Subject: [PATCH v3 01/10] hw/arm/aspeed_ast27x0: Rename variable sram_name to name in ast2700 realize Date: Wed, 16 Apr 2025 11:43:16 +0800 Message-ID: <20250416034327.315714-2-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The variable "sram_name" was only used for naming the SRAM memory region. Rename it to "name" for consistency with similar code and avoid unnecessary new local variable declarations. Signed-off-by: Jamin Lin Reviewed-by: Cédric Le Goater Tested-by: Nabih Estefan --- hw/arm/aspeed_ast27x0.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index dce7255a2c..b05ed75ff4 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -577,7 +577,7 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp) AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); AspeedINTCClass *ic = ASPEED_INTC_GET_CLASS(&a->intc[0]); AspeedINTCClass *icio = ASPEED_INTC_GET_CLASS(&a->intc[1]); - g_autofree char *sram_name = NULL; + g_autofree char *name = NULL; qemu_irq irq; /* Default boot region (SPI memory or ROMs) */ @@ -649,9 +649,9 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp) } /* SRAM */ - sram_name = g_strdup_printf("aspeed.sram.%d", CPU(&a->cpu[0])->cpu_index); - if (!memory_region_init_ram(&s->sram, OBJECT(s), sram_name, sc->sram_size, - errp)) { + name = g_strdup_printf("aspeed.sram.%d", CPU(&a->cpu[0])->cpu_index); + if (!memory_region_init_ram(&s->sram, OBJECT(s), name, sc->sram_size, + errp)) { return; } memory_region_add_subregion(s->memory, From patchwork Wed Apr 16 03:43:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053109 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 EBCB8C369B1 for ; Wed, 16 Apr 2025 03:45:17 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4tgp-0001nR-8r; Tue, 15 Apr 2025 23:43:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4tgl-0001n2-TP; Tue, 15 Apr 2025 23:43:51 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4tgj-0006uD-Fu; Tue, 15 Apr 2025 23:43:50 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:28 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:28 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 02/10] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region Date: Wed, 16 Apr 2025 11:43:17 +0800 Message-ID: <20250416034327.315714-3-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Introduce a new vbootrom memory region. The region is mapped at address "0x00000000" and has a size of 128KB, identical to the SRAM region size. This memory region is intended for loading a vbootrom image file as part of the boot process. The vbootrom registered in the SoC's address space using the ASPEED_DEV_VBOOTROM index. Introduced a "vbootrom_size" attribute in "AspeedSoCClass" to define virtual boot ROM size. Signed-off-by: Jamin Lin Reviewed-by: Nabih Estefan Tested-by: Nabih Estefan --- include/hw/arm/aspeed_soc.h | 3 +++ hw/arm/aspeed_ast27x0.c | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h index f069d17d16..9af8cfbc3e 100644 --- a/include/hw/arm/aspeed_soc.h +++ b/include/hw/arm/aspeed_soc.h @@ -59,6 +59,7 @@ struct AspeedSoCState { MemoryRegion sram; MemoryRegion spi_boot_container; MemoryRegion spi_boot; + MemoryRegion vbootrom; AddressSpace dram_as; AspeedRtcState rtc; AspeedTimerCtrlState timerctrl; @@ -152,6 +153,7 @@ struct AspeedSoCClass { const char * const *valid_cpu_types; uint32_t silicon_rev; uint64_t sram_size; + uint64_t vbootrom_size; uint64_t secsram_size; int spis_num; int ehcis_num; @@ -169,6 +171,7 @@ struct AspeedSoCClass { const char *aspeed_soc_cpu_type(AspeedSoCClass *sc); enum { + ASPEED_DEV_VBOOTROM, ASPEED_DEV_SPI_BOOT, ASPEED_DEV_IOMEM, ASPEED_DEV_UART0, diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index b05ed75ff4..7eece8e286 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -24,6 +24,7 @@ #include "qemu/log.h" static const hwaddr aspeed_soc_ast2700_memmap[] = { + [ASPEED_DEV_VBOOTROM] = 0x00000000, [ASPEED_DEV_SRAM] = 0x10000000, [ASPEED_DEV_HACE] = 0x12070000, [ASPEED_DEV_EMMC] = 0x12090000, @@ -657,6 +658,15 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp) memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_SRAM], &s->sram); + /* VBOOTROM */ + name = g_strdup_printf("aspeed.vbootrom.%d", CPU(&a->cpu[0])->cpu_index); + if (!memory_region_init_ram(&s->vbootrom, OBJECT(s), name, + sc->vbootrom_size, errp)) { + return; + } + memory_region_add_subregion(s->memory, + sc->memmap[ASPEED_DEV_VBOOTROM], &s->vbootrom); + /* SCU */ if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) { return; @@ -898,6 +908,7 @@ static void aspeed_soc_ast2700a0_class_init(ObjectClass *oc, void *data) sc->valid_cpu_types = valid_cpu_types; sc->silicon_rev = AST2700_A0_SILICON_REV; + sc->vbootrom_size = 0x20000; sc->sram_size = 0x20000; sc->spis_num = 3; sc->wdts_num = 8; @@ -925,6 +936,7 @@ static void aspeed_soc_ast2700a1_class_init(ObjectClass *oc, void *data) sc->valid_cpu_types = valid_cpu_types; sc->silicon_rev = AST2700_A1_SILICON_REV; + sc->vbootrom_size = 0x20000; sc->sram_size = 0x20000; sc->spis_num = 3; sc->wdts_num = 8; From patchwork Wed Apr 16 03:43:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053106 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 9EEF5C369B1 for ; Wed, 16 Apr 2025 03:45:04 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4th4-0001qZ-Jf; Tue, 15 Apr 2025 23:44:12 -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 1u4tgv-0001pD-Ez; Tue, 15 Apr 2025 23:44:02 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4tgo-0006uD-G4; Tue, 15 Apr 2025 23:43:57 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:28 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:28 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 03/10] hw/arm/aspeed: Add vbootrom support on AST2700 EVB machines Date: Wed, 16 Apr 2025 11:43:18 +0800 Message-ID: <20250416034327.315714-4-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Introduce a new "vbootrom" field in the AspeedMachineClass to indicate whether a machine supports the virtual boot ROM region. Set this field to true by default for the AST2700-A0 and AST2700-A1 EVB machines. Signed-off-by: Jamin Lin Reviewed-by: Nabih Estefan Tested-by: Nabih Estefan --- include/hw/arm/aspeed.h | 1 + hw/arm/aspeed.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include/hw/arm/aspeed.h b/include/hw/arm/aspeed.h index 9cae45a1c9..973277bea6 100644 --- a/include/hw/arm/aspeed.h +++ b/include/hw/arm/aspeed.h @@ -40,6 +40,7 @@ struct AspeedMachineClass { void (*i2c_init)(AspeedMachineState *bmc); uint32_t uart_default; bool sdhci_wp_inverted; + bool vbootrom; }; diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 82f42582fa..e852bbc4cb 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -1689,6 +1689,7 @@ static void aspeed_machine_ast2700a0_evb_class_init(ObjectClass *oc, void *data) amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON | ASPEED_MAC2_ON; amc->uart_default = ASPEED_DEV_UART12; amc->i2c_init = ast2700_evb_i2c_init; + amc->vbootrom = true; mc->auto_create_sdcard = true; mc->default_ram_size = 1 * GiB; aspeed_machine_class_init_cpus_defaults(mc); @@ -1709,6 +1710,7 @@ static void aspeed_machine_ast2700a1_evb_class_init(ObjectClass *oc, void *data) amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON | ASPEED_MAC2_ON; amc->uart_default = ASPEED_DEV_UART12; amc->i2c_init = ast2700_evb_i2c_init; + amc->vbootrom = true; mc->auto_create_sdcard = true; mc->default_ram_size = 1 * GiB; aspeed_machine_class_init_cpus_defaults(mc); From patchwork Wed Apr 16 03:43:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053114 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 98104C369BA for ; Wed, 16 Apr 2025 03:46:41 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4th8-0001sh-Hx; Tue, 15 Apr 2025 23:44:14 -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 1u4th0-0001qe-EX; Tue, 15 Apr 2025 23:44:08 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4tgy-0006uD-0X; Tue, 15 Apr 2025 23:44:05 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:28 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:28 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , , =?utf-8?q?C=C3=A9dric_Le_Goater?= Subject: [PATCH v3 04/10] hw/arm/aspeed: Reuse rom_size variable for vbootrom setup Date: Wed, 16 Apr 2025 11:43:19 +0800 Message-ID: <20250416034327.315714-5-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Move the declaration of `rom_size` to an outer scope in aspeed_machine_init() so it can be reused for setting up the vbootrom region as well. This avoids introducing a redundant local variable and ensures consistent ROM sizing logic when both SPI boot and vbootrom are used. Signed-off-by: Jamin Lin Reviewed-by: Cédric Le Goater Tested-by: Nabih Estefan --- hw/arm/aspeed.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index e852bbc4cb..b70a120e62 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -381,6 +381,7 @@ static void aspeed_machine_init(MachineState *machine) AspeedSoCClass *sc; int i; DriveInfo *emmc0 = NULL; + uint64_t rom_size; bool boot_emmc; bmc->soc = ASPEED_SOC(object_new(amc->soc_name)); @@ -475,7 +476,7 @@ static void aspeed_machine_init(MachineState *machine) BlockBackend *fmc0 = dev ? m25p80_get_blk(dev) : NULL; if (fmc0 && !boot_emmc) { - uint64_t rom_size = memory_region_size(&bmc->soc->spi_boot); + rom_size = memory_region_size(&bmc->soc->spi_boot); aspeed_install_boot_rom(bmc, fmc0, rom_size); } else if (emmc0) { aspeed_install_boot_rom(bmc, blk_by_legacy_dinfo(emmc0), 64 * KiB); From patchwork Wed Apr 16 03:43:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053107 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 E7252C369BA for ; Wed, 16 Apr 2025 03:45:06 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4th8-0001tR-Vt; Tue, 15 Apr 2025 23:44:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4th4-0001ra-TL; Tue, 15 Apr 2025 23:44:12 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4th1-0006uD-Ee; Tue, 15 Apr 2025 23:44:09 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:29 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:29 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 05/10] hw/arm/aspeed: Add support for loading vbootrom image via "-bios" Date: Wed, 16 Apr 2025 11:43:20 +0800 Message-ID: <20250416034327.315714-6-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Introduce "aspeed_load_vbootrom()" to support loading a virtual boot ROM image into the vbootrom memory region, using the "-bios" command-line option. Signed-off-by: Jamin Lin Reviewed-by: Nabih Estefan Tested-by: Nabih Estefan --- include/hw/arm/aspeed.h | 1 + hw/arm/aspeed.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/include/hw/arm/aspeed.h b/include/hw/arm/aspeed.h index 973277bea6..2b8332a7d7 100644 --- a/include/hw/arm/aspeed.h +++ b/include/hw/arm/aspeed.h @@ -41,6 +41,7 @@ struct AspeedMachineClass { uint32_t uart_default; bool sdhci_wp_inverted; bool vbootrom; + const char *vbootrom_name; }; diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index b70a120e62..7f11371f02 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -27,6 +27,7 @@ #include "system/reset.h" #include "hw/loader.h" #include "qemu/error-report.h" +#include "qemu/datadir.h" #include "qemu/units.h" #include "hw/qdev-clock.h" #include "system/system.h" @@ -305,6 +306,34 @@ static void aspeed_install_boot_rom(AspeedMachineState *bmc, BlockBackend *blk, rom_size, &error_abort); } +/* + * This function locates the vbootrom image file specified via the command line + * using the -bios option. It loads the specified image into the vbootrom + * memory region and handles errors if the file cannot be found or loaded. + */ +static void aspeed_load_vbootrom(MachineState *machine, uint64_t rom_size, + Error **errp) +{ + AspeedMachineState *bmc = ASPEED_MACHINE(machine); + AspeedMachineClass *amc = ASPEED_MACHINE_GET_CLASS(machine); + const char *bios_name = machine->firmware ?: amc->vbootrom_name; + g_autofree char *filename = NULL; + AspeedSoCState *soc = bmc->soc; + int ret; + + filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); + if (!filename) { + error_setg(errp, "Could not find vbootrom image '%s'", bios_name); + return; + } + + ret = load_image_mr(filename, &soc->vbootrom); + if (ret < 0) { + error_setg(errp, "Failed to load vbootrom image '%s'", bios_name); + return; + } +} + void aspeed_board_init_flashes(AspeedSMCState *s, const char *flashtype, unsigned int count, int unit0) { @@ -483,6 +512,11 @@ static void aspeed_machine_init(MachineState *machine) } } + if (amc->vbootrom) { + rom_size = memory_region_size(&bmc->soc->vbootrom); + aspeed_load_vbootrom(machine, rom_size, &error_abort); + } + arm_load_kernel(ARM_CPU(first_cpu), machine, &aspeed_board_binfo); } @@ -1691,6 +1725,7 @@ static void aspeed_machine_ast2700a0_evb_class_init(ObjectClass *oc, void *data) amc->uart_default = ASPEED_DEV_UART12; amc->i2c_init = ast2700_evb_i2c_init; amc->vbootrom = true; + amc->vbootrom_name = "ast27x0_bootrom.bin"; mc->auto_create_sdcard = true; mc->default_ram_size = 1 * GiB; aspeed_machine_class_init_cpus_defaults(mc); @@ -1712,6 +1747,7 @@ static void aspeed_machine_ast2700a1_evb_class_init(ObjectClass *oc, void *data) amc->uart_default = ASPEED_DEV_UART12; amc->i2c_init = ast2700_evb_i2c_init; amc->vbootrom = true; + amc->vbootrom_name = "ast27x0_bootrom.bin"; mc->auto_create_sdcard = true; mc->default_ram_size = 1 * GiB; aspeed_machine_class_init_cpus_defaults(mc); From patchwork Wed Apr 16 03:43:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053112 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 DF651C369B1 for ; Wed, 16 Apr 2025 03:46:15 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4thD-0001v0-4k; Tue, 15 Apr 2025 23:44:20 -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 1u4thA-0001tz-53; Tue, 15 Apr 2025 23:44:16 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4th6-0006uD-VH; Tue, 15 Apr 2025 23:44:15 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:29 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:29 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 06/10] pc-bios: Add AST27x0 vBootrom Date: Wed, 16 Apr 2025 11:43:21 +0800 Message-ID: <20250416034327.315714-7-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The boot ROM is a minimal implementation designed to load an AST27x0 boot image. Its source code is available at: https://github.com/google/vbootrom Signed-off-by: Jamin Lin Reviewed-by: Nabih Estefan Tested-by: Nabih Estefan --- MAINTAINERS | 1 + pc-bios/README | 6 ++++++ pc-bios/ast27x0_bootrom.bin | Bin 0 -> 15464 bytes pc-bios/meson.build | 1 + 4 files changed, 8 insertions(+) create mode 100644 pc-bios/ast27x0_bootrom.bin diff --git a/MAINTAINERS b/MAINTAINERS index d54b5578f8..70ab0d0afa 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1163,6 +1163,7 @@ F: docs/system/arm/fby35.rst F: tests/*/*aspeed* F: tests/*/*ast2700* F: hw/arm/fby35.c +F: pc-bios/ast27x0_bootrom.bin NRF51 M: Joel Stanley diff --git a/pc-bios/README b/pc-bios/README index f0f13e15f2..d009c37895 100644 --- a/pc-bios/README +++ b/pc-bios/README @@ -89,6 +89,12 @@ more features over time as needed. The source code is available at: https://github.com/google/vbootrom +- ast27x0_bootrom.bin is a simplified, free (Apache 2.0) boot ROM for + ASPEED AST27x0 BMC SOC. It currently implements the bare minimum to + load, parse, initialize and run boot images stored in SPI flash, but may grow + more features over time as needed. The source code is available at: + https://github.com/google/vbootrom + - hppa-firmware.img (32-bit) and hppa-firmware64.img (64-bit) are firmware files for the HP-PARISC (hppa) architecture. They are built form the SeaBIOS-hppa sources, which is a fork of SeaBIOS diff --git a/pc-bios/ast27x0_bootrom.bin b/pc-bios/ast27x0_bootrom.bin new file mode 100644 index 0000000000000000000000000000000000000000..e50f56eed9deeea65cbc1dd37897d59b1ff64ddd GIT binary patch literal 15464 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 literal 0 HcmV?d00001 diff --git a/pc-bios/meson.build b/pc-bios/meson.build index 34d6616c32..83998f6071 100644 --- a/pc-bios/meson.build +++ b/pc-bios/meson.build @@ -84,6 +84,7 @@ blobs = [ 'npcm8xx_bootrom.bin', 'vof.bin', 'vof-nvram.bin', + 'ast27x0_bootrom.bin', ] dtc = find_program('dtc', required: false) From patchwork Wed Apr 16 03:43:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053115 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 E6826C369B1 for ; Wed, 16 Apr 2025 03:46:42 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4thG-0001vp-6J; Tue, 15 Apr 2025 23:44:22 -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 1u4thD-0001v9-Jg; Tue, 15 Apr 2025 23:44:20 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4thB-0006uD-9l; Tue, 15 Apr 2025 23:44:18 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:29 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:29 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 07/10] tests/functional/aspeed: Move I2C test into shared helper for AST2700 reuse Date: Wed, 16 Apr 2025 11:43:22 +0800 Message-ID: <20250416034327.315714-8-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Move the I2C test case into a common helper function (do_ast2700_i2c_test) so it can be reused across multiple AST2700-based test cases. This reduces duplication and improves maintainability. Signed-off-by: Jamin Lin --- tests/functional/test_aarch64_aspeed.py | 28 +++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/tests/functional/test_aarch64_aspeed.py b/tests/functional/test_aarch64_aspeed.py index c25c966278..441f7f3919 100755 --- a/tests/functional/test_aarch64_aspeed.py +++ b/tests/functional/test_aarch64_aspeed.py @@ -18,6 +18,8 @@ class AST2x00MachineSDK(QemuSystemTest): def do_test_aarch64_aspeed_sdk_start(self, image): self.require_netdev('user') self.vm.set_console() + self.vm.add_args('-device', + 'tmp105,bus=aspeed.i2c.bus.1,address=0x4d,id=tmp-test') self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw', '-net', 'nic', '-net', 'user', '-snapshot') @@ -35,6 +37,17 @@ def do_test_aarch64_aspeed_sdk_start(self, image): 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.05/ast2700-default-obmc.tar.gz', 'c1f4496aec06743c812a6e9a1a18d032f34d62f3ddb6956e924fef62aa2046a5') + def do_ast2700_i2c_test(self): + exec_command_and_wait_for_pattern(self, + 'echo lm75 0x4d > /sys/class/i2c-dev/i2c-1/device/new_device ', + 'i2c i2c-1: new_device: Instantiated device lm75 at 0x4d'); + exec_command_and_wait_for_pattern(self, + 'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '0') + self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test', + property='temperature', value=18000) + exec_command_and_wait_for_pattern(self, + 'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '18000') + def start_ast2700_test(self, name): num_cpu = 4 uboot_size = os.path.getsize(self.scratch_file(name, @@ -73,8 +86,6 @@ def start_ast2700_test(self, name): f'loader,addr=0x430000000,cpu-num={i}') self.vm.add_args('-smp', str(num_cpu)) - self.vm.add_args('-device', - 'tmp105,bus=aspeed.i2c.bus.1,address=0x4d,id=tmp-test') self.do_test_aarch64_aspeed_sdk_start( self.scratch_file(name, 'image-bmc')) @@ -83,28 +94,19 @@ def start_ast2700_test(self, name): exec_command_and_wait_for_pattern(self, 'root', 'Password:') exec_command_and_wait_for_pattern(self, '0penBmc', f'root@{name}:~#') - exec_command_and_wait_for_pattern(self, - 'echo lm75 0x4d > /sys/class/i2c-dev/i2c-1/device/new_device ', - 'i2c i2c-1: new_device: Instantiated device lm75 at 0x4d'); - exec_command_and_wait_for_pattern(self, - 'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '0') - self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test', - property='temperature', value=18000) - exec_command_and_wait_for_pattern(self, - 'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '18000') - def test_aarch64_ast2700_evb_sdk_v09_05(self): self.set_machine('ast2700-evb') self.archive_extract(self.ASSET_SDK_V905_AST2700) self.start_ast2700_test('ast2700-a0-default') + self.do_ast2700_i2c_test() def test_aarch64_ast2700a1_evb_sdk_v09_05(self): self.set_machine('ast2700a1-evb') self.archive_extract(self.ASSET_SDK_V905_AST2700A1) self.start_ast2700_test('ast2700-default') - + self.do_ast2700_i2c_test() if __name__ == '__main__': QemuSystemTest.main() From patchwork Wed Apr 16 03:43:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053116 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 9BB9DC369B1 for ; Wed, 16 Apr 2025 03:46:46 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4thI-0001wk-3n; Tue, 15 Apr 2025 23:44:24 -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 1u4thG-0001wN-Pl; Tue, 15 Apr 2025 23:44:22 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4thE-0006uD-MP; Tue, 15 Apr 2025 23:44:22 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:30 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:30 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 08/10] tests/functional/aspeed: Update test ASPEED SDK v09.06 Date: Wed, 16 Apr 2025 11:43:23 +0800 Message-ID: <20250416034327.315714-9-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Signed-off-by: Jamin Lin --- tests/functional/test_aarch64_aspeed.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/functional/test_aarch64_aspeed.py b/tests/functional/test_aarch64_aspeed.py index 441f7f3919..337d701917 100755 --- a/tests/functional/test_aarch64_aspeed.py +++ b/tests/functional/test_aarch64_aspeed.py @@ -29,13 +29,13 @@ def do_test_aarch64_aspeed_sdk_start(self, image): wait_for_console_pattern(self, '## Loading kernel from FIT Image') wait_for_console_pattern(self, 'Starting kernel ...') - ASSET_SDK_V905_AST2700 = Asset( - 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.05/ast2700-a0-default-obmc.tar.gz', - 'cfbbd1cce72f2a3b73b9080c41eecdadebb7077fba4f7806d72ac99f3e84b74a') + ASSET_SDK_V906_AST2700 = Asset( + 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.06/ast2700-a0-default-obmc.tar.gz', + '7247b6f19dbfb700686f8d9f723ac23f3eb229226c0589cb9b06b80d1b61f3cb') - ASSET_SDK_V905_AST2700A1 = Asset( - 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.05/ast2700-default-obmc.tar.gz', - 'c1f4496aec06743c812a6e9a1a18d032f34d62f3ddb6956e924fef62aa2046a5') + ASSET_SDK_V906_AST2700A1 = Asset( + 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.06/ast2700-default-obmc.tar.gz', + 'f1d53e0be8a404ecce3e105f72bc50fa4e090ad13160ffa91b10a6e0233a9dc6') def do_ast2700_i2c_test(self): exec_command_and_wait_for_pattern(self, @@ -94,17 +94,17 @@ def start_ast2700_test(self, name): exec_command_and_wait_for_pattern(self, 'root', 'Password:') exec_command_and_wait_for_pattern(self, '0penBmc', f'root@{name}:~#') - def test_aarch64_ast2700_evb_sdk_v09_05(self): + def test_aarch64_ast2700_evb_sdk_v09_06(self): self.set_machine('ast2700-evb') - self.archive_extract(self.ASSET_SDK_V905_AST2700) + self.archive_extract(self.ASSET_SDK_V906_AST2700) self.start_ast2700_test('ast2700-a0-default') self.do_ast2700_i2c_test() - def test_aarch64_ast2700a1_evb_sdk_v09_05(self): + def test_aarch64_ast2700a1_evb_sdk_v09_06(self): self.set_machine('ast2700a1-evb') - self.archive_extract(self.ASSET_SDK_V905_AST2700A1) + self.archive_extract(self.ASSET_SDK_V906_AST2700A1) self.start_ast2700_test('ast2700-default') self.do_ast2700_i2c_test() From patchwork Wed Apr 16 03:43:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053108 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 36503C369BD for ; Wed, 16 Apr 2025 03:45:07 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4thQ-00026K-Lz; Tue, 15 Apr 2025 23:44:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4thK-000238-PS; Tue, 15 Apr 2025 23:44:28 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4thI-0006uD-FJ; Tue, 15 Apr 2025 23:44:25 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:30 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:30 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 09/10] tests/functional/aspeed: Add to test vbootrom for AST2700 Date: Wed, 16 Apr 2025 11:43:24 +0800 Message-ID: <20250416034327.315714-10-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Add the AST2700 functional test to boot using the vbootrom image instead of manually loading boot components with -device loader. The boot ROM binary is now passed via the -bios option, using the image located in pc-bios/ast27x0_bootrom.bin. Signed-off-by: Jamin Lin --- tests/functional/test_aarch64_aspeed.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/functional/test_aarch64_aspeed.py b/tests/functional/test_aarch64_aspeed.py index 337d701917..85789c1b1d 100755 --- a/tests/functional/test_aarch64_aspeed.py +++ b/tests/functional/test_aarch64_aspeed.py @@ -94,6 +94,14 @@ def start_ast2700_test(self, name): exec_command_and_wait_for_pattern(self, 'root', 'Password:') exec_command_and_wait_for_pattern(self, '0penBmc', f'root@{name}:~#') + def start_ast2700_test_vbootrom(self, name): + self.vm.add_args('-bios', 'ast27x0_bootrom.bin') + self.do_test_aarch64_aspeed_sdk_start( + self.scratch_file(name, 'image-bmc')) + wait_for_console_pattern(self, f'{name} login:') + exec_command_and_wait_for_pattern(self, 'root', 'Password:') + exec_command_and_wait_for_pattern(self, '0penBmc', f'root@{name}:~#') + def test_aarch64_ast2700_evb_sdk_v09_06(self): self.set_machine('ast2700-evb') @@ -108,5 +116,12 @@ def test_aarch64_ast2700a1_evb_sdk_v09_06(self): self.start_ast2700_test('ast2700-default') self.do_ast2700_i2c_test() + def test_aarch64_ast2700a1_evb_sdk_vboottom_v09_06(self): + self.set_machine('ast2700a1-evb') + + self.archive_extract(self.ASSET_SDK_V906_AST2700A1) + self.start_ast2700_test_vbootrom('ast2700-default') + self.do_ast2700_i2c_test() + if __name__ == '__main__': QemuSystemTest.main() From patchwork Wed Apr 16 03:43:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamin Lin X-Patchwork-Id: 14053111 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 4A5BDC369BA for ; Wed, 16 Apr 2025 03:45:53 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4tha-00029A-2L; Tue, 15 Apr 2025 23:44:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4thQ-00026p-FT; Tue, 15 Apr 2025 23:44:32 -0400 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u4thO-00071l-BM; Tue, 15 Apr 2025 23:44:31 -0400 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Wed, 16 Apr 2025 11:43:30 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Wed, 16 Apr 2025 11:43:30 +0800 To: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:All patches CC here" , "open list:ASPEED BMCs" CC: , , Subject: [PATCH v3 10/10] docs/system/arm/aspeed: Support vbootrom for AST2700 Date: Wed, 16 Apr 2025 11:43:25 +0800 Message-ID: <20250416034327.315714-11-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250416034327.315714-1-jamin_lin@aspeedtech.com> References: <20250416034327.315714-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Received-SPF: pass client-ip=211.20.114.72; envelope-from=jamin_lin@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: , Reply-to: Jamin Lin X-Patchwork-Original-From: Jamin Lin via From: Jamin Lin Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Using the vbootrom image support and the boot ROM binary is now passed via the -bios option, using the image located in pc-bios/ast27x0_bootrom.bin. Signed-off-by: Jamin Lin Reviewed-by: Nabih Estefan --- docs/system/arm/aspeed.rst | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/docs/system/arm/aspeed.rst b/docs/system/arm/aspeed.rst index 97fd6a0e7f..c87a2cf796 100644 --- a/docs/system/arm/aspeed.rst +++ b/docs/system/arm/aspeed.rst @@ -250,7 +250,14 @@ under Linux), use : Booting the ast2700-evb machine ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Boot the AST2700 machine from the flash image, use an MTD drive : +Boot the AST2700 machine from the flash image. + +There are two supported methods for booting the AST2700 machine with a flash image: + +Manual boot using ``-device loader``: + +It causes all 4 CPU cores to start execution from address ``0x430000000``, which +corresponds to the BL31 image load address. .. code-block:: bash @@ -270,6 +277,26 @@ Boot the AST2700 machine from the flash image, use an MTD drive : -drive file=${IMGDIR}/image-bmc,format=raw,if=mtd \ -nographic +Boot using a virtual boot ROM (``-bios``): + +If users do not specify the ``-bios option``, QEMU will attempt to load the +default vbootrom image ``ast27x0_bootrom.bin`` from either the current working +directory or the ``pc-bios`` directory within the QEMU source tree. + +.. code-block:: bash + + $ qemu-system-aarch64 -M ast2700-evb \ + -drive file=image-bmc,format=raw,if=mtd \ + -nographic + +The ``-bios`` option allows users to specify a custom path for the vbootrom +image to be loaded during boot. This will load the vbootrom image from the +specified path in the ${HOME} directory. + +.. code-block:: bash + + -bios ${HOME}/ast27x0_bootrom.bin + Aspeed minibmc family boards (``ast1030-evb``) ==================================================================