[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulat
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option |
Date: |
Thu, 5 Jun 2014 16:12:08 -0300 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Sorry for replying to my own message, but I believe we can now summarize
a possible solution that makes everybody happy, and the plans for it:
On Thu, Jun 05, 2014 at 03:02:53PM -0300, Eduardo Habkost wrote:
> On Thu, Jun 05, 2014 at 07:39:42PM +0200, Paolo Bonzini wrote:
> > Il 05/06/2014 19:19, Eduardo Habkost ha scritto:
> > >On Thu, Jun 05, 2014 at 06:57:57PM +0200, Paolo Bonzini wrote:
> > >>Il 05/06/2014 18:54, Alexander Graf ha scritto:
> > >>>>
> > >>>>What about:
> > >>>>
> > >>>>- letting "-cpu foo,+emulatedfeature" just work
> > >>>>
> > >>>>- adding emulated=yes that blindly enables all emulated features
> > >>>>
> > >>>>- making "-cpu ...,check" prints a warning for emulated features
> > >>>>unless emulated=yes
> > >>>
> > >>>How about we remove the emulated=yes from this list? Then I'm happy :).
> > >>
> > >>So:
> > >>
> > >>- "-cpu foo" doesn't enable any emulated feature
> > >
> > >What if "foo" already has movbe in the CPU model definition?
> >
> > It will be disabled.
>
> I don't disagree with that. But not that if it will be disabled, that
> means "-cpu foo,enforce" will abort.
Typo. I meant "note that".
>
> But note that if you use "-cpu foo" without enforce, that means you can
> suddenly get movbe enabled once it gets included on GET_SUPPORTED_CPUID.
>
> So, if you care about predictable CPUID results and you want to enable
> an emulated/experimental feature, you have to do two things:
>
> 1) Make sure your setup works with "enforce", so you know you will
> never get any feature suddenly and silently enabled.
> 2) Add "+feature,allow-emulation=yes" to the command-line, keep
> "enforce" and you will _not_ get any other experimental feature
> suddenly enabled (because now you are using "enforce").
So, the above would cover the use cases I was thinking about. But I
understand you have a different use case and you want to avoid
GET_EMULATED_CPUID-related surprises even if not using "enforce". For
that, you need a more fine-tuned solution using "*feature" or
"feature=force". (Personally, I prefer "feature=force" instead of
"*feature").
Implementing "feature=force" would be more cleanly implemented after we
introduce the CPU feature properties, which we have been trying to
include for 4 or 5 QEMU releases, and it was never merged.
In the meantime, we could:
* Include the less fine-tuned "allow-emulation" (or
"allow-experimental-features") option, which is implemented by this
series, for people who use "enforce" and/or don't care too much about
getting other experimental features enabled.
* Wait until somebody implements "feature=force".
Personally, I don't care which plan we follow, as I am not an user of
GET_EMULATED_CPUID. I will leave that decision for the QEMU maintainers
and other developers.
--
Eduardo
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, (continued)
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Paolo Bonzini, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Alexander Graf, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Paolo Bonzini, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Alexander Graf, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Paolo Bonzini, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Alexander Graf, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Paolo Bonzini, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Eduardo Habkost, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Paolo Bonzini, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Eduardo Habkost, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option,
Eduardo Habkost <=
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Borislav Petkov, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Eric Blake, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Eduardo Habkost, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Alexander Graf, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Eduardo Habkost, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Alexander Graf, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Borislav Petkov, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Eduardo Habkost, 2014/06/05
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Alexander Graf, 2014/06/06
- Re: [Qemu-devel] [RFC 0/2] GET_EMULATED_CPUID support with "allow-emulation" option, Eduardo Habkost, 2014/06/06