On 3/18/22 10:22, Joel Stanley wrote:
> Guest code (u-boot) pokes at this on boot. No functionality is required
> for guest code to work correctly, but it helps to document the region
> being read from.
>
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
> include/hw/arm/aspeed_soc.h | 1 +
> hw/arm/aspeed_ast2600.c | 6 ++++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
> index cf484eae0e60..b9cd51119608 100644
> --- a/include/hw/arm/aspeed_soc.h
> +++ b/include/hw/arm/aspeed_soc.h
> @@ -119,6 +119,7 @@ enum {
> ASPEED_DEV_SCU,
> ASPEED_DEV_ADC,
> ASPEED_DEV_SBC,
> + ASPEED_DEV_EMMC_BC,
> ASPEED_DEV_VIDEO,
> ASPEED_DEV_SRAM,
> ASPEED_DEV_SDHCI,
> diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
> index 25ae916e31ae..11cb6cf86bd2 100644
> --- a/hw/arm/aspeed_ast2600.c
> +++ b/hw/arm/aspeed_ast2600.c
> @@ -48,6 +48,7 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = {
> [ASPEED_DEV_ADC] = 0x1E6E9000,
> [ASPEED_DEV_DP] = 0x1E6EB000,
> [ASPEED_DEV_SBC] = 0x1E6F2000,
> + [ASPEED_DEV_EMMC_BC] = 0x1E6f5000,
> [ASPEED_DEV_VIDEO] = 0x1E700000,
> [ASPEED_DEV_SDHCI] = 0x1E740000,
> [ASPEED_DEV_EMMC] = 0x1E750000,
> @@ -267,6 +268,11 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
> create_unimplemented_device("aspeed.video", sc->memmap[ASPEED_DEV_VIDEO],
> 0x1000);
>
> + /* eMMC Boot Controller stub */
> + create_unimplemented_device("aspeed.emmc-boot-controller",
> + sc->memmap[ASPEED_DEV_EMMC_BC],
> + 0x1000);
We should add more of these for the controllers that QEMU doesn't model.
The "aspeed_soc.io" region is really too large to be useful.
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Thanks,
C.
> +
> /* CPU */
> for (i = 0; i < sc->num_cpus; i++) {
> if (sc->num_cpus > 1) {