From: Gleb Natapov <gleb@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
qemu-devel@nongnu.org, "Igor Mammedov" <imammedo@redhat.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [PATCH for-1.4 qom-cpu 1/9] kvm: Create kvm_arch_vcpu_id() function
Date: Wed, 23 Jan 2013 12:26:22 +0200 [thread overview]
Message-ID: <20130123102622.GN31120@redhat.com> (raw)
In-Reply-To: <1358886309-26258-2-git-send-email-ehabkost@redhat.com>
On Tue, Jan 22, 2013 at 06:25:01PM -0200, Eduardo Habkost wrote:
> This will allow each architecture to define how the VCPU ID is set on
> the KVM_CREATE_VCPU ioctl call.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Gleb Natapov <gleb@redhat.com>
> ---
> Cc: kvm@vger.kernel.org
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Cc: Gleb Natapov <gleb@redhat.com>
> Cc: Marcelo Tosatti <mtosatti@redhat.com>
>
> Changes v2:
> - Get CPUState as argument instead of CPUArchState
>
> Changes v3:
> - Convert KVM_CREATE_VCPU ioctl() argument to void*, so
> the argument type matches the type expected by kvm_vm_ioctl()
> ---
> include/sysemu/kvm.h | 3 +++
> kvm-all.c | 2 +-
> target-i386/kvm.c | 5 +++++
> target-ppc/kvm.c | 5 +++++
> target-s390x/kvm.c | 5 +++++
> 5 files changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
> index 22acf91..384ee66 100644
> --- a/include/sysemu/kvm.h
> +++ b/include/sysemu/kvm.h
> @@ -196,6 +196,9 @@ int kvm_arch_init(KVMState *s);
>
> int kvm_arch_init_vcpu(CPUState *cpu);
>
> +/* Returns VCPU ID to be used on KVM_CREATE_VCPU ioctl() */
> +unsigned long kvm_arch_vcpu_id(CPUState *cpu);
> +
> void kvm_arch_reset_vcpu(CPUState *cpu);
>
> int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
> diff --git a/kvm-all.c b/kvm-all.c
> index 6278d61..363a358 100644
> --- a/kvm-all.c
> +++ b/kvm-all.c
> @@ -222,7 +222,7 @@ int kvm_init_vcpu(CPUState *cpu)
>
> DPRINTF("kvm_init_vcpu\n");
>
> - ret = kvm_vm_ioctl(s, KVM_CREATE_VCPU, cpu->cpu_index);
> + ret = kvm_vm_ioctl(s, KVM_CREATE_VCPU, (void *)kvm_arch_vcpu_id(cpu));
> if (ret < 0) {
> DPRINTF("kvm_create_vcpu failed\n");
> goto err;
> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> index 3acff40..5f3f789 100644
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -411,6 +411,11 @@ static void cpu_update_state(void *opaque, int running, RunState state)
> }
> }
>
> +unsigned long kvm_arch_vcpu_id(CPUState *cpu)
> +{
> + return cpu->cpu_index;
> +}
> +
> int kvm_arch_init_vcpu(CPUState *cs)
> {
> struct {
> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
> index 2f4f068..2c64c63 100644
> --- a/target-ppc/kvm.c
> +++ b/target-ppc/kvm.c
> @@ -384,6 +384,11 @@ static inline void kvm_fixup_page_sizes(PowerPCCPU *cpu)
>
> #endif /* !defined (TARGET_PPC64) */
>
> +unsigned long kvm_arch_vcpu_id(CPUState *cpu)
> +{
> + return cpu->cpu_index;
> +}
> +
> int kvm_arch_init_vcpu(CPUState *cs)
> {
> PowerPCCPU *cpu = POWERPC_CPU(cs);
> diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
> index add6a58..99deddf 100644
> --- a/target-s390x/kvm.c
> +++ b/target-s390x/kvm.c
> @@ -76,6 +76,11 @@ int kvm_arch_init(KVMState *s)
> return 0;
> }
>
> +unsigned long kvm_arch_vcpu_id(CPUState *cpu)
> +{
> + return cpu->cpu_index;
> +}
> +
> int kvm_arch_init_vcpu(CPUState *cpu)
> {
> int ret = 0;
> --
> 1.8.1
--
Gleb.
next prev parent reply other threads:[~2013-01-23 10:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1358886309-26258-1-git-send-email-ehabkost@redhat.com>
2013-01-22 20:25 ` [PATCH for-1.4 qom-cpu 1/9] kvm: Create kvm_arch_vcpu_id() function Eduardo Habkost
2013-01-23 10:26 ` Gleb Natapov [this message]
2013-01-22 20:25 ` [PATCH for-1.4 qom-cpu 2/9] target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index Eduardo Habkost
2013-01-23 10:26 ` Gleb Natapov
2013-01-23 16:12 ` [Qemu-devel] " Andreas Färber
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=20130123102622.GN31120@redhat.com \
--to=gleb@redhat.com \
--cc=afaerber@suse.de \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@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.