All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Cc: Gu Zheng <guz.fnst@cn.fujitsu.com>, Igor Mammedov <imammedo@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 4/8] target-i386: Keep track of apic-id setting
Date: Fri, 19 Dec 2014 12:23:07 +0100	[thread overview]
Message-ID: <54940A9B.7090800@redhat.com> (raw)
In-Reply-To: <1418956884-24022-5-git-send-email-ehabkost@redhat.com>



On 19/12/2014 03:41, Eduardo Habkost wrote:
> Set a flag indicating that the apic-id property was set, so we can later
> ensure we won't try to realize a X86CPU object before apic-id was set.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Gu Zheng <guz.fnst@cn.fujitsu.com>
> ---
>  target-i386/cpu-qom.h | 1 +
>  target-i386/cpu.c     | 3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/target-i386/cpu-qom.h b/target-i386/cpu-qom.h
> index 4a6f48a..ba0ee15 100644
> --- a/target-i386/cpu-qom.h
> +++ b/target-i386/cpu-qom.h
> @@ -94,6 +94,7 @@ typedef struct X86CPU {
>      bool migratable;
>      bool host_features;
>      uint32_t apic_id;
> +    bool apic_id_set;
>  
>      /* if true the CPUID code directly forward host cache leaves to the guest */
>      bool cache_info_passthrough;
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index cbed717..bb9525d 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1691,7 +1691,7 @@ static void x86_cpuid_get_apic_id(Object *obj, Visitor *v, void *opaque,
>                                    const char *name, Error **errp)
>  {
>      X86CPU *cpu = X86_CPU(obj);
> -    int64_t value = cpu->apic_id;
> +    int64_t value = cpu->apic_id_set ? cpu->apic_id : -1;

Should this return an error if the apic_id was not set?

Paolo

>      visit_type_int(v, &value, name, errp);
>  }
> @@ -1729,6 +1729,7 @@ static void x86_cpuid_set_apic_id(Object *obj, Visitor *v, void *opaque,
>          return;
>      }
>      cpu->apic_id = value;
> +    cpu->apic_id_set = true;
>  }
>  
>  /* Generic getter for "feature-words" and "filtered-features" properties */
> 

  reply	other threads:[~2014-12-19 11:23 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-19  2:41 [Qemu-devel] [PATCH 0/8] target-i386: Simplify APIC ID initialization, move compat code to pc.c Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 1/8] target-i386: Rename cpu_x86_init() to cpu_x86_init_user() Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 2/8] target-i386: Eliminate cpu_init() function Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 3/8] target-i386: Move CPUX86State.cpuid_apic_id to X86CPU.apic_id Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 4/8] target-i386: Keep track of apic-id setting Eduardo Habkost
2014-12-19 11:23   ` Paolo Bonzini [this message]
2014-12-19 13:04     ` Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 5/8] target-i386: Set APIC ID using cpu_index on CONFIG_USER Eduardo Habkost
2014-12-19 11:22   ` Paolo Bonzini
2014-12-19 16:29     ` Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 6/8] target-i386: Don't set APIC ID on instance_init Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 7/8] target-i386: Move topology.h to hw/i386/topology.h Eduardo Habkost
2014-12-19 11:24   ` Paolo Bonzini
2014-12-19 13:05     ` Eduardo Habkost
2014-12-19  2:41 ` [Qemu-devel] [PATCH 8/8] target-i386: Move APIC ID compatibility code to pc.c Eduardo Habkost

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=54940A9B.7090800@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=guz.fnst@cn.fujitsu.com \
    --cc=imammedo@redhat.com \
    --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.