[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property |
Date: |
Thu, 9 May 2019 18:06:03 +0200 |
On Thu, 9 May 2019 10:56:17 -0300
Eduardo Habkost <address@hidden> wrote:
> On Thu, May 09, 2019 at 03:35:37PM +0200, Jiri Denemark wrote:
> > On Mon, Apr 22, 2019 at 20:47:40 -0300, Eduardo Habkost wrote:
> > > Currently, libvirt uses the "filtered-features" QOM property at
> > > runtime to ensure no feature was accidentally disabled on VCPUs
> > > because it's not available on the host.
> > >
> > > However, the code for "feature-words" assumes that all missing
> > > features have a corresponding CPUID bit, which is not true for
> > > MSR-based features like the ones at FEAT_ARCH_CAPABILITIES.
> > >
> > > We could extend X86CPUFeatureWordInfo to include information
> > > about MSR features, but it's impossible to do that while keeping
> > > compatibility with clients that (reasonably) expect all elements
> > > of "filtered-features" to have the cpuid-* fields.
> > >
> > > We have a field in "query-cpu-definitions" that already describes
> > > all features that are missing on a CPU, including MSR features:
> > > CpuDefinitionInfo.unavailable-features. The existing code for
> > > building the unavailable-features array even uses
> > > X86CPU::filtered_features to build the feature list.
> > >
> > > This series adds a "unavailable-features" QOM property to X86CPU
> > > objects that have the same semantics of "unavailable-features" on
> > > query-cpu-definitions. The new property has the same goal of
> > > "filtered-features", but is generic enough to let any kind of CPU
> > > feature to be listed there without relying on low level details
> > > like CPUID leaves or MSR numbers.
> >
> > Thanks.
> >
> > Would this unavailable-features property contain only canonical names of
> > the features or all possible aliases of all features? For example,
> > "tsc-adjust" can also be spelled as "tsc_adjust". When calling
> > query-cpu-model-expansion, we have a way to request all variants by
> > running full expansion on the result of a previous static expansion. Can
> > we get something like this for unavailable-features too?
>
> I'd like to avoid that, and refer only to the canonical names.
Can we deprecate aliases to avoid confusion in future?
(there aren't that many of them that used pre-QOM name format)
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Jiri Denemark, 2019/05/09
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Eduardo Habkost, 2019/05/09
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Jiri Denemark, 2019/05/09
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Eduardo Habkost, 2019/05/09
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Jiri Denemark, 2019/05/10
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Eduardo Habkost, 2019/05/10
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Jiri Denemark, 2019/05/22
- Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property, Eduardo Habkost, 2019/05/22
Re: [Qemu-devel] [PATCH 0/2] i386: "unavailable-features" QOM property,
Igor Mammedov <=