[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] target-i386: initialize APIC at CPU level
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH v3] target-i386: initialize APIC at CPU level |
Date: |
Wed, 10 Oct 2012 14:49:39 +0200 |
On Wed, 10 Oct 2012 12:01:29 +0200
Andreas Färber <address@hidden> wrote:
> Am 09.10.2012 19:17, schrieb Igor Mammedov:
> > (L)APIC is a part of cpu [1] so move APIC initialization inside of
> > x86_cpu object. Since cpu_model and override flags currently specify
> > whether APIC should be created or not, APIC creation&initialization is
> > moved into x86_cpu_apic_init() which is called from x86_cpu_realize().
> >
> > [1] - all x86 cpus have integrated APIC if we overlook existence of i486,
> > and it's more convenient to model after majority of them.
> >
> > Signed-off-by: Igor Mammedov <address@hidden>
>
> I am happy with this latest round of fixes to ad-hoc feedback from my
> CPU remodeling perspective (as an interim solution), and I depend on
> this for my APIC changes (code is being moved around here).
>
> > + if (env->apic_state == NULL) {
> > + error_set(errp, QERR_DEVICE_INIT_FAILED, apic_type);
This is equivalent to error_setg(errp, "Device '%s' could not be
initialized",...). I'm not sure if repeating the same string in many places
is a better than using an existing macro.
> > + return;
> > + }
> [...]
> > + if (qdev_init(env->apic_state)) {
> > + error_set(errp, QERR_DEVICE_INIT_FAILED,u
> > + object_get_typename(OBJECT(env->apic_state)));
> > + return;
> > + }
>
> Luiz, could you please take a look whether I can apply this to my
> qom-cpu tree now or whether error_set() should be replaced by
> error_setg() or something? Contents-wise these are error-checking
> creation and initialization of a child (APIC) device/object.
>
> Thanks,
> Andreas
>