[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/5] qom-cpu: during cpu reset, it will reset it
From: |
liu ping fan |
Subject: |
Re: [Qemu-devel] [PATCH 4/5] qom-cpu: during cpu reset, it will reset its child |
Date: |
Wed, 11 Jul 2012 09:17:27 +0800 |
On Tue, Jul 10, 2012 at 6:12 PM, Andreas Färber <address@hidden> wrote:
> Am 10.07.2012 10:41, schrieb Paolo Bonzini:
>> Il 10/07/2012 08:16, Liu Ping Fan ha scritto:
>>> This will give the embeded logic module, such as apic has the
>>> opportunity to reset.
>>>
>>> Signed-off-by: Liu Ping Fan <address@hidden>
>>> ---
>>> qom/cpu.c | 16 ++++++++++++++++
>>> 1 files changed, 16 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/qom/cpu.c b/qom/cpu.c
>>> index 5b36046..6aea8e6 100644
>>> --- a/qom/cpu.c
>>> +++ b/qom/cpu.c
>>> @@ -20,10 +20,26 @@
>>>
>>> #include "qemu/cpu.h"
>>> #include "qemu-common.h"
>>> +#include "hw/qdev.h"
>>> +
>>> +static int cpu_reset_kid(Object *child, void *opaque)
>>> +{
>>> + if (object_is_type_str(child, TYPE_DEVICE)) {
>>> + device_reset(DEVICE(child));
>>> + } else if (object_is_type_str(child, TYPE_BUS)) {
>>> + bus_reset(BUS(child));
>>> + } else {
>>> + printf("cpu's child must be DEVICE or BUS");
>>> + abort();
>>> + }
>>> + return 0;
>>> +}
>>>
>>> void cpu_reset(CPUState *cpu)
>>> {
>>> CPUClass *klass = CPU_GET_CLASS(cpu);
>>> + Object *obj = OBJECT(cpu);
>>> + object_child_foreach(obj, cpu_reset_kid, NULL);
>>
>> Ok, now I see what you want to do. Next time, please add meaningful
>> commit messages to all patches in the series, even those that only add
>> infrastructure.
>>
>> It really looks like time is ripe to make CPUs children of Device, so
>> you can just use qdev_reset_all to reset the CPU.
>
> While we agree on that goal, the way there has proven controversial,
> please review and comment on the two approaches around.
>
> One thing we definitely need to do is to split up qdev.h.
>
Could you remember the main topic about these? I miss these discussion.
Thanks,
pingfan
> Andreas
>
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
>
>
- Re: [Qemu-devel] [PATCH 1/5] qdev: introduce qdev_create_kid(Object *parent, const char *type), (continued)
[Qemu-devel] [PATCH 2/5] qom: introduce object_is_type_str(), so we can judge its type., Liu Ping Fan, 2012/07/10
[Qemu-devel] [PATCH 3/5] qdev: export the bus reset interface, Liu Ping Fan, 2012/07/10
[Qemu-devel] [PATCH 4/5] qom-cpu: during cpu reset, it will reset its child, Liu Ping Fan, 2012/07/10
Re: [Qemu-devel] [PATCH 4/5] qom-cpu: during cpu reset, it will reset its child, liu ping fan, 2012/07/10
Re: [Qemu-devel] [PATCH 4/5] qom-cpu: during cpu reset, it will reset its child, Paolo Bonzini, 2012/07/11
[Qemu-devel] [PATCH 5/5] apic: create apic as a child of cpu, not system_bus any longer, Liu Ping Fan, 2012/07/10