]> git.proxmox.com Git - mirror_qemu.git/commit - target/i386/cpu.c
target-i386: add ABM to Haswell* and Broadwell* CPU models
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 28 Sep 2015 12:00:18 +0000 (14:00 +0200)
committerEduardo Habkost <ehabkost@redhat.com>
Fri, 2 Oct 2015 19:22:01 +0000 (16:22 -0300)
commitbecb66673ec30cb604926d247ab9449a60ad8b11
treee13e92e63cc45c342fa97144ddf34ec8e88745ee
parentc9b8f6b6210847b4381c5b2ee172b1c7eb9985d6
target-i386: add ABM to Haswell* and Broadwell* CPU models

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 <pbonzini@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
include/hw/i386/pc.h
target-i386/cpu.c