On Tue, Jul 10, 2012 at 6:12 PM, Andreas Färber <afaer...@suse.de> 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 <pingf...@linux.vnet.ibm.com> >>> --- >>> 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 > >