From: "Cédric Le Goater" <clg@kaod.org>
To: Jamin Lin <jamin_lin@aspeedtech.com>,
Peter Maydell <peter.maydell@linaro.org>,
Andrew Jeffery <andrew@codeconstruct.com.au>,
Joel Stanley <joel@jms.id.au>,
"open list:ASPEED BMCs" <qemu-arm@nongnu.org>,
"open list:All patches CC here" <qemu-devel@nongnu.org>
Cc: troy_lee@aspeedtech.com
Subject: Re: [PATCH v2 2/2] aspeed: fix hardcode boot address 0
Date: Fri, 9 Feb 2024 09:31:41 +0100 [thread overview]
Message-ID: <99e302b1-d24d-452e-87d0-ff7f47bc566f@kaod.org> (raw)
In-Reply-To: <20240207195224.452987-3-jamin_lin@aspeedtech.com>
On 2/7/24 20:52, Jamin Lin wrote:
> In the previous design of ASPEED SOCs QEMU model, it set the boot
> address at "0" which was the hardcode setting for ast10x0, ast2600,
> ast2500 and ast2400.
>
> According to the design of ast2700, it has bootmcu which is used for
> executing SPL and initialize DRAM, then, CPUs(cortex-a35)
> execute u-boot, kernel and rofs. QEMU will only support CPU(cortex-a35)
> parts and the boot address is "0x4 00000000" for ast2700.
> Therefore, fixed hardcode boot address 0.
>
> Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
I agree with Philippe that the justification could be simpler. This change
is just a cleanup preparing ground for future models using a different
mapping address.
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Thanks,
C.
> ---
> hw/arm/aspeed.c | 4 +++-
> hw/arm/aspeed_ast2400.c | 4 ++--
> hw/arm/aspeed_ast2600.c | 2 +-
> include/hw/arm/aspeed_soc.h | 2 --
> 4 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> index 06d863958b..39758557be 100644
> --- a/hw/arm/aspeed.c
> +++ b/hw/arm/aspeed.c
> @@ -289,12 +289,14 @@ static void aspeed_install_boot_rom(AspeedMachineState *bmc, BlockBackend *blk,
> uint64_t rom_size)
> {
> AspeedSoCState *soc = bmc->soc;
> + AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(soc);
>
> memory_region_init_rom(&bmc->boot_rom, NULL, "aspeed.boot_rom", rom_size,
> &error_abort);
> memory_region_add_subregion_overlap(&soc->spi_boot_container, 0,
> &bmc->boot_rom, 1);
> - write_boot_rom(blk, ASPEED_SOC_SPI_BOOT_ADDR, rom_size, &error_abort);
> + write_boot_rom(blk, sc->memmap[ASPEED_DEV_SPI_BOOT],
> + rom_size, &error_abort);
> }
>
> void aspeed_board_init_flashes(AspeedSMCState *s, const char *flashtype,
> diff --git a/hw/arm/aspeed_ast2400.c b/hw/arm/aspeed_ast2400.c
> index 95da85fee0..d125886207 100644
> --- a/hw/arm/aspeed_ast2400.c
> +++ b/hw/arm/aspeed_ast2400.c
> @@ -26,7 +26,7 @@
> #define ASPEED_SOC_IOMEM_SIZE 0x00200000
>
> static const hwaddr aspeed_soc_ast2400_memmap[] = {
> - [ASPEED_DEV_SPI_BOOT] = ASPEED_SOC_SPI_BOOT_ADDR,
> + [ASPEED_DEV_SPI_BOOT] = 0x00000000,
> [ASPEED_DEV_IOMEM] = 0x1E600000,
> [ASPEED_DEV_FMC] = 0x1E620000,
> [ASPEED_DEV_SPI1] = 0x1E630000,
> @@ -61,7 +61,7 @@ static const hwaddr aspeed_soc_ast2400_memmap[] = {
> };
>
> static const hwaddr aspeed_soc_ast2500_memmap[] = {
> - [ASPEED_DEV_SPI_BOOT] = ASPEED_SOC_SPI_BOOT_ADDR,
> + [ASPEED_DEV_SPI_BOOT] = 0x00000000,
> [ASPEED_DEV_IOMEM] = 0x1E600000,
> [ASPEED_DEV_FMC] = 0x1E620000,
> [ASPEED_DEV_SPI1] = 0x1E630000,
> diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
> index f74561ecdc..174be53770 100644
> --- a/hw/arm/aspeed_ast2600.c
> +++ b/hw/arm/aspeed_ast2600.c
> @@ -22,7 +22,7 @@
> #define ASPEED_SOC_DPMCU_SIZE 0x00040000
>
> static const hwaddr aspeed_soc_ast2600_memmap[] = {
> - [ASPEED_DEV_SPI_BOOT] = ASPEED_SOC_SPI_BOOT_ADDR,
> + [ASPEED_DEV_SPI_BOOT] = 0x00000000,
> [ASPEED_DEV_SRAM] = 0x10000000,
> [ASPEED_DEV_DPMCU] = 0x18000000,
> /* 0x16000000 0x17FFFFFF : AHB BUS do LPC Bus bridge */
> diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
> index 5ab0902da0..bf43ad8351 100644
> --- a/include/hw/arm/aspeed_soc.h
> +++ b/include/hw/arm/aspeed_soc.h
> @@ -224,8 +224,6 @@ enum {
> ASPEED_DEV_FSI2,
> };
>
> -#define ASPEED_SOC_SPI_BOOT_ADDR 0x0
> -
> qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev);
> bool aspeed_soc_uart_realize(AspeedSoCState *s, Error **errp);
> void aspeed_soc_uart_set_chr(AspeedSoCState *s, int dev, Chardev *chr);
next prev parent reply other threads:[~2024-02-09 8:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20240207195224.452987-1-jamin_lin@aspeedtech.com>
2024-02-07 19:52 ` [PATCH v2 2/2] aspeed: fix hardcode boot address 0 Jamin Lin via
2024-02-07 20:28 ` Philippe Mathieu-Daudé
2024-02-15 1:30 ` Jamin Lin
2024-02-09 8:31 ` Cédric Le Goater [this message]
2024-02-15 1:32 ` Jamin Lin
[not found] <20240207200220.453244-1-jamin_lin@aspeedtech.com>
2024-02-07 20:02 ` Jamin Lin via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=99e302b1-d24d-452e-87d0-ff7f47bc566f@kaod.org \
--to=clg@kaod.org \
--cc=andrew@codeconstruct.com.au \
--cc=jamin_lin@aspeedtech.com \
--cc=joel@jms.id.au \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=troy_lee@aspeedtech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).