[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/20] target-i386: compile kvm only functions i
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH 08/20] target-i386: compile kvm only functions if CONFIG_KVM is defined |
Date: |
Thu, 20 Dec 2012 15:03:34 -0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, Dec 19, 2012 at 06:16:08PM +0100, Igor Mammedov wrote:
> On Wed, 19 Dec 2012 14:42:31 -0200
> Eduardo Habkost <address@hidden> wrote:
>
> > On Mon, Dec 17, 2012 at 05:01:20PM +0100, Igor Mammedov wrote:
> > [...]
> > >
> > > static void x86_cpuid_version_get_family(Object *obj, Visitor *v, void
> > > *opaque, const char *name, Error **errp)
> > > @@ -1273,7 +1271,9 @@ static int cpu_x86_find_by_name(x86_def_t
> > > *x86_cpu_def, const char *name) }
> > > }
> > > if (kvm_enabled() && name && strcmp(name, "host") == 0) {
> > > +#ifdef CONFIG_KVM
> > > kvm_cpu_fill_host(x86_cpu_def);
> > > +#endif
> >
> > Is this really better than the existing code that generates an empty
> > stub function (that will never be called anyway)?
> Following patch that moves kvm_check_features_against_host() inside
> of #ifdef CONFIG_KVM in realize_fn(), makes build failure *-user with
> warning that kvm_check_features_against_host() is unused and if
> we make stub from kvm_check_features_against_host() as well then we will have
> to ifdef unavailable_host_feature() as well. As result it makes +2 more
> ifdefs one of which excludes whole function.
I see. So my question above doesn't apply anymore once patch 09/20 is
applied (and the rest of the changes in this patch make sense).
I think you could just squash both patches together, and it should be
obvious that you are adding/moving #ifdefs around the functions just
because the function call is now inside an #ifdef.
>
> This patch makes one big ifdef block of kvm specific functions and the next
> one keep amount of ifdef the same as before these patches.
>
> And as bonus we get cleaner build and won't get unused symbols & calls to
> empty functions on debug builds.
>
> >
> > I am not strongly inclined either way, but I prefer the existing style.
> >
> >
> > > } else if (!def) {
> > > return -1;
> > > } else {
> > > @@ -1428,10 +1428,12 @@ static int cpu_x86_parse_featurestr(x86_def_t
> > > *x86_cpu_def, char *features) x86_cpu_def->kvm_features &=
> > > ~minus_kvm_features; x86_cpu_def->svm_features &= ~minus_svm_features;
> > > x86_cpu_def->cpuid_7_0_ebx_features &= ~minus_7_0_ebx_features;
> > > +#ifdef CONFIG_KVM
> > > if (check_cpuid && kvm_enabled()) {
> > > if (kvm_check_features_against_host(x86_cpu_def) &&
> > > enforce_cpuid) goto error;
> > > }
> > > +#endif
> > > return 0;
> > >
> > > error:
> > > --
> > > 1.7.1
> > >
> > >
> >
>
--
Eduardo
- Re: [Qemu-devel] [PATCH 07/20] target-i386: cpu_x86_register() consolidate freeing resources, (continued)
[Qemu-devel] [PATCH 08/20] target-i386: compile kvm only functions if CONFIG_KVM is defined, Igor Mammedov, 2012/12/17
[Qemu-devel] [PATCH 14/20] target-i386: set custom 'vendor' without intermediate x86_def_t, Igor Mammedov, 2012/12/17
[Qemu-devel] [PATCH 09/20] target-i386: move kvm_check_features_against_host() check to realize time, Igor Mammedov, 2012/12/17
[Qemu-devel] [PATCH 13/20] target-i386: convert [cpuid_]vendor_override to bool, Igor Mammedov, 2012/12/17
[Qemu-devel] [PATCH 06/20] target-i386: move out CPU features initialization in separate func, Igor Mammedov, 2012/12/17
[Qemu-devel] [PATCH 05/20] target-i386: move setting defaults out of cpu_x86_parse_featurestr(), Igor Mammedov, 2012/12/17
[Qemu-devel] [PATCH 10/20] target-i386: prepare cpu_x86_parse_featurestr() to return a set of key, value property pairs, Igor Mammedov, 2012/12/17