* [PATCH v6 0/6] Support vbootrom for AST2700
@ 2025-04-24 7:51 Jamin Lin via
2025-04-24 7:51 ` [PATCH v6 1/6] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region Jamin Lin via
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Jamin Lin via @ 2025-04-24 7:51 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: jamin_lin, troy_lee, nabihestefan
v1:
Add initial support for AST27x0
The purpose of vbootrom here is to simulate the work of BootMCU SPL (riscv)
in AST2700, because QEMU doesn't support heterogenous architecture yet.
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
v2:
Add "Introduced ASPEED_DEV_VBOOTROM in the device enumeration" patch to fix
build failed.
v3:
1. Supports both vbootrom and device loader boot methods, with vbootrom used as
the default.
2. Fix review and QTEST test failed issues.
v4:
Adjust the patch order.
v5:
fix review issue and remove unnecessary class attribure.
doc: create a new section for AST2700.
v6:
fix review issue.
Add google/vbootrom commit id for ast27x0
split to patch to update documentataion for ast27x0
Jamin Lin (6):
hw/arm/aspeed_ast27x0 Introduce vbootrom memory region
pc-bios: Add AST27x0 vBootrom
hw/arm/aspeed: Add support for loading vbootrom image via "-bios"
tests/functional/aspeed: Add to test vbootrom for AST2700
docs/system/arm/aspeed: move AST2700 content to new section
docs/system/arm/aspeed: Support vbootrom for AST2700
MAINTAINERS | 1 +
docs/system/arm/aspeed.rst | 99 ++++++++++++++++++++++--
include/hw/arm/aspeed.h | 1 +
include/hw/arm/aspeed_soc.h | 2 +
hw/arm/aspeed.c | 36 +++++++++
hw/arm/aspeed_ast27x0.c | 9 +++
pc-bios/README | 6 ++
pc-bios/ast27x0_bootrom.bin | Bin 0 -> 15424 bytes
pc-bios/meson.build | 1 +
tests/functional/test_aarch64_aspeed.py | 26 +++++++
10 files changed, 173 insertions(+), 8 deletions(-)
create mode 100644 pc-bios/ast27x0_bootrom.bin
--
2.43.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v6 1/6] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
@ 2025-04-24 7:51 ` Jamin Lin via
2025-04-24 8:43 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom Jamin Lin via
` (5 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Jamin Lin via @ 2025-04-24 7:51 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: jamin_lin, troy_lee, nabihestefan
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.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Nabih Estefan <nabihestefan@google.com>
Tested-by: Nabih Estefan <nabihestefan@google.com>
---
include/hw/arm/aspeed_soc.h | 2 ++
hw/arm/aspeed_ast27x0.c | 9 +++++++++
2 files changed, 11 insertions(+)
diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
index f069d17d16..b4b23d693d 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;
@@ -169,6 +170,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..968dfa5526 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,14 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp)
memory_region_add_subregion(s->memory,
sc->memmap[ASPEED_DEV_SRAM], &s->sram);
+ /* VBOOTROM */
+ if (!memory_region_init_ram(&s->vbootrom, OBJECT(s), "aspeed.vbootrom",
+ 0x20000, 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;
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
2025-04-24 7:51 ` [PATCH v6 1/6] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region Jamin Lin via
@ 2025-04-24 7:51 ` Jamin Lin via
2025-04-24 10:22 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 3/6] hw/arm/aspeed: Add support for loading vbootrom image via "-bios" Jamin Lin via
` (4 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Jamin Lin via @ 2025-04-24 7:51 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: jamin_lin, troy_lee, nabihestefan
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
Commit id: 82bed5ca62295228ea7bcdc721b63db178f686e8
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Nabih Estefan <nabihestefan@google.com>
Tested-by: Nabih Estefan <nabihestefan@google.com>
---
MAINTAINERS | 1 +
pc-bios/README | 6 ++++++
pc-bios/ast27x0_bootrom.bin | Bin 0 -> 15424 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 <joel@jms.id.au>
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..d46403b023c00f989b6facb397d57bea7e5c583a
GIT binary patch
literal 15424
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
TJDH<UkE#+fTtE*0xX=Fr0X;+;
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)
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v6 3/6] hw/arm/aspeed: Add support for loading vbootrom image via "-bios"
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
2025-04-24 7:51 ` [PATCH v6 1/6] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region Jamin Lin via
2025-04-24 7:51 ` [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom Jamin Lin via
@ 2025-04-24 7:51 ` Jamin Lin via
2025-04-24 8:59 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 4/6] tests/functional/aspeed: Add to test vbootrom for AST2700 Jamin Lin via
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Jamin Lin via @ 2025-04-24 7:51 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: jamin_lin, troy_lee, nabihestefan
Introduce "aspeed_load_vbootrom()" to support loading a virtual boot ROM image
into the vbootrom memory region, using the "-bios" command-line option.
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 <jamin_lin@aspeedtech.com>
Reviewed-by: Nabih Estefan <nabihestefan@google.com>
Tested-by: Nabih Estefan <nabihestefan@google.com>
---
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 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..32846bd088 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,33 @@ static void aspeed_install_boot_rom(AspeedMachineState *bmc, BlockBackend *blk,
rom_size, &error_abort);
}
+#define VBOOTROM_FILE_NAME "ast27x0_bootrom.bin"
+
+/*
+ * 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(AspeedMachineState *bmc, const char *bios_name,
+ Error **errp)
+{
+ 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)
{
@@ -380,6 +408,7 @@ static void aspeed_machine_init(MachineState *machine)
AspeedMachineClass *amc = ASPEED_MACHINE_GET_CLASS(machine);
AspeedSoCClass *sc;
int i;
+ const char *bios_name = NULL;
DriveInfo *emmc0 = NULL;
bool boot_emmc;
@@ -482,6 +511,11 @@ static void aspeed_machine_init(MachineState *machine)
}
}
+ if (amc->vbootrom) {
+ bios_name = machine->firmware ?: VBOOTROM_FILE_NAME;
+ aspeed_load_vbootrom(bmc, bios_name, &error_abort);
+ }
+
arm_load_kernel(ARM_CPU(first_cpu), machine, &aspeed_board_binfo);
}
@@ -1689,6 +1723,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 +1744,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);
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v6 4/6] tests/functional/aspeed: Add to test vbootrom for AST2700
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
` (2 preceding siblings ...)
2025-04-24 7:51 ` [PATCH v6 3/6] hw/arm/aspeed: Add support for loading vbootrom image via "-bios" Jamin Lin via
@ 2025-04-24 7:51 ` Jamin Lin via
2025-04-24 7:51 ` [PATCH v6 5/6] docs/system/arm/aspeed: move AST2700 content to new section Jamin Lin via
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Jamin Lin via @ 2025-04-24 7:51 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: jamin_lin, troy_lee, nabihestefan, Cédric Le Goater
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 <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
---
tests/functional/test_aarch64_aspeed.py | 26 +++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/tests/functional/test_aarch64_aspeed.py b/tests/functional/test_aarch64_aspeed.py
index 2f04655b60..34ddfa852c 100755
--- a/tests/functional/test_aarch64_aspeed.py
+++ b/tests/functional/test_aarch64_aspeed.py
@@ -25,6 +25,18 @@ def do_test_aarch64_aspeed_sdk_start(self, image):
self.vm.launch()
+ def verify_vbootrom_firmware_flow(self):
+ wait_for_console_pattern(self, 'Found valid FIT image')
+ wait_for_console_pattern(self, '[uboot] loading')
+ wait_for_console_pattern(self, 'done')
+ wait_for_console_pattern(self, '[fdt] loading')
+ wait_for_console_pattern(self, 'done')
+ wait_for_console_pattern(self, '[tee] loading')
+ wait_for_console_pattern(self, 'done')
+ wait_for_console_pattern(self, '[atf] loading')
+ wait_for_console_pattern(self, 'done')
+ wait_for_console_pattern(self, 'Jumping to BL31 (Trusted Firmware-A)')
+
def verify_openbmc_boot_and_login(self, name):
wait_for_console_pattern(self, 'U-Boot 2023.10')
wait_for_console_pattern(self, '## Loading kernel from FIT Image')
@@ -94,6 +106,11 @@ def start_ast2700_test(self, name):
self.do_test_aarch64_aspeed_sdk_start(
self.scratch_file(name, 'image-bmc'))
+ 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'))
+
def test_aarch64_ast2700_evb_sdk_v09_06(self):
self.set_machine('ast2700-evb')
@@ -110,5 +127,14 @@ def test_aarch64_ast2700a1_evb_sdk_v09_06(self):
self.verify_openbmc_boot_and_login('ast2700-default')
self.do_ast2700_i2c_test()
+ def test_aarch64_ast2700a1_evb_sdk_vbootrom_v09_06(self):
+ self.set_machine('ast2700a1-evb')
+
+ self.archive_extract(self.ASSET_SDK_V906_AST2700A1)
+ self.start_ast2700_test_vbootrom('ast2700-default')
+ self.verify_vbootrom_firmware_flow()
+ self.verify_openbmc_boot_and_login('ast2700-default')
+ self.do_ast2700_i2c_test()
+
if __name__ == '__main__':
QemuSystemTest.main()
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v6 5/6] docs/system/arm/aspeed: move AST2700 content to new section
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
` (3 preceding siblings ...)
2025-04-24 7:51 ` [PATCH v6 4/6] tests/functional/aspeed: Add to test vbootrom for AST2700 Jamin Lin via
@ 2025-04-24 7:51 ` Jamin Lin via
2025-04-24 9:00 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 6/6] docs/system/arm/aspeed: Support vbootrom for AST2700 Jamin Lin via
2025-04-29 7:21 ` [PATCH v6 0/6] " Cédric Le Goater
6 siblings, 1 reply; 14+ messages in thread
From: Jamin Lin via @ 2025-04-24 7:51 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: jamin_lin, troy_lee, nabihestefan
Moved AST2700-related content from the general Aspeed board list into a
dedicated section for Aspeed 2700 family boards. Improves clarity and
readability.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
docs/system/arm/aspeed.rst | 70 ++++++++++++++++++++++++++++++++++----
1 file changed, 63 insertions(+), 7 deletions(-)
diff --git a/docs/system/arm/aspeed.rst b/docs/system/arm/aspeed.rst
index 97fd6a0e7f..08a33b7008 100644
--- a/docs/system/arm/aspeed.rst
+++ b/docs/system/arm/aspeed.rst
@@ -1,12 +1,11 @@
-Aspeed family boards (``ast2500-evb``, ``ast2600-evb``, ``ast2700-evb``, ``bletchley-bmc``, ``fuji-bmc``, ``fby35-bmc``, ``fp5280g2-bmc``, ``g220a-bmc``, ``palmetto-bmc``, ``qcom-dc-scm-v1-bmc``, ``qcom-firework-bmc``, ``quanta-q71l-bmc``, ``rainier-bmc``, ``romulus-bmc``, ``sonorapass-bmc``, ``supermicrox11-bmc``, ``supermicrox11spi-bmc``, ``tiogapass-bmc``, ``witherspoon-bmc``, ``yosemitev2-bmc``)
+Aspeed family boards (``ast2500-evb``, ``ast2600-evb``, ``bletchley-bmc``, ``fuji-bmc``, ``fby35-bmc``, ``fp5280g2-bmc``, ``g220a-bmc``, ``palmetto-bmc``, ``qcom-dc-scm-v1-bmc``, ``qcom-firework-bmc``, ``quanta-q71l-bmc``, ``rainier-bmc``, ``romulus-bmc``, ``sonorapass-bmc``, ``supermicrox11-bmc``, ``supermicrox11spi-bmc``, ``tiogapass-bmc``, ``witherspoon-bmc``, ``yosemitev2-bmc``)
==================================================================================================================================================================================================================================================================================================================================================================================================================
The QEMU Aspeed machines model BMCs of various OpenPOWER systems and
Aspeed evaluation boards. They are based on different releases of the
Aspeed SoC : the AST2400 integrating an ARM926EJ-S CPU (400MHz), the
AST2500 with an ARM1176JZS CPU (800MHz), the AST2600
-with dual cores ARM Cortex-A7 CPUs (1.2GHz) and more recently the AST2700
-with quad cores ARM Cortex-A35 64 bits CPUs (1.6GHz)
+with dual cores ARM Cortex-A7 CPUs (1.2GHz).
The SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C,
etc.
@@ -39,10 +38,6 @@ AST2600 SoC based machines :
- ``qcom-dc-scm-v1-bmc`` Qualcomm DC-SCM V1 BMC
- ``qcom-firework-bmc`` Qualcomm Firework BMC
-AST2700 SoC based machines :
-
-- ``ast2700-evb`` Aspeed AST2700 Evaluation board (Cortex-A35)
-
Supported devices
-----------------
@@ -247,6 +242,67 @@ under Linux), use :
-M ast2500-evb,bmc-console=uart3
+Aspeed 2700 family boards (``ast2700-evb``)
+==================================================================
+
+The QEMU Aspeed machines model BMCs of Aspeed evaluation boards.
+They are based on different releases of the Aspeed SoC :
+the AST2700 with quad cores ARM Cortex-A35 64 bits CPUs (1.6GHz).
+
+The SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C,
+etc.
+
+AST2700 SoC based machines :
+
+- ``ast2700-evb`` Aspeed AST2700 Evaluation board (Cortex-A35)
+
+Supported devices
+-----------------
+ * Interrupt Controller
+ * Timer Controller
+ * RTC Controller
+ * I2C Controller
+ * System Control Unit (SCU)
+ * SRAM mapping
+ * X-DMA Controller (basic interface)
+ * Static Memory Controller (SMC or FMC) - Only SPI Flash support
+ * SPI Memory Controller
+ * USB 2.0 Controller
+ * SD/MMC storage controllers
+ * SDRAM controller (dummy interface for basic settings and training)
+ * Watchdog Controller
+ * GPIO Controller (Master only)
+ * UART
+ * Ethernet controllers
+ * Front LEDs (PCA9552 on I2C bus)
+ * LPC Peripheral Controller (a subset of subdevices are supported)
+ * Hash/Crypto Engine (HACE) - Hash support only. TODO: Crypto
+ * ADC
+ * eMMC Boot Controller (dummy)
+ * PECI Controller (minimal)
+ * I3C Controller
+ * Internal Bridge Controller (SLI dummy)
+
+Missing devices
+---------------
+ * Coprocessor support
+ * PWM and Fan Controller
+ * Slave GPIO Controller
+ * Super I/O Controller
+ * PCI-Express 1 Controller
+ * Graphic Display Controller
+ * MCTP Controller
+ * Mailbox Controller
+ * Virtual UART
+ * eSPI Controller
+
+Boot options
+------------
+
+Images can be downloaded from the ASPEED Forked OpenBMC GitHub release repository :
+
+ https://github.com/AspeedTech-BMC/openbmc/releases
+
Booting the ast2700-evb machine
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v6 6/6] docs/system/arm/aspeed: Support vbootrom for AST2700
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
` (4 preceding siblings ...)
2025-04-24 7:51 ` [PATCH v6 5/6] docs/system/arm/aspeed: move AST2700 content to new section Jamin Lin via
@ 2025-04-24 7:51 ` Jamin Lin via
2025-04-29 7:21 ` [PATCH v6 0/6] " Cédric Le Goater
6 siblings, 0 replies; 14+ messages in thread
From: Jamin Lin via @ 2025-04-24 7:51 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: jamin_lin, troy_lee, nabihestefan, Cédric Le Goater
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 <jamin_lin@aspeedtech.com>
Reviewed-by: Nabih Estefan <nabihestefan@google.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
---
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 08a33b7008..014545f444 100644
--- a/docs/system/arm/aspeed.rst
+++ b/docs/system/arm/aspeed.rst
@@ -306,7 +306,14 @@ Images can be downloaded from the ASPEED Forked OpenBMC GitHub release repositor
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
@@ -326,6 +333,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``)
==================================================================
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v6 1/6] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region
2025-04-24 7:51 ` [PATCH v6 1/6] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region Jamin Lin via
@ 2025-04-24 8:43 ` Cédric Le Goater
0 siblings, 0 replies; 14+ messages in thread
From: Cédric Le Goater @ 2025-04-24 8:43 UTC (permalink / raw)
To: Jamin Lin, Peter Maydell, Steven Lee, Troy Lee, Andrew Jeffery,
Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: troy_lee, nabihestefan
On 4/24/25 09:51, Jamin Lin wrote:
> 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.
>
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> Reviewed-by: Nabih Estefan <nabihestefan@google.com>
> Tested-by: Nabih Estefan <nabihestefan@google.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> include/hw/arm/aspeed_soc.h | 2 ++
> hw/arm/aspeed_ast27x0.c | 9 +++++++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
> index f069d17d16..b4b23d693d 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;
> @@ -169,6 +170,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..968dfa5526 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,14 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp)
> memory_region_add_subregion(s->memory,
> sc->memmap[ASPEED_DEV_SRAM], &s->sram);
>
> + /* VBOOTROM */
> + if (!memory_region_init_ram(&s->vbootrom, OBJECT(s), "aspeed.vbootrom",
> + 0x20000, 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;
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v6 3/6] hw/arm/aspeed: Add support for loading vbootrom image via "-bios"
2025-04-24 7:51 ` [PATCH v6 3/6] hw/arm/aspeed: Add support for loading vbootrom image via "-bios" Jamin Lin via
@ 2025-04-24 8:59 ` Cédric Le Goater
0 siblings, 0 replies; 14+ messages in thread
From: Cédric Le Goater @ 2025-04-24 8:59 UTC (permalink / raw)
To: Jamin Lin, Peter Maydell, Steven Lee, Troy Lee, Andrew Jeffery,
Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: troy_lee, nabihestefan
On 4/24/25 09:51, Jamin Lin wrote:
> Introduce "aspeed_load_vbootrom()" to support loading a virtual boot ROM image
> into the vbootrom memory region, using the "-bios" command-line option.
>
> 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 <jamin_lin@aspeedtech.com>
> Reviewed-by: Nabih Estefan <nabihestefan@google.com>
> Tested-by: Nabih Estefan <nabihestefan@google.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> 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 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..32846bd088 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,33 @@ static void aspeed_install_boot_rom(AspeedMachineState *bmc, BlockBackend *blk,
> rom_size, &error_abort);
> }
>
> +#define VBOOTROM_FILE_NAME "ast27x0_bootrom.bin"
> +
> +/*
> + * 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(AspeedMachineState *bmc, const char *bios_name,
> + Error **errp)
> +{
> + 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)
> {
> @@ -380,6 +408,7 @@ static void aspeed_machine_init(MachineState *machine)
> AspeedMachineClass *amc = ASPEED_MACHINE_GET_CLASS(machine);
> AspeedSoCClass *sc;
> int i;
> + const char *bios_name = NULL;
> DriveInfo *emmc0 = NULL;
> bool boot_emmc;
>
> @@ -482,6 +511,11 @@ static void aspeed_machine_init(MachineState *machine)
> }
> }
>
> + if (amc->vbootrom) {
> + bios_name = machine->firmware ?: VBOOTROM_FILE_NAME;
> + aspeed_load_vbootrom(bmc, bios_name, &error_abort);
> + }
> +
> arm_load_kernel(ARM_CPU(first_cpu), machine, &aspeed_board_binfo);
> }
>
> @@ -1689,6 +1723,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 +1744,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);
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v6 5/6] docs/system/arm/aspeed: move AST2700 content to new section
2025-04-24 7:51 ` [PATCH v6 5/6] docs/system/arm/aspeed: move AST2700 content to new section Jamin Lin via
@ 2025-04-24 9:00 ` Cédric Le Goater
0 siblings, 0 replies; 14+ messages in thread
From: Cédric Le Goater @ 2025-04-24 9:00 UTC (permalink / raw)
To: Jamin Lin, Peter Maydell, Steven Lee, Troy Lee, Andrew Jeffery,
Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: troy_lee, nabihestefan
On 4/24/25 09:51, Jamin Lin wrote:
> Moved AST2700-related content from the general Aspeed board list into a
> dedicated section for Aspeed 2700 family boards. Improves clarity and
> readability.
>
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> docs/system/arm/aspeed.rst | 70 ++++++++++++++++++++++++++++++++++----
> 1 file changed, 63 insertions(+), 7 deletions(-)
>
> diff --git a/docs/system/arm/aspeed.rst b/docs/system/arm/aspeed.rst
> index 97fd6a0e7f..08a33b7008 100644
> --- a/docs/system/arm/aspeed.rst
> +++ b/docs/system/arm/aspeed.rst
> @@ -1,12 +1,11 @@
> -Aspeed family boards (``ast2500-evb``, ``ast2600-evb``, ``ast2700-evb``, ``bletchley-bmc``, ``fuji-bmc``, ``fby35-bmc``, ``fp5280g2-bmc``, ``g220a-bmc``, ``palmetto-bmc``, ``qcom-dc-scm-v1-bmc``, ``qcom-firework-bmc``, ``quanta-q71l-bmc``, ``rainier-bmc``, ``romulus-bmc``, ``sonorapass-bmc``, ``supermicrox11-bmc``, ``supermicrox11spi-bmc``, ``tiogapass-bmc``, ``witherspoon-bmc``, ``yosemitev2-bmc``)
> +Aspeed family boards (``ast2500-evb``, ``ast2600-evb``, ``bletchley-bmc``, ``fuji-bmc``, ``fby35-bmc``, ``fp5280g2-bmc``, ``g220a-bmc``, ``palmetto-bmc``, ``qcom-dc-scm-v1-bmc``, ``qcom-firework-bmc``, ``quanta-q71l-bmc``, ``rainier-bmc``, ``romulus-bmc``, ``sonorapass-bmc``, ``supermicrox11-bmc``, ``supermicrox11spi-bmc``, ``tiogapass-bmc``, ``witherspoon-bmc``, ``yosemitev2-bmc``)
> ==================================================================================================================================================================================================================================================================================================================================================================================================================
>
> The QEMU Aspeed machines model BMCs of various OpenPOWER systems and
> Aspeed evaluation boards. They are based on different releases of the
> Aspeed SoC : the AST2400 integrating an ARM926EJ-S CPU (400MHz), the
> AST2500 with an ARM1176JZS CPU (800MHz), the AST2600
> -with dual cores ARM Cortex-A7 CPUs (1.2GHz) and more recently the AST2700
> -with quad cores ARM Cortex-A35 64 bits CPUs (1.6GHz)
> +with dual cores ARM Cortex-A7 CPUs (1.2GHz).
>
> The SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C,
> etc.
> @@ -39,10 +38,6 @@ AST2600 SoC based machines :
> - ``qcom-dc-scm-v1-bmc`` Qualcomm DC-SCM V1 BMC
> - ``qcom-firework-bmc`` Qualcomm Firework BMC
>
> -AST2700 SoC based machines :
> -
> -- ``ast2700-evb`` Aspeed AST2700 Evaluation board (Cortex-A35)
> -
> Supported devices
> -----------------
>
> @@ -247,6 +242,67 @@ under Linux), use :
>
> -M ast2500-evb,bmc-console=uart3
>
> +Aspeed 2700 family boards (``ast2700-evb``)
> +==================================================================
> +
> +The QEMU Aspeed machines model BMCs of Aspeed evaluation boards.
> +They are based on different releases of the Aspeed SoC :
> +the AST2700 with quad cores ARM Cortex-A35 64 bits CPUs (1.6GHz).
> +
> +The SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C,
> +etc.
> +
> +AST2700 SoC based machines :
> +
> +- ``ast2700-evb`` Aspeed AST2700 Evaluation board (Cortex-A35)
> +
> +Supported devices
> +-----------------
> + * Interrupt Controller
> + * Timer Controller
> + * RTC Controller
> + * I2C Controller
> + * System Control Unit (SCU)
> + * SRAM mapping
> + * X-DMA Controller (basic interface)
> + * Static Memory Controller (SMC or FMC) - Only SPI Flash support
> + * SPI Memory Controller
> + * USB 2.0 Controller
> + * SD/MMC storage controllers
> + * SDRAM controller (dummy interface for basic settings and training)
> + * Watchdog Controller
> + * GPIO Controller (Master only)
> + * UART
> + * Ethernet controllers
> + * Front LEDs (PCA9552 on I2C bus)
> + * LPC Peripheral Controller (a subset of subdevices are supported)
> + * Hash/Crypto Engine (HACE) - Hash support only. TODO: Crypto
> + * ADC
> + * eMMC Boot Controller (dummy)
> + * PECI Controller (minimal)
> + * I3C Controller
> + * Internal Bridge Controller (SLI dummy)
> +
> +Missing devices
> +---------------
> + * Coprocessor support
> + * PWM and Fan Controller
> + * Slave GPIO Controller
> + * Super I/O Controller
> + * PCI-Express 1 Controller
> + * Graphic Display Controller
> + * MCTP Controller
> + * Mailbox Controller
> + * Virtual UART
> + * eSPI Controller
> +
> +Boot options
> +------------
> +
> +Images can be downloaded from the ASPEED Forked OpenBMC GitHub release repository :
> +
> + https://github.com/AspeedTech-BMC/openbmc/releases
> +
> Booting the ast2700-evb machine
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom
2025-04-24 7:51 ` [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom Jamin Lin via
@ 2025-04-24 10:22 ` Cédric Le Goater
2025-04-25 2:28 ` Jamin Lin
0 siblings, 1 reply; 14+ messages in thread
From: Cédric Le Goater @ 2025-04-24 10:22 UTC (permalink / raw)
To: Jamin Lin, Peter Maydell, Steven Lee, Troy Lee, Andrew Jeffery,
Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: troy_lee, nabihestefan
On 4/24/25 09:51, Jamin Lin wrote:
> 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
> Commit id: 82bed5ca62295228ea7bcdc721b63db178f686e8
It would be good to report some build info when vbootrom starts.
Today we have,
_ ______ ____ ____ __________ ____ __ ___ ___ ______________ ______ ______
| | / / __ )/ __ \/ __ \/_ __/ __ \/ __ \/ |/ / / | / ___/_ __/__ \/__ / |/ / __ \
| | / / __ / / / / / / / / / / /_/ / / / / /|_/ /_____/ /| | \__ \ / / __/ / / /| / / / /
| |/ / /_/ / /_/ / /_/ / / / / _, _/ /_/ / / / /_____/ ___ |___/ // / / __/ / // / /_/ /
|___/_____/\____/\____/ /_/ /_/ |_|\____/_/ /_/ /_/ |_/____//_/ /____/ /_//_/|_\____/
Version:1.0.0
I don't see any 1.0.0 tag under https://github.com/google/vbootrom ?
Other firmware images report :
Jumping to BL31 (Trusted Firmware-A) at 0x430000000
NOTICE: BL31: v2.10.3(release):lts-v2.10.3-dirty
NOTICE: BL31: Built : 17:17:34, Apr 5 2024
I/TC:
I/TC: OP-TEE version: 4.1.0-dev (gcc version 13.2.0 (GCC)) #1 Fri Jan 19 17:14:14 UTC 2024 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: Primary CPU switching to normal world boot
U-Boot 2023.10-v00.05.06 (Mar 26 2025 - 05:59:26 +0000)
OpenFirmware:
SLOF **********************************************************************
QEMU Starting
Build Date = Nov 6 2024 15:31:54
FW Version = git-ee03aec2c106a699
OpenBIOS:
>> =============================================================
>> OpenBIOS 1.1 [Sep 24 2024 19:56]
>> Configuration device id QEMU version 1 machine id 1
SeaBIOS:
SeaBIOS (version rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org)
Adding a commit id, tag, build date to identify the firmware image
would be useful when issues are reported.
See https://github.com/google/vbootrom/issues/6.
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> Reviewed-by: Nabih Estefan <nabihestefan@google.com>
> Tested-by: Nabih Estefan <nabihestefan@google.com>
Other than that,
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> MAINTAINERS | 1 +
> pc-bios/README | 6 ++++++
> pc-bios/ast27x0_bootrom.bin | Bin 0 -> 15424 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 <joel@jms.id.au>
> 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..d46403b023c00f989b6facb397d57bea7e5c583a
> GIT binary patch
> literal 15424
> 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
> TJDH<UkE#+fTtE*0xX=Fr0X;+;
>
> 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)
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom
2025-04-24 10:22 ` Cédric Le Goater
@ 2025-04-25 2:28 ` Jamin Lin
2025-04-25 6:21 ` Cédric Le Goater
0 siblings, 1 reply; 14+ messages in thread
From: Jamin Lin @ 2025-04-25 2:28 UTC (permalink / raw)
To: Cédric Le Goater, Peter Maydell, Steven Lee, Troy Lee,
Andrew Jeffery, Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: Troy Lee, nabihestefan@google.com
Hi Cedric, Nabih
> Subject: Re: [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom
>
> On 4/24/25 09:51, Jamin Lin wrote:
> > 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
> > Commit id: 82bed5ca62295228ea7bcdc721b63db178f686e8
>
> It would be good to report some build info when vbootrom starts.
>
> Today we have,
>
> _ ______ ____ ____ __________ ____ __ ___ ___
> ______________ ______ ______
> | | / / __ )/ __ \/ __ \/_ __/ __ \/ __ \/ |/ / / | / ___/_
> __/__ \/__ / |/ / __ \
> | | / / __ / / / / / / / / / / /_/ / / / / /|_/ /_____/ /| | \__ \ / / __/ / /
> /| / / / /
> | |/ / /_/ / /_/ / /_/ / / / / _, _/ /_/ / / / /_____/ ___ |___/ // / / __/ /
> // / /_/ /
> |___/_____/\____/\____/ /_/ /_/ |_|\____/_/ /_/ /_/
> |_/____//_/ /____/ /_//_/|_\____/
>
> Version:1.0.0
>
> I don't see any 1.0.0 tag under https://github.com/google/vbootrom ?
>
> Other firmware images report :
>
> Jumping to BL31 (Trusted Firmware-A) at 0x430000000
>
> NOTICE: BL31: v2.10.3(release):lts-v2.10.3-dirty
> NOTICE: BL31: Built : 17:17:34, Apr 5 2024
> I/TC:
> I/TC: OP-TEE version: 4.1.0-dev (gcc version 13.2.0 (GCC)) #1 Fri Jan 19
> 17:14:14 UTC 2024 aarch64
> I/TC: WARNING: This OP-TEE configuration might be insecure!
> I/TC: WARNING: Please check
> https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
> I/TC: Primary CPU initializing
> I/TC: Primary CPU switching to normal world boot
>
> U-Boot 2023.10-v00.05.06 (Mar 26 2025 - 05:59:26 +0000)
>
>
> OpenFirmware:
>
> SLOF
> ****************************************************************
> ******
> QEMU Starting
> Build Date = Nov 6 2024 15:31:54
> FW Version = git-ee03aec2c106a699
>
> OpenBIOS:
>
> >>
> =============================================================
> >> OpenBIOS 1.1 [Sep 24 2024 19:56]
> >> Configuration device id QEMU version 1 machine id 1
>
> SeaBIOS:
>
> SeaBIOS (version rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org)
>
> Adding a commit id, tag, build date to identify the firmware image would be
> useful when issues are reported.
>
> See https://github.com/google/vbootrom/issues/6.
>
> > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> > Reviewed-by: Nabih Estefan <nabihestefan@google.com>
> > Tested-by: Nabih Estefan <nabihestefan@google.com>
>
Thanks for review and suggestion.
I submitted a pull request to fix this issue, please see
https://github.com/google/vbootrom/pull/7
https://github.com/google/vbootrom/issues/6
If you agree this build info format, I will resend this patch after this pull request is merged.
Thanks-Jamin
> Other than that,
>
> Reviewed-by: Cédric Le Goater <clg@redhat.com>
>
> Thanks,
>
> C.
>
>
> > ---
> > MAINTAINERS | 1 +
> > pc-bios/README | 6 ++++++
> > pc-bios/ast27x0_bootrom.bin | Bin 0 -> 15424 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 <joel@jms.id.au>
> > 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..d46403b023c00f989b6facb3
> 97d5
> > 7bea7e5c583a
> > GIT binary patch
> > literal 15424
> >
> zcmdU0eRNdSwcq#NNeBTckS_|X&P{+W9Ql+0!D6|YM5|(Jh-qb6e3<~D!5|?dR0
> ^~i
> >
> zD691~zO@(`2&G~IzOHAczAmewkF>Uo)LL8YTY#w4+B!+lVq^PMK$1$B_xqiD?|
> cM5
> >
> z`u=>QH}}ptd+)Qq_de$iev#Y}xUz7K#FdRp@Zo(FE>nW17UFK<J|Fi0?(=XD;yxGm
> >
> zDDJaykKsNOcjEqk`m~tFOYwNTK*0Y&DS4^TV?9)=Ntd1>%ge+XTqSb28Zegu)4s
> %b
> >
> z>2+KI@xJ^Xz85almiwjSl;4t*O9Dl$j~cT4SzK@6YL|@uh)C6%a_h)<M7np5mCy&
> k
> >
> zDaTxG%6z5-D^urh6A2e-vfL6GZ2!FRQajdm*A=XLTJb7kij1Y6&BgqyKK6Ha+__u
> M
> > zeaRH#rJ=1)cj}OH$dJ(aJGIV>U)4J=8WMTm(0tEjNI0s?;T(|@O^19T81h8;cfL^H
> >
> zc?tCzxse_t-xo9TB9lh|PLsn}@r1nQbLMg)D>MmHhv)As1zmsV(AH-kJBl@<M)k|
> *
> > zvBulryKjlr-7;1hw?i)?R<~qD@4kTX7E>CZ!I+k1U29^j6qgy4$low$ubl%`V!ev%
> >
> zLVm3CCdO@fx;rKC-BW>mhu%w->C!5rbFkji`N4HEI7ac6wF~&65xRsm&?%fcBc
> $j(
> >
> zJ1;Z~^F<OpRV5Xn^M)RY;j#<~Te{3&nF$`b?umJ!9wR5>2VbyF7|wFy(*F4vD*${>
> >
> z<Z<Yv#}J>T4=hmdN9Knn0B#22VWr;+RZDJv;ZVG)R4PtRfxjr2hl@j>QoMnFbY3V
> 2
> >
> zy1OSHZ+i=}k!Bv&IGn#AG}|NL3!ohqhxXV-A;Qp(Jw`5Uk`uWLw(Egy-iMy^AS1^+
> >
> zM2a~#%fWxgq5CbYL7Q8y4QDKX9Ql#A;dhEJ@G=3kZvY&G$?XL!=hfW41)*NR^
> *yBl
> >
> z$6i|ppMF^w+M6li0l)@Dx_TR|?rM?7$CaHSU+zM+#$UiguH+m)bgZZ~K{K#0^n
> 1`G
> >
> zPM_^(_F88ahJNFW$F^Ee9@VA)!l;@jyY$@F@QywE(_rgLLQgB$V0Vu(0XE5v+y
> gx*
> >
> zo(D=oaMtiZL$G^-k@ut6K)lMe+vgp-1+}Ezu(*vE_+02e+-K;d06MvNCEmuINWD
> &k
> > z+;<l&2u;F$tFbWjYxoTG>Qiu_cWEfz#dQ=9C5uBK8fI+7Fvj?}w5kj~S`Htz28Xu(
> >
> zCJ`&PUGtP(dtkdBW1_NaJA5UkNilWbYfOSoY?u=0ebCW+3_A2e@3(7=FX(;qBBl
> 3D
> >
> zSlfk<IDEbWTexF`kPAK*>F~gI!|c5VxYU0;^uHGNjKKzBU0P%C2^CAvFA8l2Z(R4%
> >
> z`0#$(af*?1JYiqh@ynobm3?8eJJdLB_Gx9acieb@&2GWmi{MeMab{77>-`JnJ2a
> WU
> >
> z5BZrqc@5hqat->#zWu$hePZ2ni$bVd;nzSz>EekSlrDaO@6}U{mo&-RRhVlH%48
> Wo
> >
> zr9wh0k&k-gvlp1i)y!EgjF~Hg+Gwl0NIreNK3Z@OR>J4Id&dRG7mA+k^+<Q2N3Pc
> }
> >
> z*E2R)sbvXrMzE4J>>TyWPB%B@V$JOnt-*ufKL_i!_@uE0I_=Pcm8L9tnRD<hAN}
> MV
> >
> zLyHV;J*NCZbnnX?bH68PcO_^u$HojJq;mQc4f@K2uj$C+!OE{_!BfnMvCqk1EHg
> Mh
> >
> zwpF_0E#S8`tFv$S$j&!@klp#0Y8edZ)*^v^>7R%p#RvU#XzL3J|MZ5Xu{2+*0-4q#
> >
> zZ&VrshEz3WN(g>iNqp}UTH`^FGmqz}Gw;Ft6bD9z;>F$<Fqa`!4`7}&J92Q}r8Rbp
> > zfj&IJ%AX+rkX|@j#{C%2a}ak;+4eeR(3j#hD$6wJamiF^oPIf8<riZTc^QO_2|E?*
> >
> z8MylJo$C+b?u}`U8gg-Lo;BFB)#`rMBgNY@1{P|IB~<v%Hy`Sm2YaLL$5&~KmWa
> G-
> >
> zWm#Lak%*_vVC940V+{Bp9`O%q>39Xe(~u`FWy;ACkA!0PZY~KxpJ81aMZO-x`b
> DOU
> >
> z>xKTAA7@+v9}D4w(ZbeuG1m<G%wK$7^+9~TqCX>zukKedHw85MK%<4R{*NS
> $Q^V$l
> > z(>F(34;5Z6e=%4WC<)X}D~TBy5z3h1k&~VY)|S!nc$I9kc6;<-Wd`KkF0!;*wEFv4
> > zn*l>v?vI+Sv3#o}I2bR!1^iN{9^{&xmlucn;CG@2PxWIg2LG+CD=hgRJiGd;F`%y$
> >
> zd5|l+|H~NoX-7t|az1DwHy)?{jI5XUUjqKhVEzyMQ5jcMH@}2=sgOD~j7arVdG{Q
> 2
> > zcj;T!?v8u!FQLAt0Y9E8bGJi=A7af^J+FgrxO%29FbA`T2xrQ;0^ofg&y08Yei!pX
> >
> z(FAMo5c)p!D1+t%8Fb^>gb!VDV40_<)U7N*e>mS;S5(57G;sHW$A19EjeYo^-EW
> PO
> >
> zLB?o{==}lc)2v%nVnLq)-Drj1QtnD5jxcM>`BAJ1cI=aG;NB@Et3a22K|TxN^SW4z
> >
> zXqzBt?Enw3W1~p>e!>f22U1|EJIHVf{p_L^;K<k=`^o3G<MH`~Cr$J(ks{2m1T9nK
> >
> zILE1P_N<(zyawc*imOFD^~_tOu?jQ-;#um_p}f^%^v6(xG9cqrT<C=rd@bP5g1(vu
> > zzF@8pmx!kD`{0k1k@{x8&2{_0*PHN#H`tfKChW;;z$f^fe-^&L_2?7-j((Xu)Of5#
> > z)YW#K{ZD433-%4f<A({mop`D*%8W3lYzG`|-Y&A}tjf2~JVsha(YLzvIL=<*UF#B_
> >
> zZQCAIxtBc+zxOHpqn&5LFZ2D6K)(mHV4qgT_0U$*_9)uq)1~3UzXAL=A>#qS5{Gi
> V
> >
> z4m}2-r-RVZGs@4Vl#m8#kw?<e>TKV*=;&()<bhpIBHzJYt4pTgsuoW_Xjbinye+V
> W
> >
> zg%}A)hSE88?fSGK+Hv|PXwbGN>EHC}L(m`BqAfkndbA;9jlND^U3>AFbEQ~sI8JI
> @
> >
> z(1%rBbm9VYi2tj7-}M3X-Cerqt;C~^R_9vqE8G9ca}9GB*5;bTN%%Z+9b&ZDD_Vjl
> >
> zfgZ>U;#=)Oh~wIWc;pMaE5=Y;b(Zy>hI+>S{?R|RS3au!Y$Nvw@Y6Q081*&Km4*
> HR
> > zdzCiy0*#%J+X@JK^fqs~G~SANQwxqCjk-}*6s#<}^23e9Ll018?UK;zfD59pi{0<N
> >
> z9x+@Wli+xBS8!sgjV(Pmp86HgA>UEJxbe+3M}n3&3-Qmph5eN$cuF#G1-Gkw5
> Hy0P
> >
> zXk)=R>A12A_@=DC1P|_d%-z(V7jpMxNtFxh>g6DGa1c893FU+S(eEhv{}bO4t3I
> WJ
> >
> z5w;Fc@01Rv<9iEa>&ry{2;IdnPQSOH<90k#x9yhM|2+8bKuxtQ2_Yx9Q6D=@YfB
> c!
> >
> zTOgNZO6VN)`%uc<Z!t%meH!{@eMT(TlMi#3wWSO`K^=bw<M4s&j-h5Of$qPJy
> ER8b
> > z!C~;fLSJA7CA7tX_v1U^Nnhr)Uu6^ejcXIym^N|s#k{5b2t2O=J;>`rp1baih3ykH
> >
> z$oK~0IYad8P-m(F(8E1|ISSs{V+;J4eMX={LU&=DHhl}@MSw42>_Vnx7_SEWW00
> i~
> >
> zHG8TxwH0}|)wQD=2j`$~m#1FHL7sF?y8i<H-on0r2jU-ncAKe77vrH6a%h<U>^K>
> x
> >
> z1v)CTvFD|ogNT9ZYozf3=vy;8DmfPAvt>UAbgA;8FXQ?#Binb>%}+sRUf~_AWS;6V
> >
> zGJQo@H)f28JSY07r?~!=IM-ifqMjU+kxP4wkv`5pjyVf^spm$^xaXQbGd`2NJ2W^?
> >
> z{vRd&<#?9?{uxKBz;lgcURN~7+EVucYCrV&S@cXEz<C!-V;1b%GFcjbi@xAjVk~We
> > zuLtn_**P+<Ct*XoZ}0I+_d)Ev1JqqgP40#6sy)_wrLaeDlZ4Q7sQ7;d_K10{Zpvxv
> > z{r^U1H|dPVdB}&*`J3ZYaq#pu><YdXz6AIfzW39=^nr!_SeyLBjBBtL8s%#tJ>-TC
> >
> z=--Pz*@B%Iqon^J_Ub_mInX2Hg3xOW@ToFB4!v*3Jo<oT+cA$bj0L3sK4jzlIP}s|
> > zD053e3;WY|>&La<&3<nbbj7oqRQbsh`Tjlm1>ZfuUjjbRv)rA!CVXGzIv4lvj?5<g
> > z1^BjXV<JBX9p()Su|$1)(f|AnF+$mTs5{svm97T5>}71azewzxiV-{EV^fZ!7d*-S
> >
> zELU<{?Q=0b@^#F$=(+vOuRNcz_eH2tYA^PyL=Eo6-jwGrtY2R2rBSoz2k!lPN$^U
> %
> > zn0-HW!kl^t_OaJb_6bgJ;|l<fvILO}?#8nhb-E7gBJcWo3=e2$MhY+v{iql_>cp1?
> >
> zxftube_~BTUS&;F`ElLkJ8O{>S?igH(c`EbwG(HVH75#NEzw%rt!e#Yw(n2PDOf+H
> >
> zh9vdK^MmuydGAw#eRd9FH#ZWa9Ps5B>~elKYy|%+#Ck0{{1ADj>B-<kcfUKdHK
> |W8
> >
> z&IqH3QRrOdR2dz8Rpna5HSfc1NV{D?JY39?!TGQmawK)Rpo;#jOSiIJj@nyaWxGI
> ;
> >
> zgqVLi{AOzt&NWUW4+U`U_Xfs@%ieGJdTOndv(tBn;%&53EOTIC$Mtqi%aQz1)sj
> =+
> >
> ziJDg~IZJtVdeEtzZJ_PP7;|V1_P=|v|LmxgPzdA9_4K!n9TNICe1Ba>4MgrWB!4OU
> >
> z?v=ZCPJGHg59cpAIDZLN9>Ln!V|O(}R>9dCdHyIrEk*xPs`?MCi#2dovh=6W6W7|
> v
> >
> zwZYF6jJM<d7V=>cbO}8a?0~H<p!cR8dG@#xc3~gU>-gLbtjRq$eOw0&dhQR^*?
> IJB
> >
> zsb|iQf_K(?@Bx3xi&TLJ#B>C?3bI&(JMbOy44NKmka;YCXZT+w<Bu|?`b@y#g*>
> pf
> >
> z(PlhbAKGg7>8v@d7oP*2C}epP@OG`rOw=mDI<=Tbf86yPa^m@qki(ThP}`>heg
> X6Z
> >
> zA5=1|hfG22b6uJ4W6a|Fi?G>KdQL0t+%#T7`M_f>dLFSsTlQcN9KNi2!LA(ir(xKW
> >
> z<KO4l$Jmr{)a=-XdlSNPPj36{&l7o$@#*HZ_YK3x^C0Z8edux8$h!$UoHq)5XRxP^
> >
> zFGVd_YISRp<12-KFt;`xYQNj@tCVx0Ung>)%Dbp7z4LfBY{x%)#7kJ$L~qe^ht>VM
> >
> zuGPN)|FX~N@*<}pn}t2_C7hEi#F-Gs=?7XC&e*^g^625Xt~FZlMbhk5=UTau#n35
> v
> > zekCF2@H}Ln<1-&zgp9XfonGjYd5>qF7ga9EP0IyIpLNdboPEg<_)zsq**ATEa`Z~P
> >
> zVEA6$)_XdQD<4DS#~(@KXUcYbkFf>*HHiG?zO&&u|3$+Sv28dpGGJsxPD0nzNf
> 0$T
> >
> zFGCLF-0xIAddObr)3!%`<Vom_e!zSoS?m+E(2p?2I?D6a=kTm-Rc&=c@Ac0pTTKN
> 1
> >
> zrz2|}TOGlB1KSU5{kiAZLtCFq_=3CMFTm3uVWS*Fx*1Em;j4eZ{VDk9nS||*b|!jd
> >
> z^l25~LG@@@8)p$+?5i!Dw=z~)dyYDF&yHPtuf7dBwDo?p^G(R7`fkv=F@@G@h
> gR?-
> >
> zX=O$-9Qqvz-af*wkoyrsuz}|L$p@^P`O3HGW6Hnm^V2l{O3G`~d;@jzyyIg#p(p0
> O
> >
> zDDqwa`QcLz-{+u%*z91p%#jfHV*z|eF6{n1=h44%Pf&=OP9NlXTWUTm1P=Rwt
> Mh>7
> > zV;-=5$cS8;B!idWTfLCS2fE||eiXT%`vLk0;<*Upu8&ZsG2~(Jav1Lwx?+gy4%m~n
> >
> zar5$}Nj$$w=7uO_dKEE1yWRpB!pMK^+17h8@E<^}&35GB-Y4Lf(BHv#;CczYo#6
> kI
> >
> z?Qq9GX$R~#6SYYfdBVT^Mzsg-qdo9Wl(JudU3*~@_)1p~`j#c=N2q%RZ`~Loto!~
> 8
> > zc5O4EGZ*d|$Ur@aSnyf9r#Ur*JfX%|kCJ_kZJSitG?k-i8}>eVs9$a@v94Z03^K-%
> >
> zs}~^O&g}qCsW~~7wrj6ngFn1Gt3O;6oXDQssTGy%Yxbno3WpEnlUk$)GE%lEdi5
> B4
> > zw=9`!VZ9fTlVR&hJMSfB5!A~7=&=tFoL3Aa^!#*64bspf3f~*;D%^Zy$j;BYZw1ah
> > zP4vd(`RsWK^&v;|y)WzEJn(>ZyLy(u4o;7+;k>-?o$8Y9=(9EK8J9ebeiC|5_#pCo
> > z>icI~&q+Ser@FP!XZt_iTf%>k8<{^BLSKzD=%=uOlk4o7r~EqkUORyI6NgYQy;y(K
> >
> zvH7in_Zh6?<hv5|P&ePrAG>EiY#2GFvj;42_bm|<dn<lFkK8dC@^kGLJ+FTUYTf&
> Q
> >
> z_aJw_jJ?BAJ-<JOJ#3WkR<KS0`^`go{&9Pq{78wjPL5h9*SAW~U&{RmX~z+Bq>KIY
> >
> zg8zm+_%6sjuN>Oy)F}8oYXWt`9P-V7FxGRB4_Fi28fl+J<IL2Foe#%d|1r4VOyH*b
> >
> zd%_<cPWl7=E};5C@zEDpuU&s&9Pw<^^>x%QH?~d@&K*zg6F!{RvX9~Q<pi(Y3
> ExfT
> > zOx>xwnr{Gol=_`PQ%2`IpvTyx|9D48<2v}yoeBT3-|4xv@`I+E(7Ptz`F3OPiFmK1
> >
> zeJ0`h2Ye`AFWuZH1rFV{<prLb)gu=hlYArL7u(@;$WeSBa&k(2O-T#<f@iVV!!Gk<
> >
> zukIDSz8`yFO(xYBo@k%A)zC(H@m$0H4DXNKoN_Dtqqo7r`&Wqs5ZCzqgYPtCUx
> A<g
> >
> zv>OxZ|B9IEI9A-cb%cxy<MN{q`7Y%A+3yyYwCDx(rI3+)k#+>{)!Q?%*L$UXBHj-#
> >
> zr94M}S6mVWJ+9aLDBnruM}7}~rJjC^@fN(V!HbEimhm$8nfK#WccRv_4{L(np2Y
> p?
> >
> z+NJyK9#-?Q{<^V?LZ@g3p!;IvMy&0`t)us0^@x24_fGLUMCBB-<I7ukc7XGUx!;41
> >
> zkniV`mw97%Ph>4(jq^%webe~u6PHL{J#+k5P#dDicN~u(X8QogTFJNzLq_H@?v*I
> Z
> > zpAxeClE1&HWPj4vB%$Zw=i9Lk`)ji!IFV-}GIl%88I$jRY#k(hnDN5;gxZL@Gq6yH
> > zz1>>G*x>oQi~j`H<(T_D8539U3*P7c+3@(-Qx1UsCFu8aj$TE@;slisSci_l|Gw(j
> >
> zF$elitwHwt;$-dbgHG)85qnQC8ns@S&!JQ5@*s3+?*|GZCkC+}#6H0G&)f*tDs|T
> 3
> >
> z`?}%v((UgN2g{a>mbufhmu4=z#^E~#e;^Im8t)8pBeNV@7++xT0c`(B%^B|6`27a
> *
> >
> zcV2xIal|pw;W^Gzp!IHom$aJV_$J@OBS$!W)wPf*7qt;J-4}-5TJ-$-dm%Gx=s4A%
> > z^S4zzJ1U6m0&D>90#*V}?SlXlrA}}rp-J9xoFy%5(zT^|*dNj_P0Z82)W6+xC2Lb^
> >
> z&Fe!=ReJ~Qhj6Ax{U5%7dg|<hRBcPGmlu}=yXj|nlGn<d#JY3{dN`=(9A|BN3_P*k
> >
> zHytxuIaddH_%4;_f~Vone@*Bo>1THSG$Ql|`q=lthe<x*2Wd4{{oWwyKjedX<COv
> Y
> >
> zZt0F-H(oZ6+oUJ?!nuAGcpOjLxcuSWwBm0w_|uWIyhdI>`%bSED1YN`L?}lw;BanS
> >
> zOy199@5z3X{J)mqKWX0!h9~04;G;h82LG_tVf0g7G3YXgT!6eY?2IsJk5rvfXWypI
> >
> z)S0*KPcHAvz>@|UdzMId&9TB(#7O_Y0=5|aLKM6)4)&t&!QNS&ZJot;^a;yYzms~
> m
> >
> zYpm*NRX?XAmSmUz#EqdD;5&+3&z^30562#sdzf31TbPq#1?>}grZ7D2oPGgynfq
> %!
> >
> zG8a6@RF1G?oUw9eO72MRL31Ol?d)CaAye>5d_L@;{BL;emgHwF9~W<0U%$T
> L{`H@i
> >
> zbqzJE<*U=0?lGq|-C%Cm*s!5?WAiu6^$pGDnubm5S7#?D*RKD1&APR#&2_cwz
> t&u5
> >
> zPM@~gT=|XW+NK$1?dA=&tD0+9o5g0sMziGFY%!}%e5%#QzNh{jKCb47;6B&@
> ?q3_V
> >
> z8YJzJ>}}>Y)0~a}Fm|o_yTbXaVA4iRbK7hJ^TWT}6k7Fc8xjOo%qHd81hWwpdFKm
> ;
> > zKIFgZl(B96qWHp{jIAI|g$4Eq$Y=2D5+ZpH&$g+g{#78=GfYKN!6+<;I&S7R{J{k0
> >
> z@IRl4L%DF{OtylsF~A8R?7#LbAhuO+vquyz{}7pXNTLwb7yFSD_<viqjgp=HmD-I>
> >
> zYa7<zFn89RS#z?pWm=QmOgAxY*SPuCDs%09HD9YWYnshDo2RYYY))@lyQTI9e
> %Wlh
> >
> z3%uh?4OhV{XEWEXH#gR-2fB?rGeM)dc7vj^ZZptlt0kI9#(9LluC8?*cGJp+hGyGs
> >
> z>uQ=XWzxybn$@c});2X2Iv$-m=8(>o)iupEX_y>H!>EO<4y6Q^3Liq=V7f73T4uwV
> >
> zHBGgS7E;z+yZ&oQsOAPo!dbIsnX<ZJeJvmr|Mw(AkXnIa9U4vbYoQ7V#Raparg@
> F5
> >
> zS?!3MD(Vb#P0hM>D{EHOn^<MjOe)0$_vu_GsHLjItbvfA<r2u2n>KE2*m#5KzkS
> |Z
> >
> zb9&XrO-&5;o7Zl<@BW&NwKGevO)@*ftgBhq3?XM_OZIJ>?%P0l!N5nOx}E}Wn
> ltzM
> > zdByV=EG$`6vvSqy+BLFn?fOldXKbhgL+ff~HquW`Q*D#LIh($5-^zw{P1V)1s^Pv3
> >
> zHO*^R0zg!9Lw?h?RElTwXS7M9y*Ta>nSkr|Q}Or-+@*A8=@{!k)*~azcV~t(_IUO
> h
> > zcV++iPcOav;^{G*!*5chobb5L0cSBbj|ykQfiaI<bIb10;Zb|C_l|7K+Bf3+nfo(-
> >
> z;L#&M|KlHCedSCV4PYsL!nnVNP0&;h;6om9_$F^-jO*}29`T!7nT$hN?BDJ6%mbc
> B
> >
> z4F7IDtbGv+xZL^ONBq!7-oaH4oC?FiiE0NXJW}A_ogdCC+mpLD=jOKY`^Mb?^m
> OKO
> >
> z0ggSnEPpi~pMhuhL*B|Uz7FFqzq~KU*fxwUCm{8wcq`kj-%ieKwGlT6xW`jya*RI`
> >
> ze->lYiHi@%9>drfjF}w3hhtA;?CdbO6Brx7ScQVJ^>h|v#W)D14&{qu#vafg(PmbF
> >
> zk1^t(=^u5|82QtmXOc%XBVqz<0t)tHz$qq9=}f;p_XQgVLnf}pfH?w~Dm*J075<kL
> > zVY&r*#F>no1I%K=;KQ+IjEzN;<JyvA4`9r~SgH;m##jZ$<`6Mehc`JY#4vH61>ADL
> > zDPEniGZ@>9u~Z$tjj;zYHX1PenEV4j*om<&J|}drDouu|fXT%sivGioiK_%-B^cv#
> > z60e;4DV>QSuDb#-#ei9?;Y+!zUmgBPpfbl0Ha+|fRm%SykK>(q3cczCJrl!^1LkqS
> >
> zl#pJTOYd&Skfoyta{@5Y*W>Y9@T~Y!es@zs9>So1lCz%xGr=R06^qA@q|ve0qH
> Rfs
> >
> zasDu1lx-9CxixLA0ARWRlO6}Q^N|j1i{FLGIlydo*P3%6^N|eyZco^_d5^wVBgNE2
> >
> zLERn!&J6rmqK-HTT~rKLt@4kvfUN^;s@(@L7Qk2{cPQUomf)RhOwJJ52bgtSgYq
> T$
> >
> zBA}aJ)Ec({_6%UN2#XK>as|d-NEw@fu?-lDVr&C}(rK3M(Ql)q3A)rx2jHa_eoULE
> > z!~3b5dxz<U>z)SA1>m^ylFm7dy^XOC(J|KDtKB(_jtQK}naCeFSg61=bnNB;Kr(UI
> >
> zwzB}U0x$_bN$N=P7Z^sj1f-gQ69djU(xprl2eKa->EE3d9^v1Uxi_P%&9l#-hSO89
> >
> zim4}n`ye(Qx4XE>^~(3?w<gp_UB3p{#{paJ!n*b03!v@fU={~PBjHEmAEHJ7NqGA
> F
> >
> zV!)pUd_s=EfzgkQ@_*m6-zeXm9Ui$SYww7%w#<DQOee#t9sO$?@VDUwcS08
> BgY*Gg
> > zzoqtrlKU~hJ`7l83+n8{V9RC-<v2|_0Gr6mX*$}gElq}#Oa;6LPJ0&c&3I1wSlMn*
> >
> zRZ>sPtup{O2OGes3wO2Mz5<L_Qe&0;tOni@;QcfF&{xBNe+}>txa%nXZ(=@B96
> 4P_
> >
> znHz${d7ixCa5)`E<q+kEtmvtHQSQsY*$JHGY3l%IX;SX#n45}2&#qM3su%LJ7rJSW
> >
> z=dOg$QAZVk9eXYwAM3_z64uYg$={|rfHWPEmj{4%4tVLgRP{1&YC9zm?g_wM{
> scJ2
> >
> z*ctMH1HcV<PTExI<EA}21x(}_6fNf&pj?Ch2(uixAID2M;1&aJIpB7>vZ{Ws%<cEe
> >
> z*zlFx9pA$SJF-8%HY^HIA3<j)=!9{2@B*GcA|H_9G@Y3MeHwVv@q<yytMF8O-)
> 7eU
> >
> z4AC!QfLRQfiZmFdR|cA!Ytwo}{=?Jdz<Jumx!TV^G(XYTD}Z|jxDUFx%6Ab<VPlV8
> >
> zi4_xSxA_YKz8D8T9WMMZe<^Fz?@19|#djBQI)D>Q!*P0Z=C+hIsNb`Ie+TeU7hcI
> z
> >
> z#(bMdx3>T-HQiEolSiY6!b`g&F5WQS*vbx%sS4m+22OgcLw+vc<XpzoX24CyA!4
> &j
> > TJDH<UkE#+fTtE*0xX=Fr0X;+;
> >
> > 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)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom
2025-04-25 2:28 ` Jamin Lin
@ 2025-04-25 6:21 ` Cédric Le Goater
0 siblings, 0 replies; 14+ messages in thread
From: Cédric Le Goater @ 2025-04-25 6:21 UTC (permalink / raw)
To: Jamin Lin, Peter Maydell, Steven Lee, Troy Lee, Andrew Jeffery,
Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: Troy Lee, nabihestefan@google.com
On 4/25/25 04:28, Jamin Lin wrote:
> Hi Cedric, Nabih
>
>> Subject: Re: [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom
>>
>> On 4/24/25 09:51, Jamin Lin wrote:
>>> 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
>>> Commit id: 82bed5ca62295228ea7bcdc721b63db178f686e8
>>
>> It would be good to report some build info when vbootrom starts.
>>
>> Today we have,
>>
>> _ ______ ____ ____ __________ ____ __ ___ ___
>> ______________ ______ ______
>> | | / / __ )/ __ \/ __ \/_ __/ __ \/ __ \/ |/ / / | / ___/_
>> __/__ \/__ / |/ / __ \
>> | | / / __ / / / / / / / / / / /_/ / / / / /|_/ /_____/ /| | \__ \ / / __/ / /
>> /| / / / /
>> | |/ / /_/ / /_/ / /_/ / / / / _, _/ /_/ / / / /_____/ ___ |___/ // / / __/ /
>> // / /_/ /
>> |___/_____/\____/\____/ /_/ /_/ |_|\____/_/ /_/ /_/
>> |_/____//_/ /____/ /_//_/|_\____/
>>
>> Version:1.0.0
>>
>> I don't see any 1.0.0 tag under https://github.com/google/vbootrom ?
>>
>> Other firmware images report :
>>
>> Jumping to BL31 (Trusted Firmware-A) at 0x430000000
>>
>> NOTICE: BL31: v2.10.3(release):lts-v2.10.3-dirty
>> NOTICE: BL31: Built : 17:17:34, Apr 5 2024
>> I/TC:
>> I/TC: OP-TEE version: 4.1.0-dev (gcc version 13.2.0 (GCC)) #1 Fri Jan 19
>> 17:14:14 UTC 2024 aarch64
>> I/TC: WARNING: This OP-TEE configuration might be insecure!
>> I/TC: WARNING: Please check
>> https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
>> I/TC: Primary CPU initializing
>> I/TC: Primary CPU switching to normal world boot
>>
>> U-Boot 2023.10-v00.05.06 (Mar 26 2025 - 05:59:26 +0000)
>>
>>
>> OpenFirmware:
>>
>> SLOF
>> ****************************************************************
>> ******
>> QEMU Starting
>> Build Date = Nov 6 2024 15:31:54
>> FW Version = git-ee03aec2c106a699
>>
>> OpenBIOS:
>>
>> >>
>> =============================================================
>> >> OpenBIOS 1.1 [Sep 24 2024 19:56]
>> >> Configuration device id QEMU version 1 machine id 1
>>
>> SeaBIOS:
>>
>> SeaBIOS (version rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org)
>>
>> Adding a commit id, tag, build date to identify the firmware image would be
>> useful when issues are reported.
>>
>> See https://github.com/google/vbootrom/issues/6.
>>
>>> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
>>> Reviewed-by: Nabih Estefan <nabihestefan@google.com>
>>> Tested-by: Nabih Estefan <nabihestefan@google.com>
>>
> Thanks for review and suggestion.
>
> I submitted a pull request to fix this issue, please see
> https://github.com/google/vbootrom/pull/7
> https://github.com/google/vbootrom/issues/6
Approved.
> If you agree this build info format, I will resend this patch after this pull request is merged.
Yes. Just resend this patch, I will insert it in the v6 series.
Thanks,
C.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v6 0/6] Support vbootrom for AST2700
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
` (5 preceding siblings ...)
2025-04-24 7:51 ` [PATCH v6 6/6] docs/system/arm/aspeed: Support vbootrom for AST2700 Jamin Lin via
@ 2025-04-29 7:21 ` Cédric Le Goater
6 siblings, 0 replies; 14+ messages in thread
From: Cédric Le Goater @ 2025-04-29 7:21 UTC (permalink / raw)
To: Jamin Lin, Peter Maydell, Steven Lee, Troy Lee, Andrew Jeffery,
Joel Stanley, open list:All patches CC here,
open list:ASPEED BMCs
Cc: troy_lee, nabihestefan
On 4/24/25 09:51, Jamin Lin wrote:
> v1:
> Add initial support for AST27x0
> The purpose of vbootrom here is to simulate the work of BootMCU SPL (riscv)
> in AST2700, because QEMU doesn't support heterogenous architecture yet.
>
> 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
>
> v2:
> Add "Introduced ASPEED_DEV_VBOOTROM in the device enumeration" patch to fix
> build failed.
>
> v3:
> 1. Supports both vbootrom and device loader boot methods, with vbootrom used as
> the default.
> 2. Fix review and QTEST test failed issues.
>
> v4:
> Adjust the patch order.
>
> v5:
> fix review issue and remove unnecessary class attribure.
> doc: create a new section for AST2700.
>
> v6:
> fix review issue.
> Add google/vbootrom commit id for ast27x0
> split to patch to update documentataion for ast27x0
>
> Jamin Lin (6):
> hw/arm/aspeed_ast27x0 Introduce vbootrom memory region
> pc-bios: Add AST27x0 vBootrom
> hw/arm/aspeed: Add support for loading vbootrom image via "-bios"
> tests/functional/aspeed: Add to test vbootrom for AST2700
> docs/system/arm/aspeed: move AST2700 content to new section
> docs/system/arm/aspeed: Support vbootrom for AST2700
>
> MAINTAINERS | 1 +
> docs/system/arm/aspeed.rst | 99 ++++++++++++++++++++++--
> include/hw/arm/aspeed.h | 1 +
> include/hw/arm/aspeed_soc.h | 2 +
> hw/arm/aspeed.c | 36 +++++++++
> hw/arm/aspeed_ast27x0.c | 9 +++
> pc-bios/README | 6 ++
> pc-bios/ast27x0_bootrom.bin | Bin 0 -> 15424 bytes
> pc-bios/meson.build | 1 +
> tests/functional/test_aarch64_aspeed.py | 26 +++++++
> 10 files changed, 173 insertions(+), 8 deletions(-)
> create mode 100644 pc-bios/ast27x0_bootrom.bin
>
Applied to aspeed-next.
Thanks,
C.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-04-29 7:22 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24 7:51 [PATCH v6 0/6] Support vbootrom for AST2700 Jamin Lin via
2025-04-24 7:51 ` [PATCH v6 1/6] hw/arm/aspeed_ast27x0 Introduce vbootrom memory region Jamin Lin via
2025-04-24 8:43 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 2/6] pc-bios: Add AST27x0 vBootrom Jamin Lin via
2025-04-24 10:22 ` Cédric Le Goater
2025-04-25 2:28 ` Jamin Lin
2025-04-25 6:21 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 3/6] hw/arm/aspeed: Add support for loading vbootrom image via "-bios" Jamin Lin via
2025-04-24 8:59 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 4/6] tests/functional/aspeed: Add to test vbootrom for AST2700 Jamin Lin via
2025-04-24 7:51 ` [PATCH v6 5/6] docs/system/arm/aspeed: move AST2700 content to new section Jamin Lin via
2025-04-24 9:00 ` Cédric Le Goater
2025-04-24 7:51 ` [PATCH v6 6/6] docs/system/arm/aspeed: Support vbootrom for AST2700 Jamin Lin via
2025-04-29 7:21 ` [PATCH v6 0/6] " Cédric Le Goater
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).