* [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.