Hi Cedric,
> Subject: Re: [PATCH v2 04/10] hw/arm/aspeed_ast27x0 Introduce vbootrom
> memory region
>
> On 4/10/25 04:38, 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 region is initialized as ROM and registered in the SoC's
> > address space using the ASPEED_DEV_VBOOTROM index.
> >
> > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
>
> Please merge patches 1-2,4 together.
>
Will do.
Jamin
>
> Thanks,
>
> C.
>
>
> > ---
> > include/hw/arm/aspeed_soc.h | 1 +
> > hw/arm/aspeed_ast27x0.c | 10 ++++++++++
> > 2 files changed, 11 insertions(+)
> >
> > diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
> > index 432f6178ac..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;
> > diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index
> > c7188ae5f1..0982e63639 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_rom(&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;