qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [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).