qemu-devel
[Top][All Lists]
Advanced

[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: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v3] target-i386: initialize APIC at CPU level
Date: Wed, 10 Oct 2012 14:53:11 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120825 Thunderbird/15.0

Am 10.10.2012 14:49, schrieb Igor Mammedov:
> 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. 

I thought their intention was to have specialized rather than standard
messages, so maybe "An APIC of type '%s' could not be created." and "The
APIC of type '%s' could not be initialized."?

Andreas

> 
>>> +        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
>>
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]