[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 1 of 2] kvm: Move KVM mp_state accessors to i386
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] Re: [PATCH 1 of 2] kvm: Move KVM mp_state accessors to i386-specific code |
Date: |
Mon, 09 Nov 2009 23:12:12 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Hollis Blanchard wrote:
> Unbreaks PowerPC and S390 KVM builds.
What breaks precisely?
Note that KVM_GET/SET_MP_STATE are generic IOCTLs and supposed to be
shared with ia64 - one day. We could still move things back then, but
maybe we can handle the build issues already in place, specifically as
qemu-kvm is carrying this in generic code since ages.
Jan
>
> Signed-off-by: Hollis Blanchard <address@hidden>
>
> diff --git a/kvm-all.c b/kvm-all.c
> --- a/kvm-all.c
> +++ b/kvm-all.c
> @@ -207,26 +207,6 @@ err:
> return ret;
> }
>
> -int kvm_put_mp_state(CPUState *env)
> -{
> - struct kvm_mp_state mp_state = { .mp_state = env->mp_state };
> -
> - return kvm_vcpu_ioctl(env, KVM_SET_MP_STATE, &mp_state);
> -}
> -
> -int kvm_get_mp_state(CPUState *env)
> -{
> - struct kvm_mp_state mp_state;
> - int ret;
> -
> - ret = kvm_vcpu_ioctl(env, KVM_GET_MP_STATE, &mp_state);
> - if (ret < 0) {
> - return ret;
> - }
> - env->mp_state = mp_state.mp_state;
> - return 0;
> -}
> -
> /*
> * dirty pages logging control
> */
> diff --git a/kvm.h b/kvm.h
> --- a/kvm.h
> +++ b/kvm.h
> @@ -74,9 +74,6 @@ int kvm_vm_ioctl(KVMState *s, int type,
>
> int kvm_vcpu_ioctl(CPUState *env, int type, ...);
>
> -int kvm_get_mp_state(CPUState *env);
> -int kvm_put_mp_state(CPUState *env);
> -
> /* Arch specific hooks */
>
> int kvm_arch_post_run(CPUState *env, struct kvm_run *run);
> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -659,6 +659,26 @@ static int kvm_get_msrs(CPUState *env)
> return 0;
> }
>
> +static int kvm_put_mp_state(CPUState *env)
> +{
> + struct kvm_mp_state mp_state = { .mp_state = env->mp_state };
> +
> + return kvm_vcpu_ioctl(env, KVM_SET_MP_STATE, &mp_state);
> +}
> +
> +static int kvm_get_mp_state(CPUState *env)
> +{
> + struct kvm_mp_state mp_state;
> + int ret;
> +
> + ret = kvm_vcpu_ioctl(env, KVM_GET_MP_STATE, &mp_state);
> + if (ret < 0) {
> + return ret;
> + }
> + env->mp_state = mp_state.mp_state;
> + return 0;
> +}
> +
> int kvm_arch_put_registers(CPUState *env)
> {
> int ret;
signature.asc
Description: OpenPGP digital signature