]> git.proxmox.com Git - mirror_qemu.git/commit - target/i386/cpu.c
target-i386: Automatically set level/xlevel/xlevel2 when needed
authorEduardo Habkost <ehabkost@redhat.com>
Wed, 21 Sep 2016 16:30:12 +0000 (13:30 -0300)
committerEduardo Habkost <ehabkost@redhat.com>
Tue, 27 Sep 2016 19:17:17 +0000 (16:17 -0300)
commitc39c0edf9bb3b968ba95484465a50c7b19f4aa3a
treea13088f4ca783ac84c9d3e40d87a6cf2e4caa6e8
parentdf3e9af8fd02f22d03871975daa23ecbfcd48490
target-i386: Automatically set level/xlevel/xlevel2 when needed

Instead of requiring users and management software to be aware of
required CPUID level/xlevel/xlevel2 values for each feature,
automatically increase those values when features need them.

This was already done for CPUID[7].EBX, and is now made generic
for all CPUID feature flags. Unit test included, to make sure we
don't break ABI on older machine-types and don't mess with the
CPUID level values if they are explicitly set by the user.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
include/hw/i386/pc.h
target-i386/cpu.c
target-i386/cpu.h
tests/test-x86-cpuid-compat.c