* [PATCH for 7.1 0/2] aspeed: QOM fixes @ 2022-07-27 10:27 Cédric Le Goater 2022-07-27 10:27 ` [PATCH for 7.1 1/2] aspeed: Remove unused fields from AspeedMachineState Cédric Le Goater 2022-07-27 10:27 ` [PATCH for 7.1 2/2] aspeed/fby35: Fix owner of the BMC RAM memory region Cédric Le Goater 0 siblings, 2 replies; 4+ messages in thread From: Cédric Le Goater @ 2022-07-27 10:27 UTC (permalink / raw) To: qemu-arm, qemu-devel Cc: Peter Maydell, Andrew Jeffery, Joel Stanley, Cédric Le Goater Hello, Compiling with CONFIG_QOM_CAST_DEBUG caught a QOM issue in the fby35 machine. The series also includes a trivial cleanup of unused code. Thanks, C. Cédric Le Goater (2): aspeed: Remove unused fields from AspeedMachineState aspeed/fby35: Fix owner of the BMC RAM memory region hw/arm/aspeed.c | 2 -- hw/arm/fby35.c | 14 +++++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) -- 2.37.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH for 7.1 1/2] aspeed: Remove unused fields from AspeedMachineState 2022-07-27 10:27 [PATCH for 7.1 0/2] aspeed: QOM fixes Cédric Le Goater @ 2022-07-27 10:27 ` Cédric Le Goater 2022-07-27 10:27 ` [PATCH for 7.1 2/2] aspeed/fby35: Fix owner of the BMC RAM memory region Cédric Le Goater 1 sibling, 0 replies; 4+ messages in thread From: Cédric Le Goater @ 2022-07-27 10:27 UTC (permalink / raw) To: qemu-arm, qemu-devel Cc: Peter Maydell, Andrew Jeffery, Joel Stanley, Cédric Le Goater Fixes: 346160cbf2af ("aspeed: Set the dram container at the SoC level") Signed-off-by: Cédric Le Goater <clg@kaod.org> --- hw/arm/aspeed.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 4193a3d23d1d..b3bbe06f8fa4 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -38,8 +38,6 @@ struct AspeedMachineState { /* Public */ AspeedSoCState soc; - MemoryRegion ram_container; - MemoryRegion max_ram; bool mmio_exec; char *fmc_model; char *spi_model; -- 2.37.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH for 7.1 2/2] aspeed/fby35: Fix owner of the BMC RAM memory region 2022-07-27 10:27 [PATCH for 7.1 0/2] aspeed: QOM fixes Cédric Le Goater 2022-07-27 10:27 ` [PATCH for 7.1 1/2] aspeed: Remove unused fields from AspeedMachineState Cédric Le Goater @ 2022-07-27 10:27 ` Cédric Le Goater 2022-07-27 18:11 ` Peter Delevoryas 1 sibling, 1 reply; 4+ messages in thread From: Cédric Le Goater @ 2022-07-27 10:27 UTC (permalink / raw) To: qemu-arm, qemu-devel Cc: Peter Maydell, Andrew Jeffery, Joel Stanley, Cédric Le Goater, Peter Delevoryas A MachineState object is used as a owner of the RAM region and this asserts in memory_region_init_ram() when QEMU is built with CONFIG_QOM_CAST_DEBUG : /* This will assert if owner is neither NULL nor a DeviceState. * We only want the owner here for the purposes of defining a * unique name for migration. TODO: Ideally we should implement * a naming scheme for Objects which are not DeviceStates, in * which case we can relax this restriction. */ owner_dev = DEVICE(owner); Use the BMC and BIC objects as the owners of their memory regions. Cc: Peter Delevoryas <peter@pjd.dev> Fixes: 778e14cc5cd5 ("aspeed: Add AST2600 (BMC) to fby35") Signed-off-by: Cédric Le Goater <clg@kaod.org> --- hw/arm/fby35.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/hw/arm/fby35.c b/hw/arm/fby35.c index 79605f306462..90c04bbc3389 100644 --- a/hw/arm/fby35.c +++ b/hw/arm/fby35.c @@ -72,11 +72,13 @@ static void fby35_bmc_init(Fby35State *s) { DriveInfo *drive0 = drive_get(IF_MTD, 0, 0); - memory_region_init(&s->bmc_memory, OBJECT(s), "bmc-memory", UINT64_MAX); - memory_region_init_ram(&s->bmc_dram, OBJECT(s), "bmc-dram", + object_initialize_child(OBJECT(s), "bmc", &s->bmc, "ast2600-a3"); + + memory_region_init(&s->bmc_memory, OBJECT(&s->bmc), "bmc-memory", + UINT64_MAX); + memory_region_init_ram(&s->bmc_dram, OBJECT(&s->bmc), "bmc-dram", FBY35_BMC_RAM_SIZE, &error_abort); - object_initialize_child(OBJECT(s), "bmc", &s->bmc, "ast2600-a3"); object_property_set_int(OBJECT(&s->bmc), "ram-size", FBY35_BMC_RAM_SIZE, &error_abort); object_property_set_link(OBJECT(&s->bmc), "memory", OBJECT(&s->bmc_memory), @@ -120,9 +122,11 @@ static void fby35_bic_init(Fby35State *s) s->bic_sysclk = clock_new(OBJECT(s), "SYSCLK"); clock_set_hz(s->bic_sysclk, 200000000ULL); - memory_region_init(&s->bic_memory, OBJECT(s), "bic-memory", UINT64_MAX); - object_initialize_child(OBJECT(s), "bic", &s->bic, "ast1030-a1"); + + memory_region_init(&s->bic_memory, OBJECT(&s->bic), "bic-memory", + UINT64_MAX); + qdev_connect_clock_in(DEVICE(&s->bic), "sysclk", s->bic_sysclk); object_property_set_link(OBJECT(&s->bic), "memory", OBJECT(&s->bic_memory), &error_abort); -- 2.37.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH for 7.1 2/2] aspeed/fby35: Fix owner of the BMC RAM memory region 2022-07-27 10:27 ` [PATCH for 7.1 2/2] aspeed/fby35: Fix owner of the BMC RAM memory region Cédric Le Goater @ 2022-07-27 18:11 ` Peter Delevoryas 0 siblings, 0 replies; 4+ messages in thread From: Peter Delevoryas @ 2022-07-27 18:11 UTC (permalink / raw) To: Cédric Le Goater Cc: qemu-arm, qemu-devel, Peter Maydell, Andrew Jeffery, Joel Stanley On Wed, Jul 27, 2022 at 12:27:14PM +0200, Cédric Le Goater wrote: > A MachineState object is used as a owner of the RAM region and this > asserts in memory_region_init_ram() when QEMU is built with > CONFIG_QOM_CAST_DEBUG : > > /* This will assert if owner is neither NULL nor a DeviceState. > * We only want the owner here for the purposes of defining a > * unique name for migration. TODO: Ideally we should implement > * a naming scheme for Objects which are not DeviceStates, in > * which case we can relax this restriction. > */ > owner_dev = DEVICE(owner); > > Use the BMC and BIC objects as the owners of their memory regions. > > Cc: Peter Delevoryas <peter@pjd.dev> > Fixes: 778e14cc5cd5 ("aspeed: Add AST2600 (BMC) to fby35") > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- Looks good to me, thanks for fixing this Cedric! Peter Reviewed-by: Peter Delevoryas <peter@pjd.dev> > hw/arm/fby35.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/hw/arm/fby35.c b/hw/arm/fby35.c > index 79605f306462..90c04bbc3389 100644 > --- a/hw/arm/fby35.c > +++ b/hw/arm/fby35.c > @@ -72,11 +72,13 @@ static void fby35_bmc_init(Fby35State *s) > { > DriveInfo *drive0 = drive_get(IF_MTD, 0, 0); > > - memory_region_init(&s->bmc_memory, OBJECT(s), "bmc-memory", UINT64_MAX); > - memory_region_init_ram(&s->bmc_dram, OBJECT(s), "bmc-dram", > + object_initialize_child(OBJECT(s), "bmc", &s->bmc, "ast2600-a3"); > + > + memory_region_init(&s->bmc_memory, OBJECT(&s->bmc), "bmc-memory", > + UINT64_MAX); > + memory_region_init_ram(&s->bmc_dram, OBJECT(&s->bmc), "bmc-dram", > FBY35_BMC_RAM_SIZE, &error_abort); > > - object_initialize_child(OBJECT(s), "bmc", &s->bmc, "ast2600-a3"); > object_property_set_int(OBJECT(&s->bmc), "ram-size", FBY35_BMC_RAM_SIZE, > &error_abort); > object_property_set_link(OBJECT(&s->bmc), "memory", OBJECT(&s->bmc_memory), > @@ -120,9 +122,11 @@ static void fby35_bic_init(Fby35State *s) > s->bic_sysclk = clock_new(OBJECT(s), "SYSCLK"); > clock_set_hz(s->bic_sysclk, 200000000ULL); > > - memory_region_init(&s->bic_memory, OBJECT(s), "bic-memory", UINT64_MAX); > - > object_initialize_child(OBJECT(s), "bic", &s->bic, "ast1030-a1"); > + > + memory_region_init(&s->bic_memory, OBJECT(&s->bic), "bic-memory", > + UINT64_MAX); > + > qdev_connect_clock_in(DEVICE(&s->bic), "sysclk", s->bic_sysclk); > object_property_set_link(OBJECT(&s->bic), "memory", OBJECT(&s->bic_memory), > &error_abort); > -- > 2.37.1 > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-07-27 18:24 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-07-27 10:27 [PATCH for 7.1 0/2] aspeed: QOM fixes Cédric Le Goater 2022-07-27 10:27 ` [PATCH for 7.1 1/2] aspeed: Remove unused fields from AspeedMachineState Cédric Le Goater 2022-07-27 10:27 ` [PATCH for 7.1 2/2] aspeed/fby35: Fix owner of the BMC RAM memory region Cédric Le Goater 2022-07-27 18:11 ` Peter Delevoryas
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).