On Thu, Aug 27, 2020 at 08:50:15 +0000, Wangxin (Alexander) wrote:
Hi, Jiri
I just compared the cpu features between the 'x86_Cooperlake.xml ' and
'x86_Cascadelake-Server.xml',
the feature 'mpx' seems removed from the Cooperlake model. Is there a reason?
mpx was not removed from Cooperlake, it was never enabled there. You
can't really look at a new CPU model as a superset of a previous models.
Some features may be added and some may even be dropped from new models.
And what rules do we follow to add or remove CPU features?
In general, we follow the CPU model definition when QEMU adds it to
their sources.
Anyway, specifically mpx was even drop from older CPU models (such as
Cascadelake-Server) in QEMU with the following commit:
commit ecb85fe48cacb2f8740186e81f2f38a2e02bd963
Author: Paolo Bonzini <pbonzini(a)redhat.com>
AuthorDate: Thu Dec 20 13:11:00 2018 +0100
Commit: Eduardo Habkost <ehabkost(a)redhat.com>
CommitDate: Mon Jan 14 12:23:36 2019 -0200
target/i386: Disable MPX support on named CPU models
MPX support is being phased out by Intel; GCC has dropped it, Linux
is also going to do that. Even though KVM will have special code
to support MPX after the kernel proper stops enabling it in XCR0,
we probably also want to deprecate that in a few years. As a start,
do not enable it by default for any named CPU model starting with
the 4.0 machine types; this include Skylake, Icelake and Cascadelake.
Signed-off-by: Paolo Bonzini <pbonzini(a)redhat.com>
Message-Id: <20181220121100.21554-1-pbonzini(a)redhat.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm(a)redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost(a)redhat.com>
In libvirt we rarely modify CPU models we already released since we need
all libvirt installations to share the same definition of a particular
CPU model (this may change in the future), which is why our
Cascadelake-Server model still contains mpx.
Jirka