All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue
@ 2018-07-19 16:07 Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 1/5] sifive_e: Fix crash when introspecting the device Alistair Francis
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Alistair Francis @ 2018-07-19 16:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, alistair23, Alistair Francis

The following changes since commit e1ea55668ffe6ce558a063f3a9621b761738e1f2:

  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2018-07-19 15:38:06 +0100)

are available in the Git repository at:

  git@github.com:alistair23/qemu.git tags/pull-riscv-pull-20180719

for you to fetch changes up to 8ff62f6aa067edd5455d60202041b4ae08a65b17:

  spike: Fix crash when introspecting the device (2018-07-19 09:05:48 -0700)

----------------------------------------------------------------
riscv: Fix introspection problems

This is based on Thomas's work fixing introspection problems [1] and
applied to the RISC-V port.

1: https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg03261.html

----------------------------------------------------------------
Alistair Francis (5):
      sifive_e: Fix crash when introspecting the device
      sifive_u: Fix crash when introspecting the device
      virt: Fix crash when introspecting the device
      riscv_hart: Fix crash when introspecting the device
      spike: Fix crash when introspecting the device

 hw/riscv/riscv_hart.c |  7 +++----
 hw/riscv/sifive_e.c   | 12 ++++++------
 hw/riscv/sifive_u.c   | 15 +++++++--------
 hw/riscv/spike.c      | 10 ++++------
 hw/riscv/virt.c       |  5 ++---
 5 files changed, 22 insertions(+), 27 deletions(-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL v2 for 3.0 1/5] sifive_e: Fix crash when introspecting the device
  2018-07-19 16:07 [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Alistair Francis
@ 2018-07-19 16:07 ` Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 2/5] sifive_u: " Alistair Francis
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Alistair Francis @ 2018-07-19 16:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, alistair23, Alistair Francis

Use the new object_initialize_child() and sysbus_init_child_obj() to
fix the issue.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael Clark <mjc@sifive.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/riscv/sifive_e.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c
index 8a8dbe1c00..4577d72037 100644
--- a/hw/riscv/sifive_e.c
+++ b/hw/riscv/sifive_e.c
@@ -105,9 +105,9 @@ static void riscv_sifive_e_init(MachineState *machine)
     int i;
 
     /* Initialize SoC */
-    object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_E_SOC);
-    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc),
-                              &error_abort);
+    object_initialize_child(OBJECT(machine), "soc", &s->soc,
+                            sizeof(s->soc), TYPE_RISCV_E_SOC,
+                            &error_abort, NULL);
     object_property_set_bool(OBJECT(&s->soc), true, "realized",
                             &error_abort);
 
@@ -139,9 +139,9 @@ static void riscv_sifive_e_soc_init(Object *obj)
 {
     SiFiveESoCState *s = RISCV_E_SOC(obj);
 
-    object_initialize(&s->cpus, sizeof(s->cpus), TYPE_RISCV_HART_ARRAY);
-    object_property_add_child(obj, "cpus", OBJECT(&s->cpus),
-                              &error_abort);
+    object_initialize_child(obj, "cpus", &s->cpus,
+                            sizeof(s->cpus), TYPE_RISCV_HART_ARRAY,
+                            &error_abort, NULL);
     object_property_set_str(OBJECT(&s->cpus), SIFIVE_E_CPU, "cpu-type",
                             &error_abort);
     object_property_set_int(OBJECT(&s->cpus), smp_cpus, "num-harts",
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL v2 for 3.0 2/5] sifive_u: Fix crash when introspecting the device
  2018-07-19 16:07 [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 1/5] sifive_e: Fix crash when introspecting the device Alistair Francis
@ 2018-07-19 16:07 ` Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 3/5] virt: " Alistair Francis
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Alistair Francis @ 2018-07-19 16:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, alistair23, Alistair Francis

Use the new object_initialize_child() and sysbus_init_child_obj() to
fix the issue.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael Clark <mjc@sifive.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/riscv/sifive_u.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
index 3a6ffeb437..59ae1ce24a 100644
--- a/hw/riscv/sifive_u.c
+++ b/hw/riscv/sifive_u.c
@@ -244,9 +244,9 @@ static void riscv_sifive_u_init(MachineState *machine)
     int i;
 
     /* Initialize SoC */
-    object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_U_SOC);
-    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc),
-                              &error_abort);
+    object_initialize_child(OBJECT(machine), "soc", &s->soc,
+                            sizeof(s->soc), TYPE_RISCV_U_SOC,
+                            &error_abort, NULL);
     object_property_set_bool(OBJECT(&s->soc), true, "realized",
                             &error_abort);
 
@@ -303,16 +303,15 @@ static void riscv_sifive_u_soc_init(Object *obj)
 {
     SiFiveUSoCState *s = RISCV_U_SOC(obj);
 
-    object_initialize(&s->cpus, sizeof(s->cpus), TYPE_RISCV_HART_ARRAY);
-    object_property_add_child(obj, "cpus", OBJECT(&s->cpus),
-                              &error_abort);
+    object_initialize_child(obj, "cpus", &s->cpus, sizeof(s->cpus),
+                            TYPE_RISCV_HART_ARRAY, &error_abort, NULL);
     object_property_set_str(OBJECT(&s->cpus), SIFIVE_U_CPU, "cpu-type",
                             &error_abort);
     object_property_set_int(OBJECT(&s->cpus), smp_cpus, "num-harts",
                             &error_abort);
 
-    object_initialize(&s->gem, sizeof(s->gem), TYPE_CADENCE_GEM);
-    qdev_set_parent_bus(DEVICE(&s->gem), sysbus_get_default());
+    sysbus_init_child_obj(obj, "gem", &s->gem, sizeof(s->gem),
+                          TYPE_CADENCE_GEM);
 }
 
 static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp)
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL v2 for 3.0 3/5] virt: Fix crash when introspecting the device
  2018-07-19 16:07 [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 1/5] sifive_e: Fix crash when introspecting the device Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 2/5] sifive_u: " Alistair Francis
@ 2018-07-19 16:07 ` Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 4/5] riscv_hart: " Alistair Francis
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Alistair Francis @ 2018-07-19 16:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, alistair23, Alistair Francis

Use the new object_initialize_child() and sysbus_init_child_obj() to
fix the issue.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael Clark <mjc@sifive.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/riscv/virt.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index aeada2498d..248bbdffd3 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -274,9 +274,8 @@ static void riscv_virt_board_init(MachineState *machine)
     void *fdt;
 
     /* Initialize SOC */
-    object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY);
-    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc),
-                              &error_abort);
+    object_initialize_child(OBJECT(machine), "soc", &s->soc, sizeof(s->soc),
+                            TYPE_RISCV_HART_ARRAY, &error_abort, NULL);
     object_property_set_str(OBJECT(&s->soc), VIRT_CPU, "cpu-type",
                             &error_abort);
     object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts",
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL v2 for 3.0 4/5] riscv_hart: Fix crash when introspecting the device
  2018-07-19 16:07 [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Alistair Francis
                   ` (2 preceding siblings ...)
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 3/5] virt: " Alistair Francis
@ 2018-07-19 16:07 ` Alistair Francis
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 5/5] spike: " Alistair Francis
  2018-07-19 17:25 ` [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Alistair Francis @ 2018-07-19 16:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, alistair23, Alistair Francis

Use the new object_initialize_child() and sysbus_init_child_obj() to
fix the issue.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael Clark <mjc@sifive.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 hw/riscv/riscv_hart.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/hw/riscv/riscv_hart.c b/hw/riscv/riscv_hart.c
index 75ba7ed579..e34a26a0ef 100644
--- a/hw/riscv/riscv_hart.c
+++ b/hw/riscv/riscv_hart.c
@@ -45,11 +45,10 @@ static void riscv_harts_realize(DeviceState *dev, Error **errp)
     s->harts = g_new0(RISCVCPU, s->num_harts);
 
     for (n = 0; n < s->num_harts; n++) {
-
-        object_initialize(&s->harts[n], sizeof(RISCVCPU), s->cpu_type);
+        object_initialize_child(OBJECT(s), "harts[*]", &s->harts[n],
+                                sizeof(RISCVCPU), s->cpu_type,
+                                &error_abort, NULL);
         s->harts[n].env.mhartid = n;
-        object_property_add_child(OBJECT(s), "harts[*]", OBJECT(&s->harts[n]),
-                                  &error_abort);
         qemu_register_reset(riscv_harts_cpu_reset, &s->harts[n]);
         object_property_set_bool(OBJECT(&s->harts[n]), true,
                                  "realized", &err);
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PULL v2 for 3.0 5/5] spike: Fix crash when introspecting the device
  2018-07-19 16:07 [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Alistair Francis
                   ` (3 preceding siblings ...)
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 4/5] riscv_hart: " Alistair Francis
@ 2018-07-19 16:07 ` Alistair Francis
  2018-07-19 17:25 ` [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Alistair Francis @ 2018-07-19 16:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, alistair23, Alistair Francis

Use the new object_initialize_child() and sysbus_init_child_obj() to
fix the issue.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael Clark <mjc@sifive.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 hw/riscv/spike.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c
index f94e2b6707..c8c056c50b 100644
--- a/hw/riscv/spike.c
+++ b/hw/riscv/spike.c
@@ -171,9 +171,8 @@ static void spike_v1_10_0_board_init(MachineState *machine)
     int i;
 
     /* Initialize SOC */
-    object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY);
-    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc),
-                              &error_abort);
+    object_initialize_child(OBJECT(machine), "soc", &s->soc, sizeof(s->soc),
+                            TYPE_RISCV_HART_ARRAY, &error_abort, NULL);
     object_property_set_str(OBJECT(&s->soc), SPIKE_V1_10_0_CPU, "cpu-type",
                             &error_abort);
     object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts",
@@ -254,9 +253,8 @@ static void spike_v1_09_1_board_init(MachineState *machine)
     int i;
 
     /* Initialize SOC */
-    object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY);
-    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc),
-                              &error_abort);
+    object_initialize_child(OBJECT(machine), "soc", &s->soc, sizeof(s->soc),
+                            TYPE_RISCV_HART_ARRAY, &error_abort, NULL);
     object_property_set_str(OBJECT(&s->soc), SPIKE_V1_09_1_CPU, "cpu-type",
                             &error_abort);
     object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts",
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue
  2018-07-19 16:07 [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Alistair Francis
                   ` (4 preceding siblings ...)
  2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 5/5] spike: " Alistair Francis
@ 2018-07-19 17:25 ` Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2018-07-19 17:25 UTC (permalink / raw)
  To: Alistair Francis; +Cc: QEMU Developers, Alistair Francis

On 19 July 2018 at 17:07, Alistair Francis <alistair.francis@wdc.com> wrote:
> The following changes since commit e1ea55668ffe6ce558a063f3a9621b761738e1f2:
>
>   Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2018-07-19 15:38:06 +0100)
>
> are available in the Git repository at:
>
>   git@github.com:alistair23/qemu.git tags/pull-riscv-pull-20180719
>
> for you to fetch changes up to 8ff62f6aa067edd5455d60202041b4ae08a65b17:
>
>   spike: Fix crash when introspecting the device (2018-07-19 09:05:48 -0700)
>
> ----------------------------------------------------------------
> riscv: Fix introspection problems
>
> This is based on Thomas's work fixing introspection problems [1] and
> applied to the RISC-V port.
>
> 1: https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg03261.html
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-07-19 17:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-19 16:07 [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Alistair Francis
2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 1/5] sifive_e: Fix crash when introspecting the device Alistair Francis
2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 2/5] sifive_u: " Alistair Francis
2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 3/5] virt: " Alistair Francis
2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 4/5] riscv_hart: " Alistair Francis
2018-07-19 16:07 ` [Qemu-devel] [PULL v2 for 3.0 5/5] spike: " Alistair Francis
2018-07-19 17:25 ` [Qemu-devel] [PULL v2 for 3.0 0/5] riscv-pull queue Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.