[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH 03/10] target-i386: cpu: move xcc->kv
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH 03/10] target-i386: cpu: move xcc->kvm_required check to realize time |
Date: |
Fri, 10 Jun 2016 09:15:44 +0200 |
On Thu, 9 Jun 2016 15:34:30 -0300
Eduardo Habkost <address@hidden> wrote:
> On Mon, Jun 06, 2016 at 05:16:45PM +0200, Igor Mammedov wrote:
> > it will allow to drop custom cpu_x86_init() and use
> > cpu_generic_init() insteadi, reducing cpu_x86_create()
> > to a simple 3-liner.
> >
> > Signed-off-by: Igor Mammedov <address@hidden>
> > Eduardo Habkost <address@hidden>
>
> This triggers an assert when trying to use -cpu host with TCG:
>
> # ./x86_64-softmmu/qemu-system-x86_64 -machine accel=tcg -cpu host
> -nographic
> qemu-system-x86_64: /root/qemu/target-i386/cpu.c:1558: host_x86_cpu_initfn:
> Assertion `(kvm_allowed)' failed.
> Aborted
This is not related to this patch and it was there before.
Maybe a separate patch saying that it replaces assert() in
host_x86_cpu_initfn() with error check and user friendly
error message at later stage.
>
> I will squash the following fix in it:
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 3f886a5..dcbfa0b 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1555,16 +1555,17 @@ static void host_x86_cpu_initfn(Object *obj)
> CPUX86State *env = &cpu->env;
> KVMState *s = kvm_state;
>
> - assert(kvm_enabled());
> -
> /* We can't fill the features array here because we don't know yet if
> * "migratable" is true or false.
> */
> cpu->host_features = true;
>
> - env->cpuid_level = kvm_arch_get_supported_cpuid(s, 0x0, 0, R_EAX);
> - env->cpuid_xlevel = kvm_arch_get_supported_cpuid(s, 0x80000000, 0,
> R_EAX);
> - env->cpuid_xlevel2 = kvm_arch_get_supported_cpuid(s, 0xC0000000, 0,
> R_EAX);
> + /* If KVM is disabled, x86_cpu_realizefn() will report an error later */
> + if (kvm_enabled()) {
> + env->cpuid_level = kvm_arch_get_supported_cpuid(s, 0x0, 0, R_EAX);
> + env->cpuid_xlevel = kvm_arch_get_supported_cpuid(s, 0x80000000, 0,
> R_EAX);
> + env->cpuid_xlevel2 = kvm_arch_get_supported_cpuid(s, 0xC0000000, 0,
> R_EAX);
> + }
>
> object_property_set_bool(OBJECT(cpu), true, "pmu", &error_abort);
> }
>
- Re: [Qemu-arm] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used, (continued)
- Re: [Qemu-arm] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used, Igor Mammedov, 2016/06/07
- Re: [Qemu-arm] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used, Paolo Bonzini, 2016/06/07
- Re: [Qemu-arm] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used, Igor Mammedov, 2016/06/07
- Re: [Qemu-arm] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used, Paolo Bonzini, 2016/06/07
- Re: [Qemu-arm] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used, Igor Mammedov, 2016/06/07
- Re: [Qemu-arm] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used, Eduardo Habkost, 2016/06/07
[Qemu-arm] [PATCH 03/10] target-i386: cpu: move xcc->kvm_required check to realize time, Igor Mammedov, 2016/06/06
[Qemu-arm] [PATCH 10/10] pc: parse cpu features only once, Igor Mammedov, 2016/06/06
[Qemu-arm] [PATCH 08/10] cpu: use CPUClass->parse_features() as convertor to global properties, Igor Mammedov, 2016/06/06