From: Igor Mammedov <imammedo@redhat.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: peter.maydell@linaro.org, aliguori@us.ibm.com,
ehabkost@redhat.com, jan.kiszka@siemens.com, mtosatti@redhat.com,
qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com,
blauwirbel@gmail.com, avi@redhat.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/5] target-i386: call x86_cpu_realize() after APIC is initialized.
Date: Thu, 21 Jun 2012 11:43:18 +0200 [thread overview]
Message-ID: <4FE2ECB6.6090608@redhat.com> (raw)
In-Reply-To: <4FE1D1BB.6030709@suse.de>
On 06/20/2012 03:35 PM, Andreas Färber wrote:
> Am 20.06.2012 14:59, schrieb Igor Mammedov:
>> It's not correct to make CPU runnable (i.e. calling x86_cpu_realize())
>> when not all properties are set (APIC in this case).
>>
>> Fix it by calling x86_cpu_realize() at board level after APIC is
>> initialized, right before cpu_reset().
>>
>> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>> ---
>> hw/pc.c | 1 +
>> target-i386/helper.c | 2 --
>> 2 files changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/hw/pc.c b/hw/pc.c
>> index 8368701..8a662cf 100644
>> --- a/hw/pc.c
>> +++ b/hw/pc.c
>> @@ -948,6 +948,7 @@ static X86CPU *pc_new_cpu(const char *cpu_model)
>> env->apic_state = apic_init(env, env->cpuid_apic_id);
>> }
>> qemu_register_reset(pc_cpu_reset, cpu);
>> + x86_cpu_realize(OBJECT(cpu), NULL);
>> pc_cpu_reset(cpu);
>> return cpu;
>> }
>> diff --git a/target-i386/helper.c b/target-i386/helper.c
>> index c52ec13..b38ea7f 100644
>> --- a/target-i386/helper.c
>> +++ b/target-i386/helper.c
>> @@ -1161,8 +1161,6 @@ X86CPU *cpu_x86_init(const char *cpu_model)
>> return NULL;
>> }
>>
>> - x86_cpu_realize(OBJECT(cpu), NULL);
>> -
>> return cpu;
>> }
>>
>
> This will require changes in linux-user and possibly bsd-user. Having a
Why it would require changes in linux-user? So far x86_cpu_realize() does
nothing useful in linux-user, compiled and tested. It should be harmless
for linux-user not to execute it.
But I haven't compiled/tested bsd-user, do I need BSD for this?
> cpu_realize() would probably help with avoiding #ifdef'ery.
> Unfortunately deriving CPUState from DeviceState proves a bit difficult
> in the meantime (it worked at one point, now there's lots of circular
> header dependencies), and realize support for Object got stopped.
I'm in process of untangling this header mayhem (at least to a point
that allows compilation complete when CPU is derived from Device)
>
> Andreas
>
--
-----
Igor
next prev parent reply other threads:[~2012-06-21 9:43 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-20 12:59 [Qemu-devel] [PATCH 0/5] target-i386: move cpu reset and tcg intialization inside CPU object Igor Mammedov
2012-06-20 12:59 ` [Qemu-devel] [PATCH 1/5] target-i386: drop usage of prev_debug_excp_handler Igor Mammedov
2012-06-20 13:28 ` Jan Kiszka
2012-06-21 9:29 ` Igor Mammedov
2012-06-20 12:59 ` [Qemu-devel] [PATCH 2/5] target-i386: move tcg initialization into x86_cpu_initfn() Igor Mammedov
2012-06-20 13:17 ` Andreas Färber
2012-06-20 12:59 ` [Qemu-devel] [PATCH 3/5] target-i386: call x86_cpu_realize() after APIC is initialized Igor Mammedov
2012-06-20 13:35 ` Andreas Färber
2012-06-21 9:43 ` Igor Mammedov [this message]
2012-06-21 10:14 ` Andreas Färber
2012-06-21 11:59 ` Igor Mammedov
2012-07-09 10:59 ` igor
2012-07-09 12:57 ` Andreas Färber
2012-07-10 13:35 ` Igor Mammedov
2012-07-11 7:35 ` liu ping fan
2012-07-11 12:27 ` Igor Mammedov
2012-07-12 2:16 ` liu ping fan
2012-07-11 7:32 ` liu ping fan
2012-06-20 12:59 ` [Qemu-devel] [PATCH 4/5] target-i386: move cpu halted decision into x86_cpu_reset Igor Mammedov
2012-06-20 12:59 ` [Qemu-devel] [PATCH 5/5] target-i386: move cpu_reset and reset callback to cpu.c Igor Mammedov
2012-06-21 11:54 ` Igor Mammedov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FE2ECB6.6090608@redhat.com \
--to=imammedo@redhat.com \
--cc=afaerber@suse.de \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=ehabkost@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.