Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 882834 - no warning while check the lacked cpuid_7_0_ebx_feature_name flag
no warning while check the lacked cpuid_7_0_ebx_feature_name flag
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
6.4
Unspecified Unspecified
low Severity medium
: rc
: ---
Assigned To: Eduardo Habkost
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-12-03 03:22 EST by Suqin Huang
Modified: 2013-11-21 00:57 EST (History)
11 users (show)

See Also:
Fixed In Version: qemu-kvm-0.12.1.2-2.370.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-21 00:57:40 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2013:1553 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2013-11-20 16:40:29 EST

  None (edit)
Description Suqin Huang 2012-12-03 03:22:58 EST
Description of problem:
boot guest with -cpu model_name,+flag(cpuid_7_0_ebx_feature_name),check , no
worning while while flag is lacked in host. 
there is lack warning while flag is defined in ext3_feature_name, ext_feature_name, ext2_feature_name

Version-Release number of selected component (if applicable):

qemu-kvm-0.12.1.2-2.337.el6.x86_64

How reproducible:
100% 

Steps to Reproduce:
1. qemu-kvm -cpu Opteron_G2,+fsgsbase,check
2.
3.
  
Actual results:
/usr/libexec/qemu-kvm -cpu Opteron_G2,+fsgsbase,check
warning: host cpuid 8000_0001:ecx flag restricted to guest 'svm' [0x00000004]
VNC server running on `::1:5900'


Expected results:


Additional info:
host cpuinfo:

flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs npt lbrv svm_lock

host x86info:

eax in: 0x00000000, eax = 00000005 ebx = 68747541 ecx = 444d4163 edx = 69746e65
eax in: 0x00000001, eax = 00100f23 ebx = 00040800 ecx = 00802009 edx = 178bfbff
eax in: 0x00000002, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000003, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000004, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000005, eax = 00000040 ebx = 00000040 ecx = 00000003 edx = 00000000

eax in: 0x80000000, eax = 8000001a ebx = 68747541 ecx = 444d4163 edx = 69746e65
eax in: 0x80000001, eax = 00100f23 ebx = 10001602 ecx = 000007ff edx = efd3fbff
eax in: 0x80000002, eax = 20444d41 ebx = 6e656850 ecx = 74286d6f edx = 3920296d
eax in: 0x80000003, eax = 42303036 ebx = 61755120 ecx = 6f432d64 edx = 50206572
eax in: 0x80000004, eax = 65636f72 ebx = 726f7373 ecx = 00000000 edx = 00000000
eax in: 0x80000005, eax = ff30ff10 ebx = ff30ff20 ecx = 40020140 edx = 40020140
eax in: 0x80000006, eax = 20800000 ebx = 42004200 ecx = 02008140 edx = 0010a140
eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 000001f9
eax in: 0x80000008, eax = 00003030 ebx = 00000000 ecx = 00002003 edx = 00000000
eax in: 0x80000009, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x8000000a, eax = 00000001 ebx = 00000040 ecx = 00000000 edx = 00000007
eax in: 0x8000000b, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x8000000c, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x8000000d, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x8000000e, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x8000000f, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000010, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000011, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000012, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000013, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000014, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000015, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000016, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000017, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000018, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000019, eax = f0300000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x8000001a, eax = 00000003 ebx = 00000000 ecx = 00000000 edx = 00000000
Comment 2 Suqin Huang 2012-12-03 03:34:26 EST
seems no cpuid_7_0_ebx_feature_name check here.

target-i386/cpuid.c



static int kvm_check_features_against_host(CPUX86State *env, x86_def_t *guest_def)
{
    x86_def_t host_def;
    uint32_t mask;
    int rv;
    struct model_features_t ft[] = {
        {&guest_def->features, &host_def.features,
            ~0, 0,
            feature_name, "0000_0001:edx"},
        {&guest_def->ext_features, &host_def.ext_features,
            ~CPUID_EXT_HYPERVISOR, CPUID_EXT_VMX,
            ext_feature_name, "0000_0001:ecx"},
        {&guest_def->ext2_features, &host_def.ext2_features,
            ~PPRO_FEATURES, 0,
            ext2_feature_name, "8000_0001:edx"},
        {&guest_def->ext3_features, &host_def.ext3_features,
            ~0, kvm_nested ? 0 : CPUID_EXT3_SVM,
            ext3_feature_name, "8000_0001:ecx"},
        {NULL}}, *p;
Comment 4 Eduardo Habkost 2013-04-16 13:44:15 EDT
Setting priority: low because libvirt doesn't even use "-cpu check" or "-cpu enforce".
Comment 10 langfang 2013-06-24 21:21:02 EDT
Reproduce this bug as follow version:
Host
# uname -r
2.6.32-389.el6.x86_64
# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.356.el6.x86_64

Steps :
1.Boot guest 

 /usr/libexec/qemu-kvm -cpu Penryn,+fsgsbase,check
VNC server running on `::1:5900'


Resutls: 
 no worning while  flag is lacked in host

Verify this bug as follow version.
Host:
# uname -r
2.6.32-389.el6.x86_64
# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.376.el6.x86_64

1.Boot guest 
  /usr/libexec/qemu-kvm -cpu Penryn,+fsgsbase,check
warning: host cpuid EAX=7,ECX=0:ebx lacks requested flag 'fsgsbase' [0x00000001]
VNC server running on `::1:5900'


Resutls:
Have warning info while  flag is lacked in host.

Addtional info:
1)Test boot guest with "-cpu Penryn,+sse4_2,check" "-cpu Penryn,+aes,check"

Can get the warning info.

According to above test ,this bug fixed.
Comment 15 errata-xmlrpc 2013-11-21 00:57:40 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-1553.html

Note You need to log in before you can comment on or make changes to this bug.