Bug 1326721

Summary: Warning occur when emulate AMD CPU by cmd "/usr/libexec/qemu-kvm -cpu host"
Product: Red Hat Enterprise Linux 7 Reporter: aihua liang <aliang>
Component: qemu-kvm-rhevAssignee: Radim Krčmář <rkrcmar>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.3CC: aliang, hhuang, juzhang, meyang, mrezanin, ngu, pingl, shuang, virt-maint, wei, xutian
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-rhev-2.6.0-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-13 04:00:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description aihua liang 2016-04-13 11:18:00 UTC
Description of problem:

  When emulate AMD CPU via qemu-kvm param "-cpu host", warning occur.
  
  When set param "-cpu Opteron_G3",qemu-kvm works well.


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

  host kernel:3.10.0-371.el7.x86_64
  qemu-kvm version:qemu-kvm-rhev-2.5.0-4.el7
  seabios version:seabios-1.9.1-2.el7.x86_64


How reproducible:
100%


Steps to Reproduce:

1.Start VM by following cmd:
/usr/libexec/qemu-kvm -name rhel7.1-4 \
-machine pc \
-cpu host \
-m 4096 \
-smp 1,sockets=1 \
-uuid 1534fa42-4818-4493-9f67-eee5ba758385 \
-no-user-config -nodefaults \
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/test1,server,nowait \
-mon chardev=qmp_id_catch_monitor,id=monitor,mode=control \
-boot menu=on,splash-time=12000 \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x5 \
-drive file=/home/target1.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,aio=threads \
-device scsi-hd,bus=scsi0.0,drive=drive-ide0-0-0,id=scsi0-0-1,bootindex=1 \
-enable-kvm \
-spice port=3008,ipv4,disable-ticketing \
-vga qxl \
-vnc 0:2 \
-monitor stdio


Actual results:
   1. VM Started with warnings:
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]

    2. Check Host CPU info:
#lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                64
On-line CPU(s) list:   0-63
Thread(s) per core:    2
Core(s) per socket:    8
座:                 4
NUMA 节点:         8
厂商 ID:           AuthenticAMD
CPU 系列:          21
型号:              2
型号名称:        AMD Opteron(tm) Processor 6376
步进:              0
CPU MHz:             2294.286
BogoMIPS:            4588.00
虚拟化:           AMD-V
L1d 缓存:          16K
L1i 缓存:          64K
L2 缓存:           2048K
L3 缓存:           6144K
NUMA 节点0 CPU:    0,4,8,12,16,20,24,28
NUMA 节点1 CPU:    32,36,40,44,48,52,56,60
NUMA 节点2 CPU:    1,5,9,13,17,21,25,29
NUMA 节点3 CPU:    33,37,41,45,49,53,57,61
NUMA 节点4 CPU:    2,6,10,14,18,22,26,30
NUMA 节点5 CPU:    34,38,42,46,50,54,58,62
NUMA 节点6 CPU:    35,39,43,47,51,55,59,63
NUMA 节点7 CPU:    3,7,11,15,19,23,27,31

    Summary:qemu-kvm can't translate param "-cpu host" to the correct AMD CPU.


Expected results:

 Qemu-kvm can emulate AMD CPU via param "-cpu host" correctly.

Additional info:

Comment 2 Radim Krčmář 2016-04-18 14:17:01 UTC
Patch posted upstream, http://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg02597.html

Comment 3 Radim Krčmář 2016-07-19 14:26:32 UTC
This bug has been fixed patch 9997cf7bdac0 ("target-i386: Set AMD alias bits after filtering CPUID data") that was included in rebase to QEMU 2.6.

Comment 4 Gu Nini 2016-07-22 09:48:19 UTC
Aihua,

Could you help to verify the bug after the fix? Then we can set the bug status to be verified.

Thanks!
Nini

Comment 5 aihua liang 2016-07-22 10:12:09 UTC
(In reply to Gu Nini from comment #4)
> Aihua,
> 
> Could you help to verify the bug after the fix? Then we can set the bug
> status to be verified.
> 
> Thanks!
> Nini

Nini,

  Will reply next week for no resource now...

aliang

Comment 6 aihua liang 2016-07-25 08:54:01 UTC
Has verified, the problem has been resolved, so please update its status..

Verified Environment:
  kernel version:3.10.0-475.el7.x86_64
  qemu-kvm-rhev version:qemu-kvm-rhev-2.6.0-11.el7.x86_64
  seabios version:seabios-1.9.1-4.el7.x86_64

Verified CMDs:
/usr/libexec/qemu-kvm \
-name rhel7.1-4 \
-machine pc \
-cpu host \
-m 4096 \
-smp 1,sockets=1 \
-uuid 1534fa42-4818-4493-9f67-eee5ba758385 \
-no-user-config -nodefaults \
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/test1,server,nowait \
-mon chardev=qmp_id_catch_monitor,id=monitor,mode=control \
-boot menu=on,splash-time=12000 \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x5 \
-drive file=/home/se_test.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,aio=threads \
-device scsi-hd,bus=scsi0.0,drive=drive-ide0-0-0,id=scsi0-0-1,bootindex=1 \
-enable-kvm \
-vga qxl \
-vnc 0:2 \
-monitor stdio \