mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
aspeed: Set the dram container at the SoC level
Currently, the Aspeed machines allocate a ram container region in which the machine ram region is mapped. See commitad1a978218
("aspeed: add a RAM memory region container"). An extra region is mapped after ram in the ram container to catch invalid access done by FW. That's how FW determines the size of ram. See commitebe31c0a8e
("aspeed: add a max_ram_size property to the memory controller"). Let's move all the logic under the SoC where it should be. It will also ease the work on multi SoC support. Reviewed-by: Peter Delevoryas <pdel@fb.com> Message-Id: <20220623202123.3972977-1-clg@kaod.org> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
1de51272bf
commit
346160cbf2
4 changed files with 56 additions and 41 deletions
|
@ -197,8 +197,6 @@ static void aspeed_soc_ast2600_init(Object *obj)
|
|||
object_initialize_child(obj, "sdmc", &s->sdmc, typename);
|
||||
object_property_add_alias(obj, "ram-size", OBJECT(&s->sdmc),
|
||||
"ram-size");
|
||||
object_property_add_alias(obj, "max-ram-size", OBJECT(&s->sdmc),
|
||||
"max-ram-size");
|
||||
|
||||
for (i = 0; i < sc->wdts_num; i++) {
|
||||
snprintf(typename, sizeof(typename), "aspeed.wdt-%s", socname);
|
||||
|
@ -443,6 +441,11 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
|
|||
sc->memmap[ASPEED_DEV_WDT] + i * awc->offset);
|
||||
}
|
||||
|
||||
/* RAM */
|
||||
if (!aspeed_soc_dram_init(s, errp)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Net */
|
||||
for (i = 0; i < sc->macs_num; i++) {
|
||||
object_property_set_bool(OBJECT(&s->ftgmac100[i]), "aspeed", true,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue