[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH rebased for-2.4] target-i386: add ABM to Haswell
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH rebased for-2.4] target-i386: add ABM to Haswell* and Broadwell* CPU models |
Date: |
Tue, 28 Jul 2015 15:51:37 -0300 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Jul 07, 2015 at 12:42:01PM +0200, Paolo Bonzini wrote:
> ABM is only implemented as a single instruction set by AMD; all AMD
> processors support both instructions or neither. Intel considers POPCNT
> as part of SSE4.2, and LZCNT as part of BMI1, but Intel also uses AMD's
> ABM flag to indicate support for both POPCNT and LZCNT. It has to be
> added to Haswell and Broadwell because Haswell, by adding LZCNT, has
> completed the ABM.
>
> Tested with "qemu-kvm -cpu Haswell-noTSX,enforce" (and also with older
> machine types) on an Haswell-EP machine.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
For future reference: ABM was added to the KVM kernel code by commit
v2.6.31-rc1~393^2~30. Some features required to run Haswell and
Broadwell (FMA, BMI1, AVX2, BMI2) were added much later, at
v3.3-rc1~131^2~33.
Thus, any host that can run the Haswell and Broadwell CPU models today
should be able to run them with ABM enabled, and this patch doesn't
introduce any runnability changes in the existing CPU models.
--
Eduardo